diff --git a/.bzr/README b/.bzr/README new file mode 100644 index 0000000000000000000000000000000000000000..4f8e767e84ff1de3dc703b1777d5619e225b2daf --- /dev/null +++ b/.bzr/README @@ -0,0 +1,3 @@ +This is a Bazaar control directory. +Do not change any files in this directory. +See http://bazaar-vcs.org/ for more information about Bazaar. diff --git a/.bzr/branch-format b/.bzr/branch-format new file mode 100644 index 0000000000000000000000000000000000000000..9eb09b73589d48abee2a07a46bde1fd01036daad --- /dev/null +++ b/.bzr/branch-format @@ -0,0 +1 @@ +Bazaar-NG meta directory, format 1 diff --git a/.bzr/branch/branch.conf b/.bzr/branch/branch.conf new file mode 100644 index 0000000000000000000000000000000000000000..ea63979dfa2cca45c23c3007efabc6dcd2c714af --- /dev/null +++ b/.bzr/branch/branch.conf @@ -0,0 +1,2 @@ +bound_location = bzr://bzr.mozilla.org/bugzilla/trunk/ +bound = True diff --git a/.bzr/branch/format b/.bzr/branch/format new file mode 100644 index 0000000000000000000000000000000000000000..dc392f449599742407cafc21d601573e336f1765 --- /dev/null +++ b/.bzr/branch/format @@ -0,0 +1 @@ +Bazaar Branch Format 7 (needs bzr 1.6) diff --git a/.bzr/branch/last-revision b/.bzr/branch/last-revision new file mode 100644 index 0000000000000000000000000000000000000000..74454e87461aeb2ee665b8ea44b1f429235c0ebb --- /dev/null +++ b/.bzr/branch/last-revision @@ -0,0 +1 @@ +7247 mkanat@bugzilla.org-20100624204240-d24ov96ew4bpnc02 diff --git a/.bzr/branch/tags b/.bzr/branch/tags new file mode 100644 index 0000000000000000000000000000000000000000..58cd367d95d4a9fe5579373cd5c682c0b60d0e14 --- /dev/null +++ b/.bzr/branch/tags @@ -0,0 +1 @@ +d12:bugzilla-1.355:cvs-1:terrynetscape.com-19980919115213-xkf0bm7hfvqeonjv12:bugzilla-2.055:cvs-1:terrynetscape.com-19980919130220-yyqg7cvetc4u27ev12:bugzilla-2.155:cvs-1:terrynetscape.com-19980919130815-hd94xua1heind9j413:bugzilla-2.1259:cvs-1:justdavesyndicomm.com-20010428023227-ol731cbzd0glvmso13:bugzilla-2.1359:cvs-1:justdavesyndicomm.com-20010428023620-119xajd3nhymuwds13:bugzilla-2.1459:cvs-1:justdavesyndicomm.com-20010830025213-pdnst2v3s3ex7ie013:bugzilla-2.1559:cvs-1:justdavesyndicomm.com-20010830044150-u287d06r0kqgyr3116:bugzilla-2.16rc159:cvs-1:justdavesyndicomm.com-20020509121930-skl1a3txbhat7lsz13:bugzilla-2.1759:cvs-1:justdavesyndicomm.com-20020511054700-tt437wzefamz9hvh15:bugzilla-2.17.159:cvs-1:justdavesyndicomm.com-20021109095922-nf3yviuff8629beo15:bugzilla-2.17.259:cvs-1:justdavesyndicomm.com-20021213193307-a9xknaet23zfj0av15:bugzilla-2.17.354:cvs-1:preedsigkill.com-20030103020409-t93lvpm9dt52eemn15:bugzilla-2.17.459:cvs-1:justdavesyndicomm.com-20030425050235-dfjx4uw2k9uy5t2r15:bugzilla-2.17.559:cvs-1:justdavesyndicomm.com-20031103113336-9wd9arv5bn6ea2fl15:bugzilla-2.17.659:cvs-1:justdavesyndicomm.com-20031110115638-zhiqa0u4xvspbzd115:bugzilla-2.17.759:cvs-1:justdavesyndicomm.com-20040303153543-rml0piewwlds25kq16:bugzilla-2.18rc158:cvs-1:justdavebugzilla.org-20040710220137-l17tsd0erfq6n1hp13:bugzilla-2.1956:cvs-1:jouniheikniemi.net-20040712005327-r1h42adxxvqin0ve15:bugzilla-2.19.158:cvs-1:justdavebugzilla.org-20041025144345-61494x108e37u6mp15:bugzilla-2.19.254:cvs-1:jakebugzilla.org-20050115194151-latmir4q2j3i0y2s15:bugzilla-2.19.353:cvs-1:mkanatkerio.com-20050512095104-fbiuqga5754y0uvq12:bugzilla-2.255:cvs-1:terrynetscape.com-19990211061152-xnol0mx2dxttxsxe16:bugzilla-2.20rc153:cvs-1:mkanatkerio.com-20050708124935-3jybt11awxwhzoaw15:bugzilla-2.21.153:cvs-1:mkanatkerio.com-20051001053552-pwb2mmob3o6qy1lq16:bugzilla-2.22rc153:cvs-1:mkanatkerio.com-20060221144757-83btrv1h6lupz7uz13:bugzilla-2.2353:cvs-1:mkanatkerio.com-20060221163312-1uxx2qnl8pfl54jl15:bugzilla-2.23.156:cvs-1:mkanatbugzilla.org-20060423094223-gnvvjsj2iy5rdhm715:bugzilla-2.23.256:cvs-1:mkanatbugzilla.org-20060710062924-wlhmsh27c8sb392115:bugzilla-2.23.356:cvs-1:mkanatbugzilla.org-20061015153415-x0uatuyjbbgf38t915:bugzilla-2.23.456:cvs-1:mkanatbugzilla.org-20070203071038-gbzf9vw4jiwfrfv412:bugzilla-2.355:cvs-1:terrynetscape.com-19990211061203-jt3e9ugcy78nis9f12:bugzilla-2.454:cvs-1:terrymozilla.org-19990501024225-3rzuwyzrie8olxyt12:bugzilla-2.554:cvs-1:terrymozilla.org-19990501024243-vl159d4szp4pue3k12:bugzilla-2.654:cvs-1:terrymozilla.org-19990831060222-roqvvbgqqxb1gria12:bugzilla-2.754:cvs-1:terrymozilla.org-19990831060252-ns4uvors39vqdomx12:bugzilla-2.854:cvs-1:terrymozilla.org-19991119235628-265ba6tg1rt646bp12:bugzilla-2.954:cvs-1:terrymozilla.org-19991119235700-ymk2rkj97d5qw2c312:bugzilla-3.156:cvs-1:mkanatbugzilla.org-20070226142137-1p56eyld0pr5bk9u14:bugzilla-3.1.156:cvs-1:mkanatbugzilla.org-20080404114815-robklj5xq3jy6dwz14:bugzilla-3.1.256:cvs-1:mkanatbugzilla.org-20070919044036-p0gzuvj4bk0ppeqe14:bugzilla-3.1.356:cvs-1:jocurisofthome.net-20080404114753-dmlkekr6evwbp3y314:bugzilla-3.1.456:cvs-1:mkanatbugzilla.org-20080505065243-jf8skvj9q72baui812:bugzilla-3.356:cvs-1:mkanatbugzilla.org-20080521010050-q28y4sk4sck7jmbh14:bugzilla-3.3.156:cvs-1:mkanatbugzilla.org-20090106073441-1mv6wgm8qklg35r614:bugzilla-3.3.256:cvs-1:mkanatbugzilla.org-20090202232733-k1stws1htew6k0j314:bugzilla-3.3.356:cvs-1:mkanatbugzilla.org-20090203100346-dm6k3pgoarpyp7g514:bugzilla-3.3.456:cvs-1:mkanatbugzilla.org-20090330234934-2ehn2qx3udn40r7r12:bugzilla-3.556:cvs-1:mkanatbugzilla.org-20090330234934-2ehn2qx3udn40r7r14:bugzilla-3.5.156:cvs-1:mkanatbugzilla.org-20091105122647-foor2xgx2agf7oba14:bugzilla-3.5.256:cvs-1:mkanatbugzilla.org-20091119021426-aowuz3a41qo2s7y014:bugzilla-3.5.351:mkanat@bugzilla.org-20100201220140-j2ew9rv9arznu2fk14:bugzilla-3.7.151:mkanat@bugzilla.org-20100624204240-d24ov96ew4bpnc02e \ No newline at end of file diff --git a/.bzr/checkout/conflicts b/.bzr/checkout/conflicts new file mode 100644 index 0000000000000000000000000000000000000000..0dc2d3a0fab631c6341e0ae89a8aad72c5b11fea --- /dev/null +++ b/.bzr/checkout/conflicts @@ -0,0 +1 @@ +BZR conflict list format 1 diff --git a/.bzr/checkout/dirstate b/.bzr/checkout/dirstate new file mode 100644 index 0000000000000000000000000000000000000000..17566d9702990d23c8e5a272492b0cd5553c5b87 Binary files /dev/null and b/.bzr/checkout/dirstate differ diff --git a/.bzr/checkout/format b/.bzr/checkout/format new file mode 100644 index 0000000000000000000000000000000000000000..e0261c797025cf322945cd09033383ec2e3f9a5b --- /dev/null +++ b/.bzr/checkout/format @@ -0,0 +1 @@ +Bazaar Working Tree Format 6 (bzr 1.14) diff --git a/.bzr/checkout/views b/.bzr/checkout/views new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/.bzr/repository/format b/.bzr/repository/format new file mode 100644 index 0000000000000000000000000000000000000000..b200528b2bf2374e5c5aa8b167fd1ef76a032ca4 --- /dev/null +++ b/.bzr/repository/format @@ -0,0 +1 @@ +Bazaar repository format 2a (needs bzr 1.16 or later) diff --git a/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.cix b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.cix new file mode 100644 index 0000000000000000000000000000000000000000..77c3ffc6ee400d522c0039ffce615b4d96db31af Binary files /dev/null and b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.cix differ diff --git a/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.iix b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.iix new file mode 100644 index 0000000000000000000000000000000000000000..1459f0b815b52d9d024b0d5d2808fcd5c5ffb670 Binary files /dev/null and b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.iix differ diff --git a/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.rix b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.rix new file mode 100644 index 0000000000000000000000000000000000000000..744b6dd92233a45f014658e561d539c46ebe5d95 Binary files /dev/null and b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.rix differ diff --git a/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.six b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.six new file mode 100644 index 0000000000000000000000000000000000000000..a2afde6b9200cbb3843a35b27cd75aa01f5c54bb --- /dev/null +++ b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.six @@ -0,0 +1,5 @@ +B+Tree Graph Index 2 +node_ref_lists=0 +key_elements=1 +len=0 +row_lengths= diff --git a/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.tix b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.tix new file mode 100644 index 0000000000000000000000000000000000000000..f58b750bbd982e54eb2322a0e459672c43e9b032 Binary files /dev/null and b/.bzr/repository/indices/e778f64ccfc6266bf8fad4ed5eedd872.tix differ diff --git a/.bzr/repository/pack-names b/.bzr/repository/pack-names new file mode 100644 index 0000000000000000000000000000000000000000..114fd9d76fd888fe97439aceccc6f4c4235e610a Binary files /dev/null and b/.bzr/repository/pack-names differ diff --git a/.bzr/repository/packs/e778f64ccfc6266bf8fad4ed5eedd872.pack b/.bzr/repository/packs/e778f64ccfc6266bf8fad4ed5eedd872.pack new file mode 100644 index 0000000000000000000000000000000000000000..ae5d5c6e82e7859aebebcd5b6d318150b0fc782f Binary files /dev/null and b/.bzr/repository/packs/e778f64ccfc6266bf8fad4ed5eedd872.pack differ diff --git a/.bzrignore b/.bzrignore index e42398ecc9d342b5147f9e825db13c610e09cc41..7ab83e7ad5c48cb957b1085ebdc635d29594d034 100644 --- a/.bzrignore +++ b/.bzrignore @@ -19,13 +19,14 @@ /skins/contrib/Dusk/dependency-tree.css /skins/contrib/Dusk/duplicates.css /skins/contrib/Dusk/editusers.css +/skins/contrib/Dusk/enter_bug.css /skins/contrib/Dusk/help.css /skins/contrib/Dusk/panel.css /skins/contrib/Dusk/page.css /skins/contrib/Dusk/params.css /skins/contrib/Dusk/reports.css /skins/contrib/Dusk/show_bug.css +/skins/contrib/Dusk/search_form.css /skins/contrib/Dusk/show_multiple.css /skins/contrib/Dusk/summarize-time.css -/skins/contrib/Dusk/voting.css -/skins/contrib/Dusk/yui +.DS_Store diff --git a/.bzrrev b/.bzrrev deleted file mode 100644 index 74029d88e7d5cd6b965feb1aafa753df23e8addd..0000000000000000000000000000000000000000 --- a/.bzrrev +++ /dev/null @@ -1 +0,0 @@ -7113 \ No newline at end of file diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index cba381bab8a05481d08b4f0cf358bb98ffedc538..0000000000000000000000000000000000000000 --- a/.cvsignore +++ /dev/null @@ -1,6 +0,0 @@ -.htaccess -graphs -data -localconfig -index.html -old-params.txt diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000000000000000000000000000000000000..72a96e064486902fae67c8b9fc6c352e380f2cac --- /dev/null +++ b/.htaccess @@ -0,0 +1,4 @@ +# Don't allow people to retrieve non-cgi executable files or our private data +<FilesMatch ^(.*\.pm|.*\.pl|.*localconfig.*)$> + deny from all +</FilesMatch> diff --git a/Bugzilla.pm b/Bugzilla.pm index 9f4e81cb6abb761af15892f1b39a53e01bdb9799..2f21c6a18f40897e25002e5ff43c2640ffb94326 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -62,17 +62,17 @@ use Safe; ##################################################################### # Scripts that are not stopped by shutdownhtml being in effect. -use constant SHUTDOWNHTML_EXEMPT => [ - 'editparams.cgi', - 'checksetup.pl', - 'migrate.pl', - 'recode.pl', -]; +use constant SHUTDOWNHTML_EXEMPT => qw( + editparams.cgi + checksetup.pl + migrate.pl + recode.pl +); # Non-cgi scripts that should silently exit. -use constant SHUTDOWNHTML_EXIT_SILENTLY => [ - 'whine.pl' -]; +use constant SHUTDOWNHTML_EXIT_SILENTLY => qw( + whine.pl +); ##################################################################### # Global Code @@ -112,8 +112,10 @@ sub init_page { }; } + my $script = basename($0); + # Because of attachment_base, attachment.cgi handles this itself. - if (basename($0) ne 'attachment.cgi') { + if ($script ne 'attachment.cgi') { do_ssl_redirect_if_required(); } @@ -123,14 +125,14 @@ sub init_page { # # This code must go here. It cannot go anywhere in Bugzilla::CGI, because # it uses Template, and that causes various dependency loops. - if (Bugzilla->params->{"shutdownhtml"} - && lsearch(SHUTDOWNHTML_EXEMPT, basename($0)) == -1) + if (Bugzilla->params->{"shutdownhtml"} + && !grep { $_ eq $script } SHUTDOWNHTML_EXEMPT) { # Allow non-cgi scripts to exit silently (without displaying any # message), if desired. At this point, no DBI call has been made # yet, and no error will be returned if the DB is inaccessible. - if (lsearch(SHUTDOWNHTML_EXIT_SILENTLY, basename($0)) > -1 - && !i_am_cgi()) + if (!i_am_cgi() + && grep { $_ eq $script } SHUTDOWNHTML_EXIT_SILENTLY) { exit; } @@ -176,17 +178,17 @@ sub init_page { sub template { my $class = shift; - $class->request_cache->{language} = ""; $class->request_cache->{template} ||= Bugzilla::Template->create(); return $class->request_cache->{template}; } sub template_inner { my ($class, $lang) = @_; - $lang = defined($lang) ? $lang : ($class->request_cache->{language} || ""); - $class->request_cache->{language} = $lang; + my $cache = $class->request_cache; + my $current_lang = $cache->{template_current_lang}->[0]; + $lang ||= $current_lang || ''; $class->request_cache->{"template_inner_$lang"} - ||= Bugzilla::Template->create(); + ||= Bugzilla::Template->create(language => $lang); return $class->request_cache->{"template_inner_$lang"}; } @@ -417,22 +419,7 @@ sub dbh_main { sub languages { my $class = shift; - return $class->request_cache->{languages} - if $class->request_cache->{languages}; - - my @files = glob(catdir(bz_locations->{'templatedir'}, '*')); - my @languages; - foreach my $dir_entry (@files) { - # It's a language directory only if it contains "default" or - # "custom". This auto-excludes CVS directories as well. - next unless (-d catdir($dir_entry, 'default') - || -d catdir($dir_entry, 'custom')); - $dir_entry = basename($dir_entry); - # Check for language tag format conforming to RFC 1766. - next unless $dir_entry =~ /^[a-zA-Z]{1,8}(-[a-zA-Z]{1,8})?$/; - push(@languages, $dir_entry); - } - return $class->request_cache->{languages} = \@languages; + return Bugzilla::Install::Util::supported_languages(); } sub error_mode { @@ -551,7 +538,7 @@ sub has_flags { my $class = shift; if (!defined $class->request_cache->{has_flags}) { - $class->request_cache->{has_flags} = Bugzilla::Flag::has_flags(); + $class->request_cache->{has_flags} = Bugzilla::Flag->any_exist; } return $class->request_cache->{has_flags}; } diff --git a/Bugzilla/.cvsignore b/Bugzilla/.cvsignore deleted file mode 100644 index 03c88fd7a391ed2c4dd8b179016cd9b95923df88..0000000000000000000000000000000000000000 --- a/Bugzilla/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.htaccess diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index f3210425f08122c0ae5c57d4358908d96f2029d5..930495d4279f89dd14e4fb1c57f4f024410e3c92 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -87,13 +87,9 @@ sub DB_COLUMNS { $dbh->sql_date_format('attachments.creation_ts', '%Y.%m.%d %H:%i') . ' AS creation_ts'; } -use constant REQUIRED_CREATE_FIELDS => qw( - bug - data - description - filename - mimetype -); +use constant REQUIRED_FIELD_MAP => { + bug_id => 'bug', +}; use constant UPDATE_COLUMNS => qw( description @@ -515,6 +511,10 @@ sub _check_bug { my $user = Bugzilla->user; $bug = ref $invocant ? $invocant->bug : $bug; + + $bug || ThrowCodeError('param_required', + { function => "$invocant->create", param => 'bug' }); + ($user->can_see_bug($bug->id) && $user->can_edit_product($bug->product_id)) || ThrowUserError("illegal_attachment_edit_bug", { bug_id => $bug->id }); @@ -526,7 +526,7 @@ sub _check_content_type { $content_type = 'text/plain' if (ref $invocant && ($invocant->isurl || $invocant->ispatch)); my $legal_types = join('|', LEGAL_CONTENT_TYPES); - if ($content_type !~ /^($legal_types)\/.+$/) { + if (!$content_type or $content_type !~ /^($legal_types)\/.+$/) { ThrowUserError("invalid_content_type", { contenttype => $content_type }); } trick_taint($content_type); @@ -734,7 +734,7 @@ sub validate_can_edit { && $user->in_group('editbugs', $product_id))) ? 1 : 0; } -=item C<validate_obsolete($bug)> +=item C<validate_obsolete($bug, $attach_ids)> Description: validates if attachments the user wants to mark as obsolete really belong to the given bug and are not already obsolete. @@ -742,8 +742,10 @@ Description: validates if attachments the user wants to mark as obsolete he cannot view it (due to restrictions on it). Params: $bug - The bug object obsolete attachments should belong to. + $attach_ids - The list of attachments to mark as obsolete. -Returns: 1 on success. Else an error is thrown. +Returns: The list of attachment objects to mark as obsolete. + Else an error is thrown. =cut @@ -777,9 +779,7 @@ sub validate_obsolete { ThrowCodeError('mismatched_bug_ids_on_obsolete', $vars); } - if ($attachment->isobsolete) { - ThrowCodeError('attachment_already_obsolete', $vars); - } + next if $attachment->isobsolete; push(@obsolete_attachments, $attachment); } diff --git a/Bugzilla/Attachment/CVS/Entries b/Bugzilla/Attachment/CVS/Entries deleted file mode 100644 index e2d237cc5a6289d0b23e4e059b65d56a7f46f770..0000000000000000000000000000000000000000 --- a/Bugzilla/Attachment/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/PatchReader.pm/1.6/Sun Jun 29 17:35:28 2008//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Attachment/CVS/Repository b/Bugzilla/Attachment/CVS/Repository deleted file mode 100644 index 758f7a950e0aa8683766cf5d37dbc1d8d66f26d9..0000000000000000000000000000000000000000 --- a/Bugzilla/Attachment/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Attachment diff --git a/Bugzilla/Attachment/CVS/Root b/Bugzilla/Attachment/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Attachment/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Attachment/CVS/Tag b/Bugzilla/Attachment/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Attachment/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Auth/CVS/Entries b/Bugzilla/Auth/CVS/Entries deleted file mode 100644 index c7f4ec1773e2f079a50a27e0b923a1b8bad5978b..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/Login.pm/1.1/Fri May 12 02:41:05 2006//TBUGZILLA-3_6_1 -/Verify.pm/1.7/Wed May 23 18:05:49 2007//TBUGZILLA-3_6_1 -D/Login//// -D/Persist//// -D/Verify//// diff --git a/Bugzilla/Auth/CVS/Repository b/Bugzilla/Auth/CVS/Repository deleted file mode 100644 index ebfc5f9c47ff0c29141cb154c2b38c0670a9febf..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Auth diff --git a/Bugzilla/Auth/CVS/Root b/Bugzilla/Auth/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Auth/CVS/Tag b/Bugzilla/Auth/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Auth/Login.pm b/Bugzilla/Auth/Login.pm index 4a4c5f26d7ffb0b1cd8861d39e159c42315d13a4..b3add736584a7e4519e69c95c793ac20758c3da2 100644 --- a/Bugzilla/Auth/Login.pm +++ b/Bugzilla/Auth/Login.pm @@ -27,6 +27,7 @@ use constant can_login => 1; use constant requires_persistence => 1; use constant requires_verification => 1; use constant user_can_create_account => 0; +use constant is_automatic => 0; sub new { my ($class) = @_; @@ -122,4 +123,12 @@ got from this login method. Defaults to C<true>. Whether or not users can create accounts, if this login method is currently being used by the system. Defaults to C<false>. +=item C<is_automatic> + +True if this login method requires no interaction from the user within +Bugzilla. (For example, C<Env> auth is "automatic" because the webserver +just passes us an environment variable on most page requests, and does not +ask the user for authentication information directly in Bugzilla.) Defaults +to C<false>. + =back diff --git a/Bugzilla/Auth/Login/CVS/Entries b/Bugzilla/Auth/Login/CVS/Entries deleted file mode 100644 index dd8d64f04ad8046cbaa8dddd3069b7f365af9dd9..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Login/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/CGI.pm/1.14.2.1/Tue Mar 23 23:21:18 2010//TBUGZILLA-3_6_1 -/Cookie.pm/1.7/Thu Dec 31 12:53:20 2009//TBUGZILLA-3_6_1 -/Env.pm/1.5/Thu Dec 31 12:16:37 2009//TBUGZILLA-3_6_1 -/Stack.pm/1.4/Tue Nov 24 06:09:43 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Auth/Login/CVS/Repository b/Bugzilla/Auth/Login/CVS/Repository deleted file mode 100644 index 2a490dec9b83814f86a9df4f7d07776bbd89d556..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Login/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Auth/Login diff --git a/Bugzilla/Auth/Login/CVS/Root b/Bugzilla/Auth/Login/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Login/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Auth/Login/CVS/Tag b/Bugzilla/Auth/Login/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Login/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Auth/Login/Cookie.pm b/Bugzilla/Auth/Login/Cookie.pm index 570988f7e2e140aca6b22174ea0308df32db6be6..91fb820fb58380706f0ad97b090b5621b93123f7 100644 --- a/Bugzilla/Auth/Login/Cookie.pm +++ b/Bugzilla/Auth/Login/Cookie.pm @@ -27,6 +27,7 @@ use List::Util qw(first); use constant requires_persistence => 0; use constant requires_verification => 0; use constant can_login => 0; +use constant is_automatic => 1; # Note that Cookie never consults the Verifier, it always assumes # it has a valid DB account or it fails. diff --git a/Bugzilla/Auth/Login/Env.pm b/Bugzilla/Auth/Login/Env.pm index 1f2739a884322b56e77e43f6120700f0b9f514ab..f93034ef34b851ee1679881b082158e177e0a267 100644 --- a/Bugzilla/Auth/Login/Env.pm +++ b/Bugzilla/Auth/Login/Env.pm @@ -31,6 +31,7 @@ use constant can_logout => 0; use constant can_login => 0; use constant requires_persistence => 0; use constant requires_verification => 0; +use constant is_automatic => 1; sub get_login_info { my ($self) = @_; diff --git a/Bugzilla/Auth/Login/Stack.pm b/Bugzilla/Auth/Login/Stack.pm index bef9171c9dc798574f6262038751743843c03fe0..f490d243b48a53489a93b56a8a9f0d275772ec99 100644 --- a/Bugzilla/Auth/Login/Stack.pm +++ b/Bugzilla/Auth/Login/Stack.pm @@ -52,6 +52,11 @@ sub get_login_info { my $self = shift; my $result; foreach my $object (@{$self->{_stack}}) { + # See Bugzilla::WebService::Server::JSONRPC for where and why + # auth_no_automatic_login is used. + if (Bugzilla->request_cache->{auth_no_automatic_login}) { + next if $object->is_automatic; + } $result = $object->get_login_info(@_); $self->{successful} = $object; last if !$result->{failure}; diff --git a/Bugzilla/Auth/Persist/CVS/Entries b/Bugzilla/Auth/Persist/CVS/Entries deleted file mode 100644 index bf2c361427e45f61c1c84e712b63634bf70d4a4e..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Persist/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Cookie.pm/1.13/Thu Dec 31 12:53:20 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Auth/Persist/CVS/Repository b/Bugzilla/Auth/Persist/CVS/Repository deleted file mode 100644 index 63e425d24720b6df58d6906c8c0a6997e62814fa..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Persist/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Auth/Persist diff --git a/Bugzilla/Auth/Persist/CVS/Root b/Bugzilla/Auth/Persist/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Persist/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Auth/Persist/CVS/Tag b/Bugzilla/Auth/Persist/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Persist/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Auth/Verify/CVS/Entries b/Bugzilla/Auth/Verify/CVS/Entries deleted file mode 100644 index 6918f684a611465ae1958d19ddb4547977db2f35..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Verify/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/DB.pm/1.11/Sun Dec 13 20:46:26 2009//TBUGZILLA-3_6_1 -/LDAP.pm/1.19/Tue Jan 5 08:32:53 2010//TBUGZILLA-3_6_1 -/RADIUS.pm/1.1/Thu Aug 2 22:38:37 2007//TBUGZILLA-3_6_1 -/Stack.pm/1.4/Tue Nov 24 06:09:43 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Auth/Verify/CVS/Repository b/Bugzilla/Auth/Verify/CVS/Repository deleted file mode 100644 index db64134c46e1cd0dd417f57acda9ab1d15e10a5e..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Verify/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Auth/Verify diff --git a/Bugzilla/Auth/Verify/CVS/Root b/Bugzilla/Auth/Verify/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Verify/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Auth/Verify/CVS/Tag b/Bugzilla/Auth/Verify/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Auth/Verify/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 9d99822680f270e0c43f5d06d8123dae872227cd..58901c57ecd0b84a3139922a3b67ca878f95f9f5 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -25,6 +25,7 @@ # Max Kanat-Alexander <mkanat@bugzilla.org> # Frédéric Buclin <LpSolit@gmail.com> # Lance Larsh <lance.larsh@oracle.com> +# Elliotte Martin <elliotte_martin@yahoo.com> package Bugzilla::Bug; @@ -48,15 +49,16 @@ use Bugzilla::Group; use Bugzilla::Status; use Bugzilla::Comment; -use List::Util qw(min); +use List::MoreUtils qw(firstidx uniq); +use List::Util qw(min first); use Storable qw(dclone); use URI; use URI::QueryParam; +use Scalar::Util qw(blessed); use base qw(Bugzilla::Object Exporter); @Bugzilla::Bug::EXPORT = qw( bug_alias_to_id - RemoveVotes CheckIfVotedConfirmed LogActivityEntry editable_bug_fields ); @@ -89,6 +91,7 @@ sub DB_COLUMNS { delta_ts estimated_time everconfirmed + lastdiffed op_sys priority product_id @@ -112,34 +115,38 @@ sub DB_COLUMNS { return @columns; } -use constant REQUIRED_CREATE_FIELDS => qw( - component - product - short_desc - version -); - -# There are also other, more complex validators that are called -# from run_create_validators. sub VALIDATORS { - my $cache = Bugzilla->request_cache; - return $cache->{bug_validators} if defined $cache->{bug_validators}; my $validators = { alias => \&_check_alias, + assigned_to => \&_check_assigned_to, bug_file_loc => \&_check_bug_file_loc, bug_severity => \&_check_select_field, + bug_status => \&_check_bug_status, + cc => \&_check_cc, comment => \&_check_comment, commentprivacy => \&_check_commentprivacy, + component => \&_check_component, deadline => \&_check_deadline, + dup_id => \&_check_dup_id, estimated_time => \&_check_estimated_time, + everconfirmed => \&Bugzilla::Object::check_boolean, + groups => \&_check_groups, + keywords => \&_check_keywords, op_sys => \&_check_select_field, priority => \&_check_priority, product => \&_check_product, + qa_contact => \&_check_qa_contact, remaining_time => \&_check_remaining_time, rep_platform => \&_check_select_field, + resolution => \&_check_resolution, short_desc => \&_check_short_desc, status_whiteboard => \&_check_status_whiteboard, + target_milestone => \&_check_target_milestone, + version => \&_check_version, + + cclist_accessible => \&Bugzilla::Object::check_boolean, + reporter_accessible => \&Bugzilla::Object::check_boolean, }; # Set up validators for custom fields. @@ -166,21 +173,35 @@ sub VALIDATORS { $validators->{$field->name} = $validator; } - $cache->{bug_validators} = $validators; - return $cache->{bug_validators}; + return $validators; }; -use constant UPDATE_VALIDATORS => { - assigned_to => \&_check_assigned_to, - bug_status => \&_check_bug_status, - cclist_accessible => \&Bugzilla::Object::check_boolean, - dup_id => \&_check_dup_id, - everconfirmed => \&Bugzilla::Object::check_boolean, - qa_contact => \&_check_qa_contact, - reporter_accessible => \&Bugzilla::Object::check_boolean, - resolution => \&_check_resolution, - target_milestone => \&_check_target_milestone, - version => \&_check_version, +sub VALIDATOR_DEPENDENCIES { + my $cache = Bugzilla->request_cache; + return $cache->{bug_validator_dependencies} + if $cache->{bug_validator_dependencies}; + + my %deps = ( + assigned_to => ['component'], + bug_status => ['product', 'comment', 'target_milestone'], + cc => ['component'], + component => ['product'], + dup_id => ['bug_status', 'resolution'], + groups => ['product'], + keywords => ['product'], + resolution => ['bug_status'], + qa_contact => ['component'], + target_milestone => ['product'], + version => ['product'], + ); + + my @custom_deps = Bugzilla->get_fields( + { visibility_field_id => NOT_NULL }); + foreach my $field (@custom_deps) { + $deps{$field->name} = [$field->visibility_field->name]; + } + $cache->{bug_validator_dependencies} = \%deps; + return \%deps; }; sub UPDATE_COLUMNS { @@ -221,8 +242,7 @@ use constant NUMERIC_COLUMNS => qw( ); sub DATE_COLUMNS { - my @fields = Bugzilla->get_fields( - { custom => 1, type => FIELD_TYPE_DATETIME }); + my @fields = Bugzilla->get_fields({ type => FIELD_TYPE_DATETIME }); return map { $_->name } @fields; } @@ -261,6 +281,11 @@ use constant FIELD_MAP => { offset => 'OFFSET', }; +use constant REQUIRED_FIELD_MAP => { + product_id => 'product', + component_id => 'component', +}; + ##################################################################### sub new { @@ -417,6 +442,87 @@ sub match { return $class->SUPER::match(@_); } +sub possible_duplicates { + my ($class, $params) = @_; + my $short_desc = $params->{summary}; + my $products = $params->{products} || []; + my $limit = $params->{limit} || MAX_POSSIBLE_DUPLICATES; + $limit = MAX_POSSIBLE_DUPLICATES if $limit > MAX_POSSIBLE_DUPLICATES; + $products = [$products] if !ref($products) eq 'ARRAY'; + + my $orig_limit = $limit; + detaint_natural($limit) + || ThrowCodeError('param_must_be_numeric', + { function => 'possible_duplicates', + param => $orig_limit }); + + my $dbh = Bugzilla->dbh; + my $user = Bugzilla->user; + my @words = split(/[\b\s]+/, $short_desc || ''); + # Exclude punctuation from the array. + @words = map { /(\w+)/; $1 } @words; + # And make sure that each word is longer than 2 characters. + @words = grep { defined $_ and length($_) > 2 } @words; + + return [] if !@words; + + my ($where_sql, $relevance_sql); + if ($dbh->FULLTEXT_OR) { + my $joined_terms = join($dbh->FULLTEXT_OR, @words); + ($where_sql, $relevance_sql) = + $dbh->sql_fulltext_search('bugs_fulltext.short_desc', + $joined_terms, 1); + $relevance_sql ||= $where_sql; + } + else { + my (@where, @relevance); + my $count = 0; + foreach my $word (@words) { + $count++; + my ($term, $rel_term) = $dbh->sql_fulltext_search( + 'bugs_fulltext.short_desc', $word, $count); + push(@where, $term); + push(@relevance, $rel_term || $term); + } + + $where_sql = join(' OR ', @where); + $relevance_sql = join(' + ', @relevance); + } + + my $product_ids = join(',', map { $_->id } @$products); + my $product_sql = $product_ids ? "AND product_id IN ($product_ids)" : ""; + + # Because we collapse duplicates, we want to get slightly more bugs + # than were actually asked for. + my $sql_limit = $limit + 5; + + my $possible_dupes = $dbh->selectall_arrayref( + "SELECT bugs.bug_id AS bug_id, bugs.resolution AS resolution, + ($relevance_sql) AS relevance + FROM bugs + INNER JOIN bugs_fulltext ON bugs.bug_id = bugs_fulltext.bug_id + WHERE ($where_sql) $product_sql + ORDER BY relevance DESC, bug_id DESC + LIMIT $sql_limit", {Slice=>{}}); + + my @actual_dupe_ids; + # Resolve duplicates into their ultimate target duplicates. + foreach my $bug (@$possible_dupes) { + my $push_id = $bug->{bug_id}; + if ($bug->{resolution} && $bug->{resolution} eq 'DUPLICATE') { + $push_id = _resolve_ultimate_dup_id($bug->{bug_id}); + } + push(@actual_dupe_ids, $push_id); + } + @actual_dupe_ids = uniq @actual_dupe_ids; + if (scalar @actual_dupe_ids > $limit) { + @actual_dupe_ids = @actual_dupe_ids[0..($limit-1)]; + } + + my $visible = $user->visible_bugs(\@actual_dupe_ids); + return $class->new_from_list($visible); +} + # Docs for create() (there's no POD in this file yet, but we very # much need this documented right now): # @@ -482,15 +588,11 @@ sub create { my $groups = delete $params->{groups}; my $depends_on = delete $params->{dependson}; my $blocked = delete $params->{blocked}; + my $keywords = delete $params->{keywords}; my ($comment, $privacy) = ($params->{comment}, $params->{commentprivacy}); delete $params->{comment}; delete $params->{commentprivacy}; - # Set up the keyword cache for bug creation. - my $keywords = $params->{keywords}; - $params->{keywords} = join(', ', sort {lc($a) cmp lc($b)} - map($_->name, @$keywords)); - # We don't want the bug to appear in the system until it's correctly # protected by groups. my $timestamp = delete $params->{creation_ts}; @@ -501,8 +603,8 @@ sub create { # Add the group restrictions my $sth_group = $dbh->prepare( 'INSERT INTO bug_group_map (bug_id, group_id) VALUES (?, ?)'); - foreach my $group_id (@$groups) { - $sth_group->execute($bug->bug_id, $group_id); + foreach my $group (@$groups) { + $sth_group->execute($bug->bug_id, $group->id); } $dbh->do('UPDATE bugs SET creation_ts = ? WHERE bug_id = ?', undef, @@ -586,33 +688,10 @@ sub run_create_validators { my $class = shift; my $params = $class->SUPER::run_create_validators(@_); - my $product = $params->{product}; + my $product = delete $params->{product}; $params->{product_id} = $product->id; - delete $params->{product}; - - ($params->{bug_status}, $params->{everconfirmed}) - = $class->_check_bug_status($params->{bug_status}, $product, - $params->{comment}); - - $params->{target_milestone} = $class->_check_target_milestone( - $params->{target_milestone}, $product); - - $params->{version} = $class->_check_version($params->{version}, $product); - - $params->{keywords} = $class->_check_keywords($params->{keywords}, $product); - - $params->{groups} = $class->_check_groups($product, - $params->{groups}); - - my $component = $class->_check_component($params->{component}, $product); + my $component = delete $params->{component}; $params->{component_id} = $component->id; - delete $params->{component}; - - $params->{assigned_to} = - $class->_check_assigned_to($params->{assigned_to}, $component); - $params->{qa_contact} = - $class->_check_qa_contact($params->{qa_contact}, $component); - $params->{cc} = $class->_check_cc($component, $params->{cc}); # Callers cannot set reporter, creation_ts, or delta_ts. $params->{reporter} = $class->_check_reporter(); @@ -633,13 +712,20 @@ sub run_create_validators { # You can't set these fields on bug creation (or sometimes ever). delete $params->{resolution}; - delete $params->{votes}; delete $params->{lastdiffed}; delete $params->{bug_id}; Bugzilla::Hook::process('bug_end_of_create_validators', { params => $params }); + my @mandatory_fields = Bugzilla->get_fields({ is_mandatory => 1, + enter_bug => 1, + obsolete => 0 }); + foreach my $field (@mandatory_fields) { + $class->_check_field_is_mandatory($params->{$field->name}, $field, + $params); + } + return $params; } @@ -651,6 +737,8 @@ sub update { # inside this function. my $delta_ts = shift || $dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)'); + $dbh->bz_start_transaction(); + my ($changes, $old_bug) = $self->SUPER::update(@_); # Certain items in $changes have to be fixed so that they hold @@ -709,8 +797,6 @@ sub update { $dbh->do('INSERT INTO keywords (bug_id, keywordid) VALUES (?,?)', undef, $self->id, $keyword_id); } - $dbh->do('UPDATE bugs SET keywords = ? WHERE bug_id = ?', undef, - $self->keywords, $self->id); # If any changes were found, record it in the activity log if (scalar @$removed_kw || scalar @$added_kw) { my $removed_keywords = Bugzilla::Keyword->new_from_list($removed_kw); @@ -797,11 +883,15 @@ sub update { Bugzilla->user->id, $delta_ts); } } - + + # Comment Privacy foreach my $comment_id (keys %{$self->{comment_isprivate} || {}}) { $dbh->do("UPDATE longdescs SET isprivate = ? WHERE comment_id = ?", undef, $self->{comment_isprivate}->{$comment_id}, $comment_id); - # XXX It'd be nice to track this in the bug activity. + my ($from, $to) + = $self->{comment_isprivate}->{$comment_id} ? (0, 1) : (1, 0); + LogActivityEntry($self->id, "longdescs.isprivate", $from, $to, + Bugzilla->user->id, $delta_ts, $comment_id); } # Insert the values into the multiselect value tables @@ -878,6 +968,8 @@ sub update { $self->{delta_ts} = $delta_ts; } + $dbh->bz_commit_transaction(); + # The only problem with this here is that update() is often called # in the middle of a transaction, and if that transaction is rolled # back, this change will *not* be rolled back. As we expect rollbacks @@ -964,7 +1056,6 @@ sub remove_from_db { # - flags # - keywords # - longdescs - # - votes # Also, the attach_data table uses attachments.attach_id as a foreign # key, and so indirectly depends on a bug deletion too. @@ -980,7 +1071,6 @@ sub remove_from_db { undef, ($bug_id, $bug_id)); $dbh->do("DELETE FROM flags WHERE bug_id = ?", undef, $bug_id); $dbh->do("DELETE FROM keywords WHERE bug_id = ?", undef, $bug_id); - $dbh->do("DELETE FROM votes WHERE bug_id = ?", undef, $bug_id); # The attach_data table doesn't depend on bugs.bug_id directly. my $attach_ids = @@ -1007,6 +1097,88 @@ sub remove_from_db { return $self; } +##################################################################### +# Sending Email After Bug Update +##################################################################### + +sub send_changes { + my ($self, $changes, $vars) = @_; + + my $user = Bugzilla->user; + + my $old_qa = $changes->{'qa_contact'} + ? $changes->{'qa_contact'}->[0] : ''; + my $old_own = $changes->{'assigned_to'} + ? $changes->{'assigned_to'}->[0] : ''; + my $old_cc = $changes->{cc} + ? $changes->{cc}->[0] : ''; + + my %forced = ( + cc => [split(/[\s,]+/, $old_cc)], + owner => $old_own, + qacontact => $old_qa, + changer => $user, + ); + + _send_bugmail({ id => $self->id, type => 'bug', forced => \%forced }, + $vars); + + # If the bug was marked as a duplicate, we need to notify users on the + # other bug of any changes to that bug. + my $new_dup_id = $changes->{'dup_id'} ? $changes->{'dup_id'}->[1] : undef; + if ($new_dup_id) { + _send_bugmail({ forced => { changer => $user }, type => "dupe", + id => $new_dup_id }, $vars); + } + + # If there were changes in dependencies, we need to notify those + # dependencies. + my %notify_deps; + if ($changes->{'bug_status'}) { + my ($old_status, $new_status) = @{ $changes->{'bug_status'} }; + + # If this bug has changed from opened to closed or vice-versa, + # then all of the bugs we block need to be notified. + if (is_open_state($old_status) ne is_open_state($new_status)) { + $notify_deps{$_} = 1 foreach (@{ $self->blocked }); + } + } + + # To get a list of all changed dependencies, convert the "changes" arrays + # into a long string, then collapse that string into unique numbers in + # a hash. + my $all_changed_deps = join(', ', @{ $changes->{'dependson'} || [] }); + $all_changed_deps = join(', ', @{ $changes->{'blocked'} || [] }, + $all_changed_deps); + my %changed_deps = map { $_ => 1 } split(', ', $all_changed_deps); + # When clearning one field (say, blocks) and filling in the other + # (say, dependson), an empty string can get into the hash and cause + # an error later. + delete $changed_deps{''}; + + my %all_dep_changes = (%notify_deps, %changed_deps); + foreach my $id (sort { $a <=> $b } (keys %all_dep_changes)) { + _send_bugmail({ forced => { changer => $user }, type => "dep", + id => $id }, $vars); + } +} + +sub _send_bugmail { + my ($params, $vars) = @_; + + my $results = + Bugzilla::BugMail::Send($params->{'id'}, $params->{'forced'}); + + if (Bugzilla->usage_mode == USAGE_MODE_BROWSER) { + my $template = Bugzilla->template; + $vars->{$_} = $params->{$_} foreach keys %$params; + $vars->{'sent_bugmail'} = $results; + $template->process("bug/process/results.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + $vars->{'header_done'} = 1; + } +} + ##################################################################### # Validators ##################################################################### @@ -1041,8 +1213,10 @@ sub _check_alias { } sub _check_assigned_to { - my ($invocant, $assignee, $component) = @_; + my ($invocant, $assignee, undef, $params) = @_; my $user = Bugzilla->user; + my $component = blessed($invocant) ? $invocant->component_obj + : $params->{component}; # Default assignee is the component owner. my $id; @@ -1080,11 +1254,12 @@ sub _check_bug_file_loc { } sub _check_bug_status { - my ($invocant, $new_status, $product, $comment) = @_; + my ($invocant, $new_status, undef, $params) = @_; my $user = Bugzilla->user; my @valid_statuses; my $old_status; # Note that this is undef for new bugs. + my ($product, $comment); if (ref $invocant) { @valid_statuses = @{$invocant->statuses_available}; $product = $invocant->product_obj; @@ -1093,6 +1268,8 @@ sub _check_bug_status { $comment = $comments->[-1]; } else { + $product = $params->{product}; + $comment = $params->{comment}; @valid_statuses = @{Bugzilla::Status->can_change_to()}; if (!$product->allows_unconfirmed) { @valid_statuses = grep {$_->name ne 'UNCONFIRMED'} @valid_statuses; @@ -1157,12 +1334,17 @@ sub _check_bug_status { ThrowUserError("milestone_required", { bug => $invocant }); } - return $new_status->name if ref $invocant; - return ($new_status->name, $new_status->name eq 'UNCONFIRMED' ? 0 : 1); + if (!blessed $invocant) { + $params->{everconfirmed} = $new_status->name eq 'UNCONFIRMED' ? 0 : 1; + } + + return $new_status->name; } sub _check_cc { - my ($invocant, $component, $ccs) = @_; + my ($invocant, $ccs, undef, $params) = @_; + my $component = blessed($invocant) ? $invocant->component_obj + : $params->{component}; return [map {$_->id} @{$component->initial_cc}] unless $ccs; # Allow comma-separated input as well as arrayrefs. @@ -1212,10 +1394,11 @@ sub _check_comment_type { } sub _check_component { - my ($invocant, $name, $product) = @_; + my ($invocant, $name, undef, $params) = @_; $name = trim($name); $name || ThrowUserError("require_component"); - ($product = $invocant->product_obj) if ref $invocant; + my $product = blessed($invocant) ? $invocant->product_obj + : $params->{product}; my $obj = Bugzilla::Component->check({ product => $product, name => $name }); return $obj; } @@ -1320,23 +1503,7 @@ sub _check_dup_id { # Make sure a loop isn't created when marking this bug # as duplicate. - my %dupes; - my $this_dup = $dupe_of; - my $sth = $dbh->prepare('SELECT dupe_of FROM duplicates WHERE dupe = ?'); - - while ($this_dup) { - if ($this_dup == $self->id) { - ThrowUserError('dupe_loop_detected', { bug_id => $self->id, - dupe_of => $dupe_of }); - } - # If $dupes{$this_dup} is already set to 1, then a loop - # already exists which does not involve this bug. - # As the user is not responsible for this loop, do not - # prevent him from marking this bug as a duplicate. - last if exists $dupes{$this_dup}; - $dupes{$this_dup} = 1; - $this_dup = $dbh->selectrow_array($sth, undef, $this_dup); - } + _resolve_ultimate_dup_id($self->id, $dupe_of, 1); my $cur_dup = $self->dup_id || 0; if ($cur_dup != $dupe_of && Bugzilla->params->{'commentonduplicate'} @@ -1390,63 +1557,61 @@ sub _check_estimated_time { } sub _check_groups { - my ($invocant, $product, $group_ids) = @_; - - my $user = Bugzilla->user; - + my ($invocant, $group_names, undef, $params) = @_; + my $product = blessed($invocant) ? $invocant->product_obj + : $params->{product}; my %add_groups; - my $controls = $product->group_controls; - foreach my $id (@$group_ids) { - my $group = new Bugzilla::Group($id) - || ThrowUserError("invalid_group_ID"); - - # This can only happen if somebody hacked the enter_bug form. - ThrowCodeError("inactive_group", { name => $group->name }) - unless $group->is_active; - - my $membercontrol = $controls->{$id} - && $controls->{$id}->{membercontrol}; - my $othercontrol = $controls->{$id} - && $controls->{$id}->{othercontrol}; - - my $permit = ($membercontrol && $user->in_group($group->name)) - || $othercontrol; - - $add_groups{$id} = 1 if $permit; + # In email or WebServices, when the "groups" item actually + # isn't specified, then just add the default groups. + if (!defined $group_names) { + my $available = $product->groups_available; + foreach my $group (@$available) { + $add_groups{$group->id} = $group if $group->{is_default}; + } } + else { + # Allow a comma-separated list, for email_in.pl. + $group_names = [map { trim($_) } split(',', $group_names)] + if !ref $group_names; - foreach my $id (keys %$controls) { - next unless $controls->{$id}->{'group'}->is_active; - my $membercontrol = $controls->{$id}->{membercontrol} || 0; - my $othercontrol = $controls->{$id}->{othercontrol} || 0; - - # Add groups required - if ($membercontrol == CONTROLMAPMANDATORY - || ($othercontrol == CONTROLMAPMANDATORY - && !$user->in_group_id($id))) - { - # User had no option, bug needs to be in this group. - $add_groups{$id} = 1; + # First check all the groups they chose to set. + foreach my $name (@$group_names) { + # We don't want to expose the existence or non-existence of groups, + # so instead of doing check(), we just do "next" on an invalid + # group. + my $group = new Bugzilla::Group({ name => $name }) or next; + next if !$product->group_is_settable($group); + $add_groups{$group->id} = $group; } } - my @add_groups = keys %add_groups; + # Now enforce mandatory groups. + $add_groups{$_->id} = $_ foreach @{ $product->groups_mandatory }; + + my @add_groups = values %add_groups; return \@add_groups; } sub _check_keywords { - my ($invocant, $keyword_string, $product) = @_; - $keyword_string = trim($keyword_string); - return [] if !$keyword_string; + my ($invocant, $keywords_in, undef, $params) = @_; + + return [] if !defined $keywords_in; + + my $keyword_array = $keywords_in; + if (!ref $keyword_array) { + $keywords_in = trim($keywords_in); + $keyword_array = [split(/[\s,]+/, $keywords_in)]; + } # On creation, only editbugs users can set keywords. if (!ref $invocant) { + my $product = $params->{product}; return [] if !Bugzilla->user->in_group('editbugs', $product->id); } my %keywords; - foreach my $keyword (split(/[\s,]+/, $keyword_string)) { + foreach my $keyword (@$keyword_array) { next unless $keyword; my $obj = new Bugzilla::Keyword({ name => $keyword }); ThrowUserError("unknown_keyword", { keyword => $keyword }) if !$obj; @@ -1480,9 +1645,10 @@ sub _check_priority { } sub _check_qa_contact { - my ($invocant, $qa_contact, $component) = @_; + my ($invocant, $qa_contact, undef, $params) = @_; $qa_contact = trim($qa_contact) if !ref $qa_contact; - + my $component = blessed($invocant) ? $invocant->component_obj + : $params->{component}; my $id; if (!ref $invocant) { # Bugs get no QA Contact on creation if useqacontact is off. @@ -1526,8 +1692,8 @@ sub _check_reporter { else { # On bug creation, the reporter is the logged in user # (meaning that he must be logged in first!). + Bugzilla->login(LOGIN_REQUIRED); $reporter = Bugzilla->user->id; - $reporter || ThrowCodeError('invalid_user'); } return $reporter; } @@ -1659,9 +1825,9 @@ sub _check_strict_isolation_for_user { } sub _check_target_milestone { - my ($invocant, $target, $product) = @_; - $product = $invocant->product_obj if ref $invocant; - + my ($invocant, $target, undef, $params) = @_; + my $product = blessed($invocant) ? $invocant->product_obj + : $params->{product}; $target = trim($target); $target = $product->default_milestone if !defined $target; my $object = Bugzilla::Milestone->check( @@ -1684,9 +1850,10 @@ sub _check_time { } sub _check_version { - my ($invocant, $version, $product) = @_; + my ($invocant, $version, undef, $params) = @_; $version = trim($version); - ($product = $invocant->product_obj) if ref $invocant; + my $product = blessed($invocant) ? $invocant->product_obj + : $params->{product}; my $object = Bugzilla::Version->check({ product => $product, name => $version }); return $object->name; @@ -1698,6 +1865,33 @@ sub _check_work_time { # Custom Field Validators +sub _check_field_is_mandatory { + my ($invocant, $value, $field, $params) = @_; + + if (!blessed($field)) { + $field = Bugzilla::Field->new({ name => $field }); + return if !$field; + } + + return if !$field->is_mandatory; + + return if !$field->is_visible_on_bug($params || $invocant); + + if (ref($value) eq 'ARRAY') { + $value = join('', @$value); + } + + $value = trim($value); + if (!defined($value) + or $value eq "" + or ($value eq '---' and $field->type == FIELD_TYPE_SINGLE_SELECT) + or ($value =~ EMPTY_DATETIME_REGEX + and $field->type == FIELD_TYPE_DATETIME)) + { + ThrowUserError('required_field', { field => $field }); + } +} + sub _check_datetime_field { my ($invocant, $date_time) = @_; @@ -1762,7 +1956,42 @@ sub _check_select_field { sub _check_bugid_field { my ($invocant, $value, $field) = @_; return undef if !$value; - return $invocant->check($value, $field)->id; + + # check that the value is a valid, visible bug id + my $checked_id = $invocant->check($value, $field)->id; + + # check for loop (can't have a loop if this is a new bug) + if (ref $invocant) { + _check_relationship_loop($field, $invocant->bug_id, $checked_id); + } + + return $checked_id; +} + +sub _check_relationship_loop { + # Generates a dependency tree for a given bug. Calls itself recursively + # to generate sub-trees for the bug's dependencies. + my ($field, $bug_id, $dep_id, $ids) = @_; + + # Don't do anything if this bug doesn't have any dependencies. + return unless defined($dep_id); + + # Check whether we have seen this bug yet + $ids = {} unless defined $ids; + $ids->{$bug_id} = 1; + if ($ids->{$dep_id}) { + ThrowUserError("relationship_loop_single", { + 'bug_id' => $bug_id, + 'dep_id' => $dep_id, + 'field_name' => $field}); + } + + # Get this dependency's record from the database + my $dbh = Bugzilla->dbh; + my $next_dep_id = $dbh->selectrow_array( + "SELECT $field FROM bugs WHERE bug_id = ?", undef, $dep_id); + + _check_relationship_loop($field, $dep_id, $next_dep_id, $ids); } ##################################################################### @@ -1783,7 +2012,7 @@ sub fields { bug_status resolution dup_id see_also bug_file_loc status_whiteboard keywords priority bug_severity target_milestone - dependson blocked votes everconfirmed + dependson blocked everconfirmed reporter assigned_to cc estimated_time remaining_time actual_time deadline), @@ -1826,6 +2055,7 @@ sub _set_global_validator { newvalue => $value, privs => $privs }); } + $self->_check_field_is_mandatory($value, $field); } @@ -1833,6 +2063,125 @@ sub _set_global_validator { # "Set" Methods # ################# +# Note that if you are changing multiple bugs at once, you must pass +# other_bugs to set_all in order for it to behave properly. +sub set_all { + my $self = shift; + my ($params) = @_; + + # You cannot mark bugs as duplicate when changing several bugs at once + # (because currently there is no way to check for duplicate loops in that + # situation). You also cannot set the alias of several bugs at once. + if ($params->{other_bugs} and scalar @{ $params->{other_bugs} } > 1) { + ThrowUserError('dupe_not_allowed') if exists $params->{dup_id}; + ThrowUserError('multiple_alias_not_allowed') + if defined $params->{alias}; + } + + # For security purposes, and because lots of other checks depend on it, + # we set the product first before anything else. + my $product_changed; # Used only for strict_isolation checks. + if (exists $params->{'product'}) { + $product_changed = $self->_set_product($params->{'product'}, $params); + } + + # strict_isolation checks mean that we should set the groups + # immediately after changing the product. + $self->_add_remove($params, 'groups'); + + if (exists $params->{'dependson'} or exists $params->{'blocked'}) { + my %set_deps; + foreach my $name (qw(dependson blocked)) { + my @dep_ids = @{ $self->$name }; + # If only one of the two fields was passed in, then we need to + # retain the current value for the other one. + if (!exists $params->{$name}) { + $set_deps{$name} = \@dep_ids; + next; + } + + # Explicitly setting them to a particular value overrides + # add/remove. + if (exists $params->{$name}->{set}) { + $set_deps{$name} = $params->{$name}->{set}; + next; + } + + foreach my $add (@{ $params->{$name}->{add} || [] }) { + push(@dep_ids, $add) if !grep($_ == $add, @dep_ids); + } + foreach my $remove (@{ $params->{$name}->{remove} || [] }) { + @dep_ids = grep($_ != $remove, @dep_ids); + } + $set_deps{$name} = \@dep_ids; + } + + $self->set_dependencies($set_deps{'dependson'}, $set_deps{'blocked'}); + } + + if (exists $params->{'keywords'}) { + # Sorting makes the order "add, remove, set", just like for other + # fields. + foreach my $action (sort keys %{ $params->{'keywords'} }) { + $self->modify_keywords($params->{'keywords'}->{$action}, $action); + } + } + + if (exists $params->{'comment'} or exists $params->{'work_time'}) { + # Add a comment as needed to each bug. This is done early because + # there are lots of things that want to check if we added a comment. + $self->add_comment($params->{'comment'}->{'body'}, + { isprivate => $params->{'comment'}->{'is_private'}, + work_time => $params->{'work_time'} }); + } + + my %normal_set_all; + foreach my $name (keys %$params) { + # These are handled separately below. + if ($self->can("set_$name")) { + $normal_set_all{$name} = $params->{$name}; + } + } + $self->SUPER::set_all(\%normal_set_all); + + $self->reset_assigned_to if $params->{'reset_assigned_to'}; + $self->reset_qa_contact if $params->{'reset_qa_contact'}; + + $self->_add_remove($params, 'see_also'); + + # And set custom fields. + my @custom_fields = Bugzilla->active_custom_fields; + foreach my $field (@custom_fields) { + my $fname = $field->name; + if (exists $params->{$fname}) { + $self->set_custom_field($field, $params->{$fname}); + } + } + + $self->_add_remove($params, 'cc'); + + # Theoretically you could move a product without ever specifying + # a new assignee or qa_contact, or adding/removing any CCs. So, + # we have to check that the current assignee, qa, and CCs are still + # valid if we've switched products, under strict_isolation. We can only + # do that here, because if they *did* change the assignee, qa, or CC, + # then we don't want to check the original ones, only the new ones. + $self->_check_strict_isolation() if $product_changed; +} + +# Helper for set_all that helps with fields that have an "add/remove" +# pattern instead of a "set_" pattern. +sub _add_remove { + my ($self, $params, $name) = @_; + my @add = @{ $params->{$name}->{add} || [] }; + my @remove = @{ $params->{$name}->{remove} || [] }; + $name =~ s/s$//; + my $add_method = "add_$name"; + my $remove_method = "remove_$name"; + $self->$add_method($_) foreach @add; + $self->$remove_method($_) foreach @remove; +} + sub set_alias { $_[0]->set('alias', $_[1]); } sub set_assigned_to { my ($self, $value) = @_; @@ -1850,6 +2199,15 @@ sub set_cclist_accessible { $_[0]->set('cclist_accessible', $_[1]); } sub set_comment_is_private { my ($self, $comment_id, $isprivate) = @_; return unless Bugzilla->user->is_insider; + + # We also allow people to pass in a hash of comment ids to update. + if (ref $comment_id) { + while (my ($id, $is) = each %$comment_id) { + $self->set_comment_is_private($id, $is); + } + return; + } + my ($comment) = grep($comment_id == $_->id, @{ $self->comments }); ThrowUserError('comment_invalid_isprivate', { id => $comment_id }) if !$comment; @@ -1903,6 +2261,21 @@ sub set_dup_id { $self->set('dup_id', $dup_id); my $new = $self->dup_id; return if $old == $new; + + # Make sure that we have the DUPLICATE resolution. This is needed + # if somebody calls set_dup_id without calling set_bug_status or + # set_resolution. + if ($self->resolution ne 'DUPLICATE') { + # Even if the current status is VERIFIED, we change it back to + # RESOLVED (or whatever the duplicate_or_move_bug_status is) here, + # because that's the same thing the UI does when you click on the + # "Mark as Duplicate" link. If people really want to retain their + # current status, they can use set_bug_status and set the DUPLICATE + # resolution before getting here. + $self->set_bug_status( + Bugzilla->params->{'duplicate_or_move_bug_status'}, + { resolution => 'DUPLICATE' }); + } # Update the other bug. my $dupe_of = new Bugzilla::Bug($self->dup_id); @@ -1938,7 +2311,9 @@ sub set_flags { sub set_op_sys { $_[0]->set('op_sys', $_[1]); } sub set_platform { $_[0]->set('rep_platform', $_[1]); } sub set_priority { $_[0]->set('priority', $_[1]); } -sub set_product { +# For security reasons, you have to use set_all to change the product. +# See the strict_isolation check in set_all for an explanation. +sub _set_product { my ($self, $name, $params) = @_; my $old_product = $self->product_obj; my $product = $self->_check_product($name); @@ -1956,9 +2331,10 @@ sub set_product { } $params ||= {}; - my $comp_name = $params->{component} || $self->component; - my $vers_name = $params->{version} || $self->version; - my $tm_name = $params->{target_milestone}; + # We delete these so that they're not set again later in set_all. + my $comp_name = delete $params->{component} || $self->component; + my $vers_name = delete $params->{version} || $self->version; + my $tm_name = delete $params->{target_milestone}; # This way, if usetargetmilestone is off and we've changed products, # set_target_milestone will reset our target_milestone to # $product->default_milestone. But if we haven't changed products, @@ -1990,7 +2366,7 @@ sub set_product { undef $@; Bugzilla->error_mode($old_error_mode); - my $verified = $params->{change_confirmed}; + my $verified = $params->{product_change_confirmed}; my %vars; if (!$verified || !$component_ok || !$version_ok || !$milestone_ok) { $vars{defaults} = { @@ -2044,7 +2420,9 @@ sub set_product { # just die if any of these are invalid. $self->set_component($comp_name); $self->set_version($vers_name); - if ($product_changed && !$self->check_can_change_field('target_milestone', 0, 1)) { + if ($product_changed + and !$self->check_can_change_field('target_milestone', 0, 1)) + { # Have to set this directly to bypass the validators. $self->{target_milestone} = $product->default_milestone; } @@ -2054,26 +2432,24 @@ sub set_product { } if ($product_changed) { - # Remove groups that aren't valid in the new product. This will also - # have the side effect of removing the bug from groups that aren't - # active anymore. + # Remove groups that can't be set in the new product, or that aren't + # active. # # We copy this array because the original array is modified while we're # working, and that confuses "foreach". my @current_groups = @{$self->groups_in}; foreach my $group (@current_groups) { - if (!grep($group->id == $_->id, @{$product->groups_valid})) { + if (!$group->is_active or !$product->group_is_valid($group)) { $self->remove_group($group); } } # Make sure the bug is in all the mandatory groups for the new product. - foreach my $group (@{$product->groups_mandatory_for(Bugzilla->user)}) { + foreach my $group (@{$product->groups_mandatory}) { $self->add_group($group); } } - # XXX This is temporary until all of process_bug uses update(); return $product_changed; } @@ -2104,10 +2480,6 @@ sub set_resolution { my $new_res = $self->resolution; if ($new_res ne $old_res) { - # MOVED has a special meaning and can only be used when - # really moving bugs to another installation. - ThrowCodeError('no_manual_moved') if ($new_res eq 'MOVED' && !$params->{moving}); - # Clear the dup_id if we're leaving the dup resolution. if ($old_res eq 'DUPLICATE') { $self->_clear_dup_id(); @@ -2123,13 +2495,17 @@ sub set_resolution { # of another, theoretically. Note that this code block will also run # when going between different closed states. if ($self->resolution eq 'DUPLICATE') { - if ($params->{dupe_of}) { - $self->set_dup_id($params->{dupe_of}); + if (my $dup_id = $params->{dup_id}) { + $self->set_dup_id($dup_id); } elsif (!$self->dup_id) { ThrowUserError('dupe_id_required'); } } + + # This method has handled dup_id, so set_all doesn't have to worry + # about it now. + delete $params->{dup_id}; } sub clear_resolution { my $self = shift; @@ -2140,7 +2516,7 @@ sub clear_resolution { $self->_clear_dup_id; } sub set_severity { $_[0]->set('bug_severity', $_[1]); } -sub set_status { +sub set_bug_status { my ($self, $status, $params) = @_; my $old_status = $self->status; $self->set('bug_status', $status); @@ -2148,11 +2524,15 @@ sub set_status { delete $self->{'statuses_available'}; delete $self->{'choices'}; my $new_status = $self->status; - + if ($new_status->is_open) { # Check for the everconfirmed transition $self->_set_everconfirmed($new_status->name eq 'UNCONFIRMED' ? 0 : 1); $self->clear_resolution(); + # Calling clear_resolution handled the "resolution" and "dup_id" + # setting, so set_all doesn't have to worry about them. + delete $params->{resolution}; + delete $params->{dup_id}; } else { # We do this here so that we can make sure closed statuses have @@ -2208,11 +2588,7 @@ sub add_comment { $comment = $self->_check_comment($comment); $params ||= {}; - if (exists $params->{work_time}) { - $params->{work_time} = $self->_check_work_time($params->{work_time}); - ThrowUserError('comment_required') - if $comment eq '' && $params->{work_time} != 0; - } + $params->{work_time} = $self->_check_work_time($params->{work_time}); if (exists $params->{type}) { $params->{type} = $self->_check_comment_type($params->{type}); } @@ -2222,10 +2598,17 @@ sub add_comment { } # XXX We really should check extra_data, too. - if ($comment eq '' && !($params->{type} || $params->{work_time})) { + if ($comment eq '' && !($params->{type} || abs($params->{work_time}))) { return; } + # If the user has explicitly set remaining_time, this will be overridden + # later in set_all. But if they haven't, this keeps remaining_time + # up-to-date. + if ($params->{work_time}) { + $self->set_remaining_time($self->remaining_time - $params->{work_time}); + } + # So we really want to comment. Make sure we are allowed to do so. my $privs; $self->check_can_change_field('longdesc', 0, 1, \$privs) @@ -2251,15 +2634,15 @@ sub add_comment { sub modify_keywords { my ($self, $keywords, $action) = @_; - $action ||= "makeexact"; - if (!grep($action eq $_, qw(add delete makeexact))) { - $action = "makeexact"; + $action ||= 'set'; + if (!grep($action eq $_, qw(add remove set))) { + $action = 'set'; } $keywords = $self->_check_keywords($keywords); my (@result, $any_changes); - if ($action eq 'makeexact') { + if ($action eq 'set') { @result = @$keywords; # Check if anything was added or removed. my @old_ids = map { $_->id } @{$self->keyword_objects}; @@ -2293,7 +2676,6 @@ sub modify_keywords { } $self->{'keyword_objects'} = \@result; - return $any_changes; } sub add_group { @@ -2306,10 +2688,11 @@ sub add_group { return if !$group->is_active or !$group->is_bug_group; # Make sure that bugs in this product can actually be restricted - # to this group. - grep($group->id == $_->id, @{$self->product_obj->groups_valid}) + # to this group by the current user. + $self->product_obj->group_is_settable($group) || ThrowUserError('group_invalid_restriction', - { product => $self->product, group_id => $group->id }); + { product => $self->product, group_id => $group->id, + bug => $self }); # OtherControl people can add groups only during a product change, # and only when the group is not NA for them. @@ -2335,12 +2718,14 @@ sub remove_group { return unless $group; # First, check if this is a valid group for this product. - # You can *always* remove a group that is not valid for this product, so - # we don't do any other checks if that's the case. (set_product does this.) + # You can *always* remove a group that is not valid for this product + # or that is not active, so we don't do any other checks if either of + # those are the case. (Users might remove inactive groups, and set_product + # removes groups that aren't valid for this product.) # # This particularly happens when isbuggroup is no longer 1, and we're # moving a bug to a new product. - if (grep($_->id == $group->id, @{$self->product_obj->groups_valid})) { + if ($group->is_active and $self->product_obj->group_is_valid($group)) { my $controls = $self->product_obj->group_controls->{$group->id}; # Nobody can ever remove a Mandatory group. @@ -2535,6 +2920,38 @@ sub dup_id { return $self->{'dup_id'}; } +sub _resolve_ultimate_dup_id { + my ($bug_id, $dupe_of, $loops_are_an_error) = @_; + my $dbh = Bugzilla->dbh; + my $sth = $dbh->prepare('SELECT dupe_of FROM duplicates WHERE dupe = ?'); + + my $this_dup = $dupe_of || $dbh->selectrow_array($sth, undef, $bug_id); + my $last_dup = $bug_id; + + my %dupes; + while ($this_dup) { + if ($this_dup == $bug_id) { + if ($loops_are_an_error) { + ThrowUserError('dupe_loop_detected', { bug_id => $bug_id, + dupe_of => $dupe_of }); + } + else { + return $last_dup; + } + } + # If $dupes{$this_dup} is already set to 1, then a loop + # already exists which does not involve this bug. + # As the user is not responsible for this loop, do not + # prevent him from marking this bug as a duplicate. + return $last_dup if exists $dupes{$this_dup}; + $dupes{$this_dup} = 1; + $last_dup = $this_dup; + $this_dup = $dbh->selectrow_array($sth, undef, $this_dup); + } + + return $last_dup; +} + sub actual_time { my ($self) = @_; return $self->{'actual_time'} if exists $self->{'actual_time'}; @@ -2597,6 +3014,20 @@ sub blocked { # Even bugs in an error state always have a bug_id. sub bug_id { $_[0]->{'bug_id'}; } +sub bug_group { + my ($self) = @_; + return join(', ', (map { $_->name } @{$self->groups_in})); +} + +sub related_bugs { + my ($self, $relationship) = @_; + return [] if $self->{'error'}; + + my $field_name = $relationship->name; + $self->{'related_bugs'}->{$field_name} ||= $self->match({$field_name => $self->id}); + return $self->{'related_bugs'}->{$field_name}; +} + sub cc { my ($self) = @_; return $self->{'cc'} if exists $self->{'cc'}; @@ -2869,14 +3300,6 @@ sub show_attachment_flags { return $self->{'show_attachment_flags'}; } -sub use_votes { - my ($self) = @_; - return 0 if $self->{'error'}; - - return Bugzilla->params->{'usevotes'} - && $self->product_obj->votes_per_user > 0; -} - sub groups { my $self = shift; return $self->{'groups'} if exists $self->{'groups'}; @@ -2960,7 +3383,6 @@ sub user { return {} if $self->{'error'}; my $user = Bugzilla->user; - my $canmove = Bugzilla->params->{'move-enabled'} && $user->is_mover; my $prod_id = $self->{'product_id'}; @@ -2975,8 +3397,7 @@ sub user { my $isreporter = $user->id && $user->id == $self->{reporter_id}; - $self->{'user'} = {canmove => $canmove, - canconfirm => $canconfirm, + $self->{'user'} = {canconfirm => $canconfirm, canedit => $canedit, isreporter => $isreporter}; return $self->{'user'}; @@ -3008,30 +3429,12 @@ sub choices { my $resolution_field = new Bugzilla::Field({ name => 'resolution' }); # Don't include the empty resolution in drop-downs. my @resolutions = grep($_->name, @{ $resolution_field->legal_values }); - # And don't include MOVED in the list unless the bug is already MOVED. - if ($self->resolution ne 'MOVED') { - @resolutions= grep { $_->name ne 'MOVED' } @resolutions; - } $choices{'resolution'} = \@resolutions; $self->{'choices'} = \%choices; return $self->{'choices'}; } -sub votes { - my ($self) = @_; - return 0 if $self->{error}; - return $self->{votes} if defined $self->{votes}; - - my $dbh = Bugzilla->dbh; - $self->{votes} = $dbh->selectrow_array( - 'SELECT SUM(vote_count) FROM votes - WHERE bug_id = ? ' . $dbh->sql_group_by('bug_id'), - undef, $self->bug_id); - $self->{votes} ||= 0; - return $self->{votes}; -} - # Convenience Function. If you need speed, use this. If you need # other Bug fields in addition to this, just create a new Bug with # the alias. @@ -3056,8 +3459,10 @@ sub editable_bug_fields { # Obsolete custom fields are not editable. my @obsolete_fields = Bugzilla->get_fields({obsolete => 1, custom => 1}); @obsolete_fields = map { $_->name } @obsolete_fields; - foreach my $remove ("bug_id", "reporter", "creation_ts", "delta_ts", "lastdiffed", @obsolete_fields) { - my $location = lsearch(\@fields, $remove); + foreach my $remove ("bug_id", "reporter", "creation_ts", "delta_ts", + "lastdiffed", @obsolete_fields) + { + my $location = firstidx { $_ eq $remove } @fields; # Custom multi-select fields are not stored in the bugs table. splice(@fields, $location, 1) if ($location > -1); } @@ -3142,7 +3547,8 @@ sub GetBugActivity { my $query = "SELECT fielddefs.name, bugs_activity.attach_id, " . $dbh->sql_date_format('bugs_activity.bug_when', '%Y.%m.%d %H:%i:%s') . - ", bugs_activity.removed, bugs_activity.added, profiles.login_name + ", bugs_activity.removed, bugs_activity.added, profiles.login_name, + bugs_activity.comment_id FROM bugs_activity $suppjoins LEFT JOIN fielddefs @@ -3163,7 +3569,7 @@ sub GetBugActivity { my $incomplete_data = 0; foreach my $entry (@$list) { - my ($fieldname, $attachid, $when, $removed, $added, $who) = @$entry; + my ($fieldname, $attachid, $when, $removed, $added, $who, $comment_id) = @$entry; my %change; my $activity_visible = 1; @@ -3174,7 +3580,14 @@ sub GetBugActivity { || $fieldname eq 'deadline') { $activity_visible = Bugzilla->user->is_timetracker; - } else { + } + elsif ($fieldname eq 'longdescs.isprivate' + && !Bugzilla->user->is_insider + && $added) + { + $activity_visible = 0; + } + else { $activity_visible = 1; } @@ -3208,6 +3621,11 @@ sub GetBugActivity { $change{'attachid'} = $attachid; $change{'removed'} = $removed; $change{'added'} = $added; + + if ($comment_id) { + $change{'comment'} = Bugzilla::Comment->new($comment_id); + } + push (@$changes, \%change); } } @@ -3222,7 +3640,7 @@ sub GetBugActivity { # Update the bugs_activity table to reflect changes made in bugs. sub LogActivityEntry { - my ($i, $col, $removed, $added, $whoid, $timestamp) = @_; + my ($i, $col, $removed, $added, $whoid, $timestamp, $comment_id) = @_; my $dbh = Bugzilla->dbh; # in the case of CCs, deps, and keywords, there's a possibility that someone # might try to add or remove a lot of them at once, which might take more @@ -3250,9 +3668,9 @@ sub LogActivityEntry { trick_taint($removestr); my $fieldid = get_field_id($col); $dbh->do("INSERT INTO bugs_activity - (bug_id, who, bug_when, fieldid, removed, added) - VALUES (?, ?, ?, ?, ?, ?)", - undef, ($i, $whoid, $timestamp, $fieldid, $removestr, $addstr)); + (bug_id, who, bug_when, fieldid, removed, added, comment_id) + VALUES (?, ?, ?, ?, ?, ?, ?)", + undef, ($i, $whoid, $timestamp, $fieldid, $removestr, $addstr, $comment_id)); } } @@ -3301,136 +3719,6 @@ sub CountOpenDependencies { return @dependencies; } -# If a bug is moved to a product which allows less votes per bug -# compared to the previous product, extra votes need to be removed. -sub RemoveVotes { - my ($id, $who, $reason) = (@_); - my $dbh = Bugzilla->dbh; - - my $whopart = ($who) ? " AND votes.who = $who" : ""; - - my $sth = $dbh->prepare("SELECT profiles.login_name, " . - "profiles.userid, votes.vote_count, " . - "products.votesperuser, products.maxvotesperbug " . - "FROM profiles " . - "LEFT JOIN votes ON profiles.userid = votes.who " . - "LEFT JOIN bugs ON votes.bug_id = bugs.bug_id " . - "LEFT JOIN products ON products.id = bugs.product_id " . - "WHERE votes.bug_id = ? " . $whopart); - $sth->execute($id); - my @list; - while (my ($name, $userid, $oldvotes, $votesperuser, $maxvotesperbug) = $sth->fetchrow_array()) { - push(@list, [$name, $userid, $oldvotes, $votesperuser, $maxvotesperbug]); - } - - # @messages stores all emails which have to be sent, if any. - # This array is passed to the caller which will send these emails itself. - my @messages = (); - - if (scalar(@list)) { - foreach my $ref (@list) { - my ($name, $userid, $oldvotes, $votesperuser, $maxvotesperbug) = (@$ref); - - $maxvotesperbug = min($votesperuser, $maxvotesperbug); - - # If this product allows voting and the user's votes are in - # the acceptable range, then don't do anything. - next if $votesperuser && $oldvotes <= $maxvotesperbug; - - # If the user has more votes on this bug than this product - # allows, then reduce the number of votes so it fits - my $newvotes = $maxvotesperbug; - - my $removedvotes = $oldvotes - $newvotes; - - if ($newvotes) { - $dbh->do("UPDATE votes SET vote_count = ? " . - "WHERE bug_id = ? AND who = ?", - undef, ($newvotes, $id, $userid)); - } else { - $dbh->do("DELETE FROM votes WHERE bug_id = ? AND who = ?", - undef, ($id, $userid)); - } - - # Notice that we did not make sure that the user fit within the $votesperuser - # range. This is considered to be an acceptable alternative to losing votes - # during product moves. Then next time the user attempts to change their votes, - # they will be forced to fit within the $votesperuser limit. - - # Now lets send the e-mail to alert the user to the fact that their votes have - # been reduced or removed. - my $vars = { - 'to' => $name . Bugzilla->params->{'emailsuffix'}, - 'bugid' => $id, - 'reason' => $reason, - - 'votesremoved' => $removedvotes, - 'votesold' => $oldvotes, - 'votesnew' => $newvotes, - }; - - my $voter = new Bugzilla::User($userid); - my $template = Bugzilla->template_inner($voter->settings->{'lang'}->{'value'}); - - my $msg; - $template->process("email/votes-removed.txt.tmpl", $vars, \$msg); - push(@messages, $msg); - } - Bugzilla->template_inner(""); - - my $votes = $dbh->selectrow_array("SELECT SUM(vote_count) " . - "FROM votes WHERE bug_id = ?", - undef, $id) || 0; - $dbh->do("UPDATE bugs SET votes = ? WHERE bug_id = ?", - undef, ($votes, $id)); - } - # Now return the array containing emails to be sent. - return @messages; -} - -# If a user votes for a bug, or the number of votes required to -# confirm a bug has been reduced, check if the bug is now confirmed. -sub CheckIfVotedConfirmed { - my $id = shift; - my $bug = new Bugzilla::Bug($id); - - my $ret = 0; - if (!$bug->everconfirmed - and $bug->product_obj->votes_to_confirm - and $bug->votes >= $bug->product_obj->votes_to_confirm) - { - $bug->add_comment('', { type => CMT_POPULAR_VOTES }); - - if ($bug->bug_status eq 'UNCONFIRMED') { - # Get a valid open state. - my $new_status; - foreach my $state (@{$bug->status->can_change_to}) { - if ($state->is_open && $state->name ne 'UNCONFIRMED') { - $new_status = $state->name; - last; - } - } - ThrowCodeError('no_open_bug_status') unless $new_status; - - # We cannot call $bug->set_status() here, because a user without - # canconfirm privs should still be able to confirm a bug by - # popular vote. We already know the new status is valid, so it's safe. - $bug->{bug_status} = $new_status; - $bug->{everconfirmed} = 1; - delete $bug->{'status'}; # Contains the status object. - } - else { - # If the bug is in a closed state, only set everconfirmed to 1. - # Do not call $bug->_set_everconfirmed(), for the same reason as above. - $bug->{everconfirmed} = 1; - } - $bug->update(); - - $ret = 1; - } - return $ret; -} - ################################################################################ # check_can_change_field() defines what users are allowed to change. You # can add code here for site-specific policy changes, according to the @@ -3470,6 +3758,20 @@ sub check_can_change_field { return 1; } + my @priv_results; + Bugzilla::Hook::process('bug_check_can_change_field', + { bug => $self, field => $field, + new_value => $newvalue, old_value => $oldvalue, + priv_results => \@priv_results }); + if (my $priv_required = first { $_ > 0 } @priv_results) { + $$PrivilegesRequired = $priv_required; + return 0; + } + my $allow_found = first { $_ == 0 } @priv_results; + if (defined $allow_found) { + return 1; + } + # Allow anyone to change comments. if ($field =~ /^longdesc/) { return 1; @@ -3479,15 +3781,15 @@ sub check_can_change_field { # We store the required permission set into the $PrivilegesRequired # variable which gets passed to the error template. # - # $PrivilegesRequired = 0 : no privileges required; - # $PrivilegesRequired = 1 : the reporter, assignee or an empowered user; - # $PrivilegesRequired = 2 : the assignee or an empowered user; - # $PrivilegesRequired = 3 : an empowered user. + # $PrivilegesRequired = PRIVILEGES_REQUIRED_NONE : no privileges required; + # $PrivilegesRequired = PRIVILEGES_REQUIRED_REPORTER : the reporter, assignee or an empowered user; + # $PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE : the assignee or an empowered user; + # $PrivilegesRequired = PRIVILEGES_REQUIRED_EMPOWERED : an empowered user. # Only users in the time-tracking group can change time-tracking fields. if ( grep($_ eq $field, qw(deadline estimated_time remaining_time)) ) { if (!$user->is_timetracker) { - $$PrivilegesRequired = 3; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_EMPOWERED; return 0; } } @@ -3499,7 +3801,7 @@ sub check_can_change_field { # *Only* users with (product-specific) "canconfirm" privs can confirm bugs. if ($self->_changes_everconfirmed($field, $oldvalue, $newvalue)) { - $$PrivilegesRequired = 3; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_EMPOWERED; return $user->in_group('canconfirm', $self->{'product_id'}); } @@ -3530,36 +3832,36 @@ sub check_can_change_field { # in that case we will have already returned 1 above # when checking for the assignee of the bug. if ($field eq 'assigned_to') { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } # - change the QA contact if ($field eq 'qa_contact') { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } # - change the target milestone if ($field eq 'target_milestone') { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } # - change the priority (unless he could have set it originally) if ($field eq 'priority' && !Bugzilla->params->{'letsubmitterchoosepriority'}) { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } # - unconfirm bugs (confirming them is handled above) if ($field eq 'everconfirmed') { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } # - change the status from one open state to another if ($field eq 'bug_status' && is_open_state($oldvalue) && is_open_state($newvalue)) { - $$PrivilegesRequired = 2; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_ASSIGNEE; return 0; } @@ -3570,7 +3872,7 @@ sub check_can_change_field { # If we haven't returned by this point, then the user doesn't # have the necessary permissions to change this field. - $$PrivilegesRequired = 1; + $$PrivilegesRequired = PRIVILEGES_REQUIRED_REPORTER; return 0; } @@ -3688,7 +3990,8 @@ sub _validate_attribute { qw(error groups product_id component_id comments milestoneurl attachments isopened flag_types num_attachment_flag_types - show_attachment_flags any_flags_requesteeble), + show_attachment_flags any_flags_requesteeble + lastdiffed), # Bug fields. Bugzilla::Bug->fields diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm index 1489b51706c3a1207e2b8d8dc68779982eba9994..b2482858a8cc65b7637e2f140d205d9de88957de 100644 --- a/Bugzilla/BugMail.pm +++ b/Bugzilla/BugMail.pm @@ -27,6 +27,7 @@ # J. Paul Reed <preed@sigkill.com> # Gervase Markham <gerv@gerv.net> # Byron Jones <bugzilla@glob.com.au> +# Reed Loden <reed@reedloden.com> use strict; @@ -55,17 +56,6 @@ use constant FORMAT_2_SIZE => [19,55]; use constant BIT_DIRECT => 1; use constant BIT_WATCHING => 2; -# We need these strings for the X-Bugzilla-Reasons header -# Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS. -use constant REL_NAMES => { - REL_ASSIGNEE , "AssignedTo", - REL_REPORTER , "Reporter", - REL_QA , "QAcontact", - REL_CC , "CC", - REL_VOTER , "Voter", - REL_GLOBAL_WATCHER, "GlobalWatcher" -}; - # We use this instead of format because format doesn't deal well with # multi-byte languages. sub multiline_sprintf { @@ -100,6 +90,15 @@ sub three_columns { return multiline_sprintf(FORMAT_TRIPLE, \@_, FORMAT_3_SIZE); } +sub relationships { + my $ref = RELATIONSHIPS; + # Clone it so that we don't modify the constant; + my %relationships = %$ref; + Bugzilla::Hook::process('bugmail_relationships', + { relationships => \%relationships }); + return %relationships; +} + # This is a bit of a hack, basically keeping the old system() # cmd line interface. Should clean this up at some point. # @@ -112,121 +111,42 @@ sub three_columns { sub Send { my ($id, $forced) = (@_); - my @headerlist; - my %defmailhead; - my %fielddescription; - - my $msg = ""; - my $dbh = Bugzilla->dbh; my $bug = new Bugzilla::Bug($id); - # XXX - These variables below are useless. We could use field object - # methods directly. But we first have to implement a cache in - # Bugzilla->get_fields to avoid querying the DB all the time. - foreach my $field (Bugzilla->get_fields({obsolete => 0})) { - push(@headerlist, $field->name); - $defmailhead{$field->name} = $field->in_new_bugmail; - $fielddescription{$field->name} = $field->description; - } - - my %values = %{$dbh->selectrow_hashref( - 'SELECT ' . join(',', editable_bug_fields()) . ', reporter, - lastdiffed AS start_time, LOCALTIMESTAMP(0) AS end_time - FROM bugs WHERE bug_id = ?', - undef, $id)}; - - my $product = new Bugzilla::Product($values{product_id}); - $values{product} = $product->name; - if (Bugzilla->params->{'useclassification'}) { - $values{classification} = Bugzilla::Classification->new($product->classification_id)->name; - } - my $component = new Bugzilla::Component($values{component_id}); - $values{component} = $component->name; + # Only used for headers in bugmail for new bugs + my @fields = Bugzilla->get_fields({obsolete => 0, mailhead => 1}); - my ($start, $end) = ($values{start_time}, $values{end_time}); + my $start = $bug->lastdiffed; + my $end = $dbh->selectrow_array('SELECT LOCALTIMESTAMP(0)'); - # User IDs of people in various roles. More than one person can 'have' a - # role, if the person in that role has changed, or people are watching. - my $reporter = $values{'reporter'}; - my @assignees = ($values{'assigned_to'}); - my @qa_contacts = ($values{'qa_contact'}); + # Bugzilla::User objects of people in various roles. More than one person + # can 'have' a role, if the person in that role has changed, or people are + # watching. + my @assignees = ($bug->assigned_to); + my @qa_contacts = ($bug->qa_contact); - my $cc_users = $dbh->selectall_arrayref( - "SELECT cc.who, profiles.login_name - FROM cc - INNER JOIN profiles - ON cc.who = profiles.userid - WHERE bug_id = ?", - undef, $id); - - my (@ccs, @cc_login_names); - foreach my $cc_user (@$cc_users) { - my ($user_id, $user_login) = @$cc_user; - push (@ccs, $user_id); - push (@cc_login_names, $user_login); - } + my @ccs = @{ $bug->cc_users }; # Include the people passed in as being in particular roles. # This can include people who used to hold those roles. # At this point, we don't care if there are duplicates in these arrays. my $changer = $forced->{'changer'}; if ($forced->{'owner'}) { - push (@assignees, login_to_id($forced->{'owner'}, THROW_ERROR)); + push (@assignees, Bugzilla::User->check($forced->{'owner'})); } if ($forced->{'qacontact'}) { - push (@qa_contacts, login_to_id($forced->{'qacontact'}, THROW_ERROR)); + push (@qa_contacts, Bugzilla::User->check($forced->{'qacontact'})); } if ($forced->{'cc'}) { foreach my $cc (@{$forced->{'cc'}}) { - push(@ccs, login_to_id($cc, THROW_ERROR)); + push(@ccs, Bugzilla::User->check($cc)); } } - # Convert to names, for later display - $values{'changer'} = $changer; - # If no changer is specified, then it has no name. - if ($changer) { - $values{'changername'} = Bugzilla::User->new({name => $changer})->name; - } - $values{'assigned_to'} = user_id_to_login($values{'assigned_to'}); - $values{'reporter'} = user_id_to_login($values{'reporter'}); - if ($values{'qa_contact'}) { - $values{'qa_contact'} = user_id_to_login($values{'qa_contact'}); - } - $values{'cc'} = join(', ', @cc_login_names); - $values{'estimated_time'} = format_time_decimal($values{'estimated_time'}); - - if ($values{'deadline'}) { - $values{'deadline'} = time2str("%Y-%m-%d", str2time($values{'deadline'})); - } - - my $dependslist = $dbh->selectcol_arrayref( - 'SELECT dependson FROM dependencies - WHERE blocked = ? ORDER BY dependson', - undef, ($id)); - - $values{'dependson'} = join(",", @$dependslist); - - my $blockedlist = $dbh->selectcol_arrayref( - 'SELECT blocked FROM dependencies - WHERE dependson = ? ORDER BY blocked', - undef, ($id)); - - $values{'blocked'} = join(",", @$blockedlist); - - my $grouplist = $dbh->selectcol_arrayref( - ' SELECT name FROM groups - INNER JOIN bug_group_map - ON groups.id = bug_group_map.group_id - AND bug_group_map.bug_id = ?', - undef, ($id)); - - $values{'bug_group'} = join(', ', @$grouplist); - - my @args = ($id); + my @args = ($bug->id); # If lastdiffed is NULL, then we don't limit the search on time. my $when_restriction = ''; @@ -238,7 +158,8 @@ sub Send { my $diffs = $dbh->selectall_arrayref( "SELECT profiles.login_name, profiles.realname, fielddefs.description, bugs_activity.bug_when, bugs_activity.removed, - bugs_activity.added, bugs_activity.attach_id, fielddefs.name + bugs_activity.added, bugs_activity.attach_id, fielddefs.name, + bugs_activity.comment_id FROM bugs_activity INNER JOIN fielddefs ON fielddefs.id = bugs_activity.fieldid @@ -256,7 +177,7 @@ sub Send { my $fullwho; my @changedfields; foreach my $ref (@$diffs) { - my ($who, $whoname, $what, $when, $old, $new, $attachid, $fieldname) = (@$ref); + my ($who, $whoname, $what, $when, $old, $new, $attachid, $fieldname, $comment_id) = (@$ref); my $diffpart = {}; if ($who ne $lastwho) { $lastwho = $who; @@ -279,6 +200,12 @@ sub Send { 'SELECT isprivate FROM attachments WHERE attach_id = ?', undef, ($attachid)); } + if ($fieldname eq 'longdescs.isprivate') { + my $comment = Bugzilla::Comment->new($comment_id); + my $comment_num = $comment->count; + $what =~ s/^(Comment )?/Comment #$comment_num /; + $diffpart->{'isprivate'} = $new; + } $difftext = three_columns($what, $old, $new); $diffpart->{'header'} = $diffheader; $diffpart->{'fieldname'} = $fieldname; @@ -286,7 +213,6 @@ sub Send { push(@diffparts, $diffpart); push(@changedfields, $what); } - $values{'changed_fields'} = join(' ', @changedfields); my @depbugs; my $deptext = ""; @@ -302,7 +228,8 @@ sub Send { my $dependency_diffs = $dbh->selectall_arrayref( "SELECT bugs_activity.bug_id, bugs.short_desc, fielddefs.name, - bugs_activity.removed, bugs_activity.added + fielddefs.description, bugs_activity.removed, + bugs_activity.added FROM bugs_activity INNER JOIN bugs ON bugs.bug_id = bugs_activity.bug_id @@ -321,7 +248,7 @@ sub Send { my $lastbug = ""; my $interestingchange = 0; foreach my $dependency_diff (@$dependency_diffs) { - my ($depbug, $summary, $what, $old, $new) = @$dependency_diff; + my ($depbug, $summary, $fieldname, $what, $old, $new) = @$dependency_diff; if ($depbug ne $lastbug) { if ($interestingchange) { @@ -336,8 +263,8 @@ sub Send { $thisdiff .= ('-' x 76) . "\n"; $interestingchange = 0; } - $thisdiff .= three_columns($fielddescription{$what}, $old, $new); - if ($what eq 'bug_status' + $thisdiff .= three_columns($what, $old, $new); + if ($fieldname eq 'bug_status' && is_open_state($old) ne is_open_state($new)) { $interestingchange = 1; @@ -371,36 +298,30 @@ sub Send { # the relationships in a hash. The keys are userids, the values are an # array of role constants. - # Voters - my $voters = $dbh->selectcol_arrayref( - "SELECT who FROM votes WHERE bug_id = ?", undef, ($id)); - - $recipients{$_}->{+REL_VOTER} = BIT_DIRECT foreach (@$voters); - # CCs - $recipients{$_}->{+REL_CC} = BIT_DIRECT foreach (@ccs); + $recipients{$_->id}->{+REL_CC} = BIT_DIRECT foreach (@ccs); # Reporter (there's only ever one) - $recipients{$reporter}->{+REL_REPORTER} = BIT_DIRECT; + $recipients{$bug->reporter->id}->{+REL_REPORTER} = BIT_DIRECT; # QA Contact if (Bugzilla->params->{'useqacontact'}) { foreach (@qa_contacts) { # QA Contact can be blank; ignore it if so. - $recipients{$_}->{+REL_QA} = BIT_DIRECT if $_; + $recipients{$_->id}->{+REL_QA} = BIT_DIRECT if $_; } } # Assignee - $recipients{$_}->{+REL_ASSIGNEE} = BIT_DIRECT foreach (@assignees); + $recipients{$_->id}->{+REL_ASSIGNEE} = BIT_DIRECT foreach (@assignees); # The last relevant set of people are those who are being removed from # their roles in this change. We get their names out of the diffs. foreach my $ref (@$diffs) { my ($who, $whoname, $what, $when, $old, $new) = (@$ref); if ($old) { - # You can't stop being the reporter, and mail isn't sent if you - # remove your vote. + # You can't stop being the reporter, so we don't check that + # relationship here. # Ignore people whose user account has been deleted or renamed. if ($what eq "CC") { foreach my $cc_user (split(/[\s,]+/, $old)) { @@ -421,7 +342,7 @@ sub Send { Bugzilla::Hook::process('bugmail_recipients', { bug => $bug, recipients => \%recipients }); - + # Find all those user-watching anyone on the current list, who is not # on it already themselves. my $involved = join(",", keys %recipients); @@ -456,7 +377,6 @@ sub Send { foreach my $user_id (keys %recipients) { my %rels_which_want; my $sent_mail = 0; - my $user = new Bugzilla::User($user_id); # Deleted users must be excluded. next unless $user; @@ -499,18 +419,19 @@ sub Send { # dep checks passed. if ($user->email_enabled && $dep_ok) { # OK, OK, if we must. Email the user. - $sent_mail = sendMail($user, - \@headerlist, - \%rels_which_want, - \%values, - \%defmailhead, - \%fielddescription, - \@diffparts, - $comments, - ! $start, - $id, - exists $watching{$user_id} ? - $watching{$user_id} : undef); + $sent_mail = sendMail( + { to => $user, + fields => \@fields, + bug => $bug, + comments => $comments, + is_new => !$start, + changer => $changer, + watchers => exists $watching{$user_id} ? + $watching{$user_id} : undef, + diff_parts => \@diffparts, + rels_which_want => \%rels_which_want, + changed_fields => \@changedfields, + }); } } @@ -524,21 +445,25 @@ sub Send { $dbh->do('UPDATE bugs SET lastdiffed = ? WHERE bug_id = ?', undef, ($end, $id)); + $bug->{lastdiffed} = $end; return {'sent' => \@sent, 'excluded' => \@excluded}; } sub sendMail { - my ($user, $hlRef, $relRef, $valueRef, $dmhRef, $fdRef, - $diffRef, $comments_in, $isnew, $id, $watchingRef) = @_; - - my @send_comments = @$comments_in; - my %values = %$valueRef; - my @headerlist = @$hlRef; - my %mailhead = %$dmhRef; - my %fielddescription = %$fdRef; - my @diffparts = @$diffRef; + my $params = shift; + my $user = $params->{to}; + my @fields = @{ $params->{fields} }; + my $bug = $params->{bug}; + my @send_comments = @{ $params->{comments} }; + my $isnew = $params->{is_new}; + my $changer = $params->{changer}; + my $watchingRef = $params->{watchers}; + my @diffparts = @{ $params->{diff_parts} }; + my $relRef = $params->{rels_which_want}; + my @changed_fields = @{ $params->{changed_fields} }; + # Build difftext (the actions) by verifying the user should see them my $difftext = ""; my $diffheader = ""; @@ -586,14 +511,31 @@ sub sendMail { $diffs =~ s/^\n+//s; $diffs =~ s/\n+$//s; if ($isnew) { my $head = ""; - foreach my $f (@headerlist) { - next unless $mailhead{$f}; - my $value = $values{$f}; + foreach my $field (@fields) { + my $name = $field->name; + my $value = $bug->$name; + + if (ref $value eq 'ARRAY') { + $value = join(', ', @$value); + } + elsif (ref $value && $value->isa('Bugzilla::User')) { + $value = $value->login; + } + elsif (ref $value && $value->isa('Bugzilla::Object')) { + $value = $value->name; + } + elsif ($name eq 'estimated_time') { + $value = format_time_decimal($value); + } + elsif ($name eq 'deadline') { + $value = time2str("%Y-%m-%d", str2time($value)); + } + # If there isn't anything to show, don't include this header. next unless $value; # Only send estimated_time if it is enabled and the user is in the group. - if (($f ne 'estimated_time' && $f ne 'deadline') || $user->is_timetracker) { - my $desc = $fielddescription{$f}; + if (($name ne 'estimated_time' && $name ne 'deadline') || $user->is_timetracker) { + my $desc = $field->description; $head .= multiline_sprintf(FORMAT_DOUBLE, ["$desc:", $value], FORMAT_2_SIZE); } @@ -607,8 +549,9 @@ sub sendMail { push(@reasons_watch, $relationship) if ($bits & BIT_WATCHING); } - my @headerrel = map { REL_NAMES->{$_} } @reasons; - my @watchingrel = map { REL_NAMES->{$_} } @reasons_watch; + my %relationships = relationships(); + my @headerrel = map { $relationships{$_} } @reasons; + my @watchingrel = map { $relationships{$_} } @reasons_watch; push(@headerrel, 'None') unless @headerrel; push(@watchingrel, 'None') unless @watchingrel; push @watchingrel, map { user_id_to_login($_) } @$watchingRef; @@ -616,38 +559,22 @@ sub sendMail { my $vars = { isnew => $isnew, to_user => $user, - bugid => $id, - alias => Bugzilla->params->{'usebugaliases'} ? $values{'alias'} : "", - classification => $values{'classification'}, - product => $values{'product'}, - comp => $values{'component'}, - keywords => $values{'keywords'}, - severity => $values{'bug_severity'}, - status => $values{'bug_status'}, - priority => $values{'priority'}, - assignedto => $values{'assigned_to'}, - assignedtoname => Bugzilla::User->new({name => $values{'assigned_to'}})->name, - targetmilestone => $values{'target_milestone'}, - changedfields => $values{'changed_fields'}, - summary => $values{'short_desc'}, + bug => $bug, + changedfields => \@changed_fields, reasons => \@reasons, reasons_watch => \@reasons_watch, reasonsheader => join(" ", @headerrel), reasonswatchheader => join(" ", @watchingrel), - changer => $values{'changer'}, - changername => $values{'changername'}, - reporter => $values{'reporter'}, - reportername => Bugzilla::User->new({name => $values{'reporter'}})->name, + changer => $changer, diffs => $diffs, new_comments => \@send_comments, - threadingmarker => build_thread_marker($id, $user->id, $isnew), + threadingmarker => build_thread_marker($bug->id, $user->id, $isnew), }; my $msg; my $template = Bugzilla->template_inner($user->settings->{'lang'}->{'value'}); $template->process("email/newchangedmail.txt.tmpl", $vars, \$msg) || ThrowTemplateError($template->error()); - Bugzilla->template_inner(""); MessageToMTA($msg); diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm index 6e9dfd0cec601f5475a4c61b78779046a5ff0400..848f840b2d7f85ef69cd7d5cfc878e9687d74f7b 100644 --- a/Bugzilla/CGI.pm +++ b/Bugzilla/CGI.pm @@ -115,7 +115,7 @@ sub canonicalise_query { my @parameters; foreach my $key (sort($self->param())) { # Leave this key out if it's in the exclude list - next if lsearch(\@exclude, $key) != -1; + next if grep { $_ eq $key } @exclude; # Remove the Boolean Charts for standard query.cgi fields # They are listed in the query URL already @@ -168,7 +168,7 @@ sub clean_search_url { # Delete leftovers from the login form $self->delete('Bugzilla_remember', 'GoAheadAndLogIn'); - foreach my $num (1,2) { + foreach my $num (1,2,3) { # If there's no value in the email field, delete the related fields. if (!$self->param("email$num")) { foreach my $field qw(type assigned_to reporter qa_contact @@ -204,6 +204,10 @@ sub clean_search_url { $self->delete('order'); } + # list_id is added in buglist.cgi after calling clean_search_url, + # and doesn't need to be saved in saved searches. + $self->delete('list_id'); + # And now finally, if query_format is our only parameter, that # really means we have no parameters, so we should delete query_format. if ($self->param('query_format') && scalar($self->param()) == 1) { @@ -329,6 +333,14 @@ sub _fix_utf8 { return $input; } +sub should_set { + my ($self, $param) = @_; + my $set = (defined $self->param($param) + or defined $self->param("defined_$param")) + ? 1 : 0; + return $set; +} + # The various parts of Bugzilla which create cookies don't want to have to # pass them around to all of the callers. Instead, store them locally here, # and then output as required from |header|. diff --git a/Bugzilla/CVS/Entries b/Bugzilla/CVS/Entries deleted file mode 100644 index 2427fb41e12983ba1abbcad2d6d66f2560482cf9..0000000000000000000000000000000000000000 --- a/Bugzilla/CVS/Entries +++ /dev/null @@ -1,52 +0,0 @@ -/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-3_6_1 -/Attachment.pm/1.67/Tue Nov 24 06:09:42 2009//TBUGZILLA-3_6_1 -/Auth.pm/1.23/Sun Dec 13 21:11:13 2009//TBUGZILLA-3_6_1 -/Bug.pm/1.308.2.7/Fri May 14 12:32:53 2010//TBUGZILLA-3_6_1 -/BugMail.pm/1.132.2.2/Wed Apr 7 03:31:31 2010//TBUGZILLA-3_6_1 -/CGI.pm/1.53/Sun Jan 31 17:52:38 2010//TBUGZILLA-3_6_1 -/Chart.pm/1.18/Mon Aug 17 22:59:52 2009//TBUGZILLA-3_6_1 -/Classification.pm/1.14.4.1/Wed Apr 7 18:17:32 2010//TBUGZILLA-3_6_1 -/Comment.pm/1.3.2.2/Sun Mar 14 00:46:27 2010//TBUGZILLA-3_6_1 -/Component.pm/1.17/Sat Apr 11 23:33:26 2009//TBUGZILLA-3_6_1 -/Config.pm/1.83/Mon Feb 1 00:47:55 2010//TBUGZILLA-3_6_1 -/Constants.pm/1.126.2.8/Thu Jun 24 20:47:41 2010//TBUGZILLA-3_6_1 -/DB.pm/1.132/Thu Dec 31 12:48:21 2009//TBUGZILLA-3_6_1 -/Error.pm/1.27.2.3/Thu Apr 1 01:17:35 2010//TBUGZILLA-3_6_1 -/Extension.pm/1.8.2.2/Mon Mar 8 01:33:56 2010//TBUGZILLA-3_6_1 -/Field.pm/1.47.2.2/Wed Apr 7 01:17:40 2010//TBUGZILLA-3_6_1 -/Flag.pm/1.106.2.3/Tue Mar 30 22:05:25 2010//TBUGZILLA-3_6_1 -/FlagType.pm/1.39/Wed Sep 17 03:47:36 2008//TBUGZILLA-3_6_1 -/Group.pm/1.26.2.2/Tue Jun 22 02:34:17 2010//TBUGZILLA-3_6_1 -/Hook.pm/1.47.2.6/Fri Apr 2 21:17:49 2010//TBUGZILLA-3_6_1 -/Install.pm/1.24/Thu Dec 31 12:37:49 2009//TBUGZILLA-3_6_1 -/JobQueue.pm/1.4/Sun Nov 22 22:24:08 2009//TBUGZILLA-3_6_1 -/Keyword.pm/1.8/Tue Aug 11 04:34:21 2009//TBUGZILLA-3_6_1 -/Mailer.pm/1.30/Fri Dec 4 14:46:45 2009//TBUGZILLA-3_6_1 -/Migrate.pm/1.3/Tue Nov 17 21:16:08 2009//TBUGZILLA-3_6_1 -/Milestone.pm/1.12/Fri Jan 18 15:56:54 2008//TBUGZILLA-3_6_1 -/Object.pm/1.45.2.4/Fri Apr 2 21:17:49 2010//TBUGZILLA-3_6_1 -/Product.pm/1.45.2.2/Wed Apr 7 03:31:31 2010//TBUGZILLA-3_6_1 -/Search.pm/1.181.2.7/Thu Jun 24 17:18:00 2010//TBUGZILLA-3_6_1 -/Series.pm/1.20/Sun Oct 4 21:00:25 2009//TBUGZILLA-3_6_1 -/Status.pm/1.13/Sat Dec 12 21:55:15 2009//TBUGZILLA-3_6_1 -/Template.pm/1.124.2.6/Tue May 18 13:17:46 2010//TBUGZILLA-3_6_1 -/Token.pm/1.59/Thu Dec 31 12:53:19 2009//TBUGZILLA-3_6_1 -/Update.pm/1.11.2.2/Sat Feb 20 21:17:24 2010//TBUGZILLA-3_6_1 -/User.pm/1.204.2.3/Thu Feb 18 00:34:42 2010//TBUGZILLA-3_6_1 -/Util.pm/1.100.2.2/Fri Apr 2 23:47:51 2010//TBUGZILLA-3_6_1 -/Version.pm/1.15/Fri Apr 10 09:36:45 2009//TBUGZILLA-3_6_1 -/WebService.pm/1.20.2.5/Mon Mar 8 07:47:34 2010//TBUGZILLA-3_6_1 -D/Attachment//// -D/Auth//// -D/Config//// -D/DB//// -D/Field//// -D/Install//// -D/Job//// -D/JobQueue//// -D/Migrate//// -D/Search//// -D/Template//// -D/User//// -D/WebService//// -D/Whine//// diff --git a/Bugzilla/CVS/Repository b/Bugzilla/CVS/Repository deleted file mode 100644 index 5ee96b2e9f6d84b1b0a5005842bd9449045cf100..0000000000000000000000000000000000000000 --- a/Bugzilla/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla diff --git a/Bugzilla/CVS/Root b/Bugzilla/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/CVS/Tag b/Bugzilla/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Classification.pm b/Bugzilla/Classification.pm index 322b5cf990b0b705b3a5ce4ea708c6493bff2215..c7cda11be8c479f1959196201f5af97e850c4a77 100644 --- a/Bugzilla/Classification.pm +++ b/Bugzilla/Classification.pm @@ -40,10 +40,6 @@ use constant DB_COLUMNS => qw( sortkey ); -use constant REQUIRED_CREATE_FIELDS => qw( - name -); - use constant UPDATE_COLUMNS => qw( name description diff --git a/Bugzilla/Comment.pm b/Bugzilla/Comment.pm index cbdddba3c09a6abb7230c9868e6f0cebc65e63d6..074f28dd67f93ada6e40d56ca3cdb71e09c9d205 100644 --- a/Bugzilla/Comment.pm +++ b/Bugzilla/Comment.pm @@ -30,6 +30,8 @@ use Bugzilla::Error; use Bugzilla::User; use Bugzilla::Util; +use Scalar::Util qw(blessed); + ############################### #### Initialization #### ############################### @@ -57,11 +59,12 @@ use constant ID_FIELD => 'comment_id'; use constant LIST_ORDER => 'bug_when'; use constant VALIDATORS => { + extra_data => \&_check_extra_data, type => \&_check_type, }; -use constant UPDATE_VALIDATORS => { - extra_data => \&_check_extra_data, +use constant VALIDATOR_DEPENDENCIES => { + extra_data => ['type'], }; ######################### @@ -154,9 +157,8 @@ sub body_full { sub set_extra_data { $_[0]->set('extra_data', $_[1]); } sub set_type { - my ($self, $type, $extra_data) = @_; + my ($self, $type) = @_; $self->set('type', $type); - $self->set_extra_data($extra_data); } ############## @@ -164,9 +166,10 @@ sub set_type { ############## sub _check_extra_data { - my ($invocant, $extra_data, $type) = @_; - $type = $invocant->type if ref $invocant; - if ($type == CMT_NORMAL or $type == CMT_POPULAR_VOTES) { + my ($invocant, $extra_data, undef, $params) = @_; + my $type = blessed($invocant) ? $invocant->type : $params->{type}; + + if ($type == CMT_NORMAL) { if (defined $extra_data) { ThrowCodeError('comment_extra_data_not_allowed', { type => $type, extra_data => $extra_data }); @@ -176,9 +179,6 @@ sub _check_extra_data { if (!defined $extra_data) { ThrowCodeError('comment_extra_data_required', { type => $type }); } - if ($type == CMT_MOVED_TO) { - $extra_data = Bugzilla::User->check($extra_data)->login; - } elsif ($type == CMT_ATTACHMENT_CREATED or $type == CMT_ATTACHMENT_UPDATED) { @@ -206,6 +206,22 @@ sub _check_type { return $type; } +sub count { + my ($self) = @_; + + return $self->{'count'} if defined $self->{'count'}; + + my $dbh = Bugzilla->dbh; + ($self->{'count'}) = $dbh->selectrow_array( + "SELECT COUNT(*) + FROM longdescs + WHERE bug_id = ? + AND bug_when <= ?", + undef, $self->bug_id, $self->creation_ts); + + return --$self->{'count'}; +} + 1; __END__ @@ -261,6 +277,10 @@ C<0> otherwise. L<Bugzilla::User> who created the comment. +=item C<count> + +C<int> The position this comment is located in the full list of comments for a bug starting from 0. + =item C<body_full> =over @@ -291,8 +311,6 @@ A string, the full text of the comment as it would be displayed to an end-user. =back - - =back =cut diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm index 194a3957c78fdf4cbaa84777024250f592e0ce48..e5eb78a2d941ebf6be519623dee336548cbd2d0a 100644 --- a/Bugzilla/Component.pm +++ b/Bugzilla/Component.pm @@ -17,11 +17,9 @@ # Max Kanat-Alexander <mkanat@bugzilla.org> # Akamai Technologies <bugzilla-dev@akamai.com> -use strict; - package Bugzilla::Component; - -use base qw(Bugzilla::Object); +use strict; +use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object); use Bugzilla::Constants; use Bugzilla::Util; @@ -30,11 +28,15 @@ use Bugzilla::User; use Bugzilla::FlagType; use Bugzilla::Series; +use Scalar::Util qw(blessed); + ############################### #### Initialization #### ############################### use constant DB_TABLE => 'components'; +# This is mostly for the editfields.cgi case where ->get_all is called. +use constant LIST_ORDER => 'product_id, name'; use constant DB_COLUMNS => qw( id @@ -45,13 +47,6 @@ use constant DB_COLUMNS => qw( description ); -use constant REQUIRED_CREATE_FIELDS => qw( - name - product - initialowner - description -); - use constant UPDATE_COLUMNS => qw( name initialowner @@ -59,6 +54,10 @@ use constant UPDATE_COLUMNS => qw( description ); +use constant REQUIRED_FIELD_MAP => { + product_id => 'product', +}; + use constant VALIDATORS => { create_series => \&Bugzilla::Object::check_boolean, product => \&_check_product, @@ -66,10 +65,11 @@ use constant VALIDATORS => { initialqacontact => \&_check_initialqacontact, description => \&_check_description, initial_cc => \&_check_cc_list, + name => \&_check_name, }; -use constant UPDATE_VALIDATORS => { - name => \&_check_name, +use constant VALIDATOR_DEPENDENCIES => { + name => ['product'], }; ############################### @@ -80,7 +80,7 @@ sub new { my $dbh = Bugzilla->dbh; my $product; - if (ref $param) { + if (ref $param and !defined $param->{id}) { $product = $param->{product}; my $name = $param->{name}; if (!defined $product) { @@ -116,8 +116,11 @@ sub create { my $params = $class->run_create_validators(@_); my $cc_list = delete $params->{initial_cc}; my $create_series = delete $params->{create_series}; + my $product = delete $params->{product}; + $params->{product_id} = $product->id; my $component = $class->insert_create_data($params); + $component->{product} = $product; # We still have to fill the component_cc table. $component->_update_cc_list($cc_list) if $cc_list; @@ -129,17 +132,6 @@ sub create { return $component; } -sub run_create_validators { - my $class = shift; - my $params = $class->SUPER::run_create_validators(@_); - - my $product = delete $params->{product}; - $params->{product_id} = $product->id; - $params->{name} = $class->_check_name($params->{name}, $product); - - return $params; -} - sub update { my $self = shift; my $changes = $self->SUPER::update(@_); @@ -156,6 +148,8 @@ sub remove_from_db { my $self = shift; my $dbh = Bugzilla->dbh; + $self->_check_if_controller(); # From ChoiceInterface + $dbh->bz_start_transaction(); if ($self->bug_count) { @@ -188,7 +182,8 @@ sub remove_from_db { ################################ sub _check_name { - my ($invocant, $name, $product) = @_; + my ($invocant, $name, undef, $params) = @_; + my $product = blessed($invocant) ? $invocant->product : $params->{product}; $name = trim($name); $name || ThrowUserError('component_blank_name'); @@ -197,7 +192,6 @@ sub _check_name { ThrowUserError('component_name_too_long', {'name' => $name}); } - $product = $invocant->product if (ref $invocant); my $component = new Bugzilla::Component({product => $product, name => $name}); if ($component && (!ref $invocant || $component->id != $invocant->id)) { ThrowUserError('component_already_exists', { name => $component->name, @@ -237,6 +231,8 @@ sub _check_initialqacontact { sub _check_product { my ($invocant, $product) = @_; + $product || ThrowCodeError('param_required', + { function => "$invocant->create", param => 'product' }); return Bugzilla->user->check_can_admin_product($product->name); } @@ -418,11 +414,25 @@ sub product { #### Accessors #### ############################### -sub id { return $_[0]->{'id'}; } -sub name { return $_[0]->{'name'}; } sub description { return $_[0]->{'description'}; } sub product_id { return $_[0]->{'product_id'}; } +############################################## +# Implement Bugzilla::Field::ChoiceInterface # +############################################## + +use constant FIELD_NAME => 'component'; +use constant is_default => 0; +use constant is_active => 1; + +sub is_set_on_bug { + my ($self, $bug) = @_; + # We treat it like a hash always, so that we don't have to check if it's + # a hash or an object. + return 0 if !defined $bug->{component_id}; + $bug->{component_id} == $self->id ? 1 : 0; +} + ############################### #### Subroutines #### ############################### diff --git a/Bugzilla/Config/BugFields.pm b/Bugzilla/Config/BugFields.pm index 9f3ddc9abb1266cfb29f9eb0983006b0358d6a7b..d0de9dac601cc795b04a25c788f8d8c10e3386b9 100644 --- a/Bugzilla/Config/BugFields.pm +++ b/Bugzilla/Config/BugFields.pm @@ -71,12 +71,6 @@ sub get_param_list { default => 0 }, - { - name => 'usevotes', - type => 'b', - default => 0 - }, - { name => 'usebugaliases', type => 'b', diff --git a/Bugzilla/Config/CVS/Entries b/Bugzilla/Config/CVS/Entries deleted file mode 100644 index b236ff770f2a27141ad5e3fa8c649b9b87cb6324..0000000000000000000000000000000000000000 --- a/Bugzilla/Config/CVS/Entries +++ /dev/null @@ -1,20 +0,0 @@ -/Admin.pm/1.5/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/Advanced.pm/1.2/Thu Dec 31 12:53:21 2009//TBUGZILLA-3_6_1 -/Attachment.pm/1.9/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/Auth.pm/1.5/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/BugChange.pm/1.8/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/BugFields.pm/1.8/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/BugMove.pm/1.2/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/Common.pm/1.30.2.1/Wed Apr 7 14:47:54 2010//TBUGZILLA-3_6_1 -/Core.pm/1.14/Thu Dec 31 12:37:50 2009//TBUGZILLA-3_6_1 -/DependencyGraph.pm/1.2/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/General.pm/1.1.2.1/Wed Feb 10 04:17:29 2010//TBUGZILLA-3_6_1 -/GroupSecurity.pm/1.10/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/LDAP.pm/1.3/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/MTA.pm/1.18/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/PatchViewer.pm/1.2/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/Query.pm/1.8/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/RADIUS.pm/1.2/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/ShadowDB.pm/1.2/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -/UserMatch.pm/1.3/Sun Dec 13 20:49:07 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Config/CVS/Repository b/Bugzilla/Config/CVS/Repository deleted file mode 100644 index 690ca44a775881a95ba9e4805f9f571a404b4ee0..0000000000000000000000000000000000000000 --- a/Bugzilla/Config/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Config diff --git a/Bugzilla/Config/CVS/Root b/Bugzilla/Config/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Config/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Config/CVS/Tag b/Bugzilla/Config/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Config/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index 7416b17942d7f56417f59c64b7abf6937e10bc09..8fc1b603726496100eb3d533f00d6732766f0a86 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -144,7 +144,7 @@ sub check_utf8 { sub check_priority { my ($value) = (@_); my $legal_priorities = get_legal_field_values('priority'); - if (lsearch($legal_priorities, $value) < 0) { + if (!grep($_ eq $value, @$legal_priorities)) { return "Must be a legal priority value: one of " . join(", ", @$legal_priorities); } @@ -154,7 +154,7 @@ sub check_priority { sub check_severity { my ($value) = (@_); my $legal_severities = get_legal_field_values('bug_severity'); - if (lsearch($legal_severities, $value) < 0) { + if (!grep($_ eq $value, @$legal_severities)) { return "Must be a legal severity value: one of " . join(", ", @$legal_severities); } @@ -164,7 +164,7 @@ sub check_severity { sub check_platform { my ($value) = (@_); my $legal_platforms = get_legal_field_values('rep_platform'); - if (lsearch(['', @$legal_platforms], $value) < 0) { + if (!grep($_ eq $value, '', @$legal_platforms)) { return "Must be empty or a legal platform value: one of " . join(", ", @$legal_platforms); } @@ -174,7 +174,7 @@ sub check_platform { sub check_opsys { my ($value) = (@_); my $legal_OS = get_legal_field_values('op_sys'); - if (lsearch(['', @$legal_OS], $value) < 0) { + if (!grep($_ eq $value, '', @$legal_OS)) { return "Must be empty or a legal operating system value: one of " . join(", ", @$legal_OS); } @@ -184,7 +184,7 @@ sub check_opsys { sub check_bug_status { my $bug_status = shift; my @closed_bug_statuses = map {$_->name} closed_bug_statuses(); - if (lsearch(\@closed_bug_statuses, $bug_status) < 0) { + if (!grep($_ eq $bug_status, @closed_bug_statuses)) { return "Must be a valid closed status: one of " . join(', ', @closed_bug_statuses); } return ""; diff --git a/Bugzilla/Config/MTA.pm b/Bugzilla/Config/MTA.pm index b1e3ab1a48af978bace580a457aa35d60547dc70..c90e5dc763724e3f19f3c5c4b7ce6787cf3555a0 100644 --- a/Bugzilla/Config/MTA.pm +++ b/Bugzilla/Config/MTA.pm @@ -64,12 +64,6 @@ sub get_param_list { checker => \&check_theschwartz_available, }, - { - name => 'sendmailnow', - type => 'b', - default => 1 - }, - { name => 'smtpserver', type => 't', diff --git a/Bugzilla/Config/Query.pm b/Bugzilla/Config/Query.pm index 808a9a102c00564e4ec7414e73a125c1b755b1e7..6d570e01a2d216ebd789be0489f5c311d2886caf 100644 --- a/Bugzilla/Config/Query.pm +++ b/Bugzilla/Config/Query.pm @@ -64,7 +64,7 @@ sub get_param_list { { name => 'defaultquery', type => 't', - default => 'bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&order=Importance&long_desc_type=substring' + default => 'bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&emaillongdesc3=1&order=Importance&long_desc_type=substring' }, { diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm index d1aaf989565990672faf1fdb89e1a3d632d6f7d4..ac3707fc2ca7583d283dd2e2a340f7db5bd692e1 100644 --- a/Bugzilla/Constants.pm +++ b/Bugzilla/Constants.pm @@ -84,21 +84,21 @@ use File::Basename; QUERY_LIST LIST_OF_BUGS + SAVE_NUM_SEARCHES + COMMENT_COLS MAX_COMMENT_LENGTH CMT_NORMAL CMT_DUPE_OF CMT_HAS_DUPE - CMT_POPULAR_VOTES - CMT_MOVED_TO CMT_ATTACHMENT_CREATED CMT_ATTACHMENT_UPDATED THROW_ERROR RELATIONSHIPS - REL_ASSIGNEE REL_QA REL_REPORTER REL_CC REL_VOTER REL_GLOBAL_WATCHER + REL_ASSIGNEE REL_QA REL_REPORTER REL_CC REL_GLOBAL_WATCHER REL_ANY POS_EVENTS @@ -129,6 +129,10 @@ use File::Basename; FIELD_TYPE_BUG_ID FIELD_TYPE_BUG_URLS + EMPTY_DATETIME_REGEX + + ABNORMAL_SELECTS + TIMETRACKING_FIELDS USAGE_MODE_BROWSER @@ -142,12 +146,15 @@ use File::Basename; ERROR_MODE_DIE_SOAP_FAULT ERROR_MODE_JSON_RPC + COLOR_ERROR + INSTALLATION_MODE_INTERACTIVE INSTALLATION_MODE_NON_INTERACTIVE DB_MODULE ROOT_USER ON_WINDOWS + ON_ACTIVESTATE MAX_TOKEN_AGE MAX_LOGINCOOKIE_AGE @@ -168,11 +175,17 @@ use File::Basename; MAX_FIELD_VALUE_SIZE MAX_FREETEXT_LENGTH MAX_BUG_URL_LENGTH + MAX_POSSIBLE_DUPLICATES PASSWORD_DIGEST_ALGORITHM PASSWORD_SALT_LENGTH CGI_URI_LIMIT + + PRIVILEGES_REQUIRED_NONE + PRIVILEGES_REQUIRED_REPORTER + PRIVILEGES_REQUIRED_ASSIGNEE + PRIVILEGES_REQUIRED_EMPOWERED ); @Bugzilla::Constants::EXPORT_OK = qw(contenttypes); @@ -180,7 +193,7 @@ use File::Basename; # CONSTANTS # # Bugzilla version -use constant BUGZILLA_VERSION => "3.6.1"; +use constant BUGZILLA_VERSION => "3.7.1"; # These are unique values that are unlikely to match a string or a number, # to be used in criteria for match() functions and other things. They start @@ -273,6 +286,9 @@ use constant DEFAULT_MILESTONE => '---'; use constant QUERY_LIST => 0; use constant LIST_OF_BUGS => 1; +# How many of the user's most recent searches to save. +use constant SAVE_NUM_SEARCHES => 10; + # The column length for displayed (and wrapped) bug comments. use constant COMMENT_COLS => 80; # Used in _check_comment(). Gives the max length allowed for a comment. @@ -282,8 +298,8 @@ use constant MAX_COMMENT_LENGTH => 65535; use constant CMT_NORMAL => 0; use constant CMT_DUPE_OF => 1; use constant CMT_HAS_DUPE => 2; -use constant CMT_POPULAR_VOTES => 3; -use constant CMT_MOVED_TO => 4; +# Type 3 was CMT_POPULAR_VOTES, which moved to the Voting extension. +# Type 4 was CMT_MOVED_TO, which moved to the OldBugMove extension. use constant CMT_ATTACHMENT_CREATED => 5; use constant CMT_ATTACHMENT_UPDATED => 6; @@ -295,11 +311,20 @@ use constant REL_ASSIGNEE => 0; use constant REL_QA => 1; use constant REL_REPORTER => 2; use constant REL_CC => 3; -use constant REL_VOTER => 4; +# REL 4 was REL_VOTER, before it was moved ino an extension. use constant REL_GLOBAL_WATCHER => 5; -use constant RELATIONSHIPS => REL_ASSIGNEE, REL_QA, REL_REPORTER, REL_CC, - REL_VOTER, REL_GLOBAL_WATCHER; +# We need these strings for the X-Bugzilla-Reasons header +# Note: this hash uses "," rather than "=>" to avoid auto-quoting of the LHS. +# This should be accessed through Bugzilla::BugMail::relationships() instead +# of being accessed directly. +use constant RELATIONSHIPS => { + REL_ASSIGNEE , "AssignedTo", + REL_REPORTER , "Reporter", + REL_QA , "QAcontact", + REL_CC , "CC", + REL_GLOBAL_WATCHER, "GlobalWatcher" +}; # Used for global events like EVT_FLAG_REQUESTED use constant REL_ANY => 100; @@ -370,6 +395,15 @@ use constant FIELD_TYPE_DATETIME => 5; use constant FIELD_TYPE_BUG_ID => 6; use constant FIELD_TYPE_BUG_URLS => 7; +use constant EMPTY_DATETIME_REGEX => qr/^[0\-:\sA-Za-z]+$/; + +# See the POD for Bugzilla::Field/is_abnormal to see why these are listed +# here. +use constant ABNORMAL_SELECTS => qw( + product + component +); + # The fields from fielddefs that are blocked from non-timetracking users. # work_time is sometimes called actual_time. use constant TIMETRACKING_FIELDS => @@ -423,6 +457,9 @@ use constant ERROR_MODE_DIE => 1; use constant ERROR_MODE_DIE_SOAP_FAULT => 2; use constant ERROR_MODE_JSON_RPC => 3; +# The ANSI colors of messages that command-line scripts use +use constant COLOR_ERROR => 'red'; + # The various modes that checksetup.pl can run in. use constant INSTALLATION_MODE_INTERACTIVE => 0; use constant INSTALLATION_MODE_NON_INTERACTIVE => 1; @@ -457,6 +494,8 @@ use constant DB_MODULE => { # True if we're on Win32. use constant ON_WINDOWS => ($^O =~ /MSWin32/i); +# True if we're using ActiveState Perl (as opposed to Strawberry) on Windows. +use constant ON_ACTIVESTATE => eval { &Win32::BuildNumber }; # The user who should be considered "root" when we're giving # instructions to Bugzilla administrators. @@ -489,6 +528,10 @@ use constant MAX_FREETEXT_LENGTH => 255; # The longest a bug URL in a BUG_URLS field can be. use constant MAX_BUG_URL_LENGTH => 255; +# The largest number of possible duplicates that Bug::possible_duplicates +# will return. +use constant MAX_POSSIBLE_DUPLICATES => 25; + # This is the name of the algorithm used to hash passwords before storing # them in the database. This can be any string that is valid to pass to # Perl's "Digest" module. Note that if you change this, it won't take @@ -503,6 +546,15 @@ use constant PASSWORD_SALT_LENGTH => 8; # can be safely done or not based on the web server's URI length setting. use constant CGI_URI_LIMIT => 8000; +# If the user isn't allowed to change a field, we must tell him who can. +# We store the required permission set into the $PrivilegesRequired +# variable which gets passed to the error template. + +use constant PRIVILEGES_REQUIRED_NONE => 0; +use constant PRIVILEGES_REQUIRED_REPORTER => 1; +use constant PRIVILEGES_REQUIRED_ASSIGNEE => 2; +use constant PRIVILEGES_REQUIRED_EMPOWERED => 3; + sub bz_locations { # We know that Bugzilla/Constants.pm must be in %INC at this point. # So the only question is, what's the name of the directory diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index 830d2835e781421dbf11fd6f042aa395c78d44a2..8c1aba8dd4b6de3e1b55efda7c568cec66030d55 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -70,10 +70,14 @@ use constant ENUM_DEFAULTS => { rep_platform => ["All","PC","Macintosh","Other"], bug_status => ["UNCONFIRMED","NEW","ASSIGNED","REOPENED","RESOLVED", "VERIFIED","CLOSED"], - resolution => ["","FIXED","INVALID","WONTFIX", "DUPLICATE","WORKSFORME", - "MOVED"], + resolution => ["","FIXED","INVALID","WONTFIX", "DUPLICATE","WORKSFORME"], }; +# The character that means "OR" in a boolean fulltext search. If empty, +# the database doesn't support OR searches in fulltext searches. +# Used by Bugzilla::Bug::possible_duplicates. +use constant FULLTEXT_OR => ''; + ##################################################################### # Connection Methods ##################################################################### @@ -83,22 +87,27 @@ sub connect_shadow { die "Tried to connect to non-existent shadowdb" unless $params->{'shadowdb'}; - my $lc = Bugzilla->localconfig; + # Instead of just passing in a new hashref, we locally modify the + # values of "localconfig", because some drivers access it while + # connecting. + my %connect_params = %{ Bugzilla->localconfig }; + $connect_params{db_host} = $params->{'shadowdbhost'}; + $connect_params{db_name} = $params->{'shadowdb'}; + $connect_params{db_port} = $params->{'shadowdbport'}; + $connect_params{db_sock} = $params->{'shadowdbsock'}; - return _connect($lc->{db_driver}, $params->{"shadowdbhost"}, - $params->{'shadowdb'}, $params->{"shadowdbport"}, - $params->{"shadowdbsock"}, $lc->{db_user}, $lc->{db_pass}); + return _connect(\%connect_params); } sub connect_main { my $lc = Bugzilla->localconfig; - return _connect($lc->{db_driver}, $lc->{db_host}, $lc->{db_name}, $lc->{db_port}, - $lc->{db_sock}, $lc->{db_user}, $lc->{db_pass}); + return _connect(Bugzilla->localconfig); } sub _connect { - my ($driver, $host, $dbname, $port, $sock, $user, $pass) = @_; + my ($params) = @_; + my $driver = $params->{db_driver}; my $pkg_module = DB_MODULE->{lc($driver)}->{db}; # do the actual import @@ -107,7 +116,7 @@ sub _connect { . " localconfig: " . $@); # instantiate the correct DB specific module - my $dbh = $pkg_module->new($user, $pass, $host, $dbname, $port, $sock); + my $dbh = $pkg_module->new($params); return $dbh; } @@ -147,7 +156,7 @@ sub bz_check_requirements { my $dbd_mod = $dbd->{module}; my $dbd_ver = $dbd->{version}; my $version = $dbd_ver ? " $dbd_ver or higher" : ''; - print <<EOT; + die <<EOT; For $sql_server, Bugzilla requires that perl's $dbd_mod $dbd_ver or later be installed. To install this module, run the following command (as $root): @@ -155,7 +164,6 @@ installed. To install this module, run the following command (as $root): $command EOT - exit; } # We don't try to connect to the actual database if $db_check is @@ -178,14 +186,13 @@ EOT if ( vers_cmp($sql_vers,$sql_want) > -1 ) { print "ok: found v$sql_vers\n" if $output; } else { - print <<EOT; + die <<EOT; Your $sql_server v$sql_vers is too old. Bugzilla requires version $sql_want or later of $sql_server. Please download and install a newer version. EOT - exit; } print "\n" if $output; @@ -213,10 +220,9 @@ sub bz_create_database { if (!$success) { my $error = $dbh->errstr || $@; chomp($error); - print STDERR "The '$db_name' database could not be created.", - " The error returned was:\n\n $error\n\n", - _bz_connect_error_reasons(); - exit; + die "The '$db_name' database could not be created.", + " The error returned was:\n\n $error\n\n", + _bz_connect_error_reasons(); } } @@ -227,19 +233,19 @@ sub bz_create_database { sub _get_no_db_connection { my ($sql_server) = @_; my $dbh; - my $lc = Bugzilla->localconfig; + my %connect_params = %{ Bugzilla->localconfig }; + $connect_params{db_name} = ''; my $conn_success = eval { - $dbh = _connect($lc->{db_driver}, $lc->{db_host}, '', $lc->{db_port}, - $lc->{db_sock}, $lc->{db_user}, $lc->{db_pass}); + $dbh = _connect(\%connect_params); }; if (!$conn_success) { - my $sql_server = DB_MODULE->{lc($lc->{db_driver})}->{name}; + my $driver = $connect_params{db_driver}; + my $sql_server = DB_MODULE->{lc($driver)}->{name}; # Can't use $dbh->errstr because $dbh is undef. my $error = $DBI::errstr || $@; chomp($error); - print STDERR "There was an error connecting to $sql_server:\n\n", - " $error\n\n", _bz_connect_error_reasons(); - exit; + die "There was an error connecting to $sql_server:\n\n", + " $error\n\n", _bz_connect_error_reasons(), "\n"; } return $dbh; } @@ -445,12 +451,14 @@ sub bz_setup_foreign_keys { my @tables = $self->_bz_schema->get_table_list(); foreach my $table (@tables) { my @columns = $self->_bz_schema->get_table_columns($table); + my %add_fks; foreach my $column (@columns) { my $def = $self->_bz_schema->get_column_abstract($table, $column); if ($def->{REFERENCES}) { - $self->bz_add_fk($table, $column, $def->{REFERENCES}); + $add_fks{$column} = $def->{REFERENCES}; } } + $self->bz_add_fks($table, \%add_fks); } } @@ -504,19 +512,36 @@ sub bz_add_column { sub bz_add_fk { my ($self, $table, $column, $def) = @_; + $self->bz_add_fks($table, { $column => $def }); +} - my $col_def = $self->bz_column_info($table, $column); - if (!$col_def->{REFERENCES}) { - $self->_check_references($table, $column, $def); +sub bz_add_fks { + my ($self, $table, $column_fks) = @_; + + my %add_these; + foreach my $column (keys %$column_fks) { + my $col_def = $self->bz_column_info($table, $column); + next if $col_def->{REFERENCES}; + my $fk = $column_fks->{$column}; + $self->_check_references($table, $column, $fk); + $add_these{$column} = $fk; print get_text('install_fk_add', - { table => $table, column => $column, fk => $def }) + { table => $table, column => $column, fk => $fk }) . "\n" if Bugzilla->usage_mode == USAGE_MODE_CMDLINE; - my @sql = $self->_bz_real_schema->get_add_fk_sql($table, $column, $def); - $self->do($_) foreach @sql; - $col_def->{REFERENCES} = $def; + } + + return if !scalar(keys %add_these); + + my @sql = $self->_bz_real_schema->get_add_fks_sql($table, \%add_these); + $self->do($_) foreach @sql; + + foreach my $column (keys %add_these) { + my $col_def = $self->bz_column_info($table, $column); + $col_def->{REFERENCES} = $add_these{$column}; $self->_bz_real_schema->set_column($table, $column, $col_def); - $self->_bz_store_real_schema; } + + $self->_bz_store_real_schema(); } sub bz_alter_column { @@ -698,11 +723,11 @@ sub bz_add_field_tables { $self->_bz_add_field_table($ms_table, $self->_bz_schema->MULTI_SELECT_VALUE_TABLE); - $self->bz_add_fk($ms_table, 'bug_id', {TABLE => 'bugs', - COLUMN => 'bug_id', - DELETE => 'CASCADE'}); - $self->bz_add_fk($ms_table, 'value', {TABLE => $field->name, - COLUMN => 'value'}); + $self->bz_add_fks($ms_table, + { bug_id => {TABLE => 'bugs', COLUMN => 'bug_id', + DELETE => 'CASCADE'}, + + value => {TABLE => $field->name, COLUMN => 'value'} }); } } @@ -754,10 +779,10 @@ sub bz_drop_fk { } -sub bz_drop_related_fks { +sub bz_get_related_fks { my ($self, $table, $column) = @_; my @tables = $self->_bz_real_schema->get_table_list(); - my @dropped; + my @related; foreach my $check_table (@tables) { my @columns = $self->bz_table_columns($check_table); foreach my $check_column (@columns) { @@ -767,13 +792,22 @@ sub bz_drop_related_fks { and (($fk->{TABLE} eq $table and $fk->{COLUMN} eq $column) or ($check_column eq $column and $check_table eq $table))) { - $self->bz_drop_fk($check_table, $check_column); - push(@dropped, [$check_table, $check_column, $fk]); + push(@related, [$check_table, $check_column, $fk]); } } # foreach $column } # foreach $table - return \@dropped; + return \@related; +} + +sub bz_drop_related_fks { + my $self = shift; + my $related = $self->bz_get_related_fks(@_); + foreach my $item (@$related) { + my ($table, $column) = @$item; + $self->bz_drop_fk($table, $column); + } + return $related; } sub bz_drop_index { @@ -1055,7 +1089,9 @@ sub bz_rollback_transaction { ##################################################################### sub db_new { - my ($class, $dsn, $user, $pass, $override_attrs) = @_; + my ($class, $params) = @_; + my ($dsn, $user, $pass, $override_attrs) = + @$params{qw(dsn user pass attrs)}; # set up default attributes used to connect to the database # (may be overridden by DB driver implementations) @@ -1300,13 +1336,11 @@ sub _check_references { } } else { - print "\n", get_text('install_fk_invalid', + die "\n", get_text('install_fk_invalid', { table => $table, column => $column, foreign_table => $foreign_table, foreign_column => $foreign_column, 'values' => $bad_values }), "\n"; - # I just picked a number above 2, to be considered "abnormal exit" - exit 3 } } } diff --git a/Bugzilla/DB/CVS/Entries b/Bugzilla/DB/CVS/Entries deleted file mode 100644 index 092511495390c822e56358b4a23f45cafff99272..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/Mysql.pm/1.80/Sun Jan 31 23:39:14 2010//TBUGZILLA-3_6_1 -/Oracle.pm/1.26.2.1/Mon Mar 1 23:33:44 2010//TBUGZILLA-3_6_1 -/Pg.pm/1.33/Sun Jan 31 18:04:46 2010//TBUGZILLA-3_6_1 -/Schema.pm/1.130.2.1/Sat Feb 20 20:05:10 2010//TBUGZILLA-3_6_1 -D/Schema//// diff --git a/Bugzilla/DB/CVS/Repository b/Bugzilla/DB/CVS/Repository deleted file mode 100644 index 714027f3a235b86f54b2f99a660a4dcda8354216..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/DB diff --git a/Bugzilla/DB/CVS/Root b/Bugzilla/DB/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/DB/CVS/Tag b/Bugzilla/DB/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/DB/Mysql.pm b/Bugzilla/DB/Mysql.pm index daf34d04ece206ba52b1cb8209567d1e1d5c6017..4b90a2a3442119d522a57b04d26a927c2e54a799 100644 --- a/Bugzilla/DB/Mysql.pm +++ b/Bugzilla/DB/Mysql.pm @@ -40,8 +40,8 @@ For interface details see L<Bugzilla::DB> and L<DBI>. =cut package Bugzilla::DB::Mysql; - use strict; +use base qw(Bugzilla::DB); use Bugzilla::Constants; use Bugzilla::Install::Util qw(install_string); @@ -57,11 +57,12 @@ use Text::ParseWords; # MAX_COMMENT_LENGTH is big. use constant MAX_COMMENTS => 50; -# This module extends the DB interface via inheritance -use base qw(Bugzilla::DB); +use constant FULLTEXT_OR => '|'; sub new { - my ($class, $user, $pass, $host, $dbname, $port, $sock) = @_; + my ($class, $params) = @_; + my ($user, $pass, $host, $dbname, $port, $sock) = + @$params{qw(db_user db_pass db_host db_name db_port db_sock)}; # construct the DSN from the parameters we got my $dsn = "dbi:mysql:host=$host;database=$dbname"; @@ -74,7 +75,8 @@ sub new { mysql_auto_reconnect => 1, ); - my $self = $class->db_new($dsn, $user, $pass, \%attrs); + my $self = $class->db_new({ dsn => $dsn, user => $user, + pass => $pass, attrs => \%attrs }); # This makes sure that if the tables are encoded as UTF-8, we # return their data correctly. @@ -311,13 +313,12 @@ sub bz_setup_database { my ($innodb_on) = @{$self->selectcol_arrayref( q{SHOW VARIABLES LIKE '%have_innodb%'}, {Columns=>[2]})}; if ($innodb_on ne 'YES') { - print <<EOT; + die <<EOT; InnoDB is disabled in your MySQL installation. Bugzilla requires InnoDB to be enabled. Please enable it and then re-run checksetup.pl. EOT - exit 3; } diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm index 5dd1278820f390d6dc51b4423eaf74647c46996b..a671a0e68b5484983fc1eccebc36af193a952db2 100644 --- a/Bugzilla/DB/Oracle.pm +++ b/Bugzilla/DB/Oracle.pm @@ -35,16 +35,14 @@ For interface details see L<Bugzilla::DB> and L<DBI>. =cut package Bugzilla::DB::Oracle; - use strict; +use base qw(Bugzilla::DB); use DBD::Oracle; use DBD::Oracle qw(:ora_types); use Bugzilla::Constants; use Bugzilla::Error; use Bugzilla::Util; -# This module extends the DB interface via inheritance -use base qw(Bugzilla::DB); ##################################################################### # Constants @@ -52,9 +50,12 @@ use base qw(Bugzilla::DB); use constant EMPTY_STRING => '__BZ_EMPTY_STR__'; use constant ISOLATION_LEVEL => 'READ COMMITTED'; use constant BLOB_TYPE => { ora_type => ORA_BLOB }; +use constant FULLTEXT_OR => ' OR '; sub new { - my ($class, $user, $pass, $host, $dbname, $port) = @_; + my ($class, $params) = @_; + my ($user, $pass, $host, $dbname, $port) = + @$params{qw(db_user db_pass db_host db_name db_port)}; # You can never connect to Oracle without a DB name, # and there is no default DB. @@ -70,7 +71,8 @@ sub new { LongReadLen => ( Bugzilla->params->{'maxattachmentsize'} || 1000 ) * 1024, }; - my $self = $class->db_new($dsn, $user, $pass, $attrs); + my $self = $class->db_new({ dsn => $dsn, user => $user, + pass => $pass, attrs => $attrs }); # Needed by TheSchwartz $self->{private_bz_dsn} = $dsn; diff --git a/Bugzilla/DB/Pg.pm b/Bugzilla/DB/Pg.pm index b31d186bb464588de7065e4d92b33c6b30a54790..c85c1d710beca2e2ba1717e664f489888cec66e4 100644 --- a/Bugzilla/DB/Pg.pm +++ b/Bugzilla/DB/Pg.pm @@ -52,7 +52,9 @@ use base qw(Bugzilla::DB); use constant BLOB_TYPE => { pg_type => DBD::Pg::PG_BYTEA }; sub new { - my ($class, $user, $pass, $host, $dbname, $port) = @_; + my ($class, $params) = @_; + my ($user, $pass, $host, $dbname, $port) = + @$params{qw(db_user db_pass db_host db_name db_port)}; # The default database name for PostgreSQL. We have # to connect to SOME database, even if we have @@ -70,7 +72,8 @@ sub new { my $attrs = { pg_enable_utf8 => Bugzilla->params->{'utf8'} }; - my $self = $class->db_new($dsn, $user, $pass, $attrs); + my $self = $class->db_new({ dsn => $dsn, user => $user, + pass => $pass, attrs => $attrs }); # all class local variables stored in DBI derived class needs to have # a prefix 'private_'. See DBI documentation. diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 76943fe1aeeb08f1a3e368dca88c74633bd84ec9..0791cad98a1740540efb5562f3692dda11b1dfbb 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -44,6 +44,7 @@ use Bugzilla::Constants; use Carp qw(confess); use Digest::MD5 qw(md5_hex); use Hash::Util qw(lock_value unlock_hash lock_keys unlock_keys); +use List::MoreUtils qw(firstidx); use Safe; # Historical, needed for SCHEMA_VERSION = '1.00' use Storable qw(dclone freeze thaw); @@ -209,6 +210,9 @@ update this column in this table." use constant SCHEMA_VERSION => '2.00'; use constant ADD_COLUMN => 'ADD COLUMN'; +# Multiple FKs can be added using ALTER TABLE ADD CONSTRAINT in one +# SQL statement. This isn't true for all databases. +use constant MULTIPLE_FKS_IN_ALTER => 1; # This is a reasonable default that's true for both PostgreSQL and MySQL. use constant MAX_IDENTIFIER_LEN => 63; @@ -273,12 +277,6 @@ use constant ABSTRACT_SCHEMA => { COLUMN => 'userid'}}, status_whiteboard => {TYPE => 'MEDIUMTEXT', NOTNULL => 1, DEFAULT => "''"}, - votes => {TYPE => 'INT3', NOTNULL => 1, - DEFAULT => '0'}, - # Note: keywords field is only a cache; the real data - # comes from the keywords table - keywords => {TYPE => 'MEDIUMTEXT', NOTNULL => 1, - DEFAULT => "''"}, lastdiffed => {TYPE => 'DATETIME'}, everconfirmed => {TYPE => 'BOOLEAN', NOTNULL => 1}, reporter_accessible => {TYPE => 'BOOLEAN', @@ -309,7 +307,6 @@ use constant ABSTRACT_SCHEMA => { bugs_resolution_idx => ['resolution'], bugs_target_milestone_idx => ['target_milestone'], bugs_qa_contact_idx => ['qa_contact'], - bugs_votes_idx => ['votes'], ], }, @@ -355,6 +352,10 @@ use constant ABSTRACT_SCHEMA => { COLUMN => 'id'}}, added => {TYPE => 'varchar(255)'}, removed => {TYPE => 'TINYTEXT'}, + comment_id => {TYPE => 'INT3', + REFERENCES => { TABLE => 'longdescs', + COLUMN => 'comment_id', + DELETE => 'CASCADE'}}, ], INDEXES => [ bugs_activity_bug_id_idx => ['bug_id'], @@ -430,24 +431,6 @@ use constant ABSTRACT_SCHEMA => { ], }, - votes => { - FIELDS => [ - who => {TYPE => 'INT3', NOTNULL => 1, - REFERENCES => {TABLE => 'profiles', - COLUMN => 'userid', - DELETE => 'CASCADE'}}, - bug_id => {TYPE => 'INT3', NOTNULL => 1, - REFERENCES => {TABLE => 'bugs', - COLUMN => 'bug_id', - DELETE => 'CASCADE'}}, - vote_count => {TYPE => 'INT2', NOTNULL => 1}, - ], - INDEXES => [ - votes_who_idx => ['who'], - votes_bug_id_idx => ['bug_id'], - ], - }, - attachments => { FIELDS => [ attach_id => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1, @@ -460,7 +443,8 @@ use constant ABSTRACT_SCHEMA => { modification_time => {TYPE => 'DATETIME', NOTNULL => 1}, description => {TYPE => 'TINYTEXT', NOTNULL => 1}, mimetype => {TYPE => 'TINYTEXT', NOTNULL => 1}, - ispatch => {TYPE => 'BOOLEAN'}, + ispatch => {TYPE => 'BOOLEAN', NOTNULL => 1, + DEFAULT => 'FALSE'}, filename => {TYPE => 'varchar(100)', NOTNULL => 1}, submitter_id => {TYPE => 'INT3', NOTNULL => 1, REFERENCES => {TABLE => 'profiles', @@ -523,7 +507,7 @@ use constant ABSTRACT_SCHEMA => { id => {TYPE => 'SMALLSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, name => {TYPE => 'varchar(64)', NOTNULL => 1}, - description => {TYPE => 'MEDIUMTEXT'}, + description => {TYPE => 'MEDIUMTEXT', NOTNULL => 1}, ], INDEXES => [ keyworddefs_name_idx => {FIELDS => ['name'], @@ -693,12 +677,16 @@ use constant ABSTRACT_SCHEMA => { value_field_id => {TYPE => 'INT3', REFERENCES => {TABLE => 'fielddefs', COLUMN => 'id'}}, + reverse_desc => {TYPE => 'TINYTEXT'}, + is_mandatory => {TYPE => 'BOOLEAN', NOTNULL => 1, + DEFAULT => 'FALSE'}, ], INDEXES => [ fielddefs_name_idx => {FIELDS => ['name'], TYPE => 'UNIQUE'}, fielddefs_sortkey_idx => ['sortkey'], fielddefs_value_field_id_idx => ['value_field_id'], + fielddefs_is_mandatory_idx => ['is_mandatory'], ], }, @@ -855,6 +843,18 @@ use constant ABSTRACT_SCHEMA => { ], }, + profile_search => { + FIELDS => [ + id => {TYPE => 'INTSERIAL', NOTNULL => 1, PRIMARYKEY => 1}, + user_id => {TYPE => 'INT3', NOTNULL => 1}, + bug_list => {TYPE => 'MEDIUMTEXT', NOTNULL => 1}, + list_order => {TYPE => 'MEDIUMTEXT'}, + ], + INDEXES => [ + profile_search_user_id => [qw(user_id)], + ], + }, + profiles_activity => { FIELDS => [ userid => {TYPE => 'INT3', NOTNULL => 1, @@ -1056,8 +1056,10 @@ use constant ABSTRACT_SCHEMA => { DELETE => 'CASCADE'}}, entry => {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'}, - membercontrol => {TYPE => 'BOOLEAN', NOTNULL => 1}, - othercontrol => {TYPE => 'BOOLEAN', NOTNULL => 1}, + membercontrol => {TYPE => 'INT1', NOTNULL => 1, + DEFAULT => CONTROLMAPNA}, + othercontrol => {TYPE => 'INT1', NOTNULL => 1, + DEFAULT => CONTROLMAPNA}, canedit => {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'}, editcomponents => {TYPE => 'BOOLEAN', NOTNULL => 1, @@ -1215,15 +1217,9 @@ use constant ABSTRACT_SCHEMA => { REFERENCES => {TABLE => 'classifications', COLUMN => 'id', DELETE => 'CASCADE'}}, - description => {TYPE => 'MEDIUMTEXT'}, + description => {TYPE => 'MEDIUMTEXT', NOTNULL => 1}, isactive => {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 1}, - votesperuser => {TYPE => 'INT2', NOTNULL => 1, - DEFAULT => 0}, - maxvotesperbug => {TYPE => 'INT2', NOTNULL => 1, - DEFAULT => '10000'}, - votestoconfirm => {TYPE => 'INT2', NOTNULL => 1, - DEFAULT => 0}, defaultmilestone => {TYPE => 'varchar(20)', NOTNULL => 1, DEFAULT => "'---'"}, allows_unconfirmed => {TYPE => 'BOOLEAN', NOTNULL => 1, @@ -1837,11 +1833,26 @@ sub _hash_identifier { } -sub get_add_fk_sql { - my ($self, $table, $column, $def) = @_; +sub get_add_fks_sql { + my ($self, $table, $column_fks) = @_; - my $fk_string = $self->get_fk_ddl($table, $column, $def); - return ("ALTER TABLE $table ADD $fk_string"); + my @add; + foreach my $column (keys %$column_fks) { + my $def = $column_fks->{$column}; + my $fk_string = $self->get_fk_ddl($table, $column, $def); + push(@add, $fk_string); + } + my @sql; + if ($self->MULTIPLE_FKS_IN_ALTER) { + my $alter = "ALTER TABLE $table ADD " . join(', ADD ', @add); + push(@sql, $alter); + } + else { + foreach my $fk_string (@add) { + push(@sql, "ALTER TABLE $table ADD $fk_string"); + } + } + return @sql; } sub get_drop_fk_sql { @@ -2146,6 +2157,10 @@ sub get_alter_column_ddl { my $default = $new_def->{DEFAULT}; my $default_old = $old_def->{DEFAULT}; + + if (defined $default) { + $default = $specific->{$default} if exists $specific->{$default}; + } # This first condition prevents "uninitialized value" errors. if (!defined $default && !defined $default_old) { # Do Nothing @@ -2159,7 +2174,6 @@ sub get_alter_column_ddl { elsif ( (defined $default && !defined $default_old) || ($default ne $default_old) ) { - $default = $specific->{$default} if exists $specific->{$default}; push(@statements, "ALTER TABLE $table ALTER COLUMN $column " . " SET DEFAULT $default"); } @@ -2168,7 +2182,7 @@ sub get_alter_column_ddl { if (!$old_def->{NOTNULL} && $new_def->{NOTNULL}) { my $setdefault; # Handle any fields that were NULL before, if we have a default, - $setdefault = $new_def->{DEFAULT} if exists $new_def->{DEFAULT}; + $setdefault = $default if defined $default; # But if we have a set_nulls_to, that overrides the DEFAULT # (although nobody would usually specify both a default and # a set_nulls_to.) @@ -2477,7 +2491,7 @@ sub delete_column { my ($self, $table, $column) = @_; my $abstract_fields = $self->{abstract_schema}{$table}{FIELDS}; - my $name_position = lsearch($abstract_fields, $column); + my $name_position = firstidx { $_ eq $column } @$abstract_fields; die "Attempted to delete nonexistent column ${table}.${column}" if $name_position == -1; # Delete the key/value pair from the array. @@ -2566,7 +2580,7 @@ sub set_index { sub _set_object { my ($self, $table, $name, $definition, $array_to_change) = @_; - my $obj_position = lsearch($array_to_change, $name) + 1; + my $obj_position = (firstidx { $_ eq $name } @$array_to_change) + 1; # If the object doesn't exist, then add it. if (!$obj_position) { push(@$array_to_change, $name); @@ -2599,7 +2613,7 @@ sub delete_index { my ($self, $table, $name) = @_; my $indexes = $self->{abstract_schema}{$table}{INDEXES}; - my $name_position = lsearch($indexes, $name); + my $name_position = firstidx { $_ eq $name } @$indexes; die "Attempted to delete nonexistent index $name on the $table table" if $name_position == -1; # Delete the key/value pair from the array. diff --git a/Bugzilla/DB/Schema/CVS/Entries b/Bugzilla/DB/Schema/CVS/Entries deleted file mode 100644 index 0a12f0fa9c04bb727f04cb7a8dc1c0e8625931f1..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/Schema/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Mysql.pm/1.23/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_6_1 -/Oracle.pm/1.12.2.1/Mon Mar 1 23:33:44 2010//TBUGZILLA-3_6_1 -/Pg.pm/1.16/Sat Oct 24 05:30:16 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/DB/Schema/CVS/Repository b/Bugzilla/DB/Schema/CVS/Repository deleted file mode 100644 index bfb7461711b0c95a6537b9eb2ab0fc7fa7d0613a..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/Schema/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/DB/Schema diff --git a/Bugzilla/DB/Schema/CVS/Root b/Bugzilla/DB/Schema/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/Schema/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/DB/Schema/CVS/Tag b/Bugzilla/DB/Schema/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/DB/Schema/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/DB/Schema/Mysql.pm b/Bugzilla/DB/Schema/Mysql.pm index a68c7c90de556f598c12844755272dd80a84a5c1..8c9ea2dda3d69376880123221940d2a94a15077f 100644 --- a/Bugzilla/DB/Schema/Mysql.pm +++ b/Bugzilla/DB/Schema/Mysql.pm @@ -43,6 +43,9 @@ use base qw(Bugzilla::DB::Schema); # that should be interpreted as a BOOLEAN instead of as an INT1 when # reading in the Schema from the disk. The values are discarded; I just # used "1" for simplicity. +# +# THIS CONSTANT IS ONLY USED FOR UPGRADES FROM 2.18 OR EARLIER. DON'T +# UPDATE IT TO MODERN COLUMN NAMES OR DEFINITIONS. use constant BOOLEAN_MAP => { bugs => {everconfirmed => 1, reporter_accessible => 1, cclist_accessible => 1, qacontact_accessible => 1, diff --git a/Bugzilla/DB/Schema/Oracle.pm b/Bugzilla/DB/Schema/Oracle.pm index e8905eb80fe5549076f7cc063701b947d99ad364..6011cecfcffe131dafe0b673b86ba87214f68226 100644 --- a/Bugzilla/DB/Schema/Oracle.pm +++ b/Bugzilla/DB/Schema/Oracle.pm @@ -35,6 +35,7 @@ use Carp qw(confess); use Bugzilla::Util; use constant ADD_COLUMN => 'ADD'; +use constant MULTIPLE_FKS_IN_ALTER => 0; # Whether this is true or not, this is what it needs to be in order for # hash_identifier to maintain backwards compatibility with versions before # 3.2rc2. @@ -136,40 +137,44 @@ sub get_drop_index_ddl { # - Delete CASCADE # - Delete SET NULL sub get_fk_ddl { - my ($self, $table, $column, $references) = @_; - return "" if !$references; + my $self = shift; + my $ddl = $self->SUPER::get_fk_ddl(@_); - my $update = $references->{UPDATE} || 'CASCADE'; - my $delete = $references->{DELETE}; - my $to_table = $references->{TABLE} || confess "No table in reference"; - my $to_column = $references->{COLUMN} || confess "No column in reference"; - my $fk_name = $self->_get_fk_name($table, $column, $references); + # iThe Bugzilla Oracle driver implements UPDATE via a trigger. + $ddl =~ s/ON UPDATE \S+//i; + # RESTRICT is the default for DELETE on Oracle and may not be specified. + $ddl =~ s/ON DELETE RESTRICT//i; - # 'ON DELETE RESTRICT' is enabled by default - $delete = "" if ( defined $delete && $delete =~ /RESTRICT/i); + return $ddl; +} - my $fk_string = "\n CONSTRAINT $fk_name FOREIGN KEY ($column)\n" - . " REFERENCES $to_table($to_column)\n"; - - $fk_string = $fk_string . " ON DELETE $delete" if $delete; - - if ( $update =~ /CASCADE/i ){ - my $tr_str = "CREATE OR REPLACE TRIGGER ${fk_name}_UC" - . " AFTER UPDATE OF $to_column ON $to_table " - . " REFERENCING " - . " NEW AS NEW " - . " OLD AS OLD " - . " FOR EACH ROW " - . " BEGIN " - . " UPDATE $table" - . " SET $column = :NEW.$to_column" - . " WHERE $column = :OLD.$to_column;" - . " END ${fk_name}_UC;"; - my $dbh = Bugzilla->dbh; - $dbh->do($tr_str); +sub get_add_fks_sql { + my $self = shift; + my ($table, $column_fks) = @_; + my @sql = $self->SUPER::get_add_fks_sql(@_); + + foreach my $column (keys %$column_fks) { + my $fk = $column_fks->{$column}; + next if $fk->{UPDATE} && uc($fk->{UPDATE}) ne 'CASCADE'; + my $fk_name = $self->_get_fk_name($table, $column, $fk); + my $to_column = $fk->{COLUMN}; + my $to_table = $fk->{TABLE}; + + my $trigger = <<END; +CREATE OR REPLACE TRIGGER ${fk_name}_UC + AFTER UPDATE OF $to_column ON $to_table + REFERENCING NEW AS NEW OLD AS OLD + FOR EACH ROW + BEGIN + UPDATE $table + SET $column = :NEW.$to_column + WHERE $column = :OLD.$to_column; + END ${fk_name}_UC; +END + push(@sql, $trigger); } - return $fk_string; + return @sql; } sub get_drop_fk_sql { @@ -209,6 +214,10 @@ sub get_alter_column_ddl { my $default = $new_def->{DEFAULT}; my $default_old = $old_def->{DEFAULT}; + + if (defined $default) { + $default = $specific->{$default} if exists $specific->{$default}; + } # This first condition prevents "uninitialized value" errors. if (!defined $default && !defined $default_old) { # Do Nothing @@ -222,7 +231,6 @@ sub get_alter_column_ddl { elsif ( (defined $default && !defined $default_old) || ($default ne $default_old) ) { - $default = $specific->{$default} if exists $specific->{$default}; push(@statements, "ALTER TABLE $table MODIFY $column " . " DEFAULT $default"); } @@ -231,7 +239,7 @@ sub get_alter_column_ddl { if (!$old_def->{NOTNULL} && $new_def->{NOTNULL}) { my $setdefault; # Handle any fields that were NULL before, if we have a default, - $setdefault = $new_def->{DEFAULT} if exists $new_def->{DEFAULT}; + $setdefault = $default if defined $default; # But if we have a set_nulls_to, that overrides the DEFAULT # (although nobody would usually specify both a default and # a set_nulls_to.) diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm index 0c471125dde82b502d3c5c87d36260a3f5947d87..60e7837deb50bf68034152a91cc8f7f7583745f5 100644 --- a/Bugzilla/Error.pm +++ b/Bugzilla/Error.pm @@ -31,6 +31,8 @@ use base qw(Exporter); use Bugzilla::Constants; use Bugzilla::WebService::Constants; use Bugzilla::Util; + +use Carp; use Date::Format; # We cannot use $^S to detect if we are in an eval(), because mod_perl @@ -50,6 +52,12 @@ sub _throw_error { $vars ||= {}; $vars->{error} = $error; + # Don't show function arguments, in case they contain confidential data. + local $Carp::MaxArgNums = -1; + # Don't show the error as coming from Bugzilla::Error, show it as coming + # from the caller. + local $Carp::CarpInternal{'Bugzilla::Error'} = 1; + $vars->{traceback} = Carp::longmess(); # Make sure any transaction is rolled back (if supported). # If we are within an eval(), do not roll back transactions as we are diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index e7ffcdf6540eb5a84e3cae4d842847008a623b10..9ab5c49b9e0f8dc709348c20543b5d2cc49a2fb8 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -101,25 +101,33 @@ use constant DB_COLUMNS => qw( visibility_field_id visibility_value_id value_field_id + reverse_desc + is_mandatory ); -use constant REQUIRED_CREATE_FIELDS => qw(name description); - use constant VALIDATORS => { - custom => \&_check_custom, - description => \&_check_description, - enter_bug => \&_check_enter_bug, - buglist => \&Bugzilla::Object::check_boolean, - mailhead => \&_check_mailhead, - obsolete => \&_check_obsolete, - sortkey => \&_check_sortkey, - type => \&_check_type, + custom => \&_check_custom, + description => \&_check_description, + enter_bug => \&_check_enter_bug, + buglist => \&Bugzilla::Object::check_boolean, + mailhead => \&_check_mailhead, + name => \&_check_name, + obsolete => \&_check_obsolete, + reverse_desc => \&_check_reverse_desc, + sortkey => \&_check_sortkey, + type => \&_check_type, + value_field_id => \&_check_value_field_id, visibility_field_id => \&_check_visibility_field_id, + visibility_value_id => \&_check_control_value, + is_mandatory => \&Bugzilla::Object::check_boolean, }; -use constant UPDATE_VALIDATORS => { - value_field_id => \&_check_value_field_id, - visibility_value_id => \&_check_control_value, +use constant VALIDATOR_DEPENDENCIES => { + name => ['custom'], + type => ['custom'], + reverse_desc => ['type'], + value_field_id => ['type'], + visibility_value_id => ['visibility_field_id'], }; use constant UPDATE_COLUMNS => qw( @@ -132,7 +140,8 @@ use constant UPDATE_COLUMNS => qw( visibility_field_id visibility_value_id value_field_id - + reverse_desc + is_mandatory type ); @@ -155,7 +164,7 @@ use constant DEFAULT_FIELDS => ( {name => 'bug_id', desc => 'Bug #', in_new_bugmail => 1, buglist => 1}, {name => 'short_desc', desc => 'Summary', in_new_bugmail => 1, - buglist => 1}, + is_mandatory => 1, buglist => 1}, {name => 'classification', desc => 'Classification', in_new_bugmail => 1, buglist => 1}, {name => 'product', desc => 'Product', in_new_bugmail => 1, @@ -164,7 +173,8 @@ use constant DEFAULT_FIELDS => ( buglist => 1}, {name => 'rep_platform', desc => 'Platform', in_new_bugmail => 1, type => FIELD_TYPE_SINGLE_SELECT, buglist => 1}, - {name => 'bug_file_loc', desc => 'URL', in_new_bugmail => 1}, + {name => 'bug_file_loc', desc => 'URL', in_new_bugmail => 1, + buglist => 1}, {name => 'op_sys', desc => 'OS/Version', in_new_bugmail => 1, type => FIELD_TYPE_SINGLE_SELECT, buglist => 1}, {name => 'bug_status', desc => 'Status', in_new_bugmail => 1, @@ -180,12 +190,12 @@ use constant DEFAULT_FIELDS => ( {name => 'priority', desc => 'Priority', in_new_bugmail => 1, type => FIELD_TYPE_SINGLE_SELECT, buglist => 1}, {name => 'component', desc => 'Component', in_new_bugmail => 1, - buglist => 1}, + is_mandatory => 1, + type => FIELD_TYPE_SINGLE_SELECT, buglist => 1}, {name => 'assigned_to', desc => 'AssignedTo', in_new_bugmail => 1, buglist => 1}, {name => 'reporter', desc => 'ReportedBy', in_new_bugmail => 1, buglist => 1}, - {name => 'votes', desc => 'Votes', buglist => 1}, {name => 'qa_contact', desc => 'QAContact', in_new_bugmail => 1, buglist => 1}, {name => 'cc', desc => 'CC', in_new_bugmail => 1}, @@ -217,7 +227,7 @@ use constant DEFAULT_FIELDS => ( in_new_bugmail => 1, buglist => 1}, {name => 'remaining_time', desc => 'Remaining Hours', buglist => 1}, {name => 'deadline', desc => 'Deadline', - in_new_bugmail => 1, buglist => 1}, + type => FIELD_TYPE_DATETIME, in_new_bugmail => 1, buglist => 1}, {name => 'commenter', desc => 'Commenter'}, {name => 'flagtypes.name', desc => 'Flags', buglist => 1}, {name => 'requestees.login_name', desc => 'Flag Requestee'}, @@ -265,7 +275,7 @@ sub _check_enter_bug { return $_[1] ? 1 : 0; } sub _check_mailhead { return $_[1] ? 1 : 0; } sub _check_name { - my ($invocant, $name, $is_custom) = @_; + my ($class, $name, undef, $params) = @_; $name = lc(clean_text($name)); $name || ThrowUserError('field_missing_name'); @@ -273,7 +283,7 @@ sub _check_name { my $name_regex = qr/^[\w\.]+$/; # Custom fields have more restrictive name requirements than # standard fields. - $name_regex = qr/^[a-zA-Z0-9_]+$/ if $is_custom; + $name_regex = qr/^[a-zA-Z0-9_]+$/ if $params->{custom}; # Custom fields can't be named just "cf_", and there is no normal # field named just "cf_". ($name =~ $name_regex && $name ne "cf_") @@ -281,7 +291,7 @@ sub _check_name { # If it's custom, prepend cf_ to the custom field name to distinguish # it from standard fields. - if ($name !~ /^cf_/ && $is_custom) { + if ($name !~ /^cf_/ && $params->{custom}) { $name = 'cf_' . $name; } @@ -308,18 +318,24 @@ sub _check_sortkey { } sub _check_type { - my ($invocant, $type) = @_; + my ($invocant, $type, undef, $params) = @_; my $saved_type = $type; # The constant here should be updated every time a new, # higher field type is added. (detaint_natural($type) && $type <= FIELD_TYPE_BUG_URLS) || ThrowCodeError('invalid_customfield_type', { type => $saved_type }); + + my $custom = blessed($invocant) ? $invocant->custom : $params->{custom}; + if ($custom && !$type) { + ThrowCodeError('field_type_not_specified'); + } + return $type; } sub _check_value_field_id { - my ($invocant, $field_id, $is_select) = @_; - $is_select = $invocant->is_select if !defined $is_select; + my ($invocant, $field_id, undef, $params) = @_; + my $is_select = $invocant->is_select($params); if ($field_id && !$is_select) { ThrowUserError('field_value_control_select_only'); } @@ -342,13 +358,13 @@ sub _check_visibility_field_id { } sub _check_control_value { - my ($invocant, $value_id, $field_id) = @_; + my ($invocant, $value_id, undef, $params) = @_; my $field; if (blessed $invocant) { $field = $invocant->visibility_field; } - elsif ($field_id) { - $field = $invocant->new($field_id); + elsif ($params->{visibility_field_id}) { + $field = $invocant->new($params->{visibility_field_id}); } # When no field is set, no value is set. return undef if !$field; @@ -357,6 +373,19 @@ sub _check_control_value { return $value_obj->id; } +sub _check_reverse_desc { + my ($invocant, $reverse_desc, undef, $params) = @_; + my $type = blessed($invocant) ? $invocant->type : $params->{type}; + if ($type != FIELD_TYPE_BUG_ID) { + return undef; # store NULL for non-reversible field types + } + + $reverse_desc = clean_text($reverse_desc); + return $reverse_desc; +} + +sub _check_is_mandatory { return $_[1] ? 1 : 0; } + =pod =head2 Instance Properties @@ -487,9 +516,34 @@ objects. =cut -sub is_select { - return ($_[0]->type == FIELD_TYPE_SINGLE_SELECT - || $_[0]->type == FIELD_TYPE_MULTI_SELECT) ? 1 : 0 +sub is_select { + my ($invocant, $params) = @_; + # This allows this method to be called by create() validators. + my $type = blessed($invocant) ? $invocant->type : $params->{type}; + return ($type == FIELD_TYPE_SINGLE_SELECT + || $type == FIELD_TYPE_MULTI_SELECT) ? 1 : 0 +} + +=over + +=item C<is_abnormal> + +Most fields that have a C<SELECT> L</type> have a certain schema for +the table that stores their values, the table has the same name as the field, +and the field's legal values can be edited via F<editvalues.cgi>. + +However, some fields do not follow that pattern. Those fields are +considered "abnormal". + +This method returns C<1> if the field is "abnormal", C<0> otherwise. + +=back + +=cut + +sub is_abnormal { + my $self = shift; + return grep($_ eq $self->name, ABNORMAL_SELECTS) ? 1 : 0; } sub legal_values { @@ -507,6 +561,24 @@ sub legal_values { =over +=item C<is_timetracking> + +True if this is a time-tracking field that should only be shown to users +in the C<timetrackinggroup>. + +=back + +=cut + +sub is_timetracking { + my ($self) = @_; + return grep($_ eq $self->name, TIMETRACKING_FIELDS) ? 1 : 0; +} + +=pod + +=over + =item C<visibility_field> What field controls this field's visibility? Returns a C<Bugzilla::Field> @@ -615,6 +687,75 @@ sub controls_values_of { return $self->{controls_values_of}; } +=over + +=item C<is_visible_on_bug> + +See L<Bugzilla::Field::ChoiceInterface>. + +=back + +=cut + +sub is_visible_on_bug { + my ($self, $bug) = @_; + + my $visibility_value = $self->visibility_value; + return 1 if !$visibility_value; + + return $visibility_value->is_set_on_bug($bug); +} + +=over + +=item C<is_relationship> + +Applies only to fields of type FIELD_TYPE_BUG_ID. +Checks to see if a reverse relationship description has been set. +This is the canonical condition to enable reverse link display, +dependency tree display, and similar functionality. + +=back + +=cut + +sub is_relationship { + my $self = shift; + my $desc = $self->reverse_desc; + if (defined $desc && $desc ne "") { + return 1; + } + return 0; +} + +=over + +=item C<reverse_desc> + +Applies only to fields of type FIELD_TYPE_BUG_ID. +Describes the reverse relationship of this field. +For example, if a BUG_ID field is called "Is a duplicate of", +the reverse description would be "Duplicates of this bug". + +=back + +=cut + +sub reverse_desc { return $_[0]->{reverse_desc} } + +=over + +=item C<is_mandatory> + +a boolean specifying whether or not the field is mandatory; + +=back + +=cut + +sub is_mandatory { return $_[0]->{is_mandatory} } + + =pod =head2 Instance Mutators @@ -639,12 +780,17 @@ They will throw an error if you try to set the values to something invalid. =item C<set_buglist> +=item C<set_reverse_desc> + =item C<set_visibility_field> =item C<set_visibility_value> =item C<set_value_field> +=item C<set_is_mandatory> + + =back =cut @@ -655,6 +801,7 @@ sub set_obsolete { $_[0]->set('obsolete', $_[1]); } sub set_sortkey { $_[0]->set('sortkey', $_[1]); } sub set_in_new_bugmail { $_[0]->set('mailhead', $_[1]); } sub set_buglist { $_[0]->set('buglist', $_[1]); } +sub set_reverse_desc { $_[0]->set('reverse_desc', $_[1]); } sub set_visibility_field { my ($self, $value) = @_; $self->set('visibility_field_id', $value); @@ -671,6 +818,7 @@ sub set_value_field { $self->set('value_field_id', $value); delete $self->{value_field}; } +sub set_is_mandatory { $_[0]->set('is_mandatory', $_[1]); } # This is only used internally by upgrade code in Bugzilla::Field. sub _set_type { $_[0]->set('type', $_[1]); } @@ -786,6 +934,8 @@ selectable as a display or order column in bug lists. Defaults to 0. C<obsolete> - boolean - Whether this field is obsolete. Defaults to 0. +C<is_mandatory> - boolean - Whether this field is mandatory. Defaults to 0. + =back =back @@ -794,6 +944,11 @@ C<obsolete> - boolean - Whether this field is obsolete. Defaults to 0. sub create { my $class = shift; + my ($params) = @_; + # This makes sure the "sortkey" validator runs, even if + # the parameter isn't sent to create(). + $params->{sortkey} = undef if !exists $params->{sortkey}; + $params->{type} ||= 0; my $field = $class->SUPER::create(@_); my $dbh = Bugzilla->dbh; @@ -819,34 +974,6 @@ sub create { return $field; } -sub run_create_validators { - my $class = shift; - my $dbh = Bugzilla->dbh; - my $params = $class->SUPER::run_create_validators(@_); - - $params->{name} = $class->_check_name($params->{name}, $params->{custom}); - if (!exists $params->{sortkey}) { - $params->{sortkey} = $dbh->selectrow_array( - "SELECT MAX(sortkey) + 100 FROM fielddefs") || 100; - } - - $params->{visibility_value_id} = - $class->_check_control_value($params->{visibility_value_id}, - $params->{visibility_field_id}); - - my $type = $params->{type} || 0; - - if ($params->{custom} && !$type) { - ThrowCodeError('field_type_not_specified'); - } - - $params->{value_field_id} = - $class->_check_value_field_id($params->{value_field_id}, - ($type == FIELD_TYPE_SINGLE_SELECT - || $type == FIELD_TYPE_MULTI_SELECT) ? 1 : 0); - return $params; -} - sub update { my $self = shift; my $changes = $self->SUPER::update(@_); @@ -913,6 +1040,7 @@ sub populate_field_definitions { $field->set_in_new_bugmail($def->{in_new_bugmail}); $field->set_buglist($def->{buglist}); $field->_set_type($def->{type}) if $def->{type}; + $field->set_is_mandatory($def->{is_mandatory}); $field->update(); } else { @@ -1048,8 +1176,8 @@ sub check_field { } if (!defined($value) - || trim($value) eq "" - || lsearch($legalsRef, $value) < 0) + or trim($value) eq "" + or !grep { $_ eq $value } @$legalsRef) { return 0 if $no_warn; # We don't want an error to be thrown; return. trick_taint($name); diff --git a/Bugzilla/Field/CVS/Entries b/Bugzilla/Field/CVS/Entries deleted file mode 100644 index 5f96641d631a31d56684338fbd79458b981936cd..0000000000000000000000000000000000000000 --- a/Bugzilla/Field/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Choice.pm/1.13/Thu Jul 23 21:33:54 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Field/CVS/Repository b/Bugzilla/Field/CVS/Repository deleted file mode 100644 index c4bc29948ee648f46f4cd977194af6a41e02f24f..0000000000000000000000000000000000000000 --- a/Bugzilla/Field/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Field diff --git a/Bugzilla/Field/CVS/Root b/Bugzilla/Field/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Field/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Field/CVS/Tag b/Bugzilla/Field/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Field/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Field/Choice.pm b/Bugzilla/Field/Choice.pm index 7e07ca1e2a159df18916913d82783e73660f6f01..0c44134ef277822e0b1f69951f04c215d45977ae 100644 --- a/Bugzilla/Field/Choice.pm +++ b/Bugzilla/Field/Choice.pm @@ -23,7 +23,7 @@ use strict; package Bugzilla::Field::Choice; -use base qw(Bugzilla::Object); +use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object); use Bugzilla::Config qw(SetParam write_params); use Bugzilla::Constants; @@ -55,17 +55,16 @@ use constant UPDATE_COLUMNS => qw( use constant NAME_FIELD => 'value'; use constant LIST_ORDER => 'sortkey, value'; -use constant REQUIRED_CREATE_FIELDS => qw(value); - use constant VALIDATORS => { value => \&_check_value, sortkey => \&_check_sortkey, visibility_value_id => \&_check_visibility_value_id, - isactive => \&Bugzilla::Object::check_boolean, + isactive => \&_check_isactive, }; use constant CLASS_MAP => { bug_status => 'Bugzilla::Status', + component => 'Bugzilla::Component', product => 'Bugzilla::Product', }; @@ -141,7 +140,7 @@ sub create { my $class = shift; my ($params) = @_; foreach my $key (keys %$params) { - if (!grep {$_ eq $key} $class->DB_COLUMNS) { + if (!grep {$_ eq $key} $class->_get_db_columns) { delete $params->{$key}; } } @@ -194,115 +193,10 @@ sub remove_from_db { ThrowUserError("fieldvalue_still_has_bugs", { field => $self->field, value => $self }); } - $self->_check_if_controller(); + $self->_check_if_controller(); # From ChoiceInterface. $self->SUPER::remove_from_db(); } -# Factored out to make life easier for subclasses. -sub _check_if_controller { - my $self = shift; - my $vis_fields = $self->controls_visibility_of_fields; - my $values = $self->controlled_values; - if (@$vis_fields || scalar(keys %$values)) { - ThrowUserError('fieldvalue_is_controller', - { value => $self, fields => [map($_->name, @$vis_fields)], - vals => $values }); - } -} - - -############# -# Accessors # -############# - -sub is_active { return $_[0]->{'isactive'}; } -sub sortkey { return $_[0]->{'sortkey'}; } - -sub bug_count { - my $self = shift; - return $self->{bug_count} if defined $self->{bug_count}; - my $dbh = Bugzilla->dbh; - my $fname = $self->field->name; - my $count; - if ($self->field->type == FIELD_TYPE_MULTI_SELECT) { - $count = $dbh->selectrow_array("SELECT COUNT(*) FROM bug_$fname - WHERE value = ?", undef, $self->name); - } - else { - $count = $dbh->selectrow_array("SELECT COUNT(*) FROM bugs - WHERE $fname = ?", - undef, $self->name); - } - $self->{bug_count} = $count; - return $count; -} - -sub field { - my $invocant = shift; - my $class = ref $invocant || $invocant; - my $cache = Bugzilla->request_cache; - # This is just to make life easier for subclasses. Our auto-generated - # subclasses from type() already have this set. - $cache->{"field_$class"} ||= - new Bugzilla::Field({ name => $class->DB_TABLE }); - return $cache->{"field_$class"}; -} - -sub is_default { - my $self = shift; - my $name = $self->DEFAULT_MAP->{$self->field->name}; - # If it doesn't exist in DEFAULT_MAP, then there is no parameter - # related to this field. - return 0 unless $name; - return ($self->name eq Bugzilla->params->{$name}) ? 1 : 0; -} - -sub is_static { - my $self = shift; - # If we need to special-case Resolution for *anything* else, it should - # get its own subclass. - if ($self->field->name eq 'resolution') { - return grep($_ eq $self->name, ('', 'FIXED', 'MOVED', 'DUPLICATE')) - ? 1 : 0; - } - elsif ($self->field->custom) { - return $self->name eq '---' ? 1 : 0; - } - return 0; -} - -sub controls_visibility_of_fields { - my $self = shift; - $self->{controls_visibility_of_fields} ||= Bugzilla::Field->match( - { visibility_field_id => $self->field->id, - visibility_value_id => $self->id }); - return $self->{controls_visibility_of_fields}; -} - -sub visibility_value { - my $self = shift; - if ($self->{visibility_value_id}) { - $self->{visibility_value} ||= - Bugzilla::Field::Choice->type($self->field->value_field)->new( - $self->{visibility_value_id}); - } - return $self->{visibility_value}; -} - -sub controlled_values { - my $self = shift; - return $self->{controlled_values} if defined $self->{controlled_values}; - my $fields = $self->field->controls_values_of; - my %controlled_values; - foreach my $field (@$fields) { - $controlled_values{$field->name} = - Bugzilla::Field::Choice->type($field) - ->match({ visibility_value_id => $self->id }); - } - $self->{controlled_values} = \%controlled_values; - return $self->{controlled_values}; -} - ############ # Mutators # ############ @@ -320,6 +214,25 @@ sub set_visibility_value { # Validators # ############## +sub _check_isactive { + my ($invocant, $value) = @_; + $value = Bugzilla::Object::check_boolean($invocant, $value); + if (!$value and ref $invocant) { + if ($invocant->is_default) { + my $field = $invocant->field; + ThrowUserError('fieldvalue_is_default', + { value => $invocant, field => $field, + param_name => $invocant->DEFAULT_MAP->{$field->name} + }); + } + if ($invocant->is_static) { + ThrowUserError('fieldvalue_not_deletable', + { value => $invocant, field => $invocant->field }); + } + } + return $value; +} + sub _check_value { my ($invocant, $value) = @_; @@ -402,6 +315,9 @@ each value type needs its own class. See the L</SYNOPSIS> for examples of how this works. +This class implements L<Bugzilla::Field::ChoiceInterface>, and so all +methods of that class are also available here. + =head1 METHODS =head2 Class Factory @@ -424,28 +340,7 @@ must call C<type> to get a class you can call methods on. =back -=head2 Accessors - -These are in addition to the standard L<Bugzilla::Object> accessors. - -=over - -=item C<sortkey> - -The key that determines the sort order of this item. +=head2 Mutators -=item C<field> - -The L<Bugzilla::Field> object that this field value belongs to. - -=item C<controlled_values> - -Tells you which values in B<other> fields appear (become visible) when this -value is set in its field. - -Returns a hashref of arrayrefs. The hash keys are the names of fields, -and the values are arrays of C<Bugzilla::Field::Choice> objects, -representing values that this value controls the visibility of, for -that field. - -=back +This class implements mutators for all of the settable accessors in +L<Bugzilla::Field::ChoiceInterface>. diff --git a/Bugzilla/Field/ChoiceInterface.pm b/Bugzilla/Field/ChoiceInterface.pm new file mode 100644 index 0000000000000000000000000000000000000000..a718377c24bdd42097f616cca2a892a170a9fa80 --- /dev/null +++ b/Bugzilla/Field/ChoiceInterface.pm @@ -0,0 +1,267 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Initial Developer of the Original Code is NASA. +# Portions created by NASA are Copyright (C) 2006 San Jose State +# University Foundation. All Rights Reserved. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> +# Greg Hendricks <ghendricks@novell.com> + +package Bugzilla::Field::ChoiceInterface; +use strict; + +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Field; + +use Scalar::Util qw(blessed); + +# Helps implement the "field" accessor without subclasses having to +# write code. +sub FIELD_NAME { return $_[0]->DB_TABLE; } + +#################### +# Subclass Helpers # +#################### + +sub _check_if_controller { + my $self = shift; + my $vis_fields = $self->controls_visibility_of_fields; + my $values = $self->controlled_values; + if (@$vis_fields || scalar(keys %$values)) { + ThrowUserError('fieldvalue_is_controller', + { value => $self, fields => [map($_->name, @$vis_fields)], + vals => $values }); + } +} + + +############# +# Accessors # +############# + +sub is_active { return $_[0]->{'isactive'}; } +sub sortkey { return $_[0]->{'sortkey'}; } + +sub bug_count { + my $self = shift; + return $self->{bug_count} if defined $self->{bug_count}; + my $dbh = Bugzilla->dbh; + my $fname = $self->field->name; + my $count; + if ($self->field->type == FIELD_TYPE_MULTI_SELECT) { + $count = $dbh->selectrow_array("SELECT COUNT(*) FROM bug_$fname + WHERE value = ?", undef, $self->name); + } + else { + $count = $dbh->selectrow_array("SELECT COUNT(*) FROM bugs + WHERE $fname = ?", + undef, $self->name); + } + $self->{bug_count} = $count; + return $count; +} + +sub field { + my $invocant = shift; + my $class = ref $invocant || $invocant; + my $cache = Bugzilla->request_cache; + # This is just to make life easier for subclasses. Our auto-generated + # subclasses from Bugzilla::Field::Choice->type() already have this set. + $cache->{"field_$class"} ||= + new Bugzilla::Field({ name => $class->FIELD_NAME }); + return $cache->{"field_$class"}; +} + +sub is_default { + my $self = shift; + my $name = $self->DEFAULT_MAP->{$self->field->name}; + # If it doesn't exist in DEFAULT_MAP, then there is no parameter + # related to this field. + return 0 unless $name; + return ($self->name eq Bugzilla->params->{$name}) ? 1 : 0; +} + +sub is_static { + my $self = shift; + # If we need to special-case Resolution for *anything* else, it should + # get its own subclass. + if ($self->field->name eq 'resolution') { + return grep($_ eq $self->name, ('', 'FIXED', 'DUPLICATE')) + ? 1 : 0; + } + elsif ($self->field->custom) { + return $self->name eq '---' ? 1 : 0; + } + return 0; +} + +sub controls_visibility_of_fields { + my $self = shift; + $self->{controls_visibility_of_fields} ||= Bugzilla::Field->match( + { visibility_field_id => $self->field->id, + visibility_value_id => $self->id }); + return $self->{controls_visibility_of_fields}; +} + +sub visibility_value { + my $self = shift; + if ($self->{visibility_value_id}) { + require Bugzilla::Field::Choice; + $self->{visibility_value} ||= + Bugzilla::Field::Choice->type($self->field->value_field)->new( + $self->{visibility_value_id}); + } + return $self->{visibility_value}; +} + +sub controlled_values { + my $self = shift; + return $self->{controlled_values} if defined $self->{controlled_values}; + my $fields = $self->field->controls_values_of; + my %controlled_values; + require Bugzilla::Field::Choice; + foreach my $field (@$fields) { + $controlled_values{$field->name} = + Bugzilla::Field::Choice->type($field) + ->match({ visibility_value_id => $self->id }); + } + $self->{controlled_values} = \%controlled_values; + return $self->{controlled_values}; +} + +sub is_visible_on_bug { + my ($self, $bug) = @_; + + # Values currently set on the bug are always shown. + return 1 if $self->is_set_on_bug($bug); + + # Inactive values are, otherwise, never shown. + return 0 if !$self->is_active; + + # Values without a visibility value are, otherwise, always shown. + my $visibility_value = $self->visibility_value; + return 1 if !$visibility_value; + + # Values with a visibility value are only shown if the visibility + # value is set on the bug. + return $visibility_value->is_set_on_bug($bug); +} + +sub is_set_on_bug { + my ($self, $bug) = @_; + my $field_name = $self->FIELD_NAME; + # This allows bug/create/create.html.tmpl to pass in a hashref that + # looks like a bug object. + my $value = blessed($bug) ? $bug->$field_name : $bug->{$field_name}; + return 0 if !defined $value; + + if ($self->field->type == FIELD_TYPE_BUG_URLS + or $self->field->type == FIELD_TYPE_MULTI_SELECT) + { + return grep($_ eq $self->name, @$value) ? 1 : 0; + } + return $value eq $self->name ? 1 : 0; +} + +1; + +__END__ + +=head1 NAME + +Bugzilla::Field::ChoiceInterface - Makes an object act like a +Bugzilla::Field::Choice. + +=head1 DESCRIPTION + +This is an "interface", in the Java sense (sometimes called a "Role" +or a "Mixin" in other languages). L<Bugzilla::Field::Choice> is the +primary implementor of this interface, but other classes also implement +it if they want to "act like" L<Bugzilla::Field::Choice>. + +=head1 METHODS + +=head2 Accessors + +These are in addition to the standard L<Bugzilla::Object> accessors. + +=over + +=item C<sortkey> + +The key that determines the sort order of this item. + +=item C<field> + +The L<Bugzilla::Field> object that this field value belongs to. + +=item C<is_active> + +Whether or not this value should appear as an option on bugs that do +not already have it set as the current value. + +=item C<is_static> + +C<0> if this field value can be renamed or deleted, C<1> otherwise. + +=item C<is_default> + +C<1> if this is the default value for this field, C<0> otherwise. + +=item C<bug_count> + +An integer count of the number of bugs that have this value set. + +=item C<controls_visibility_of_fields> + +Returns an arrayref of L<Bugzilla::Field> objects, representing any +fields whose visibility are controlled by this field value. + +=item C<controlled_values> + +Tells you which values in B<other> fields appear (become visible) when this +value is set in its field. + +Returns a hashref of arrayrefs. The hash keys are the names of fields, +and the values are arrays of objects that implement +C<Bugzilla::Field::ChoiceInterface>, representing values that this value +controls the visibility of, for that field. + +=item C<visibility_value> + +Returns an object that implements C<Bugzilla::Field::ChoiceInterface>, +which represents the value that needs to be set in order for this +value to appear in the UI. + +=item C<is_visible_on_bug> + +Returns C<1> if, according to the settings of C<is_active> and +C<visibility_value>, this value should be displayed as an option +when viewing a bug. Returns C<0> otherwise. + +Takes a single argument, a L<Bugzilla::Bug> object or a hash with +similar fields to a L<Bugzilla::Bug> object. + +=item C<is_set_on_bug> + +Returns C<1> if this value is the current value set for its field on +the passed-in L<Bugzilla::Bug> object (or a hash that looks like a +L<Bugzilla::Bug>). For multi-valued fields, we return C<1> if +I<any> of the currently selected values are this value. + +Returns C<0> otherwise. + +=back diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index 2073201d7a1af40d54a563cf6d88b9f5a09a6428..308eb64d1beb593bdc12033dc47002a85d030604 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -87,14 +87,6 @@ use constant DB_COLUMNS => qw( status ); -use constant REQUIRED_CREATE_FIELDS => qw( - attach_id - bug_id - setter_id - status - type_id -); - use constant UPDATE_COLUMNS => qw( requestee_id setter_id @@ -229,26 +221,6 @@ sub bug { =over -=item C<has_flags> - -Returns 1 if at least one flag exists in the DB, else 0. This subroutine -is mainly used to decide to display the "(My )Requests" link in the footer. - -=back - -=cut - -sub has_flags { - my $dbh = Bugzilla->dbh; - - my $has_flags = $dbh->selectrow_array('SELECT 1 FROM flags ' . $dbh->sql_limit(1)); - return $has_flags || 0; -} - -=pod - -=over - =item C<match($criteria)> Queries the database for flags matching the given criteria @@ -445,10 +417,11 @@ sub create { $timestamp ||= Bugzilla->dbh->selectrow_array('SELECT NOW()'); my $params = {}; - my @columns = grep { $_ ne 'id' } $class->DB_COLUMNS; + my @columns = grep { $_ ne 'id' } $class->_get_db_columns; $params->{$_} = $flag->{$_} foreach @columns; $params->{creation_date} = $params->{modification_date} = $timestamp; + $flag = $class->SUPER::create($params); return $flag; } @@ -768,7 +741,7 @@ sub _check_status { if (!grep($status eq $_ , qw(X + - ?)) || ($status eq '?' && $self->status ne '?' && !$self->type->is_requestable)) { - ThrowCodeError('flag_status_invalid', { id => $self->id, + ThrowUserError('flag_status_invalid', { id => $self->id, status => $status }); } return $status; @@ -1015,7 +988,6 @@ sub notify { $template->process("request/email.txt.tmpl", $vars, \$message) || ThrowTemplateError($template->error()); - Bugzilla->template_inner(""); MessageToMTA($message); } } diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm index f24eef735948c0e7eff6089e833be11ff76084cf..f047ef365e5a46afeb9cd9d7f6773afcf7b851fc 100644 --- a/Bugzilla/Group.pm +++ b/Bugzilla/Group.pm @@ -60,8 +60,6 @@ use constant VALIDATORS => { icon_url => \&_check_icon_url, }; -use constant REQUIRED_CREATE_FIELDS => qw(name description isbuggroup); - use constant UPDATE_COLUMNS => qw( name description diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index 0406e5cecd4a3990352d77103a71146fe85638d9..7f85e70d80fd737050e77b7b15d64df60f26c25f 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -184,6 +184,8 @@ takes a C<modules> parameter, just like L</auth_login_methods>. =head2 bug_columns +B<DEPRECATED> Use L</object_columns> instead. + This allows you to add new fields that will show up in every L<Bugzilla::Bug> object. Note that you will also need to use the L</bug_fields> hook in conjunction with this hook to make this work. @@ -256,6 +258,66 @@ The hash of changed fields. C<< $changes->{field} = [old, new] >> =back +=head2 bug_check_can_change_field + +This hook controls what fields users are allowed to change. You can add code here for +site-specific policy changes and other customizations. This hook is only +executed if the field's new and old values differ. Any denies take priority over any allows. +So, if another extension denies a change but yours allows the change, the other extension's +deny will override your extension's allow. + +Params: + +=over + +=item C<bug> + +L<Bugzilla::Bug> - The current bug object that this field is changing on. + +=item C<field> + +The name (from the C<fielddefs> table) of the field that we are checking. + +=item C<new_value> + +The new value that the field is being changed to. + +=item C<old_value> + +The old value that the field is being changed from. + +=item C<priv_results> + +C<array> - This is how you explicitly allow or deny a change. You should only +push something into this array if you want to explicitly allow or explicitly +deny the change, and thus skip all other permission checks that would otherwise +happen after this hook is called. If you don't care about the field change, +then don't push anything into the array. + +The pushed value should be a choice from the following constants: + +=over + +=item C<PRIVILEGES_REQUIRED_NONE> + +No privileges required. This explicitly B<allows> a change. + +=item C<PRIVILEGES_REQUIRED_REPORTER> + +User is not the reporter, assignee or an empowered user, so B<deny>. + +=item C<PRIVILEGES_REQUIRED_ASSIGNEE> + +User is not the assignee or an empowered user, so B<deny>. + +=item C<PRIVILEGES_REQUIRED_EMPOWERED> + +User is not a sufficiently empowered user, so B<deny>. + +=back + +=back + =head2 bug_fields Allows the addition of database fields from the bugs table to the standard @@ -408,21 +470,33 @@ instead of as a string.) =back -=head2 colchange_columns +=head2 bugmail_relationships -This happens in F<colchange.cgi> right after the list of possible display -columns have been defined and gives you the opportunity to add additional -display columns to the list of selectable columns. +There are various sorts of "relationships" that a user can have to a bug, +such as Assignee, CC, etc. If you want to add a new type of relationship, +you should use this hook. Params: =over -=item C<columns> - An arrayref containing an array of column IDs. Any IDs -added by this hook must have been defined in the the L</buglist_columns> hook. +=item C<relationships> + +A hashref, where the keys are numbers and the values are strings. + +The keys represent a numeric identifier for the relationship. The +numeric identifier should be a negative number between -1 and -127. +The number must be unique across all extensions. (Negative numbers +are used so as not to conflict with relationship identifiers in Bugzilla +itself.) + +The value is the "name" of this relationship that will show up in email +headers in bugmails. The "name" should be short and should contain no +spaces. =back + =head2 config_add_panels If you want to add new panels to the Parameters administrative interface, @@ -675,6 +749,44 @@ The value being set on the object. =back +=head2 object_columns + +This hook allows you to add new "fields" to existing Bugzilla objects, +that correspond to columns in their tables. + +For example, if you added an C<example> column to the "bugs" table, you +would have to also add an C<example> field to the C<Bugzilla::Bug> object +in order to access that data via Bug objects. + +Don't do anything slow inside this hook--it's called several times on +every page of Bugzilla. + +Params: + +=over + +=item C<class> + +The name of the class that this hook is being called on. You can check this +like C<< if ($class->isa('Some::Class')) >> in your code, to add new +fields only for certain classes. + +=item C<columns> + +An arrayref. Add the string names of columns to this array to add new +values to objects. + +For example, if you add an C<example> column to a particular table +(using L</install_update_db>), and then push the string C<example> into +this array for the object that uses that table, then you can access the +information in that column via C<< $object->{example} >> on all objects +of that type. + +This arrayref does not contain the standard column names--you cannot modify +or remove standard object columns using this hook. + +=back + =head2 object_end_of_create_validators Called at the end of L<Bugzilla::Object/run_create_validators>. You can @@ -776,6 +888,61 @@ L<Bugzilla::Object/update> returns. =back +=head2 object_update_columns + +If you've added fields to bugs via L</object_columns>, then this +hook allows you to say which of those columns should be updated in the +database when L<Bugzilla::Object/update> is called on the object. + +If you don't use this hook, then your custom columns won't be modified in +the database by Bugzilla. + +Params: + +=over + +=item C<object> + +The object that is about to be updated. You should check this +like C<< if ($object->isa('Some::Class')) >> in your code, to modify +the "update columns" only for certain classes. + +=item C<columns> + +An arrayref. Add the string names of columns to this array to allow +that column to be updated when C<update()> is called on the object. + +This arrayref does not contain the standard column names--you cannot stop +standard columns from being updated by using this hook. + +=back + +=head2 object_validators + +Allows you to add new items to L<Bugzilla::Object/VALIDATORS> for +particular classes. + +Params: + +=over + +=item C<class> + +The name of the class that C<VALIDATORS> was called on. You can check this +like C<< if ($class->isa('Some::Class')) >> in your code, to add +validators only for certain classes. + +=item C<validators> + +A hashref, where the keys are database columns and the values are subroutine +references. You can add new validators or modify existing ones. If you modify +an existing one, you should remember to call the original validator +inside of your modified validator. (This way, several extensions can all +modify the same validator.) + +=back + + =head2 page_before_template This is a simple way to add your own pages to Bugzilla. This hooks C<page.cgi>, @@ -817,32 +984,32 @@ Params: =back -=head2 sanitycheck_check +=head2 product_end_of_create -This hook allows for extra sanity checks to be added, for use by -F<sanitycheck.cgi>. +Called right after a new product has been created, allowing additional +changes to be made to the new product's attributes. This occurs inside of +a database transaction, so if the hook throws an error all previous +changes will be rolled back including the creation of the new product. Params: =over -=item C<status> - a CODEREF that allows status messages to be displayed -to the user. (F<sanitycheck.cgi>'s C<Status>) +=item C<product> - The new L<Bugzilla::Product> object that was just created. =back -=head2 product_end_of_create +=head2 sanitycheck_check -Called right after a new product has been created, allowing additional -changes to be made to the new product's attributes. This occurs inside of -a database transaction, so if the hook throws an error all previous -changes will be rolled back including the creation of the new product. +This hook allows for extra sanity checks to be added, for use by +F<sanitycheck.cgi>. Params: =over -=item C<product> - The new L<Bugzilla::Product> object that was just created. +=item C<status> - a CODEREF that allows status messages to be displayed +to the user. (F<sanitycheck.cgi>'s C<Status>) =back diff --git a/Bugzilla/Install.pm b/Bugzilla/Install.pm index 10804ab70e7432c547c193f13b2f855881e6c834..e90fe41dba4d8c4f208849e7dcb17bb0f9035a6a 100644 --- a/Bugzilla/Install.pm +++ b/Bugzilla/Install.pm @@ -65,6 +65,9 @@ sub SETTINGS { # 2007-07-02 altlist@gmail.com -- Bug 225731 quote_replies => { options => ['quoted_reply', 'simple_reply', 'off'], default => "quoted_reply" }, + # 2009-02-01 mozilla@matt.mchenryfamily.org -- Bug 398473 + comment_box_position => { options => ['before_comments', 'after_comments'], + default => 'before_comments' }, # 2008-08-27 LpSolit@gmail.com -- Bug 182238 timezone => { subclass => 'Timezone', default => 'local' }, } @@ -109,14 +112,25 @@ use constant SYSTEM_GROUPS => ( description => 'Can confirm a bug or mark it a duplicate' }, { - name => 'bz_canusewhines', - description => 'User can configure whine reports for self' + name => 'bz_canusewhineatothers', + description => 'Can configure whine reports for other users', + }, + { + name => 'bz_canusewhines', + description => 'User can configure whine reports for self', + # inherited_by means that users in the groups listed below are + # automatically members of bz_canusewhines. + inherited_by => ['editbugs', 'bz_canusewhineatothers'], }, { name => 'bz_sudoers', - description => 'Can perform actions as other users' + description => 'Can perform actions as other users', + }, + { + name => 'bz_sudo_protect', + description => 'Can not be impersonated by other users', + inherited_by => ['bz_sudoers'], }, - # There are also other groups created in update_system_groups. ); use constant DEFAULT_CLASSIFICATION => { @@ -154,38 +168,29 @@ sub update_settings { sub update_system_groups { my $dbh = Bugzilla->dbh; + $dbh->bz_start_transaction(); + # Create most of the system groups foreach my $definition (SYSTEM_GROUPS) { my $exists = new Bugzilla::Group({ name => $definition->{name} }); - $definition->{isbuggroup} = 0; - Bugzilla::Group->create($definition) unless $exists; - } - - # Certain groups need something done after they are created. We do - # that here. - - # Make sure people who can whine at others can also whine. - if (!new Bugzilla::Group({name => 'bz_canusewhineatothers'})) { - my $whineatothers = Bugzilla::Group->create({ - name => 'bz_canusewhineatothers', - description => 'Can configure whine reports for other users', - isbuggroup => 0 }); - my $whine = new Bugzilla::Group({ name => 'bz_canusewhines' }); - - $dbh->do('INSERT INTO group_group_map (grantor_id, member_id) - VALUES (?,?)', undef, $whine->id, $whineatothers->id); + if (!$exists) { + $definition->{isbuggroup} = 0; + my $inherited_by = delete $definition->{inherited_by}; + my $created = Bugzilla::Group->create($definition); + # Each group in inherited_by is automatically a member of this + # group. + if ($inherited_by) { + foreach my $name (@$inherited_by) { + my $member = Bugzilla::Group->check($name); + $dbh->do('INSERT INTO group_group_map (grantor_id, + member_id) VALUES (?,?)', + undef, $created->id, $member->id); + } + } + } } - # Make sure sudoers are automatically protected from being sudoed. - if (!new Bugzilla::Group({name => 'bz_sudo_protect'})) { - my $sudo_protect = Bugzilla::Group->create({ - name => 'bz_sudo_protect', - description => 'Can not be impersonated by other users', - isbuggroup => 0 }); - my $sudo = new Bugzilla::Group({ name => 'bz_sudoers' }); - $dbh->do('INSERT INTO group_group_map (grantor_id, member_id) - VALUES (?,?)', undef, $sudo_protect->id, $sudo->id); - } + $dbh->bz_commit_transaction(); } sub create_default_classification { diff --git a/Bugzilla/Install/CPAN.pm b/Bugzilla/Install/CPAN.pm index af50b52e41bfdad6da78cbf465da7246b9c93b79..6e3e90f6e3b40bd87885a006459337eb1583e18f 100644 --- a/Bugzilla/Install/CPAN.pm +++ b/Bugzilla/Install/CPAN.pm @@ -73,6 +73,8 @@ use constant CPAN_DEFAULTS => { build_cache => 0, build_requires_install_policy => 'yes', cache_metadata => 1, + colorize_output => 1, + colorize_print => 'bold', index_expire => 1, scan_cache => 'atstart', @@ -144,10 +146,6 @@ sub install_module { elsif ($name eq 'SOAP::Lite') { $CPAN::Config->{makepl_arg} .= " --noprompt"; } - # MIME-tools has a Module::Install that's too old to understand alldeps. - elsif ($name =~ /^MIME::/) { - $ENV{PERL_AUTOINSTALL} = '--defaultdeps'; - } my $module = CPAN::Shell->expand('Module', $name); print install_string('install_module', diff --git a/Bugzilla/Install/CVS/Entries b/Bugzilla/Install/CVS/Entries deleted file mode 100644 index 1e279ab5d0202c5a7977c88baaa7452b8daf3f78..0000000000000000000000000000000000000000 --- a/Bugzilla/Install/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/CPAN.pm/1.2.6.4/Wed Apr 21 00:17:42 2010//TBUGZILLA-3_6_1 -/DB.pm/1.83.2.2/Tue Jun 1 04:02:47 2010//TBUGZILLA-3_6_1 -/Filesystem.pm/1.47.2.2/Thu Jun 24 17:10:19 2010//TBUGZILLA-3_6_1 -/Localconfig.pm/1.18.2.1/Thu Apr 22 18:22:50 2010//TBUGZILLA-3_6_1 -/Requirements.pm/1.76.2.2/Wed Apr 21 00:17:42 2010//TBUGZILLA-3_6_1 -/Util.pm/1.26.2.4/Thu May 6 02:17:23 2010//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Install/CVS/Repository b/Bugzilla/Install/CVS/Repository deleted file mode 100644 index b6a6b18231388595ed52a5ec65b85eadd2a37407..0000000000000000000000000000000000000000 --- a/Bugzilla/Install/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Install diff --git a/Bugzilla/Install/CVS/Root b/Bugzilla/Install/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Install/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Install/CVS/Tag b/Bugzilla/Install/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Install/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 4ae1885967c169e5e325ec64407082f95ed74c4c..069096800ecaaca5db35c1d9064decaea971dac1 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -102,6 +102,16 @@ sub update_fielddefs_definition { $dbh->do('UPDATE fielddefs SET buglist = 1 WHERE custom = 1 AND type != ' . FIELD_TYPE_MULTI_SELECT); } + #2008-08-26 elliotte_martin@yahoo.com - Bug 251556 + $dbh->bz_add_column('fielddefs', 'reverse_desc', {TYPE => 'TINYTEXT'}); + + $dbh->do('UPDATE fielddefs SET buglist = 1 + WHERE custom = 1 AND type = ' . FIELD_TYPE_MULTI_SELECT); + + $dbh->bz_add_column('fielddefs', 'is_mandatory', + {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'}); + $dbh->bz_add_index('fielddefs', 'fielddefs_is_mandatory_idx', + ['is_mandatory']); # Remember, this is not the function for adding general table changes. # That is below. Add new changes to the fielddefs table above this @@ -142,7 +152,6 @@ sub update_table_definitions { _add_bug_vote_cache(); _update_product_name_definition(); - _add_bug_keyword_cache(); $dbh->bz_add_column('profiles', 'disabledtext', {TYPE => 'MEDIUMTEXT', NOTNULL => 1}, ''); @@ -165,11 +174,6 @@ sub update_table_definitions { $dbh->bz_add_column('bugs', 'everconfirmed', {TYPE => 'BOOLEAN', NOTNULL => 1}, 1); - $dbh->bz_add_column('products', 'maxvotesperbug', - {TYPE => 'INT2', NOTNULL => 1, DEFAULT => '10000'}); - $dbh->bz_add_column('products', 'votestoconfirm', - {TYPE => 'INT2', NOTNULL => 1}, 0); - _populate_milestones_table(); # 2000-03-22 Changed the default value for target_milestone to be "---" @@ -358,10 +362,10 @@ sub update_table_definitions { # Add defaults for some fields that should have them but didn't. $dbh->bz_alter_column('bugs', 'status_whiteboard', {TYPE => 'MEDIUMTEXT', NOTNULL => 1, DEFAULT => "''"}); - $dbh->bz_alter_column('bugs', 'keywords', - {TYPE => 'MEDIUMTEXT', NOTNULL => 1, DEFAULT => "''"}); - $dbh->bz_alter_column('bugs', 'votes', - {TYPE => 'INT3', NOTNULL => 1, DEFAULT => '0'}); + if ($dbh->bz_column_info('bugs', 'votes')) { + $dbh->bz_alter_column('bugs', 'votes', + {TYPE => 'INT3', NOTNULL => 1, DEFAULT => '0'}); + } $dbh->bz_alter_column('bugs', 'lastdiffed', {TYPE => 'DATETIME'}); @@ -466,11 +470,14 @@ sub update_table_definitions { if ($dbh->bz_column_info('products', 'disallownew')){ $dbh->bz_alter_column('products', 'disallownew', {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 0}); + + if ($dbh->bz_column_info('products', 'votesperuser')) { + $dbh->bz_alter_column('products', 'votesperuser', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); + $dbh->bz_alter_column('products', 'votestoconfirm', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); + } } - $dbh->bz_alter_column('products', 'votesperuser', - {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); - $dbh->bz_alter_column('products', 'votestoconfirm', - {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); # 2006-08-04 LpSolit@gmail.com - Bug 305941 $dbh->bz_drop_column('profiles', 'refreshed_when'); @@ -597,6 +604,27 @@ sub update_table_definitions { _fix_decimal_types(); _fix_series_creator_fk(); + # 2009-11-14 dkl@redhat.com - Bug 310450 + $dbh->bz_add_column('bugs_activity', 'comment_id', {TYPE => 'INT3'}); + + # 2010-04-07 LpSolit@gmail.com - Bug 69621 + $dbh->bz_drop_column('bugs', 'keywords'); + + # 2010-05-07 ewong@pw-wspx.org - Bug 463945 + $dbh->bz_alter_column('group_control_map', 'membercontrol', + {TYPE => 'INT1', NOTNULL => 1, DEFAULT => CONTROLMAPNA}); + $dbh->bz_alter_column('group_control_map', 'othercontrol', + {TYPE => 'INT1', NOTNULL => 1, DEFAULT => CONTROLMAPNA}); + + # Add NOT NULL to some columns that need it, and DEFAULT to + # attachments.ispatch. + $dbh->bz_alter_column('attachments', 'ispatch', + { TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE'}); + $dbh->bz_alter_column('keyworddefs', 'description', + { TYPE => 'MEDIUMTEXT', NOTNULL => 1 }, ''); + $dbh->bz_alter_column('products', 'description', + { TYPE => 'MEDIUMTEXT', NOTNULL => 1 }, ''); + ################################################################ # New --TABLE-- changes should go *** A B O V E *** this point # ################################################################ @@ -649,14 +677,14 @@ sub _add_bug_vote_cache { # (P.S. All is not lost; it appears that the latest betas of MySQL # support a new table format which will allow 32 indices.) - $dbh->bz_drop_column('bugs', 'area'); - if (!$dbh->bz_column_info('bugs', 'votes')) { + if ($dbh->bz_column_info('bugs', 'area')) { + $dbh->bz_drop_column('bugs', 'area'); $dbh->bz_add_column('bugs', 'votes', {TYPE => 'INT3', NOTNULL => 1, DEFAULT => 0}); $dbh->bz_add_index('bugs', 'bugs_votes_idx', [qw(votes)]); + $dbh->bz_add_column('products', 'votesperuser', + {TYPE => 'INT2', NOTNULL => 1}, 0); } - $dbh->bz_add_column('products', 'votesperuser', - {TYPE => 'INT2', NOTNULL => 1}, 0); } sub _update_product_name_definition { @@ -683,46 +711,6 @@ sub _update_product_name_definition { } } -sub _add_bug_keyword_cache { - my $dbh = Bugzilla->dbh; - # 2000-01-16 Added a "keywords" field to the bugs table, which - # contains a string copy of the entries of the keywords table for this - # bug. This is so that I can easily sort and display a keywords - # column in bug lists. - - if (!$dbh->bz_column_info('bugs', 'keywords')) { - $dbh->bz_add_column('bugs', 'keywords', - {TYPE => 'MEDIUMTEXT', NOTNULL => 1, DEFAULT => "''"}); - - my @kwords; - print "Making sure 'keywords' field of table 'bugs' is empty...\n"; - $dbh->do("UPDATE bugs SET keywords = '' WHERE keywords != ''"); - print "Repopulating 'keywords' field of table 'bugs'...\n"; - my $sth = $dbh->prepare("SELECT keywords.bug_id, keyworddefs.name " . - "FROM keywords, keyworddefs " . - "WHERE keyworddefs.id = keywords.keywordid " . - "ORDER BY keywords.bug_id, keyworddefs.name"); - $sth->execute; - my @list; - my $bugid = 0; - my @row; - while (1) { - my ($b, $k) = ($sth->fetchrow_array()); - if (!defined $b || $b ne $bugid) { - if (@list) { - $dbh->do("UPDATE bugs SET keywords = " . - $dbh->quote(join(', ', @list)) . - " WHERE bug_id = $bugid"); - } - last if !$b; - $bugid = $b; - @list = (); - } - push(@list, $k); - } - } -} - # A helper for the function below. sub _write_one_longdesc { my ($id, $who, $when, $buffer) = (@_); @@ -891,9 +879,11 @@ sub _add_unique_login_name_index_to_profiles { ["votes", "who"], ["longdescs", "who"]) { my ($table, $field) = (@$i); - print " Updating $table.$field...\n"; - $dbh->do("UPDATE $table SET $field = $u1 " . - "WHERE $field = $u2"); + if ($dbh->bz_table_info($table)) { + print " Updating $table.$field...\n"; + $dbh->do("UPDATE $table SET $field = $u1 " . + "WHERE $field = $u2"); + } } $dbh->do("DELETE FROM profiles WHERE userid = $u2"); } @@ -1051,6 +1041,7 @@ sub _copy_from_comments_to_longdescs { # 2000-11-27 For Bugzilla 2.5 and later. Copy data from 'comments' to # 'longdescs' - the new name of the comments table. if ($dbh->bz_table_info('comments')) { + print "Copying data from 'comments' to 'longdescs'...\n"; my $quoted_when = $dbh->quote_identifier('when'); $dbh->do("INSERT INTO longdescs (bug_when, bug_id, who, thetext) SELECT $quoted_when, bug_id, who, comment @@ -1258,6 +1249,7 @@ sub _use_ip_instead_of_hostname_in_logincookies { # # Use the ip, not the hostname, in the logincookies table if ($dbh->bz_column_info("logincookies", "hostname")) { + print "Clearing the logincookies table...\n"; # We've changed what we match against, so all entries are now invalid $dbh->do("DELETE FROM logincookies"); @@ -1997,9 +1989,11 @@ sub _copy_old_charts_into_database { my $all_name = "-All-"; my $open_name = "All Open"; + $dbh->bz_start_transaction(); my $products = $dbh->selectall_arrayref("SELECT name FROM products"); foreach my $product ((map { $_->[0] } @$products), "-All-") { + print "$product:\n"; # First, create the series my %queries; my %seriesids; @@ -2048,8 +2042,9 @@ sub _copy_old_charts_into_database { my %data; my $last_date = ""; - while (<$in>) { - if (/^(\d+\|.*)/) { + my @lines = <$in>; + while (my $line = shift @lines) { + if ($line =~ /^(\d+\|.*)/) { my @numbers = split(/\||\r/, $1); # Only take the first line for each date; it was possible to @@ -2072,6 +2067,9 @@ sub _copy_old_charts_into_database { $in->close; + my $total_items = (scalar(@fields) + 1) + * scalar(keys %{ $data{'NEW'} }); + my $count = 0; foreach my $field (@fields, $open_name) { # Insert values into series_data: series_id, date, value my %fielddata = %{$data{$field}}; @@ -2083,6 +2081,8 @@ sub _copy_old_charts_into_database { # We prepared this above $seriesdatasth->execute($seriesids{$field}, $date, $fielddata{$date} || 0); + indicate_progress({ total => $total_items, + current => ++$count, every => 100 }); } } @@ -2109,6 +2109,8 @@ sub _copy_old_charts_into_database { } } } + + $dbh->bz_commit_transaction(); } } @@ -2177,7 +2179,7 @@ sub _convert_attachments_filename_from_mediumtext { # and attachment.cgi now takes them out, but old ones need converting. my $ref = $dbh->bz_column_info("attachments", "filename"); if ($ref->{TYPE} ne 'varchar(100)') { - print "Removing paths from filenames in attachments table...\n"; + print "Removing paths from filenames in attachments table..."; my $sth = $dbh->prepare("SELECT attach_id, filename FROM attachments " . "WHERE " . $dbh->sql_position(q{'/'}, 'filename') . " > 0 OR " . @@ -2193,8 +2195,6 @@ sub _convert_attachments_filename_from_mediumtext { print "Done.\n"; - print "Resizing attachments.filename from mediumtext to", - " varchar(100).\n"; $dbh->bz_alter_column("attachments", "filename", {TYPE => 'varchar(100)', NOTNULL => 1}); } @@ -2208,9 +2208,9 @@ sub _rename_votes_count_and_force_group_refresh { # # Renaming the 'count' column in the votes table because Sybase doesn't # like it - if ($dbh->bz_column_info('votes', 'count')) { - $dbh->bz_rename_column('votes', 'count', 'vote_count'); - } + return if !$dbh->bz_table_info('votes'); + return if $dbh->bz_column_info('votes', 'count'); + $dbh->bz_rename_column('votes', 'count', 'vote_count'); } sub _fix_group_with_empty_name { @@ -2268,7 +2268,9 @@ sub _migrate_email_prefs_to_new_table { "Reporter" => REL_REPORTER, "QAcontact" => REL_QA, "CClist" => REL_CC, - "Voter" => REL_VOTER); + # REL_VOTER was "4" before it was moved to an + # extension. + "Voter" => 4); my %events = ("Removeme" => EVT_ADDED_REMOVED, "Comments" => EVT_COMMENT, @@ -3115,11 +3117,11 @@ sub _check_content_length { WHERE CHAR_LENGTH($field_name) > ?", {Columns=>[1,2]}, $max_length) }; if (scalar keys %contents) { - print install_string('install_data_too_long', - { column => $field_name, - id_column => $id_field, - table => $table_name, - max_length => $max_length }); + my $error = install_string('install_data_too_long', + { column => $field_name, + id_column => $id_field, + table => $table_name, + max_length => $max_length }); foreach my $id (keys %contents) { my $string = $contents{$id}; # Don't dump the whole string--it could be 16MB. @@ -3127,9 +3129,9 @@ sub _check_content_length { $string = substr($string, 0, 30) . "..." . substr($string, -30) . "\n"; } - print "$id: $string\n"; + $error .= "$id: $string\n"; } - exit 3; + die $error; } } @@ -3167,16 +3169,17 @@ sub _populate_bugs_fulltext { $bug_ids ||= $dbh->selectcol_arrayref('SELECT bug_id FROM bugs'); # If there are no bugs in the bugs table, there's nothing to populate. return if !@$bug_ids; + my $num_bugs = scalar @$bug_ids; my $where = ""; if ($fulltext) { - print "Updating bugs_fulltext...\n"; + print "Updating bugs_fulltext for $num_bugs bugs...\n"; $where = "WHERE " . $dbh->sql_in('bugs.bug_id', $bug_ids); $dbh->do("DELETE FROM bugs_fulltext WHERE " . $dbh->sql_in('bug_id', $bug_ids)); } else { - print "Populating bugs_fulltext..."; + print "Populating bugs_fulltext with $num_bugs entries..."; print " (this can take a long time.)\n"; } my $newline = $dbh->quote("\n"); @@ -3261,9 +3264,9 @@ sub _fix_invalid_custom_field_names { next if $field->name =~ /^[a-zA-Z0-9_]+$/; # The field name is illegal and can break the DB. Kill the field! $field->set_obsolete(1); - eval { $field->remove_from_db(); }; print "Removing custom field '" . $field->name . "' (illegal name)... "; - print $@ ? "failed\n$@\n" : "succeeded\n"; + eval { $field->remove_from_db(); }; + print $@ ? "failed:\n$@\n" : "succeeded\n"; } } @@ -3345,8 +3348,10 @@ sub _add_allows_unconfirmed_to_product_table { if (!$dbh->bz_column_info('products', 'allows_unconfirmed')) { $dbh->bz_add_column('products', 'allows_unconfirmed', { TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE' }); - $dbh->do('UPDATE products SET allows_unconfirmed = 1 - WHERE votestoconfirm > 0'); + if ($dbh->bz_column_info('products', 'votestoconfirm')) { + $dbh->do('UPDATE products SET allows_unconfirmed = 1 + WHERE votestoconfirm > 0'); + } } } diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm index 789f193e5660a12ed8f4d780cfeb4996c420ad3b..9ee21ed353418953e529b966a838f45678541c5b 100644 --- a/Bugzilla/Install/Filesystem.pm +++ b/Bugzilla/Install/Filesystem.pm @@ -250,7 +250,6 @@ sub FILESYSTEM { # for contrib skins which don't provide them themselves. foreach my $skin_dir ("$skinsdir/custom", <$skinsdir/contrib/*>) { next if basename($skin_dir) =~ /^cvs$/i; - $create_dirs{"$skin_dir/yui"} = $ws_dir_readable; foreach my $base_css (<$skinsdir/standard/*.css>) { _add_custom_css($skin_dir, basename($base_css), \%create_files, $ws_readable); } @@ -293,14 +292,8 @@ EOT contents => HT_DEFAULT_DENY }, 't/.htaccess' => { perms => $ws_readable, contents => HT_DEFAULT_DENY }, - - '.htaccess' => { perms => $ws_readable, contents => <<EOT -# Don't allow people to retrieve non-cgi executable files or our private data -<FilesMatch ^(.*\\.pm|.*\\.pl|.*localconfig.*)\$> - deny from all -</FilesMatch> -EOT - }, + "$datadir/.htaccess" => { perms => $ws_readable, + contents => HT_DEFAULT_DENY }, "$webdotdir/.htaccess" => { perms => $ws_readable, contents => <<EOT # Restrict access to .dot files to the public webdot server at research.att.com @@ -320,18 +313,6 @@ EOT Deny from all EOT }, - - # Even though $datadir may not (and should not) be accessible from the - # web server, we can't know for sure, so create the .htaccess anyway. - # It's harmless if it isn't accessible... - "$datadir/.htaccess" => { perms => $ws_readable, contents => <<EOT -# Nothing in this directory is retrievable unless overridden by an .htaccess -# in a subdirectory. -deny from all -EOT - - - }, ); my %all_files = (%create_files, %htaccess, %index_html, %files); @@ -447,26 +428,6 @@ sub create_htaccess { _create_files(%{FILESYSTEM()->{htaccess}}); # Repair old .htaccess files - my $htaccess = new IO::File('.htaccess', 'r') || die ".htaccess: $!"; - my $old_data; - { local $/; $old_data = <$htaccess>; } - $htaccess->close; - - my $repaired = 0; - if ($old_data =~ s/\|localconfig\|/\|.*localconfig.*\|/) { - $repaired = 1; - } - if ($old_data !~ /\(\.\*\\\.pm\|/) { - $old_data =~ s/\(/(.*\\.pm\|/; - $repaired = 1; - } - if ($repaired) { - print "Repairing .htaccess...\n"; - $htaccess = new IO::File('.htaccess', 'w') || die $!; - print $htaccess $old_data; - $htaccess->close; - } - my $webdot_dir = bz_locations()->{'webdotdir'}; # The public webdot IP address changed. diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index bb078e9b9f16739e8597e961336f43638c1cfc0e..00077a5a965325e2d2e3c2bfef2fc062cf4fe70a 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -66,12 +66,9 @@ sub REQUIRED_MODULES { { package => 'CGI.pm', module => 'CGI', - # Perl 5.10 requires CGI 3.33 due to a taint issue when - # uploading attachments, see bug 416382. - # Require CGI 3.21 for -httponly support, see bug 368502. - version => (vers_cmp($perl_ver, '5.10') > -1) ? '3.33' : '3.21', - # CGI::Carp in 3.46 and 3.47 breaks Template Toolkit - blacklist => ['^3\.46$', '^3\.47$'], + # 3.49 fixes a problem with operating Bugzilla behind a proxy. + # (bug 509303) + version => '3.49', }, { package => 'Digest-SHA', @@ -137,6 +134,11 @@ sub REQUIRED_MODULES { module => 'URI', version => 0 }, + { + package => 'List-MoreUtils', + module => 'List::MoreUtils', + version => 0.22, + }, ); my $extra_modules = _get_extension_requirements('REQUIRED_MODULES'); @@ -236,6 +238,13 @@ sub OPTIONAL_MODULES { version => 0, feature => ['jsonrpc'], }, + { + package => 'JSON-XS', + module => 'JSON::XS', + # 2.0 is the first version that will work with JSON::RPC. + version => '2.0', + feature => ['jsonrpc_faster'], + }, { package => 'Test-Taint', module => 'Test::Taint', @@ -376,17 +385,6 @@ sub _check_missing { return \@missing; } -# Returns the build ID of ActivePerl. If several versions of -# ActivePerl are installed, it won't be able to know which one -# you are currently running. But that's our best guess. -sub _get_activestate_build_id { - eval 'use Win32::TieRegistry'; - return 0 if $@; - my $key = Win32::TieRegistry->new('LMachine\Software\ActiveState\ActivePerl') - or return 0; - return $key->GetValue("CurrentVersion"); -} - sub print_module_instructions { my ($check_results, $output) = @_; @@ -427,7 +425,7 @@ sub print_module_instructions { if ((!$output && @{$check_results->{missing}}) || ($output && $check_results->{any_missing})) { - if (ON_WINDOWS) { + if (ON_ACTIVESTATE) { my $perl_ver = sprintf('%vd', $^V); # URL when running Perl 5.8.x. @@ -436,10 +434,13 @@ sub print_module_instructions { if (vers_cmp($perl_ver, '5.10') > -1) { $url_to_theory58S = 'http://cpan.uwinnipeg.ca/PPMPackages/10xx/'; } - print colored(install_string('ppm_repo_add', - { theory_url => $url_to_theory58S }), 'red'); + print colored( + install_string('ppm_repo_add', + { theory_url => $url_to_theory58S }), + COLOR_ERROR); + # ActivePerls older than revision 819 require an additional command. - if (_get_activestate_build_id() < 819) { + if (ON_ACTIVESTATE < 819) { print install_string('ppm_repo_up'); } } @@ -470,20 +471,21 @@ sub print_module_instructions { } if (my @missing = @{$check_results->{missing}}) { - print colored(install_string('commands_required'), 'red') . "\n"; + print colored(install_string('commands_required'), COLOR_ERROR), "\n"; foreach my $package (@missing) { my $command = install_command($package); print " $command\n"; } } - if ($output && $check_results->{any_missing} && !ON_WINDOWS + if ($output && $check_results->{any_missing} && !ON_ACTIVESTATE && !$check_results->{hide_all}) { print install_string('install_all', { perl => $^X }); } if (!$check_results->{pass}) { - print colored(install_string('installation_failed'), 'red') . "\n\n"; + print colored(install_string('installation_failed'), COLOR_ERROR), + "\n\n"; } } @@ -581,7 +583,7 @@ sub have_vers { $ok = "$ok:" if $ok; my $str = sprintf "%s %19s %-9s $ok $vstr $black_string\n", install_string('checking_for'), $package, "($want_string)"; - print $vok ? $str : colored($str, 'red'); + print $vok ? $str : colored($str, COLOR_ERROR); } return $vok ? 1 : 0; @@ -591,7 +593,7 @@ sub install_command { my $module = shift; my ($command, $package); - if (ON_WINDOWS) { + if (ON_ACTIVESTATE) { $command = 'ppm install %s'; $package = $module->{package}; } diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm index 66658ff244c322fea89002a45c58bf7204482ed9..7779f6bda660718bcbc135aa677d3ec72fd23ab6 100644 --- a/Bugzilla/Install/Util.pm +++ b/Bugzilla/Install/Util.pm @@ -32,6 +32,7 @@ use File::Basename; use POSIX qw(setlocale LC_CTYPE); use Safe; use Scalar::Util qw(tainted); +use Term::ANSIColor qw(colored); use base qw(Exporter); our @EXPORT_OK = qw( @@ -287,84 +288,85 @@ sub install_string { return $string_template; } -sub include_languages { - # If we are in CGI mode (not in checksetup.pl) and if the function has - # been called without any parameter, then we cache the result of this - # function in Bugzilla->request_cache. This is done to improve the - # performance of the template processing. - my $to_be_cached = 0; - if (not @_) { - my $cache = _cache(); - if (exists $cache->{include_languages}) { - return @{ $cache->{include_languages} }; - } - $to_be_cached = 1; - } - my ($params) = @_; - $params ||= {}; +sub _wanted_languages { + my ($requested, @wanted); - # Basically, the way this works is that we have a list of languages - # that we *want*, and a list of languages that Bugzilla actually - # supports. The caller tells us what languages they want, by setting - # $ENV{HTTP_ACCEPT_LANGUAGE}, using the "LANG" cookie or setting - # $params->{only_language}. The languages we support are those - # specified in $params->{use_languages}. Otherwise we support every - # language installed in the template/ directory. - - my @wanted; - if ($params->{only_language}) { - @wanted = ($params->{only_language}); - } - else { - @wanted = _sort_accept_language($ENV{'HTTP_ACCEPT_LANGUAGE'} || ''); - # Don't use the cookie if we are in "checksetup.pl". The test - # with $ENV{'SERVER_SOFTWARE'} is the same as in - # Bugzilla:Util::i_am_cgi. - if (exists $ENV{'SERVER_SOFTWARE'}) { - my $cgi = Bugzilla->cgi; - if (defined (my $lang = $cgi->cookie('LANG'))) { - unshift @wanted, $lang; - } - } - } - - my @supported; - if (defined $params->{use_languages}) { - @supported = @{$params->{use_languages}}; + # Checking SERVER_SOFTWARE is the same as i_am_cgi() in Bugzilla::Util. + if (exists $ENV{'SERVER_SOFTWARE'}) { + my $cgi = Bugzilla->cgi; + $requested = $cgi->http('Accept-Language') || ''; + my $lang = $cgi->cookie('LANG'); + push(@wanted, $lang) if $lang; } else { - my @dirs = glob(bz_locations()->{'templatedir'} . "/*"); - @dirs = map(basename($_), @dirs); - @supported = grep($_ ne 'CVS', @dirs); + $requested = get_console_locale(); } - - my @usedlanguages; - foreach my $wanted (@wanted) { + + push(@wanted, _sort_accept_language($requested)); + return \@wanted; +} + +sub _wanted_to_actual_languages { + my ($wanted, $supported) = @_; + + my @actual; + foreach my $lang (@$wanted) { # If we support the language we want, or *any version* of - # the language we want, it gets pushed into @usedlanguages. + # the language we want, it gets pushed into @actual. # # Per RFC 1766 and RFC 2616, things like 'en' match 'en-us' and # 'en-uk', but not the other way around. (This is unfortunately # not very clearly stated in those RFC; see comment just over 14.5 # in http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4) - if(my @found = grep /^\Q$wanted\E(-.+)?$/i, @supported) { - push (@usedlanguages, @found); - } + my @found = grep(/^\Q$lang\E(-.+)?$/i, @$supported); + push(@actual, @found) if @found; } # We always include English at the bottom if it's not there, even if - # somebody removed it from use_languages. - if (!grep($_ eq 'en', @usedlanguages)) { - push(@usedlanguages, 'en'); + # it wasn't selected by the user. + if (!grep($_ eq 'en', @actual)) { + push(@actual, 'en'); } - # Cache the result if we are in CGI mode and called without parameter - # (see the comment at the top of this function). - if ($to_be_cached) { - _cache()->{include_languages} = \@usedlanguages; - } + return \@actual; +} - return @usedlanguages; +sub supported_languages { + my $cache = _cache(); + return $cache->{supported_languages} if $cache->{supported_languages}; + + my @dirs = glob(bz_locations()->{'templatedir'} . "/*"); + my @languages; + foreach my $dir (@dirs) { + # It's a language directory only if it contains "default" or + # "custom". This auto-excludes CVS directories as well. + next if (!-d "$dir/default" and !-d "$dir/custom"); + my $lang = basename($dir); + # Check for language tag format conforming to RFC 1766. + next unless $lang =~ /^[a-zA-Z]{1,8}(-[a-zA-Z]{1,8})?$/; + push(@languages, $lang); + } + + $cache->{supported_languages} = \@languages; + return \@languages; +} + +sub include_languages { + my ($params) = @_; + + # Basically, the way this works is that we have a list of languages + # that we *want*, and a list of languages that Bugzilla actually + # supports. + my $wanted; + if ($params->{language}) { + $wanted = [$params->{language}]; + } + else { + $wanted = _wanted_languages(); + } + my $supported = supported_languages(); + my $actual = _wanted_to_actual_languages($wanted, $supported); + return @$actual; } # Used by template_include_path @@ -570,10 +572,25 @@ sub get_console_locale { sub init_console { eval { ON_WINDOWS && require Win32::Console::ANSI; }; $ENV{'ANSI_COLORS_DISABLED'} = 1 if ($@ || !-t *STDOUT); - $ENV{'HTTP_ACCEPT_LANGUAGE'} ||= get_console_locale(); + $SIG{__DIE__} = \&_console_die; prevent_windows_dialog_boxes(); } +sub _console_die { + my ($message) = @_; + # $^S means "we are in an eval" + if ($^S) { + die $message; + } + # Remove newlines from the message before we color it, and then + # add them back in on display. Otherwise the ANSI escape code + # for resetting the color comes after the newline, and Perl thinks + # that it should put "at Bugzilla/Install.pm line 1234" after the + # message. + $message =~ s/\n+$//; + die colored($message, COLOR_ERROR) . "\n"; +} + sub prevent_windows_dialog_boxes { # This code comes from http://bugs.activestate.com/show_bug.cgi?id=82183 # and prevents Perl modules from popping up dialog boxes, particularly diff --git a/Bugzilla/Job/CVS/Entries b/Bugzilla/Job/CVS/Entries deleted file mode 100644 index 5f315797bb93604fd14d03905dd1e8f723f97419..0000000000000000000000000000000000000000 --- a/Bugzilla/Job/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Mailer.pm/1.3/Thu Sep 10 23:46:21 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Job/CVS/Repository b/Bugzilla/Job/CVS/Repository deleted file mode 100644 index 5e47bb1632a3158dcb4ee47fd3329adf4443d759..0000000000000000000000000000000000000000 --- a/Bugzilla/Job/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Job diff --git a/Bugzilla/Job/CVS/Root b/Bugzilla/Job/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Job/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Job/CVS/Tag b/Bugzilla/Job/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Job/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/JobQueue/CVS/Entries b/Bugzilla/JobQueue/CVS/Entries deleted file mode 100644 index f6a5456766412b1ab4d58fcc7d1d3dd63e555c68..0000000000000000000000000000000000000000 --- a/Bugzilla/JobQueue/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Runner.pm/1.5/Fri Sep 4 21:20:27 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/JobQueue/CVS/Repository b/Bugzilla/JobQueue/CVS/Repository deleted file mode 100644 index 60b12ebedfa3ad9f4948f1d0a1b1ffb36189945a..0000000000000000000000000000000000000000 --- a/Bugzilla/JobQueue/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/JobQueue diff --git a/Bugzilla/JobQueue/CVS/Root b/Bugzilla/JobQueue/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/JobQueue/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/JobQueue/CVS/Tag b/Bugzilla/JobQueue/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/JobQueue/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/JobQueue/Runner.pm b/Bugzilla/JobQueue/Runner.pm index ef1bb8ef92a22a28f66d8e88dcb52c4136bf18df..8cfc965eb6f7f429fd9b94c226bb726298e10589 100644 --- a/Bugzilla/JobQueue/Runner.pm +++ b/Bugzilla/JobQueue/Runner.pm @@ -39,7 +39,7 @@ BEGIN { eval "use base qw(Daemon::Generic)"; } our $VERSION = BUGZILLA_VERSION; -# Info we need to install/uninstall the daemon on RHEL/Fedora. +# Info we need to install/uninstall the daemon. our $chkconfig = "/sbin/chkconfig"; our $initd = "/etc/init.d"; our $initscript = "bugzilla-queue"; @@ -102,7 +102,12 @@ sub gd_usage { sub gd_can_install { my $self = shift; - my $source_file = "contrib/$initscript"; + my $source_file; + if ( -e "/etc/SuSE-release" ) { + $source_file = "contrib/$initscript.suse"; + } else { + $source_file = "contrib/$initscript.rhel"; + } my $dest_file = "$initd/$initscript"; my $sysconfig = '/etc/sysconfig'; my $config_file = "$sysconfig/$initscript"; diff --git a/Bugzilla/Keyword.pm b/Bugzilla/Keyword.pm index f4742bebd93c19119d19b052cd785fdd5b97602f..e2ecc29e570a8c5c92546fcaf1d18f453e62f99c 100644 --- a/Bugzilla/Keyword.pm +++ b/Bugzilla/Keyword.pm @@ -35,8 +35,6 @@ use constant DB_COLUMNS => qw( use constant DB_TABLE => 'keyworddefs'; -use constant REQUIRED_CREATE_FIELDS => qw(name description); - use constant VALIDATORS => { name => \&_check_name, description => \&_check_description, @@ -78,7 +76,8 @@ sub get_all_with_bug_count { my $class = shift; my $dbh = Bugzilla->dbh; my $keywords = - $dbh->selectall_arrayref('SELECT ' . join(', ', DB_COLUMNS) . ', + $dbh->selectall_arrayref('SELECT ' + . join(', ', $class->_get_db_columns) . ', COUNT(keywords.bug_id) AS bug_count FROM keyworddefs LEFT JOIN keywords @@ -105,7 +104,9 @@ sub _check_name { my ($self, $name) = @_; $name = trim($name); - $name eq "" && ThrowUserError("keyword_blank_name"); + if (!defined $name or $name eq "") { + ThrowUserError("keyword_blank_name"); + } if ($name =~ /[\s,]/) { ThrowUserError("keyword_invalid_name"); } @@ -123,7 +124,9 @@ sub _check_name { sub _check_description { my ($self, $desc) = @_; $desc = trim($desc); - $desc eq '' && ThrowUserError("keyword_blank_description"); + if (!defined $desc or $desc eq '') { + ThrowUserError("keyword_blank_description"); + } return $desc; } diff --git a/Bugzilla/Mailer.pm b/Bugzilla/Mailer.pm index fb9c5a7cac30c8e486f5b8346702010f38b2857d..596e8ab6532bd60df60cd3f21c1f91ca716741e1 100644 --- a/Bugzilla/Mailer.pm +++ b/Bugzilla/Mailer.pm @@ -145,8 +145,6 @@ sub MessageToMTA { push(@args, "-f$from_email") if $from_email; } } - push(@args, "-ODeliveryMode=deferred") - if !Bugzilla->params->{"sendmailnow"}; } else { # Sendmail will automatically append our hostname to the From diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm index 282279e75cc16a1224065d516ad7c14b583bde65..2ae638e4fd844238c0a1743d18c35083c70b46a7 100644 --- a/Bugzilla/Migrate.pm +++ b/Bugzilla/Migrate.pm @@ -323,7 +323,7 @@ sub reset_serial_values { ); my @select_fields = grep { $_->is_select } (values %{ $self->bug_fields }); foreach my $field (@select_fields) { - next if $field->name eq 'product'; + next if $field->is_abnormal; $reset{$field->name} = 'id'; } @@ -654,7 +654,7 @@ sub create_legal_values { next if new Bugzilla::Version({ product => $prod_obj, name => $version }); my $created = Bugzilla::Version->create({ product => $prod_obj, - name => $version }); + value => $version }); my $field = $self->bug_fields->{version}; print get_text('migrate_value_created', { product => $prod_obj, field => $field, @@ -663,8 +663,8 @@ sub create_legal_values { foreach my $milestone (keys %{ $product_values{$product}->{target_milestone} }) { next if new Bugzilla::Milestone({ product => $prod_obj, name => $milestone }); - my $created = Bugzilla::Milestone->create({ product => $prod_obj, - name => $milestone }); + my $created = Bugzilla::Milestone->create( + { product => $prod_obj, value => $milestone }); my $field = $self->bug_fields->{target_milestone}; print get_text('migrate_value_created', { product => $prod_obj, field => $field, @@ -709,8 +709,8 @@ sub insert_bugs { $self->debug($bug, 3); foreach my $field (@standard_drop_downs) { + next if $field->is_abnormal; my $field_name = $field->name; - next if $field_name eq 'product'; if (!defined $bug->{$field_name}) { # If there's a default value for this, then just let create() # pick it. diff --git a/Bugzilla/Migrate/CVS/Entries b/Bugzilla/Migrate/CVS/Entries deleted file mode 100644 index a0fa8a241f4218dea847edd60c58401a575d41f0..0000000000000000000000000000000000000000 --- a/Bugzilla/Migrate/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Gnats.pm/1.1/Sat Oct 24 05:30:17 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Migrate/CVS/Repository b/Bugzilla/Migrate/CVS/Repository deleted file mode 100644 index 96367cc78df6dd151d7f185645d53faa2711f181..0000000000000000000000000000000000000000 --- a/Bugzilla/Migrate/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Migrate diff --git a/Bugzilla/Migrate/CVS/Root b/Bugzilla/Migrate/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Migrate/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Migrate/CVS/Tag b/Bugzilla/Migrate/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Migrate/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Migrate/Gnats.pm b/Bugzilla/Migrate/Gnats.pm index 232100f2d131264dcdb8c620fd3fb928c7a14470..ff24f73b52b666d03d2e864b0ede39dd63afed3c 100644 --- a/Bugzilla/Migrate/Gnats.pm +++ b/Bugzilla/Migrate/Gnats.pm @@ -25,12 +25,13 @@ use base qw(Bugzilla::Migrate); use Bugzilla::Constants; use Bugzilla::Install::Util qw(indicate_progress); -use Bugzilla::Util qw(format_time trim generate_random_password lsearch); +use Bugzilla::Util qw(format_time trim generate_random_password); use Email::Address; use Email::MIME; use File::Basename; use IO::File; +use List::MoreUtils qw(firstidx); use List::Util qw(first); use constant REQUIRED_MODULES => [ @@ -168,14 +169,14 @@ use constant NON_COMMENT_FIELDS => qw( # we list out here the exact order of fields at the end of a PR # and wait for the next field to consider that we actually have # a field to parse. -use constant END_FIELD_ORDER => [qw( +use constant END_FIELD_ORDER => qw( Description How-To-Repeat Fix Release-Note Audit-Trail Unformatted -)]; +); use constant CUSTOM_FIELDS => { cf_type => { @@ -374,10 +375,12 @@ sub _get_gnats_field_data { # If this is one of the last few PR fields, then make sure # that we're getting our fields in the right order. my $new_field_valid = 1; - my $current_field_pos = - lsearch(END_FIELD_ORDER, $current_field || ''); + my $search_for = $current_field || ''; + my $current_field_pos = firstidx { $_ eq $search_for } + END_FIELD_ORDER; if ($current_field_pos > -1) { - my $new_field_pos = lsearch(END_FIELD_ORDER, $new_field); + my $new_field_pos = firstidx { $_ eq $new_field } + END_FIELD_ORDER; # We accept any field, as long as it's later than this one. $new_field_valid = $new_field_pos > $current_field_pos ? 1 : 0; } diff --git a/Bugzilla/Milestone.pm b/Bugzilla/Milestone.pm index fc44cf1afd71940f3d0561b0468ef211cfd60dbf..cb7d53da3fe4d6da3565fa6b277b6ba485989e3e 100644 --- a/Bugzilla/Milestone.pm +++ b/Bugzilla/Milestone.pm @@ -26,6 +26,8 @@ use Bugzilla::Constants; use Bugzilla::Util; use Bugzilla::Error; +use Scalar::Util qw(blessed); + ################################ ##### Initialization ##### ################################ @@ -43,10 +45,9 @@ use constant DB_COLUMNS => qw( sortkey ); -use constant REQUIRED_CREATE_FIELDS => qw( - name - product -); +use constant REQUIRED_FIELD_MAP => { + product_id => 'product', +}; use constant UPDATE_COLUMNS => qw( value @@ -56,10 +57,11 @@ use constant UPDATE_COLUMNS => qw( use constant VALIDATORS => { product => \&_check_product, sortkey => \&_check_sortkey, + value => \&_check_value, }; -use constant UPDATE_VALIDATORS => { - value => \&_check_value, +use constant VALIDATOR_DEPENDENCIES => { + value => ['product'], }; ################################ @@ -94,14 +96,10 @@ sub new { } sub run_create_validators { - my $class = shift; + my $class = shift; my $params = $class->SUPER::run_create_validators(@_); - my $product = delete $params->{product}; $params->{product_id} = $product->id; - $params->{value} = $class->_check_value($params->{name}, $product); - delete $params->{name}; - return $params; } @@ -165,7 +163,8 @@ sub remove_from_db { ################################ sub _check_value { - my ($invocant, $name, $product) = @_; + my ($invocant, $name, undef, $params) = @_; + my $product = blessed($invocant) ? $invocant->product : $params->{product}; $name = trim($name); $name || ThrowUserError('milestone_blank_name'); @@ -173,7 +172,6 @@ sub _check_value { ThrowUserError('milestone_name_too_long', {name => $name}); } - $product = $invocant->product if (ref $invocant); my $milestone = new Bugzilla::Milestone({product => $product, name => $name}); if ($milestone && (!ref $invocant || $milestone->id != $invocant->id)) { ThrowUserError('milestone_already_exists', { name => $milestone->name, @@ -196,6 +194,8 @@ sub _check_sortkey { sub _check_product { my ($invocant, $product) = @_; + $product || ThrowCodeError('param_required', + { function => "$invocant->create", param => "product" }); return Bugzilla->user->check_can_admin_product($product->name); } @@ -255,7 +255,7 @@ Bugzilla::Milestone - Bugzilla product milestone class. my $sortkey = $milestone->sortkey; my $milestone = Bugzilla::Milestone->create( - { name => $name, product => $product, sortkey => $sortkey }); + { value => $name, product => $product, sortkey => $sortkey }); $milestone->set_name($new_name); $milestone->set_sortkey($new_sortkey); @@ -361,11 +361,11 @@ Milestone.pm represents a Product Milestone object. =over -=item C<create({name => $name, product => $product, sortkey => $sortkey})> +=item C<create({value => $value, product => $product, sortkey => $sortkey})> Description: Create a new milestone for the given product. - Params: $name - name of the new milestone (string). This name + Params: $value - name of the new milestone (string). This name must be unique within the product. $product - a Bugzilla::Product object. $sortkey - the sortkey of the new milestone (signed integer) diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm index 32262dd2a40cea7dd333cf38bd78eb0e61490169..29effd7debb1db208f69083763669790378e5f4b 100644 --- a/Bugzilla/Object.pm +++ b/Bugzilla/Object.pm @@ -29,6 +29,7 @@ use Bugzilla::Util; use Bugzilla::Error; use Date::Parse; +use List::MoreUtils qw(part); use constant NAME_FIELD => 'name'; use constant ID_FIELD => 'id'; @@ -37,6 +38,9 @@ use constant LIST_ORDER => NAME_FIELD; use constant UPDATE_VALIDATORS => {}; use constant NUMERIC_COLUMNS => (); use constant DATE_COLUMNS => (); +use constant VALIDATOR_DEPENDENCIES => {}; +# XXX At some point, this will be joined with FIELD_MAP. +use constant REQUIRED_FIELD_MAP => {}; # This allows the JSON-RPC interface to return Bugzilla::Object instances # as though they were hashes. In the future, this may be modified to return @@ -64,7 +68,7 @@ sub _init { my $class = shift; my ($param) = @_; my $dbh = Bugzilla->dbh; - my $columns = join(',', $class->DB_COLUMNS); + my $columns = join(',', $class->_get_db_columns); my $table = $class->DB_TABLE; my $name_field = $class->NAME_FIELD; my $id_field = $class->ID_FIELD; @@ -246,7 +250,7 @@ sub match { sub _do_list_select { my ($class, $where, $values, $postamble) = @_; my $table = $class->DB_TABLE; - my $cols = join(',', $class->DB_COLUMNS); + my $cols = join(',', $class->_get_db_columns); my $order = $class->LIST_ORDER; my $sql = "SELECT $cols FROM $table"; @@ -283,7 +287,8 @@ sub set { my ($self, $field, $value) = @_; # This method is protected. It's used to help implement set_ functions. - caller->isa('Bugzilla::Object') + my $caller = caller; + $caller->isa('Bugzilla::Object') || $caller->isa('Bugzilla::Extension') || ThrowCodeError('protection_violation', { caller => caller, superclass => __PACKAGE__, @@ -293,7 +298,7 @@ sub set { { object => $self, field => $field, value => $value }); - my %validators = (%{$self->VALIDATORS}, %{$self->UPDATE_VALIDATORS}); + my %validators = (%{$self->_get_validators}, %{$self->UPDATE_VALIDATORS}); if (exists $validators{$field}) { my $validator = $validators{$field}; $value = $self->$validator($value, $field); @@ -312,12 +317,21 @@ sub set { sub set_all { my ($self, $params) = @_; - foreach my $key (keys %$params) { + + # Don't let setters modify the values in $params for the caller. + my %field_values = %$params; + + my @sorted_names = $self->_sort_by_dep(keys %field_values); + foreach my $key (@sorted_names) { + # It's possible for one set_ method to delete a key from $params + # for another set method, so if that's happened, we don't call the + # other set method. + next if !exists $field_values{$key}; my $method = "set_$key"; - $self->$method($params->{$key}); + $self->$method($field_values{$key}, \%field_values); } - Bugzilla::Hook::process('object_end_of_set_all', { object => $self, - params => $params }); + Bugzilla::Hook::process('object_end_of_set_all', + { object => $self, params => \%field_values }); } sub update { @@ -330,11 +344,17 @@ sub update { $dbh->bz_start_transaction(); my $old_self = $self->new($self->id); - + + my @all_columns = $self->UPDATE_COLUMNS; + my @hook_columns; + Bugzilla::Hook::process('object_update_columns', + { object => $self, columns => \@hook_columns }); + push(@all_columns, @hook_columns); + my %numeric = map { $_ => 1 } $self->NUMERIC_COLUMNS; my %date = map { $_ => 1 } $self->DATE_COLUMNS; my (@update_columns, @values, %changes); - foreach my $column ($self->UPDATE_COLUMNS) { + foreach my $column (@all_columns) { my ($old, $new) = ($old_self->{$column}, $self->{$column}); # This has to be written this way in order to allow us to set a field # from undef or to undef, and avoid warnings about comparing an undef @@ -429,30 +449,30 @@ sub check_required_create_fields { Bugzilla::Hook::process('object_before_create', { class => $class, params => $params }); - foreach my $field ($class->REQUIRED_CREATE_FIELDS) { - ThrowCodeError('param_required', - { function => "${class}->create", param => $field }) - if !exists $params->{$field}; + my @check_fields = $class->_required_create_fields(); + foreach my $field (@check_fields) { + $params->{$field} = undef if !exists $params->{$field}; } } sub run_create_validators { my ($class, $params) = @_; - my $validators = $class->VALIDATORS; + my $validators = $class->_get_validators; + my %field_values = %$params; - my %field_values; - # We do the sort just to make sure that validation always - # happens in a consistent order. - foreach my $field (sort keys %$params) { + my @sorted_names = $class->_sort_by_dep(keys %field_values); + foreach my $field (@sorted_names) { my $value; if (exists $validators->{$field}) { my $validator = $validators->{$field}; - $value = $class->$validator($params->{$field}, $field); + $value = $class->$validator($field_values{$field}, $field, + \%field_values); } else { - $value = $params->{$field}; + $value = $field_values{$field}; } + # We want people to be able to explicitly set fields to NULL, # and that means they can be set to undef. trick_taint($value) if defined $value && !ref($value); @@ -496,6 +516,131 @@ sub get_all { sub check_boolean { return $_[1] ? 1 : 0 } +################### +# General Helpers # +################### + +# Sorts fields according to VALIDATOR_DEPENDENCIES. This is not a +# traditional topological sort, because a "dependency" does not +# *have* to be in the list--it just has to be earlier than its dependent +# if it *is* in the list. +sub _sort_by_dep { + my ($invocant, @fields) = @_; + + my $dependencies = $invocant->VALIDATOR_DEPENDENCIES; + my ($has_deps, $no_deps) = part { $dependencies->{$_} ? 0 : 1 } @fields; + + # For fields with no dependencies, we sort them alphabetically, + # so that validation always happens in a consistent order. + # Fields with no dependencies come at the start of the list. + my @result = sort @{ $no_deps || [] }; + + # Fields with dependencies all go at the end of the list, and if + # they have dependencies on *each other*, then they have to be + # sorted properly. We go through $has_deps in sorted order to be + # sure that fields always validate in a consistent order. + foreach my $field (sort @{ $has_deps || [] }) { + if (!grep { $_ eq $field } @result) { + _insert_dep_field($field, $has_deps, $dependencies, \@result); + } + } + return @result; +} + +sub _insert_dep_field { + my ($field, $insert_me, $dependencies, $result, $loop_tracking) = @_; + + if ($loop_tracking->{$field}) { + ThrowCodeError('object_dep_sort_loop', + { field => $field, + considered => [keys %$loop_tracking] }); + } + $loop_tracking->{$field} = 1; + + my $required_fields = $dependencies->{$field}; + # Imagine Field A requires field B... + foreach my $required_field (@$required_fields) { + # If our dependency is already satisfied, we're good. + next if grep { $_ eq $required_field } @$result; + + # If our dependency is not in the remaining fields to insert, + # then we're also OK. + next if !grep { $_ eq $required_field } @$insert_me; + + # So, at this point, we know that Field B is in $insert_me. + # So let's put the required field into the result. + _insert_dep_field($required_field, $insert_me, $dependencies, + $result, $loop_tracking); + } + push(@$result, $field); +} + +#################### +# Constant Helpers # +#################### + +# For some classes, some constants take time to generate, so we cache them +# and only access them through the below methods. This also allows certain +# hooks to only run once per request instead of multiple times on each +# page. + +sub _get_db_columns { + my $invocant = shift; + my $class = ref($invocant) || $invocant; + my $cache = Bugzilla->request_cache; + my $cache_key = "object_${class}_db_columns"; + return @{ $cache->{$cache_key} } if $cache->{$cache_key}; + # Currently you can only add new columns using object_columns, not + # remove or modify existing columns, because removing columns would + # almost certainly cause Bugzilla to function improperly. + my @add_columns; + Bugzilla::Hook::process('object_columns', + { class => $class, columns => \@add_columns }); + my @columns = ($invocant->DB_COLUMNS, @add_columns); + $cache->{$cache_key} = \@columns; + return @{ $cache->{$cache_key} }; +} + +# This method is private and should only be called by Bugzilla::Object. +sub _get_validators { + my $invocant = shift; + my $class = ref($invocant) || $invocant; + my $cache = Bugzilla->request_cache; + my $cache_key = "object_${class}_validators"; + return $cache->{$cache_key} if $cache->{$cache_key}; + # We copy this into a hash so that the hook doesn't modify the constant. + # (That could be bad in mod_perl.) + my %validators = %{ $invocant->VALIDATORS }; + Bugzilla::Hook::process('object_validators', + { class => $class, validators => \%validators }); + $cache->{$cache_key} = \%validators; + return $cache->{$cache_key}; +} + +# These are all the fields that need to be checked, always, when +# calling create(), because they have no DEFAULT and they are marked +# NOT NULL. +sub _required_create_fields { + my $class = shift; + my $dbh = Bugzilla->dbh; + my $table = $class->DB_TABLE; + + my @columns = $dbh->bz_table_columns($table); + my @required; + foreach my $column (@columns) { + my $def = $dbh->bz_column_info($table, $column); + if ($def->{NOTNULL} and !defined $def->{DEFAULT} + # SERIAL fields effectively have a DEFAULT, but they're not + # listed as having a DEFAULT in DB::Schema. + and $def->{TYPE} !~ /serial/i) + { + my $field = $class->REQUIRED_FIELD_MAP->{$column} || $column; + push(@required, $field); + } + } + return @required; +} + 1; __END__ @@ -542,6 +687,12 @@ for C<Bugzilla::Keyword> this would be C<keyworddefs>. The names of the columns that you want to read out of the database and into this object. This should be an array. +I<Note>: Though normally you will never need to access this constant's data +directly in your subclass, if you do, you should access it by calling the +C<_get_db_columns> method instead of accessing the constant directly. (The +only exception to this rule is calling C<SUPER::DB_COLUMNS> from within +your own C<DB_COLUMNS> subroutine in a subclass.) + =item C<NAME_FIELD> The name of the column that should be considered to be the unique @@ -561,11 +712,6 @@ The order that C<new_from_list> and C<get_all> should return objects in. This should be the name of a database column. Defaults to L</NAME_FIELD>. -=item C<REQUIRED_CREATE_FIELDS> - -The list of fields that B<must> be specified when the user calls -C<create()>. This should be an array. - =item C<VALIDATORS> A hashref that points to a function that will validate each param to @@ -596,12 +742,35 @@ here must not appear in L</VALIDATORS>. L<Bugzilla::Bug> has good examples in its code of when to use this. +=item C<VALIDATOR_DEPENDENCIES> + +During L</create> and L</set_all>, validators are normally called in +a somewhat-random order. If you need one field to be validated and set +before another field, this constant is how you do it, by saying that +one field "depends" on the value of other fields. + +This is a hashref, where the keys are field names and the values are +arrayrefs of field names. You specify what fields a field depends on using +the arrayrefs. So, for example, to say that a C<component> field depends +on the C<product> field being set, you would do: + + component => ['product'] + =item C<UPDATE_COLUMNS> A list of columns to update when L</update> is called. If a field can't be changed, it shouldn't be listed here. (For example, the L</ID_FIELD> usually can't be updated.) +=item C<REQUIRED_FIELD_MAP> + +This is a hashref that maps database column names to L</create> argument +names. You only need to specify values for fields where the argument passed +to L</create> has a different name in the database than it does in the +L</create> arguments. (For example, L<Bugzilla::Bug/create> takes a +C<product> argument, but the column name in the C<bugs> table is +C<product_id>.) + =item C<NUMERIC_COLUMNS> When L</update> is called, it compares each column in the object to its @@ -775,17 +944,13 @@ Description: Creates a new item in the database. are invalid. Params: C<$params> - hashref - A value to put in each database - field for this object. Certain values must be set (the - ones specified in L</REQUIRED_CREATE_FIELDS>), and - the function will throw a Code Error if you don't set - them. + field for this object. Returns: The Object just created in the database. Notes: In order for this function to work in your subclass, your subclass's L</ID_FIELD> must be of C<SERIAL> - type in the database. Your subclass also must - define L</REQUIRED_CREATE_FIELDS> and L</VALIDATORS>. + type in the database. Subclass Implementors: This function basically just calls L</check_required_create_fields>, then @@ -800,8 +965,10 @@ Notes: In order for this function to work in your subclass, =item B<Description> -Part of L</create>. Throws an error if any of the L</REQUIRED_CREATE_FIELDS> -have not been specified in C<$params> +Part of L</create>. Modifies the incoming C<$params> argument so that +any field that does not have a database default will be checked +later by L</run_create_validators>, even if that field wasn't specified +as an argument to L</create>. =item B<Params> diff --git a/Bugzilla/Product.pm b/Bugzilla/Product.pm index 3839af0af060610c250bc5acd493bcc246b0df8c..51464976345fe35e0f6011951d19460d510138e7 100644 --- a/Bugzilla/Product.pm +++ b/Bugzilla/Product.pm @@ -15,9 +15,9 @@ # Contributor(s): Tiago R. Mello <timello@async.com.br> # Frédéric Buclin <LpSolit@gmail.com> -use strict; - package Bugzilla::Product; +use strict; +use base qw(Bugzilla::Field::ChoiceInterface Bugzilla::Object); use Bugzilla::Constants; use Bugzilla::Util; @@ -32,9 +32,7 @@ use Bugzilla::Mailer; use Bugzilla::Series; use Bugzilla::Hook; -# Currently, we only implement enough of the Bugzilla::Field::Choice -# interface to control the visibility of other fields. -use base qw(Bugzilla::Field::Choice); +use Scalar::Util qw(blessed); use constant DEFAULT_CLASSIFICATION_ID => 1; @@ -43,10 +41,6 @@ use constant DEFAULT_CLASSIFICATION_ID => 1; ############################### use constant DB_TABLE => 'products'; -# Reset these back to the Bugzilla::Object defaults, instead of the -# Bugzilla::Field::Choice defaults. -use constant NAME_FIELD => 'name'; -use constant LIST_ORDER => 'name'; use constant DB_COLUMNS => qw( id @@ -54,27 +48,15 @@ use constant DB_COLUMNS => qw( classification_id description isactive - votesperuser - maxvotesperbug - votestoconfirm defaultmilestone allows_unconfirmed ); -use constant REQUIRED_CREATE_FIELDS => qw( - name - description - version -); - use constant UPDATE_COLUMNS => qw( name description defaultmilestone isactive - votesperuser - maxvotesperbug - votestoconfirm allows_unconfirmed ); @@ -86,9 +68,6 @@ use constant VALIDATORS => { version => \&_check_version, defaultmilestone => \&_check_default_milestone, isactive => \&Bugzilla::Object::check_boolean, - votesperuser => \&_check_votes_per_user, - maxvotesperbug => \&_check_votes_per_bug, - votestoconfirm => \&_check_votes_to_confirm, create_series => \&Bugzilla::Object::check_boolean }; @@ -116,8 +95,8 @@ sub create { Bugzilla->user->clear_product_cache(); # Add the new version and milestone into the DB as valid values. - Bugzilla::Version->create({name => $version, product => $product}); - Bugzilla::Milestone->create({ name => $product->default_milestone, + Bugzilla::Version->create({ value => $version, product => $product }); + Bugzilla::Milestone->create({ value => $product->default_milestone, product => $product }); # Create groups and series for the new product, if requested. @@ -161,99 +140,6 @@ sub update { $dbh->bz_start_transaction(); my ($changes, $old_self) = $self->SUPER::update(@_); - # We also have to fix votes. - my @msgs; # Will store emails to send to voters. - if ($changes->{maxvotesperbug} || $changes->{votesperuser} || $changes->{votestoconfirm}) { - # We cannot |use| these modules, due to dependency loops. - require Bugzilla::Bug; - import Bugzilla::Bug qw(RemoveVotes CheckIfVotedConfirmed); - require Bugzilla::User; - import Bugzilla::User qw(user_id_to_login); - - # 1. too many votes for a single user on a single bug. - my @toomanyvotes_list = (); - if ($self->max_votes_per_bug < $self->votes_per_user) { - my $votes = $dbh->selectall_arrayref( - 'SELECT votes.who, votes.bug_id - FROM votes - INNER JOIN bugs - ON bugs.bug_id = votes.bug_id - WHERE bugs.product_id = ? - AND votes.vote_count > ?', - undef, ($self->id, $self->max_votes_per_bug)); - - foreach my $vote (@$votes) { - my ($who, $id) = (@$vote); - # If some votes are removed, RemoveVotes() returns a list - # of messages to send to voters. - push(@msgs, RemoveVotes($id, $who, 'votes_too_many_per_bug')); - my $name = user_id_to_login($who); - - push(@toomanyvotes_list, {id => $id, name => $name}); - } - } - $changes->{'too_many_votes'} = \@toomanyvotes_list; - - # 2. too many total votes for a single user. - # This part doesn't work in the general case because RemoveVotes - # doesn't enforce votesperuser (except per-bug when it's less - # than maxvotesperbug). See Bugzilla::Bug::RemoveVotes(). - - my $votes = $dbh->selectall_arrayref( - 'SELECT votes.who, votes.vote_count - FROM votes - INNER JOIN bugs - ON bugs.bug_id = votes.bug_id - WHERE bugs.product_id = ?', - undef, $self->id); - - my %counts; - foreach my $vote (@$votes) { - my ($who, $count) = @$vote; - if (!defined $counts{$who}) { - $counts{$who} = $count; - } else { - $counts{$who} += $count; - } - } - my @toomanytotalvotes_list = (); - foreach my $who (keys(%counts)) { - if ($counts{$who} > $self->votes_per_user) { - my $bug_ids = $dbh->selectcol_arrayref( - 'SELECT votes.bug_id - FROM votes - INNER JOIN bugs - ON bugs.bug_id = votes.bug_id - WHERE bugs.product_id = ? - AND votes.who = ?', - undef, ($self->id, $who)); - - foreach my $bug_id (@$bug_ids) { - # RemoveVotes() returns a list of messages to send - # in case some voters had too many votes. - push(@msgs, RemoveVotes($bug_id, $who, 'votes_too_many_per_user')); - my $name = user_id_to_login($who); - - push(@toomanytotalvotes_list, {id => $bug_id, name => $name}); - } - } - } - $changes->{'too_many_total_votes'} = \@toomanytotalvotes_list; - - # 3. enough votes to confirm - my $bug_list = - $dbh->selectcol_arrayref('SELECT bug_id FROM bugs WHERE product_id = ? - AND bug_status = ? AND votes >= ?', - undef, ($self->id, 'UNCONFIRMED', $self->votes_to_confirm)); - - my @updated_bugs = (); - foreach my $bug_id (@$bug_list) { - my $confirmed = CheckIfVotedConfirmed($bug_id); - push (@updated_bugs, $bug_id) if $confirmed; - } - $changes->{'confirmed_bugs'} = \@updated_bugs; - } - # Also update group settings. if ($self->{check_group_controls}) { require Bugzilla::Bug; @@ -364,25 +250,15 @@ sub update { } } } + + delete $self->{groups_available}; + delete $self->{groups_mandatory}; } $dbh->bz_commit_transaction(); # Changes have been committed. delete $self->{check_group_controls}; Bugzilla->user->clear_product_cache(); - # Now that changes have been committed, we can send emails to voters. - foreach my $msg (@msgs) { - MessageToMTA($msg); - } - - # And send out emails about changed bugs - require Bugzilla::BugMail; - foreach my $bug_id (@{ $changes->{'confirmed_bugs'} || [] }) { - my $sent_bugmail = Bugzilla::BugMail::Send( - $bug_id, { changer => Bugzilla->user->login }); - $changes->{'confirmed_bugs_sent_bugmail'}->{$bug_id} = $sent_bugmail; - } - return $changes; } @@ -540,49 +416,11 @@ sub _check_milestone_url { return $url; } -sub _check_votes_per_user { - return _check_votes(@_, 0); -} - -sub _check_votes_per_bug { - return _check_votes(@_, 10000); -} - -sub _check_votes_to_confirm { - return _check_votes(@_, 0); -} - -# This subroutine is only used internally by other _check_votes_* validators. -sub _check_votes { - my ($invocant, $votes, $field, $default) = @_; - - detaint_natural($votes); - # On product creation, if the number of votes is not a valid integer, - # we silently fall back to the given default value. - # If the product already exists and the change is illegal, we complain. - if (!defined $votes) { - if (ref $invocant) { - ThrowUserError('product_illegal_votes', {field => $field, votes => $_[1]}); - } - else { - $votes = $default; - } - } - return $votes; -} - ##################################### # Implement Bugzilla::Field::Choice # ##################################### -sub field { - my $invocant = shift; - my $class = ref $invocant || $invocant; - my $cache = Bugzilla->request_cache; - $cache->{"field_$class"} ||= new Bugzilla::Field({ name => 'product' }); - return $cache->{"field_$class"}; -} - +use constant FIELD_NAME => 'product'; use constant is_default => 0; ############################### @@ -641,9 +479,6 @@ sub set_name { $_[0]->set('name', $_[1]); } sub set_description { $_[0]->set('description', $_[1]); } sub set_default_milestone { $_[0]->set('defaultmilestone', $_[1]); } sub set_is_active { $_[0]->set('isactive', $_[1]); } -sub set_votes_per_user { $_[0]->set('votesperuser', $_[1]); } -sub set_votes_per_bug { $_[0]->set('maxvotesperbug', $_[1]); } -sub set_votes_to_confirm { $_[0]->set('votestoconfirm', $_[1]); } sub set_allows_unconfirmed { $_[0]->set('allows_unconfirmed', $_[1]); } sub set_group_controls { @@ -773,21 +608,85 @@ sub group_controls { return $self->{group_controls}; } -sub groups_mandatory_for { - my ($self, $user) = @_; - my $groups = $user->groups_as_string; +sub groups_available { + my ($self) = @_; + return $self->{groups_available} if defined $self->{groups_available}; + my $dbh = Bugzilla->dbh; + my $shown = CONTROLMAPSHOWN; + my $default = CONTROLMAPDEFAULT; + my %member_groups = @{ $dbh->selectcol_arrayref( + "SELECT group_id, membercontrol + FROM group_control_map + INNER JOIN groups ON group_control_map.group_id = groups.id + WHERE isbuggroup = 1 AND isactive = 1 AND product_id = ? + AND (membercontrol = $shown OR membercontrol = $default) + AND " . Bugzilla->user->groups_in_sql(), + {Columns=>[1,2]}, $self->id) }; + # We don't need to check the group membership here, because we only + # add these groups to the list below if the group isn't already listed + # for membercontrol. + my %other_groups = @{ $dbh->selectcol_arrayref( + "SELECT group_id, othercontrol + FROM group_control_map + INNER JOIN groups ON group_control_map.group_id = groups.id + WHERE isbuggroup = 1 AND isactive = 1 AND product_id = ? + AND (othercontrol = $shown OR othercontrol = $default)", + {Columns=>[1,2]}, $self->id) }; + + # If the user is a member, then we use the membercontrol value. + # Otherwise, we use the othercontrol value. + my %all_groups = %member_groups; + foreach my $id (keys %other_groups) { + if (!defined $all_groups{$id}) { + $all_groups{$id} = $other_groups{$id}; + } + } + + my $available = Bugzilla::Group->new_from_list([keys %all_groups]); + foreach my $group (@$available) { + $group->{is_default} = 1 if $all_groups{$group->id} == $default; + } + + $self->{groups_available} = $available; + return $self->{groups_available}; +} + +sub groups_mandatory { + my ($self) = @_; + return $self->{groups_mandatory} if $self->{groups_mandatory}; + my $groups = Bugzilla->user->groups_as_string; my $mandatory = CONTROLMAPMANDATORY; # For membercontrol we don't check group_id IN, because if membercontrol # is Mandatory, the group is Mandatory for everybody, regardless of their # group membership. my $ids = Bugzilla->dbh->selectcol_arrayref( - "SELECT group_id FROM group_control_map - WHERE product_id = ? + "SELECT group_id + FROM group_control_map + INNER JOIN groups ON group_control_map.group_id = groups.id + WHERE product_id = ? AND isactive = 1 AND (membercontrol = $mandatory OR (othercontrol = $mandatory AND group_id NOT IN ($groups)))", undef, $self->id); - return Bugzilla::Group->new_from_list($ids); + $self->{groups_mandatory} = Bugzilla::Group->new_from_list($ids); + return $self->{groups_mandatory}; +} + +# We don't just check groups_valid, because we want to know specifically +# if this group can be validly set by the currently-logged-in user. +sub group_is_settable { + my ($self, $group) = @_; + my $group_id = blessed($group) ? $group->id : $group; + my $is_mandatory = grep { $group_id == $_->id } + @{ $self->groups_mandatory }; + my $is_available = grep { $group_id == $_->id } + @{ $self->groups_available }; + return ($is_mandatory or $is_available) ? 1 : 0; +} + +sub group_is_valid { + my ($self, $group) = @_; + return grep($_->id == $group->id, @{ $self->groups_valid }) ? 1 : 0; } sub groups_valid { @@ -899,9 +798,6 @@ sub flag_types { sub allows_unconfirmed { return $_[0]->{'allows_unconfirmed'}; } sub description { return $_[0]->{'description'}; } sub is_active { return $_[0]->{'isactive'}; } -sub votes_per_user { return $_[0]->{'votesperuser'}; } -sub max_votes_per_bug { return $_[0]->{'maxvotesperbug'}; } -sub votes_to_confirm { return $_[0]->{'votestoconfirm'}; } sub default_milestone { return $_[0]->{'defaultmilestone'}; } sub classification_id { return $_[0]->{'classification_id'}; } @@ -962,9 +858,6 @@ Bugzilla::Product - Bugzilla product class. my $name = $product->name; my $description = $product->description; my isactive = $product->is_active; - my votesperuser = $product->votes_per_user; - my maxvotesperbug = $product->max_votes_per_bug; - my votestoconfirm = $product->votes_to_confirm; my $defaultmilestone = $product->default_milestone; my $classificationid = $product->classification_id; my $allows_unconfirmed = $product->allows_unconfirmed; @@ -1005,22 +898,47 @@ below. a Bugzilla::Group object and the properties of group relative to the product. -=item C<groups_mandatory_for> +=item C<groups_available> + +Tells you what groups are set to Default or Shown for the +currently-logged-in user (taking into account both OtherControl and +MemberControl). Returns an arrayref of L<Bugzilla::Group> objects with +an extra hash keys set, C<is_default>, which is true if the group +is set to Default for the currently-logged-in user. + +=item C<groups_mandatory> + +Tells you what groups are mandatory for bugs in this product, for the +currently-logged-in user. Returns an arrayref of C<Bugzilla::Group> objects. + +=item C<group_is_settable> =over =item B<Description> -Tells you what groups are mandatory for bugs in this product. +Tells you whether or not the currently-logged-in user can set a group +on a bug (whether or not they match the MemberControl/OtherControl +settings for a group in this product). Groups that are C<Mandatory> for +the currently-loggeed-in user are also acceptable since from Bugzilla's +perspective, there's no problem with "setting" a Mandatory group on +a bug. (In fact, the user I<must> set the Mandatory group on the bug.) =item B<Params> -C<$user> - The user who you want to check. +=over + +=item C<$group> - Either a numeric group id or a L<Bugzilla::Group> object. + +=back -=item B<Returns> An arrayref of C<Bugzilla::Group> objects. +=item B<Returns> + +C<1> if the group is valid in this product, C<0> otherwise. =back + =item C<groups_valid> =over @@ -1029,7 +947,9 @@ C<$user> - The user who you want to check. Returns an arrayref of L<Bugzilla::Group> objects, representing groups that bugs could validly be restricted to within this product. Used mostly -by L<Bugzilla::Bug> to assure that you're adding valid groups to a bug. +when you need the list of all possible groups that could be set in a product +by anybody, disregarding whether or not the groups are active or who the +currently logged-in user is. B<Note>: This doesn't check whether or not the current user can add/remove bugs to/from these groups. It just tells you that bugs I<could be in> these @@ -1041,6 +961,13 @@ groups, in this product. =back +=item C<group_is_valid> + +Returns C<1> if the passed-in L<Bugzilla::Group> or group id could be set +on a bug by I<anybody>, in this product. Even inactive groups are considered +valid. (This is a shortcut for searching L</groups_valid> to find out if +a group is valid in a particular product.) + =item C<versions> Description: Returns all valid versions for that product. diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index 9f13d0117b96410e5b507f76a77e8d5eda25da40..24adf009482ca40d8be8a760a02bda9d5ac94e84 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -29,6 +29,7 @@ # Lance Larsh <lance.larsh@oracle.com> # Jesse Clark <jjclark1982@gmail.com> # Rémi Zara <remi_zara@mac.com> +# Reed Loden <reed@reedloden.com> use strict; @@ -54,6 +55,180 @@ use Bugzilla::Keyword; use Date::Format; use Date::Parse; +# If you specify a search type in the boolean charts, this describes +# which operator maps to which internal function here. +use constant OPERATORS => { + equals => \&_equals, + notequals => \&_notequals, + casesubstring => \&_casesubstring, + substring => \&_substring, + substr => \&_substring, + notsubstring => \&_notsubstring, + regexp => \&_regexp, + notregexp => \&_notregexp, + lessthan => \&_lessthan, + lessthaneq => \&_lessthaneq, + matches => sub { ThrowUserError("search_content_without_matches"); }, + notmatches => sub { ThrowUserError("search_content_without_matches"); }, + greaterthan => \&_greaterthan, + greaterthaneq => \&_greaterthaneq, + anyexact => \&_anyexact, + anywordssubstr => \&_anywordsubstr, + allwordssubstr => \&_allwordssubstr, + nowordssubstr => \&_nowordssubstr, + anywords => \&_anywords, + allwords => \&_allwords, + nowords => \&_nowords, + changedbefore => \&_changedbefore_changedafter, + changedafter => \&_changedbefore_changedafter, + changedfrom => \&_changedfrom_changedto, + changedto => \&_changedfrom_changedto, + changedby => \&_changedby, +}; + +use constant OPERATOR_FIELD_OVERRIDE => { + + # User fields + 'attachments.submitter' => { + _default => \&_attachments_submitter, + }, + assigned_to => { + _non_changed => \&_assigned_to_reporter_nonchanged, + }, + cc => { + _non_changed => \&_cc_nonchanged, + }, + commenter => { + _default => \&_commenter, + }, + 'requestees.login_name' => { + _default => \&_requestees_login_name, + }, + 'setters.login_name' => { + _default => \&_setters_login_name, + }, + qa_contact => { + _non_changed => \&_qa_contact_nonchanged, + }, + + # General Bug Fields + alias => { + _non_changed => \&_alias_nonchanged, + }, + 'attach_data.thedata' => { + _non_changed => \&_attach_data_thedata, + }, + # We check all attachment fields against this. + 'attachments' => { + _default => \&_attachments, + }, + blocked => { + _non_changed => \&_blocked_nonchanged, + }, + bug_group => { + _non_changed => \&_bug_group_nonchanged, + }, + changedin => { + _default => \&_changedin_days_elapsed, + }, + classification => { + _non_changed => \&_classification_nonchanged, + }, + component => { + _non_changed => \&_component_nonchanged, + }, + content => { + matches => \&_content_matches, + notmatches => \&_content_matches, + _default => sub { ThrowUserError("search_content_without_matches"); }, + }, + days_elapsed => { + _default => \&_changedin_days_elapsed, + }, + dependson => { + _non_changed => \&_dependson_nonchanged, + }, + keywords => { + equals => \&_keywords_exact, + notequals => \&_keywords_exact, + anyexact => \&_keywords_exact, + anyword => \&_keywords_exact, + allwords => \&_keywords_exact, + nowords => \&_keywords_exact, + _non_changed => \&_keywords_nonchanged, + }, + 'flagtypes.name' => { + _default => \&_flagtypes_name, + }, + longdesc => { + changedby => \&_long_desc_changedby, + changedbefore => \&_long_desc_changedbefore_after, + changedafter => \&_long_desc_changedbefore_after, + _default => \&_long_desc, + }, + 'longdescs.isprivate' => { + _default => \&_longdescs_isprivate, + }, + owner_idle_time => { + greaterthan => \&_owner_idle_time_greater_less, + greaterthaneq => \&_owner_idle_time_greater_less, + lessthan => \&_owner_idle_time_greater_less, + lessthaneq => \&_owner_idle_time_greater_less, + }, + + product => { + _non_changed => \&_product_nonchanged, + }, + + # Custom multi-select fields + _multi_select => { + notequals => \&_multiselect_negative, + notregexp => \&_multiselect_negative, + notsubstring => \&_multiselect_negative, + nowords => \&_multiselect_negative, + nowordssubstr => \&_multiselect_negative, + + allwords => \&_multiselect_multiple, + allwordssubstr => \&_multiselect_multiple, + anyexact => \&_multiselect_multiple, + + _non_changed => \&_multiselect_nonchanged, + }, + + # Timetracking Fields + percentage_complete => { + _default => \&_percentage_complete, + }, + work_time => { + changedby => \&_work_time_changedby, + changedbefore => \&_work_time_changedbefore_after, + changedafter => \&_work_time_changedbefore_after, + _default => \&_work_time, + }, + +}; + +# These are fields where special action is taken depending on the +# *value* passed in to the chart, sometimes. +use constant SPECIAL_PARSING => { + # Pronoun Fields (Ones that can accept %user%, etc.) + assigned_to => \&_contact_pronoun, + cc => \&_cc_pronoun, + commenter => \&_commenter_pronoun, + qa_contact => \&_contact_pronoun, + reporter => \&_contact_pronoun, + + # Date Fields that accept the 1d, 1w, 1m, 1y, etc. format. + creation_ts => \&_timestamp_translate, + deadline => \&_timestamp_translate, + delta_ts => \&_timestamp_translate, +}; + +# Backwards compatibility for times that we changed the names of fields. +use constant FIELD_MAP => { + long_desc => 'longdesc', +}; + # A SELECTed expression that we use as a placeholder if somebody selects # <none> for the X, Y, or Z axis in report.cgi. use constant EMPTY_COLUMN => '-1'; @@ -85,10 +260,8 @@ use constant SPECIAL_ORDER_JOIN => { # 3. title: The title of the column as displayed to users. # # Note: There are a few hacks in the code that deviate from these definitions. -# In particular, when the list is sorted by the "votes" field the word -# "DESC" is added to the end of the field to sort in descending order, -# and the redundant short_desc column is removed when the client -# requests "all" columns. +# In particular, the redundant short_desc column is removed when the +# client requests "all" columns. # # This is really a constant--that is, once it's been called once, the value # will always be the same unless somebody adds a new custom field. But @@ -127,6 +300,8 @@ sub COLUMNS { 'flagtypes.name' => $dbh->sql_group_concat('DISTINCT ' . $dbh->sql_string_concat('flagtypes.name', 'flags.status'), "', '"), + + 'keywords' => $dbh->sql_group_concat('DISTINCT keyworddefs.name', "', '"), ); # Backward-compatibility for old field names. Goes new_name => old_name. @@ -163,8 +338,18 @@ sub COLUMNS { foreach my $field (Bugzilla->get_fields({ obsolete => 0, buglist => 1 })) { my $id = $field->name; $id = $old_names{$id} if exists $old_names{$id}; - my $sql = 'bugs.' . $field->name; - $sql = $special_sql{$id} if exists $special_sql{$id}; + my $sql; + if (exists $special_sql{$id}) { + $sql = $special_sql{$id}; + } + elsif ($field->type == FIELD_TYPE_MULTI_SELECT) { + $sql = $dbh->sql_group_concat( + 'DISTINCT map_bug_' . $field->name . '.value', + $dbh->quote(', ')); + } + else { + $sql = 'bugs.' . $field->name; + } $columns{$id} = { name => $sql, title => $field->description }; } @@ -208,7 +393,6 @@ sub init { my @groupby; my @specialchart; my @andlist; - my %chartfields; my %special_order = %{SPECIAL_ORDER()}; my %special_order_join = %{SPECIAL_ORDER_JOIN()}; @@ -220,8 +404,8 @@ sub init { type => [FIELD_TYPE_MULTI_SELECT, FIELD_TYPE_BUG_URLS], obsolete => 0 }); foreach my $field (@select_fields) { + next if $field->is_abnormal; my $name = $field->name; - next if $name eq 'product'; # products don't have sortkeys. $special_order{$name} = [ "$name.sortkey", "$name.value" ], $special_order_join{$name} = "LEFT JOIN $name ON $name.value = bugs.$name"; @@ -274,22 +458,21 @@ sub init { push(@supptables, "LEFT JOIN longdescs AS ldtime " . "ON ldtime.bug_id = bugs.bug_id"); } + foreach my $field (@multi_select_fields) { + my $field_name = $field->name; + next if !grep($_ eq $field_name, @fields); + push(@supptables, "LEFT JOIN bug_$field_name AS map_bug_$field_name" + . " ON map_bug_$field_name.bug_id = bugs.bug_id"); + } if (grep($_ eq 'flagtypes.name', @fields)) { push(@supptables, "LEFT JOIN flags ON flags.bug_id = bugs.bug_id AND attach_id IS NULL"); push(@supptables, "LEFT JOIN flagtypes ON flagtypes.id = flags.type_id"); } - my $minvotes; - if (defined $params->param('votes')) { - my $c = trim($params->param('votes')); - if ($c ne "") { - if ($c !~ /^[0-9]*$/) { - ThrowUserError("illegal_at_least_x_votes", - { value => $c }); - } - push(@specialchart, ["votes", "greaterthan", $c - 1]); - } + if (grep($_ eq 'keywords', @fields)) { + push(@supptables, "LEFT JOIN keywords ON keywords.bug_id = bugs.bug_id"); + push(@supptables, "LEFT JOIN keyworddefs ON keyworddefs.id = keywords.keywordid"); } # If the user has selected all of either status or resolution, change to @@ -362,7 +545,7 @@ sub init { } } - foreach my $id ("1", "2") { + foreach my $id (1, 2, 3) { if (!defined ($params->param("email$id"))) { next; } @@ -572,127 +755,12 @@ sub init { if (defined $params->param($f)) { my $s = trim($params->param($f)); if ($s ne "") { - my $n = $f; - my $q = $dbh->quote($s); - trick_taint($q); my $type = $params->param($f . "_type"); push(@specialchart, [$f, $type, $s]); } } } - my $multi_fields = join('|', map($_->name, @multi_select_fields)); - - my $chartid; - my $sequence = 0; - my $f; - my $ff; - my $t; - my $q; - my $v; - my $term; - my %funcsbykey; - my %func_args = ( - 'chartid' => \$chartid, - 'sequence' => \$sequence, - 'f' => \$f, - 'ff' => \$ff, - 't' => \$t, - 'v' => \$v, - 'q' => \$q, - 'term' => \$term, - 'funcsbykey' => \%funcsbykey, - 'supptables' => \@supptables, - 'wherepart' => \@wherepart, - 'having' => \@having, - 'groupby' => \@groupby, - 'chartfields' => \%chartfields, - 'fields' => \@fields, - ); - my @funcdefs = ( - "^(?:assigned_to|reporter|qa_contact),(?:notequals|equals|anyexact),%group\\.([^%]+)%" => \&_contact_exact_group, - "^(?:assigned_to|reporter|qa_contact),(?:equals|anyexact),(%\\w+%)" => \&_contact_exact, - "^(?:assigned_to|reporter|qa_contact),(?:notequals),(%\\w+%)" => \&_contact_notequals, - "^(assigned_to|reporter),(?!changed)" => \&_assigned_to_reporter_nonchanged, - "^qa_contact,(?!changed)" => \&_qa_contact_nonchanged, - "^(?:cc),(?:notequals|equals|anyexact),%group\\.([^%]+)%" => \&_cc_exact_group, - "^cc,(?:equals|anyexact),(%\\w+%)" => \&_cc_exact, - "^cc,(?:notequals),(%\\w+%)" => \&_cc_notequals, - "^cc,(?!changed)" => \&_cc_nonchanged, - "^long_?desc,changedby" => \&_long_desc_changedby, - "^long_?desc,changedbefore" => \&_long_desc_changedbefore_after, - "^long_?desc,changedafter" => \&_long_desc_changedbefore_after, - "^content,(?:not)?matches" => \&_content_matches, - "^content," => sub { ThrowUserError("search_content_without_matches"); }, - "^(?:deadline|creation_ts|delta_ts),(?:lessthan|greaterthan|equals|notequals),(?:-|\\+)?(?:\\d+)(?:[dDwWmMyY])\$" => \&_timestamp_compare, - "^commenter,(?:equals|anyexact),(%\\w+%)" => \&_commenter_exact, - "^commenter," => \&_commenter, - # The _ is allowed for backwards-compatibility with 3.2 and lower. - "^long_?desc," => \&_long_desc, - "^longdescs\.isprivate," => \&_longdescs_isprivate, - "^work_time,changedby" => \&_work_time_changedby, - "^work_time,changedbefore" => \&_work_time_changedbefore_after, - "^work_time,changedafter" => \&_work_time_changedbefore_after, - "^work_time," => \&_work_time, - "^percentage_complete," => \&_percentage_complete, - "^bug_group,(?!changed)" => \&_bug_group_nonchanged, - "^attach_data\.thedata,changed" => \&_attach_data_thedata_changed, - "^attach_data\.thedata," => \&_attach_data_thedata, - "^attachments\.submitter," => \&_attachments_submitter, - "^attachments\..*," => \&_attachments, - "^flagtypes.name," => \&_flagtypes_name, - "^requestees.login_name," => \&_requestees_login_name, - "^setters.login_name," => \&_setters_login_name, - "^(changedin|days_elapsed)," => \&_changedin_days_elapsed, - "^component,(?!changed)" => \&_component_nonchanged, - "^product,(?!changed)" => \&_product_nonchanged, - "^classification,(?!changed)" => \&_classification_nonchanged, - "^keywords,(?:equals|notequals|anyexact|anyword|allwords|nowords)" => \&_keywords_exact, - "^keywords,(?!changed)" => \&_keywords_nonchanged, - "^dependson,(?!changed)" => \&_dependson_nonchanged, - "^blocked,(?!changed)" => \&_blocked_nonchanged, - "^alias,(?!changed)" => \&_alias_nonchanged, - "^owner_idle_time,(greaterthan|lessthan)" => \&_owner_idle_time_greater_less, - "^($multi_fields),(?:notequals|notregexp|notsubstring|nowords|nowordssubstr)" => \&_multiselect_negative, - "^($multi_fields),(?:allwords|allwordssubstr|anyexact)" => \&_multiselect_multiple, - "^($multi_fields),(?!changed)" => \&_multiselect_nonchanged, - ",equals" => \&_equals, - ",notequals" => \&_notequals, - ",casesubstring" => \&_casesubstring, - ",substring" => \&_substring, - ",substr" => \&_substring, - ",notsubstring" => \&_notsubstring, - ",regexp" => \&_regexp, - ",notregexp" => \&_notregexp, - ",lessthan" => \&_lessthan, - ",matches" => sub { ThrowUserError("search_content_without_matches"); }, - ",notmatches" => sub { ThrowUserError("search_content_without_matches"); }, - ",greaterthan" => \&_greaterthan, - ",anyexact" => \&_anyexact, - ",anywordssubstr" => \&_anywordsubstr, - ",allwordssubstr" => \&_allwordssubstr, - ",nowordssubstr" => \&_nowordssubstr, - ",anywords" => \&_anywords, - ",allwords" => \&_allwords, - ",nowords" => \&_nowords, - ",(changedbefore|changedafter)" => \&_changedbefore_changedafter, - ",(changedfrom|changedto)" => \&_changedfrom_changedto, - ",changedby" => \&_changedby, - ); - my @funcnames; - while (@funcdefs) { - my $key = shift(@funcdefs); - my $value = shift(@funcdefs); - if ($key =~ /^[^,]*$/) { - die "All defs in %funcs must have a comma in their name: $key"; - } - if (exists $funcsbykey{$key}) { - die "Duplicate key in %funcs: $key"; - } - $funcsbykey{$key} = $value; - push(@funcnames, $key); - } - # first we delete any sign of "Chart #-1" from the HTML form hash # since we want to guarantee the user didn't hide something here my @badcharts = grep /^(field|type|value)-1-/, $params->param(); @@ -799,7 +867,7 @@ sub init { # $suppstring = String which is pasted into query containing all table names # get a list of field names to verify the user-submitted chart fields against - %chartfields = @{$dbh->selectcol_arrayref( + my %chartfields = @{$dbh->selectcol_arrayref( q{SELECT name, id FROM fielddefs}, { Columns=>[1,2] })}; if (!$user->is_timetracker) { @@ -808,61 +876,69 @@ sub init { } } + my ($sequence, $chartid); $row = 0; for ($chart=-1 ; $chart < 0 || $params->param("field$chart-0-0") ; - $chart++) { + $chart++) + { $chartid = $chart >= 0 ? $chart : ""; - my @chartandlist = (); + my @chartandlist; for ($row = 0 ; $params->param("field$chart-$row-0") ; - $row++) { + $row++) + { my @orlist; for (my $col = 0 ; $params->param("field$chart-$row-$col") ; - $col++) { - $f = $params->param("field$chart-$row-$col") || "noop"; - my $original_f = $f; # Saved for search_description - $t = $params->param("type$chart-$row-$col") || "noop"; - $v = $params->param("value$chart-$row-$col"); - $v = "" if !defined $v; - $v = trim($v); - if ($f eq "noop" || $t eq "noop" || $v eq "") { - next; - } + $col++) + { + my $field = $params->param("field$chart-$row-$col") || "noop"; + my $original_field = $field; # Saved for search_description + my $operator = $params->param("type$chart-$row-$col") || "noop"; + my $value = $params->param("value$chart-$row-$col"); + $value = "" if !defined $value; + $value = trim($value); + next if ($field eq "noop" || $operator eq "noop" + || $value eq ""); + # chart -1 is generated by other code above, not from the user- # submitted form, so we'll blindly accept any values in chart -1 - if ((!$chartfields{$f}) && ($chart != -1)) { - ThrowCodeError("invalid_field_name", {field => $f}); + if (!$chartfields{$field} and $chart != -1) { + ThrowCodeError("invalid_field_name", { field => $field }); } # This is either from the internal chart (in which case we # already know about it), or it was in %chartfields, so it is # a valid field name, which means that it's ok. - trick_taint($f); - $q = $dbh->quote($v); - trick_taint($q); - my $rhs = $v; - $rhs =~ tr/,//; - my $func; - $term = undef; - foreach my $key (@funcnames) { - if ("$f,$t,$rhs" =~ m/$key/) { - my $ref = $funcsbykey{$key}; - $ff = $f; - if ($f !~ /\./) { - $ff = "bugs.$f"; - } - $self->$ref(%func_args); - if ($term) { - last; - } - } - } + trick_taint($field); + my $quoted = $dbh->quote($value); + trick_taint($quoted); + + my $term; + my $full_field = $field =~ /\./ ? $field : "bugs.$field"; + $self->do_search_function({ + chartid => \$chartid, + sequence => \$sequence, + f => \$field, + ff => \$full_field, + t => \$operator, + v => \$value, + q => \$quoted, + term => \$term, + multi_fields => \@multi_select_fields, + supptables => \@supptables, + wherepart => \@wherepart, + having => \@having, + groupby => \@groupby, + chartfields => \%chartfields, + fields => \@fields, + }); + if ($term) { $self->search_description({ - field => $original_f, type => $t, value => $v, - term => $term, + field => $original_field, type => $operator, + value => $value, term => $term, }); push(@orlist, $term); } @@ -971,7 +1047,7 @@ sub init { # These fields never go into the GROUP BY (bug_id goes in # explicitly, below). next if (grep($_ eq $field, EMPTY_COLUMN, - qw(bug_id actual_time percentage_complete flagtypes.name))); + qw(bug_id actual_time percentage_complete flagtypes.name keywords))); my $col = COLUMNS->{$field}->{name}; push(@groupby, $col) if !grep($_ eq $col, @groupby); } @@ -1000,6 +1076,80 @@ sub init { ############################################################################### # Helper functions for the init() method. ############################################################################### + +# This takes information about the current boolean chart and translates +# it into SQL, using the constants at the top of this file. +sub do_search_function { + my ($self, $args) = @_; + my ($field, $operator, $value) = @$args{qw(f t v)}; + + my $actual_field = FIELD_MAP->{$$field} || $$field; + + if (my $parse_func = SPECIAL_PARSING->{$actual_field}) { + $self->$parse_func(%$args); + # Some parsing functions set $term, though most do not. + # For the ones that set $term, we don't need to do any further + # parsing. + return if ${ $args->{term} }; + } + + my $override = OPERATOR_FIELD_OVERRIDE->{$actual_field}; + if (!$override) { + # Multi-select fields get special handling. + if (grep { $_->name eq $actual_field } @{ $args->{multi_fields} }) { + $override = OPERATOR_FIELD_OVERRIDE->{_multi_select}; + } + # And so do attachment fields, if they don't have a specific + # individual override. + elsif ($actual_field =~ /^attachments\./) { + $override = OPERATOR_FIELD_OVERRIDE->{attachments}; + } + } + + if ($override) { + my $search_func = $self->_pick_override_function($override, $$operator); + $self->$search_func(%$args) if $search_func; + } + + # Some search functions set $term, and some don't. For the ones that + # don't (or for fields that don't have overrides) we now call the + # direct operator function from OPERATORS. + if (!${ $args->{term} }) { + $self->_do_operator_function($args); + } +} + +# A helper for various search functions that need to run operator +# functions directly. +sub _do_operator_function { + my ($self, $func_args) = @_; + my $operator = $func_args->{t}; + my $operator_func = OPERATORS->{$$operator}; + $self->$operator_func(%$func_args); +} + +sub _pick_override_function { + my ($self, $override, $operator) = @_; + my $search_func = $override->{$operator}; + + if (!$search_func) { + # If we don't find an override for one specific operator, + # then there are some special override types: + # _non_changed: For any operator that doesn't have the word + # "changed" in it + # _default: Overrides all operators that aren't explicitly specified. + if ($override->{_non_changed} and $operator !~ /changed/) { + $search_func = $override->{_non_changed}; + } + elsif ($override->{_default}) { + $search_func = $override->{_default}; + } + } + + return $search_func; +} + + sub SqlifyDate { my ($str) = @_; $str = "" if !defined $str; @@ -1230,6 +1380,22 @@ sub translate_old_column { # Search Functions ##################################################################### +sub _contact_pronoun { + my $self = shift; + my %func_args = @_; + my ($value, $quoted) = @func_args{qw(v q)}; + my $user = $self->{'user'}; + + if ($$value =~ /^\%group/) { + $self->_contact_exact_group(%func_args); + } + elsif ($$value =~ /^(%\w+%)$/) { + $$value = pronoun($1, $user); + $$quoted = $$value; + } + +} + sub _contact_exact_group { my $self = shift; my %func_args = @_; @@ -1237,7 +1403,7 @@ sub _contact_exact_group { @func_args{qw(chartid supptables f t v term)}; my $user = $self->{'user'}; - $$v =~ m/%group\\.([^%]+)%/; + $$v =~ /\%group\.([^%]+)%/; my $group = $1; my $groupid = Bugzilla::Group::ValidateGroupName( $group, ($user)); $groupid || ThrowUserError('invalid_group_name',{name => $group}); @@ -1258,48 +1424,42 @@ sub _contact_exact_group { } } -sub _contact_exact { - my $self = shift; - my %func_args = @_; - my ($term, $f, $v) = @func_args{qw(term f v)}; - my $user = $self->{'user'}; - - $$v =~ m/(%\\w+%)/; - $$term = "bugs.$$f = " . pronoun($1, $user); -} - -sub _contact_notequals { - my $self = shift; - my %func_args = @_; - my ($term, $f, $v) = @func_args{qw(term f v)}; - my $user = $self->{'user'}; - - $$v =~ m/(%\\w+%)/; - $$term = "bugs.$$f <> " . pronoun($1, $user); -} - sub _assigned_to_reporter_nonchanged { my $self = shift; my %func_args = @_; - my ($f, $ff, $funcsbykey, $t, $term) = - @func_args{qw(f ff funcsbykey t term)}; + my ($f, $ff, $t, $term) = + @func_args{qw(f ff t term)}; - my $real_f = $$f; - $$f = "login_name"; $$ff = "profiles.login_name"; - $$funcsbykey{",$$t"}($self, %func_args); - $$term = "bugs.$real_f IN (SELECT userid FROM profiles WHERE $$term)"; + $self->_do_operator_function(\%func_args); + $$term = "bugs.$$f IN (SELECT userid FROM profiles WHERE $$term)"; } sub _qa_contact_nonchanged { my $self = shift; my %func_args = @_; - my ($supptables, $f) = - @func_args{qw(supptables f)}; + my ($supptables, $f, $ff) = + @func_args{qw(supptables f ff)}; push(@$supptables, "LEFT JOIN profiles AS map_qa_contact " . "ON bugs.qa_contact = map_qa_contact.userid"); - $$f = "COALESCE(map_$$f.login_name,'')"; + $$ff = "COALESCE(map_$$f.login_name,'')"; +} + +sub _cc_pronoun { + my $self = shift; + my %func_args = @_; + my ($full_field, $value, $quoted) = @func_args{qw(ff v q)}; + my $user = $self->{'user'}; + + if ($$value =~ /\%group/) { + return $self->_cc_exact_group(%func_args); + } + elsif ($$value =~ /^(%\w+%)$/) { + $$value = pronoun($1, $user); + $$quoted = $$value; + $$full_field = "profiles.userid"; + } } sub _cc_exact_group { @@ -1309,7 +1469,7 @@ sub _cc_exact_group { @func_args{qw(chartid sequence supptables t v term)}; my $user = $self->{'user'}; - $$v =~ m/%group\\.([^%]+)%/; + $$v =~ m/%group\.([^%]+)%/; my $group = $1; my $groupid = Bugzilla::Group::ValidateGroupName( $group, ($user)); $groupid || ThrowUserError('invalid_group_name',{name => $group}); @@ -1337,60 +1497,21 @@ sub _cc_exact_group { } } -sub _cc_exact { - my $self = shift; - my %func_args = @_; - my ($chartid, $sequence, $supptables, $term, $v) = - @func_args{qw(chartid sequence supptables term v)}; - my $user = $self->{'user'}; - - $$v =~ m/(%\\w+%)/; - my $match = pronoun($1, $user); - my $chartseq = $$chartid; - if ($$chartid eq "") { - $chartseq = "CC$$sequence"; - $$sequence++; - } - push(@$supptables, "LEFT JOIN cc AS cc_$chartseq " . - "ON bugs.bug_id = cc_$chartseq.bug_id " . - "AND cc_$chartseq.who = $match"); - $$term = "cc_$chartseq.who IS NOT NULL"; -} - -sub _cc_notequals { - my $self = shift; - my %func_args = @_; - my ($chartid, $sequence, $supptables, $term, $v) = - @func_args{qw(chartid sequence supptables term v)}; - my $user = $self->{'user'}; - - $$v =~ m/(%\\w+%)/; - my $match = pronoun($1, $user); - my $chartseq = $$chartid; - if ($$chartid eq "") { - $chartseq = "CC$$sequence"; - $$sequence++; - } - push(@$supptables, "LEFT JOIN cc AS cc_$chartseq " . - "ON bugs.bug_id = cc_$chartseq.bug_id " . - "AND cc_$chartseq.who = $match"); - $$term = "cc_$chartseq.who IS NULL"; -} - sub _cc_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $sequence, $f, $ff, $t, $funcsbykey, $supptables, $term, $v) = - @func_args{qw(chartid sequence f ff t funcsbykey supptables term v)}; + my ($chartid, $sequence, $f, $ff, $t, $supptables, $term, $v) = + @func_args{qw(chartid sequence f ff t supptables term v)}; my $chartseq = $$chartid; if ($$chartid eq "") { $chartseq = "CC$$sequence"; $$sequence++; } - $$f = "login_name"; - $$ff = "profiles.login_name"; - $$funcsbykey{",$$t"}($self, %func_args); + if ($$ff eq 'bugs.cc') { + $$ff = "profiles.login_name"; + } + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN cc AS cc_$chartseq " . "ON bugs.bug_id = cc_$chartseq.bug_id " . "AND cc_$chartseq.who IN" . @@ -1477,43 +1598,36 @@ sub _content_matches { COLUMNS->{'relevance'}->{name} = $select_term; } -sub _timestamp_compare { +sub _timestamp_translate { my $self = shift; my %func_args = @_; - my ($v, $q) = @func_args{qw(v q)}; + my ($value, $quoted) = @func_args{qw(v q)}; my $dbh = Bugzilla->dbh; + + return if $$value !~ /^[\+\-]?\d+[hdwmy]$/i; - $$v = SqlifyDate($$v); - $$q = $dbh->quote($$v); + $$value = SqlifyDate($$value); + $$quoted = $dbh->quote($$value); } -sub _commenter_exact { +sub _commenter_pronoun { my $self = shift; my %func_args = @_; - my ($chartid, $sequence, $supptables, $term, $v) = - @func_args{qw(chartid sequence supptables term v)}; + my ($full_field, $value, $quoted) = @func_args{qw(ff v q)}; my $user = $self->{'user'}; - - $$v =~ m/(%\\w+%)/; - my $match = pronoun($1, $user); - my $chartseq = $$chartid; - if ($$chartid eq "") { - $chartseq = "LD$$sequence"; - $$sequence++; + + if ($$value =~ /^(%\w+%)$/) { + $$value = pronoun($1, $user); + $$quoted = $$value; + $$full_field = "profiles.userid"; } - my $table = "longdescs_$chartseq"; - my $extra = $user->is_insider ? "" : "AND $table.isprivate < 1"; - push(@$supptables, "LEFT JOIN longdescs AS $table " . - "ON $table.bug_id = bugs.bug_id $extra " . - "AND $table.who IN ($match)"); - $$term = "$table.who IS NOT NULL"; } sub _commenter { my $self = shift; my %func_args = @_; - my ($chartid, $sequence, $supptables, $f, $ff, $t, $funcsbykey, $term) = - @func_args{qw(chartid sequence supptables f ff t funcsbykey term)}; + my ($chartid, $sequence, $supptables, $f, $ff, $t, $term) = + @func_args{qw(chartid sequence supptables f ff t term)}; my $chartseq = $$chartid; if ($$chartid eq "") { @@ -1522,9 +1636,10 @@ sub _commenter { } my $table = "longdescs_$chartseq"; my $extra = $self->{'user'}->is_insider ? "" : "AND $table.isprivate < 1"; - $$f = "login_name"; - $$ff = "profiles.login_name"; - $$funcsbykey{",$$t"}($self, %func_args); + if ($$ff eq 'bugs.commenter') { + $$ff = "profiles.login_name"; + } + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN longdescs AS $table " . "ON $table.bug_id = bugs.bug_id $extra " . "AND $table.who IN" . @@ -1536,27 +1651,27 @@ sub _commenter { sub _long_desc { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f) = - @func_args{qw(chartid supptables f)}; + my ($chartid, $supptables, $ff) = + @func_args{qw(chartid supptables ff)}; my $table = "longdescs_$$chartid"; my $extra = $self->{'user'}->is_insider ? "" : "AND $table.isprivate < 1"; push(@$supptables, "LEFT JOIN longdescs AS $table " . "ON $table.bug_id = bugs.bug_id $extra"); - $$f = "$table.thetext"; + $$ff = "$table.thetext"; } sub _longdescs_isprivate { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f) = - @func_args{qw(chartid supptables f)}; + my ($chartid, $supptables, $ff) = + @func_args{qw(chartid supptables ff)}; my $table = "longdescs_$$chartid"; my $extra = $self->{'user'}->is_insider ? "" : "AND $table.isprivate < 1"; push(@$supptables, "LEFT JOIN longdescs AS $table " . "ON $table.bug_id = bugs.bug_id $extra"); - $$f = "$table.isprivate"; + $$ff = "$table.isprivate"; } sub _work_time_changedby { @@ -1593,13 +1708,13 @@ sub _work_time_changedbefore_after { sub _work_time { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f) = - @func_args{qw(chartid supptables f)}; + my ($chartid, $supptables, $ff) = + @func_args{qw(chartid supptables ff)}; my $table = "longdescs_$$chartid"; push(@$supptables, "LEFT JOIN longdescs AS $table " . "ON $table.bug_id = bugs.bug_id"); - $$f = "$table.work_time"; + $$ff = "$table.work_time"; } sub _percentage_complete { @@ -1614,8 +1729,12 @@ sub _percentage_complete { $oper = "="; } elsif ($$t eq "greaterthan") { $oper = ">"; + } elsif ($$t eq "greaterthaneq") { + $oper = ">="; } elsif ($$t eq "lessthan") { $oper = "<"; + } elsif ($$t eq "lessthaneq") { + $oper = "<="; } elsif ($$t eq "notequal") { $oper = "<>"; } elsif ($$t eq "regexp") { @@ -1662,14 +1781,14 @@ sub _percentage_complete { sub _bug_group_nonchanged { my $self = shift; my %func_args = @_; - my ($supptables, $chartid, $ff, $f, $t, $funcsbykey, $term) = - @func_args{qw(supptables chartid ff f t funcsbykey term)}; + my ($supptables, $chartid, $ff, $t, $term) = + @func_args{qw(supptables chartid ff t term)}; push(@$supptables, "LEFT JOIN bug_group_map AS bug_group_map_$$chartid " . "ON bugs.bug_id = bug_group_map_$$chartid.bug_id"); - $$ff = $$f = "groups_$$chartid.name"; - $$funcsbykey{",$$t"}($self, %func_args); + $$ff = "groups_$$chartid.name"; + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN groups AS groups_$$chartid " . "ON groups_$$chartid.id = bug_group_map_$$chartid.group_id " . @@ -1677,57 +1796,47 @@ sub _bug_group_nonchanged { $$term = "$$ff IS NOT NULL"; } -sub _attach_data_thedata_changed { - my $self = shift; - my %func_args = @_; - my ($f) = @func_args{qw(f)}; - - # Searches for attachment data's change must search - # the creation timestamp of the attachment instead. - $$f = "attachments.whocares"; -} - sub _attach_data_thedata { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f) = - @func_args{qw(chartid supptables f)}; + my ($chartid, $supptables, $ff) = + @func_args{qw(chartid supptables ff)}; my $atable = "attachments_$$chartid"; my $dtable = "attachdata_$$chartid"; my $extra = $self->{'user'}->is_insider ? "" : "AND $atable.isprivate = 0"; - push(@$supptables, "INNER JOIN attachments AS $atable " . + push(@$supptables, "LEFT JOIN attachments AS $atable " . "ON bugs.bug_id = $atable.bug_id $extra"); - push(@$supptables, "INNER JOIN attach_data AS $dtable " . + push(@$supptables, "LEFT JOIN attach_data AS $dtable " . "ON $dtable.id = $atable.attach_id"); - $$f = "$dtable.thedata"; + $$ff = "$dtable.thedata"; } sub _attachments_submitter { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f) = - @func_args{qw(chartid supptables f)}; + my ($chartid, $supptables, $ff) = + @func_args{qw(chartid supptables ff)}; my $atable = "map_attachment_submitter_$$chartid"; my $extra = $self->{'user'}->is_insider ? "" : "AND $atable.isprivate = 0"; - push(@$supptables, "INNER JOIN attachments AS $atable " . + push(@$supptables, "LEFT JOIN attachments AS $atable " . "ON bugs.bug_id = $atable.bug_id $extra"); push(@$supptables, "LEFT JOIN profiles AS attachers_$$chartid " . "ON $atable.submitter_id = attachers_$$chartid.userid"); - $$f = "attachers_$$chartid.login_name"; + $$ff = "attachers_$$chartid.login_name"; } sub _attachments { my $self = shift; my %func_args = @_; - my ($chartid, $supptables, $f, $t, $v, $q) = - @func_args{qw(chartid supptables f t v q)}; + my ($chartid, $supptables, $f, $ff, $t, $v, $q) = + @func_args{qw(chartid supptables f ff t v q)}; my $dbh = Bugzilla->dbh; my $table = "attachments_$$chartid"; my $extra = $self->{'user'}->is_insider ? "" : "AND $table.isprivate = 0"; - push(@$supptables, "INNER JOIN attachments AS $table " . + push(@$supptables, "LEFT JOIN attachments AS $table " . "ON bugs.bug_id = $table.bug_id $extra"); $$f =~ m/^attachments\.(.*)$/; my $field = $1; @@ -1753,14 +1862,14 @@ sub _attachments { if ($field eq "isobsolete" && $$v ne "0" && $$v ne "1") { ThrowUserError("illegal_is_obsolete"); } - $$f = "$table.$field"; + $$ff = "$table.$field"; } sub _flagtypes_name { my $self = shift; my %func_args = @_; - my ($t, $chartid, $supptables, $ff, $funcsbykey, $having, $term) = - @func_args{qw(t chartid supptables ff funcsbykey having term)}; + my ($t, $chartid, $supptables, $ff, $having, $term) = + @func_args{qw(t chartid supptables ff having term)}; my $dbh = Bugzilla->dbh; # Matches bugs by flag name/status. @@ -1775,19 +1884,26 @@ sub _flagtypes_name { # Add the flags and flagtypes tables to the query. We do # a left join here so bugs without any flags still match # negative conditions (f.e. "flag isn't review+"). + my $attachments = "attachments_$$chartid"; + my $extra = $self->{'user'}->is_insider ? "" : "AND $attachments.isprivate = 0"; + push(@$supptables, "LEFT JOIN attachments AS $attachments " . + "ON bugs.bug_id = $attachments.bug_id $extra"); my $flags = "flags_$$chartid"; push(@$supptables, "LEFT JOIN flags AS $flags " . "ON bugs.bug_id = $flags.bug_id "); my $flagtypes = "flagtypes_$$chartid"; push(@$supptables, "LEFT JOIN flagtypes AS $flagtypes " . "ON $flags.type_id = $flagtypes.id"); + push(@$supptables, "LEFT JOIN flags AS $flags " . + "ON $flags.attach_id = $attachments.attach_id " . + "OR $flags.attach_id IS NULL"); # Generate the condition by running the operator-specific # function. Afterwards the condition resides in the global $term # variable. $$ff = $dbh->sql_string_concat("${flagtypes}.name", "$flags.status"); - $$funcsbykey{",$$t"}($self, %func_args); + $self->_do_operator_function(\%func_args); # If this is a negative condition (f.e. flag isn't "review+"), # we only want bugs where all flags match the condition, not @@ -1808,47 +1924,62 @@ sub _flagtypes_name { sub _requestees_login_name { my $self = shift; my %func_args = @_; - my ($f, $chartid, $supptables) = @func_args{qw(f chartid supptables)}; + my ($ff, $chartid, $supptables) = @func_args{qw(ff chartid supptables)}; + my $attachments = "attachments_$$chartid"; + my $extra = $self->{'user'}->is_insider ? "" : "AND $attachments.isprivate = 0"; + push(@$supptables, "LEFT JOIN attachments AS $attachments " . + "ON bugs.bug_id = $attachments.bug_id $extra"); my $flags = "flags_$$chartid"; push(@$supptables, "LEFT JOIN flags AS $flags " . "ON bugs.bug_id = $flags.bug_id "); push(@$supptables, "LEFT JOIN profiles AS requestees_$$chartid " . "ON $flags.requestee_id = requestees_$$chartid.userid"); - $$f = "requestees_$$chartid.login_name"; + push(@$supptables, "LEFT JOIN flags AS $flags " . + "ON $flags.attach_id = $attachments.attach_id " . + "OR $flags.attach_id IS NULL"); + + $$ff = "requestees_$$chartid.login_name"; } sub _setters_login_name { my $self = shift; my %func_args = @_; - my ($f, $chartid, $supptables) = @func_args{qw(f chartid supptables)}; - + my ($ff, $chartid, $supptables) = @func_args{qw(ff chartid supptables)}; + + my $attachments = "attachments_$$chartid"; + my $extra = $self->{'user'}->is_insider ? "" : "AND $attachments.isprivate = 0"; + push(@$supptables, "LEFT JOIN attachments AS $attachments " . + "ON bugs.bug_id = $attachments.bug_id $extra"); my $flags = "flags_$$chartid"; push(@$supptables, "LEFT JOIN flags AS $flags " . "ON bugs.bug_id = $flags.bug_id "); push(@$supptables, "LEFT JOIN profiles AS setters_$$chartid " . "ON $flags.setter_id = setters_$$chartid.userid"); - $$f = "setters_$$chartid.login_name"; + push(@$supptables, "LEFT JOIN flags AS $flags " . + "ON $flags.attach_id = $attachments.attach_id " . + "OR $flags.attach_id IS NULL"); + + $$ff = "setters_$$chartid.login_name"; } sub _changedin_days_elapsed { my $self = shift; my %func_args = @_; - my ($f) = @func_args{qw(f)}; + my ($ff) = @func_args{qw(ff)}; my $dbh = Bugzilla->dbh; - $$f = "(" . $dbh->sql_to_days('NOW()') . " - " . - $dbh->sql_to_days('bugs.delta_ts') . ")"; + $$ff = "(" . $dbh->sql_to_days('NOW()') . " - " . + $dbh->sql_to_days('bugs.delta_ts') . ")"; } sub _component_nonchanged { my $self = shift; my %func_args = @_; - my ($f, $ff, $t, $funcsbykey, $term) = - @func_args{qw(f ff t funcsbykey term)}; + my ($ff, $t, $term) = @func_args{qw(ff t term)}; - $$f = $$ff = "components.name"; - $$funcsbykey{",$$t"}($self, %func_args); + $$ff = "components.name"; + $self->_do_operator_function(\%func_args); $$term = build_subselect("bugs.component_id", "components.id", "components", @@ -1857,12 +1988,11 @@ sub _component_nonchanged { sub _product_nonchanged { my $self = shift; my %func_args = @_; - my ($f, $ff, $t, $funcsbykey, $term) = - @func_args{qw(f ff t funcsbykey term)}; + my ($ff, $t, $term) = @func_args{qw(ff t term)}; # Generate the restriction condition - $$f = $$ff = "products.name"; - $$funcsbykey{",$$t"}($self, %func_args); + $$ff = "products.name"; + $self->_do_operator_function(\%func_args); $$term = build_subselect("bugs.product_id", "products.id", "products", @@ -1872,14 +2002,14 @@ sub _product_nonchanged { sub _classification_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $v, $ff, $f, $funcsbykey, $t, $supptables, $term) = - @func_args{qw(chartid v ff f funcsbykey t supptables term)}; + my ($chartid, $v, $ff, $t, $supptables, $term) = + @func_args{qw(chartid v ff t supptables term)}; # Generate the restriction condition push @$supptables, "INNER JOIN products AS map_products " . "ON bugs.product_id = map_products.id"; - $$f = $$ff = "classifications.name"; - $$funcsbykey{",$$t"}($self, %func_args); + $$ff = "classifications.name"; + $self->_do_operator_function(\%func_args); $$term = build_subselect("map_products.classification_id", "classifications.id", "classifications", @@ -1923,13 +2053,16 @@ sub _keywords_exact { push(@$supptables, "LEFT JOIN keywords AS $table " . "ON $table.bug_id = bugs.bug_id"); } + else { + $self->_keywords_nonchanged(%func_args); + } } sub _keywords_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $v, $ff, $f, $t, $term, $supptables) = - @func_args{qw(chartid v ff f t term supptables)}; + my ($chartid, $v, $ff, $t, $term, $supptables) = + @func_args{qw(chartid v ff t term supptables)}; my $k_table = "keywords_$$chartid"; my $kd_table = "keyworddefs_$$chartid"; @@ -1939,18 +2072,18 @@ sub _keywords_nonchanged { push(@$supptables, "LEFT JOIN keyworddefs AS $kd_table " . "ON $kd_table.id = $k_table.keywordid"); - $$f = "$kd_table.name"; + $$ff = "$kd_table.name"; } sub _dependson_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $ff, $f, $funcsbykey, $t, $term, $supptables) = - @func_args{qw(chartid ff f funcsbykey t term supptables)}; + my ($chartid, $ff, $f, $t, $term, $supptables) = + @func_args{qw(chartid ff f t term supptables)}; my $table = "dependson_" . $$chartid; $$ff = "$table.$$f"; - $$funcsbykey{",$$t"}($self, %func_args); + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN dependencies AS $table " . "ON $table.blocked = bugs.bug_id " . "AND ($$term)"); @@ -1960,12 +2093,12 @@ sub _dependson_nonchanged { sub _blocked_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $ff, $f, $funcsbykey, $t, $term, $supptables) = - @func_args{qw(chartid ff f funcsbykey t term supptables)}; + my ($chartid, $ff, $f, $t, $term, $supptables) = + @func_args{qw(chartid ff f t term supptables)}; my $table = "blocked_" . $$chartid; $$ff = "$table.$$f"; - $$funcsbykey{",$$t"}($self, %func_args); + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN dependencies AS $table " . "ON $table.dependson = bugs.bug_id " . "AND ($$term)"); @@ -1975,12 +2108,11 @@ sub _blocked_nonchanged { sub _alias_nonchanged { my $self = shift; my %func_args = @_; - my ($ff, $funcsbykey, $t, $term) = - @func_args{qw(ff funcsbykey t term)}; + my ($ff, $t, $term) = @func_args{qw(ff t term)}; $$ff = "COALESCE(bugs.alias, '')"; - $$funcsbykey{",$$t"}($self, %func_args); + $self->_do_operator_function(\%func_args); } sub _owner_idle_time_greater_less { @@ -2029,7 +2161,7 @@ sub _owner_idle_time_greater_less { sub _multiselect_negative { my $self = shift; my %func_args = @_; - my ($f, $ff, $t, $funcsbykey, $term) = @func_args{qw(f ff t funcsbykey term)}; + my ($f, $ff, $t, $term) = @func_args{qw(f ff t term)}; my %map = ( notequals => 'equals', @@ -2042,14 +2174,15 @@ sub _multiselect_negative { my $table = "bug_$$f"; $$ff = "$table.value"; - $$funcsbykey{",".$map{$$t}}($self, %func_args); + $$t = $map{$$t}; + $self->_do_operator_function(\%func_args); $$term = "bugs.bug_id NOT IN (SELECT bug_id FROM $table WHERE $$term)"; } sub _multiselect_multiple { my $self = shift; my %func_args = @_; - my ($f, $ff, $t, $v, $funcsbykey, $term) = @func_args{qw(f ff t v funcsbykey term)}; + my ($f, $ff, $t, $v, $term) = @func_args{qw(f ff t v term)}; my @terms; my $table = "bug_$$f"; @@ -2057,7 +2190,7 @@ sub _multiselect_multiple { foreach my $word (split(/[\s,]+/, $$v)) { $$v = $word; - $$funcsbykey{",".$$t}($self, %func_args); + $self->_do_operator_function(\%func_args); push(@terms, "bugs.bug_id IN (SELECT bug_id FROM $table WHERE $$term)"); } @@ -2073,13 +2206,13 @@ sub _multiselect_multiple { sub _multiselect_nonchanged { my $self = shift; my %func_args = @_; - my ($chartid, $f, $ff, $t, $funcsbykey, $supptables) = - @func_args{qw(chartid f ff t funcsbykey supptables)}; + my ($chartid, $f, $ff, $t, $supptables) = + @func_args{qw(chartid f ff t supptables)}; my $table = $$f."_".$$chartid; $$ff = "$table.value"; - $$funcsbykey{",$$t"}($self, %func_args); + $self->_do_operator_function(\%func_args); push(@$supptables, "LEFT JOIN bug_$$f AS $table " . "ON $table.bug_id = bugs.bug_id "); } @@ -2153,6 +2286,14 @@ sub _lessthan { $$term = "$$ff < $$q"; } +sub _lessthaneq { + my $self = shift; + my %func_args = @_; + my ($ff, $q, $term) = @func_args{qw(ff q term)}; + + $$term = "$$ff <= $$q"; +} + sub _greaterthan { my $self = shift; my %func_args = @_; @@ -2161,6 +2302,14 @@ sub _greaterthan { $$term = "$$ff > $$q"; } +sub _greaterthaneq { + my $self = shift; + my %func_args = @_; + my ($ff, $q, $term) = @func_args{qw(ff q term)}; + + $$term = "$$ff >= $$q"; +} + sub _anyexact { my $self = shift; my %func_args = @_; diff --git a/Bugzilla/Search/CVS/Entries b/Bugzilla/Search/CVS/Entries deleted file mode 100644 index 9901150dc018884cfe9b39782a518b42b4d269fe..0000000000000000000000000000000000000000 --- a/Bugzilla/Search/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/Quicksearch.pm/1.29.2.3/Tue Mar 30 01:19:01 2010//TBUGZILLA-3_6_1 -/Saved.pm/1.9/Fri Aug 21 21:33:10 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Search/CVS/Repository b/Bugzilla/Search/CVS/Repository deleted file mode 100644 index d9a78ec93b70b8a715f3f36a8b2d37fa7ad763bb..0000000000000000000000000000000000000000 --- a/Bugzilla/Search/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Search diff --git a/Bugzilla/Search/CVS/Root b/Bugzilla/Search/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Search/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Search/CVS/Tag b/Bugzilla/Search/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Search/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm index 8a1219201a4c420bfa4b52f10f834f4f4c8b790f..7839c4fd57d369e4c7748511fe55903f750666d2 100644 --- a/Bugzilla/Search/Quicksearch.pm +++ b/Bugzilla/Search/Quicksearch.pm @@ -30,6 +30,8 @@ use Bugzilla::Status; use Bugzilla::Field; use Bugzilla::Util; +use Text::ParseWords qw(quotewords); + use base qw(Exporter); @Bugzilla::Search::Quicksearch::EXPORT = qw(quicksearch); @@ -147,7 +149,7 @@ sub quicksearch { $searchstring =~ s/\s+OR\s+/|/g; $searchstring =~ s/\s+NOT\s+/ -/g; - my @words = splitString($searchstring); + my @words = quotewords('\s+', 0, $searchstring); _handle_status_and_resolution(\@words); my (@unknownFields, %ambiguous_fields); @@ -339,12 +341,6 @@ sub _handle_special_first_chars { sub _handle_field_names { my ($or_operand, $negate, $unknownFields, $ambiguous_fields) = @_; - # votes:xx ("at least xx votes") - if ($or_operand =~ /^votes:([0-9]+)$/) { - addChart('votes', 'greaterthan', $1 - 1, $negate); - return 1; - } - # Flag and requestee shortcut if ($or_operand =~ /^(?:flag:)?([^\?]+\?)([^\?]*)$/) { addChart('flagtypes.name', 'substring', $1, $negate); @@ -454,18 +450,6 @@ sub _special_field_syntax { return 1; } - # Votes (votes>xx) - if ($word =~ m/^votes>([0-9]+)$/) { - addChart('votes', 'greaterthan', $1, $negate); - return 1; - } - - # Votes (votes>=xx, votes=>xx) - if ($word =~ m/^votes(>=|=>)([0-9]+)$/) { - addChart('votes', 'greaterthan', $2-1, $negate); - return 1; - } - return 0; } @@ -510,36 +494,6 @@ sub _handle_urls { # Helpers ########################################################################### -# Split string on whitespace, retaining quoted strings as one -sub splitString { - my $string = shift; - my @quoteparts; - my @parts; - my $i = 0; - - # Now split on quote sign; be tolerant about unclosed quotes - @quoteparts = split(/"/, $string); - foreach my $part (@quoteparts) { - # After every odd quote, quote special chars - $part = url_quote($part) if $i++ % 2; - } - # Join again - $string = join('"', @quoteparts); - - # Now split on unescaped whitespace - @parts = split(/\s+/, $string); - foreach (@parts) { - # Protect plus signs from becoming a blank. - # If "+" appears as the first character, leave it alone - # as it has a special meaning. Strings which start with - # "+" must be quoted. - s/(?<!^)\+/%2B/g; - # Remove quotes - s/"//g; - } - return @parts; -} - # Expand found prefixes to states or resolutions sub matchPrefixes { my $hr_states = shift; @@ -598,7 +552,7 @@ sub makeChart { my $cgi = Bugzilla->cgi; $cgi->param("field$expr", $field); $cgi->param("type$expr", $type); - $cgi->param("value$expr", url_decode($value)); + $cgi->param("value$expr", $value); } 1; diff --git a/Bugzilla/Search/Recent.pm b/Bugzilla/Search/Recent.pm new file mode 100644 index 0000000000000000000000000000000000000000..79257a85195738d5133feb2d2b18f8459ec1b80b --- /dev/null +++ b/Bugzilla/Search/Recent.pm @@ -0,0 +1,145 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Everything Solved, Inc. +# Portions created by the Initial Developer are Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Max Kanat-Alexander <mkanat@bugzilla.org> + +package Bugzilla::Search::Recent; +use strict; +use base qw(Bugzilla::Object); + +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Util; + +############# +# Constants # +############# + +use constant DB_TABLE => 'profile_search'; +use constant LIST_ORDER => 'id'; + +use constant DB_COLUMNS => qw( + id + user_id + bug_list + list_order +); + +use constant VALIDATORS => { + user_id => \&_check_user_id, + bug_list => \&_check_bug_list, + list_order => \&_check_list_order, +}; + +use constant UPDATE_COLUMNS => qw(bug_list list_order); + +################### +# DB Manipulation # +################### + +sub create { + my $class = shift; + my $dbh = Bugzilla->dbh; + $dbh->bz_start_transaction(); + my $search = $class->SUPER::create(@_); + + # Enforce there only being SAVE_NUM_SEARCHES per user. + my ($num_searches, $min_id) = $dbh->selectrow_array( + 'SELECT COUNT(*), MIN(id) FROM profile_search WHERE user_id = ?', + undef, $search->user_id); + if ($num_searches > SAVE_NUM_SEARCHES) { + $dbh->do('DELETE FROM profile_search WHERE id = ?', undef, $min_id); + } + $dbh->bz_commit_transaction(); + return $search; +} + +sub create_placeholder { + my $class = shift; + return $class->create({ user_id => Bugzilla->user->id, + bug_list => '' }); +} + +############### +# Constructor # +############### + +sub check { + my $class = shift; + my $search = $class->SUPER::check(@_); + my $user = Bugzilla->user; + if ($search->user_id != $user->id) { + ThrowUserError('object_does_not_exist', { id => $search->id }); + } + return $search; +} + +#################### +# Simple Accessors # +#################### + +sub bug_list { return [split(',', $_[0]->{'bug_list'})]; } +sub list_order { return $_[0]->{'list_order'}; } +sub user_id { return $_[0]->{'user_id'}; } + +############ +# Mutators # +############ + +sub set_bug_list { $_[0]->set('bug_list', $_[1]); } +sub set_list_order { $_[0]->set('list_order', $_[1]); } + +############## +# Validators # +############## + +sub _check_user_id { + my ($invocant, $id) = @_; + require Bugzilla::User; + return Bugzilla::User->check({ id => $id })->id; +} + +sub _check_bug_list { + my ($invocant, $list) = @_; + + my @bug_ids = ref($list) ? @$list : split(',', $list || ''); + detaint_natural($_) foreach @bug_ids; + return join(',', @bug_ids); +} + +sub _check_list_order { defined $_[1] ? trim($_[1]) : '' } + +1; + +__END__ + +=head1 NAME + +Bugzilla::Search::Recent - A search recently run by a logged-in user. + +=head1 SYNOPSIS + + use Bugzilla::Search::Recent; + + +=head1 DESCRIPTION + +This is an implementation of L<Bugzilla::Object>, and so has all the +same methods available as L<Bugzilla::Object>, in addition to what is +documented below. diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm index cf043beb1b64623f57c1353f24e0cf35c301c0f1..cb63714691091a60ca3ec8374c201aabf1bb546a 100644 --- a/Bugzilla/Search/Saved.pm +++ b/Bugzilla/Search/Saved.pm @@ -48,8 +48,6 @@ use constant DB_COLUMNS => qw( query_type ); -use constant REQUIRED_CREATE_FIELDS => qw(name query); - use constant VALIDATORS => { name => \&_check_name, query => \&_check_query, diff --git a/Bugzilla/Status.pm b/Bugzilla/Status.pm index 4d1281e7e875034360a7938d7a3f6c95c77c403a..0dd17ae3936e76bd54392e54d999f81873818dec 100644 --- a/Bugzilla/Status.pm +++ b/Bugzilla/Status.pm @@ -23,7 +23,10 @@ use strict; package Bugzilla::Status; use Bugzilla::Error; - +# This subclasses Bugzilla::Field::Choice instead of implementing +# ChoiceInterface, because a bug status literally is a special type +# of Field::Choice, not just an object that happens to have the same +# methods. use base qw(Bugzilla::Field::Choice Exporter); @Bugzilla::Status::EXPORT = qw( BUG_STATE_OPEN diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index 87114c95d2a5bfb42d9d0ad79e5928b8ba672cc6..00d7b6d288cfb54ad930040f6fc451b8129b87cd 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -55,6 +55,7 @@ use File::Find; use File::Path qw(rmtree mkpath); use File::Spec; use IO::Dir; +use List::MoreUtils qw(firstidx); use Scalar::Util qw(blessed); use base qw(Template); @@ -84,12 +85,11 @@ sub _load_constants { # settings of the user and of the available languages # If no Accept-Language is present it uses the defined default # Templates may also be found in the extensions/ tree -sub getTemplateIncludePath { +sub _include_path { + my $lang = shift || ''; my $cache = Bugzilla->request_cache; - my $lang = $cache->{'language'} || ''; - $cache->{"template_include_path_$lang"} ||= template_include_path({ - use_languages => Bugzilla->languages, - only_language => $lang }); + $cache->{"template_include_path_$lang"} ||= + template_include_path({ language => $lang }); return $cache->{"template_include_path_$lang"}; } @@ -405,14 +405,6 @@ $Template::Stash::SCALAR_OPS->{ 0 } = return $_[0]; }; -# Add a "substr" method to the Template Toolkit's "scalar" object -# that returns a substring of a string. -$Template::Stash::SCALAR_OPS->{ substr } = - sub { - my ($scalar, $offset, $length) = @_; - return substr($scalar, $offset, $length); - }; - # Add a "truncate" method to the Template Toolkit's "scalar" object # that truncates a string to a certain length. $Template::Stash::SCALAR_OPS->{ truncate } = @@ -432,6 +424,17 @@ $Template::Stash::SCALAR_OPS->{ truncate } = ############################################################################### +sub process { + my $self = shift; + # All of this current_langs stuff allows template_inner to correctly + # determine what-language Template object it should instantiate. + my $current_langs = Bugzilla->request_cache->{template_current_lang} ||= []; + unshift(@$current_langs, $self->context->{bz_language}); + my $retval = $self->SUPER::process(@_); + shift @$current_langs; + return $retval; +} + # Construct the Template object # Note that all of the failure cases here can't use templateable errors, @@ -446,7 +449,8 @@ sub create { my $config = { # Colon-separated list of directories containing templates. - INCLUDE_PATH => $opts{'include_path'} || getTemplateIncludePath(), + INCLUDE_PATH => $opts{'include_path'} + || _include_path($opts{'language'}), # Remove white-space before template directives (PRE_CHOMP) and at the # beginning and end of templates and template blocks (TRIM) for better @@ -528,6 +532,7 @@ sub create { # See bugs 4928, 22983 and 32000 for more details html_linebreak => sub { my ($var) = @_; + $var = html_quote($var); $var =~ s/\r\n/\
/g; $var =~ s/\n\r/\
/g; $var =~ s/\r/\
/g; @@ -713,7 +718,10 @@ sub create { 'time2str' => \&Date::Format::time2str, # Generic linear search function - 'lsearch' => \&Bugzilla::Util::lsearch, + 'lsearch' => sub { + my ($array, $item) = @_; + return firstidx { $_ eq $item } @$array; + }, # Currently logged in user, if any # If an sudo session is in progress, this is the user we're faking @@ -756,15 +764,6 @@ sub create { # Whether or not keywords are enabled, in this Bugzilla. 'use_keywords' => sub { return Bugzilla::Keyword->any_exist; }, - 'last_bug_list' => sub { - my @bug_list; - my $cgi = Bugzilla->cgi; - if ($cgi->cookie("BUGLIST")) { - @bug_list = split(/:/, $cgi->cookie("BUGLIST")); - } - return \@bug_list; - }, - 'feature_enabled' => sub { return Bugzilla->feature(@_); }, # field_descs can be somewhat slow to generate, so we generate @@ -797,6 +796,11 @@ sub create { Bugzilla::Hook::process('template_before_create', { config => $config }); my $template = $class->new($config) || die("Template creation failed: " . $class->error()); + + # Pass on our current language to any template hooks or inner templates + # called by this Template object. + $template->context->{bz_language} = $opts{language} || ''; + return $template; } @@ -829,7 +833,7 @@ sub precompile_templates { print install_string('template_precompile') if $output; - my $paths = template_include_path({ use_languages => Bugzilla->languages }); + my $paths = template_include_path(); foreach my $dir (@$paths) { my $template = Bugzilla::Template->create(include_path => [$dir]); diff --git a/Bugzilla/Template/CVS/Entries b/Bugzilla/Template/CVS/Entries deleted file mode 100644 index 499165a409289fcdf15e0fd1bca1eeb4c8af7c1a..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Context.pm/1.1/Thu Dec 17 05:27:11 2009//TBUGZILLA-3_6_1 -D/Plugin//// diff --git a/Bugzilla/Template/CVS/Repository b/Bugzilla/Template/CVS/Repository deleted file mode 100644 index 74c0ede2d06d0be13978478d94be2ce38ee3cd15..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Template diff --git a/Bugzilla/Template/CVS/Root b/Bugzilla/Template/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Template/CVS/Tag b/Bugzilla/Template/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Template/Plugin/CVS/Entries b/Bugzilla/Template/Plugin/CVS/Entries deleted file mode 100644 index c174a95a1c0cf8bccf9824c3d6ee275b019bc585..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/Plugin/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Bugzilla.pm/1.2/Fri Feb 7 07:19:15 2003//TBUGZILLA-3_6_1 -/Hook.pm/1.16.2.1/Wed Feb 17 22:47:48 2010//TBUGZILLA-3_6_1 -/User.pm/1.1/Wed Aug 4 18:08:21 2004//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Template/Plugin/CVS/Repository b/Bugzilla/Template/Plugin/CVS/Repository deleted file mode 100644 index 5f9bf20b3d42bba2e3cdb2c8fc1ac1234b1eb2d1..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/Plugin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Template/Plugin diff --git a/Bugzilla/Template/Plugin/CVS/Root b/Bugzilla/Template/Plugin/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/Plugin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Template/Plugin/CVS/Tag b/Bugzilla/Template/Plugin/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Template/Plugin/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Template/Plugin/Hook.pm b/Bugzilla/Template/Plugin/Hook.pm index d780170f811317aec82ab138ea58d50b63f644aa..f2434817cc538df4603f535d13867f6de010ad24 100644 --- a/Bugzilla/Template/Plugin/Hook.pm +++ b/Bugzilla/Template/Plugin/Hook.pm @@ -27,7 +27,7 @@ use strict; use base qw(Template::Plugin); use Bugzilla::Constants; -use Bugzilla::Install::Util qw(include_languages template_include_path); +use Bugzilla::Install::Util qw(template_include_path); use Bugzilla::Util; use Bugzilla::Error; @@ -62,7 +62,7 @@ sub process { # Get the hooks out of the cache if they exist. Otherwise, read them # from the disk. my $cache = Bugzilla->request_cache->{template_plugin_hook_cache} ||= {}; - my $lang = Bugzilla->request_cache->{language} || ''; + my $lang = $context->{bz_language} || ''; $cache->{"${lang}__$extension_template"} ||= $self->_get_hooks($extension_template); @@ -75,7 +75,7 @@ sub process { sub _get_hooks { my ($self, $extension_template) = @_; - my $template_sets = _template_hook_include_path(); + my $template_sets = $self->_template_hook_include_path(); my @hooks; foreach my $dir_set (@$template_sets) { foreach my $template_dir (@$dir_set) { @@ -93,13 +93,13 @@ sub _get_hooks { } sub _template_hook_include_path { + my $self = shift; my $cache = Bugzilla->request_cache; - my $language = $cache->{language} || ''; + my $language = $self->_context->{bz_language} || ''; my $cache_key = "template_plugin_hook_include_path_$language"; $cache->{$cache_key} ||= template_include_path({ - use_languages => Bugzilla->languages, - only_language => $language, - hook => 1, + language => $language, + hook => 1, }); return $cache->{$cache_key}; } diff --git a/Bugzilla/Token.pm b/Bugzilla/Token.pm index 2cd9e3f9c4cef39f3be556e1d8b115bff292ab07..06e95bb501e89da319995d79574ae8125ccc511d 100644 --- a/Bugzilla/Token.pm +++ b/Bugzilla/Token.pm @@ -122,7 +122,6 @@ sub IssueEmailChangeToken { $template->process("account/email/change-new.txt.tmpl", $vars, \$message) || ThrowTemplateError($template->error()); - Bugzilla->template_inner(""); MessageToMTA($message); } @@ -160,7 +159,6 @@ sub IssuePasswordToken { $vars, \$message) || ThrowTemplateError($template->error()); - Bugzilla->template_inner(""); MessageToMTA($message); } @@ -300,7 +298,6 @@ sub Cancel { $template->process("account/cancel-token.txt.tmpl", $vars, \$message) || ThrowTemplateError($template->error()); - Bugzilla->template_inner(""); MessageToMTA($message); # Delete the token from the database. diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index b8d2aaa6f8d378f146c86d7d8afa97c08d5382f2..cb3f75fa8fde282b05123d23f9e8486d2ad432ec 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -44,6 +44,7 @@ package Bugzilla::User; use Bugzilla::Error; use Bugzilla::Util; use Bugzilla::Constants; +use Bugzilla::Search::Recent; use Bugzilla::User::Setting; use Bugzilla::Product; use Bugzilla::Classification; @@ -51,8 +52,11 @@ use Bugzilla::Field; use Bugzilla::Group; use DateTime::TimeZone; +use List::Util qw(max); use Scalar::Util qw(blessed); use Storable qw(dclone); +use URI; +use URI::QueryParam; use base qw(Bugzilla::Object Exporter); @Bugzilla::User::EXPORT = qw(is_available_username @@ -98,8 +102,6 @@ use constant NAME_FIELD => 'login_name'; use constant ID_FIELD => 'userid'; use constant LIST_ORDER => NAME_FIELD; -use constant REQUIRED_CREATE_FIELDS => qw(login_name cryptpassword); - use constant VALIDATORS => { cryptpassword => \&_check_password, disable_mail => \&_check_disable_mail, @@ -334,7 +336,7 @@ sub queries_subscribed { ON ngm.namedquery_id = lif.namedquery_id WHERE lif.user_id = ? AND lif.namedquery_id NOT IN ($query_id_string) - AND ngm.group_id IN (" . $self->groups_as_string . ")", + AND " . $self->groups_in_sql, undef, $self->id); require Bugzilla::Search::Saved; $self->{queries_subscribed} = @@ -353,7 +355,7 @@ sub queries_available { my $avail_query_ids = Bugzilla->dbh->selectcol_arrayref( 'SELECT namedquery_id FROM namedquery_group_map - WHERE group_id IN (' . $self->groups_as_string . ") + WHERE ' . $self->groups_in_sql . " AND namedquery_id NOT IN ($query_id_string)"); require Bugzilla::Search::Saved; $self->{queries_available} = @@ -361,6 +363,149 @@ sub queries_available { return $self->{queries_available}; } +########################## +# Saved Recent Bug Lists # +########################## + +sub recent_searches { + my $self = shift; + $self->{recent_searches} ||= + Bugzilla::Search::Recent->match({ user_id => $self->id }); + return $self->{recent_searches}; +} + +sub recent_search_containing { + my ($self, $bug_id) = @_; + my $searches = $self->recent_searches; + + foreach my $search (@$searches) { + return $search if grep($_ == $bug_id, @{ $search->bug_list }); + } + + return undef; +} + +sub recent_search_for { + my ($self, $bug) = @_; + my $params = Bugzilla->input_params; + my $cgi = Bugzilla->cgi; + + if ($self->id) { + # First see if there's a list_id parameter in the query string. + my $list_id = $params->{list_id}; + if (!$list_id) { + # If not, check for "list_id" in the query string of the referer. + my $referer = $cgi->referer; + if ($referer) { + my $uri = URI->new($referer); + if ($uri->path =~ /buglist\.cgi$/) { + $list_id = $uri->query_param('list_id') + || $uri->query_param('regetlastlist'); + } + } + } + + if ($list_id) { + # If we got a bad list_id (either some other user's or an expired + # one) don't crash, just don't return that list. + my $search = + eval { Bugzilla::Search::Recent->check({ id => $list_id }) }; + return $search if $search; + } + + # If there's no list_id, see if the current bug's id is contained + # in any of the user's saved lists. + my $search = $self->recent_search_containing($bug->id); + return $search if $search; + } + + # Finally (or always, if we're logged out), if there's a BUGLIST cookie + # and the selected bug is in the list, then return the cookie as a fake + # Search::Recent object. + if (my $list = $cgi->cookie('BUGLIST')) { + my @bug_ids = split(':', $list); + if (grep { $_ == $bug->id } @bug_ids) { + return { id => 'cookie', bug_list => \@bug_ids }; + } + } + + return undef; +} + +sub save_last_search { + my ($self, $params) = @_; + my ($bug_ids, $order, $vars, $list_id) = + @$params{qw(bugs order vars list_id)}; + + my $cgi = Bugzilla->cgi; + if ($order) { + $cgi->send_cookie(-name => 'LASTORDER', + -value => $order, + -expires => 'Fri, 01-Jan-2038 00:00:00 GMT'); + } + + return if !@$bug_ids; + + if ($self->id) { + on_main_db { + my $search; + if ($list_id) { + # Use eval so that people can still use old search links or + # links that don't belong to them. + $search = eval { Bugzilla::Search::Recent->check( + { id => $list_id }) }; + } + + if ($search) { + # We only update placeholders. (Placeholders are + # Saved::Search::Recent objects with empty bug lists.) + # Otherwise, we could just keep creating new searches + # for the same refreshed list over and over. + if (!@{ $search->bug_list }) { + $search->set_list_order($order); + $search->set_bug_list($bug_ids); + $search->update(); + } + } + else { + # If we already have an existing search with a totally + # identical bug list, then don't create a new one. This + # prevents people from writing over their whole + # recent-search list by just refreshing a saved search + # (which doesn't have list_id in the header) over and over. + my $list_string = join(',', @$bug_ids); + my $existing_search = Bugzilla::Search::Recent->match({ + user_id => $self->id, bug_list => $list_string }); + + if (!scalar(@$existing_search)) { + Bugzilla::Search::Recent->create({ + user_id => $self->id, + bug_list => $bug_ids, + list_order => $order }); + } + } + }; + delete $self->{recent_searches}; + } + # Logged-out users use a cookie to store a single last search. We don't + # override that cookie with the logged-in user's latest search, because + # if they did one search while logged out and another while logged in, + # they may still want to navigate through the search they made while + # logged out. + else { + my $bug_list = join(":", @$bug_ids); + if (length($bug_list) < 4000) { + $cgi->send_cookie(-name => 'BUGLIST', + -value => $bug_list, + -expires => 'Fri, 01-Jan-2038 00:00:00 GMT'); + } + else { + $cgi->remove_cookie('BUGLIST'); + $vars->{'toolong'} = 1; + } + } +} + sub settings { my ($self) = @_; @@ -464,6 +609,14 @@ sub groups_as_string { return scalar(@ids) ? join(',', @ids) : '-1'; } +sub groups_in_sql { + my ($self, $field) = @_; + $field ||= 'group_id'; + my @ids = map { $_->id } @{ $self->groups }; + @ids = (-1) if !scalar @ids; + return Bugzilla->dbh->sql_in($field, \@ids); +} + sub bless_groups { my $self = shift; @@ -524,7 +677,7 @@ sub in_group { FROM group_control_map WHERE product_id = ? AND $group != 0 - AND group_id IN (" . $self->groups_as_string . ") " . + AND " . $self->groups_in_sql . ' ' . $dbh->sql_limit(1), undef, $product_id); @@ -550,14 +703,15 @@ sub get_products_by_permission { "SELECT DISTINCT product_id FROM group_control_map WHERE $group != 0 - AND group_id IN(" . $self->groups_as_string . ")"); + AND " . $self->groups_in_sql); # No need to go further if the user has no "special" privs. return [] unless scalar(@$product_ids); + my %product_map = map { $_ => 1 } @$product_ids; # We will restrict the list to products the user can see. my $selectable_products = $self->get_selectable_products; - my @products = grep {lsearch($product_ids, $_->id) > -1} @$selectable_products; + my @products = grep { $product_map{$_->id} } @$selectable_products; return \@products; } @@ -744,7 +898,7 @@ sub can_enter_product { $product && grep($_->name eq $product->name, @{ $self->get_enterable_products }); - return 1 if $can_enter; + return $product if $can_enter; return 0 unless $warn == THROW_ERROR; @@ -898,10 +1052,9 @@ sub visible_groups_direct { my $sth; if (Bugzilla->params->{'usevisibilitygroups'}) { - my $glist = $self->groups_as_string; $sth = $dbh->prepare("SELECT DISTINCT grantor_id FROM group_group_map - WHERE member_id IN($glist) + WHERE " . $self->groups_in_sql('member_id') . " AND grant_type=" . GROUP_VISIBLE); } else { @@ -1419,7 +1572,7 @@ sub wants_bug_mail { # # We do them separately because if _any_ of them are set, we don't want # the mail. - if ($wants_mail && $changer && ($self->login eq $changer)) { + if ($wants_mail && $changer && ($self->id == $changer->id)) { $wants_mail &= $self->wants_mail([EVT_CHANGED_BY_ME], $relationship); } @@ -1463,29 +1616,25 @@ sub wants_mail { # Skip DB query if relationship is explicit return 1 if $relationship == REL_GLOBAL_WATCHER; - my $dbh = Bugzilla->dbh; - - my $wants_mail = - $dbh->selectrow_array('SELECT 1 - FROM email_setting - WHERE user_id = ? - AND relationship = ? - AND event IN (' . join(',', @$events) . ') ' . - $dbh->sql_limit(1), - undef, ($self->id, $relationship)); - - return defined($wants_mail) ? 1 : 0; + my $wants_mail = grep { $self->mail_settings->{$relationship}{$_} } @$events; + return $wants_mail ? 1 : 0; } -sub is_mover { +sub mail_settings { my $self = shift; + my $dbh = Bugzilla->dbh; - if (!defined $self->{'is_mover'}) { - my @movers = map { trim($_) } split(',', Bugzilla->params->{'movers'}); - $self->{'is_mover'} = ($self->id - && lsearch(\@movers, $self->login) != -1); + if (!defined $self->{'mail_settings'}) { + my $data = + $dbh->selectall_arrayref('SELECT relationship, event FROM email_setting + WHERE user_id = ?', undef, $self->id); + my %mail; + # The hash is of the form $mail{$relationship}{$event} = 1. + $mail{$_->[0]}{$_->[1]} = 1 foreach @$data; + + $self->{'mail_settings'} = \%mail; } - return $self->{'is_mover'}; + return $self->{'mail_settings'}; } sub is_insider { @@ -1569,7 +1718,9 @@ sub create { my $user = $class->SUPER::create(@_); # Turn on all email for the new user - foreach my $rel (RELATIONSHIPS) { + require Bugzilla::BugMail; + my %relationships = Bugzilla::BugMail::relationships(); + foreach my $rel (keys %relationships) { foreach my $event (POS_EVENTS, NEG_EVENTS) { # These "exceptions" define the default email preferences. # @@ -1955,6 +2106,13 @@ Returns a string containing a comma-separated list of numeric group ids. If the user is not a member of any groups, returns "-1". This is most often used within an SQL IN() function. +=item C<groups_in_sql> + +This returns an C<IN> clause for SQL, containing either all of the groups +the user is in, or C<-1> if the user is in no groups. This takes one +argument--the name of the SQL field that should be on the left-hand-side +of the C<IN> statement, which defaults to C<group_id> if not specified. + =item C<in_group($group_name, $product_id)> Determines whether or not a user is in the given group by name. diff --git a/Bugzilla/User/CVS/Entries b/Bugzilla/User/CVS/Entries deleted file mode 100644 index fd20d6fd6cbce68075d299f85e9b9b1ff88470e5..0000000000000000000000000000000000000000 --- a/Bugzilla/User/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Setting.pm/1.13/Fri Sep 5 23:01:18 2008//TBUGZILLA-3_6_1 -D/Setting//// diff --git a/Bugzilla/User/CVS/Repository b/Bugzilla/User/CVS/Repository deleted file mode 100644 index 82a94f17552fae1a0c43c74eeaf28b08b62cb9f8..0000000000000000000000000000000000000000 --- a/Bugzilla/User/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/User diff --git a/Bugzilla/User/CVS/Root b/Bugzilla/User/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/User/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/User/CVS/Tag b/Bugzilla/User/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/User/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/User/Setting/CVS/Entries b/Bugzilla/User/Setting/CVS/Entries deleted file mode 100644 index 3e9977ff8de68f4af5cdfcaf63bab9fefb8dcd15..0000000000000000000000000000000000000000 --- a/Bugzilla/User/Setting/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Lang.pm/1.1/Tue Aug 21 20:47:54 2007//TBUGZILLA-3_6_1 -/Skin.pm/1.4/Tue Aug 14 21:54:34 2007//TBUGZILLA-3_6_1 -/Timezone.pm/1.1/Wed Aug 27 02:32:15 2008//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/User/Setting/CVS/Repository b/Bugzilla/User/Setting/CVS/Repository deleted file mode 100644 index 8acce156425d8356231e6d9a041d08d1e3813f80..0000000000000000000000000000000000000000 --- a/Bugzilla/User/Setting/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/User/Setting diff --git a/Bugzilla/User/Setting/CVS/Root b/Bugzilla/User/Setting/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/User/Setting/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/User/Setting/CVS/Tag b/Bugzilla/User/Setting/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/User/Setting/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm index 8442db7da97db153da24465d22438b154eed6442..f5ab51d2bacfd2970b24b107fb47a9482fda3d3d 100644 --- a/Bugzilla/Util.pm +++ b/Bugzilla/Util.pm @@ -36,8 +36,8 @@ use base qw(Exporter); html_quote url_quote xml_quote css_class_quote html_light_quote url_decode i_am_cgi correct_urlbase remote_ip - lsearch do_ssl_redirect_if_required use_attachbase - diff_arrays + do_ssl_redirect_if_required use_attachbase + diff_arrays on_main_db trim wrap_hard wrap_comment find_wrap_point format_time format_time_decimal validate_date validate_time datetime_from @@ -306,18 +306,6 @@ sub use_attachbase { && $attachbase ne Bugzilla->params->{'sslbase'}) ? 1 : 0; } -sub lsearch { - my ($list,$item) = (@_); - my $count = 0; - foreach my $i (@$list) { - if ($i eq $item) { - return $count; - } - $count++; - } - return -1; -} - sub diff_arrays { my ($old_ref, $new_ref) = @_; @@ -604,11 +592,22 @@ sub is_7bit_clean { } sub clean_text { - my ($dtext) = shift; - $dtext =~ s/[\x00-\x1F\x7F]+/ /g; # change control characters into a space + my $dtext = shift; + if ($dtext) { + # change control characters into a space + $dtext =~ s/[\x00-\x1F\x7F]+/ /g; + } return trim($dtext); } +sub on_main_db (&) { + my $code = shift; + my $original_dbh = Bugzilla->dbh; + Bugzilla->request_cache->{dbh} = Bugzilla->dbh_main; + $code->(); + Bugzilla->request_cache->{dbh} = $original_dbh; +} + sub get_text { my ($name, $vars) = @_; my $template = Bugzilla->template_inner; @@ -628,7 +627,7 @@ sub template_var { my $name = shift; my $cache = Bugzilla->request_cache->{util_template_var} ||= {}; my $template = Bugzilla->template_inner; - my $lang = Bugzilla->request_cache->{language}; + my $lang = $template->context->{bz_language}; return $cache->{$lang}->{$name} if defined $cache->{$lang}; my %vars; # Note: If we suddenly start needing a lot of template_var variables, @@ -680,9 +679,6 @@ Bugzilla::Util - Generic utility functions for bugzilla my $is_cgi = i_am_cgi(); my $urlbase = correct_urlbase(); - # Functions for searching - $loc = lsearch(\@arr, $val); - # Data manipulation ($removed, $added) = diff_arrays(\@old, \@new); @@ -705,6 +701,11 @@ Bugzilla::Util - Generic utility functions for bugzilla validate_email_syntax($email); validate_date($date); + # DB-related functions + on_main_db { + ... code here ... + }; + =head1 DESCRIPTION This package contains various utility functions which do not belong anywhere @@ -821,21 +822,6 @@ otherwise. =back -=head2 Searching - -Functions for searching within a set of values. - -=over 4 - -=item C<lsearch($list, $item)> - -Returns the position of C<$item> in C<$list>. C<$list> must be a list -reference. - -If the item is not in the list, returns -1. - -=back - =head2 Data Manipulation =over 4 @@ -1024,3 +1010,20 @@ Make sure the date has the correct format and returns 1 if the check is successful, else returns 0. =back + +=head2 Database + +=over + +=item C<on_main_db> + +Runs a block of code always on the main DB. Useful for when you're inside +a subroutine and need to do some writes to the database, but don't know +if Bugzilla is currently using the shadowdb or not. Used like: + + on_main_db { + my $dbh = Bugzilla->dbh; + $dbh->do("INSERT ..."); + } + +=back diff --git a/Bugzilla/Version.pm b/Bugzilla/Version.pm index 1c96003f1e69f8bd875a56c1088a0890dab3793b..4270b1e5fda9e4e1b46b5fce231619f9631d4f9a 100644 --- a/Bugzilla/Version.pm +++ b/Bugzilla/Version.pm @@ -26,6 +26,8 @@ use Bugzilla::Install::Util qw(vers_cmp); use Bugzilla::Util; use Bugzilla::Error; +use Scalar::Util qw(blessed); + ################################ ##### Initialization ##### ################################ @@ -44,10 +46,9 @@ use constant DB_COLUMNS => qw( product_id ); -use constant REQUIRED_CREATE_FIELDS => qw( - name - product -); +use constant REQUIRED_FIELD_MAP => { + product_id => 'product', +}; use constant UPDATE_COLUMNS => qw( value @@ -55,10 +56,11 @@ use constant UPDATE_COLUMNS => qw( use constant VALIDATORS => { product => \&_check_product, + value => \&_check_value, }; -use constant UPDATE_VALIDATORS => { - value => \&_check_value, +use constant VALIDATOR_DEPENDENCIES => { + value => ['product'], }; ################################ @@ -103,12 +105,8 @@ sub new_from_list { sub run_create_validators { my $class = shift; my $params = $class->SUPER::run_create_validators(@_); - my $product = delete $params->{product}; $params->{product_id} = $product->id; - $params->{value} = $class->_check_value($params->{name}, $product); - delete $params->{name}; - return $params; } @@ -171,14 +169,14 @@ sub product { sub set_name { $_[0]->set('value', $_[1]); } sub _check_value { - my ($invocant, $name, $product) = @_; + my ($invocant, $name, undef, $params) = @_; + my $product = blessed($invocant) ? $invocant->product : $params->{product}; $name = trim($name); $name || ThrowUserError('version_blank_name'); # Remove unprintable characters $name = clean_text($name); - $product = $invocant->product if (ref $invocant); my $version = new Bugzilla::Version({ product => $product, name => $name }); if ($version && (!ref $invocant || $version->id != $invocant->id)) { ThrowUserError('version_already_exists', { name => $version->name, @@ -189,6 +187,8 @@ sub _check_value { sub _check_product { my ($invocant, $product) = @_; + $product || ThrowCodeError('param_required', + { function => "$invocant->create", param => 'product' }); return Bugzilla->user->check_can_admin_product($product->name); } @@ -211,7 +211,7 @@ Bugzilla::Version - Bugzilla product version class. my $product = $version->product; my $version = Bugzilla::Version->create( - { name => $name, product => $product }); + { value => $name, product => $product }); $version->set_name($new_name); $version->update(); diff --git a/Bugzilla/WebService.pm b/Bugzilla/WebService.pm index 2ba8e925e78c0978b04eb74301170a509f1d85f2..fe7766ad1c3ada128e08c2d16df4c442e98f4b55 100644 --- a/Bugzilla/WebService.pm +++ b/Bugzilla/WebService.pm @@ -29,6 +29,10 @@ use constant DATE_FIELDS => {}; # For some methods, we shouldn't call Bugzilla->login before we call them use constant LOGIN_EXEMPT => { }; +# Used to allow methods to be called in the JSON-RPC WebService via GET. +# Methods that can modify data MUST not be listed here. +use constant READ_ONLY => (); + sub login_exempt { my ($class, $method) = @_; return $class->LOGIN_EXEMPT->{$method}; diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index a249de05d8f04b68bccea6d11e91a1a763013c1d..d5c1fab74b277cb7a3a568182251e3e56ee13e90 100644 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -36,6 +36,7 @@ use Bugzilla::Util qw(trick_taint trim); use Bugzilla::Version; use Bugzilla::Milestone; use Bugzilla::Status; +use Bugzilla::Token qw(issue_hash_token); ############# # Constants # @@ -48,6 +49,16 @@ use constant DATE_FIELDS => { search => ['last_change_time', 'creation_time'], }; +use constant READ_ONLY => qw( + attachments + comments + fields + get + history + legal_values + search +); + ###################################################### # Add aliases here for old method name compatibility # ###################################################### @@ -312,7 +323,7 @@ sub get { else { $bug = Bugzilla::Bug->check($bug_id); } - push(@bugs, $self->_bug_to_hash($bug)); + push(@bugs, $self->_bug_to_hash($bug, $params)); } return { bugs => \@bugs, faults => \@faults }; @@ -396,9 +407,6 @@ sub search { if (my $when = delete $params->{creation_ts}) { $params->{WHERE}->{'creation_ts >= ?'} = $when; } - if (my $votes = delete $params->{votes}) { - $params->{WHERE}->{'votes >= ?'} = $votes; - } if (my $summary = delete $params->{short_desc}) { my @strings = ref $summary ? @$summary : ($summary); my @likes = ("short_desc LIKE ?") x @strings; @@ -414,7 +422,28 @@ sub search { my $bugs = Bugzilla::Bug->match($params); my $visible = Bugzilla->user->visible_bugs($bugs); - my @hashes = map { $self->_bug_to_hash($_) } @$visible; + my @hashes = map { $self->_bug_to_hash($_, $params) } @$visible; + return { bugs => \@hashes }; +} + +sub possible_duplicates { + my ($self, $params) = validate(@_, 'product'); + my $user = Bugzilla->user; + + # Undo the array-ification that validate() does, for "summary". + $params->{summary} || ThrowCodeError('param_required', + { function => 'Bug.possible_duplicates', param => 'summary' }); + + my @products; + foreach my $name (@{ $params->{'product'} || [] }) { + my $object = $user->can_enter_product($name, THROW_ERROR); + push(@products, $object); + } + + my $possible_dupes = Bugzilla::Bug->possible_duplicates( + { summary => $params->{summary}, products => \@products, + limit => $params->{limit} }); + my @hashes = map { $self->_bug_to_hash($_, $params) } @$possible_dupes; return { bugs => \@hashes }; } @@ -423,7 +452,7 @@ sub create { Bugzilla->login(LOGIN_REQUIRED); $params = Bugzilla::Bug::map_fields($params); my $bug = Bugzilla::Bug->create($params); - Bugzilla::BugMail::Send($bug->bug_id, { changer => $bug->reporter->login }); + Bugzilla::BugMail::Send($bug->bug_id, { changer => $bug->reporter }); return { id => $self->type('int', $bug->bug_id) }; } @@ -432,8 +461,8 @@ sub legal_values { my $field = Bugzilla::Bug::FIELD_MAP->{$params->{field}} || $params->{field}; - my @global_selects = Bugzilla->get_fields( - {type => [FIELD_TYPE_SINGLE_SELECT, FIELD_TYPE_MULTI_SELECT]}); + my @global_selects = grep { !$_->is_abnormal } + Bugzilla->get_fields({ is_select => 1 }); my $values; if (grep($_->name eq $field, @global_selects)) { @@ -513,7 +542,7 @@ sub add_comment { $dbh->bz_commit_transaction(); # Send mail. - Bugzilla::BugMail::Send($bug->bug_id, { changer => Bugzilla->user->login }); + Bugzilla::BugMail::Send($bug->bug_id, { changer => Bugzilla->user }); return { id => $self->type('int', $new_comment_id) }; } @@ -559,7 +588,7 @@ sub update_see_also { $changes{$bug->id}->{see_also} = { added => [], removed => [] }; } - Bugzilla::BugMail::Send($bug->id, { changer => $user->login }); + Bugzilla::BugMail::Send($bug->id, { changer => $user }); } return { changes => \%changes }; @@ -610,7 +639,7 @@ sub attachments { # A helper for get() and search(). sub _bug_to_hash { - my ($self, $bug) = @_; + my ($self, $bug, $filters) = @_; # Timetracking fields are deleted if the user doesn't belong to # the corresponding group. @@ -639,6 +668,11 @@ sub _bug_to_hash { $item{'component'} = $self->type('string', $bug->component); $item{'dupe_of'} = $self->type('int', $bug->dup_id); + if (Bugzilla->user->id) { + my $token = issue_hash_token([$bug->id, $bug->delta_ts]); + $item{'update_token'} = $self->type('string', $token); + } + # if we do not delete this key, additional user info, including their # real name, etc, will wind up in the 'internals' hashref delete $item{internals}->{assigned_to_obj}; @@ -652,7 +686,7 @@ sub _bug_to_hash { $item{'alias'} = undef; } - return \%item; + return filter $filters, \%item; } sub _attachment_to_hash { @@ -1697,11 +1731,6 @@ C<string> The "URL" field of a bug. C<string> The Version field of a bug. -=item C<votes> - -C<int> Searches for bugs with this many votes or greater. May not -be an array. - =item C<whiteboard> C<string> Search the "Status Whiteboard" field on bugs for a substring. @@ -1732,6 +1761,8 @@ for that value. =item Added in Bugzilla B<3.4>. +=item Searching by C<votes> was removed in Bugzilla B<3.8>. + =back =back @@ -1818,6 +1849,15 @@ don't want it to be assigned to the component owner. =item C<cc> (array) - An array of usernames to CC on this bug. +=item C<groups> (array) - An array of group names to put this +bug into. You can see valid group names on the Permissions +tab of the Preferences screen, or, if you are an administrator, +in the Groups control panel. Note that invalid group names or +groups that the bug can't be restricted to are silently ignored. If +you don't specify this argument, then a bug will be added into +all the groups that are set as being "Default" for this product. (If +you want to avoid that, you should specify C<groups> as an empty array.) + =item C<qa_contact> (username) - If this installation has QA Contacts enabled, you can set the QA Contact here if you don't want to use the component's default QA Contact. @@ -1883,6 +1923,10 @@ in them. The error message will have more details. =item Before B<3.0.4>, parameters marked as B<Defaulted> were actually B<Required>, due to a bug in Bugzilla. +=item The C<groups> argument was added in Bugzilla B<3.8>. Before +Bugzilla 3.8, bugs were only added into Mandatory groups by this +method. + =back =back diff --git a/Bugzilla/WebService/Bugzilla.pm b/Bugzilla/WebService/Bugzilla.pm index c14cc7deabf882a569f388ccfcd42906c25ca7c8..2501fe60c0b083f9c2be226a719ad25b9816e985 100644 --- a/Bugzilla/WebService/Bugzilla.pm +++ b/Bugzilla/WebService/Bugzilla.pm @@ -31,6 +31,13 @@ use constant LOGIN_EXEMPT => { version => 1, }; +use constant READ_ONLY => qw( + extensions + timezone + time + version +); + sub version { my $self = shift; return { version => $self->type('string', BUGZILLA_VERSION) }; diff --git a/Bugzilla/WebService/CVS/Entries b/Bugzilla/WebService/CVS/Entries deleted file mode 100644 index f8c0c808e8890ad1d67155809ac3c6928d6e8850..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/Bug.pm/1.53.2.7/Sun Mar 28 21:49:59 2010//TBUGZILLA-3_6_1 -/Bugzilla.pm/1.12.2.2/Sat Mar 6 03:32:28 2010//TBUGZILLA-3_6_1 -/Constants.pm/1.29.2.3/Sun Mar 28 21:39:59 2010//TBUGZILLA-3_6_1 -/Product.pm/1.8/Mon Jan 26 20:40:22 2009//TBUGZILLA-3_6_1 -/README/1.1/Tue Mar 31 06:37:57 2009//TBUGZILLA-3_6_1 -/Server.pm/1.3.2.3/Mon Mar 8 07:47:34 2010//TBUGZILLA-3_6_1 -/User.pm/1.16.2.1/Sat Mar 6 03:32:28 2010//TBUGZILLA-3_6_1 -/Util.pm/1.4/Mon Nov 9 18:27:52 2009//TBUGZILLA-3_6_1 -D/Server//// diff --git a/Bugzilla/WebService/CVS/Repository b/Bugzilla/WebService/CVS/Repository deleted file mode 100644 index 636b26e10fed1f1f44426bbebd1ec909a4baef72..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/WebService diff --git a/Bugzilla/WebService/CVS/Root b/Bugzilla/WebService/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/WebService/CVS/Tag b/Bugzilla/WebService/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm index 19d2307590572fbb6c76157194917bbae0b86b57..0ada98ba44396e34064e21b603b6eeeea9bcd755 100644 --- a/Bugzilla/WebService/Constants.pm +++ b/Bugzilla/WebService/Constants.pm @@ -120,10 +120,11 @@ use constant WS_ERROR_CODE => { user_access_by_id_denied => 505, user_access_by_match_denied => 505, - # RPC Server Errors. See the following URL: - # http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php - xmlrpc_invalid_value => -32600, - unknown_method => -32601, + # Errors thrown by the WebService itself. The ones that are negative + # conform to http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php + xmlrpc_invalid_value => -32600, + unknown_method => -32601, + json_rpc_post_only => 32610, }; # These are the fallback defaults for errors not in ERROR_CODE. diff --git a/Bugzilla/WebService/Product.pm b/Bugzilla/WebService/Product.pm index eaec012a471175922bdf0ff6e3b9bbbda1def051..90c81dcc0d9ce9f3056b83739ffaefaef0d81442 100644 --- a/Bugzilla/WebService/Product.pm +++ b/Bugzilla/WebService/Product.pm @@ -23,6 +23,13 @@ use Bugzilla::Product; use Bugzilla::User; use Bugzilla::WebService::Util qw(validate); +use constant READ_ONLY => qw( + get + get_accessible_products + get_enterable_products + get_selectable_products +); + ################################################## # Add aliases here for method name compatibility # ################################################## diff --git a/Bugzilla/WebService/Server/CVS/Entries b/Bugzilla/WebService/Server/CVS/Entries deleted file mode 100644 index 09c5a98bed3970deafa8801cb23e0a36c2afdf99..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/Server/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/JSONRPC.pm/1.4.2.8/Tue Mar 23 23:22:35 2010//TBUGZILLA-3_6_1 -/XMLRPC.pm/1.9.2.4/Wed Mar 10 21:01:04 2010//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/WebService/Server/CVS/Repository b/Bugzilla/WebService/Server/CVS/Repository deleted file mode 100644 index a190315f4bc4b259787a36f2d73be8197b09fb73..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/Server/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/WebService/Server diff --git a/Bugzilla/WebService/Server/CVS/Root b/Bugzilla/WebService/Server/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/Server/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/WebService/Server/CVS/Tag b/Bugzilla/WebService/Server/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/WebService/Server/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/WebService/Server/JSONRPC.pm b/Bugzilla/WebService/Server/JSONRPC.pm index 3ec64c6bc9883b4ec051011f5a8d1208baea9c5d..5ab5e4a7b79885b9a8f04176915dd515982596c7 100644 --- a/Bugzilla/WebService/Server/JSONRPC.pm +++ b/Bugzilla/WebService/Server/JSONRPC.pm @@ -28,6 +28,12 @@ use Bugzilla::Error; use Bugzilla::WebService::Constants; use Bugzilla::WebService::Util qw(taint_data); +use Bugzilla::Util qw(correct_urlbase trim); + +##################################### +# Public JSON::RPC Method Overrides # +##################################### + sub new { my $class = shift; my $self = $class->SUPER::new(@_); @@ -52,11 +58,19 @@ sub create_json_coder { # Override the JSON::RPC method to return our CGI object instead of theirs. sub cgi { return Bugzilla->cgi; } -# Override the JSON::RPC method to use $cgi->header properly instead of -# just printing text directly. This fixes various problems, including -# sending Bugzilla's cookies properly. sub response { my ($self, $response) = @_; + + # Implement JSONP. + if (my $callback = $self->_bz_callback) { + my $content = $response->content; + $response->content("$callback($content)"); + + } + + # Use $cgi->header properly instead of just printing text directly. + # This fixes various problems, including sending Bugzilla's cookies + # properly. my $headers = $response->headers; my @header_args; foreach my $name ($headers->header_field_names) { @@ -71,6 +85,85 @@ sub response { print $response->content; } +# The JSON-RPC 1.1 GET specification is not so great--you can't specify +# data structures as parameters. However, the JSON-RPC 2.0 "JSON-RPC over +# HTTP" spec is excellent, so we are using that for GET requests, instead. +# Spec: http://groups.google.com/group/json-rpc/web/json-rpc-over-http +# +# The one exception is that we don't require the "params" argument to be +# Base64 encoded, because that is ridiculous and obnoxious for JavaScript +# clients. +sub retrieve_json_from_get { + my $self = shift; + my $cgi = $self->cgi; + + my %input; + + # Both version and id must be set before any errors are thrown. + if ($cgi->param('version')) { + $self->version(scalar $cgi->param('version')); + $input{version} = $cgi->param('version'); + } + else { + $self->version('1.0'); + } + + # The JSON-RPC 2.0 spec says that any request that omits an id doesn't + # want a response. However, in an HTTP GET situation, it's stupid to + # expect all clients to specify some id parameter just to get a response, + # so we don't require it. + my $id; + if (defined $cgi->param('id')) { + $id = $cgi->param('id'); + } + # However, JSON::RPC does require that an id exist in most cases, in + # order to throw proper errors. We use the installation's urlbase as + # the id, in this case. + else { + $id = correct_urlbase(); + } + # Setting _bz_request_id here is required in case we throw errors early, + # before _handle. + $self->{_bz_request_id} = $input{id} = $id; + + # _bz_callback can throw an error, so we have to set it here, after we're + # ready to throw errors. + $self->_bz_callback(scalar $cgi->param('callback')); + + if (!$cgi->param('method')) { + ThrowUserError('json_rpc_get_method_required'); + } + $input{method} = $cgi->param('method'); + + my $params; + if (defined $cgi->param('params')) { + local $@; + $params = eval { + $self->json->decode(scalar $cgi->param('params')) + }; + if ($@) { + ThrowUserError('json_rpc_invalid_params', + { params => scalar $cgi->param('params'), + err_msg => $@ }); + } + } + elsif (!$self->version or $self->version ne '1.1') { + $params = []; + } + else { + $params = {}; + } + + $input{params} = $params; + + my $json = $self->json->encode(\%input); + return $json; +} + +####################################### +# Bugzilla::WebService Implementation # +####################################### + sub type { my ($self, $type, $value) = @_; @@ -108,6 +201,35 @@ sub datetime_format_outbound { return $self->SUPER::datetime_format_outbound(@_) . 'Z'; } +sub handle_login { + my $self = shift; + + # If we're being called using GET, we don't allow cookie-based or Env + # login, because GET requests can be done cross-domain, and we don't + # want private data showing up on another site unless the user + # explicitly gives that site their username and password. (This is + # particularly important for JSONP, which would allow a remote site + # to use private data without the user's knowledge, unless we had this + # protection in place.) + if ($self->request->method ne 'POST') { + # XXX There's no particularly good way for us to get a parameter + # to Bugzilla->login at this point, so we pass this information + # around using request_cache, which is a bit of a hack. The + # implementation of it is in Bugzilla::Auth::Login::Stack. + Bugzilla->request_cache->{auth_no_automatic_login} = 1; + } + + my $path = $self->path_info; + my $class = $self->{dispatch_path}->{$path}; + my $full_method = $self->_bz_method_name; + $full_method =~ /^\S+\.(\S+)/; + my $method = $1; + $self->SUPER::handle_login($class, $method, $full_method); +} + +###################################### +# Private JSON::RPC Method Overrides # +###################################### # Store the ID of the current call, because Bugzilla::Error will need it. sub _handle { @@ -154,21 +276,11 @@ sub _error { return $json; } -################## -# Login Handling # -################## - # This handles dispatching our calls to the appropriate class based on # the name of the method. sub _find_procedure { my $self = shift; - # This is also a good place to deny GET requests, since we can - # safely call ThrowUserError at this point. - if ($self->request->method ne 'POST') { - ThrowUserError('json_rpc_post_only'); - } - my $method = shift; $self->{_bz_method_name} = $method; @@ -217,6 +329,16 @@ sub _argument_type_check { Bugzilla->input_params($params); + if ($self->request->method ne 'POST') { + # When being called using GET, we don't allow calling + # methods that can change data. This protects us against cross-site + # request forgeries. + if (!grep($_ eq $method, $pkg->READ_ONLY)) { + ThrowUserError('json_rpc_post_only', + { method => $self->_bz_method_name }); + } + } + # This is the best time to do login checks. $self->handle_login(); @@ -235,22 +357,30 @@ sub _argument_type_check { return $params; } -sub handle_login { - my $self = shift; - - my $path = $self->path_info; - my $class = $self->{dispatch_path}->{$path}; - my $full_method = $self->_bz_method_name; - $full_method =~ /^\S+\.(\S+)/; - my $method = $1; - $self->SUPER::handle_login($class, $method, $full_method); -} +########################## +# Private Custom Methods # +########################## # _bz_method_name is stored by _find_procedure for later use. sub _bz_method_name { return $_[0]->{_bz_method_name}; } +sub _bz_callback { + my ($self, $value) = @_; + if (defined $value) { + $value = trim($value); + # We don't use \w because we don't want to allow Unicode here. + if ($value !~ /^[A-Za-z0-1_\.\[\]]+$/) { + ThrowUserError('json_rpc_invalid_callback', { callback => $value }); + } + $self->{_bz_callback} = $value; + # JSONP needs to be parsed by a JS parser, not by a JSON parser. + $self->content_type('text/javascript'); + } + return $self->{_bz_callback}; +} + 1; __END__ @@ -285,8 +415,70 @@ your Bugzilla installation. For example, if your Bugzilla is at C<bugzilla.yourdomain.com>, then your JSON-RPC client would access the API via: C<http://bugzilla.yourdomain.com/jsonrpc.cgi> -Bugzilla only allows JSON-RPC requests over C<POST>. C<GET> requests -(or any other type of request, such as C<HEAD>) will be denied. +=head2 Connecting via GET + +The most powerful way to access the JSON-RPC interface is by HTTP POST. +However, for convenience, you can also access certain methods by using GET +(a normal webpage load). Methods that modify the database or cause some +action to happen in Bugzilla cannot be called over GET. Only methods that +simply return data can be used over GET. + +For security reasons, when you connect over GET, cookie authentication +is not accepted. If you want to authenticate using GET, you have to +use the C<Bugzilla_login> and C<Bugzilla_password> method described at +L<Bugzilla::WebService/LOGGING IN>. + +To connect over GET, simply send the values that you'd normally send for +each JSON-RPC argument as URL parameters, with the C<params> item being +a JSON string. + +The simplest example is a call to C<Bugzilla.time>: + + jsonrpc.cgi?method=Bugzilla.time + +Here's a call to C<User.get>, with several parameters: + + jsonrpc.cgi?method=User.get¶ms=[ { "ids": [1,2], "names": ["user@domain.com"] } ] + +Although in reality you would url-encode the C<params> argument, so it would +look more like this: + + jsonrpc.cgi?method=User.get¶ms=%5B+%7B+%22ids%22%3A+%5B1%2C2%5D%2C+%22names%22%3A+%5B%22user%40domain.com%22%5D+%7D+%5D + +You can also specify C<version> as a URL parameter, if you want to specify +what version of the JSON-RPC protocol you're using, and C<id> as a URL +parameter if you want there to be a specific C<id> value in the returned +JSON-RPC response. + +=head2 JSONP + +When calling the JSON-RPC WebService over GET, you can use the "JSONP" +method of doing cross-domain requests, if you want to access the WebService +directly on a web page from another site. JSONP is described at +L<http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/>. + +To use JSONP with Bugzilla's JSON-RPC WebService, simply specify a +C<callback> parameter to jsonrpc.cgi when using it via GET as described above. +For example, here's some HTML you could use to get the data from +C<Bugzilla.time> on a remote website, using JSONP: + + <script type="text/javascript" + src="http://bugzilla.example.com/jsonrpc.cgi?method=Bugzilla.time&callback=foo"> + +That would call the C<Bugzilla.time> method and pass its value to a function +called C<foo> as the only argument. All the other URL parameters (such as +C<params>, for passing in arguments to methods) that can be passed to +C<jsonrpc.cgi> during GET requests are also available, of course. The above +is just the simplest possible example. + +The values returned when using JSONP are identical to the values returned +when not using JSONP, so you will also get error messages if there is an +error. + +The C<callback> URL parameter may only contain letters, numbers, periods, and +the underscore (C<_>) character. Including any other characters will cause +Bugzilla to throw an error. (This error will be a normal JSON-RPC response, +not JSONP.) =head1 PARAMETERS diff --git a/Bugzilla/WebService/User.pm b/Bugzilla/WebService/User.pm index 76d4d3e376b5478a13a349c4fdd98b8f9f75fef2..f2b84f4d66d31bae66a498deb6961e26738d6b79 100644 --- a/Bugzilla/WebService/User.pm +++ b/Bugzilla/WebService/User.pm @@ -25,6 +25,7 @@ use base qw(Bugzilla::WebService); use Bugzilla; use Bugzilla::Constants; use Bugzilla::Error; +use Bugzilla::Group; use Bugzilla::User; use Bugzilla::Util qw(trim); use Bugzilla::Token; @@ -36,6 +37,10 @@ use constant LOGIN_EXEMPT => { offer_account_by_email => 1, }; +use constant READ_ONLY => qw( + get +); + ############## # User Login # ############## @@ -152,11 +157,13 @@ sub get { if ($params->{match}) { ThrowUserError('user_access_by_match_denied'); } + my $in_group = $self->_filter_users_by_group( + \@user_objects, $params); @users = map {filter $params, { id => $self->type('int', $_->id), real_name => $self->type('string', $_->name), name => $self->type('string', $_->login), - }} @user_objects; + }} @$in_group; return { users => \@users }; } @@ -195,7 +202,9 @@ sub get { } } } - + + my $in_group = $self->_filter_users_by_group( + \@user_objects, $params); if (Bugzilla->user->in_group('editusers')) { @users = map {filter $params, { @@ -206,7 +215,7 @@ sub get { can_login => $self->type('boolean', $_->is_disabled ? 0 : 1), email_enabled => $self->type('boolean', $_->email_enabled), login_denied_text => $self->type('string', $_->disabledtext), - }} @user_objects; + }} @$in_group; } else { @@ -217,12 +226,39 @@ sub get { name => $self->type('string', $_->login), email => $self->type('string', $_->email), can_login => $self->type('boolean', $_->is_disabled ? 0 : 1), - }} @user_objects; + }} @$in_group; } return { users => \@users }; } +sub _filter_users_by_group { + my ($self, $users, $params) = @_; + my ($group_ids, $group_names) = @$params{qw(group_ids groups)}; + + # If no groups are specified, we return all users. + return $users if (!$group_ids and !$group_names); + + my @groups = map { Bugzilla::Group->check({ id => $_ }) } + @{ $group_ids || [] }; + my @name_groups = map { Bugzilla::Group->check($_) } + @{ $group_names || [] }; + push(@groups, @name_groups); + + + my @in_group = grep { $self->_user_in_any_group($_, \@groups) } + @$users; + return \@in_group; +} + +sub _user_in_any_group { + my ($self, $user, $groups) = @_; + foreach my $group (@$groups) { + return 1 if $user->in_group($group); + } + return 0; +} + 1; __END__ @@ -468,7 +504,9 @@ Logged-out users cannot pass this parameter to this function. If they try, they will get an error. Logged-in users will get an error if they specify the id of a user they cannot see. -=item C<names> (array) - An array of login names (strings). +=item C<names> (array) + +An array of login names (strings). =item C<match> (array) @@ -489,6 +527,15 @@ if they try. (This is to make it harder for spammers to harvest email addresses from Bugzilla, and also to enforce the user visibility restrictions that are implemented on some Bugzillas.) +=item C<group_ids> (array) + +=item C<groups> (array) + +C<group_ids> is an array of numeric ids for groups that a user can be in. +C<groups> is an array of names of groups that a user can be in. +If these are specified, they limit the return value to users who are +in I<any> of the groups specified. + =back =item B<Returns> @@ -542,9 +589,10 @@ C<real_name>, C<email>, and C<can_login> items. =over -=item 51 (Bad Login Name) +=item 51 (Bad Login Name or Group Name) -You passed an invalid login name in the "names" array. +You passed an invalid login name in the "names" array or a bad +group name/id in the C<groups>/C<group_ids> arguments. =item 304 (Authorization Required) @@ -564,6 +612,8 @@ function. =item Added in Bugzilla B<3.4>. +=item C<group_ids> and C<groups> were added in Bugzilla B<3.8>. + =back =back diff --git a/Bugzilla/Whine/CVS/Entries b/Bugzilla/Whine/CVS/Entries deleted file mode 100644 index 5e403deeaa204bc06ee85ccee91209e50f37b10f..0000000000000000000000000000000000000000 --- a/Bugzilla/Whine/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/Query.pm/1.1/Sat Dec 12 22:15:43 2009//TBUGZILLA-3_6_1 -/Schedule.pm/1.1/Mon Nov 9 18:35:40 2009//TBUGZILLA-3_6_1 -D diff --git a/Bugzilla/Whine/CVS/Repository b/Bugzilla/Whine/CVS/Repository deleted file mode 100644 index 6303ac0742f179a5cb321a41368d28da89ad45c4..0000000000000000000000000000000000000000 --- a/Bugzilla/Whine/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/Bugzilla/Whine diff --git a/Bugzilla/Whine/CVS/Root b/Bugzilla/Whine/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/Bugzilla/Whine/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/Bugzilla/Whine/CVS/Tag b/Bugzilla/Whine/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/Bugzilla/Whine/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/Bugzilla/Whine/Schedule.pm b/Bugzilla/Whine/Schedule.pm index be0f2fae8e784dd484f9a16c9cf4cb8970a5480b..63148856c99a1041b1c080fc0022c58ccf2771d6 100644 --- a/Bugzilla/Whine/Schedule.pm +++ b/Bugzilla/Whine/Schedule.pm @@ -42,8 +42,6 @@ use constant DB_COLUMNS => qw( mailto_type ); -use constant REQUIRED_CREATE_FIELDS => qw(eventid mailto mailto_type); - use constant UPDATE_COLUMNS => qw( eventid run_day diff --git a/CVS/Entries b/CVS/Entries deleted file mode 100644 index 1f9eb94775f62a41a0e68b46e83bb2bf1f5c59e6..0000000000000000000000000000000000000000 --- a/CVS/Entries +++ /dev/null @@ -1,83 +0,0 @@ -/.bzrignore/1.1.8.2/Sun Feb 7 23:47:20 2010//TBUGZILLA-3_6_1 -/.bzrrev/1.5.8.160/Thu Jun 24 20:47:40 2010//TBUGZILLA-3_6_1 -/.cvsignore/1.8/Fri Oct 19 07:58:48 2007//TBUGZILLA-3_6_1 -/Bugzilla.pm/1.85/Tue Nov 24 06:09:41 2009//TBUGZILLA-3_6_1 -/README/1.53/Wed Jul 29 08:18:52 2009//TBUGZILLA-3_6_1 -/admin.cgi/1.2/Fri Oct 19 06:46:10 2007//TBUGZILLA-3_6_1 -/attachment.cgi/1.167.2.3/Mon May 17 16:47:29 2010//TBUGZILLA-3_6_1 -/buglist.cgi/1.409.2.2/Wed Mar 3 22:01:31 2010//TBUGZILLA-3_6_1 -/bugzilla.dtd/1.16/Mon Oct 26 16:16:21 2009//TBUGZILLA-3_6_1 -/chart.cgi/1.32/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_6_1 -/checksetup.pl/1.565.2.1/Sun Mar 28 21:38:41 2010//TBUGZILLA-3_6_1 -/colchange.cgi/1.71.2.2/Wed May 19 16:34:05 2010//TBUGZILLA-3_6_1 -/collectstats.pl/1.71.2.1/Sat May 22 18:02:48 2010//TBUGZILLA-3_6_1 -/config.cgi/1.33.2.2/Thu Mar 18 14:02:54 2010//TBUGZILLA-3_6_1 -/createaccount.cgi/1.57/Sun Nov 11 22:03:16 2007//TBUGZILLA-3_6_1 -/describecomponents.cgi/1.40/Thu May 21 08:43:23 2009//TBUGZILLA-3_6_1 -/describekeywords.cgi/1.22/Sun Jan 25 12:42:51 2009//TBUGZILLA-3_6_1 -/duplicates.cgi/1.66/Tue Feb 2 00:02:50 2010//TBUGZILLA-3_6_1 -/editclassifications.cgi/1.33/Fri Jan 2 13:59:22 2009//TBUGZILLA-3_6_1 -/editcomponents.cgi/1.88/Sun Jan 31 23:33:30 2010//TBUGZILLA-3_6_1 -/editfields.cgi/1.12/Thu Jan 15 15:47:36 2009//TBUGZILLA-3_6_1 -/editflagtypes.cgi/1.57/Mon Nov 23 22:40:54 2009//TBUGZILLA-3_6_1 -/editgroups.cgi/1.93/Thu Dec 31 12:48:21 2009//TBUGZILLA-3_6_1 -/editkeywords.cgi/1.48/Mon Nov 9 19:51:58 2009//TBUGZILLA-3_6_1 -/editmilestones.cgi/1.62/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_6_1 -/editparams.cgi/1.51.2.1/Wed Feb 10 04:17:28 2010//TBUGZILLA-3_6_1 -/editproducts.cgi/1.154/Thu Dec 17 23:31:52 2009//TBUGZILLA-3_6_1 -/editsettings.cgi/1.11/Sun Jan 27 23:14:14 2008//TBUGZILLA-3_6_1 -/editusers.cgi/1.155/Wed Dec 30 14:28:38 2009//TBUGZILLA-3_6_1 -/editvalues.cgi/1.40.2.1/Fri May 14 14:35:51 2010//TBUGZILLA-3_6_1 -/editversions.cgi/1.59/Fri Apr 10 09:36:43 2009//TBUGZILLA-3_6_1 -/editwhines.cgi/1.27/Sun Jan 31 23:33:30 2010//TBUGZILLA-3_6_1 -/editworkflow.cgi/1.6/Wed Jul 2 19:10:17 2008//TBUGZILLA-3_6_1 -/email_in.pl/1.31.2.3/Mon Apr 19 23:34:30 2010//TBUGZILLA-3_6_1 -/enter_bug.cgi/1.176.2.2/Sun Mar 14 22:45:58 2010//TBUGZILLA-3_6_1 -/importxml.pl/1.95/Thu Dec 17 23:31:53 2009//TBUGZILLA-3_6_1 -/index.cgi/1.29/Fri Oct 9 04:31:09 2009//TBUGZILLA-3_6_1 -/install-module.pl/1.5.2.2/Tue Apr 20 22:17:50 2010//TBUGZILLA-3_6_1 -/jobqueue.pl/1.4/Fri Sep 4 21:20:16 2009//TBUGZILLA-3_6_1 -/jsonrpc.cgi/1.4/Tue Nov 10 21:19:46 2009//TBUGZILLA-3_6_1 -/long_list.cgi/1.48/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_6_1 -/migrate.pl/1.1/Sat Oct 24 05:30:15 2009//TBUGZILLA-3_6_1 -/mod_perl.pl/1.15/Sun Jan 31 17:46:15 2010//TBUGZILLA-3_6_1 -/page.cgi/1.22.2.2/Tue Feb 9 00:02:57 2010//TBUGZILLA-3_6_1 -/post_bug.cgi/1.209.2.1/Wed Apr 7 03:31:29 2010//TBUGZILLA-3_6_1 -/process_bug.cgi/1.428.2.2/Wed Apr 7 03:31:29 2010//TBUGZILLA-3_6_1 -/query.cgi/1.190/Sun Jan 31 17:52:38 2010//TBUGZILLA-3_6_1 -/quips.cgi/1.39/Wed Nov 5 18:38:49 2008//TBUGZILLA-3_6_1 -/relogin.cgi/1.43/Wed Apr 15 17:52:46 2009//TBUGZILLA-3_6_1 -/report.cgi/1.47.2.1/Thu Feb 18 19:33:13 2010//TBUGZILLA-3_6_1 -/reports.cgi/1.95/Sat Oct 24 05:21:06 2009//TBUGZILLA-3_6_1 -/request.cgi/1.51/Sun Jan 31 23:33:31 2010//TBUGZILLA-3_6_1 -/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-3_6_1 -/runtests.pl/1.5/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_6_1 -/sanitycheck.cgi/1.148/Thu Dec 17 23:31:53 2009//TBUGZILLA-3_6_1 -/sanitycheck.pl/1.4/Tue Dec 16 21:16:29 2008//TBUGZILLA-3_6_1 -/search_plugin.cgi/1.4/Tue Dec 16 22:39:41 2008//TBUGZILLA-3_6_1 -/show_activity.cgi/1.26/Sun Jan 25 12:42:52 2009//TBUGZILLA-3_6_1 -/show_bug.cgi/1.62/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_6_1 -/showattachment.cgi/1.16/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_6_1 -/showdependencygraph.cgi/1.69.2.1/Mon Mar 8 01:05:21 2010//TBUGZILLA-3_6_1 -/showdependencytree.cgi/1.53/Sun Jun 29 21:57:54 2008//TBUGZILLA-3_6_1 -/sidebar.cgi/1.19/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_6_1 -/summarize_time.cgi/1.26/Tue Nov 10 16:31:48 2009//TBUGZILLA-3_6_1 -/testagent.cgi/1.3/Sun Feb 11 00:12:24 2007//TBUGZILLA-3_6_1 -/testserver.pl/1.22/Fri Sep 4 21:08:05 2009//TBUGZILLA-3_6_1 -/token.cgi/1.65/Fri Oct 9 04:31:09 2009//TBUGZILLA-3_6_1 -/userprefs.cgi/1.127.2.1/Mon Mar 29 21:47:39 2010//TBUGZILLA-3_6_1 -/votes.cgi/1.58.2.1/Wed Apr 7 03:31:30 2010//TBUGZILLA-3_6_1 -/whine.pl/1.41/Mon Dec 28 00:58:47 2009//TBUGZILLA-3_6_1 -/whineatnews.pl/1.31/Wed Apr 2 17:42:26 2008//TBUGZILLA-3_6_1 -/xml.cgi/1.14/Fri Oct 19 06:46:11 2007//TBUGZILLA-3_6_1 -/xmlrpc.cgi/1.14/Tue Nov 10 21:19:46 2009//TBUGZILLA-3_6_1 -D/Bugzilla//// -D/contrib//// -D/docs//// -D/extensions//// -D/images//// -D/js//// -D/lib//// -D/skins//// -D/t//// -D/template//// diff --git a/CVS/Entries.Log b/CVS/Entries.Log deleted file mode 100644 index 156c41dd453390033d80448acd57f8c7ba538c5c..0000000000000000000000000000000000000000 --- a/CVS/Entries.Log +++ /dev/null @@ -1,6 +0,0 @@ -A D/Conf//// -A D/css//// -A D/oracle//// -R D/oracle//// -R D/css//// -R D/Conf//// diff --git a/CVS/Repository b/CVS/Repository deleted file mode 100644 index 65700f2a8f40f27d319b5d660fa06aac61193b7d..0000000000000000000000000000000000000000 --- a/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla diff --git a/CVS/Root b/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/CVS/Tag b/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/attachment.cgi b/attachment.cgi index 80a9b3c65df554eb7607468796e410e1143d4028..cdfcc6bf7418d540ec9c15fc5e65f1c572e749b5 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -127,7 +127,7 @@ elsif ($action eq "delete") { } else { - ThrowCodeError("unknown_action", { action => $action }); + ThrowUserError('unknown_action', {action => $action}); } exit; @@ -207,12 +207,10 @@ sub attachmentIsPublic { # Validates format of a diff/interdiff. Takes a list as an parameter, which # defines the valid format values. Will throw an error if the format is not # in the list. Returns either the user selected or default format. -sub validateFormat -{ +sub validateFormat { # receives a list of legal formats; first item is a default my $format = $cgi->param('format') || $_[0]; - if ( lsearch(\@_, $format) == -1) - { + if (not grep($_ eq $format, @_)) { ThrowUserError("invalid_format", { format => $format, formats => \@_ }); } @@ -517,7 +515,7 @@ sub insert { && ($bug_status->name ne 'UNCONFIRMED' || $bug->product_obj->allows_unconfirmed)) { - $bug->set_status($bug_status->name); + $bug->set_bug_status($bug_status->name); $bug->clear_resolution(); } # Make sure the person we are taking the bug from gets mail. @@ -542,7 +540,7 @@ sub insert { $vars->{'header_done'} = 1; $vars->{'contenttypemethod'} = $cgi->param('contenttypemethod'); - my $recipients = { 'changer' => $user->login, 'owner' => $owner }; + my $recipients = { 'changer' => $user, 'owner' => $owner }; $vars->{'sent_bugmail'} = Bugzilla::BugMail::Send($bugid, $recipients); print $cgi->header(); @@ -670,7 +668,7 @@ sub update { $vars->{'bugs'} = [$bug]; $vars->{'header_done'} = 1; $vars->{'sent_bugmail'} = - Bugzilla::BugMail::Send($bug->id, { 'changer' => $user->login }); + Bugzilla::BugMail::Send($bug->id, { 'changer' => $user }); print $cgi->header(); @@ -743,7 +741,7 @@ sub delete_attachment { $vars->{'header_done'} = 1; $vars->{'sent_bugmail'} = - Bugzilla::BugMail::Send($bug->id, { 'changer' => $user->login }); + Bugzilla::BugMail::Send($bug->id, { 'changer' => $user }); $template->process("attachment/updated.html.tmpl", $vars) || ThrowTemplateError($template->error()); diff --git a/buglist.cgi b/buglist.cgi index d9b19dc007912cbf6caf8d13b2ad3734f8fed2e4..1972dd5b3318ae9bfb65d1924a29130c809a9eed 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -40,6 +40,7 @@ use Bugzilla::Error; use Bugzilla::Util; use Bugzilla::Search; use Bugzilla::Search::Quicksearch; +use Bugzilla::Search::Recent; use Bugzilla::Search::Saved; use Bugzilla::User; use Bugzilla::Bug; @@ -60,7 +61,7 @@ my $buffer = $cgi->query_string(); # We have to check the login here to get the correct footer if an error is # thrown and to prevent a logged out user to use QuickSearch if 'requirelogin' # is turned 'on'. -Bugzilla->login(); +my $user = Bugzilla->login(); if (length($buffer) == 0) { print $cgi->header(-refresh=> '10; URL=query.cgi'); @@ -86,6 +87,18 @@ if (grep { $_ =~ /^cmd\-/ } $cgi->param()) { if ($cgi->request_method() eq 'POST') { $cgi->clean_search_url(); my $uri_length = length($cgi->self_url()); + + if (!$cgi->param('regetlastlist') and !$cgi->param('list_id') + and $user->id) + { + # Insert a placeholder Bugzilla::Search::Recent, so that we know what + # the id of the resulting search will be. This is then pulled out + # of the Referer header when viewing show_bug.cgi to know what + # bug list we came from. + my $recent_search = Bugzilla::Search::Recent->create_placeholder; + $cgi->param('list_id', $recent_search->id); + } + if ($uri_length < CGI_URI_LIMIT) { print $cgi->redirect(-url => $cgi->self_url()); exit; @@ -185,17 +198,26 @@ my $params; # If the user is retrieving the last bug list they looked at, hack the buffer # storing the query string so that it looks like a query retrieving those bugs. -if (defined $cgi->param('regetlastlist')) { - $cgi->cookie('BUGLIST') || ThrowUserError("missing_cookie"); - - $order = "reuse last sort" unless $order; - my $bug_id = $cgi->cookie('BUGLIST'); - $bug_id =~ s/:/,/g; +if (my $last_list = $cgi->param('regetlastlist')) { + my ($bug_ids, $order); + + # Logged-out users use the old cookie method for storing the last search. + if (!$user->id or $last_list eq 'cookie') { + $cgi->cookie('BUGLIST') || ThrowUserError("missing_cookie"); + $order = "reuse last sort" unless $order; + $bug_ids = $cgi->cookie('BUGLIST'); + $bug_ids =~ s/:/,/g; + } + # But logged in users store the last X searches in the DB so they can + # have multiple bug lists available. + else { + my $last_search = Bugzilla::Search::Recent->check( + { id => $last_list }); + $bug_ids = join(',', @{ $last_search->bug_list }); + $order = $last_search->list_order if !$order; + } # set up the params for this new query - $params = new Bugzilla::CGI({ - bug_id => $bug_id, - order => $order, - }); + $params = new Bugzilla::CGI({ bug_id => $bug_ids, order => $order }); } # Figure out whether or not the user is doing a fulltext search. If not, @@ -431,7 +453,7 @@ if ($cmdtype eq "dorem") { $order = $params->param('order') || $order; } elsif ($remaction eq "forget") { - my $user = Bugzilla->login(LOGIN_REQUIRED); + $user = Bugzilla->login(LOGIN_REQUIRED); # Copy the name into a variable, so that we can trick_taint it for # the DB. We know it's safe, because we're using placeholders in # the SQL, and the SQL is only a DELETE. @@ -458,10 +480,9 @@ if ($cmdtype eq "dorem") { } # If we are here, then we can safely remove the saved search - my ($query_id) = $dbh->selectrow_array('SELECT id FROM namedqueries - WHERE userid = ? - AND name = ?', - undef, ($user->id, $qname)); + my $query_id; + ($buffer, $query_id) = LookupNamedQuery(scalar $cgi->param("namedcmd"), + $user->id); if (!$query_id) { # The user has no query of this name. Play along. } @@ -488,7 +509,7 @@ if ($cmdtype eq "dorem") { # Generate and return the UI (HTML page) from the appropriate template. $vars->{'message'} = "buglist_query_gone"; $vars->{'namedcmd'} = $qname; - $vars->{'url'} = "query.cgi"; + $vars->{'url'} = "buglist.cgi?newquery=" . url_quote($buffer) . "&cmdtype=doit&remtype=asnamed&newqueryname=" . url_quote($qname); $template->process("global/message.html.tmpl", $vars) || ThrowTemplateError($template->error()); exit; @@ -496,12 +517,12 @@ if ($cmdtype eq "dorem") { } elsif (($cmdtype eq "doit") && defined $cgi->param('remtype')) { if ($cgi->param('remtype') eq "asdefault") { - my $user = Bugzilla->login(LOGIN_REQUIRED); + $user = Bugzilla->login(LOGIN_REQUIRED); InsertNamedQuery(DEFAULT_QUERY_NAME, $buffer); $vars->{'message'} = "buglist_new_default_query"; } elsif ($cgi->param('remtype') eq "asnamed") { - my $user = Bugzilla->login(LOGIN_REQUIRED); + $user = Bugzilla->login(LOGIN_REQUIRED); my $query_name = $cgi->param('newqueryname'); my $new_query = $cgi->param('newquery'); my $query_type = QUERY_LIST; @@ -512,7 +533,7 @@ elsif (($cmdtype eq "doit") && defined $cgi->param('remtype')) { # We add or remove bugs based on the action choosen. my $action = trim($cgi->param('action') || ''); $action =~ /^(add|remove)$/ - || ThrowCodeError('unknown_action', {'action' => $action}); + || ThrowUserError('unknown_action', {action => $action}); # If we are removing bugs, then we must have an existing # saved search selected. @@ -655,18 +676,6 @@ else { # and are hard-coded into the display templates. @displaycolumns = grep($_ ne 'bug_id', @displaycolumns); -# Add the votes column to the list of columns to be displayed -# in the bug list if the user is searching for bugs with a certain -# number of votes and the votes column is not already on the list. - -# Some versions of perl will taint 'votes' if this is done as a single -# statement, because the votes param is tainted at this point -my $votes = $params->param('votes'); -$votes ||= ""; -if (trim($votes) && !grep($_ eq 'votes', @displaycolumns)) { - push(@displaycolumns, 'votes'); -} - # Remove the timetracking columns if they are not a part of the group # (happens if a user had access to time tracking and it was revoked/disabled) if (!Bugzilla->user->is_timetracker) { @@ -696,7 +705,7 @@ my @selectcolumns = ("bug_id", "bug_severity", "priority", "bug_status", "resolution", "product"); # remaining and actual_time are required for percentage_complete calculation: -if (lsearch(\@displaycolumns, "percentage_complete") >= 0) { +if (grep { $_ eq "percentage_complete" } @displaycolumns) { push (@selectcolumns, "remaining_time"); push (@selectcolumns, "actual_time"); } @@ -810,12 +819,6 @@ if ($order) { # Special handlings for certain columns next if $column_name eq 'relevance' && !$fulltext; - # If we are sorting by votes, sort in descending order if - # no explicit sort order was given. - if ($column_name eq 'votes' && !$direction) { - $direction = "DESC"; - } - if (exists $columns->{$column_name}) { $direction = " $direction" if $direction; push(@order, "$column_name$direction"); @@ -925,12 +928,12 @@ $buglist_sth->execute(); # of Perl records. # If we're doing time tracking, then keep totals for all bugs. -my $percentage_complete = lsearch(\@displaycolumns, 'percentage_complete') >= 0; -my $estimated_time = lsearch(\@displaycolumns, 'estimated_time') >= 0; -my $remaining_time = ((lsearch(\@displaycolumns, 'remaining_time') >= 0) - || $percentage_complete); -my $actual_time = ((lsearch(\@displaycolumns, 'actual_time') >= 0) - || $percentage_complete); +my $percentage_complete = grep($_ eq 'percentage_complete', @displaycolumns); +my $estimated_time = grep($_ eq 'estimated_time', @displaycolumns); +my $remaining_time = grep($_ eq 'remaining_time', @displaycolumns) + || $percentage_complete; +my $actual_time = grep($_ eq 'actual_time', @displaycolumns) + || $percentage_complete; my $time_info = { 'estimated_time' => 0, 'remaining_time' => 0, @@ -1182,6 +1185,9 @@ if ($dotweak && scalar @bugs) { # the "Remember search as" field. $vars->{'defaultsavename'} = $cgi->param('query_based_on'); +# If we did a quick search then redisplay the previously entered search +# string in the text field. +$vars->{'quicksearch'} = $searchstring; ################################################################################ # HTTP Header Generation @@ -1193,26 +1199,11 @@ my $contenttype; my $disposition = "inline"; if ($format->{'extension'} eq "html" && !$agent) { - if ($order && !$cgi->param('sharer_id')) { - $cgi->send_cookie(-name => 'LASTORDER', - -value => $order, - -expires => 'Fri, 01-Jan-2038 00:00:00 GMT'); - } - my $bugids = join(":", @bugidlist); - # See also Bug 111999 - if (length($bugids) == 0) { - $cgi->remove_cookie('BUGLIST'); + if (!$cgi->param('regetlastlist')) { + Bugzilla->user->save_last_search( + { bugs => \@bugidlist, order => $order, vars => $vars, + list_id => scalar $cgi->param('list_id') }); } - elsif (length($bugids) < 4000) { - $cgi->send_cookie(-name => 'BUGLIST', - -value => $bugids, - -expires => 'Fri, 01-Jan-2038 00:00:00 GMT'); - } - else { - $cgi->remove_cookie('BUGLIST'); - $vars->{'toolong'} = 1; - } - $contenttype = "text/html"; } else { diff --git a/bugzilla.dtd b/bugzilla.dtd index 64f575b62cf1f0e8f3471cfbda28c9ea3731b501..b449d6ba42b13aff3991b65a80298df11b262939 100644 --- a/bugzilla.dtd +++ b/bugzilla.dtd @@ -5,7 +5,7 @@ maintainer CDATA #REQUIRED exporter CDATA #IMPLIED > -<!ELEMENT bug (bug_id, (alias?, creation_ts, short_desc, delta_ts, reporter_accessible, cclist_accessible, classification_id, classification, product, component, version, rep_platform, op_sys, bug_status, resolution?, dup_id?, bug_file_loc?, status_whiteboard?, keywords*, priority, bug_severity, target_milestone?, dependson*, blocked*, votes?, everconfirmed, reporter, assigned_to, qa_contact?, cc*, (estimated_time, remaining_time, actual_time, deadline)?, group*, flag*, long_desc*, attachment*)?)> +<!ELEMENT bug (bug_id, (alias?, creation_ts, short_desc, delta_ts, reporter_accessible, cclist_accessible, classification_id, classification, product, component, version, rep_platform, op_sys, bug_status, resolution?, dup_id?, bug_file_loc?, status_whiteboard?, keywords*, priority, bug_severity, target_milestone?, dependson*, blocked*, everconfirmed, reporter, assigned_to, qa_contact?, cc*, (estimated_time, remaining_time, actual_time, deadline)?, group*, flag*, long_desc*, attachment*)?)> <!ATTLIST bug error (NotFound | NotPermitted | InvalidBugId) #IMPLIED > @@ -39,7 +39,6 @@ <!ELEMENT keywords (#PCDATA)> <!ELEMENT dependson (#PCDATA)> <!ELEMENT blocked (#PCDATA)> -<!ELEMENT votes (#PCDATA)> <!ELEMENT everconfirmed (#PCDATA)> <!ELEMENT cc (#PCDATA)> <!ELEMENT group (#PCDATA)> diff --git a/chart.cgi b/chart.cgi index 0b46347b5ea5cc576690ac675b23b4806518b995..dcd83cb01e6aaa25cde9a54b04d7a17b2dfc18c5 100755 --- a/chart.cgi +++ b/chart.cgi @@ -227,7 +227,7 @@ elsif ($action eq "convert_search") { print $cgi->redirect(-location => correct_urlbase() . "query.cgi?format=create-series$url"); } else { - ThrowCodeError("unknown_action"); + ThrowUserError('unknown_action', {action => $action}); } exit; diff --git a/colchange.cgi b/colchange.cgi index 9c9addb48e14717273f0cd7cef1228163b968bb0..0bd3af481637ce6ecc8fabc2a4adb419dc4f75d2 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -24,7 +24,6 @@ # Pascal Held <paheld@gmail.com> use strict; - use lib qw(. lib); use Bugzilla; @@ -34,7 +33,24 @@ use Bugzilla::CGI; use Bugzilla::Search::Saved; use Bugzilla::Error; use Bugzilla::User; -use Bugzilla::Keyword; + +use Storable qw(dclone); + +# Maps parameters that control columns to the names of columns. +use constant COLUMN_PARAMS => { + 'useclassification' => ['classification'], + 'usebugaliases' => ['alias'], + 'usetargetmilestone' => ['target_milestone'], + 'useqacontact' => ['qa_contact', 'qa_contact_realname'], + 'usestatuswhiteboard' => ['status_whiteboard'], +}; + +# We only show these columns if an object of this type exists in the +# database. +use constant COLUMN_CLASSES => { + 'Bugzilla::Flag' => 'flagtypes.name', + 'Bugzilla::Keyword' => 'keywords', +}; Bugzilla->login(); @@ -42,55 +58,31 @@ my $cgi = Bugzilla->cgi; my $template = Bugzilla->template; my $vars = {}; -# The master list not only says what fields are possible, but what order -# they get displayed in. -my @masterlist = ("opendate", "changeddate", "bug_severity", "priority", - "rep_platform", "assigned_to", "assigned_to_realname", - "reporter", "reporter_realname", "bug_status", - "resolution"); +my $columns = dclone(Bugzilla::Search::COLUMNS); -if (Bugzilla->params->{"useclassification"}) { - push(@masterlist, "classification"); -} +# You can't manually select "relevance" as a column you want to see. +delete $columns->{'relevance'}; -push(@masterlist, ("product", "component", "version", "op_sys")); - -if (Bugzilla->params->{"usevotes"}) { - push (@masterlist, "votes"); -} -if (Bugzilla->params->{"usebugaliases"}) { - unshift(@masterlist, "alias"); -} -if (Bugzilla->params->{"usetargetmilestone"}) { - push(@masterlist, "target_milestone"); -} -if (Bugzilla->params->{"useqacontact"}) { - push(@masterlist, "qa_contact"); - push(@masterlist, "qa_contact_realname"); -} -if (Bugzilla->params->{"usestatuswhiteboard"}) { - push(@masterlist, "status_whiteboard"); -} -if (Bugzilla::Keyword->any_exist) { - push(@masterlist, "keywords"); -} -if (Bugzilla->has_flags) { - push(@masterlist, "flagtypes.name"); -} -if (Bugzilla->user->is_timetracker) { - push(@masterlist, ("estimated_time", "remaining_time", "actual_time", - "percentage_complete", "deadline")); +foreach my $param (keys %{ COLUMN_PARAMS() }) { + next if Bugzilla->params->{$param}; + foreach my $column (@{ COLUMN_PARAMS->{$param} }) { + delete $columns->{$column}; + } } -push(@masterlist, ("short_desc", "short_short_desc")); - -my @custom_fields = grep { $_->type != FIELD_TYPE_MULTI_SELECT } - Bugzilla->active_custom_fields; -push(@masterlist, map { $_->name } @custom_fields); +foreach my $class (keys %{ COLUMN_CLASSES() }) { + eval("use $class; 1;") || die $@; + my $column = COLUMN_CLASSES->{$class}; + delete $columns->{$column} if !$class->any_exist; +} -Bugzilla::Hook::process('colchange_columns', {'columns' => \@masterlist} ); +if (!Bugzilla->user->is_timetracker) { + foreach my $column (TIMETRACKING_FIELDS) { + delete $columns->{$column}; + } +} -$vars->{'masterlist'} = \@masterlist; +$vars->{'columns'} = $columns; my @collist; if (defined $cgi->param('rememberedquery')) { @@ -99,8 +91,8 @@ if (defined $cgi->param('rememberedquery')) { @collist = DEFAULT_COLUMN_LIST; } else { if (defined $cgi->param("selected_columns")) { - my %legal_list = map { $_ => 1 } @masterlist; - @collist = grep { exists $legal_list{$_} } $cgi->param("selected_columns"); + @collist = grep { exists $columns->{$_} } + $cgi->param("selected_columns"); } if (defined $cgi->param('splitheader')) { $splitheader = $cgi->param('splitheader')? 1: 0; diff --git a/contrib/.cvsignore b/contrib/.cvsignore deleted file mode 100644 index 03c88fd7a391ed2c4dd8b179016cd9b95923df88..0000000000000000000000000000000000000000 --- a/contrib/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.htaccess diff --git a/contrib/CVS/Entries b/contrib/CVS/Entries deleted file mode 100644 index 337c4ed73df12468a430aa259a91170095b9db6e..0000000000000000000000000000000000000000 --- a/contrib/CVS/Entries +++ /dev/null @@ -1,20 +0,0 @@ -/.cvsignore/1.1/Mon Feb 1 00:33:37 2010//TBUGZILLA-3_6_1 -/README/1.12/Tue Oct 16 10:13:54 2007//TBUGZILLA-3_6_1 -/bugzilla-queue/1.1/Fri Sep 4 21:20:41 2009//TBUGZILLA-3_6_1 -/bugzilla_ldapsync.rb/1.2.20.1/Mon Mar 8 02:47:38 2010//TBUGZILLA-3_6_1 -/bz_webservice_demo.pl/1.14/Mon May 19 18:38:26 2008//TBUGZILLA-3_6_1 -/bzdbcopy.pl/1.9/Sat Oct 24 05:30:19 2009//TBUGZILLA-3_6_1 -/console.pl/1.1/Sun Jan 31 17:49:13 2010//TBUGZILLA-3_6_1 -/cvs-update.pl/1.1/Tue Nov 11 05:58:52 2003//TBUGZILLA-3_6_1 -/extension-convert.pl/1.2/Wed Nov 25 03:37:09 2009//TBUGZILLA-3_6_1 -/fixperms.pl/1.1.2.2/Tue Mar 9 07:00:48 2010//TBUGZILLA-3_6_1 -/jb2bz.py/1.5/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_6_1 -/merge-users.pl/1.8/Tue Mar 11 15:50:04 2008//TBUGZILLA-3_6_1 -/mysqld-watcher.pl/1.5/Thu Mar 27 00:06:53 2003//TBUGZILLA-3_6_1 -/recode.pl/1.6/Fri Feb 20 21:54:16 2009//TBUGZILLA-3_6_1 -/sendbugmail.pl/1.8.6.1/Mon Mar 8 02:47:38 2010//TBUGZILLA-3_6_1 -/sendunsentbugmail.pl/1.10/Fri Oct 19 06:46:17 2007//TBUGZILLA-3_6_1 -/syncLDAP.pl/1.14/Mon Jul 7 09:01:51 2008//TBUGZILLA-3_6_1 -/yp_nomail.sh/1.1.38.1/Mon Mar 8 02:47:38 2010//TBUGZILLA-3_6_1 -D/bugzilla-submit//// -D/cmdline//// diff --git a/contrib/CVS/Repository b/contrib/CVS/Repository deleted file mode 100644 index e316153eefde073b51262e7af156bbcd5f1d1303..0000000000000000000000000000000000000000 --- a/contrib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/contrib diff --git a/contrib/CVS/Root b/contrib/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/contrib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/contrib/CVS/Tag b/contrib/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/contrib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/contrib/bugzilla-queue b/contrib/bugzilla-queue.rhel old mode 100644 new mode 100755 similarity index 100% rename from contrib/bugzilla-queue rename to contrib/bugzilla-queue.rhel diff --git a/contrib/bugzilla-queue.suse b/contrib/bugzilla-queue.suse new file mode 100755 index 0000000000000000000000000000000000000000..3563020582f265118be7378158848c8ae68901c2 --- /dev/null +++ b/contrib/bugzilla-queue.suse @@ -0,0 +1,174 @@ +#!/bin/bash +# +# bugzilla-queue This starts, stops, and restarts the Bugzilla jobqueue.pl +# daemon, which manages sending queued mail and possibly +# other queued tasks in the future. +# +# chkconfig: 345 85 15 +# description: Bugzilla queue runner +# +### BEGIN INIT INFO +# Provides: bugzilla-queue +# Required-Start: $local_fs $syslog +# Required-Stop: $local_fs $syslog +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start and stop the Bugzilla queue runner. +# Description: The Bugzilla queue runner (jobqueue.pl) sends any mail +# that Bugzilla has queued to be sent in the background. If you +# have enabled the use_mailer_queue parameter in Bugzilla, you +# must run this daemon. +### END INIT INFO + +NAME=`basename $0` + +################# +# Configuration # +################# + +# This should be the path to your Bugzilla +BUGZILLA=/var/www/html/bugzilla +# Who owns the Bugzilla directory and files? +USER=root + +# If you want to pass any options to the daemon (like -d for debugging) +# specify it here. +OPTIONS="" + +# You can also override the configuration by creating a +# /etc/sysconfig/bugzilla-queue file so that you don't +# have to edit this script. +if [ -r /etc/sysconfig/$NAME ]; then + . /etc/sysconfig/$NAME +fi + +########## +# Script # +########## + +BIN=$BUGZILLA/jobqueue.pl +if [ ! -x $BIN ]; then + echo "$BIN not installed" + if [ "$1" = "stop" ]; then + exit 0 + else + exit 5 + fi +fi + +# Source LSB function library. +. /lib/lsb/init-functions + +# Reset status of this service. +rc_reset + +# Return values for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting $NAME " + # Start daemon with startproc(8). If this fails the return value + # is set appropriately by startproc. + start_daemon -u $USER $BIN ${OPTIONS} start + + # Remember status and be verbose + rc_status -v + ;; + + stop) + echo -n "Shutting down $NAME " + # Stop daemon with killproc(8) and if this fails killproc sets the + # return value according to LSB. + killproc -TERM $BIN + + # Remember status and be verbose + rc_status -v + ;; + + status) + echo -n "Checking for service $NAME " + # Check status with checkproc(8), if process is running checkproc + # will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + # NOTE: checkproc returns LSB compliant status values. + checkproc $BIN + + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + + # Run jobqueue's own check function too. + $BIN check + ;; + + restart) + # Stop the service and regardless of whether it was running or not, + # start it again. + $0 stop + $0 start + + # Remember status and be quiet. + rc_status + ;; + + try-restart|condrestart) + # Do a restart only if the service was active before. + # NOTE: try-restart is now part of LSB (as of 1.9). RH has a + # similar command named condrestart. + if [ "$1" = "condrestart" ]; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if [ $? -eq 0 ]; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + + # Remember status and be quiet + rc_status + ;; + + force-reload) + # The jobqueue.pl daemon does not support SIGHUP for reload. Just + # restart the service if it is running. + echo -n "Reload service $NAME " + + $0 try-restart + rc_status + ;; + + reload) + # The jobqueue.pl daemon does not support SIGHUP for reload. + rc_failed 3 + rc_status -v + ;; + + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" + exit 1 +esac + +rc_exit diff --git a/contrib/bugzilla-submit/CVS/Entries b/contrib/bugzilla-submit/CVS/Entries deleted file mode 100644 index a2eb794c5fa9e892b23031953dd2288b9a1e910e..0000000000000000000000000000000000000000 --- a/contrib/bugzilla-submit/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/README/1.2/Wed Dec 10 23:36:21 2003//TBUGZILLA-3_6_1 -/bugdata.txt/1.2/Fri Jan 16 22:26:49 2004//TBUGZILLA-3_6_1 -/bugzilla-submit/1.7/Wed Sep 30 08:55:08 2009//TBUGZILLA-3_6_1 -/bugzilla-submit.xml/1.7/Mon Apr 11 14:23:32 2005//TBUGZILLA-3_6_1 -D diff --git a/contrib/bugzilla-submit/CVS/Repository b/contrib/bugzilla-submit/CVS/Repository deleted file mode 100644 index 992412a34f6a4c1ce913b48b20f540b455cb05d2..0000000000000000000000000000000000000000 --- a/contrib/bugzilla-submit/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/contrib/bugzilla-submit diff --git a/contrib/bugzilla-submit/CVS/Root b/contrib/bugzilla-submit/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/contrib/bugzilla-submit/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/contrib/bugzilla-submit/CVS/Tag b/contrib/bugzilla-submit/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/contrib/bugzilla-submit/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/contrib/bugzilla-submit/bugdata.txt b/contrib/bugzilla-submit/bugdata.txt old mode 100644 new mode 100755 diff --git a/contrib/bugzilla-submit/bugzilla-submit.xml b/contrib/bugzilla-submit/bugzilla-submit.xml old mode 100644 new mode 100755 diff --git a/contrib/bzdbcopy.pl b/contrib/bzdbcopy.pl index a5e81d7f8a120560ed9413deb8f3e8efd15ceba7..8491238b5a73c7446fbb613d0ef008e64673e808 100755 --- a/contrib/bzdbcopy.pl +++ b/contrib/bzdbcopy.pl @@ -71,11 +71,9 @@ my $ident_char = $target_db->get_info( 29 ); # SQL_IDENTIFIER_QUOTE_CHAR # has customized their source DB, we still want the script to work, # and it may otherwise fail in that situation (that is, the tables # may not exist in the target DB). -my @table_list = $target_db->bz_table_list_real(); - -# We don't want to copy over the bz_schema table's contents. -my $bz_schema_location = lsearch(\@table_list, 'bz_schema'); -splice(@table_list, $bz_schema_location, 1) if $bz_schema_location > 0; +# +# We don't want to copy over the bz_schema table's contents, though. +my @table_list = grep { $_ ne 'bz_schema' } $target_db->bz_table_list_real(); # Instead of figuring out some fancy algorithm to insert data in the right # order and not break FK integrity, we just drop them all. diff --git a/contrib/cmdline/CVS/Entries b/contrib/cmdline/CVS/Entries deleted file mode 100644 index 9d2c7e02dd50533ace1d7da7353b429d04ec45c7..0000000000000000000000000000000000000000 --- a/contrib/cmdline/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/bugcount/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/bugids/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/buglist/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/bugs/1.2/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/bugslink/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/makequery/1.1/Thu Jan 27 19:42:34 2005//TBUGZILLA-3_6_1 -/query.conf/1.3/Fri Aug 26 23:11:32 2005//TBUGZILLA-3_6_1 -D diff --git a/contrib/cmdline/CVS/Repository b/contrib/cmdline/CVS/Repository deleted file mode 100644 index 4226e2a191be05174b7360932f55e60b6ee616b2..0000000000000000000000000000000000000000 --- a/contrib/cmdline/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/contrib/cmdline diff --git a/contrib/cmdline/CVS/Root b/contrib/cmdline/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/contrib/cmdline/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/contrib/cmdline/CVS/Tag b/contrib/cmdline/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/contrib/cmdline/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/contrib/cmdline/query.conf b/contrib/cmdline/query.conf old mode 100644 new mode 100755 diff --git a/contrib/console.pl b/contrib/console.pl old mode 100644 new mode 100755 index e9d06cd947311ad8824c3498175a7be7dc2f627e..408fdef610bd279e41d6980bd97e70aa25ce423b --- a/contrib/console.pl +++ b/contrib/console.pl @@ -96,7 +96,7 @@ sub get_object { elsif (m/^\d+$/) { @results = ($class->new($_)); } - elsif (m/\w/i && grep {$_ eq 'name'} ($class->DB_COLUMNS)) { + elsif (m/\w/i && grep {$_ eq 'name'} ($class->_get_db_columns)) { @results = @{$class->match({name => $_})}; } else { diff --git a/contrib/extension-convert.pl b/contrib/extension-convert.pl old mode 100644 new mode 100755 diff --git a/contrib/fixperms.pl b/contrib/fixperms.pl old mode 100644 new mode 100755 diff --git a/contrib/merge-users.pl b/contrib/merge-users.pl index 80c516e04c2927a5c3661d11e1108aa04eabd992..ee6ec862815581dffc24e052e2c7c2176d3773c4 100755 --- a/contrib/merge-users.pl +++ b/contrib/merge-users.pl @@ -121,21 +121,13 @@ if ($old_id == $new_id) { # where fooN is the column to update, and barN1, barN2, ... are # the columns to take into account to avoid duplicated entries. # Note that the barNM columns are optional. -my $changes = { - # Tables affecting bugs. - bugs => ['assigned_to', 'reporter', 'qa_contact'], - bugs_activity => ['who'], - attachments => ['submitter_id'], - flags => ['setter_id', 'requestee_id'], +# +# We set the tables that require custom stuff (multiple columns to check) +# here, but the simple stuff is all handled below by bz_get_related_fks. +my %changes = ( cc => ['who bug_id'], - longdescs => ['who'], - votes => ['who'], # Tables affecting global behavior / other users. - components => ['initialowner', 'initialqacontact'], component_cc => ['user_id component_id'], - quips => ['userid'], - series => ['creator'], - whine_events => ['owner_userid'], watch => ['watcher watched', 'watched watcher'], # Tables affecting the user directly. namedqueries => ['userid name'], @@ -143,17 +135,23 @@ my $changes = { user_group_map => ['user_id group_id isbless grant_type'], email_setting => ['user_id relationship event'], profile_setting => ['user_id setting_name'], - profiles_activity => ['userid', 'who'], # Should activity be migrated? # Only do it if mailto_type = 0, i.e is pointing to a user account! # This requires to be done separately due to this condition. whine_schedules => [], # ['mailto'], +); + +my $userid_fks = $dbh->bz_get_related_fks('profiles', 'userid'); +foreach my $item (@$userid_fks) { + my ($table, $column) = @$item; + $changes{$table} ||= []; + push(@{ $changes{$table} }, $column); +} - # Delete all old records for these tables; no migration. - logincookies => [], # ['userid'], - tokens => [], # ['userid'], - profiles => [], # ['userid'], -}; +# Delete all old records for these tables; no migration. +foreach my $table (qw(logincookies tokens profiles)) { + $changes{$table} = []; +} # Start the transaction $dbh->bz_start_transaction(); @@ -163,8 +161,8 @@ $dbh->do('DELETE FROM logincookies WHERE userid = ?', undef, $old_id); $dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $old_id); # Migrate records from old user to new user. -foreach my $table (keys(%$changes)) { - foreach my $column_list (@{$changes->{$table}}) { +foreach my $table (keys %changes) { + foreach my $column_list (@{ $changes{$table} }) { # Get all columns to consider. There is always at least # one column given: the one to update. my @columns = split(/[\s]+/, $column_list); diff --git a/contrib/new-yui.sh b/contrib/new-yui.sh new file mode 100755 index 0000000000000000000000000000000000000000..6f082e0f59ec3ebf5c20e9e9cf8e3df243b4e6af --- /dev/null +++ b/contrib/new-yui.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# +# Updates the version of YUI used by Bugzilla. Just pass the path to +# an unzipped yui release directory, like: +# +# contrib/new-yui.sh /path/to/yui-2.8.1/ +# +rsync -av --delete $1/build/ js/yui/ +cd js/yui +rm -rf editor/ yuiloader-dom-event/ +find -name '*.js' -not -name '*-min.js' -not -name '*-dom-event.js' \ + -exec rm -f {} \; +find -name '*-skin.css' -exec rm -f {} \; +find -depth -path '*/assets' -not -path './assets' -exec rm -rf {} \; +rm assets/skins/sam/sprite.psd +rm assets/skins/sam/skin.css diff --git a/contrib/sendbugmail.pl b/contrib/sendbugmail.pl index f4bebabc65c0102f6142f96f60bdbef2505617e3..51de9407d1c2b39236c913599eb2e36fb2c96b64 100755 --- a/contrib/sendbugmail.pl +++ b/contrib/sendbugmail.pl @@ -56,13 +56,14 @@ if ($changer !~ /$match/) { print STDERR "Changer \"$changer\" doesn't match email regular expression.\n"; usage(); } -if(!login_to_id($changer)) { - print STDERR "\"$changer\" is not a login ID.\n"; +my $changer_user = new Bugzilla::User({ name => $changer }); +unless ($changer_user) { + print STDERR "\"$changer\" is not a valid user.\n"; usage(); } # Send the email. -my $outputref = Bugzilla::BugMail::Send($bugnum, {'changer' => $changer }); +my $outputref = Bugzilla::BugMail::Send($bugnum, {'changer' => $changer_user }); # Report the results. my $sent = scalar(@{$outputref->{sent}}); diff --git a/docs/CVS/Entries b/docs/CVS/Entries deleted file mode 100644 index 858e4a951847801dcf2096cf02251fbea6d634ea..0000000000000000000000000000000000000000 --- a/docs/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/makedocs.pl/1.21/Thu Jul 16 01:16:11 2009//TBUGZILLA-3_6_1 -/style.css/1.1/Fri Apr 4 06:48:15 2008//TBUGZILLA-3_6_1 -D/en//// -D/lib//// diff --git a/docs/CVS/Repository b/docs/CVS/Repository deleted file mode 100644 index f4750cc31dd4f46d94229a7b7163a17d391a05df..0000000000000000000000000000000000000000 --- a/docs/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs diff --git a/docs/CVS/Root b/docs/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/CVS/Tag b/docs/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/bugzilla.ent b/docs/bugzilla.ent index bdd751e8868e1775e7ffa9296746ef389d3f833f..4e168fd23dc889bdfcab5f8f692668db5632b3ca 100644 --- a/docs/bugzilla.ent +++ b/docs/bugzilla.ent @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- Module Versions --> -<!ENTITY min-cgi-ver "3.21"> +<!ENTITY min-cgi-ver "3.49"> <!ENTITY min-digest-sha-ver "any"> <!ENTITY min-date-format-ver "2.21"> <!ENTITY min-datetime-ver "0.28"> @@ -13,6 +13,7 @@ <!ENTITY min-email-mime-encodings-ver "1.313"> <!ENTITY min-email-mime-modifier-ver "1.442"> <!ENTITY min-uri-ver "any"> +<!ENTITY min-list-moreutils-ver "0.22"> <!ENTITY min-gd-ver "1.20"> <!ENTITY min-chart-lines-ver "2.1"> <!ENTITY min-template-plugin-gd-image-ver "any"> @@ -27,6 +28,7 @@ <!ENTITY min-authen-radius-ver "any"> <!ENTITY min-soap-lite-ver "0.710.06"> <!ENTITY min-json-rpc-ver "any"> +<!ENTITY min-json-xs-ver "2.0"> <!ENTITY min-test-taint-ver "any"> <!ENTITY min-html-parser-ver "3.40"> <!ENTITY min-html-scrubber-ver "any"> diff --git a/docs/en/.cvsignore b/docs/en/.cvsignore deleted file mode 100644 index 19d1c430e71c12ca59ad919b7b73b015798f3c0b..0000000000000000000000000000000000000000 --- a/docs/en/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -txt -pdf -html diff --git a/docs/en/CVS/Entries b/docs/en/CVS/Entries deleted file mode 100644 index 2db4dcd38362bf14f73ed114bbc95ad6a650a9e4..0000000000000000000000000000000000000000 --- a/docs/en/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.4/Fri Apr 4 11:29:21 2008//TBUGZILLA-3_6_1 -/README.docs/1.12/Fri Apr 4 06:48:15 2008//TBUGZILLA-3_6_1 -/rel_notes.txt/1.48/Fri Apr 4 06:48:16 2008//TBUGZILLA-3_6_1 -D/images//// -D/xml//// diff --git a/docs/en/CVS/Repository b/docs/en/CVS/Repository deleted file mode 100644 index 51f23a837335d016bd7f266abf025e270851b92d..0000000000000000000000000000000000000000 --- a/docs/en/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/en diff --git a/docs/en/CVS/Root b/docs/en/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/en/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/en/CVS/Tag b/docs/en/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/en/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/en/html/Bugzilla-Guide.html b/docs/en/html/Bugzilla-Guide.html index ce337f8eac009797f5d360af862f01ed521f2083..3a3eceb99d1006def1110d29a7e6a0e3c114b6fe 100644 --- a/docs/en/html/Bugzilla-Guide.html +++ b/docs/en/html/Bugzilla-Guide.html @@ -2,7 +2,8 @@ <HTML ><HEAD ><TITLE ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TITLE ><META NAME="GENERATOR" @@ -43,7 +44,8 @@ CLASS="TITLEPAGE" CLASS="title" ><A NAME="AEN2" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</A ></H1 ><H3 @@ -683,8 +685,10 @@ NAME="newversions" >1.3. New Versions</A ></H2 ><P -> This is the 3.6.1 version of The Bugzilla Guide. It is so named +> This is the 3.7.1 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. + This version of the guide, like its associated Bugzilla version, is a + development version. </P ><P > The latest version of this guide can always be found at <A @@ -1804,7 +1808,7 @@ CLASS="filename" TYPE="1" ><LI ><P -> CGI (3.21) +> CGI (3.49) </P ></LI ><LI @@ -4968,16 +4972,8 @@ TARGET="_top" > is used as the built-in email server. Postfix provides an executable that mimics sendmail enough to fool Bugzilla, as long as Bugzilla can - find it.</P -><P ->As of version 2.20, Bugzilla will be able to find the fake - sendmail executable without any assistance. However, you will have - to turn on the sendmailnow parameter before you do anything that would - result in email being sent. For more information, see the description - of the sendmailnow parameter in <A -HREF="#parameters" ->Section 3.1</A ->.</P + find it. Bugzilla is able to find the fake sendmail executable without + any assistance.</P ></DIV ><DIV CLASS="section" @@ -5229,7 +5225,7 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN897" +NAME="AEN895" >2.6.1. Introduction</A ></H3 ><P @@ -5249,7 +5245,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN901" +NAME="AEN899" >2.6.2. MySQL</A ></H3 ><P @@ -5305,7 +5301,7 @@ CLASS="section" ><HR><H4 CLASS="section" ><A -NAME="AEN909" +NAME="AEN907" >2.6.2.1. Running MySQL as Non-Root</A ></H4 ><DIV @@ -5313,7 +5309,7 @@ CLASS="section" ><H5 CLASS="section" ><A -NAME="AEN911" +NAME="AEN909" >2.6.2.1.1. The Custom Configuration Method</A ></H5 ><P @@ -5357,7 +5353,7 @@ CLASS="section" ><HR><H5 CLASS="section" ><A -NAME="AEN915" +NAME="AEN913" >2.6.2.1.2. The Custom Built Method</A ></H5 ><P @@ -5380,7 +5376,7 @@ CLASS="section" ><HR><H5 CLASS="section" ><A -NAME="AEN920" +NAME="AEN918" >2.6.2.1.3. Starting the Server</A ></H5 ><P @@ -5508,7 +5504,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN936" +NAME="AEN934" >2.6.3. Perl</A ></H3 ><P @@ -5612,7 +5608,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN958" +NAME="AEN956" >2.6.5. HTTP Server</A ></H3 ><P @@ -5626,7 +5622,7 @@ CLASS="section" ><HR><H4 CLASS="section" ><A -NAME="AEN961" +NAME="AEN959" >2.6.5.1. Running Apache as Non-Root</A ></H4 ><P @@ -5708,7 +5704,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN970" +NAME="AEN968" >2.6.6. Bugzilla</A ></H3 ><P @@ -7708,18 +7704,6 @@ CLASS="filename" </P ></DD ><DT ->sendmailnow</DT -><DD -><P -> When Bugzilla is using Sendmail older than 8.12, turning this option - off will improve performance by not waiting for Sendmail to actually - send mail. If Sendmail 8.12 or later is being used, there is - nothing to gain by turning this off. If another MTA is being used, - such as Postfix, then this option *must* be turned on (even if you - are using the fake sendmail executable that Postfix provides). - </P -></DD -><DT >whinedays</DT ><DD ><P @@ -11104,7 +11088,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN2166" +NAME="AEN2160" >3.15.4. Assigning Group Controls to Products</A ></H3 ><P @@ -11743,9 +11727,9 @@ NAME="myaccount" Bugzilla for the URL you should use to access it. If you're test-driving Bugzilla, use this URL: <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/" +HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" ->http://landfill.bugzilla.org/bugzilla-3.6-branch/</A +>http://landfill.bugzilla.org/bugzilla-tip/</A >. </P ><P @@ -11895,7 +11879,7 @@ NAME="bug_page" >The core of Bugzilla is the screen which displays a particular bug. It's a good place to explain some Bugzilla concepts. <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/show_bug.cgi?id=1" +HREF="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1" TARGET="_top" > Bug 1 on Landfill</A > @@ -12313,9 +12297,9 @@ NAME="query" any bug report, comment, or patch currently in the Bugzilla system. You can play with it here: <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi" +HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" TARGET="_top" ->http://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi</A +>http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A >.</P ><P >The Search page has controls for selecting different possible @@ -12437,7 +12421,7 @@ NAME="negation" > At first glance, negation seems redundant. Rather than searching for <A -NAME="AEN2493" +NAME="AEN2487" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12448,7 +12432,7 @@ CLASS="BLOCKQUOTE" > one could search for <A -NAME="AEN2495" +NAME="AEN2489" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12459,7 +12443,7 @@ CLASS="BLOCKQUOTE" > However, the search <A -NAME="AEN2497" +NAME="AEN2491" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12471,7 +12455,7 @@ CLASS="BLOCKQUOTE" would find every bug where anyone on the CC list did not contain "@mozilla.org" while <A -NAME="AEN2499" +NAME="AEN2493" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12485,7 +12469,7 @@ CLASS="BLOCKQUOTE" complex expressions to be built using terms OR'd together and then negated. Negation permits queries such as <A -NAME="AEN2501" +NAME="AEN2495" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12498,7 +12482,7 @@ CLASS="BLOCKQUOTE" to find bugs that are neither in the update product or in the documentation component or <A -NAME="AEN2503" +NAME="AEN2497" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12526,7 +12510,7 @@ NAME="multiplecharts" a bug that has two different people cc'd on it, then you need to use two boolean charts. A search for <A -NAME="AEN2508" +NAME="AEN2502" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12541,7 +12525,7 @@ CLASS="BLOCKQUOTE" containing "foo@" and someone else containing "@mozilla.org", then you would need two boolean charts. <A -NAME="AEN2510" +NAME="AEN2504" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -12808,7 +12792,7 @@ NAME="fillingbugs" >Years of bug writing experience has been distilled for your reading pleasure into the <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/page.cgi?id=bug-writing.html" +HREF="http://landfill.bugzilla.org/bugzilla-tip/page.cgi?id=bug-writing.html" TARGET="_top" > Bug Writing Guidelines</A >. @@ -12860,7 +12844,7 @@ VALIGN="TOP" > If you want to file a test bug to see how Bugzilla works, you can do it on one of our test installations on <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/" +HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" >Landfill</A >. @@ -13247,7 +13231,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN2646" +NAME="AEN2640" >5.8.1. Autolinkification</A ></H3 ><P @@ -14122,7 +14106,7 @@ CLASS="section" ><HR><H4 CLASS="section" ><A -NAME="AEN2843" +NAME="AEN2837" >5.11.2.1. Creating Charts</A ></H4 ><P @@ -14591,7 +14575,7 @@ CLASS="section" ><HR><H3 CLASS="section" ><A -NAME="AEN2903" +NAME="AEN2897" >5.13.4. Saving Your Changes</A ></H3 ><P @@ -16090,7 +16074,7 @@ NAME="trbl-relogin-everyone-share" >Example A-1. Examples of urlbase/cookiepath pairs for sharing login cookies</B ></P ><A -NAME="AEN3145" +NAME="AEN3139" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -16131,7 +16115,7 @@ NAME="trbl-relogin-everyone-restrict" >Example A-2. Examples of urlbase/cookiepath pairs to restrict the login cookie</B ></P ><A -NAME="AEN3152" +NAME="AEN3146" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -16894,7 +16878,7 @@ NAME="gfdl" ><P >Version 1.1, March 2000</P ><A -NAME="AEN3310" +NAME="AEN3304" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -17357,7 +17341,7 @@ NAME="gfdl-howto" of the License in the document and put the following copyright and license notices just after the title page:</P ><A -NAME="AEN3400" +NAME="AEN3394" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -17394,7 +17378,7 @@ CLASS="glossdiv" ><H1 CLASS="glossdiv" ><A -NAME="AEN3405" +NAME="AEN3399" >0-9, high ascii</A ></H1 ><DL @@ -17904,17 +17888,6 @@ TARGET="_top" CLASS="option" >mail_delivery_method</CODE > parameter. - Implementations other than <TT -CLASS="literal" ->sendmail</TT -> require that the - <CODE -CLASS="option" ->sendmailnow</CODE -> param be set to <TT -CLASS="literal" ->on</TT ->. </P ></DD ><DT @@ -18300,7 +18273,7 @@ NAME="gloss-zarro" Terry had the following to say: </P ><A -NAME="AEN3649" +NAME="AEN3640" ></A ><TABLE BORDER="0" diff --git a/docs/en/html/about.html b/docs/en/html/about.html index 78bd264ccafa812636a9d146e188859b7becabe2..07f8597425152b22f4a53f84e1d879022d99dc70 100644 --- a/docs/en/html/about.html +++ b/docs/en/html/about.html @@ -7,11 +7,13 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="NEXT" @@ -36,7 +38,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -154,7 +157,8 @@ ACCESSKEY="N" WIDTH="33%" ALIGN="left" VALIGN="top" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TD ><TD WIDTH="34%" diff --git a/docs/en/html/administration.html b/docs/en/html/administration.html index ab3c202f8c69237fc6ffdb93b3b18c2ee59acb41..309b502c429fae393539529673eceb48ceefd7d8 100644 --- a/docs/en/html/administration.html +++ b/docs/en/html/administration.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -359,7 +361,7 @@ HREF="groups.html#users-and-groups" ></DT ><DT >3.15.4. <A -HREF="groups.html#AEN2166" +HREF="groups.html#AEN2160" >Assigning Group Controls to Products</A ></DT ></DL diff --git a/docs/en/html/api/Bugzilla/Attachment.html b/docs/en/html/api/Bugzilla/Attachment.html index ae07760801ea875d651a62ecffbf89612112b7ba..6f47f0c4fcbece51781e0a7cc51ca48e96549201 100644 --- a/docs/en/html/api/Bugzilla/Attachment.html +++ b/docs/en/html/api/Bugzilla/Attachment.html @@ -232,15 +232,15 @@ name="Class_Methods" <p>Returns: 1 on success, 0 otherwise.</p> -<dt><a name="validate_obsolete($bug)" -><code class="code">validate_obsolete($bug)</code></a></dt> +<dt><a name="validate_obsolete($bug,_$attach_ids)" +><code class="code">validate_obsolete($bug, $attach_ids)</code></a></dt> <dd> <p>Description: validates if attachments the user wants to mark as obsolete really belong to the given bug and are not already obsolete. Moreover, a user cannot mark an attachment as obsolete if he cannot view it (due to restrictions on it).</p> -<p>Params: $bug - The bug object obsolete attachments should belong to.</p> +<p>Params: $bug - The bug object obsolete attachments should belong to. $attach_ids - The list of attachments to mark as obsolete.</p> -<p>Returns: 1 on success. Else an error is thrown.</p> +<p>Returns: The list of attachment objects to mark as obsolete. Else an error is thrown.</p> <dt><a name="create" ><code class="code">create</code></a></dt> diff --git a/docs/en/html/api/Bugzilla/Auth/Login.html b/docs/en/html/api/Bugzilla/Auth/Login.html index f51a200acecf6db4c4a25a31c415b4253a8d98c8..c6436f001adea32aa932bb3618382169e1832bc3 100644 --- a/docs/en/html/api/Bugzilla/Auth/Login.html +++ b/docs/en/html/api/Bugzilla/Auth/Login.html @@ -111,6 +111,12 @@ name="INFO_METHODS" <dd> <p>Whether or not users can create accounts, if this login method is currently being used by the system. Defaults to <code class="code">false</code>.</p> + +<dt><a name="is_automatic" +><code class="code">is_automatic</code></a></dt> + +<dd> +<p>True if this login method requires no interaction from the user within Bugzilla. (For example, <code class="code">Env</code> auth is "automatic" because the webserver just passes us an environment variable on most page requests, and does not ask the user for authentication information directly in Bugzilla.) Defaults to <code class="code">false</code>.</p> </dd> </dl> <p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents"><<</a></b></p> diff --git a/docs/en/html/api/Bugzilla/Comment.html b/docs/en/html/api/Bugzilla/Comment.html index 077e6aa5e21d36b64fd33d891461606bdb24eedd..51c289e3bede985db864928f8a2e0c994219965e 100644 --- a/docs/en/html/api/Bugzilla/Comment.html +++ b/docs/en/html/api/Bugzilla/Comment.html @@ -93,6 +93,12 @@ name="Accessors" <p><a href="../Bugzilla/User.html" class="podlinkpod" >Bugzilla::User</a> who created the comment.</p> +<dt><a name="count" +><code class="code">count</code></a></dt> + +<dd> +<p><code class="code">int</code> The position this comment is located in the full list of comments for a bug starting from 0.</p> + <dt><a name="body_full" ><code class="code">body_full</code></a></dt> diff --git a/docs/en/html/api/Bugzilla/Field.html b/docs/en/html/api/Bugzilla/Field.html index 96cd49acace14980b98f9789d92c79dcb8ba9f64..4eee90cf7e09c04067e2c3f4b4f399bf38d00fd0 100644 --- a/docs/en/html/api/Bugzilla/Field.html +++ b/docs/en/html/api/Bugzilla/Field.html @@ -176,6 +176,29 @@ name="Instance_Properties" </dd> </dl> +<dl> +<dt><a name="is_abnormal" +><code class="code">is_abnormal</code></a></dt> + +<dd> +<p>Most fields that have a <code class="code">SELECT</code> <a href="#type" class="podlinkpod" +>"type"</a> have a certain schema for the table that stores their values, the table has the same name as the field, and the field's legal values can be edited via <em class="code">editvalues.cgi</em>.</p> + +<p>However, some fields do not follow that pattern. Those fields are considered "abnormal".</p> + +<p>This method returns <code class="code">1</code> if the field is "abnormal", <code class="code">0</code> otherwise.</p> +</dd> +</dl> + +<dl> +<dt><a name="is_timetracking" +><code class="code">is_timetracking</code></a></dt> + +<dd> +<p>True if this is a time-tracking field that should only be shown to users in the <code class="code">timetrackinggroup</code>.</p> +</dd> +</dl> + <dl> <dt><a name="visibility_field" ><code class="code">visibility_field</code></a></dt> @@ -227,6 +250,43 @@ name="Instance_Properties" </dd> </dl> +<dl> +<dt><a name="is_visible_on_bug" +><code class="code">is_visible_on_bug</code></a></dt> + +<dd> +<p>See <a href="../Bugzilla/Field/ChoiceInterface.html" class="podlinkpod" +>Bugzilla::Field::ChoiceInterface</a>.</p> +</dd> +</dl> + +<dl> +<dt><a name="is_relationship" +><code class="code">is_relationship</code></a></dt> + +<dd> +<p>Applies only to fields of type FIELD_TYPE_BUG_ID. Checks to see if a reverse relationship description has been set. This is the canonical condition to enable reverse link display, dependency tree display, and similar functionality.</p> +</dd> +</dl> + +<dl> +<dt><a name="reverse_desc" +><code class="code">reverse_desc</code></a></dt> + +<dd> +<p>Applies only to fields of type FIELD_TYPE_BUG_ID. Describes the reverse relationship of this field. For example, if a BUG_ID field is called "Is a duplicate of", the reverse description would be "Duplicates of this bug".</p> +</dd> +</dl> + +<dl> +<dt><a name="is_mandatory" +><code class="code">is_mandatory</code></a></dt> + +<dd> +<p>a boolean specifying whether or not the field is mandatory;</p> +</dd> +</dl> + <h2><a class='u' href='#___top' title='click to go to top of document' name="Instance_Mutators" >Instance Mutators</a></h2> @@ -261,6 +321,10 @@ name="Instance_Mutators" <dt><a name="set_buglist" ><code class="code">set_buglist</code></a></dt> +<dd> +<dt><a name="set_reverse_desc" +><code class="code">set_reverse_desc</code></a></dt> + <dd> <dt><a name="set_visibility_field" ><code class="code">set_visibility_field</code></a></dt> @@ -272,6 +336,10 @@ name="Instance_Mutators" <dd> <dt><a name="set_value_field" ><code class="code">set_value_field</code></a></dt> + +<dd> +<dt><a name="set_is_mandatory" +><code class="code">set_is_mandatory</code></a></dt> </dl> <h2><a class='u' href='#___top' title='click to go to top of document' @@ -329,6 +397,8 @@ name="Class_Methods" <dd> <p><code class="code">obsolete</code> - boolean - Whether this field is obsolete. Defaults to 0.</p> + +<p><code class="code">is_mandatory</code> - boolean - Whether this field is mandatory. Defaults to 0.</p> </dd> </dl> </dd> diff --git a/docs/en/html/api/Bugzilla/Field/Choice.html b/docs/en/html/api/Bugzilla/Field/Choice.html index 8b21ed80b703f47da9a2709ff466ad631df745da..2e69cb76409c15c4ec1f9a87b215864cf2dd7ffa 100644 --- a/docs/en/html/api/Bugzilla/Field/Choice.html +++ b/docs/en/html/api/Bugzilla/Field/Choice.html @@ -18,7 +18,7 @@ Bugzilla::Field::Choice</title> <li class='indexItem indexItem1'><a href='#METHODS'>METHODS</a> <ul class='indexList indexList2'> <li class='indexItem indexItem2'><a href='#Class_Factory'>Class Factory</a> - <li class='indexItem indexItem2'><a href='#Accessors'>Accessors</a> + <li class='indexItem indexItem2'><a href='#Mutators'>Mutators</a> </ul> </ul> </div> @@ -53,6 +53,9 @@ name="DESCRIPTION" <p>See the <a href="#SYNOPSIS" class="podlinkpod" >"SYNOPSIS"</a> for examples of how this works.</p> +<p>This class implements <a href="../../Bugzilla/Field/ChoiceInterface.html" class="podlinkpod" +>Bugzilla::Field::ChoiceInterface</a>, and so all methods of that class are also available here.</p> + <h1><a class='u' href='#___top' title='click to go to top of document' name="METHODS" >METHODS</a></h1> @@ -78,35 +81,11 @@ name="Class_Factory" </dl> <h2><a class='u' href='#___top' title='click to go to top of document' -name="Accessors" ->Accessors</a></h2> - -<p>These are in addition to the standard <a href="../../Bugzilla/Object.html" class="podlinkpod" ->Bugzilla::Object</a> accessors.</p> - -<dl> -<dt><a name="sortkey" -><code class="code">sortkey</code></a></dt> - -<dd> -<p>The key that determines the sort order of this item.</p> - -<dt><a name="field" -><code class="code">field</code></a></dt> +name="Mutators" +>Mutators</a></h2> -<dd> -<p>The <a href="../../Bugzilla/Field.html" class="podlinkpod" ->Bugzilla::Field</a> object that this field value belongs to.</p> - -<dt><a name="controlled_values" -><code class="code">controlled_values</code></a></dt> - -<dd> -<p>Tells you which values in <b>other</b> fields appear (become visible) when this value is set in its field.</p> - -<p>Returns a hashref of arrayrefs. The hash keys are the names of fields, and the values are arrays of <code class="code">Bugzilla::Field::Choice</code> objects, representing values that this value controls the visibility of, for that field.</p> -</dd> -</dl> +<p>This class implements mutators for all of the settable accessors in <a href="../../Bugzilla/Field/ChoiceInterface.html" class="podlinkpod" +>Bugzilla::Field::ChoiceInterface</a>.</p> <p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents"><<</a></b></p> <!-- end doc --> diff --git a/docs/en/html/api/Bugzilla/Field/ChoiceInterface.html b/docs/en/html/api/Bugzilla/Field/ChoiceInterface.html new file mode 100644 index 0000000000000000000000000000000000000000..8d738e0aafad0a442ea117a7867a45563ddf1552 --- /dev/null +++ b/docs/en/html/api/Bugzilla/Field/ChoiceInterface.html @@ -0,0 +1,150 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + <title> +Bugzilla::Field::ChoiceInterface</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <link rel="stylesheet" title="style" type="text/css" href="../.././../../../style.css" media="all" > + +</head> + <body id="pod"> +<p class="backlinktop"><b><a name="___top" href="../../index.html" accesskey="1" title="All Documents"><<</a></b></p> +<h1>Bugzilla::Field::ChoiceInterface</h1> +<div class='indexgroup'> +<ul class='indexList indexList1'> + <li class='indexItem indexItem1'><a href='#NAME'>NAME</a> + <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a> + <li class='indexItem indexItem1'><a href='#METHODS'>METHODS</a> + <ul class='indexList indexList2'> + <li class='indexItem indexItem2'><a href='#Accessors'>Accessors</a> + </ul> +</ul> +</div> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="NAME" +>NAME</a></h1> + +<p>Bugzilla::Field::ChoiceInterface - Makes an object act like a Bugzilla::Field::Choice.</p> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="DESCRIPTION" +>DESCRIPTION</a></h1> + +<p>This is an "interface", +in the Java sense (sometimes called a "Role" or a "Mixin" in other languages). +<a href="../../Bugzilla/Field/Choice.html" class="podlinkpod" +>Bugzilla::Field::Choice</a> is the primary implementor of this interface, +but other classes also implement it if they want to "act like" <a href="../../Bugzilla/Field/Choice.html" class="podlinkpod" +>Bugzilla::Field::Choice</a>.</p> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="METHODS" +>METHODS</a></h1> + +<h2><a class='u' href='#___top' title='click to go to top of document' +name="Accessors" +>Accessors</a></h2> + +<p>These are in addition to the standard <a href="../../Bugzilla/Object.html" class="podlinkpod" +>Bugzilla::Object</a> accessors.</p> + +<dl> +<dt><a name="sortkey" +><code class="code">sortkey</code></a></dt> + +<dd> +<p>The key that determines the sort order of this item.</p> + +<dt><a name="field" +><code class="code">field</code></a></dt> + +<dd> +<p>The <a href="../../Bugzilla/Field.html" class="podlinkpod" +>Bugzilla::Field</a> object that this field value belongs to.</p> + +<dt><a name="is_active" +><code class="code">is_active</code></a></dt> + +<dd> +<p>Whether or not this value should appear as an option on bugs that do not already have it set as the current value.</p> + +<dt><a name="is_static" +><code class="code">is_static</code></a></dt> + +<dd> +<p><code class="code">0</code> if this field value can be renamed or deleted, +<code class="code">1</code> otherwise.</p> + +<dt><a name="is_default" +><code class="code">is_default</code></a></dt> + +<dd> +<p><code class="code">1</code> if this is the default value for this field, +<code class="code">0</code> otherwise.</p> + +<dt><a name="bug_count" +><code class="code">bug_count</code></a></dt> + +<dd> +<p>An integer count of the number of bugs that have this value set.</p> + +<dt><a name="controls_visibility_of_fields" +><code class="code">controls_visibility_of_fields</code></a></dt> + +<dd> +<p>Returns an arrayref of <a href="../../Bugzilla/Field.html" class="podlinkpod" +>Bugzilla::Field</a> objects, +representing any fields whose visibility are controlled by this field value.</p> + +<dt><a name="controlled_values" +><code class="code">controlled_values</code></a></dt> + +<dd> +<p>Tells you which values in <b>other</b> fields appear (become visible) when this value is set in its field.</p> + +<p>Returns a hashref of arrayrefs. +The hash keys are the names of fields, +and the values are arrays of objects that implement <code class="code">Bugzilla::Field::ChoiceInterface</code>, +representing values that this value controls the visibility of, +for that field.</p> + +<dt><a name="visibility_value" +><code class="code">visibility_value</code></a></dt> + +<dd> +<p>Returns an object that implements <code class="code">Bugzilla::Field::ChoiceInterface</code>, +which represents the value that needs to be set in order for this value to appear in the UI.</p> + +<dt><a name="is_visible_on_bug" +><code class="code">is_visible_on_bug</code></a></dt> + +<dd> +<p>Returns <code class="code">1</code> if, +according to the settings of <code class="code">is_active</code> and <code class="code">visibility_value</code>, +this value should be displayed as an option when viewing a bug. +Returns <code class="code">0</code> otherwise.</p> + +<p>Takes a single argument, +a <a href="../../Bugzilla/Bug.html" class="podlinkpod" +>Bugzilla::Bug</a> object or a hash with similar fields to a <a href="../../Bugzilla/Bug.html" class="podlinkpod" +>Bugzilla::Bug</a> object.</p> + +<dt><a name="is_set_on_bug" +><code class="code">is_set_on_bug</code></a></dt> + +<dd> +<p>Returns <code class="code">1</code> if this value is the current value set for its field on the passed-in <a href="../../Bugzilla/Bug.html" class="podlinkpod" +>Bugzilla::Bug</a> object (or a hash that looks like a <a href="../../Bugzilla/Bug.html" class="podlinkpod" +>Bugzilla::Bug</a>). +For multi-valued fields, +we return <code class="code">1</code> if <i>any</i> of the currently selected values are this value.</p> + +<p>Returns <code class="code">0</code> otherwise.</p> +</dd> +</dl> +<p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents"><<</a></b></p> + +<!-- end doc --> + +</body></html> diff --git a/docs/en/html/api/Bugzilla/Flag.html b/docs/en/html/api/Bugzilla/Flag.html index 7ff9b073516d233d3417f9bc81253ef11deaf654..25be92fc45f7bf55b9b9288a39fa1976649a7936 100644 --- a/docs/en/html/api/Bugzilla/Flag.html +++ b/docs/en/html/api/Bugzilla/Flag.html @@ -119,17 +119,6 @@ else undefined.</p> </dd> </dl> -<dl> -<dt><a name="has_flags" -><code class="code">has_flags</code></a></dt> - -<dd> -<p>Returns 1 if at least one flag exists in the DB, -else 0. -This subroutine is mainly used to decide to display the "(My )Requests" link in the footer.</p> -</dd> -</dl> - <dl> <dt><a name="match($criteria)" ><code class="code">match($criteria)</code></a></dt> diff --git a/docs/en/html/api/Bugzilla/Hook.html b/docs/en/html/api/Bugzilla/Hook.html index 6d17bccb0c5a124a5ee1ee7d0a12ca0132727b0d..1065fd8f952c573bd5925d8489c1b692bdb002e9 100644 --- a/docs/en/html/api/Bugzilla/Hook.html +++ b/docs/en/html/api/Bugzilla/Hook.html @@ -28,11 +28,12 @@ Bugzilla::Hook</title> <li class='indexItem indexItem2'><a href='#bug_end_of_create'>bug_end_of_create</a> <li class='indexItem indexItem2'><a href='#bug_end_of_create_validators'>bug_end_of_create_validators</a> <li class='indexItem indexItem2'><a href='#bug_end_of_update'>bug_end_of_update</a> + <li class='indexItem indexItem2'><a href='#bug_check_can_change_field'>bug_check_can_change_field</a> <li class='indexItem indexItem2'><a href='#bug_fields'>bug_fields</a> <li class='indexItem indexItem2'><a href='#bug_format_comment'>bug_format_comment</a> <li class='indexItem indexItem2'><a href='#buglist_columns'>buglist_columns</a> <li class='indexItem indexItem2'><a href='#bugmail_recipients'>bugmail_recipients</a> - <li class='indexItem indexItem2'><a href='#colchange_columns'>colchange_columns</a> + <li class='indexItem indexItem2'><a href='#bugmail_relationships'>bugmail_relationships</a> <li class='indexItem indexItem2'><a href='#config_add_panels'>config_add_panels</a> <li class='indexItem indexItem2'><a href='#config_modify_panels'>config_modify_panels</a> <li class='indexItem indexItem2'><a href='#enter_bug_entrydefaultvars'>enter_bug_entrydefaultvars</a> @@ -47,14 +48,17 @@ Bugzilla::Hook</title> <li class='indexItem indexItem2'><a href='#object_before_create'>object_before_create</a> <li class='indexItem indexItem2'><a href='#object_before_delete'>object_before_delete</a> <li class='indexItem indexItem2'><a href='#object_before_set'>object_before_set</a> + <li class='indexItem indexItem2'><a href='#object_columns'>object_columns</a> <li class='indexItem indexItem2'><a href='#object_end_of_create_validators'>object_end_of_create_validators</a> <li class='indexItem indexItem2'><a href='#object_end_of_set'>object_end_of_set</a> <li class='indexItem indexItem2'><a href='#object_end_of_set_all'>object_end_of_set_all</a> <li class='indexItem indexItem2'><a href='#object_end_of_update'>object_end_of_update</a> + <li class='indexItem indexItem2'><a href='#object_update_columns'>object_update_columns</a> + <li class='indexItem indexItem2'><a href='#object_validators'>object_validators</a> <li class='indexItem indexItem2'><a href='#page_before_template'>page_before_template</a> <li class='indexItem indexItem2'><a href='#product_confirm_delete'>product_confirm_delete</a> - <li class='indexItem indexItem2'><a href='#sanitycheck_check'>sanitycheck_check</a> <li class='indexItem indexItem2'><a href='#product_end_of_create'>product_end_of_create</a> + <li class='indexItem indexItem2'><a href='#sanitycheck_check'>sanitycheck_check</a> <li class='indexItem indexItem2'><a href='#sanitycheck_repair'>sanitycheck_repair</a> <li class='indexItem indexItem2'><a href='#template_before_create'>template_before_create</a> <li class='indexItem indexItem2'><a href='#template_before_process'>template_before_process</a> @@ -202,6 +206,9 @@ name="auth_verify_methods" name="bug_columns" >bug_columns</a></h2> +<p><b>DEPRECATED</b> Use <a href="#object_columns" class="podlinkpod" +>"object_columns"</a> instead.</p> + <p>This allows you to add new fields that will show up in every <a href="../Bugzilla/Bug.html" class="podlinkpod" >Bugzilla::Bug</a> object. Note that you will also need to use the <a href="#bug_fields" class="podlinkpod" >"bug_fields"</a> hook in conjunction with this hook to make this work.</p> @@ -285,6 +292,77 @@ name="bug_end_of_update" </dd> </dl> +<h2><a class='u' href='#___top' title='click to go to top of document' +name="bug_check_can_change_field" +>bug_check_can_change_field</a></h2> + +<p>This hook controls what fields users are allowed to change. You can add code here for site-specific policy changes and other customizations. This hook is only executed if the field's new and old values differ. Any denies take priority over any allows. So, if another extension denies a change but yours allows the change, the other extension's deny will override your extension's allow.</p> + +<p>Params:</p> + +<dl> +<dt><a name="bug" +><code class="code">bug</code></a></dt> + +<dd> +<p><a href="../Bugzilla/Bug.html" class="podlinkpod" +>Bugzilla::Bug</a> - The current bug object that this field is changing on.</p> + +<dt><a name="field" +><code class="code">field</code></a></dt> + +<dd> +<p>The name (from the <code class="code">fielddefs</code> table) of the field that we are checking.</p> + +<dt><a name="new_value" +><code class="code">new_value</code></a></dt> + +<dd> +<p>The new value that the field is being changed to.</p> + +<dt><a name="old_value" +><code class="code">old_value</code></a></dt> + +<dd> +<p>The old value that the field is being changed from.</p> + +<dt><a name="priv_results" +><code class="code">priv_results</code></a></dt> + +<dd> +<p><code class="code">array</code> - This is how you explicitly allow or deny a change. You should only push something into this array if you want to explicitly allow or explicitly deny the change, and thus skip all other permission checks that would otherwise happen after this hook is called. If you don't care about the field change, then don't push anything into the array.</p> + +<p>The pushed value should be a choice from the following constants:</p> + +<dl> +<dt><a name="PRIVILEGES_REQUIRED_NONE" +><code class="code">PRIVILEGES_REQUIRED_NONE</code></a></dt> + +<dd> +<p>No privileges required. This explicitly <b>allows</b> a change.</p> + +<dt><a name="PRIVILEGES_REQUIRED_REPORTER" +><code class="code">PRIVILEGES_REQUIRED_REPORTER</code></a></dt> + +<dd> +<p>User is not the reporter, assignee or an empowered user, so <b>deny</b>.</p> + +<dt><a name="PRIVILEGES_REQUIRED_ASSIGNEE" +><code class="code">PRIVILEGES_REQUIRED_ASSIGNEE</code></a></dt> + +<dd> +<p>User is not the assignee or an empowered user, so <b>deny</b>.</p> + +<dt><a name="PRIVILEGES_REQUIRED_EMPOWERED" +><code class="code">PRIVILEGES_REQUIRED_EMPOWERED</code></a></dt> + +<dd> +<p>User is not a sufficiently empowered user, so <b>deny</b>.</p> +</dd> +</dl> +</dd> +</dl> + <h2><a class='u' href='#___top' title='click to go to top of document' name="bug_fields" >bug_fields</a></h2> @@ -417,17 +495,24 @@ name="bugmail_recipients" </dl> <h2><a class='u' href='#___top' title='click to go to top of document' -name="colchange_columns" ->colchange_columns</a></h2> +name="bugmail_relationships" +>bugmail_relationships</a></h2> -<p>This happens in <em class="code">colchange.cgi</em> right after the list of possible display columns have been defined and gives you the opportunity to add additional display columns to the list of selectable columns.</p> +<p>There are various sorts of "relationships" that a user can have to a bug, such as Assignee, CC, etc. If you want to add a new type of relationship, you should use this hook.</p> <p>Params:</p> <dl> -<dt><a -><code class="code">columns</code> - An arrayref containing an array of column IDs. Any IDs added by this hook must have been defined in the the <a href="#buglist_columns" class="podlinkpod" ->"buglist_columns"</a> hook.</a></dt> +<dt><a name="relationships" +><code class="code">relationships</code></a></dt> + +<dd> +<p>A hashref, where the keys are numbers and the values are strings.</p> + +<p>The keys represent a numeric identifier for the relationship. The numeric identifier should be a negative number between -1 and -127. The number must be unique across all extensions. (Negative numbers are used so as not to conflict with relationship identifiers in Bugzilla itself.)</p> + +<p>The value is the "name" of this relationship that will show up in email headers in bugmails. The "name" should be short and should contain no spaces.</p> +</dd> </dl> <h2><a class='u' href='#___top' title='click to go to top of document' @@ -690,6 +775,38 @@ name="object_before_set" </dd> </dl> +<h2><a class='u' href='#___top' title='click to go to top of document' +name="object_columns" +>object_columns</a></h2> + +<p>This hook allows you to add new "fields" to existing Bugzilla objects, that correspond to columns in their tables.</p> + +<p>For example, if you added an <code class="code">example</code> column to the "bugs" table, you would have to also add an <code class="code">example</code> field to the <code class="code">Bugzilla::Bug</code> object in order to access that data via Bug objects.</p> + +<p>Don't do anything slow inside this hook--it's called several times on every page of Bugzilla.</p> + +<p>Params:</p> + +<dl> +<dt><a name="class" +><code class="code">class</code></a></dt> + +<dd> +<p>The name of the class that this hook is being called on. You can check this like <code class="code">if ($class->isa('Some::Class'))</code> in your code, to add new fields only for certain classes.</p> + +<dt><a name="columns" +><code class="code">columns</code></a></dt> + +<dd> +<p>An arrayref. Add the string names of columns to this array to add new values to objects.</p> + +<p>For example, if you add an <code class="code">example</code> column to a particular table (using <a href="#install_update_db" class="podlinkpod" +>"install_update_db"</a>), and then push the string <code class="code">example</code> into this array for the object that uses that table, then you can access the information in that column via <code class="code">$object->{example}</code> on all objects of that type.</p> + +<p>This arrayref does not contain the standard column names--you cannot modify or remove standard object columns using this hook.</p> +</dd> +</dl> + <h2><a class='u' href='#___top' title='click to go to top of document' name="object_end_of_create_validators" >object_end_of_create_validators</a></h2> @@ -798,6 +915,59 @@ name="object_end_of_update" </dd> </dl> +<h2><a class='u' href='#___top' title='click to go to top of document' +name="object_update_columns" +>object_update_columns</a></h2> + +<p>If you've added fields to bugs via <a href="#object_columns" class="podlinkpod" +>"object_columns"</a>, then this hook allows you to say which of those columns should be updated in the database when <a href="../Bugzilla/Object.html#update" class="podlinkpod" +>"update" in Bugzilla::Object</a> is called on the object.</p> + +<p>If you don't use this hook, then your custom columns won't be modified in the database by Bugzilla.</p> + +<p>Params:</p> + +<dl> +<dt><a name="object" +><code class="code">object</code></a></dt> + +<dd> +<p>The object that is about to be updated. You should check this like <code class="code">if ($object->isa('Some::Class'))</code> in your code, to modify the "update columns" only for certain classes.</p> + +<dt><a name="columns" +><code class="code">columns</code></a></dt> + +<dd> +<p>An arrayref. Add the string names of columns to this array to allow that column to be updated when <code class="code">update()</code> is called on the object.</p> + +<p>This arrayref does not contain the standard column names--you cannot stop standard columns from being updated by using this hook.</p> +</dd> +</dl> + +<h2><a class='u' href='#___top' title='click to go to top of document' +name="object_validators" +>object_validators</a></h2> + +<p>Allows you to add new items to <a href="../Bugzilla/Object.html#VALIDATORS" class="podlinkpod" +>"VALIDATORS" in Bugzilla::Object</a> for particular classes.</p> + +<p>Params:</p> + +<dl> +<dt><a name="class" +><code class="code">class</code></a></dt> + +<dd> +<p>The name of the class that <code class="code">VALIDATORS</code> was called on. You can check this like <code class="code">if ($class->isa('Some::Class'))</code> in your code, to add validators only for certain classes.</p> + +<dt><a name="validators" +><code class="code">validators</code></a></dt> + +<dd> +<p>A hashref, where the keys are database columns and the values are subroutine references. You can add new validators or modify existing ones. If you modify an existing one, you should remember to call the original validator inside of your modified validator. (This way, several extensions can all modify the same validator.)</p> +</dd> +</dl> + <h2><a class='u' href='#___top' title='click to go to top of document' name="page_before_template" >page_before_template</a></h2> @@ -842,30 +1012,30 @@ name="product_confirm_delete" </dl> <h2><a class='u' href='#___top' title='click to go to top of document' -name="sanitycheck_check" ->sanitycheck_check</a></h2> +name="product_end_of_create" +>product_end_of_create</a></h2> -<p>This hook allows for extra sanity checks to be added, for use by <em class="code">sanitycheck.cgi</em>.</p> +<p>Called right after a new product has been created, allowing additional changes to be made to the new product's attributes. This occurs inside of a database transaction, so if the hook throws an error all previous changes will be rolled back including the creation of the new product.</p> <p>Params:</p> <dl> -<dt><a name="status_-_a_CODEREF_that_allows_status_messages_to_be_displayed_to_the_user._(sanitycheck.cgi's_Status)" -><code class="code">status</code> - a CODEREF that allows status messages to be displayed to the user. (<em class="code">sanitycheck.cgi</em>'s <code class="code">Status</code>)</a></dt> +<dt><a name="product_-_The_new_Bugzilla::Product_object_that_was_just_created." +><code class="code">product</code> - The new <a href="../Bugzilla/Product.html" class="podlinkpod" +>Bugzilla::Product</a> object that was just created.</a></dt> </dl> <h2><a class='u' href='#___top' title='click to go to top of document' -name="product_end_of_create" ->product_end_of_create</a></h2> +name="sanitycheck_check" +>sanitycheck_check</a></h2> -<p>Called right after a new product has been created, allowing additional changes to be made to the new product's attributes. This occurs inside of a database transaction, so if the hook throws an error all previous changes will be rolled back including the creation of the new product.</p> +<p>This hook allows for extra sanity checks to be added, for use by <em class="code">sanitycheck.cgi</em>.</p> <p>Params:</p> <dl> -<dt><a name="product_-_The_new_Bugzilla::Product_object_that_was_just_created." -><code class="code">product</code> - The new <a href="../Bugzilla/Product.html" class="podlinkpod" ->Bugzilla::Product</a> object that was just created.</a></dt> +<dt><a name="status_-_a_CODEREF_that_allows_status_messages_to_be_displayed_to_the_user._(sanitycheck.cgi's_Status)" +><code class="code">status</code> - a CODEREF that allows status messages to be displayed to the user. (<em class="code">sanitycheck.cgi</em>'s <code class="code">Status</code>)</a></dt> </dl> <h2><a class='u' href='#___top' title='click to go to top of document' diff --git a/docs/en/html/api/Bugzilla/Milestone.html b/docs/en/html/api/Bugzilla/Milestone.html index 9bbae725f89f946fa8d3e58ddba74cbd617e0f42..9c652e5d87bed0afb08e3d0022753d97e9640c39 100644 --- a/docs/en/html/api/Bugzilla/Milestone.html +++ b/docs/en/html/api/Bugzilla/Milestone.html @@ -40,7 +40,7 @@ name="SYNOPSIS" my $sortkey = $milestone->sortkey; my $milestone = Bugzilla::Milestone->create( - { name => $name, product => $product, sortkey => $sortkey }); + { value => $name, product => $product, sortkey => $sortkey }); $milestone->set_name($new_name); $milestone->set_sortkey($new_sortkey); @@ -170,13 +170,13 @@ name="CLASS_METHODS" >CLASS METHODS</a></h1> <dl> -<dt><a name="create({name_=_$name,_product_=>_$product,_sortkey_=>_$sortkey})>" -><code class="code">create({name =</code> $name, product => $product, sortkey => $sortkey})></a></dt> +<dt><a name="create({value_=_$value,_product_=>_$product,_sortkey_=>_$sortkey})>" +><code class="code">create({value =</code> $value, product => $product, sortkey => $sortkey})></a></dt> <dd> <pre class="code"> Description: Create a new milestone for the given product. - Params: $name - name of the new milestone (string). This name + Params: $value - name of the new milestone (string). This name must be unique within the product. $product - a Bugzilla::Product object. $sortkey - the sortkey of the new milestone (signed integer) diff --git a/docs/en/html/api/Bugzilla/Object.html b/docs/en/html/api/Bugzilla/Object.html index e47db2baf68054a4fabf3702acbe4f50d7eab829..c1c77a7ad8a352474d307b0ed67ab2e772777b8d 100644 --- a/docs/en/html/api/Bugzilla/Object.html +++ b/docs/en/html/api/Bugzilla/Object.html @@ -72,6 +72,8 @@ name="CONSTANTS" <dd> <p>The names of the columns that you want to read out of the database and into this object. This should be an array.</p> +<p><i>Note</i>: Though normally you will never need to access this constant's data directly in your subclass, if you do, you should access it by calling the <code class="code">_get_db_columns</code> method instead of accessing the constant directly. (The only exception to this rule is calling <code class="code">SUPER::DB_COLUMNS</code> from within your own <code class="code">DB_COLUMNS</code> subroutine in a subclass.)</p> + <dt><a name="NAME_FIELD" ><code class="code">NAME_FIELD</code></a></dt> @@ -91,12 +93,6 @@ name="CONSTANTS" <p>The order that <code class="code">new_from_list</code> and <code class="code">get_all</code> should return objects in. This should be the name of a database column. Defaults to <a href="#NAME_FIELD" class="podlinkpod" >"NAME_FIELD"</a>.</p> -<dt><a name="REQUIRED_CREATE_FIELDS" -><code class="code">REQUIRED_CREATE_FIELDS</code></a></dt> - -<dd> -<p>The list of fields that <b>must</b> be specified when the user calls <code class="code">create()</code>. This should be an array.</p> - <dt><a name="VALIDATORS" ><code class="code">VALIDATORS</code></a></dt> @@ -134,6 +130,18 @@ name="CONSTANTS" <p><a href="../Bugzilla/Bug.html" class="podlinkpod" >Bugzilla::Bug</a> has good examples in its code of when to use this.</p> +<dt><a name="VALIDATOR_DEPENDENCIES" +><code class="code">VALIDATOR_DEPENDENCIES</code></a></dt> + +<dd> +<p>During <a href="#create" class="podlinkpod" +>"create"</a> and <a href="#set_all" class="podlinkpod" +>"set_all"</a>, validators are normally called in a somewhat-random order. If you need one field to be validated and set before another field, this constant is how you do it, by saying that one field "depends" on the value of other fields.</p> + +<p>This is a hashref, where the keys are field names and the values are arrayrefs of field names. You specify what fields a field depends on using the arrayrefs. So, for example, to say that a <code class="code">component</code> field depends on the <code class="code">product</code> field being set, you would do:</p> + +<pre class="code"> component => ['product']</pre> + <dt><a name="UPDATE_COLUMNS" ><code class="code">UPDATE_COLUMNS</code></a></dt> @@ -142,6 +150,16 @@ name="CONSTANTS" >"update"</a> is called. If a field can't be changed, it shouldn't be listed here. (For example, the <a href="#ID_FIELD" class="podlinkpod" >"ID_FIELD"</a> usually can't be updated.)</p> +<dt><a name="REQUIRED_FIELD_MAP" +><code class="code">REQUIRED_FIELD_MAP</code></a></dt> + +<dd> +<p>This is a hashref that maps database column names to <a href="#create" class="podlinkpod" +>"create"</a> argument names. You only need to specify values for fields where the argument passed to <a href="#create" class="podlinkpod" +>"create"</a> has a different name in the database than it does in the <a href="#create" class="podlinkpod" +>"create"</a> arguments. (For example, <a href="../Bugzilla/Bug.html#create" class="podlinkpod" +>"create" in Bugzilla::Bug</a> takes a <code class="code">product</code> argument, but the column name in the <code class="code">bugs</code> table is <code class="code">product_id</code>.)</p> + <dt><a name="NUMERIC_COLUMNS" ><code class="code">NUMERIC_COLUMNS</code></a></dt> @@ -312,15 +330,12 @@ name="Database_Manipulation" <dd> <p>Description: Creates a new item in the database. Throws a User Error if any of the passed-in params are invalid.</p> -<p>Params: <code class="code">$params</code> - hashref - A value to put in each database field for this object. Certain values must be set (the ones specified in <a href="#REQUIRED_CREATE_FIELDS" class="podlinkpod" ->"REQUIRED_CREATE_FIELDS"</a>), and the function will throw a Code Error if you don't set them.</p> +<p>Params: <code class="code">$params</code> - hashref - A value to put in each database field for this object.</p> <p>Returns: The Object just created in the database.</p> <p>Notes: In order for this function to work in your subclass, your subclass's <a href="#ID_FIELD" class="podlinkpod" ->"ID_FIELD"</a> must be of <code class="code">SERIAL</code> type in the database. Your subclass also must define <a href="#REQUIRED_CREATE_FIELDS" class="podlinkpod" ->"REQUIRED_CREATE_FIELDS"</a> and <a href="#VALIDATORS" class="podlinkpod" ->"VALIDATORS"</a>.</p> +>"ID_FIELD"</a> must be of <code class="code">SERIAL</code> type in the database.</p> <pre class="code"> Subclass Implementors: This function basically just calls L</check_required_create_fields>, then @@ -339,8 +354,9 @@ name="Database_Manipulation" <dd> <p>Part of <a href="#create" class="podlinkpod" ->"create"</a>. Throws an error if any of the <a href="#REQUIRED_CREATE_FIELDS" class="podlinkpod" ->"REQUIRED_CREATE_FIELDS"</a> have not been specified in <code class="code">$params</code></p> +>"create"</a>. Modifies the incoming <code class="code">$params</code> argument so that any field that does not have a database default will be checked later by <a href="#run_create_validators" class="podlinkpod" +>"run_create_validators"</a>, even if that field wasn't specified as an argument to <a href="#create" class="podlinkpod" +>"create"</a>.</p> <dt><a name="Params" ><b>Params</b></a></dt> diff --git a/docs/en/html/api/Bugzilla/Product.html b/docs/en/html/api/Bugzilla/Product.html index 6084210a63a663e871ee83ca041d8337c76784e4..f19f3c87b903c131e1627343b76dc454505f1c55 100644 --- a/docs/en/html/api/Bugzilla/Product.html +++ b/docs/en/html/api/Bugzilla/Product.html @@ -49,9 +49,6 @@ name="SYNOPSIS" my $name = $product->name; my $description = $product->description; my isactive = $product->is_active; - my votesperuser = $product->votes_per_user; - my maxvotesperbug = $product->max_votes_per_bug; - my votestoconfirm = $product->votes_to_confirm; my $defaultmilestone = $product->default_milestone; my $classificationid = $product->classification_id; my $allows_unconfirmed = $product->allows_unconfirmed;</pre> @@ -98,8 +95,21 @@ name="METHODS" a Bugzilla::Group object and the properties of group relative to the product.</pre> -<dt><a name="groups_mandatory_for" -><code class="code">groups_mandatory_for</code></a></dt> +<dt><a name="groups_available" +><code class="code">groups_available</code></a></dt> + +<dd> +<p>Tells you what groups are set to Default or Shown for the currently-logged-in user (taking into account both OtherControl and MemberControl). Returns an arrayref of <a href="../Bugzilla/Group.html" class="podlinkpod" +>Bugzilla::Group</a> objects with an extra hash keys set, <code class="code">is_default</code>, which is true if the group is set to Default for the currently-logged-in user.</p> + +<dt><a name="groups_mandatory" +><code class="code">groups_mandatory</code></a></dt> + +<dd> +<p>Tells you what groups are mandatory for bugs in this product, for the currently-logged-in user. Returns an arrayref of <code class="code">Bugzilla::Group</code> objects.</p> + +<dt><a name="group_is_settable" +><code class="code">group_is_settable</code></a></dt> <dd> <dl> @@ -107,16 +117,24 @@ name="METHODS" ><b>Description</b></a></dt> <dd> -<p>Tells you what groups are mandatory for bugs in this product.</p> +<p>Tells you whether or not the currently-logged-in user can set a group on a bug (whether or not they match the MemberControl/OtherControl settings for a group in this product). Groups that are <code class="code">Mandatory</code> for the currently-loggeed-in user are also acceptable since from Bugzilla's perspective, there's no problem with "setting" a Mandatory group on a bug. (In fact, the user <i>must</i> set the Mandatory group on the bug.)</p> <dt><a name="Params" ><b>Params</b></a></dt> <dd> -<p><code class="code">$user</code> - The user who you want to check.</p> +<dl> +<dt><a name="$group_-_Either_a_numeric_group_id_or_a_Bugzilla::Group_object." +><code class="code">$group</code> - Either a numeric group id or a <a href="../Bugzilla/Group.html" class="podlinkpod" +>Bugzilla::Group</a> object.</a></dt> +</dl> -<dt><a name="Returns_An_arrayref_of_Bugzilla::Group_objects." -><b>Returns</b> An arrayref of <code class="code">Bugzilla::Group</code> objects.</a></dt> +<dt><a name="Returns" +><b>Returns</b></a></dt> + +<dd> +<p><code class="code">1</code> if the group is valid in this product, <code class="code">0</code> otherwise.</p> +</dd> </dl> <dt><a name="groups_valid" @@ -129,8 +147,7 @@ name="METHODS" <dd> <p>Returns an arrayref of <a href="../Bugzilla/Group.html" class="podlinkpod" ->Bugzilla::Group</a> objects, representing groups that bugs could validly be restricted to within this product. Used mostly by <a href="../Bugzilla/Bug.html" class="podlinkpod" ->Bugzilla::Bug</a> to assure that you're adding valid groups to a bug.</p> +>Bugzilla::Group</a> objects, representing groups that bugs could validly be restricted to within this product. Used mostly when you need the list of all possible groups that could be set in a product by anybody, disregarding whether or not the groups are active or who the currently logged-in user is.</p> <p><b>Note</b>: This doesn't check whether or not the current user can add/remove bugs to/from these groups. It just tells you that bugs <i>could be in</i> these groups, in this product.</p> @@ -143,6 +160,14 @@ name="METHODS" >Bugzilla::Group</a> objects.</a></dt> </dl> +<dt><a name="group_is_valid" +><code class="code">group_is_valid</code></a></dt> + +<dd> +<p>Returns <code class="code">1</code> if the passed-in <a href="../Bugzilla/Group.html" class="podlinkpod" +>Bugzilla::Group</a> or group id could be set on a bug by <i>anybody</i>, in this product. Even inactive groups are considered valid. (This is a shortcut for searching <a href="#groups_valid" class="podlinkpod" +>"groups_valid"</a> to find out if a group is valid in a particular product.)</p> + <dt><a name="versions" ><code class="code">versions</code></a></dt> diff --git a/docs/en/html/api/Bugzilla/Search/Recent.html b/docs/en/html/api/Bugzilla/Search/Recent.html new file mode 100644 index 0000000000000000000000000000000000000000..537238e27a2c98de26b818f3dfeb10c2e9b391ed --- /dev/null +++ b/docs/en/html/api/Bugzilla/Search/Recent.html @@ -0,0 +1,44 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + <title> +Bugzilla::Search::Recent</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <link rel="stylesheet" title="style" type="text/css" href="../.././../../../style.css" media="all" > + +</head> + <body id="pod"> +<p class="backlinktop"><b><a name="___top" href="../../index.html" accesskey="1" title="All Documents"><<</a></b></p> +<h1>Bugzilla::Search::Recent</h1> +<div class='indexgroup'> +<ul class='indexList indexList1'> + <li class='indexItem indexItem1'><a href='#NAME'>NAME</a> + <li class='indexItem indexItem1'><a href='#SYNOPSIS'>SYNOPSIS</a> + <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a> +</ul> +</div> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="NAME" +>NAME</a></h1> + +<p>Bugzilla::Search::Recent - A search recently run by a logged-in user.</p> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="SYNOPSIS" +>SYNOPSIS</a></h1> + +<pre class="code"> use Bugzilla::Search::Recent;</pre> + +<h1><a class='u' href='#___top' title='click to go to top of document' +name="DESCRIPTION" +>DESCRIPTION</a></h1> + +<p>This is an implementation of <a href="../../Bugzilla/Object.html" class="podlinkpod" +>Bugzilla::Object</a>, and so has all the same methods available as <a href="../../Bugzilla/Object.html" class="podlinkpod" +>Bugzilla::Object</a>, in addition to what is documented below.</p> +<p class="backlinkbottom"><b><a name="___bottom" href="../../index.html" title="All Documents"><<</a></b></p> + +<!-- end doc --> + +</body></html> diff --git a/docs/en/html/api/Bugzilla/User.html b/docs/en/html/api/Bugzilla/User.html index 1ba7b5bf5c941de4bcff2a88acf0a9aafcc1abd8..5bba649ce43807e77206cae75d807b89f2730731 100644 --- a/docs/en/html/api/Bugzilla/User.html +++ b/docs/en/html/api/Bugzilla/User.html @@ -273,6 +273,12 @@ name="Other_Methods" <dd> <p>Returns a string containing a comma-separated list of numeric group ids. If the user is not a member of any groups, returns "-1". This is most often used within an SQL IN() function.</p> +<dt><a name="groups_in_sql" +><code class="code">groups_in_sql</code></a></dt> + +<dd> +<p>This returns an <code class="code">IN</code> clause for SQL, containing either all of the groups the user is in, or <code class="code">-1</code> if the user is in no groups. This takes one argument--the name of the SQL field that should be on the left-hand-side of the <code class="code">IN</code> statement, which defaults to <code class="code">group_id</code> if not specified.</p> + <dt><a name="in_group($group_name,_$product_id)" ><code class="code">in_group($group_name, $product_id)</code></a></dt> diff --git a/docs/en/html/api/Bugzilla/Util.html b/docs/en/html/api/Bugzilla/Util.html index bdc3b6d8bcbf3f9a8eb8f3d6bf3b5dea4d3008a7..25351c1acac81fab0e97d4c5dbadd2ff51b8ce8d 100644 --- a/docs/en/html/api/Bugzilla/Util.html +++ b/docs/en/html/api/Bugzilla/Util.html @@ -20,13 +20,13 @@ Bugzilla::Util</title> <li class='indexItem indexItem2'><a href='#Tainting'>Tainting</a> <li class='indexItem indexItem2'><a href='#Quoting'>Quoting</a> <li class='indexItem indexItem2'><a href='#Environment_and_Location'>Environment and Location</a> - <li class='indexItem indexItem2'><a href='#Searching'>Searching</a> <li class='indexItem indexItem2'><a href='#Data_Manipulation'>Data Manipulation</a> <li class='indexItem indexItem2'><a href='#String_Manipulation'>String Manipulation</a> <li class='indexItem indexItem2'><a href='#Formatting_Time'>Formatting Time</a> <li class='indexItem indexItem2'><a href='#Files'>Files</a> <li class='indexItem indexItem2'><a href='#Cryptography'>Cryptography</a> <li class='indexItem indexItem2'><a href='#Validation'>Validation</a> + <li class='indexItem indexItem2'><a href='#Database'>Database</a> </ul> </ul> </div> @@ -61,9 +61,6 @@ name="SYNOPSIS" my $is_cgi = i_am_cgi(); my $urlbase = correct_urlbase(); - # Functions for searching - $loc = lsearch(\@arr, $val); - # Data manipulation ($removed, $added) = diff_arrays(\@old, \@new); @@ -84,7 +81,12 @@ name="SYNOPSIS" # Validation Functions validate_email_syntax($email); - validate_date($date);</pre> + validate_date($date); + + # DB-related functions + on_main_db { + ... code here ... + };</pre> <h1><a class='u' href='#___top' title='click to go to top of document' name="DESCRIPTION" @@ -209,23 +211,6 @@ name="Environment_and_Location" </dd> </dl> -<h2><a class='u' href='#___top' title='click to go to top of document' -name="Searching" ->Searching</a></h2> - -<p>Functions for searching within a set of values.</p> - -<dl> -<dt><a name="lsearch($list,_$item)" -><code class="code">lsearch($list, $item)</code></a></dt> - -<dd> -<p>Returns the position of <code class="code">$item</code> in <code class="code">$list</code>. <code class="code">$list</code> must be a list reference.</p> - -<p>If the item is not in the list, returns -1.</p> -</dd> -</dl> - <h2><a class='u' href='#___top' title='click to go to top of document' name="Data_Manipulation" >Data Manipulation</a></h2> @@ -418,6 +403,24 @@ name="Validation" <p>Make sure the date has the correct format and returns 1 if the check is successful, else returns 0.</p> </dd> </dl> + +<h2><a class='u' href='#___top' title='click to go to top of document' +name="Database" +>Database</a></h2> + +<dl> +<dt><a name="on_main_db" +><code class="code">on_main_db</code></a></dt> + +<dd> +<p>Runs a block of code always on the main DB. Useful for when you're inside a subroutine and need to do some writes to the database, but don't know if Bugzilla is currently using the shadowdb or not. Used like:</p> + +<pre class="code"> on_main_db { + my $dbh = Bugzilla->dbh; + $dbh->do("INSERT ..."); + }</pre> +</dd> +</dl> <p class="backlinkbottom"><b><a name="___bottom" href="../index.html" title="All Documents"><<</a></b></p> <!-- end doc --> diff --git a/docs/en/html/api/Bugzilla/Version.html b/docs/en/html/api/Bugzilla/Version.html index ceb201f32b87bef8af7e964bf13af04fe1d4c6b4..d6532a419aa35c1184cac0f1b22c82d5ff9177ed 100644 --- a/docs/en/html/api/Bugzilla/Version.html +++ b/docs/en/html/api/Bugzilla/Version.html @@ -38,7 +38,7 @@ name="SYNOPSIS" my $product = $version->product; my $version = Bugzilla::Version->create( - { name => $name, product => $product }); + { value => $name, product => $product }); $version->set_name($new_name); $version->update(); diff --git a/docs/en/html/api/Bugzilla/WebService/Bug.html b/docs/en/html/api/Bugzilla/WebService/Bug.html index 755e218aa19571bdf12e16caa64728da175f4083..5f53e7b56b0926d41eb3e0dba090ebd6e19037c7 100644 --- a/docs/en/html/api/Bugzilla/WebService/Bug.html +++ b/docs/en/html/api/Bugzilla/WebService/Bug.html @@ -1247,12 +1247,6 @@ The return value looks like this:</p> <dd> <p><code class="code">string</code> The Version field of a bug.</p> -<dt><a name="votes" -><code class="code">votes</code></a></dt> - -<dd> -<p><code class="code">int</code> Searches for bugs with this many votes or greater. May not be an array.</p> - <dt><a name="whiteboard" ><code class="code">whiteboard</code></a></dt> @@ -1283,6 +1277,10 @@ The return value looks like this:</p> <dl> <dt><a name="Added_in_Bugzilla_3.4." >Added in Bugzilla <b>3.4</b>.</a></dt> + +<dd> +<dt><a name="Searching_by_votes_was_removed_in_Bugzilla_3.8." +>Searching by <code class="code">votes</code> was removed in Bugzilla <b>3.8</b>.</a></dt> </dl> </dd> </dl> @@ -1371,6 +1369,10 @@ name="Bug_Creation_and_Modification" <dt><a name="cc_(array)_-_An_array_of_usernames_to_CC_on_this_bug." ><code class="code">cc</code> (array) - An array of usernames to CC on this bug.</a></dt> +<dd> +<dt><a +><code class="code">groups</code> (array) - An array of group names to put this bug into. You can see valid group names on the Permissions tab of the Preferences screen, or, if you are an administrator, in the Groups control panel. Note that invalid group names or groups that the bug can't be restricted to are silently ignored. If you don't specify this argument, then a bug will be added into all the groups that are set as being "Default" for this product. (If you want to avoid that, you should specify <code class="code">groups</code> as an empty array.)</a></dt> + <dd> <dt><a ><code class="code">qa_contact</code> (username) - If this installation has QA Contacts enabled, you can set the QA Contact here if you don't want to use the component's default QA Contact.</a></dt> @@ -1448,6 +1450,10 @@ name="Bug_Creation_and_Modification" <dl> <dt><a name="Before_3.0.4,_parameters_marked_as_Defaulted_were_actually_Required,_due_to_a_bug_in_Bugzilla." >Before <b>3.0.4</b>, parameters marked as <b>Defaulted</b> were actually <b>Required</b>, due to a bug in Bugzilla.</a></dt> + +<dd> +<dt><a +>The <code class="code">groups</code> argument was added in Bugzilla <b>3.8</b>. Before Bugzilla 3.8, bugs were only added into Mandatory groups by this method.</a></dt> </dl> </dd> </dl> diff --git a/docs/en/html/api/Bugzilla/WebService/Server/JSONRPC.html b/docs/en/html/api/Bugzilla/WebService/Server/JSONRPC.html index 0037df34c02e62cc66810799ee94e3941911daa0..50a58ea5d5c8321d2f2b2254654b1a2145afc686 100644 --- a/docs/en/html/api/Bugzilla/WebService/Server/JSONRPC.html +++ b/docs/en/html/api/Bugzilla/WebService/Server/JSONRPC.html @@ -16,6 +16,10 @@ Bugzilla::WebService::Server::JSONRPC</title> <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a> <li class='indexItem indexItem1'><a href='#JSON-RPC'>JSON-RPC</a> <li class='indexItem indexItem1'><a href='#CONNECTING'>CONNECTING</a> + <ul class='indexList indexList2'> + <li class='indexItem indexItem2'><a href='#Connecting_via_GET'>Connecting via GET</a> + <li class='indexItem indexItem2'><a href='#JSONP'>JSONP</a> + </ul> <li class='indexItem indexItem1'><a href='#PARAMETERS'>PARAMETERS</a> <li class='indexItem indexItem1'><a href='#ERRORS'>ERRORS</a> <li class='indexItem indexItem1'><a href='#SEE_ALSO'>SEE ALSO</a> @@ -65,20 +69,65 @@ For example, if your Bugzilla is at <code class="code">bugzilla.yourdomain.com</code>, then your JSON-RPC client would access the API via: <code class="code">http://bugzilla.yourdomain.com/jsonrpc.cgi</code></p> -<p>Bugzilla only allows JSON-RPC requests over <code class="code">POST</code>. -<code class="code">GET</code> requests (or any other type of request, -such as <code class="code">HEAD</code>) will be denied.</p> +<h2><a class='u' href='#___top' title='click to go to top of document' +name="Connecting_via_GET" +>Connecting via GET</a></h2> + +<p>The most powerful way to access the JSON-RPC interface is by HTTP POST. +However, +for convenience, +you can also access certain methods by using GET (a normal webpage load). +Methods that modify the database or cause some action to happen in Bugzilla cannot be called over GET. +Only methods that simply return data can be used over GET.</p> + +<p>For security reasons, +when you connect over GET, +cookie authentication is not accepted. +If you want to authenticate using GET, +you have to use the <code class="code">Bugzilla_login</code> and <code class="code">Bugzilla_password</code> method described at <a href="../../../Bugzilla/WebService.html#LOGGING_IN" class="podlinkpod" +>"LOGGING IN" in Bugzilla::WebService</a>.</p> + +<p>To connect over GET, +simply send the values that you'd normally send for each JSON-RPC argument as URL parameters, +with the <code class="code">params</code> item being a JSON string.</p> + +<p>The simplest example is a call to <code class="code">Bugzilla.time</code>:</p> + +<pre class="code"> jsonrpc.cgi?method=Bugzilla.time</pre> + +<p>Here's a call to <code class="code">User.get</code>, with several parameters:</p> + +<pre class="code"> jsonrpc.cgi?method=User.get&params=[ { "ids": [1,2], "names": ["user@domain.com"] } ]</pre> + +<p>Although in reality you would url-encode the <code class="code">params</code> argument, so it would look more like this:</p> + +<pre class="code"> jsonrpc.cgi?method=User.get&params=%5B+%7B+%22ids%22%3A+%5B1%2C2%5D%2C+%22names%22%3A+%5B%22user%40domain.com%22%5D+%7D+%5D</pre> + +<p>You can also specify <code class="code">version</code> as a URL parameter, if you want to specify what version of the JSON-RPC protocol you're using, and <code class="code">id</code> as a URL parameter if you want there to be a specific <code class="code">id</code> value in the returned JSON-RPC response.</p> + +<h2><a class='u' href='#___top' title='click to go to top of document' +name="JSONP" +>JSONP</a></h2> + +<p>When calling the JSON-RPC WebService over GET, you can use the "JSONP" method of doing cross-domain requests, if you want to access the WebService directly on a web page from another site. JSONP is described at <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/" class="podlinkurl" +>http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/</a>.</p> + +<p>To use JSONP with Bugzilla's JSON-RPC WebService, simply specify a <code class="code">callback</code> parameter to jsonrpc.cgi when using it via GET as described above. For example, here's some HTML you could use to get the data from <code class="code">Bugzilla.time</code> on a remote website, using JSONP:</p> + +<pre class="code"> <script type="text/javascript" + src="http://bugzilla.example.com/jsonrpc.cgi?method=Bugzilla.time&amp;callback=foo"></pre> + +<p>That would call the <code class="code">Bugzilla.time</code> method and pass its value to a function called <code class="code">foo</code> as the only argument. All the other URL parameters (such as <code class="code">params</code>, for passing in arguments to methods) that can be passed to <code class="code">jsonrpc.cgi</code> during GET requests are also available, of course. The above is just the simplest possible example.</p> + +<p>The values returned when using JSONP are identical to the values returned when not using JSONP, so you will also get error messages if there is an error.</p> + +<p>The <code class="code">callback</code> URL parameter may only contain letters, numbers, periods, and the underscore (<code class="code">_</code>) character. Including any other characters will cause Bugzilla to throw an error. (This error will be a normal JSON-RPC response, not JSONP.)</p> <h1><a class='u' href='#___top' title='click to go to top of document' name="PARAMETERS" >PARAMETERS</a></h1> -<p>For JSON-RPC 1.0, -the very first parameter should be an object containing the named parameters. -For example, -if you were passing two named parameters, -one called <code class="code">foo</code> and the other called <code class="code">bar</code>, -the <code class="code">params</code> element of your JSON-RPC call would look like:</p> +<p>For JSON-RPC 1.0, the very first parameter should be an object containing the named parameters. For example, if you were passing two named parameters, one called <code class="code">foo</code> and the other called <code class="code">bar</code>, the <code class="code">params</code> element of your JSON-RPC call would look like:</p> <pre class="code"> "params": [{ "foo": 1, "bar": "something" }]</pre> diff --git a/docs/en/html/api/Bugzilla/WebService/User.html b/docs/en/html/api/Bugzilla/WebService/User.html index ab0affb0d5ba04091132bc704a0c47703ba17c4e..163dfc6e594218bdcff0487e6c7c672263eed67f 100644 --- a/docs/en/html/api/Bugzilla/WebService/User.html +++ b/docs/en/html/api/Bugzilla/WebService/User.html @@ -349,10 +349,12 @@ If they try, they will get an error. Logged-in users will get an error if they specify the id of a user they cannot see.</p> -<dt><a name="names_(array)_-_An_array_of_login_names_(strings)." -><code class="code">names</code> (array) - An array of login names (strings).</a></dt> +<dt><a name="names_(array)" +><code class="code">names</code> (array)</a></dt> <dd> +<p>An array of login names (strings).</p> + <dt><a name="match_(array)" ><code class="code">match</code> (array)</a></dt> @@ -372,6 +374,19 @@ which defaults to 1000 but can be changed by the Bugzilla administrator.</p> and an error will be thrown if they try. (This is to make it harder for spammers to harvest email addresses from Bugzilla, and also to enforce the user visibility restrictions that are implemented on some Bugzillas.)</p> + +<dt><a name="group_ids_(array)" +><code class="code">group_ids</code> (array)</a></dt> + +<dd> +<dt><a name="groups_(array)" +><code class="code">groups</code> (array)</a></dt> + +<dd> +<p><code class="code">group_ids</code> is an array of numeric ids for groups that a user can be in. +<code class="code">groups</code> is an array of names of groups that a user can be in. +If these are specified, +they limit the return value to users who are in <i>any</i> of the groups specified.</p> </dd> </dl> @@ -452,11 +467,11 @@ and <code class="code">can_login</code> items.</p> <dd> <dl> -<dt><a name="51_(Bad_Login_Name)" ->51 (Bad Login Name)</a></dt> +<dt><a name="51_(Bad_Login_Name_or_Group_Name)" +>51 (Bad Login Name or Group Name)</a></dt> <dd> -<p>You passed an invalid login name in the "names" array.</p> +<p>You passed an invalid login name in the "names" array or a bad group name/id in the <code class="code">groups</code>/<code class="code">group_ids</code> arguments.</p> <dt><a name="304_(Authorization_Required)" >304 (Authorization Required)</a></dt> @@ -480,6 +495,10 @@ but you are not authorized to see one of the users you wanted to get information <dl> <dt><a name="Added_in_Bugzilla_3.4." >Added in Bugzilla <b>3.4</b>.</a></dt> + +<dd> +<dt><a name="group_ids_and_groups_were_added_in_Bugzilla_3.8." +><code class="code">group_ids</code> and <code class="code">groups</code> were added in Bugzilla <b>3.8</b>.</a></dt> </dl> </dd> </dl> diff --git a/docs/en/html/api/email_in.html b/docs/en/html/api/email_in.html index b5c35a5b30327765c42c8df288bf5c3afc38ed02..da49e9772e4720cd62f69bc36d8a5c7bddb54615 100644 --- a/docs/en/html/api/email_in.html +++ b/docs/en/html/api/email_in.html @@ -38,13 +38,22 @@ name="NAME" name="SYNOPSIS" >SYNOPSIS</a></h1> -<pre class="code"> ./email_in.pl [-vvv] < email.txt +<p>./email_in.pl [-vvv] [--default name=value] [--override name=value] < email.txt</p> - Reads an email on STDIN (the standard input). +<p>Reads an email on STDIN (the standard input).</p> - Options: - --verbose (-v) - Make the script print more to STDERR. - Specify multiple times to print even more.</pre> +<p>Options:</p> + +<pre class="code"> --verbose (-v) - Make the script print more to STDERR. + Specify multiple times to print even more. + + --default name=value - Specify defaults for field values, like + product=TestProduct. Can be specified multiple + times to specify defaults for multiple fields. + + --override name=value - Override field values specified in the email, + like product=TestProduct. Can be specified + multiple times to override multiple fields.</pre> <h1><a class='u' href='#___top' title='click to go to top of document' name="DESCRIPTION" diff --git a/docs/en/html/api/importxml.html b/docs/en/html/api/importxml.html index 378eaff530729ceac375fb5ae9c7c9d766610b11..6df5ee99ffae4dc5298c2440888f021ab71b0a38 100644 --- a/docs/en/html/api/importxml.html +++ b/docs/en/html/api/importxml.html @@ -29,15 +29,7 @@ name="NAME" name="SYNOPSIS" >SYNOPSIS</a></h1> -<pre class="code"> importxml.pl [options] [file ...] - - Options: - -? --help brief help message - -v --verbose print error and debug information. - Multiple -v increases verbosity - -m --sendmail send mail to recipients with log of bugs imported - --attach_path The path to the attachment files. - (Required if encoding="filename" is used for attachments.)</pre> +<pre class="code"> importxml.pl [options] [file ...]</pre> <h1><a class='u' href='#___top' title='click to go to top of document' name="OPTIONS" @@ -48,19 +40,37 @@ name="OPTIONS" ><b>-?</b></a></dt> <dd> -<pre class="code"> Print a brief help message and exits.</pre> +<p>Print a brief help message and exit.</p> <dt><a name="-v" ><b>-v</b></a></dt> <dd> -<pre class="code"> Print error and debug information. Mulltiple -v increases verbosity</pre> +<p>Print error and debug information. Mulltiple -v increases verbosity</p> + +<dt><a name="-m_--sendmail" +><b>-m</b> <b>--sendmail</b></a></dt> + +<dd> +<p>Send mail to exporter with a log of bugs imported and any errors.</p> + +<dt><a name="--attach_path" +><b>--attach_path</b></a></dt> + +<dd> +<p>The path to the attachment files. (Required if encoding="filename" is used for attachments.)</p> + +<dt><a name="--product=name" +><b>--product=name</b></a></dt> + +<dd> +<p>The product to put the bug in if the product specified in the XML doesn't exist.</p> -<dt><a name="-m" -><b>-m</b></a></dt> +<dt><a name="--component=name" +><b>--component=name</b></a></dt> <dd> -<pre class="code"> Send mail to exporter with a log of bugs imported and any errors.</pre> +<p>The component to put the bug in if the component specified in the XML doesn't exist.</p> </dd> </dl> diff --git a/docs/en/html/api/index.html b/docs/en/html/api/index.html index 01a654d34ac9655595e6239c30bc172077401f60..eda633c69cb0ee694978311adff3c5f5dccb7f00 100644 --- a/docs/en/html/api/index.html +++ b/docs/en/html/api/index.html @@ -2,13 +2,13 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Bugzilla 3.6.1 API Documentation</title> + <title>Bugzilla 3.7.1 API Documentation</title> <link rel="stylesheet" title="style" type="text/css" href="./../../../style.css" media="all" > </head> <body class="contentspage"> - <h1>Bugzilla 3.6.1 API Documentation</h1> + <h1>Bugzilla 3.7.1 API Documentation</h1> <dl class='superindex'> <dt><a name="Extensions">Extensions</a></dt> <dd> @@ -160,77 +160,85 @@ <td>A legal value for a <select>-type field.</td> </tr> <tr class="even"> + <th><a href="./Bugzilla/Field/ChoiceInterface.html">Bugzilla::Field::ChoiceInterface</a></th> + <td>Makes an object act like a Bugzilla::Field::Choice.</td> +</tr> +<tr class="odd"> <th><a href="./Bugzilla/Flag.html">Bugzilla::Flag</a></th> <td>A module to deal with Bugzilla flag values.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/FlagType.html">Bugzilla::FlagType</a></th> <td>A module to deal with Bugzilla flag types.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Group.html">Bugzilla::Group</a></th> <td>Bugzilla group class.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Hook.html">Bugzilla::Hook</a></th> <td>Extendable extension hooks for Bugzilla code</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Install.html">Bugzilla::Install</a></th> <td>Functions and variables having to do with installation.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Install/CPAN.html">Bugzilla::Install::CPAN</a></th> <td>Routines to install Perl modules from CPAN.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Install/DB.html">Bugzilla::Install::DB</a></th> <td>Fix up the database during installation.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Install/Filesystem.html">Bugzilla::Install::Filesystem</a></th> <td>Fix up the filesystem during installation.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Install/Localconfig.html">Bugzilla::Install::Localconfig</a></th> <td></td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Install/Requirements.html">Bugzilla::Install::Requirements</a></th> <td>Functions and variables dealing with Bugzilla's perl-module requirements.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Install/Util.html">Bugzilla::Install::Util</a></th> <td>Utility functions that are useful both during installation and afterwards.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/JobQueue.html">Bugzilla::JobQueue</a></th> <td>Interface between Bugzilla and TheSchwartz.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/JobQueue/Runner.html">Bugzilla::JobQueue::Runner</a></th> <td>A class representing the daemon that runs the job queue.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Keyword.html">Bugzilla::Keyword</a></th> <td>A Keyword that can be added to a bug.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Migrate.html">Bugzilla::Migrate</a></th> <td>Functions to migrate from other databases</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Milestone.html">Bugzilla::Milestone</a></th> <td>Bugzilla product milestone class.</td> </tr> -<tr class="even"> +<tr class="odd"> <th><a href="./Bugzilla/Object.html">Bugzilla::Object</a></th> <td>A base class for objects in Bugzilla.</td> </tr> -<tr class="odd"> +<tr class="even"> <th><a href="./Bugzilla/Product.html">Bugzilla::Product</a></th> <td>Bugzilla product class.</td> </tr> +<tr class="odd"> + <th><a href="./Bugzilla/Search/Recent.html">Bugzilla::Search::Recent</a></th> + <td>A search recently run by a logged-in user.</td> +</tr> <tr class="even"> <th><a href="./Bugzilla/Search/Saved.html">Bugzilla::Search::Saved</a></th> <td>A saved search</td> diff --git a/docs/en/html/attachments.html b/docs/en/html/attachments.html index 1057f65206476bdf957a7584dbbc90767c543e0d..cc8bdc7c02009f111bfaa6177321bc4f543506ae 100644 --- a/docs/en/html/attachments.html +++ b/docs/en/html/attachments.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/bug_page.html b/docs/en/html/bug_page.html index 103216f94e66eb0993e8f7e4b1d1933793705a0c..e055d96ffce976f082a3c201f3193c5363d4b66b 100644 --- a/docs/en/html/bug_page.html +++ b/docs/en/html/bug_page.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -82,7 +84,7 @@ NAME="bug_page" >The core of Bugzilla is the screen which displays a particular bug. It's a good place to explain some Bugzilla concepts. <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/show_bug.cgi?id=1" +HREF="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1" TARGET="_top" > Bug 1 on Landfill</A > diff --git a/docs/en/html/bug_status_workflow.html b/docs/en/html/bug_status_workflow.html index 801c50a3f2c7076e51776d27b533adc8baab2632..a262ac14dbfef29e68200564acddd0d9f1d059ad 100644 --- a/docs/en/html/bug_status_workflow.html +++ b/docs/en/html/bug_status_workflow.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/bugreports.html b/docs/en/html/bugreports.html index a57f4bf41d79e44f3c3c2ec37f5c988d41aa737e..aac3ab2aecdd6794443e0cfeb8b07ae0f9f55ecc 100644 --- a/docs/en/html/bugreports.html +++ b/docs/en/html/bugreports.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -90,7 +92,7 @@ NAME="fillingbugs" >Years of bug writing experience has been distilled for your reading pleasure into the <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/page.cgi?id=bug-writing.html" +HREF="http://landfill.bugzilla.org/bugzilla-tip/page.cgi?id=bug-writing.html" TARGET="_top" > Bug Writing Guidelines</A >. @@ -142,7 +144,7 @@ VALIGN="TOP" > If you want to file a test bug to see how Bugzilla works, you can do it on one of our test installations on <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/" +HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" >Landfill</A >. diff --git a/docs/en/html/classifications.html b/docs/en/html/classifications.html index cffa929bcd2cc1c6d76270631db13cfea9ea12d8..90ca68cd70aa228b17a0d81a63e361ce57dd2e17 100644 --- a/docs/en/html/classifications.html +++ b/docs/en/html/classifications.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/cmdline-bugmail.html b/docs/en/html/cmdline-bugmail.html index 3250d65acd21ae75acd75475e5ab50064cd4d022..fc4e8308f24e78c21d6eeb6ed2992a3c14b92ee7 100644 --- a/docs/en/html/cmdline-bugmail.html +++ b/docs/en/html/cmdline-bugmail.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/cmdline.html b/docs/en/html/cmdline.html index c981049cfe7424a3990b6ac7dba6fbc9ff1c55f3..acb71a76ccf23c4fe004e84b3ad0b6615b520979 100644 --- a/docs/en/html/cmdline.html +++ b/docs/en/html/cmdline.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/components.html b/docs/en/html/components.html index df8fcdf45ced52a39f9b47e08668f45b1351ea35..8fe9dbf8388906a8aaf7130296e7293b65bbc6e7 100644 --- a/docs/en/html/components.html +++ b/docs/en/html/components.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/configuration.html b/docs/en/html/configuration.html index 38b42979517a4c5eb71b147193dba0211a091b79..b57c6b50e40e9a53ca7bb12e89974eb077def598 100644 --- a/docs/en/html/configuration.html +++ b/docs/en/html/configuration.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/conventions.html b/docs/en/html/conventions.html index 7a260fea2c59a224a3f88107cceb50d5a6790c74..32a89efffe526402d1b12301bf3b234fd40f5f4c 100644 --- a/docs/en/html/conventions.html +++ b/docs/en/html/conventions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/copyright.html b/docs/en/html/copyright.html index dbc59bdc9f76907796a4127cbcde178ccbb2200b..baf4f729f1cd628cb96588af5f419eaf54e1faed 100644 --- a/docs/en/html/copyright.html +++ b/docs/en/html/copyright.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/credits.html b/docs/en/html/credits.html index d40640473c74aac7bd603e36732ef669a51af78c..deb095542949a90e96333975ed282a59ca6dd93b 100644 --- a/docs/en/html/credits.html +++ b/docs/en/html/credits.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/cust-change-permissions.html b/docs/en/html/cust-change-permissions.html index 5518e116f49a4bdb1f2e6f75de27de370e879768..ec405bf1e7104d9eaf0bf64af3991b5575caeb8f 100644 --- a/docs/en/html/cust-change-permissions.html +++ b/docs/en/html/cust-change-permissions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/cust-skins.html b/docs/en/html/cust-skins.html index eda70572ee3af6980b8cf5349d23e8e0f9c2abe8..03da4430fd9a276c78fbf3096af958d2e2d648f1 100644 --- a/docs/en/html/cust-skins.html +++ b/docs/en/html/cust-skins.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/cust-templates.html b/docs/en/html/cust-templates.html index 9cb2572d6bfca276439db34fb75666b7dc064921..2fb9a2d6b31724f8537c1bbf434eb67c26b6c184 100644 --- a/docs/en/html/cust-templates.html +++ b/docs/en/html/cust-templates.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/custom-fields.html b/docs/en/html/custom-fields.html index 642da9034f64671672d4f6dbea8af161e28c1b5c..b6113635a423d32d75de4f3d887df8f220e495dc 100644 --- a/docs/en/html/custom-fields.html +++ b/docs/en/html/custom-fields.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/customization.html b/docs/en/html/customization.html index a37063c028afd11eff92d82a7406d72509acb2be..ee83ddfec53895a6b0e6aea10b4d83d433d7381e 100644 --- a/docs/en/html/customization.html +++ b/docs/en/html/customization.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/disclaimer.html b/docs/en/html/disclaimer.html index 82267f4adfa2a1457bdf998289674364646a8590..858d6612f92ac9c9ef22747485a02bca675b7547 100644 --- a/docs/en/html/disclaimer.html +++ b/docs/en/html/disclaimer.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/edit-values.html b/docs/en/html/edit-values.html index 07db3a611ba21764bc1908075bbbf5918ad8ab98..e0d5daf142a49fb508570f11c9c20375c26346f4 100644 --- a/docs/en/html/edit-values.html +++ b/docs/en/html/edit-values.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/extensions.html b/docs/en/html/extensions.html index e38c9dac13445d54b6947becf063a05e7b5533aa..ef2665ba9dc740f866020047117d9ee16022f869 100644 --- a/docs/en/html/extensions.html +++ b/docs/en/html/extensions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/extraconfig.html b/docs/en/html/extraconfig.html index 9acc4f258464b26a9ff474048ad3f7e9ef06c494..48cd56a32dfb7755be6730e0b7cadeb357ca3b5e 100644 --- a/docs/en/html/extraconfig.html +++ b/docs/en/html/extraconfig.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/flags-overview.html b/docs/en/html/flags-overview.html index d199c25e5696ae6029805405cecf28a95cda7800..1b37c40de46810cef3d9d261fa51c9afba9b8a24 100644 --- a/docs/en/html/flags-overview.html +++ b/docs/en/html/flags-overview.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/flags.html b/docs/en/html/flags.html index 017050808a05d73a3769f0c07a2ebaeb91d68780..30cf21ab643b9b55582a65fd680f2ec736688927 100644 --- a/docs/en/html/flags.html +++ b/docs/en/html/flags.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/general-advice.html b/docs/en/html/general-advice.html index 7adba41ee7f3eba550097c88bba8a1b0538d24bb..0d98c41d33d16ec82c5ea94aa9ed46cb71125f16 100644 --- a/docs/en/html/general-advice.html +++ b/docs/en/html/general-advice.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-0.html b/docs/en/html/gfdl-0.html index 2f46974d2480482b4af716a6b492e86c4abe54a4..c0e19e8ff37993b038fc4234b9a131a0296de82f 100644 --- a/docs/en/html/gfdl-0.html +++ b/docs/en/html/gfdl-0.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-1.html b/docs/en/html/gfdl-1.html index 745d199c5cfc8352f9c1823cc109be89d2732948..1a829531d619dc903889b36d1897fd10696af26c 100644 --- a/docs/en/html/gfdl-1.html +++ b/docs/en/html/gfdl-1.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-10.html b/docs/en/html/gfdl-10.html index 6a8ac7a7a8fe1d1598eaa266a38986451ee3f884..c04aaf8279c79e3ce29cc41c9be9086ff314b7a3 100644 --- a/docs/en/html/gfdl-10.html +++ b/docs/en/html/gfdl-10.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-2.html b/docs/en/html/gfdl-2.html index 29f5c65e59809d91fd59696736d878a99bb7bcac..35a97dec294ee12c5e55698b2df1132c068810af 100644 --- a/docs/en/html/gfdl-2.html +++ b/docs/en/html/gfdl-2.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-3.html b/docs/en/html/gfdl-3.html index f6c78cedceb05e6b8166af037c8f04179118ab23..61ede638e019ea0855e791ec733ba084557b7395 100644 --- a/docs/en/html/gfdl-3.html +++ b/docs/en/html/gfdl-3.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-4.html b/docs/en/html/gfdl-4.html index ef3f55613e234930e92ff4506ef61f08ad1e8ba2..8ea8755ad53d8acc3a76287ad0b56b34929d4c61 100644 --- a/docs/en/html/gfdl-4.html +++ b/docs/en/html/gfdl-4.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-5.html b/docs/en/html/gfdl-5.html index 76e162016ec61fc560d2530558b59a4b45a49f68..87c2edbb8e162e8f7c1a8f6fe10d621ed2e5afaa 100644 --- a/docs/en/html/gfdl-5.html +++ b/docs/en/html/gfdl-5.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-6.html b/docs/en/html/gfdl-6.html index ad6bfba340f72442a177f0b75b10f051a7a1adfe..e61c0a8f5a47febc9677c37f038557a6ae8eb07e 100644 --- a/docs/en/html/gfdl-6.html +++ b/docs/en/html/gfdl-6.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-7.html b/docs/en/html/gfdl-7.html index 7ef4a31c508c82cada5d4f89532bd3f93e19f1fc..afa395b36642060049b277fff73cb2292a82cd0d 100644 --- a/docs/en/html/gfdl-7.html +++ b/docs/en/html/gfdl-7.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-8.html b/docs/en/html/gfdl-8.html index 49f0176f7e3c63cd2efb8c2cf1a8842622b4a87d..19e070abeeacc1daa660cb8e9705bc8a14c25082 100644 --- a/docs/en/html/gfdl-8.html +++ b/docs/en/html/gfdl-8.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-9.html b/docs/en/html/gfdl-9.html index 799364d12904a47f5e1bfed2357f6b29e3c80039..bdb8dfda329c08d148980b84604b0f8d14194fc3 100644 --- a/docs/en/html/gfdl-9.html +++ b/docs/en/html/gfdl-9.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/gfdl-howto.html b/docs/en/html/gfdl-howto.html index d488519843b8e54c2ba2e8e70ba084026a6e8c08..2a2c1a19772393e03b9541ee37792e3f8e292912 100644 --- a/docs/en/html/gfdl-howto.html +++ b/docs/en/html/gfdl-howto.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -83,7 +85,7 @@ NAME="gfdl-howto" of the License in the document and put the following copyright and license notices just after the title page:</P ><A -NAME="AEN3400" +NAME="AEN3394" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/en/html/gfdl.html b/docs/en/html/gfdl.html index 1b5efcd2129834e2d8215b5be746bfa23c437d0b..cc08144714c47575062728236ac6c36533c59826 100644 --- a/docs/en/html/gfdl.html +++ b/docs/en/html/gfdl.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -146,7 +148,7 @@ HREF="gfdl-howto.html" ><P >Version 1.1, March 2000</P ><A -NAME="AEN3310" +NAME="AEN3304" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/en/html/glossary.html b/docs/en/html/glossary.html index 2a0b8c9ff23bf005799881a1cfd3df0bd8a56fe3..e0da99d192c50fc088b5c686e59c3722757de8d6 100644 --- a/docs/en/html/glossary.html +++ b/docs/en/html/glossary.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -32,7 +33,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -72,7 +74,7 @@ CLASS="glossdiv" ><H1 CLASS="glossdiv" ><A -NAME="AEN3405" +NAME="AEN3399" >0-9, high ascii</A ></H1 ><DL @@ -582,17 +584,6 @@ TARGET="_top" CLASS="option" >mail_delivery_method</CODE > parameter. - Implementations other than <TT -CLASS="literal" ->sendmail</TT -> require that the - <CODE -CLASS="option" ->sendmailnow</CODE -> param be set to <TT -CLASS="literal" ->on</TT ->. </P ></DD ><DT @@ -978,7 +969,7 @@ NAME="gloss-zarro" Terry had the following to say: </P ><A -NAME="AEN3649" +NAME="AEN3640" ></A ><TABLE BORDER="0" diff --git a/docs/en/html/groups.html b/docs/en/html/groups.html index 147c126cb384bf74b1afa37588a07326bdecf528..4cc5c1d99149f8a6447dfb603b6d61542ff082df 100644 --- a/docs/en/html/groups.html +++ b/docs/en/html/groups.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -506,7 +508,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN2166" +NAME="AEN2160" >3.15.4. Assigning Group Controls to Products</A ></H2 ><P diff --git a/docs/en/html/hintsandtips.html b/docs/en/html/hintsandtips.html index 82e1d714f2b4fea9a263055d5c19e82e78575be6..9506d37ebf975c07d4724fee94a1fbeb78ee3d89 100644 --- a/docs/en/html/hintsandtips.html +++ b/docs/en/html/hintsandtips.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -86,7 +88,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN2646" +NAME="AEN2640" >5.8.1. Autolinkification</A ></H2 ><P diff --git a/docs/en/html/index.html b/docs/en/html/index.html index 61a9267d2ea94a439b9831187a436be8fcf12712..ff43d6a2d5d247ac886a6efa82a9c53a4a18ed82 100644 --- a/docs/en/html/index.html +++ b/docs/en/html/index.html @@ -2,7 +2,8 @@ <HTML ><HEAD ><TITLE ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TITLE ><META NAME="GENERATOR" @@ -46,7 +47,8 @@ CLASS="TITLEPAGE" CLASS="title" ><A NAME="AEN2" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</A ></H1 ><H3 diff --git a/docs/en/html/install-perlmodules-manual.html b/docs/en/html/install-perlmodules-manual.html index 85910a59c923b71bae4e2adf25a5ac4c16c65890..73d2660355c2d327f2566e8c2d614224730cf8f5 100644 --- a/docs/en/html/install-perlmodules-manual.html +++ b/docs/en/html/install-perlmodules-manual.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/installation.html b/docs/en/html/installation.html index d77ef549b773b31c18ff0ebca8291351ed25866f..95b01357e782cd3413de1d2a1e351889757fd627 100644 --- a/docs/en/html/installation.html +++ b/docs/en/html/installation.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -739,7 +741,7 @@ CLASS="filename" TYPE="1" ><LI ><P -> CGI (3.21) +> CGI (3.49) </P ></LI ><LI diff --git a/docs/en/html/installing-bugzilla.html b/docs/en/html/installing-bugzilla.html index ba67baf8dbbde284ec7e1c254d298247050174bb..2f5fc88b2d42b704b632925f9821e2b2dfeea3c4 100644 --- a/docs/en/html/installing-bugzilla.html +++ b/docs/en/html/installing-bugzilla.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -229,17 +231,17 @@ HREF="nonroot.html" ><DL ><DT >2.6.1. <A -HREF="nonroot.html#AEN897" +HREF="nonroot.html#AEN895" >Introduction</A ></DT ><DT >2.6.2. <A -HREF="nonroot.html#AEN901" +HREF="nonroot.html#AEN899" >MySQL</A ></DT ><DT >2.6.3. <A -HREF="nonroot.html#AEN936" +HREF="nonroot.html#AEN934" >Perl</A ></DT ><DT @@ -249,12 +251,12 @@ HREF="nonroot.html#install-perlmodules-nonroot" ></DT ><DT >2.6.5. <A -HREF="nonroot.html#AEN958" +HREF="nonroot.html#AEN956" >HTTP Server</A ></DT ><DT >2.6.6. <A -HREF="nonroot.html#AEN970" +HREF="nonroot.html#AEN968" >Bugzilla</A ></DT ></DL diff --git a/docs/en/html/integration.html b/docs/en/html/integration.html index 3536e34b80f90bcf6bf0d2af4060292e54329cae..86075cb14a741d751a96877b318f2c9d2a3ddc5e 100644 --- a/docs/en/html/integration.html +++ b/docs/en/html/integration.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/keywords.html b/docs/en/html/keywords.html index a092b2cd846d4f81153d0e7405f05bf7698f0bd4..a0946bd90b26b2fb20c5e9a3f010fd8c624ed96c 100644 --- a/docs/en/html/keywords.html +++ b/docs/en/html/keywords.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/lifecycle.html b/docs/en/html/lifecycle.html index 118eb9db6f4eb80b7c3ddbc9835f0020ce9a8649..1c98f460519cbfbe099b2e2148f42975f3eb2480 100644 --- a/docs/en/html/lifecycle.html +++ b/docs/en/html/lifecycle.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/milestones.html b/docs/en/html/milestones.html index 899260b4428cc92f820d8460b570945a19b16b23..c4b030d0fbf5e253071f791e2a0509172d2d7a52 100644 --- a/docs/en/html/milestones.html +++ b/docs/en/html/milestones.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/modules-manual-download.html b/docs/en/html/modules-manual-download.html index 0642daa7e27511faadb2566c040f495d1478119e..384c6119cb769f2d9a5e06b1f5f30b9e6005394f 100644 --- a/docs/en/html/modules-manual-download.html +++ b/docs/en/html/modules-manual-download.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/modules-manual-instructions.html b/docs/en/html/modules-manual-instructions.html index 8981135cb0c1555e1fbac6e080ab5ca44dbdd31c..1c085156b4a75baa5f1cba968af1300f65dcd979 100644 --- a/docs/en/html/modules-manual-instructions.html +++ b/docs/en/html/modules-manual-instructions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/modules-manual-optional.html b/docs/en/html/modules-manual-optional.html index 736f3750a2645f629f989169c4630927a52c5f88..99550107eb2ab878be45ebb669ba426be6605f6c 100644 --- a/docs/en/html/modules-manual-optional.html +++ b/docs/en/html/modules-manual-optional.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/multiple-bz-dbs.html b/docs/en/html/multiple-bz-dbs.html index 934f05c2aedc00deb417d2d670e0118b2de72968..7436e6c8c88b7f0a977b0f3b8a22b6dd307637d2 100644 --- a/docs/en/html/multiple-bz-dbs.html +++ b/docs/en/html/multiple-bz-dbs.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/myaccount.html b/docs/en/html/myaccount.html index 12b79848def46996a80a5bb0a098748a96033f54..dbe6250d857b935a01a0b89aa05798fda9c08876 100644 --- a/docs/en/html/myaccount.html +++ b/docs/en/html/myaccount.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -84,9 +86,9 @@ NAME="myaccount" Bugzilla for the URL you should use to access it. If you're test-driving Bugzilla, use this URL: <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/" +HREF="http://landfill.bugzilla.org/bugzilla-tip/" TARGET="_top" ->http://landfill.bugzilla.org/bugzilla-3.6-branch/</A +>http://landfill.bugzilla.org/bugzilla-tip/</A >. </P ><P diff --git a/docs/en/html/newversions.html b/docs/en/html/newversions.html index c00e2a9e482eba9d00a5dbf10e7adbd126a80ec0..259c253d07eaf2916981699fba77360ba44bc8ef 100644 --- a/docs/en/html/newversions.html +++ b/docs/en/html/newversions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -79,8 +81,10 @@ NAME="newversions" >1.3. New Versions</A ></H1 ><P -> This is the 3.6.1 version of The Bugzilla Guide. It is so named +> This is the 3.7.1 version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. + This version of the guide, like its associated Bugzilla version, is a + development version. </P ><P > The latest version of this guide can always be found at <A diff --git a/docs/en/html/nonroot.html b/docs/en/html/nonroot.html index 2d81b124924156d69ed01a0fba841adf76fbda05..d686037ad9b240006563692785b0eb7ae3983dc8 100644 --- a/docs/en/html/nonroot.html +++ b/docs/en/html/nonroot.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -83,7 +85,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN897" +NAME="AEN895" >2.6.1. Introduction</A ></H2 ><P @@ -103,7 +105,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN901" +NAME="AEN899" >2.6.2. MySQL</A ></H2 ><P @@ -159,7 +161,7 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN909" +NAME="AEN907" >2.6.2.1. Running MySQL as Non-Root</A ></H3 ><DIV @@ -167,7 +169,7 @@ CLASS="section" ><H4 CLASS="section" ><A -NAME="AEN911" +NAME="AEN909" >2.6.2.1.1. The Custom Configuration Method</A ></H4 ><P @@ -211,7 +213,7 @@ CLASS="section" ><H4 CLASS="section" ><A -NAME="AEN915" +NAME="AEN913" >2.6.2.1.2. The Custom Built Method</A ></H4 ><P @@ -234,7 +236,7 @@ CLASS="section" ><H4 CLASS="section" ><A -NAME="AEN920" +NAME="AEN918" >2.6.2.1.3. Starting the Server</A ></H4 ><P @@ -362,7 +364,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN936" +NAME="AEN934" >2.6.3. Perl</A ></H2 ><P @@ -466,7 +468,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN958" +NAME="AEN956" >2.6.5. HTTP Server</A ></H2 ><P @@ -480,7 +482,7 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN961" +NAME="AEN959" >2.6.5.1. Running Apache as Non-Root</A ></H3 ><P @@ -562,7 +564,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN970" +NAME="AEN968" >2.6.6. Bugzilla</A ></H2 ><P diff --git a/docs/en/html/os-specific.html b/docs/en/html/os-specific.html index 704651240256ee725fbd1c31c64fec7ba5cabb78..9625ffa92ef8077c783425d52fd8995e292196da 100644 --- a/docs/en/html/os-specific.html +++ b/docs/en/html/os-specific.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -520,16 +522,8 @@ TARGET="_top" > is used as the built-in email server. Postfix provides an executable that mimics sendmail enough to fool Bugzilla, as long as Bugzilla can - find it.</P -><P ->As of version 2.20, Bugzilla will be able to find the fake - sendmail executable without any assistance. However, you will have - to turn on the sendmailnow parameter before you do anything that would - result in email being sent. For more information, see the description - of the sendmailnow parameter in <A -HREF="parameters.html" ->Section 3.1</A ->.</P + find it. Bugzilla is able to find the fake sendmail executable without + any assistance.</P ></DIV ><DIV CLASS="section" diff --git a/docs/en/html/parameters.html b/docs/en/html/parameters.html index 347b32d1afbeaa22085e71da3868310de6693b15..eed6dfe8ce9c0dc0e90876b532d3757fa1858fe3 100644 --- a/docs/en/html/parameters.html +++ b/docs/en/html/parameters.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -1142,18 +1144,6 @@ CLASS="filename" </P ></DD ><DT ->sendmailnow</DT -><DD -><P -> When Bugzilla is using Sendmail older than 8.12, turning this option - off will improve performance by not waiting for Sendmail to actually - send mail. If Sendmail 8.12 or later is being used, there is - nothing to gain by turning this off. If another MTA is being used, - such as Postfix, then this option *must* be turned on (even if you - are using the fake sendmail executable that Postfix provides). - </P -></DD -><DT >whinedays</DT ><DD ><P diff --git a/docs/en/html/paranoid-security.html b/docs/en/html/paranoid-security.html index 46b1610e13cda50a4e179dfd348e5a5f393c610b..b9bec11f15f3e7dabc2472f5da58c7c696c668e5 100644 --- a/docs/en/html/paranoid-security.html +++ b/docs/en/html/paranoid-security.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/patches.html b/docs/en/html/patches.html index c7f284a9060ab7aae2a204d6fa1f0399bc32d539..f677c01cd652a8260e15e2481d957c37351ec28e 100644 --- a/docs/en/html/patches.html +++ b/docs/en/html/patches.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/products.html b/docs/en/html/products.html index f87e1c76543542d75504b1a874501ff11c8fc9b9..6e5bcad25566b36caf0841da5a8e1ac3c7818615 100644 --- a/docs/en/html/products.html +++ b/docs/en/html/products.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/query.html b/docs/en/html/query.html index 245f3a56677ba2e407fad3c245e375e0cdcb0609..f1245f0a493e55b13fc96ccb496e4c1dc24fcc5f 100644 --- a/docs/en/html/query.html +++ b/docs/en/html/query.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -83,9 +85,9 @@ NAME="query" any bug report, comment, or patch currently in the Bugzilla system. You can play with it here: <A -HREF="http://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi" +HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" TARGET="_top" ->http://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi</A +>http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A >.</P ><P >The Search page has controls for selecting different possible @@ -207,7 +209,7 @@ NAME="negation" > At first glance, negation seems redundant. Rather than searching for <A -NAME="AEN2493" +NAME="AEN2487" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -218,7 +220,7 @@ CLASS="BLOCKQUOTE" > one could search for <A -NAME="AEN2495" +NAME="AEN2489" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -229,7 +231,7 @@ CLASS="BLOCKQUOTE" > However, the search <A -NAME="AEN2497" +NAME="AEN2491" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -241,7 +243,7 @@ CLASS="BLOCKQUOTE" would find every bug where anyone on the CC list did not contain "@mozilla.org" while <A -NAME="AEN2499" +NAME="AEN2493" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -255,7 +257,7 @@ CLASS="BLOCKQUOTE" complex expressions to be built using terms OR'd together and then negated. Negation permits queries such as <A -NAME="AEN2501" +NAME="AEN2495" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -268,7 +270,7 @@ CLASS="BLOCKQUOTE" to find bugs that are neither in the update product or in the documentation component or <A -NAME="AEN2503" +NAME="AEN2497" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -296,7 +298,7 @@ NAME="multiplecharts" a bug that has two different people cc'd on it, then you need to use two boolean charts. A search for <A -NAME="AEN2508" +NAME="AEN2502" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -311,7 +313,7 @@ CLASS="BLOCKQUOTE" containing "foo@" and someone else containing "@mozilla.org", then you would need two boolean charts. <A -NAME="AEN2510" +NAME="AEN2504" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/en/html/quips.html b/docs/en/html/quips.html index 44477f3bdd5ec2c2f0b55c1d01a41b7b8aa8ede4..93531410eb79911e7c6ddd2db13ceb749065915f 100644 --- a/docs/en/html/quips.html +++ b/docs/en/html/quips.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/reporting.html b/docs/en/html/reporting.html index f44af8b2ff0f0e370b151da370d85aaa3d95951c..41cfd461e7bc9bd0adaf70be4e99c655cfe319dc 100644 --- a/docs/en/html/reporting.html +++ b/docs/en/html/reporting.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -193,7 +195,7 @@ CLASS="section" ><H3 CLASS="section" ><A -NAME="AEN2843" +NAME="AEN2837" >5.11.2.1. Creating Charts</A ></H3 ><P diff --git a/docs/en/html/sanitycheck.html b/docs/en/html/sanitycheck.html index 7e0db129b54d1aef974b39de313e7c687978e532..8c045ceb4da0691365ee1234dc95e1c084568296 100644 --- a/docs/en/html/sanitycheck.html +++ b/docs/en/html/sanitycheck.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/security-bugzilla.html b/docs/en/html/security-bugzilla.html index ea6944dbb6ee90a6281ed1f7af89509c8c94fda1..db15e79031a126671aa638fd3011a266e456b56d 100644 --- a/docs/en/html/security-bugzilla.html +++ b/docs/en/html/security-bugzilla.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/security-os.html b/docs/en/html/security-os.html index 006e5ceeae712ca91d3ab883efd5f638c419aae3..4e7c2981dd91e88779f2434d5242ad4c3e1d4b35 100644 --- a/docs/en/html/security-os.html +++ b/docs/en/html/security-os.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/security-webserver.html b/docs/en/html/security-webserver.html index 163d620be388cbdda8bed73ac81820cf09fd23d3..3adb537d36977b70a3a3b826ec580318af39f904 100644 --- a/docs/en/html/security-webserver.html +++ b/docs/en/html/security-webserver.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/security.html b/docs/en/html/security.html index eafa23dc42b2573a1f15b0608924b66bbe5acc30..82ba3381665cb4a5ce2ac70e22724d321abe68ab 100644 --- a/docs/en/html/security.html +++ b/docs/en/html/security.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/timetracking.html b/docs/en/html/timetracking.html index 9407b98cff57dfc13925c23fb33fbc832dbebeaf..857dd1903619485bf363b71045649335bc595fa0 100644 --- a/docs/en/html/timetracking.html +++ b/docs/en/html/timetracking.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/trbl-dbdsponge.html b/docs/en/html/trbl-dbdsponge.html index 8ae865fc3c7e3f7f824eb9b47a5bd944561b9f28..4530241035c15520388672ff17293e554b68cfa2 100644 --- a/docs/en/html/trbl-dbdsponge.html +++ b/docs/en/html/trbl-dbdsponge.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -39,7 +40,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/trbl-index.html b/docs/en/html/trbl-index.html index bf063b0b339c73f46e7856e29018c16e47cdfca1..38c63130f5708b79cc08d9acb1365cf4629711a5 100644 --- a/docs/en/html/trbl-index.html +++ b/docs/en/html/trbl-index.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -41,7 +42,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/trbl-passwd-encryption.html b/docs/en/html/trbl-passwd-encryption.html index 96a2718821b7f8146074676fa7958700b544c695..edddfa575366af235cb718c080aa68f144bcd01b 100644 --- a/docs/en/html/trbl-passwd-encryption.html +++ b/docs/en/html/trbl-passwd-encryption.html @@ -9,7 +9,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -40,7 +41,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/trbl-perlmodule.html b/docs/en/html/trbl-perlmodule.html index a510bfc446181627deba397052df1e9b3eb7d9f5..a82bee34b69961563a37a2557384a762ab57c793 100644 --- a/docs/en/html/trbl-perlmodule.html +++ b/docs/en/html/trbl-perlmodule.html @@ -8,7 +8,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -39,7 +40,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/trbl-relogin-everyone.html b/docs/en/html/trbl-relogin-everyone.html index 04dcb6a89a6db63e64d5f388ce03c97f1a30b87c..8c2d8a047c3b69ddd50341aae6334c00e6c5ffed 100644 --- a/docs/en/html/trbl-relogin-everyone.html +++ b/docs/en/html/trbl-relogin-everyone.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -120,7 +122,7 @@ NAME="trbl-relogin-everyone-share" >Example A-1. Examples of urlbase/cookiepath pairs for sharing login cookies</B ></P ><A -NAME="AEN3145" +NAME="AEN3139" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" @@ -161,7 +163,7 @@ NAME="trbl-relogin-everyone-restrict" >Example A-2. Examples of urlbase/cookiepath pairs to restrict the login cookie</B ></P ><A -NAME="AEN3152" +NAME="AEN3146" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" diff --git a/docs/en/html/trbl-testserver.html b/docs/en/html/trbl-testserver.html index f6963678fbc69c772e6695445b6a411fe16d7ecc..ea4603ec5e0aa09a363b356a46d6de043b6a5134 100644 --- a/docs/en/html/trbl-testserver.html +++ b/docs/en/html/trbl-testserver.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -39,7 +40,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/troubleshooting.html b/docs/en/html/troubleshooting.html index 25e2f47cfff5499e82b235449dfc7906394da8c6..e7c0764f30f9386b14660ee26ad8064fae51e6ee 100644 --- a/docs/en/html/troubleshooting.html +++ b/docs/en/html/troubleshooting.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/upgrade.html b/docs/en/html/upgrade.html index f5faf86c4608fe978f9006ac6791620106492c2d..cfe4c11fd492833332984490b59baeb7dda5e03c 100644 --- a/docs/en/html/upgrade.html +++ b/docs/en/html/upgrade.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/useradmin.html b/docs/en/html/useradmin.html index 3248642f74a15b24903b5875066b4e2d2d6c27d3..73dcd88702c6fb6bf14b632528503b37b3a0785a 100644 --- a/docs/en/html/useradmin.html +++ b/docs/en/html/useradmin.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/userpreferences.html b/docs/en/html/userpreferences.html index c8788ab9ed993cf2229f1d2a04186fbf6b828d3e..b7e426c4884ffeeec462d700b568e2a82a463455 100644 --- a/docs/en/html/userpreferences.html +++ b/docs/en/html/userpreferences.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/using-intro.html b/docs/en/html/using-intro.html index 79d443aaf4dd80c2f42bb3c5a67424c4a331c290..6b132173f0c1141afff68f42b787d27cf5596964 100644 --- a/docs/en/html/using-intro.html +++ b/docs/en/html/using-intro.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/using.html b/docs/en/html/using.html index 35c944d3ab1c58775918224bb37e677407445536..29ff0dfb3dd9f4f276f1d3d277a324af9ec6e1ad 100644 --- a/docs/en/html/using.html +++ b/docs/en/html/using.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="PREVIOUS" @@ -35,7 +36,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -168,7 +170,7 @@ HREF="hintsandtips.html" ><DL ><DT >5.8.1. <A -HREF="hintsandtips.html#AEN2646" +HREF="hintsandtips.html#AEN2640" >Autolinkification</A ></DT ><DT @@ -275,7 +277,7 @@ HREF="whining.html#whining-query" ></DT ><DT >5.13.4. <A -HREF="whining.html#AEN2903" +HREF="whining.html#AEN2897" >Saving Your Changes</A ></DT ></DL diff --git a/docs/en/html/versions.html b/docs/en/html/versions.html index 2073b9e42684dbd937fa7395e2f2725e15bd323b..902349b41f3f4eb7d75ca9ac2403db43967b68b4 100644 --- a/docs/en/html/versions.html +++ b/docs/en/html/versions.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/voting.html b/docs/en/html/voting.html index 5609c5b329e1e82032b8e5348f07e244b7dc0bcf..678320a59a30710771d66c0b31c67e24318f2c84 100644 --- a/docs/en/html/voting.html +++ b/docs/en/html/voting.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR diff --git a/docs/en/html/whining.html b/docs/en/html/whining.html index bb7f78776909fc487848dbee11fe9ce58631eaa6..c5d01b2756b15c0e8b8b05ea464996871483a4b3 100644 --- a/docs/en/html/whining.html +++ b/docs/en/html/whining.html @@ -7,7 +7,8 @@ NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" -TITLE="The Bugzilla Guide - 3.6.1 +TITLE="The Bugzilla Guide - 3.7.1 + Development Release" HREF="index.html"><LINK REL="UP" @@ -38,7 +39,8 @@ CELLSPACING="0" ><TH COLSPAN="3" ALIGN="center" ->The Bugzilla Guide - 3.6.1 +>The Bugzilla Guide - 3.7.1 + Development Release</TH ></TR ><TR @@ -423,7 +425,7 @@ CLASS="section" ><H2 CLASS="section" ><A -NAME="AEN2903" +NAME="AEN2897" >5.13.4. Saving Your Changes</A ></H2 ><P diff --git a/docs/en/images/CVS/Entries b/docs/en/images/CVS/Entries deleted file mode 100644 index 01a11f74d0bd563019a079a1bdaac7b885efd09b..0000000000000000000000000000000000000000 --- a/docs/en/images/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/bzLifecycle.png/1.4/Fri Apr 4 06:48:16 2008/-kb/TBUGZILLA-3_6_1 -/bzLifecycle.xml/1.3/Fri Apr 4 06:48:17 2008//TBUGZILLA-3_6_1 -/caution.gif/1.2/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -/note.gif/1.1/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -/tip.gif/1.2/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -/warning.gif/1.2/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -D/callouts//// diff --git a/docs/en/images/CVS/Repository b/docs/en/images/CVS/Repository deleted file mode 100644 index a6c04d0ff5735b4d0cd8d500c5e2b17cc340ffc1..0000000000000000000000000000000000000000 --- a/docs/en/images/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/en/images diff --git a/docs/en/images/CVS/Root b/docs/en/images/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/en/images/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/en/images/CVS/Tag b/docs/en/images/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/en/images/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/en/images/bzLifecycle.xml b/docs/en/images/bzLifecycle.xml index 1adc6b70c5f70cdbf584f5157ce8749404ab490b..dda8ac48a0c6e6073cd23229c0d50562b07c2420 100644 --- a/docs/en/images/bzLifecycle.xml +++ b/docs/en/images/bzLifecycle.xml @@ -968,8 +968,7 @@ UNCONFIRMED state#</dia:string> <dia:attribute name="text"> <dia:composite type="text"> <dia:attribute name="string"> - <dia:string>#Bug confirmed or -receives enough votes#</dia:string> + <dia:string>#Bug confirmed#</dia:string> </dia:attribute> <dia:attribute name="font"> <dia:font family="sans" style="0" name="Helvetica"/> diff --git a/docs/en/images/callouts/CVS/Entries b/docs/en/images/callouts/CVS/Entries deleted file mode 100644 index 77ae4a176876c0be05a8dd31c529833d50cac269..0000000000000000000000000000000000000000 --- a/docs/en/images/callouts/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/1.gif/1.1/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -/2.gif/1.1/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -/3.gif/1.1/Fri Apr 4 06:48:17 2008/-kb/TBUGZILLA-3_6_1 -D diff --git a/docs/en/images/callouts/CVS/Repository b/docs/en/images/callouts/CVS/Repository deleted file mode 100644 index 66bc4290a24a36c706674bcda09814d61947b90f..0000000000000000000000000000000000000000 --- a/docs/en/images/callouts/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/en/images/callouts diff --git a/docs/en/images/callouts/CVS/Root b/docs/en/images/callouts/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/en/images/callouts/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/en/images/callouts/CVS/Tag b/docs/en/images/callouts/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/en/images/callouts/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/en/pdf/Bugzilla-Guide.pdf b/docs/en/pdf/Bugzilla-Guide.pdf index 832e2618f9ab993e91589695b73b1a3711c1c053..fecca37b47fd10daf2d54d471ccdcb95e30bf59b 100644 --- a/docs/en/pdf/Bugzilla-Guide.pdf +++ b/docs/en/pdf/Bugzilla-Guide.pdf @@ -3,7 +3,7 @@ << /S /GoTo /D (1.0) >> endobj 4 0 obj -(The Bugzilla Guide 3.6.1 Release) +(The Bugzilla Guide 3.7.1 Development Release) endobj 5 0 obj << /S /GoTo /D (2.0) >> @@ -1863,11 +1863,12 @@ endobj << /S /GoTo /D [1242 0 R /Fit ] >> endobj 1244 0 obj << -/Length 185 +/Length 217 /Filter /FlateDecode >> stream -xڍP=�@��+2���K�{-h�Qn��g-��t��{�ED$���%��\�Щ��a8���.KMA눶ِ��*�r<[�&u,6;V�]�x�U�����/�2�R%�����G?�����X@�EZ�CR{O�)��r�d����T��a���++�Ԏ/�b��/�=���G�A"J endstream +xڍP�N1��+<� 1����Z*uD�É�R�*A;���B�ó������C��*8!��26���4�H\ȞB=~a��9��i�����CM�_A�� +j-23��S��JgXc�:�/�a��ks:��� �H�.��\���X���%EF��+���P��2)nQH�ɻ)��l}���\^�_yrl[�qrj����Kw.b���_��Uendstream endobj 1242 0 obj << /Type /Page @@ -1886,20 +1887,20 @@ endobj /D [1242 0 R /XYZ 71.731 718.3063 null] >> endobj 2 0 obj << -/D [1242 0 R /XYZ 505.3187 700.222 null] +/D [1242 0 R /XYZ 351.7094 667.9949 null] >> endobj 1243 0 obj << /Font << /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj 1254 0 obj << -/Length 515 +/Length 526 /Filter /FlateDecode >> stream -xڍTM��0��Wp4R1��{\�]��Uŭ��CP��l�(��;�&���Pq�������hTR\f�0�/X�L��z>��s�YA9l>�&EVbQ1%�$O�!�ƲH`��Ww�L��Y��Q��D�I� ++�����8J�{^�68�d�c��jTҨ�w�2�wH�P�EA��x� I��K��$H�������0�}Y��`N����P����\�Jyhb0�9�k���vi�I�V�a���[����|���1f�}b�l�s��j��|D��`M�#�)�Hi�z�H�X����Q����f�&xσj���K�E0Kg/1%Hꠧ=I,W�����۰�O��*��`̪��έV�;��b�^7Ew6��;�݇����ŷ���f�z�x����xEP�j �x�oL������W�[�6l�����rt��P�z�:_��7�|�Ǽ���_/��^\I��pF�HAN֞?���r�a�8�q��#��M -�t��=��:� -W���� ����endstream +xڍT�n�0��+XiplfY�SiVՈ��,0�Gd�F�����4��e��s��}�Ѩ��H�`f<gQ3�Hԃ�yG%���r�|�M��U�x�܊<Ի��F�8�����8��"��ߨ>�8aE���}G�o���G��z�Q�4Gor\N����Q +-��O[܄%QB�r����<�I��Md�ARLV�>e9���ӗ�0�([Oe�����eWr��*�Be��ȟ92."��Ҭ6sa�e��nQe���£�����Q�y��;�E9yF��`M��)Di�z|/}������-�f:xO�l�V�m��7A/�9ǔ �B?�Q�`�l��'�Ն��:�P1��Z�2��3`U���J�m!û�覦�u4۰]��[|- +�7e��6�j���5�Rn�,�fO*��f��=���o��x#Q�6�o�%P!X��tz�'=�cf~�_�ؔD������9}����s�ġ�Ns[�=��@��)����m�O6+qIy��� ���%Cendstream endobj 1253 0 obj << /Type /Page @@ -3372,26 +3373,26 @@ Gq �� �+>�W2����J�k|pO���� �� -�+q<�_�4�W>��l���O������O���w<���9�2^���~�������>���?�������?}��������_�^����r~�k������t8m��sVU�eVU�1������ -�� -U� -�U��/�PU�pUU��T��t��*�{*TU:\U�=�*>�*_R���᪪��PU�pUU��T��t��*�{*TU����5�*�� -�� -U�WUpO��J�����BU��gU%�Kj��t����m�PU�hUU��T��t��*�{j��T��*��L��t��*`{*TU:\U�=5WU:{TU��L��T���d{I��J������Jg�� -Ж U��VUlO��J�ϪJƗ�\U��QU�2���Ѫ����PU�pUU��T��T���d|I��J�����BU��UU�S���᪪��PU��YU��� -U�WUpO��J�����BU��UU�S��Rᳪ��%�*�� +�+q<�_�4�W>�������w^���p���'��s<5�W��;���o��_��ߧ?��g���w���O߽���?����K>tb^�o�|�A�Wx���WxΪJ��̪��/&TU|�TU�S��Rᳪ��%�*�� �� U�WUpO��J�����BU��gU%�K*TU:\U�=�*�� �� -U�WUpO��J�ϪJƗT��t��*�{*TU:\U�=�*�� +U�WUpO��J��UU"��BU��UU�S���᪪��PU�pUU��T��T���d|I�U��U�-�*�� +؞ +U�WUpO�U��VU%Ӟ U��VUlO��J������Jg�� +Ж U���U�l/�PU�pUU���\U��QU�2���Ѫ����PU��YU�����*�=�*@[&TU:ZU�=�*�� +�� +U� +�U��/�PU�pUU��T��t��*�{*TU:\U�=�*>�*_R���᪪��PU�pUU��T��t��*�{*TU*|VU2��BU��UU�S���᪪��PU�pUU��T��T���d|I��J�����BU��UU�S���᪪��PU��YU��� +U�WUpO��J�����BU��UU�S����wU����PU�pUU��T��t��*�{*TU:\U�=�*>�*_R���᪪��PU�pUU��T��t��*�{*TU*|VU2��BU��UU�S���᪪��PU�pUU��T��T���d|I��J�����BU��UU�SsU��GUh˄�JEϪJ��T��t��*�{j��t�����D��t��*@{*TU*|VU2���Jg�� +Ж U��VUlO��J������Je���iτ�JG����BU��UU�SsU��GUh˄�JEϪJ��T��t��*�{*TU:\U�=�*�� �� -U����D|M��J�����BU��UU�S���᪪��PU��YU��� -U�WUpO��J�����BU��UU�S��Rᳪ��%�*�� +U� +�U��/�PU�pUU��T��t��*�{*TU:\U�=�*>�*_R���᪪��PU�pUU��T��t��*�{*TU����5�*�� �� U�WUpO��J�����BU��gU%�K*TU:\U�=�*�� -����*�=�*@[&TU*zVU���BU��UU�ScU��oU�?&BU��UU�S��Rᳪ��%5WU:{TU��L��t��*`{*TU:\U�=5WU*[U�L{&TU:ZU�=�*�� -����*�=�*@[&TU*zVU���BU��UU�S���᪪��PU�pUU��T��T���d|I��J�����BU��UU�S���᪪��PU��YU��� -U�WUpO��J�����BU��UU�S����wU����PU�pUU��T��t��*�{*TU:\U�=�*>�*_R���᪪��PU�pUU��T��t��*�{*TU*|VU2��BU��UU�S���᪪��PU ���hTU>BBU%|�/S�xz�3�TU����|���O�T�?�h�1=�^Uy��T�����ӷ߽P���_>���o?���������}��ӷ?�y}�iw<�>�}�����p:nuT����@���؇_Cx!ރ��^�����*|�/�K*����B<�=^���z!�� +�� +U�WUpO��J�ϪJƗT��t��*�{*TU:\U�=�*�C�VU���ʇB��vU%|�/S�xz�3�TU����|���O�T�?�h�1=�^Uy��T�����ӷ߽P���_>���o?���������}��ӷ?�y}�iw<�>�}�����p:nuT����@���؇_Cx!ރ��^�����*|�/�K*����B<�=^���z!�� /��p�pO��U�|!^ƗTx!^��x�{*����B<�=^���z!�� /ī��B��/��B�����Tx!^��x�{*����B<�=^�W��x_R�x����B�����Tx!^��x�{*�����2����:\/��S�x��1�� -�W�pO��q�ϖqƗThw�Zƀ{*��;\-c�=Z���1�� @@ -3417,21 +3418,24 @@ U �W�pO���V�7Ӟ ߎV�lO��o������og��/Ж ߊ��l/�P��pU|�T��v�*��{*T|;\_�=*�>+�_R������P��pU|�T��v�*��{*T|+|V|3��Bŷ�U��S������P��pU|�T��6�]�7�k*T|;\_�=*���/�� �W�pO��o�ϊoƗT��v�*��{*T|;\_�=*���/�� � -�ߌ/�P��pU|�T��v�*��{*T|C�����5��v�7|���{����;�����F��p����O���W ��ϟ�K��������]��?н�m�ϰ�}O���V���`w�_�����E�(���T(�u��x�{*�:\E<�=�x>�x_R����*��P��p���T(�u��x�{*�*|�2��B��U��S����*��P��p���T(�U�,�e|I�"^�����B��U��S����*��Pī�Y���� -E�WpO�"^�����B��U��S����wE����P��p���T(�u��x�{*�:\E<�=�x>�x_Rs��Gh˄"^G����B��U��Ss��U�˴gB��U��S����*���٣��eB��g/�K*�:\E<�=5�:{�L(�u��x`{*�*|�2���"^g�"Ж E��VlO�"^�����B��g/�K*�:\E<�=�x�"�� +�ߌ/�P��pU|�T��v�*��{*T|C�����5�P� �h�����{8�N�Á*��Q�=�*����/��U������_��߿��o�����to���3�e�������}/؝闡�>�2B��JE<�=�x�"�� E�WpO�"^��"^ƗT(�u��x�{*�:\E<�=�x�"�� E� �E��/�P��p���T(�u��x�{*�:\E<�=�x>�x_R����*��P��p���T(�u��x�{*�*|�2��B��U��S����*��P��p���T(�5�]/�k*�:\E<�=�x�"�� -E�WpO�"^��"^ƗT(�u��x�{*�:\E<�=�x�"�� -E� -�E��/�P��p���T(�u��x�{*�:\E<�=�x>�x_R����*��P��p����\���Q��2��Wѳ���%�x�"���x}+��1�x�"О +E�WpO�"^��"^Ɨ�\���Q��2����*���P��p����\īl�2�P��h���T(�u��x�{j.�u�(�m�Pī�Y���� +E�WpO�E��E<�-�x�"؞ E� -�E��/����٣��eB��U��S����*��W�*�e�3����*���P��p����\���Q��2��Wѳ���%�x�"�� +�E��/����٣��eB��U��S����*��Pī�Y���� +E�WpO�"^�����B��U��S��W��%�x�"�� E�WpO�"^�����B��g/�K*�:\E<�=�x�"�� E�WpO�"^��"^ƗT(�u��x�{*�:\E<�=�x�"�� -E��+�E|M�"^�����B��U��S����*��Pī�Y���� +E� +�E��/�P��p���T(�u��x�{*�:\E<�=�x ~Wċ�� +E�WpO�"^�����B��U��S��W��%�x�"�� +E�WpO�"^�����B��g/�K*�:\E<�=�x�"�� +E�WpO�"^��"^ƗT(�u��x�{*�:\E<�=5�:{�L(�U�,�e{I�"^������"^Gߊx�L�"^����B��g/�Kj.�u�(�m�P��h���T(�u��x�{j.�U��x��L(�u��x`{*�:\E<�=5�:{�L(�U�,�e{I�"^�����B��U��S����*��Pī�Y���� E�WpO�"^�����B��U��S��W��%�x�"�� -E�WpO�"^h��E<�@������x�}s|=]?�۟��"����}������w{LO��x�����������?����������V~���zz:|�N���+zo��/_�w�>���?��*zw7��W8o^������J7��{j�y�lݼf�3�浣u� +E�WpO�"^�����B���x_S����*��P��p���T(�u��x�{*�*|�2��B��U��S����*��P��p���T(�U�,�e|I�"^�����B��U��S��Zbm>�(�}(�]��x�}s|=]?�۟��"����}������w{LO��x�����������?����������V~���zz:|�N���+zo��/_�w�>���?��*zw7��W8o^������J7��{j�y�lݼf�3�浣u� ����k���pO�7��=n^��L�y��y��%n^;\7��{j�y��q� �e��kG��lO��� �7�_R��kg��W�-n^;Z7�`{*ܼv�n^�T�y��y��%n^;\7��{*ܼv�n^�T�y�pݼ�p�Z���5�K*ܼv�n^�T�y�pݼ�p���y�S�����kƗT�y�pݼ�p���y�S���u� @@ -3448,275 +3452,291 @@ E 7���W�=n^;\7��{*ܼv�n^�T�y��y��%n^;\7��{*ܼv�n^�T�y�pݼ�p�Z���5�K*ܼv�n^�T�y�pݼ�p���y�S����n^#����k���pO�����+�� 7���W�=n^+|f|I�����+�� 7���W�=n^;\7��{*ܼV��y��� -7���W�=n^;\7��{*ܼƳ���>иy�pY��}�>�r���o^��?�<?]��.�y�:^>�������N����g�����~ݻ?��Y�_ݳ��&�O��x݄��'�s>������ ��<����|I��%>� ��<�_�c��pO��%>� ��<����|I��%>� ��<�_�c��pO��%>� ��<����|I��%>� ��<�_�c��pO��%>� ��<�_�s�?�kj�/�1�O������{j�/�1�O������?�Kj�/���?і��Kz�����\F*�QF"�Sc��G h��e��e$�=5��J|����XF*�[�h��e��V �%5��J|����XF*�[�h��e��e$�=5��:\e$���XF*�[�h��e��e$�=5��J|����\F�p���_Rs��G�pO�e�e$�=5��J|���Ge��c�u��}���.��U�]U}鱓 @&pƘ�#�Hdґ(�O�*���>��:��x'ʯ�zu��?{=��M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$%�1�,?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I�%F"u1�ɩ#����1�����M�b$��#��=q���x�H�n�#9yb$��1F��K�D�b�1�T���M�c$)_1ɛ:�Hνb$P7s���z�H�n�#I���H��1F��K�D�b�1�S'F�A�c$)_1ɛ:�HR�b$�7u���|�H$o�#9yb$��9F��#���s�$�+F"yS�I�W�D��1��'F�A�c$)_1ɛ:�HR�b$�7u���|�H$o�#)���f�I�c$)_1ɛ:�HR�b$�7u���|�H$o�#9yb$��9F��#���s�$�+F"yS�I�W�D��1��'F�A�c$)_1ɛ:�HR�b$�7u���nF�H�B���'?�c��~�������_^F;�H�#=b��˟.������ß��Q�p��vr���O�����V������.��w��/4 o*J���Y~P�Xp� o*N�b�M�b��S,���P,�U�0�O*N�b�M�b��S,���P,8y��7�%���,?�s��ܫX�u1�Xp��n*N�b�M���N�0�� łS�X�wS�Xp� o�\,8�*@]L(�z���B���)@�ԹXp�U,���P,8u�p7�%���,?�s��ܫX�u1�Xp��n*N�b�M�bA�w�0�*N�b�M�b��S,���P,8y��7�%���,?�P,8y��7�'O���B���)@�T(�|���B���)@�T(�<�ț +7���W�=n^;\7��{*ܼƳ���>иy�pYn^�'Zn^����������śW=5o^��'�����ӷ��������_��߯{���5���{v}�����W6������z��G�����?រ�;\��/�y�����?រ�K|��y�����?រ�;\��/�y�����?រ�K|��y�����?រ�;\��/�y�����?រ�K|��y�����?រ�+|�g|M��%>� ��<�_�c��pO��%>� ��<����|I���}�'�2��I�2ٞ��H%>�H�{j,#u�(#홹�Tң�D���2R��2��H�}+#m�����*#����2R��2��H�}+#m���Tң�D���2R������H�}+#m���Tң�D���2R��2រ�H�2�Kj.#��(#�T⣌D���2R��2�����������\JS�ꮪ���I 8c��rÑ{$2�H��ɧO��g�zv��Z���k�:�l������9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9FR�#��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D��1�����M�c$'O��:�HR�b$�7u���|�H$o�#I���H��9Fr��H ?�s�$�+F"yS�I�W�D�1�t_b$Rs���:1��#I���H��)F���1���I�W�D��1��'F�Ac$��H�.�#I������9F��#���c���+Fu3�I�W�D��1�����Mc$��H�.�#9ub$p�9F��#���s�$�+F"yS�I�W�D��1��'F�A�c$)_1ɛ:�HR�b$�7u���|�H$o�#9yb$��9F��#���s�$�+F"yS�I�W�D��1���i���9F��#���s�$�+F"yS�I�W�D��1��'F�A�c$)_1ɛ:�HR�b$�7u���|�H$o�#9yb$��9F��#���s�$�+F"yS�i�fd�D/ty�}���f�4��o�|y}����h�i=�c�G��~��e��������?���N\��� ?��<�*�v�0���������X����b�M�bA�w�0�*N�b�M�b��S,���P,8y��7�#�*F�I�b��S,���P,8y��7�'O���B���X��u.�{�.&N�b�M�b��S,���s���)fu3�Xp��n*N�b�M���^��� łR�bavT(�<�ț:ν�P��N���B���X��u.�{�.&N�b�M�b��S,���P,(�.f�A�b��S,���P,8y��7�'O���B���X���'O���B���)@�T(�<�ț +ł��ba�T(�<�ț +ł��X�yS�Xp� o*J���Y~P�Xp� o*N�b�M�b��S,���P,(�.f�A�b��S,���P,8y��7�'O���B�`�W��(?�P,8y��7�'O���B���)@�T(�|���B���)@�T(�<�ț ł��X�yS�XP�],�� -ł��X�yS�Xp� o*N�b�M�bA�w�0�*N�b�M�b��S,���P,8y��7�#�*F�I�b��S,���P,8y��7�'O���B���X���'O���B���)@�T(�<�ț +ł��X�yS�Xp� o*N�b�M�bA�w�0�*N�b�M�b��S,���s��ܫX�u1�XP�],�� +ł��X�yS�b��/����Xp��n*J���Y~P�b��W���bB���)��T(�<�ț:ʝbaV7��N���B���)@�ԹXp�U,���P,(�.f�A�b��S,���P,8y��7�'O���B���X���'O���B���)@�T(�<�ț ł��ba�T(�<�ț -ł��X�yS�Xp� o*J���Y~P�Xp� o*N�b�M���^��� łR�bavT(�<�ț:N})@��ł�X�uS�XP�],��:ν�P��N���B���)@�ԹXP����P,8u�p7�'O����łs�b�ńbA�w�0�*N�b�M�b��S,���P,8y��7�%���,?�P,8y��7�'O���B���)@�T(�|���B���)@�T(�<�ț -ł��X�yS�X0�ba��T(�<�ț -ł��X�yS�Xp� o*J���Y~P�Xp� o*N�b�M�b��S,���P,(�.f�A�b��S,���P,8y��7���<�+��V�����~s���v[��(�S�X���¿�����������^��:�R�W�|zzz�*��4Ʒ��i\��p��/4]���uJ��Ә���p�\���uN�8�M�8�������(��Sf�A�8�������8y��7�'O��B�b�Wq�(?��8y��7�'O��B���S@�T�S�|�)����q�s�8�ń8ũ�����8y��7u�S�;qʬn&�)N�8�M�8������s���+Nu1!NQ���� -q��'NyS�8ŹW��bB��ԉS��T�S�|�)����q�s�8�ń8ũ�����8y��7�%�q�,?��8y��7�'O��B���S@�T�S�|�)���B���S@�T�S�<q +ł��X�yS�Xp� o*F~U,�� +ł��X�yS�Xp� o*N�b�M�bA�w�0�*N�b�M�b��S,���P,8y��7�%���,?�P,8y��7�'O���B�0��w���*�uC�0��o.��n+y���zj��X��~�ß���������C�W�� +�OOO/�B�}�����:����������4@�T�NC��u����uN��4@�T�N�������8y��7�%�q�,?��8y��7�'O��B���S@�T�S��*N�'�'O��B���S@�T�S�<q ț -q��'NyS!NQ���� -q��'NyS!Nq��) o*�)N�8�M�8E�w�2�*�)N�8�M�8�������8y��7�%�q�,?��8y��7�'O��B���S@�T�S��*N�'�'O��B���S@�T�S�<q +q���8e��9Nq������8u�p7�'O���q�r'N��̈́8ũ�����8y��7u�S�{�)�.&�)J���}P!Nq��) o��8��S@]L�S�:q +�� +q���8e��9Nq������8u�p7�'O��B���;N���'O��B���S@�T�S�<q ț q���8e�T�S�<q ț -q��'NyS!Nq��) o*�)J��Y~P!Nq��) o*�)N�8�M�8�������(��Sf�A�8�������8y��7u�S�{�)�.&�)J���}P!Nq��) o��8�%N�{"�)N�8�M�8E�w�2���8��S@]L�S�:q -�� -q��'NyS�8E����fB��ԉS��T�S�<q -ț:�)ν�P���q��>��8y��7�'O��B���S@�T�S�|�)���B���S@�T�S�<q +q��'NyS!Nq��) o*�)J��Y~P!Nq��) o*�)N�8�M�8�������(��Sf�A�8�������8y��7�'O��B���;N���'O��B���S@�T�S�<q +ț +q��_�)���B���S@�T�S�<q ț q��'NyS!NQ���� -q��'NyS!Nq��) o*�)N�8�M�8�ȯ�Q~R!Nq��) o*�)N�8�M�8�������(��Sf�A�8�������8y��7�'O��B���;N���'O��B���S@�T�S����)�B+N�~��O���������Ϗoz����?~������{��~������[q�zl=��u�����/���o�$H����w?��/��ʷ�����<����+��Ѿ�����F�����ӗ_���^?�]��yh����ߍo��o���0��y�������7�̗��\�旻/���H��a2�c���w�p/?��0��y����ܿ��̗��\�����Ӄ����d.� ��_��}y��ż�|}z���Q~��a07������g�i���\��U�)s��\L�9}�l.&�uƼ���LH�9e�l.&tuʜ�n6�:eNS7�� E�1�n47r:eNM7�� -�2'���ń�N�����bBE'�W�d>���)s -��\L��9��l.&�sʜvn6�9c���hn��)��f�{"4sʛdn�9eN/7��9�rF�Xn�R9�M)7�� ��2'���Ŝ#9%^���}O�B�xw 7�� y�2����Ŝ�8%^i��}O�0Ny����bBg�;��͜�8%^E��}O�Ny����bB��i�fs1��3��fB�̩�fs1��S�$p����)s���\L�ߌy�o�����)sʷ�\L�ޔ9��l.&Doʜ�m6�7c���hn&�nʜ�m6Z7eN�6�� ��2�s��ń�͘w�6�� ��2�p��ń�M�����bBܦ�i�fs1�l3����fB֦̩�fs1�iS�$m����)sz��\L�ل�*f��R6eN�6�� �2'c��ń�M�Ӱ��bB�f�;`�̈́|M�S���bB���I�fs1!\S�tk���P���Fs3!YS�k���Ы)sr��\L�Ք9��l.&�jƼC���L�Ԕ9��l.&4jʜDm6sԔx�i��=�4��q�(n&�iʜ2m6s�Ҕ�����w<�Ҕ5M��-&iƼ�����9GS�U����Dhє7)�,.&�hʜm6s�Ќ8��-"$hʛm�3eN~6��9�gJ�ڳ�������l7�3eNu6�� ͙2'9��ń�L�ӛ��bBmf�;6�̈́�L�S���bBg����fs1!2S�4f���P���Fs3!/S��e���Ж)sҲ�\L˔9]�l.&Te�|�M� I�2�(��ń�L�����bBL��i�fs1�$3����fBF�̩�fs1�!S�$d����)s���\L�njy�c�����)sʱ�\L�Ɣ9��l.&DcS�䚱�mV2v�6�����ۯsc�)[�h�[��dl�f�w��������/�ϟ�����������?�����������������_��o���_�ێ^���'0o�,�z���/Ϸn;�:�:����[����>����'\A]L8���9� -��1W'�9W�7u>��9�:�� �]�:�]��T8���9� -��G^�{�yu1�ԫR�c������W'��W�7u>�����+�� �_�:�_��T8����,?��!X�^�`A]L8��9��QX'�YX�7N�*�>;�*�u�yS�L���P,ț -�b�<�bA�T8���h�,?�p8��s:�M��N�� o*�u�ySᔬ��c�����AY'�IY�7��:y˂��p\��s^�M��J����� -�f�<�fA�T87��98���Y'��Y�7N�*�>>;�*�u�yS����-ț -�h�<�hA�T8Ik�WGiG�I�ôN�Ӵ o*��u��yS�H���L-ț -�j�|����:yNւ��p���s��M��N�� o*��U�}�v�T8d��9e��9['�A[�7��:y�ڂ��p�V��q�Y~P������-ț -gn�<�nA���حs�s��.&��U�}�vvT8|��9}��o��r���ps�M�S�J�����:�u�u�ń��N�ø�n*�u��yS��ʝ#����p(שs*�M�s�N��� o�|4��\PN�*�>�;�*�u��ySጮ��.ț -�t�<�tA�T8������,?�pX��sZ�M��N�� o*�u��yS�Ԯ��c������]'��]�7��:y�p|��s~�M��F~u�w��T8���9���9^'�A^�7��:y�p�W��q�Y~P�@���D/ț -gz�<�zA�T8���9����^%�G{g�A�ýN�ӽ o*��u��yS��p�Ԟ�Z�|�_h:�;����^M�v ������~��{~��{|z�0֛��;o���<��{����/?���_���\ -�������?���~���?����Q^�>������Gy�r��� _8Ͻ{��_mo�9��} �<��ސ?�=~z�c'�<��ސ��=������Fu1?6��{xy���z����������~��i�7������'���0��y����|��?����n����^���o�9b�y�'�����y;����Fu1o�_����g��<��ސ�~5���3�<��~,��j>�H��aR7�����������n� �����W����Q���'����,��?�>���?��z������{y���z�M�!�^������_�FySo�_����c�<��~,|�v�Ǿ�&�A�!�v�Ǿ�FySo�_�����c_O���7��Χ/V~y�M�X������/�c_O���ސ?�}yy��z�M�!����l?��4ʛzC�r���Y엧Q��Wƭ���|��7�*���乤�M�k��<�pS���>�7.�S�}[�,?�p_����>�7��s����}N�k�@�T��O���}�����}N���@�T����sț -7�9y��yS�?%߷��� -��9y.�yS�*?'�]~ o*������M���|��7�*������M�k��<�����p����j?�7.�3���F�I����<����pş��?�7n�s�\���EJ��Pf�A��P�{M����0��ԙBwSa -��3���S(ʝ)�Y�L�Bq�L����0���ByS�)�^S(�.&L�(��B���P�<S( o�<���k -�ń)�� +q��'NyS!Nq��) o*�)N�8�M�8E�w�2�*�)N�8�M�8�������8y��7�%�q�,?��8y��7�'O���q�s�8�ń8E�w�2�*�)N�8�M����) ~O�8ʼn�����(��Sf�A���^q +�� q�S'NwS!Nq��) o��(w�Y�L�S�:q �� -S(J��Pf�A��P�{M����0��ԙBwSa -��3������)�Y~Pa +q��'NyS�8ŹW��bB���;N���'O��B���S@�T�S�<q +ț +q���8e�T�S�<q +ț +q��'NyS!Nq��) o*�)J��Y~P!Nq��) o*�)N�8�M�8��������U�2�O*�)N�8�M�8�������8y��7�%�q�,?��8y��7�'O��B���S@�T�S�|�)���B���S@�T�S�<q +ț +q��P�8^h�)�/���v�2���|�r����O���v��O��}�{����_^^�={+NY���V��.������_���)�����?�����\�v���/�����p%??ڗ��_S��S���}���?������?�y|������m>0_&s1o��^�V|����0��y��r����i�<L�b~l~z�N�姽s3o�_��������0��y����|z���z��ża~������/���7��O�?Z=�O{=�f�0?�}~�,?��0��yüj8eNb7�� ��2����ń�Θw\7�� i�2����ń�N�����bBT��i�fs1��3�ԍ�fBN�̩�fs1��S�t����)s:��\L���*���:eNA7�� ��2'���ńxN�����bB9g�;��͜�9%^���}O�fNy����bB0����fs1�ZΈˍ�"B*��)�fq1��S�dr���s$�ī����P���Fq3!�S��q���s��+�����)o��Y\L��yGq���s�ī������)or�Y\L��9-�l.&�pƼC���L���9�l.&4pʜn68eN�6�� ��1��m47�7eN�6�� ݛ2'{��ń�M�Ӽ��bB�f�;x�̈́�M�S���bB��I�fs1!tS�tn���P���Fs3!qS�n���з)s��\L�۔9m�l.&�mƼö��L�ڔ9U�l.&4mʜ�m6�6eN�6�� 5�0_�l��`Bʦ�)�fs1�cS�dl����)s��\L(،yl�����)s��\Lhה9��l.&�kʜnm6�5c���hn&$kʜbm6z5eN�6�� ��2�U��ńR͘w�6�� ��2�R��ńFM�����b��>m��'B�f�;N�̈́4M�S���b�]��^�����Q���I��ń"͘w�6��9�hJ�j����-��&E��ńM�ӡ��b��'B�E�MyS���bB����fs1��L�W{6{��<3����fBv�̩�fs1�9S�$g����)sz��\L�͌y�f�����)sJ��\L�̔9��l.&Dfʜ�l6 +3cށ�hn&�eʜ�l6�2eNZ6�� a�2�+��ń�L�����|0!)S�e���Г)sr��\L�ɔ9-�l.&�dƼC���L�Ȕ9�l.&4dʜ�l62eN?6�� ��1�xl47�1eN96�� ݘ2'��ńhl +�\36��JƮ�f*�n���}�`l���bl=���u����헟��_~�����?�����ӧ�?��W?��������������/�����_����=o;z}�ן��������ێ�<ߺ���x��?n�o��w����3�pu1ጫS�+�� +�\�<�\A�����r��n&vu�vwSἫ���+ț:yu�u��ńS�J����� +_�<'_A����s�ï�.&u�wS����#����·`�{��u1��S� ,�� +Ga�<gaA�T8 ���8�,?�p ��s"�M�3�N�C� o*�u�yS�d�������X'��X�7��:yȂ��pD��sF�M�S�J����� +e�<'eA�T8+��9,��qY'�yY�7N�*�>2;�*�u�yS�ܬ���,ț +Gg�<ggA�T8=�����,?�p���s��M�3�N�C� o*�u�yS�$��_��'�:yNӂ��p���s��M�#�N�3� o*��U�}�v�T8X��9Y���Z'��Z�7��:y�ׂ��p�V���Y~Pᐭ��-ț +�l�<mA�T8j��9k��i[%��mg�A��N�� o*��u��yS�c�ν�݂��p�V�����}P����-ț:��u��\�'�\'�\P7N�*�>�;��|�I\P��:uセ�p��s�M�O�*w����f¡\�Ω\p7��:y悼���\�^gsA]L8����x��>�p@��sB�M�3�N�C� o*�u��yS�����a]'�i]�7��:y삼�pd��sf�M�S�J����� +w�<'wA�T8���9����]'��]�7N����Q~R����/ț +�x�<yA�T8���9���i^%��yg�A��N�� o*��u��yS�X���\/ț +'{�|���:yN����p���s��M�#��iS{�^h�~���ۧ|�7z�����I�d������������wϏ�#s�O��z����7�<��~}�u�����ǟ~��/���K!���������?��/~��'���>�+��@ܿ<��(�_��>��w�|w�����7G>x�䗧Q����Oo��䗧Q����r���è.����w/�3_O���ސ?�=??��|=��ސ������Fu1o�_��/��g~y�M�x����W���7G�<O���ސ�~5o'���è.� ��7���l�����ׯ��Y旧Q�ԏ���_ͧ�<L�f�0?�=}}�_�z�M�!���j?��4ʛzC�r��?�_�E�{��ڇ����O�_O���ސ�~/O��_O���7��˗��q���(o� ��w��A엧Q�ԏ可�������$?�7���ã����(o� ��s��~��i�7����������/O����?��}���~��i���ǻ//O�c_O���7�Ow����Ǿ�FySo�_�<=���4ʛz�ʸu�����f�A�;��<�pM���>�7n�s�\���e}J�o����s�\��}N�;�@�T����smț +�)���o�T����syț +��9y��yS�?'�~ o*\����Y~P�?'�E~ o*\�����M����<�����p�����f�A�;��<�����p����^?�7n�s�\����~F~u��(?�p����?�7��s�����-N�k�@�T��O���,?���s�)P�P�:S(�n*L�8y�P@��y +E�3�2�� S(N�)p7�P�<S( o�<���k +�ń)��S(������g +�M��P�{M����0��ԙBwSa +E���,?���s�)P�P�:S(�n*L�8y�P@�T�BQ�=�2�*L�8y�P@�T�Bq�L����0���BySa +E���,?�0���BySa ��3�����g +�M�)%�S(������g �M�)'� ț -S(J��Pf�A�)'� +S(N�)�7�P�|O��� +S(N�)�7�P�<S( o*L�8y�P@�T�BQ�=�2�*L�8y�P@�T�Bq�L����0���BySa +�ȯ�PF�I�)'� ț S(N�)�7�P�<S( o*L�(��B���P�<S( o*L�8y�P@�T�Bq�L����0���{ e�T�Bq�L����0���BySa ��3������)�Y~Pa ��3�����g -�M�)'� -ț -S(F~5�2�O*L�8y�P@�T�Bq�L����0���BySa +�M��P�{M����0���{ +evT�Bq�L������S_�P@��S(N�)P7�P�|O���:O�8��Bu1a +ũ3�����g +�M��P�;S(���0��ԙBwSa +��3���S(ν�P@]L�BQ�=�2�*L�8y�P@�T�Bq�L����0���BySa E���,?�0���BySa ��3�����g �M�)%�S(������g �M�)'� ț -S(N�)�7�P�|O��� -S(N�)�7�P�<S( o�<���k -�ń)��S(������g -�M�P��2���D�Bq�L����0���{ -e��y -Ź� -�� S(N�)p7�P�<S( o�<��ܙB��̈́)�� -�� -S(N�)�7u�Bq�5��b��R�)��}Pa +S(N�)�7�P��j +e��T�Bq�L����0���BySa +��3������)�Y~Pa ��3�����g �M�)'� ț S(J��Pf�A�)'� ț -S(N�)�7�P�<S( o*L�(��B���P�<S( o*L�8y�P@�T�Bq�L����0�b�WS(������g -�M�)'� -ț -S(N�)�7�P�|O��� -S(N�)�7�P�<S( o*L�8y�P@�T�BQ�=�2�*L�8y�P@�T�Bq�L����0�2�w�)x�5��nr�����F�����緟Y|�B������=}������ �y�x�e=���������ɯ��?��v�����_o;<3�ϯ?�{��+�y���_���@�vƷׯ=�|�B�n�ț:�(wvfu3a7������n��g7��Mw������D� P�0�*�8yv@�T� p��������� �ySa7@��n�,?����� �ySa7�ɳ���n��g7��M���%����n��g7��M���'�n�ț -�N����7v�|��� -�N����7v�<� o*�8yv@�T� P�0�*�8yv@�T� p��������� �ySa7@��n�,?����� �ySa7�ɳ���n��g7��M���%����n��g7��M���'�n�ț -�N����7v�|��� -�N����7v�<� o*�8yv@�T� 0�݀Q~Ra7�ɳ���n��g7��M���'�n�ț -�J�wf�A�w�{�������� �wSa7�ɳ��λʝ݀Y�L� p��������� �yS����^��.&�(�� ��v�<� o���k7��ń����n��� -�J�wf�A�w�{�������� �wSa7�ɳ���n���݀Y~Pa7�ɳ���n��g7��M���'�n�ț +S(N�)�7�P��7�/��P�M�<ܞB����y���3��S(�x��Ͽ����?�/��������1����>��������:������m�g����'qob}�<o2���+���n���{7����݀^h� �yS�����n��n&�8uv��T� p������n�S_v@���J�wf�A���'�n�ț +�N����7v�<� o*�(�� ��v�<� o*�8yv@�T� p��������{7`�T� p��������� �ySa7�ɳ���n���݀Y~Pa7�ɳ���n��g7��M���'�n�ț �J�wf�A���'�n�ț �N����7v�<� o*�(�� ��v�<� o*�8yv@�T� p��������{7`�T� p��������� �ySa7�ɳ���n���݀Y~Pa7�ɳ���n��g7��M���'�n�ț -�F~�0�O*�8yv@�T� p��������� �ySa7@��n�,?����� �ySa7�ɳ���n��g7��M���%����n��g7��M���'�n�ț +�F~�0�O*�8yv@�T� p��������� �ySa7@��n�,?��n�s���Pv�:��n*�8yv@��y7@��0�� �N���p7v�<� o���k7��ń�������n��g7��M�w�{�������� �wSa7@��n�,?��n�s���Pv�:��n*�8yv@�T� P�0�*�8yv@�T� p��������� �ySa7@��n�,?����� �ySa7�ɳ���n��g7��M���%����n��g7��M���'�n�ț �N����7v�|��� -�N����7v�<� o���k7��ń�������n��g7��Mw������D� p��������{7`��y7���n��� �N���p7v�<� o���� ��̈́����n��� -�N����7u� p���b�n�R�݀�}Pa7�ɳ���n��g7��M���'�n�ț +�N����7v�<� o*�8yv@�T� P�0�*�8yv@�T� p��������� �ySa7�ȯvF�I���'�n�ț +�N����7v�<� o*�(�� ��v�<� o*�8yv@�T� p��������{7`�T� p��������� �ySa7�ɳ���n���݀Y~Pa7�ɳ���n��g7��M�w�{�������{7`vT� p������n�S_v@���N���P7v�|���:�8�� �u1a7������n��g7��M�w�;�������� �wSa7�ɳ��λνv@]L� P�0�*�8yv@�T� p��������� �ySa7@��n�,?����� �ySa7�ɳ���n��g7��M���%����n��g7��M���'�n�ț +�N����7v��j7`��T� p��������� �ySa7�ɳ���n���݀Y~Pa7�ɳ���n��g7��M���'�n�ț �J�wf�A���'�n�ț -�N����7v�<� o*�(�� ��v�<� o*�8yv@�T� p������`�W�����n��g7��M���'�n�ț -�N����7v�|��� -�N����7v�<� o*�8yv@�T� P�0�*�8yv@�T� p������0d�v7�^h����݀�������Ϗoz�~;�����������s?=��|��w�s������˷��o?���?�����/?��ǿ�����//��8~�Oo?��1��+�Ԑ_��͆��ݐ��=r%� ��>�А;yr�7r'OC�BC��i�A�Thȕ|7���BC��i�A�Thȝ< 9ț - ���!yS�!W�ݐ�� - ���!yS�!w�4� o*4�N���M��\�wC>�*4�N���M����Ӑ���А;yr�7r%� �,?�А;yr�7r'OC�BC��i�A�Thȕ|7���BC��i�A�Thȝ< 9ț - ���!yS�!W�ݐ�� - ���!yS�!w�4� o*4�N���M��\�wC>�*4�N���M����Ӑ���А;yr�7r#�j�G�I����Ӑ���А;yr�7r'OC�BC��!��unȝ{5�.&4�N���M����Ӑ���sC��i�gu3�!w�4��n*4�N���M�r�^ 9�� �R�|vThȝ< 9ț:7�νrPr�NC�BC��!��unȝ{5�.&4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7r'OC�BC��!��r'OC�BC��i�A�Thȝ< 9ț +�N����7v������݀wu��0���|�r����O��og������~=���cןO�ny���C��v������ǿ|����O�~��ǟ���3��r������O�����7FvC~����7�ِ�:�r�'BC�Ļ!��r'OC�BC��i�A�Thȝ< 9ț ���|�Thȝ< 9ț - ���!yS�!w�4� o*4�J��Y~P�!w�4� o*4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7r'OC�BCn�W �(?�А;yr�7r'OC�BC��i�A�Thȕ|7���BC��i�A�Thȝ< 9ț + ���!yS�!w�4� o*4�J��Y~P�!w�4� o*4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7r'OC�BC��!��r'OC�BC��i�A�Thȝ< 9ț + ���|�Thȝ< 9ț + ���!yS�!w�4� o*4�J��Y~P�!w�4� o*4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7r'OC�BCn�W �(?�А;yr�7r'OC�BC��i�A�Thȕ|7���� �s���ń�ܩӐ���А;yr�7unȕ; ��n&4�N���M����Ӑ���sC�ܫ!u1�!W�ݐ�� + ���!yS�ܹWC�bBC��i���Thȕ|7���� �s���ń�ܩӐ���А;yr�7r%� �,?�А;yr�7r'OC�BC��i�A�Thȕ|7���BC��i�A�Thȝ< 9ț ���!yS�!W�ݐ�� - ���!yS�!w�4� o*4�N���M��\�wC>�*4�N���M����Ӑ���sC�ܫ!u1�!W�ݐ�� - ���!ySdžܩ/ 9���!w�4�n*4�J��Y~P�ܹWC�bBC��i���Thȝ< 9ț:7�ʝ�|V7r�NC�BC��i�A�Թ!w�Ր���А+�n�g�A����Ӑ���А;yr�7r'OC�BC��!��r'OC�BC��i�A�Thȝ< 9ț + ���!yS�!w�4� o*4�N���M��\�wC>�*4�N���M����Ӑ���А;yr�7r%� �,?�А;yr�7r'OC�BC��i�A�Thȍ��!�'r'OC�BC��i�A�Thȝ< 9ț ���|�Thȝ< 9ț - ���!yS�!w�4� o*4�F~Ր�� - ���!yS�!w�4� o*4�N���M��\�wC>�*4�N���M����Ӑ���А;yr�7r%� �,?�А;yr�7r'OC�BC>VϮ!�Z ��N{hȇ7�� �����//А�Ր?\��������ۅ��������}���ǟ���~�v�o�����ݵ��l�^�o�I>���s���v��� �'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�|'�����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�%�$u1��S�W�I��ɧ����M�O�^�'��9'�R��Or7uN>�|%�$o�|J�%�$u1��ө�|����ɧ����M�O�$��.�|J�J>���9�t�$� ?�c�)ݗ��Ŝ�O�^�'��:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS��S�w�9�O�|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:&��}I>I]�9�t�$��>�s�)�+�$yS��S��'�$~O��O)^�'��:'�N���uL>���|���s�)�+�$wS��S�W�I�ɧs���͜�O�^�'��:'�R��O�7uL>���|���s���I>�}P��S�W�I��ɧ����M��O)_�'ɛ:'�N���uN>�|%�$o�|J�J>I��9���|���s���I>A~P��S�W�I��ɧ����M��O)_�'ɛ:'�J���Y~R��S�W�I��ɧ����M��O)_�'ɛ:'�N���uN>�|%�$o�|J�J>I��9���|���s���I>A~P��S�W�I��ɧ����M���9KT�'����Y嗛���F�=�|~z����ϔ|��V��xI>��_�����?}�����/?���ys�绯�o��x%��z��������^�@��{�Ʒ/���u��d����"Y'�E� ?��E�R�.�%yS�d�|]$K���Jy�b�7�b%�U�,?�P;y�b�7�b'OU�BU�䩊A�T���|Wų��BU�䩊A�T���<U1ț -U���*yS�*V�]�� -U���*yS�*v�T� o*T�N���M��X�wU<�*T�N���M����S���P;y�b�7�b%�U�,?�P;y�b�7�b'OU�BU�䩊A�T���|Wų��BU�䩊A�T���<U1ț -U���*yS�*6�x��T���<U1ț -U���*yS�*v�T� o*T�J���Y~P�عWU�bBU�ԩ���T���<U1ț:W�ʝ�xV7�b�NU�BU�䩊A�Թ*v�U���P+���g�A����S���sU�ܫ*u1�*v�T��n*T�J���Y~P�عWU�bBU�ԩ���T���<U1ț + ���!yS�!w�4� o*4�J��Y~P�!w�4� o*4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7unȝ{5�.&4�J���}P�!w�4� o�ؐ;��!�{"4�N���M��\�wC>��ܐ;�j�A]Lhȝ: 9�� + ���!yS�\�Ӑ��fBC��i���Thȝ< 9ț:7�νrPr�� ��>�А;yr�7r'OC�BC��i�A�Thȕ|7���BC��i�A�Thȝ< 9ț + ���!yS�!W�ݐ�� + ���!yS�!w�4� o*4�N���M���ȯ�Q~R�!w�4� o*4�N���M����Ӑ���А+�n�g�A����Ӑ���А;yr�7r'OC�BC��!��r'OC�BC��i�A�Th����5��B�!�i ��F��!x�zw���<��KC�w��/?���_y�p��_~�o����o��o����Ï���w��_����������<����y����N>?z�!��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ���s���9���|���s�)�+�$yS��S�W�I��ɧ�'��A�O�$��.�|J�J>���9���|���c���+�u3��S�W�I��ɧ����M�O�$��.�|:u�Op�9���|���c�)ݗ��Ŝ�O�^�'��:'�N���uL>���|���s�)�+�$wS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|*�N>g�I��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�W�I��ɧ�'��A��O)_�'ɛ:'�R��O�7uN>�|%�$o�|:y�O��9���|���s�)�+�$yS��S�/�'��9'�N���uN>�|%�$o�|J�����s�)�+�$uS���ɓ|����ɧt_�ORsN>�z%��n�|J�J>I��1�t�|���s�)�+�$wS��S�W�I�ɧt_�ORsN>�:�'��|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�)�+�$yS��S�w�9�O�|J�J>I��9���|���s�)�+�$yS���ɓ|����ɧ����M��O)_�'ɛ:'�R��O�7uN>�<�'��|J�J>I��9���|���s�9g�*���<�>��|3����'��O����������J>/���뷿\�Ͽ��o?���~��ǟ:on�|��������^o��>ݼ8��+b��c����E���p�,��:_$��H�u�HV��E�$o�|�����dI���"Y)OU�BU��*���b'OU�BU�䩊A�T���<U1ț U���x�T���<U1ț U���*yS�*v�T� o*T�J���Y~P�*v�T� o*T�N���M����S���P+���g�A����S���P;y�b�7�b'OU�BU��*���b'OU�BU�䩊A�T���<U1ț U���x�T���<U1ț U���*yS�*v�T� o*T�F~U�� -U���*yS�*v�T� o*T�N���M��X�wU<�*T�N���M����S���P;y�b�7�b%�U�,?�P;y�b�7�b'OU�BU�䩊A�T���|Wų��BU�䩊A�T���<U1ț:W�ν�bP�b��U��>�P;y�b�7u����R��=�b'NU�BU��*��u���{UŠ.&T�N���M����S���sU�ܩ�gu3�*v�T��n*T�N���M��b�^U1�� U�R�xvT���<U1ț -U���*yS�*v�T� o*T�J���Y~P�*v�T� o*T�N���M����S���P+���g�A����S���P;y�b�7�b'OU�BUl�WU�(?�P;y�b�7�b'OU�BU�䩊A�T���|Wų��BU�䩊A�T���<U1ț +U���*yS�*v�T� o*T�N���M��X�wU<��\;���A]L���:U1�� +U���*yS�X�S��fBU�ԩ���T���<U1ț:W�ν�bP�b��U��>�P;y�b�7u���{UŠ.&T�N���M��X�wU<��\;���A]L���:U1�� U���*yS�*V�]�� -U���*yS�*v�T� o*T�Ck�bx�U�+w��xx��^?}?�Q�O=|MT�y�#��/?��O����_��b�~�{�����#����P��_��~=:zE��-/��{ɻ�u^|��u>P_�FwS?>���������i����ǻ�c`���aT����yxz�����n� ��Ws��?���(o����ׯ������0��y��x����~��it7���������3_O���7�/wO�#��Y�'�(xC�d?��4�� ����to?��4ʛzC�6���D'�<���.��g�M�]%����.��g�M�]'�.ț -�N�]�7v!�|�B�� -�N�]�7v!�<� o*�B8yv!@�TP�1�*�B8yv!@�Tp��B������م�ySaB��.�,?����م�ySa�ɳ��.��g�M�]%����.��g�M�]'�.ț -�N�]�7v!�|�B�� -�N�]�7v!�<� o*�B8yv!@�TP�1�*�B8yv!@�Tp��B������م�ySa�ȯv!F�I�]'�.ț -�N�]�7v!�<� o*�B(�ޅ��uޅp��b�.�Sg�M�]'�.ț:�B(wv!fu3a©���.��g�M�w!�{�B������{bvTp��B����.�s�]Pv!�:��n*�B(�ޅ��uޅp��b�.�Sg�M�]'�.ț +U���*yS�*v�T� o*T�N���M��X�wU<�*T�N���M����S���P;y�b�7�b%�U�,?�P;y�b�7�b'OU�BU�䩊A�T���|Wų��BU�䩊A�T���<U1ț +U���*yS�*V�]�� +U���*yS�*v�T� o*T�N���M���ȯ��Q~R�*v�T� o*T�N���M����S���P+���g�A����S���P;y�b�7�b'OU�BU��*���b'OU�BU�䩊A�T���<U1ț +U���x�T���<U1ț +U���*yS�عWU�bBU�Ի*���b'OU�U�S_�b�'BU�ĩ�A�T���|Wų���U�s���ń�ةS���P;y�b�7u���;U�n&T�N���M����S���sU�ܫ*u1�*V�]�� +U���*yS�*v�T� o*T�N���M��X�wU<�*T�N���M����S���P;y�b�7�b%�U�,?�P;y�b�7�b'OU�BU�䩊A�T�����*�'�b'OU�BU�䩊A�T���<U1ț +U���x�T���<U1ț +U���*yS�*v�T� o*T�J���Y~P�*v�T� o*T�N���M��x�`mU/���w��Po�۫��� *�������?�{d��?��_����q]����w/�/W��vğ?����O�����ïGG����w/yw������������n���?��=��U�< �zC�x��v̹�?��b�0�~3O�V}y�M�!�j��g~y�M�X~��ռ�A�r_&u3o��د{=��ސ������~��i�7�����I�>����oc����&�A�!�^�����FySo���~��䗧Q�Tp��B������{b�Tp��B������م�ySa�ɳ��.���]�Y~Pa�ɳ��.��g�M�]'�.ț �J�w!f�A�]'�.ț �N�]�7v!�<� o*�B(�ޅ��v!�<� o*�B8yv!@�Tp��B������{b�Tp��B������م�ySa�ɳ��.���]�Y~Pa�ɳ��.��g�M�]'�.ț �J�w!f�A�]'�.ț -�N�]�7v!�<� o*�B��.�(?����م�ySa�ɳ��.��g�M�]%����.��g�M�]'�.ț +�N�]�7v!�<� o*�B��.�(?����م�ySa�ɳ��.��g�M�]%���λνv!@]Lp��B������م�yS�]��.Ĭn&�B8uv!��Tp��B����.�s�]Pv!�z�B�� +�N�]�7uޅp��b�.�Sg�M�]%���λνv!@]Lp��B������م�ySaB��.�,?����م�ySa�ɳ��.��g�M�]%����.��g�M�]'�.ț �N�]�7v!�|�B�� -�N�]�7v!�<� o*�B8yv!@�TP�1�*�B8yv!@�Tp��B����.�s�]Pv!�z�B�� -�N�]�7u܅p��.��a���.���]�Y~P�]�^��.&�B8uv!��Tp��B����.�rgbV7v!�:��n*�B8yv!@��y¹�.�� �J�w!f�A�]'�.ț -�N�]�7v!�<� o*�B(�ޅ��v!�<� o*�B8yv!@�Tp��B������{b�Tp��B������م�ySa�ɳ��.��_�B�� -�N�]�7v!�<� o*�B8yv!@�TP�1�*�B8yv!@�Tp��B������م�ySaB��.�,?����م�ySa�ɳ��.İj`w!���.Ļ�abx�߾��k���tib=��!�\�!������?���~��߾�����?���o������[�W��3}z�I�����������^h�{g�A���ɓ������:y�^�7�^'O��Bޫ�;���^'O��B����{A�T�{�<y/ț -y���w�T�{�<y/ț -y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓ������*��{g�A���ɓ������:y�^�7�^'O��Bޫ�;���^'O��B����{A�T�{�<y/ț -y���w�T�{�<y/ț -y��'�yS!�u�� o*�F~���� -y��'�yS!�u�� o*�N���M��W�w�;���:��{A]L�{�:y/�� -y��'�yS�W�����fB����{��T�{�<y/ț:�ν�^P�^��y��>���:y�^�7u�{�{彠.&�N���M��W�w�;���:��{A]L�{�:y/�� +�N�]�7v!�<� o*�B8yv!@�TP�1�*�B8yv!@�Tp��B������م�ySaB��.�,?����م�ySa�ɳ��.��g�M�]#�څ�'v!�<� o*�B8yv!@�Tp��B������{b�Tp��B������م�ySa�ɳ��.���]�Y~Pa�ɳ��.��g�M�]'�.ț +�J�w!f�A�]'�.ț +�N�]�7uޅp��b�.�R�]��}Pa�ɳN}م��{"�B8qv!@�TP�1����k�ń]��.�� +�N�]�7uޅP��B��f�.�Sg�M�]'�.ț:�B8�څ�u1aB��.��>����م�ySa�ɳ��.��g�M�]%����.��g�M�]'�.ț +�N�]�7v!�|�B�� +�N�]�7v!�<� o*�B8yv!@�T0�]�Q~Ra�ɳ��.��g�M�]'�.ț +�J�w!f�A�]'�.ț +�N�]�7v!�<� o*�B(�ޅ��v!�<� o*�B8yv!@�TV �.��څx7�0�Bo��w!^�����. C���0ė�0���������?�������?���?��������~��Jz~�Oo?ɽu�|���w�{��C���My�,?���:y�^�7�^'O��B����{A�T�{�|罳��B����{A�T�{�<y/ț y��'�yS!�U���� y��'�yS!�u�� o*�N���M��W�w�;�*�N���M���ɓ������:y�^�7�^%�y�,?���:y�^�7�^'O��B����{A�T�{�|罳��B����{A�T�{�<y/ț y��'�yS!�U���� -y��'�yS!�u�� o*�N���M���ȯ��Q~R!�u�� o*�N���M���ɓ������*��{g�A���ɓ������:y�^�7�^'O��Bޫ�;���^'O��B����{A�T�{�<y/ț -y���w�T�{�<y/ț -y��'�yS�W��bBޫ�;���^'O��y�S_�^�'B����{A�T�{�|罳���y�s���ń�ש�������:y�^�7u�{�;y�n&�N���M���ɓ����s���+�u1!�U���� -y��'�yS!�u�� o*�N���M��W�w�;�*�N���M���ɓ������:y�^�7�^%�y�,?���:y�^�7�^'O��B����{A�T�{��*��'�^'O��B����{A�T�{�<y/ț +y��'�yS!�u�� o*�N���M���ȯ��Q~R!�u�� o*�N���M���ɓ������*��{g�A��^�^y/�� y�S'�wS!�u�� o��*w��Y�L�{�:y/�� +y��'�yS�W��bBޫ�;���^'O���y�s���ń�ש�������*��{g�A��^�^y/�� y�S'�wS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓ������*��{g�A���ɓ������:y�^�7�^'O��Bޫ�;���^'O��B����{A�T�{�<y/ț y���w�T�{�<y/ț -y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M��wLQ]�/���w ��o����W����{�{�c+�}����۟������'0_������s~�/o}����_^���i~��c�^����^�?|��~�<M�zC�x����;�N~y�M�!z��F��?��b�0�~3_>����4��z���ׯ���/э<O���ސ�~5o����è.� ��7���l�����ׯ��Y旧Q��w��~5�^���0��y��x����~��it7�����W�_�g��FySo�_��G��(~O�q������'����I}Po�_���{����Q�������ۯ̝��4ʛzC��3�<� o*r(���9�<� o*r8y9@�T�p�r���0ȡ�{�c�T�p�r���0�����ySa���3��� ���A�Y~Pa���3��� ��g��M�A'� ț -�J�9f�A�A'� ț -�N�A�79�<� o*r(���9�<� o*r8y9@�T�p�r���0ȡ�{�c�T�p�r���0�����ySa���3��� ���A�Y~Pa���3��� ��g��M�A'� ț -�F~5�1�O*r8y9@�T�p�r���0�����ySa�C�� �,?�� �s�AP9�:��n*r8y9@��y�C�3�1�� �N�Ap79�<� o�<���k��ńA�ރ���� ��g��M�9�{ r���0�����wSa�C�� �,?�� �s�AP9�:��n*r8y9@�T�P�=�1�*r8y9@�T�p�r���0�����ySa�C�� �,?�0�����ySa���3��� ��g��M�A%߃���� ��g��M�A'� ț +y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓ�������U�;�O*�N���M���ɓ������:y�^�7�^%�y�,?���:y�^�7�^'O��B����{A�T�{�|罳��B����{A�T�{�<y/ț +y��'�yS!�U���� +y��'�yS!�u�� o��:��{A]L�{�z罳��B����{A��1�u�K���D�{�8y/�� +y���w��9�u�������:u�^p7�^'O���y�r'��̈́�ש�������:y�^�7u�{�{彠.&�J����}P!�u�� o*�N���M���ɓ������*��{g�A���ɓ������:y�^�7�^'O��Bޫ�;���^'O��B����{A�T�{�<y/ț +y��_彣��B����{A�T�{�<y/ț +y��'�yS!�U���� +y��'�yS!�u�� o*�N���M��W�w�;�*�N���M���ɓ�������)��{�V��.����~{��J}��tOy�zl�O����?~��?�w�������^yΏ���q�������4�ozy�~p������������}Po��~���/O���7�O��h���Q]���o��g��_�FwSo�����|~�%���i����ׯ����s�ża~�f�����4��zC����?����4ʛz���ׯ�Ӌt_&u3o��د{=��ސ?��*������(o� ��ݓ��}��7.~����d?��4�� ����to?��4ʛzC���|y����_�FySo��t��g��M�A%߃���� ��g��M�A'� ț +�N�A�79�|r�� +�N�A�79�<� o*r8y9@�T�P�=�1�*r8y9@�T�p�r���0�����ySa�C�� �,?�0�����ySa���3��� ��g��M�A%߃���� ��g��M�A'� ț �N�A�79�|r�� �N�A�79�<� o*r8y9@�T�P�=�1�*r8y9@�T�p�r���0�����ySa��ȯ9F�I�A'� ț -�N�A�79�<� o*r(���9�<� o*r8y9@�T�p�r���0ȡ�{�c�T�p�r���0�����ySa���3��� ���A�Y~Pa���3��� ��g��M�9�{ r���0ȡ�{�cvT�p�r���� �S_9@���N�AP79�|r��:r8���u1a�é3��� ��g��M�9�;����0�����wSa���3��ν9@]L�P�=�1�*r8y9@�T�p�r���0�����ySa�C�� �,?�0�����ySa���3��� ��g��M�A%߃���� ��g��M�A'� ț -�N�A�79��j�c��T�p�r���0�����ySa���3��� ���A�Y~Pa���3��� ��g��M�A'� ț +�N�A�79�<� o*r(���u�p�5��b� �Sg��M�A'� ț:r(w9fu3a�é3��� ��g��M�9�{ r���0ȡ�{�cvT�p�r���� �s�AP9�:��n*r(���u�p�5��b� �Sg��M�A'� ț +�J�9f�A�A'� ț +�N�A�79�<� o*r(���9�<� o*r8y9@�T�p�r���0ȡ�{�c�T�p�r���0�����ySa���3��� ���A�Y~Pa���3��� ��g��M�A'� ț �J�9f�A�A'� ț -�N�A�79�% 7�/�9ލ^<����r<|�{���L��5��܃������ݿ����E�ϯo�r�����?��J��(G"�]�/;D|�:�@�� -F~51�O�<��k �ń���@�� -N���7u�P�D��f�@�Sg �M��'�@ț:D8�e ��0��{ bVT�p�D���0����ySa ��3��@��Y~Pa ��3��@��g �M��'�@ț +�N�A�79�<� o*r�� �(?�0�����ySa���3��� ��g��M�A%߃���� ��g��M�A'� ț +�N�A�79�|r�� +�N�A�79�<� o*r8y9@�T�P�=�1�*r8y9@�T�p�r���� �s�AP9�zr�� +�N�A�7u�p�� ��a�É3��� ���A�Y~P�A�^��.&r8u9��T�p�r���� �rg�cV79�:��n*r8y9@��y�ù� �� �J�9f�A�A'� ț +�N�A�79�<� o*r(���9�<� o*r8y9@�T�p�r���0ȡ�{�c�T�p�r���0�����ySa���3��� ��_ r�� +�N�A�79�<� o*r8y9@�T�P�=�1�*r8y9@�T�p�r���0�����ySa�C�� �,?�0�����ySa���3��� Ǹ$�9��� ǻы/�9�7������<� �zl r<� �����_~�o?���s���뛼\A>x����O����1ʑ���m�@�����4��@��_ D��:D8���u1a ©3��@��g �M�"�;���0����wSa ��3�N}���{"D(����"�< o*D8y"@�T�p�D���0��{ b�T�p�D���0����ySa ��3��@��Y~Pa ��3��@��g �M��'�@ț J�"f�A��'�@ț N���7"�< o*D(����"�< o*D8y"@�T�p�D���0��{ b�T�p�D���0����ySa ��3��@��Y~Pa ��3��@��g �M��'�@ț J�"f�A��'�@ț -N���7"�< o*D(����"�< o*D8y"@�T�p�D���0a�W����@��g �M��'�@ț -N���7"�|D��:D8���u1a ©3��@��g �M�"�;���0����wSa ��3��ν"@]L�P�=1�*D8y"@��y ¹�@�� N��p7"�|D��:D8���u1a ©3��@��g �M��%�����@��g �M��'�@ț +N���7"�< o*D��@�(?�0����ySa ��3��@��g �M��%�����ν"@]L�p�D���0����yS���@Ĭn&D8u"��T�p�D����@�s��P"�zD�� +N���7u�p�5�b�@�Sg �M��%�����ν"@]L�p�D���0����ySa B��@�,?�0����ySa ��3��@��g �M��%�����@��g �M��'�@ț N���7"�|D�� -N���7"�< o*D8y"@�T�P�=1�*D8y"@�T�p�D���0����ySa B��@�,?�0����ySa ��3��@��g �M��%�����@��g �M��'�@ț -N���7"��j b��T�p�D���0����ySa ��3��@��Y~Pa ��3��@��g �M��'�@ț +N���7"�< o*D8y"@�T�P�=1�*D8y"@�T�p�D���0����ySa B��@�,?�0����ySa ��3��@��g �M��#���'"�< o*D8y"@�T�p�D���0��{ b�T�p�D���0����ySa ��3��@��Y~Pa ��3��@��g �M��'�@ț J�"f�A��'�@ț -N���7"�< o*D(����"�< o*D8y"@��y ¹�@�� J�"f�A��'�@ț:D8�e ��0����uSa B��@�,?��@�s��P"�:�n*D8y"@��y B�31�� N��p7"�< o�<��k �ń�������@��g �M��'�@ț +N���7u�p�5�b�@�R�}Pa ��3�N}���{"D8q"@�T�P�=1��<��k �ń���@�� +N���7u�P�D��f�@�Sg �M��'�@ț:D8���u1a B��@��>�0����ySa ��3��@��g �M��%�����@��g �M��'�@ț N���7"�|D�� -N���7"�< o*D8y"@�T�P�=1�*D8y"@�T�p�D���0����ySa �ȯ"F�I��'�@ț -N���7"�< o*D(����"�< o*D8y"@�T�p�D���0��{ b�T�p�D���0����ySa bX5��Bk ���01��1�"���>z��"�ck ��2�����O����?��C����������O=C��z�W˕��D�_����D����;,�~�!,��}���M��X�wX<�*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX�BX�� �A�T��|�ų��BX�� �A�T��<a1ț -a��',yS!,V��� +N���7"�< o*D8y"@�T�0Q~Ra ��3��@��g �M��'�@ț +J�"f�A��'�@ț +N���7"�< o*D(����"�< o*D8y"@�T�V �@���x7�0DotD|������ϟ^�ᇁ����x�D�÷���?��o����������_ϐ�������r�<?���/7>��������_z�?x�),yS!,V��� a��',yS!,v�� o*��N���M��X�wX<�*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX�BX�� �A�T��|�ų��BX�� �A�T��<a1ț -a��',yS!,6�x��T��<a1ț -a��',yS!,v�� o*��J���Y~P�عWX�bBX�� ���T��<a1ț:��ʝ�xV7�b�NX�BX�� �A��9,v����+��g�A�������sX��+,u1!,v���n*��J���Y~P�عWX�bBX�� ���T��<a1ț +a��',yS!,V��� +a��',yS!,v�� o*��N���M��X�wX<�*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX�BX�� �A�T���*,�'�b'OX�BX�� �A�T��<a1ț +a���x��9,v����;u�bp7�b'OX��a�r',��̈́�ة���;y�b�7u��{�Š.&��J����}P!,v�� o�;� +�A]L��:a1�� +a���x��9,v����;u�bp7�b'OX�BX��;,���b'OX�BX�� �A�T��<a1ț a���x�T��<a1ț a��',yS!,v�� o*��J���Y~P!,v�� o*��N���M�������+��g�A�������;y�b�7�b'OX�BX��;,���b'OX�BX�� �A�T��<a1ț -a���x�T��<a1ț -a��',yS!,v�� o*��F~�� -a��',yS!,v�� o*��N���M��X�wX<�*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX�BX�� �A�T��|�ų��BX�� �A�T��<a1ț:��ν�bP�b��a��>�;y�b�7u�����=�b'NX�BX��;,��u��{�Š.&��N���M�������sX�� �gu3!,v���n*��N���M��b�^a1�� a�R�xvT��<a1ț -a��',yS!,v�� o*��J���Y~P!,v�� o*��N���M�������+��g�A�������;y�b�7�b'OX�BXl�Wa�(?�;y�b�7�b'OX�BX�� �A�T��|�ų��BX�� �A�T��<a1ț +a��_�ţ��BX�� �A�T��<a1ț a��',yS!,V��� -a��',yS!,v�� o*��c��bx���w��xx��|��ۍ�FsX��VX��nE�?��_����������_��y�����O���]�Ώ�����VQ������s�^��U���p9ɛ:^E���*rP7s��\��U��n�|�����I���*r��~9���ȝ8W�����W�K�����M��"��u9ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^P�0�O� �k1��M��|-����b������7u^p�,������}Y u1����^��n� �k1��M�{-����b�T���r7u^��@�}Y u1�����b��� �k1��M���@�bR����y1�ɳ��:.H�e1��Ŝ�z-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���%ߋ���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b������7u^p�,���R�H��y1@��b�ɛ:/H�Z yS���'�b��� �k1��M��|-����b�t_H]�y1�����:/H�Z yS������@���y1@��b���:/8y@~P����,����b�T���r7u^��@ν@��y1@��b���:/H�Z yS����,����b�Sg1��u^��@�R�H��y1@��b�ɛ:/8y@~P���)_�$o� �k1��M��|-����b��g1��u^��@�R�H��y1@��b�ɛ:/(�^��'u^��@�R�H��y1@��b�ɛ:/8y@~P���)_�$o� �k1��M��|-����b��g1��u^��@�R�H��y1`���b�����U��ŀ�~�b��*~����ck1��nj�;��?������?~�����/���/?��_~������秷�b�����߽|~��ߍ�� �#�x�{��C���M��,?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț +a��',yS!,v�� o*��N���M��X�wX<�*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX��a�s���ń�X�wX<�*��N���M�b���� ~O��؉���+��g�A��b�^a1�� a�S',wS!,v�� o�+w��Y�L��:a1�� +a��',yS�عWX�bBX��;,���b'OX�BX�� �A�T��<a1ț +a���x�T��<a1ț +a��',yS!,v�� o*��J���Y~P!,v�� o*��N���M��������UX<�O*��N���M�������;y�b�7�b%�a�,?�;y�b�7�b'OX�BX�� �A�T��|�ų��BX�� �A�T��<a1ț +a����^h�����!,��7�<�vc�����[���������o���y��������?e�|�y�U�*��u�ܻ}�G/4\EN�W�;����͜�"��u9��:_E.��*r�7u��\��_EN����*r'�U�>��U�R��"'yS�ȥ|]EN�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��|/��:/H�Z yS���)_�$o� �k1��M��<� ?��b�t_H]�y1@��b���:/H�Z yS����^��n� �k1��M��|-����b�t_H]�y1�����:/H�Z yS����,����b�T���r7u^p�,������}Y u1����^��n� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1@��b�,?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� �k1��M��<� ?��b������7u^��@�R�H��y1�ɳ��:/H�Z yS���)_�$o� ݗ��Rs^p�,���R�H��i1@��/��=q^��@�N�����q1@�/��.� �k1��M��|-����b�s���P7s^��@�R�H��q1@�/��.���Y��A��|-����b������7u^��@�N�����y1@��b�ɛ:/H�Z yS���)_�$o���Y��A��|-����b������7u^��@�J�f�I��|-����b������7u^��@�N�����y1@��b�ɛ:/H�Z yS���)_�$o���Y��A��|-����b������7u^�3w�@/ty�}�{1`z�߾�����>�ŀ��Zx�1��N�������w��������˟���ˏ���飨�����د��r�w/�_��wc;�{��H/����z~�BS�9�*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț �����yS��T��z�� -�����yS��t� o*��N���M��S�w�9�*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț -�����yS��4��s��Th=�<�'ț -�����yS��t� o*��J�[�Y~P��ӹW� �bB���i=��Th=�<�'ț:��ʝ�sV7ZO�N� �B���i=A�Թ�t��z����z*�n=g�A�����z���s��ܫ�u1��t괞�n*��J�[�Y~P��ӹW� �bB���i=��Th=�<�'ț +�����yS��t� o*��N���M��S�w�9�*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �B���i=A�Th=�����'ZO'O� �B���i=A�Th=�<�'ț +�����s�Թ�t��z����z:uZOp7ZO'O� �έ�r����̈́�ө�z����z:yZO�7un=�{���.&��J�[��}P��t� o��z:�j=A]Lh=�:�'�� +�����s�Թ�t��z����z:uZOp7ZO'O� �B�����ZO'O� �B���i=A�Th=�<�'ț �����s�Th=�<�'ț �����yS��t� o*��J�[�Y~P��t� o*��N���M�����z����z*�n=g�A�����z����z:yZO�7ZO'O� �B�����ZO'O� �B���i=A�Th=�<�'ț -�����s�Th=�<�'ț -�����yS��t� o*��F~�z�� -�����yS��t� o*��N���M��S�w�9�*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț:��νZOPZO�ޭ��>��z:yZO�7ul=���z��=ZO'N� �B�����un=�{���.&��N���M�����z���s��i=gu3��t괞�n*��N���M�[O�^�'�� ��R��svTh=�<�'ț -�����yS��t� o*��J�[�Y~P��t� o*��N���M�����z����z*�n=g�A�����z����z:yZO�7ZO'O� �B�i�W��(?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț +���_�����B���i=A�Th=�<�'ț �����yS��T��z�� -�����yS��t� o*��C�h[Ox��z��)�o�����j=_>����Wj=�ci=�/��������?��������۟�\9Ϗ��_}/�J�]����������^h��f�A����S����P�9y�?�7�?'O��B�������?'O��B����@�T���<�ț +�����yS��t� o*��N���M��S�w�9�*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �έ�s���ń�S�w�9�*��N���M[O���� ~O��Ӊ�z����z*�n=g�A�[O�^�'�� ��S��wS��t� o��z*wZ�Y�Lh=�:�'�� +�����yS��ӹW� �bB�Ի���ZO'O� �B���i=A�Th=�<�'ț +�����s�Th=�<�'ț +�����yS��t� o*��J�[�Y~P��t� o*��N���M�����z����z�U�9�O*��N���M�����z����z:yZO�7ZO%߭�,?��z:yZO�7ZO'O� �B���i=A�Th=�|�����B���i=A�Th=�<�'ț +��%��^h���zʧۭ��FG���Z�ןO���Z��XZ��K��_������O����r����':W��#}�W�˭�sW�k�����������Y~P��s�T o*TN���M����S����P�)���f�A����S����P�9y�?�7�?'O��B�������?'O��B����@�T���<�ț ՟���o�T���<�ț -՟���yS��s�T o*TJ���Y~P��s�T o*TN���M����S����P�)���f�A����S����P�9y�?�7�?'O��B�g�W��(?�P�9y�?�7�?'O��B����@�T���|W����՟s���ń�ϩS����P�9y�?�7u���;�߬n&TN���M����S����s��ܫ�u1��S�]��� -՟���yS��ϹW��bB��ԩ���T���|W����՟s���ń�ϩS����P�9y�?�7�?%���,?�P�9y�?�7�?'O��B����@�T���|W���B����@�T���<�ț +՟���yS��s�T o*TJ���Y~P��s�T o*TN���M����S����P��U�7�O*TN���M����S����P�9y�?�7�?%���,?�s��ܫ�u1��s�T�n*TN���M��?�N�7�� ՟S��wS��s�T o�\�9���@]L���zW���B����@�Թ�s�U����P�9u�?p7�?%���,?�s��ܫ�u1��s�T�n*TN���M��O�w�7�*TN���M����S����P�9y�?�7�?%���,?�P�9y�?�7�?'O��B����@�T���|W���B����@�T���<�ț ՟���yS��S�]��� -՟���yS��s�T o*TN���M��O�w�7�*TN���M����S����P�9y�?�7�?%���,?�P�9y�?�7�?'O��B����@�T�������'�?'O��B����@�T���<�ț +՟���yS��s�T o*TN���M��O�w�7�*TN���M����S����P�9y�?�7�?#���F�I����S����P�9y�?�7�?'O��B�������?'O��B����@�T���<�ț ՟���o�T���<�ț -՟���yS��s�T o*TJ���Y~P��s�T o*TN���M����S����P�)���f�A����S����P�9y�?�7u���{U�.&TJ����}P��s�T o�X�9����{"TN���M��O�w�7��\�9���@]L���:��� -՟���yS��O�S���fB��ԩ���T���<�ț:Wν�?P�?�����>�P�9y�?�7�?'O��B����@�T���|W���B����@�T���<�ț -՟���yS��S�]��� -՟���yS��s�T o*TN���M���ȯ��Q~R��s�T o*TN���M����S����P�)���f�A����S����P�9y�?�7�?'O��B�������?'O��B����@�T���D�U�B��{Wֽܮ��7��7<~�z���{8U�T�����~�s������۱�+���=}��ٽ���|�����[Ͻ{���u��_�?|�䗧Q��������4ʛ��������ӽ���I~Po�_���O�c_O���7��Χ{����Q����ڝ��è.����w/�3_O���ސ?�=??��|=��ސ?�=<i���Q]���o��g��_�FwS?nn>�~5��~���4�O� ��W�v�Թ�?��b�0�~3O�V}y�M�!�j��g~y�M�X~��ռ��r_&u3o��د{=��ސ?�ݿ|���z�M�!�{���Ϣ�=�c���O��?�|=M�zC���<��|=��ސ�~/_�~���/O���7������_�FyS?�?�~;���c_O���ސ�~;��c_O���7����g����Q���_������(o*\4�����Y~P�y'�E� o*\4��h�M���<�3 o*L�(�����&g�<�3 o*L�8y&g@�T��q�L��09��{rf�T��q�L��09�䙜ySar��39��䌒�əY~Par��39��䌓gr�M��'��ț +՟���yS��s�T o*TJ���Y~P��s�T o*TN���M��?�^��� ՟R��ovT���<�ț:VN}��@��՟��uS��S�]���:Wν�?P�?�N��B����@�Թ�S�T���P�9u�?p7�?'O���՟s���ń�O�w�7�*TN���M����S����P�9y�?�7�?%���,?�P�9y�?�7�?'O��B����@�T���|W���B����@�T���<�ț +՟���yS��3��o��T���<�ț +՟���yS��s�T o*TJ���Y~P��s�T o*TN���M����S����P�)���f�A����S����P�9y�?�7��1Qs��Ъ�ޕuϷ���~� �_��=}�N��z,��å��_�����z��x�vl� +~~vO�n~vo��/��C����s����|����Ǘ�_���i�7��������g+�<��~,��{|�t/��i����o�������(o� �����~��i�7�������v���0���������˃�����>�7�w�Ϗ�3_O���7�OwO���aT������Y旧��ԏ��O�_��߄2�< �zC��ռ�0u�����7̯���ӳU_�FwSo�_���g��_�FyS?�߿~5oF�ܗ�I���ǻ��/��^O���7�Ow�/_�g��FySo�_��G��(~O�X�����O�_O���ސ�~/O��_O���7��˗��{r���(o� ��w��A엧Q�ԏ可�������$?�7���ã����(o� ��s��~��i�7����+����4ʛ +�+��h~�T�h��s�<ț +�;y.�yS�y'��ț �3J�'gf�A��'��ț -�3N���7&g�<�3 o*L�(�����&g�<�3 o*L�8y&g@�T��q�L��09c�W�3����䌓gr�M��'��ț -�3N���7&g�|O���:O�8���u1arƩ39��䌓gr�M�'g�;�3���09�ԙ�wSar��39�Γ3ν&g@]L��Q�=93�*L�8y&g@��yrƹ���� �3N��p7&g�|O���:O�8���u1arƩ39��䌓gr�M��%ߓ3����䌓gr�M��'��ț +�3N���7&g�<�3 o*L�(�����&g�<�3 o*L�8y&g@�T��q�L��09��{rf�T��q�L��09�䙜ySar��39��䌒�əY~Par��39��䌓gr�M��'��ț +�3J�'gf�A��'��ț +�3N���7&g�<�3 o*L�����(?�09�䙜ySar��39��䌓gr�M��%ߓ3���Γ3ν&g@]L��q�L��09�䙜yS�����̬n&L�8u&g��T��q�L����s��P&g�zO��� +�3N���7u��q�59�b��Sgr�M��%ߓ3���Γ3ν&g@]L��q�L��09�䙜ySarF����,?�09�䙜ySar��39��䌓gr�M��%ߓ3����䌓gr�M��'��ț �3N���7&g�|O��� -�3N���7&g�<�3 o*L�8y&g@�T��Q�=93�*L�8y&g@�T��q�L��09�䙜ySarF����,?�09�䙜ySar��39��䌓gr�M��%ߓ3����䌓gr�M��'��ț -�3N���7&g��jrf��T��q�L��09�䙜ySar��39��䌒�əY~Par��39��䌓gr�M��'��ț +�3N���7&g�<�3 o*L�8y&g@�T��Q�=93�*L�8y&g@�T��q�L��09�䙜ySarF����,?�09�䙜ySar��39��䌓gr�M��#����'&g�<�3 o*L�8y&g@�T��q�L��09��{rf�T��q�L��09�䙜ySar��39��䌒�əY~Par��39��䌓gr�M��'��ț �3J�'gf�A��'��ț -�3N���7&g�<�3 o*L�(�����&g�<�3 o*L�8y&g@��yrƹ���� �3J�'gf�A��'��ț:N�8�er��09�ę�uSarF����,?���s��P&g�:�3�n*L�8y&g@��yrF�393�� �3N��p7&g�<�3 o�<9��kr�ń��ޓ3����䌓gr�M��'��ț +�3N���7u��q�59�b��R�ə�}Par��393N}���{"L�8q&g@�T��Q�=93��<9��kr�ń������ +�3N���7u��Q�L���f��Sgr�M��'��ț:O�8���u1arF�����>�09�䙜ySar��39��䌓gr�M��%ߓ3����䌓gr�M��'��ț �3N���7&g�|O��� -�3N���7&g�<�3 o*L�8y&g@�T��Q�=93�*L�8y&g@�T��q�L��09�䙜ySar�ȯ&gF�I��'��ț -�3N���7&g�<�3 o*L�(�����&g�<�3 o*L�8y&g@�T��q�L��09��{rf�T��q�L��09�䙜ySarf�Mq�3�Bkr�ݬ��ۓ3���ə�O����tO�3�L�<^&g����_~��/�����o�������������_�V������7�����{|������[0�xv��{�-��u��p7v�<� o�[���-��̈́���n�� -�N���7u�-p��n��a�@��n��>��[���-�ySa��ɳ[���n��g���M��%����n��g���M��'�nț -�N���7v�|��� -�N���7v�<� o*�8yv@�T�-P�[0�*�8yv@�T�-p������[���-�ySa�@��n�,?��[���-�ySa��ɳ[���n��g���M��%����n��g���M��'�nț -�N���7v�|��� -�N���7v�<� o*�8yv@�T�-P�[0�*�8yv@�T�-p������[���-�ySa��ȯvF�I��'�nț -�N���7v�<� o*�(��-��u�-p�[��b�n�Sg���M��'�nț:�(wvfu3a����[���n��g���M�w�{�����[��{�`vT�-p������n�s��Pv�:��n*�(��-��u�-p�[��b�n�Sg���M��'�nț +�3N���7&g�<�3 o*L�8y&g@�T��1�əQ~Rar��39��䌓gr�M��'��ț +�3J�'gf�A��'��ț +�3N���7&g�<�3 o*L�(�����&g�<�3 o*L�8y&g@�T��gS���К�y7��r{rfx��>9����߳��irf=�ə����?�����~��������O�~���?|�ݿ����?�=~}�毴�v�w�����u�|v��n��{��δ[���n��g���M�w�;�����[���-�wSa��ɳ[�N}�-��{"�(��-��v�<� o*�8yv@�T�-p������[��{�`�T�-p������[���-�ySa��ɳ[���n���݂Y~Pa��ɳ[���n��g���M��'�nț �J�wf�A��'�nț �N���7v�<� o*�(��-��v�<� o*�8yv@�T�-p������[��{�`�T�-p������[���-�ySa��ɳ[���n���݂Y~Pa��ɳ[���n��g���M��'�nț �J�wf�A��'�nț -�N���7v�<� o*���n�(?��[���-�ySa��ɳ[���n��g���M��%����n��g���M��'�nț +�N���7v�<� o*���n�(?��[���-�ySa��ɳ[���n��g���M��%���λνv@]L�-p������[���-�yS����n��n&�8uv��T�-p������n�s��Pv�z��� +�N���7u�-p�[��b�n�Sg���M��%���λνv@]L�-p������[���-�ySa�@��n�,?��[���-�ySa��ɳ[���n��g���M��%����n��g���M��'�nț +�N���7v�|��� +�N���7v�<� o*�8yv@�T�-P�[0�*�8yv@�T�-p������[���-�ySa�@��n�,?��[���-�ySa��ɳ[���n��g���M��#��-�'v�<� o*�8yv@�T�-p������[��{�`�T�-p������[���-�ySa��ɳ[���n���݂Y~Pa��ɳ[���n��g���M��'�nț +�J�wf�A��'�nț +�N���7u�-p�[��b�n�R�݂�}Pa��ɳ[�N}�-��{"�8qv@�T�-P�[0��[��k���ń���n�� +�N���7u�-P����f�n�Sg���M��'�nț:�8��-�u1a�@��n��>��[���-�ySa��ɳ[���n��g���M��%����n��g���M��'�nț �N���7v�|��� -�N���7v�<� o*�8yv@�T�-P�[0�*�8yv@�T�-p������n�s��Pv�z��� -�N���7u�-p��n��a����[���n���݂Y~P���^��.&�8uv��T�-p������n�rg�`V7v�:��n*�8yv@��y����n�� �J�wf�A��'�nț -�N���7v�<� o*�(��-��v�<� o*�8yv@�T�-p������[��{�`�T�-p������[���-�ySa��ɳ[���n��_��� -�N���7v�<� o*�8yv@�T�-P�[0�*�8yv@�T�-p������[���-�ySa�@��n�,?��[���-�ySa��ɳ[���n�P���x��[p�B�?��-���-�B����v�c�-�|�-�����/�����o�����~������_�h���zy�s�+��y�����ł���+���~㡞��u�z�M�z��Sσ��c=�ԗz��P�+��g�A�z��Sσ��P�;y�y�7�y'O=�B=�仞���y'O=�B=���A�T��<�<ț +�N���7v�<� o*�8yv@�T�-0�݂Q~Ra��ɳ[���n��g���M��'�nț +�J�wf�A��'�nț +�N���7v�<� o*�(��-��v�<� o*�8yv@�T�- +{�[�/�v�m|��[0�ѱ[��v/�7��Dz[���[����_����������?������������� +W���|����[����WN=��C=���L�<�� +�����yS�zީ/�<����W�]��� +�����yS��w��� o*��N�z�M�z^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț +�����yS��W�]��� +�����yS��w��� o*��N�z�M�z^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț +�����yS��7�z~��T��<�<ț +�����yS��w��� o*��J���Y~P�zW=�bB=�ԩ���T��<�<ț:��ʝz~V7�y�N=�B=���A�Թ�w�Uσ��P�+���g�A�z��Sσ��s=�ܫ�u1��w����n*��J���Y~P�zW=�bB=�ԩ���T��<�<ț ����z~�T��<�<ț �����yS��w��� o*��J���Y~P��w��� o*��N�z�M�z��Sσ��P�+���g�A�z��Sσ��P�;y�y�7�y'O=�B=�仞���y'O=�B=���A�T��<�<ț ����z~�T��<�<ț -�����yS��w��� o*��J���Y~P��w��� o*��N�z�M�z��Sσ��P��U=?�O*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�s=�ܫ�u1��w����n*��N�z�M��y�N=?�� ��S��wS��w��� o�\�;���A]L��z����B=���A�Թ�w�Uσ��P�;u�yp7�y%���,?�s=�ܫ�u1��w����n*��N�z�M�z^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț +�����yS��w��� o*��F~UϏ� +�����yS��w��� o*��N�z�M�z^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț:��ν�yP�y�����>�P�;y�y�7u���Rσ�=�y'N=�B=�仞��u��{��.&��N�z�M�z��Sσ��s=�ܩ�gu3��w����n*��N�z�M��y�^�<�� ��R�z~vT��<�<ț +�����yS��w��� o*��J���Y~P��w��� o*��N�z�M�z��Sσ��P�+���g�A�z��Sσ��P�;y�y�7�y'O=�B=o�W��(?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț �����yS��W�]��� -�����yS��w��� o*��N�z�M�z^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y#���G�I�z��Sσ��P�;y�y�7�y'O=�B=�仞���y'O=�B=���A�T��<�<ț -����z~�T��<�<ț -�����yS��w��� o*��J���Y~P��w��� o*��N�z�M��y�^�<�� ��R�z~vT��<�<ț:��N}��A������uS��W�]���:��ν�yP�y�N=�B=���A�Թ�W��P�;u�yp7�y'O=����s�z�ńz^�w=?�*��N�z�M�z��Sσ��P�;y�y�7�y%���,?�P�;y�y�7�y'O=�B=���A�T��|����B=���A�T��<�<ț -�����yS��7�z~��T��<�<ț -�����yS��w��� o*��J���Y~P��w��� o*��N�z�M�z��Sσ��P�+���g�A�z��Sσ��P�;y�y�7����v�<�Ъ�_h��7:���TϿ~|�I5�����_.��?�����_~���_~��?����������/P�������s���N�Ǘ�I��KI�/4%� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7�j'OR �BR��;����j'OR �BR��I�A�TH��<I5ț +�����yS��w��� o*��c���yx�UϿ+ԇz~x����L�����ןTS=�K=��R��ӟ~�����w�~I������_���������x~�/ϯ?�����z|�T_���T�BSR �BR��I�A�TH��<I5ț I���z�TH��<I5ț I��'�yS!�v�$� o*$�J���Y~P!�v�$� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7�j'OR �BR��;����j'OR �BR��I�A�TH��<I5ț I���z�TH��<I5ț -I��'�yS!�v�$� o*$�F~�T�� -I��'�yS!�v�$� o*$�N���M��Z�wR=��T;�J�A]LH��:I5�� -I��'�yS�Z��T��fBR��I���TH��<I5ț:'�ν�jP�j��I��>��T;y�j�7uN��{%ՠ.&$�N���M��Z�wR=��T;�J�A]LH��:I5�� -I��'�yS!�V�T�� -I��'�yS!�v�$� o*$�N���M��Z�wR=�*$�N���M���ɓT����T;y�j�7�j%�I�,?��T;y�j�7�j'OR �BR��I�A�TH��|'ճ��BR��I�A�TH��<I5ț +I��'�yS!�v�$� o*$�J���Y~P!�v�$� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7�j'OR �BRm�WI�(?��T;y�j�7�j'OR �BR��I�A�TH��|'ճ���I�s���ń�ک�T����T;y�j�7uN��;I��n&$�N���M���ɓT���sR��+�u1!�V�T�� +I��'�yS�ڹWR �bBR��I���TH��|'ճ���I�s���ń�ک�T����T;y�j�7�j%�I�,?��T;y�j�7�j'OR �BR��I�A�TH��|'ճ��BR��I�A�TH��<I5ț I��'�yS!�V�T�� -I��'�yS!�v�$� o*$�N���M���ȯ��Q~R!�v�$� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7�j'OR �BR��;����j'OR �BR��I�A�TH��<I5ț -I���z�TH��<I5ț -I��'�yS�ڹWR �bBR��;����j'OR �I�S_�j�'BR��I�A�TH��|'ճ���I�s���ń�ک�T����T;y�j�7uN��;I��n&$�N���M���ɓT���sR��+�u1!�V�T�� I��'�yS!�v�$� o*$�N���M��Z�wR=�*$�N���M���ɓT����T;y�j�7�j%�I�,?��T;y�j�7�j'OR �BR��I�A�TH���*��'�j'OR �BR��I�A�TH��<I5ț I���z�TH��<I5ț -I��'�yS!�v�$� o*$�J���Y~P!�v�$� o*$�N���M��z,�]R /��������~{R��#���//�T�ǒT?]�����o��������O?����T�����o?�^����^��.��ms���w��:�]��n*�E�之�M�"w��]� ~O��ȕx����B8�� �A�T�<�<ț +I��'�yS!�v�$� o*$�J���Y~P!�v�$� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7uN��{%ՠ.&$�J����}P!�v�$� o�T;�%��{"$�N���M��Z�wR=��T;�J�A]LH��:I5�� +I��'�yS�Z��T��fBR��I���TH��<I5ț:'�ν�jP�j��I��>��T;y�j�7�j'OR �BR��I�A�TH��|'ճ��BR��I�A�TH��<I5ț +I��'�yS!�V�T�� +I��'�yS!�v�$� o*$�N���M���ȯ��Q~R!�v�$� o*$�N���M���ɓT����T+�N�g�A���ɓT����T;y�j�7�j'OR �BR��;����j'OR �BR��I�A�TH���%��B+�~�-I��F�=�~�����J��cI��.I��뷿|�O���_����q*����ׇ�Y�\�Jw/�x�������e���?x��.rp7�"w��E�w�;��.r�'�]�J���Y}P!�w�� o*��N�p�M�p�����+��g�A�p�����;y�y�7�y'O8�B8��;����y'O8�B8�� �A�T�<�<ț +ἒ�p~�T�<�<ț +ἓ'�yS!�w�� o*��J���Y~P!�w�� o*��N�p�M�p�����+��g�A�p�����;y�y�7�y'O8�B8��;����y'O8�B8�� �A�T�<�<ț +ἒ�p~�T�<�<ț +ἓ'�yS!�w�� o*��F~Ώ� +ἓ'�yS!�w�� o*��N�p�M�p^�w8?���;� +�A]L�:�<�� +ἓ'�yS�p^����fB8�� ���T�<�<ț:��ν�yP�y�����>��;y�y�7u�{��.&��N�p�M�p^�w8?���;� +�A]L�:�<�� ἓ'�yS!�W���� ἓ'�yS!�w�� o*��N�p�M�p^�w8?�*��N�p�M�p�����;y�y�7�y%���,?��;y�y�7�y'O8�B8�� �A�T�|����B8�� �A�T�<�<ț ἓ'�yS!�W���� -ἓ'�yS!�w�� o*��N�p�M�p^�w8?�*��N�p�M�p�����;y�y�7�y%���,?��;y�y�7�y'O8�B8�� �A�T��*��'�y'O8�B8�� �A�T�<�<ț -ἒ�p~��9�w����;u�yp7�y'O8���r'���̈́pީ���;y�y�7u�{��.&��J����}P!�w�� o��;� -�A]L�:�<�� -ἒ�p~��9�w����;u�yp7�y'O8�B8��;����y'O8�B8�� �A�T�<�<ț +ἓ'�yS!�w�� o*��N�p�M�p�ȯ��Q~R!�w�� o*��N�p�M�p�����+��g�A�p�����;y�y�7�y'O8�B8��;����y'O8�B8�� �A�T�<�<ț ἒ�p~�T�<�<ț -ἓ'�yS!�w�� o*��J���Y~P!�w�� o*��N�p�M�p�����+��g�A�p�����;y�y�7�y'O8�B8��;����y'O8�B8�� �A�T�<�<ț -ἑ_����B8�� �A�T�<�<ț -ἓ'�yS!�W���� -ἓ'�yS!�w�� o*��N�p�M�p^�w8?�*��N�p�M�p�����;y�y�7�y%���,?��;y�y�7�y'O8���s�p�ńp^�w8?�*��N�p�M�y���� ~O�pމ���+��g�A��y�^�<�� �S'�wS!�w�� o��+w��Y�L�:�<�� -ἓ'�yS�pW8�bB8��;����y'O8�B8�� �A�T�<�<ț +ἓ'�yS�pW8�bB8��;����y'O8��S_�y�'B8�� �A�T�|������s�p�ńpީ���;y�y�7u�;���n&��N�p�M�p����s8��+�u1!�W���� +ἓ'�yS!�w�� o*��N�p�M�p^�w8?�*��N�p�M�p�����;y�y�7�y%���,?��;y�y�7�y'O8�B8�� �A�T��*��'�y'O8�B8�� �A�T�<�<ț ἒ�p~�T�<�<ț -ἓ'�yS!�w�� o*��J���Y~P!�w�� o*��N�p�M�p������U8?�O*��N�p�M�p�����;y�y�7�y%���,?��;y�y�7�y'O8�B8�� �A�T�|����B8�� �A�T�<�<ț -��P{�p^h���/4����������$o����}}~���S��wϏ��<�����k^��W/�vN����XO���v�`K������endstream +ἓ'�yS!�w�� o*��J���Y~P!�w�� o*��N�p�M�p~��m8/���wq��o��뇧�_�����r�����O=��=?�����y��_?^���9�����a=��^?������-��$���endstream endobj 1405 0 obj << /Type /Page @@ -3885,56 +3905,56 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 564.7821 194.7094 573.6288] /Subtype /Link -/A << /S /GoTo /D (896) >> +/A << /S /GoTo /D (894) >> >> endobj 1431 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 564.7821 538.9788 573.6288] /Subtype /Link -/A << /S /GoTo /D (896) >> +/A << /S /GoTo /D (894) >> >> endobj 1432 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 549.7734 178.1119 560.6774] /Subtype /Link -/A << /S /GoTo /D (900) >> +/A << /S /GoTo /D (898) >> >> endobj 1433 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 549.7734 538.9788 560.6774] /Subtype /Link -/A << /S /GoTo /D (900) >> +/A << /S /GoTo /D (898) >> >> endobj 1434 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.4658 536.822 299.4363 547.7259] /Subtype /Link -/A << /S /GoTo /D (908) >> +/A << /S /GoTo /D (906) >> >> endobj 1435 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 536.822 538.9788 547.7259] /Subtype /Link -/A << /S /GoTo /D (908) >> +/A << /S /GoTo /D (906) >> >> endobj 1436 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 525.9278 161.5041 534.7745] /Subtype /Link -/A << /S /GoTo /D (935) >> +/A << /S /GoTo /D (933) >> >> endobj 1437 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 525.9278 538.9788 534.7745] /Subtype /Link -/A << /S /GoTo /D (935) >> +/A << /S /GoTo /D (933) >> >> endobj 1438 0 obj << /Type /Annot @@ -3955,42 +3975,42 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 500.025 198.7046 508.8716] /Subtype /Link -/A << /S /GoTo /D (957) >> +/A << /S /GoTo /D (955) >> >> endobj 1441 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 500.025 538.9788 508.8716] /Subtype /Link -/A << /S /GoTo /D (957) >> +/A << /S /GoTo /D (955) >> >> endobj 1442 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.4658 485.0163 297.2047 495.9202] /Subtype /Link -/A << /S /GoTo /D (960) >> +/A << /S /GoTo /D (958) >> >> endobj 1443 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 485.0163 538.9788 495.9202] /Subtype /Link -/A << /S /GoTo /D (960) >> +/A << /S /GoTo /D (958) >> >> endobj 1444 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 472.0648 179.2174 482.9688] /Subtype /Link -/A << /S /GoTo /D (969) >> +/A << /S /GoTo /D (967) >> >> endobj 1445 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 472.0648 538.9788 482.9688] /Subtype /Link -/A << /S /GoTo /D (969) >> +/A << /S /GoTo /D (967) >> >> endobj 1446 0 obj << /Type /Annot @@ -4317,28 +4337,28 @@ endobj 1492 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 158.3861 174.2362 167.3523] +/Rect [118.5554 158.5057 174.2362 167.3523] /Subtype /Link /A << /S /GoTo /D (param-email) >> >> endobj 1493 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 158.3861 538.9788 167.3523] +/Rect [527.0237 158.5057 538.9788 167.3523] /Subtype /Link /A << /S /GoTo /D (param-email) >> >> endobj 1494 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 145.5543 203.3868 154.4009] +/Rect [118.5554 145.4346 203.3868 154.4009] /Subtype /Link /A << /S /GoTo /D (param-patchviewer) >> >> endobj 1495 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 145.5543 538.9788 154.4009] +/Rect [527.0237 145.4346 538.9788 154.4009] /Subtype /Link /A << /S /GoTo /D (param-patchviewer) >> >> endobj @@ -4359,14 +4379,14 @@ endobj 1498 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 119.6514 221.2895 128.498] +/Rect [118.5554 119.5318 221.2895 128.498] /Subtype /Link /A << /S /GoTo /D (param-shadowdatabase) >> >> endobj 1499 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 119.6514 538.9788 128.498] +/Rect [527.0237 119.5318 538.9788 128.498] /Subtype /Link /A << /S /GoTo /D (param-shadowdatabase) >> >> endobj @@ -4397,7 +4417,7 @@ endobj >> stream xڔ�K�dי��y} -I���eX���n����&������T3S(���y3�^;���y���(qk�NF��K����~���n�������cw�^���������o��8�G����x9\������x>w����ݏ���q<\^�z\v����ݏ��}9~������������w���z�~�ǿ|7������|�w?�x�������W������ϟ�����ϟ~���������Gq��y�Dܾ{������r��Q����;��{�]}���v9�~��zmO}������@#\����i�����#m�������^O������n�k��F�S_����C{=L�gnȧ��qO��qmO����������4➺��w��%�z������aw���|�&��n���r=�/�8���n���r9<R|=���n��{s>�/�zqO}���w�tJ_�q�/�����4➺�/����4➺�/��~�R����������?.��>N^R7���r��/�8���n����vK_�qqO��������i�=�5~Yޝ����4�%u_ޝ�#}��i�=u_ޝ�#}��i�=u_ޝ�>~��ӈ{�k���;�C���ӄ�� |yw��W1�4➺�/�������4➺��w��)~��ӈ{�k�����~J_�q��v��9}��i�=u�,���!��ӈ{���;�K��������}yw���e� /����n��>N#����,�R����� |yw�s�������cyw���e� /��i��ܗ���4➺�_v��>}��i�=u_������i�=�%~��w��!�C(���n�˻s=�S|=���n�˻s9R|=���n��� ����?,��霾��4�%u_ޝ�WQ�0Җ�!/o�ᒾ��4ڞ��/w�_��4��?�w�G�_��iw��bz=���n����v?��zqO��������#m������\�{�&��n��[s٧��8���n��[sN���F�27��9�)��F�S_���9��|�&��n��[s��o���� yyg��Gw:���n����q���i�=�5~���s�/�q��v��%}��i�=u���k���ӈ{���;�����4���.�������4�%u_ޝ�����i�=u_ޝ�=}��i�=u_ޝ�#~��ӈ{�k���;�}���ӄ�� |yw���e��� ���<�o�i�=u����c��������}����>N^R7��n=�/�8���n�˻s9�/�8���n�˻s>�S|=�����˻��$��4�%u_ޝ�5}��i�=u_ޝCz/E��� |yw���e_O#�/��~�;?��oVtw������i�=u��η�%��ӈ{�~�=n��e_O#����\Ӌo:MxI���w�r8��zqO���w�|L_�qqO���w�t�_��4��?.�����4�%u_ޝC�'":���n�˻�O��4➺��v��%~��ӈ{�k��ߝ���e� /��qw��uqO��/�������4➺�/�N�y�8��e����[s����8MvI������H_�qqO������_�"�>q�]ޖ�>~���H{�k���/���<u�/�K�G�0Җ�!_v��1}��i�=u��n����qqO}�_��c�/��0ў�!w�kz�X���� |yk.i/G��� |yk����H[�k���3��6�N�]R7��9���F�S7��9���uqO��oo���e_O#��~wx���&��n������&�i�=u������ӈ{�~�]o�mb�F�S_��ݹ��&��n�˻sI::���n�˻sNo�4➺�/������i�=�%~�/��1�M�Ӏ�� |ywiAG��� |yw�iAG��� ���<��˾�F�S_��nO::MxI�����-�M�ӈ{�~���iAG��� |yw.��e_O#�������:MxI���w�ttqO���w��&�i�=u_ޝ�FAgZ?�x�jp9�w���F��=��P��t�=�?�>���}w>�}z=�8��������v����TwzO�㜎���ú��>~���?}�O_��㷿�/���a�������iM�T�n�C��b9�z9o�Ƴ��8t�ݏc��ꁚ �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j_�Q$�S�`��xI�k�!>j��{j_�Q$�S�`�� ����3\5@�Kj_�Q$�S�`�� ����C|�� �Ծ��^R�`�� ����C|�� �Ծ�H���5��5���} 0�G �pO�k�!>j��{j_�Q$�S�`��xImk�������̾ңH���5�5@�=��f���} 0�G �lO�k�!>j��{j[��H�e�5��V ����C|�� �Զ�k �h��k�!=j�d{j_�p��/�m 0�� і���Cz����Ծ�H���5�W ����C|�� �Ծ�H���5�5@�=��f�j���Ծ�H���5�5@�=������} 0�U���5�5@�=������} 0�G �pO�k�� �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j_�Q$�S�`��`��Ծ�H���5�5@�=������} 0�U���5�5@�=������} 0�G �pO�k�� �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j[��H�e�5��V ����C|�� �Ԯ��j��O�k�!<j�D{j_�p��/�m 0�� і���Cz����Ծ�H���5��5@�=��������} 0�G �pOmk�������̾�Ѫ�]R�`�� ����C|�� �Ծ�H���5�W ����C|�� �Ծ�H���5�5@�=��f�j���Ծ�H���5�5@�=������} 0�g ��kj_�Q$�S�`�� ����C|�� �Ծ��^R�`�� ����C|�� �Ծ�H���5�W ����C|�� �Ծ�H���5�������s���vOTj��.��:��w��c�8�,�_>���'����/�>�;�����~�����[qቭ����C��⟾p�r�{���_8�ꁚ/�$�S�/��p}�$�%����_8I���_8��' ���'C\MS�=��>��=^R�i��j���4�p5M�Th�f����{*4M#|6M{��B�4��4�S�i��j���4�p5M�Th�F�l��xI��i��i +I���eX���n����&������T3S(���y3�^;���y���(qk�NF��K����~���n�������cw�^���������o��8�G����x9\������x>w����ݏ���q<\^�z\v����ݏ��}9~������������w���z�~�ǿ|7������|�w?�x�������W������ϟ�����ϟ~���������Gq��y�Dܾ{������r��Q����;��{�]}���v9�~��zmO}������@#\����i�����#m�������^O������n�k��F�S_����C{=L�gnȧ��qO��qmO����������4➺��w��%�z������aw���|�&��n���r=�/�8���n���r9<R|=���n��{s>�/�zqO}���w�tJ_�q�/�����4➺�/����4➺�/��~�R����������?.��>N^R7���r��/�8���n����vK_�qqO��������i�=�5~Yޝ����4�%u_ޝ�#}��i�=u_ޝ�#}��i�=u_ޝ�>~��ӈ{�k���;�C���ӄ�� |yw��W1�4➺�/�������4➺��w��)~��ӈ{�k�����~J_�q��v��9}��i�=u�,���!��ӈ{���;�K��������}yw���e� /����n��>N#����,�R����� |yw�s�������cyw���e� /��i��ܗ���4➺�_v��>}��i�=u_������i�=�%~��w��!�C(���n�˻s=�S|=���n�˻s9R|=���n��� ����?,��霾��4�%u_ޝ�WQ�0Җ�!/o�ᒾ��4ڞ��/w�_��4��?�w�G�_��iw��bz=���n����v?��zqO��������#m������\�{�&��n��[s٧��8���n��[sN���F�27��9�)��F�S_���9��|�&��n��[s��o���� yyg��Gw:���n����q���i�=�5~���s�/�q��v��%}��i�=u���k���ӈ{���;�����4���.�������4�%u_ޝ�����i�=u_ޝ�=}��i�=u_ޝ�#~��ӈ{�k���;�}���ӄ�� |yw���e��� ���<�o�i�=u����c��������}����>N^R7��n=�/�8���n�˻s9�/�8���n�˻s>�S|=�����˻��$��4�%u_ޝ�5}��i�=u_ޝCz/E��� |yw���e_O#�/��~�;?��oVtw������i�=u��η�%��ӈ{�~�=n��e_O#����\Ӌo:MxI���w�r8��zqO���w�|L_�qqO���w�t�_��4��?.�����4�%u_ޝC�'":���n�˻�O��4➺��v��%~��ӈ{�k��ߝ���e� /��qw��uqO��/�������4➺�/�N�y�8��e����[s����8MvI������H_�qqO������_�"�>q�]ޖ�>~���H{�k���/���<u�/�K�G�0Җ�!_v��1}��i�=u��n����qqO}�_��c�/��0ў�!w�kz�X���� |yk.i/G��� |yk����H[�k���3��6�N�]R7��9���F�S7��9���uqO��oo���e_O#��~wx���&��n������&�i�=u������ӈ{�~�]o�mb�F�S_��ݹ��&��n�˻sI::���n�˻sNo�4➺�/������i�=�%~�/��1�M�Ӏ�� |ywiAG��� |yw�iAG��� ���<��˾�F�S_��nO::MxI�����-�M�ӈ{�~���iAG��� |yw.��e_O#�������:MxI���w�ttqO���w��&�i�=u_ޝ�FAgZ?�x�jp9�w���F��=�y_��t�=�?�>���}w>�}z=�8��������v����TwzO�㜎���ú��>~���?}�O_��㷿�/���a�������iM�T�n�C��b9�z9o�Ƴ��8t�ݏc��ꁚ �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j_�Q$�S�`��xI�k�!>j��{j_�Q$�S�`�� ����3\5@�Kj_�Q$�S�`�� ����C|�� �Ծ��^R�`�� ����C|�� �Ծ�H���5��5���} 0�G �pO�k�!>j��{j_�Q$�S�`��xImk�������̾ңH���5�5@�=��f���} 0�G �lO�k�!>j��{j[��H�e�5��V ����C|�� �Զ�k �h��k�!=j�d{j_�p��/�m 0�� і���Cz����Ծ�H���5�W ����C|�� �Ծ�H���5�5@�=��f�j���Ծ�H���5�5@�=������} 0�U���5�5@�=������} 0�G �pO�k�� �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j_�Q$�S�`��`��Ծ�H���5�5@�=������} 0�U���5�5@�=������} 0�G �pO�k�� �%������} 0�G �pO�k�!>j��{j_�p��/�} 0�G �pO�k�!>j��{j[��H�e�5��V ����C|�� �Ԯ��j��O�k�!<j�D{j_�p��/�m 0�� і���Cz����Ծ�H���5��5@�=��������} 0�G �pOmk�������̾�Ѫ�]R�`�� ����C|�� �Ծ�H���5�W ����C|�� �Ծ�H���5�5@�=��f�j���Ծ�H���5�5@�=������} 0�g ��kj_�Q$�S�`�� ����C|�� �Ծ��^R�`�� ����C|�� �Ծ�H���5�W ����C|�� �Ծ�H���5�������s���vOTj��.��:��w��c�8�,�_>���'����/�>�;�����~�����[qቭ����C��⟾p�r�{���_8�ꁚ/�$�S�/��p}�$�%����_8I���_8��' ���'C\MS�=��>��=^R�i��j���4�p5M�Th�f����{*4M#|6M{��B�4��4�S�i��j���4�p5M�Th�F�l��xI��i��i ��B�4��4�S�i��j���4���4�� M�W�pO��i��i ��B�4��4�S�i�i��%����)�� @@ -4444,7 +4464,7 @@ E ��WqpO��`���`��Thf�ꃀ{*3\ B�=:��!�� 5���xM�&a��J��B�0��&�S�O��*�P)���)�� ��W�pO�ba��Y��B�0�U.�S�^�_��%���!�� -%�W�pO��aӏK���@�i��@��vհy����p��[ ��]�qjv �k��|����������ܞ��R��ͯ�;]w�����ϫs��^S?�w�����^��i�=u��x��o?�D�8MxI�����sM��4➺��"h��^ +%�W�pO��aӏK���@�i��@��vհy����p��[ ��]�qjv �k��|����������ܞ��R��ͯ�;]w�����ϫs��^S?�w�����^��i�=u��x��o?�D�8MxI�����sM��4➺��"h��^ ��B�4�U/�S�^�^��%��z)�� ��W�pO�zi��^ ��B�4�g���K*�K3\�R�=��z)�� @@ -4467,7 +4487,7 @@ E ��B�4�U/�S�^�᪗�P/��Y/�� ��W�pO�zi��^ ��B�4�U/�S�^�^��%��z)�� -��W�pO�ziۉ���@�^��@��v��y��]/]�!��O7���S�^zY���_���ϟ~�@ӷR���a��_gyY^��l`�=X�O�4�^<P���S����j`����p5���Th`E�l`�xI�V�����B+����S����j`��������� +��W�pO�ziۉ���@�^��@��v��y��]/]�!��O7���S�^zY���_���ϟ~�@ӷR���a��_gyY^��l`�=X�O�4�^<P���S����j`����p5���Th`E�l`�xI�V�����B+����S����j`��������� �WpO�V�����B+����S��᳁��%X��� �WpO�V�����B+��X-^S����j`����p5���Th`e�X�{*4�"|6�z��� �� ,�-X�؞ �WpO�X��VO{&4�2Z ,�=X����7�2{4���Lh`E�l`�vI�V������ �� ,�-X�؞ @@ -4490,7 +4510,7 @@ E �7���=vo2\�7�{*��D�ܽ�� �7���=vo2\�7�{*��d�vo��TؽI�ݛ���{��ڽ�Sa�&õ{����M�k�pO�ݛ��7=^Ra�&õ{����M�k�pO�ݛ�� �� �7>woz����M�k�pO�ݛ�� �� -�7�fK�{4vo��|�i����\�ݛ����q�wot����yݽ�������K��9/O��Y�sz}���mk��|_�>�P��=a݄�v�O燗T�q��v�����i�=u��·�%��ӈ{���;�s����������;=���>N^R7���~��S|=���n����vM_�qqO��������i�=uc�i���p�j^R�Q��Z�{j?��cT�pO�G�B|�j���V�kT�ڏj���"�S�Q��Z�{j;���іُje�F��.���V��Q-�=�� +�7�fK�{4vo��|�i����\�ݛ����q�wot����yݽ�������K��9/O��Y�sz}���mk��|_�>�P��=a݄�v�O燗T�q��v�����i�=u��·�%��ӈ{���;�s����������;=���>N^R7���~��S|=���n����vM_�qqO��������i�=uc�i���p�j^R�Q��Z�{j?��cT�pO�G�B|�j���V�kT�ڏj���"�S�Q��Z�{j;���іُje�F��.���V��Q-�=�� �uT�h��G�Bz�j�����V��Q�����Vh��ZD[f?��cT�lO�G�B|�j���Vf�Q-�=�� �1�E����Z!>F���nT+���j�>���`�j]R�Q��Z�{j?��cT�pO�G�B|�j���V�kT�ڏj���"�S�Q��Z�{j?��cT�pO�G�2\�Z���~T+�Ǩ�ڏj���"�S�Q��Z�{j?��������Z!>F���~T+�Ǩ�ڏj���"�S�Q�ר�%�� �1�E����Z!>F���~T+�Ǩ�ڏje�F��/���V��Q-�=�� @@ -4515,7 +4535,7 @@ E ��W�pO��g���g��Th|f���{*4>3\�O�=�o|f�h|m��������� ��W�pOm��6>~���V�hO��g���g��Ծ�٣� �eB�3����S���j|�}�3����iτ�gF�� ��B�3����S��gf��'Ж �ψ����.����p5>�Th|f���{*4>3\�O�=�>�=^R���j|����p5>�Th|f���{*4>#|6>{��B�3����S���j|����p5>�Th|&�S��k*4>3\�O�=���'�� ��W�pO��g���g��Th|f���{*4>3\�O�=���'�� -�����/����p5>�Th|f���{*4>�Zb������:_��������{���N�ϯ��_����q-|�ӟ�}�͊��;\�>G1/_�����+�)������m�+���tߕ���w%g��+pOm�+9���J�}"|Wr��J�� +�����/����p5>�Th|f���{*4>�Zb������:���������{���N�ϯ��_����q-|�ӟ�}�͊��;\�>G1/_�����+�)������m�+���tߕ���w%g��+pOm�+9���J�}"|Wr��J�� ߕ����d�=�+9��]ɀ{*|Wr�뻒�T����ߕ��%�+9��]ɀ{*|Wr�뻒�T���WspO��|���|��Th�g���{*4�3\�y�=����<�� �����/�М�p5��Th�g���{*4�3\�y�=��>��=^R�9��j��М�p5��Th�g���{*4�#|6�{��Bs>�՜�S�9��j��М�p5��Th�G�l��xI��|��9��Bs>�՜�S�9��j��М��ٜ�� ��WspO��|��9��Bs>�՜�S�9��O����М�p5��Th�g���{*4�3\�y�=��>��=^R��|f��<Ж ���VslO��|��9������Vs��=����<؞ @@ -4538,7 +4558,7 @@ lO pO��"|~��%>��p}��Q����T�0*��a�� F%�ӇQ-^S�èׇQ�{*|���0 pO��2\F��aT���z��Q����T�0*��a�� -Fe�>��S�è�F�xI��2\F��aT���(�=>�j?��>��F=?����aT�D��è��$�ˁ>��ƇQ��a���?���>z���}���ƧP�~���/��M_>������mv��y����Ao��O�F�iN=���i��M�xM�i�״�� +Fe�>��S�è�F�xI��2\F��aT���(�=>�j?��>��F=?����aT�D��è��$�ˁ>��ƇQ��a���?���>z���}���ƧP�~���/��M_>������mv��y����Ao��O�F�iN=���i��M�xM�i�״�� �F�i#�=��2\�F�{*LE��6���Oe��6�2a�(�5m��´Q�k�pO���"[�F=�0m�њ6�Sa�(�5m����F�=����L�6��9m��%��2\�F�{j?m��c�h˄i��ִ؞ �F>��z����F�=����L�6�hM���0m��6�Sa�(��Q��T�6�pM�0m��6�Sa�(�5m��´Q��i�/�0m��6�Sa�(�5m��´Q�k�pO�i���F=^Ra�(�5m��´Q�k�pO�i�״�� �F>��z��´Q�k�pO�i�״�� @@ -4556,7 +4576,7 @@ W W�2\W�����JVd�JVO{&\��h]��S�JV��J���_���q%h˄+Y=�d�vI�+Y�+Y�{*\��p]��S�JV��J�� W�"|^��� W�2\W���T���Ẓ���ו,�=�dE�����%�de��d�p%+�u%pO�+Y�+Y�{*\�J�+Y-^S�JV��J�� -W�2\W���T���Ẓ����W�z���ו,�=�de��d�p%+�u%pO�+Y>�d�xI�+Y�+Y�{*\��p]��S�JVsC(��4�d=?���}%�y��(r:��ʢ�����v=�#��y����mөoW�.;�"9����;��~�����;����[��~�GԹwϸ�tݝno���^��i�=u����2|=�����o���r;��8MxI���w�|O_�qqO���w�������F�S7���9>�}=������ow���>N^R7���9�ӗ}�F�S7����җ}�F�S7�����zf;��e�����~L_�q�쒺��v��)}��i�=u�����vi�ܐ�w�r�_��4ڞ�_���n�m�)�u/o����#m�������^O������n�k��F�S_��ه������ ���>���=N����uw�?��|�F�S7�����_�"�>�5{<��}����D�� |y_������ |y_.o���i�=u_ޛ�1~��ӈ{�k���;�S���ӄ�� |yw���e��� |yw��e��� |yw��c����������?.��>N^R7�����k���ӈ{�~]��-}��i�=u��.�[��������eyw.o���4�%u_ޝs��F�S7���9=җ}�F�S7���9��}=����Ư˻s<�/�8MxI���w�pH3N#�������>N#��}w~��}=�����o���~J_�q��v��9}��i�=u�,���!��ӈ{���;�K��������}yw���e� /����n��>N#����o��>N#������_O#�������>N^R7��n��/}��i�=u���}���ӈ{�>��-���o�{*|�[�?}�[��T���w����o��~�S��2\�����w�E���/��w�e���7�-��-���o`{*|�[���������"[���Ӟ ������7�=��-���o�{j��o�=�� h˄�~����o�]R��2\����������߀�L��w������o>����Kj��o�=����L�h ���04���Sah(���P��T�p �04���Sah(�54����P�ϡ�/�04���Sah(�54����P�khpO����CC=^Rah(�54����P�khpO������� +W�2\W���T���Ẓ����W�z���ו,�=�de��d�p%+�u%pO�+Y>�d�xI�+Y�+Y�{*\��p]��S�JVsC(��4�d=?���}%�y��(r:��ʢ�����v=�#��y����mөoW�.;�"9����;��~�����;����[��~�GԹwϸ�tݝno���^��i�=u����2|=�����o���r;��8MxI���w�|O_�qqO���w�������F�S7���9>�}=������ow���>N^R7���9�ӗ}�F�S7����җ}�F�S7�����zf;��e�����~L_�q�쒺��v��)}��i�=u�����vi�ܐ�w�r�_��4ڞ�_���n�m�)�u/o����#m�������^O������n�k��F�S_��ه������ ���>���=N����uw�?��|�F�S7�����_�"�>�5{<��}����D�� |y_������ |y_.o���i�=u_ޛ�1~��ӈ{�k���;�S���ӄ�� |yw���e��� |yw��e��� |yw��c����������?.��>N^R7�����k���ӈ{�~]��-}��i�=u��.�[��������eyw.o���4�%u_ޝs��F�S7���9=җ}�F�S7���9��}=����Ư˻s<�/�8MxI���w�pH3N#�������>N#��}w~��}=�����o���~J_�q��v��9}��i�=u�,���!��ӈ{���;�K��������}yw���e� /����n��>N#����o��>N#������_O#�������>N^R7��n��/}��i�=u���}���ӈ{�>��-���o�{*|�[�?}�[��T���w����o��~�S��2\�����w�E���/��w�e���7�-��-���o`{*|�[���������"[���Ӟ ������7�=��-���o�{j��o�=�� h˄�~����o�]R��2\����������߀�L��w������o>����Kj��o�=����L�h ���04���Sah(���P��T�p �04���Sah(�54����P�ϡ�/�04���Sah(�54����P�khpO����CC=^Rah(�54����P�khpO������� CC>��z����P�khpO������� CC��!�=��"| �xI������� CC��!�=��2\CC�{* %���P��T�p �04���Sah(�54����P�ϡ�/�04���Sah(�54����P�khpO����CC=^Rah(�54����P�khpO������� @@ -4566,7 +4586,7 @@ CC CC��!�=��2\CC�{* e�����T��94��%��2\CC�{* e�����T�p �04��OCC-^Sah(�54����P�khpO������� CC>��z����P�khpO������� CC��!�=��"| �xI������� -CC��!�=�����hhh =?���=4�<�������044N}��CC����p���o��~ٛ�0�oo�����v������p��篟��O�s��C\��������8MxI��O�����3|=���n����p���zqO���wg��G���F�S7&���㜾��4�%uX�e-�=��2\�Z�{*,ke�����TX֊���%��2\�Z�{*,ke�����TX��p-k��sY��K*,ke�����TX��p-k���Vf�e-�-��"z.k�vI�e�ײ���/ke�X��2aY+�����²V�?-k�xM헵2{,km�����Z��SaY+õ�����Z��e���LX��h-k�������Z��S�e��^���~��Z<��z��²V�kYpO�e�ײ�� +CC��!�=�����hhh =?���=4�<�������044N}��CC����p���o��~ٛ�0�oo�����v������p��篟��O�s��C\��������8MxI��O�����3|=���n����p���zqO���wg��G���F�S7&���㜾��4�%uX�e-�=��2\�Z�{*,ke�����TX֊���%��2\�Z�{*,ke�����TX��p-k��sY��K*,ke�����TX��p-k���Vf�e-�-��"z.k�vI�e�ײ���/ke�X��2aY+�����²V�?-k�xM헵2{,km�����Z��SaY+õ�����Z��e���LX��h-k�������Z��S�e��^���~��Z<��z��²V�kYpO�e�ײ�� �Z�e-�=��"|.k�xI�e�ײ�� �Z�e-�=��2\�Z�{*,kE�\��� �Z�e-�=��2\�Z�{*,ke�����TX֊���%��2\�Z�{*,ke�����TX��p-k��sY��K*,ke�����TX��p-k���Z��SaY+��V��TX��p-k���Z��SaY+õ���²V��e�/�����Z��SaY+õ���²V�kYpO�e���Z=^RaY+õ���²V�kYpO�e�ײ�� @@ -4599,7 +4619,7 @@ CC �1�D���K!>&���~b)�5�xI�'�B|L,���R���%�=��X �1�D���K>'�z���K!>&���~b)�����O,���X"�S������%��X �1�D���K!>&���~b)�����O,e�&��/���R���%�=��X -�1�D���K�HP8�D��{�@����R�D�{bi����X��M,�����Ou]�t�]�o���p�ݏ��ֺ��[~�Gz:�{�xu�t�=no�#^<�|=�����χ����YN��ӄ�� ���O��_O#����\�>����4➺�/������i�=�5~Yޝ����4�%u_ޝ�1}��i�=u_ޝ�)}��i�=uck� 7�=&�"|N��xI� �ׄ�� +�1�D���K�HP8�D��{�@��R�D�{bi����X��M,�����Ou]�t�]�o���p�ݏ��ֺ��[~�Gz:�{�xu�t�=no�#^<�|=�����χ����YN��ӄ�� ���O��_O#����\�>����4➺�/������i�=�5~Yޝ����4�%u_ޝ�1}��i�=u_ޝ�)}��i�=uck� 7�=&�"|N��xI� �ׄ�� n� 7�=&�2\n�{*L�E��p�� n� 7�=&�2\n�{*L�e�&���T�p��9���%&�2\n�{*L�e�&����~�-�DŽЖ n='�z��[�k� pO�'�2{L�m�0�њp�Sa�-��&�Z���n�=&܀�L�p�hM����0��p�S� ��ք[O{&L�e�&���T�p�pM���[F�n��O� ��n=]Ra�-�5���[�k� pO� �ׄ�� n>'�z��[�k� pO� �ׄ�� @@ -4617,7 +4637,7 @@ CC n� 7�=&�2\n�{*L�e�&���T�p��9���%&�2\n�{*L�e�&���T�p�pM��0��s�K*L�e�&���T�p�pM��0��p�Sa�-��&�Z��[�k� pO� �ׄ�� n� 7�=&�"|N��xI� �ׄ�� n� 7�=&�2\n�{*L�E��p�� -n� 7�=&�2\n�{*L�5Kd�<Иp{~�ny�χ��|z����p;�?{_o?/��:^��=�tl�����������/���?��_�C)�.�m���=����o[�nO����g�����N���:Հ{*t�3\�j�=:��N5�� +n� 7�=&�2\n�{*L�5Kd�<Иp{~��c{y�χ��|z����p;�?{_o?/��:^��=�tl�����������/���?��_�C)�.�m���=����o[�nO����g�����N���:Հ{*t�3\�j�=:��N5�� �����/�Щ�pu��T�Tg�:Հ{*t�3\�j�=:�>;�=^R�S���T�Щ�pu��T�Tg�:Հ{*t�#|v�{��B�:�թ�S�S���T�Щ�pu��T�TG��T�xI�Nu��S ��B�:�թ�S�S���T�Щ��٩�� ��W�pO�Nu��S ��B�:�թ�S�S�S��%:��N5�� ��W�pO�Nu��S ��B�:�g���K*t�3\�j�=:��N5�� @@ -4660,7 +4680,7 @@ CC �=�)2\��{*,SD�\��� ��e �=�)2\��{*,S�� -�2<�X�x~��a{��y�O����o�����ٯ�+���v�}�����t�X=X���ܥ8������p���/�������� ����t�l�Ȓ��15R����H����F +�2<�X�x~�n��y�O����o�����ٯ�+���v�}�����t�X=X���ܥ8������p���/�������� ����t�l�Ȓ��15R����H����F ��T)�p����HAdk���=F 2Z#`{*�d�F ���v� �ב��'�HAϑ��.�0R��)��Sa� �5R����HA�k��pO����#=^Ra� �5R����HA�k��pO����H�� @@ -4710,7 +4730,7 @@ z "|��xI����H�� #���=F ��}:R�4F -��)h�����;��>���r���X���z��xڝ���J�8�cc�എ������_�����a���>����K.8�]�=|���Wu��ﺵ[0{���^��7������T�Ug�zՀ{*��3\�j�=z�>{�=^R�W���U�Ы�p���T�Ug�zՀ{*��#|��{��B�:�ի�S�W���U�Ы�p���T�UG��U�xI�^u��W ��B�:�ի�S�W���U�Ы��٫�� +���)h�����;��>���r���X���z��xڝ���J�8�cc�എ������_�����a���>����K.8�]�=|���Wu��ﺵ[0{���^��7������T�Ug�zՀ{*��3\�j�=z�>{�=^R�W���U�Ы�p���T�Ug�zՀ{*��#|��{��B�:�ի�S�W���U�Ы�p���T�UG��U�xI�^u��W ��B�:�ի�S�W���U�Ы��٫�� ��W�pO�^u��W ��B�:�ի�S�W�W��%z��^5�� ��W�pO�^u��W ��B�:�g���K*��3\�j�=z��^5�� ��W�pO�^u��^u��T�Ug�zՀ{*��3\�j�=z��^5�� @@ -4768,253 +4788,254 @@ E �A�T��E�� w'W� r�B���p�ܩpwr� w*ܕ|�Y>�pwr� w*ܝ\7ȝ w'W� r�B�]�w��� -w'W� r�B���p�ܩp��� ��V�}�BO���F�xx�{<����p�N����/������zN����i}_�����_�|���O1�~�}��� o~��O�7��ug��wV|��!+��B)+�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��F~�G��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ -Yq%�Yq�jΊ;�ʊAmLȊ;��bp;��N���N�Yq�VV��΄��S++�S!+��ʊA�Ԝw��ژ�W�g��BV�ɕ�ܩ9+��++�1!+��ʊ��TȊ+�Ί�|PsVܹWVjcBVܩ��۩�wre� w*dŕ|g�Y>��wre� w*dŝ\Y1ȝ -Yq'WVr�BV\�wV�� -Yq'WVr�BV�ɕ�ܩ�wre� w*dŕ|g�Y>��wre� w*dŝ\Y1ȝ -Yq'WVr�BV\�wV�� -Yq'WVr�BV�ɕ�ܩ�wre� w*dŕ|g�Y>��wre� w*dŝ\Y1ȝ -Yq'WVr�BV��/��(�TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�Ԝw��ژ�W�g��BV�ɕ�ܩ1+������wbeŠv*dŕ|g�Y>�9+��++�1!+��ʊ��TȊ;��b�;5gŕ[YqV;��N���N����++�SsVܹWVjcBV\�wV�݃ -Yq'WVr�BV�ɕ�ܩ�wre� w*dŕ|g�Y>��wre� w*dŝ\Y1ȝ -Yq'WVr�BV\�wV�� -Yq'WVr�BV�ɕ�ܩ�wre� w*dō�"+��I����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊc�e��B++�|���7�����z���|-�����Q���E9��*�A������/ux?|}��5��[/^9���mRښ�Ƅ��2�k�fcB�ژw��΄��2�h�fcB�Z���f�1!f��jY�٘P�6��F�3!c�̪X�٘аVf%��lLX+���l6&ԫ�yǫ��LHW+���l6&t��Y�j6��ʬf5�� �jc��j4;r�ʬZ5�� �jeV���ƄP�2�S�fcB�ژw��΄D�2�P�fcB�Z���f�1!N��jS�٘P�6��F�3!K�̪R�٘ФVf%��lLR+�z�l6&Ԩ��"FM����2�D�fcB�Z���f�1!B��jP�٘P�6��F�3s~Z�W}���ОV^��YlLO+���l6f�N����5"$��W�iz�ʬ�4���c�J�Z���H�Ҵ���4�� �ieVe���̍i%^�i�~$B`Zyf�1�.m�;.�fg洴��4{?�+���J�ؘ�Vf5��lL(J�J�ٙ��Vfդ�lLhI+�R�l6&���Yi6*�Ƽ#�hv&$��Yi6��ʬ|4�� �heV;��Ƅr�1�p4�� �heV5��Ƅf�2+�fcB0Z�Ջf�1�m�;�fgB*Z�U�f�1����D�٘�Vf5��lL(D�D�ٙ��Vfա�lLhC+���l6&���Y]h6���|�&�`BZ�U�f�1����A�٘�Vf���lL(A�A�ٙ��VfU��lLh@+��l6&��Y�g6��Ƽ��hv&���Y�g6��ʬ�3�� �geV��Ƅ�1��3�� �geV��Ƅֳ2+��fc�г��3{?��l�;�bgB�Y�Uxf�1c�Yy�yg�~�A�YY�vf�1��l�;�fg欳��3{?�鬼J:�ؘtVf���l�\s6bŜ�kDH9+�J�,6&t��Yg63G��x5����g��g;��ʬz3�� �feV���Ƅp�2���fcB�٘w��΄d�2���fcB�Y��kf�1!֬�j5�٘Pj6�jF�3!Ӭ̪4�٘�hVf%��lL4+���l6&ԙ��"�L���4�2���fcB�Y��ef�1!ʬ�j2�٘Pd6�dF�3!Ǭ̪1�٘�bVf���lL1+�:�l6&T��yG���LH0+� -�l6&���Y�e6��۹`�^�Y���ۤ��������uF�����N/���~��C�^��߿=�ե�J|y|z�_*D�o�K���)�J-b�*Ԉ�\9"ȝ -Ab'W�r�B���%�ܩ�%V��%f��B��ɕ&�ܩ'vrՉ w*�\�"ȝ -�b%ߍb�*T��\�"ȝ -�b'W�r�B���+�ܩ�+V��+f��B��ɕ,�ܩ-vrU� w*t��\�"ȝ -�b%��b�*ԋ�\�"ȝ -c'W�r�B���1�ܩ�1V��1f��B��ɕ2�ܩ3vrՌ w*�\A#ȝ -Ic#�h�|R�j���A�T;��F�;��N���N�����1�5��{%��6&D��Z�#�� -�c'W�r��Աr�u�jgB�ة�;�۩<vr� wjn;��AmL�+���{P�|��JA��?v�U?�ژ�?vj��v*$��|7�Y>�����+��1!���*!��Th!;�bH�;r�J�{�,T(";��H�;��N�*�N�.��+��S!��仍��A�:��+��S!���*$A�Th$;�"I�;2�J�;�,T(%;�RI�;b�N�Z�N�^��+��S!��仙��A�j��+��S!���*'A�Th';��I�;��J���,T((;�J�;"�N���N����+��S!�l�-e�O*Ԕ�\9%ȝ -Ae'WQ r�BS��U�ܩ�UV��Uf��BY�ɕV�ܩWvrՕ w*���\�%ȝ -�e%ߍe�*T��\�%ȝ -�e'Wi r�Bk��[�ܩ�[V��[f��Bq�ɕ\�ܩ]vrU� wj�.;� -/AmLH/+�n/�{P�����/A��`v�s� �Dh0;�"LP;2�J�;�,�\bv�b�ژcvj�v*���\A&ȝ���ʭ&3�� Uf�V� n�B���Uf�ܩ����+��1!ϬԻ���A�B��+��S!���4A�T�4;�BM�;R�J�[�,T�5;�rM�;��N�b�N�f��+��S!۬����A�r��+��S!���7A�T�7;�N�;�F~�pF��B��ɕq�ܩrvr�� w*���\1'ȝ -9g%�=g�*��\I'ȝ -Qg'W� r�B���v�ܩ�vV��vf��B��ɕw�ܩxvr� w*4�!Kl#Ox�Uy^�P�<�����x�������zjw��s��w����wv�ʫ��k�<��ֻ�|��y^y��yf��B����y�ܩ�yvru� w*t��\�'ȝ -�g%ߝg�*t��\�'ȝ -�g'W� r�B����y�ܩ�yV��yf��B����y�ܩ�yvru� w*t��\�'ȝ +w'W� r�B���p�ܩp��� ��V�}�BO��wx��~<��=���u�o'���������Ӎ�{=��V������ǿ|���_>�����r���X��7?�����_ٺ����;+�|�_y���ܩ�W�g��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq%�Yq�*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq%�Yq�*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq%�Yq�*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq#�Ȋ�|R!+��ʊA�TȊ;��b�;��N���N�����8�5gŝ{eŠ6&dŝZY1�� +Yq'WVr�欸r++�jgBVܩ��۩�wre� wjΊ;�ʊAmLȊ+�Ί�{P!+��ʊA�Ԝw��ژ�wje��v*dŕ|g�Y>�9+��++�1!+��ʊ��TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+n�Yq�O*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq%�Yq�*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� wjΊ;�ʊAmLȊ+�Ί�{P!+��ʊA�Ԙw�sV�DȊ;��bP;��J���,Ԝw��ژ�wje��v*dŝ\Y1ȝ���ʭ�8�� Yq�VVn�BV�ɕ�ܩ9+��++�1!+��;+��A����++�S!+��ʊA�TȊ;��b�;��J���,TȊ;��b�;��N���N����++�S!+��;+��A����++�S!+��ʊA�TȊ;��b�;��F~�G��BV�ɕ�ܩ�wre� w*dŝ\Y1ȝ +Yq%�Yq�*dŝ\Y1ȝ +Yq'WVr�BV�ɕ�ܩ�W�g��BV�ɕ�ܩ�wre� w*dű���bx��_�Pʊ���~��~z=�m� ����N����?~�����]Ϡ���[��K���:��>ߊ�wݚ�xǭ����6)m�fcB�Z�յf�1�jm�;j�fgB�Z�U�f�1�g���Y�٘�Vf���lL(Y�Y�ٙ��VfU��lLhX+��l6&��Y�j6��Ƽ��hv&���Y�j6��ʬl5�� �jeV���Ƅb�1�`5�� �jeV���ƄV�2+U�fcB�Z�թf�1�Rm�;R�fgB�Z�U�f�1�O���S�٘�Vf���lL(S�S�ٙ��VfU��lLhR+���l6&��Y=j6j��|�&�`B�Z�U�f�1�C���P�٘�Vf5��lL(P�P�ٙ9?�ī>�ޏDhO+���,6&���Y�i63W��X�i���ʫ�4�� �ieVn���̱i%^�i�~$Bi�xwh�΄̴2�2�fc�ƴ��4{?!0���K�ؘP�6��F�3sZZ�WY���ЕV^e�YlL�J+���l6&��y���L�I+�j�l6&���Y)i6B�ʬ�4�� ic�i4;�ʬ�4�� �heV>��Ƅx�2��fcB9ژw8�΄l�2��fcB3Z���f�1!���E�٘P�6��F�3!��*E�٘ЉVfe��lL�D+��l6&��y���L�C+���l6&���Yih6��ʬ.4�� Uha��B�y0! ��*B�٘ЃVf��lL�A+�Z�l6&���y����L�@+�*�l6&4��Y h6�ʬ�3�� �gc��g4;��ʬ�3�� �geV���Ƅ�2���fcB�٘w��΄ܳ2���fcB�Y��zf�1s�Y�W白�Py6�yF�3!��*<�٘�לּ�3[?� j;�טPv6�vF�3s�Y�Wՙ���tV^%�YlL:+�z�l6f�9�b��5"���W%g:�ʬ�3���#�J����H�����3�� �feV���Ƅv�2+��fcB�Y��mf�1��l�;ڌfgB�Y�Ulf�1���5�٘kVf���lL(5�5�ٙ�iVfU��lLh4+��l6&��Y}f6���|g&�`B�Y�Uff�1�ˬ��2�٘eVf5��lL(2�2�ٙ�cVf�lLh1+�R�l6&���Yf6*�Ƽ#�hv&$��Yf6��ʬ�2�� ���\�m/�۬���mRyy�uFx���:����zj������|��l/_��ߞ��Ry%�<>�܌/"Ʒ�%��k����1�j�N��N� ���H�S�I��A�T�+���|P�L��JA�T�;��D�;��N�@�N�D���F1�*�N�L�N�P���T�S�U��A�T�+���|P�X��JA�T�;��E�;��N�p�N�t���v1���N�|�N�����`�S�a��A�T�+���|P�d��JA�T�;�jF�;z�N���N����_4�Q>�P5vre� w*���\e#ȝ +mc'W�r�B�X�wߘ僚�νGP"�N���N�α�+t�Ss�X��:f�3�v�����T;��G�;57��{E��6&d��zw��=�P>vr�� wj�;��AmL�;�Hp;�J��,�\Av�A�ژBvj���v*���\1$ȝ +9d%�=d�*��\I$ȝ +Qd'W r�B��F�ܩ�FV��Ff��B�ɕG�ܩHvr� w*4��\�$ȝ +�d%ߝd�*���\�$ȝ +�d'W- r�B/��L�ܩ�LV��Lf��B5�ɕM�ܩNvr�� w*���\�$ȝ +�d%��d�*��\ %ȝ +e'WE r�BG��R�ܩ�R6�2�'j�N���N�������S����*A�T�*+��*�|P����J+A�T�+;��J�;��N���N�IJ���2�*�N���N�в����S����-A�T�-+��-�|P����J.A�T�.;��K�;5w��{���6&���z���=�P_vr� wj0;����G"4��X&�� +f%�f�j.1;�J1AmL�1;�jLp;z�N� �N�If�V���΄*�S+��S!���*3A���fv�g�ژ�gV��gf��B��ɕh�ܩivrU� w*t��\�&ȝ +�f%߭f�*Ԛ�\�&ȝ +�f'W� r�B���m�ܩ�mV��mf��B��ɕn�ܩovr՛ w*���\'ȝ + g#�h8�|R�����8A�T9;�JN�;Z�N���N�����3���N���N�������S���� +;A�TH;+�n;�|P�����;A�T<;� +O�;ϐ%��'�Ъ</_(e��~w�y<�r����s=�;�����O��;;�����5w�Gz��y^�v�<��P�<�|P�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����S�����<A�T�<+��<�|P�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����S�����<A�T�<+��<�|P�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����S�����<A�T�<�E�� +�g'W� r�B����y�ܩ�yvru� w*t��|w�Y>����ܫ��1�����<��T�<;�:O�;5w��[�gV;:�N���N�γ����Ss�ٹW� jcB�Y�w�݃ +�g'W� r��γs���ƄγS���S������A͝g�^�'�� �g�V� n�B����y�ܩ�yV��yf��B����y�ܩ�yvru� w*t��\�'ȝ �g%ߝg�*t��\�'ȝ �g'W� r�B����y�ܩ�yV��yf��B����y�ܩ�yvru� w*t��\�'ȝ �g%ߝg�*t��\�'ȝ -�g'W� r�B����y�ܩ�y6��3�':�N���N�γ����S�����<A�T�<+��<�|Ps�ٹW� jcB�٩�y�۩�yvru� wj�<+�:Ϭv&t��Z�'�� -�g'W� r��γs���ƄγR��3�:�N���N͝g�^�'�� �g�V� n�B�Y�w�僚;�ν:OP:�N���N�γ����S������A�γ����S�����<A�T�<;�:O�;:�J�;�,T�<;�:O�;:�N���N�γ����S������A�γ����S�����<A�T�<;�:O�;:�J�;�,T�<;�:O�;:�N���N�γ����S������A�γ����S�����<A�T�<;�:O�;:�F~�yF��B����y�ܩ�yvru� w*t��\�'ȝ -�g%ߝg�*t��\�'ȝ �g'W� r�B����y�ܩ�yV��yf��B����y�ܩ�yvru� w*t��\�'ȝ -�g%ߝg�*t��\�'ȝ -�g'W� r��γs���ƄγR��3�:�N���N��g�>w� �H�γ���S������A͝g�^�'�� �g�V� n�B����y�ܩ����<�ڙ�yvju��v*t��\�'ȝ�;�ν:OP:�J�;��T�<;�:O�;:�N���N�γ����S������A�γ����S�����<A�T�<;�:O�;:�J�;�,T�<;�:O�;:�N���N�γ����S��l��g�O*t��\�'ȝ +�g#��<�|R�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����S�����<A�T�<+��<�|P�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����Ss�ٹW� jcB�Y�w�݃ +�g'W� r��γS�;O$B�ى�y�ک�yV��yf���γs���ƄγS���S�����<A���yVnu�Y�L�<;�:Op;:�N���N͝g�^�'�� �g�ޝgv*t��\�'ȝ �g'W� r�B����y�ܩ�yV��yf��B����y�ܩ�yvru� w*t��\�'ȝ �g%ߝg�*t��\�'ȝ -�g'W� r�B��Ķ�Z���==��<�}�C�����,��q��o�<��������N�_���j�1=���|;7�������>}x��?�����w?����և����OX/L�s<�����w����?Ŏ/��>���|�����?½�BW��Q���������i�;����p��_K�z��zC~�{}}zl��Q������s����Q�������c??�r�^���~:O/�Ǿ�&��ސ�~:���Ǿ�F�So�O?���9w���(w� ����V��Q������O������$���O�p�~��i�;����ӹ?��z�N�!�{y��\���0��y��v�{x}h?��4����x��rl?��4ʝzC�|��\��=�jc�0�~2O��g~~�N���ݟ~4������4�'�����y�*���F�1o�O?���V}~�N�!?�h/�g~~�N�.?�~4��/!�äv� �������q���������[����Q�����#��,�?�kw����_O�zPo�O?��C����Q��������ϛ;��i�;�����y|�?���(w�u����9ۏ}=M�A�!?�t��Ǿ�F�So�O?��c����Q���5���O�ܩ03U���T�*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S w*�Lur�L�ܩ03U���T�*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S w*�Lur�L�ܩ03U���T�*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S w*�Lur�L�ܩ03��/f��|Raf��kf -�N���N��)�;f�:�f�@�T����{f*�5�Lu�53jc��T����� +�g'W� r�B����y�ܩ�y6��3�':�N���N�γ����S�����<A�T�<+��<�|P�����<A�T�<;�:O�;:�N���N�γ���3�:�N���N�γ����S��Yb�y�����;��F_�P����+�o�}�[?O{~��G⇷���_���zLO}�<������O�������p��Ͽ������=C{x�����o���������O����o{7_�������p�����i�;�������ƧqE~~�N�.>�>���R��&��ސ�^_�[��i�;��������~��i�;�����������O�ܩ��/����K����I>�7䧟��k����Q����O���GΝ��4ʝzC~��<����i�;������y�o?��4������9ܷ�z�N�!?�t��Ǿ�F�So�_�^�9�=�jc^7��^��|=M�A�!?���|=�r�ސ?�=<��o�ژ7̧���c����F�S�wv�����<7r= �I�!?�hޯ�;���Qm���O����U��F�So�O?��K����F�S����}�K��0��y�|�{~{m��it;��������~��i�;������ȿ>����ڇ�������Ӥ�������~��i�;����syz���N~~�N�!?�l���4ʝz]~<�t���c_O�|Po�O?��c����Q����O���~��i�;��| Bu���(w*�LU�=3�� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ +3S�\3S w*�LU�=3�� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ +3S�\3S w*�LU�=3�� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ +3S�\3S w*�L5(�T���䚙�Saf��kf +�N���N��)�;f�*�����A�3S�{�L�ژ03թ53n���T'��ȝ�g�*�f��ڙ03թ53n���T'��ȝ�g�:����1af�R�T���䚙�S��T�^3S�6&�Luj�L�۩03U���T�j����kf +�Ƅ��N��)p;f�:�f�@�T����{f*�f�:�f�@�T���䚙�Saf��kf +�N���J�g��|Paf��kf +�N���N��)�;f�:�f�@�T����{f*�f�:�f�@�T���䚙�Saf��kf +�N���J�g��|Paf��kf +�N���N��)�;f�:�f�@�T����{f*�f�:�f�@�T���䚙�Saf��kf +�N���F~13� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ +3S�\3S w*�LU�=3�� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ�g�:����1af�R�T���䚙�S��T�>�L��#f�:�f�@�T����{f*�5�Lu�53jc��T����� 3S�\3S wj���ܚ��jg��T����� 3S�\3S wj����kf �Ƅ��J�g��{Paf��kf -�N�3S�{�L�ژ03թ53n���T%�3SY>�yf�s��)Pf�:�f���T���䚙�Saf��,T���䚙�Saf��kf -�N���N��)�;f�*�����A���N��)�;f�:�f�@�T���䚙�Saf��,T���䚙�Saf��kf -�N���N��)�;f�*�����A���N��)�;f�:�f�@�T���䚙�Saf��,T���䚙�Saf��kf -�N���N��)�;f����T�O*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S w*�Lur�L�ܩ03U���T�*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S wj����kf -�Ƅ��J�g��{Paf��kf -�N�3S��<3�D���Ě��Saf��,�<3չ���� 3S�Z3S�v*�Lur�L�ܩyf�rkf*�� 3S�Z3S�v*�Lur�L�ܩyf�s��)Pf�*�����A���N��)�;f�:�f�@�T���䚙�Saf��,T���䚙�Saf��kf -�N���N��)�;f�*�����A���N��)�;f�:�f�@�T���䚙�Saf��_�LE����T'��ȝ -3S�\3S w*�Lur�L�ܩ03U���T�*�Lur�L�ܩ03��53r���T'��ȝ -3S�|�Le����T'��ȝ -3S�\3S w*�L�y�nf -^h�L]����황�Fcf�f���^O���3S�o3S�����3���~���_������ӟ��L�"���,�Bt�c<���������`._6�\y�4�r���L%�0Y>�0���5�r���L'��ȝ�`:���1a��R���T�����S��L�^0�6&�tj ��۩0���/`�|R��L�^0�6&�tj ��۩0���5�r���ʭ��v&�tj ��۩0���5�r���N}��G"�T�=��Ճ -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0�\0 w*�T�=��� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0�\0 w*�T�=��� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0�\0 w*�T�=��� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0�\0 w*�4��(�T�����Sa���k��N��N��;`*����A�0�{ ��ژ0�ө5�n���L'��ȝ�`*�`�ڙ0�ө5�n���L'��ȝ�`:���1a��R���T�����S��L�^0�6&�tj ��۩0�S���L�j���k��Ƅ�N�p;`:�`@�T���{�&�`:�`@�T�����Sa���k��N��J�`�|Pa���k��N��N��;`:�`@�T���{�&�`:�`@�T�����Sa���k��N��J�`�|Pa���k��N��N��;`:�`@�T���{�&�`:�`@�T�����Sa���k��N��F~1�� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0�\0 w*�T�=��� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ�`:���1a��R���T�����S��L�>���#`:�`@�T���{�&�5�t�5�jc��L����� +�N���N��)�;f�:�f�@�T����{f*�f�:�f�@�T���䚙�Saf��kf +�N���J�g��|Paf��kf +�N���N��)�;f�:�f�@�T��j�3SQ>�03��53r���T'��ȝ +3S�\3S w*�LU�=3�� +3S�\3S w*�Lur�L�ܩ03��53r���T%�3SY>�03��53r���T'��ȝ +3Sq����Z3S�/�f�����G����{}<��.�L����L�������~����������O��2��ܿ���ѕ�����[+S{�&����|�0�s���ȝ +0�|�d����L'��ȝ +0�\0 wj���k��Ƅ�J�`�{Pa���k��N�0�{ ��ژ0�ө5�n���L#����I�0�{ ��ژ0�ө5�n���L'��ȝ�`*�`�ڙ0�ө5�n���L'��ȝ`:�y���0�S���LV*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*�tr ��ܩ0�S���L�*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*�tr ��ܩ0�S���L�*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*�tr ��ܩ0�S���L�*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*�tr ��ܩ0���/`�|Ra���k��N��N��;`:�`@�T���{�&�5�t�5�jc��L����� 0�\0 wj�����jg��L����� -0�\0 wj���k��Ƅ�J�`�{Pa���k��N��N��;`:�`@�T���{�&�`:�`@�T�����Sa���k��N��J�`�|Pa���k��N��N��;`:�`@�T�i�0Q>�0���5�r���L'��ȝ -0�\0 w*�T�=��� -0�\0 w*�tr ��ܩ0���5�r���L%�0Y>�0���5�r���L'��ȝ -0y����Z0�/�`����������O������v����������/i������&`�������?���y8��~As��K����������Ǻ����z�ë�.��P.I��\��\�ܩ9�,�+�$�Ssp��\�|PspY�WpIr��ಔ����N��e)_�%ɝ���N��䃚��R��K�;5��|�$wj.K� +0�\0 wj���k��Ƅ�J�`�{Pa���k��N�0�{ ��ژ0�ө5�n���L%�0Y>�y��s�P`:�`��T�����Sa�����,T�����Sa���k��N��N��;`*����A��N��;`:�`@�T�����Sa�����,T�����Sa���k��N��N��;`*����A��N��;`:�`@�T�����Sa�����,T�����Sa���k��N��N��;`���L�O*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*�tr ��ܩ0�S���L�*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 wj���k��Ƅ�J�`�{Pa���k��N�0��<��D�����Sa�����,�<�ӹ���� 0�Z0�v*�tr ��ܩy��rk�&�� 0�Z0�v*�tr ��ܩy��s�P`*����A��N��;`:�`@�T�����Sa�����,T�����Sa���k��N��N��;`*����A��N��;`:�`@�T�����Sa���_�D����L'��ȝ +0�\0 w*�tr ��ܩ0�S���L�*�tr ��ܩ0���5�r���L'��ȝ +0�|�d����L'��ȝ +0�\0 w*���j�^h �\�������F�xx�{<����4�s8���o����������K���9=� ��y�o~���Oja�o�_������w�{|xz����2�����귃�k/�K�;5��|�$wj.K� .I��\vr� �\��\�ܩ9�,�+�$�SspY�WpIr��ಓ+����ಔ����N��e)_�%ɝ���R��K�;5��\�%�5��|�$wj.K� -.I��\��\�ܩ9���;���I��e)_�%ɝ���R��K�;5��|�$wj.;��K�j.K�9�$�1spY�WpIn��ಔ����N��e�^�%�����R��Kr;5��|�$wj.K�9�$�1sp٩\�{PspY�WpIr���t��KR3��z��vj.;��K�j.K�9�$�1spY�WpIn��ಔ����N��e'Wp �A��e)_�%ɝ���R��K�;5��|�$wj.;��K�j.K� -.I��\��\�ܩ9�,�+�$�Ssp��\�|PspY�WpIr��ಔ����N��e)_�%ɝ���N��䃚��R��K�;5��|�$wj.K� -.I��\vr� �\��\�ܩ9�,�+�$�SspY�WpIr��ಒ��2�'5��|�$wj.K� .I��\��\�ܩ9��� -.A>�9�,�+�$�SspY�WpIr��ಔ����N��e'Wp �A��e)_�%ɝ���R��K�;5��|�$wj.;��K�j.K� -.I��\��\�ܩ1�,��������e�Vp �A��e)_�%ɝ���R�-�$�Gb.K� -.I��\vr� �\��spIjc��T����N��e)_�%ɝ��ν�KP;3��z��vj.K� -.I��\��spIjc��S+����ಔ����N��e)_�%ɝ���R��K�;5��\�%�5��|�$wj.K� -.I��\��\�ܩ9��� -.A>�9�,�+�$�SspY�WpIr��ಔ����N��e%��e�Oj.K� -.I��\��\�ܩ9�,�+�$�Ssp��\�|PspY�WpIr��ಔ����N��e)_�%ɝ���N��䃚��R��K�;5��|�$wj.SX��B��>�P.�����o�#��1����?~��;������.ų�|{9�rq�}�����+/��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A�T(.;��K�;��J���,T(.;��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A�T(.;��K�;��J���,T(.;��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A�T(.;��K�;��F~Q\F��Bq��U\�ܩP\vr� w*��\�%ȝ -�e%��e�j..;�*.AmL(.;��Kp;��N���N��e�Vq��΄�S���S����*.A��\\v�U\�ژP\V�]\f��Bq��U\�ܩ���ܫ��1����*.��T(.+�..�|PsqٹWq jcBq٩U\�۩P\vr� w*��|�Y>�P\vr� w*��\�%ȝ -�e'Wq r�BqY�wq�� -�e'Wq r�Bq��U\�ܩP\vr� w*��|�Y>�P\vr� w*��\�%ȝ -�e'Wq r�BqY�wq�� -�e'Wq r�Bq��U\�ܩP\vr� w*��|�Y>�P\vr� w*��\�%ȝ -�e'Wq r�Bq��/��(�T(.;��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A�T(.;��K�;��J���,T(.;��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A��\\v�U\�ژP\V�]\f��Bq��U\�ܩ��������P\vb��v*��|�Y>����ܫ��1����*.��T(.;��K�;5��[�eV;��N���N�ⲓ���SsqٹWq jcBqY�wq�݃ -�e'Wq r�Bq��U\�ܩP\vr� w*��|�Y>�P\vr� w*��\�%ȝ -�e'Wq r�BqY�wq�� -�e'Wq r�Bq��U\�ܩP\vr� w*�������I�ⲓ���S����*.A�T(.;��K�;��J���,T(.;��K�;��N���N�ⲓ���S���仸��A�ⲓ���S����*.A�T(.C���B���|�����ex������H��=Qpy~J����[�ݧ?�]��������oS��Jo�z��߭�R�az�^�yh�ۤ�0�� �aca4;j�ʬ�0�� �aeVi��Ƅΰ2+3�fcBdؘwc�΄°2+0�fcB^X�Uf�1�-��J�٘6��F�3�*�̊ -�٘�Vf��lL� +�r�l6&Ą�y����L( +�B�l6&d��Ya6�ʬ�0�� ac��`4;��ʬx0�� �`eV9��Ƅn�2+�fcB4X�/��dL(+���l6&䂕Y�`6Z�ʬT0�� �`cޝ`4;3W��xE�����`�U!��Ƅ>�2+�fc�8�� �^#BXyf�1!�̪�٘� ��+ �ޏD���ؙPVfŀ�l̜V�Uf�G"t��W`"�Ƽ�hvf.�+� -���#�ʫ�/�� �_eV���Ƅ�1��/�� �_eV���Ƅ�2���fcB�W���e�1!�k̻��fgB�W��e�1!�̪��٘��Uf%~�lL�����ٙP�Uf�}�lLH�*�ʾl6&t}�YY_6��Ƽ��hv&}�YA_6r�ʬ�/�� -_eVʗ�Ƅ��1�/�� _eVė�Ƅ��2���fcB�W���e�1!�+��^2&�{�Y�^6��ʬj/�� �^eV���Ƅ`�1�^/�� �^eV���ƄT�2���fcB�W���e�1!�k̻ыfgB�W��e�1!ϫ̪�٘��Uf�y�lL����ٙP�UfEy�lLH�*���l6f��*����#b�ƻ[�(v&�x�Y!^63fx��\�e�4x�U ^��Ƽ��hvf��*���#һʫ�.�� �]eVv�����]#Vs�F���*��bcBnW�U�e�1skW�Wj����5���E�3���̊�٘��Ufv�lL��*��l6&�u�y�u��L(�*�ºl6&du�YU]6��ʬ�.�� A]c�=]4;j�ʬ�.�� )]eVI��Ƅ��2+��fcBDW�/�dL(�*��l6&�s�Y�\6ڹʬt.�� �\c��\4;��ʬh.�� �\eV1��Ƅ^�2+��fcB,טw+�΄R�2+��fcB&W�U�e�1���s��\~�U�]�M -�n���?�8>��2!�q��m=?~�S��o-����_l=���}��\���O������O����o����p8����>�4���v�o�����l�^�o~���pw|z���s�{�x/ǻ����s兮��O�ܩ7��w���Su���(w� ������c+??�r�^���~:��Ǿ�&��ސ�~:���c_O�ܩ7䧟�������(w� ������_:���Qm�������C�����=�7�ǻ��c����Q���织����aT����yz�?����v�������y|���F��A>�7�͍��\q{�Ƽa>�d�_Z��it;�����9�ԟ��i�;����+���N^���ڙ7�ǻ���ǽ�F�Soȟ��o�g��F�So�_����(�H��}8�^��|=M�A�!?�\����F�So�O?���?����Q����������O�ܩ����O�xl?��4������y8��z�N�!?�t��Ǿ�F�So�O?����V~~�N�1��Ͻ��o���A�o�����x�;�%��k��N�ŖN���;F[*�^m��A�ݖN���;�[:��[@�TXo��o�Sa�����,T�p��q�Saƥ�k��N�%�N�)�;�\*�^s��A�=�N�A�;&]:�6]@�TXu��u�Saإ��e�,T�v��w�Saޥ�k��N���N���;F^*�^y��A���N���;�^:��^@�TX{��{�Sa�_,�D����K'��ȝ -�/�\�/ w*,�trM��ܩ0�R���K�j���k��Ƅ �N� p;V`:�f`@��<S����΄-�N�1p;�`:��`@�Լӹ�$�� �0�z��d���.L'�0ȝ��a:�چ�1a�Sk�N���J�b�|P�FL�^#1�6&��tj�Ā۩���5r��XL%�k1Y>����5r��dL'�fȝ -�1�\�1 w*�T��� -�1�\�1 w*��tr�ǀܩ� ��5!r�L%�+2Y>��#��5$r�L'זȝ -k2�\s2 w*�T�(�� -�2�\�2 w*��tr�ʀܩ�,��5-r�¸L%��2Y>��/��50r���L'��ȝ -+3�\33 w*�4(�Tؚ����San��ko�N�řN���;Fg*�^���A�ݙN���;�g:��g@�TX��䚟�Sa�����,Tؠ����Sa���k��N�%�N�)�;�h*�^���A�=�N�A�;&i:�6i@�ԼJӹ�, �� �4�z/�d���6M'�8 ȝ�i:�y����PӉ5Qj��HM%�+5Y>�y��s��P�j:��j��TX��䚫�S�`M��bMV;6k:�Fk��T����ڭ�S�rM�^�5�6&��T�^�݃ -�5�\6 w*L�trmܩ�b��5cr�M%�K6Y>��e��5fr�M'מ ȝ -�6�\�6 w*��T�j�� -�6�\�6 w*L�trmۀܩ�n��5or���M#�X���I���N���;fn:�vn@�TX��䚺�Sa즒ﵛ,Tػ����Sa�k��N�՛N���;�o*�^���A��N���;�o:��o@�TX� �-������|�4����K�������}M���{g-�������}�����w����?��?��ym���Lο�?xu%�����Gc�uu%���t��(�.�T��� -�ҕJ�ȝ -�R%ߥR�*�J�\�ȝ -�R'W�r�B���U*�ܩP*U�]*e��B���U*�ܩP*ur�J w*�J�\�ȝ -�R%ߥR�*�J�\�ȝ -�R'W�r�B���U*�ܩP*5�R)�'J�N�R �N�R���T�S�T��*�@�T(�*�.��|Ps�ԹW�jcB�ԩU*�۩P*ur�J wj.�*�J��v&�J�Z��� -�R'W�r��R�s�R �ƄR�R�R)�J�N�R �NͥR�^��� �R�V�n�B�T�w��僚K�νJ%PJ�N�R �N�R���T�S�T��T��A�R���T�S�T��*�@�T(�:�J%�;J�J�K�,T(�:�J%�;J�N�R �N�R���T�S�T��T��A�R���T�S�T��*�@�T(�:�J%�;J�J�K�,T(�:�J%�;J�N�R �N�R���T�S�T��T��A�R���T�S�T��*�@�T(�:�J%�;J�F~Q*E��B���U*�ܩP*ur�J w*�J�\�ȝ -�R%ߥR�*�J�\�ȝ -�R'W�r�B���U*�ܩP*U�]*e��B���U*�ܩP*ur�J w*�J�\�ȝ -�R%ߥR�*�J�\�ȝ -�R'W�r��R�s�R �ƄR�R�R)�J�N�R �N��R�>�J �H�R��T�S�T��T��AͥR�^��� �R�V�n�B���U*�ܩ�T��*��ڙP*uj�J�v*�J�\�ȝ�K�νJ%PJ�J�K��T(�:�J%�;J�N�R �N�R���T�S�T��T��A�R���T�S�T��*�@�T(�:�J%�;J�J�K�,T(�:�J%�;J�N�R �N�R���T�S�Tj��R�O*�J�\�ȝ -�R'W�r�B���U*�ܩP*U�]*e��B���U*�ܩP*ur�J w*�J�\�ȝ -�R%ߥR�*�J�\�ȝ -�R'W�r�B����T�Z���=��.����R�������*��c*�Υ��}����4����߯t.�a~��_fx�L�_��*���]�U�/��>���@�T�r�N�/��S���*��r�,T�r�N�/��S���:����N�/����r>�;�����/���A�/����r>�;�������@�T�r�N�/��S���*��r�,T�r�N�/��S���:��W�;��N���N�䵒��5���N���N�䵓+y�S!y��J^A�TH^+�N^�|P!y��J^A�TH^;��W�;��N���N�䵒��5���N���N�䵓+y�S!y��J^A�TH^�E�� +.A>�9�,�+�$�SspY�WpIr��ಔ����N��e'Wp �A��e)_�%ɝ���R��K�;5��|�$wj.+�.�|RspY�WpIr��ಔ����N��e)_�%ɝ���N������}.Im�\��\�۩9�,�+�$�ScpٹWp jg��T����N��e)_�%ɝ���}.Im�\vj���\��\�ܩ1�,��������e�^�%�����N������}.Im�\��\�۩9�,�+�$�Ssp��\�|PspY�WpIr��ಔ����N��e)_�%ɝ���N��䃚��R��K�;5��|�$wj.K� +.I��\vr� �\��\�ܩ9�,�+�$�SspY�WpIr��ಓ+����ಔ����N��e)_�%ɝ���R��K�;5��\�%�5��|�$wj.K� +.I��\��\�ܩ9���;���I��e)_�%ɝ���R��K�;5��|�$wj.;��K�j.K� +.I��\��\�ܩ9�,�+�$�Ssp��\�|PspY�WpIr��ಔ����N��e)_�%ɝ���N��䃚��R��K�;5��|�$wj.K�9�$�1sp٩\�{PspY�WpIr���T.I�����R��KR;5��\�%�5���\�ژ9�,�+�$�SspY�WpIr���s������e�^�%�����R��K�;5���\�ژ9��� +.�=�9�,�+�$�SspY�WpIr��ಔ����N��e'Wp �A��e)_�%ɝ���R��K�;5��|�$wj.;��K�j.K� +.I��\��\�ܩ9�,�+�$�SspY�wp�哚��R��K�;5��|�$wj.K� +.I��\vr� �\��\�ܩ9�,�+�$�SspY�WpIr��ಓ+����ಔ����N��e)_�%ɝ���T��%����/���F#�|���[��H��zL���9��㏟�������p��K�,.�^��\\�w���廇������N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;��N���N�Ⲓ��2���N���N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;��N���N�Ⲓ��2���N���N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;��N���N�ⲑ_�Q>�P\vr� w*��\�%ȝ +�e'Wq r�BqY�wq�僚��ν�KP��N���N�ⲓ���SsqY�U\f�3����*.��T(.;��K�;5��{��6&��z��=�P\vr� wj..;�*.AmL(.;��Kp;��J���,�\\v�U\�ژP\vj��v*��\�%ȝ +�e%��e�*��\�%ȝ +�e'Wq r�Bq��U\�ܩP\V�]\f��Bq��U\�ܩP\vr� w*��\�%ȝ +�e%��e�*��\�%ȝ +�e'Wq r�Bq��U\�ܩP\V�]\f��Bq��U\�ܩP\vr� w*��\�%ȝ +�e%��e�*��\�%ȝ +�e'Wq r�Bq��U\�ܩP\6��2�'��N���N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;��N���N�Ⲓ��2���N���N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;5��{��6&��z��=�P\vr� wj,.;����G"��X�%�� +�e%��e�j..;�*.AmL(.;��Kp;��N���N��e�Vq��΄�S���S����*.A��\\v�U\�ژP\V�]\f��Bq��U\�ܩP\vr� w*��\�%ȝ +�e%��e�*��\�%ȝ +�e'Wq r�Bq��U\�ܩP\V�]\f��Bq��U\�ܩP\vr� w*��\�%ȝ +�e#�(.�|R����*.A�T(.;��K�;��N���N�Ⲓ��2���N���N�ⲓ���S����*.A�T(.+�..�|P����*.A�T(.;��K�;��P��%��*./_���vq������7ooO\��Roy<����ϟ~Wp��xw��������[����w��Tu��|G�o���6)9�fcBpؘwo�΄ڰ2+6�fcBjX�Uf�1�3����٘6��F�3�0�� +�٘�VfՅ�lLh+���l6&���yw���L� ++���l6&$��YEa6z�ʬ�0�� 1ac�-a4;J�ʬ�0�� aeVE��Ƅ��2+!�fcB@ؘw?�΄z�2+�fcB:X�Uf�1�����٘ �f0���ʬ`0�� �`eV-��ƄV�2+�fcB(ؘw'��̕`%^�`�~$B"XyUf�1�����٘9l�j�PV^��YlL�+���l6fn+�J��#��ƻ{�(v&Ԁ�Y1`63���x�����`�U��Ƅ�1�0����J����H������bcB�W���e�1!�k̻��fgB�W��e�1!���*��٘��Uf�~�lL���n��ٙP�Uf�~�lL��*�*�l6&4~�Y�_6�Ƽ��hv&�}�Yq_6Ҿʬ�/�� ]_eV֗�Ƅ��1�/�� E_eVЗ�Ƅ��2���fcB�W���e�1!�k̻�fgB�W��e�1!��*��٘��Uf�{�lL�� +�E��̃ �^eV���Ƅl�2���fcB�W���e�1!�k̻fgB�W��e�1!ի�*��٘��Ufez�lL���n��ٙP�Ufz�lL��*��l6&�y�Yi^6¼Ƽ��hv&Ty�YQ^6��ʬ"/���{�J�r���H����/�� %^eV���ƌ^�=Wx��� ^eU���Ƅ��1��.����J����H�����bcBwW���e�1st��E����� +�ؘ��Uf�v�l���U��e�G"�v�wwvQ�L��*�"�l6&$v�Y�]6��ʬ�.�� q]c�m]4;ʺʬ�.�� Y]eVU��Ƅ��2+��fcBPטwO�΄��2+��fcBJW�U�e�1������٘�拆.� +�ʬ�.�� �\eV=��Ƅv�2+��fcB8טw7�΄j�2+��fcB2W�U�e�1������٘�5���E�3���� +�٘��UfUr�lLh�n�\m"��fro��ۯ���*���LH}��o[Ϗ_���[������[��sw8�q�����������w?������?���O#�;<������b��9۸���Exx9��^��܇�?���������\y�+���(w� �������T���4ʝzC�z�������O�ܩ�寧���}����I>�7䧟������(w� ��sh?��4ʝzC�z��������aT���p����~��ir� ������~��i�;������v{�Ƽa>�d�����4��z=w�?�h��(���i�O� ��Gs��2W��F�1o�O?���V}~�N�!?�h/�g~~�N�.?�������W��äv� �������q���������[����Q�����#��,�?�kw����_O�zPo�O?��C����Q��������Ϸ:��i�;�����y|�?���(w�u����9ۏ}=M�A�!?�t��Ǿ�F�So�O?��c����Q����O��顕��F�SoL���s���[�|P�[�;��%�N�o����k�Sa���k��N�іJ�W[�|Pa���k��N��N���;�[:��[@�Tp��{�%�6\:�F\@�T�q���q�Saɥ�k��N�1�J��\�|Paϥ�k��N�I�N�M�;V]:�f]@�Tv��{�%��]:��]@�T�w���w�Saᥓk��N���J�W^�|Pa祓k��N���N���;�^:��^@�T|i��/Q>�����5�r���K'��ȝ +�/�\�/ w*��T���僚�_:���1a�Sk�N��N��;5�Tn-�d�3a�Sk�N�9�N�=�;5/�t�5 jc�(L�ޫ0�=����5r��i�ν�a@mLX��Ԛ��Sa ��,Լӹ�H�� 31�Z;1�v*,�trMŀܩ0S��ZL�*��tr ƀܩ0�ɵr��jL'�lȝ +�1�|/�d���vL'�xȝ +�1�\�1 w*,�trMȀܩ0"S���L�*��tr ɀܩ0%�ɵ%r�L'לȝ +�2�|/�d��¦L'רȝ +�2�\�2 w*,�trMˀܩ0.S���L�*��tr ̀ܩ01�ɵ1r���L'��ȝ +C3��bi&�'�f:��f@�T����ڛ�Saq��kr�N�љJ�Wg�|Paw��kx�N��N���;�g:��g@�T���{�&�6h:�Fh@�T����ڡ�Sa���k��N�1�J��h�|Pa���k��N�I�N�M�;5��t�5Kjc�0M���4�=��M��5Nr��y�N}ާ�G",�tbMԀک0RS��JM�jީ��k��Ƅ��N��p;�j:��j@��<XS��X��΄͚N��p;fk:�vk@�Լ\ӹ�t �� �5�z��d���~M'׀ ȝ +6�\6 w*��tr�ܩ0dS���M�*l�tr�ـܩ0g�ɵgr�¢M'פ ȝ +�6�|��d��®M'װ ȝ +�6�\�6 w*��tr�ۀܩ0p��/n�|Ra㦓k��N���N���;�n:��n@�T���{�&��n:�o@�T����ڼ�Sa���k��N��J��o�|Pa���k��N���N���;p�fK;�/�6p._(���7�����pw���@_������YK8�����w�?}���ݿ��O��?~�_��1��o�^]�yx~<���r]]�y>>���/J�D*�.��B�t�R�r�B�T�w��� +�R'W�r�B���U*�ܩP*ur�J w*�J�|�JY>�P*ur�J w*�J�\�ȝ +�R'W�r�B�T�w��� +�R'W�r�B���U*�ܩP*ur�J w*�J���T��I�R���T�S�T��*�@�T(�:�J%�;J�J�K�,�\*u�U*�ژP*uj�J�v*�J�\�ȝ�K�ʭR)�� �R�V�n�B���U*�ܩ�T�ܫT�1�T�ԻT��A�R���T�Ss�ԹW�jcB�ԩU*�۩P*U�]*e���R�s�R �ƄR�S�T�S�T��*�@�T(�*�.��|P�T��*�@�T(�:�J%�;J�N�R �N�R���R)�J�N�R �N�R���T�S�T��*�@�T(�*�.��|P�T��*�@�T(�:�J%�;J�N�R �N�R���R)�J�N�R �N�R���T�S�T��*�@�T(�*�.��|P�T��*�@�T(�:�J%�;J�N�R �N�R��_�JQ>�P*ur�J w*�J�\�ȝ +�R'W�r�B�T�w��� +�R'W�r�B���U*�ܩP*ur�J w*�J�|�JY>�P*ur�J w*�J�\�ȝ +�R'W�r�B�T�w��� +�R'W�r�B���U*�ܩ�T�ܫT�1�T�ԻT��A�R���T�Sc�ԩϥ�?�T��*�@�T(�*�.��|Ps�ԹW�jcB�ԩU*�۩P*ur�J wj.�*�J��v&�J�Z��� +�R'W�r��R�s�R �ƄR�R�R)�J�N�R �N�R���T�S�T��*�@�T(�*�.��|P�T��*�@�T(�:�J%�;J�N�R �N�R���R)�J�N�R �N�R���T�S�T��*�@�T(��E�� +�R'W�r�B���U*�ܩP*ur�J w*�J�|�JY>�P*ur�J w*�J�\�ȝ +�R'W�r�B�T�w��� +�R'W�r�B���U*�ܩP*�n�-���V�t�B�T +o��K�������_�TZ��Tz8�J��ϟ�?Ӥ��?@�ҹx�����2i9_���_�w�W������/��S���:����N�/������|P���:����N�/����r>�;�������@�T�r�J���/��������@�T�r�N�/��S���:����N�/������|P���:����N�/���J^A�TH^;��W�;��J���,TH^;��W�;��N���N�䵓+y�S!y��;y��A�䵓+y�S!y��J^A�TH^;��W�;��J���,TH^;��W�;��N���N�䵓+y�S!ym��k�O*$��\�+ȝ +�k'W� +r�B��ɕ��ܩ��V�f����s���Ƅ�S+y�S!y��J^A�Ԝ�Vn%�Y�LH^;��Wp;��N���N��k�^�+�� �k���kv*$��\�+ȝ���ν�WP��N���N�䵒��5�5'��{%��6&$��Z�+�� +�k'W� +r�B�Z�w�� �k'W� -r�B��ɕ��ܩ��vr%� w*$��|'�Y>�9y��+y�1!y��J^��TH^;��W�;5'��[�kV;��N���N�䵓+y�Ss�ڹW� -jcB�Z�w�݃ +r�B��ɕ��ܩ��vr%� w*$��|'�Y>���vr%� w*$��\�+ȝ �k'W� -r���s���Ƅ�S+y�S!y��;y��A��k�^�+�� �k�V� -n�B��ɕ��ܩ��V�f��B��ɕ��ܩ��vr%� w*$��\�+ȝ -�k%��k�*$��\�+ȝ +r�B�Z�w�� �k'W� -r�B��ɕ��ܩ��V�f��B��ɕ��ܩ��vr%� w*$��\�+ȝ -�k%��k�*$��\�+ȝ +r�B��ɕ��ܩ��vr%� w*$��|'�Y>���vr%� w*$��\�+ȝ �k'W� -r�B��ɕ��ܩ��V�f��B��ɕ��ܩ��vr%� w*$��\�+ȝ -�k#�H^�|R!y��J^A�TH^;��W�;��N���N�䵒��5���N���N�䵓+y�S!y��J^A�TH^+�N^�|P!y��J^A�TH^;��W�;��N���N�䵒��5���N���N�䵓+y�Ss�ڹW� -jcB�Z�w�݃ +r�B�Z�w�� �k'W� -r���S��W$B�ډ���ک��V�f����s���Ƅ�S+y�S!y��J^A�Ԝ�Vn%�Y�LH^;��Wp;��N���N��k�^�+�� �k���kv*$��\�+ȝ +r�B��ɕ��ܩ��vr%� w*$���"y��I�䵓+y�S!y��J^A�TH^;��W�;��J���,TH^;��W�;��N���N�䵓+y�S!y��;y��A�䵓+y�S!y��J^A�TH^;��W�;��J���,TH^;��W�;��N���N��k�^�+�� �k���kv*$��\�+ȝ��N}N^A���k'V� +j�B�Z�w�僚��ν�WP��N���N�䵓+y�Ss�Z���f�3!y��J^��TH^;��W�;5'��{%��6&$��z'��=���vr%� w*$��\�+ȝ �k'W� -r�B��ɕ��ܩ��V�f��B��ɕ��ܩ��vr%� w*$��\�+ȝ -�k%��k�*$��\�+ȝ +r�B�Z�w�� �k'W� -r�B��ɕ��ܩ��6��5�'��N���N�䵓+y�S!y��J^A�TH^+�N^�|P!y��J^A�TH^;��W�;��N���N�䵒��5���N���N�䵓+y�S!y�=f�������R������e�����ߞ���������ӯ뮾�zLO��ו���o�������_��������w?��/���������g��g�O��P��>?����?7b����T|��؇��W���w� x�u���O�۩7�w/����t���(w�u�{�|�Z���ڙ7�ǻ���V}~�N�!?�����ʝzC�z�\�_�E�G�u�����r�~��iR� ����|h?��4ʝzC~�w�R~~�N�!?�l���4ʝz#�?�t���c_O�|Po���@'�zȝ -��\� w*�tr��ܩ�^P��zA�*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� w*�tr��ܩ�^P��zA�*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� w*�tr��ܩ�^P��zA�*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� w*�tr��ܩ�^��/��|Ra���k���N���N���;�:��@�TX/��{� �5�t�^�jc�zA��z�� -��\� wj^/��Z/�jg�zA��z�� -��\� wj^/��k���Ƅ��J���{Pa���k���N���{��ژ�^Щ�^�n��zA%��Y>�y��s��P�:����TX/��Z/��Sa������,TX/��Z/��Sa���k���N���N���;�*�^/��A���N���;�:��@�TX/��Z/��Sa������,TX/��Z/��Sa���k���N���N���;�*�^/��A���N���;�:��@�TX/��Z/��Sa������,TX/��Z/��Sa���k���N���N���;���zA�O*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� w*�tr��ܩ�^P��zA�*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� wj^/��k���Ƅ��J���{Pa���k���N�����^��DX/��Z/��Sa������,Լ^й�z�� ��Z��v*�tr��ܩy��rk� �� ��Z��v*�tr��ܩy��s��P�*�^/��A���N���;�:��@�TX/��Z/��Sa������,TX/��Z/��Sa���k���N���N���;�*�^/��A���N���;�:��@�TX/��Z/��Sa���_�D���zA'�zȝ -��\� w*�tr��ܩ�^P��zA�*�tr��ܩ�^�ɵ^�r��zA'�zȝ -��|�d���zA'�zȝ -��\� w*��¾[/�Z��/������������_����oO�����y���?<�}����붷=<>�=>�_D���W���=z��������C�ĕ/_�}x˻�B�wo������]���F�S�˟w�_OJ�z��zC~�{{xxm��Q����O�pl?��4ʝzC~���?���i�;����pw|{l?��4����x�������O�ܩ7��wǗ��c_O�ܩ7�w�����~~�N�.9�t�^ڏ}=M�A�!?�t_ۏ}=�r�ސ�~:��?����Q����O�����O�ܩ�寧���}����I>�7䧟������(w� ��sh?��4ʝzC�z�>oT��=�jc^7��^��|=M�A�!?���|=�r�ސ?�=<��o�ژ7̧���c����F�So,L�~4������4�'�����չת�� �^�Z�^�v*�zur�z�ܩyիrk�+�� �^�Z�^�v*�zur�z�ܩqիS�W�@���^�x�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^�|�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^�|�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^�|�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^��b�+�'V�:�V�@�TX���Z��Saի�k��N�U�J�W��|P�W�^�^�6&�zuj�z�۩���ɵ�r��U�ʭU��v&�zuj�z�۩���ɵ�r��U�νV�@mLX���{�+�V�:�V�@�Լ�չת�� �^�Z�^�v*�zU��僚W�:�Z��1aիSk��N�U�N�U/�;V�*�^���A�U�N�U/�;V�:�V�@�TX���Z��Saի��U�,TX���Z��Saի�k��N�U�N�U/�;V�*�^���A�U�N�U/�;V�:�V�@�TX���Z��Saի��U�,TX���Z��Saի�k��N�U�N�U/�;V�*�^���A�U�N�U/�;V�:�V�@�TX���Z��Saի�_�zE��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^�|�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r��U�νV�@mLX���{�+�V�:�V�@�Ը�թϫ^ �H�U�N�U/P;V�*�^���Aͫ^�{�z�ژ��թ��n�ªW'תȝ�W�*�V��ڙ��թ��n�ªW'תȝ�W�:�Z��1aիR�U��TX���Z��Saի�k��N�U�N�U/�;V�*�^���A�U�N�U/�;V�:�V�@�TX���Z��Saի��U�,TX���Z��Saի�k��N�U�N�U/�;V��ŪW�O*�zur�z�ܩ���ɵ�r�ªW'תȝ -�^�|�ze��ªW'תȝ -�^�\�^ w*�zur�z�ܩ��U���W�*�zur�z�ܩ���ɵ�r�ªWX�jW���֪���U��F�w��p�{����c^��S�U���������:�w�O�d�=������=������_O�}x�+{^�ٯk/��H��<&V�טɝ���:���@>�yL���11�;5����5&Fr��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb��<&Fjc�1�N�11pj+�kL��N�cb��<&Fjc�1�R������<&V���X�Oj+��11R3����5&Fn��1�R���H��8&ֹט�����J�#�S�X)_cb$wj+����H�����:���@=�yL���11�;5����5&Fr��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X)_cb$wj�����1�R���H��<&V�טɝ���J�#�S�X'ט�5����5&Fr��1�R���H��<&V�טɝ���*���I�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+��11R3����5&Fn��1�R���H��8&ֹט�����J�#�S�X)_cb$wj+��11R3��uj���{P�X)_cb$wj+��11R3����5&Fn��1�N�11�j+��11R3����5&Fn��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X)_cb$wj��{L,�'5����5&Fr��1�R���H��<&V�טɝ���:���@>�yL���11�;5����5&Fr��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩqL�t���Hm�<&֩5&�A�cb�|���ܩiL�T#�Gb+�kL��N�cb�\cb �8&V��cb�6f+�kL��N�cb�|���ܩqL�s�11P;3����5&Fn��1�R���H��8&V��cb�6f�����1�R���H��<&V�טɝ���J�#�S�X'ט�5����5&Fr��1�R���H��<&V�טɝ���:���@>�yL���11�;5����5&Fr��1�R���H��<&V���X�Oj+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wjK�X�����/��zsL,���;���x|�-��C�)�����������o����~��_~�����~�����E���*��_]��'�r|���^4���w�{����/��hv&何Yuo6��ʬ�7�� aoeVכ�Ƅ��1�7�� IoeVћ�Ƅ��2+��fcB�[���f�1��m�;�fgB�[�U�f�1���Jx�٘�Vf���lL�w�w�ٙ��Vf���lL�v+���l6&D��Y�n6��Ƽ��hv&井Y�n6Z�ʬT7�� �neV���ƄJ�1�H7�� �neV���Ƅ>�2+��fcB�[���f�1��m�;̍fgB�[�U�f�1�ɭ�Jr�٘�Vf���lL�q�E��̃ )neV���Ƅ�2+��fcB�[���f�1��m�;��fg�����6{?����Jo�ؘ�Vfu��l�\�6bE��kDHn+���,6&���Y�m63Ƕ�x������m�ݡm;2�ʬ�6����J����H�����bcB]ۘw\���im%^em�~$BW[y��f�1!���jj�٘P�6��F�3!��̪i�٘��Vf���lLi+�:�l6&T��yG���LHh+� -�l6&���Y�l6��ʬv6�� �lc��l4;��ʬj6�� �leV2��Ƅ`�2���fcB-ۘw,�΄T�2���fcB'[���f�1!���jd�٘P�6��F�3!��̪c�٘��Vf���lLc+���l6&T���"�M���$�2���fcB[���f�1!���ja�٘P�6��F�3!��̪`�٘��Vf%��lL`+���l6&ԯ�yǯ��LH_+���l6&t��Y�k6��ʬ�5�� �kc��k4;r�ʬ�5�� �keV���̡k%^�k�~$B��xw��΄ĵ2�p�fcƾ����l�������m�^cB�ژw����Yk%^Uk�~$B�Zy��f�1!h���Y�٘�fmĊY���V^��YlL�X+�2�l6f�X+�jX��# -�ƻ�(v&䫕Y�j6��ʬt5�� �jeV���Ƅj�1�h5�� �jeV���Ƅ^�2+W�fcB�Z�ժf�1�Tm�;T�fgB�Z�U�f�1�Q��JT�٘�Vf���lL�S�E��̃ ijeV���Ƅ.�2+K�fcB�Z�դf�1�Hm�;H�fgB�Z�U�f�1�E��JQ�٘�Vfu��lL�P�P�ٙ��Vf��lL�O+���l6&ħ������6+=�x�T��~��~<��=����o��k�z���xw|=>�����������p�O��˧�|��Ob��U�O��@6���|x=�jM�W_ �W_��ͯ.��:�������ŕxuqV*|uq'�W�ܩ��ŝ\_]r��Wwre� w*�͕|��Y>��6wr�� w*�͝\}3ȝ -�s'W�r�B�\�w�� -�s'W�r�B����:�ܩP;wr�� w*ϕ|�Y>��<wrE� w*dϝ\�3ȝ -�s'W�r�B�\�w��� -�s'W� r�B���@�ܩPAwre� w*�Е|��Y>��Bwr�� w*�Н\=4ȝ -Et'W r�B]�w�� -]t'W r�B���F�ܩPGwr�� w*ҕ|�Y>��HwrE� w*dҝ\�4ȝ -�t'W* r�B,��/j�(�T�;��i�;��N�f�N�j��+��S!��仜��A��t�^�4�� �t�V? n�BA�ɕP�ܩ9��ܪ��ڙ�Qwj���v*�ԝ\-5ȝ�k�νrjP��J����Th�;��j�;5g՝{uՠ6&�՝Zi5�� -qu%�uu�j�;� -�AmLH�;�kp;*�N���N�к���:�Z�N���N�ܺ����S����J�A�T��+����|P���� -�A�TH�;��k�;��N���N�����;��N��N������S����J�A�T��+����|P���� -�A�TH�;��l�;��N�,�N�0���2;���N�8�N�<�����S����J�A�T���E�� -�v'W� r�B����j�ܩPkwr�� w*ە|�Y>��lwrE� w*d\�6ȝ -�v'W� r�B�]�w��� -�v'W� r�B����p�ܩPqwre� w*�ܕ|��Y>��rwr�� w*�ܝ\=7ȝ���ν�nP��J����T�;��n�;5�ݝ��v��#��N���N������;�57ޝ{Eޠ6&dޝZ�7�� -�w'W� r��ػr���jgB�ݩ|�۩�|wr5� wj��;�ʾAmL�+�.��{P���䊿A�Tȿ;��o�; -�N��N���� -<�:�N��N�����S�����A�T�+�.³|P� ���A�T��;��p�;��N�4�N�8��_��Q>�Їwr� w*$�\�8ȝ -�x'W&r�B(^�w)�� -�x'W,r�B.��Ջ�ܩP�wr%� w*D�|W�Y>�Ѝwr�� w*��\�8ȝ -�x���|^h��/��v; o���������1����?~��o3��_����>>��_���_�������ӯ�ޞ��!���_������t���v�D����T���S!p;N�:�N�@�T8��:�S�T���S�,T8��:�S�T���T�N�S�N�S!�;N�*�>��A�S�N�S!�;N�:�N�@�T8��:�S�T���S�,T8��:�S�T���T�N�S�N�S!�;N�*�>��A�S�N�S!�;N�:�N�@�T8��:�S�T��_� -E��©P'שȝ +r�B��ɕ��ܩ��vr%� w*$��|'�Y>���vr%� w*$��\�+ȝ +�k'W� +r�B���/��(�TH^;��W�;��N���N�䵓+y�S!y��;y��A�䵓+y�S!y��J^A�TH^;��W�;��J���,TH^;��W�;��N���N��5��]� +/����J�kx��(r||��EJ^O{~��G��ӯnN����j�1=u^W�����K���×�~�����������˿������_��o����5?��C���l�/��p܈]O���P���c�^��?�=<������>?�n�ސ��?���O�ܩ������k�>?Ljg�0��^�[��it;�������C(w� ���s��}������}����I=�7䧟������(w� ���}��K��i�;�����y|�?���(wꍌ���9ۏ}=M�A�!_;�\� w*�tr��ܩ�^�ɵ^�r��zA%��Y>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩ�^�ɵ^�r��zA%��Y>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩ�^�ɵ^�r��zA%��Y>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩ�^�ɵ^�r��zA#�X/��I���N���;�:��@�TX/��Z/��Sa������,Լ^й�z�� ��Z��v*�tr��ܩy��rk� �� ��Z��v*�tr��ܩy��s��P�*�^/��A���N���;5�t�^�jc�zA��z�� +��|�d�����ν�@mLX/��Z/��Sa���k���N���J���|Pa���k���N���N���;�:��@�TX/��{� ��:��@�TX/��Z/��Sa���k���N���J���|Pa���k���N���N���;�:��@�TX/��{� ��:��@�TX/��Z/��Sa���k���N���J���|Pa���k���N���N���;�:��@�TX/h��Q>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩ�^�ɵ^�r��zA%��Y>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩy��s��P�*�^/��A���N���;5�t��z�?a��k���N���J���|P�zA�^��6&�tj��۩�^�ɵ^�r����ʭ���v&�tj��۩�^�ɵ^�r����ν�@mLX/��{� ��:��@�TX/��Z/��Sa���k���N���J���|Pa���k���N���N���;�:��@�TX/��{� ��:��@�TX/��Z/��Sa���k���N���F~�^� +��\� w*�tr��ܩ�^�ɵ^�r��zA%��Y>��^�ɵ^�r��zA'�zȝ +��\� w*�T�^�� +��\� w*�tr��ܩ�^�n��^h�\��������F�{���x����W�y���S�k��x^/���o�������m��w�������xx��o|~���ǧ����q�K��s��n�������?1��BW��Q���������R��&��ސ��^[��i�;�����9ۏ}=�r�ސ�~:����~~�N�.>��ۏ}=M�A�!?�>=����(w� ���������(w� �����s����F�S��_N?����c_O�|Po�O?����c_O�ܩ7䧟���O�;��i�;�����yx�?���(w�u����p�~��i�� ��s�o?��4ʝzC~���ڏ}=�r�ސ����o�ژ��o���ׇ�3_O�{Poȏw//��3_O�ܩ7��wϵ��è6� ��'��X�����S������7r= �I�!?/pu��jcªW�֪�� +�^�\�^ wj^���Z��jgªW�֪�� +�^�\�^ wj\����U/$ªW%ޫ^Y=����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW%߫^Y>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW%߫^Y>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW%߫^Y>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW#�X���I�U�N�U/�;V�:�V�@�TX���Z��Saի��U�,Լ�չת�� �^�Z�^�v*�zur�z�ܩyիrk�+�� �^�Z�^�v*�zur�z�ܩyիs�U/PV�*�^���A�U�N�U/�;5�zu��jcªW�֪�� +�^�|�ze���U�νV�@mLX���Z��Saի�k��N�U�J�W��|Paի�k��N�U�N�U/�;V�:�V�@�TX���{�+�V�:�V�@�TX���Z��Saի�k��N�U�J�W��|Paի�k��N�U�N�U/�;V�:�V�@�TX���{�+�V�:�V�@�TX���Z��Saի�k��N�U�J�W��|Paի�k��N�U�N�U/�;V�:�V�@�TX�j��^Q>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW%߫^Y>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩyիs�U/PV�*�^���A�U�N�U/�;5�zu���?aիk��N�U�J�W��|P�W�^�^�6&�zuj�z�۩���ɵ�r��U�ʭU��v&�zuj�z�۩���ɵ�r��U�νV�@mLX���{�+�V�:�V�@�TX���Z��Saի�k��N�U�J�W��|Paի�k��N�U�N�U/�;V�:�V�@�TX���{�+�V�:�V�@�TX���Z��Saի�k��N�U�F~��� +�^�\�^ w*�zur�z�ܩ���ɵ�r�ªW%߫^Y>����ɵ�r�ªW'תȝ +�^�\�^ w*�zU��� +�^�\�^ w*�zur�z�ܩ��V��U/x���u�Bi�+���]�:�������W���y�����?�������������.�s��p��xs��xz�������s��ʞ�y����11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X�>���ژyL�SkL܃���J�#�S�X�>���ژyL�T�11r;5��U�=&����J�yL����cb�z���۩yL���11�;5��u�5&jg�1�R������<&V�טɝ���J��11$�1�N�11Pj+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X)_cb$wj�����1�R���H��<&V�טɝ���J�#�S�X'ט�5����5&Fr��1�R���H��<&V�טɝ���:���@>�yL���11�;5����5&Fr��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�J��IJ|R�X)_cb$wj+�kL��N�cb�|���ܩyL��kL���J�yL����cb�z���۩yL���11�;5��u�5&jg�1�R������<&V�טɝ��J�yL����cb�Zcb��<&V�טɝ��J�yL����cb�z���۩yL��kL���J�yL����cb�z���۩yL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X)_cb$wj�����1�R���H��<&V�טɝ���J�#�S�X'ט�5����5&Fr��1�R���H��<&V�טɝ���*���I�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��ur���|P�X)_cb$wj+�kL��N�cb�|���ܩyL��kL䃚��J�#�S�X)_cb$wj+��11R3��uj���{P�X)_cb$wj+����H�����J�#�S�X'ט�5����������J�#�S�X)_cb$wj��kL���cb�z���۩yL���11�;5����������:����=�yL���11�;5����5&Fr��1�R���H��<&��5&�A�cb�|���ܩyL���11�;5����5&Fr��1�N�11�j+�kL��N�cb�|���ܩyL���11�;5��U�=&�哚��J�#�S�X)_cb$wj+�kL��N�cb�\cb �<&V�טɝ���J�#�S�X)_cb$wj�����1�R���H��<&V�טɝ����$V9&F/t~���1��F�{L����� �����Ğ�Sb�嗟��_���~�����_�ç���_�c�/�H�u!�������{����߉����w�L +|�ٙ��Vfս�lLh{+���l6&���Y]o6��Ƽ��hv&$��YEo6z�ʬ�7�� 1oeV˛�Ƅ��1�7�� oeVś�Ƅ��2+��fcB�[���f�1��m�;ލfgB�[�U�f�1�ۭ��v�٘�Vf5��lL(v�v�ٙ��Vfպ�lLhu+�R�l6&���Y�n6*�Ƽ#�hv&$��Y�n6��ʬ<7�� qneV���Ƅ2�1�07�� YneV���Ƅ&�2+��fcB�[���f�1��-�1n2&���Y%n6:�ʬ7�� neV���Ƅ�1��7�����J�����H����*��bcBx[���f�1suۈ�F�!���*n�ؘ��Vf��l��V���f�G"���w��Q�L�l+�*�l6fnl+�Jl��#�ʫ�6�� umc�qm4;3���x�����]m�UV��Ƅ��2���fcBQۘwP�΄��2���fcBK[���f�1!����h�٘P�6��F�3!���*h�٘��Vf��lL�g+���l6&���y����L�f+���l6&4��Y�l6��ʬ^6�� �lcޱl4;R�ʬR6�� �leV&��ƄH�2���fcB!ۘw �΄<�2���fcB[���f�1!����b�٘P��(6���ʬ"6�� =leV��Ƅ�2���fcB ۘw�΄�2���fcB[���f�1!����_�٘P�6��F�3!}��*_�٘нVfe��lL�^+���l6&��y���L�]+�j�l6&���Y�k63���xu�����k�ݑk;�ʬ�5�����{�[����ʪ�5{� ekc�ak4;3g��xU����Mk�UҚ�Ƅ��2�g�fc暵+f�^#B�ZyU�f�1�c���X�٘9b�īa�ޏD(X�X�ؙ��Vfի�lLhW+���l6&���Y�j6��Ƽ��hv&$��Y�j6z�ʬ\5�� �jeV���ƄR�1�P5�� �jeV���ƄF�2+Q�fcB�Z�էf�1�N-�qj2&���Yej6��ʬ,5�� QjeV���Ƅ"�1� 5�� 9jeV���Ƅ�2+E�fcB�Z�աf�1�Bm�;B�fgB�Z�U�f�1�?���O�٘��B�kO�۬���m�^n���_��w�ǯ��8�������ھ^�>?�_��7�o{=w~�">=���?���/��Ӈu|U���?ЇM��A>^��Z�������ŗ�{����.�G"|uq%�_]�Ճ +_]����� w*|uq'�W�ܩ��ŝ\Y3ȝ +as%�es�*�͝\q3ȝ +ys'W�r�B��ɕ8�ܩ9W�]9g��B���:�ܩ�:wr�� w*�Ν\�3ȝ +�s%��s�*4ϝ\�3ȝ +�s'W�r�B��ɕ>�ܩ?W�]?g��B���@�ܩ�@wr5� w*TН\4ȝ +!t%�%t�*�Н\14ȝ +9t'W r�B�ɕD�ܩEW�]Eg��B��F�ܩ�Fwr�� w*�ѝ\y4ȝ +�t%߅t�*4ҝ\�4ȝ +�t'W' r�B)�ɕJ�ܩK7�Z:�'z�N�`�N�d�����S����ʦA�T�+�.��|Ps;ݹW< jcB>ݩ�O�۩PPwr%� wj��+�*�v&tԝZ!5�� +)u'WK r�暺s���Ƅ��R�:���N���N�Yu�^]5�� eu�VZ n�B\]�w]�僚��νkP�N���N�ʺ�+��S!��仴��A�ֺ�+��S!����A�T(�;��k�;��J���,T�;��k�;��N���N����+��S!������A���+��S!����A�T(�;�Rl�;b�J�k�,T�;��l�;��N�&�N�*��+��S!̮����A�6��+��S!����A�T(�;�m�;"�F~QiG��B���j�ܩ�jwr�� w*�ڝ\�6ȝ +�v%��v�*4\�6ȝ +�v'W� r�B��ɕn�ܩoW�]og��B���p�ܩ�pwr5� w*Tܝ\7ȝ +!w%�%w�*�ܝ\17ȝ +9w'W� r�梻s���Ƅ��R�;���N���N�iw�>�� �H���+��S!�����A͍w�^�7�� �w�V� n�B��ɕz�ܩ9��ܪ��ڙ�{wj��v*$ߝ\�7ȝ���ν�oP��J����Th�;��o�;��N���N���+�S!����A���+�S!��j�A�T��;�rp�;��J���,Th�;��p�;��N�.�N�2��+ �S!o�ux�O*��\�8ȝ +�x'W#r�B%�ɕ��ܩ�W�]�g��B+����ܩ��wr�� w*�\�8ȝ +�x%��x�*t�\�8ȝ +�x'W;r�B=��.�Z�����<���/ȟ��T���T�?��?��y����o~���~��̷���~���ӿ��O�^�Jz{~�� /������Ӎ�����%��>��S�+��N���T8��:�S�T���T�N�S�J�O��|P�T���T�N�S�N�S!�;N�:�N�@�T8���T(�N�:�N�@�T8��:�S�T���T�N�S�J�O��|P�T���T�N�S�N�S!�;N�:�N�@�T8���T(�N�:�N�@�T8��:�S�T���T�N�S�F~q*� �B�\�B w*� ur� -�ܩp*T���P�*� -ur� -�ܩp*��u*r�©P'שȝ -�B�|� -e��©P'שȝ +�ܩp*��u*r�©P%ߧBY>�p*��u*r�©P'שȝ �B�\�B w*� -ur� -�ܩp*T���P�*� -ur� -�ܩp*��u*r��S�νN�@mL8���T(�N�:�N�@��x*ԩϧB �H�S�N�S!P;N�*�>��AͧB�{� -�ژp*ԩu*n�©P'שȝ�O�*�N��ڙp*ԩu*n�©P'שȝ�O�:�:�1�T�R�S��T8��:�S�T���T�N�S�N�S!�;N�*�>��A�S�N�S!�;N�:�N�@�T8��:�S�T���S�,T8��:�S�T���T�N�S�N�S!�;N��ũP�O*� -ur� -�ܩp*��u*r�©P'שȝ -�B�|� -e��©P'שȝ +U�}*�� �B�\�B w*� ur� -�ܩp*T���P�*� +�ܩp*��u*r�©P%ߧBY>�p*��u*r�©P'שȝ�O�:�:�1�T�R�S��T8��:�S�P�>� +��#N�:�N�@�T8���T(�5� +u�u*jc©P�֩�� +�B�\�B wj>��:�jg©P�֩�� +�B�\�B wj>���T�ƄS�J�O��{P�T���T�N�S�N�S!�;N�:�N�@�T8���T(�N�:�N�@�T8��:�S�T���T�N�S�J�O��|P�T���T�N�S�N�S!�;N�:�N�@�T8j��BQ>�p*��u*r�©P'שȝ +�B�\�B w*� +U�}*�� +�B�\�B w*� ur� -�ܩp*��u*r�©P8UiO���֩��=��> -o��O����_�_�Th=�S����C����_ηB_~�_@q� ���9��7��@��OϷ��bOGǿ�=}�����P����A���N��h�;��;���A�T���䚎�Sa:�����,T���䚎�Sa:��k:�N���N��h�;��+�����A���N��h�;��;���A�T���䚎�Sa:�����,T���䚎�Sa:��k:�N���N��h�;����tt�O*LGwrMG�ܩ0��5 r��tt'�t4ȝ -�ѕ|OGg�����ν��AmL���Ԛ��Sa:��k:�N��ѕ[��Y�L���Ԛ��Sa:��k:�N��ѝ{MG�ژ0]��ttv*LGwrMG�ܩy:�s��hP��;�����T����{::�5OGw�5 jc�tt��t4�� -�ѝ\�� w*LGW�=�� -=X'Wr�B��Ճ�ܩЃur�` w*�`�|�`Y>�Ѓur�` w*�`�\=ȝ -=X'Wr�BV�w�� -=X'Wr�B��Ճ�ܩЃur�` w*�`�|�`Y>�Ѓur�` w*�`�\=ȝ -=X'Wr�BV�w�� -=X'Wr�B��Ճ�ܩЃur�` w*�`�����I�����S�����@�T��:�z0�;z�J�{�,T��:�z0�;z�N��N�����S�����A�����S�����@�T��:�z0�;z�J�{�,T��:�z0�;z�N��N�=X�^=�� =X��=Xv*�`�\=ȝ{�N}��@��=X'Vj�BV�w�僚{�νz0Pz�N��N�����SsV�Ճe�3�������T��:�z0�;5�`�{�`�6&�`�z�`�=�Ѓur�` w*�`�\=ȝ -=X'Wr�BV�w�� -=X'Wr�B��Ճ�ܩЃur�` w*�`�|�`Y>�Ѓur�` w*�`�\=ȝ -=X'Wr�B��/z�(�T��:�z0�;z�N��N�����S�����A�����S�����@�T��:�z0�;z�J�{�,T��:�z0�;z�N��N�,�Jm/�z��z>��������q<=�~a=�zL=�� C��矾�����_~���2��O���p�����7�}�����~qU���U��_T����B��N���N��j�;��+�����A�W՝{]U�ژpUݩuU n��Uu'�U5ȝ���+����ڙpUݩuU n��Uu'�U5ȝ���;����1᪺R���T���亪�S�Uu�^Wՠ6&\Uwj]U�۩pU]��Uu�j������Ƅ��N��jp;��;���A�T������:���;���A�T���亪�S᪺���N���J����|P᪺���N���N��j�;��;���A�T������:���;���A�T���亪�S᪺���N���J����|P᪺���N���N��j�;��;���A�T������:���;���A�T���亪�S᪺���N���F~qU� -W՝\W� w*\Uwr]U�ܩpU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ +�ܩp*��u*r�©P%ߧBY>�p*��u*r�©P'שȝ +�B�T�=�Z�B�/��z�T(���?:����S���N��wW��ׯ�~9� +}�9~��7��_�|.�`�=>>=���=�"�t��_D����Bi::���;���A�T���䚎�Sa:��k:�N���J����|Pa:��k:�N���N��h�;��;���A�T����{::���;���A�T���䚎�Sa:��k:�N���J����|Pa:��k:�N���N��h�;��;���A�T��n���Q>�0��5 r��tt'�t4ȝ +�ѝ\�� w*LGW�=�僚��;����1a:�Sk:�N���N��h�;5OGWnMGg�3a:�Sk:�N���N��h�;5OGw�5 jc�tt�����=�0��5 r����ν��AmL���Ԛ��Sa:�����,�<ݹ�t4�� �ѝZ���v*LGwrMG�ܩ0]��tt�*�`�\=ȝ +=X'Wr�B��Ճ�ܩЃU�݃e��B��Ճ�ܩЃur�` w*�`�\=ȝ +=X%�=X�*�`�\=ȝ +=X'Wr�B��Ճ�ܩЃU�݃e��B��Ճ�ܩЃur�` w*�`�\=ȝ +=X%�=X�*�`�\=ȝ +=X'Wr�B��Ճ�ܩЃ5�,�'z�N��N�����S�����@�T��*����|P�����@�T��:�z0�;z�N��N����,�z�N��N�����S�����@�T��*����|P�����@�T��:�z0�;5�`�{�`�6&�`�z�`�=�Ѓur�` wj��:���G"�`�X=�� +=X%�=X�j��:���@mL��:�z0p;z�N��N�=X�V��΄�S��S�����@��܃u�Ճ�ژЃU�݃e��B��Ճ�ܩЃur�` w*�`�\=ȝ +=X%�=X�*�`�\=ȝ +=X'Wr�B��Ճ�ܩЃU�݃e��B��Ճ�ܩЃur�` w*�`�\=ȝ +=X#����|R�����@�T��:�z0�;z�N��N����,�z�N��N�����S�����@�T��*����|P�����@�T��:�z0�;z��+�=����._���v����`������;���c���h�?��嗟�lu������ӗ�}�/�����L]����O/�>��������/���U��JW� w*\Uwr]U�ܩpU]��Uu�j������Ƅ��N��jp;��;���A��|U]�uU��΄��N��jp;��;���A��|Uݹ�U5�� WՕz_Ug���Uu'�U5ȝ���;����1᪺S��N���J����|P�Uu�^Wՠ6&\Uwj]U�۩pU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ W՝\W� w*\UW�}U�� -W՝\W� w*\Uwr]U�ܩpU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ���;����1᪺R���T���亪�S�Uu�>_U��#��;���A�T������:�5_Uw�uU jc�Uu��U5�� -W՝\W� wj���ܺ��jg�Uu��U5�� -W՝\W� wj������Ƅ��J����{P᪺���N���N��j�;��;���A�T������:���;���A�T���亪�S᪺���N���J����|P᪺���N���N��j�;��;���A�T��n�W�Q>�pU��uU r��Uu'�U5ȝ +W՝\W� w*\Uwr]U�ܩpU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ W՝\W� w*\UW�}U�� W՝\W� w*\Uwr]U�ܩpU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ -W��ȷ���ZW/����}�C���_Y��q��էN{~��G��?~W_m=���7����?���T��ӏ�������O_N�O��������ï���O���/��?<}��_>��9�}ҿ����������v�O���j�eǿ���}�W����P���S���N���N��n�;.�+�����A͗ݝ{]v�ژp�ݩu� n��ew'�e7ȝ�/�+�.��ڙp�ݩu� n��ew'�e7ȝ�/�;����1R����T������S�ew�^�ݠ6&\vwj]v�۩p�]��ew�j������Ƅ��N��np;.�;�.�A�T�����;�.�;�.�A�T������S���N���J�/��|P���N���N��n�;.�;�.�A�T�����;�.�;�.�A�T������S���N���J�/��|P���N���N��n�;.�;�.�A�T�����;�.�;�.�A�T������S���N���F~q�� +W՝\W� w*\U7��(�T���亪�S᪺���N���N��j�;��+�����A���N��j�;��;���A�T���亪�S᪺���,T���亪�S᪺���N���N��j�;��+�����A���N��j�;��;���A��|Uݹ�U5�� WՕz_Ug���Uu'�U5ȝ��;�����pU݉uU j��Uu%�W�Y>����s��jP��;�����T���亪�S�Uu��UuV;��;�����T���亪�S�Uu�^Wՠ6&\UW�}U�݃ +W՝\W� w*\Uwr]U�ܩpU��uU r��Uu%�W�Y>�pU��uU r��Uu'�U5ȝ +W՝\W� w*\UW�}U�� +W՝\W� w*\Uwr]U�ܩpU��uU r��Uu#�����I���N��j�;��;���A�T���亪�S᪺���,T���亪�S᪺���N���N��j�;��+�����A���N��j�;��;���A�T��G��U5�к��|����W������ۯ,��8���S���=?~�#�������S����E����?������o������/�����~�������O�����ӗO�����/�����>�_���{�f�s};����q����_��˾��{�W^(]v�ܩp���u� r��ew'�e7ȝ +�ݕ|_vg�����ν.�AmL���Ժ��S���N͗ݕ[��Y�L���Ժ��S���N͗ݝ{]v�ژp�]��ewv*\vwr]v�ܩ���s��nP.�;�.���T�����;�5_vw�u� jc�ew��e7�� +�ݝ\�� w*\vW�}ٝ� �ݝ\�� w*\vwr]v�ܩp���u� r��ew%ߗ�Y>�p���u� r��ew'�e7ȝ �ݝ\�� w*\vW�}ٝ� -�ݝ\�� w*\vwr]v�ܩp���u� r��ew%ߗ�Y>�p���u� r��ew'�e7ȝ�/�;����1R����T������S�ew�>_v��#.�;�.�A�T�����;�5_vw�u� jc�ew��e7�� -�ݝ\�� wj��ܺ��jg�ew��e7�� -�ݝ\�� wj������Ƅ��J�/��{P���N���N��n�;.�;�.�A�T�����;�.�;�.�A�T������S���N���J�/��|P���N���N��n�;.�;�.�A�T��n���Q>�p���u� r��ew'�e7ȝ +�ݝ\�� w*\vwr]v�ܩp���u� r��ew%ߗ�Y>�p���u� r��ew'�e7ȝ +�ݝ\�� w*\vW�}ٝ� +�ݝ\�� w*\vwr]v�ܩp���u� r��ew#����I���N��n�;.�;�.�A�T������S����,T������S���N���N��n�;.�+�����A���N��n�;.�;�.�A�T������S����,T������S���N͗ݝ{]v�ژp�]��ewv*\vwr]v�ܩ�S�/�A���ݝX�ݠv*\vW�}ٝ僚/�;����1S��N���N��n�;5_vWn]vg�3S��N���N��n�;5_vw�u� jc�ew�ޗ��=�p���u� r��ew'�e7ȝ �ݝ\�� w*\vW�}ٝ� �ݝ\�� w*\vwr]v�ܩp���u� r��ew%ߗ�Y>�p���u� r��ew'�e7ȝ -���¸��Z�ݗ/�.���~��|�=��A����;����O��^�_r�zx~Ӌ�~�x�b���]O���|����?0�t�endstream +�ݝ\�� w*\v7���(�T������S���N���N��n�;.�+�����A���N��n�;.�;�.�A�T������S����,T������S���N���xa�]v�����J���N�x>���� ��x�����է^w/ǯ��{=<���N��x������������n��k��w�t�endstream endobj 1550 0 obj << /Type /Page @@ -5251,14 +5272,14 @@ endobj 1585 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [94.6451 499.9054 148.3831 508.8716] +/Rect [94.6451 500.025 148.3831 508.8716] /Subtype /Link /A << /S /GoTo /D (versions) >> >> endobj 1586 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 499.9054 538.9788 508.8716] +/Rect [527.0237 500.025 538.9788 508.8716] /Subtype /Link /A << /S /GoTo /D (versions) >> >> endobj @@ -5659,14 +5680,14 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 122.3762 303.2015 133.2801] /Subtype /Link -/A << /S /GoTo /D (2165) >> +/A << /S /GoTo /D (2159) >> >> endobj 1644 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 122.3762 538.9788 133.2801] /Subtype /Link -/A << /S /GoTo /D (2165) >> +/A << /S /GoTo /D (2159) >> >> endobj 1645 0 obj << /Type /Annot @@ -5694,7 +5715,7 @@ endobj /Filter /FlateDecode >> stream -xڔ�M�d�am7ׯ��0UY�QYC��O�l�_x`{�A-�m������/�g��}���ֺ� �?����y���������p�_ϯ���������wO��p�G����o�����i��̓�{���??�^����W�<�y������E�����?��yݽ�������u7�?���������?��~��_��������O����������?����'���������ͽ��f�{=.?���;�'�W]��nw� ]v�O���z �]�r�>�������R���$_����r9[��j�;uC~�^���>�F�S7���|�?���(w�c��?D��K����I�P7��o�xi?�q5ʝ�!�~;��K+�]�r�nȯ���k��߮F�S�/�o�������$_��뷳j?�q5ʝ�!�~;O��cW�ܩ������u�_�jc>6��wϗ��3W�{�n����C����Q�� ������~1���a�~3�c��߮F�Sʯ�1�=O�N��A�R7�ׯ�pn���ژ��7�|~iշ���� ��������oW�ܩ����W�T�b\Ljgn���������v����_^��|\�r�n�/�s���v-�?k�����S����I�P7����o?�q5ʝ�!�~/��k+�]�r�nȯ�����oW�ܩ���s8�����uC~�v���>�F�S7��ogl?�q5ʝ�!�~;O��V~��N},?�wO���cW�|�n��������v5ʝ�!?�^^ڏ}\�r�n�/������oW�ܩ���s��J����uC~�v��oPt5ʝ�!�~;���cW�ܩ��sx�?���(w�c����<�ۏ}\M�!�~;�}���q5ʝ�!�~;O���>�F�S7����P췫Q��������~��j�/� �aw|9����Nݐ���/�}+�]�r�nȯ���T췫Q�������9�ۏ}\M�!�~;���cW�ܩ��s��Z��j�;uC~�v��c+�]�r�>��^�����cW�|�n����}��>�F�S7���������(w���O/��c�]�r�>���v��}��P��+uC~�v���V~��Nݐ_���a��oW�ܩ��?-巋P�������9ۏ}\M�!�~;����Ũ6�����O�g>�F�S7���t�?���(w�c���n뽁�}�����0vϗ�Z}��Nݐ�v//�C+�]�r�n�/���k�~���|l>\��S�u��ɽP7�ׯ���~��j�;uC~�j��Q�Ũ6������V}��N},?^�����3W�|�nȯ_;v�_�jcn����S��NW�۩��n�z�ܷ�Q�������|9���2�&�Bݐv��S����Q�� �iw>�ۏ}\�r�nȯ�Ω���q5ʝ�X~�~;Ǘ�cW�|�nȯ������oW�ܩ���|i?�q5ʝ�!�~;���c�]�r�>��\���S����I�P7��o������(w���;����&��Q�� �e�ty�?���(w�c��iwzyn?�q5����{:ڏ}\�r�nȯ����~��j�;uC~�v���ĺ�N},�~;ן�J����uC~�v����>�F�S7��og߾���Q�� ���yz�?���(w�C���iw|m�&�� _������ri巫Q�� ��m�pj巫Q�� �������oW�ܩ����sn_|��$_���sj�&��(w�����ۏ}\�r�nȯ�����oW�ܩ����o�}�XW�|�nȯ�ξ�]�r�nȯ��S�N��F�S7�/�����oW�ܩ�凧���tt5���ywyi_+��(w���;�ہ��F�S7��o�}^>.F�1��ׯ�خst5������u��F�S7�ׯ�Ъ��������T෫Q������{ٷ橫I�P7����#�q1���a>�_�]��F�S7�/��K�oڸ�N},??���R�]Ljgn��w/���b]�n�nȯ_ͩ���j�;uC~�j���Ũ6�c����9�o�jr/� ���ynw9��Nݐ_��}�6��F�S7��/��R췫Q������n��Nst5���yw��o�j�;uC~��/�@GW�ܩ����}�XW�ܩ���o��tt5�����ځ��F�S7��o�ؾM��Q�� ���9��v5ʝ�P~z�~;���ĺ�+uC~�v��@GW�ܩ����tt5ʝ�!ٝ^���~��N},�?�.�@GW�|�nȟw���mb]�r�n�O��s;���(w����^��v5ʝ�X�|�v���ĺ��uC~�v��@GW�ܩ��sh�&��(w����<ot�E�'�E����iϿ��un�|X���{�l�<��EǷ_Y\��>�w��?���o$~~{���֭]�:om\���KO�[����O?���O?�bO��맿������T� SO��i���H�Y]��n7k �ng�Bjc�H�V �5�@J����ܩ�R�o5R3�@J����۩�R�g $�Wj����[ ����5�R=j �vj����Q!�Sc �s����k �z�@���\)�Br��H�~����#1�@:�j �^��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@*���d�J�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�X)ݷ���k �z�@���\)�Br��H�5P;3�@J����۩�R�G ��N�5��}���ژ�ҩU�B�5�R>j $wj����[ ����5�R=j �vj��tr�@@�Pc �t�j �6f����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ�R�g $�Wj����Q!�Ss ���ɝ�k �|�@H��\�䪁�|��H)5�;5�@J����ܩ�R�G ��N�5�N��j����Q!�Ss ���ɝ�k �|�@H��\�䪁�|��H)5�;5�@J����ܩ�R�o5R3�@:�j �^��R�G ��NM5�R�^!�Gb����Q!�Ss ����k ��V!�1s �T����k �|�@H��X�ܣjg�H�5r;5�@J����ܩ�R�o5R3�@:�j �^��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ���H���\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@RĢ��� ݮ�pC�������ew<�=������������ϗۿ���:]6z ��?�����~������_�������+�;�Z9>��[9��h�7�F��͆FÃJ��(_���йG��ƄFC�V��N�FC'W��N͍�ʭFCV; �Z�p; �\��;56:�����Dh4T��h�� +xڔ�M�d�am7ׯ��0UY�QYC��O�l�_x`{�A-�m������/�g��}���ֺ� �?����y���������p�_ϯ���������wO��p�G����o�����i��̓�{���??�^����W�<�y������E�����?��yݽ�������u7�?���������?��~��_��������O����������?����'���������ͽ��f�{=.?���;�'�W]��nw� ]v�O���z �]�r�>�������R���$_����r9[��j�;uC~�^���>�F�S7���|�?���(w�c��?D��K����I�P7��o�xi?�q5ʝ�!�~;��K+�]�r�nȯ���k��߮F�S�/�o�������$_��뷳j?�q5ʝ�!�~;O��cW�ܩ������u�_�jc>6��wϗ��3W�{�n����C����Q�� ������~1���a�~3�c��߮F�Sʯ�1�=O�N��A�R7�ׯ�pn���ژ��7�|~iշ���� ��������oW�ܩ����W�T�b\Ljgn���������v����_^��|\�r�n�/�s���v-�?k�����S����I�P7����o?�q5ʝ�!�~/��k+�]�r�nȯ�����oW�ܩ���s8�����uC~�v���>�F�S7��ogl?�q5ʝ�!�~;O��V~��N},?�wO���cW�|�n��������v5ʝ�!?�^^ڏ}\�r�n�/������oW�ܩ���s��J����uC~�v��oPt5ʝ�!�~;���cW�ܩ��sx�?���(w�c����<�ۏ}\M�!�~;�}���q5ʝ�!�~;O���>�F�S7����P췫Q��������~��j�/� �aw|9����Nݐ���/�}+�]�r�nȯ���T췫Q�������9�ۏ}\M�!�~;���cW�ܩ��s��Z��j�;uC~�v��c+�]�r�>��^�����cW�|�n����}��>�F�S7���������(w���O/��c�]�r�>���v��}��P��+uC~�v���V~��Nݐ_���a��oW�ܩ��?-巋P�������9ۏ}\M�!�~;����Ũ6�����O�g>�F�S7���t�?���(w�c���n뽁�}�����0vϗ�Z}��Nݐ�v//�C+�]�r�n�/���k�~���|l>\��S�u��ɽP7�ׯ���~��j�;uC~�j��Q�Ũ6������V}��N},?^�����3W�|�nȯ_;v�_�jcn����S��NW�۩��n�z�ܷ�Q�������|9���2�&�Bݐv��S����Q�� �iw>�ۏ}\�r�nȯ�Ω���q5ʝ�X~�~;Ǘ�cW�|�nȯ������oW�ܩ���|i?�q5ʝ�!�~;���c�]�r�>��\���S����I�P7��o������(w���;����&��Q�� �e�ty�?���(w�c��iwzyn?�q5����{:ڏ}\�r�nȯ����~��j�;uC~�v���ĺ�N},�~;ן�J����uC~�v����>�F�S7��og߾���Q�� ���yz�?���(w�C���iw|m�&�� _������ri巫Q�� ��m�pj巫Q�� �������oW�ܩ����sn_|��$_���sj�&��(w�����ۏ}\�r�nȯ�����oW�ܩ����o�}�XW�|�nȯ�ξ�]�r�nȯ��S�N��F�S7�/�����oW�ܩ�凧���tt5���ywyi_+��(w���;�ہ��F�S7��o�}^>.F�1��ׯ�خst5������u��F�S7�ׯ�Ъ��������T෫Q������{ٷ橫I�P7����#�q1���a>�_�]��F�S7�/��K�oڸ�N},??���R�]Ljgn��w/���b]�n�nȯ_ͩ���j�;uC~�j���Ũ6�c����9�o�jr/� ���ynw9��Nݐ_��}�6��F�S7��/��R췫Q������n��Nst5���yw��o�j�;uC~��/�@GW�ܩ����}�XW�ܩ���o��tt5�����ځ��F�S7��o�ؾM��Q�� ���9��v5ʝ�P~z�~;���ĺ�+uC~�v��@GW�ܩ����tt5ʝ�!ٝ^���~��N},�?�.�@GW�|�nȟw���mb]�r�n�O��s;���(w����^��v5ʝ�X�|�v���ĺ��uC~�v��@GW�ܩ��sh�&��(w����<ot�E�'�E����iϿ��un�_���{�l�<��EǷ_Y\��>�w��?���o$~~{���֭]�:om\���KO�[����O?���O?�bO��맿������T� SO��i���H�Y]��n7k �ng�Bjc�H�V �5�@J����ܩ�R�o5R3�@J����۩�R�g $�Wj����[ ����5�R=j �vj����Q!�Sc �s����k �z�@���\)�Br��H�~����#1�@:�j �^��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@*���d�J�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�X)ݷ���k �z�@���\)�Br��H�5P;3�@J����۩�R�G ��N�5��}���ژ�ҩU�B�5�R>j $wj����[ ����5�R=j �vj��tr�@@�Pc �t�j �6f����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@J����ܩ�R�g $�Wj����Q!�Ss ���ɝ�k �|�@H��\�䪁�|��H)5�;5�@J����ܩ�R�G ��N�5�N��j����Q!�Ss ���ɝ�k �|�@H��\�䪁�|��H)5�;5�@J����ܩ�R�o5R3�@:�j �^��R�G ��NM5�R�^!�Gb����Q!�Ss ����k ��V!�1s �T����k �|�@H��X�ܣjg�H�5r;5�@J����ܩ�R�o5R3�@:�j �^��R�G ��N�5�R>j $wj����Q!�Ss ����k �|�@H��\)�Br��H)5�;5�@:�j _��R�G ��N�5�R>j $wj����Q!�Ss ���H���\)�Br��H)5�;5�@J����ܩ���U�B�5�R>j $wj����Q!�Ss ���ɝ�k �\5�/�\)�Br��H)5�;5�@RĢ��� ݮ�pC�������ew<�=������������ϗۿ���:]6z ��?�����~������_�������+�;�Z9>��[9��h�7�F��͆FÃJ��(_���йG��ƄFC�V��N�FC'W��N͍�ʭFCV; �Z�p; �\��;56:�����Dh4T��h�� ��N�Fȝ ��N�Fȝ ��N�Fȝ @@ -5763,84 +5784,102 @@ O O�;����ܩ�d����:ȝ O�;����ܩ�d���=Y�� O�;����ܩ�d����:ȝ -O�;����ܩ�d���'�Y�P��z'דu�;��wr=Y�S��z'דu�;��W��d=�*<Y��z�r��N�'� w*<Y�r�'�pC���� ���O�����o�g��_u�=W?��1�np<�.������{p����}�<��xٽ{~�x��\����N������7��ܤ��$_�������O�;��j�;uC~���S+�]�r�n���R�\�U�ܩp\U%��Ue�B��:����SḪN��@�T8����*�;�����,_�p\U'�qU w*W��u\ȝ -�UurWr��qU�|W������:� -�N��:����S�qU�{Wjc�qU�zW������:� -�N��Uu�q\�� �UujWn��qU��(_�����=���1ḪN����T8����*�;5WU�u\UV;����:� -�N��:����S�qU��v\�?ḪJ<���� +O�;����ܩ�d���'�Y�P��z'דu�;��wr=Y�S��z'דu�;��W��d=�*<Y��z�r��N�'� w*<Y�r�'�pC���� ������;��2��~Ϛ2z��|{�~��cr?��x�]oS��������m��yt��{=������������-����O��o���I��I�P7����۟�w���(w���;��V~��Nݐ���:����SḪJ>���� �UurWr��qU�\�U�ܩp\U'�qU w*WU��qUY�PḪN��@�T8����*�;����:� �N��*�<�*�*W��u\ȝ -�UurWr��qU�\�U�ܩp\U%��Ue�B��:����SḪN��@�T8����*�;�����,_�p\U'�qU w*W��u\ȝ -�UurWr��qU�|W������:� +�UurWr���:�8� +�Ƅ�*�<�*�*W��u\ȝ������*P����:� +�N����qUQ�R�qU�{Wjc�qU�Z�U�۩p\U'�qU wj>��r븪�v&Wթu\�� +�UurWr���:���*$�qU�xW������:� �N��:����SḪN��@�T8����㪲|��qU�\�U�ܩp\U'�qU w*W��u\ȝ �UU�y\U�/T8����*�;����:� -�N��:����SḪF~w\U��T8����*�;����:� -�N��:����SḪJ>�������*P����:� -�N��:����S�qU�[�Ue�3ḪN����T8����*�;5Wչ�qU�6&WU��qUٽPḪN��@��|\U��U�ژp\U��qU�v*WU��qUY�P�qU�{Wjc�qU�Z�U�۩p\U'�qU w*WU��qUY�PḪN��@�T8����*�;����:� +�N��:����SḪJ>���� +�UurWr��qU�\�U�ܩp\U'�qU w*WU��qUY�PḪN��@�T8����*�;����:� �N��*�<�*�*W��u\ȝ -�UurWr��qU�\�U�ܩp\U%��Ue�B��:����SḪN��ȝ +�UurWr��qU�\�U�ܩp\U%��Ue�B��:����SḪN��@�T8����*�;�����,_�p\U'�qU w*W��u\ȝ +�UurWr��qU��(_�p\U'�qU w*W��u\ȝ +�UurWr��qU�|W��5Wչ�qU�6&Wթu\�� +�UurWr���*����jg�qU�Z�U�۩p\U'�qU wj>��s��@mL8��R�㪲{��qU�\�U�ܩ����=���1ḪN����T8����㪲|���:�8� +�Ƅ�:����SḪN��@�T8����㪲|��qU�\�U�ܩp\U'�qU w*W��u\ȝ +�UU�y\U�/T8����*�;����:� +�N��:����SḪJ>���� +�UurWr��qU�\Q-�;�Z�\Q-�;�Z�|F��|�BT��+�r�BT��+�r�BT��+�r�BT��ϨV�/T�jurE�@�T�jurE�@�T�jurE�@�T�j5�V��T�jurE�@�T�jurE�@�T�jurE�@�T�jU���� +Q�N��ȝ +Q�N��ȝ +Q�N��ȝ +Q�J>�ZY�P!�����S!�����S!�����S!�U�gT+�*D�:��Z w*D�:��Z wj�ju���1!�U�gT+�*D�:��Z wj�ju�[T����Ċj�کժ�3���5G�:��j�ژ��Ԋj�۩���j�ܩ9�U���jgBT�S+�n�BT��+�r��V�Q-P�Z�zF��{�BT��+�r�BT��+�r�BT��+�r�BT��ϨV�/T�jurE�@�T�jurE�@�T�jurE�@�T�jU���� +Q�N��ȝ +Q�N��ȝ Q�N��ȝ -Q�J>�ZY�P!�����S!�����S!�����S!�U�gT+�*D�:��Z w*D�:��Z w*D�:��Z w*D��]T+�W*D�:��Z w*D�:��Z w*D�:��Z w*D�*��je�B��V'WT�N��V'WT�N��V'WT�N��V%�Q�,_����j�ܩ���j�ܩ���j�ܩժ�3����Z�\Q-�;�Z�\Q-�;5G�:��j�ژժ�3����Z�\Q-�;5F�:�-��D�jubE�@�T�jU���Z�{D�@mL�jujE���T�jurE�@��ժ܊je�3!�թ��S!�����SsT�s���� Q�J=�ZٽP!�����S!�����S!�����S!�U�gT+�*D�:��Z w*D�:��Z w*D�:��Z w*D�*��je�B��V'WT�N��V'WT�N��V'WT�N��V#��jE�J��V'WT�N��V'WT�N��V'WT�N��V%�Q�,_����j�ܩ���j�ܩ���j�ܩժ�3����Z�\Q-�;�Z�\Q-�;�Z!�F���FT���Χ��V�������[�������8�������w������O?}}�?��˧�o�T}������Wg���~����/����?}�������J�����_M��l���)�nt����T�P�u��z�C�~���P�ڙ�j����v*�����*ȝ�_@���TP^@�����^��j'�� wj~�s�PAmLx�S�Tp;^@����,_����=^@�1��N�P��Tx���T�;^@����,_��j'�� w*�����*ȝ +Q�F~Պ� +Q�N��ȝ +Q�N��ȝ +Q�N��ȝ +Q�J>�ZY�P!�����S!�����S!�����S!�U�gT+�*D�:��Z w*D�:��Z w*D�B��j� ���� ��Q�pG�qUO�W5.Y�q\�?������������w�~������O?�Ω��������:��/������_~������������/����?��o�����۟S����=��!6���/���|������� /�f�3��N�P��Tx���T�;5��ڹ���6&��Z���ٽP��N�PA���j�/��ژ�j����v*��Z���Y�P���{�� +jc���Z/��۩�j'�� w*��Z���Y�P��N�PA�Tx���T�;^@��z�N�P+�|5�*�����*ȝ /�vr�� -r����|����^@��z�N�P;�^@�S��N�PA�Tx���P�|����\/��ܩ�j'�� w*�����*ȝ -/�V��j�/Tx���T�;^@��z�N�P;�^@�S��J>_@�� +r����\/��ܩ�j%�/�f�B�P;�^@�S��N�PA�Tx���T�;^@����,_��j'�� w*�����*ȝ /�vr�� -r����\/��ܩ�j'�� w*�����^@�� +r����|����^@��z�N�P;�^@�S��N�PA�Tx��߽��+^@��z�N�P;�^@�S��N�PA�Tx���P�|����\/��ܩ�j'�� w*�����*ȝ +/�V��j�/Tx���T�;^@��z�N�P;�^@�S��J>_@�� /�vr�� -r����\/��ܩ�j'�� w*��Z���Y�P��N�PA�Tx���T�;^@��z�N�P+�|5�*�����*ȝ +r����\/��ܩ���=^@�1��J=_@�� /�vr�� -r����\/��ܩ�j%�/�f�B�P;�^@�S��N�PA���j�/��ژ�j��/�f�B�P;�^@�S�����*�?��N�PA�Tx���P�|��P;�x�ƄP;�^@�S��N�PA���j���Y�Lx�S�Tp;^@��z�N�/�v��*�� /�V��jv/Tx���T�;^@��z�N�P;�^@�S��J>_@�� +r��P;��T$���X/��ک�j%�/�f�B�/�v��*�� /�vj�� +n����\/��ܩ��ʭP�ڙ�j����v*�����*ȝ�_@���TP^@�����^��j'�� w*�����*ȝ /�vr�� -r����\/��ܩ�j'�� w*��Z���Y�P��N�PA�Tx���T�;^@��z�N�P���Q�R��N�PA�Tx���T�;^@��z�N�P+�|5�*�����*ȝ +r����|����^@��z�N�P;�^@�S��N�PA�Tx���P�|����\/��ܩ�j'�� w*�����*ȝ +/�6�P�|����\/��ܩ�j'�� w*�����*ȝ +/�V��j�/Tx���T�;^@��z�N�P;�^@�S��J>_@�� /�vr�� -r����\/��ܩ�j%�/�f�B�P;�^@�S��N�PA�Tx5��ؽ� -74^@����j������ߓ���u�w�p|>=��e�{yKО.����e�z�9o���*]�v_�ۋ����T�}��aw|�������p�l�z����������{t����tyxC䷫Q�� ����R>��%�Sӱ��R>�&�B��ږ�q�-ɝ���-��X[�;5k[�DZ�$wj>ֶ��X[�/�|�m)�ڒܩ�X�R>��%�S|kKr��cm;����B��ږ�q�-ɝ���-��X[�;5k[�DZ�$wj>ֶ��X[�/�|�m)�ڒܩ�X�R>��%�S㱶��v�-�������:��5k[�DZ�$wj<ֶtߎ�%�1zkKn��cm+�<�6�Wj<ֶtߎ�%�1zkKn��cmK�8֖�N���v�q�-�����-��X[r;5k[�DZ�$wj:ֶT�kK��|�m'ֱ��^��X�R>��%�S|kKr��cmK�8֖�N���vrk�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X�R>��%�S|kKr��cmK�8֖�N���vrk�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X�R>��%�S|kKr��cmK�8֖�N���vrk�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X�R>��%�S|kKr��cmK�8֖�N���vrk�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m%���f�J��ږ�q�-ɝ���-��X[�;5k[�DZ�$wj>ֶ��X[�/�x�m�kKjc�cmK�8֖�N��ږ�Q#�ScU�s������b�zT����\+�*Fr�ƪX�U�Hm�\�Ԫ��{��X)U1�;5V�J��*Fjc�X�U1r;5W�:��b _��*V�oU1R3W�J����۩�*V�GU��N�U�N���j����Q#�SsU����ɝ��b�|T�H��\�䪊�|��X)U1�;5W�J����ܩ�*V�GU��N�U�N���j����Q#�SsU����ɝ��b�|T�H��\�䪊�|��X)U1�;5W�J����ܩ�*V�GU��N�U�N���j����Q#�SsU����ɝ��b�|T�H��\��*��+5W�J����ܩ�*V�GU��N�U�R>�b$wj��urU�@�PsU����ɝ��b�|T�H��\+�*Fr��X'WU�5W�J����ܩ�*V�GU��N�U�R>�b$wj��urU�@�PsU����ɝ��b�|T�H��X+ݷ�����b�ZU1p/�\+�*Fr���X�~����#1W�Jک�*��U�B�U��}���ژ�*V�GU��N�U�R>�b$wj��u�Q�3sU�T������b�|T�H��X+ݷ�����b�ZU1p/�\+�*Fr��X)U1�;5W�J����ܩ�*��U�B�U�R>�b$wj����Q#�SsU����ɝ��b�\U1�/�\+�*Fr��X)U1�;5W�J����ܩ�*V�gU,�Wj����Q#�SsU����ɝ��b�|T�H��\�䪊�|��X)U1�;5W�J����ܩ�*V�GU��N�U�N���j����Q#�SsU����ɝ��b9�UU��n�}���y�*���?�-9v��=>�����������?͞��g�2]��G���������~����/?�q��}��(�����{�y�J���P�ə��ːzpC)5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH U��� +r����\/��ܩ�j|�{nh��zC��pG��?���'y{!������|zx��~��=]λ���<���s��U����N�O��/z�t�p�����?~soY?���r�<��p�������unu����������oW�ܩ����|kKr��cm��|\M�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X�R>��%�S|kKr��cmK�8֖�N���vrk�-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X�R>��%�S|kKr��cmK��X[R3k۩u�-�j>ֶ��cmI��x�m�kKjc�cmK�8֖�N���V�y�m���x�m�kKjc�cmK�8֖�N��ږ�q�-ɝ�����X[P;3k[�DZ��vj>ֶ��cmI��t�m�~?֖���X�N�cmA�P|kKr��cmK�8֖�N��ږ�q�-ɝ�����:��5k[�DZ�$wj>ֶ��cmI��|�m)�ڒܩ�X�N�cmA�P|kKr��cmK�8֖�N��ږ�q�-ɝ�����:��5k[�DZ�$wj>ֶ��cmI��|�m)�ڒܩ�X�N�cmA�P|kKr��cmK�8֖�N��ږ�q�-ɝ�����:��5k[�DZ�$wj>ֶ��cmI��|�m)�ڒܩ�X�N�cmA�P|kKr��cmK�8֖�N��ږ�q�-ɝ�����:��5k[�DZ�$wj>ֶ��cmI��|�m)�ڒܩ�X�J>����-��X[�;5k[�DZ�$wj>ֶ��cmI��|�m'ױ� _��X��};֖����ږ�q�-�����-�*Fr�ƪX�U1P;3W�J����۩�*V�GU��N�U��}���ژ�*֩U�B�U�R>�b$wj����[U����U�R=�b�vj��urU�@�PcU�tߪb�6f����Q#�SsU����ɝ��b�\U1�/�\+�*Fr��X)U1�;5W�J����ܩ�*��U�B�U�R>�b$wj����Q#�SsU����ɝ��b�\U1�/�\+�*Fr��X)U1�;5W�J����ܩ�*��U�B�U�R>�b$wj����Q#�SsU����ɝ��b�\U1�/�\+�*Fr��X)U1�;5W�J����ܩ�*V�gU,�Wj����Q#�SsU����ɝ��b�|T�H��\�䪊�|��X)U1�;5W�J����ܩ�*V�GU��N�U�N���j����Q#�SsU����ɝ��b�|T�H��\�䪊�|��X)U1�;5W�J����ܩ�*V�oU1R3W�:��b�^��*V�GU��NMU�R�^#�Gb����Q#�SsU���*��b��V#�1sU�T������b�|T�H��X�ܣ*jg�X�U1r;5W�J����ܩ�*V�oU1R3W�:��b�^��*V�GU��N�U�R>�b$wj����Q#�SsU���*b�|T�H��\+�*Fr��X)U1�;5W�:��b _��*V�GU��N�U�R>�b$wj����Q#�SsU��ϪX���\+�*Fr��X)U1�;5W�J����ܩ�*��U�B�U�R>�b$wj����Q#�SsU����ɝ��b�\U1�/�\+�*Fr��X)U1�;5W�r���� ݮ�pC��fU,��o(�[r�V{|������?�_�=��e��+6���/?}��˿�����_~Z�:��8��Q����c��<����x�35t�!5���Rj�N��P'Wj�N��P%���,_����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;5��:�H �ژ���35��RC�\�!�;5��:�H �ژ���J �۩�j�w��(_�95ԹGj�Ƅ�P�Vj�N��P'Wj�Nͩ�ʭ�PV;RC�Z�!p;RC�\�!�;5��:�-5�DH U��� ��N��ȝ -��N��ȝ�SC�{��@mLH U��� -��N��ȝ�SC�{��@mLH uj����TH 5��P��Ԝ��#5jcBj�S+5n�Bj��+5r���P�Vj(�� ��N���� -��N��ȝSC����G"��*�L e�B��P'Wj�N��P'Wj�N��P'Wj�N��P%���,_����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|���|�Bj��+5r�Bj��+5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH U��� -��N��ȝ -��N��ȝ -��N��ȝ -��J>SCY�P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5T�gj(�*��:�RC w*��:�RC w*��:�RC w*���]j(�W*��:�RC w*��:�RC w*��:�RC w*��*�L e�Bͩ��=RC�6&��:�RC�v*��:�RC wjN Un���ڙ���J �۩���J �ܩ95ԹGj�Ƅ�P�����^����J �ܩ95ԹGj�Ƅ�P�Vj�N��P%���,_�95ԹGj�Ƅ�P�Vj�N��P'Wj�N��P%���,_����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|���|�Bj��+5r�Bj��+5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH U��� ��N��ȝ ��N��ȝ +��J>SCY�P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5T�gj(�*��:�RC w*��:�RC w*��:�RC w*��*�L e�B��P'Wj�N��P'Wj�N��P'Wj�N��P%���,_����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|���|�Bj��+5r�Bj��+5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH 5��P��TH ur��@�TH ur��@�TH ur��@�TH U���SC�{��@mLH uj����TH ur��@�Ԝ��J e�3!5ԩ��S!5�ɕ�Ssj�s���� ��J=SCٽP!5�ɕ�Ssj�s���� ��N���� +��J>SCY�Psj�s���� ��N���� ��N��ȝ -��F~��� -��N��ȝ -��N��ȝ -��N��ȝ -��J>SCY�P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5T�gj(�*��:�RC w*��:�RC w*��:�RC w*��*�L e�B��P'Wj�N��P'Wj�Nͩ��=RC�6&��*�L e�B��P'Wj�N���N}K ��#RC�X�!P;RC�|���|���P��!PRC�Z�!p;RC�\�!�;5��*�RCY�LH uj����TH ur��@�Ԝ��#5jcBj�R��Pv/TH ur��@�TH ur��@�TH ur��@�TH U��� +��J>SCY�P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5T�gj(�*��:�RC w*��:�RC w*��:�RC w*��*�L e�B��P'Wj�N��P'Wj�N��P'Wj�N��P%���,_����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC��.5�+RC�\�!�;RC�\�!�;RC�\�!�;RC�|���|�Bj��+5r�Bj��+5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH U��� ��N��ȝ +��N��ȝ�SC�{��@mLH U��� +��N��ȝSC����G"��:�RC�v*��*�L e�Bͩ��=RC�6&��:�RC�v*��:�RC wjN Un���ڙ���J �۩���J �ܩ95ԹGj�Ƅ�P�����^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|���|�Bj��+5r�Bj��+5r�Bj��+5r�Bj��ߥ��|�Bj��+5r�Bj��+5r�Bj��+5r�Bj����P�/TH ur��@�TH ur��@�TH ur��@�TH U��� ��N��ȝ ��N��ȝ -��J>SCY�P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5���RCQ�R!5�ɕ�S!5�ɕ�S!5�ɕ�S!5T�gj(�*��:�RC w*��:�RC w*��:�RC w*��*�L e�B��P'Wj�N��P'Wj�N��PH崩!������� -wt���qvN �.�_T_!54�zO =�RC���w_?���w�������?�������������G�������ݿ>me�4뎷?f��wf�n&ͺ�z�¬��k� r�¬��k� r�¬��k� r�¬���Yw�/T�uwrͺA�T�uwrͺA�T�uwrͺA�T�uW�9��� +����iSCpC#5tC)5��>5t���:]���<�Bjh\��z�������~z������~����������������������g�}��i�o̺��>̺�L�ug�B�Yw'�N�Yw'�N�Yw'�N�Yw%���,_�0���u�ܩ0���u�ܩ0���u�ܩ0��s֝�fݝ\�n�;fݝ\�n�;fݝ\�n�;fݕ|κ�|�¬��k� r�¬��k� r�¬��k� r�¬���Yw�/T�uwrͺA�T�uwrͺA�T�uwrͺA�T�uW�9��� ��N�Y7ȝ ��N�Y7ȝ ��N�Y7ȝ -��J>g�Y�Pa���5��Sa���5��Sa���5��Sa�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�B�Yw'�N�Yw'�N�Yw'�N�Yw%���,_�0���u�ܩ0���u�ܩ0���u�ܩ0��s֝�fݝ\�n�;fݝ\�n�;fݝ\�n�;fݍ�n��+fݝ\�n�;fݝ\�n�;fݝ\�n�;fݕ|κ�|��Yw��nPfݝZ�np;fݝ\�n�;5Ϻ+�f�Y�L�uwjͺ��T�uwrͺA��<���c� jc¬�R�Ywv/T�uwrͺA��<���c� jc¬�Sk� n�¬���Yw�/�<���c� jc¬�Sk� n�¬��k� r�¬���Yw�/T�uwrͺA�T�uwrͺA�T�uwrͺA�T�uW�9��� +��J>g�Y�Pa���5��Sa���5��Sa���5��Sa�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺�ݬ;�W*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�Bͳ��=fݠ6&̺;�f��v*̺;�f� wj�uWnͺ�ڙ0��Ԛu�۩0���u�ܩy�ݹǬ�ƄYw�����^�0���u�ܩy�ݹǬ�ƄYw�֬�N�Yw%���,_�y�ݹǬ�ƄYw�֬�N�Yw'�N�Yw%���,_�0���u�ܩ0���u�ܩ0���u�ܩ0��s֝�fݝ\�n�;fݝ\�n�;fݝ\�n�;fݕ|κ�|�¬��k� r�¬��k� r�¬��k� r�¬���Yw�/T�uwrͺA�T�uwrͺA�T�uwrͺA�T�uW�9��� ��N�Y7ȝ ��N�Y7ȝ ��N�Y7ȝ -��J>g�Y�Pa���5��Sa���5��Sa���5��Sa�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�B�Yw'�N�Yw'�N�Yw'�N�Yw#��uG�J�Yw'�N�Yw'�N�Yw'�N�Yw%���,_�0���u�ܩ0���u�ܩ0���u�ܩ0��s֝�fݝ\�n�;fݝ\�n�;fݝ\�n�;fݕ|κ�|�¬��k� r�¬��k� r��Yw��nPfݕzκ�{�¬��k� r��Yw��ͺA����N�Y7�� -��J>g�Y�P�s�Y7�� ��N�Y7�� -��N�Y7ȝ�gݕ[��v&̺;�f��v*̺;�f� wj�uw�1��1a�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�B�Yw'�N�Yw'�N�Yw'�N�Yw%���,_�0���u�ܩ0���u�ܩ0���u�ܩ0�n�w��(_�0���u�ܩ0���u�ܩ0���u�ܩ0��s֝�fݝ\�n�;fݝ\�n�;fݝ\�n�;fݕ|κ�|�¬��k� r�¬��k� r�¬;N��Y7�Иu��P�u�;Zf�'�u��#t:a�=�z�un���黯_������������r����������ob������G����m��>��� �_�����o��ΪW�{�n����ñ�߮F�S7����v�_�jcn�����X淫����넧�Ws|��z#�� _���W��.^�~����0_����K��]�n�nȯ_�����oW�ܩ����W��4�r�.&�37̇����~��jt;uC~���������(w��=�ѩoq$B���8GV/T�str�9@�T�str�9@�T�str�9@�T�sT���� +��F~7�� +��N�Y7ȝ +��N�Y7ȝ +��N�Y7ȝ +��J>g�Y�Pa���5��Sa���5��Sa���5��Sa�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�B�Yw'�N�Yw'�Nͳ��=fݠ6&̺+��ug�B�Yw'�N���N}�u��#fݝX�nP;fݕ|κ�|��Yw��nPfݝZ�np;fݝ\�n�;5Ϻ+�f�Y�L�uwjͺ��T�uwrͺA��<���c� jc¬�R�Ywv/T�uwrͺA�T�uwrͺA�T�uwrͺA�T�uW�9��� +��N�Y7ȝ +��N�Y7ȝ +��N�Y7ȝ +��J>g�Y�Pa���5��Sa���5��Sa���5��Sa����f�Q�Ra���5��Sa���5��Sa���5��Sa�]��;�*̺;�f� w*̺;�f� w*̺;�f� w*̺+��ug�B�Yw'�N�Yw'�N�Yw�w�n��1뾿�4�w�̺O0�~{G�t8¬{\�>�>�f����w_�������}��?���|�������w���n��������d���}����wϗ�߮?��U=�&�Bݐv//�c+�]�r�n�ϻ�s�~����0_��ӱ��oW�۩�� Oׯ�����F��A�R7�ׯ��]���~1���a�~3��V}��Nݐ_���K��߮F�S��ׯ��ib�]Ljgn���������v��|��k����Q�� �{J�S�� �H�8G%�q��^����s�ܩ���s�ܩ���s�ܩ��3Α���\q�;��\q�;��\q�;��|�9�|�B���+�r�B���+�r�B���+�r�B����8G�/T�str�9@�T�str�9@�T�str�9@�T�sT���� +q�N�8ȝ +q�N�8ȝ q�N�8ȝ +q�J>�Y�P!������S!������S!������S!�Q�g�#�*�9:�� w*�9:�� w*�9:�� w*�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G#��sD�J�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_�9�ѹG��Ƅ8G�V��N�8G'W��N�q�ʭ8GV;��Zqp;��\q�;5�9:��s�ژ��3Α���\q�;5�9:��s�ژ��Ԋs�۩��3Α�5�9:��s�ژ��Ԋs�۩���s�ܩ��3Α���\q�;��\q�;��\q�;��|�9�|�B���+�r�B���+�r�B���+�r�B����8G�/T�str�9@�T�str�9@�T�str�9@�T�sT���� q�N�8ȝ q�N�8ȝ -q�J>�Y�P!������S!������S!������S!�Q�g�#�*�9:�� w*�9:�� w*�9:�� w*�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_����s�ܩ���s�ܩ���s�ܩ��3Α���\q�;��\q�;��\q�;��|�9�|�B���+�r�B���+�r�B���+�r�B�����9�|�B���+�r�B���+�r�B���+�r�B����8G�/����#�jcB��S+�n�B���+�r��8G�V�#�� q�N�8�� +q�N�8ȝ +q�J>�Y�P!������S!������S!������S!�����Q�R!������S!������S!������S!�Q�g�#�*�9:�� w*�9:�� w*�9:�� w*�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_����s�ܩ���s�ܩ9�ѹG��Ƅ8G��q��^����s�ܩ1�ѩoq$B��+�j�B����8G�/����#�jcB��S+�n�B���+�r��8G�V�#�� q�N�8�� q�N�8ȝ���{�9@mL�sT���� -q�N�8ȝ���{�9@mL�stj�9��T�sT������{�9@mL�stj�9��T�str�9@�T�sT���� q�N�8ȝ q�N�8ȝ q�N�8ȝ -q�J>�Y�P!������S!������S!������S!�Q�g�#�*�9:�� w*�9:�� w*�9:�� w*�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_����s�ܩ���s�ܩ���s�ܩ�h�wq�(_����s�ܩ���s�ܩ���s�ܩ��3Α���\q�;��\q�;��\q�;��|�9�|�B���+�r�B���+�r�B���+�r�B����8G�/T�str�9@�T�str�9@�����#�jcB��R�8Gv/T�str�9@����Է8�?!�щ���S!�Q�g�#�j�st����1!�ѩ���S!������Ss��r+Α�΄8G�V��N�8G'W��N�q��=��6&�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_����s�ܩ���s�ܩ���s�ܩ��3Α���\q�;��\q�;��\q�;���.��+��\q�;��\q�;��\q�;��|�9�|�B���+�r�B���+�r�B���+�r�B����8G�/T�str�9@�T�str�9@�T�s��D�q��:�l�9�-q�#�9�_�m��E�i��-��_?�������_���S�����������^���u��1K��g����;�̈́LE�~$B���Q��ƄBEa�T$���y�J<����m�ʫ4E��Y]�l6f�R4bE)�����*Rd�1�GQ����fc�E彵(��J�u�(�י���̪Pd�1�AQ����fcB��2�?��Ƅ�Dc��hv&�'*���lL�NTfe'�٘���jNd�1�8јgp"�� ��ʬ�D6Z�Y��l6&�&*�:�lL�L4���fgBb�2�0��Ƅ�DeV^"�� q�ʬ�D6��y�%�ٙ���̪Jd�1�)Q����fcBP�2�'��Ƅ�Dc�1�hv&�$*�J�lL�HTfe$�٘���jHd�1� јg@"�� ��ʬzD6��Y�l6&�#*���lL�F4���fgB2�2���Ƅ^DeV."�� ��ʬVD6J��.��2�Y��l6&4"*��lLDTf�!�٘P�h�3���i�J<����]�ʫ,D��YM�l6f.B4b!������Ad�1�Q����fc�D%���H� +q�J>�Y�P!������S!������S!������S!�Q�g�#�*�9:�� w*�9:�� w*�9:�� w*�9�]�#�W*�9:�� w*�9:�� w*�9:�� w*�9*��sd�B�8G'W��N�8G'W��N�8G'W��N�8G%�q�,_����s�ܩ���s�ܩ�%�6�74��7t>m�9�-q�#�9�_�m��E�i��-��_?�������_���S�����������^���u��1K��g����;�̈́LE�~$B���Q��ƄBEa�T$���y�J<����m�ʫ4E��Y]�l6f�R4bE)�����*Rd�1�GQ����fc�E彵(��J�u�(�י���̪Pd�1�AQ����fcB��2�?��Ƅ�Dc��hv&�'*���lL�NTfe'�٘���jNd�1�8јgp"�� ��ʬ�D6Z�Y��l6&�&*�:�lL�L4���fgBb�2�0��Ƅ�DeV^"�� q�ʬ�D6��y�%�ٙ���̪Jd�1�)Q����fcBP�2�'��Ƅ�Dc�1�hv&�$*�J�lL�HTfe$�٘���jHd�1� јg@"�� ��ʬzD6��Y�l6&�#*���lL�F4���fgB2�2���Ƅ^DeV."�� ��ʬVD6J��.��2�Y��l6&4"*��lLDTf�!�٘P�h�3���i�J<����]�ʫ,D��YM�l6f.B4b!������Ad�1�Q����fc�D%���H� D��(v&$ *� �l����#������j?d�1��Иg�!�����xT��#��Wɇ,6&*�z�lL�=4�{�fgB�2����Ƅ�CeV�!�� ��ʬ�C6 �y�ٙ�w�̪;d�1��P��v�fcBء2���Ƅ�Cc�Q�hv&$*���lL�9Tf��٘s��j9d�1��Иg�!�� �ʬ�C6�Y �l6&*�� �lL�74�o�fgB��2�ܐ�ƄnCeV�!�� цʬfC6� ��.ؐ�r �Y��l6&�*�R �lL5Tfu�٘Pih�3��΄DCeV�!�� }�ʬ<C6��Ym�l6&��3D�3!�P�Ue�fcB��2+ɐ�Ƅ CeV�!�� 5��<c��LH1Tf��٘�a���0d�1s���C�~$B�����C;��Y��l6fl/T�[z![?� �PY�]�^cBu�1��B4;3'*�(.d�G"�*�rYlL�-Tf��٘��ЈZ�^#Bf��Ƅ�BeVb!����x���#� �w��ؙ�V��*+d�1��P��U�fcBT�2����Ƅ�Bc�A�hv&�*�j -�lLh)Tf��٘R���(d�1��ИgD!�� �ʬ�B6� �Y��l6&�*�� �lL('�pB2/L�&TfU�٘�L��J&d�1!�P��K�fcB-�1�XB4;R �Y��l6&t*�2 �lL�$Tf5�٘PHh�3��΄<BeV!�� m�ʬ4B6��������fd���|ٮ"l���Eؿ�.��/Tra\��E8ݲ��黟����~x����R�,�����6ŝq�!<����V������xӺ��]?��hJ%�;5�:��1�ژ�c���1�۩Pdh�wI�(_�9�йG��Ƅ.C�V��N�4C'W��N�u�ʭ<CV; �Z�p; �\��;5f:�����D(5T�j�� +�lLh)Tf��٘R���(d�1��ИgD!�� �ʬ�B6� �Y��l6&�*�� �lL('�pB2/L�&TfU�٘�L��J&d�1!�P��K�fcB-�1�XB4;R �Y��l6&t*�2 �lL�$Tf5�٘PHh�3��΄<BeV!�� m�ʬ4B6��������fd���|ޮ"l���Eؿ�.��/Tra\��E8ݲ��黟����~x����R�,�����6ŝq�!<����V������xӺ��]?��hJ%�;5�:��1�ژ�c���1�۩Pdh�wI�(_�9�йG��Ƅ.C�V��N�4C'W��N�u�ʭ<CV; �Z�p; �\��;5f:�����D(5T�j�� ��N�Zȝ ��N�`ȝ ɆN�fȝ @@ -5861,7 +5900,7 @@ N Z�ܩ9iѹG��Ƅ�E��Y��^����*[�ܩж��[�ܩ�����[�ܩP���3q��"�\��;:�\��;R�\��;j�|�.�|�B𢓫xr�B�+zr�B����{r�B���ߥ/�|�B����~r�B���+�r�B����r�B���F�/Tatr�0@�Thatr�0@�T�atr�0@�T(bT���� Q�N�*ȝ ]�N�0ȝ -i��sh�pC#�qC���:F��������������O�SW������O����V�����N��@�����×/?~�����㟿���/�������;��Q>���F<�(��vg1��vC1�� �b�ȝ���[ŀ�v&:���v*:�� wj,t�[1���P�ij����\���;��\���;��\���;��|�|�B1����r�B1����r�B1����r�B1���b@�/T(tr@�T(tr@�T(tr@�T(T�Y�� +i��sh�pC#�qC��:F��������������O�SW������O����V�����N��@�����×/?~�����㟿���/�������;��Q>���F<�(��vg1��vC1�� �b�ȝ���[ŀ�v&:���v*:�� wj,t�[1���P�ij����\���;��\���;��\���;��|�|�B1����r�B1����r�B1����r�B1���b@�/T(tr@�T(tr@�T(tr@�T(T�Y�� ŀN�b�ȝ ŀN�b�ȝ ŀN�b�ȝ @@ -5869,349 +5908,356 @@ i ŀN�b�ȝ ŀN�b�ȝ ŀN�b�ȝ -ŀJ>�Y�P���U��S���U��S���U��S�P�g1 �*:�� w*:�� w*:�� w*�]1 �W*:�� w*:�� w*:�� w**�,d�B�b@'W1��N�b@'W1��N�b@'W1��N�b@%�ŀ,_�P��*�ܩP��*�ܩP��*�ܩP������\���;��\���;5:�(�ژP�Գ����\���;5:����D(tb@�T(T�Y��{@mL(tj��T(tr@��\��*d�3�ЩU��S���U��Ss1�s�b��� ŀJ=�ٽP���U��S���U��S���U��S�P�g1 �*:�� w*:�� w*:�� w**�,d�B�b@'W1��N�b@'W1��N�b@'W1��N�b@#�+D�J�b@'W1��N�b@'W1��N�b@'W1��N�b@%�ŀ,_�P��*�ܩP��*�ܩP��*�ܩP������\���;��\���;�q����F1���R1 ������}���f�q��b��;�=�:�v��_Ynn���ŀ���O_~�������篿~���u�s�]��p{����.[��-��M�w���zt?a�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�\,�/Լ�*�c�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�|.��|��V),�;5/�J�X`�ܩy�U����N��N��j\`��������R=X�vj^`���"�S��s����X�z,���Լ�*�c�Er��V�-�Hm̼���Z`�{��V),�;5.�J�m�Ejc�V�,r;5/�:�X _�q�U�o,R3/�J�X`�۩y�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���s���+5/�J�X`�ܩy�U����N��R>X$wj^`ur-�@�P����ɝ�X�|,�H�Լ�*�c�Er��V'��5/�J�X`�ܩy�U����N��R>X$wj^`ur-�@�P����ɝ�X�|,�H�Ը�*ݷ���X�Z,p/Լ�*�c�Er��V�~_`��#1/�J�X`�کy��ɵ��B���}[`�ژy�U����N��R>X$wj\`u���3��T����X�|,�H�Ը�*ݷ���X�Z,p/Լ�*�c�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�\,�/Լ�*�c�Er��V),�;5/�J�X`�ܩy�U��+�Wj^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�Xy0T-��n�}�����V���y��6cx=`�5�������������=����]���;ă���N���y��g��н���7�}v� -g��ܩ���R�~v(�?�١�Xg��z��CK�8;��N�g���qv(ɝ��-���P�;5���uv(�j>;����CI��|vh)g��ܩ���R>�%�S�١�\g��|��CK�8;��N�g���qv(ɝ��-���P�;5���uv(�j>;����CI��|vh)g��ܩ���R>�%�S�١�|.׳|��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\�� -��N��:ȝ -��N��:ȝ -��N��:ȝ -��J>��Y�Pa��ɵ\�Sa��ɵ\�Sa��ɵ\�Sa�����Q�Ra��ɵ\�Sa��ɵ\�Sa��ɵ\�Sa�^��r=�j^�w�\�1a�ީ�\�Sa��ɵ\�S�r�rk���΄�z��r�N��z'�r�N����=��6&,�+�\�g�B��z'�r�N����=��6&,�;����v*,�+�\�g�B����=��6&,�;����v*,�;��� w*,�+�\�g�B��z'�r�N��z'�r�N��z'�r�N��z%���,_��\��Z��ܩ�\��Z��ܩ�\��Z��ܩ�\��s�����\�u�;��\�u�;��\�u�;��|.׳|��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�7��z��TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\�� -��N��:ȝ -��N��:ȝ -��N��:ȝ -��J>��Y�Pa��ɵ\�Sa��ɵ\�Sa��ɵ\�Sa�^��r=�*,�;��� w*,�;��� wj^�w�\�1a�^��r=�*,�;��� wj\�w��r���\��Z��ک�\��s���5/�;�X��ژ�\��Z��۩�\��Z��ܩy�^��\�jg�r�Sk�n��r��k�r���z��uP��z.׳{��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\�� -��N��:ȝ +ŀJ>�Y�P���U��S���U��S���U��S�P�g1 �*:�� w*:�� w*:�� w*�]1 �W*:�� w*:�� w*:�� w**�,d�B�b@'W1��N�b@'W1��N�b@'W1��N�b@%�ŀ,_�P��*�ܩP��*�ܩP��*�ܩP������\���;��\���;5:�(�ژP�Գ����\���;5:����D(tb@�T(T�Y��{@mL(tj��T(tr@��\��*d�3�ЩU��S���U��Ss1�s�b��� ŀJ=�ٽP���U��S���U��S���U��S�P�g1 �*:�� w*:�� w*:�� w**�,d�B�b@'W1��N�b@'W1��N�b@'W1��N�b@#�+D�J�b@'W1��N�b@'W1��N�b@'W1��N�b@%�ŀ,_�P��*�ܩP��*�ܩP��*�ܩP������\���;��\���;�q����F1���R1 ������}���f�q��b��;�=�:�v��_Ynn���ŀ���O_~�������篿~���u�s�]��p{����.[��-��M�w���zt?a�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�\,�/Լ�*�c�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�|.��|��V),�;5/�J�X`�ܩy�U����N��N��j\`��������R=X�vj^`���"�S��s����X�z,���Լ�*�c�Er��V�-�Hm̼���Z`�{��V),�;5.�J�m�Ejc�V�,r;5/�:�X _�q�U�o,R3/�J�X`�۩y�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�X�|,�H�Լ���s���+5/�J�X`�ܩy�U����N��R>X$wj^`ur-�@�P����ɝ�X�|,�H�Լ�*�c�Er��V'��5/�J�X`�ܩy�U����N��R>X$wj^`ur-�@�P����ɝ�X�|,�H�Ը�*ݷ���X�Z,p/Լ�*�c�Er��V�~_`��#1/�J�X`�کy��ɵ��B���}[`�ژy�U����N��R>X$wj\`u���3��T����X�|,�H�Ը�*ݷ���X�Z,p/Լ�*�c�Er��V),�;5/�J�X`�ܩy��ɵ��B��R>X$wj^`���"�S����ɝ�X�\,�/Լ�*�c�Er��V),�;5/�J�X`�ܩy�U��+�Wj^`���"�S����ɝ�X�|,�H�Լ���Z`�|��V),�;5/�J�X`�ܩy�U����N��N��j^`���"�S����ɝ�Xy0T-��n�}���es����o^`��^�X`���������>}�?��oO������z�����v����y^����/t�:;���n����١$wj:;�T��J��|vh'�١�^����R>�%�S�١�|�Jr��CK�8;��N�g�vr� +��-���P�;5�Z��١$wj>;����CI��|vh'�١ _����R>�%�S�١�|�Jr��CK�8;��N�g�vr� +��-���P�;5�Z��١$wj>;����CI��|vh'���,_��\��Z��ܩ�\��Z��ܩ�\��Z��ܩ�\��s�����\�u�;��\�u�;��\�u�;��|.׳|��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�7��z��TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\��{,�AmLX�wj-���TX�wr-�A�Լ\��Z�g�3a�ީ�\�Sa��ɵ\�S�r�s��:�� ��J=��ٽPa��ɵ\�S�r�s��:�� ��N��:�� +��J>��Y�P�r�s��:�� ��N��:�� ��N��:ȝ +��J>��Y�Pa��ɵ\�Sa��ɵ\�Sa��ɵ\�Sa�^��r=�*,�;��� w*,�;��� w*,�;��� w*,�+�\�g�B��z'�r�N��z'�r�N��z'�r�N��z%���,_��\��Z��ܩ�\��Z��ܩ�\��Z��ܩ�\��s�����\�u�;��\�u�;��\�u�;���n��+��\�u�;��\�u�;��\�u�;��|.׳|��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\�� ��N��:ȝ -��F~�\�� +��N��:ȝ���{,�AmLX�W�\�� +��N��:ȝ����\�G",�;���v*,�+�\�g�B����=��6&,�;����v*,�;��� wj^�Wn-׳ڙ�\��Z��۩�\��Z��ܩy��r�Ƅ�z�����^��\��Z��ܩ�\��Z��ܩ�\��Z��ܩ�\��s�����\�u�;��\�u�;��\�u�;��|.׳|��r��k�r��r��k�r��r��k�r��r���-ף|��r��k�r��r��k�r��r��k�r��r����z�/TX�wr-�A�TX�wr-�A�TX�wr-�A�TX�W�\�� ��N��:ȝ ��N��:ȝ -��N��:ȝ -��J>��Y�Pa��ɵ\�Sa��ɵ\�Sa��ɵ\�Sa�^��r=�*,�;��� w*,�;��� w*,���]�� ���� ��z��e�~�����X//��Us�~�-���_���?~���w��w?�������;�����x��Rcc�>G��~��������� ��%ȝ +��0�n��pCc�~Ci��hY��`�~�=����q�\�n������~��?�������_y8�|{��N���;����X�ϑe��9����0�|pCid r��Ȳ�kd r��Ȳ�kd r��Ȳ�ϑe�/TYvr�,A�TYvr�,A�TYvr�,A�TYV�9��� #�N��%ȝ #�N��%ȝ -#�J>G�Y�Pad��5��Sad��5��Sad��5��SadY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e%�#�,_�0���Y�ܩ0���Y�ܩ0���Y�ܩ0���sd��F��\#K�;F��\#K�;F��\#K�;F���nd�+F��\#K�;F��\#K�;F��\#K�;F��|�,�|��e�#KPF��Z#Kp;F��\#K�;5�,+�F�Y�LYvj�,��TYvr�,A��<���cd jc�ȲRϑev/TYvr�,A��<���cd jc�ȲSkd n��Ȳ�ϑe�/�<���cd jc�ȲSkd n��Ȳ�kd r��Ȳ�ϑe�/TYvr�,A�TYvr�,A�TYvr�,A�TYV�9��� #�N��%ȝ +#�J>G�Y�Pad��5��Sad��5��Sad��5��SadY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e#�YF�J��e'���N��e'���N��e'���N��e%�#�,_�ydٹ���Ƅ�e����N��e'���N�#�ʭ�eV;F��Z#Kp;F��\#K�;5�,;�Y�ژ0���sd��F��\#K�;5�,;�Y�ژ0���Y�۩0���sd��5�,;�Y�ژ0���Y�۩0���Y�ܩ0���sd��F��\#K�;F��\#K�;F��\#K�;F��|�,�|��Ȳ�kd r��Ȳ�kd r��Ȳ�kd r��Ȳ�ϑe�/TYvr�,A�TYvr�,A�TYvr�,A�TYV�9��� #�N��%ȝ #�N��%ȝ -#�J>G�Y�Pad��5��Sad��5��Sad��5��SadY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e#�YF�J��e'���N��e'���N��e'���N��e%�#�,_�0���Y�ܩ0���Y�ܩ0���Y�ܩ0���sd��F��\#K�;F��\#K�;F��\#K�;F��|�,�|��Ȳ�kd r��Ȳ�kd r��e�#KPF��z�,�{��Ȳ�kd r�Ƒe���,A��#�N��%�� -#�J>G�Y�P�Ȳs��%�� #�N��%�� -#�N��%ȝ�G��[#ˬv&�,;�F��v*�,;�F� wjYv�1��1adY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e%�#�,_�0���Y�ܩ0���Y�ܩ0���Y�ܩ0�l�w#�(_�0���Y�ܩ0���Y�ܩ0���Y�ܩ0���sd��F��\#K�;F��\#K�;F��\#K�;F��|�,�|��Ȳ�kd r��Ȳ�kd r���2,ۑ%��Y����~{d�����ew<�=����_��������7�O�����r\����r��������O�����������o���o���i��5�ܿ�wϿ�;���vه�ܭ�sٽ��/o��v5�����������ꡓ�j��� �a���X�~����0_����K��]�n�nȯ_�����oW�ܩ'A_���'Y��v1���a�dw����v*����u�6ȝO��ԷӷA���oW�y�vV/T8}����m�;N���:}�N�ӷ;�N��S���J>O��� -�owr�� r���\�o�ܩp�v'��� w*��]�g"�*�!:�� w*�!:�� w*�!:�� w*�!*�Cd�B�0D'W�N�0D'W�N�0D'W�N�0D%�a�,_���� -C�ܩ��� -C�ܩ��� -C�ܩ���3����\a�;��\a�;��\a�;��|�!�|�B��+r�B��+r�B��+r�B���0D�/TCtr�!@�TCtr�!@�TCtr�!@�TC4�0D��TCtr�!@�TCtr�!@�TCtr�!@�TCT������{�!@mLCtj�!��TCtr�!@����� -Cd�3!ѩ���S!�����Ss�s�0�� a�J=�ٽP!�����Ss�s�0�� a�N�0�� -a�J>�Y�Ps�s�0�� a�N�0�� +#�N��%ȝ +#�J>G�Y�Pad��5��Sad��5��Sad��5��Sad���F�Q�Rad��5��Sad��5��Sad��5��SadY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e%�#�,_�0���Y�ܩ0���Y�ܩydٹ���Ƅ�e��#��^�0���Y�ܩqd٩o#K$�Ȳkd j��Ȳ�ϑe�/�<���cd jc�ȲSkd n��Ȳ�kd r��e���2�� #�N��%�� +#�N��%ȝ�G��{�,AmLYV�9��� +#�N��%ȝ +#�N��%ȝ +#�N��%ȝ +#�J>G�Y�Pad��5��Sad��5��Sad��5��SadY���2�*�,;�F� w*�,;�F� w*�,;�F� w*�,���2�W*�,;�F� w*�,;�F� w*�,;�F� w*�,+�Yf�B��e'���N��e'���N��e'���N��e%�#�,_�0���Y�ܩ0���Y�ܩ0���vd 74F��7t~�Y�;��q�oO�������{���|�M���ḱ���1����~������w?�g������ۣ���{�:�|�?o�+�����o�滼]��&w��\v/�����y��]�n�>~3�i����z���+uC~ؽ��ֹ�/F�17��o���ҪoW�۩��W��?���(w��I�ׯ��IV�]Ljgn��9ٝ�v5�� +�owr�� r��ӷ;���m$��ەx����N���:}�N�ӷ;�N��S���N�ӷA�T8}���ӷ�|���\�o�ܩp�v'��� w*����u�6ȝ +�oW���� +a�N�0ȝ +a�N�0ȝ a�N�0ȝ a�J>�Y�P!�����S!�����S!�����S!Q�g"�*�!:�� w*�!:�� w*�!:�� w*�!*�Cd�B�0D'W�N�0D'W�N�0D'W�N�0D%�a�,_���� C�ܩ��� C�ܩ��� -C�ܩ���3����\a�;��\a�;��\a�;���.�+��\a�;��\a�;��\a�;��|�!�|�B��+r�B��+r�B��+r�B���0D�/TCtr�!@�TCtr�!@�TCtr�!@�TCT���� +C�ܩ���3����\a�;��\a�;��\a�;���.�+��\a�;��\a�;��\a�;��|�!�|��0D�aP��Zap;��\a�;5�!*��Y�LCtj�!��TCtr�!@�����#jcB�R�0Dv/TCtr�!@�����#jcB�S+n�B���0D�/����#jcB�S+n�B��+r�B���0D�/TCtr�!@�TCtr�!@�TCtr�!@�TCT���� a�N�0ȝ -a�N�0ȝ���{�!@mLCT���� -a�N�0ȝ������G"�!:���v*�!*�Cd�B�a��=��6&�!:���v*�!:�� wjCTn�!�ڙ��� -C�۩��� -C�ܩ9ѹG�Ƅ0D��a��^���� -C�ܩ��� -C�ܩ��� -C�ܩ���3����\a�;��\a�;��\a�;��|�!�|�B��+r�B��+r�B��+r�B��߅!�|�B��+r�B��+r�B��+r�B���0D�/TCtr�!@�TCtr�!@�TCtr�!@�TCT���� a�N�0ȝ a�N�0ȝ -a�P5h�pC#qC)��oC��?�=S�v��B������/�s����O�|������������?�4��[8��/��g���o��]���w���O �r�IX�q�E�ݏ#�ֻI{�hv&��*��`�lL��Uf-��٘��̚�e�1a֘�,�� �ʬX6�_�Y�l6&l�*��_�lL~5���fg��2k���Ƅ�We��+�� {�ʬ�W6�^�yn��ٙ����ze�1a�U����fc�ƫ2k��Ƅ�Wa��w%�uWeָ+�� ӮʬeW6v]�Y��l6&����tE�3��AW�~$��j͕�Ƅ-We֔+����\�X;��5"��*�F\YlL�pUf-��٘y�U��|+{?a��x�v+�� ˭ʬ�V63϶*�Xme�G"l�*�&[YlLl5�fg�V%c���H��V��R+�� ;�ʬ�V6FZ�yn��ٙ�Ъ�he�1a�U����fc�6�2k���ƄaVc���hv&��*�FY�lL�dUf-��٘�Ǫ̚ce�1a��+�� K�ʬ!V6fX�Y+�l6&l�*�&X�lL`5湿�fg���2k|��Ƅ�Ue��*�� ��ʬ�U6FW�yn��ٙ����\e�1anU����fc�֪2kj��Ƅ�Ua��Y%��Ue��*�� �ʬ�U6�U�Y�l6&����VE�3aYU�5��fc¬�2kU��ƄMUe֤*�� ���<�T��LXSUf���٘0���ZRe�1aGU�5��fc�1� U4;T�Y�l6&̧*��S�l̼���c:���0�j�s7�΄�Te�h*��'S������<�KUVͥ�ט0�j�s+���K�J<�R���3�ʫ�T6R�Y�l6fH5b�������Ge�1aU����fc�]T%����H�QT㝛�(v&,�*�Q�lL�CUf���٘���̚Be�1a�*�� +�ʬT6&P�Y�l6&�*��O�lL?5�}�fg��2k���Ƅ�Se��)�� ��ʬ�S6O��n���N�Yc�l6&L�*��N�lL�9Uf͜�٘0rj�s��΄�Se��)�� �ʬuS6�M�YӦl6&���5E�3a�T�5j�fc¤�2kє�Ƅ=��Ԧ�3�k���Ic����۷Lϯ�_�]�c�q�X3ok�?����_��Ͽ|]�J���^o��4�Gxy;�l���aw�?��>��z���;<�����z �]�r�n�/�����w���Qm̍~�����K�W�{�n����C����Q�� �����=U�1�P�N�C���T8T�����+5�ܹǡʠ6&�ܩu�2�� -�*wr�r��C�+�U�jg¡ʝZ�*�۩p�r'ס� wj<T�S�U�G"�\���Y�P�P�N�C�A�T8T���Pe�;U��:T�N�C�+�<T9�*���u�2ȝ -�*wr�r�¡ʝ\�*�ܩp�r%��*g�B�C�;�U�S�P�N�C�A�T8T���Pe�;U���P�,_�p�r'ס� w*���u�2ȝ -�*wr4@�ThhT���� -�N��ȝ -%�N��ȝ -1�N��ȝ -=�J>�Y�P!�������S���ɕ���S!���U���S��Q�g\#�*�5:�� w*6:� w*D6:�* w*t6*�md�B��F'Wk�N��F'Wn�N��F'Wq�N��F#��nD�J��F'Ww�N��F'Wz�N��F'W}�N��F%��,_�9�ѹG��Ƅ -G�V��N�G'W��N�-�ʭGV;r�Z=p;��\I�;5G9:��r�ژ���3̑���\m�;5�9:��s�ژ���*t�۩���3ґ�5g::��t�ژP���Ju�۩���u�ܩ���3ؑ���\��;��\��;��\��;��|�;�|�B�����r�B���+�r�Bģ���r�Bǣ�ϐG�/THytr�<@�T�ytr�<@�Tztr=@�ThzT���� -Y�N��ȝ -e�N��ȝ -q�N��ȝ -}�J>Y�P!�������S���ɕ���S!���U���S�����bQ�R!�������S���ɕ���S!���U���S��Q�g�#�*�?:�� w*�?:�� w*@:� - w*4@*���d�B�H'W�N�H'W -�N�H'W �N�H%�A�,_����j��ܩP��ʂ�ܩ9ҹG�Ƅ6H��q��^����ꃀܩ�ҩo�$B$��j�B'���PH�/Ԝ -�ܣjcB-�S+n�B0���r��fH�V4$�� ِN�n�� -�N�tȝ��!�{�C@mL�T��� - �N��ȝ -�N��ȝ -!�N��ȝ --�J>c"Y�P!'����S�(�ɕ�S!*��U�S�+R�gX$�*�E:��" w*�E:��" w*F:� -# w*4F�]d$�W*dF:�:# w*�F:�R# w*�F:�j# w*�F*��d�B��H'Ws�N��H'Wv�N��H'Wy�N��H%��,_����ꏀܩP ��J��ܩ!� ��B742$�7�:$᎖ɉB$����{ -���F��t��ÿ���~���?��˷�����I�~��/��������Ϳ~����_X�W��Jgy���� �,������ߧ'�1�?�0!xpCiB��&�\�;&�\�;&�\�;&��nB�+&�\�;&�\�;&�\�;&�|N�|�� A�P&�Zp;&�\�;5O*�&Y�L�tjM��T�trM@��<!��cB�jc�R� Av/T�trM@��<!��cB�jc�SkB�n���� A�/�<!��cB�jc�SkB�n���kB�r���� A�/T�trM@�T�trM@�T�trM@�T�T�9!�� +a�J>�Y�P!�����S!�����S!�����S!Q�g"�*�!:�� w*�!:�� w*�!:�� w*�!*�Cd�B�0D'W�N�0D'W�N�0D'W�N�0D#�CD�J�0D'W�N�0D'W�N�0D'W�N�0D%�a�,_���� +C�ܩ��� +C�ܩ��� +C�ܩ���3����\a�;��\a�;��\a�;��|�!�|�B��+r�B��+r��0D�aP��z�!�{�B��+r��0D���!@��a�N�0�� +a�J>�Y�Ps�s�0�� a�N�0�� +a�N�0ȝ���[a��v&�!:���v*�!:�� wjCt����1!Q�g"�*�!:�� w*�!:�� w*�!:�� w*�!*�Cd�B�0D'W�N�0D'W�N�0D'W�N�0D%�a�,_���� +C�ܩ��� +C�ܩ��� +C�ܩ�h�wa�(_���� +C�ܩ��� +C�ܩ��� +C�ܩ���3����\a�;��\a�;��\a�;��|�!�|�B��+r�B��+r�B"T �0��C��P +C�;������Ou�ԅ�]5����?~��������/��~��������������?�����ˣ������y~������S�Ʊ�s�~sv�����n�,�� k�ʬ1X6�`�YK�l6&��*�f`�lL�5��fg��2k���Ƅ�We��+�� ۯʬ�W6�_�yٙ����}e�1a�U����fc�ޫ2k��Ƅ�Wc�[�hv&,�*��^�lL�yUf���٘��̚xe�1a�U���]ɼ0a�U�5��fc´�2kٕ�Ƅ]We֬+�� ���<7]��̼��cЕ��0窼Zse�1a�U�5��fc�!W#֎+z�+�ʫW&\�Y�l6f�oU�1��ޏDo5݊bg�r�2k����̳�J<V[�����ʫ�V[�yٙy�U��X+{?a�Uy���bc�N�2k���Ƅ�Vc��hv&,�*�Z�lL�gUf���٘�ͪ̚fe�1a��.+�� ��ʬQV6&Y�Y��l6&�*��X�lLc5�Ŋfg��2k���ƄVe� ++�� �ʬ V6X�yٙ����_e�1azU����fc��2kv��Ƅ�Uc���hv&,�*�W�lL�[Uf���٘���̚Ze�1ahU��vVɼ0aeU�5��fc�Ī2ka��Ƅ}Ueּ*�� ��<�U��LXVUf ��٘0���ZUe�1aSU�5��fc �1�=U4;�T�Yc�l6&L�*��T�lL�QUfͨ�٘0�j�sC�΄Ueր*�� �ʬ�T63o�*�Ne�G"���ME�3a5U�5��fc��T�-����R�Us��5&����JE�3�R���T�~$�L��j%��Ƅ�Te�D*���R�X���5"��*��QYlL�FUf-��٘yU��,*{?a�x�&*�� ��ʬAT6�P�Yk�l6&l�*��P�lLB5湃�fg� +�2k��Ƅ Te�*�� ��ʬ�S6�O�yn��ٙ�|��>e�1a�T��z�fc��2k��Ƅ�Sa��;%��Se��)�� S�ʬ�S6vN�Y3�l6&����8E�3a�T�5p�fc¼�2kݔ�ƄmSeִ)�� æ�<wM��LX5Uf���٘0i��Z4e�1aϴ=�i�L�nƚ��nҘi�v��-����Wg�_���i\6�L�ۚ��������/_�����+������;��^ގ:�8��r�]�O|��w��t{9�Oo�����oW�ܩ�����?���bTs�������R����^�������~��j�;uC~;��s�C�AmL8T�S�Pep;Un�w�*G�J͇*w�q�2�� �*wj�n�¡ʝ\�*�ܩ�P�ʭC��ڙp�r�֡��v*���u�2ȝU�ԷC�A���*W�y�rV/T8T���Pe�;U��:T�N�C�;�U�S�P�J>U�� +�*wr�r�¡ʝ\�*�ܩp�r'ס� w*�\���Y�P�P�N�C�A�T8T���Pe�;U��:T�N�C�+�<T9�*���u�2ȝ +�*wr�r�¡ʝ\ �;�|F4�|�BF����r�BI��+�r�BL����r�BO��ϠF�/THjtr55@�T�jtre5@�Tktr�5@�ThkT���� +y�N��ȝ +��N��ȝ +��N��ȝ +��J>CY�P!�������S���ɕ���S!���U���S�����Q�R!�������S���ɕ���S!���U���S��Q�g�#�jNpt�����1��ѩ����S!���U���Ss��r+Ƒ�΄G�V��N�"G'W��N�Q��=��6&t9*�sd�B�4G'W��N�u��=��6&::� +�v*4:*��td�B͙��=:�6&�::�R�v*�::�j w*�:*�vd�B�dG'W��N�jG'W��N�pG'W��N�vG%��,_������w�ܩP���Jx�ܩ���x�ܩ���3��R�\-�;j�\9�;��\E�;��|F=�|�B֣���r�B٣�+�r�Bܣ���r�Bߣ���G�/TH|tr5>@�T�|tre>@�T}tr�>@�Th}4��G��T�}tr�>@�T(~tr%?@�T�~trU?@�T�~T���� +�N��ȝ +��N��ȝ +�N�ȝ + �J># Y�P!����S��ɕ�S!��U�S�R�g$�*$A:�� w*TA:�� wj�t�Q�1� R�g$�*�A:�� wj,�t�["�� �Ī��ک� ��3��5�B:�h��ژP��ʅ�۩��*��ܩ�R� �jgB6�S�n�B9��+r��xH��P�!�zD�{�BB���!r�BE��+#r�BH���$r�BK��ϘH�/Tȉtr�D@�T(�tr%E@�T��trUE@�T�T��� +i�N��ȝ +u�N��ȝ +��N��ȝ +��F~�� +��N��ȝ +��N��ȝ +��N��ȝ +��J>�#Y�P!9����S�:�ɕ�S!<��U�S�=R�g|$�*�G:��# w*H:�$ w*DHbB���� ��� �I��%Dr���|����B$�"9�B$��o�������O�����@�na���������������/���>?������_�~�qwC�˿��c���i��~L��Ï)L�P�d�B� A'ׄ��N� A'ׄ��N� A'ׄ��N� A#��D�J� A'ׄ��N� A'ׄ��N� A'ׄ��N� A%��,_�yBйDŽ��Ƅ A�ք��N� A'ׄ��N��ʭ AV;&�Zp;&�\�;5O:���ژ0!��sB��&�\�;5O:���ژ0!�Ԛ�۩0!��sB��5O:���ژ0!�Ԛ�۩0!���ܩ0!��sB��&�\�;&�\�;&�\�;&�|N�|���kB�r���kB�r���kB�r���� A�/T�trM@�T�trM@�T�trM@�T�T�9!�� �N� ȝ �N� ȝ �N� ȝ -�J>'Y�PaB��5!��SaB��5!��SaB��5!��SaBP�� �*L:�& w*L:�& w*L:�& w*L*��d�B� A'ׄ��N� A'ׄ��N� A'ׄ��N� A#��D�J� A'ׄ��N� A'ׄ��N� A'ׄ��N� A%��,_�0!���ܩ0!���ܩ0!���ܩ0!��sB��&�\�;&�\�;&�\�;&�|N�|���kB�r���kB�r�� A�P&����i�3K������f ?��J�,;BV(D�����&(V�]Ũ.��w&p�>��}�j��j�Z��&� ���_�� ��>��8y�7uL�����G"$N����M��@�wB0��8�J@]LH�: �� - ��'!�yS�@����fBB��I��TH�< ț:'νP�� ��>��8y�7'OB��BB��I@�TH�|'���BB��I@�TH�< ț - ��'!�yS!!P��� - ��'!�yS!!p�$ o*$N����M���ȯ�Q~R!!p�$ o*$N����M���ɓ����(�Nf�A���ɓ����8y�7'OB��BB��;!��'OB��BB��I@�TH��v��Z ��zy�����_�<>���bz����=?}�+�O���?�z,O}�/�����?��7d���ܽ�~��qF��^o�������˷69~�<���<_.��x���������4ʛzC�|����W�N~y�M�!}�A<�Z��i�7�c���O������$?�7�o?��W����Q�������z:��i�7�������E헧Q��o�}��<|�_�z����|�����d�7^���yY2ț:�,ٹ�˒A]LxY�R�%�� -/Kv�,�M�_����eɠ.&�,٩�dp7^�l�W/K�'u~Y�s��%����d��˒��TxY���e� o���d��˒gu3�e�N��%����d'�˒A���e�N}yY2�$�˒�x�,yVTxY���e� o*�,���d�7^���yY2ț -/KV����Y~P�e�N��%����d'�˒A�TxY���e� o*�,Y��˒g�A��%;y^���˒�</KyS�e�N��%����d%�/K��^���yY2ț -/Kv�,�M��%;y^���˒�|�,y�TxY���e� o*�,���d�7^���yY2ț -/KV����Y~P�e�N��%����d'�˒A�TxY���e� o*�,Y��˒g�A��%;y^���˒�</KyS�e�N��%����t��{�h�TX:r�,����t��Y:ySa��ɳt��ґ�_-�� -KGN��#�7���<KG o*,9y��@�TX:R�t4��t��k��ń�#����� -KGN��#�7u^:R�,��f�ґSg��M��#'��ț:/9�Z:u1a�H�����>��t��Y:yS�#�^KG�.&,9u����TX:R�t4��t��k��ń�#����� -KGN��#�7���|/�� -KGN��#�7���<KG o*,9y��@�TX:R�t4�*,9y��@�TX:r�,����t��Y:ySa�H����,?��t��Y:ySa��ɳt��ґ�g��M��#%�KG����ґ�g��M��#'��ț -KGN��#�7���|/�� -KGN��#�7���<KG o*,9y��@�TX:2Q~Ra��ɳt��ґ�g��M��#'��ț +�J>'Y�PaB��5!��SaB��5!��SaB��5!��SaB���&Q�RaB��5!��SaB��5!��SaB��5!��SaBP�� �*L:�& w*L:�& w*L:�& w*L*��d�B� A'ׄ��N� A'ׄ��N� A'ׄ��N� A%��,_�0!���ܩ0!���ܩyBйDŽ��Ƅ ����m����뺿�a���d&�%ˎ� +Q�=� �bW1�ˢ�� ܳ��>y���#�Z�ֺ�Iv�g�W�wB0�*$N����M��$ �� �'!�uS!!P���:'νP�NB��BB��I@��9!P�$����8up7'OB��� �s����ń�@�wB0�*$N����M���ɓ����8y�7%� �,?��8y�7'OB��BB��I@�TH�|'���BB��I@�TH�< ț + ��'!�yS!!0�`��TH�< ț + ��'!�yS!!p�$ o*$J��Y~P!!p�$ o*$N����M���ɓ����(�Nf�A���ɓ����8y�7���&��VBp��^>�N�O��/E��g1�����ߞ���������m=���ϗ|����R������_���z�8��ϏO���c�|����?�?f���s�/�|~�{}�����@~y�M�!�{|y�+O'�<��ސ��� �_���4ʛ���������~��i����ӫ����(o� ��O���o=���4ʛzC���y������(oꍷ���t>ٯ}=M�zC�^k��yY2ț +/Kv�,�M�_����eɠ.&�,Y��˒g�A��%;y^���/Kv���dP^���yY2�� +/K6�%��:�,ٹ�˒A]LxY�S�e��n*�,���d�7u~Y�r�eɳ���d��˒��TxY���e� o���d���,�?�e�J�_�<�*�,���d�7^���yY2ț +/Kv�,�M��%+�~Y�,?��d'�˒A�TxY���e� o*�,���d�7^����eɳ���˒�</KyS�e�N��%����d'�˒A�TxY���%�� +/Kv�,�M��%;y^���˒�</KyS�e�J�_�<�*�,���d�7^���yY2ț +/Kv�,�M��%+�~Y�,?��d'�˒A�TxY���e� o*�,���d�7^����eɳ���˒�</KyS�e�N��%����d'�˒A�TX:R�t4�*,9y��@�TX:r�,����t��Y:ySa��ȯ��F�I��#'��ț +KGN��#�7���<KG o*,)�^:��u^:r�t�b�ґSg��M��#'��ț:/)w��fu3a�ȩ�t��ґ�g��M����{-����t��{�hvTX:r�,����ґs��#P���:KG�n*,)�^:��u^:r�t�b�ґSg��M��#'��ț KGJ���f�A��#'��ț -KGN��#�7���<KG o*,)�^:�����<KG o*,9y��@�TX:r�,����t��{�h�TX:r�,����t��Y:yS�#�^KG�.&,)�^:�����<KG o�t�ԗ�#�H��#'���� -KGJ���f�A����{-����t��Y:wSa��ɳt��KGʝ��Y�LX:r�,����t��Y:yS�#�^KG�.&,)�^:�����<KG o*,9y��@�TX:r�,����t��{�h�TX:r�,����t��Y:ySa��ɳt��ґ�北Y~Pa��ɳt��ґ�g��M��#'��ț -KGF~�t4�O*,9y��@�TX:r�,����t��Y:ySa�H����,?��t��Y:ySa��ɳt��ґ�g��M��#%�KG����ґ�g��M��#'��ț -KG�N�]:�����?дt4|��e�O��������/K�<����������Ͽ��{�~���ǯ|�����G]���5��O�������[�FN�z�r�~�s>А����s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS��U�w�:�OꜻJ��]I��9w���s�*�+w%yS���ɓ�������t_rWRs�]�z��nꜻJ��]I��1wu���s�*�+w%wS��U�W�J�t_rWRs�]�:�+�ꜻJ��]I��1w��K�J�bι�T�ܕ�M�sW'O� -�:��}�]I]�9w�ꕻ���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�|箳��ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���c�*ݗܕ�ŜsW�N� -�:�R�rW�7u�]��{�J��s�*�+w%uS���ɓ�������t_rWRs�]�z��nꜻJ��]I��1wu���s�*�+w%wS��U�W�J�t_rWRs�]�:�+�ꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�*�+w%yS��U�w�:�OꜻJ��]I��9w���s�*�+w%yS���ɓ����ι���ܕ�M�sW)_�+ɛ:�R�rW�7u�]�<�+�ꜻJ��]I��9w���s�:�2w�ty�4��'��s�U>�>�R�[���%w���������������?�e�ƮOo���\��3��|���7?��M�?�Л~�����M��T�wo:�*��N���M����ӛ���Л:yzS�7zS%߽�,?�Л:yzS�7zS'Oo -�Bo���MA�T�M�|�����Bo���MA�T�M�<�)ț -����7yS�7U�ݛ�� -����7yS�7u��� o*��N���M��T�wo:�*��N���M����ӛ���Л:yzS�7zS%߽�,?�Л:yzS�7zS'Oo -�Bo���MA�T�M���7�'zS'Oo -�Bo���MA�T�M�<�)ț -�����t�Թ7u�՛���Л:uzSp7zS'Oo -�ν�r�7��̈́�ԩӛ���Л:yzS�7u�M�{���.&��J�{��}P�7u��� o�ܛ:��MA]L�M�:�)�� -�����t�Թ7u�՛���Л:uzSp7zS'Oo +KGN��#�7���<KG o*,)�^:�����<KG o*,9y��@�TX:r�,����t��{�h�TX:r�,����t��Y:ySa��ɳt��ґ�北Y~Pa��ɳt��ґ�g��M��#'��ț +KGJ���f�A��#'��ț +KGN��#�7���<KG o*,����(?��t��Y:ySa��ɳt��ґ�g��M��#%�KG����ґ�g��M��#'��ț +KGN��#�7���|/�� +KGN��#�7���<KG o*,9y��@�TX:R�t4�*,9y��@�TX:r�,����ґs��#P���z/�� +KGN��#�7u\:r����$�ґg��M��#%�KG����KGν��@]LX:r�,����t��Y:yS�#���Ѭn&,9u����TX:r�,����ґs��#P���z/�� +KGN��#�7���<KG o*,9y��@�TX:R�t4�*,9y��@�TX:r�,����t��Y:ySa�H����,?��t��Y:ySa��ɳt��ґ�g��M��##�Z:�'���<KG o*,9y��@�TX:r�,����t��{�h�TX:r�,����t��Y:ySa��ɳt��ґ�北Y~Pa��ɳt��ґ�g��M���a��.�ZKG�hZ:>���'xY��?Z{||~��%_{����e��?��_�=�G?}�?���?>|�ÿd飮������|x����íW#'w�F����۹�Gh�]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s��;w��'u�]�|�$oꜻJ��]I��9w���s����]A~P��U�/�+��9�R�rWr7u�]�|�$o:��]A��9w�ꕻ���s�*�+w%yS��U�/�+��9�N���u�]�|�$oJ�%w%u1��U�W�J�ι��'w�AsW�䮤.朻J��]���9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�J�s�Y~R��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��1w��K�J�bι�S'w�A�sW)_�+ɛ:�R�=w%��9w�╻���s����]A~P��U�/�+��9�R�rWr7u�]�|�$o:��]A��9w�ꕻ���s�*�+w%yS��U�/�+��9�N���u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w���s��;w��'u�]�|�$oꜻJ��]I��9w���s����]A~P��U�W�J�ι���ܕ�M�sW)_�+ɛ:�N���u�]�|�$oꜻJ��]I��9w��L����<��r��������*_�^)w]����ᒻ��?����K��������ϟ���cק�����v�����OI>ߌ]ӛ����ן�M?�@So �Bo��7��zS'Oo �Bo���MA�T�M�<�)ț �����t�T�M�<�)ț ����7yS�7u��� o*��J�{�Y~P�7u��� o*��N���M����ӛ���Л*��Mg�A����ӛ���Л:yzS�7zS'Oo �Bo��7��zS'Oo �Bo���MA�T�M�<�)ț -���_�����Bo���MA�T�M�<�)ț +�����t�T�M�<�)ț +����7yS�7u��� o*��F~՛�� +����7yS�7u��� o*��N���M��T�wo:��ܛ:��MA]L�M�:�)�� +����7yS��T�ӛ��fBo���M��T�M�<�)ț:��νzSPzS���>�Л:yzS�7u�M�{���.&��N���M��T�wo:��ܛ:��MA]L�M�:�)�� ����7yS�7U�ݛ�� ����7yS�7u��� o*��N���M��T�wo:�*��N���M����ӛ���Л:yzS�7zS%߽�,?�Л:yzS�7zS'Oo -�ν�s���ń�T�wo:�*��N���M{S���� �����7uS�7U�ݛ��:��νzSPzS�No -�Bo���MA�Թ7U������Л:uzSp7zS'Oo -�ν�s���ń�T�wo:�*��N���M����ӛ���Л:yzS�7zS%߽�,?�Л:yzS�7zS'Oo �Bo���MA�T�M�|�����Bo���MA�T�M�<�)ț -����7yS�75��t��T�M�<�)ț -����7yS�7u��� o*��J�{�Y~P�7u��� o*��N���M����ӛ���Л*��Mg�A����ӛ���Л:yzS�7zӡ���)|�՛^���۽�����������,�����ߞ�������������m=���צ/���_���O��?�����~/����~��=}����^_?�G�s?|ƻ��<�=���������i�7���������9��i�7�c������')_O���ސ��t�^��FySo��~:����䗧Q�������_�FyS?����t>ٯ}=M�zC��ӹ�d���4ʛzC����to���4ʛzC�z���_����aT�c����������}Po��^^�w��FySoȟ�����è.� ��O����/O����V��~4O��h�y�'����G�~W���Fu1o��~2�/V}y�M�!��ܿ����4ʛ�����G�I�b=L�f�0?�=y�?��4��zC�|w���~��i�7�����Y�ߞE�ď��w�/����&�A�!��<��/|=��ސ��\>�����_�FySo��~6O�k�<���X�y��<>گ}=M�zC���yx�_�z�M�!_�@N��!�7���<CC o* )������<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��ySah��34��А�Y~Pah��34��А�gh�M��!'��ț -CCJ���f�A��!'��ț -CCN��!�7���<CC o* )������<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��ySah��34��А�_ �� -CCN��!�7���<CC o* 9y��@�TR�=44��<4��kh�ń�!����� -CCN��!�7uR� ��f�АSgh�M��!'��ț: 9�u1ahH�����>�04��yS�!�^CC�.& 9u����TR�=44��<4��kh�ń�!����� +����7yS�7U�ݛ�� +����7yS�7u��� o*��N���M���ȯz�Q~R�7u��� o*��N���M����ӛ���Л*��Mg�A����ӛ���Л:yzS�7zS'Oo +�Bo��7��zS'Oo +�Bo���MA�T�M�<�)ț +�����t�T�M�<�)ț +����7yS��ԹWo +�bBo�Ի7��zS'Oo +�S_zS�H��ԉӛ���Л*��Mg�A�{S�^�)�� ��S�7wS�7u��� o�ܛ*wz�Y�L�M�:�)�� +����7yS��ԹWo +�bBo�Ի7��zS'Oo +�Bo���MA�T�M�<�)ț +�����t�T�M�<�)ț +����7yS�7u��� o*��J�{�Y~P�7u��� o*��N���M����ӛ���Л�Uo:�O*��N���M����ӛ���Л:yzS�7zS%߽�,?�Л:yzS�7zS'Oo +�Bo���MA�T�M�|�����Bo���MA�T�M�<�)ț +���D��>��M�?�����t�D��R����wSo���o�O��J��������㏶�S�kӗKk�����?�㟿���_���?� +�W�_?������������#�>���y��_��������4ʛzC�z�������4ʛ��������˓���I~Po��~:O��k_O���7�o?����tt���(o� ��O����/O����_�~:���&�A�!����_�z�M�!��|��_�z�M�!�{y�/t���0���������������>�7�w//��;_O���7��w����aT���'��I痧��ԏK�Oo?����z4�< �zC���y�+v�����7�o?�����<��ސ��h�_�w~y�M�X~����$�&u3o����z�M�!���b���4ʛzC�z����oϢ�G��ڇ����O�_O���ސ��\�����FySo��~.������/O���7�o?����_�FySo,�t��&�A�!��<<گ}=��ސ�I '��ț CCN��!�7���| �� CCN��!�7���<CC o* 9y��@�TR�=44�* 9y��@�Tr� ���04��ySahH����,?�04��ySah��34��А�gh�M��!%�CC����А�gh�M��!'��ț CCN��!�7���| �� -CCN��!�7���<CC o* 9y��@�T2Q~Rah��34��А�gh�M��!'��ț +CCN��!�7���<CC o* 9y��@�TR�=44�* 9y��@�Tr� ���04��ySah�ȯ��F�I��!'��ț +CCN��!�7���<CC o* )���ur�54�b�АSgh�M��!'��ț: )w��fu3ahȩ34��А�gh�M����{ ���04��{hhvTr� ����Аs��!P���:CC�n* )���ur�54�b�АSgh�M��!'��ț CCJ���f�A��!'��ț -CCN��!�7���<CC o* )������<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��yS�!�^CC�.& )������<CC o�84�ԗ�!�H��!'���� -CCJ���f�A����{ ���04��wSah��34��CCʝ��Y�Lr� ���04��yS�!�^CC�.& )������<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��ySah��34��А�Y~Pah��34��А�gh�M��!'��ț -CCF~544�O* 9y��@�Tr� ���04��ySahH����,?�04��ySah��34��А�gh�M��!%�CC����А�gh�M��!'��ț -CC�R������?�444|��y�}�|�������������v�������W7V�cߟz���Z��l ��?���O�����_��?>���_��������s���������/�������ҷ��\�b�k����\�h�k�'u�kp�5���b�\�Sg��M��'�\ț:�5(w�fu3a���3����\��g��M���2����0נ�{�aVT�kp��5���0���k�ySa���3����\��﹆Y~Pa���3����\��g��M��'�\ț -s J��f�A��'�\ț -s N���7��<s o*�5(��k����<s o*�58y�@�T�kp��5���0נ�{�a�T�kp��5���0���k�ySa���3����\��﹆Y~Pa���3����\��g��M��'�\ț -s J��f�A��'�\ț -s N���7��<s o*�5(��k����<s o*�58y�@�T�kp��5���0�`�Ws ����\��g��M��'�\ț -s N���7��|�5��:�58��k�u1a���3����\��g��M���;s ���0��ԙk�wSa���3����s ν�@]L�kP�=�0�*�58y�@��y����\�� s N��p7��|�5��:�58��k�u1a���3����\��g��M��%�s ����\��g��M��'�\ț +CCN��!�7���<CC o* )������<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��ySah��34��А�Y~Pah��34��А�gh�M��!'��ț +CCJ���f�A��!'��ț +CCN��!�7���<CC o* ����(?�04��ySah��34��А�gh�M��!%�CC����А�gh�M��!'��ț +CCN��!�7���| �� +CCN��!�7���<CC o* 9y��@�TR�=44�* 9y��@�Tr� ����Аs��!P���z �� +CCN��!�7ur����$�Аgh�M��!%�CC����CCν��@]Lr� ���04��yS�!���Ьn& 9u����Tr� ����Аs��!P���z �� +CCN��!�7���<CC o* 9y��@�TR�=44�* 9y��@�Tr� ���04��ySahH����,?�04��ySah��34��А�gh�M��!#��'���<CC o* 9y��@�Tr� ���04��{hh�Tr� ���04��ySah��34��А�Y~Pah��34��А�gh�M���y)G �ZCC�h>��<ݿ��?����ih�������}�~�|�������O��V`- �_�����?�����������?���|������9��r�������v����[�C{�� +1�5\�a��4�5��:�58��k�u1a���3����\��g��M���;s ���0��ԙk�wSa���3���s N}�k��D�kP�=�0�*�58y�@�T�kp��5���0���k�ySa�A��\�,?�0���k�ySa���3����\��g��M��%�s ����\��g��M��'�\ț s N���7��|�5�� s N���7��<s o*�58y�@�T�kP�=�0�*�58y�@�T�kp��5���0���k�ySa�A��\�,?�0���k�ySa���3����\��g��M��%�s ����\��g��M��'�\ț -s N���7���j�a��T�kp��5���0���k�ySa���3����\��﹆Y~Pa���3����\��g��M��'�\ț +s N���7��|�5�� +s N���7��<s o*�58y�@�T�k0Q~Ra���3����\��g��M��'�\ț +s J��f�A���{�5���0��ԙk�wSa���3����s ʝ��Y�L�kp��5���0���k�yS��^s �.&�5(��k����<s o�<���k��ń���\�� +s J��f�A���{�5���0��ԙk�wSa���3����\��﹆Y~Pa���3����\��g��M��'�\ț s J��f�A��'�\ț -s N���7��<s o*�5(��k����<s o*�58y�@��y����\�� s J��f�A��'�\ț:�58�e��?a���3����\��﹆Y~P��^s �.&�58u���T�kp��5����\�rg�aV7��:s �n*�58y�@��y����\�� s J��f�A��'�\ț -s N���7��<s o*�5(��k����<s o*�58y�@�T�kp��5���0נ�{�a�T�kp��5���0���k�ySa���3����\��_�5�� -s N���7��<s o*�58y�@�T�kP�=�0�*�58y�@�T�kp��5���0���k�ySa�A��\�,?�0���k�ySa���3����\�0-`��������t{�a�D�����s���f�kxz�{����/��ǫ����^kX{ � ?���j���_��?���c����?�����C�?��/_n�����_�6�����|���x����ع1�� ��N�kcp7���<�� o�|m�ܹ6��̈́kc�ε1�� -��N�kc�7u�6v�um�bµ�R�k��}P����sm����ν��A]L�6v�\���pm����x����ع1�� ��N�kcp7���<�� o*\+��6�����<�� o*\;y��A�T�6v�\���pm����x�T�6v�\���pm��6yS����sm�µ���k�Y~P����sm�µ�����M�kc'ϵ1ț -��J���g�A�kc'ϵ1ț -��N�kc�7���<�� o*\+��6�����<�� o*\;y��A�T�6v�\���pml�W�ƣ��µ�����M�kc'ϵ1ț +s N���7��<s o*�5(��k����<s o*�58y�@�T�kp��5���0נ�{�a�T�kp��5���0���k�ySa���3����\��﹆Y~Pa���3����\��g��M��'�\ț +s F~5�0�O*�58y�@�T�kp��5���0���k�ySa�A��\�,?�0���k�ySa���3����\��g��M��%�s ����\��g��M��'�\ț +s N���7��|�5�� +s N���7��<s o�<���k��ń���s ����\��g��M���2����0��ęk�uSa�A��\�,?��\�s��P��:s �n*�58y�@��y�A�3�0�� s N��p7��<s o�<���k��ń���s ����\��g��M��'�\ț +s N���7��|�5�� +s N���7��<s o*�58y�@�T�kP�=�0�*�58y�@�T�kp��5���0���k�ySa��ȯ�F�I��'�\ț +s N���7��<s o*�5(��k����<s o*�58y�@�T�kp��5���0נ�{�a�T�kp��5���0���k�ySa�a��s ���\��zy�=�0|��y������[3�5<=�=}�G_��V��Ճ�cyj�5���끆��o5���/��������������lw�!���/�~W���s__�B�k�>�tm<��|m�����ńkc�ε1�� +��N�kc�7u�6V�\��fµ�S���M�kc'ϵ1ț:_;��6u1��X�����>�pm��6yS�kc�^�Ơ.&\;u����T�6V�}m<��|m�����ńkc�ε1�� ��N�kc�7���|_�� -��N�kc�7���<�� o*\;y��A�T�6V�}m<�*\;y��A�T�6v�\���pm��6yS��X����,?�pm��6yS����sm����ν��A]L�6V�}m<�*\;y��A����ة/�� ����N�kcP7���|_��:_;��6u1��ةsm�µ�����M����;�Ƴ��pm�Թ6wS����sm����ν��A]L�6V�}m<�*\;y��A�T�6v�\���pm��6yS��X����,?�pm��6yS����sm�µ�����M�kc%��Ƴ��µ�����M�kc'ϵ1ț -��N�kc�7������x��T�6v�\���pm��6yS����sm�µ���k�Y~P����sm�µ�����M�kc'ϵ1ț +��N�kc�7���<�� o*\;y��A�T�6V�}m<�*\;y��A�T�6v�\���pm��6yS��X����,?�pm��6yS����sm�µ�����M�kc%��Ƴ��µ�����M�kc'ϵ1ț +��N�kc�7���|_�� +��N�kc�7���<�� o*\;y��A�T�66�k�Q~R����sm�µ�����M�kc'ϵ1ț ��J���g�A�kc'ϵ1ț -��N�kc�7���SWwmh]_���x�D���۷��\w�6^O�k�˵��}��#�������o��������_�t����������������?���?����>��Uy�{z|�����z�$^_��::ޗ;�/w_�\�z�˝>�t���厓�r�M��%ߗ;����厓�r�M��'��ț -�;N���7.w�|_��� -�;N���7.w�<�; o*\�8y.w@�T��Q�}�3�*\�8y.w@�T��q�\�p����yS�rG����,?�p����yS�r��s���厓�r�M��#����'.w�<�; o*\�8y.w@�T��q�\�p����rg�T��q�\�p����yS�r��s���厒�˝Y~P�r��s���厓�r�M��'��ț +��N�kc�7���<�� o*\+��6�����<�� o*\;y��A�T�6v�\���pm����x�T�6v�\���pm��6yS�kc�^�Ơ.&\+��6�����<�� o�xm�ԗkc�H�kc'ε1�� +��J���g�A����{]���pm�Թ6wS����sm����ʝk�Y�L�6v�\���pm��6yS�kc�^�Ơ.&\+��6�����<�� o*\;y��A�T�6v�\���pm����x�T�6v�\���pm��6yS����sm�µ���k�Y~P����sm�µ�����M�kc'ϵ1ț +��F~um<�O*\;y��A�T�6v�\���pm��6yS��X����,?�pm��6yS����sm�µ�����M�kc%��Ƴ��µ�����M�kc'ϵ1ț +��㩫�6�����?�tm<|��������v�;_����������~͑���������?����?|���/��{�����������������������y�|ܪ<�==��}��g=/��_n�˝�/w�����h��yS�r��s���厒�˝Y~P�r��s���厓�r�M��'��ț �;J�/wf�A��'��ț -�;N���7u��q�u��b��R�˝�}P�r��s�;N}���D��q�\�p����rg���rǹ���� �;N��p7.w�<�; o�|��ܹܙ�̈́������ -�;N���7u��q�u��b��R�˝�}P�r��s���厓�r�M��'��ț -�;J�/wf�A��'��ț -�;N���7.w�<�; o*\�(��ܙ�.w�<�; o*\�8y.w@�T��q�\�p�c�W�;����厓�r�M��'��ț +�;N���7.w�<�; o*\�(��ܙ�.w�<�; o*\�8y.w@�T��q�\�p����rg�T��q�\�p����yS�r��s���厑_]�� +�;N���7.w�<�; o*\�8y.w@�T��Q�}�3�*\�8y.w@�T��q�\�p����yS�rG����,?�p����yS�r��s���厓�r�M��%ߗ;����厓�r�M��'��ț:_�8���u1�rG�����>�p����yS����\��G"\�8q.w@�T��Q�}�3��|����r�ń������ +�;N���7u��Q�\���f��S�r�M��'��ț:_�8���u1�rG�����>�p����yS�r��s���厓�r�M��%ߗ;����厓�r�M��'��ț �;N���7.w�|_��� -�;N���7.w�<�; o*\�8y.w@�T��Q�}�3�*\�8y.w@�T��q�\�p�3ދ���@�r��M�;�'��/wޞz~xy�˝�O=_]�<^.w����������o�;�����߿�_����\ -��?x������v~<���{�[�y�bz���nx�hZ&ySa�P��2�,?��2�s�eBP� �:˄�n*,:y� A��y�P��L8�� ˄N�eBp7� �<˄ o�L��k��ńeB��˄����2��g��M�� �{-����L��Y&wSa�P��2�,?��2�s�eBP� �:˄�n*,:y� A�TX&T�L8�*,:y�A�T�ov��7���p���oyS�Y��}�,?�p���oyS���s���}����M��f%��ͳ���}����M��f'�}3ț -��N��f�7|�7�� -��N��f�7<�� o*�7;y�A�T�oV�}�<�*�7;y�A�T�ov��7���p���oyS��ȯ�G�I��f'�}3ț -��N��f�7<�� o*�7+��o��<�� o*�7;y�A�T�ov��7���p߬���y�T�ov��7���p���oyS���s���}�����Y~P���s���}����M�{�7���p߬���yvT�ov��7����}�S_�A�#8�͠n*�7+��o��u�ov�u��b�}�S��M��f'�}3ț:�7+w�gu3�٩s���}����M�{�7���p߬���yvT�ov��7���p���oyS���s���}�����Y~P���s���}����M��f'�}3ț +�;N���7.w�<�; o*\�8y.w@�T��1�˝Q~R�r��s���厓�r�M��'��ț +�;J�/wf�A��'��ț +�;N���7.w�<�; o*\�(��ܙ�.w�<�; o*\�8y.w@�T���E��|�u�s���˝��;oO=?���������.w/�;�����t����˝������_߯q���?.�ԃ�������u;?|x���q��� +1���W7���4-����L��{�p��y�й�2!�� ˄N�eBp7� �<˄ o�L��Y&��̈́eB��2!�� +˄N�eB�7u^&t�L�b�2�R�e��}Pa��ɳL��˄ν� A]LX&t�,����L��{�p��y�й�2!�� ˄N�eBp7� �<˄ o*,*�^&��� �<�� o*�7;y�A�T�ov��7���p߬���y�T�ov��7���p���oyS���s���}�����Y~P���s���}����M��f'�}3ț ��J��g�A��f'�}3ț -��N��f�7<�� o*�7��}�(?�p���oyS���s���}����M��f%��ͳ���}����M��f'�}3ț +��N��f�7<�� o*�7+��o��<�� o*�7;y�A�T�ov��7���p�l�W�ͣ���}����M��f'�}3ț ��N��f�7|�7�� -��N��f�7<�� o*�7�w��>кo��@/�o�7�诽o~����7o�j�o�S����n2��?���ɉ�O��������?�������O����/������������_]��������s>2�R������#}��|��M��G�|������������7u>q����#R��GH���|D���ɛ:��H�:!yS��'����|>"��|��M��G�|������������7u>q����#R��GH���|D���ɛ:��H�:!yS��%��#�����#R��GH���|D���ɛ:��H�:!yS��'����|>"��|��M��G�|������������7u>q����#R��GH���|D���ɛ:��H�:!yS��'����|>"��|��M��G�|��������t_�GH]��|ĩs>�:��H�:!yS����~>B�������R7u>q����#�}9!u1���^�#�n�|>"��|��M�G�{��������T��r7u>��u>B��#�}9!u1�������|>"��|��M��G�|������������7u>q����#R��GH���|D���ɛ:��H�:!yS��'����|>"��|��M��G�|������������7u>Q�}>2�O�|>"��|��M��G�|������������7u>q����#R��GH���|D���ɛ:��H�:!yS��'����|>"��|��M��G�|��������|���G�]��� �#�'���G^��~;�� -�#�}>��r>�~���7[���U��d䯻y���z� ��G�_����>����t��r�J��<��/�}�ǻ�燧?����(o� �e�O��2 ɛ:/J�Z$yS�e@'�2 ��(ݗe@Rs^��H��ˀR��I��qй�2 ��9/J�Z$wS�e@)_ˀ$o�(ݗe@Rs^t�,����ˀR��I��qP�/ˀ�.�(�k��M���<ˀ ?��2�t_�I]�yP��2 ��:/J�Z$yS�e@'�2 ��(�k��M���|-����2���e@�7u^t�}�=�*�v;yN�A�T8�v�v���p���9�yS�[��i�,?�p���9�yS���s� ��i����M��n%ߧݳ���i����M��n'�i7ț -��N��n�7N��|�v�� -��N��n�7N��<�� o*�v;yN�A�T8�6���Q~R���s� ��i����M��n'�i7ț +��N��f�7<�� o*�7;y�A�T�oV�}�<�*�7;y�A�T�ov��7���p���oyS�Y��}�,?�p���oyS���s�����ν�A]L�oV�}�<�*�7;y�A���٩/�� ����N��fP7|�7��:�7;��ou1�٩s���}����M�;�ͳ��p��ԹowS���s�����ν�A]L�oV�}�<�*�7;y�A�T�ov��7���p���oyS�Y��}�,?�p���oyS���s���}����M��f%��ͳ���}����M��f'�}3ț +��N��f�7��y��T�ov��7���p���oyS���s���}�����Y~P���s���}����M��f'�}3ț +��J��g�A��f'�}3ț +��N��f�7��;[w�h�7_�������'�k��|y� �ۿ��Ծo~�[����O?��_r���/��_�����o�:���}���?��������v������|�Wן��)<��*���̿�<�ï����Gh8!yS��)_�#$o�|>"��|��M��G�<�# ?��������7u>��u>B���#R��GH���|��s>�:��H�:!yS��)_�#$o�|>"��|��M��G�<�# ?��������7u>��u>B���#R��GH���|D����,?��������7u>��u>B���#R��GH���|��s>�:��H�:!yS��)_�#$o�|>"��|��M��G�<�# ?��������7u>��u>B���#R��GH���|��s>�:��H�:!yS��)_�#$o�x>"ݗ�Rs>q꜏�����#R��GH���|D������G�|>"��|��M��G�<�# ?����t_�GH]��|D�����:��H�:!yS���^�#�n�|>"��|��M��G�|��������t_�GH]��|ĩs>�:��H�:!yS��)_�#$o�|>"��|��M��G�<�# ?��������7u>��u>B���#R��GH���|��s>�:��H�:!yS��)_�#$o�|>"��|��M��G�|����:��H�:!yS��)_�#$o�|>"��|��M��G�<�# ?��������7u>��u>B���#R��GH���|��s>�:��H�:!yS��)_�#$o�|>2.���@��~�@����������N?����zj��|���������͖��pr9��.F�u�������p�����7��>ݽ�ܿү.�����`�����������4ʛzC~���H��ˀR��I��y�ɳ�:.J�e��Ŝ��z-����2���e@�7u\t��f�ˀR�����yP��2 ɛ:.J�e��Ŝ��:ˀ�>��2���e@�7u\���2 ��9/J�Z$wS�e@'�2 ��(ݗe@Rs^��H��ˀR��I��y�ɳ�:/J�Z$yS�e@)_ˀ$o�(�k��M���|�v�� +��N��n�7N��<�� o*�v;yN�A�T8�V�}�=�*�v;yN�A�T8�v�v���p���9�yS�[��i�,?�p���9�yS���s� ��i����M��n%ߧݳ���i����M��n'�i7ț +��N��n�7N����{��T8�v�v���p���9�yS���s� ��i�����Y~P���s� ��i����M��n'�i7ț ��J�O�g�A��n'�i7ț -��N��n�7N��<�� o*�v+�>��N��<�� o*�v;yN�A�T8�v�v���pڭ���{�T8�v�v���p���9�yS��n�^�ݠ.&�v+�>��N��<�� o�x��ԗ�n�H��n'�i7�� -��J�O�g�A�O��{�v���p���9�wS���s� �Χ�ʝ��Y�L8�v�v���p���9�yS��n�^�ݠ.&�v+�>��N��<�� o*�v;yN�A�T8�v�v���pڭ���{�T8�v�v���p���9�yS���s� ��i�����Y~P���s� ��i����M��n'�i7ț -��F~u�=�O*�v;yN�A�T8�v�v���p���9�yS�[��i�,?�p���9�yS���s� ��i����M��n%ߧݳ���i����M��n'�i7ț -��Å�=��N��?�t�=|����������� N��S���y����������_~���������#��S>}�ظ�~�_n|��/O���u�u�~!w�z��>����>�_�FySo�?�}yx�B'�<��ސ��=ݿ>Y��i�7�c���3�|�b���4�� ����/�k_O���7��^�|�_�z�M�!�{|��_��i�7�F5�-�xq�< � -���'��yS!�p�� o*�N�X�M�XC�w�1��k8��5@]L�5�:��� -���'��yS�XC�k��fB��ԉ5��T�5�<�ț:�νb Pb �ޱ��>�k8yb �7u�5�{��.&�N�X�M�XC�w�1��k8��5@]L�5�:��� +��N��n�7N��<�� o*�v+�>��N��<�� o*�v;yN�A����۹�i7�� ��J�O�g�A��n'�i7ț:�v;���?�ۉs� ��i�����Y~P��n�^�ݠ.&�v;uN���T8�v�v����i�r�{V7N��:���n*�v;yN�A����۹�i7�� ��J�O�g�A��n'�i7ț +��N��n�7N��<�� o*�v+�>��N��<�� o*�v;yN�A�T8�v�v���pڭ���{�T8�v�v���p���9�yS���s� ��i��_�v�� +��N��n�7N��<�� o*�v;yN�A�T8�V�}�=�*�v;yN�A�T8�v�v���p���9�yS�[��i�,?�p���9�yS���s� ��i�palO������4�v��>�~y�{yy|�����>�~^o>��8��7���~������������O�.6�>ć_�_�;��ӷ�xy�_�����~��/�~�䗧Q����w_�����/O���7�wO��OV~y�M�X����/��د}=M�zC�x�������(o� ���/���FySo�_�_���~y�M�Q |�*^�<O���B���5@�T�5�<�ț +���'��yS!�P�k��:�νb Pb �N��B���5@��9�P�����k8ub p7b 'O��α�s�X�ńXC�w�1�*�N�X�M�c �^��� ��S'��wS!�P�k��:�νb Pb �N��B���5@�T�5�|����B���5@�T�5�<�ț ���'��yS!�P�k�� ���'��yS!�p�� o*�N�X�M�XC�w�1�*�N�X�M�X��k���k8yb �7b %߱�,?�k8yb �7b 'O��B���5@�T�5�|����B���5@�T�5�<�ț -���'��yS!�P�k�� -���'��yS!�p�� o*�N�X�M�X�ȯb�Q~R!�p�� o*�N�X�M�X��k���k(��5f�A�X��k���k8yb �7b 'O��B���;֘�b 'O��B���5@�T�5�<�ț -����Xc�T�5�<�ț -���'��yS�XùW��bB���;֘�b 'O��S_b �H�XÉk���k(��5f�A�c �^��� ��S'��wS!�p�� o�k(wb�Y�L�5�:��� -���'��yS�XùW��bB���;֘�b 'O��B���5@�T�5�<�ț +���'��yS!�0�Xc��T�5�<�ț +���'��yS!�p�� o*�J�c�Y~P!�p�� o*�N�X�M�X��k���k(��5f�A�X��k���k8yb �7b 'O��B���;֘�b 'O��B���5@��9�p�k���k(��5f�A�X��k���c��ԗX�?!�p���n*�J�c�Y~P�XùW��bB��ԉ5��T�5�<�ț:�ʝXcV7b �N��B���5@��9�p�k���k(��5f�A�X��k���k8yb �7b 'O��B���;֘�b 'O��B���5@�T�5�<�ț ����Xc�T�5�<�ț -���'��yS!�p�� o*�J�c�Y~P!�p�� o*�N�X�M�X��k���k�U�1�O*�N�X�M�X��k���k8yb �7b %߱�,?�k8yb �7b 'O��B���5@�T�5�|����B���5@�T�5�<�ț -��"ր�b��4��':b��k����������Xc=�c��K��}��������������O_/�ƿ�������p��?��=��^}��+~x��7b�7�ӗG�u�~!����l��>�~��N�z�������~y�o^'�<��ސ~������/O���7�o?�ϟ��~y�M�����G�w4�*�AN�:�M�:��S���P9y� �7� %�u�,?�P9y� �7� 'O�B�䩃@�T������'� 'O�B�䩃@�T���<uț -u���:h�Թr�U���P9u� p7� 'O��u�r���̈́:ȩS���P9y� �7u���{�A�.&�AJ���}P�r��A o�\9���@]L���:u�� -u���:h�Թr�U���P9u� p7� 'O�B����� 'O�B�䩃@�T���<uț +���'��yS!�p�� o*�F~k�� +���'��yS!�p�� o*�N�X�M�XC�w�1�*�N�X�M�X��k���k8yb �7b %߱�,?�k8yb �7b 'O��B�A%��5��X��M�����X�3�ov{}x���9�XO�X��k��o_�=��ed�����������K��o��?>|��?��ϯw��W�������X� ���y�_�y����/���~�S��&�A�!��_�����/O���7����|�����(o� ��O��g��_�FySod*��Q�]�� +u���yS�r��A o*�AN�:�M�:H�w4�*�AN�:�M�:��S���P9y� �7� #���F�I�:��S���P9y� �7� 'O�B����u���{�A�.&�AN�:�M�:��S���s�ܩ�fu3�r��A�n*�AN�:�M�� �^u�� u�R�:hvT���<uț:�Aν� P� �N�B����u���{�A�.&�AN�:�M�:��S���P)���f�A�:��S���P9y� �7� 'O�B����� 'O�B�䩃@�T���<uț u���:h�T���<uț -u���yS�r��A o*�AJ��Y~P�r��A o*�AN�:�M�:��S���P)���f�A�:��S���P9y� �7� 'O�B����� 'O�B�䩃@�T���<uț -u��_�A���B�䩃@�T���<uț +u���yS�r��A o*�AJ��Y~P�r��A o*�AN�:�M�:��S���P)���f�A�:��S���P9y� �7� 'O�Bd�Wu�(?�P9y� �7� 'O�B�䩃@�T���|�A���B�䩃@�T���<uț u���yS�R�]�� -u���yS�r��A o*�AN�:�M�:H�w4�*�AN�:�M�:��S���P9y� �7� %�u�,?�P9y� �7� 'O��u�s�:�ń:H�w4�*�AN�:�M� ���A ��u��uS�R�]��:�Aν� P� �N�B�䩃@�ԹR��A���P9u� p7� 'O��u�s�:�ń:H�w4�*�AN�:�M�:��S���P9y� �7� %�u�,?�P9y� �7� 'O�B�䩃@�T���|�A���B�䩃@�T���<uț -u���yS�2�:h��T���<uț -u���yS�r��A o*�AJ��Y~P�r��A o*�AN�:�M�:��S���P)���f�A�:��S���P9y� �7�1]qu|�U]��>ѷ�y|z����*���~{~��W��O�����m=����A��2������R�l�/|������/���_��������؟����g����y�{}������~��w�z�{||�+�>����(o� ��ۏ�˓�_�FyS?����(>�K�z�������s��~��i�7��������~��i�7�������?���è.���/�w��;_O���ސ_ZF)�<��ސ?�=<k���Q]�淟��'��_�FwS?�p>��h���b���4�O� �ۏ��ٺ�?��b�0��d�_���4��zC��������i�7�c��ۏ����+��aR7�����˫�q���������/�;_O���7�w��+��,�$~�}����d���4�� ������~��i�7����������4ʛzC���yz�_��i�7�c���O���~��i����ã����(o� ��O���~��i�7��������_�FyS?�?��}���~��i���ǻϯ��k_O���7��w�^^��FySo�_�>?����4ʛ�����O����G)�z��������d����Q���������Q�����'��_�FyS?�?��t���&�A�!������Ŭ�Q���Χ����Q���5�䙡ySa�F���,?�0C�䙡ySa���3C����g��M�%�34������g��M�'� ț +u���yS�r��A o*�AN�:�M�:H�w4�*�AN�:�M�:��S���s�ܫu1�R�]�� +u���yS�:ȩ/u�$B�ĩ�@�T���|�A����u�s�:�ń:ȩS���P9y� �7u���;uЬn&�AN�:�M�:��S���s�ܫu1�R�]�� +u���yS�r��A o*�AN�:�M�:H�w4�*�AN�:�M�:��S���P9y� �7� %�u�,?�P9y� �7� 'O�B�䩃@�T������'� 'O�B�䩃@�T���<uț +u���:h�T���<uț +u���yS�r��A o*�AJ��Y~P�r��A o*�AN�:�M�:hLW\h�A�h���O��/E��g1�����ߞ��������|���G[���u���_�����+[��?����K������/�h�2��z�{z�>�>�_�^������C�>��������J����4ʛzC���#��d嗧Q�ԏ�o?��O�R��&�A�!����_�z�M�!��|��_�z�M�!�{y��{���0���������������>�7䗖Q�/O���7��w����aT���'��I痧��ԏ;�Oo?�����2�< �zC���y|������7�o?�����<��ސ��h�_�w~y�M�X~���y����}y��ͼa~�{��j��it7������������(o� ��ݳ�ʿ=���k���_>�/|=M�zC��sy��_�z�M�!��|~��('�<��ސ��l���~y�M�X����y|�_�z���������h���4ʛzC��ӹ�_�z�M�!��|��`嗧Q�ԏ�O�w��|�_�z�������������(o� ��ݧ�����Q�����/�k�<��~,��������QJ��&�A�!��<�?��i�7��������~��i�7�������I헧Q�ԏ��o?��{����I~Po��~:���w1�i�7��������~��i�7��| �8yfh@�T��Q�=C3�*��8yfh@�T��q��Ѐ��0C�䙡ySa�F���,?�0C�䙡ySa���3C����g��M�%�34������g��M�'� ț +34N��7fh��j�f��T��q��Ѐ��0C�䙡ySa���3C������Y~P��^34�.&��8ufh��T��q��Ѐ����rg�fV7fh�:34�n*��8yfh@��y�ƹ� �� 34J�ghf�A�'� ț:��8���u1a�Ʃ3C������Y~P��^34�.&��8ufh��T��q��Ѐ��0C��{�f�T��q��Ѐ��0C�䙡ySa���3C������Y~Pa���3C����g��M�'� ț +34J�ghf�A�'� ț +34N��7fh�<34 o*��(�����fh�<34 o*��8yfh@�T��q��Ѐ��0C��{�f�T��q��Ѐ��0C�䙡ySa���3C����_�Ќ� +34N��7fh�<34 o*��8yfh@�T��Q�=C3�*��8yfh@�T��q��Ѐ��0C�䙡ySa�F���,?�0C�䙡ySa���3C����g��M�%�34������g��M�'� ț:��8���u1a�F����>�0C�䙡yS����Ѐ�G"��8qfh@�T��Q�=C3��<C��k��ń�� �� +34N��7u��Q�����f��Sg��M�'� ț:��8���u1a�F����>�0C�䙡ySa���3C����g��M�%�34������g��M�'� ț 34N��7fh�|���� 34N��7fh�<34 o*��8yfh@�T��1��Q~Ra���3C����g��M�'� ț -34J�ghf�A�gh�{�Ѐ��0C�ԙ�wSa���3C��34ʝ�Y�L��q��Ѐ��0C�䙡yS��^34�.&��(�����fh�<34 o�<C��k��ń�� �� -34J�ghf�A�gh�{�Ѐ��0C�ԙ�wSa���3C������Y~Pa���3C����g��M�'� ț 34J�ghf�A�'� ț -34N��7fh�<34 o*��(�����fh�<34 o*��8yfh@�T��q��Ѐ��0C��{�f�T��q��Ѐ��0C�䙡ySa���3C������Y~Pa���3C����g��M�'� ț -34F~5C3�O*��8yfh@�T��q��Ѐ��0C�䙡ySa�F���,?�0C�䙡ySa���3C����g��M�%�34������g��M�'� ț -34N��7fh�|���� -34N��7fh�<34 o�<C��k��ń��34������g��Mgh��2C��0C�ę�uSa�F���,?���s�Pfh�:34�n*��8yfh@��y�F�3C3�� 34N�p7fh�<34 o�<C��k��ń��34������g��M�'� ț -34N��7fh�|���� -34N��7fh�<34 o*��8yfh@�T��Q�=C3�*��8yfh@�T��q��Ѐ��0C�䙡ySa��ȯfhF�I�'� ț -34N��7fh�<34 o*��(�����fh�<34 o*��8yfh@�T��q��Ѐ��0C��{�f�T��q��Ѐ��0C�䙡ySa�f�M�34������fh�O�7O��wO����z�������?{߮������1{���ck���2E�����������J���~���_�^�����w�W��H��#�h������z�����h��A�Ա^w�K���P�+��g�A�z��S����P�;y�u�7�u'O��B���^���u'O��B����A�T�ם<�:ț +34N��7fh�<34 o*��(�����fh�<34 o*��8yfh@�T��fS� |�5Cs��������������?��fh�����ǧ�/�_�o��������L������_���_����R��������~�q������?����ȭ��z}���^���C�����u�7u�ם�R���G"��J���Y}P�^w��� o*��N�z�M�z��S����P�+���g�A�z��S����P�;y�u�7�u'O��B���^���u'O��B����A�T�ם<�:ț ����z}�T�ם<�:ț ����^yS�^w��� o*��J���Y~P�^w��� o*��N�z�M�z��S����P�+���g�A�z��S����P�;y�u�7�u'O��B���^���u'O��B����A�T�ם<�:ț ����z}�T�ם<�:ț -����^yS�^w��� o*��J���Y~P�^w��� o*��N�z�M�z��S����P��U�>�O*��N�z�M�z��S����P�;y�u�7�u%���,?�s��ܫ^u1�^w����n*��N�z�M��u�N�>�� ��S�^wS�^w��� o�\�;���A]L�וz����B����A�Թ^w�U����P�;u�up7�u%���,?�s��ܫ^u1�^w����n*��N�z�M�z]�w�>�*��N�z�M�z��S����P�;y�u�7�u%���,?�P�;y�u�7�u'O��B����A�T�ו|����B����A�T�ם<�:ț +����^yS�^w��� o*��F~U��� +����^yS�^w��� o*��N�z�M�z]�w�>��\�;���A]L�ם:�:�� +����^yS�z]�S���fB��ԩ���T�ם<�:ț:��ν�uP�u�����>�P�;y�u�7u�ם{��.&��N�z�M�z]�w�>��\�;���A]L�ם:�:�� ����^yS�^W�]��� -����^yS�^w��� o*��N�z�M�z]�w�>�*��N�z�M�z��S����P�;y�u�7�u#���G�I�z��S����P�;y�u�7�u'O��B���^���u'O��B����A�T�ם<�:ț -����z}�T�ם<�:ț -����^yS�^w��� o*��J���Y~P�^w��� o*��N�z�M��u�^�:�� ��R�z}vT�ם<�:ț:��N}��A�#�u'N��B���^��u�ם{��.&��N�z�M�z��S����s��ܩ�gu3�^w����n*��N�z�M��u�^�:�� ��R�z}vT�ם<�:ț -����^yS�^w��� o*��J���Y~P�^w��� o*��N�z�M�z��S����P�+���g�A�z��S����P�;y�u�7�u'O��B�n�W��(?�P�;y�u�7�u'O��B����A�T�ו|����B����A�T�ם<�:ț +����^yS�^w��� o*��N�z�M�z]�w�>�*��N�z�M�z��S����P�;y�u�7�u%���,?�P�;y�u�7�u'O��B����A�T�ו|����B����A�T�ם<�:ț ����^yS�^W�]��� -����^yS�^w��� o*��Crm�u�@�^��@S�>|��^�L�����'yy�z}=����K�������_��/�i�������MW����������˷�5�?��>���|���^^>�8�z=M�zC�x����W�N~y�M�!�{x������7�o?��O�;�<��~�"|z��<������4�O� �ۏ���ι�?��b�0��d�_���4��zC��������i�7��*�ۏ�ӫt_&u3o��f�Sg��M�%'�ț:.q8�e��?a�C��Ǭ>�����Y��ySa��ɳ�����g��M�%%�K������g��M�%'�ț +����^yS�^w��� o*��N�z�M�z�ȯ��Q~R�^w��� o*��N�z�M�z��S����P�+���g�A�z��S����P�;y�u�7�u'O��B���^���u'O��B����A�T�ם<�:ț +����z}�T�ם<�:ț +����^yS�zݹW��bB��Ի^���u'O����S_�u�H�z݉S����P�+���g�A��u�^�:�� ��S�^wS�^w��� o�\�+w��Y�L�ם:�:�� +����^yS�zݹW��bB��Ի^���u'O��B����A�T�ם<�:ț +����z}�T�ם<�:ț +����^yS�^w��� o*��J���Y~P�^w��� o*��N�z�M�z��S����P��U�>�O*��N�z�M�z��S����P�;y�u�7�u%���,?�P�;y�u�7�u'O��B����A�T�ו|����B����A�T�ם<�:ț +���\�z>Ъׯ?�T����?S��p��I^��^_��z��R�������_~�K���߹<��uӕ��d����w��z�����xy�Ox�8߾���ׇ�?Ω^O���ސ?�����_�FySoȟ�����è.� ��O����/O������~4O�67�< �zC���y?�s�����7�o?�����<��ސ��h�_�w~y�M�� +�����*ݗ�I��浙��Y��wSa��ɳ��KN}Y���DX�P��1�*,q8y�8@�TX�p�,q�������Y��ySa�C���,?�����Y��ySa��ɳ�����g��M�%%�K������g��M�%'�ț KN�%�7�8�|/q�� KN�%�7�8�<K o*,q8y�8@�TX�P��1�*,q8y�8@�TX�p�,q�������Y��ySa�C���,?�����Y��ySa��ɳ�����g��M�%%�K������g��M�%'�ț KN�%�7�8�|/q�� -KN�%�7�8�<K o*,q8y�8@�TX�P��1�*,q8y�8@�TX�p�,q�������Y��ySa��ȯ�8F�I�%'�ț -KN�%�7�8�<K o*,q(�^��u^�p���b��Sg��M�%'�ț:/q(w�8fu3a�é������g��M��8�{-q����ġ�{�cvTX�p�,q�����s�%P�8�:K�n*,q(�^��u^�p���b��Sg��M�%'�ț +KN�%�7�8�<K o*,q8y�8@�TX�0�%�Q~Ra��ɳ�����g��M�%'�ț +KJ��8f�A��8�{-q�������Y��wSa��ɳ���Kʝ%�Y�LX�p�,q�������Y��yS�%�^K�.&,q(�^���8�<K o����k��ń%���� +KJ��8f�A��8�{-q�������Y��wSa��ɳ������%�Y~Pa��ɳ�����g��M�%'�ț KJ��8f�A�%'�ț KN�%�7�8�<K o*,q(�^���8�<K o*,q8y�8@�TX�p�,q����ġ�{�c�TX�p�,q�������Y��ySa��ɳ������%�Y~Pa��ɳ�����g��M�%'�ț -KJ��8f�A�%'�ț -KN�%�7�8�<K o*,q���(?�����Y��ySa��ɳ�����g��M�%%�K������g��M�%'�ț +KF~��1�O*,q8y�8@�TX�p�,q�������Y��ySa�C���,?�����Y��ySa��ɳ�����g��M�%%�K������g��M�%'�ț KN�%�7�8�|/q�� -KN�%�7�8�<K o*,q8y�8@�TX�P��1�*,q8y�8@�TX�p�,q�����s�%P�8�z/q�� -KN�%�7u\�p���$��g��M�%%�K����Kν�8@]LX�p�,q�������Y��yS�%��Ǭn&,q8u�8��TX�p�,q�����s�%P�8�z/q�� -KN�%�7�8�<K o*,q8y�8@�TX�P��1�*,q8y�8@�TX�p�,q�������Y��ySa�C���,?�����Y��ySa��ɳ�����g��M�%#�Z��'�8�<K o*,q8y�8@�TX�p�,q����ġ�{�c�TX�p�,q�������Y��ySa��ɳ������%�Y~Pa��ɳ�����g��M�%�aI�.q�ZK���������%�'Z�������@K뱵��xY�������?����������w?���&:��_���~�������Q�����G���q~��_��w��o��T%�T�����h*U@�T(U�|�*���B���)U@�T(U�<� -ț -����TyS�TQ�]��� -����TyS�Tq�* o*�*N�R�M�R�ȯJ�Q~R�Tq�* o*�*N�R�M�R��S����P�(�.Uf�A�K�^� -�� ��S�TwS�Tq�* o�\�(wJ�Y�L(U�:� -�� -����TyS�RŹW��bB��ԻT��J'O��Υ�s�R�ńRũS����P�(�.Uf�A�K�^� -�� ��S�TwS�Tq�* o*�*J�K�Y~P�Tq�* o*�*N�R�M�R��S����P�(�.Uf�A�R��S����P�8yJ�7J'O��B���T��J'O��B���)U@�T(U�<� +KN�%�7�8�<K o����k��ń%��K������g��M�8����������Y��uSa�C���,?���s�%P�8�:K�n*,q8y�8@��y�C���1�� KN�%p7�8�<K o����k��ń%��K������g��M�%'�ț +KN�%�7�8�|/q�� +KN�%�7�8�<K o*,q8y�8@�TX�P��1�*,q8y�8@�TX�p�,q�������Y��ySa��ȯ�8F�I�%'�ț +KN�%�7�8�<K o*,q(�^���8�<K o*,q8y�8@�TX�p�,q����ġ�{�c�TX�p�,q�������Y��ySa�cX��K�����zy���1|�c�㉖8>}y�??��zl-q<^�8���o��������?>|���������������������}T�<<��Q��c�������[�*U�_�.U�%C����J�7J%ߥ�,?�P�8yJ�7J'O��B���)U@�T(U�|�*���B���)U@�T(U�<� ț -����Re�T(U�<� +����TyS�T1�Re��T(U�<� ț -����TyS�Tq�* o*�*J�K�Y~P�Tq�* o*�*N�R�M�R��S����P��U�2�O*�*N�R�M�R��S����P�8yJ�7J%ߥ�,?�P�8yJ�7J'O��B���)U@�T(U�|�*���B���)U@�T(U�<� +����TyS�Tq�* o*�*J�K�Y~P�RŹW��bB���)U��T(U�<� +ț:�*ʝReV7J�N��B���)U@�ԹTq�U����P�(�.Uf�A�R��S����s��ܫTu1�Tq�*�n*�*J�K�Y~P�RŹW��bB���)U��T(U�<� ț -����TyS�TQ�]��� -����TyS�Tq�* o�\�8�*U@]L(U�z�*���B���)U@�ԱTq�K���P�8qJP7J%ߥ�,?�s��ܫTu1�Tq�*�n*�*N�R�M�K�N�2�� ��S�TwS�Tq�* o�\�8�*U@]L(U�z�*���B���)U@�T(U�<� +����Re�T(U�<� ț -����TyS�TQ�]��� -����TyS�Tq�* o*�*N�R�M�RE�w�2�*�*N�R�M�R��S����P�8yJ�7J#�*UF�I�R��S����P�8yJ�7J'O��B���T��J'O��B���)U@�T(U�<� +����TyS�Tq�* o*�*J�K�Y~P�Tq�* o*�*N�R�M�R��S����P�(�.Uf�A�R��S����P�8yJ�7J'O��B���T��J'O��B���)U@�T(U�<� ț ����Re�T(U�<� ț -����TyS�T -W��Z����J���ե���??=?�B���V��t)U���������O�������/|���߾~=_1������y�Zz�G���ӭ,%�<�?v���c�z��G���+I�#q~�畇�>��+�|���M�_y(�땇$o���C)_�<$yS�W:y^y�:��P��+I�����R�^yH�ί<����C�7u~塓畇 ?��+�|���M�_y(�땇$o���C)_�<$yS�W:y^y�:��P��+I�����R�^yH�ί<����C�7u~塓畇 ?��+�|���M�_y(�땇$o���C)_�<$yS�W:y^y�:��P��+I�����R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��+��g�I�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��1$��KHN�b�!�T����M�Cr)_!9ɛ:��νBrP7sɥz���n��K� -�I��1$��KHN�b�!�S'$�A�Cr)_!9ɛ:���} �I]�9$������sH�� �A~Pǐ\�/!9��9��R�Brr7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!���|���9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ�����sH�� ��}P�\�WHN�N!�T�I�#qɥx��n��;yBr��1$��KHN�b�!�T����M�Cr)_!9ɛ:��νBrP7sɥz���n��K� -�I��1$��KHN�b�!�S'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɥ|��$o��+��g�I�Cr)_!9ɛ:��R�Br�7uɥ|��$o��;yBr��9$������sH.�+$'yS�\�WHN��!��'$�A�Cr)_!9ɛ:��R�Br�7uɧ�Y���.������|�D��R�����,��u���z���o%��x��'�Ǐ?�z,O}�ȿ�]�?���u>�ӟ���� ��;��/���o�����壘�����!�>�ٔ��?�܊�w�<�v�|���>��8����8;yg�7g%ߍ�,?��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț +����TyS�Tq�* o*�*F~U��� +����TyS�Tq�* o*�*N�R�M�RE�w�2�*�*N�R�M�R��S����P�8yJ�7J%ߥ�,?�P�8yJ�7J'O��B���)U@�T(U�|�*���B���)U@�T(U�<� +ț:�*νJPJ�ޥ��>�P�8yJ�7u,U��R���G"�*N�R�M�RE�w�2��\�8�*U@]L(U�:� +�� +����TyS�RE�S���fB���)U��T(U�<� +ț:�*νJPJ�ޥ��>�P�8yJ�7J'O��B���)U@�T(U�|�*���B���)U@�T(U�<� +ț +����TyS�TQ�]��� +����TyS�Tq�* o*�*N�R�M�R�ȯJ�Q~R�Tq�* o*�*N�R�M�R��S����P�(�.Uf�A�R��S����P�8yJ�7J'O��B���T��J'O��B���)U@�T(UƆ*��V�r���Re�Du�����O�O�P��U�<]J��������_��{���~����?�ᷯ_�W>�}ao^����}��t+K�+珝�~�ط^y�ѧ���C�H�_y��y�!����C)_�<$yS�WJ�z�!ɛ:��P��+I�����N�W���ί<����C�7u~塔�W����+�|���M�_y��y�!����C)_�<$yS�WJ�z�!ɛ:��P��+I�����N�W���ί<����C�7u~塔�W����+�|���M�_y��y�!����C)_�<$yS�WJ�z�!ɛ:��P��+I�����N�W���ί<����C�7u~塔����M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�Cr)_!9ɛ:��J�C�Y~R�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ�����sH.�+$'wS�\�WHN�!�s���͜Cr�^!9��:��R�Br�7uɥ�����sH�� ��}P�\�WHN�!�t_BrRsɥz���n��;yBr��1$��KHN�b�!�T����M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH��;$��'uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������MCr龄�.��;uBrp�9$������SH.��Cr�H�Cr)^!9��:��N���uɥ�����sH.�+$'wS�\�WHN�!�s���͜Cr�^!9��:��R�Br�7uɥ�����sH�� ��}P�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�Cr)_!9ɛ:��J�C�Y~R�\�WHN��!������M�Cr)_!9ɛ:��N���uɥ|��$o��K� +�I��9$������sH�� �A~P�\�WHN��!������M�C�)z�!9}��s?|�!$�>ѷ�y|��;�o���ç�������_��>�I��㏶�S�3�/wW����z��������j�o�����?��۟���_�(�����g��p6�/�O/����8����8_�"����45� o*4�N���M��Y�w�<�*4�N���M�����8����8;yg�7g%ߍ�,?��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț ����qyS�qV��8�� ����qyS�qv�4� o*4�N���M��Y�w�<�*4�N���M�����8����8;yg�7g%ߍ�,?��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț -����qyS�qV��8�� -����qyS�qv�4� o*4�N���M���ȯ�Q~R�qv�4� o*4�N���M�����8����8+�n�g�A�g�^�3�� ��S�qwS�qv�4� o��8+w�Y�Lh��:�3�� -����qyS��ٹW��bB�Իq��g'O���s���ń�٩�8����8+�n�g�A�g�^�3�� ��S�qwS�qv�4� o*4�J��Y~P�qv�4� o*4�N���M�����8����8+�n�g�A�����8����8;yg�7g'O��B��q��g'O��B���i�A�Th��<�3ț +����qyS�q6��y��Th��<�3ț +����qyS�qv�4� o*4�J��Y~P��ٹW��bB���i���Th��<�3ț:7�ʝ�yV7g�N��B���i�A�Թqv��8����8+�n�g�A�����8���s��ܫqu1�qv�4��n*4�J��Y~P��ٹW��bB���i���Th��<�3ț �����y�Th��<�3ț -����qyS�qv�4� o*4�J��Y~P�qv�4� o*4�N���M�����8����8�U�<�O*4�N���M�����8����8;yg�7g%ߍ�,?��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț -����qyS�qV��8�� -����qyS�qv�4� o��8;�j�A]Lh��z7γ��B���i�A�Աqv�K����8;qgP7g%ߍ�,?�s��ܫqu1�qv�4��n*4�N���M�g�N�<�� ��S�qwS�qv�4� o��8;�j�A]Lh��z7γ��B���i�A�Th��<�3ț -����qyS�qV��8�� -����qyS�qv�4� o*4�N���M��Y�w�<�*4�N���M�����8����8;yg�7g#�j�G�I�����8����8;yg�7g'O��B��q��g'O��B���i�A�Th��<�3ț +����qyS�qv�4� o*4�J��Y~P�qv�4� o*4�N���M�����8����8+�n�g�A�����8����8;yg�7g'O��B��q��g'O��B���i�A�Th��<�3ț �����y�Th��<�3ț -����qyS�q"\�8�Z��������4�/�����������?/�G���/_�����o_���o_����� ���+���˗[�������'��y��{w~��������|���0������������(�z������������/O���7��w����aT���'��I痧��ԏ��Oo?��ϏN��A~Ro��~4�����aT���'���b����������/O������~4���S�/���7̏w�_^�{=��ސ?��!������(o� ��ݳ�ʿ=���7�)��ޞ�_�z����|-w8y�@@�T�q�쁀������ySaD���,?�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț +����qyS�qv�4� o*4�F~�8�� +����qyS�qv�4� o*4�N���M��Y�w�<�*4�N���M�����8����8;yg�7g%ߍ�,?��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț:7�νgPg�ލ��>��8;yg�7ul����8��G"4�N���M��Y�w�<���8;�j�A]Lh��:�3�� +����qyS��Y��8��fB���i���Th��<�3ț:7�νgPg�ލ��>��8;yg�7g'O��B���i�A�Th��|7γ��B���i�A�Th��<�3ț +����qyS�qV��8�� +����qyS�qv�4� o*4�N���M���ȯ�Q~R�qv�4� o*4�N���M�����8����8+�n�g�A�����8����8;yg�7g'O��B��q��g'O��B���i�A�Th���6���V�|����y�DG���������y=��q~�ϋ�����߾����������_���/����~��������7����7y��|���?n����ޝ������>�<��?��b~l�r����7J��&�A�!�{yy|����(o� ���óv�ża~��|~����it7�� ��ۏ����i��������s�ża~��<<�X��it7����Gs������(o�������?�T��än� ����W��^O���7��oH�b���4ʛzC�z����oϢ�G�a����'���&�A�!_�N�=�7�@�<{ o*�8y�@@�T�Q�2�*�8y�@@�T�q�쁀������ySaD���,?�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț { N�=�7�@�|��� { N�=�7�@�<{ o*�8y�@@�T�Q�2�*�8y�@@�T�q�쁀������ySaD���,?�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț +{ N�=�7�@��jd��T�q�쁀������ySa�ɳ�����=�Y~P�=�^{ �.&�8u�@��T�q�쁀����rgdV7�@�:{ �n*�8y�@@��yĹ��� { J��@f�A�='�ț:�8��u1aĩ������=�Y~P�=�^{ �.&�8u�@��T�q�쁀�����{d�T�q�쁀������ySa�ɳ�����=�Y~Pa�ɳ����g�M�='�ț +{ J��@f�A�='�ț +{ N�=�7�@�<{ o*�(�����@�<{ o*�8y�@@�T�q�쁀�����{d�T�q�쁀������ySa�ɳ����_큌� +{ N�=�7�@�<{ o*�8y�@@�T�Q�2�*�8y�@@�T�q�쁀������ySaD���,?�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț:�8��u1aD����>�����yS�=��쁀�G"�8q�@@�T�Q�2����k�ń=���� +{ N�=�7u�Q����f��Sg�M�='�ț:�8��u1aD����>�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț { N�=�7�@�|��� { N�=�7�@�<{ o*�8y�@@�T�1�=�Q~Ra�ɳ����g�M�='�ț -{ J��@f�A��@�{큀������wSa�ɳ��{ ʝ=�Y�L�q�쁀������yS�=�^{ �.&�(�����@�<{ o���k�ń=���� -{ J��@f�A��@�{큀������wSa�ɳ�����=�Y~Pa�ɳ����g�M�='�ț { J��@f�A�='�ț -{ N�=�7�@�<{ o*�(�����@�<{ o*�8y�@@�T�q�쁀�����{d�T�q�쁀������ySa�ɳ�����=�Y~Pa�ɳ����g�M�='�ț -{ F~�2�O*�8y�@@�T�q�쁀������ySaD���,?�����ySa�ɳ����g�M�=%�{ ������g�M�='�ț -{ N�=�7�@�|��� -{ N�=�7�@�<{ o���k�ń=��{ ������g�M�@���������uSaD���,?���s�=P�@�:{ �n*�8y�@@��yD��2�� { N�=p7�@�<{ o���k�ń=��{ ������g�M�='�ț -{ N�=�7�@�|��� -{ N�=�7�@�<{ o*�8y�@@�T�Q�2�*�8y�@@�T�q�쁀������ySa�ȯ�@F�I�='�ț -{ N�=�7�@�<{ o*�(�����@�<{ o*�8y�@@�T�q�쁀�����{d�T�q�쁀������ySad^�P{ �����zy��2|��y��{z��O��=���/o�������ύo��wc�`=�Dzr���_���O��� o؇��ue��������_�U^;~��^�!���My-ț -y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7�Z'O^�B^��;����Z'O^�B^���kA�T�k�<y-ț -y���v�T�k�<y-ț -y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7�Z'O^�B^k�Wy�(?���:y�Z�7�Z'O^�B^���kA�T�k�|絳���y�s���ń�֩�ׂ����:y�Z�7u�k�;y��n&�N���M���ɓׂ��s^��+�u1!�U���� -y��'�yS�ֹW^�bB^���k��T�k�|絳���y�s���ń�֩�ׂ����:y�Z�7�Z%�y�,?���:y�Z�7�Z'O^�B^���kA�T�k�|絳��B^���kA�T�k�<y-ț +{ N�=�7�@�<{ o*�(�����@�<{ o*�8y�@@�T��W,�|��r��^>��>��<ݿ�==~������������v����Ƈ��ܻ1{���cY��l�����|����Y���7���?ɺ2�{���S��/�*�?��k�?���~�����M���ɓׂ����:y�Z�7�Z%�y�,?���:y�Z�7�Z'O^�B^���kA�T�k�|絳��B^���kA�T�k�<y-ț y��'�yS!�U���� -y��'�yS!�u�� o*�N���M��V�w^;�*�N���M���ɓׂ����:y�Z�7�Z%�y�,?���:y�Z�7�Z'O^�B^���kA�T�k��*��'�Z'O^�B^���kA�T�k�<y-ț +y��'�yS!�u�� o*�N���M��V�w^;�*�N���M���ɓׂ����:y�Z�7�Z%�y�,?���:y�Z�7�Z'O^�B^���kA�T�k�|絳��B^���kA�T�k�<y-ț +y��'�yS!�5�v��T�k�<y-ț +y��'�yS!�u�� o*�J���Y~P�ֹW^�bB^���k��T�k�<y-ț:�ʝ�vV7�Z�N^�B^���kA��9�u�ׂ����*��kg�A���ɓׂ��s^��+�u1!�u���n*�J���Y~P�ֹW^�bB^���k��T�k�<y-ț y���v�T�k�<y-ț -y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7u�k�{嵠.&�J����}P!�u�� o��:�%��D�k�8y-�� -y���v��9�u�ׂ����:u�Zp7�Z'O^��y�r'���̈́�֩�ׂ����:y�Z�7u�k�{嵠.&�J����}P!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7�Z'O^�B^��;����Z'O^�B^���kA�T�k�<y-ț -y��_嵣��B^���kA�T�k�<y-ț +y��'�yS!�u�� o*�J���Y~P!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7�Z'O^�B^��;����Z'O^�B^���kA�T�k�<y-ț +y���v�T�k�<y-ț +y��'�yS!�u�� o*�F~�� +y��'�yS!�u�� o*�N���M��V�w^;�*�N���M���ɓׂ����:y�Z�7�Z%�y�,?���:y�Z�7�Z'O^�B^���kA�T�k�|絳��B^���kA�T�k�<y-ț:�ν�ZP�Z��y��>���:y�Z�7u�k���ׂ�G"�N���M��V�w^;���:��kA]L�k�:y-�� +y��'�yS�V�����fB^���k��T�k�<y-ț:�ν�ZP�Z��y��>���:y�Z�7�Z'O^�B^���kA�T�k�|絳��B^���kA�T�k�<y-ț y��'�yS!�U���� -y��'�yS!�u�� o*�N���M��V�w^;�*�N���M���ɓׂ����5��k�����My������3�OOo��Bu��ĵ��������MZ�������{ڶ��}���Ͳv�/x���u�W�wx[��i����b«��9o -��ń���Gs3�bV�D̳���0+s -��\L藕9��l.&��Ƽ����L(��9��l.&d�ʜjy6�eeN�<�� ��1�^y47jeeN�<�� ��2�T��ńNY��)��bB�l̻Q�̈́BY�(��bB��̩�gs1�MV�ɳ��&��Gs3�JV�Dɳ���$+s���\L葕99�l.&��Ƽ[���L(��9!�l.&d�ʜ -y6deN�<�� �1��x47�ceN|<�� �2�<��ń�X����bBt,�W��d>�P+s���\Lȍ�9��l.&��ʜ�x6Bccޝ�hn�\+�g�DH��7��,.&��ʜ�x6s���8m��-"��ʛ�x�beNU<��97�J�����#�b��=�(n&��ʜ�x6sN��x�ij�G"t�ʛ�x"bc� �hn�\+� -�g�Dȇ�7��,.&��ʜtx6�ac���hn&T�ʜhx6�aeN1<�� ��2'��ńXؘw+<�� ��2'��ńLX�S ��bB#��I�gs1!6����fB�̉�gs1! V������+s���\L���y7����P+s���\Lȁ�95�l.&��ʜx6B`c��hn&T�ʜx6`eN<�� ��2'���ń�W�����|0��U愿�����*s���\Lh~�9��l.&�Ƽ{���L�}�9��l.&��ʜ�w6:_eN�;�� ��1��w47 -_eN�;�� y�2���ń�W�����bB�k̻��̈́�W����bBҫ�)zgs1�W�W�;{$B�k����̈́�W����b���^*���^eM�;{� �1�~w47s�w�xŻ��G"��ʛrw�]eN�;��9G�F�fw��]�M�;�� ��2�֝�Ŝ[]%^���������Nw7*]eN�;�� ��2�Н�ń>W�����bB�k̻��̈́2W����bB��̩rgs1��U�$�������qGs3��U�ĸ�����*sJ��\L�p�9�l.&D��|��N� �2'���ń�V�S���bB{��Iogs1!�5��ݎ�fBu�̉ngs1!�U�������*sr��\L�m�y�����P�*sB��\L�l�9��l.&4���P��Οf�W�f -lo�������w��^�)�]���}����>��������������o��2��7��샏�p��|�|+���{��������s?|��,����wi�3��} �<��ސ��c3���,�$�H|���_>=K�z����|��N���M�����U���PV;y�j�7�j%�u�,?��W;yk�7k'Oc �Be��ɬA�T��|�ֳ��Bk�䉭A�Tȭ�<�5ț -ŵ�'�yS!�V�]]�� -ݵ�'�yS!�v�� o*��N���M��[�w�=�*4�N��M����a���Pb;yRl�7bl%�5�,?��c;y�l�7�l'O� �B���ɲA�T��|�ٳ��B��䉳A�Tȳ�<}6ț -���'�yS!�V�]i�� -���'�yS!�v�� o*��N�\�M�`�ȯ��Q~R��v�D� o*d�N�n�M�r�ɓn���o+���g�A��m�^7�� �S��wS��v�d� o�r+wJ�Y�Lh��:17�� -9����yS�۹W� �bBԭԻ���n'O� ��i�s���ń�۩�w���x+�.�g�A�o�^�7�� ��S��wS��v�� o*��J�k�Y~P��v�� o*$�N���M���ɓ}���~+�.�g�A��������;y�o�7 -p'O�B����:p'O�B -��i�A�T���<98ț -A���"|�Th<Q8ț -Y���yS�w�� o*��J���Y~P�w�� o*$�N�F�M�J�ɓ������U)>�O*��N�X�M�\��Ӌ���P�;y�q�7�q%���,?�Ѝ;y�q�7�q'O;�B=����A�Tȕ|���BC���A�T�ȝ<9ț -%��'%yS!&W�]��� -=��'(yS!)w�4� o�\�;���A]L˕z����B[���A��1/w�K_��P�;qsP7"s%ߕ�,?�sg��+4u1!5w���n*��N���M��s�Nq>�� S':wS!;w�t� o�\�;�J�A]L�ϕz����B�� �A�THН< :ț -��'CyS!DW�]��� --��'FyS!Gw��� o*�N�$�M�(]�w�>�*t�N�0�M�4��Ӧ���P�;y�t�7u#�*�G�I�F��������;y:u�7Ju'O��B���V��zu'O��B���i�A�T�֝<�:ț -Ẓ�r}�Thם<�:ț -����_yS�`�k���Z ��z�r;b>�__���]~~~��}=����R��ǟ�������K���ޓ��������?���ߟy��?�{?Ϲ�����/�O�r�]ڎ���ן(m?�@Si�Bi��)mA�T(m�<�-ț +y��'�yS!�u�� o*�N���M���ȯ��Q~R!�u�� o*�N���M���ɓׂ����*��kg�A���ɓׂ����:y�Z�7�Z'O^�B^��;����Z'O^�B^���kA�T�k�����V^{����v�DG^���ڧ��?�|����T�ڇK\������&�}x�����=m�Y־�q�fY��<}�����;�-��4�˂gs1�U�ʜ7��b�{��yẉ��P1+s"��\LH��9�l.&��ʜ|y6�ec���hn&��ʜpy6�eeN�<�� Ͳ2'Y��ń`٘w�<�� ��2'V��ńTY�S*��bB���ɔgs1!R6��(��fB��� �gs1!OV��ɳ���&+s���\L��ywɣ��P%+s���\LH��9E�l.&��ʜy6bdc�-�hn&��ʜy62deN�<�� �2'A��ń�٘w<�� ��2'>��ń�X�S��bBw��Ɏgs1!:��x2L(��9��l.&��ʜ�x6ZceNj<�� ��1��x47s���xEƳ�G"$�ʛ�x�beN^<��9��F��x��b�MX<�� Y�2�*��Ŝ�b%^I����A���x7jbeNL<��9��J�J���#:b�MF<�� �1�x47s.��xij�G"��ʛzx�aeN:<�� �1�nx47�aeN4<�� ɰ2���ń^X����bB,l̻�̈́RX� +��bB&�̩�gs1�V�$³����Gs3�V�������+s���\L肕9Y�l.&D�Ƽ����L(��9A�l.&��ʜx6Z`eN +<�� !�1�x47*`eN<�� �2����ń�W�����bB�+�W��d>�P�*s���\L�~�9��l.&4�ʜ�w6�_c�hn&Ծʜ�w6R_eN�;�� ��2'��ń�טw�;�� ��2'��ń�W�S���bB۫�I{gs1!�5�����fBի̉zgs1!�U�����sϫ�+睽?!�5����fBɫ� ygs1njWy/�l�� ��&ń�טw�;��9J�����#�]�M�;�� ݮ2'�Ŝ�]#N�;z�Ů�&؝�ń\W�S���bέ��Tw��H�P�xw�;�� ��2'ҝ�ńDW�S���bB����sgs1!�5����fB��� sgs1!�U�T������*s���\Lr�y�����P�*sb��\LHq�9%�l.&t�ʜw6"\a�jp'���W����bB~�̩ogs1��U椷������nGs3��U�D������*s���\L�m�9��l.&ĶƼ[���L(m�9��l.&d�ʜ�v6��Y�Ml�O� +۫O3��?�_�������O/�خ�R�>^ +ۿ�����?�x��_���o}��?������� +��G{�{|�����?�=��{��c�>�y�}������ߙ~��>�_�FySo�_�����S{�?o$��w�/���x=M�zC��g'OT �BV���A�T(��<i5ț +q���z�T諝<�5ț +�����yS��v�d� o*��J�K�Y~P��v��� o*��N���M���ɓ\���]+���g�A����^����^;y�k�7�k'O~ �B������l'O� �B����A�T(��<)6ț +1���{�T豝<A6ț +I����yS��v�d� o*��J���Y~P��v��� o*��N�>�M�B�ɓh���i+���g�A�N��j����j;yZm�7jm'O� �B�m�W��(?��l;y�m�7�m'O� �B���I�A�T���|�۳�����s���ń�۩�p���Pq;y2n�7u��;%��n&��N���M�����s���s���+�u1!�V�]u�� +]��'�yS�۹W� �bB���ɻ��T��|���s���ń�۩�y���Pz;yRo�7bo%ߵ�,?��{;y�o�7�o'O� �B���ɾA�T��|�߳��B��䉿A�Tȿ�<�7ț +��'yS!W�]��� +��'yS!w�� o*��N��M� \�w>�*4�N�(�M�,��Ӆ���P�;y�p�7�p%�u�,?�Ї;yq�7q'O#�B%����A�Tō���'Zq'O,�B.����A�T(Ɲ<�8ț +Ѹ��j|�T�Ɲ<�8ț +鸓�yS�w��� o*�J��Y~P�!w�D� o*d�N���M���ɓ�����+���g�A����������;y�r�7u�ʝ{e�.&��J����}P�-w��� oꘗ;��/�D(̝8�9�� +�����|�Թ3w�������;uZsp7js'On����r�8��̈́�ܩ������;y�s�7u.ϝ{��.&��J����}P�?w�� o*$�N��M� +�ɓ�����+�.�g�A���������;yzt�7�t'O��B���J���t'O��B���i�A�T�ӝ<y:ț +���_���B����A�T�ԝ<�:ț +���'UyS!VW�]��� +���'XyS!Yw�4� o*T�N�l�M�p]�w�>�*��N�x�M�|��ӯ���P�ɵM��������؇O��W��w����b_��b�T���?���~��R����������_�x������g�������s���w����ӭ�}����ߥ���J�>�Tڂ��P�:yJ[�7J['Oi�Bi�仴��J['Oi�Bi��)mA�T(m�<�-ț �����v�T(m�<�-ț �����yS��u� o*��J�K�Y~P��u� o*��N���M����Sڂ��P�*�.mg�A����Sڂ��P�:yJ[�7J['Oi�Bi�仴��J['Oi�Bi��)mA�T(m�<�-ț �����v�T(m�<�-ț -�����yS��u� o*��J�K�Y~P��u� o*��N���M����Sڂ��P��Ui;�O*��N���M����Sڂ��P�:yJ[�7J[%ߥ�,?�si�ܫ�u1��uꔶ�n*��N���M�K[�Ni;�� ��S��wS��u� o�\�:�*mA]L(m�z�����Bi��)mA�Թ�u�Uڂ��P�:uJ[p7J[%ߥ�,?�si�ܫ�u1��uꔶ�n*��N���M��V�wi;�*��N���M����Sڂ��P�:yJ[�7J[%ߥ�,?�P�:yJ[�7J['Oi�Bi��)mA�T(m�|�����Bi��)mA�T(m�<�-ț +�����yS��u� o*��F~Uڎ� +�����yS��u� o*��N���M��V�wi;��\�:�*mA]L(m�:�-�� +�����yS��V�S���fBi��)m��T(m�<�-ț:��νJ[PJ[�ޥ��>�P�:yJ[�7u.m�{���.&��N���M��V�wi;��\�:�*mA]L(m�:�-�� �����yS��U�]��� -�����yS��u� o*��N���M��V�wi;�*��N���M����Sڂ��P�:yJ[�7J[#�*mG�I����Sڂ��P�:yJ[�7J['Oi�Bi�仴��J['Oi�Bi��)mA�T(m�<�-ț -�����v�T(m�<�-ț -�����yS��u� o*��J�K�Y~P��u� o*��N���M�K[�^�-�� ��R��vvT(m�<�-ț:��N})mA�#J['Ni�Bi�仴��u.m�{���.&��N���M����Sڂ��si��)mgu3��uꔶ�n*��N���M�K[�^�-�� ��R��vvT(m�<�-ț -�����yS��u� o*��J�K�Y~P��u� o*��N���M����Sڂ��P�*�.mg�A����Sڂ��P�:yJ[�7J['Oi�Bik�W��(?�P�:yJ[�7J['Oi�Bi��)mA�T(m�|�����Bi��)mA�T(m�<�-ț +�����yS��u� o*��N���M��V�wi;�*��N���M����Sڂ��P�:yJ[�7J[%ߥ�,?�P�:yJ[�7J['Oi�Bi��)mA�T(m�|�����Bi��)mA�T(m�<�-ț �����yS��U�]��� -�����yS��u� o*��c �J[�@����@Si;|����L����_BBi�Ki��R�����������_9�}���?�ޯ"�$�Y��OF>��|~�Ϲ���s�����������tާ��A~Ro��^ޯ����è.� ������U_�FwSo��~4�/�;�<���x)�ۏ���')��aR7�y��ܩ�"tp7^���y:ț:�ݩ//B�Dx����� -/Bw��M��;y^��Н</ByS�E�J��f�A�y'�<ț -�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�ySa���3����<���y�Y~Pa���3����<��g��M�y'�<ț +�����yS��u� o*��N���M���ȯJ�Q~R��u� o*��N���M����Sڂ��P�*�.mg�A����Sڂ��P�:yJ[�7J['Oi�Bi�仴��J['Oi�Bi��)mA�T(m�<�-ț +�����v�T(m�<�-ț +�����yS��ֹWi�bBi�Ի���J['Oi�S_J[�H��։Sڂ��P�*�.mg�A�K[�^�-�� ��S��wS��u� o�\�*wJ�Y�L(m�:�-�� +�����yS��ֹWi�bBi�Ի���J['Oi�Bi��)mA�T(m�<�-ț +�����v�T(m�<�-ț +�����yS��u� o*��J�K�Y~P��u� o*��N���M����Sڂ��P��Ui;�O*��N���M����Sڂ��P�:yJ[�7J[%ߥ�,?�P�:yJ[�7J['Oi�Bi��)mA�T(m�|�����Bi��)mA�T(m�<�-ț +��X���>�*m�?�T���(m?Si���Pڮ�R�~������o��/���_��C�y�O����+I������7���/�w/���s��~���}������r{������i����ǻ��k,���0��y��|����b����������/O���7^����y��I�}y��ͼa^�,w��M��;y^��/Bw�ˋ�A�#^����E���Н</ByS�E�N������"t'ϋ�A�Tx���y�Y~Pa���3����<��g��M�y'�<ț �J��f�A�y'�<ț -�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�ySa���3����<��_�3�� -�N�y�7��<� o*�38y�@�T�gP�=�0��<���k��ńy��<�� -�N�y�7u�gP��3��f�<�Sg��M�y'�<ț:�38��g�u1a�A��<��>�0���g�yS�y�^��.&�38u���T�gP�=�0��<���k��ńy��<�� +�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�ySa���3����<���y�Y~Pa���3����<��g��M�y'�<ț +�J��f�A�y'�<ț +�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0�`�W�����<��g��M�y'�<ț +�N�y�7��|�3��:�38��g�u1a���3����<��g��M���;����0��ԙg�wSa���3�����ν�@]L�gP�=�0�*�38y�@��y����<�� �N�yp7��|�3��:�38��g�u1a���3����<��g��M�y%������<��g��M�y'�<ț �N�y�7��|�3�� �N�y�7��<� o*�38y�@�T�gP�=�0�*�38y�@�T�gp��3���0���g�ySa�A��<�,?�0���g�ySa���3����<��g��M�y%������<��g��M�y'�<ț -�N�y�7��|�3�� -�N�y�7��<� o*�38y�@�T�g0�y�Q~Ra���3����<��g��M�y'�<ț +�N�y�7���j�a��T�gp��3���0���g�ySa���3����<���y�Y~Pa���3����<��g��M�y'�<ț �J��f�A�y'�<ț -�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�yS�y�^��.&�3(��g����<� o�8��ԗy�H�y'�<�� -�J��f�A���{�3���0��ԙg�wSa���3�����ʝy�Y�L�gp��3���0���g�yS�y�^��.&�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�ySa���3����<���y�Y~Pa���3����<��g��M�y'�<ț -�F~5�0�O*�38y�@�T�gp��3���0���g�ySa�A��<�,?�0���g�ySa���3����<��g��M�y%������<��g��M�y'�<ț -�ô��g����?�4�0|��??<����� ��������詗����o��{������ǫ�~'����_���?�����纂-����vendstream +�N�y�7��<� o*�3(��g����<� o*�38y�@��y����<�� �J��f�A�y'�<ț:�38�e��?a���3����<���y�Y~P�y�^��.&�38u���T�gp��3����<�rg�aV7��:��n*�38y�@��y����<�� �J��f�A�y'�<ț +�N�y�7��<� o*�3(��g����<� o*�38y�@�T�gp��3���0Ϡ�{�a�T�gp��3���0���g�ySa���3����<��_�3�� +�N�y�7��<� o*�38y�@�T�gP�=�0�*�38y�@�T�gp��3���0���g�ySa�A��<�,?�0���g�ySa���3����<�0-`���y��4�3�����o&y?���|�����>z��������C�^䃽���ꃽ�ɽ~y�W����?~����`K��`vWendstream endobj 1695 0 obj << /Type /Page @@ -6434,14 +6480,14 @@ endobj 1731 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 505.6837 207.1625 514.65] +/Rect [118.5554 505.8033 207.1625 514.65] /Subtype /Link /A << /S /GoTo /D (boolean) >> >> endobj 1732 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 505.6837 538.9788 514.65] +/Rect [527.0237 505.8033 538.9788 514.65] /Subtype /Link /A << /S /GoTo /D (boolean) >> >> endobj @@ -6730,14 +6776,14 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 233.8233 213.5384 242.6699] /Subtype /Link -/A << /S /GoTo /D (2645) >> +/A << /S /GoTo /D (2639) >> >> endobj 1774 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 233.8233 538.9788 242.6699] /Subtype /Link -/A << /S /GoTo /D (2645) >> +/A << /S /GoTo /D (2639) >> >> endobj 1775 0 obj << /Type /Annot @@ -6840,42 +6886,42 @@ endobj 1789 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 130.0922 212.3333 139.0584] +/Rect [118.5554 130.2118 212.3333 139.0584] /Subtype /Link /A << /S /GoTo /D (savedsearches) >> >> endobj 1790 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 130.0922 538.9788 139.0584] +/Rect [527.0237 130.2118 538.9788 139.0584] /Subtype /Link /A << /S /GoTo /D (savedsearches) >> >> endobj 1791 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 117.1408 231.5312 126.107] +/Rect [118.5554 117.2604 231.5312 126.107] /Subtype /Link /A << /S /GoTo /D (accountpreferences) >> >> endobj 1792 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 117.1408 538.9788 126.107] +/Rect [527.0237 117.2604 538.9788 126.107] /Subtype /Link /A << /S /GoTo /D (accountpreferences) >> >> endobj 1793 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 104.1893 198.5945 113.1556] +/Rect [118.5554 104.3089 198.5945 113.1556] /Subtype /Link /A << /S /GoTo /D (permissionsettings) >> >> endobj 1794 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 104.1893 538.9788 113.1556] +/Rect [527.0237 104.3089 538.9788 113.1556] /Subtype /Link /A << /S /GoTo /D (permissionsettings) >> >> endobj @@ -6887,11 +6933,11 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1844 0 obj << -/Length 57969 +/Length 57988 /Filter /FlateDecode >> stream -xڔ�˒,ׁe7���L����GFFU�j=L���(k�I@$���@�[]_ߞ���'r��6��ky������7/���y;����;�N���7��x������p��\������͓����t8_��o~z9����OO������߿�ܶ�総S����o��������t����7�N����緯����ߟ^_��߾������_���w?���_����>�������?���<�_����G�_��p;��w������_�DZO}X/�vx{��=��'��it;����r<�.��N�� _�;���/ٵu=�jc's�����it;uG�=��[}��Q�����2���}?Ljg�χ���}��4���#��������(w��v�ַ��Y&>מ����K{��iR/���\������(w�|{.���V~?�r��ȷgs9շ�~�N}.?oO�|no�8M�#ߞ�����q�NݑoO�xio�8�r��ȷ���2���O�ܩ����������4���|x�]��>N�ܩ;���������4ʝ�#�^�o�m��F�S��_���z{-��4��|{:������(w�|{:������(w�|{:����O�ܩ����霎�m�I�Pw���9�_Ō�(w�|{:/�����(w��v�����~?�r�>��m�w����>N�|���χ�ۥ���4ʝ�#��+��V~?�r��ȷ���Z���i�;����=�˵���4��|{:�����(w�|{:�]j���(w�|{:�ۥ��O�ܩ�����yyoo�8M�#?�����>N�ܩ;���������4ʝ�#����X���i�;�����r���oB�4�W�|{:�ӥ��O�ܩ;��鼞���~�Nݑ��i)�B�S�ˏ��9_��>N�|��ȷ���*jF�1w�ۣ9���|�F�Sw��?}����~�N}.?����/�~����1���[���F�Sw䯇��۹��O�ܩ;���t}o�_�ژ����ɼ֏{�&�Bݑo�������4ʝ�#�ͥ��~���1oO�|����it;����=�ө���4��|{4����0���cޞ�K�Gw:�n���o�������Q����ח��vip�I�Pw���������4ʝ�#=\������(w�|{:�����4ʝ�\~ݞ�孽��4��|{:�۩��O�ܩ;���n�m�Q����t���m��F�S��߶�s|io�8M�#ߞ��K{��i�;uG�zx}?��M�Q�����r;շ�~�N}.��^�N�m�I�Pw��������q�NݑoO�����q�NݑoO�r����i�;���}{:�OB�|�&�BݑoO�tmo�8�r��ȷ�sl�K�i�;uG�=������O�ܩO嗗����V�fE�A�Rw����vk���(w���py{m���(w������R���i�;����=�k��N�|��ȷ��z����i�;uG�=�˩���4ʝ�#ߞ��T���i�;����=�ӹ���4��|{:��;":�r��ȷ��ҾS��(w���p{�o��4ʝ�\~~9�o�����$_�;����־V��(w���p����}�F�Sw���i��|F�1��/ۣ���{>N�{��ȷGs~o��8�r��ȷGsn�_�3qG�=��K}��Q���������y�4��|{.���aTs��z8���{>N�۩;��ۭ�7m�F�S�˯/�S����0���c>ޮ��:�n��ȷG��v9:�r��ȷG��_�ژ��oۓ9�o�4��|{4����i�;uG�=�c�6�N�ܩ;������~?�r�>��^��6��i�/���p��o�4ʝ�#=om���(w���p}k�&�i�;���}{:�6��i�/���t^�@G�Q����t.���:�r��ȷ�s>�~�N}*}ٞΩ}�X�A�Rw���9���N�ܩ;��鼴��N�ܩ;���������(w�s����rk�&�Bݑ��o���:�r���_/�6��i�;uG�=������O�ܩ����\ڷ�u��uG�=�K��4ʝ�#ߞι}�X�Q����tN;��8t��������ȿ�ѹOt{Y���vx���<��=����f��~��p|����x����Tw~?�wf�9�P�OE��������G�z�n����w����X�%�s�.q���������z"��F�Sw����e{��~�Nݑ�o�3���aTsg��x8�N�=�ɽPw����۹���4ʝ�#�:UR���'�6f�?)�c���N��'�|Οd�J��'��>Bjc���R=�O���<R��� ɝ�O:��?�3��I��'�vj�?)�c���NM�'���� �?��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I%��'Y�R��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5Ο���� ����OJ��?!�S��I)�'$wj�?��c�����'�z̟�۩y������;5Ο���� ����O:��O��P��I)�'$wj�?)���R3ϟ��1Bn����N���/�8R���'�6f�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O:��O@�P��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O:��O@�P��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O*��?���OJ��?!�S��I)�'$wj�?)�c���N��'�\�' _�y������;5ϟ��1Br����R>�OH��<��5��OJ��?!�S��I)�'$wj�?)�c���N��'�\�' _�y������;5ϟ��1Br�����}�?!�1��I��� �j�?)�c���NM�'���� �?��I)�'�vj�?��?�B��'��>Bjc���R=�O���<R��� ɝ�O:��?�3��I��'�vj�?)�c���N��'��>Bjc���N��p/�<R��� ɝ��OJ��?!�S��I)�'$wj�?��?�B��'�|̟�ܩy������;5ϟ��1Br����N���/�<R��� ɝ��OJ��?!�S��I)�'$wj�?��s�$�Wj�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy�$�wT�'tA�s�.(̟�+Z�O^i�d�����r���qL�'����~������+�˧���=�v=��_��&_�8���Y����v��&Гz"��F�SwH�DK%��/Y�Pa���k��N��N���;5�t�1�jc��K���/ٽPa���k��N��/�{��ژ0�ҩ5�n���K#~�_:�~�1a��Sk��N��N���;5�Tn �d�3a��Sk��N��N���;5�t����?a���ᗬ^�0���5�r���K'��ȝ +xڔ�˒,ׁe7���L����GFFU�j=L���(k�I@$���@�[]_ߞ���'r��6��ky������7/���y;����;�N���7��x������p��\������͓����t8_��o~z9����OO������߿�ܶ�総S����o��������t����7�N����緯����ߟ^_��߾������_���w?���_����>�������?���<�_����G�_��p;��w������_�DZO}X/�vx{��=��'��it;����r<�.��N�� _�;���/ٵu=�jc's�����it;uG�=��[}��Q�����2���}?Ljg�χ���}��4���#��������(w��v�ַ��Y&>מ����K{��iR/���\������(w�|{.���V~?�r��ȷgs9շ�~�N}.?oO�|no�8M�#ߞ�����q�NݑoO�xio�8�r��ȷ���2���O�ܩ����������4���|x�]��>N�ܩ;���������4ʝ�#�^�o�m��F�S��_���z{-��4��|{:������(w�|{:������(w�|{:����O�ܩ����霎�m�I�Pw���9�_Ō�(w�|{:/�����(w��v�����~?�r�>��m�w����>N�|���χ�ۥ���4ʝ�#��+��V~?�r��ȷ���Z���i�;����=�˵���4��|{:�����(w�|{:�]j���(w�|{:�ۥ��O�ܩ�����yyoo�8M�#?�����>N�ܩ;���������4ʝ�#����X���i�;�����r���oB�4�W�|{:�ӥ��O�ܩ;��鼞���~�Nݑ��i)�B�S�ˏ��9_��>N�|��ȷ���*jF�1w�ۣ9���|�F�Sw��?}����~�N}.?����/�~����1���[���F�Sw䯇��۹��O�ܩ;���t}o�_�ژ����ɼ֏{�&�Bݑo�������4ʝ�#�ͥ��~���1oO�|����it;����=�ө���4��|{4����0���cޞ�K�Gw:�n���o�������Q����ח��vip�I�Pw���������4ʝ�#=\������(w�|{:�����4ʝ�\~ݞ�孽��4��|{:�۩��O�ܩ;���n�m�Q����t���m��F�S��߶�s|io�8M�#ߞ��K{��i�;uG�zx}?��M�Q�����r;շ�~�N}.��^�N�m�I�Pw��������q�NݑoO�����q�NݑoO�r����i�;���}{:�OB�|�&�BݑoO�tmo�8�r��ȷ�sl�K�i�;uG�=������O�ܩO嗗����V�fE�A�Rw����vk���(w���py{m���(w������R���i�;����=�k��N�|��ȷ��z����i�;uG�=�˩���4ʝ�#ߞ��T���i�;����=�ӹ���4��|{:��;":�r��ȷ��ҾS��(w���p{�o��4ʝ�\~~9�o�����$_�;����־V��(w���p����}�F�Sw���i��|F�1��/ۣ���{>N�{��ȷGs~o��8�r��ȷGsn�_�3qG�=��K}��Q���������y�4��|{.���aTs��z8���{>N�۩;��ۭ�7m�F�S�˯/�S����0���c>ޮ��:�n��ȷG��v9:�r��ȷG��_�ژ��oۓ9�o�4��|{4����i�;uG�=�c�6�N�ܩ;������~?�r�>��^��6��i�/���p��o�4ʝ�#=om���(w���p}k�&�i�;���}{:�6��i�/���t^�@G�Q����t.���:�r��ȷ�s>�~�N}*}ٞΩ}�X�A�Rw���9���N�ܩ;��鼴��N�ܩ;���������(w�s����rk�&�Bݑ��o���:�r���_/�6��i�;uG�=������O�ܩ����\ڷ�u��uG�=�K��4ʝ�#ߞι}�X�Q����tN;��8t��������ȿ�ѹO�v[���vx���<��=����f��~��p|����x����Tw~?�wf�9�P�OE��������G�z�n����w����X�%�s�.q���������z"��F�Sw����e{��~�Nݑ�o�3���aTsg��x8�N�=�ɽPw����۹���4ʝ�#�:UR���'�6f�?)�c���N��'�|Οd�J��'��>Bjc���R=�O���<R��� ɝ�O:��?�3��I��'�vj�?)�c���NM�'���� �?��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I%��'Y�R��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5Ο���� ����OJ��?!�S��I)�'$wj�?��c�����'�z̟�۩y������;5Ο���� ����O:��O��P��I)�'$wj�?)���R3ϟ��1Bn����N���/�8R���'�6f�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O:��O@�P��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O:��O@�P��I)�'$wj�?)�c���N��'�|̟�ܩy���k��5ϟ��1Br����R>�OH��<R��� ɝ��O*��?���OJ��?!�S��I)�'$wj�?)�c���N��'�\�' _�y������;5ϟ��1Br����R>�OH��<��5��OJ��?!�S��I)�'$wj�?)�c���N��'�\�' _�y������;5ϟ��1Br�����}�?!�1��I��� �j�?)�c���NM�'���� �?��I)�'�vj�?��?�B��'��>Bjc���R=�O���<R��� ɝ�O:��?�3��I��'�vj�?)�c���N��'��>Bjc���N��p/�<R��� ɝ��OJ��?!�S��I)�'$wj�?��?�B��'�|̟�ܩy������;5ϟ��1Br����N���/�<R��� ɝ��OJ��?!�S��I)�'$wj�?��s�$�Wj�?)�c���N��'�|̟�ܩy������;5ϟtr͟�|����R>�OH��<R��� ɝ��OJ��?!�S��I'�� �j�?)�c���N��'�|̟�ܩy�$�wT�'tA�s�.(̟�+Z�O^i�d�����r���qL�'����~������+�˧���=�v=��_��&_�8���Y����v��&Гz"��F�SwH�DK%��/Y�Pa���k��N��N���;5�t�1�jc��K���/ٽPa���k��N��/�{��ژ0�ҩ5�n���K#~�_:�~�1a��Sk��N��N���;5�Tn �d�3a��Sk��N��N���;5�t����?a���ᗬ^�0���5�r���K'��ȝ �/�\�/ w*�T�9����_:��_@�T~��~�Sa���k��N��J>�_�|���K'��ȝ �/�\�/ w*�tr ��ܩ0�R���K�/T~��~�Sa���k��N��N���;�_*�~�� �/�\�/ w*�tr ��ܩ0���5�r���K%��/Y�Pa���k��N��N���;�_:��_@�T~��s�%�*�tr ��ܩ0���5�r���K'��ȝ @@ -6903,522 +6949,510 @@ xڔ �/�\�/ w*�tr ��ܩ0���5�r���K%��/Y�Pa���k��N��N���;�_:��_@�T~��s�%�*�tr ��ܩ0���5�r���K'��ȝ �/��a�%�W*�tr ��ܩ0���5�r���K'��ȝ �/�|�d�B��N���;�_:��_@�T~��~�Sa�����,_�0���5�r���K'��ȝ -�/q��~��/�t;���+�����]��/kƷ����\·˗?���.��������N=̾��˯���O?��f`>���?�{��E}|QǷ����+����%�������N�ذ���0�*Ć�\�!ȝ -�a'Wlr�Bl���ܩV�f�B�ذ�+6�S!6�� A�T� ;�bC�;b�J>c�,_�vrņ w*Ć�\�!ȝ +�/q��~��/����?�������v�����~��r9._����~���/;��c:�0�r�/�~��o?��C�����_���A���E�vn�Cl�xƆ��b�'�bC�;b�J>c�,_�vrņ w*Ć�\�!ȝ �a'Wlr�BlX�gl��b�N���N�ذ�+6�S!6�� A�T� +�� �|�Bl���ܩvrņ w*Ć�\�!ȝ -�a#� �|�Bl���ܩvrņ w*Ć�\�!ȝ -�a%��a�/�v��ژvjņ�v*Ć�\�!ȝ�c�ʭ�0�� �a�Vln�Bl���ܩ96��#6�1!6��36�� -�a'Wlr��ذs���ƄذS+6�S!6��36��c��=bCPb�N���N�ذ�+6�S!6��36�� -�a'Wlr�Bl���ܩvrņ w*Ć�|ƆY�P!6�� A�T� ;�bC�;b�N���N�ذ���0�*Ć�\�!ȝ +�a%��a�/T� ;�bC�;b�N���N�ذ�+6�S!6��36�� +�a'Wlr�Bl���ܩvrņ w*Ć��!6�� +�a'Wlr�Bl���ܩvrņ w*Ć�|ƆY�PslعGljcBlة�۩vrņ wj� +�bìv&Ć�Z�!�� +�a'Wlr��ذs���ƄذR��0�*Ć�\�!ȝ�c��=bCPb�N���N�ذ���0�j� ;�� AmL� ;�bCp;b�N���N�ذ���0�*Ć�\�!ȝ �a'Wlr�Bl���ܩV�f�B�ذ�+6�S!6�� A�T� ;�bC�;b�J>c�,_�vrņ w*Ć�\�!ȝ -�a'Wlr�Bl��b�(_�vrņ w*Ć�\�!ȝ �a'Wlr�BlX�gl��b�N���N�ذ�+6�S!6�� A�T� +�� �|�Bl���ܩvrņ w*Ć�\�!ȝ -�a%��a�/T� ;�bC�;b�N���Nͱa��!�� �a���av/T� ;�bC�;5Ɔ����3b�N���N�ذ���0�j� ;�� AmL� ;�bCp;b�N���Nͱa�Vl��΄ذS+6�S!6�� A��v��ژV�f�B�ذ�+6�S!6�� A�T� ;�bC�;b�J>c�,_�vrņ w*Ć�\�!ȝ -�a'Wlr�BlX�gl��b�N���N�ذ�+6�S!6�� A�T� �Cl�+b�N���N�ذ�+6�S!6�� A�T� +�� �|�Bl���ܩvrņ w*Ć�\�!ȝ -�a%��a�/T� ;�bC�;b�N���N��0�qml4b��J�a���;6|�^�7h �R�������w��o�����~���_���O�÷�y�x�z^�_��p�x_m'?��H�f$��E�Fd����D�3!���C�٘P�Tf�!�lLHC*�ʐl6&t!�yf!��L�B*���l6&!�YAH6r�ʬ$�� -Ha~HA�yaBR�Ձd�1��̊@�٘��Tf �lL�?��?�ٙ9��ģ����D(?*�,6&d�Y�G637�X�G���ʫ�#�� �GeV���̩G%�G�~&B��xg��΄ȣ2���fc�£��#{?!屮�;�ؘ�v4�vD�3s�Q�Gב���PuT^EYlLH:*���l6&��y���L�9*�Z�l6&��Y!G62�ʬ�#�� Gc� G4;�ʬ~#�� �FeV���Ƅt�2���fcB�јg��΄h�2���fcB�Q�ld�1!ר̪5�٘�j4�jD�3!Ԩ��4�٘PiTfE�lLH4*� -�l6&��y���L�3*�ڌl6&��YaF6��ʬ*#�� MFa~H2�yaB�Q��cd�1�ƨ̊1�٘�bTf��lL�0��0�ٙaTf5�lL(0*��l6&��Y�E6ڋ�<Ӌhv&��Y�E6��ʬ�"�� �EeVq��Ƅޢ1��"�� �EeVk��ƄҢ2+��fc�̢��"{?��h�3��bgB`Q��Wd�1c]Qy�qE�~�AZQYUVd�1��h�3��fg樢��"{?���� -*�ؘ�STf��l��R4b��kD)*�:�,6&T�YE63'�x����D��D;�ʬv"�� �DeV8��Ƅl�2���fcB3јg2�΄`�2���fcB-Q�Kd�1!���*%�٘�I4�ID�3!���j$�٘PHTf�lL�#*��l6&���!�H� aDeV��Ƅ*�2+��fcBQ�UDd�1��h�3��fgBQ��Bd�1���� -!�٘�ATfU�lLh �L �ٙ@Tf��lL�*��l6&�����C��><\M��/���*Η�_&|����S�O[�˗�B_·�������c:uF������K�p<�����$h8�_w���r<\�_�D"^��}���)~��߷?���Aȗ�(w��z��~�B'��F�Sw��������Q�������?� ����$_�;���N�m�Q����t������(w�|{:/����O�ܩ������~io�8M�#?n��K+��F�Sw��������q�Nݑ��뵾���(w�s���t^���>N�|��ȷ�s���}�F�Sw���9�IC'��F�Sw���9��~�N}.�mO�����q��uG�=��K{��i�;uG�=��c{��i�;uG~;������F�1��ߏ������q��uG~>����{>N�ܩ;���t��_�ژ;��ɼ^�{~?�n�>/_�Gs��ӈF�� _�;��ќ����aTsǼ=����U�O�۩;�����{~?�r�>�����S�aR;s�|>\�o��������p����|�F�Sw�õ��_�3��t<�^�>N�z��ȷ�r=�7|�F�Sw��sy��#�N~?�r��ȷgs9շ�~�N}.?oO�|no�8M�#ߞ�����q�NݑoO�xio�8�r��ȷ���zj���(w���/��m�I�Pw�_�i{��i�;uG>>i�����A�T���N��o�S���+����,_����\��r���wr}~;ȝ -������� w*|~{%��ߞ�>������A�T���N��o�S���;�>��N��o����۳|���wr}~;ȝ -������� w*|~{'�2ȝ -�\�|�se�B�y�N�}.�;�:�&�@�T���Z��Sa���ϡ�,_�0��ɵ�r��ZW'�\ȝ -�]�\�] w*lv5�Ѯ(_�0��ɵ�r��rW'�tȝ -�]�\�] w*�wU�9���5Oxu��jcW��� -C^�\K^ wj�����jgW�֞�� -�^�\�^ wj���c��Ƅ]�J=���{�´W'ȝ�:����1a�Sk��N���J>G��|�景�=v�@mLX��Ԛ��Sa쫓k��N���J>��|���W'��ȝ -�_�\�_ w*ur-�ܩ��U���W�/T�������Sa��k�N��N�0�;v�*��� -S`�\[` w*��uŕ�ܩ0�ɵr��&X%��`Y�Pa��k�N�e�N�i0�;��:���@�T���s ,�*L�urm��ܩ���5r��PX'�Rȝ -[a��a,,�W*̅ur텁ܩ���5r��hX'�jȝ -�a�|�e�B��N��0�;��:���@�T��Z�SaC����,_�0#�ɵ#r�X'הȝ -cb�\kb w*�U�9(��&�:�6�@�TX���S�X��b�6&l�U�9.����:���@�Ը0֩�c �L���N��1P;v�*���:���1am�Skn�N���N��1�;5o�Un��e�3av�Skw�N��N��1�;5��u�>jc��X��dٽPa���k��N��N�2�;��:���@�T�"��s�,�*̑ur푁ܩ�H��5Ir��(Y'�*ȝ -�d�|�e�B�i�N�m2�;��:���@�T(��Z(�Sa���?��E�J���N��2�;��:���@�T+��Z+�Sa������,_�0Y�ɵYr��jY'�lȝ -�e�\�e w*l�U�9^����:���@�TX0��0�Sa�,�q�+fpAc���n���pEː����/�O6�G2��Cf������?>�}S�ԧ��P��{��og�lNK���R�W���\P���SaZ��kZ +�a#� �|�Bl���ܩvrņ w*Ć�\�!ȝ +�a%��a�/T� ;�bC�;b�N���N�ذ�+6�S!6��36�� +�a'Wlr�Bl���ܩvrņ w*Ć�|ƆY�P!6�� A�T� ;�bC�;5dž�{Ć�6&Ć�zƆٽP!6�� A��v�{l��D� ;�bCP;b�J>c�,_�96��#6�1!6�Ԋ ��T� ;�bC�;5dž�[�aV;b�N���N�ذ�+6�SslعGljcBlX�gl��b�N���N�ذ�+6�S!6�� A�T� +�� �|�Bl���ܩvrņ w*Ć�\�!ȝ +�a%��a�/T� ;�bC�;b�N���N�ذ�+6�S!6l��a��T� ;�bC�;b�N���N�ذ�+6�S!6��36�� +�a'Wlr�Bl���ܩvrņ w*Ć�|ƆY�P!6�� A�T� ;�bC�;b��ǵ�!\Ј /(ņ������zx=ߠ5�zH OOS����ߝ^���_�柾�����/�?��6����y~�����}���pV"�k������jR"�΄@�2��fcBR��d�1! ��*C�٘Ѕ4晅D�3! +��jB�٘P�Tf!�lL�A*�j�l6&� ��!I� !HeV��Ƅ +�2+�fcBR�U�d�1��h�3��fg�����#{?���� +?�ؘ�}TfU�l��|4b%�kD>*�z�,6&��Y�G63��x�����G㝙G;"�ʬ�#����J<���L������bcB�јg����aG%]G�~&B�Qyud�1!��*:�٘�s4�sD�3!��j9�٘PrTf��lL�8*�*�l6&4�y&��L8*���l6&��Y�F6ҍʬr#�� �Fc��F4;��ʬf#�� �FeV���Ƅ\�2���fcB�јg��΄P�2���fcB�Q�id�1!Ѩ�*4�٘�g4�gD�3!Ψ�j3�٘PfTf��lL�2*���l6&4��!�H� AFeV���Ƅ�2+��fcB�Q�Ubd�1��h�3ÈfgB�Q��`d�1���� +0�٘�_Tf��lLh/�L/�ٙ^Tfu�lL�.*���l6&$�Y�E6z��<s�hv&��Y�E6J�ʬ�"���3�J<*���L�Ƣ���"�� �EeV_��ƌuE�����iEeUY��Ƅ��1Ϭ"�����J<����L����*��bcBNQ�USd�1sKш�RD�!����(�ؘPQTfE�l̜PT�QPd�g"��w�Q�L�'*�ډl6&��Y�D6��ʬj"�� �Dc��D4;��ʬ^"�� �DeV,��ƄT�2���fcB'јg&�΄H�2���fcB!Q�Hd�1!��̪#�٘�F�4"�&��Y]D6��ʬ("�� IDeV��Ƅ�1�"�� 1DeV��Ƅ�2+��fcBQ�UAd�1��h�3��fgB�Q��?d�1�~�̊�٘�>쿚ߖ�jF��p5�{ؿ�/߫8_>~���[ȯOOm?m]/_�}9^o���6���=|�ÿ��w?,A���~��;�����t~ݹk���p�~��xu:����o�_?~��䂞!_N�ܩ;������G��~�Nݑ���k+��F�S��_��s����J>N�|��ȷ�s:��}�F�Sw���9���>N�ܩ;���\��~?�r�>�_��������4���|��^/��~�Nݑ_�k{��i�;uG~;ܮ����O�ܩ��o��y}ko�8M�#ߞ�����q�NݑoO���' ��~�NݑoO��^���i�;����=��K{��i�/���t�/�m�Q����t^��m�Q��������B�~��|n~?N�S{��ir/�����vn��8�r��ȯ�ӵv=�jc'�z����4����X|����O#�N�|��ȷGs��Qm���dNV}?�n��ȷGs|����4ʝ�\�Q���O�I����p}���{�F�Sw��������q�Nݑ����9��������p|{io�8Mꅺ#ߞ�����q�Nݑo����(:��4ʝ�#ߞ��T���i�;����=����4��|{:�s{��i�;uG�=�㥽��4ʝ�#ߞ��멕�O�ܩ;$~<�����}�&�Bݑ���m�Q������N��o�S���;�>��N��o����۳|���wr}~;ȝ +������� w*|~{'�緃ܩ���|~~{�/T���N��o�S���;�>��N��o����v�;>�����o�� +������� w*|~{'�緃ܩ���\�\ w*lsU�9Ε��:���@�TX�����Sa���k��N���J>���|��TW'�Vȝ +k]�\s] w*vur-v�ܩ����F��|��lW'�nȝ +�]�\�] w*�wur�w�ܩ��U��W�/�<�չdž�� +^�Z3^�v*yur-y�ܩy˫rk�+�� s^�Z{^�v*,zurMz�ܩyԫs�U/Pv�*���� +�^�\�^ wj^���c��Ƅ��N��/p;6�*����g�:����1a�Sk��N���N��/�;��*���� +�_�\�_ w*�~ur�~�ܩ0��ɵ�r���W%��_Y�Pa���k��N��N� 0�;F�:�V�@�T���s,�*L�urm��ܩ���5r�� X'�"ȝ +�`�|��e�B�Y�N�]0�;��:���@�T��Z�Sa��ρ�,_�0�ɵr��JX'�Lȝ +Ca�\Ka w*l�5(_�0�ɵr��bX'�dȝ +�a�\�a w*�U�9����:���@�TX���Sa@��kA�N� �J>GIJ|�X'ȝ +Kb�\Sb w*��ur���ܩ�'V��X�/T�����SaU��kV�N��b�{,��ژ�-V��Xv/T�����S��X��O���3F�:�V�@�T���sh,�j���ck�Ƅ��N��1p;�:��@�Լ9V�5:��΄ٱN��1p;��:���@��<>ֹ���� �c�z�e�B� �N� 2�;V�:�f�@�T"��Z"�Sa����1�,_�0G�ɵGr��"Y'�$ȝ +�d�\�d w*�U�9L����:���@�TX'��'�Sa���k��N���F�0R�+f�:�v�@�TX*��*�Sa���k��N���J>˲|��dY'�fȝ +�e�\�e w*�ur-��ܩ�]V��xY�/T�/���/�Sa���k��N����ծ��������+Z��.0dv~�~�y=�8u2;߇��Ï?�����˘Ҧ>}���@_����x;[fsZ*^���z��0-��Ҵȝ +�R�\�R w*LKU�9-����:���@�T���䚖�SaZ��kZ �N�i�J>���|�´T'״ȝ �R�\�R w*LKurMK�ܩ0-U��T�/T���䚖�SaZ��kZ -�N�i�N�i)�;��*����� -�R�\�R w*LKurMK�ܩyZ�s�i)P��*����� -�R�\�R wj����cZ -�Ƅi�N�i)p;���ôT���<-չǴ�� �R�Z�R�v*LKurMK�ܩyZ�rkZ*�� �R�Z�R�v*LKurMK�ܩqZ�Sߧ�@���R�xNKe�B�i�N�i)�;��:���@�T���䚖�SaZ���i�,_�0-��5-r�´T'״ȝ +�N��R�{LK�ژ0-U��Tv/T���䚖�S�T��R�6&LKujMK�۩0-�����|��i��=��@mL���Ԛ��SaZ��kZ +�N��R�[�RY�L���Ԛ��SaZ��kZ +�N��R��>-��D����sZ*�*LKurMK�ܩ0-��5-r�´T'״ȝ +�R�|NKe�B�i�N�i)�;��:���@�T���䚖�SaZ���i�,_�0-��5-r�´T'״ȝ �R�\�R w*LKU�9-����:���@�T���䚖�SaZ��kZ �N�i�J>���|�´T'״ȝ �R�\�R w*LKurMK�ܩ0-U��T�/T���䚖�SaZ��kZ �N�i�N�i)�;��*����� �R�\�R w*LKurMK�ܩ0-��5-r�´T%��RY�PaZ��kZ -�N�i�N�i)�;��:���@�T����sZ*�*LKurMK�ܩ0-��5-r�´T'״ȝ -�R��aZ*�W*LKurMK�ܩ0-��5-r�´T'״ȝ -�R�|NKe�B��R�{LK�ژ0-թ5-n�´T'״ȝ���*����ڙ0-թ5-n�´T'״ȝ���:����1aZ�R�i��^�0-��5-r��i��=��@mL���Ԛ��SaZ���i�,_�yZ�s�i)P��:�����T���䚖�SaZ���i�,_�0-��5-r�´T'״ȝ +�N�i�N�i)�;��:���@�T��j��RQ�RaZ��kZ +�N�i�N�i)�;��:���@�T����sZ*�j����cZ +�Ƅi�N�i)p;��:���@��<-U�5-��΄i�N�i)p;��:���@��<-չǴ�� �R�zNKe�B�i�N�i)�;5OKu�1-jc´T�ִ�� +�R�|NKe�B��R�{LK�ژ0-թ5-n�´T'״ȝ +�R�|NKe�B�i�N�i)�;��:���@�T���䚖�SaZ���i�,_�0-��5-r�´T'״ȝ �R�\�R w*LKU�9-����:���@�T���䚖�SaZ��kZ �N�i�J>���|�´T'״ȝ �R�\�R w*LKurMK�ܩ0-U��T�/T���䚖�SaZ��kZ +�N�i�N�i)�;���ôT��T���䚖�SaZ��kZ �N�i�N�i)�;��*����� -�R�\�R w*LKurMK�ܩ0-��5-r�´T#���� �R�\�R w*LKurMK�ܩ0-��5-r�´T%��RY�PaZ��kZ -�N�i�N�i)�;��:���@�T����sZ*�*LKurMK�ܩ0-��5-r�´T'״ȝ -�R�|NKe�B�i�N�i)�;��:���@��<-չǴ�� �R�zNKe�B�i�N�i)�;5NKu����?aZ�kZ -�N�i�J>���|��i��=��@mL���Ԛ��SaZ��kZ -�N��R�[�RY�L���Ԛ��SaZ��kZ -�N��R�{LK�ژ0-U��Tv/T���䚖�SaZ��kZ +�N�i�N�i)�;��:���@�T����sZ*�*LKurMK�ܩ0-��5-r��i��=��@mL����sZ*�*LKurMK�ܩqZ�Sߧ�@���R�X�R�v*LKU�9-��5OKu�1-jc´T�ִ�� +�R�\�R wj���ܚ��jg´T�ִ�� +�R�\�R wj����cZ +�Ƅi�J=���{�´T'״ȝ +�R�\�R w*LKurMK�ܩ0-U��T�/T���䚖�SaZ��kZ �N�i�N�i)�;��*����� +�R�\�R w*LKurMK�ܩ0-��5-r�´T#���� �R�\�R w*LKurMK�ܩ0-��5-r�´T%��RY�PaZ��kZ -�N�i�N�i)�;��:���@�T��j��RQ�RaZ��kZ -�N�i�N�i)�;��:���@�T����sZ*�*LKurMK�ܩ0-��5-r�´T'״ȝ -�R�|NKe�B�i�N�i)�;��:���@�T����Hݴ\И�z��4-������p9��u��:߷������[x���vf�9Ӹ��>/��������~w|����[^���.�<��[�v�~U��45�1��j��r�2ƓJ� wj^���c�Ƅe�N�ep;�1��2F��Լ�ѹ�2�� ��Z��v*,ctr-c�ܩy�rk#�� ��Z��v*,ctr-c�ܩq�Sߗ1@����x.cd�B�e�N�e�;�1:��1@�TX���Z���Sa���e�,_����ɵ�r��2F'�2ȝ +�N�i�N�i)�;��:���@�T����sZ*�*LKurMK�ܩ0-��5-r�´T�Gꦥ��ƴ���i�pE��o����O�Ӵ�����������������3{0��ƥ��y�?�������������ۺ��r���v��ѵ�ʷ����������/W����1�\PZ���S�2F���6&,ctj-c�۩�����1�|��e��=�1@mLX���Z���Sa��k�N���[�Y�LX���Z���Sa��k�N��������DXƨ�s#�*,ctr-c�ܩ���ɵ�r��2F'�2ȝ +��|.cd�B�e�N�e�;�1:��1@�TX���Z���Sa���e�,_����ɵ�r��2F'�2ȝ ��\� w*,cT��1:��1@�TX���Z���Sa��k�N�e�J>�1�|��2F'�2ȝ ��\� w*,ctr-c�ܩ��Q��2F�/TX���Z���Sa��k�N�e�N�e�;�1*�\��� -��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TXƨ�s#�*,ctr-c�ܩ���ɵ�r��2F'�2ȝ -���a#�W*,ctr-c�ܩ���ɵ�r��2F'�2ȝ -��|.cd�B���{,c�ژ��ѩ��n��2F'�2ȝ��1*��1�ڙ��ѩ��n��2F'�2ȝ��1:�X���1a�R�e��^����ɵ�r��e��=�1@mLX���Z���Sa���e�,_�y�s�eP�1:��1��TX���Z���Sa���e�,_����ɵ�r��2F'�2ȝ +��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TX�h��Q�Ra��k�N�e�N�e�;�1:��1@�TXƨ�s#�j^���c�Ƅe�N�ep;�1:��1@�Լ�Q�����΄e�N�ep;�1:��1@�Լ�ѹ�2�� ��z.cd�B�e�N�e�;5/ctjc�2F��2�� +��|.cd�B���{,c�ژ��ѩ��n��2F'�2ȝ +��|.cd�B�e�N�e�;�1:��1@�TX���Z���Sa���e�,_����ɵ�r��2F'�2ȝ ��\� w*,cT��1:��1@�TX���Z���Sa��k�N�e�J>�1�|��2F'�2ȝ +��\� w*,ctr-c�ܩ��Q��2F�/TX���Z���Sa��k�N�e�N�e�;�1��2F��TX���Z���Sa��k�N�e�N�e�;�1*�\��� +��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TXƨ�s#�*,ctr-c�ܩ���ɵ�r��e��=�1@mLXƨ�s#�*,ctr-c�ܩq�Sߗ1@����X��v*,cT�5/ctjc�2F��2�� +��\� wj^ƨ�Z��jg�2F��2�� +��\� wj^���c�Ƅe�J=�1�{��2F'�2ȝ ��\� w*,ctr-c�ܩ��Q��2F�/TX���Z���Sa��k�N�e�N�e�;�1*�\��� ��\� w*,ctr-c�ܩ���ɵ�r��2F#Xƈ� -��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TXƨ�s#�*,ctr-c�ܩ���ɵ�r��2F'�2ȝ -��|.cd�B�e�N�e�;�1:��1@�Լ�ѹ�2�� ��z.cd�B�e�N�e�;5.ct��2�?a�k�N�e�J>�1�|��e��=�1@mLX���Z���Sa��k�N���[�Y�LX���Z���Sa��k�N���{,c�ژ��Q��2Fv/TX���Z���Sa��k�N�e�N�e�;�1*�\��� -��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TX�h��Q�Ra��k�N�e�N�e�;�1:��1@�TXƨ�s#�*,ctr-c�ܩ���ɵ�r��2F'�2ȝ -��|.cd�B�e�N�e�;�1:��1@�TXƈs�2\�X�x���y#\�߿��r9��OgZ�Ǵ�q�/c��������7����������|�|���ăn�����<��Is��4?^qH��\PJ�A�TH�;��f�;��J>��,_��4wr%� w*$͝\I3ȝ +��\� w*,ctr-c�ܩ���ɵ�r��2F%��Y�Pa��k�N�e�N�e�;�1:��1@�TXƨ�s#�*,ctr-c�ܩ���ɵ�r��2F�s�1���2��ݎ�����e�����|:�2�8�e��}�?����?�����?�������������/%t��<|����|H��Ϥ��C���R�r�B��ɕ4�ܩ�4W�4g�B����+i�S!i��J�A�TH�;��f�;��J>��,_��4wr%� w*$͝\I3ȝ Is'W�r�B�\�gҜ���N���N����+i�S!i��J�A�TH�+�L��|�B��ɕ4�ܩ�4wr%� w*$͝\I3ȝ Is%�Is�/TH�;��f�;��N���N����+i�S!i��3i�� -Is'W�r�B��ɕ4�ܩ�4wr%� w*$͕|&�Y�P!i��J�A�TH�;��f�;��N���N����Ϥ9�*$͝\I3ȝ -Is'W�r�B��ɕ4�ܩ�47�9�W*$͝\I3ȝ -Is'W�r�B��ɕ4�ܩ�4W�4g�B�Is�I3�� Is�V�n�B��ɕ4�ܩ9i��J��ڙ�4wj%��v*$͝\I3ȝ����=�fP��J=���^��4wr%� wjN�;�H�AmLH�;��fp;��J>��,_�9i��#i�1!i��J���TH�;��f�;��J>��,_��4wr%� w*$͝\I3ȝ +Is'W�r�B��ɕ4�ܩ�4wr%� w*$͕|&�Y�P!i��J�A�TH�;��f�;��N���N����?$�Q�R!i��J�A�TH�;��f�;��N���N����Ϥ9�jN�;�H�AmLH�;��fp;��N���N�Is�VҜ�΄��S+i�S!i��J�A�Ԝ4w�4�ژ�4W�4g�B����+i�Ss�ܹG�jcB�ܩ�4�۩�4W�4g�B�Is�I3�� Is�V�n�B��ɕ4�ܩ�4W�4g�B����+i�S!i��J�A�TH�;��f�;��J>��,_��4wr%� w*$͝\I3ȝ Is'W�r�B�\�gҜ���N���N����+i�S!i��J�A�TH�+�L��|�B��ɕ4�ܩ�4wr%� w*$͝\I3ȝ +Is%�Is�/TH�;��f�;��N���N����+i�S!in�Is��TH�;��f�;��N���N����+i�S!i��3i�� +Is'W�r�B��ɕ4�ܩ�4wr%� w*$͕|&�Y�P!i��J�A�TH�;��f�;��N���N����Ϥ9�*$͝\I3ȝ +Is'W�r�椹s���Ƅ��RϤ9�*$͝\I3ȝ��N}O�A��Is'V�j�B�\�gҜ�5'͝{$͠6&$͝ZI3�� +Is'W�r�椹r+i�jgB�ܩ�4�۩�4wr%� wjN�;�H�AmLH�+�L��{�B��ɕ4�ܩ�4wr%� w*$͝\I3ȝ Is%�Is�/TH�;��f�;��N���N����+i�S!i��3i�� Is'W�r�B��ɕ4�ܩ�4wr%� w*$͍�!i�� Is'W�r�B��ɕ4�ܩ�4wr%� w*$͕|&�Y�P!i��J�A�TH�;��f�;��N���N����Ϥ9�*$͝\I3ȝ -Is'W�r�B��ɕ4�ܩ�4W�4g�B����+i�S!i��J�A�Ԝ4w�4�ژ�4W�4g�B����+i�Sc�ܩ�I3�?!i��J�A�TH�+�L��|�椹s���Ƅ��S+i�S!i��J�A�Ԝ4Wn%�Y�LH�;��fp;��N���N�Is�I3�� Is��Isv/TH�;��f�;��N���N����+i�S!i��3i�� -Is'W�r�B��ɕ4�ܩ�4wr%� w*$͕|&�Y�P!i��J�A�TH�;��f�;��N���N����?$�Q�R!i��J�A�TH�;��f�;��N���N����Ϥ9�*$͝\I3ȝ -Is'W�r�B��ɕ4�ܩ�4W�4g�B����+i�S!i��J�A�TH�c��%�pA#i~���4�+Z��WH�_ߏ��_n�4똒��Ӥ���~�ӏ��u�xO���k�G�_��#�8cќ/X�>]�~���B�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4wr� _��h.�h&�Ss�\�G�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4wr� _��h.�h&�Ss�\�G�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4wr� _��h.�h&�Ss�\�G�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4W�Y4g�J�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�X4��{�Ljc梹T����N�Es)E3ɝ���=�fP;3ͥz��vj.�K�(�I��X4��{�Ljc梹S�h�B�Es)E3ɝ���}/�Im�\4��Q4�۩�h��*�A�Pc�\��E3�����R=�fr;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹�Ϣ9�Wj.�K�(�I��\4��Q4�ܩ�h.�h&�Ss���U4�|�梹�����N�Es)E3ɝ���R>�f�;5͝\E3�j.�K�(�I��\4��Q4�ܩ�h.�h&�Ss���U4�|�梹�����N�Es)E3ɝ���}/�Im�\4wj��^��h.�h&�SS�\���$�L�Es)E3�����N���5ͥ�^4�ژ�h.գh&�Ss�\�G�Lr�Ƣ�s�����Es�E3�����R>�f�;5ͥ�^4�ژ�h��*���Ps�\�G�Lr�梹�����N�Es)E3ɝ���N���5ͥ|�$wj.�K�(�I��\4��Q4�ܩ�h��*�A�Ps�\�G�Lr�梹�����N�Es)E3ɝ���J>��,_��h.�h&�Ss�\�G�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4wr� _��h.�h&�Ss�\�G�Lr��9E�e�Lt?��n�ݢ9]���!ͯo����~��yS�|������N/��'E����Ǘo�ۯ_��?~��O���G��ͣ~��ۭ��%γ8�_�,N��P�>��T��ܩP�V�Y�f�B�ⴓ�8�S�8��*NA�T(N;��S�;��J>��,_�P�vr� w*��\�)ȝ +Is'W�r�B�#�.i�I����9\ђ4�B���~�~��r��Yǔ4��&����~���k�{:��_C=����1���|�:�����g�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹�Ϣ9�Wj.�K�(�I��\4��Q4�ܩ�h.�h&�Ss���U4�|�Ƣ�tߋfR3ͥz��vj.�K�(�I��X4w�Q4�ڙ�h.գh&�Ss�\�G�Lr�Ƣ�tߋfR3͝ZE3�j.�K�(�I��X4��{�Ljc梹T����N�Es'W�����}/�Im�\4��Q4�۩�h.�h&�Ss���U4�|�梹�����N�Es)E3ɝ���R>�f�;5͝\E3�j.�K�(�I��\4��Q4�ܩ�h.�h&�Ss���U4�|�梹�����N�Es)E3ɝ���R>�f�;5͝\E3�j.�K�(�I��\4��Q4�ܩ�h.�h&�Ss���U4�|�梹�����N�Es)E3ɝ���R>�f�;5͕|�Y�Rs�\�G�Lr�梹�����N�Es)E3ɝ���N���5ͥ|�$wj.�K�(�I��\4��Q4�ܩ�h��*�A�Ps�\�G�Lr�梹�����N�Es)E3ɝ���N���5ͥ|�$wj.�K�(�I��X4��{�Ljc梹S�h�B�Es)E3ɝ���R��h&�gb.�K�(�I��\4wr� _��h.�������Es�E3�����R>�f�;5͝{͠vf.�K�(����\4��Q4�ܩ�h.�������Es�V���R>�f�;5ͥ|�$wj.�K�(�I��\4wr� _��h.�h&�Ss�\�G�Lr�梹�����N�Es'W��R>�f�;5ͥ|�$wj.�K�(�I��\4W�Y4g�J�Es)E3ɝ���R>�f�;5ͥ|�$wj.�;��f�/�\4��Q4�ܩ�h.�h&�Ss�\�G�Lr�梹��h�B�Es)E3ɝ���R>�f�;5�)�-�f����Ot;�����i~}�n���㘊�˽h���~wz��?)j�?~w<�|���~�����x�8�_?��o����n�u/q��i� +fq���������N�ⴒ��4�*��\�)ȝ +�i'Wq +r�Bq��U��ܩP�V�Y�f�B�ⴓ�8�S�8��*NA�T(N;��S�;��J>��,_�P�vr� w*��\�)ȝ �i'Wq r�BqZ�gq����N���N�ⴓ�8�S�8��*NA�T(N+�,N�|�Bq��U��ܩP�vr� w*��\�)ȝ -�i%��i�/T(N;��S�;��N���N�ⴓ�8�S�8��8�� +�i%��i�/T(N;��S�;��N���N�ⴓ�8�S�8m��i��T(N;��S�;��N���N�ⴓ�8�S�8��8���=�SP��N���N�ⴓ�8�SsqZ�U�f�3�8��*N��T(N;��S�;5��{��6&��z�ٽP�8��*NA��\�v�Q��ژP�vj��v*��|�Y�PsqڹGq +jcBqکU��۩P�vr� w*��|�Y�P�8��*NA�T(N;��S�;��N���N�ⴒ��4�*��\�)ȝ �i'Wq -r�Bq��U��ܩP�vr� w*����8�� +r�Bq��U��ܩP�V�Y�f�B�ⴓ�8�S�8��*NA�T(N;��S�;��J>��,_�P�vr� w*��\�)ȝ �i'Wq -r�Bq��U��ܩP�vr� w*��|�Y�PsqڹGq -jcBqکU��۩P�vr� wj.N+��Ӭv&��Z�)�� +r�BqZ�gq����N���N�ⴓ�8�S�8��*NA�T(N�Cq�+��N���N�ⴓ�8�S�8��*NA�T(N+�,N�|�Bq��U��ܩP�vr� w*��\�)ȝ +�i%��i�/T(N;��S�;��N���N�ⴓ�8�S�8��8�� �i'Wq -r���s���Ƅ�R��4�*��\�)ȝ����=�SP��N���N�ⴒ��4�j.N;�(NAmL(N;��Sp;��N���N�ⴒ��4�*��\�)ȝ +r�Bq��U��ܩ�8�ܣ8�1�8�Գ8�� �i'Wq -r�Bq��U��ܩP�V�Y�f�B�ⴓ�8�S�8��*NA�T(N;��S�;��J>��,_�P�vr� w*��\�)ȝ +r���SߋS&BqډU��کP�V�Y�f�B��i��)�� �i�Vq +n�Bq��U��ܩ�8��*N�ڙP�vj��v*��\�)ȝ����=�SP��J=���^�P�vr� w*��\�)ȝ �i'Wq r�BqZ�gq����N���N�ⴓ�8�S�8��*NA�T(N+�,N�|�Bq��U��ܩP�vr� w*��\�)ȝ �i#(N�|�Bq��U��ܩP�vr� w*��\�)ȝ �i%��i�/T(N;��S�;��N���N�ⴓ�8�S�8��8�� �i'Wq -r�Bq��U��ܩP�vr� w*��|�Y�P�8��*NA�T(N;��S�;5��{��6&��z�ٽP�8��*NA��X�v�{q -��D(N;��SP;��J>��,_��8�ܣ8�1�8��*N��T(N;��S�;5��[�iV;��N���N�ⴓ�8�SsqڹGq -jcBqZ�gq����N���N�ⴓ�8�S�8��*NA�T(N+�,N�|�Bq��U��ܩP�vr� w*��\�)ȝ -�i%��i�/T(N;��S�;��N���N�ⴓ�8�S�8m��i��T(N;��S�;��N���N�ⴓ�8�S�8��8�� -�i'Wq -r�Bq��U��ܩP�vr� w*��|�Y�P�8��*NA�T(N;��S�;���Dv�)\�(N/(��?\�ߓ|�����}���������� ���p�]�ue��y���t�㺮�����o���O������ÿ����|�}�������羼�������p���ju�������oE=��'��i�;uG~t��~�N}.���˱���$_�;���_��>N�ܩ;�����>N�ܩ;���������0�����~<�n������^�;��������q�Nݑo? -^k��è6�y{2�����O�۩������\>�!��u�+uG�=���M;��è6�y{2��[���F�Sw�ۣ9����~�N}.?n�����+��0���c>���q���v��z8���{>N�ܩ;���Z��/gQ���\{:�o/� �I�Pw��s��>N�ܩ;����~|���O�ܩ;���\N�m��F�SwvP��s>��}�&�BݑoO�tno�8�r����PL'��ȝ +r�Bq��U��ܩP��&�+N�Fq�xA�8 W�������ㅬ�������3tߎ��/o�_χ����+�~ΛWv?�C�u�����_��_�7�����������;����/�_(O?>���m�>�·��W�s����^��p>|+��=��O�ܩ;���+���(w�s��x8�^��|�&�BݑoO�����q�NݑoO�����q�Nݑ�o?�wQm������t;��|�&�Bݑ�oo�����(w�|�Q�Z��F�1w�ۓy����~�N}�l���� �F�� _�;���|�mڹ�F�1w�ۓ9]�Z��4���#������(w�s�q{4^^��I����p}���{�F�Sw��������q�Nݑ����9��������p|{io�8Mꅺ#ߞ�����q�Nݑo�����P��~�Nݑo��r�o��4ʝ����=����4��|{:�s{��i�;uG>�b:��g@�T���䚟�Sa~�����,_�0?��5?r���L'��ȝ �3�\�3 w*��T�9?���g:��g@�T���䚟�Sa~��k~�N���J>�g�|���L'��ȝ �3�\�3 w*��tr�πܩ0?S���L�/T���䚟�Sa~��k~�N���N���;�g*����� -�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T����s~&�*��tr�πܩ0?��5?r���L'��ȝ -�3��a~&�W*��tr�πܩ0?��5?r���L'��ȝ -�3�|��d�B��3�{�πژ0?ө5?n���L'��ȝ��g*��g�ڙ0?ө5?n���L'��ȝ��g:����1a~�R����^�0?��5?r�����=�g@mL���Ԛ��Sa~�����,_�y~�s��P�g:��g��T���䚟�Sa~�����,_�0?��5?r���L'��ȝ +�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T��i��3Q�Ra~��k~�N���N���;�g:��g@�T����s~&�j����c~�Ƅ��N��p;�g:��g@��<?S�5?��΄��N��p;�g:��g@��<?ӹ���� �3�z��d�B���N���;5��t�1?jc��L����� +�3�|��d�B��3�{�πژ0?ө5?n���L'��ȝ +�3�|��d�B���N���;�g:��g@�T���䚟�Sa~�����,_�0?��5?r���L'��ȝ �3�\�3 w*��T�9?���g:��g@�T���䚟�Sa~��k~�N���J>�g�|���L'��ȝ +�3�\�3 w*��tr�πܩ0?S���L�/T���䚟�Sa~��k~�N���N���;�g���L��T���䚟�Sa~��k~�N���N���;�g*����� +�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T����s~&�*��tr�πܩ0?��5?r�����=�g@mL����s~&�*��tr�πܩq~�S��g@���3�X�3�v*��T�9?��5��t�1?jc��L����� +�3�\�3 wj���ܚ��jg��L����� +�3�\�3 wj����c~�Ƅ��J=�g�{���L'��ȝ �3�\�3 w*��tr�πܩ0?S���L�/T���䚟�Sa~��k~�N���N���;�g*����� �3�\�3 w*��tr�πܩ0?��5?r���L#���� -�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T����s~&�*��tr�πܩ0?��5?r���L'��ȝ -�3�|��d�B���N���;�g:��g@��<?ӹ���� �3�z��d�B���N���;5��t����?a~�k~�N���J>�g�|�����=�g@mL���Ԛ��Sa~��k~�N��3�[�3Y�L���Ԛ��Sa~��k~�N��3�{�πژ0?S���Lv/T���䚟�Sa~��k~�N���N���;�g*����� -�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T��i��3Q�Ra~��k~�N���N���;�g:��g@�T����s~&�*��tr�πܩ0?��5?r���L'��ȝ -�3�|��d�B���N���;�g:��g@�T�� �)��\И�y���u~&\їo��/��H�3��o�˗o���s��,�c:�u��x�ř/����o���ן~���ϖ(^>���A��ʷ���wh�8E��9N�x���O�'�S�ژ0Nѩ5Nn��8E#����):����1a��Sk��N�q�N�q -�;5�STn�Sd�3a��Sk��N�q�N�q -�;5�St��8�?a���q��^�0N��5Nr��8E'�8ȝ +�3�\�3 w*��tr�πܩ0?��5?r���L%��3Y�Pa~��k~�N���N���;�g:��g@�T����s~&�*��tr�πܩ0?��5?r���L�Mi�g�������.��3ኾ|S�|���E���~~�^�|K��5��eggө�4ǃ-�|�����������}�D���w��V�}�ֿ�@3�)���q����xr=a��Ƅq�N�q +p;�)��8E���<Nѹ�8�� ��Z��v*�Str�S�ܩy��rk�"�� ��Z��v*�Str�S�ܩq��S��)@����x�Sd�B�q�N�q +�;�):��)@�T������Sa����q�,_�0N��5Nr��8E'�8ȝ ��\� w*�ST�9N���):��)@�T������Sa���k��N�q�J>�)�|��8E'�8ȝ ��\� w*�Str�S�ܩ0NQ��8E�/T������Sa���k��N�q�N�q �;�)*���� ��\� w*�Str�S�ܩ0N��5Nr��8E%��Y�Pa���k��N�q�N�q �;�):��)@�T���s�"�*�Str�S�ܩ0N��5Nr��8E'�8ȝ -��|�Sd�B�q�N�q -�;�):��)@�T������Sa���?�SD�J�q�N�q -�;�):��)@�T������Sa����q�,_�y��s�q -P�):��)��T������S�8E��8EV;�):��)��T������S�8E���6&�ST�9N���):��)@��<Nѹ�8�� ��Z��v*�ST�9N��5�St�1Njc�8E��8�� +���a�"�W*�Str�S�ܩ0N��5Nr��8E'�8ȝ +��|�Sd�B���{�S�ژ0Nѩ5Nn��8E'�8ȝ��)*��)�ڙ0Nѩ5Nn��8E'�8ȝ��):����1a��R�q��^�0N��5Nr��q��=�)@mL������Sa����q�,_�y��s�q +P�):��)��T������Sa����q�,_�0N��5Nr��8E'�8ȝ ��\� w*�ST�9N���):��)@�T������Sa���k��N�q�J>�)�|��8E'�8ȝ ��\� w*�Str�S�ܩ0NQ��8E�/T������Sa���k��N�q�N�q �;�)*���� +��\� w*�Str�S�ܩ0N��5Nr��8E#��� ��\� w*�Str�S�ܩ0N��5Nr��8E%��Y�Pa���k��N�q�N�q -�;�):��)@�T�h��Q�Ra���k��N�q�N�q �;�):��)@�T���s�"�*�Str�S�ܩ0N��5Nr��8E'�8ȝ ��|�Sd�B�q�N�q -�;�):��)@�T������Sa����q�,_�0N��5Nr��8E'�8ȝ��):����1a��R�q��^�0N��5Nr��q�N}���g"�Stb�S�ک0NQ��8E�/�<Nѹ�8�� ��Z��v*�Str�S�ܩy��rk�"�� ��Z��v*�Str�S�ܩy��s�q -P�)*���� +�;�):��)@��<Nѹ�8�� ��z�Sd�B�q�N�q +�;5�St��8�?a��k��N�q�J>�)�|��q��=�)@mL������Sa���k��N���[�Y�L������Sa���k��N���{�S�ژ0NQ��8Ev/T������Sa���k��N�q�N�q +�;�)*���� ��\� w*�Str�S�ܩ0N��5Nr��8E%��Y�Pa���k��N�q�N�q +�;�):��)@�T�h��Q�Ra���k��N�q�N�q �;�):��)@�T���s�"�*�Str�S�ܩ0N��5Nr��8E'�8ȝ -���a�"�W*�Str�S�ܩ0N��5Nr��8E'�8ȝ ��|�Sd�B�q�N�q -�;�):��)@�T������Sa����q�,_�0N��5Nr��8E'�8ȝ -�qQ�������)�=�Sܿ���)�ۏz�/��6����i��}����o�������'����� S��������&��]��!Y�L{��u��x8��]�]�j������p�|�IVe�&�1w������m��|?Lfcgrzo���0����|۞�饼��0���cޞ����0���cޞ�˱���0���c��7��sX%�z����;#/���v*o�8bg���Me֨N63O�Tⱨ������Sy5���Ƅ1�������3/�T�1�����0�Sy����Ƅ �ʬ �l6f�i��ω^#�zN��xN�s*��s�٘q7���gs��Fs��̉^g�bNe�`N6�r*��r�٘��S�5���Ƅ���<wr�ٙ��S�5���Ƅ��ʬ��l6&��Tf��d�1a�1�m�hv&,�Tf �d�1a�2k'�� �8�Y�8�lL�i�s'�� k8�Yc8�lL�©�Z��fc�Ne�N6Fp����fg�Ne��N6�o*��o�٘�}S�5}��Ƅ��<wo�ٙ�zS�5z��Ƅɛʬśl6&��Tf��d�1a�1ϭ�hv&,�Tf �d�1a�2k�&�� 7�Y7�lL�i�s�&�� �6�Y�6�lL����Z��fc®Me֬M6Fm -�æM2/LX�����fcMe֚M6�l*��l�٘0dӘ�M4;3��T�1b����0aSy�`��Ƅ��ʬ��l6f�i�ڮ�^#�rM��pMfk*�Vk�٘y���ɚ��L����;�j�ؙ�VS�5V����S5�x,�d�g"��T^��d�1a��1ύ�hvf^���c�&{?a���j�&�� �4�Y�4�lL�i�s�&�� �4�Y�4�lL����Z��fc�Me�M6�h�ܢ�fg�Me�M6fh*�Vh�٘�AS�5A��Ƅ��<�g�ٙ�>S�5>��Ƅ�ʬ�l6&��Tf��d�1at�1�͙hv&,�Tf �d�1an�2km&�� [3�YS3�lL�i�sg&�� +3�Y#3�lL����Z��fc¾LeּL6�e -�öL2/LX�����fc¬Le֪L66e*�&e�٘0(Ә�L4;�d*��d�٘0%S��$��Ƅ�ʬ�l6&��4�!�΄�ʬ�l6&��Tf��d�1a;�2k:&�� �1�y��D�3a5�2k4&�� �1�Y�1�l̼S��\L�~&�XL�[1Q�LX�����fcƙ��{_���O<؈�����^c�@Lc��0��̼S��8L�~&�4L��2Lva*�fa�٘y�k&z��0�W�0YlL����Z��fc�-�J<�`��3�`�܁�bg� -Le�L6&`*�`�٘��R�5���Ƅ��<�_�ٙ��R�5���Ƅٗʬl6&l�TfM�d�1a�1Ͻ�hv&��Tf��d�1a�2k�%�� ;/�Y3/�lLy)�/ɼ0a�2k�%�� �.�Y�.�lL�v�̚v�fc°Kc��.��LXu��u�fc¤Ke֢K6�\*��\�٘0�Ҙ�K4;�\*��\�٘0�R����Ƅ �4@�M��.W�\�/���o���r��8�u��|_p����^���_��_�����M������~�������?��������w?g�/[��e����夆�N����+��Sc�ݩ�%7�?���3��� -9w'W� r�B��ɕt�ܩuwrU� w*tݕ|��Y�P!���j�A�T��;��n�;�N���N�ƻ���;�*dޝ\�7ȝ -�w'W� r�B���U{�ܩ�{W�|g�B�仓���S����ʾA�T�;��o�;��J>��,_��wr�� w*��\ 8ȝ -x'Wr�B^�g��R�N��N���+�S!��*�A�Th�+��³|�B��Յ�ܩP�wr�� w*��\u8ȝ -}x%��x�/TH�;�q�;*�N�L�N�P����S�o��x��T��;�zq�;��N�d�N�h����S���3�����=�qP��N�|�N����� �SsC^��g�3!#������T(�;�Rr�;5��{��6&��z�ٽP!)��j�A��\�w�ژ�wj���v*��|��Y�Ps^G_jcBaީ���۩�wrU� w*t�|��Y�P!5��j�A�T��;�rs�;��N���N�漒��<�*d�\�9ȝ -�y'Wzr�B|��U��ܩПW��g�B����A�S�B����A�T�;�Jt�;Z�J>c�,_���wr�� w*�\I:ȝ -Qz'W�r�B�^�g�����N�6�N�:��+O�S!P��*�A�Th��C��+2�N�N�N�R��+U�S!V���A�T��+�ֳ|�B���լ�ܩP�wre� w*��\�:ȝ -�z%��z�/T��;��u�; -�N���N�����b�S�c��3d�� -){'W�r�B��ɕ��ܩ9h�ܣh�1�i��3j�� -Y{'W�r�Ʋ�S��v&B�މU��کзW��g�B͉{��;�� �{�V�n�B���U��ܩ�u�܊ݳڙ��wj���v*�\�;ȝ����=�wP��J=���^���wr�� w*��\�;ȝ -|'Wr�B_�g��2�N��N���+��S!����A�T��+��|�B���ăܩP�wre� w*��\e<ȝ -m|#��|�B���ǃܩP�wr%� w*D�\�<ȝ -�|%��|�/TH�;�Zy�;j�N�\�N�`�����S����3��� -�|'W7r�B9�ɕܩ��ڻ���F>�xA��W����v��?��:������ޗ��_ߴn�c~�I�㜎�������O�~���~���|�����鷿�����������%���>�+~���g���E=~!�zrA)��S!���ʢ@�TȢ*�̢�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ +�;�):��)@�T��� +�8\��x��4N��q�����<Nq�~��~Y��)NS�����_��_�����?=٤�~$��O������6)6������e���u��o�������jV�8fg�χ���O�*��0���c���o�U��a2sǼ=��{{���l�����LN/��������L�/����l���L^�����l������*�׳��L�y9N�Sy��a;s�<�o*�Fu�٘yR��E���L�=�ʫ9�,6&���-�d^�yI��!���L��ʫ�,6&l�TfM�d�1�N#�~N��s*��s�ؘ0�S�����ƌ�9��>����x0��X�fN�:s*�s�٘0�S�����Ƅ��ʬ��l6&�4湓�΄��ʬ��l6&L�Tf-�d�1a�2k'�� �8�yn�D�3a�2k'�� �8�Y�8�lL�ĩ̚��fc� Nc�{8��LXé���fc�Ne�N6vp*�fp�٘0�Ә�N4;p*�p�٘0S��~��Ƅ�ʬ�l6&�4�{�΄՛ʬћl6&L�Tf-�d�1a�2k�&�� c7�yn�D�3a�2k�&�� 37�Y+7�lLظ�̚��fc��Mc��6��LX�����fc´MeֲM6vm*�fm�٘0jS�6m�ya¢Me֠M6�l*��l�٘�eS�5e��Ƅ!��<wl�ٙyŦ����L� �ʫ�,6&��Tf��d�1�xM#�vM��k*��k�ؘ0[S��Z���̛5�xL�d�g"�4W�΄��ʬ��l6f����c�&{?a���j�&�� #5�yn�D�3�BM%5����4�W�4YlLئ�̚��fc�0Mc��4��LX�����fc�$Me�"M6�h*��h�٘0FӘ�M4;�h*��h�٘0CS��B��Ƅ �ʬ �l6&�4�?�΄��ʬ�l6&L�Tf-�d�1aw�2kv&�� �3�yn�D�3aq�2kp&�� s3�Yk3�lLؚ�̚��fc��Lc�;3��LX�����fc��Le��L6�e*��e�٘0.S��e�ya²LeְL6fe*�Ve�٘�)S�5)��ƄA��<�d�ٙ�&S�5&��Ƅ)�ʬ%�l6&��Tf��d�1aD�1� �hv&,�Tf �d�1a>�2k=&�� �1�Y�1�lL�i�s7&�� �1�Y�1�lL����Z��fc潘J<�b��3�b�܊�bg�RLe�PL63��T��JL�~��FLe�DL�b�܇�fg�u�J<�a��3�a*��a�ؘ�S�5���̣0�X�0�kDX�����bc�Le�L63o�T�1����0�x�L;V`*�F`�٘0S�����Ƅ��ʬ��l6&��4���΄�ʬ�l6&̾Tf��d�1a�2k�%�� �/�y�D�3a��2k�%�� S/�YK/�lL�y�̚y�fc��Ka~�xI� /�Y/�lL�w��Zw�fc¶KeִK6�]��u�fgªKe֨K6&]*�]�٘��R�5��Ƅ1��<�\�ٙ��R�5��Ƅ�ʬ�l6&l���n�%_�Xpy��4�9�~��N��\Ʃ�.��������������o�?n���o����/?����w���t�������9�x�*�/;$�O.'5��v*Tܝ\7ȝC�N}/�A��-w%�1wV/Tȹ;�zn�;��N���N�������S���3��� +iw'W� r�B��ɕw�ܩxwr� w*4ޕ|F�Y�P!����A�T(�;�Ro�;b�N���N����;�*$ߝ\�7ȝ +�w'W� r�B���U~�ܩ�~W�g�B�������S����J�A�T��;�*p�;:�J>C�,_���wr�� w*���\98ȝ +Ax'Wr�B^�g����N�.�N�2��+ �S!���A�T��+�ij|�B"��Ո�ܩP�wre� w*��\�8ȝ +�x#�ţ|�B.��Ջ�ܩP�wr%� w*D�\�8ȝ +�x%��x�/Ԝ�w�ю�ژP�wj���v*�\9ȝ��ʭ�<�� y�VGn�BI�ɕ��ܩ9&�ܣ&�1�'��3(�� +Iy'WSr�檼s���Ƅ��S�,�S�-��3.�����=�rP +�N���N�ȼ��2�S�3��34�� +�y'Wkr�Bm�ɕ��ܩ�wr� w*4�|F�Y�P!;����A�T(�;��s�;��N���N������=�*$�\ :ȝ +z'W�r�B���U��ܩТW��g�B����G�S�H��J�A�T��;��t�;��J>��,_���wr�� w*��\y:ȝ +�z'W�r�B���"�(_���wru� w*��\�:ȝ +�z'W�r�B�^�g�����N�f�N�j��+[�S!\��*�A�Th�+��׳|�B���կ�ܩP�wr%� w*D�\;ȝ +{%�!{�/TH�;�Zv�;j�N���N�A{�E;�� M{��Q{v/T��;��v�;5�������3��N���N������=�jN�;�h�AmL��;�2wp;B�N���Nͭ{�V��΄ܽS�w�S�x��J�A���w�Q��ژнW��g�B�����}�S�~����A�T�;� +x�;�J>#�,_���wru� w*��\)<ȝ +1|'W r�B_�g����N�&�N�*��+��S!���*�A�Th��C�+��N�>�N�B��+��S!����A�T��+��|�B*���ʃܩP�wr�� w*�\�<ȝ +�|%��|�/T��;��y�;��N�t�N�x>��]=4���J�|���_�������)�?߷��������u���O��tl$��݈��~���?��˯������o���O������W7.�����]��^O?���U�,��YԓJYȝ +YT'Wr�BU�g����N�, +�N�,��+��S!���ʢ@�TȢ*�̢�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ YT%�YT�/TȢ:��(�;��N�, -�N�,��+��S!���3��� -YT'Wr�B�ɕE�ܩ�EureQ w*dQ��!��� -YT'Wr�B�ɕE�ܩ�EureQ w*dQ�|fQY�PsչGjcBթ�E�۩�EureQ wj*����v&dQ�ZY�� -YT'Wr��,�s�, -�Ƅ,�R�,*�*dQ�\Yȝ����=�(P��N�, -�N�,���,*�j:�Ȣ@mLȢ:��(p;��N�, +�N�,��+��S!�j�YT��TȢ:��(�;��N�, +�N�,��+��S!���3����=�(P��N�, +�N�,��+��SsU��Ee�3!���ʢ��TȢ:��(�;5gQ�{dQ�6&dQ�zfQٽP!���ʢ@�ԜEu�E�ژ�EujeQ�v*dQ�|fQY�PsչGjcBթ�E�۩�EureQ w*dQ�|fQY�P!���ʢ@�TȢ:��(�;��N�, �N�,���,*�*dQ�\Yȝ YT'Wr�B�ɕE�ܩ�EU�Ee�B�,��+��S!���ʢ@�TȢ:��(�;��J>��,_��EureQ w*dQ�\Yȝ YT'Wr�BU�g����N�, +�N�,��+��S!���ʢ@�TȢ�C�+��N�, �N�,��+��S!���ʢ@�TȢ*�̢�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ -YT#Ȣ�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ YT%�YT�/TȢ:��(�;��N�, �N�,��+��S!���3��� -YT'Wr�B�ɕE�ܩ�EureQ w*dQ�|fQY�P!���ʢ@�TȢ:��(�;5gQ�{dQ�6&dQ�zfQٽP!���ʢ@�ԘEu�{��DȢ:��(P;��J>��,_�9���#��1!���ʢ��TȢ:��(�;5gQ�[YTV;��N�, -�N�,��+��SsչGjcBU�g����N�, +YT'Wr�B�ɕE�ܩ9���#��1!���3��� +YT'Wr��,�S߳(&BՉ�E�ک�EU�Ee�B�YT�Y�� YT�Vn�B�ɕE�ܩ9���ʢ�ڙ�EujeQ�v*dQ�\Yȝ����=�(P��J=���^��EureQ w*dQ�\Yȝ +YT'Wr�BU�g����N�, �N�,��+��S!���ʢ@�TȢ*�̢�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ +YT#Ȣ�|�B�ɕE�ܩ�EureQ w*dQ�\Yȝ YT%�YT�/TȢ:��(�;��N�, -�N�,��+��S!�j�YT��TȢ:��(�;��N�, �N�,��+��S!���3��� -YT'Wr�B�ɕE�ܩ�EureQ w*dQ�|fQY�P!���ʢ@�TȢ:��(�;����Y\�Ȣ/(eQኖ,������p>�� �ұ�E��Y�~�嗿���_��g/��?�_����_��,��^/�o/cM�N��^�h!!:��ُ�]O�H��-trE _�9Z(�#Z �Ss�P�G�@r��h���h��N��B%��B���-��-�ܩ9Z(�#Z �Ss�P�G�@r��h��+Z��B��B�G�6f�J�����-��-�ܩ1Z��#Z��3s�P�G�@n��h���h��N��B�G�6f�:��p/�-��-�ܩ1Z(��h�����B�������N�h�5F��-�ژ9Z(�#Z �Ss�P�G�@r��h��+Z��B��B)�ɝ���R>��;5G�|D$wj�:���/�-��-�ܩ9Z(�#Z �Ss�P�G�@r��h��+Z��B��B)�ɝ���R>��;5G�|D$wj�:���/�-��-�ܩ9Z(�#Z �Ss�P�G�@r��h��+Z��B��B)�ɝ���R>��;5G�|D$wj�*���|��h���h��N��B)�ɝ���R>��;5G�\��j�J��H��-��-�ܩ9Z(�#Z �Ss���-�|��h���h��N��B)�ɝ���R>��;5G�\��j�J��H��-��-�ܩ1Z(��h�����B�V����R>��;5E��k�@���-��-�ک9Z��@�Pc�P��������R=�r;5G�|D$wj�:��@��-��-�۩9Z(�#Z �Sc�P��������N�h�5G�|D$wj�J��H��-��-�ܩ9Z��@�Ps�P�G�@r��h���h��N��B)�ɝ���N�h�5G�|D$wj�J��H��-��-�ܩ9Z��3Z��R>��;5G�|D$wj�J��H��-trE _�9Z(�#Z �Ss�P�G�@r��h���h��N��B'W���R>��;5G�|D$wj����e�@t?��no��B�����\.��ac�)Z�F�p�G��/�;�~�����^����_���m����.���o��/?�=\Ț-����r9^����������_·���on�\���4ʝ�#�^�>~$����(w��vx������i�;���u{:�?W�q��uG�=��{{��i�;uG�=��{{��i�;uG�=��K}��Q�ԝ�/ڞ�����q��uG~�|�R>>5��N͟U�ǧF�ܩ�S�J���(�;5jT'קF�|��O�*��S�H����Q�||jɝ�?5���O�"�S�Fur}j�j�ԨR>>5��N͟U�`�ܩ`vr� w*��|�Y�P!��� -0A�T0;�L�;�N���N����?�Q�R!��� -0A�T0;�L�;�N���N������3�j0;�0AmL0;�Lp;�N���N�f�V���΄��S+��S!��� -0A��`v�`�ژ`V�`f�B����+��Ss�ٹG� jcB�٩`�۩`V�`f�B�f�&�� f�V� n�B���`�ܩ`V�`f�B����+��S!��� +YT'Wr�B�ɕE�ܩ�E�h�͢��F�xA)� +W�dQ��E]ޯ����Y���,�tϢ���/�������w�=�x�/�����o?���gy��z�}�xku����(E�ѹO_�~���zB�@r��h��+Z��B��B)�ɝ���R>��;5G�|D$wj�*���|��h���h��N��B)�ɝ���R>��;5G�\��j�J�=Z �1s�P�G�@n��h���h��N��B�������R=�r;5G�|D$wj�J�=Z �1s�Щ-�{��h���h��N��B�G�6f�J�����-trE _�1Z(��h�����B�������R>��;5G�\��j�J��H��-��-�ܩ9Z(�#Z �Ss���-�|��h���h��N��B)�ɝ���R>��;5G�\��j�J��H��-��-�ܩ9Z(�#Z �Ss���-�|��h���h��N��B)�ɝ���R>��;5G�\��j�J��H��-��-�ܩ9Z(�#Z �Ss�P�g���+5G�|D$wj�J��H��-��-�ܩ9Z��@�Ps�P�G�@r��h���h��N��B)�ɝ���N�h�5G�|D$wj�J��H��-��-�ܩ9Z��@�Ps�P�G�@r��h���h��N��B�G�6f�:��p/�-��-�ܩ)Z(�_�&�h��h��N��B'W������}�Hm�-��-�۩9Z(�#Z �Sc�йG��jg�h�T�h��N��B)�ɝ���}�Hm�-tjE�^�9Z(�#Z �Ss�P�G�@r��h���h��N��B'W���R>��;5G�|D$wj�J��H��-trE _�9Z(�#Z �Ss�P�G�@r��h���h��N��B%��B���-��-�ܩ9Z(�#Z �Ss�P�G�@r��h��+Z��B��B)�ɝ���R>��;5G�|D$wj�:���/�-��-�ܩ9Z(�#Z �Ss��^�/�����Ot{ݍ��ݟ�r���L��86���=Z�~������<>�����/_������o�ǽ�uye�|;�}����B�l�|��@������������ܧ/e}��r>��>~s��z���Q��������#q'��F�Sw��������O�ܩ����y�������$_�;���\���>N�ܩ;������>N�ܩ;���_��~?�r��||��tN�����$_�;���;���Q$wj�ԨR>>5��N͟U�ǧF�ܩ�S�:�>5 +�5jT)�Er��O�*��S�H����Q�||jɝ�?5���S�@�P�F���Q$wj�ԨR���N����+��S!���3��� +f'W� r�B���`�ܩ`vr� w*���!��� +f'W� r�B���`�ܩ`vr� w*��|�Y�Ps�ٹG� jcB�٩`�۩`vr� wj0+�̬v&��Z&�� +f'W� r����s���Ƅ��R��3�*��\&ȝ���=LP�N���N������3�j0;�0AmL0;�Lp;�N���N������3�*��\&ȝ +f'W� r�B���`�ܩ`V�`f�B����+��S!��� 0A�T0;�L�;�J>�,_�`vr� w*��\&ȝ f'W� r�B�Y�g����N���N����+��S!��� 0A�T0+�0�|�B���`�ܩ`vr� w*��\&ȝ -f%�f�/T0;�L�;�N���N����+��S!�l�f��T0;�L�;�N���N����+��S!���3��� -f'W� r�B���`�ܩ`vr� w*��|�Y�P!��� -0A�T0;�L�;�N���N������3�*��\&ȝ -f'W� r����s���Ƅ��R��3�*��\&ȝ�N}0A��f'V� j�B�Y�g���5��{��6&��Z&�� -f'W� r����r+��jgB�٩`�۩`vr� wj0;�0AmL0+�0�{�B���`�ܩ`vr� w*��\&ȝ +f#0�|�B���`�ܩ`vr� w*��\&ȝ f%�f�/T0;�L�;�N���N����+��S!���3��� -f'W� r�B���`�ܩ`vr� w*���!��� f'W� r�B���`�ܩ`vr� w*��|�Y�P!��� -0A�T0;�L�;�N���N������3�*��\&ȝ -f'W� r�B���6�����n�f���?��~19o?�A�9����rX�ʯ�ɿ�����_~���~�����~��C��_�� -�������7�W�}<�����d�3ϊ_�̳���g=���g�ܩ�gur�Y w*�Y�\yȝ +0A�T0;�L�;5��{��6&��z�ٽP!��� +0A��`v�{� ��D0;�LP;�J>�,_�9���#��1!��� +0��T0;�L�;5��[fV;�N���N����+��Ss�ٹG� jcB�Y�g����N���N����+��S!��� +0A�T0+�0�|�B���`�ܩ`vr� w*��\&ȝ +f%�f�/T0;�L�;�N���N����+��S!�l�f��T0;�L�;�N���N����+��S!���3��� +f'W� r�B���`�ܩ`vr� w*��|�Y�P!��� +0A�T0;�L�;��&\�0/�v�0��������y�a�ql���ZW~�O������~��_�%�������T���/^�y���������g'ÜyV��f����<���<�N�<��+��S!���ʳ@�Tȳ*�̳�|�B��ɕg�ܩ�gur�Y w*�Y�\yȝ yV%�yV�/Tȳ:��,�;�N�<�N�<��+��S!Ϫ�3��� -yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�P!���ʳ@�Tȳ:��,�;�N�<�N�<��?�YQ�R!���ʳ@�Tȳ:��,�;�N�<�N�<���<+�jγ:�ȳ@mLȳ:��,p;�N�<�N�yV�V���΄<�S+��S!���ʳ@�Ԝgu�g�ژ�gU�ge�B�<��+��Ss�չG�jcB�թ�g�۩�gU�ge�B�yV�y�� yV�V�n�B��ɕg�ܩ�gU�ge�B�<��+��S!���ʳ@�Tȳ:��,�;�J>�,_��gur�Y w*�Y�\yȝ +yV'W�r�B��ɕg�ܩ�gur�Y w*�Y��!ϊ� +yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�Ps�չG�jcB�թ�g�۩�gur�Y wjγ*��v&�Y�Zy�� +yV'W�r��<�s�<�Ƅ<�R�<+�*�Y�\yȝ���=�,P�N�<�N�<���<+�jγ:�ȳ@mLȳ:��,p;�N�<�N�<���<+�*�Y�\yȝ +yV'W�r�B��ɕg�ܩ�gU�ge�B�<��+��S!���ʳ@�Tȳ:��,�;�J>�,_��gur�Y w*�Y�\yȝ yV'W�r�B�U�g����N�<�N�<��+��S!���ʳ@�Tȳ*�̳�|�B��ɕg�ܩ�gur�Y w*�Y�\yȝ -yV%�yV�/Tȳ:��,�;�N�<�N�<��+��S!�j�yV��Tȳ:��,�;�N�<�N�<��+��S!Ϫ�3��� -yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�P!���ʳ@�Tȳ:��,�;�N�<�N�<���<+�*�Y�\yȝ -yV'W�r��<�s�<�Ƅ<�R�<+�*�Y�\yȝ�N}ϳ@��yV'V�j�B�U�g���5�Y�{�Y�6&�Y�Zy�� -yV'W�r��<�r+��jgB�թ�g�۩�gur�Y wjγ:�ȳ@mLȳ*�̳�{�B��ɕg�ܩ�gur�Y w*�Y�\yȝ +yV#ȳ�|�B��ɕg�ܩ�gur�Y w*�Y�\yȝ yV%�yV�/Tȳ:��,�;�N�<�N�<��+��S!Ϫ�3��� -yV'W�r�B��ɕg�ܩ�gur�Y w*�Y��!ϊ� -yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�P!���ʳ@�Tȳ:��,�;�N�<�N�<���<+�*�Y�\yȝ -yV'W�r�B���6ςy���<+\ђg�R�����r�\(��F��zϳ��G��ݯ�������_��;m�����G���(�vR��]/_~ /^�>]�����x8�?~���V�8M�#?�����;��4ʝ�#���[)��F�Sw���y��ɾ��O�ܩ;�8>,��Ϗ`�� -����� w*|c'�G0�ܩ���\�r��G0V���Y�P�#;�>��N��`���F�;>����#A�T��J>�,_���vr5� w*4��\�/ȝ +yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�P!���ʳ@�Tȳ:��,�;5�Y�{�Y�6&�Y�z�YٽP!���ʳ@�Ԙgu�{���Dȳ:��,P;�J>�,_�9���#��1!���ʳ��Tȳ:��,�;5�Y�[yVV;�N�<�N�<��+��Ss�չG�jcB�U�g����N�<�N�<��+��S!���ʳ@�Tȳ*�̳�|�B��ɕg�ܩ�gur�Y w*�Y�\yȝ +yV%�yV�/Tȳ:��,�;�N�<�N�<��+��S!�j�yV��Tȳ:��,�;�N�<�N�<��+��S!Ϫ�3��� +yV'W�r�B��ɕg�ܩ�gur�Y w*�Y�|�YY�P!���ʳ@�Tȳ:��,�;�P�y\�ȳ/(�Yኖ<��������By�86��{���?b��~���?��/���| �i��_^��<��| �GI��bm7�z��K�x�:���ח�������;�'���i�/���p=}�d���Q����p�H�J��4ʝ�#ߞ���O���~�N��,��a��|~c�/T��N��`�S�#;�>��N��`���F�;>���Ϗ`�� +����� w*|c'�G0�ܩ���\�r��G0V���f�B�Ʒ����S����j|A�Th|;�_�;�J>�,_���vr5� w*4��\�/ȝ �o'W�r�B�[�g���N���N�Ʒ����S����j|A�Th|+�l|�|�B������ܩ��vr5� w*4��\�/ȝ -�o%��o�/Th|;�_�;�N���N�Ʒ����S��m��o��Th|;�_�;�N���N�Ʒ����S��������=_P�N���N�Ʒ����Ss�[���f�3����j|��Th|;�_�;57��{4��6&4��z6�ٽP����j|A����v����ژ��vj5��v*4��|6�Y�Ps�۹G�jcB�۩���۩��vr5� w*4��|6�Y�P����j|A�Th|;�_�;�N���N�Ʒ���7�*4��\�/ȝ +�o#h|�|�B������ܩ��vr5� w*4��\�/ȝ +�o%��o�/���v����ژ��vj5��v*4��\�/ȝ��ʭ�7�� �o�V�n�B������ܩ���ܣ��1��Գ��� +�o'W�r��Ʒs���ƄƷS���S��������=_P�N���N�Ʒ����S������ +�o'W�r�B������ܩ��vr5� w*4��|6�Y�P����j|A�Th|;�_�;�N���N�Ʒ���7�*4��\�/ȝ �o'W�r�B������ܩ��V���f�B�Ʒ����S����j|A�Th|;�_�;�J>�,_���vr5� w*4��\�/ȝ -�o'W�r�B�[�g���N���N�Ʒ����S����j|A�Th|�C��+�N���N�Ʒ����S����j|A�Th|+�l|�|�B������ܩ��vr5� w*4��\�/ȝ -�o%��o�/Th|;�_�;�N���N�Ʒ����S������ -�o'W�r�B������ܩ���ܣ��1��Գ��� -�o'W�r��ƷS�_&B�ۉ���ک��V���f�B͍o��/�� �o�V�n�B������ܩ���j|�ڙ��vj5��v*4��\�/ȝ���=_P�J=��^���vr5� w*4��\�/ȝ +�o'W�r�B����(_���vr5� w*4��\�/ȝ �o'W�r�B�[�g���N���N�Ʒ����S����j|A�Th|+�l|�|�B������ܩ��vr5� w*4��\�/ȝ -�o#h|�|�B������ܩ��vr5� w*4��\�/ȝ -�o%��o�/Th|;�_�;�N���N�Ʒ����S������ -�o'W�r�B������ܩ����m|�F��xA����7\��������|���~j��{���_~��^^N?��ן~�������~��_���w���������}�����ُ�k���������^_��V�����?����_�V9~�i�7~>�������ov����Ն�v֫I��d�1ᥝʬwv�٘��Nc�/�D�3�u�ʬ�u�٘�Ne֫:�lLxQ�2�=�l6&��Ә�K:��LxE�2� �l6&��S��zN6^Ω�z7'�� o�4��bN4;^˩�z+'�� ��Tf����Ƅr*����fc��8�y���΄Wq*����fc�{8�Y��d�1�%�ʬwp�٘�Na~x'�&�~S���M6��z�&�� /�Tf�w��Ƅ�n�|�&�� ��Tf�q��Ƅ�m*�^��fc��6�Y��d�1�M��<_��fg�k6�Yo�d�1��ʬWl�٘��Me��5�lLx��1ϗk�ٙ�jMe֛5�lLx��2뵚l6f~���wj��3ިi��(v&�NS��6M63�KSy��d�'�HSY�M�ޢi��%�hvf~���7h��3ޟ��z}&�� /�Tf�;����o�4b�8�F��f*�ޚ�bc�;3�Y��d�1�3�x�/�����L�/�D�3�U�ʬ7e�٘�Le�k2�lLxI�2��l6&�!Ә�2��Lx=�2��l6&�S��jL6^���z/&�� o�4��RL4;^���z#&�� ��Tf���Ƅ�a*�ޅ�fc0���E�d^��Le�[0�lLx�2��l6&��S���K6�~i���hv&��R���K6�{��z�%�� /�Tf���Ƅ7^�|�%�� ��Tf���Ƅw]*�^u�fc.�oW�����<\����[.����{���/�K.�O[�˗�B����������1�����e�����˿��oz��?�x����|��������?��gK������=\�:k��n��7k�u�����9���ń�'��A�T�����Sa�����,_�0���5�r���p'��0ȝ -��\� w*�W�9����;��A�T�����Sa���k��N��J>��|���p'��0ȝ -��\� w*�wr ��ܩ0�����|���p'��0ȝ -��\� w*�wr ��ܩ0�\���p�/�<�ܹ��0�� ��Z��v*�wr ��ܩy��rk�8�� ��Z��v*�wr ��ܩy��s�`P�+���� -��\� wj���c��Ƅ�N�`p;�+�����;���1a��Sk��N��N�`�;�+���� -��\ȝ -!Q'WIr�BK���ܩ�U��e�B����+)�S!*�䪊@�T�:��"�;ҢJ>ۢ,_�Pur�E w*F�\�ȝ -�Q'Wdr�BfT�gg��J�N���N�ب��6�S�7�� -�@�TH�*�l��|�Bu�ɕ�ܩur�G w*�G�\�ȝ -�Q#菢|�B��ɕ �ܩ!urUH w*tH�\!ȝ -)R%�-R�/T��:�r$�;��N�" �N�&��+J�S!K��K�� -eR'W�r�B���U'�ܩ�'urJ w*$J�|6JY�P�R��ʔ@�T�:�J%�;5�J�{�J�6&�J�z�JٽP�X��J�@��-u�{���D�:��%P;ҥJ>ۥ,_��^��#_�1!`��*���Th�:�"&�;5gL�[SV;J�N�� �N�����f�Ss�ԹG�jcB�T�gӔ���N�� �N�����l�S�m�䊛@�Tț*�웲|�B��ɕ8�ܩ9urUN w*tN�\�ȝ -�S%��S�/T��:�r'�;��N�� �N�橓+z�S!{j��S��T(�:��'�;�N�� �N����+��S!��䳁�� -T'Wr�B��UB�ܩ�Bur�P w*�P�|�PY�P����J�@�T��:��(�;����a\�(�/(�Qኖ6�ڨ�m����m�8���z��Q��Ͽ}����?���o;�����~��W��_����q��_�/���w��o��/]���|�� ��>i�^��'w�����+}��(x�"CQ��RQ����N����N�����(��S�(��* -@�T( -�CQ�+��N����N�����(��S�(��* +�o%��o�/Th|;�_�;�N���N͍o��/�� �o���ov/Th|;�_�;56�������3�N���N�Ʒ���7�jn|;�h|AmLh|;�_p;�N���N͍o�V��΄ƷS���S����j|A����v����ژ��V���f�B�Ʒ����S����j|A�Th|;�_�;�J>�,_���vr5� w*4��\�/ȝ +�o'W�r�B�[�g���N���N�Ʒ����S����j|A�Th|�C��+�N���N�Ʒ����S����j|A�Th|+�l|�|�B������ܩ��vr5� w*4��\�/ȝ +�o%��o�/Th|;�_�;�N���N��7��m�4�����7�����`�\��3%��S����?������r��o����_�������_����헯�������?�v��~�X������o~���������~��o���������Oc�y���������g|xs'}��ŝ��6���^Mzm'�� /�Tf����Ƅ7v�|a'�� ��Tf����Ƅwu*�^��fc:�Y��d�1�-��<_҉fg�+:�Yo�d�1���ʬ�s�٘�rNeֻ9�lLx3�1�s�ٙ�ZNe�[9�lLx'�2땜l6&��S��>N6��i��e�hv&��S��&N6�é�z '�� /�Tf����Ƅ7p +��8ɼ0���ʬ�o�٘��Me֫7�lLx�2뽛l6&�uӘ�K7��Lx�2덛l6&�oS���M6^���z�&�� o�4���M4;^���z�&�� ��Tf�b��Ƅl*�ޯ�fc��5�y�\�΄Wk*�ެ�fc�{5�Y��d�1�K5�x�S�����FM�/�D�3�u�ʬ�i�٘�]��{�&[?��E�ʪ�h�ט�Mc�/�D�3�+4�x�A������L���3YlLxy�2�ݙl6f~s��ř�5"�6Sy��Lޙ��ze&���_����}���L��e�|Y&�� ��Tf�)��Ƅ�d*�^��fc�K2�Y��d�1� ��<_��fg��1�Yo�d�1�ݘʬWc�٘�bLe�{1�lLx+�1ϗb�ٙ�JLe�1�lLx�2�u�l6&�S��.L6ބ)�/�$��`*�ނ�fc�;0�Y��d�1��ʬ�_�٘��Kc�/�D�3�ʬ7_�٘��Ke�k/�lLx�2띗l6&��Ҙ�/��Lxݥ2�m�l6&��R���K6^t���}�%_�x���jn���\�/���*Η�_&��\�����/߅>�������c:��%��x��o����������N�����?~��ߏ��oϖ�����{��u�~���eo����;}-s��� �O.( ��ܩ0���5�r���p%��Y�Pa���k��N��N�`�;�;��A�T���s�8�*�wr ��ܩ0���5�r���p'��0ȝ +��|�g�B��N�`�;�;��A�T�����Sa���?�G�J��N�`�;�;��A�T�����Sa�����,_�y��s�`P�;����T�����S��p���pV;�;����T�����S��p���6&�W�9����;��A��<�ܹ��0�� ��Z��v*�W�9���5�w�1�jc��p���0�� +��\� w*�W�9����;�2"�;B�N���N����+&�S!'��'�� +EQ'WRr�BT��U�ܩ�ur�E w*�E�|�EY�P�.��ʋ@�T�:� +#�;�N���N�̨���(�*�F�\�ȝ +�Q'Wmr�Bo���ܩ�U��e�B�ꨓ+;�S!<��*�@�Th�:��#�;�F��E�J���+A�S!B�䪐@�T�:�B$�;R�J>[�,_�P#ur�H w*I�\Eȝ +MR'W�r�B�T�g���ʤN�4 �N�8���N�S�O�� +�@�TH�*�l��|�B��ɕ)�ܩ*ur�J wjn�:���@mLȕ*�앲{�B��ɕ,�ܩ1Z���j ğ��-ub�K�v*�K�|�KY�Ps�ԹG�jcB�ԩU0�۩�0urEL wjΘ*�:��v&�L�Z)�� +1S'W�r�枩s�� �Ƅ��RϦ)�*TM�\Yȝ +aS'W�r�B���7�ܩ�7U��7e�B�©�+q�S!r�䪜@�T�:�B'�;R�J>[�,_�P;ur�N w*O�\�ȝ +�S'W�r�B�����(_�P>ur�O w*�O�\�ȝ +�S'W�r�BU�g��*�N� +�N������S���䊡@�Tȡ*�졲|�B�ɕD�ܩEurUQ w*tQ!�i�(��QF=^PJ��-m�+�Q������ڨq�k�zo��ǟ��w��o����v���O��������O��������w���_����n/����_����������|�L�l?O�4S_K�W�gQ��E������ �*�\Eȝ +EA'WQ�r�BQ��U�ܩP4� �W*�\Eȝ +EA'WQ�r�BQ��U�ܩPT�Yd�B�EA�E�� EA�VQ�n�BQ��U�ܩ�(��* +�ڙPtj�v*�\Eȝ����=�P��J=���^�Ptr wj. +:�( +@mL( +:��p;��J>��,_��(�ܣ(��1�(��* +��T( +:���;��J>��,_�Ptr w*�\Eȝ +EA'WQ�r�BQP�gQ����N����N�����(��S�(��* @�T( *�, -�|�梠s����Ƅ��S�(��S�(��* -@��\TnY�L( -:��p;��N����N�EA�E�� EA��EAv/T( -:���;5�{�6&�ZE�� -EA%�EA�/�\t�Q�ژPtj�v*�\Eȝ +�|�BQ��U�ܩPtr w*�\Eȝ EA%�EA�/T( :���;��N����N�����(��S�(��(�� +EA'WQ�r�BQ��U�ܩPtr w*���(�� EA'WQ�r�BQ��U�ܩPtr w*�|Y�P�(��* @�T( :���;��N����N����Ϣ �*�\Eȝ EA'WQ�r�BQ��U�ܩPT�Yd�B�����(��S�(��* +@��\t�Q�ژPT�Yd�B�����(��ScQЩ�E�?�(��* +@�T( +*�, +�|�梠s����Ƅ��S�(��S�(��* +@��\TnY�L( +:��p;��N����N�EA�E�� EA��EAv/T( +:���;��N����N�����(��S�(��(�� +EA'WQ�r�BQ��U�ܩPtr w*�|Y�P�(��* @�T( -:���;��F�PD�J�����(��S�(��* -@�T( -:���;��J>��,_�Ptr w*�\Eȝ -EA'WQ�r�BQP�gQ����N����N�����(��S�(��* +:���;��N����N����?Q�R�(��* @�T( -*�, -�|�BQ��U�ܩPtr wj. -:�( -@mL( -*�, -�{�BQ��U�ܩ�(�����ğ�Ptb�v*�|Y�PsQйGQ�jcBQЩU�۩Ptr wj. -*����v&�ZE�� -EA'WQ�r�梠s����Ƅ��RϢ �*�\Eȝ +:���;��N����N����Ϣ �*�\Eȝ EA'WQ�r�BQ��U�ܩPT�Yd�B�����(��S�(��* @�T( -:���;��J>��,_�Ptr w*�\Eȝ -EA'WQ�r�BQ����(_�Ptr w*�\Eȝ -EA'WQ�r�BQP�gQ����N����N�����(��S�(��* -@�T( -*�, -�|�BQ��U�ܩPtr w*���(�E�������pE�����I>^����>_N�?m��xx�������qe��y���t�����h�.�������_����������/_�������}�x���������i*��ӗobNjչO�{X/�z�?���=��O�ܩ;�����rl���(w�s�����J�8M�#?n��K+��F�Sw��������q�Nݑ��뵾���(w�s��?���[{��i�/���t.�����(w�|{:��8w��i�;uG�=��{}��Q������tN/�m�I�Pw���9���}�F�Sw���y9��}�F�Sw���ǯ�:��è6�s��q��������^�;��������q�Nݑo�ع�Qm���d^/�=��F�S�gv/����kr+M���J{nTa�� u7�&&B�e��nX�T7cXd ɒ���>�<�~���y���ά�$5����yx��Ή\O��R7��G�rT��_F�17��'s<_R��4���!_>��%~�קQ���������?B��I�� �iw~���x�Nݐ�w��S����Q�� ��wY�[��Y�%����e����iR�|�\·� O�ܩ��sy|��͙|}�Nݐ/���1~�קQ�������N��>�&y�nȗO�xJ���4ʝ�!_>���L�>�r�nȗOg�xL���(w�}��a�zL���4�uC~�=^���>�F�S7����rI���4ʝ�!��ϗ�m_�F�S���O����'=M�Bݐ/��C�7(z�Nݐ/���)}���(w�|�tN��m_�F�S7~@y�t���mO��P7���3��4ʝ -�[����� w*�nu&��V�ܩ�Ց|�nu//T���L�߭�S�w�3�~��N�߭����j�;~�:��߭�� -�[����� w*�nu&��V�ܩ�ՙ\�[ r�Be*���T//T�LerU�@�T�LerU�@�T�LerU�@�T�L%��T+�T�LerU�@�T�LerU�@�T�LerU�@�T�LE�Y����W�2��L�ژP��ԪL�۩P���L�ܩ}e*r�2ի� ��L���� -��L��ȝ�W�2��L�ژP��Գ2ջ*S�\�)�;��Le�Q��1�2��U��S�2�ge��j_��ܣ2jcBe*S�2n�Be*��2r�Be*���T//T�LerU�@�T�LerU�@�T�LerU�@�T�LE�Y��� -��L��ȝ -��L��ȝ +�+�mQ�4���z�/ +�m��n�'�x!k�w�|9=���������/��Ǖm?��+��ҡ�����x�|��o��������/�|� +좏�����U��z���ާ�|�O_��/V�>]�a����r���'�D~?�r���o���˱��O�ܩ��_>��r+��4���|��^/��~�Nݑ_�k{��i�;uG~;ܮ����O�ܩ�����ϯo�m�I�Pw��ӹ���>N�ܩ;���?�����Q����tN��m��F�S��o��9���}�&�BݑoO�����q�NݑoO�����q�Nݑ�o����_�ژ����ퟞ�{>N�{���χ��s{��i�;uG��b�Z��F�1w�ۓy����~�N}�ٽ���ޮɭ4���+��QU���G&��ݨۚ�ɖ-�W�a�Ra�5$Kr���$��E��Y���[:� +�Ԭ³�����;'r= �Jݐ/��Qy�~}���0/���|I����v�|�h��=_�F�S���G��1&�37̧���~��it;uC~��O�{>�F�S7���e�o��gQ��x_{<��}����I]���s9�7|<�r�nȗ����7g��i�;uC�|6��m_�F�S��O˧s:�o�x�䅺!_>��)}���(w�|�t��2��4ʝ�!_>���1��O�ܩ������1}���$/� �i�x=�o�x�Nݐ�w��%}���(w���{<_�}}�N�/\>��k�Ϟ�4�uC�|:�ߠ�i�;uC�|:���mO�ܩ���9��}}�N�����9ҷ}<M�Bݐ�_�����(w*�nu&��V�ܩ�ՙ\�[ r���VG���ս�P�w�3�~��N�߭����j�;~�:��w�A�T���H>���*�nu&��V�ܩ�ՙ\�[ r���Vgr�n5ȝ +��H>+S��P�2��U��S�2��U��S�2��U��S�2��o*S��R�2��U��S�2��U��S�2��U��S�2�ge��j_��ܣ2jcBe*S�2n�Be*��2r����ȭ�T�v&T�2�*S�v*T�2�*S wj_��ܣ2jcBe*R��T�.T�LerU�@�Ծ2��Ge +�Ƅ�T�Ve +�N��T$���^^�}e*s���� ��L���� ��L��ȝ ��H>+S��P�2��U��S�2��U��S�2��U��S�2�ge��*T�2�*S w*T�2�*S w*T�2�*S w*T�"��L��B��T&We �N��T&We �N��T&We -�N��T"��L��J��T&We -�N��T&We -�N��T&We -�N��T$���^^�P���L�ܩP���L�ܩP���L�ܩP���2��*S�\�)�;*S�\�)�;*S�\�)�;*S�|V�zy�Be*��2r�Be*��2r�����=*S�6&T�"��L��B��T&We -�Nm+S�z�L��-*S�X�)P;*S�|V�zy�����=*S�6&T�2�*S�v*T�2�*S wj_��ܪL�jgBe*S�2n�Be*��2r�����=*S�6&T�"��L��B��T&We -�N��T&We -�N��T&We -�N��T$���^^�P���L�ܩP���L�ܩP���L�ܩP���2��*S�\�)�;*S�\�)�;*S�\�)�;*S���2��+*S�\�)�;*S�\�)�;*S�\�)�;*S�|V�zy�Be*��2r�Be*��2r�Be*��2r�Be*���T//T�LerU�@�T�LerU�@�T�L�y��2/hT�n_��i�2ռ��߭�^��߭>-�xZ�����j=�ڙ:��������˻�������?���_~c�VT�����6*Sj���UϽy�� �{/�i���P�K( �;�o����`!�S�K�^,�6f�`��j���P�K( �;�m����Bjc� �P=,�vj�`�����+�m����Bjc� �P=,�vj�` ��Br�� ��=,�vf�` գ�Bn�� �P>,$wj�` կ �%� �L���o����`!�S�K( �;�o����`!�S�K&W���7XB�h��ܩ}�%��ɝ�7XB�h��ܩ}�%����B�,�|4XH�Ծ��G���N�,�|4XH�Ծ����`y�� �P>,$wj�` ��Br�� �P>,$wj�`��j���P�K( �;�o����`!�S�K( �;�o�dr5X@^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�` ��Br�� �H>,��R�K( �;�o����`!�S�K( �;�o�dr5X@^�m�%t� R�o����`!�S�K( �;�m�d��`�3�K� r;�o����`!�S�K�^,�6f�`��j���P�K( �;�m����Bjc� �P=,�vj�`��j���P�K�^,�6f�` գ�Bn�� �P>,$wj�`��j���P�K( �;�o����`!�S�K( �;�o�dr5X@^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�` ��Br�� �L���o����`!�S�K( �;�o����`!�S�K$� �^^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�` ��Br�� �L���o����`!�S�K( �;�m����Bjc� �L���o����`!�S�K�~m���-�o����`!�S�K&W���6XB��`!�1�K� r;�o����`!�S�K� P;�o����`!�S�K( �;�m����Bjc� �L���o����`!�S�K( �;�o����`!�S�K&W���7XB�h��ܩ}�%��ɝ�7XB�h��ܩ}�%����B�,�|4XH�Ծ��G���N�,�|4XH�Ծ��g���Wj�` ��Br�� �P>,$wj�` ��Br�� �L���o����`!�S�K( �;�o����`!�S�K&W���7XB�h��ܩ}�%��ɝ�7X�xH�`��>��5 ���6X���7X.��uWh���^,ǵ����y�����������������?~<<����������~��m>��ӟ^���������Ǐ�^�ݯ������!^v���w�7/����S/��<Nl��u�x���'�y9�qb�.T8N��:N�S����=�AmL8N��:N�S�81����^^��qb�lj�6&'fj'�۩p���u�r��qb$�lj��P�81��8�N���L��D�;�3��A�T8N���8��*'fr'�ܩp���u�r��qb&�q"ȝ +�N��T$���^^�P���L�ܩP���L�ܩP���L�ܩP���2��*S�\�)�;*S�\�)�;*S�\�)�;*S���2��+*S�\�)�;*S�\�)�;*S�\�)�;*S�|V�zy�Be*��2r�Be*��2r�Be*��2r�Be*���T//T�LerU�@�T�LerU�@�T�LerU�@�T�LE�Y��� +��L��ȝ +��L��ȝ�W�2��L�ژP��Գ2ջ*S�\�)�;��Le�2�D�LebU�@�T�LE�Y����W�2��L�ژP��ԪL�۩P���L�ܩ}e*r�2ի� ��L���� +��L��ȝ�W�2��L�ژP��Գ2ջ*S�\�)�;*S�\�)�;*S�\�)�;*S�|V�zy�Be*��2r�Be*��2r�Be*��2r�Be*���T//T�LerU�@�T�LerU�@�T�LerU�@�T�L%��T+�T�LerU�@�T�LerU�@�T�LerU�@�T�LE�Y��� +��L��ȝ +��L��ȝ +��L��ȝ +��H>+S��P�2��U��S�2��U��S�2�摲���Q��}AO���T�n��{e +~�����i����w���kg갖�����/�>������|x�|������[Q}/��بL��ҿV=���n7X���B�,�|4XH�Ծ��G���Nm,�{m��ژ}�%S���B�,�|4XH�Զ������7XB�h��۩}�%��K/�Զ������7XB�h��۩}�%��ɝ�6X2�h��ڙ}�%T����7XB�h��ܩ]�%T�6XH���7X2�,�.Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�` ��Br�� �L���o����`!�S�K( �;�o����`!�S�K&W���7XB�h��ܩ}�%��ɝ�7XB�h��ܩ}�%����B�,�|4XH�Ծ��G���N�,�|4XH�Ծ����`y�� �P>,$wj�` ��Br�� �P>,$wj�`��j���P�K( �;�o����`!�S�K( �;�o�dr5X@^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X"�l���J�,�|4XH�Ծ��G���N�,�|4XH�Ծ����`y�� �н6XHm̾��G���N�,�|4XH�Զ���G����,�z4X��Ծ��G���Nm,�{m��ژ}�%S���B�,�|4XH�Զ������7XB�h��۩}�%����Bm,�{m��ژ}�%T����7XB�h��ܩ}�%����B�,�|4XH�Ծ��G���N�,�|4XH�Ծ����`y�� �P>,$wj�` ��Br�� �P>,$wj�`��j���P�K( �;�o����`!�S�K( �;�o�dr5X@^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Ծ��G���N�,�|6Xzy�� �P>,$wj�` ��Br�� �P>,$wj�`��j���P�K( �;�o����`!�S�K( �;�o�dr5X@^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Զ������7X2�,�.Ծ��G���N�,����B�ľ��G���N�,�\ �j�` �k�����,�z4X��Ծ��G���Nm,�{4X@�̾��G���N�,�|4XH�Զ������7X2�,�.Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�` ��Br�� �L���o����`!�S�K( �;�o����`!�S�K$� �^^�}�%��ɝ�7XB�h��ܩ}�%��ɝ�7X2�, /Ծ��G���N�,�|4XH�Ծ��G���N�,�\ �j�` ��Br�� �P>,$wj�`��!Q��^��ܛ�4X�Wt�`Y�qv�`�<�?�]��2�zm������絿����_���O������������������������Oz�7�۟��?�{�w������z�x��//�yh�K;,L�<n|$�8����q��_vs�x��tlj��P�81��8�N�3�8N�1�81S�8�N���H>�{y��lj�{'�ژp���u�n��qb&�q"ȝ lj�|'��B���L��D�;�3��A�T8N��:N�S�81����^^�p���u�r��qb&�q"ȝ -lj�\lj w*'F�y����3��A�T8N��:N�S�81��8�N���D~s���+�3��A�T8N��:N�S�81��8�N���H>�{y��qb&�q"ȝ -lj�\lj w*'fr'�ܩp���qb//T8N��:N�S�81��8�N���L��D�;�#�<N�� -lj�\lj w*'fr'�ܩ�qb�lj�6&'F�y�ػ�3��A���81S�lj ~K���L��DP;�#�<N���'f�q�jc�qb��q"�� -lj�\lj wj��u�ث� lj�Zlj�v*'fr'�ܩ�qb�lj�6&'F�y�ػ�3��A�T8N��:N�S�81��8�N���H>�{y��qb&�q"ȝ +lj�\lj w*'F�y����3��A�T8N��:N�S�81��8�N���H>�{y��qb&�q"ȝ lj�\lj w*'fr'�ܩp���qb//T8N��:N�S�81��8�N���L��D�;���qb+�T8N��:N�S�81��8�N���L��D�;�#�<N�� -lj�\lj w*'fr'�ܩp���u�r��qb$�lj��P�81��8�N���L��D�;��K��8^�8N�}A�qb���������8NO�'������^~����Ǐ�?������?�����������~<�����_��������";?|����o���=�������������~�u�����������x������͏��?�-�^��r������n� ϖ���p���o�Wj������;�|�t�u�+�ܩ�R&��J w*|����J��P�{�L��@�T�^)��{%�;�W���^ �N��"��^��*|�����ȝ -�+er}�r���J�\�+�ܩ�R$��+��B��2��W�S�{�L��@���{��=�W�1�{�H=�W�݅ -�+er}�r���+e��{%�%��J�X�+�ک�R$��+��B��W���{%P�W���^ �N��2��W�S��"��W��΄�2��W�S�{�L��@���{��=�W�1�{�H=�W�݅ -�+er}�r���J�\�+�ܩ�R&��J w*|����J��P�{�L��@�T�^)��{%�;�W���^ �N��"��^��*|�����ȝ -�+er}�r���J�\�+�ܩ�R"��^��W*|�����ȝ +lj�\lj w*'fr'�ܩp���u�r��qb$�lj��P�81��8�N���L��D�;�3��A�T8N���8��*'fr'�ܩp���u�r��lj�{'�ژp���qb�.T8N��:N�S���L�'��-�3��A�T8N���8��j����q"�� lj�Zlj�v*'fr'�ܩ�qb��qb�v&'fj'�۩p���u�r��lj�{'�ژp���qb�.T8N��:N�S�81��8�N���L��D�;�#�<N�� +lj�\lj w*'fr'�ܩp���u�r��qb$�lj��P�81��8�N���L��D�;�3��A�T8NL�7lj��R�81��8�N���L��D�;�3��A�T8N���8��*'fr'�ܩp���u�r��qb&�q"ȝ +lj�|'��B���L��D�;�3��A�T8Nl.���DxA�8��ulj�+������?�8q<�z�xZ���zu���w?>���o���~���t�/��������o~����o/q�����ﮋ�������������4���~~�?�>���ݯ_�ږ�x8^O���>��^?~��7?>>�ැz��˽/�������y7�=[����q㳾�^�}C��J��h�ҝ�}�r���J�\�+�ܩ�R$��+��B��2��W�S�{�L��@�T�^)��{%�;�W���{�^^��R&��J w*|�����ȝ +�+er}�r���J�|~����W���^ �N��2��W�S��2��^ �Ƅ�"��^�w*|�����ȝ�~�����@���+eb}�j���J�|~�����^)s��@mL�^)S�{%p;�W���^ �N��W���^�W;�W���^ �N��2��W�S��2��^ �Ƅ�"��^�w*|�����ȝ �+er}�r���J�\�+�ܩ�R$��+��B��2��W�S�{�L��@�T�^)��{%�;�W���{�^^��R&��J w*|�����ȝ -�+5�5��+��+ݾ��{�����{�����i��+��^�WzX�W��������_~���O��w?���_�<����Z�����}x�Ω�����g�����Ԃ��������v�1t�������;/���m�;~t;����� -?������ w*��v&n�ܩ�ۙ\?� r�nG���۽�P�G�3�~t�N������m�;~t;��G�A�T���H>t��*��v&n�ܩ�ۙ\?� r�ngr��6ȝ +�+er}�r���J���{�V^��R&��J w*|�����ȝ +�+er}�r���J�|~����W���^ �N��2��W�S�{�L��@�T�^)���zy���J�\�+�ܩ�R&��J w*|��|א~�/h|�t���WT�Wz���v���|�4�z�^�a�^��ǿ�����?=������.~����/k��<�x���;���˟�^>��WP�����{���_����ۿ��G�@�G�A�T���H>t��*��v&n�ܩ�ۙ\?� r�ngr��6ȝ ?���n��B������m�;~t;��G�A�T���L���S�G�#����^^��ۙ\?� r�ngr��6ȝ -?������ w*��v"����V^��ۙ\?� r�ngr��6ȝ -?������ w*��v$�?��������=~t�Ƅ�����mp;~t;��G�A���G�#�~t�W;~t;S�G���T���L���S���ܣk jcB�2RϮe�.T�Zfru-A�Ծk��G��Ƅ�e�V��N��e$�]�^^�}�2s��%�� ]�L��%�� -]�L��%ȝ -]�H>����P�k��յ�S�k��յ�S�k��յ�S�k�gײ�*t-3��� w*t-3��� w*t-3��� w*t-#��Z��B��e&W��N��e&W��N��e&W��N��e$�]�^^�е���Z�ܩе���Z�ܩе���Z�ܩе��k�����\]K�;���\]K�;���\]K�;�����k��+���\�C�;���\�C�;���\�C�;���|�{y���0�kr���0�kr���0�kr���0���a//T�fr�A�T�fr�A�T�fr�A�T�F�?�� +?������ w*��v$�?���~t;��G�A�T���L���S�G�3�~t�N�ݎ��G�{y�ngr��6ȝ +?������ w*��v&n�ܩ�ۉ��G�[y�ngr��6ȝ +?������ w*��v&n�ܩ�ۑ|��v//��G�3���mP~t;S�G���T���L���S�ݎ����^�L���L���S�G�3�~t�N�t;s��%�� ]�H=����P�k��յ�S��e�]KP���Z]Kp;���|v-{y��]��=���6&t-3����v*t-3��� w*t-#��Z��B��e&W��N��e&W��N��e&W��N��e$�]�^^�е���Z�ܩе���Z�ܩе���Z�ܩе��k�����\]K�;���\]K�;���\]K�;���|v-{y�B�2��k r�B�2��k r�B�2��k r�B�2�Ϯe//T�Zfru-A�T�Zfru-A�T�Zfru-A�T�Z&�e+�T�Zfr�A�T�fr�A�T�fr�A�T�F�?�� ��L��!ȝ -��L��!ȝ��3���ژ�?��sػ���\�C�;��f�u�D�fb�A�T�F�?����3���ژ�?����۩�?����ܩ��0rkث� ��L��!�� -��L��!ȝ��3���ژ�?��sػ���\�C�;���\�C�;���\�C�;���|�{y���0�kr���0�kr���0�kr���0���a//T�fr�A�T�fr�A�T�fr�A�T�&��a+�T�fr�A�T�fr�A�T�fr�A�T�F�?�� ��L��!ȝ ��L��!ȝ +��H>����Pa�ɵ?�Sa�ɵ?�Sa�ɵ?�Sa�����*�3��� w*�3��� wj�?��cjc��0R��a�.T�fr�A��v����!��a���?�Sa�����j�?��cjc��0Skn���0�kr����ȭ�a�v&�3����v*�3��� wj�?��cjc��0R��a�.T�fr�A�T�fr�A�T�fr�A�T�F�?�� ��L��!ȝ -��H>����Pa�ɵ?�Sa�ɵ?�Sa�����!���?�}AO������]��yw8==��p<��?|\����}R5������������Ǐ���}���_?���_��oϿ=/��C�=�N��q7���×�����/c.o�:���-A�TX F�@�� -�L�"ȝ -�L�"ȝ -�L�"ȝ -�H>���Pa��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa�����*,3�� w*,3�� w*,3�� w*,#�\ ��B�b&��N�b&��N�b&��N�b$��^^��@��Z �ܩ�@��Z �ܩ�@��Z �ܩ�@L�7�V^��@��Z �ܩ�@��Z �ܩ�@��Z �ܩ�@��s����_ f�@�1a����@�Sa��ɵ@�S�b���W;��ZDp;��\D�;�_ f�@�1a����w*,3�� wj�@��c�jc�1Sk�n��1��b//�~�����Ƅb���N�b&��N�b$��^^��@��Z �ܩ�@��Z �ܩ�@��Z �ܩ�@��s�����\D�;��\D�;��\D�;��|.{y��1�k�r��1�k�r��1�k�r��1��b//TX fr-A�TX fr-A�TX fr-A�TX F�@�� -�L�"ȝ +��L��!ȝ +��L��!ȝ +��H>����Pa�ɵ?�Sa�ɵ?�Sa�ɵ?�Sa��o����Ra�ɵ?�Sa�ɵ?�Sa�ɵ?�Sa�����*�3��� w*�3��� w*�3��� w*�#����B��a&���N��a&���N��a��K��������=����+�������pzz���x�u���߿��j��?���˿�������?������~�������ߞ{^��:�{ܝ���n^C}�/����_�\ ��u4�;/�[ �ܩ�@��s�����\D�;��\D�;��\D�;��|.{y��1�k�r��1�k�r��1�k�r��1��b//TX fr-A�TX fr-A�TX fr-A�TX F�@�� �L�"ȝ �L�"ȝ -�D~�@l� �L�"ȝ +�H>���Pa��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa���o���Ra��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa�����j�@��c�jc�1Sk�n��1�k�r���ȭb�v&,3���v*,3�� wj�@��c�jc�1R�b�.TX fr-A��~�����Ƅb���N�b$��^^��1s�"�� �L�"�� �L�"ȝ +�H>���Pa��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa�����*,3�� w*,3�� w*,3�� w*,#�\ ��B�b&��N�b&��N�b&��N�b$��^^��@��Z �ܩ�@��Z �ܩ�@��Z �ܩ�@��s�����\D�;��\D�;��\D�;���f���+��\D�;��\D�;��\D�;��|.{y��1�k�r��1�k�r��1�k�r��1��b//TX fr-A�TX fr-A�TX fr-A�TX F�@�� �L�"ȝ -�H>���Pa��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa�����*,3�� w*,3�� w*,3�� w*,#�\ ��B�b&��N�b&��N���{,AmLX F�@�݅ -�L�"ȝ�.3��@�[",3���v*,#�\ ��B���{,AmLX fj-��TX fr-A��~���@��΄b���N�b&��N���{,AmLX F�@�݅ +�L�"ȝ�/3�X �ژ�@��s�ػ��\D�;�] f�u��DX fb-A�TX F�@���/3�X �ژ�@��Z �۩�@��Z �ܩ�1rk�ث� �L�"�� +�L�"ȝ�/3�X �ژ�@��s�ػ��\D�;��\D�;��\D�;��|.{y��1�k�r��1�k�r��1�k�r��1��b//TX fr-A�TX fr-A�TX fr-A�TX &�b+�TX fr-A�TX fr-A�TX fr-A�TX F�@�� �L�"ȝ �L�"ȝ �L�"ȝ -�H>���Pa��ɵ@�Sa��ɵ@�Sa��ɵ@�Sa�����*,3�� w*,3�� w*,3�� w*,����W*,3�� w*,3�� w*,3�� w*,#�\ ��B�b&��N�b&��N�b&��N�b$��^^��@��Z �ܩ�@��Z �ܩ�@l�q�^�X �n�ؼ��z�x<-�Y���x�u�x^����xx����_~���_^�K����ϟ�~{���������OZ����?���o�_��/�?��çz[���5�|�x�2�p}��6>��c���t;���6��w^Pw�r�±s$��ν�P�c��=��AmL8v��:v�S��9����N폝#���{�3��9S���N�c�L�cg�;�?v�����Ƅc�H=��{w�±s&ױ3ȝ�;g�q�jc±s�ֱ3�� -�Α|;��B폝3�8v�1��9S���N�c�L�cg�;��#�<v�� -�Ι\�� w*;gr;�ܩp��u�r�±s$��ν�P��9����N�c�L�cg�;��3���A�T8v���ع�*;gr;�ܩp��u�r�±s&ױ3ȝ -�Α|;��B�c�L�cg�;��3���A�T8v��:v�S��9��c�^^�p��u�r�±s&ױ3ȝ -�Ι\�� w*;'�c�V^�p��u�r�±s&ױ3ȝ +�H>���Pa��ɵ@�Sa��ɵ@�Sa����"���@�}A��yE��xZ�t��5������.������������翼��>|]��?}���ӷ���������*��/�~���>���_�?~�ӇO���a�kx����e���t=m|7���_�<v��Km��@���N�c�H>��{y���Ι{;�ژp윩u�n�±s&ױ3ȝ�;Gn;�jg±s�ֱ3�� +�Ι\�� wj윹DZ3�� �Αz;��B�c�L�cg�;�?v�����Ƅc�L�cgp;��#�<v���;g�q�jc±s�ֱ3�� �Ι\�� w*;G�y�����3���A�T8v��:v�S��9����N�c�H>��{y�±s&ױ3ȝ -�Ι\�� w*;gr;�ܩp���s//T8v��:v�S��9����N폝3�8v�1��9R�c��]�p��u�r���Ιz=v�[";gb;�کp���s//���9s�cgP��3�����T8v��:v�S�c�ȭc�^�L8v��:v�S��9����N폝3�8v�1��9R�c��]�p��u�r�±s&ױ3ȝ -�Ι\�� w*;G�y�����3���A�T8v��:v�S��9����N�c�H>��{y�±s&ױ3ȝ -�Ι\�� w*;gr;�ܩp��o��[y�±s&ױ3ȝ �Ι\�� w*;gr;�ܩp���s//T8v��:v�S��9����N�c�L�cg�;��#�<v�� -�Ι\�� w*;gr;�ܩp����f����Ʊ��ꎝ�WT�������Y�?vO�;_��[������˳燗gO˳痣㗇>|����ݽ�Ӈ�'��ؽ$���������x����n��?~����|�w������>>]������ÿ���q2���z:�������?�;�:?=����y_�����u7=Ϯ�7m�]ݾk��՝ԝ]�ܩpv���U//T8���:��S��*��� -�N���L��+�;ή"�<��� -gW�\gW w*�]er�]�ܩpv��uvr���U$�gW��P��*��� -�N���L��+�;ή2�ή@�T8����쪗*�]er�]�ܩpv��uvr���U&��ȝ -gW�|�]��B���L��+�;ή2�ή@�T8���:��S��*�ߜ]��J���L��+�;ή2�ή@�T8���:��S��*�ϳ�^^�pv��uvr���U&��ȝ -gW�\gW w*�]E�yv��ή2�ή@�T8���:��S��*��� -�N���H>Ϯzy���U&��ȝ -gW�\gW wjv������ gW�z�]��B���L��+�;�=���������*�� -�N���H>Ϯzy��gW�{�]�ژpv��uvn���U&��ȝڟ]En�]�jg��U����� -gW�\gW wjv������ gW�z�]��B���L��+�;ή2�ή@�T8���:��S��*�ϳ�^^�pv��uvr���U&��ȝ +�Ι\�� w*;gr;�ܩp��u�r�±s$��ν�P��9����N�c�L�cg�;��3���A�T8vN�7�έ�R��9����N�c�L�cg�;��3���A�T8v���ع�*;gr;�ܩp��u�r�±s&ױ3ȝ +�Α|;��B�c�L�cg�;��3���A�T8v��:v�S��9��c�^^�p��u�r�±s&ױ3ȝ�;g�q�jc±s���ν�P��9����Nm��3�z��D8v��:v�S��9��c�^^���s��Π6&;gj;�۩p��u�r���Α[�νڙp윩u�n�±s&ױ3ȝ�;g�q�jc±s���ν�P��9����N�c�L�cg�;��3���A�T8v���ع�*;gr;�ܩp��u�r�±s&ױ3ȝ +�Α|;��B�c�L�cg�;��3���A�T8v��:v�S��9��;��J�c�L�cg�;��3���A�T8v��:v�S��9��c�^^�p��u�r�±s&ױ3ȝ +�Ι\�� w*;G�y�����3���A�T8v��:v�S�ع��͎���c���;7��;?±�a��|�<�z=v�|�~����]�g�/���g�/G�/}������{���O���{I������맿��p�a�ݖ����{-����~�u�?}|��R��������d�ç�t��ϯ��_���w�u~z��k��w���q�nz�]�o�<��}ך��;/�;��S��*�ϳ�^^�pv��uvr���U&��ȝ gW�\gW w*�]E�yv��ή2�ή@�T8���:��S��*��� -�N���D~sv��+ή2�ή@�T8���:��S��*��� �N���H>Ϯzy���U&��ȝ gW�\gW w*�]er�]�ܩpv���U//T8���:��S��*��� -�N����L'=��4ήn_�����U�����q���u�?��ٕ�z=������~~�?�>���ݯG,���_���Q��?<Zϩ^�^�է����__�~�7�~�������}��y������o��������8��i�W~}���.||�a�����g���?Q�O�����������Y�?,�o��{�m�a��j��Hr��X����"����b(X$�S�?,���E�;���b(X$�S�?,F����^^��C���"ɝ��a1��?,�ܩ�C���"ɝ��a1��� /����|�a��N�����I�����|�a��N�������E�j���P>��Hr��X���$wj�������ϽyA��W�������M]�g��p��9�./�����{zX^�xe���W�>��^^�߯P���O߾|��_�a���q��[�����u -8<���/�����so^^����?kǻ/����$/� ���?kO�|}�Nݐ��� ~|L���(w�|�t��m_�F�S��O˧�?�o�x�䅺!?힞.��>�F�S7���������i�;uC~�=]��T�>�r�ޗ?v��mO��P7�˧sާo�x�Nݐ/���>}���(w�|�t�۾>�r�ޗ?.���x��i��|�t���mO�ܩ���9�ҷ}<�r�nȗOg�����(w�}���;==�o�x�䅺!?���LJT�>�r�n�ϻ�圾��i�;uC~�]���m_�F�S�˗?��/��>�&y�nȗO�ᚾ��i�;uC�|:��%��O�ܩ���9>�o��4ʝz_��wO�}����I^����9�ӷ}<�r�nȗOgH���4ʝ�!��.O�dևQm�����w���=O��P7���rJ���4ʝ�!_����_F�17��'�������v�]����)��i�W�|�hn��A�~}���0/���|I����v�|�h���I���(w�}�a�hҿO�ڙ�@�5�����v���;\���|<�r�nȯ�s���o������p٧o�x�ԅ�!_>��!}���(w�|�\O�|}�Nݐ/���1~�קQ�������N��>�&y�nȗO�xJ���4ʝ�!_>��C����Q�� ������|}�N�/8��O���>�&y�n�O���oS��4ʝ�!?���K����Q�� �u�x��o��4ʝz_��|:���=�i��|�tҿA��(w�|�tNO��>�F�S7�˧s��o��4ʝz_~^>��!}���$/� ����b��(w�|�t���mO�ܩ���������(w�}�e�{��ҷ}<M�Bݐ�v���mO�ܩ������!��O�ܩ���y|����i�;����|:��mO��P7�˧s��o�x�Nݐ/�����i�;uC�|:��C*_�F�S�˟�7ӷ}<M�Bݐ�v���o�x�Nݐ?�O��mO�ܩ���t=�o��4ʝz?.��ﮗC���4�+uC�|:��C*_�F�S7�˧�x:���i�;uC�|:��1J���(w�}�a�tN��>�&y�nȗO'�S�x���0/��1}����v�|�h���=_�F�S�ˏ���)�_&�37̧��z�����v��qw�\O�|}�Nݐ_w���l<�jc�7��O�1�����.� ���<���|<�r�nȗ�&=G�ژ��9Ωz}�N݈</����i��|�h���aTsü&�C�k�۩}X;���6ɝڇ�3��� /�>��GX��N��ڡ|��I��>��GX��N��ڙ\am�j��#�Mr��a�P>��$wj��#�Mr��a�L��6��k���&�S��v(am�;�k���&�S��v&WX�ڇ�C�k�ܩ}X;���6ɝڇ�C�k�ܩ}X;�+� �B��ڡ|��I��>��GX��N��ڡ|��I��>��gX��Wj��#�Mr��a�P>��$wj��#�Mr��a�L��6��k���&�S��v(am�;�k���&�S��v&WX�ڇ�C�k�ܩ}X;���6ɝڇ�C�k�ܩ}X;�+� �B��ڡ|��I��>��GX��Nm�ڡ{ k�ژ}X;S+� �B��ڡ|��I��.��_��$~K��ڡx��I��>����y��a�н��Im�>��GX��N��ڡ|��I��6���GX����ڡz�����>��GX��Nm�ڡ{ k�ژ}X;S+� �B��ڡ|��I��>��GX��N��ڡ|��I��>����y��a�P>��$wj��j%�ܩ�J��j%�ܩ�J�䳕��Z��\�D�;Z��\�D�;Z��\�D�;Z�������+Z��\�D�;Z��\�D�;Z��\�D�;Z��|�{y�B+1���r�B+1���r�B+1���r�B+1��Vb//Th%fr�A�Th%fr�A�Th%6ѿ��/h�o_��e��ؼ�۰��V"�����y�?AX{<�ZK<����/�>���?|z~�����/��������o�_������w��,����M��K���{�}l�����/��>�yA���N��c&���N��c$���^^��}���>�ܩ�}���>�ܩ�}���>�ܩ�}��s������\�G�;���\�G�;���\�G�;���|n{y���1�k�r���1�k�r���1�k�r���1���c//T�>frmA�T�>frmA�T�>frmA�T�>F�}�� -��L��#ȝ -��L��#ȝ -��L��#ȝ -��D~�}l� -��L��#ȝ -��L��#ȝ -��L��#ȝ -��H>����P��c��GP���Z�Gp;���\�G�;��>Fnm{�3a����}�Sa��ɵ}�S��c��GP���zn{w���1�k�r�����=���6&l3����v*l#��>��B����{lAmL�>fjm��T�>frmA�T�>F�}�� -��L��#ȝ +�N���L��+�;ή"�<��� +gW�\gW w*�]er�]�ܩpv��uvr���U"�9�j� +gW�\gW w*�]er�]�ܩpv��uvr���U$�gW��P��*��� +�N���L��+�;ή2�ή@�T8����쪗*�]er�]�ܩpv��uvr���U&��ȝ +gW�|�]��B���L��+�;ή2�ή@����*s��+Pή"�<��݅ +gW�\gW wj{v��׳+�%��U&���� +gW�|�]��B�Ϯ2�8��1��*S�� +�N���L��+�;�?���:���΄��L��+p;ή2�ή@����*s��+Pή"�<��݅ +gW�\gW w*�]er�]�ܩpv��uvr���U$�gW��P��*��� +�N���L��+�;ή2�ή@�T8����쪗*�]er�]�ܩpv��uvr���U&��ȝ +gW���쪕W*�]er�]�ܩpv��uvr���U&��ȝ +gW�|�]��B���L��+�;ή2�ή@�T8���:��S��*�ϳ�^^�pv��uvr���U&��ȝ +gW͙Nzv/h�]ݾ�����U�����q���u�?��ٕ�z=������~~�?�>���ݯG,���_���Q��?<Zϩ^�^�է����__�~�7�~�������}��y������o��������8��i�W~}���.||�a�����g���?Q�O�����������Y�?,�o��{�m�a��j��Hr��X����"����b(X$�S�?,���E�;���b(X$�S�?,F����^^��C���"ɝ��a1��?,�ܩ�C���"ɝ��a1��� /����|�a��N�����I�����|�a��N�������E�j���P>��Hr��X���$wj�������ϽyA��W�������M]�g��p��9�./�����{zX^�xe���W�>��^^�߯P���O߾|��_�a���q��[�����u +8<���/�����so^^����?kǻ/����$/� ���?kO�|}�Nݐ��� ~|L���(w�|�t��m_�F�S��O˧�?�o�x�䅺!?힞.��>�F�S7���������i�;uC~�=]��T�>�r�ޗ?v��mO��P7�˧sާo�x�Nݐ/���>}���(w�|�t�۾>�r�ޗ?.���x��i��|�t���mO�ܩ���9�ҷ}<�r�nȗOg�����(w�}���;==�o�x�䅺!?���LJT�>�r�n�ϻ�圾��i�;uC~�]���m_�F�S�˗?��/��>�&y�nȗO�ᚾ��i�;uC�|:��%��O�ܩ���9>�o��4ʝz_��wO�}����I^����9�ӷ}<�r�nȗOgH���4ʝ�!��.O�dևQm�����w���=O��P7���rJ���4ʝ�!_����_F�17��'�������v�]����)��i�W�|�hn��A�~}���0/���|I����v�|�h���I���(w�}�a�hҿO�ڙ�@�5�����v���;\���|<�r�nȯ�s���o������p٧o�x�ԅ�!_>��!}���(w�|�\O�|}�Nݐ/���1~�קQ�������N��>�&y�nȗO�xJ���4ʝ�!_>��C����Q�� ������|}�N�/8��O���>�&y�n�O���oS��4ʝ�!?���K����Q�� �u�x��o��4ʝz_��|:���=�i��|�tҿA��(w�|�tNO��>�F�S7�˧s��o��4ʝz_~^>��!}���$/� ����b��(w�|�t���mO�ܩ���������(w�}�e�{��ҷ}<M�Bݐ�v���mO�ܩ������!��O�ܩ���y|����i�;����|:��mO��P7�˧s��o�x�Nݐ/�����i�;uC�|:��C*_�F�S�˟�7ӷ}<M�Bݐ�v���o�x�Nݐ?�O��mO�ܩ���t=�o��4ʝz?.��ﮗC���4�+uC�|:��C*_�F�S7�˧�x:���i�;uC�|:��1J���(w�}�a�tN��>�&y�nȗO'�S�x���0/��1}����v�|�h���=_�F�S�ˏ���)�_&�37̧��z�����v��qw�\O�|}�Nݐ_w���l<�jc�7��O�1�����.� ���<���|<�r�nȗ�&=G�ژ��9Ωz}�N݈</����i��|�h���aTsü&�C�k�۩}X;���6ɝڇ�3��� /�>��GX��N��ڡ|��I��>��GX��N��ڙ\am�j��#�Mr��a�P>��$wj��#�Mr��a�L��6��k���&�S��v(am�;�k���&�S��v&WX�ڇ�C�k�ܩ}X;���6ɝڇ�C�k�ܩ}X;�+� �B��ڡ|��I��>��GX��N��ڡ|��I��>��gX��Wj��#�Mr��a�P>��$wj��#�Mr��a�L��6��k���&�S��v(am�;�k���&�S��v&WX�ڇ�C�k�ܩ}X;���6ɝڇ�C�k�ܩ}X;�+� �B��ڡ|��I��>��GX��Nm�ڡ{ k�ژ}X;S+� �B��ڡ|��I��.��_��$~K��ڡx��I��>����y��a�н��Im�>��GX��N��ڡ|��I��6���GX����ڡz�����>��GX��Nm�ڡ{ k�ژ}X;S+� �B��ڡ|��I��>��GX��N��ڡ|��I��>����y��a�P>��$wj��j%�ܩ�J��j%�ܩ�J�䳕��Z��\�D�;Z��\�D�;Z��\�D�;Z�������+Z��\�D�;Z��\�D�;Z��\�D�;Z��|�{y�B+1���r�B+1���r�B+1���r�B+1��Vb//Th%fr�A�Th%fr�A�Th%6ѿ��/h�o_���v+�yE�a��D +k�ϻ�~���x굖xP/�_�}��o?~����_���w_����_��Oߞ��������?�Y>�o�w���$����f���5����_D�}���#ȝ ��L��#ȝ +��H>����Pa��ɵ}�Sa��ɵ}�Sa��ɵ}�Sa������*l3��� w*l3��� w*l3��� w*l#��>��B��c&���N��c&���N��c&���N��c$���^^��}���>�ܩ�}���>�ܩ�}���>�ܩ�}��s������\�G�;���\�G�;���\�G�;����f���+���\�G�;���\�G�;���\�G�;���|n{y�����=���6&l3����v*l3��� wj�}���>�jg��1Sk�n���1�k�r�����=���6&l#��>��B��c&���N����{lAmL�>fjm��T�>F�}���o3��>�ژ�}���>�۩�}���>�ܩ�}��s������\�G�;���\�G�;���\�G�;���|n{y���1�k�r���1�k�r���1�k�r���1���c//T�>frmA�T�>frmA�T�>frmA�T�>F�}�� ��L��#ȝ -��H>����Pa��ɵ}�Sa��ɵ}�Sa��ɵ}�Sa������*l3��� w*l3��� w*l3��� w*l#��>��B��c&���N��c&���N��c&���N��c$���^^��}���>�ܩ�}���>�ܩ�}���>�ܩ�}L�7��V^��}���>�ܩ�}���>�ܩ�}���>�ܩ�}��s������\�G�;���\�G�;���\�G�;���|n{y���1�k�r���1�k�r���1�k�r���1���c//T�>frmA�T�>frmA��~������Ƅ�c�����]��}���>�ܩ��1S��G�%��1k�j���1���c//�~������Ƅ�c����N��c&���N����[��^�L�>fjm��T�>frmA��~������Ƅ�c�����]��}���>�ܩ�}���>�ܩ�}���>�ܩ�}��s������\�G�;���\�G�;���\�G�;���|n{y���1�k�r���1�k�r���1�k�r���1��l[y���1�k�r���1�k�r���1�k�r���1���c//T�>frmA�T�>frmA�T�>frmA�T�>F�}�� ��L��#ȝ ��L��#ȝ -��f��n�����궏�+��>��8��>>��u}���x�u�x��>�Ϳ<���_�맯ϟ������O�˻����~���c=?��/_h��~?=]O[c�yH��E�C�ۿ������A�T8���:��S�>��ҷ�J�C�L�Cz�;�3��A�T8���:��S�>��C�^^��!}����6&�gj҃۩pH��uHr�����[���ڙpH��uHn��!}&�!=ȝ��g�qHjc�!}������P�>���N��3�8��1�>S��N�C�H>�{y�����{҃ژpH��uHn��!}&�!=ȝ +��H>����Pa��ɵ}�Sa��ɵ}�Sa��ɵ}�Sa���o����Ra��ɵ}�Sa��ɵ}�Sa��ɵ}�Sa������*l3��� w*l3��� w*l3��� w*l#��>��B��c&���N��c&���N��c&���N��c$���^^��}���>�ܩ�}���>�ܩ��1s��#�� ��H=����Pa��ɵ}�S��c�^�� ~K��c&���N��c$���^^���1s��#�� ��L��#�� +��L��#ȝ�o#����ڙ�}���>�۩�}���>�ܩ��1s��#�� ��H=����Pa��ɵ}�Sa��ɵ}�Sa��ɵ}�Sa������*l3��� w*l3��� w*l3��� w*l#��>��B��c&���N��c&���N��c&���N��c"��>��J��c&���N��c&���N��c&���N��c$���^^��}���>�ܩ�}���>�ܩ�}���>�ܩ�}��s������\�G�;���\�G�;���8/�>�����m�Wt�}\�qv�}|<-����������}��y������O_�?}{���۟���w>��������z:~�=�_�оyE��~z���Ɛ�������U�!���҃ܩpH��uHr��!}"�9�o� +���\�� w*�gr҃ܩpH��uHr��!}$�����P�C��=�AmL8���:��S�>���N��#��{�3�>S��N�C�L�Cz�;�?�����ƄC�H=�{w��!}&�!=ȝ��g�qHjc�!}��!=�� +���|���B��3�8��1�>S��N�C�L�Cz�;�#�<��� +���\�� w*�gr҃ܩpH��uHr��!}$�����P�>���N�C�L�Cz�;�3��A�T8���*�gr҃ܩpH��uHr��!}&�!=ȝ ���|���B�C�L�Cz�;�3��A�T8���:��S�>��C�^^�pH��uHr��!}&�!=ȝ +���\�� w*�'�C�V^�pH��uHr��!}&�!=ȝ ���\�� w*�G�yH���3��A�T8���:��S�>���N�C�H>�{y��!}&�!=ȝ -���\�� w*�gr҃ܩpH��!}//T8���:��S�>���N�C�L�Cz�;���!}+�T8���:��S�>���N�C�L�Cz�;�#�<��� -���\�� w*�gr҃ܩpH��uHr��!}$�����P�>���N�C�L�Cz�;�3��A�T8���*�gr҃ܩpH��uHr�����{҃ژpH��!}�.T8���:��S�C�L�҃�-�3��A�T8���jH���!=�� ���Z���v*�gr҃ܩ�!}��!}�v&�gj҃۩pH��uHr�����{҃ژpH��!}�.T8���:��S�>���N�C�L�Cz�;�#�<��� -���\�� w*�gr҃ܩpH��uHr��!}$�����P�>���N�C�L�Cz�;�3��A�T8�O�7����R�>���N�C�L�Cz�;�3��A�T8���*�gr҃ܩpH��uHr��!}&�!=ȝ -���|���B�C�L�Cz�;�3��A�T8�o��CzxA���u���+Z����=��A��=�}�r�]�_��֫˻?o�>��^^��#�z��w��}�����w�>|���_�����?�x����e}�>������j|�N/�g����y�/[���������9z��_�����^����˹�>��$/� ��ɣL�R�Sᇔ2�~H �N�R���!%�;~H)��R�� -?����CJ w*��R&�)�ܩ�CJ�\?�r��)E��CJ��Pᇔ2�~H �N�R���!%�;~H)�뇔@�T�!�H>H��*��R&�)�ܩ�CJ�\?�r��)er��ȝ -?���)��B�R���!%�;~H)�뇔@�T�!�L�R�Sᇔ"��!�^^��CJ�\�O�;���\�O�;���\�O�;����f���+���\�O�;���\�O�;���\�O�;���|�?{y�����=���6&�?3����v*�?3��� wj������jg��3Sk� n���3�k� r�����=���6&�?#����B��g&���N����{�?AmL�fj�?��T�F������?3���ژ������۩������ܩ����s������\�O�;���\�O�;���\�O�;���|�?{y���3�k� r���3�k� r���3�k� r���3���g//T�fr�?A�T�fr�?A�T�fr�?A�T�F���� +���\�� w*�gr҃ܩpH��!}//T8���:��S�>���N��3�8��1�>R�C��]�pH��uHr�����z=��["�gb҃کpH��!}//���>s�CzP�3����T8���:��S�C�ȭC�^�L8���:��S�>���N��3�8��1�>R�C��]�pH��uHr��!}&�!=ȝ +���\�� w*�G�yH���3��A�T8���:��S�>���N�C�H>�{y��!}&�!=ȝ +���\�� w*�gr҃ܩpH��o�[y��!}&�!=ȝ +���\�� w*�gr҃ܩpH��!}//T8���:��S�>���N�C�L�Cz�;�#�<��� +���\�� w*�gr҃ܩpH�vg�����!����W����y�{�����z���尻|��>�W�w�h}J���?�G�����o�>������Ǐ�}��������_����������?}�����_����?�^���ͫ��V_�.��o����xi�r�ܛ��ݽ�7�?�����s�}֧I^���G�\?�r��)er��ȝ +?����CJ w*��R$�?���~H)�뇔@�T�!�L�R�Sᇔ2�~H �N�R���zy��)er��ȝ +?����CJ w*��R&�)�ܩ�CJ�|��R//T�!�L�R�Sᇔ2�~H �N�R���!%�;~H)��R�� +?����CJ w*��R&�)�ܩ�CJ�\?�r��)E��CJ��Pᇔ2��� w*�?3��� w*�?3��� w*�?�����W*�?3��� w*�?3��� w*�?3��� w*�?#����B����{�?AmL�fj�?��T�fr�?A��~������΄�g����N��g&���N����{�?AmL�F���݅ +��L��'ȝ��?3���ژ������۩����s�����f���1a������Sa��ɵ��Sa������*�?3��� w*�?3��� w*�?3��� w*�?#����B��g&���N��g&���N��g&���N��g$���^^�������ܩ������ܩ������ܩ����s������\�O�;���\�O�;���\�O�;���|�?{y���3�k� r���3�k� r���3�k� r���3���?[y���3�k� r���3�k� r���3�k� r���3���g//T�fr�?A�T�fr�?A�T�fr�?A�T�F���� ��L��'ȝ ��L��'ȝ ��L��'ȝ -��H>����Pa��ɵ��Sa��ɵ��Sa��ɵ��Sa���o����Ra��ɵ��Sa��ɵ��Sa��ɵ��Sa������*�?3��� w*�?3��� w*�?3��� w*�?#����B��g&���N��g&���N��g&���N��g$���^^�������ܩ������ܩ��3s��'�� ��H=����Pa��ɵ��S��g�^�� ~K��g&���N��g$���^^���3s��'�� ��L��'�� -��L��'ȝ��?#����ڙ������۩������ܩ��3s��'�� ��H=����Pa��ɵ��Sa��ɵ��Sa��ɵ��Sa������*�?3��� w*�?3��� w*�?3��� w*�?#����B��g&���N��g&���N��g&���N��g"����J��g&���N��g&���N��g&���N��g$���^^�������ܩ������ܩ������ܩ����s������\�O�;���\�O�;���(1������t��6���������!���z>�)��^����}~����쳌:�?8,?��jo�:����=^7����^�E�7�rW_�yw���3�;/�|}�Nݐ_w����x�|}�N�/�v���C(O��P7�˧�pM���4ʝ�!_>���?v����(w�|�t�O�۾>�r�ޗ_�O�O���4�uC�|:�}����Q�� ������>�F�S7�����?�3��è6�}��aw���|<M�Bݐ�v��)}���(w���;�c��è6�y�d��|}�N����/���?|L�z䕺!_>��9u�>�jcn��O�x����it;uC�|4�K���O�ܩ���ه��ڙ����tM?��4���!?�ק�=O�ܩ�����ߟE�[�}��;\��>�&u�nȗ��|H���4ʝ�!_>�Ǘ��קQ�� ���<�}}�N�/?-��锾��i��|�t���mO�ܩ���9<�o�x�Nݐ�(P&Wj�N��P$���^^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(���P//TH er��@�TH er��@�TH er��@�TH E��� -��L��ȝ -��L��ȝ -��L��ȝ -��H>SC��P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5��oRC��R!5�ɕ�S!5�ɕ�S!5�ɕ�S!5�gj��j���#5jcBj(S+5n�Bj(�+5r����ȭ�P�v&��2�RC�v*��2�RC wj���#5jcBj(R��P�.TH er��@��>5��Gj�Ƅ�P�Vj�N��P$���^^�}j(s���� ��L���� -��L��ȝ -��H>SC��P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5�gj��*��2�RC w*��2�RC w*��2�RC w*��"�L ��B��P&Wj�N��P&Wj�N��P&Wj�N��P$���^^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC��&5��+RC�\�!�;RC�\�!�;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(���P//TH er��@�TH er��@�TH er��@�TH E��� -��L��ȝ -��L��ȝڧ�2�H �ژ���35ԻRC�\�!�;�M e�55�DH eb��@�TH E���ڧ�2�H �ژ���J �۩���J �ܩ}j(r+5ԫ� ��L���� -��L��ȝڧ�2�H �ژ���35ԻRC�\�!�;RC�\�!�;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(���P//TH er��@�TH er��@�TH er��@�TH %��P+�TH er��@�TH er��@�TH er��@�TH E��� +��H>����Pa��ɵ��Sa��ɵ��S��g��OP���z�?{w���3�k� r����L��?A����L��'�� +��H>����P��g��OP���Z�Op;���\�O�;��Fn�?{�3a������Sa��ɵ��S��g��OP���z�?{w���3�k� r���3�k� r���3�k� r���3���g//T�fr�?A�T�fr�?A�T�fr�?A�T�F���� +��L��'ȝ +��L��'ȝ +��L��'ȝ +��D~��l� +��L��'ȝ +��L��'ȝ +��L��'ȝ +��H>����Pa��ɵ��Sa��ɵ��Sa��ɵ��Sa������*�?3��� w*�?3��� w*�?�Qb���4���/�鼽�l^��)5���CJ/���|�RO�.@���������gu.pX�~�����u���{�n���iw�>��so^宾���ty�g�w^���4ʝ�!��痯�2��4ʝz_~9�N���P>�&y�nȗO�ᚾ��i�;uC�|:����קQ�� �����}}�N�/�.��q����i��|�t��mO�ܩ����ҷ}<�r�nȯ����g�ׇQm�����x=���x�܅�!?�.�S����Q�� �yw<��ׇQm� ���<>����4��zk�_>�������4�+uC�|4�s�~}���0/���|I����v�|�h��=_�F�S���G��1&�37̧���~��it;uC~��O�{>�F�S7���9~˿?������aw���7|<M�Bݐ/�������i�;uC�|.�/��1��O�ܩ��y8�o��4ʝz_~Z>��)}���$/� ���O��>�F�S7�˧sxH���4ʝ�!Q�L��ȝ +��H>SC��P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5�gj��*��2�RC w*��2�RC w*��2�RC w*��"�L ��B��P&Wj�N��P&Wj�N��P&Wj�N��P$���^^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(�ߤ�Zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(���P//�>5��Gj�Ƅ�P�Vj�N��P&Wj�N�SC�[��^�LH ej����TH er��@��>5��Gj�Ƅ�P�����]����J �ܩ}j(s���� ��L���� +��H>SC��P��P��!PRC�Z�!p;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj(�+5r�Bj(���P//TH er��@�TH er��@�TH er��@�TH E��� ��L��ȝ ��L��ȝ ��L��ȝ -��H>SC��P!5�ɕ�S!5�ɕ�S!5Ԥr������}A]j�yE����g������?�����x�55t\SC����������_�+��������?�.���a};�.�����о�Yj�}�M����J ��R�RC��PJ �Z�p;J �\��;�/5Dn�z�3�Ԑ�Uj��S�Ԑ�Uj��S�RC�^K ~K�RC$���^]�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPj�����J �\��;J �\��;J �\��;J �|�zy�B�!����r�B�!����r�B�!����r�B�!��RC//T(5dr�@�T(5dr�@�T(5dr�@�T(5D�Yj�� +��H>SC��P!5�ɕ�S!5�ɕ�S!5�ɕ�S!5�gj��*��2�RC w*��2�RC w*��2�RC w*���Mj��W*��2�RC w*��2�RC w*��2�RC w*��"�L ��B��P&Wj�N��P&Wj�N��P&Wj�N��P$���^^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;�O e��1!5�gj�w*��2�RC wj���kj�o����J �ک���35���O e��1!5����S!5�ɕ�S��P�Vj�W;RC�Z�!p;RC�\�!�;�O e��1!5�gj�w*��2�RC w*��2�RC w*��2�RC w*��"�L ��B��P&Wj�N��P&Wj�N��P&Wj�N��P$���^^����J �ܩ���J �ܩ���J �ܩ�J�7��V^����J �ܩ���J �ܩ���J �ܩ���35��RC�\�!�;RC�\�!�;RC�\�!�;RC�|��zy�Bj(�+5r�Bj(�+5r�Bj�I天!xA#5t����P�nSC�?��SC/��x 5����kj踦������������w?��W����w��C��]./�7��v>].[o�M��}ͳ�p���RÝԕZy�����=J �6&�2�J �v*�2�J wj_j��*5�jgB�!S���n�B�!����r����L��@����H<K ��P�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S���g���*�2�J w*�2�J w*�2�J w*�"�,5��B�RC&W��N�RC&W��N�RC&W��N�RC$���^^�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPj�����J �\��;J �\��;J �\��;J �|�zy�B�!����r�B�!����r�B�!����r�B�!��RC//T(5dr�@�T(5dr�@�T(5dr�@�T(5D�Yj�� ��L�Rȝ ��L�Rȝ ��L�Rȝ -��H>K ��P�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S���g���*�2�J w*�2�J w*�2�J w*�"�,5��B�RC&W��N�RC&W��N�RC&W��N�RC"�)5��J�RC&W��N�RC&W��N�RC&W��N�RC$���^^�}�!s�R�� ��L�R�� -��L�Rȝڗ"�J �ڙPj��*5�۩Pj��*5�ܩ}�!s�R�� ��H=K ��P�Ԑ�Uj��S�RC��PJ �Z�p;J �|�zy�����=J �6&�2�J �v*�2�J w*�"�,5��B�RC&W��N�RC&W��N�RC&W��N�RC$���^^�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPj�����J �\��;J �\��;J �\��;J �|�zy�B�!����r�B�!����r�B�!����r�B�!��RC//T(5dr�@�T(5dr�@�T(5dr�@�T(5$�RC+�T(5dr�@�T(5dr�@�T(5dr�@�T(5D�Yj�� +��D~Sjh� ��L�Rȝ ��L�Rȝ ��L�Rȝ -��H>K ��P�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S���g���*�2�J w*�2�J wj_j�ܣ��jcB�!R�RC�.T(5dr�@�ԶԐ��R���Ԑ�Uj��S���g���j_j�ܣ��jcB�!S���n�B�!����r����ȭRC�v&�2�J �v*�2�J wj_j�ܣ��jcB�!R�RC�.T(5dr�@�T(5dr�@�T(5dr�@�T(5D�Yj�� +��H>K ��P�RC��PJ �Z�p;J �\��;�/5Dn�z�3�Ԑ�Uj��S�Ԑ�Uj��S�RC��PJ �z�zw�B�!����r�����=J �6&�2�J �v*�"�,5��B�K �{�@mL(5dj���T(5dr�@�T(5D�Yj�� ��L�Rȝ ��L�Rȝ ��L�Rȝ -��H>K ��P�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�oJ ��R�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S���g���*�2�J w*�2�J w*�2�J w*�"�,5��B�RC&W��N�RC&W��N�RC��J ��F���u�������������m�AO��Nk��������������?���6��w�ݭ�_�aw=>l��������:{�Rw5q�����{��Nb}�܅�!?�.��C*_�F�S7�����_F�17�k:#T� ���9"�r��Jm��{ r�ژ}�#T� ���9B�r�ܩm�#s� ���9B�r�۩}�#�� ɝ�9B�k���o�}�#+��B��|9H��>��G���N��|9H��>ȑ���y��A�P>�$wj��#�Ar��A�P>�$wj��� -r��P� G(A�;�r��� �S� G(A�;�rdr9@^�}�#�� ɝ�9B�r�ܩ}�#�� ɝ�92�� /�>��G���N��|9H��>��G���N��\A�j��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�� G/��>��G���N��|9H��>��G���N��\A�j��k������z9���>��G���Nm��{9@��>��G���N��|9H��6��� ���92���.�>��G���Nm��{ r�ژ}�#T� ���92�� /�6��� ���9B�r�۩}�#�� ɝ�92�� /�>��G���N��|9H��>��G���N��\A�j��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���N��|9H��>��g���Wj��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���Nm��{ r�ژ}�#S+��B��|9H��.��_�$~K��x9H��>ȑ���y��A�н9Hm�>��G���N��|9H��6ȑ�G�����z9���>��G���Nm��{ r�ژ}�#S+��B��|9H��>��G���N��|9H��>ȑ���y��A�P>�$wj��#�Ar��A�P>�$wj��� -r��P� G(A�;�r��� �S� G(A�;�rD�����9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���N��|9H��>ȑ���y��A�.��Y��n�?��7/��ov)����1������]�������aw�~{]��a���������֧�����ڤ�o������������������������ۻ�b���?�����N�/����n_C V�O���;|�:m�2����/�Y��yA���N��i&���N��i&���N��i$���^^��:��Z��ܩ�:��Z��ܩ�:��Z��ܩ�:��su��V��\�S�;V��\�S�;V��\�S�;V��|�N{y���4�ku -r���4�ku -r���4�ku -r���4���i//TX�fr�NA�TX�fr�NA�TX�fr�NA�TX�F�:�� -��L��)ȝ -��L��)ȝ -��L��)ȝ -��H>W���Pau�ɵ:�Sau�ɵ:�Sau�ɵ:�Sau��oV���Rau�ɵ:�Sau�ɵ:�Sau�ɵ:�Sau��괗j�:��cu -jc��4Sku -n���4�ku -r����ȭ�i�v&�N3�V��v*�N3�V� wj�:��cu -jc��4R��i�.TX�fr�NA��~u�����Ƅ�i����N��i$���^^���4s��)�� ��L��)�� -��L��)ȝ -��H>W���Pau�ɵ:�Sau�ɵ:�Sau�ɵ:�Sau��괗*�N3�V� w*�N3�V� w*�N3�V� w*�N#�\���B��i&���N��i&���N��i&���N��i$���^^��:��Z��ܩ�:��Z��ܩ�:��Z��ܩ�:��su��V��\�S�;V��\�S�;V��\�S�;V���fu��+V��\�S�;V��\�S�;V��\�S�;V��|�N{y���4�ku -r���4�ku -r���4�ku -r���4���i//TX�fr�NA�TX�fr�NA�TX�fr�NA�TX�F�:�� -��L��)ȝ -��L��)ȝگN3�X��ژ�:��suڻV��\�S�;�]�f�uu -�DX�fb�NA�TX�F�:��گN3�X��ژ�:��Z��۩�:��Z��ܩ��4rkuګ� ��L��)�� -��L��)ȝگN3�X��ژ�:��suڻV��\�S�;V��\�S�;V��\�S�;V��|�N{y���4�ku -r���4�ku -r���4�ku -r���4���i//TX�fr�NA�TX�fr�NA�TX�fr�NA�TX�&��i+�TX�fr�NA�TX�fr�NA�TX�fr�NA�TX�F�:�� -��L��)ȝ -��L��)ȝ -��L��)ȝ -��H>W���Pau�l"��)���:�}A��q{uڼ��_CoV��������r�_CO�����;��/��~��c��^.NǛ�_wߺ��%���/������m_��{����q?�w�ߙ_ᅠ;��i�;uC~�==�|_��קQ������n�O�C(O��P7�˧s<�o�x�Nݐ/��ᔾ��i�;uC�|:���m_�F�S��χ���!}���$/� �iw�>>���i�;uC��wC��ʝ�!���s���O�ܩ����y��o�x�䅺!_>��k����Q�� ���=����L�>�r�nȗO������(w�}���q����i��|�t��mO�ܩ�忻?�o�x�Nݐ_w��c�~}�Ƽo~:��c�����]����r9���x�Nݐ�w�s�~}���0/���C���O�۩�G���yx���\O��R7��G�rB��_F�17��'s<_R��4���!_>��%~�קQ������Ѥ�2&�37̧���~��it;uC~��O�{>�F�S7���9~˿?������aw���7|<M�Bݐ/�������i�;uC�|.�/�p=��O�ܩ��y8�o��4ʝ�w��H>�Z��P�������S�������S�������S���gS��*4�2��Z w*4�2��Z w*4�2��Z w*4�"�lj��B��V&WS�N��V&WS�N��V&WS�N��V$�M�^^�����jj�ܩ����jj�ܩ����jj�ܩ�Ԋ䳩���Z�\M-�;�Z�\M-�;�Z�\M-�;�Z�|6�zy�BS+���r�BS+���r�BS+���r�BS+�ϦV//Thjer5�@�Thjer5�@�Thjer5�@�Thj%�V+�Thjer5�@�Thjer5�@�Thjer5�@�ThjE������7�2�hj�ژ����jj�۩����jj�ܩ}S+r��ի� M�L���� -M�L��ȝ�7�2�hj�ژ�ԊԳ�ջ�Z�\M-�;�oje����1�������S���gS��j���ܣ�jcBS+S��n�BS+���r�BS+�ϦV//Thjer5�@�Thjer5�@�Thjer5�@�ThjE����� +��H>K ��P�Ԑ�Uj��S�Ԑ�Uj��S�Ԑ�Uj��S���g���*�2�J w*�2�J w*�2�J w*�"�,5��B�RC&W��N�RC&W��N�RC&W��N�RC$���^^�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPjH�7��V^�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPj�����J �\��;J �\��;J �\��;J �|�zy�B�!����r�B�!����r�B�!����r�B�!��RC//T(5dr�@�T(5dr�@�ԾԐ�G��ƄRC�����]�Pj��*5�ܩm�!S���%B�!���j�B�!��RC//ԾԐ�G��ƄRC�V��N�RC&W��N�K �[��^�L(5dj���T(5dr�@�ԾԐ�G��ƄRC�����]�Pj��*5�ܩPj��*5�ܩPj��*5�ܩPj�����J �\��;J �\��;J �\��;J �|�zy�B�!����r�B�!����r�B�!����r�B�!�ߔZy�B�!����r�B�!����r�B�!����r�B�!��RC//T(5dr�@�T(5dr�@�T(5dr�@�T(5D�Yj�� +��L�Rȝ +��L�Rȝ +��6-����R���J �+�kK /��yy7�R��z-5��R����K������O����sm4\����[�����z|�*4\�����6�/u<���j0�;^����^͝8��4�uC~�].��T�>�r�n�ϻ�9v�>�jcn��tF�Ar;�rD�����9B�� �1� G�Ar;�r��� �S� G�AP;�r��� �S� G(A�;�r��� ��� G&V�ԅ�9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���N��|9H��>ȑ���y��A�P>�$wj��#�Ar��A�P>�$wj��� +r��P� G(A�;�r��� �S� G(A�;�rdr9@^�}�#�� ɝ�9B�r�ܩ}�#�� ɝ�92�� /�>��G���N��|9H��>��G���N��\A�j��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G$�A�^^�}�#�� ɝ�9B�r�ܩ}�#�� ɝ�92�� /�6��� ���9B�r�۩}�#�� ɝ�92�r�ڙ}�#T� ���9B�r�ܩm�#t�AR�rdj9�]�}�#�� ɝ�9B�� �1� G�Ar;�rdr9@^�m�#t�AR�r��� �S� G(A�;�rdr9@^�}�#�� ɝ�9B�r�ܩ}�#�� ɝ�92�� /�>��G���N��|9H��>��G���N��\A�j��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�� G/��>��G���N��|9H��>��G���N��\A�j��#�Ar��A�P>�$wj��#�Ar��A�L� ��r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�� �1� G�V�܅�9B�r�ܩ]�#T�9H���9B�r�ک}�#�+��Bm��{ r�ژ}�#T� ���9B�r�ܩm�#s� ���9B�r�۩}�#�� ɝ�9B�� �1� G�V�܅�9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���N��|9H��>ȑ���y��A�P>�$wj��#�Ar��A�P>�$wj��3���+�r��� �S� G(A�;�r��� �S� G&W���9B�r�ܩ}�#�� ɝ�9B�r�ܩ}�#�+��B��|9H��>��G���N�]H"r�Z�{�A��-�p^����A��������v�����_�?S�W��g�|e�Sz��u�q�q����__��?|��p�����������~y����K������?��\7���A��w����:���y� ��۶sn{���m@nnr���6�knr���6�knr���6�Ϲm//T��fr�mA�T��fr�mA�T��fr�mA�T��F�9��� +s�L��-ȝ +s�L��-ȝ +s�L��-ȝ +s�H>綽�Pan��5��San��5��San��5��San��ܶ�*�m3�� w*�m3�� w*�m3�� w*�m#�����B��m&���N��m&���N��m&���N��m$�s�^^�0���ۂܩ0���ۂܩ0���ۂܩ0�M�7s�V^�0���ۂܩ0���ۂܩ0���ۂܩ0���sn�����f�1��1an��5��San��5��S��m��ܶW;涙Zs[p;涙\s[�;���f�1��1an��ܶw*�m3�� wj?���cnjc��6Sknn���6�Ϲm//�~n�����Ƅ�m����N��m&���N��m$�s�^^�0���ۂܩ0���ۂܩ0���ۂܩ0���sn��涙\s[�;涙\s[�;涙\s[�;涑|�m{y���6�knr���6�knr���6�knr���6�Ϲm//T��fr�mA�T��fr�mA�T��fr�mA�T��F�9��� +s�L��-ȝ +s�L��-ȝ +s�L��-ȝ +s�D~3�m� +s�L��-ȝ +s�L��-ȝ +s�L��-ȝ +s�H>綽�Pan��5��San��5��San��5��San��ܶ�*�m3�� w*�m3�� w*�m3�� w*�m#�����B��m&���N��m&���N�継{�mAmL��F�9��݅ +s�L��-ȝ��m3�:��["�m3�涠v*�m#�����B�継{�mAmL��fj�m��T��fr�mA��~n�5���΄�m����N��m&���N�継{�mAmL��F�9��݅ +s�L��-ȝ +s�L��-ȝ +s�L��-ȝ +s�H>綽�Pan��5��San��5��San��5��San��ܶ�*�m3�� w*�m3�� w*�m3�� w*�m��ܶ�W*�m3�� w*�m3�� w*�m3�� w*�m#�����B��m&���N��m&���N��m&���N��m$�s�^^�0�m6�0:=��'�Ӎ�{�����yI�?߬N����ϻ��L??�zyi�uw��_������2'=�\���7���u��K��_~_O���۾<=�����!83��}Aw���(w���{zx��:��O�ܩ�叇���P>�&y�nȗO�xL���4ʝ�!_>��)}���(w�|�t��۾>�r�ޗ����C����I^����z}|H���(w�|����!�;uC~�]���m_�F�S��/˧�xI���4�uC�|:��mO�ܩ��{z���|}�Nݐ/���)~�קQ�����O��>}���$/� ������>�F�S7��wH���4ʝ�!��.O����0��y��t����=O��P7���rJ���4ʝ�!?�����0���a^>�LJ�=_�F�S� +��G���O���y�nȗ���>s�>�jcn��O�x����it;uC�|4�K���O�ܩ���I�>e<Ljgn�O���5�����v���;\���|<�r�nȯ�s���o������p٧o�x�ԅ�!_>��!}���(w�|�\_��z&_�F�S7��g�p����i�;u#�4�W�|6�zy�BS+���r�BS+���r�BS+���r�BS+�ϦV//Thjer5�@�Thjer5�@�Thjer5�@�ThjE����� M�L��ȝ M�L��ȝ M�L��ȝ -M�H>�Z��P�������S�������S�������S���gS��*4�2��Z w*4�2��Z w*4�2��Z w*4�"�lj��B��V&WS�N��V&WS�N��V&WS�N��V"�ij��J��V&WS�N��V&WS�N��V&WS�N��V$�M�^^�����jj�ܩ����jj�ܩ����jj�ܩ�Ԋ䳩���Z�\M-�;�Z�\M-�;�Z�\M-�;�Z�|6�zy�BS+���r�BS+���r��M��=�Z�6&4�"�lj��B��V&WS�Nm�Z�zmj��-�Z�XM-P;�Z�|6�zy��M��=�Z�6&4�2��Z�v*4�2��Z wj�Ԋ�jj�jgBS+S��n�BS+���r��M��=�Z�6&4�"�lj��B��V&WS�N��V&WS�N��V&WS�N��V$�M�^^�����jj�ܩ����jj�ܩ����jj�ܩ�Ԋ䳩���Z�\M-�;�Z�\M-�;�Z�\M-�;�Z������+�Z�\M-�;�Z�\M-�;�Z�\M-�;�Z�|6�zy�BS+���r�BS+���r�BS+���r�BS+�ϦV//Thj�a���/h4�n_P��j^�mSk���}S��{8>\��5����֦�����������_z��������>|���S]1/߷�7�;ͭ�����j�ܾ��m�}�Ͷ��ͽ�Paۜɵm�Saۜɵm�Saۜɵm�Sa��綹�*l�3��� w*l�3��� w*l�3��� w*l�#��6��B�ms&�N�ms&�N�ms&�N�ms$���^^��m���6�ܩ�m���6�ܩ�m���6�ܩ�m��s����͙\�f�;�͙\�f�;�͙\�f�;�͑|n�{y�¶9�k�r�¶9�k�r�¶9�k�r�¶9��ms//T�6grm�A�T�6grm�A�T�6grm�A�T�6G�m�� -��L�m3ȝ -��L�m3ȝ -��L�m3ȝ -��D~�mn� +M�H>�Z��P�������S�������S�������S���gS��*4�2��Z w*4�2��Z w*4�2��Z w*4�"�lj��B��V&WS�N��V&WS�N��V&WS�N��V$�M�^^�����jj�ܩ����jj�ܩ����jj�ܩ��J�7M�V^�����jj�ܩ����jj�ܩ����jj�ܩ�Ԋ䳩���oje����1�������S�������S��V�VS�W;�Z�ZM-p;�Z�\M-�;�oje����1���gS�w*4�2��Z wj���ܣ�jcBS+S��n�BS+�ϦV//Ծ���GS�Ƅ�V�VS�N��V&WS�N��V$�M�^^�����jj�ܩ����jj�ܩ����jj�ܩ�Ԋ䳩���Z�\M-�;�Z�\M-�;�Z�\M-�;�Z�|6�zy�BS+���r�BS+���r�BS+���r�BS+�ϦV//Thjer5�@�Thjer5�@�Thjer5�@�ThjE����� +M�L��ȝ +M�L��ȝ +M�L��ȝ +M�D~��j� +M�L��ȝ +M�L��ȝ +M�L��ȝ +M�H>�Z��P�������S�������S�������S���gS��*4�2��Z w*4�2��Z w*4�2��Z w*4�"�lj��B��V&WS�N��V&WS�N�Z�{4�@mLhjE����݅ +M�L��ȝ�6�2����["4�2��Z�v*4�"�lj��B�Z�{4�@mLhjej5���Thjer5�@�Ծ������΄�V�VS�N��V&WS�N�Z�{4�@mLhjE����݅ +M�L��ȝ +M�L��ȝ +M�L��ȝ +M�H>�Z��P�������S�������S�������S���gS��*4�2��Z w*4�2��Z w*4�2��Z w*4��MS��W*4�2��Z w*4�2��Z w*4�2��Z w*4�"�lj��B��V&WS�N��V&WS�N��V&WS�N��V$�M�^^���j�PYS^�hjݾ���ռ�ۦ��Ou����i�p|�@Sk<����M����?��Ӈ���������ϯ������?}����b^�:�ooo�w�[��e�ն�}�c�|�ڛm��m�{u�¶9�k�r�¶9�k�r�¶9�k�r�¶9��ms//T�6grm�A�T�6grm�A�T�6grm�A�T�6G�m�� ��L�m3ȝ ��L�m3ȝ ��L�m3ȝ -��H>�ͽ�P�ms��fP�͙Z�fp;�͙\�f�;��6Gnm�{�3aۜ��m�Saۜɵm�S�ms��fP�͑zn�{w�¶9�k�r�����=�͠6&l�3����v*l�#��6��B��͙{l�AmL�6gjm���T�6grm�A�T�6G�m�� +��H>�ͽ�Paۜɵm�Saۜɵm�Saۜɵm�Sa��綹�*l�3��� w*l�3��� w*l�3��� w*l�#��6��B�ms&�N�ms&�N�ms&�N�ms$���^^��m���6�ܩ�m���6�ܩ�m���6�ܩ�m��s����͙\�f�;�͙\�f�;�͙\�f�;�͉�f���+�͙\�f�;�͙\�f�;�͙\�f�;�͑|n�{y�����=�͠6&l�3����v*l�3��� wj�m���6�jg¶9Sk�n�¶9�k�r�����=�͠6&l�#��6��B�ms&�N��͙{l�AmL�6gjm���T�6G�m���o�3��6�ژ�m���6�۩�m���6�ܩ�m��s����͙\�f�;�͙\�f�;�͙\�f�;�͑|n�{y�¶9�k�r�¶9�k�r�¶9�k�r�¶9��ms//T�6grm�A�T�6grm�A�T�6grm�A�T�6G�m�� ��L�m3ȝ ��L�m3ȝ ��L�m3ȝ -��H>�ͽ�Paۜɵm�Saۜɵm�Saۜɵm�Sa��綹�*l�3��� w*l�3��� w*l�3��� w*l�#��6��B�ms&�N�ms&�N�ms&�N�ms$���^^��m���6�ܩ�m���6�ܩ�m���6�ܩ�mN�7��V^��m���6�ܩ�m���6�ܩ�m���6�ܩ�m��s����͙\�f�;�͙\�f�;�͙\�f�;�͑|n�{y�¶9�k�r�¶9�k�r�¶9�k�r�¶9��ms//T�6grm�A�T�6grm�A��~ۜ�Ƕ�Ƅms�����]��m���6�ܩ��9S��f�%¶9k�j�¶9��ms//�~ۜ�Ƕ�Ƅms�ֶ�N�ms&�N��͑[��^�L�6gjm���T�6grm�A��~ۜ�Ƕ�Ƅms�����]��m���6�ܩ�m���6�ܩ�m���6�ܩ�m��s����͙\�f�;�͙\�f�;�͙\�f�;�͑|n�{y�¶9�k�r�¶9�k�r�¶9�k�r�¶9��l�[y�¶9�k�r�¶9�k�r�¶9�k�r�¶9��ms//T�6grm�A�T�6grm�A�T�6grm�A�T�6G�m�� -��v��m���m�q�mn^�_�m~X�".��=������K;������������}����������/>�����庻�^�Aȍ�_�q�p]t������;�����E�7���������_���4ʝ�!?�N��w���O�ܩ�����~���aT���;^��{>�&w�n�O��唾��i�;uC~�ϱ��aTsü|2��{�>�n���E엏���$r= �Jݐ/��`�~}���0/���|I����v�|�h��=_�F�S���G��=f�^&�37̧���~��it;uC~^�^�)}���(w��5⑩�,��!�g�W*dA2�� w*dA2�� w*dA2�� w*dA"�̂��B�,H&W�N�,H&W�N�,H&W�N�,H$�Y�^^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ���3��� �\Y�;� �\Y�;� �\Y�;� �|fAzy�B$�+r�B$�+r�B$�+r�B$��,H//TȂdreA@�TȂdreA@�TȂdreA@�TȂD��� -Y�L�,ȝ -Y�L�,ȝ +��H>�ͽ�Paۜɵm�Saۜɵm�Saۜɵm�Saۜ�o�ͭ�Raۜɵm�Saۜɵm�Saۜɵm�Sa��綹�*l�3��� w*l�3��� w*l�3��� w*l�#��6��B�ms&�N�ms&�N�ms&�N�ms$���^^��m���6�ܩ�m���6�ܩ��9s�m3�� ��H=�ͽ�Paۜɵm�S�ms�^�� ~K�ms&ֶ�N�ms$���^^���9s�m3�� ��L�m3�� +��L�m3ȝ�o�#��ͽڙ�m���6�۩�m���6�ܩ��9s�m3�� ��H=�ͽ�Paۜɵm�Saۜɵm�Saۜɵm�Sa��綹�*l�3��� w*l�3��� w*l�3��� w*l�#��6��B�ms&�N�ms&�N�ms&�N�ms"��6��J�ms&�N�ms&�N�ms&�N�ms$���^^��m���6�ܩ�m���6�ܩ�m���6�ܩ�m��s�������7�6���7�n�ܼ��z����E\��{��㩗�v\���Ϗ����/?�������>���a��_>|�S����uw=�������������aw:~����so^u�)��iw=�¢;��i�;uC~ޝ���l/_�F�S7������2��è6�}��aw���|<M�Bݐ�v��)}���(w���;�c��è6�y�d��|}�N����/���?(H�z䕺!_>��+����0���a^>�����ק��� ���.�{�>�r�ޗ����{�Ƚ>Ljgn�O���5�����v������S����Q�� �k�#S�Y�%B$�,H�.TȂdreA@�TȂdreA@�TȂdreA@�TȂD��� Y�L�,ȝ -Y�H>� ��P!�ɕ�S!�ɕ�S!�ɕ�S!��o� ��R!�ɕ�S!�ɕ�S!�ɕ�S!�g��j���#jcB$S+n�B$�+r��Y�ȭ,H�v&dA2�� �v*dA2�� wj���#jcB$R�,H�.TȂdreA@��>��G�Ƅ,H�V�N�,H$�Y�^^�}$s�,�� Y�L�,�� Y�L�,ȝ -Y�H>� ��P!�ɕ�S!�ɕ�S!�ɕ�S!�g��*dA2�� w*dA2�� w*dA2�� w*dA"�̂��B�,H&W�N�,H&W�N�,H&W�N�,H$�Y�^^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ���3��� �\Y�;� �\Y�;� �\Y�;� ��&��+� �\Y�;� �\Y�;� �\Y�;� �|fAzy�B$�+r�B$�+r�B$�+r�B$��,H//TȂdreA@�TȂdreA@�TȂdreA@�TȂD��� Y�L�,ȝ -Y�L�,ȝ�gA2�Ȃ�ژ���3һ� �\Y�;�͂d�5�DȂdbeA@�TȂD����gA2�Ȃ�ژ���ʂ�۩���ʂ�ܩ}$r+ҫ� Y�L�,�� -Y�L�,ȝ�gA2�Ȃ�ژ���3һ� �\Y�;� �\Y�;� �\Y�;� �|fAzy�B$�+r�B$�+r�B$�+r�B$��,H//TȂdreA@�TȂdreA@�TȂdreA@�TȂ$�,H+�TȂdreA@�TȂdreA@�TȂdreA@�TȂD��� +Y�H>� ��P!�ɕ�S!�ɕ�S!�ɕ�S!�g��*dA2�� w*dA2�� w*dA2�� w*dA"�̂��B�,H&W�N�,H&W�N�,H&W�N�,H$�Y�^^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ���3��� �\Y�;� �\Y�;� �\Y�;� �|fAzy�B$�+r�B$�+r�B$�+r�B$��dAZy�B$�+r�B$�+r�B$�+r�B$��,H//�>��G�Ƅ,H�V�N�,H&W�N�� �[Y�^�LȂdjeA��TȂdreA@��>��G�Ƅ,H��Y��]����ʂ�ܩ}$s�,�� Y�L�,�� +Y�H>� ��P�,H�YP� �ZYp;� �\Y�;� �|fAzy�B$�+r�B$�+r�B$�+r�B$��,H//TȂdreA@�TȂdreA@�TȂdreA@�TȂD��� Y�L�,ȝ Y�L�,ȝ Y�L�,ȝ -Y�H>� ��P!�T,�,����}A��i;Ҽ��:r\>���u}d<���N�����_������?{��ۇo�9�������7Ri������Y���e�Qq���Fŝ��5*zw�B�"��Qr�����=�6&4*2��v*4*�M���Wjߨ�ܣQjcB�"S�Qn�B�"��Qr����ȭFE�v&4*2��v*4*2� wjۨ��k��o�Ш�ijQѫ�\� +Y�H>� ��P!�ɕ�S!�ɕ�S!�ɕ�S!�g��*dA2�� w*dA2�� w*dA2�� w*dA�M��W*dA2�� w*dA2�� w*dA2�� w*dA"�̂��B�,H&W�N�,H&W�N�,H&W�N�,H$�Y�^^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ���3��� �\Y�;� �\Y�;�ςd��1!�g�w*dA2�� wj���k�o����ʂ�ک���3���ςd��1!����S!�ɕ�S�,H�V�W;� �ZYp;� �\Y�;�ςd��1!�g�w*dA2�� w*dA2�� w*dA2�� w*dA"�̂��B�,H&W�N�,H&W�N�,H&W�N�,H$�Y�^^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ�I�7Y�V^����ʂ�ܩ���ʂ�ܩ���ʂ�ܩ���3��� �\Y�;� �\Y�;� �\Y�;� �|fAzy�B��X�YxA#r����v�yIu�|��?��,�x�奝v�������������ӷ��Rs������o�������q�2��V���e7��;/�kT��B�FE&W��N��{4*@mLhTdj5*��ThT$�FE+�ԾQ��G��ƄFE�V��N�FE&W��N��[��^�LhTdj5*��ThTdr5*@�ԶQ���F���Q�g��W*4*2� w*4*2� w*4*2� w*4*"�lT��B�FE&W��N�FE&W��N�FE&W��N�FE$���^^�Ш��jT�ܩШ��jT�ܩШ��jT�ܩШ��Q���\� �;�\� �;�\� �;�|6*zy�B�"��Qr�B�"��Qr�B�"��Qr�B�"��FE//ThTdr5*@�ThTdr5*@�ThTdr5*@�ThTD�٨�� ��L�Fȝ ��L�Fȝ ��L�Fȝ -��H>��P�Q��ը��S�Q��ը��S�Q��ը��S�Q�g���*4*2� w*4*2� w*4*2� w*4*"�lT��B�FE&W��N�FE&W��N�FE&W��N�FE$���^^�Ш��jT�ܩШ��jT�ܩШ��jT�ܩШH�7��V^�Ш��jT�ܩШ��jT�ܩШ��jT�ܩШ��Q���oTd�Ѩ��1�Q��ը��S�Q��ը��S�FE�V��W;�Z� -p;�\� -�;�oTd�Ѩ��1�Q�g��w*4*2� wjߨ�ܣQjcB�"S�Qn�B�"��FE//ԾQ��G��ƄFE�V��N�FE&W��N�FE$���^^�Ш��jT�ܩШ��jT�ܩШ��jT�ܩШ��Q���\� +��H>��P�Q��ը��S�Q��ը��S�Q��ը��S�Q��o��R�Q��ը��S�Q��ը��S�Q��ը��S�Q�g���jߨ�ܣQjcB�"S�Qn�B�"��Qr����ȭFE�v&4*2��v*4*2� wjߨ�ܣQjcB�"R�FE�.ThTdr5*@�ԾQ��G��ƄFE�V��N�FE$���^^�}�"s�F�� ��L�F�� +��L�Fȝ +��H>��P�Q��ը��S�Q��ը��S�Q��ը��S�Q�g���*4*2� w*4*2� w*4*2� w*4*"�lT��B�FE&W��N�FE&W��N�FE&W��N�FE$���^^�Ш��jT�ܩШ��jT�ܩШ��jT�ܩШ��Q���\� +�;�\� +�;�\� +�;���Q��+�\� �;�\� �;�\� �;�|6*zy�B�"��Qr�B�"��Qr�B�"��Qr�B�"��FE//ThTdr5*@�ThTdr5*@�ThTdr5*@�ThTD�٨�� ��L�Fȝ -��L�Fȝ -��L�Fȝ -��D~Өh� -��L�Fȝ -��L�Fȝ -��L�Fȝ -��H>��P�Q��ը��S�Q��ը��S�Q��ը��S�Q�g���*4*2� w*4*2� w*4*2� w*4*"�lT��B�FE&W��N�FE&W��N��{4*@mLhTD�٨�݅ -��L�Fȝ�6*2�ڨ��["4*2��v*4*"�lT��B��{4*@mLhTdj5*��ThTdr5*@�ԾQ�ը��΄FE�V��N�FE&W��N��{4*@mLhTD�٨�݅ +��L�Fȝ�7*2�hT�ژШ�ԳQѻ�\� +�;�mTd�Q�DhTdb5*@�ThTD�٨���7*2�hT�ژШ��jT�۩Ш��jT�ܩ}�"r�Qѫ� ��L�F�� +��L�Fȝ�7*2�hT�ژШ�ԳQѻ�\� +�;�\� +�;�\� +�;�|6*zy�B�"��Qr�B�"��Qr�B�"��Qr�B�"��FE//ThTdr5*@�ThTdr5*@�ThTdr5*@�ThT$�FE+�ThTdr5*@�ThTdr5*@�ThTdr5*@�ThTD�٨�� ��L�Fȝ ��L�Fȝ ��L�Fȝ -��H>��P�Q��ը��S�Q��ը��S�Q��ը��S�Q�g���*4*2� w*4*2� w*4*2� w*4*�M���W*4*2� w*4*2� w*4*2� w*4*"�lT��B�FE&W��N�FE&W��N�FE&W��N�FE$���^^�Шhz -i�^�hTܾ��QѼ�Ҩx�F��a����4*�S//�amT���?��~|��ۇϟ����7GO�/G�7�;���i�\�#xwz�� ]�*�ܛ�Y����z}|�����קQ�� �yw�����L�>�r�nȯ���|M���(w�}�e�t/��>�&y�nȗO�ᚾ��i�;uC�|:��%��O�ܩ���9>�o��4ʝz_~]>��>}���$/� ������>�F�S7�˧�?�o�x�Nݐ�m��=z?�6&�~"�����B��O&W��N�{?�{�~@mL��dj�~��T��$��O+�Ծ���G��Ƅ�O�V��N��O&W��N�{?�[��^�L��dj�~��T��dr�~@�Զ����������g�W*�~2�z? w*�~2�z? w*�~2�z? w*�~"�����B��O&W��N��O&W��N��O&W��N��O$���^^��������ܩ�������ܩ�������ܩ�������z?�\��;z?�\��;z?�\��;z?�|�~zy�B�'���r�B�'���r�B�'���r�B�'���O//T��dr�~@�T��dr�~@�T��dr�~@�T��D����� -��L��ȝ -��L��ȝ +��H>��P�Q���F��Ѩ�}Am��yI�Q������?��hT��^^��ڨ���?������ݷ�?}-9��o��_�*ow�����;��G�������U�7/��Χ����p�ݑ�O�ܩ���ty��|}�Nݐ_w�����קQ�������<^ҷ}<M�Bݐ/���5}���(w�|�tN�K*_�F�S7�˧s|����i�;����|:�}����I^����9�ӷ}<�r�nȗOgH���4ʝ�!_�<�{�~@mL��D����݅ +��L��ȝ��~2����ژ�������۩��I�7��V^�}�'s���� ��L���� +��L��ȝ��~"�z?�ڙ�������۩�������ܩm�'S���%B�'��O�.T��dr�~@�T��dr�~@�T��dr�~@�T��D����� ��L��ȝ -��H>{?��P�������S�������S�������S����oz?��R�������S�������S�������S���g輪j���ܣ�jcB�'S��n�B�'���r����ȭ�O�v&�~2�z?�v*�~2�z? wj���ܣ�jcB�'R��O�.T��dr�~@�Ծ���G��Ƅ�O�V��N��O$���^^�}�'s���� ��L���� ��L��ȝ -��H>{?��P�������S�������S�������S���g輪*�~2�z? w*�~2�z? w*�~2�z? w*�~"�����B��O&W��N��O&W��N��O&W��N��O$���^^��������ܩ�������ܩ�������ܩ�������z?�\��;z?�\��;z?�\��;z?������+z?�\��;z?�\��;z?�\��;z?�|�~zy�B�'���r�B�'���r�B�'���r�B�'���O//T��dr�~@�T��dr�~@�T��dr�~@�T��D����� ��L��ȝ -��L��ȝ��~2����ژ���Գ�ӻz?�\��;���d���D��db�~@�T��D�������~2����ژ�������۩�������ܩ}�'r��ӫ� ��L���� -��L��ȝ��~2����ژ���Գ�ӻz?�\��;z?�\��;z?�\��;z?�|�~zy�B�'���r�B�'���r�B�'���r�B�'���O//T��dr�~@�T��dr�~@�T��dr�~@�T��$��O+�T��dr�~@�T��dr�~@�T��dr�~@�T��D����� +��H>{?��P�������S�������S�������S���g輪*�~2�z? w*�~2�z? w*�~2�z? w*�~"�����B��O&W��N��O&W��N��O&W��N��O$���^^��������ܩ�������ܩ�������ܩ�������z?�\��;z?�\��;z?�\��;z?�|�~zy�B�'���r�B�'���r�B�'���r�B�'���~Zy�B�'���r�B�'���r�B�'���r�B�'���O//Ծ���G��Ƅ�O�V��N��O&W��N�{?�[��^�L��dj�~��T��dr�~@�Ծ���G��Ƅ�O�����]��������ܩ}�'s���� ��L���� +��H>{?��P��O��Pz?�Z�p;z?�\��;z?�|�~zy�B�'���r�B�'���r�B�'���r�B�'���O//T��dr�~@�T��dr�~@�T��dr�~@�T��D����� ��L��ȝ ��L��ȝ ��L��ȝ -��H>{?��P����j�������}A���v�yI�������aw�J)��>������>��ӇO>���������~y����*���� �4ݭ���?3Tн��)�y�M�����RЙ�oD�(�o�(����bcB� 2+NЛ�٧ ����%����bcB� 2�IЛ�� "�$�ox�#H��F�z� -�ȬAo6&�"�:�٘P!�̊�fcB� 1�Akv&�"���٘��j�fcBy 2+<Л� ف�<��ٙ���J�fcBp 2�7Л� ��Ȭ�@o6&��, �fgBg 2+3Л� ��Ȭ�@o6&"��٘�H̳.К� m�Ȭ�@o6&�"���٘P�̊ +��H>{?��P�������S�������S�������S���g輪*�~2�z? w*�~2�z? w*�~2�z? w*�~�M崙W*�~2�z? w*�~2�z? w*�~2�z? w*�~"�����B��O&W��N��O&W��N��O&W��N��O$���^^��������ܩ�������ܩ�������ܩ�������z?�\��;z?�\��;���d����1���g�w*�~2�z? wj����k��o��������ک����������d����1�������S�������S��O�V�W;z?�Z�p;z?�\��;���d����1���g�w*�~2�z? w*�~2�z? w*�~2�z? w*�~"�����B��O&W��N��O&W��N��O&W��N��O$���^^��������ܩ�������ܩ�������ܩ��I�7��V^��������ܩ�������ܩ�������ܩ�������z?�\��;z?�\��;z?�\��;z?�|�~zy�B璘�D�xA��s����v�yI�������aw�J)��>������>��ӇO>���������~y����*���� �4ݭ���?3Tн��)�y�M�����RЙ�oD�(�o�(����bcB� 2+NЛ�٧ ����%����bcB� 2�IЛ�� "�$�ox�#H��F�z� -�ȬAo6&�"�:�٘P!�̊�fcB� 1�Akv&�"���٘��j�fcBy 2+<Л� ف�<��ٙ���J�fcBp 2�7Л� ��Ȭ�@o6&��, �fgBg 2+3Л� ��Ȭ�@o6&"��٘�H̳.К� m�Ȭ�@o6&�"���٘P�̊ �fcBR 1Ϣ@kv&�"�r�٘��j �fcBI 2+$Л� ��<+�ٙ���J�fcB@ 2�Л� ��Ȭx@o6&��,�fgB7 2+Л� рȬf@o6&"���٘��7���\�� ��J�fcB( 2�Л� ��ȬH@o6&$�,�fg�}�H<����-���Wm�^lL(Df�z�1�,@"V�����WI�^lLDf��z�1�@$1����)��;K��ؙ������fc��H<���- ��W�^lL��'��o�����xL�{�["�#�v��ؘ������fc��?1��kv&��#����٘0������fc��?2k�ߛ� 3��<W��ٙ��̚��fc��?2k�ߛ� ��Ȭqo6&L��\��fg®?2k�ߛ� ��ȬMo6&,�#���٘0�O�s�ߚ� [�Ȭ)o6&�#�v��٘�����fc?1�kv&��#����٘0ޏ����fc�r?2k�ߛ� ���|���̅ ��Ȭ�~o6&�#����٘�֏���fc�T?1ϥ~kv&��#�f��٘0ҏ����fc�B?2k�ߛ� ���<���ٙ�͏̚��fc�0?2k�ߛ� ��ȬQ~o6&L��\�fg�?2k�ߛ� c�Ȭ-~o6f�ď�c��{�a��x� -�;6��Y��l�v�y��}o}Ã�}d�������y.�[�3��}$�������ȫ�}/6&,�#���٘��>km�z�[�ȫ�}/6&�#�v��٘��>��}�}K��}��V�L��Gf��{�1a\�����Ƅe}dְ�7f��y��[�3aS�5���ƄA}d֞�7���Yc��lL��'湤o�΄}d�7F��Y��lLX�Gf �{�1a>�o��0a;�5���Ƅ�|d�n�7V�Y���lL��'湘o�΄�|d�\�7��Y[��lLX�Gf �{�1a&���J�5;6���;����f,�o^��z���׳� ������l��o�w��v������]�������}]�������x��u�LJ���6��?���eendstream +�;6��Y��l�v�y��}o}Ã�}d�������y.�[�3��}$�������ȫ�}/6&,�#���٘��>km�z�[�ȫ�}/6&�#�v��٘��>��}�}K��}��V�L��Gf��{�1a\�����Ƅe}dְ�7f��y��[�3aS�5���ƄA}d֞�7���Yc��lL��'湤o�΄}d�7F��Y��lLX�Gf �{�1a>�o��0a;�5���Ƅ�|d�n�7V�Y���lL��'湘o�΄�|d�\�7��Y[��lLX�Gf �{�1a&���J�5;6���;����f,�o^�a��o���O�����/g;��v���尻���'��z8��m����������S/��?>|�|]7�a���^�endstream endobj 1843 0 obj << /Type /Page @@ -7459,14 +7493,14 @@ endobj 1850 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [118.5554 681.345 176.4479 690.1917] +/Rect [118.5554 681.2254 176.4479 690.1917] /Subtype /Link /A << /S /GoTo /D (charts) >> >> endobj 1851 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [527.0237 681.345 538.9788 690.1917] +/Rect [527.0237 681.2254 538.9788 690.1917] /Subtype /Link /A << /S /GoTo /D (charts) >> >> endobj @@ -7475,14 +7509,14 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [142.4658 666.3363 244.6318 677.2402] /Subtype /Link -/A << /S /GoTo /D (2842) >> +/A << /S /GoTo /D (2836) >> >> endobj 1853 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 666.3363 538.9788 677.2402] /Subtype /Link -/A << /S /GoTo /D (2842) >> +/A << /S /GoTo /D (2836) >> >> endobj 1854 0 obj << /Type /Annot @@ -7573,14 +7607,14 @@ endobj /Border[0 0 0]/H/I/C[1 0 0] /Rect [118.5554 575.6763 236.5823 586.5802] /Subtype /Link -/A << /S /GoTo /D (2902) >> +/A << /S /GoTo /D (2896) >> >> endobj 1867 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [527.0237 575.6763 538.9788 586.5802] /Subtype /Link -/A << /S /GoTo /D (2902) >> +/A << /S /GoTo /D (2896) >> >> endobj 1868 0 obj << /Type /Annot @@ -7970,7 +8004,7 @@ endobj 1923 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [522.0424 193.908 538.9788 204.8119] +/Rect [527.0237 193.908 538.9788 204.8119] /Subtype /Link /A << /S /GoTo /D (modules-manual-optional) >> >> endobj @@ -8080,14 +8114,13 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1987 0 obj << -/Length 10209 +/Length 10208 /Filter /FlateDecode >> stream -xڕ�O�%Gz���|�^��I��̻�dK��A�Ë�g��L��&%��;����7��1�s��#��X�p�4���>�p,�7�c��m�����0~�k�S����:���0o�^�����:�:͟�8��c����۰�����x����v�~�����������/��8�ӟ������m�����o���˷����������?}����������O�����`��1����Y��6 ۶���<M�<�����{h>δ��|�q^��i�5����t>�N#����ӥ?������< �1�^Oݤv��.��^x=���v��.��p��4����۬�}��i�5�5���Y���i�^^g^�k����^^gZ�k����^^g,1��4��_�a|l��ӄ7�|�sw���F\S;�>���^{=���v�s��þ��4�����l�f��4�Mj/��>�k����^^gy��^O#�����2��~�F\S_�{y�yr���&�I���u���YL=���v��:��^{=���v�sX�}��i�5�5~�_V��{��4�Mj_��X�k��������6��uqM���u�;��4��?�묻{��4�Mj/����ӈkj/�Sn�ůӈkj/�3���_���������p���&�I���P���^{=���v�m8�{��4���˟='�گӈk�K|��<����4�mj/��ϫ�_���^^g[&�N#�����&~B\S_�Sy�eu���&�I���uܟE��HKfG.O3m���hkj/v��;�N#����y������y����4ښ����8��ůӈkj?�y���a�%���箧�nR;xy�mt>F\S;xy���+�ui����e�iw��4ښ�_��̳{��4�Mj/O3���a�%�#�����i�5�����X��uqM}�o㰟���z��&��/�tl��ӈkj߆}��k����^^g���^O#�����z��^Oޤv��:�9��uqM���u�ӽ�zqM���u��}��i�5�5~�יF���i�^^g�k����� �cr�PO#����s���:������q؎ٽ�z��&��/ø/��ӈkj/�����ӈkj/�����_�������N�����ӄ7���μ��^O#������~_J�F\S;xy���:������q��i�b%Nަv�yx�����i�5��o�z<6�N#����h_�uqM}�O�u�ѽ�z��&����٦�ůӈkj/�����ӈkj/�����_�����\^g^�k�� oR;xy����H�F\S;xy�q=\�:���v�c8�}��i�5�5���r���ӄ7�|�cw���F\S;�6,��^{=���v��:�?/�������Z�f=�;���nR;xy����y=���v��4�K�~Ꮙ�<�<�~�FZS_�[y����g�&�I���]�/ ��HKfGކ�1�w^O�������oZ=������q����]���̎<��~Cq�F[S;xy�ms>F\S;xy��~i�|-�e����4�Mj/O3��ӈkj/O3��M���^g<�k�N#����s��[͉ӄ7�|���n�8���v�m�N�����~��~7q�F\S_��:�[Љӄ7�|���^��i�5����Y��&�ӈkj/��,��_��ԗ�6�י��&�Ӏ������t�4�����nA'N#�����n_�uqM}�O�0�nA'Nޤv�y�����4����a�݂N�F\S;xy��a_�uqM}���uV����4�Mj/��v -:���u�ם�m^�q��Ĺ��?d�cx�P�~*�ׯ�E���H��>�q���_�����퇿����B����/������ׯ��?������?�?<����ڊ���������^��vO��y��R���c��^}���E���-���Mj^�2�Z�"\Sׂᚚ�L���Լ���Q��I�Z&^Z�kj^�2�Z�"\Sׂᚚ�<< +xڕ�O�%Ǚ��>E/Ʌ��?�.=c�؆W//��iX�6����;����7��1Rd�<�#��X�p�4���>�p,�7�c��m�����0~�k�S����:���0o�^�Ë?��u��e��O���1O��S�m��i���c<���x;�?��?��||z�}�?���O�X������}���6��������?���������_��������?������������S���ʏj����g��m��Ώn��aO���؇�=4gZ��q��8/��4ښ���a:��_���~��ҿ�E�c�kv�������nR;xy�}r/��F\S;xy�mz��uqM���m�پ��4��_��,�{��4�Mj/�3/��ӈkj/�3���ӈkj/�3�����uqM}���0>6���i��۹��^O#��|��p���F\S;�9l�a_�uqM}�o�u�s3�z��&����Y��ӈkj/��<�k����^^g�k�N#�����<��^Oޤv��:���,��F\S;xy�qv���F\S;�9��ž��4��?�/+�Ž�z��&��/�z���ӈkj��e�\�:���v��:�f_�uqM}���u�ݽ�z��&����Y���i�5����)����i�5���י��ůӈk�k�Q^g|��^Oޤv�e(�s���F\S;�6��ѽ�zqM���Ϟ�}��i�5�%���p���q�6�������ůӈkj/��-��_���~�Y�!����β��^Oޤv��:�Ϣ�a�%�#���6���i�5���?;���_�����<����_���̎��y��umM���p����i�5���ü?\��0Ғ�Z^��l�s��d7��<�6�w^O#���<����:��dv��2˴��umM}���i�ٽ�z��&�����l��0Ғّ�ˌ�{��4ښ���az����:����Ʒq�����K=Mx����a:6���i�5��oþ���ӈkj/���M������^^g=�k�� oR;xy��]�:���v��:��^{=���v��:�þ��4��?��L�{��4�Mj/�3���ӈkj߆�1��L����~�9��~�F\S_��8l��^{=Mx����a����i�5�����V���i�5����Y��ůӈk�k�Q^��M���i�^^g��k����^^gr�/%N#�����x��~�F\S_��8��4��oS;�<<��t��4����a=��_���~�c���:����Ƨ�:��^{=Mx�����l����i�5����Yg���i�5����Yf�گӈk�k|.�3/��ӄ7�����~E$N#����θ.~�F\S;�1��;��4��_�a9w���i�>类�^O#��|��p���F\S;xy�����HK�ky-O�����d7��<��p>F\S;xy�ť?����[�e��N#������~�3Nޤv��.��a�%�#o����;�����~�i�/��F\S_��8��_Ԯ�DkfG��cw��8N����<Ͷ�w^O#���<��?��d����2����q��&��������i�5�������&�ӈkj/�3���_�����9�í��i�>��~7q�F\S;�6L�[Љӈkj?��p��8N#����Gy��-��i�>�{q/��4������w�i�5����Y�گӈk�K|����w�i���^^gr:qqM���uF�����~�c���:����ƧqO��� oR;�<l����qqM���0�nA'N#���������:�������:����q��&����Y;�z��:����6/ø��n�܇4�K�cx�P�~*�ׯ�E���H��>�q���_�����퇿����B����/������ׯ��?������?�?<����ڊ���������^��vO��y��R���c��^}���E���-���Mj^�2�Z�"\Sׂᚚ�L���Լ���Q��I�Z&^Z�kj^�2�Z�"\Sׂᚚ�<< Z�7�yA��kA�pM�Z&^Z�kj^�2�Z�"\SGA�&5/h�x-h��yA��kA�pM�Z&^Z�kj^в�mj^�2�Z�"\Sׂᚚ�L���Լ���Q��IMZ�}���̼�eҵ�E���-�-�55-hyv-h��yAˤkA�lM�Z&^Z�kjZ�2���E�d�-����Mj^�2�Z�"\Sӂ�i_-�%3/h�t-h���yA�ã�x���L�*h-�yAˤkA�lM�Z&^Z�kj^���(hޤ�-�-�55/h�x-h��yA��kA�pM�Z-��Լ�eⵠE���-�-�55/h�x-h��yA�ã�x���L���Լ�eⵠE���-�-�55/hyx��oRׂᚚ�L���Լ�eⵠE���-���Mj^�2�Z�"\Sׂᚚ�L���Լ�e�wA+��Լ�eⵠE���-�-�55/h�x-h��yA�ã�x���L���Լ�eⵠE���-�-�55/hyx��oRׂᚚ�L���Լ�eⵠE���-���Mj^�2�Z�"\Sׂᚚ�L�*h-�yAˣ��v���L���Ԭ�e��-�?&�-�-�55/hyx��oRӂ�i_-�%3/h�t-h���yA��kA�pMMZ�]Z@kf^�2�Z�"[Sׂᚚ�L�*h-�yAˣ��v���L���Լ�eⵠE���-�-�55/hyx��oRׂᚚ�L���Լ�eⵠE���-���Mj^�2�Z�"\Sׂᚚ�L���Լ�e�wA+��Լ�eⵠE���-�-�55/h�x-h��yA�ã�x���L���Լ�eⵠE���-�-�55/hyx��oR�V�� -Z�s>PV��>RSЂ��^~���� �z����WA���_�������Y�q��oEY����D�7x<�^�jڦ���h�O�>|̡�@��߾������ӈkj߇uZ6�N#����:��uqM}��S�o��^{=Mx�����<��ůӈkj߇���k����~���~�F\S_�Gy��p���&�I���u�ӽ�zqM���u����z�uqM���u�}��i�5�5~�יG���i�^^g�k����^^g��k����~���ή�~i�|-?�a>g���i����DZ�w^O#��|�ݶ�#-���̶�w~�F[S_����4��W}<Nަv��4o�����̎\^f���N����<�t�w~�F\S;�B��4��S�z�h���˰?N���i�5����t>�;����~�}忟E�cb��? �1�^Oݤv��.��^x=���v��.��{=�:���v��6�l_�uqM������,�{��4�Mj/�3/��ӈkj/�3���ӈkj/�3n��_���ο ~���^{=Mx����a;w���i�5����x��ӈkj?�m?�k�N#������:�i~�)Nޤv��:���8���v��������Ɠ����� +Z�s>PV��>RSЂ��^~���� �z����WA���_�������Y�q��oEY����D�7x<�^�jڦ���h�O�>|̡�@��߾������ӈkj߇uZ6�N#����:��uqM}��S�_��^{=Mx�����<��ůӈkj߇���k����~���~�F\S_�Gy��p���&�I���u�ӽ�zqM���u����z�uqM���u�}��i�5�5~�יG���i�^^g�k����^^g��k����~���ή�~i�|-?�a>g���i����DZ�w^O#��|�ݶ�#-���̶�w~�F[S_����4��W}<Nަv��4o�����̎\^f���N����<�t�w~�F\S;�B��4��S�z�h���˰?N���i�5����t>�;����~�}忟E�cb��? �1�^Oݤv��.��^x=���v��.��{=�:���v��6�l_�uqM������,�{��4�Mj/�3/��ӈkj/�3���ӈkj/�3n��_���ο ~���^{=Mx����a;w���i�5����x��ӈkj?�m?�k�N#������:�i~�)Nޤv��:���8���v��������Ɠ����� O~o<�x� OO�k*l<yxl<����������Ɠ��O9ޤ�Ɠ����� OO�k*l<yxl<����d���S�7���������Ɠ����� @@ -8108,52 +8141,22 @@ Z O~o<�x� OO�k*l<yxl<����������Ɠ�?m<�x� OO�k*l<yxl<����������Ɠ��O9ޤ�Ɠ����� -OO�k*l<yxl<����d���S�7���.yO�������ƽ��|�f�i����1��c���z���=b�����߿|�l<�o}��� s�e�<u7�b�(�������L��^|�l�pM��#���r�I��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM͗�<�.-��td���Qn7��t��t���KG�]����LX:��X:[Sa������R�M͗�<�.-��t�ѱt���ґ������/Yv,�f�ґG��ؚ +OO�k*l<yxl<����d���S�7���.yO�������Ƶ��|�f�i����1��c���z���=b�����߿|�l<�o}�/�� s�e�<u7�b�(�������L��^|�l�pM��#���r�I��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM͗�<�.-��td���Qn7��t��t���KG�]����LX:��X:[Sa������R�M͗�<�.-��t�ѱt���ґ������/Yv,�f�ґG��ؚ KGKG�kj�t�����a�Ȃ北�nRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM��#��#�5��,�^:��&��<<����TX:��X:\Sa���c�pM��#���r�I��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM��#��#�5��,�^:��&��<<����TX:��X:\Sa���c�pM��#���r�I��#��#�5��<<����TX:��X:\Sa������R�M��#��#�5��<<����TX:��X:\Sa���北oR�#ϮKG@K&,yt,����t��t���KG�KG9���t�ѱt���ґ������/yv]:Z2a�Ȣ北�nRa���c�pM͗�<�.-��t�ѱt���ґ��KG9ޤ�KG�]����LX:��X:[Sa���c�pM��#���r�I��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM��#��#�5��,�^:��&��<<����TX:��X:\Sa���c�pM��#���r�I��#��#�5��<<����TX:��X:\Sa������R�M��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM��#��#�5��,�^:��&��<<����TX:��X:\S�#ϮKG@K&,Y��t��M*,yx,���ґG_KG�L��#��#�5��,�^:��&5_:��t�d�ґG��ؚ KGKG�kj�tdٱt�Ӛ KGKG`k*,yx,���ґgץ#�%��,�^:��&��<<����TX:��X:\Sa���c�pM��#���r�I��#��#�5��<<����TX:��X:\Sa���北oRa���c�pM��#��#�5��<<����TX:r𧥣oSa���c�pM��#��#�5��<<����TX:��{�(ǛTX:��X:\Sa���c�pM��#��#�5��,�^:��&����w�>P]:z�@��Q������}ؖ���C��:���~�����?>�8o?���_�}�����������˗���/?���s[y|�_<�}���Q��N嗶�ٹ�"b���{�O?����~����˒ DK� b.K&-9���,��>t�|�ʚ �CK��a.K&�-9j��,�P:����dB�Б��a*k&� -9چ�,��5���dB�В�g�˒ -CG�K����P1��h�dB�В�^�˒ �BK�na.K&4�.��fB�В�U�˒ �BK�Ja.K& -9���,��&t�L�ʚ UBK�&a.K&�-9j��,�P"����dB�А� ���dB}В�=�˒ �AK��`.K&-9z��,��t�4�ʚ�W-�6s�c"�-7�9,�P��� �d�MA��`�J"�-7Z�9,�����d�A�������@ǽˁ)��P ��h�d�@�������@ˍN`K&4�.��f�u@�m����]@ˍ*`K&-9z��,��t��ʚ @K�`.K&��,9��,�P������dB�ϑ��_*k&��,9Z�,�������dB�ϒ��˒ m?G��~���P���h��dB�ϒ��˒ %?K��_.K&4��.���fB�ϒ�ݗ˒ �>K�j_.K&�,9z}�,���s�ԗʚ �>K�F_.K&��,9�|�,�P�����dB�ϐ��|��dB�ϒ�ŗ˒ >K� -_.K&�,9�{�,���s仼�ʚ �=K��^.K&��,9j{�,�Pڳ����dBcϑ��^*k&��,9�z�,��ճ���dBQϒ���˒ -=G�Kz���Pѳ�h��dB?ϒ���˒���,�v�r�c"4��.楰fB-ϒ���˒�v�,�����<(�Yj��rW2����w/�53��Ypm����D��Yn��rX2��g����e��x�ԕD��Yn��rX2�{g�Q��e�̋w\{w��1Zw�{��RX3�rg�Ѹ�eɄ��%G�.�%�v�]�\�Lh�9�]�Kë́��%G�.�%:v��\�L(�Yr��rY2�]��w�.�5�u�ͺ\�L��Yr��rY2�Tg�ѩ�eɄF�!?�2�Ʉ:�%G�.�%�t�U�\�L(�Yr��rY2�E��w�.�5*t� �\�L��Yr��rY2�<g�ѝ�eɄ�#�ŹT�L����\nk.�4�4����t������mP�{�smЙ���>���֏��������}�ܫ������/����~�~���~������L�}���E7�[tw'"��ݥ��`Ҋx�Z�� -��f�� -���9ޤB=�ã��BC�ã"��BI�ã%��BO���D�7�P����J���Ж��K���P���hL���Йp��D���P����M���М��N���P���hO���П��@��Mj^���ڡ�Z2�E��Q��[S�H��Ѥ�\S�.�eG�"�5�} -�5� -�55/UxvmU�-�Ы��X��M*T+<<��kjޮ��Z��Z2�`��Ѱ�[S�ca�w�"ǛԼf�ٵg�dB�£�j��B��ãm��B�����E�7�P����\���к��]���P���h^���н��|��M*�/<<��k*40<<*�k*�0<<Z�k*�0,�.b�x� -U�.�� -m�:�� -��F�� -��K9ޤB-�ã���B3�ã���B9�ã���B?���F�7�P����h�������i���P���hj�����p�F���P����k�������l���P���hm����۰�M*T7<<��k*�7<<��k*8<<�k*t8,�.q�x� -5��� -M�*�� -e�6�� -}�9ޤB��ã���B��ã�����Ϯ��%�}�;r�I�z��G�pMM}U<���%��К -=��9ޤ�UϮ]�%�u�5 -��55�|Xv�>rZ3�������[S����Q��\S��g��В ��� �ݤB�ã��B�ã��B�ã ��B���2H�7�P������������P -��h���������M*TC<<�!�k*�C<<�!�k*D<<"�k*tD��$��m*�D<<z"�k*4E<<�"�k*�E<<�"�k*�E,�.��x� -����� -����� -����� -���#9ޤB}$�1���@�@����I��O���S��K*O������1 ������h�:�G+�?�u*�}��۷����˿맛�ǰ�o_kx�Tw.?���΅M�T~X�GU���܇�ռ�4��x�}�Ӌ��N#��|����z�uqM���aܖ�ůӈk�k|.�����Z�� oR;xy�eu���F\S;xy����z�uqM���u�ݾ��4��_�댻{��4�Mj_���p���F\S;�>���^{=���v�sxo���ïӈk�k|��u��^Oޤv��:��^{=���v��:��^{=���v��:�d_�uqM}�o�u�y2�z��&���יg���i�5���י���i�5����W�گӈk�k|��屺�^Oޤv�e8�mu��4����a9v���i�5���ù���_����x������ӄ7����z��^O#��������k=�:���v��:�þ��4��?��̣{��4�Mj/�3���ӈkj/�3N��ӈkj?����D�:��d���0��{��4�Mj_��X�;������n��̎\^f[�;�N����;�cy�u3� �oS;xy�K�0Ғّ�������i�5������ίӈk�k|*O��:�&Z3;�2��}�zmM���0����i�5����n_��g������a:F���i���^�e������^�e�.~�F\S;xy�u���:����Ɨ�:��^{=Mx�����̋{��4�����L�{��4���������i�5�5�N����k�� oR;����ɽ�zqM���0�{��4����a��گӈk�k|+����מ�4�Mj/����@�ӈkj/��<�k����^^g�k�N#�����<��^Oޤv��:���,��F\S;xy�qv���F\S;�9��ž��4��� -�ǹ��^Oޤv�:���1����D���D#�� -���k*L4Z�=ј�M*L4zxL4��0���1����D���D#�� -�~O4�x� -���k*L4zxL4��0���1����D��?M4�x� -���k*L4zxL4��0���1����D����9ޤ���]'��L�h��h[Sa���c�pM�'-;&sZ3a�ѣc�lM��F��F�55�h��:��d�D�E���ݤ�D���D#���O4zv�hZ2a�ѣc�lM��F�'s�I�'=�N4-�0���1����D���D#�� -�~O4�x� -���k*L4zxL4��0���1����D����9ޤ�D���D#�� -���k*L4zxL4��0�h��Dc�7�0���1����D���D#�� -���k*L4Z�=ј�M*L4zxL4��0���1����D���D#�� -�~O4�x� -���k*L4zxL4��0���1����D��?M4�x� -���k*L4zxL4��0���1����D����9ޤ�D���D#�� -���k*L4zxL4��0�h��Dc�7�0���1����D���D#�� -���k*L4Z�=ј�M*L4zxL4��0���1������]'��L�h��{�1��T�h��h\SӉF��&����@k*L4Z�=ј�Mj>���u�hɄ�F���F�5&=<&��|�Ѳc�1�5&=:&��T�h��h\S�FϮ�@K&L4Z�=ј�M*L4zxL4��0���1����D���D#�� -�~O4�x� -���k*L4zxL4��0���1����D����9ޤ�D���D#�� -���k*L4zxL4��0���O�)ަ�D���D#�� -���k*L4zxL4��0�h��Dc�7�0���1����D���D#�� -���k*L4Z�=ј�M*L4&���D#|�:�������O4&�i�q;�:��vg��9����?���4��Z��z�d���˗�G{����l\endstream +_.K&�,9�{�,���s仼�ʚ �=K��^.K&��,9j{�,�Pڳ����dBcϑ��^*k&��,9�z�,��ճ���dBQϒ���˒ -=G�Kz���Pѳ�h��dB?ϒ���˒���,�v�r�c"4��.楰fB-ϒ���˒�v�,�����<(�Yj��rW2����w/�53��Ypm����D��Yn��rX2��g����e��x�ԕD��Yn��rX2�{g�Q��e�̋w\{w��1Zw�{��RX3�rg�Ѹ�eɄ��%G�.�%�v�]�\�Lh�9�]�Kë́��%G�.�%:v��\�L(�Yr��rY2�]��w�.�5�u�ͺ\�L��Yr��rY2�Tg�ѩ�eɄF�!?�2�Ʉ:�%G�.�%�t�U�\�L(�Yr��rY2�E��w�.�5*t� �\�L��Yr��rY2�<g�ѝ�eɄ�#�ŹT�L����\nk.�4�4����t������mP�{�smЙ���>���֏��������}�ܫ����������o�]���o?����_��V�¾}��Ӈ{Ѣ��-������R��0iE��@Y-pM�b��G3pM�n����oR���я�\S�!��Q��\S�$��ђ�\S�'a�wQ"ǛT�Jxxt%��ThKxx�%��T(Lxx4&��T�L8�Si"��T�Mxx�&��ThNxxT'��T(Oxx�'��T�OX�]���&5�Pxv�P�-�Т��Q���P���hR���y�²�L�Ӛ u +��>ؚ +� +�J����*<��*��L�UX�]���&�� +�55oWxv�W�-�P���hX���б��d��Mj^���ڳ�Z2�i��Q��[S�l��Ѷ�\S�oa�w�"ǛT�\xxt.��Th]xx�.��T(^xx4/��T�^X�]���&���5�5J-�5z~1r�I�*��GpM�6��GpM�B��G#pM�N��ߥ�oR�������\S����Q��\S�������\S��a�wA#ǛT�hxxt4��Thixx�4��T(jxx45��T�j8�SY#��T�kxx�5��ThlxxT6��T(mxx�6��T�mX�]���&�� �5�� �5 + �5:~�8r�I���G�pM�&��G�pM�2��G�pM�>��߅�oR�������\S����Q��\S�b�g�fВ �����ݤB��ã���� ��*�L���G�hM�����E�oR�gВ m���ؚ +������w>,;J9��P����}�������~���y�ók�hɄ��E���nR����\S���Q\S����\S�b�w$ǛT��xx�A��Th�xxTB��T(�xx�B��T�X�]��&�!��5�!��5 +" �5:"�TI�6j"=�5�"U�5�"m�5�"~Fr�I�ʈ�GgpM�ֈ�GmpM�∇GspM���oR�>����|�Z y�@i�$�H��{�����%�'^����u阆��o�}�n�u�⣕����:��>�?����������M�cX���5<E�;��D�s�¦i*?�߿�*�Tq���j^p��a<���z�_��������j=�:���v��0n����i�5�5>��Y��Y���ӄ7���β��^O#��������j=�:���v��:�n_�uqM}�/�u�ݽ�z��&��/��q��^O#��|��t���F\S;�9<��V���i�5�5�Nú?�k�� oR;xy�}t���F\S;xy�mt���F\S;xy�u���:����Ʒ�:�<�x=Mx�����̳{��4�����L�{��4����댫}��i�5�5�O��X�k�� oR;�2�綺�uqM�����{��4������w�گӈk�k�������i�^^g=�k����^^gy�ǵ~�F\S;xy��a_�uqM}���u�ѽ�z��&���יF���i�5����'���i�5�����p"sFZ2_ˏi��ٽ�z��&��/�q,��ӈkj߇y����HKfG./����_�������<ͺ�_�Ӏ���<��%�zi����e��p��4ښ����L�}��i�5�5>��q�R��y���>w=���v�}�·{��4����a�����L|���0�{��4�Mj/�O��ӈkj/�M�N#�����:��~�F\S_�Ky�eq���&�I���u�Ž�zqM���u�ս�zqM���u�mv��4��_�a|l��ӄ7�����^{=���v�}�ý�zqM����}��i�5�5����N�kOq��&����Y�_��i�5����Y��ӈkj/�����_�����^^g��k�� oR;xy�irSO#�����8��^O#�����b_�uqM�l���\�k�� oR;xS��h\Sa���c�pM��F��F�5&-��h��&&=<&�T�h��h\Sa���c�pM��F�'s�I��F��F�5&=<&�T�h��h\Sa����&S�M��F��F�5&=<&�T�h��h\Sa�����oR�FϮ�@K&L4ztL4���0���1�������9��0���1����D���D#���O4zv�hZ2a�Ѣ���nRa���c�pM�'=�N4-�0���1����D����9ޤ���]'��L�h��h[Sa���c�pM��F�'s�I��F��F�5&=<&�T�h��h\Sa�����oRa���c�pM��F��F�5&=<&�T�h��{�1ǛT�h��h\Sa���c�pM��F��F�5&-��h��&&=<&�T�h��h\Sa���c�pM��F�'s�I��F��F�5&=<&�T�h��h\Sa����&S�M��F��F�5&=<&�T�h��h\Sa�����oRa���c�pM��F��F�5&=<&�T�h��{�1ǛT�h��h\Sa���c�pM��F��F�5&-��h��&&=<&�T�h��h\S�FϮ�@K&L4Z�=ј�M*L4zxL4���D�G_��L��F��F�5&-��h��&5�h��:��d�D�G�D#ؚ +���kj>�h�1јӚ ��`k*L4zxL4���D�gF�%&-��h��&&=<&�T�h��h\Sa���c�pM��F�'s�I��F��F�5&=<&�T�h��h\Sa�����oRa���c�pM��F��F�5&=<&�T�ht��oSa���c�pM��F��F�5&=<&�T�h��{�1ǛT�h��h\Sa���c�pM��F��F�5&-��h��&&��Aw�>P�h|�@Ӹ�'���4Ѹ�a���������i�m����~�_~-]O�}����K��=�U���Y[�endstream endobj 1986 0 obj << /Type /Page @@ -8277,7 +8280,7 @@ xڍ c�� 7/�ג|���Z���o/������/�Z],��o�PRs��z{�����o���������M��b���_z��?�z�[������>����������>ne~nmÍR�� 3��y�~�v�?�r�O�ء�c����/^���W�����Ƿ�?z>�|��������������F�Lk|��س1�胋Y><������끒<�z<����!�: Y����Xz���[ ��Zbn=�AV�;i�0�u�!'WGg��֭^]胝�JC\�xw��s�_6��\h��J#��jಗ�4�u���^J,>�.�ɑ�LC\���$�I��J#��jಝ�ر�4�u���vBfǾ�.�����g������(��W�VO��ʎ}�!�[ �:�;����n5��DX|�!�[�x��<�|��F����e;y�c_i��V�����}�!�[ \��<=����n=�U�;��F����e;!��bV���e;>�c_i��V�.�D�}�!�[�x��5lbǾ���xr�ev�+ q�j�E>��i��V��B�}�!�[�x���ʎ}�~i5p�Nj��W���e;2%�i��V�턞Y|�!�[�������}�~i5����>v�+ q�j����ٱ�4�u��w�z��>�G<y�z�7�v��V��ԘY|�!�[ \�SR`n5pَ<��LC\��� �I��J#��j��U� CZu��&v�+ m�j�_��4�u���>�F��4��bo4=��֭^\k=��LC\�xw�־�!�:�r��z�+��K���j�gg��.���3�CZu�l&���3 m�z����";�F����e5���aH�NC��x�Gw; m�j�݅���=�g�xW{f�\V�VO.�}�!�[ ��Z+;����n5p�N���W���W�Nn��W�V���Y|�!�[ \�;;����n5p�N��g���7�N���W�V��xώ}�!�[ ��2�e�JC\�xw�Gz�3 q�zƻw�Ev�+��K��'�kbǾ�.�)��JC\��l'���3 q�zƇlG�"�F����e;��c_i��V/O���c_i��V���F�}�!�[�x�����/Vv��V�n��Y|�!�[ ���Fan5��F���g����Ne/|�i�_Z \�SBfn5p�N���W���e;)�c�i���3e;1�c_i�_Z \����4�u���v|n,>��\��LC\����]��J#��j����^V��^\���JC\��l��y� CZu��,�ɝ��J#��jಚ4ؙ�4�u���jK?g!�e���Z��>Ӑ֭g��^�=ϝF����e/�VҪӐ��#�3_ih�Vo�u�_�JC\����]���fѺӐ�k���x���[ \VS -;n5pY ���aH�γ���-X,��Ⱦ���&����4�u���j{5�NC\��,�wz�3 q�zƻwa����4�/�]����; q�j�Ņ�ޠ���\m���; q�zƇl��7��4�/�.�)� :; q�jಝ�^M��.�I��LC\���e;���x�~m5p�N`o��i��V��x�����n5��ʨ��g����|go��i�_Z <��ث�w�����Ag�!�[ \�S=����n=�Q��٫�w�V��d�����n5p�Nb�&�i��V��D��Ow�?���x��؝����}q��/'Z���7G�o��P��2�����O�a�N&_@~v���r�RO���y����?�eendstream +;n5pY ���aH�γ���-X,��Ⱦ���&����4�u���j{5�NC\��,�wz�3 q�zƻwa����4�/�]����; q�j�Ņ�ޠ���\m���; q�zƇl��7��4�/�.�)� :; q�jಝ�^M��.�I��LC\���e;���x�~m5p�N`o��i��V��x�����n5��ʨ��g����|go��i�_Z <��ث�w�����Ag�!�[ \�S=����n=�Q��٫�w�V��d�����n5p�Nb�&�i��V��D��Ow�?���x��؝����}q�Z/'Z���7G�o��P��2�����O�a�N&_@~v���r�RO���y����?�|eendstream endobj 2011 0 obj << /Type /Page @@ -8312,17 +8315,22 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 2019 0 obj << -/Length 2300 +/Length 2348 /Filter /FlateDecode >> stream -xڕَ��}���y���Z�uy�i��d��"�� H�@Kl�iITDi<�_��h�n��Ȫb�X7�D��o�8,6�I�a�g�Mվ�n��z�"�4��$�s�,`�٦�e�߬�L^߿�{�ln�(̳2��8mm�d������T?�a�N�2�C����i����8��L�W������E��Y�\#� �"/�cz6ol����i0�����=��(�C�Fc;aW�l�m`nIf�6!n����Vw#�<��=����W�E��<M�(Z'Q�t����y�y�d������i��i�7����P�i���V�����yJ8ONڡ�t�<.�t�_���P�M����~Pݨk���h�O�ʳ��A�qg�4�TW�ف���6O��Y�8��Z9��hA.!�~����S���� -Ó)�x1�3�7tΏ�ҝ� u�����8���N��o1�Pp������b��g�Wn�~�5�PWHJF0,$�~����Cf�Or��������Эҳw(r<���WqP�J'��� �*�%=�������~ -��2��L(N����7{�����{u<C{^�}ö��&�U�T����0/�|J5`8䗬L�</��|t�Z��8�C�97T֫��]m��o�EH��ئ��'����.��&M�(�P�ܷ�$%�~@���v�A�%�Qg��'��y7���+���t{&�E���[F�Q�iO�D����7a�1���Z7��MŸ�з'WN�m�t��{ �FU�W�u�>�AU~�rDP��\*G"��q��Q�W�n���aRn�bӨ�i��Đ�JY�|�A�A����+ 3%!����媪4T�:d0'����'���f�� OO��7�z�F8*�\Gdd&��e*�Ƙ��M�VQ��.�@�0p�'���1 �2�1d<�8@$l��V��k���uOn��-O*5�g�Ǝ37W1��\��`��l���v֑��&-��G �q��z <�x�x��z-+�z��3��4tf�<KVPT�1�n/�e�o�N5LfZ�M�M�I�YeY2���VZ�j���_M���Գ��I��i���[ҩ��7Bx?�� ��T;�j������ǝy�N��N�!J�!傛h�&,GH��"�����`�P%F*�pF�MĒ1����/?�n6�������j� ��H�"217"0�<ķ('�?3܌�u��Ư���w�}t �)H�F�;M��8,�[n\:����<(�B���yQ�����}I��l�ɥ�䒏��@b>w���f�vщ^5#8���RQx�99#���7���9�26��A�ѹ�o���:+��2��;x:�4bC�5�jƲz��o;���~k�_S/�(�!�I(�+J�E�B5f����Zr�V}ot��e$���$d �Gݹbs��R�m*���zZ�~Z�f��\T^��YU������Z� -����8���G2�?�Z���cH� �������T�3�9Fp��ٟ��d�4�\ ��'�]�PY��>���KVG�\��l��P� y�E��6�3c(�ӍGvkO!�~v7l�!ٻ��[=�X�����y�'��p�!�����쿧�l�a���;��p�����_��n�N4ԩ�_���_���� �|�U9��� -9#ECL�D�����8T�SwWlz� ��v�5-2O�a;!z�����.�q�_���G�����XTp���;���]���nk��[���$;���U�^�Eo����x5W����ȯt���<K2w��Ad,����o�5Ə�niN�W3NF�lWB@q��n�ml��=����?���0��ZĪ�T�� ?.6���c&�����\&��I`�vE�� -��)���LY�sxȚ���c �d >0�+a�\�N�x4�B~'G��� sy��~?�3[3�][�9�$�L2�>��{���i7��[��� �i&��g���cuB���rh.�h��^��3|��ί|=��cI6������>��T�^۞ -HQ����;}���|A�j�.����o�rI,��R������P/�!���쭇����6�{�� U�����M���X��G��0�ܼځ_��ҁ;|į[pbKӒ���n�{X*MO�����տn���24��_:�Fn��3�1��_� �ng�_h� �~O/�_��<-����g4������(�l�(�77i�i�O���n��������6endstream +xڍَ��}���y�[��:��4Gf2�`��v6Xl�@Kl�iYTDizz�>uіܚ�F-��X,�M:���/�)�H���$ϒ���*�9��ëXH�y&Y��d���"ܕI~��2ys���}��$Q�gevsw�*J�$�o��߃�G� �_m����vxxw4�GFS����N\�"L�l�\#� �"/�cz6om����7�����ޯ�(��I ƶ®�م��ܒ8̲]B�d�, +j[�'�<�� +��.{���QU�/�iE�&�∧�'�G̓/�$To�(,ߌ�?L�(�A;�f�R�����he��A�!<�����:YA���rG��Y�'�*`�|�z���I�����<����Ȥ�������dks�����_�������*��b{����2��^�0<���9�<�s~2�n����.�u�q�{>w�C����W��0�m;&�� ��rt�1BR2*�٨0`!���Q���8df��$�O|4Ñ��!��������UT��ɹ���=��fIo-n)�`g�[�5B��(#�S�00j��ި�a�=6!�^�#�ghϙ�7l�y4��j�Z�~��y�s��é �d�6��2_�Gg�͔���44�sCe��:���+���Z�m�AK�?�L��sC ��I��0�0�!��Ҥ$ҏ��-��q� � +Ò�Ĩ�S��v�<���v��Xm�q�"���f�,� ��p�M��mm�э��_S1�2����I���-��k��^��QUÕc��';�:�ߪ��,�ʑH�xg\�jl�9���J|�0)wA�i��4fxb�=i�,E>��Ԡ�`��r�����Z���rUU*f2��I�X����f�i!O���7����F8*�\Gdd&-�{�d*�Ƙ��K���,�]h���N0�4-c�Ue�c�p$q�H�$A�N�(2�=�A��<���Qt�Z��\�n3�����d����֑��f[@m������<�yT)��a��:-+�z����طf=KVPT�0��3x�W Ӏ���m� +�&�Ь�,�so+�e��u�F��|�IJ��N�ۜ�s��H����]okp,'T=S����vlj�v�:1:�[�(!��n�ћ�!K�Hrh��J�@��X� 6K��:��O�����Ia�V%/CC��#(B���EdbnD`0z�oQ�|b������_)�=���� +�lS�� j���q�[n�ܰt6��xPƅ��1���%��^��2��Z�K!ɜ���@b�t���&�vщ^78��f[Qx�%9#���7���9�26��A�й�o~��:+��2��;z:�4bCt�5�jƲz�o;���~k�_ S/�(�!�I(�+J�E�B5f����Zr�V}gt��e$��$d �GݥbS��R�l*���zZ�~Z�f��\T^��YU������Z� +����8���G2�?�N���M Y8�7��;SH�zS����X��*dnC�����7����<�j���7P}�k��������,0���Y��6��3c(�ӍGvkO!�~q7l�!ٻ��OzxY��J���'��p�!���ޙ���<� �s�p~���6����g4��C�|����y�NT�`HJ˱+���<cPXϾ6���EIϢL݄$�N�_��� +��7�Goro.�le��o?�>v��z~g�o��l�b�fu�1�w9�W��}|�S�H�&�O������{�� +��r�������G|\%��!@b�wn��t�!�����I{,Pk��$�$�"O�^�Ÿ����VL%��J�������엋 K2 ��A�/����8Ƿ�3�攕q5�dTNv%���&��V�1H' +�����S# +��n�E���@��2�b��[/3�#��ۿLer�,��aW�;�uy����䋐�J�p`༞=�H��S�i����oLjG�,�U��2�&�0���=6#���R1E�%��Q�TIC�zbo_�5��U�湿�Ҟ�a)�1�Xg����e�[ˡ�̃ Ovn&��G�uy��@�����g�u�i��A�NێJaQ���[��EPW�N���n-�~��(g��r�-�V����i�P/��"��y��=w��騍�R?�T�����fɷL%��Ć�z��m���� -�s�GA��N�ci����?����]Ke����Q>��w�-�6��F���S���B�Lq%���n�����5L^��eXB�X| +�̈́����t�(Y��Q�gN�a�hX���eӯ�endstream endobj 2018 0 obj << /Type /Page @@ -8388,244 +8396,245 @@ endobj /D [2018 0 R /XYZ 71.731 296.4057 null] >> endobj 2029 0 obj << -/D [2018 0 R /XYZ 71.731 276.5312 null] +/D [2018 0 R /XYZ 71.731 263.5798 null] >> endobj 2030 0 obj << -/D [2018 0 R /XYZ 294.1837 265.7366 null] +/D [2018 0 R /XYZ 294.1837 252.7851 null] >> endobj 2031 0 obj << -/D [2018 0 R /XYZ 71.731 245.647 null] +/D [2018 0 R /XYZ 71.731 232.6956 null] >> endobj 2032 0 obj << -/D [2018 0 R /XYZ 453.4051 234.8524 null] +/D [2018 0 R /XYZ 453.4051 221.901 null] >> endobj 2033 0 obj << -/D [2018 0 R /XYZ 454.1572 208.9495 null] +/D [2018 0 R /XYZ 454.1572 195.9981 null] >> endobj 1363 0 obj << -/D [2018 0 R /XYZ 71.731 188.86 null] +/D [2018 0 R /XYZ 71.731 175.9085 null] >> endobj 30 0 obj << -/D [2018 0 R /XYZ 164.538 145.7625 null] +/D [2018 0 R /XYZ 164.538 132.811 null] >> endobj 2034 0 obj << -/D [2018 0 R /XYZ 71.731 136.9397 null] ->> endobj -2035 0 obj << -/D [2018 0 R /XYZ 71.731 96.1436 null] ->> endobj -2036 0 obj << -/D [2018 0 R /XYZ 71.731 48.8169 null] +/D [2018 0 R /XYZ 71.731 123.9882 null] >> endobj 2017 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2039 0 obj << -/Length 2059 +2037 0 obj << +/Length 1973 /Filter /FlateDecode >> stream -xڭX�o�F��~(Dk�p�;I}M�Kt�õ�������pI�����R�,K��a���������A8H0J(����� ߜE��ޝaO2�4�)�����-�A������.`� ��4H(A)�i�X��)D��v6'< -1r��˺��pQ(�F�z�����g7��lN��p�QG��*�d��p�(E���*�At]!g���N��g��kz%�Jו���h��A -"cfD� *Mb���,��V�(�7�eG�,F)�S���+{%�,BG١IJ(��do�w�C��$�O%>�M�Q����(wW{䌉��l���ލ�;���e���߮�X��\��o�,�x;�� t!�[��T7Ht�a���9�KN�98`��U|1K�P��WG��,���z#�`��|�=0�a���VST��CPb�x����e��� ��G��F()ǡ�T�DY~u�����f���,f��Rl�,�f�����Í���+�Py�G�ϟ~��p���p7Я��Ȫ�,AJ0�F�-@�=��hg8 ײ��.����N������Vp%��`D"2z��^t�K��h�;��`�e�n�3����`DO%>�#�ND��0��l�� ʕM�3�CY֍�m��Cwm=��ݘ��b��w�uKǽ�5k���(a��("ey�k1#�����(�䱕U.��!�����//Z�*D�L�N8�8�p�4{I�����v@n�ژ�AMi�պ�ɐO�����py�V�θ����z)�G)}.�(=��E���������6lv$o_;ؼ��j���y�b�g�<��>��m�MNA�%JyA'��8P�(r���=N!Z�J!r����x��kEmJ�P�t�6�_�w�br��}T]�F�&h��p)�&� ^j����p��m�{��dp���`P��`�Q.��.��p�y�t�:p�B�屺=!&Cz�,���rp�#u����8B$a/�#�ϻ�@�۞��1�]��T�w�*�]��m�6�>�Tɉ���Vի�-�C����pn:X�3$��x8 џ,��d$y��k*�L�':��>���B�_�ڟe ��+7z,��ӝ��B�M#=Ѫ�Q� }q�a^W��k���.FU��9W�O]��ΛB6����%�ݖ=z��w�6J�KqQ��,@��J]����b{����25�BY����45�Y7�t��݅E�v�2Dn�Y2�h���i��=���c��n���L&k���VT��^�ٿJ��a���E��Xxe���[`�]�R�*w[�yKz���U�я���2����(���� ��Bl<�e�j��-����#�m�>�K�<ϧ���O6P$^���!��~Ou�\��l�2�)�}��֥��>�� Y����K�f�>�D��q .axqB�U�D�b����rX���R�ړ���H�hF��T�MS�r��{���-�Q�l�_����w~L.���5q�����M}����af�Lq�� t�Ҕf8�E�Ax*ف�55��Tۺ;�Ws4��L��G��uoD����i$8|�}���z���W{-}#���ڳu㧞��KORM*��Ŵ��܌ۛ�]�_~�~i�~B0��h9H�cK�7�L���Dz���K?�������p���4(�� -2n���x,�{��]�g��|=j�=.��)����۵�y��N(��%�ҿy��z$�2�����ߣ`��̼vR<�$B8��m�X#@'VʳOg��?��|1��q�kC �������]���)y�^��Dc��(N���Q�H�X��@ �2���B��d��T���|<c�Y �tb�cQ�iXp -�O�Nj�}���26ip�8O"�����"[W�{w���+7s}��\� �y��i�b8e���2��X��ܓ� #����d'��n0�R�{5J�N��jF�ߚ ��e���P����g$�ŷ3�E��|�a�)u_B��"�D7��g��[�����S���c�LCuH3��!B�2�uQy-5�)Jq���>�y�ݝS -��t�dN'�~H?p�K~�~endstream +xڭX[s�6~ׯ�NJ�D0$��ٱ;IӦ�&�v����E����ɯ�s���dY�v<��p9�|�R/�?�Ŕ�~ؒ�H0/��o [ofԑ,�bJty3;{�$ˈE�ͭ2FDq/�$�&�M���*�M���������^�꾳Û��v��/25������f�-xL� (8z����Y<9�p� !<�9`Zo6}Ut_^�n��`1I�"4��e��j΄�`O�ӜR�{\ʶ�ue'�D~���P��0EI�T�YY�s]�J�lYvθ�H£ı�k� � +QƦ":dF�e�p�����6$���[L%>�ܒ�H��#�v�����jӾTҙ���Ύ�[���eYTk�]������_���S�0CYev�s��_6J*�A��e���p &8��Ȓ�Ԝ�f�j�/���y�B�<f����p�t�~���QIݮaII(��),7J�g�r"��Ո%�/ +Y�_����)�'[dpf��A�*�%28�������k;�#0/�|����Ϡ]w�� �Y��Uu�%�.T)`*� �R�s��kU:TWR���첕��Vp%���P�6z���w�s_��Bw� /�x�8b'�@D�w�@<�L%>�#�NH��)��j�ۍ�����9�*���z��][cy;���+խc�ƒ�q/�Ǔ�}U�:J��#XY�J�Y�Nk�~�8yhU��#x�/E�����Ve��Hݱ ����P_Ɵ1uO%�y����ik��}1I��.�y7L��:�g��� ̊[�[e����JuJ�t�A9���۹�#J{�՛��=8�a0,9'��ʊ�~A(Wa$H��>��M�O�&�1��gCq*�iG�E�)۠'8�]�ejqr��v���lʢUv���5}�9!����C��v4i����@����G�ϽҘ���p��M"w{��$�M��<P8��������G"��L����r���v�)2�'y��W�+)�'�:a'��S�G�d�������6�MBt�{u�,���W�Z��D hT[�����߃���BH��'��?A����I��b��`8��g�����i����'8�G8q_j����J;;��;�����9��n8c�4�e� dG�J,��P)��͟���|<��|��c��琐���|ib�sO��{�����3��nrY݁8ޭԵ��/5�qn�����w��i��Y7�����E(xU�}DjR.�1�b�~ڻ�fD�* +m��X���u���ąK���*U�������\I�ʲ*��������z%Kev����z+�I�~��[�臢�ܲ�ߨ� ��}/ۻ\n�E����?)���]�>�+h ��k}�&�/��ÐKl�Wt�\��(��h�a���i��n�� ���9��K�i�.���q.��tB�U�Db��QIM �H9,m�f�Z�Hͣu$���=�n;b��u���G ���V�<;��5��\�A�k� ��u[c���Ĩ�O1�X_ m����:��?O�:�F��_�Ŷ�U���!Fk>~��R�&!@9m���/��"��_�]k�b��od��J;�n���}�H�I�q5"�V���هL.!�U���{�'� +SL�V�q��0^2N�+�v� +�.}�n��~-n�d.; �϶��m���et/3�[u�NV����[�p�$I@��٦ ��"��)��`�H���9\������X�>�~�3�2�h�f��I������%�m3���<ѰR�>�~��\��+Nr�]���G# �B�+i����84 + �c�*z��,"a�w&p�ʻ�,��6R;�au�z1�XP(Q��S#�XHx�6,4��'!����������uN�M��E{��� [W�:w���+;��9�tZ`��<����lz�v!�P���.X��L��i��&$����Wd�9 �K�F`O~����fմ�endstream endobj -2038 0 obj << +2036 0 obj << /Type /Page -/Contents 2039 0 R -/Resources 2037 0 R +/Contents 2037 0 R +/Resources 2035 0 R /MediaBox [0 0 609.7136 789.0411] /Parent 1938 0 R >> endobj +2038 0 obj << +/D [2036 0 R /XYZ 71.731 706.1869 null] +>> endobj +2039 0 obj << +/D [2036 0 R /XYZ 71.731 691.2429 null] +>> endobj 2040 0 obj << -/D [2038 0 R /XYZ 71.731 708.2048 null] +/D [2036 0 R /XYZ 154.4998 680.4483 null] >> endobj 2041 0 obj << -/D [2038 0 R /XYZ 91.6563 690.4109 null] +/D [2036 0 R /XYZ 71.731 680.3094 null] >> endobj 2042 0 obj << -/D [2038 0 R /XYZ 71.731 678.2915 null] +/D [2036 0 R /XYZ 91.6563 662.5156 null] >> endobj 2043 0 obj << -/D [2038 0 R /XYZ 138.8487 667.4969 null] +/D [2036 0 R /XYZ 71.731 650.3961 null] >> endobj 2044 0 obj << -/D [2038 0 R /XYZ 71.731 665.34 null] +/D [2036 0 R /XYZ 138.8487 639.6015 null] >> endobj 2045 0 obj << -/D [2038 0 R /XYZ 91.6563 649.5641 null] +/D [2036 0 R /XYZ 71.731 637.4447 null] >> endobj 2046 0 obj << -/D [2038 0 R /XYZ 71.731 624.4932 null] +/D [2036 0 R /XYZ 91.6563 621.6687 null] >> endobj 2047 0 obj << -/D [2038 0 R /XYZ 137.3147 613.6986 null] +/D [2036 0 R /XYZ 71.731 596.5978 null] >> endobj 2048 0 obj << -/D [2038 0 R /XYZ 71.731 612.3179 null] +/D [2036 0 R /XYZ 137.3147 585.8032 null] >> endobj 2049 0 obj << -/D [2038 0 R /XYZ 91.6563 595.7659 null] +/D [2036 0 R /XYZ 71.731 584.4225 null] >> endobj 2050 0 obj << -/D [2038 0 R /XYZ 71.731 583.6464 null] +/D [2036 0 R /XYZ 91.6563 567.8705 null] >> endobj 2051 0 obj << -/D [2038 0 R /XYZ 136.5079 572.8518 null] +/D [2036 0 R /XYZ 71.731 555.751 null] >> endobj 2052 0 obj << -/D [2038 0 R /XYZ 71.731 572.7128 null] +/D [2036 0 R /XYZ 136.5079 544.9564 null] >> endobj 2053 0 obj << -/D [2038 0 R /XYZ 91.6563 554.919 null] +/D [2036 0 R /XYZ 71.731 544.8175 null] >> endobj 2054 0 obj << -/D [2038 0 R /XYZ 71.731 542.7996 null] +/D [2036 0 R /XYZ 91.6563 527.0236 null] >> endobj 2055 0 obj << -/D [2038 0 R /XYZ 128.5776 532.005 null] +/D [2036 0 R /XYZ 71.731 514.9042 null] >> endobj 2056 0 obj << -/D [2038 0 R /XYZ 71.731 530.6242 null] +/D [2036 0 R /XYZ 128.5776 504.1096 null] >> endobj 2057 0 obj << -/D [2038 0 R /XYZ 91.6563 514.0722 null] +/D [2036 0 R /XYZ 71.731 502.7288 null] >> endobj 2058 0 obj << -/D [2038 0 R /XYZ 71.731 489.0013 null] +/D [2036 0 R /XYZ 91.6563 486.1768 null] >> endobj 2059 0 obj << -/D [2038 0 R /XYZ 145.3244 478.2067 null] +/D [2036 0 R /XYZ 71.731 461.1059 null] >> endobj 2060 0 obj << -/D [2038 0 R /XYZ 71.731 476.0499 null] +/D [2036 0 R /XYZ 145.3244 450.3113 null] >> endobj 2061 0 obj << -/D [2038 0 R /XYZ 91.6563 460.274 null] +/D [2036 0 R /XYZ 71.731 448.1545 null] >> endobj 2062 0 obj << -/D [2038 0 R /XYZ 71.731 448.1545 null] +/D [2036 0 R /XYZ 91.6563 432.3786 null] >> endobj 2063 0 obj << -/D [2038 0 R /XYZ 122.2909 437.3599 null] +/D [2036 0 R /XYZ 71.731 420.2591 null] >> endobj 2064 0 obj << -/D [2038 0 R /XYZ 71.731 435.9791 null] +/D [2036 0 R /XYZ 122.2909 409.4645 null] >> endobj 2065 0 obj << -/D [2038 0 R /XYZ 91.6563 419.4271 null] +/D [2036 0 R /XYZ 71.731 408.0837 null] >> endobj 2066 0 obj << -/D [2038 0 R /XYZ 71.731 401.3948 null] +/D [2036 0 R /XYZ 91.6563 391.5317 null] >> endobj 2067 0 obj << -/D [2038 0 R /XYZ 450.945 388.5429 null] +/D [2036 0 R /XYZ 71.731 373.4994 null] >> endobj 2068 0 obj << -/D [2038 0 R /XYZ 518.6154 388.5429 null] +/D [2036 0 R /XYZ 450.945 360.6476 null] >> endobj 2069 0 obj << -/D [2038 0 R /XYZ 108.3457 375.5915 null] +/D [2036 0 R /XYZ 518.6154 360.6476 null] >> endobj 2070 0 obj << -/D [2038 0 R /XYZ 175.2191 375.5915 null] +/D [2036 0 R /XYZ 108.3457 347.6961 null] >> endobj 2071 0 obj << -/D [2038 0 R /XYZ 228.8127 375.5915 null] +/D [2036 0 R /XYZ 175.2191 347.6961 null] >> endobj 2072 0 obj << -/D [2038 0 R /XYZ 281.8583 375.5915 null] +/D [2036 0 R /XYZ 228.8127 347.6961 null] >> endobj 2073 0 obj << -/D [2038 0 R /XYZ 359.5411 375.5915 null] +/D [2036 0 R /XYZ 281.8583 347.6961 null] >> endobj 2074 0 obj << -/D [2038 0 R /XYZ 429.4832 375.5915 null] +/D [2036 0 R /XYZ 359.5411 347.6961 null] >> endobj 2075 0 obj << -/D [2038 0 R /XYZ 477.5574 375.5915 null] +/D [2036 0 R /XYZ 429.4832 347.6961 null] >> endobj 2076 0 obj << -/D [2038 0 R /XYZ 71.731 362.6401 null] +/D [2036 0 R /XYZ 477.5574 347.6961 null] >> endobj 2077 0 obj << -/D [2038 0 R /XYZ 140.4925 362.6401 null] +/D [2036 0 R /XYZ 71.731 334.7447 null] >> endobj 2078 0 obj << -/D [2038 0 R /XYZ 197.2193 362.6401 null] +/D [2036 0 R /XYZ 140.4925 334.7447 null] >> endobj 2079 0 obj << -/D [2038 0 R /XYZ 71.731 356.2192 null] +/D [2036 0 R /XYZ 197.2193 334.7447 null] >> endobj 2080 0 obj << -/D [2038 0 R /XYZ 419.446 344.7073 null] +/D [2036 0 R /XYZ 71.731 328.3238 null] +>> endobj +2081 0 obj << +/D [2036 0 R /XYZ 419.446 316.8119 null] >> endobj 1364 0 obj << -/D [2038 0 R /XYZ 71.731 298.7149 null] +/D [2036 0 R /XYZ 71.731 270.8195 null] >> endobj 34 0 obj << -/D [2038 0 R /XYZ 297.7505 255.6174 null] ->> endobj -2081 0 obj << -/D [2038 0 R /XYZ 71.731 255.4023 null] +/D [2036 0 R /XYZ 297.7505 227.722 null] >> endobj 2082 0 obj << -/D [2038 0 R /XYZ 71.731 246.7946 null] +/D [2036 0 R /XYZ 71.731 227.5069 null] >> endobj 2083 0 obj << -/D [2038 0 R /XYZ 71.731 231.9014 null] +/D [2036 0 R /XYZ 71.731 218.8992 null] >> endobj 2084 0 obj << -/D [2038 0 R /XYZ 71.731 216.9575 null] +/D [2036 0 R /XYZ 71.731 204.006 null] >> endobj 2085 0 obj << -/D [2038 0 R /XYZ 71.731 216.9575 null] +/D [2036 0 R /XYZ 71.731 189.0621 null] >> endobj -2037 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R >> +2086 0 obj << +/D [2036 0 R /XYZ 71.731 189.0621 null] +>> endobj +2035 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2091 0 obj << -/Length 1029 +2092 0 obj << +/Length 1119 /Filter /FlateDecode >> stream -xڥVm��4�~E$�q��m���{'���TC(M�6"��ĝ6~=DZӥ/l��؏�s��y�K?�(���jD��I���d[/�H�d��A����D#-�Lֻ�S���,Q��\�<YoO_�Ι~�Q�S��x��G��C5���c�5�?�?�=�O܂)�s ���'Ե�t��H�' -K����f(��s�m��g�}י�/�rt����d�#͙����qZ�m��/�g2'�Nd�#Nr�ǐ+�8& AZS��&ٝ�y��15�#jZ=Cg'�L�II�y��(�z��H��%�AKN��|����$�m��H�F9�H3B�p���kSl��T��p}0���b¤,\�썋�ʡ�)!�@:���As�!��,�>#�g��H*�>dJݨI�e��SU�P�6��M�l�>|�E���Y)H)�off> �h����^ئ)�m q6���{ߙmd�3[�e��٤P�u��E��д�m�ń"��:7�훢g���^�F�w�m�(�c���æa6L g��|\�r��d�C Z�����>�~qf������r.��@v+Q���۪�mc�h�� -eUlj�{����,����W�o��^(��� 6v�8UM/1H&��C�{ٯF���ш�\��'T6�]?�ּ����类�+n�|{����澩a�9��Ƿ�nĉ��]�t�\�XjuC=�:x -���mM��<�Vf_�c�$����'f��]��}_t���HS��H�$���̅K�B��� ��R�2�\�[[}eE1�b�l� -v��H�i�-W���8"�F�o?�Ws(1���݇r�I1q}cw*�YP�q�T�yj�TZa���;�<%�\��}#�f���d7|��sEy���V9� �fAA����cZ`�6��'� -���w��x�>8� �.��e<�Fp��+�#��3BP����F�=�����4�ζ�|~F$� p���?i���D����a�U+C��&�������|����Jendstream +xڥVm��4���"�x���tڽ�=8|XU��!��n�7%���3��^�fo��<q��y<���ÏD� �`�Q)hT�W8���7W$@ҀI�����c�FZR��� %Y�E� Y������5}�R�c��z�n�}9x�͡ܘ���۫��ѷ` +�|��uI��)*��Y��DL:2�3Cї�-���8�o���}�#!��fVp��4gz���l�Y�p�U�D\vA�E�J�T)H)��S]����|�" R��!a������z3*;$D���@�#�9=��Sk���xp�PKԨ@���ɳy�hH�0Q:���/I��o�fw~�A� �#)2$���1$�t�#���"�M�=*��0��Ԅ�i��}�������K��"�p�"�@�e�g����b9�QF�;1AR�G�o|���y��k�{�"36`J��C��DpW<���Мr�_&�������DJ"�Q�)Rj���f(���凲2���){Sض��������e�3��g�5A�������x���:P�;� N��ԙ�"�x�g(,�U �}dv�p����%X�(���������_'Bġ9v}[w�����P����Ұ7�*I������U=����3h���'��=�-��q9���K��o\�}(�����|?$T@M���2��s�X�sB��<�ps��~)"�D������mS֔�}e����a�!q����1�q��у��:��9�r�^Zs,o��˪�/|s��s�'ԥ��� 0"u(�M�q�毼�y�b��B���`|~�P�z�Y�ݚ]ٌm4�Z����$�[�:s�>���S&a^W�iA|2���Q8�_h�� ��ħ�ؕ �:��eV(f�]BL/�>����7Mxs��m�gx� ���n�� ŠF��{|5;���M��1?���P�a]��:ך�8��U�#�LMֿpm��$�߭����������~��Z�h�/�B����{�i�Y�)_N8f��tw��s����{k����u�2����+'0�����T��l�}5y� +u�6�|u�\��G����<�q-�g�}g�˪�!��:�(wF��삿��uٍendstream endobj -2090 0 obj << +2091 0 obj << /Type /Page -/Contents 2091 0 R -/Resources 2089 0 R +/Contents 2092 0 R +/Resources 2090 0 R /MediaBox [0 0 609.7136 789.0411] /Parent 1938 0 R -/Annots [ 2092 0 R ] +/Annots [ 2093 0 R ] >> endobj -2092 0 obj << +2093 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [309.34 515.1637 344.5475 532.1001] +/Rect [309.34 485.2758 344.5475 502.2123] /Subtype /Link /A << /S /GoTo /D (gloss-bugzilla) >> >> endobj -2093 0 obj << -/D [2090 0 R /XYZ 71.731 478.3019 null] ->> endobj 2094 0 obj << -/D [2090 0 R /XYZ 433.4537 455.3878 null] +/D [2091 0 R /XYZ 71.731 448.4141 null] >> endobj -2089 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R /F32 1266 0 R >> +2095 0 obj << +/D [2091 0 R /XYZ 433.4537 425.5 null] +>> endobj +2090 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2098 0 obj << +2099 0 obj << /Length 2170 /Filter /FlateDecode >> @@ -8640,64 +8649,64 @@ p s���� ��7�� :*|np(����0�M}�{�y �)mmh���@��Gz�}�G�I�D��^����twG���m?��_Uh����O�^__�1��h�v�0�J|:��i6zՂY�W-�(�qD ����gYt�,��<�߾��_�Xs�h�}���[�O��������m^")�>��J��)K����#�J��n�{�D�%w�z�0�'4��`�H�endstream endobj -2097 0 obj << +2098 0 obj << /Type /Page -/Contents 2098 0 R -/Resources 2096 0 R +/Contents 2099 0 R +/Resources 2097 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R -/Annots [ 2106 0 R 2107 0 R 2115 0 R 2117 0 R 2119 0 R 2121 0 R 2123 0 R 2125 0 R ] +/Parent 2132 0 R +/Annots [ 2107 0 R 2108 0 R 2116 0 R 2118 0 R 2120 0 R 2122 0 R 2124 0 R 2126 0 R ] >> endobj -2106 0 obj << +2107 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [507.0988 565.2764 538.9788 576.1803] /Subtype /Link /A << /S /GoTo /D (os-specific) >> >> endobj -2107 0 obj << +2108 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [70.7348 552.325 85.1806 563.2289] /Subtype /Link /A << /S /GoTo /D (os-specific) >> >> endobj -2115 0 obj << +2116 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 362.7319 134.1063 373.2623] /Subtype /Link /A << /S /GoTo /D (install-perl) >> >> endobj -2117 0 obj << +2118 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 344.4256 192.198 355.3295] /Subtype /Link /A << /S /GoTo /D (install-database) >> >> endobj -2119 0 obj << +2120 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 328.5501 167.1723 337.3968] /Subtype /Link /A << /S /GoTo /D (install-webserver) >> >> endobj -2121 0 obj << +2122 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 308.5601 151.8196 319.464] /Subtype /Link /A << /S /GoTo /D (install-bzfiles) >> >> endobj -2123 0 obj << +2124 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 292.6846 170.36 301.5313] /Subtype /Link /A << /S /GoTo /D (install-perlmodules) >> >> endobj -2125 0 obj << +2126 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [91.375 272.6946 210.0889 283.5985] @@ -8705,91 +8714,91 @@ endobj /A << /S /GoTo /D (install-MTA) >> >> endobj 1365 0 obj << -/D [2097 0 R /XYZ 71.731 718.3063 null] +/D [2098 0 R /XYZ 71.731 718.3063 null] >> endobj 38 0 obj << -/D [2097 0 R /XYZ 354.1294 703.236 null] +/D [2098 0 R /XYZ 354.1294 703.236 null] >> endobj 1366 0 obj << -/D [2097 0 R /XYZ 71.731 692.1839 null] +/D [2098 0 R /XYZ 71.731 692.1839 null] >> endobj 42 0 obj << -/D [2097 0 R /XYZ 196.1106 651.1593 null] ->> endobj -2099 0 obj << -/D [2097 0 R /XYZ 71.731 650.9442 null] +/D [2098 0 R /XYZ 196.1106 651.1593 null] >> endobj 2100 0 obj << -/D [2097 0 R /XYZ 71.731 632.3738 null] +/D [2098 0 R /XYZ 71.731 650.9442 null] >> endobj 2101 0 obj << -/D [2097 0 R /XYZ 187.6288 620.9326 null] +/D [2098 0 R /XYZ 71.731 632.3738 null] >> endobj -2105 0 obj << -/D [2097 0 R /XYZ 71.731 581.3809 null] +2102 0 obj << +/D [2098 0 R /XYZ 187.6288 620.9326 null] >> endobj -2108 0 obj << -/D [2097 0 R /XYZ 71.731 548.3399 null] +2106 0 obj << +/D [2098 0 R /XYZ 71.731 581.3809 null] >> endobj 2109 0 obj << -/D [2097 0 R /XYZ 71.731 511.5429 null] +/D [2098 0 R /XYZ 71.731 548.3399 null] >> endobj 2110 0 obj << -/D [2097 0 R /XYZ 118.5554 472.9789 null] +/D [2098 0 R /XYZ 71.731 511.5429 null] >> endobj 2111 0 obj << -/D [2097 0 R /XYZ 71.731 431.0456 null] +/D [2098 0 R /XYZ 118.5554 472.9789 null] >> endobj 2112 0 obj << -/D [2097 0 R /XYZ 71.731 404.575 null] +/D [2098 0 R /XYZ 71.731 431.0456 null] >> endobj 2113 0 obj << -/D [2097 0 R /XYZ 71.731 391.25 null] +/D [2098 0 R /XYZ 71.731 404.575 null] >> endobj 2114 0 obj << -/D [2097 0 R /XYZ 71.731 381.2874 null] +/D [2098 0 R /XYZ 71.731 391.25 null] >> endobj -2116 0 obj << -/D [2097 0 R /XYZ 71.731 363.7282 null] +2115 0 obj << +/D [2098 0 R /XYZ 71.731 381.2874 null] >> endobj -2118 0 obj << -/D [2097 0 R /XYZ 71.731 345.4218 null] +2117 0 obj << +/D [2098 0 R /XYZ 71.731 363.7282 null] >> endobj -2120 0 obj << -/D [2097 0 R /XYZ 71.731 329.5464 null] +2119 0 obj << +/D [2098 0 R /XYZ 71.731 345.4218 null] >> endobj -2122 0 obj << -/D [2097 0 R /XYZ 71.731 309.5563 null] +2121 0 obj << +/D [2098 0 R /XYZ 71.731 329.5464 null] >> endobj -2124 0 obj << -/D [2097 0 R /XYZ 71.731 293.6809 null] +2123 0 obj << +/D [2098 0 R /XYZ 71.731 309.5563 null] >> endobj -2126 0 obj << -/D [2097 0 R /XYZ 71.731 261.113 null] +2125 0 obj << +/D [2098 0 R /XYZ 71.731 293.6809 null] +>> endobj +2127 0 obj << +/D [2098 0 R /XYZ 71.731 261.113 null] >> endobj 1367 0 obj << -/D [2097 0 R /XYZ 71.731 242.8067 null] +/D [2098 0 R /XYZ 71.731 242.8067 null] >> endobj 46 0 obj << -/D [2097 0 R /XYZ 138.2961 205.5911 null] ->> endobj -2127 0 obj << -/D [2097 0 R /XYZ 71.731 198.2388 null] +/D [2098 0 R /XYZ 138.2961 205.5911 null] >> endobj 2128 0 obj << -/D [2097 0 R /XYZ 71.731 175.4044 null] +/D [2098 0 R /XYZ 71.731 198.2388 null] >> endobj 2129 0 obj << -/D [2097 0 R /XYZ 71.731 135.9523 null] +/D [2098 0 R /XYZ 71.731 175.4044 null] >> endobj 2130 0 obj << -/D [2097 0 R /XYZ 165.1421 110.0494 null] +/D [2098 0 R /XYZ 71.731 135.9523 null] >> endobj -2096 0 obj << -/Font << /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> +2131 0 obj << +/D [2098 0 R /XYZ 165.1421 110.0494 null] +>> endobj +2097 0 obj << +/Font << /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2134 0 obj << +2135 0 obj << /Length 1519 /Filter /FlateDecode >> @@ -8802,99 +8811,99 @@ x k�} (@�<P�BH��fL�����H0P�E@�<��$5�={��C0�L���;�Ø���m���_�Ж�� DϿ$�2�J�I���7aEI��y2-P)#��:��gک��g-� yS�t�H邀�M����t5�e�o\_�c��ԫ�X�{�_"���3y�����x^��h�K���8}��GH�:'/3A:d���9A�:�g�)���Fo�#\p�^�gZ� ��QJ-���O�ևs����Yc$s��Fl�J*3XB��'�8��?�x�endstream endobj -2133 0 obj << +2134 0 obj << /Type /Page -/Contents 2134 0 R -/Resources 2132 0 R +/Contents 2135 0 R +/Resources 2133 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R +/Parent 2132 0 R >> endobj 1368 0 obj << -/D [2133 0 R /XYZ 71.731 718.3063 null] +/D [2134 0 R /XYZ 71.731 718.3063 null] >> endobj 50 0 obj << -/D [2133 0 R /XYZ 227.213 707.8408 null] +/D [2134 0 R /XYZ 227.213 707.8408 null] >> endobj -2135 0 obj << -/D [2133 0 R /XYZ 71.731 697.4758 null] +2136 0 obj << +/D [2134 0 R /XYZ 71.731 697.4758 null] >> endobj 1369 0 obj << -/D [2133 0 R /XYZ 71.731 672.608 null] +/D [2134 0 R /XYZ 71.731 672.608 null] >> endobj 54 0 obj << -/D [2133 0 R /XYZ 156.1213 640.2941 null] ->> endobj -2136 0 obj << -/D [2133 0 R /XYZ 71.731 631.8419 null] +/D [2134 0 R /XYZ 156.1213 640.2941 null] >> endobj 2137 0 obj << -/D [2133 0 R /XYZ 71.731 611.3029 null] +/D [2134 0 R /XYZ 71.731 631.8419 null] >> endobj 2138 0 obj << -/D [2133 0 R /XYZ 71.731 571.8508 null] +/D [2134 0 R /XYZ 71.731 611.3029 null] >> endobj 2139 0 obj << -/D [2133 0 R /XYZ 367.4271 558.8993 null] +/D [2134 0 R /XYZ 71.731 571.8508 null] >> endobj 2140 0 obj << -/D [2133 0 R /XYZ 71.731 543.7911 null] +/D [2134 0 R /XYZ 367.4271 558.8993 null] >> endobj 2141 0 obj << -/D [2133 0 R /XYZ 71.731 528.8471 null] +/D [2134 0 R /XYZ 71.731 543.7911 null] >> endobj 2142 0 obj << -/D [2133 0 R /XYZ 363.9817 519.3477 null] +/D [2134 0 R /XYZ 71.731 528.8471 null] >> endobj 2143 0 obj << -/D [2133 0 R /XYZ 331.2343 496.0351 null] +/D [2134 0 R /XYZ 363.9817 519.3477 null] >> endobj 2144 0 obj << -/D [2133 0 R /XYZ 71.731 468.1397 null] +/D [2134 0 R /XYZ 331.2343 496.0351 null] +>> endobj +2145 0 obj << +/D [2134 0 R /XYZ 71.731 468.1397 null] >> endobj 1370 0 obj << -/D [2133 0 R /XYZ 71.731 424.2045 null] +/D [2134 0 R /XYZ 71.731 424.2045 null] >> endobj 58 0 obj << -/D [2133 0 R /XYZ 183.5462 388.8371 null] ->> endobj -2145 0 obj << -/D [2133 0 R /XYZ 71.731 380.1996 null] +/D [2134 0 R /XYZ 183.5462 388.8371 null] >> endobj 2146 0 obj << -/D [2133 0 R /XYZ 71.731 359.8459 null] +/D [2134 0 R /XYZ 71.731 380.1996 null] >> endobj 2147 0 obj << -/D [2133 0 R /XYZ 71.731 320.3937 null] +/D [2134 0 R /XYZ 71.731 359.8459 null] >> endobj 2148 0 obj << -/D [2133 0 R /XYZ 364.8776 307.4423 null] +/D [2134 0 R /XYZ 71.731 320.3937 null] >> endobj 2149 0 obj << -/D [2133 0 R /XYZ 71.731 287.3527 null] +/D [2134 0 R /XYZ 364.8776 307.4423 null] +>> endobj +2150 0 obj << +/D [2134 0 R /XYZ 71.731 287.3527 null] >> endobj 1371 0 obj << -/D [2133 0 R /XYZ 71.731 245.5744 null] +/D [2134 0 R /XYZ 71.731 245.5744 null] >> endobj 62 0 obj << -/D [2133 0 R /XYZ 151.9129 210.2069 null] ->> endobj -2150 0 obj << -/D [2133 0 R /XYZ 71.731 204.08 null] +/D [2134 0 R /XYZ 151.9129 210.2069 null] >> endobj 2151 0 obj << -/D [2133 0 R /XYZ 71.731 181.2157 null] +/D [2134 0 R /XYZ 71.731 204.08 null] >> endobj 2152 0 obj << -/D [2133 0 R /XYZ 71.731 139.6068 null] +/D [2134 0 R /XYZ 71.731 181.2157 null] >> endobj 2153 0 obj << -/D [2133 0 R /XYZ 370.1552 128.8122 null] +/D [2134 0 R /XYZ 71.731 139.6068 null] >> endobj -2132 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R >> +2154 0 obj << +/D [2134 0 R /XYZ 370.1552 128.8122 null] +>> endobj +2133 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2156 0 obj << +2157 0 obj << /Length 2593 /Filter /FlateDecode >> @@ -8908,127 +8917,127 @@ J !��v�\��!�4%�~��C������!��r��)P`��i�n����#Ϛs���~�_n�*�H�i����-X8�tS�7���}�"u� �,���p���p��ƺ���$���*�<�yN��;"��Y�r��,<Ċw;����1��-�!�ߓ�wd ��C��{�J����5�sX�O�L��.H��n�����Vvs������v�.t,���(!u�g�\�1�-��J�D��_c�2)�X����s}K�i�&Rf"�����^b��ͽ�x����"� � �.+2%��s���G��(��\�#i�<��5u�_�p���0�hu_�x�1ǜ��筣յ��A(9b�F�Q�B!HG4Lp�!�|�JaK�q�ɹ�.��& �P!��$/W��.���_̔v�12� �u���S��b3šu5�zM��� ��A��LB�����25<�c{c�"3~I*��Mi[?�g��x:F���3P��r�N�`�،�����S�]�k�~�c����ݨ.�.�����v�X%0]Y=�>蹯��Gt���дd����zp?l�Y���/V�����w_�l��q}@ڸ�y �vnp��E�3i$�>���s���'i��n�NW��T�2ξ��Ո��o�f��I�@��_�f�����endstream endobj -2155 0 obj << +2156 0 obj << /Type /Page -/Contents 2156 0 R -/Resources 2154 0 R +/Contents 2157 0 R +/Resources 2155 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R -/Annots [ 2160 0 R 2177 0 R ] +/Parent 2132 0 R +/Annots [ 2161 0 R 2178 0 R ] >> endobj -2160 0 obj << +2161 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [486.8903 586.9141 506.5463 597.8181] /Subtype /Link /A << /S /GoTo /D (gloss-cgi) >> >> endobj -2177 0 obj << +2178 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [145.4339 220.9943 192.2579 231.8982] /Subtype /Link /A << /S /GoTo /D (configuration) >> >> endobj -2157 0 obj << -/D [2155 0 R /XYZ 71.731 718.3063 null] +2158 0 obj << +/D [2156 0 R /XYZ 71.731 718.3063 null] >> endobj 1372 0 obj << -/D [2155 0 R /XYZ 71.731 667.3973 null] +/D [2156 0 R /XYZ 71.731 667.3973 null] >> endobj 66 0 obj << -/D [2155 0 R /XYZ 190.1856 628.1245 null] ->> endobj -2158 0 obj << -/D [2155 0 R /XYZ 71.731 620.7722 null] +/D [2156 0 R /XYZ 190.1856 628.1245 null] >> endobj 2159 0 obj << -/D [2155 0 R /XYZ 71.731 600.8618 null] +/D [2156 0 R /XYZ 71.731 620.7722 null] >> endobj -2161 0 obj << -/D [2155 0 R /XYZ 435.9402 551.2129 null] +2160 0 obj << +/D [2156 0 R /XYZ 71.731 600.8618 null] >> endobj 2162 0 obj << -/D [2155 0 R /XYZ 71.731 531.1234 null] +/D [2156 0 R /XYZ 435.9402 551.2129 null] >> endobj 2163 0 obj << -/D [2155 0 R /XYZ 384.3864 520.3288 null] +/D [2156 0 R /XYZ 71.731 531.1234 null] +>> endobj +2164 0 obj << +/D [2156 0 R /XYZ 384.3864 520.3288 null] >> endobj 1373 0 obj << -/D [2155 0 R /XYZ 71.731 513.1906 null] +/D [2156 0 R /XYZ 71.731 513.1906 null] >> endobj 70 0 obj << -/D [2155 0 R /XYZ 166.6153 475.9751 null] ->> endobj -2164 0 obj << -/D [2155 0 R /XYZ 71.731 465.6101 null] +/D [2156 0 R /XYZ 166.6153 475.9751 null] >> endobj 2165 0 obj << -/D [2155 0 R /XYZ 71.731 465.6101 null] +/D [2156 0 R /XYZ 71.731 465.6101 null] >> endobj 2166 0 obj << -/D [2155 0 R /XYZ 317.0127 442.8991 null] +/D [2156 0 R /XYZ 71.731 465.6101 null] >> endobj 2167 0 obj << -/D [2155 0 R /XYZ 366.5397 442.8991 null] +/D [2156 0 R /XYZ 317.0127 442.8991 null] >> endobj 2168 0 obj << -/D [2155 0 R /XYZ 267.9558 429.9477 null] +/D [2156 0 R /XYZ 366.5397 442.8991 null] >> endobj 2169 0 obj << -/D [2155 0 R /XYZ 71.731 414.8394 null] +/D [2156 0 R /XYZ 267.9558 429.9477 null] >> endobj 2170 0 obj << -/D [2155 0 R /XYZ 118.5554 379.2881 null] +/D [2156 0 R /XYZ 71.731 414.8394 null] >> endobj 2171 0 obj << -/D [2155 0 R /XYZ 393.1692 367.811 null] +/D [2156 0 R /XYZ 118.5554 379.2881 null] >> endobj 2172 0 obj << -/D [2155 0 R /XYZ 273.304 356.1547 null] +/D [2156 0 R /XYZ 393.1692 367.811 null] >> endobj 2173 0 obj << -/D [2155 0 R /XYZ 71.731 334.2344 null] +/D [2156 0 R /XYZ 273.304 356.1547 null] >> endobj 2174 0 obj << -/D [2155 0 R /XYZ 202.34 314.5284 null] +/D [2156 0 R /XYZ 71.731 334.2344 null] +>> endobj +2175 0 obj << +/D [2156 0 R /XYZ 202.34 314.5284 null] >> endobj 1374 0 obj << -/D [2155 0 R /XYZ 71.731 307.3903 null] +/D [2156 0 R /XYZ 71.731 307.3903 null] >> endobj 74 0 obj << -/D [2155 0 R /XYZ 200.4719 270.1748 null] ->> endobj -2175 0 obj << -/D [2155 0 R /XYZ 71.731 262.8224 null] +/D [2156 0 R /XYZ 200.4719 270.1748 null] >> endobj 2176 0 obj << -/D [2155 0 R /XYZ 303.3712 250.0502 null] +/D [2156 0 R /XYZ 71.731 262.8224 null] >> endobj -2178 0 obj << -/D [2155 0 R /XYZ 71.731 217.0092 null] +2177 0 obj << +/D [2156 0 R /XYZ 303.3712 250.0502 null] >> endobj 2179 0 obj << -/D [2155 0 R /XYZ 179.1881 206.2146 null] +/D [2156 0 R /XYZ 71.731 217.0092 null] >> endobj 2180 0 obj << -/D [2155 0 R /XYZ 71.731 181.1437 null] +/D [2156 0 R /XYZ 179.1881 206.2146 null] >> endobj 2181 0 obj << -/D [2155 0 R /XYZ 71.731 181.1437 null] +/D [2156 0 R /XYZ 71.731 181.1437 null] >> endobj 2182 0 obj << -/D [2155 0 R /XYZ 71.731 160.3009 null] +/D [2156 0 R /XYZ 71.731 181.1437 null] >> endobj 2183 0 obj << -/D [2155 0 R /XYZ 71.731 160.3009 null] +/D [2156 0 R /XYZ 71.731 160.3009 null] >> endobj -2154 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F44 2088 0 R >> +2184 0 obj << +/D [2156 0 R /XYZ 71.731 160.3009 null] +>> endobj +2155 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2187 0 obj << -/Length 2407 +2188 0 obj << +/Length 2409 /Filter /FlateDecode >> stream @@ -9039,203 +9048,205 @@ n ~ 7&���ݧ[x*FCπd����38ͯ�Q+���ɹ�J�q39l�P4]7:b��>�Z��'�xG���I��jZ� �(Tp�P�0B+`����(sf���Y��1�@��d���m~%�hu�,f��y�i���#i^p���io�Z7φ�;�4�Pq25G�z�j��AnA�C�N����\�95�|��'��TE�t�͊�Gfu�^<����w�ea���Xp���Tt�� A��Ύ��b���F�@Z��(�����(�� ����0���4Fv�L!��v�^�JƉ��y��_�g�h_v�o�̕E�s�Uh�9�Ͷ1n$m(sS�An���+�p}Ј���1����fY6�C� i�����P�TUa��C^�>l`�&��@)GQ���.]"���px`��0�� ��n4�apW�6p^���Ɯ�\ʳ��m�C����z�2m�s�Py���t 6�Y���6���Pr�t,�t���z������01*�zz���o�q+ 6>��ߞ���Heݗ���W�� �S�E#!���Y,�J c8ӭ�cx�!��q�l~q{z�oV�cRġ��u��`1��p�8�vf�ᙵt����O��@0B�pD� Gl�p�!�{��x��M�8e�~A��j�~�)�tm%3_��&�BJ6ݔ(l��2�Q����p�DEtQ���Ft��3��-L�~t�Z�V����K8 �f{�d�=l��W��mFf4��J�SSQs�Y<��5�)YR��f#pZ���/�l�ie�ܡ�e��Uk���WX^���v��& -��n�r��5w�Yp>�/-A2|�w�y5pG>���8;w���u����������B϶=�?ޑx����.6*\��G�GB -b\���+D��?����CV[,ܭgk+b����G$!�ByA�ʣH�BJr\��Wh�гݨ�8��&i�"�`�"*b�k��tPE�Q���B/���sE���/*�Z}b�{\�B�G����q}\^���B϶��]'�p��B��_�����@H!W������8�@R�_,���oy�sZ�B-�� �g�$q��W�V|��2OWWc��đ��^�.d�.j|qZR�GWg���e�S��n���$NC�TeU?�O/�J��_�y]�G��d�q�\^���B�v����t���f\{5s/��FL�����<z5($���py�^^ -=�V�n-�b����G�����t�����)d�T K�0�h@�3K����;�B�s�H�~��5L��VU.;�i!�b).��Ay�hPV��z{��zx9�lw������PIĽ��h� -��tPI��d���y�$^=�g�,�e�������ҧO��8���E��Ӣ�:�u������9�l�Թm�[F�w_w�)�'�X_���#�Ym�+��� ��ȹ�'�YL ����9\DPH)�-�� �V�8w�D��*a��Y�Y�e�`���y��^=����/w����kPD���O;i���a8(��������Z��3̐�o��K���||�a��N��oQ�� �īN�R�;������u�M��_��W���E�#���.L���R�HB�A�[��^��\�+�endstream +��n�r��5w�Yp>�/-A2|�w�y5pG>���8;w���u����������B϶=�?ޑx�Li��� +׆$��������W��� +|��-�����w��ڊ��!�`��I��P^���(Ҡ���d���x)�l7�<�$�I�Ĥ$�ī������"�G��tԸ".�P�K�g�\�Ţi�� +�V��1���P�ѧA!�p\��W��гm�y�I%�)��!A�t8�<28R��U���1|<�=����k�[����P��-��+ɂD��F���.������ؤ"qdi����Y��_������ryyY�z�ۅyx>���+�CY��{����"�r^�ѫA!�d\��W��г����>]榫�^��cz��2����(�^ +��q�\^���B϶�+�[K�X|���Q/�9q0*80 +�0DÒ8̼P�̒�/�qE���G��2��/@ S��U��NcZ���X�btP5��c���y�^=�E���?t7Tq�$ Z����$�G�e%/��|^!��C���$�ŇbY�m��#����Ţ ���tQ��(��x>��:~=�=u�A�����ם`Jx�"�b���@V��|��7H�#r���IgS��{GRʯA���BC��'��-ѯ�JX�ą|�EyV�A�%/��|^���C�6r�����Aw����?���N��gJk���n�����3����R��@*��B�y���[��<�0�S��FD��@~�}�tu�r���������q��H{��K���.�,��nP��0��W���+�endstream endobj -2186 0 obj << +2187 0 obj << /Type /Page -/Contents 2187 0 R -/Resources 2185 0 R +/Contents 2188 0 R +/Resources 2186 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R -/Annots [ 2190 0 R 2191 0 R 2216 0 R 2233 0 R 2239 0 R ] +/Parent 2132 0 R +/Annots [ 2191 0 R 2192 0 R 2217 0 R 2234 0 R 2240 0 R ] >> endobj -2190 0 obj << +2191 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [89.1472 692.2392 150.7975 703.1431] /Subtype /Link /A << /S /GoTo /D (win32-perl-modules) >> >> endobj -2191 0 obj << +2192 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [432.6131 692.2392 482.916 703.1431] /Subtype /Link /A << /S /GoTo /D (install-perlmodules-manual) >> >> endobj -2216 0 obj << +2217 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 306.9839 141.5884 317.8878] /Subtype /Link /A << /S /GoTo /D (install-modules-dbd-mysql) >> >> endobj -2233 0 obj << +2234 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 163.5219 127.5911 174.4258] /Subtype /Link /A << /S /GoTo /D (install-modules-template) >> >> endobj -2239 0 obj << +2240 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 99.761 105.046 110.6649] /Subtype /Link /A << /S /GoTo /D (install-modules-gd) >> >> endobj -2188 0 obj << -/D [2186 0 R /XYZ 71.731 718.3063 null] ->> endobj 2189 0 obj << -/D [2186 0 R /XYZ 300.3308 708.3437 null] +/D [2187 0 R /XYZ 71.731 718.3063 null] >> endobj -2192 0 obj << -/D [2186 0 R /XYZ 71.731 672.3787 null] +2190 0 obj << +/D [2187 0 R /XYZ 300.3308 708.3437 null] >> endobj 2193 0 obj << -/D [2186 0 R /XYZ 71.731 672.3787 null] +/D [2187 0 R /XYZ 71.731 672.3787 null] >> endobj 2194 0 obj << -/D [2186 0 R /XYZ 71.731 659.4412 null] +/D [2187 0 R /XYZ 71.731 672.3787 null] >> endobj 2195 0 obj << -/D [2186 0 R /XYZ 71.731 639.5159 null] +/D [2187 0 R /XYZ 71.731 659.4412 null] >> endobj 2196 0 obj << -/D [2186 0 R /XYZ 204.3747 617.5841 null] +/D [2187 0 R /XYZ 71.731 639.5159 null] >> endobj 2197 0 obj << -/D [2186 0 R /XYZ 465.9761 594.2715 null] +/D [2187 0 R /XYZ 204.3747 617.5841 null] >> endobj 2198 0 obj << -/D [2186 0 R /XYZ 76.7123 565.9776 null] +/D [2187 0 R /XYZ 465.9761 594.2715 null] >> endobj 2199 0 obj << -/D [2186 0 R /XYZ 71.731 546.0523 null] +/D [2187 0 R /XYZ 76.7123 565.9776 null] >> endobj 2200 0 obj << -/D [2186 0 R /XYZ 140.0022 499.4272 null] +/D [2187 0 R /XYZ 71.731 546.0523 null] >> endobj 2201 0 obj << -/D [2186 0 R /XYZ 71.731 471.5318 null] +/D [2187 0 R /XYZ 140.0022 499.4272 null] >> endobj 2202 0 obj << -/D [2186 0 R /XYZ 71.731 440.548 null] +/D [2187 0 R /XYZ 71.731 471.5318 null] >> endobj 2203 0 obj << -/D [2186 0 R /XYZ 170.7984 427.6962 null] +/D [2187 0 R /XYZ 71.731 440.548 null] >> endobj 2204 0 obj << -/D [2186 0 R /XYZ 71.731 420.558 null] +/D [2187 0 R /XYZ 170.7984 427.6962 null] >> endobj 2205 0 obj << -/D [2186 0 R /XYZ 89.6638 399.8008 null] +/D [2187 0 R /XYZ 71.731 420.558 null] >> endobj 2206 0 obj << -/D [2186 0 R /XYZ 71.731 398.0175 null] +/D [2187 0 R /XYZ 89.6638 399.8008 null] >> endobj 2207 0 obj << -/D [2186 0 R /XYZ 89.6638 381.868 null] +/D [2187 0 R /XYZ 71.731 398.0175 null] >> endobj 2208 0 obj << -/D [2186 0 R /XYZ 71.731 380.0848 null] +/D [2187 0 R /XYZ 89.6638 381.868 null] >> endobj 2209 0 obj << -/D [2186 0 R /XYZ 89.6638 363.9353 null] +/D [2187 0 R /XYZ 71.731 380.0848 null] >> endobj 2210 0 obj << -/D [2186 0 R /XYZ 71.731 362.152 null] +/D [2187 0 R /XYZ 89.6638 363.9353 null] >> endobj 2211 0 obj << -/D [2186 0 R /XYZ 89.6638 346.0025 null] +/D [2187 0 R /XYZ 71.731 362.152 null] >> endobj 2212 0 obj << -/D [2186 0 R /XYZ 71.731 344.2193 null] +/D [2187 0 R /XYZ 89.6638 346.0025 null] >> endobj 2213 0 obj << -/D [2186 0 R /XYZ 89.6638 328.0698 null] +/D [2187 0 R /XYZ 71.731 344.2193 null] >> endobj 2214 0 obj << -/D [2186 0 R /XYZ 71.731 326.2865 null] +/D [2187 0 R /XYZ 89.6638 328.0698 null] >> endobj 2215 0 obj << -/D [2186 0 R /XYZ 89.6638 310.137 null] +/D [2187 0 R /XYZ 71.731 326.2865 null] >> endobj -2217 0 obj << -/D [2186 0 R /XYZ 71.731 307.9802 null] +2216 0 obj << +/D [2187 0 R /XYZ 89.6638 310.137 null] >> endobj 2218 0 obj << -/D [2186 0 R /XYZ 89.6638 292.2043 null] +/D [2187 0 R /XYZ 71.731 307.9802 null] >> endobj 2219 0 obj << -/D [2186 0 R /XYZ 71.731 290.0474 null] +/D [2187 0 R /XYZ 89.6638 292.2043 null] >> endobj 2220 0 obj << -/D [2186 0 R /XYZ 89.6638 274.2715 null] +/D [2187 0 R /XYZ 71.731 290.0474 null] >> endobj 2221 0 obj << -/D [2186 0 R /XYZ 71.731 272.1147 null] +/D [2187 0 R /XYZ 89.6638 274.2715 null] >> endobj 2222 0 obj << -/D [2186 0 R /XYZ 89.6638 256.3387 null] +/D [2187 0 R /XYZ 71.731 272.1147 null] >> endobj 2223 0 obj << -/D [2186 0 R /XYZ 71.731 254.1819 null] +/D [2187 0 R /XYZ 89.6638 256.3387 null] >> endobj 2224 0 obj << -/D [2186 0 R /XYZ 89.6638 238.406 null] +/D [2187 0 R /XYZ 71.731 254.1819 null] >> endobj 2225 0 obj << -/D [2186 0 R /XYZ 71.731 236.6228 null] +/D [2187 0 R /XYZ 89.6638 238.406 null] >> endobj 2226 0 obj << -/D [2186 0 R /XYZ 89.6638 220.4732 null] +/D [2187 0 R /XYZ 71.731 236.6228 null] >> endobj 2227 0 obj << -/D [2186 0 R /XYZ 71.731 218.69 null] +/D [2187 0 R /XYZ 89.6638 220.4732 null] >> endobj 2228 0 obj << -/D [2186 0 R /XYZ 89.6638 202.5405 null] +/D [2187 0 R /XYZ 71.731 218.69 null] >> endobj 2229 0 obj << -/D [2186 0 R /XYZ 71.731 200.3837 null] +/D [2187 0 R /XYZ 89.6638 202.5405 null] >> endobj 2230 0 obj << -/D [2186 0 R /XYZ 89.6638 184.6077 null] +/D [2187 0 R /XYZ 71.731 200.3837 null] >> endobj 2231 0 obj << -/D [2186 0 R /XYZ 71.731 182.8245 null] +/D [2187 0 R /XYZ 89.6638 184.6077 null] >> endobj 2232 0 obj << -/D [2186 0 R /XYZ 89.6638 166.675 null] +/D [2187 0 R /XYZ 71.731 182.8245 null] >> endobj -2234 0 obj << -/D [2186 0 R /XYZ 71.731 164.5182 null] +2233 0 obj << +/D [2187 0 R /XYZ 89.6638 166.675 null] >> endobj 2235 0 obj << -/D [2186 0 R /XYZ 89.6638 148.7422 null] +/D [2187 0 R /XYZ 71.731 164.5182 null] >> endobj 2236 0 obj << -/D [2186 0 R /XYZ 169.1445 130.8095 null] +/D [2187 0 R /XYZ 89.6638 148.7422 null] >> endobj 2237 0 obj << -/D [2186 0 R /XYZ 71.731 123.6713 null] +/D [2187 0 R /XYZ 169.1445 130.8095 null] >> endobj 2238 0 obj << -/D [2186 0 R /XYZ 89.6638 102.9141 null] +/D [2187 0 R /XYZ 71.731 123.6713 null] >> endobj -2240 0 obj << -/D [2186 0 R /XYZ 71.731 100.7573 null] +2239 0 obj << +/D [2187 0 R /XYZ 89.6638 102.9141 null] >> endobj -2185 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R >> +2241 0 obj << +/D [2187 0 R /XYZ 71.731 100.7573 null] +>> endobj +2186 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2243 0 obj << +2244 0 obj << /Length 2336 /Filter /FlateDecode >> @@ -9257,208 +9268,208 @@ xڵZ q���6�n�-v����>H���[���>bPpE�:$s��U8�` l�<�$#�ܠe?V���*�D�bPT��C� jP��rR��il���FTr�x=d��WD��*��(Ù|/��+��T 2�9<�\���3��kUϱ~B�y�&9>�I<�hC�G��>�`D�����<7�8rt�]� =cKj��3Q'%�R".E�� �SR�<&e�;~t"�g�=N.I�n�0��7���j�vS���=�ꪶ �K����)S����.i�mR�3�!Kr S���Ҋ���ۓ��'N2��m��ϋ\-];2]�.��'���e��Q!~� ��|�;�'�> SA��A���E@5�g]c1vrq����t��{QRe�xs�oe�ǖw�^[1�@L��bE����C�A�$W1Rφ��Ζ��D߇h'�YE��, A>�����P!�2@�8DcY8d��xV������M���)_C��u5�ΜX!������ۗ���ħ5)����c��1)R�����y���iH��L��z�.�m�v����_� ����*endstream endobj -2242 0 obj << +2243 0 obj << /Type /Page -/Contents 2243 0 R -/Resources 2241 0 R +/Contents 2244 0 R +/Resources 2242 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R -/Annots [ 2247 0 R 2250 0 R 2253 0 R 2256 0 R 2263 0 R 2272 0 R ] +/Parent 2132 0 R +/Annots [ 2248 0 R 2251 0 R 2254 0 R 2257 0 R 2264 0 R 2273 0 R ] >> endobj -2247 0 obj << +2248 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 687.2579 140.4725 698.1618] /Subtype /Link /A << /S /GoTo /D (install-modules-chart-lines) >> >> endobj -2250 0 obj << +2251 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 669.3251 135.4816 680.229] /Subtype /Link /A << /S /GoTo /D (install-modules-gd-graph) >> >> endobj -2253 0 obj << +2254 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 651.3923 127.9997 662.2963] /Subtype /Link /A << /S /GoTo /D (install-modules-gd-text) >> >> endobj -2256 0 obj << +2257 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 633.4596 138.5699 644.3635] /Subtype /Link /A << /S /GoTo /D (install-modules-xml-twig) >> >> endobj -2263 0 obj << +2264 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 579.6613 140.8613 590.5653] /Subtype /Link /A << /S /GoTo /D (install-modules-patchreader) >> >> endobj -2272 0 obj << +2273 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [88.6675 508.3039 137.3642 518.8343] /Subtype /Link /A << /S /GoTo /D (install-modules-soap-lite) >> >> endobj -2244 0 obj << -/D [2242 0 R /XYZ 89.6638 708.3437 null] ->> endobj 2245 0 obj << -/D [2242 0 R /XYZ 71.731 706.1869 null] +/D [2243 0 R /XYZ 89.6638 708.3437 null] >> endobj 2246 0 obj << -/D [2242 0 R /XYZ 89.6638 690.4109 null] +/D [2243 0 R /XYZ 71.731 706.1869 null] >> endobj -2248 0 obj << -/D [2242 0 R /XYZ 71.731 688.2541 null] +2247 0 obj << +/D [2243 0 R /XYZ 89.6638 690.4109 null] >> endobj 2249 0 obj << -/D [2242 0 R /XYZ 89.6638 672.4782 null] +/D [2243 0 R /XYZ 71.731 688.2541 null] >> endobj -2251 0 obj << -/D [2242 0 R /XYZ 71.731 670.3214 null] +2250 0 obj << +/D [2243 0 R /XYZ 89.6638 672.4782 null] >> endobj 2252 0 obj << -/D [2242 0 R /XYZ 89.6638 654.5454 null] +/D [2243 0 R /XYZ 71.731 670.3214 null] >> endobj -2254 0 obj << -/D [2242 0 R /XYZ 71.731 652.3886 null] +2253 0 obj << +/D [2243 0 R /XYZ 89.6638 654.5454 null] >> endobj 2255 0 obj << -/D [2242 0 R /XYZ 89.6638 636.6127 null] +/D [2243 0 R /XYZ 71.731 652.3886 null] >> endobj -2257 0 obj << -/D [2242 0 R /XYZ 71.731 634.4559 null] +2256 0 obj << +/D [2243 0 R /XYZ 89.6638 636.6127 null] >> endobj 2258 0 obj << -/D [2242 0 R /XYZ 89.6638 618.6799 null] +/D [2243 0 R /XYZ 71.731 634.4559 null] >> endobj 2259 0 obj << -/D [2242 0 R /XYZ 71.731 616.5231 null] +/D [2243 0 R /XYZ 89.6638 618.6799 null] >> endobj 2260 0 obj << -/D [2242 0 R /XYZ 89.6638 600.7472 null] +/D [2243 0 R /XYZ 71.731 616.5231 null] >> endobj 2261 0 obj << -/D [2242 0 R /XYZ 71.731 598.5904 null] +/D [2243 0 R /XYZ 89.6638 600.7472 null] >> endobj 2262 0 obj << -/D [2242 0 R /XYZ 89.6638 582.8144 null] +/D [2243 0 R /XYZ 71.731 598.5904 null] >> endobj -2264 0 obj << -/D [2242 0 R /XYZ 71.731 580.6576 null] +2263 0 obj << +/D [2243 0 R /XYZ 89.6638 582.8144 null] >> endobj 2265 0 obj << -/D [2242 0 R /XYZ 89.6638 564.8817 null] +/D [2243 0 R /XYZ 71.731 580.6576 null] >> endobj 2266 0 obj << -/D [2242 0 R /XYZ 71.731 562.7248 null] +/D [2243 0 R /XYZ 89.6638 564.8817 null] >> endobj 2267 0 obj << -/D [2242 0 R /XYZ 89.6638 546.9489 null] +/D [2243 0 R /XYZ 71.731 562.7248 null] >> endobj 2268 0 obj << -/D [2242 0 R /XYZ 71.731 544.7921 null] +/D [2243 0 R /XYZ 89.6638 546.9489 null] >> endobj 2269 0 obj << -/D [2242 0 R /XYZ 89.6638 529.0162 null] +/D [2243 0 R /XYZ 71.731 544.7921 null] >> endobj 2270 0 obj << -/D [2242 0 R /XYZ 71.731 526.8593 null] +/D [2243 0 R /XYZ 89.6638 529.0162 null] >> endobj 2271 0 obj << -/D [2242 0 R /XYZ 89.6638 511.0834 null] +/D [2243 0 R /XYZ 71.731 526.8593 null] >> endobj -2273 0 obj << -/D [2242 0 R /XYZ 71.731 509.3002 null] +2272 0 obj << +/D [2243 0 R /XYZ 89.6638 511.0834 null] >> endobj 2274 0 obj << -/D [2242 0 R /XYZ 89.6638 493.1507 null] +/D [2243 0 R /XYZ 71.731 509.3002 null] >> endobj 2275 0 obj << -/D [2242 0 R /XYZ 71.731 490.9938 null] +/D [2243 0 R /XYZ 89.6638 493.1507 null] >> endobj 2276 0 obj << -/D [2242 0 R /XYZ 89.6638 475.2179 null] +/D [2243 0 R /XYZ 71.731 490.9938 null] >> endobj 2277 0 obj << -/D [2242 0 R /XYZ 71.731 473.0611 null] +/D [2243 0 R /XYZ 89.6638 475.2179 null] >> endobj 2278 0 obj << -/D [2242 0 R /XYZ 89.6638 457.2852 null] +/D [2243 0 R /XYZ 71.731 473.0611 null] >> endobj 2279 0 obj << -/D [2242 0 R /XYZ 71.731 455.1283 null] +/D [2243 0 R /XYZ 89.6638 457.2852 null] >> endobj 2280 0 obj << -/D [2242 0 R /XYZ 89.6638 439.3524 null] +/D [2243 0 R /XYZ 71.731 455.1283 null] >> endobj 2281 0 obj << -/D [2242 0 R /XYZ 71.731 437.1956 null] +/D [2243 0 R /XYZ 89.6638 439.3524 null] >> endobj 2282 0 obj << -/D [2242 0 R /XYZ 89.6638 421.4197 null] +/D [2243 0 R /XYZ 71.731 437.1956 null] >> endobj 2283 0 obj << -/D [2242 0 R /XYZ 71.731 419.2628 null] +/D [2243 0 R /XYZ 89.6638 421.4197 null] >> endobj 2284 0 obj << -/D [2242 0 R /XYZ 89.6638 403.4869 null] +/D [2243 0 R /XYZ 71.731 419.2628 null] >> endobj 2285 0 obj << -/D [2242 0 R /XYZ 71.731 401.3301 null] +/D [2243 0 R /XYZ 89.6638 403.4869 null] >> endobj 2286 0 obj << -/D [2242 0 R /XYZ 89.6638 385.5542 null] +/D [2243 0 R /XYZ 71.731 401.3301 null] >> endobj 2287 0 obj << -/D [2242 0 R /XYZ 71.731 383.3973 null] +/D [2243 0 R /XYZ 89.6638 385.5542 null] >> endobj 2288 0 obj << -/D [2242 0 R /XYZ 89.6638 367.6214 null] +/D [2243 0 R /XYZ 71.731 383.3973 null] >> endobj 2289 0 obj << -/D [2242 0 R /XYZ 71.731 365.4646 null] +/D [2243 0 R /XYZ 89.6638 367.6214 null] >> endobj 2290 0 obj << -/D [2242 0 R /XYZ 89.6638 349.6887 null] +/D [2243 0 R /XYZ 71.731 365.4646 null] +>> endobj +2291 0 obj << +/D [2243 0 R /XYZ 89.6638 349.6887 null] >> endobj 1375 0 obj << -/D [2242 0 R /XYZ 76.7123 331.7559 null] +/D [2243 0 R /XYZ 76.7123 331.7559 null] >> endobj 78 0 obj << -/D [2242 0 R /XYZ 182.9843 297.2852 null] ->> endobj -2291 0 obj << -/D [2242 0 R /XYZ 71.731 288.8329 null] +/D [2243 0 R /XYZ 182.9843 297.2852 null] >> endobj 2292 0 obj << -/D [2242 0 R /XYZ 71.731 221.4696 null] +/D [2243 0 R /XYZ 71.731 288.8329 null] +>> endobj +2293 0 obj << +/D [2243 0 R /XYZ 71.731 221.4696 null] >> endobj 1376 0 obj << -/D [2242 0 R /XYZ 71.731 188.5281 null] +/D [2243 0 R /XYZ 71.731 188.5281 null] >> endobj 82 0 obj << -/D [2242 0 R /XYZ 242.807 155.2179 null] +/D [2243 0 R /XYZ 242.807 155.2179 null] >> endobj -2293 0 obj << -/D [2242 0 R /XYZ 71.731 146.7657 null] +2294 0 obj << +/D [2243 0 R /XYZ 71.731 146.7657 null] >> endobj 1377 0 obj << -/D [2242 0 R /XYZ 71.731 103.2479 null] +/D [2243 0 R /XYZ 71.731 103.2479 null] >> endobj -2241 0 obj << +2242 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2296 0 obj << +2297 0 obj << /Length 1552 /Filter /FlateDecode >> @@ -9468,108 +9479,108 @@ x >�ݸ��:9��L�/Z��rBR�<�� lO|���N3>m�P\�%�y�O�=�y�)�hדt�<�HD�9�Tp�\�_v�`<䑲*E��:ws�Q6��nj��}lc�z��r������r��g�S���e�y.�%�F�z�DU���˷���H �p<�s�F58s����#dBj�3�}C�C&��2�t�L��#��w��)��ڸ���c6NiE$.��C����7��'/����xD��h��v��a��]z4��ke��Q��:ߛ��gS�G KҴ�S�/��W�1���:����Ũ翽e��TF�摧�Y��h���"V���g��~���w������4�*��*�{MP����<����*�Z�W@�AW�;����;<�:ވR �p%"��:��g�͋$-Uo�6!��]����D �OY��v�in�or�ND��OdS_��k��w���������)�F��R�Н��{��a���1P_�����]�U��<�C�ZY�T�~x ���oQϮ�z�A���>��w�,ST*�H)��V-k�'�������q�j�#���K����#�V+ 7�ex�G`y�V��|rp3?cK�7L�7f��f��ܸ��9��8W�B���_�p��_����!��} ��Q��("�],��VT��dU>Y��:mWh��Vk�����+���k,o�7ꊰ^x�G�'X/<��HD�����H�oH�Ox��7��}���� cq �;�T����r�V����.ڛO�3�"t���rړ�!t>�\N���BSˀ'лMr�_���%J�W���$���I&e�<8�_��g��.��endstream endobj -2295 0 obj << +2296 0 obj << /Type /Page -/Contents 2296 0 R -/Resources 2294 0 R +/Contents 2297 0 R +/Resources 2295 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2131 0 R +/Parent 2132 0 R >> endobj 86 0 obj << -/D [2295 0 R /XYZ 167.4185 708.3437 null] ->> endobj -2297 0 obj << -/D [2295 0 R /XYZ 71.731 699.8915 null] +/D [2296 0 R /XYZ 167.4185 708.3437 null] >> endobj 2298 0 obj << -/D [2295 0 R /XYZ 71.731 687.2579 null] +/D [2296 0 R /XYZ 71.731 699.8915 null] >> endobj 2299 0 obj << -/D [2295 0 R /XYZ 71.731 672.3139 null] +/D [2296 0 R /XYZ 71.731 687.2579 null] >> endobj 2300 0 obj << -/D [2295 0 R /XYZ 91.6563 651.1581 null] +/D [2296 0 R /XYZ 71.731 672.3139 null] >> endobj 2301 0 obj << -/D [2295 0 R /XYZ 142.208 651.1581 null] +/D [2296 0 R /XYZ 91.6563 651.1581 null] >> endobj 2302 0 obj << -/D [2295 0 R /XYZ 76.7123 622.8643 null] +/D [2296 0 R /XYZ 142.208 651.1581 null] >> endobj 2303 0 obj << -/D [2295 0 R /XYZ 71.731 602.939 null] +/D [2296 0 R /XYZ 76.7123 622.8643 null] >> endobj 2304 0 obj << -/D [2295 0 R /XYZ 373.4965 591.2827 null] +/D [2296 0 R /XYZ 71.731 602.939 null] >> endobj 2305 0 obj << -/D [2295 0 R /XYZ 193.0198 579.6264 null] +/D [2296 0 R /XYZ 373.4965 591.2827 null] +>> endobj +2306 0 obj << +/D [2296 0 R /XYZ 193.0198 579.6264 null] >> endobj 1378 0 obj << -/D [2295 0 R /XYZ 71.731 551.731 null] +/D [2296 0 R /XYZ 71.731 551.731 null] >> endobj 90 0 obj << -/D [2295 0 R /XYZ 213.4813 516.264 null] +/D [2296 0 R /XYZ 213.4813 516.264 null] >> endobj -2306 0 obj << -/D [2295 0 R /XYZ 71.731 507.8118 null] +2307 0 obj << +/D [2296 0 R /XYZ 71.731 507.8118 null] >> endobj 1379 0 obj << -/D [2295 0 R /XYZ 71.731 477.2454 null] +/D [2296 0 R /XYZ 71.731 477.2454 null] >> endobj 94 0 obj << -/D [2295 0 R /XYZ 207.6833 443.9352 null] +/D [2296 0 R /XYZ 207.6833 443.9352 null] >> endobj -2307 0 obj << -/D [2295 0 R /XYZ 71.731 435.483 null] +2308 0 obj << +/D [2296 0 R /XYZ 71.731 435.483 null] >> endobj 1380 0 obj << -/D [2295 0 R /XYZ 71.731 417.8681 null] +/D [2296 0 R /XYZ 71.731 417.8681 null] >> endobj 98 0 obj << -/D [2295 0 R /XYZ 196.1588 384.5579 null] +/D [2296 0 R /XYZ 196.1588 384.5579 null] >> endobj -2308 0 obj << -/D [2295 0 R /XYZ 71.731 376.1057 null] +2309 0 obj << +/D [2296 0 R /XYZ 71.731 376.1057 null] >> endobj 1381 0 obj << -/D [2295 0 R /XYZ 71.731 358.4907 null] +/D [2296 0 R /XYZ 71.731 358.4907 null] >> endobj 102 0 obj << -/D [2295 0 R /XYZ 206.2966 325.1806 null] ->> endobj -2309 0 obj << -/D [2295 0 R /XYZ 71.731 316.5431 null] +/D [2296 0 R /XYZ 206.2966 325.1806 null] >> endobj 2310 0 obj << -/D [2295 0 R /XYZ 415.6516 306.2515 null] +/D [2296 0 R /XYZ 71.731 316.5431 null] +>> endobj +2311 0 obj << +/D [2296 0 R /XYZ 415.6516 306.2515 null] >> endobj 1382 0 obj << -/D [2295 0 R /XYZ 71.731 286.162 null] +/D [2296 0 R /XYZ 71.731 286.162 null] >> endobj 106 0 obj << -/D [2295 0 R /XYZ 235.2512 252.8518 null] +/D [2296 0 R /XYZ 235.2512 252.8518 null] >> endobj -2311 0 obj << -/D [2295 0 R /XYZ 71.731 244.3995 null] +2312 0 obj << +/D [2296 0 R /XYZ 71.731 244.3995 null] >> endobj 1383 0 obj << -/D [2295 0 R /XYZ 71.731 213.8332 null] +/D [2296 0 R /XYZ 71.731 213.8332 null] >> endobj 110 0 obj << -/D [2295 0 R /XYZ 225.4125 180.523 null] +/D [2296 0 R /XYZ 225.4125 180.523 null] >> endobj -2312 0 obj << -/D [2295 0 R /XYZ 71.731 172.0708 null] +2313 0 obj << +/D [2296 0 R /XYZ 71.731 172.0708 null] >> endobj 1384 0 obj << -/D [2295 0 R /XYZ 71.731 131.5418 null] +/D [2296 0 R /XYZ 71.731 131.5418 null] >> endobj -2294 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R >> +2295 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2315 0 obj << +2316 0 obj << /Length 2529 /Filter /FlateDecode >> @@ -9582,123 +9593,123 @@ xڍَܸ D��"�P��~���������Kո������¾^WvK�Di�F��1��|�|S�f�8����2-3�:��Y��kM���X�z)f�i\�����E�H}��C���7D���<gp7��+�����ʅK#_�ahs��P"s0H� ��W�q�����2endstream endobj -2314 0 obj << +2315 0 obj << /Type /Page -/Contents 2315 0 R -/Resources 2313 0 R +/Contents 2316 0 R +/Resources 2314 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R -/Annots [ 2323 0 R 2337 0 R ] +/Parent 2342 0 R +/Annots [ 2324 0 R 2338 0 R ] >> endobj -2323 0 obj << +2324 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [358.8765 606.626 405.7271 617.1006] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj -2337 0 obj << +2338 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [243.499 175.0111 284.8624 185.4857] /Subtype /Link /A << /S /GoTo /D (security) >> >> endobj -2316 0 obj << -/D [2314 0 R /XYZ 71.731 729.2652 null] ->> endobj 2317 0 obj << -/D [2314 0 R /XYZ 71.731 741.2204 null] ->> endobj -114 0 obj << -/D [2314 0 R /XYZ 287.7103 707.8408 null] +/D [2315 0 R /XYZ 71.731 729.2652 null] >> endobj 2318 0 obj << -/D [2314 0 R /XYZ 71.731 697.4758 null] +/D [2315 0 R /XYZ 71.731 741.2204 null] +>> endobj +114 0 obj << +/D [2315 0 R /XYZ 287.7103 707.8408 null] >> endobj 2319 0 obj << -/D [2314 0 R /XYZ 71.731 685.5594 null] +/D [2315 0 R /XYZ 71.731 697.4758 null] >> endobj 2320 0 obj << -/D [2314 0 R /XYZ 71.731 670.6155 null] +/D [2315 0 R /XYZ 71.731 685.5594 null] >> endobj 2321 0 obj << -/D [2314 0 R /XYZ 71.731 619.2785 null] +/D [2315 0 R /XYZ 71.731 670.6155 null] >> endobj 2322 0 obj << -/D [2314 0 R /XYZ 211.4364 609.5096 null] +/D [2315 0 R /XYZ 71.731 619.2785 null] >> endobj -2324 0 obj << -/D [2314 0 R /XYZ 71.731 581.6142 null] +2323 0 obj << +/D [2315 0 R /XYZ 211.4364 609.5096 null] >> endobj 2325 0 obj << -/D [2314 0 R /XYZ 71.731 524.7276 null] +/D [2315 0 R /XYZ 71.731 581.6142 null] >> endobj 2326 0 obj << -/D [2314 0 R /XYZ 71.731 491.7861 null] +/D [2315 0 R /XYZ 71.731 524.7276 null] >> endobj 2327 0 obj << -/D [2314 0 R /XYZ 71.731 437.0564 null] +/D [2315 0 R /XYZ 71.731 491.7861 null] +>> endobj +2328 0 obj << +/D [2315 0 R /XYZ 71.731 437.0564 null] >> endobj 1385 0 obj << -/D [2314 0 R /XYZ 71.731 417.0663 null] +/D [2315 0 R /XYZ 71.731 417.0663 null] >> endobj 118 0 obj << -/D [2314 0 R /XYZ 323.661 379.8508 null] ->> endobj -2328 0 obj << -/D [2314 0 R /XYZ 71.731 369.4858 null] +/D [2315 0 R /XYZ 323.661 379.8508 null] >> endobj 2329 0 obj << -/D [2314 0 R /XYZ 284.618 359.7263 null] +/D [2315 0 R /XYZ 71.731 369.4858 null] >> endobj 2330 0 obj << -/D [2314 0 R /XYZ 378.5568 359.7263 null] +/D [2315 0 R /XYZ 284.618 359.7263 null] >> endobj 2331 0 obj << -/D [2314 0 R /XYZ 231.4007 346.7748 null] +/D [2315 0 R /XYZ 378.5568 359.7263 null] >> endobj 2332 0 obj << -/D [2314 0 R /XYZ 71.731 339.6367 null] +/D [2315 0 R /XYZ 231.4007 346.7748 null] >> endobj 2333 0 obj << -/D [2314 0 R /XYZ 144.5093 328.8421 null] +/D [2315 0 R /XYZ 71.731 339.6367 null] >> endobj 2334 0 obj << -/D [2314 0 R /XYZ 373.3836 328.8421 null] +/D [2315 0 R /XYZ 144.5093 328.8421 null] +>> endobj +2335 0 obj << +/D [2315 0 R /XYZ 373.3836 328.8421 null] >> endobj 1386 0 obj << -/D [2314 0 R /XYZ 71.731 299.1634 null] +/D [2315 0 R /XYZ 71.731 299.1634 null] >> endobj 122 0 obj << -/D [2314 0 R /XYZ 218.078 255.6924 null] ->> endobj -2335 0 obj << -/D [2314 0 R /XYZ 71.731 251.8621 null] +/D [2315 0 R /XYZ 218.078 255.6924 null] >> endobj 2336 0 obj << -/D [2314 0 R /XYZ 118.5554 209.6717 null] +/D [2315 0 R /XYZ 71.731 251.8621 null] +>> endobj +2337 0 obj << +/D [2315 0 R /XYZ 118.5554 209.6717 null] >> endobj 1387 0 obj << -/D [2314 0 R /XYZ 71.731 166.0447 null] +/D [2315 0 R /XYZ 71.731 166.0447 null] >> endobj 126 0 obj << -/D [2314 0 R /XYZ 187.3454 133.541 null] ->> endobj -2338 0 obj << -/D [2314 0 R /XYZ 71.731 123.176 null] +/D [2315 0 R /XYZ 187.3454 133.541 null] >> endobj 2339 0 obj << -/D [2314 0 R /XYZ 154.5103 113.4165 null] +/D [2315 0 R /XYZ 71.731 123.176 null] >> endobj 2340 0 obj << -/D [2314 0 R /XYZ 338.1402 113.4165 null] +/D [2315 0 R /XYZ 154.5103 113.4165 null] >> endobj -2313 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R >> +2341 0 obj << +/D [2315 0 R /XYZ 338.1402 113.4165 null] +>> endobj +2314 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2344 0 obj << +2345 0 obj << /Length 2487 /Filter /FlateDecode >> @@ -9716,128 +9727,128 @@ r �/�����C�9���rX��1�6(̽z �zl�m�(4�^yQ����Ծ�=˹��/K�p^��ҕb�X��+u�y�n 3�DHYA��QY%¶Ծ:��I@��ҩo�����9���=ث��d2m�ht64j3K����;;������I")7h�>�<Yþ���kR�U M=�M�\�c��]��UU���� !;Y�7������ܕ!8L�=Ex~5`�UD��*x�>I�3�i���R�Ыug�ִY����B~_���/�|��k#���A��pھ�u5�u{|��<��� /���o\^���T�͟I���tGc���3q�M�i/����K���� ��hJ���a��4�ogE�P�Ũb���ߦ&8���D#5`�¤���M7�s�Mendstream endobj -2343 0 obj << +2344 0 obj << /Type /Page -/Contents 2344 0 R -/Resources 2342 0 R +/Contents 2345 0 R +/Resources 2343 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R -/Annots [ 2362 0 R 2366 0 R 2367 0 R 2368 0 R ] +/Parent 2342 0 R +/Annots [ 2363 0 R 2367 0 R 2368 0 R 2369 0 R ] >> endobj -2362 0 obj << +2363 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [362.8219 434.0083 424.6281 444.483] /Subtype /Link /A << /S /GoTo /D (suexec) >> >> endobj -2366 0 obj << +2367 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [471.1281 327.742 533.1707 338.646] /Subtype /Link /A << /S /GoTo /D (mysql) >> >> endobj -2367 0 obj << +2368 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [125.2498 314.7906 187.0178 325.6945] /Subtype /Link /A << /S /GoTo /D (postgresql) >> >> endobj -2368 0 obj << +2369 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [240.0683 314.7906 301.8363 325.6945] /Subtype /Link /A << /S /GoTo /D (oracle) >> >> endobj -2345 0 obj << -/D [2343 0 R /XYZ 71.731 729.2652 null] ->> endobj 2346 0 obj << -/D [2343 0 R /XYZ 71.731 741.2204 null] +/D [2344 0 R /XYZ 71.731 729.2652 null] >> endobj 2347 0 obj << -/D [2343 0 R /XYZ 71.731 718.3063 null] +/D [2344 0 R /XYZ 71.731 741.2204 null] >> endobj 2348 0 obj << -/D [2343 0 R /XYZ 71.731 718.3063 null] +/D [2344 0 R /XYZ 71.731 718.3063 null] >> endobj 2349 0 obj << -/D [2343 0 R /XYZ 177.7024 672.4782 null] +/D [2344 0 R /XYZ 71.731 718.3063 null] >> endobj 2350 0 obj << -/D [2343 0 R /XYZ 71.731 665.34 null] +/D [2344 0 R /XYZ 177.7024 672.4782 null] >> endobj 2351 0 obj << -/D [2343 0 R /XYZ 290.4879 654.5454 null] +/D [2344 0 R /XYZ 71.731 665.34 null] >> endobj 2352 0 obj << -/D [2343 0 R /XYZ 71.731 615.5916 null] +/D [2344 0 R /XYZ 290.4879 654.5454 null] >> endobj 2353 0 obj << -/D [2343 0 R /XYZ 71.731 600.6476 null] +/D [2344 0 R /XYZ 71.731 615.5916 null] >> endobj 2354 0 obj << -/D [2343 0 R /XYZ 159.3536 589.0909 null] +/D [2344 0 R /XYZ 71.731 600.6476 null] >> endobj 2355 0 obj << -/D [2343 0 R /XYZ 71.731 549.5392 null] +/D [2344 0 R /XYZ 159.3536 589.0909 null] >> endobj 2356 0 obj << -/D [2343 0 R /XYZ 229.3243 536.5878 null] +/D [2344 0 R /XYZ 71.731 549.5392 null] >> endobj 2357 0 obj << -/D [2343 0 R /XYZ 444.9382 510.6849 null] +/D [2344 0 R /XYZ 229.3243 536.5878 null] >> endobj 2358 0 obj << -/D [2343 0 R /XYZ 178.9977 497.7335 null] +/D [2344 0 R /XYZ 444.9382 510.6849 null] >> endobj 2359 0 obj << -/D [2343 0 R /XYZ 71.731 495.5767 null] +/D [2344 0 R /XYZ 178.9977 497.7335 null] >> endobj 2360 0 obj << -/D [2343 0 R /XYZ 118.5554 460.0253 null] +/D [2344 0 R /XYZ 71.731 495.5767 null] >> endobj 2361 0 obj << -/D [2343 0 R /XYZ 391.646 448.5482 null] +/D [2344 0 R /XYZ 118.5554 460.0253 null] >> endobj -2363 0 obj << -/D [2343 0 R /XYZ 71.731 415.0793 null] +2362 0 obj << +/D [2344 0 R /XYZ 391.646 448.5482 null] >> endobj 2364 0 obj << -/D [2343 0 R /XYZ 169.9804 408.3248 null] +/D [2344 0 R /XYZ 71.731 415.0793 null] +>> endobj +2365 0 obj << +/D [2344 0 R /XYZ 169.9804 408.3248 null] >> endobj 1388 0 obj << -/D [2343 0 R /XYZ 71.731 388.2352 null] +/D [2344 0 R /XYZ 71.731 388.2352 null] >> endobj 130 0 obj << -/D [2343 0 R /XYZ 224.1857 351.0196 null] +/D [2344 0 R /XYZ 224.1857 351.0196 null] >> endobj -2365 0 obj << -/D [2343 0 R /XYZ 71.731 343.6673 null] +2366 0 obj << +/D [2344 0 R /XYZ 71.731 343.6673 null] >> endobj 1389 0 obj << -/D [2343 0 R /XYZ 71.731 315.7869 null] +/D [2344 0 R /XYZ 71.731 315.7869 null] >> endobj 134 0 obj << -/D [2343 0 R /XYZ 266.2987 283.4729 null] ->> endobj -2369 0 obj << -/D [2343 0 R /XYZ 71.731 274.8354 null] +/D [2344 0 R /XYZ 266.2987 283.4729 null] >> endobj 2370 0 obj << -/D [2343 0 R /XYZ 247.7687 264.5439 null] +/D [2344 0 R /XYZ 71.731 274.8354 null] +>> endobj +2371 0 obj << +/D [2344 0 R /XYZ 247.7687 264.5439 null] >> endobj 1390 0 obj << -/D [2343 0 R /XYZ 71.731 231.5029 null] +/D [2344 0 R /XYZ 71.731 231.5029 null] >> endobj -2342 0 obj << -/Font << /F33 1358 0 R /F35 1709 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R >> +2343 0 obj << +/Font << /F33 1358 0 R /F35 1709 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2373 0 obj << +2374 0 obj << /Length 2381 /Filter /FlateDecode >> @@ -9853,119 +9864,119 @@ xڥko ��%�<���M Ea(�9Ͼ�$�uC��/�M�"��BP�$��)�)��&�%��]�_�[�9������h?j��@-sfŁ�|w���Qkh�� �w0o�4���Pl6����Ƕ9���s�Cz��ĵ�����"L�f0{�����|�?g�O��Z'~ /��&ox��l7� 4���v�%�F?�&3̓4��>F�>���_\��p��i��N�������?Rkx�+)h#�~ܖ�b�'�7�����<�X� �͟�&86^,\����y���ia�����endstream endobj -2372 0 obj << +2373 0 obj << /Type /Page -/Contents 2373 0 R -/Resources 2371 0 R +/Contents 2374 0 R +/Resources 2372 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R -/Annots [ 2404 0 R ] +/Parent 2342 0 R +/Annots [ 2405 0 R ] >> endobj -2404 0 obj << +2405 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [441.1732 117.2035 495.4692 128.1074] /Subtype /Link /A << /S /GoTo /D (localconfig) >> >> endobj -2374 0 obj << -/D [2372 0 R /XYZ 71.731 729.2652 null] +2375 0 obj << +/D [2373 0 R /XYZ 71.731 729.2652 null] >> endobj 138 0 obj << -/D [2372 0 R /XYZ 156.1213 708.3437 null] ->> endobj -2375 0 obj << -/D [2372 0 R /XYZ 71.731 705.869 null] +/D [2373 0 R /XYZ 156.1213 708.3437 null] >> endobj 2376 0 obj << -/D [2372 0 R /XYZ 118.5554 669.3214 null] +/D [2373 0 R /XYZ 71.731 705.869 null] >> endobj 2377 0 obj << -/D [2372 0 R /XYZ 407.0632 657.8444 null] +/D [2373 0 R /XYZ 118.5554 669.3214 null] >> endobj 2378 0 obj << -/D [2372 0 R /XYZ 512.3437 646.1881 null] +/D [2373 0 R /XYZ 407.0632 657.8444 null] >> endobj 2379 0 obj << -/D [2372 0 R /XYZ 118.5554 639.3194 null] +/D [2373 0 R /XYZ 512.3437 646.1881 null] >> endobj 2380 0 obj << -/D [2372 0 R /XYZ 158.406 619.5878 null] +/D [2373 0 R /XYZ 118.5554 639.3194 null] >> endobj 2381 0 obj << -/D [2372 0 R /XYZ 118.5554 617.7005 null] +/D [2373 0 R /XYZ 158.406 619.5878 null] >> endobj 2382 0 obj << -/D [2372 0 R /XYZ 158.406 602.9502 null] +/D [2373 0 R /XYZ 118.5554 617.7005 null] >> endobj 2383 0 obj << -/D [2372 0 R /XYZ 118.5554 601.0629 null] +/D [2373 0 R /XYZ 158.406 602.9502 null] >> endobj 2384 0 obj << -/D [2372 0 R /XYZ 158.406 586.3126 null] ->> endobj -142 0 obj << -/D [2372 0 R /XYZ 316.729 531.7139 null] +/D [2373 0 R /XYZ 118.5554 601.0629 null] >> endobj 2385 0 obj << -/D [2372 0 R /XYZ 71.731 524.516 null] +/D [2373 0 R /XYZ 158.406 586.3126 null] +>> endobj +142 0 obj << +/D [2373 0 R /XYZ 316.729 531.7139 null] >> endobj 2386 0 obj << -/D [2372 0 R /XYZ 71.731 480.7402 null] +/D [2373 0 R /XYZ 71.731 524.516 null] >> endobj 2387 0 obj << -/D [2372 0 R /XYZ 465.4239 469.9456 null] +/D [2373 0 R /XYZ 71.731 480.7402 null] >> endobj 2388 0 obj << -/D [2372 0 R /XYZ 71.731 431.9232 null] +/D [2373 0 R /XYZ 465.4239 469.9456 null] >> endobj 2389 0 obj << -/D [2372 0 R /XYZ 71.731 377.4923 null] ->> endobj -146 0 obj << -/D [2372 0 R /XYZ 276.5502 344.6156 null] +/D [2373 0 R /XYZ 71.731 431.9232 null] >> endobj 2390 0 obj << -/D [2372 0 R /XYZ 71.731 339.5198 null] +/D [2373 0 R /XYZ 71.731 377.4923 null] +>> endobj +146 0 obj << +/D [2373 0 R /XYZ 276.5502 344.6156 null] >> endobj 2391 0 obj << -/D [2372 0 R /XYZ 71.731 306.5932 null] +/D [2373 0 R /XYZ 71.731 339.5198 null] >> endobj 2392 0 obj << -/D [2372 0 R /XYZ 277.0796 282.8472 null] +/D [2373 0 R /XYZ 71.731 306.5932 null] >> endobj 2393 0 obj << -/D [2372 0 R /XYZ 71.731 270.7277 null] +/D [2373 0 R /XYZ 277.0796 282.8472 null] >> endobj 2394 0 obj << -/D [2372 0 R /XYZ 71.731 226.774 null] +/D [2373 0 R /XYZ 71.731 270.7277 null] >> endobj 2395 0 obj << -/D [2372 0 R /XYZ 357.7805 215.0016 null] +/D [2373 0 R /XYZ 71.731 226.774 null] >> endobj 2396 0 obj << -/D [2372 0 R /XYZ 71.731 194.9121 null] ->> endobj -150 0 obj << -/D [2372 0 R /XYZ 211.2854 164.1922 null] +/D [2373 0 R /XYZ 357.7805 215.0016 null] >> endobj 2397 0 obj << -/D [2372 0 R /XYZ 71.731 157.1138 null] +/D [2373 0 R /XYZ 71.731 194.9121 null] +>> endobj +150 0 obj << +/D [2373 0 R /XYZ 211.2854 164.1922 null] >> endobj 2398 0 obj << -/D [2372 0 R /XYZ 271.0674 133.308 null] +/D [2373 0 R /XYZ 71.731 157.1138 null] >> endobj 2399 0 obj << -/D [2372 0 R /XYZ 243.4755 120.3566 null] +/D [2373 0 R /XYZ 271.0674 133.308 null] >> endobj -2403 0 obj << -/D [2372 0 R /XYZ 370.2593 120.3566 null] +2400 0 obj << +/D [2373 0 R /XYZ 243.4755 120.3566 null] >> endobj -2371 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F48 2104 0 R /F27 1258 0 R /F54 2402 0 R >> +2404 0 obj << +/D [2373 0 R /XYZ 370.2593 120.3566 null] +>> endobj +2372 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F35 1709 0 R /F48 2105 0 R /F27 1258 0 R /F54 2403 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2407 0 obj << +2408 0 obj << /Length 2189 /Filter /FlateDecode >> @@ -9981,149 +9992,149 @@ n �I�>-���]V�)���s��gB���r��C��#���D�#(g��#o�A���t���ε�U_Ԓ�P��&?�B Dq�+�ԗ�8Ӧ���{�E.���{��D�m͕���H�T��=�E������pZ�Ê����*��/�UYv_]�`/N�= �=�uG�'���_�Zޘ�gl^�{�x&8�pOCq�;�8�>�g�GX����0���CM[��=�ub�:/��?�����\O�8�É7��N�����Mϼ~�"Ŀ��ݑ9ϖv�!���6�{�}�X��I��Sendstream endobj -2406 0 obj << +2407 0 obj << /Type /Page -/Contents 2407 0 R -/Resources 2405 0 R +/Contents 2408 0 R +/Resources 2406 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R -/Annots [ 2439 0 R ] +/Parent 2342 0 R +/Annots [ 2440 0 R ] >> endobj -2439 0 obj << +2440 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [399.3902 197.2952 453.6862 208.1992] /Subtype /Link /A << /S /GoTo /D (localconfig) >> >> endobj -2408 0 obj << -/D [2406 0 R /XYZ 71.731 729.2652 null] ->> endobj 2409 0 obj << -/D [2406 0 R /XYZ 71.731 718.3063 null] +/D [2407 0 R /XYZ 71.731 729.2652 null] >> endobj 2410 0 obj << -/D [2406 0 R /XYZ 137.5929 708.3437 null] +/D [2407 0 R /XYZ 71.731 718.3063 null] >> endobj 2411 0 obj << -/D [2406 0 R /XYZ 262.9731 708.3437 null] +/D [2407 0 R /XYZ 137.5929 708.3437 null] >> endobj 2412 0 obj << -/D [2406 0 R /XYZ 403.4489 708.3437 null] +/D [2407 0 R /XYZ 262.9731 708.3437 null] >> endobj 2413 0 obj << -/D [2406 0 R /XYZ 134.3878 695.3923 null] +/D [2407 0 R /XYZ 403.4489 708.3437 null] >> endobj 2414 0 obj << -/D [2406 0 R /XYZ 344.0117 695.3923 null] +/D [2407 0 R /XYZ 134.3878 695.3923 null] >> endobj 2415 0 obj << -/D [2406 0 R /XYZ 71.731 675.3027 null] +/D [2407 0 R /XYZ 344.0117 695.3923 null] >> endobj 2416 0 obj << -/D [2406 0 R /XYZ 105.4942 664.5081 null] +/D [2407 0 R /XYZ 71.731 675.3027 null] >> endobj 2417 0 obj << -/D [2406 0 R /XYZ 71.731 653.1647 null] +/D [2407 0 R /XYZ 105.4942 664.5081 null] >> endobj 2418 0 obj << -/D [2406 0 R /XYZ 93.2503 642.8892 null] +/D [2407 0 R /XYZ 71.731 653.1647 null] >> endobj 2419 0 obj << -/D [2406 0 R /XYZ 308.4431 607.9203 null] +/D [2407 0 R /XYZ 93.2503 642.8892 null] >> endobj 2420 0 obj << -/D [2406 0 R /XYZ 93.2503 596.264 null] +/D [2407 0 R /XYZ 308.4431 607.9203 null] >> endobj 2421 0 obj << -/D [2406 0 R /XYZ 71.731 574.6451 null] ->> endobj -154 0 obj << -/D [2406 0 R /XYZ 318.7211 541.7684 null] +/D [2407 0 R /XYZ 93.2503 596.264 null] >> endobj 2422 0 obj << -/D [2406 0 R /XYZ 71.731 534.5704 null] +/D [2407 0 R /XYZ 71.731 574.6451 null] +>> endobj +154 0 obj << +/D [2407 0 R /XYZ 318.7211 541.7684 null] >> endobj 2423 0 obj << -/D [2406 0 R /XYZ 71.731 503.746 null] +/D [2407 0 R /XYZ 71.731 534.5704 null] >> endobj 2424 0 obj << -/D [2406 0 R /XYZ 511.0835 492.9514 null] +/D [2407 0 R /XYZ 71.731 503.746 null] >> endobj 2425 0 obj << -/D [2406 0 R /XYZ 298.7034 480 null] +/D [2407 0 R /XYZ 511.0835 492.9514 null] >> endobj 2426 0 obj << -/D [2406 0 R /XYZ 490.1775 480 null] +/D [2407 0 R /XYZ 298.7034 480 null] >> endobj 2427 0 obj << -/D [2406 0 R /XYZ 71.731 455.3027 null] +/D [2407 0 R /XYZ 490.1775 480 null] >> endobj 2428 0 obj << -/D [2406 0 R /XYZ 93.2503 445.4296 null] +/D [2407 0 R /XYZ 71.731 455.3027 null] >> endobj 2429 0 obj << -/D [2406 0 R /XYZ 149.2005 445.4296 null] +/D [2407 0 R /XYZ 93.2503 445.4296 null] >> endobj 2430 0 obj << -/D [2406 0 R /XYZ 93.2503 433.7734 null] +/D [2407 0 R /XYZ 149.2005 445.4296 null] >> endobj 2431 0 obj << -/D [2406 0 R /XYZ 71.731 400.4981 null] +/D [2407 0 R /XYZ 93.2503 433.7734 null] >> endobj 2432 0 obj << -/D [2406 0 R /XYZ 71.731 372.4385 null] +/D [2407 0 R /XYZ 71.731 400.4981 null] >> endobj 2433 0 obj << -/D [2406 0 R /XYZ 71.731 357.4945 null] +/D [2407 0 R /XYZ 71.731 372.4385 null] +>> endobj +2434 0 obj << +/D [2407 0 R /XYZ 71.731 357.4945 null] >> endobj 1391 0 obj << -/D [2406 0 R /XYZ 71.731 310.137 null] +/D [2407 0 R /XYZ 71.731 310.137 null] >> endobj 158 0 obj << -/D [2406 0 R /XYZ 183.5462 274.67 null] +/D [2407 0 R /XYZ 183.5462 274.67 null] >> endobj -2434 0 obj << -/D [2406 0 R /XYZ 71.731 272.0101 null] +2435 0 obj << +/D [2407 0 R /XYZ 71.731 272.0101 null] >> endobj 162 0 obj << -/D [2406 0 R /XYZ 233.3921 244.2839 null] ->> endobj -2435 0 obj << -/D [2406 0 R /XYZ 71.731 237.086 null] +/D [2407 0 R /XYZ 233.3921 244.2839 null] >> endobj 2436 0 obj << -/D [2406 0 R /XYZ 250.6331 213.3998 null] +/D [2407 0 R /XYZ 71.731 237.086 null] >> endobj 2437 0 obj << -/D [2406 0 R /XYZ 201.6925 200.4483 null] +/D [2407 0 R /XYZ 250.6331 213.3998 null] >> endobj 2438 0 obj << -/D [2406 0 R /XYZ 328.4763 200.4483 null] +/D [2407 0 R /XYZ 201.6925 200.4483 null] >> endobj -2440 0 obj << -/D [2406 0 R /XYZ 71.731 193.3102 null] +2439 0 obj << +/D [2407 0 R /XYZ 328.4763 200.4483 null] >> endobj 2441 0 obj << -/D [2406 0 R /XYZ 71.731 170.3961 null] +/D [2407 0 R /XYZ 71.731 193.3102 null] >> endobj 2442 0 obj << -/D [2406 0 R /XYZ 77.1108 160.8967 null] +/D [2407 0 R /XYZ 71.731 170.3961 null] >> endobj 2443 0 obj << -/D [2406 0 R /XYZ 71.731 149.5533 null] +/D [2407 0 R /XYZ 77.1108 160.8967 null] >> endobj 2444 0 obj << -/D [2406 0 R /XYZ 71.731 125.8631 null] +/D [2407 0 R /XYZ 71.731 149.5533 null] >> endobj 2445 0 obj << -/D [2406 0 R /XYZ 77.1108 116.3637 null] +/D [2407 0 R /XYZ 71.731 125.8631 null] >> endobj -2405 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F32 1266 0 R /F35 1709 0 R /F54 2402 0 R /F48 2104 0 R /F23 1250 0 R /F44 2088 0 R >> +2446 0 obj << +/D [2407 0 R /XYZ 77.1108 116.3637 null] +>> endobj +2406 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F32 1266 0 R /F35 1709 0 R /F54 2403 0 R /F48 2105 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2448 0 obj << +2449 0 obj << /Length 2167 /Filter /FlateDecode >> @@ -10144,129 +10155,129 @@ W �� &ܡ����X`g���Ȩj'�����i�5��� ]�pR�ð��������R�_�xcj��o) hm.��}���!�6��@�B�C����f�o!���G��9�Φ%f Ա�^�� 偨@%04�{5���}U�����qO~�����b��a��:�����,-� ��Y����G���F���';v�9�অ#߭�o����h�~�_�&��f<25��7\j)��sı��}�Z��dj$���;'U{t3|��~��G����l8��~M}n�v?�� �y��6�~q�̆�h0�:���5������@��衍����W��dte%�֒����qV ����~���*�A���]�? ������z�큮��������������l7 ��w�o���^8���2���e���[���(endstream endobj -2447 0 obj << +2448 0 obj << /Type /Page -/Contents 2448 0 R -/Resources 2446 0 R +/Contents 2449 0 R +/Resources 2447 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R ->> endobj -2449 0 obj << -/D [2447 0 R /XYZ 71.731 729.2652 null] +/Parent 2342 0 R >> endobj 2450 0 obj << -/D [2447 0 R /XYZ 71.731 741.2204 null] +/D [2448 0 R /XYZ 71.731 729.2652 null] >> endobj 2451 0 obj << -/D [2447 0 R /XYZ 71.731 718.3063 null] +/D [2448 0 R /XYZ 71.731 741.2204 null] >> endobj 2452 0 obj << -/D [2447 0 R /XYZ 353.0355 708.3437 null] +/D [2448 0 R /XYZ 71.731 718.3063 null] >> endobj 2453 0 obj << -/D [2447 0 R /XYZ 408.4801 708.3437 null] +/D [2448 0 R /XYZ 353.0355 708.3437 null] >> endobj 2454 0 obj << -/D [2447 0 R /XYZ 71.731 688.2541 null] ->> endobj -166 0 obj << -/D [2447 0 R /XYZ 215.6691 657.5342 null] +/D [2448 0 R /XYZ 408.4801 708.3437 null] >> endobj 2455 0 obj << -/D [2447 0 R /XYZ 71.731 650.3362 null] +/D [2448 0 R /XYZ 71.731 688.2541 null] +>> endobj +166 0 obj << +/D [2448 0 R /XYZ 215.6691 657.5342 null] >> endobj 2456 0 obj << -/D [2447 0 R /XYZ 178.5531 639.6015 null] +/D [2448 0 R /XYZ 71.731 650.3362 null] >> endobj 2457 0 obj << -/D [2447 0 R /XYZ 347.9401 639.6015 null] +/D [2448 0 R /XYZ 178.5531 639.6015 null] >> endobj 2458 0 obj << -/D [2447 0 R /XYZ 71.731 621.5692 null] +/D [2448 0 R /XYZ 347.9401 639.6015 null] >> endobj 2459 0 obj << -/D [2447 0 R /XYZ 71.731 621.5692 null] +/D [2448 0 R /XYZ 71.731 621.5692 null] >> endobj 2460 0 obj << -/D [2447 0 R /XYZ 71.731 602.3552 null] +/D [2448 0 R /XYZ 71.731 621.5692 null] >> endobj 2461 0 obj << -/D [2447 0 R /XYZ 71.731 570.695 null] +/D [2448 0 R /XYZ 71.731 602.3552 null] >> endobj 2462 0 obj << -/D [2447 0 R /XYZ 240.4397 546.9489 null] +/D [2448 0 R /XYZ 71.731 570.695 null] >> endobj 2463 0 obj << -/D [2447 0 R /XYZ 71.731 533.9975 null] +/D [2448 0 R /XYZ 240.4397 546.9489 null] >> endobj 2464 0 obj << -/D [2447 0 R /XYZ 181.2557 533.9975 null] +/D [2448 0 R /XYZ 71.731 533.9975 null] >> endobj 2465 0 obj << -/D [2447 0 R /XYZ 336.0356 533.9975 null] +/D [2448 0 R /XYZ 181.2557 533.9975 null] >> endobj 2466 0 obj << -/D [2447 0 R /XYZ 470.0538 533.9975 null] +/D [2448 0 R /XYZ 336.0356 533.9975 null] +>> endobj +2467 0 obj << +/D [2448 0 R /XYZ 470.0538 533.9975 null] >> endobj 1392 0 obj << -/D [2447 0 R /XYZ 71.731 503.9453 null] +/D [2448 0 R /XYZ 71.731 503.9453 null] >> endobj 170 0 obj << -/D [2447 0 R /XYZ 151.9129 470.6351 null] +/D [2448 0 R /XYZ 151.9129 470.6351 null] >> endobj -2467 0 obj << -/D [2447 0 R /XYZ 71.731 470.4857 null] +2468 0 obj << +/D [2448 0 R /XYZ 71.731 470.4857 null] >> endobj 174 0 obj << -/D [2447 0 R /XYZ 229.6168 440.249 null] ->> endobj -2468 0 obj << -/D [2447 0 R /XYZ 71.731 433.1707 null] +/D [2448 0 R /XYZ 229.6168 440.249 null] >> endobj 2469 0 obj << -/D [2447 0 R /XYZ 71.731 399.3027 null] +/D [2448 0 R /XYZ 71.731 433.1707 null] >> endobj 2470 0 obj << -/D [2447 0 R /XYZ 147.0485 376.0896 null] +/D [2448 0 R /XYZ 71.731 399.3027 null] >> endobj 2471 0 obj << -/D [2447 0 R /XYZ 71.731 342.8144 null] +/D [2448 0 R /XYZ 147.0485 376.0896 null] >> endobj 2472 0 obj << -/D [2447 0 R /XYZ 379.0423 329.863 null] +/D [2448 0 R /XYZ 71.731 342.8144 null] >> endobj 2473 0 obj << -/D [2447 0 R /XYZ 240.1215 316.9116 null] +/D [2448 0 R /XYZ 379.0423 329.863 null] >> endobj 2474 0 obj << -/D [2447 0 R /XYZ 71.731 296.822 null] ->> endobj -178 0 obj << -/D [2447 0 R /XYZ 208.9641 266.1021 null] +/D [2448 0 R /XYZ 240.1215 316.9116 null] >> endobj 2475 0 obj << -/D [2447 0 R /XYZ 71.731 260.9166 null] +/D [2448 0 R /XYZ 71.731 296.822 null] +>> endobj +178 0 obj << +/D [2448 0 R /XYZ 208.9641 266.1021 null] >> endobj 2476 0 obj << -/D [2447 0 R /XYZ 307.0341 248.1694 null] +/D [2448 0 R /XYZ 71.731 260.9166 null] >> endobj 2477 0 obj << -/D [2447 0 R /XYZ 372.5173 248.1694 null] +/D [2448 0 R /XYZ 307.0341 248.1694 null] >> endobj 2478 0 obj << -/D [2447 0 R /XYZ 435.9172 248.1694 null] +/D [2448 0 R /XYZ 372.5173 248.1694 null] >> endobj 2479 0 obj << -/D [2447 0 R /XYZ 71.731 223.0985 null] +/D [2448 0 R /XYZ 435.9172 248.1694 null] >> endobj 2480 0 obj << -/D [2447 0 R /XYZ 173.9476 201.9427 null] +/D [2448 0 R /XYZ 71.731 223.0985 null] >> endobj -2446 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F54 2402 0 R /F35 1709 0 R /F48 2104 0 R /F23 1250 0 R >> -/ProcSet [ /PDF /Text ] +2481 0 obj << +/D [2448 0 R /XYZ 173.9476 201.9427 null] >> endobj -2483 0 obj << +2447 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F54 2403 0 R /F35 1709 0 R /F48 2105 0 R /F23 1250 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2484 0 obj << /Length 2181 /Filter /FlateDecode >> @@ -10279,133 +10290,133 @@ G= 3_��5s��O��5s�Kit���ht�L\Xanf��p\oYq!Ͷۨ�{�@W�����+G��Hœ0CX������?�^&.����HC6��e��S��ſ2,|��`^��a��]j�s�#���. ������G�z$lE�(�/�Gtu�����DI��Tk-�9�zj%h�9�z�3�Y�(�NM���&��܄�p� 4�_BLq�%�� �hb#�~�v �Ki�D�_l��V �"��j���j_�-r�+m���k�9A�L� �����.�'L$�xݮ�� �.�9�`����GL��>����',��tJmR�9����W�Oȳg�=��Y,�AX�B�Ɉ;����p�n�'�x驌:e�����9n�22*|ᕄzT+�6�_]{j��h顄�^�E9��d��=�,.�Ǧ,�p_�Gl�� X��_{^�2]�R�J���X�cM��w4�-zÂ�V��sn�4_�� A�c�x�A2d2�]cV�˃�G�f����1�~�yӦ�K��{p��.-�E=��[>�Q��?��&nWk�kj"�{�:�>;��^�Z����ߺ����,a�*6&<�/I2J2�^|M_Q���endstream endobj -2482 0 obj << +2483 0 obj << /Type /Page -/Contents 2483 0 R -/Resources 2481 0 R +/Contents 2484 0 R +/Resources 2482 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2341 0 R -/Annots [ 2498 0 R 2501 0 R 2502 0 R ] +/Parent 2342 0 R +/Annots [ 2499 0 R 2502 0 R 2503 0 R ] >> endobj -2498 0 obj << +2499 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [202.966 275.2628 258.7502 286.1668] /Subtype /Link /A << /S /GoTo /D (security-webserver-access) >> >> endobj -2501 0 obj << +2502 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [303.9053 208.9116 340.7668 219.8156] /Subtype /Link /A << /S /GoTo /D (http-apache-mod_cgi) >> >> endobj -2502 0 obj << +2503 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [408.2018 208.9116 448.3808 219.8156] /Subtype /Link /A << /S /GoTo /D (http-apache-mod_perl) >> >> endobj -2484 0 obj << -/D [2482 0 R /XYZ 71.731 729.2652 null] ->> endobj 2485 0 obj << -/D [2482 0 R /XYZ 71.731 741.2204 null] ->> endobj -182 0 obj << -/D [2482 0 R /XYZ 230.9615 665.5043 null] +/D [2483 0 R /XYZ 71.731 729.2652 null] >> endobj 2486 0 obj << -/D [2482 0 R /XYZ 71.731 658.3064 null] +/D [2483 0 R /XYZ 71.731 741.2204 null] +>> endobj +182 0 obj << +/D [2483 0 R /XYZ 230.9615 665.5043 null] >> endobj 2487 0 obj << -/D [2482 0 R /XYZ 246.9819 647.5716 null] +/D [2483 0 R /XYZ 71.731 658.3064 null] >> endobj 2488 0 obj << -/D [2482 0 R /XYZ 71.731 624.558 null] +/D [2483 0 R /XYZ 246.9819 647.5716 null] >> endobj 2489 0 obj << -/D [2482 0 R /XYZ 71.731 579.726 null] +/D [2483 0 R /XYZ 71.731 624.558 null] +>> endobj +2490 0 obj << +/D [2483 0 R /XYZ 71.731 579.726 null] >> endobj 1393 0 obj << -/D [2482 0 R /XYZ 71.731 539.7112 null] +/D [2483 0 R /XYZ 71.731 539.7112 null] >> endobj 186 0 obj << -/D [2482 0 R /XYZ 206.856 502.4956 null] ->> endobj -2490 0 obj << -/D [2482 0 R /XYZ 71.731 492.353 null] +/D [2483 0 R /XYZ 206.856 502.4956 null] >> endobj 2491 0 obj << -/D [2482 0 R /XYZ 120.3029 482.3711 null] +/D [2483 0 R /XYZ 71.731 492.353 null] >> endobj 2492 0 obj << -/D [2482 0 R /XYZ 71.731 449.3301 null] +/D [2483 0 R /XYZ 120.3029 482.3711 null] >> endobj 2493 0 obj << -/D [2482 0 R /XYZ 71.731 405.4945 null] +/D [2483 0 R /XYZ 71.731 449.3301 null] >> endobj 2494 0 obj << -/D [2482 0 R /XYZ 71.731 405.4945 null] +/D [2483 0 R /XYZ 71.731 405.4945 null] >> endobj 2495 0 obj << -/D [2482 0 R /XYZ 270.6339 394.6999 null] +/D [2483 0 R /XYZ 71.731 405.4945 null] +>> endobj +2496 0 obj << +/D [2483 0 R /XYZ 270.6339 394.6999 null] >> endobj 1394 0 obj << -/D [2482 0 R /XYZ 71.731 387.5617 null] +/D [2483 0 R /XYZ 71.731 387.5617 null] >> endobj 190 0 obj << -/D [2482 0 R /XYZ 188.5932 350.3462 null] ->> endobj -2496 0 obj << -/D [2482 0 R /XYZ 71.731 342.9939 null] +/D [2483 0 R /XYZ 188.5932 350.3462 null] >> endobj 2497 0 obj << -/D [2482 0 R /XYZ 99.3014 304.3188 null] +/D [2483 0 R /XYZ 71.731 342.9939 null] >> endobj -2499 0 obj << -/D [2482 0 R /XYZ 319.3277 278.4159 null] +2498 0 obj << +/D [2483 0 R /XYZ 99.3014 304.3188 null] +>> endobj +2500 0 obj << +/D [2483 0 R /XYZ 319.3277 278.4159 null] >> endobj 1395 0 obj << -/D [2482 0 R /XYZ 71.731 263.3077 null] +/D [2483 0 R /XYZ 71.731 263.3077 null] >> endobj 194 0 obj << -/D [2482 0 R /XYZ 242.3649 230.9938 null] +/D [2483 0 R /XYZ 242.3649 230.9938 null] >> endobj -2500 0 obj << -/D [2482 0 R /XYZ 71.731 222.3563 null] +2501 0 obj << +/D [2483 0 R /XYZ 71.731 222.3563 null] >> endobj -2503 0 obj << -/D [2482 0 R /XYZ 71.731 209.9079 null] +2504 0 obj << +/D [2483 0 R /XYZ 71.731 209.9079 null] >> endobj 198 0 obj << -/D [2482 0 R /XYZ 236.6151 181.6787 null] ->> endobj -2504 0 obj << -/D [2482 0 R /XYZ 71.731 174.4807 null] +/D [2483 0 R /XYZ 236.6151 181.6787 null] >> endobj 2505 0 obj << -/D [2482 0 R /XYZ 71.731 161.5891 null] +/D [2483 0 R /XYZ 71.731 174.4807 null] >> endobj 2506 0 obj << -/D [2482 0 R /XYZ 71.731 151.6265 null] +/D [2483 0 R /XYZ 71.731 161.5891 null] >> endobj 2507 0 obj << -/D [2482 0 R /XYZ 115.1182 135.8505 null] +/D [2483 0 R /XYZ 71.731 151.6265 null] >> endobj 2508 0 obj << -/D [2482 0 R /XYZ 429.3178 135.8505 null] +/D [2483 0 R /XYZ 115.1182 135.8505 null] >> endobj 2509 0 obj << -/D [2482 0 R /XYZ 71.731 133.6937 null] +/D [2483 0 R /XYZ 429.3178 135.8505 null] >> endobj -2481 0 obj << -/Font << /F33 1358 0 R /F48 2104 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R >> +2510 0 obj << +/D [2483 0 R /XYZ 71.731 133.6937 null] +>> endobj +2482 0 obj << +/Font << /F33 1358 0 R /F48 2105 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2513 0 obj << +2514 0 obj << /Length 2729 /Filter /FlateDecode >> @@ -10427,140 +10438,140 @@ g o�c��aa@»˫aa���a�6)-�S>��f��á�����B%I:4�X��{�����>� wܕ�`6u��=����=6?�÷��F���u�5��$)D*}�ߛ>����_�Z�`u�J� �%�m�!]W�t�w�9�ߡ79��"�������0���H�~����d�q�T`�?�dzo��]_�~8�vZH/�QB=�3;>?�S�P�i��Y���3J�����l3�~������D�;�]�S�����ѯ`�5���1�#��y�1�[]�x�)u������)5(l��湲=��ekȸ�G0�v�8��םt��%6�h7�b�T���C j��I���N?$W:+`�a:8�s�4!��j��-�0"�~���Ƣ���NZ�q��lh���0�ؿ��@���v-1¹� =RV�d8��F|�w����I"endstream endobj -2512 0 obj << +2513 0 obj << /Type /Page -/Contents 2513 0 R -/Resources 2511 0 R +/Contents 2514 0 R +/Resources 2512 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R -/Annots [ 2527 0 R ] +/Parent 2552 0 R +/Annots [ 2528 0 R ] >> endobj -2527 0 obj << +2528 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [108.5928 427.7017 203.6286 438.1763] /Subtype /Link /A << /S /GoTo /D (win32-http) >> >> endobj -2514 0 obj << -/D [2512 0 R /XYZ 71.731 729.2652 null] ->> endobj 2515 0 obj << -/D [2512 0 R /XYZ 71.731 741.2204 null] +/D [2513 0 R /XYZ 71.731 729.2652 null] >> endobj 2516 0 obj << -/D [2512 0 R /XYZ 147.1884 708.3437 null] +/D [2513 0 R /XYZ 71.731 741.2204 null] >> endobj 2517 0 obj << -/D [2512 0 R /XYZ 314.7473 682.4408 null] +/D [2513 0 R /XYZ 147.1884 708.3437 null] >> endobj 2518 0 obj << -/D [2512 0 R /XYZ 71.731 590.8842 null] +/D [2513 0 R /XYZ 314.7473 682.4408 null] >> endobj 2519 0 obj << -/D [2512 0 R /XYZ 155.0564 564.9813 null] +/D [2513 0 R /XYZ 71.731 590.8842 null] >> endobj 2520 0 obj << -/D [2512 0 R /XYZ 89.6638 552.0299 null] +/D [2513 0 R /XYZ 155.0564 564.9813 null] >> endobj 2521 0 obj << -/D [2512 0 R /XYZ 71.731 549.8731 null] +/D [2513 0 R /XYZ 89.6638 552.0299 null] >> endobj 2522 0 obj << -/D [2512 0 R /XYZ 71.731 534.9291 null] +/D [2513 0 R /XYZ 71.731 549.8731 null] >> endobj 2523 0 obj << -/D [2512 0 R /XYZ 130.9027 513.7734 null] +/D [2513 0 R /XYZ 71.731 534.9291 null] >> endobj 2524 0 obj << -/D [2512 0 R /XYZ 76.7123 473.8232 null] +/D [2513 0 R /XYZ 130.9027 513.7734 null] >> endobj 2525 0 obj << -/D [2512 0 R /XYZ 71.731 453.8979 null] +/D [2513 0 R /XYZ 76.7123 473.8232 null] >> endobj 2526 0 obj << -/D [2512 0 R /XYZ 312.7176 442.2416 null] +/D [2513 0 R /XYZ 71.731 453.8979 null] >> endobj -2528 0 obj << -/D [2512 0 R /XYZ 74.2217 412.6526 null] +2527 0 obj << +/D [2513 0 R /XYZ 312.7176 442.2416 null] >> endobj 2529 0 obj << -/D [2512 0 R /XYZ 92.4688 389.7385 null] +/D [2513 0 R /XYZ 74.2217 412.6526 null] >> endobj 2530 0 obj << -/D [2512 0 R /XYZ 191.4782 376.7871 null] +/D [2513 0 R /XYZ 92.4688 389.7385 null] >> endobj 2531 0 obj << -/D [2512 0 R /XYZ 252.6128 376.7871 null] +/D [2513 0 R /XYZ 191.4782 376.7871 null] >> endobj 2532 0 obj << -/D [2512 0 R /XYZ 457.2853 376.7871 null] +/D [2513 0 R /XYZ 252.6128 376.7871 null] >> endobj 2533 0 obj << -/D [2512 0 R /XYZ 134.2361 363.8356 null] +/D [2513 0 R /XYZ 457.2853 376.7871 null] >> endobj 2534 0 obj << -/D [2512 0 R /XYZ 241.5533 363.8356 null] +/D [2513 0 R /XYZ 134.2361 363.8356 null] >> endobj 2535 0 obj << -/D [2512 0 R /XYZ 71.731 362.3961 null] +/D [2513 0 R /XYZ 241.5533 363.8356 null] >> endobj 2536 0 obj << -/D [2512 0 R /XYZ 280.4366 332.9515 null] +/D [2513 0 R /XYZ 71.731 362.3961 null] >> endobj 2537 0 obj << -/D [2512 0 R /XYZ 400.4654 332.9515 null] +/D [2513 0 R /XYZ 280.4366 332.9515 null] >> endobj 2538 0 obj << -/D [2512 0 R /XYZ 71.731 312.8619 null] +/D [2513 0 R /XYZ 400.4654 332.9515 null] >> endobj 2539 0 obj << -/D [2512 0 R /XYZ 71.731 286.7248 null] +/D [2513 0 R /XYZ 71.731 312.8619 null] >> endobj -2510 0 obj << -/D [2512 0 R /XYZ 71.731 248.7025 null] +2540 0 obj << +/D [2513 0 R /XYZ 71.731 286.7248 null] >> endobj -202 0 obj << -/D [2512 0 R /XYZ 240.6398 217.9826 null] +2511 0 obj << +/D [2513 0 R /XYZ 71.731 248.7025 null] >> endobj -2540 0 obj << -/D [2512 0 R /XYZ 71.731 210.9042 null] +202 0 obj << +/D [2513 0 R /XYZ 240.6398 217.9826 null] >> endobj 2541 0 obj << -/D [2512 0 R /XYZ 71.731 197.893 null] +/D [2513 0 R /XYZ 71.731 210.9042 null] >> endobj 2542 0 obj << -/D [2512 0 R /XYZ 71.731 187.9304 null] +/D [2513 0 R /XYZ 71.731 197.893 null] >> endobj 2543 0 obj << -/D [2512 0 R /XYZ 115.1182 172.1545 null] +/D [2513 0 R /XYZ 71.731 187.9304 null] >> endobj 2544 0 obj << -/D [2512 0 R /XYZ 429.3178 172.1545 null] +/D [2513 0 R /XYZ 115.1182 172.1545 null] >> endobj 2545 0 obj << -/D [2512 0 R /XYZ 71.731 169.9976 null] +/D [2513 0 R /XYZ 429.3178 172.1545 null] >> endobj 2546 0 obj << -/D [2512 0 R /XYZ 71.731 152.0649 null] +/D [2513 0 R /XYZ 71.731 169.9976 null] >> endobj 2547 0 obj << -/D [2512 0 R /XYZ 71.731 137.1209 null] +/D [2513 0 R /XYZ 71.731 152.0649 null] >> endobj 2548 0 obj << -/D [2512 0 R /XYZ 132.5157 115.9652 null] +/D [2513 0 R /XYZ 71.731 137.1209 null] >> endobj 2549 0 obj << -/D [2512 0 R /XYZ 254.2419 115.9652 null] +/D [2513 0 R /XYZ 132.5157 115.9652 null] >> endobj 2550 0 obj << -/D [2512 0 R /XYZ 76.7123 99.3276 null] +/D [2513 0 R /XYZ 254.2419 115.9652 null] >> endobj -2511 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R /F54 2402 0 R /F48 2104 0 R >> +2551 0 obj << +/D [2513 0 R /XYZ 76.7123 99.3276 null] +>> endobj +2512 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R /F54 2403 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2554 0 obj << +2555 0 obj << /Length 3221 /Filter /FlateDecode >> @@ -10581,144 +10592,144 @@ z ���K�N�-Lκe����P�0��0��P��Y��y!����v�ğg���?>l��o$�8QM /M���-/�ôjRE�/g���:\3��U��,M�l�L���"�`� W�>��*��['�U7����]o.�!�5���M;�0�ڃz̸�l"b���%"^�Dx���e_��ZQmN/�H�6�0X�k�'alS|{@ݬ^�;���lh�Ќ�"!�^���+{��"�P�WSO����s!�SY��M�rO����INkUXy"��B�2/�|/�7^vX�Llo#0�@���wȏE���.F�1�.�^I�k%�z�8��ad�D��D���&Y�Z��P�������K�ux��0~v�����ܦ7�.�MW�KӾ��P��Ќ��ҫ�Kj�:v��KlG9��,o���Ү�͟��~0�r����o�#�S�|�q��B��O�_����8�A����VtA���O��F���8�E_� �>�@��Fڍ2OA�RN>��ֺk6�`;}<�腐�T�:?�-cE�p���,Ki��mki���l+cy�-���Q��{�;�N��&�K�^ӯ��Fβ0 =�P|\��ǵ��"YG��,�y>`�/A!:���<�䵁2.E��r>,m7c�H&}: 9_�m���}�Mg_|p����z)�,��EH�3��w��u��-#l�p�ѻ� �=�T�m;����҂�l��_u��[�H�,�����Y!�-��[R��?�J�3��7n� 8-"M�5HkK�E�q����p��3Id)�JG�`'��_hf�8a*�O<A���������w{�`����#���(h�?_z���~�qT6���EH��%�����1�q�>�I��J�]'�� ���Z�B8f��T�Rg��WB�s�?��H�o�r�������^�`�_X��endstream endobj -2553 0 obj << +2554 0 obj << /Type /Page -/Contents 2554 0 R -/Resources 2552 0 R +/Contents 2555 0 R +/Resources 2553 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R ->> endobj -2555 0 obj << -/D [2553 0 R /XYZ 71.731 729.2652 null] +/Parent 2552 0 R >> endobj 2556 0 obj << -/D [2553 0 R /XYZ 136.4882 684.7236 null] +/D [2554 0 R /XYZ 71.731 729.2652 null] >> endobj 2557 0 obj << -/D [2553 0 R /XYZ 329.9487 676.2592 null] +/D [2554 0 R /XYZ 136.4882 684.7236 null] >> endobj 2558 0 obj << -/D [2553 0 R /XYZ 71.731 618.6175 null] +/D [2554 0 R /XYZ 329.9487 676.2592 null] >> endobj 2559 0 obj << -/D [2553 0 R /XYZ 92.4688 600.6847 null] +/D [2554 0 R /XYZ 71.731 618.6175 null] >> endobj 2560 0 obj << -/D [2553 0 R /XYZ 191.4782 587.7333 null] +/D [2554 0 R /XYZ 92.4688 600.6847 null] >> endobj 2561 0 obj << -/D [2553 0 R /XYZ 252.6128 587.7333 null] +/D [2554 0 R /XYZ 191.4782 587.7333 null] >> endobj 2562 0 obj << -/D [2553 0 R /XYZ 457.2853 587.7333 null] +/D [2554 0 R /XYZ 252.6128 587.7333 null] >> endobj 2563 0 obj << -/D [2553 0 R /XYZ 134.2361 574.7819 null] +/D [2554 0 R /XYZ 457.2853 587.7333 null] >> endobj 2564 0 obj << -/D [2553 0 R /XYZ 241.5533 574.7819 null] +/D [2554 0 R /XYZ 134.2361 574.7819 null] >> endobj 2565 0 obj << -/D [2553 0 R /XYZ 71.731 563.3797 null] +/D [2554 0 R /XYZ 241.5533 574.7819 null] >> endobj 2566 0 obj << -/D [2553 0 R /XYZ 71.731 536.7595 null] +/D [2554 0 R /XYZ 71.731 563.3797 null] >> endobj 2567 0 obj << -/D [2553 0 R /XYZ 71.731 521.8156 null] +/D [2554 0 R /XYZ 71.731 536.7595 null] >> endobj 2568 0 obj << -/D [2553 0 R /XYZ 470.1216 512.3161 null] +/D [2554 0 R /XYZ 71.731 521.8156 null] >> endobj 2569 0 obj << -/D [2553 0 R /XYZ 71.731 505.3398 null] +/D [2554 0 R /XYZ 470.1216 512.3161 null] >> endobj 2570 0 obj << -/D [2553 0 R /XYZ 101.6189 485.7159 null] +/D [2554 0 R /XYZ 71.731 505.3398 null] >> endobj 2571 0 obj << -/D [2553 0 R /XYZ 71.731 460.4083 null] +/D [2554 0 R /XYZ 101.6189 485.7159 null] >> endobj 2572 0 obj << -/D [2553 0 R /XYZ 101.6189 445.7657 null] +/D [2554 0 R /XYZ 71.731 460.4083 null] >> endobj 2573 0 obj << -/D [2553 0 R /XYZ 230.3977 434.1094 null] +/D [2554 0 R /XYZ 101.6189 445.7657 null] >> endobj 2574 0 obj << -/D [2553 0 R /XYZ 491.4206 434.1094 null] +/D [2554 0 R /XYZ 230.3977 434.1094 null] >> endobj 2575 0 obj << -/D [2553 0 R /XYZ 71.731 420.4581 null] +/D [2554 0 R /XYZ 491.4206 434.1094 null] >> endobj 2576 0 obj << -/D [2553 0 R /XYZ 101.6189 405.8155 null] +/D [2554 0 R /XYZ 71.731 420.4581 null] >> endobj 2577 0 obj << -/D [2553 0 R /XYZ 398.5807 394.1592 null] +/D [2554 0 R /XYZ 101.6189 405.8155 null] >> endobj 2578 0 obj << -/D [2553 0 R /XYZ 71.731 392.1642 null] +/D [2554 0 R /XYZ 398.5807 394.1592 null] >> endobj 2579 0 obj << -/D [2553 0 R /XYZ 101.6189 377.5216 null] +/D [2554 0 R /XYZ 71.731 392.1642 null] >> endobj 2580 0 obj << -/D [2553 0 R /XYZ 71.731 352.3217 null] +/D [2554 0 R /XYZ 101.6189 377.5216 null] >> endobj 2581 0 obj << -/D [2553 0 R /XYZ 101.6189 337.5714 null] +/D [2554 0 R /XYZ 71.731 352.3217 null] +>> endobj +2582 0 obj << +/D [2554 0 R /XYZ 101.6189 337.5714 null] >> endobj 1396 0 obj << -/D [2553 0 R /XYZ 71.731 271.4195 null] +/D [2554 0 R /XYZ 71.731 271.4195 null] >> endobj 206 0 obj << -/D [2553 0 R /XYZ 337.1201 235.9525 null] ->> endobj -2582 0 obj << -/D [2553 0 R /XYZ 71.731 229.8256 null] +/D [2554 0 R /XYZ 337.1201 235.9525 null] >> endobj 2583 0 obj << -/D [2553 0 R /XYZ 353.7741 217.0235 null] +/D [2554 0 R /XYZ 71.731 229.8256 null] >> endobj 2584 0 obj << -/D [2553 0 R /XYZ 483.4075 217.0235 null] +/D [2554 0 R /XYZ 353.7741 217.0235 null] >> endobj 2585 0 obj << -/D [2553 0 R /XYZ 285.3609 191.1206 null] +/D [2554 0 R /XYZ 483.4075 217.0235 null] >> endobj 2586 0 obj << -/D [2553 0 R /XYZ 119.5329 178.1692 null] +/D [2554 0 R /XYZ 285.3609 191.1206 null] >> endobj 2587 0 obj << -/D [2553 0 R /XYZ 437.0693 178.1692 null] +/D [2554 0 R /XYZ 119.5329 178.1692 null] >> endobj 2588 0 obj << -/D [2553 0 R /XYZ 117.1591 165.2178 null] +/D [2554 0 R /XYZ 437.0693 178.1692 null] >> endobj 2589 0 obj << -/D [2553 0 R /XYZ 419.1025 165.2178 null] +/D [2554 0 R /XYZ 117.1591 165.2178 null] >> endobj 2590 0 obj << -/D [2553 0 R /XYZ 355.4048 152.2663 null] +/D [2554 0 R /XYZ 419.1025 165.2178 null] >> endobj 2591 0 obj << -/D [2553 0 R /XYZ 71.731 145.5018 null] +/D [2554 0 R /XYZ 355.4048 152.2663 null] >> endobj 2592 0 obj << -/D [2553 0 R /XYZ 115.5601 121.3821 null] +/D [2554 0 R /XYZ 71.731 145.5018 null] >> endobj 2593 0 obj << -/D [2553 0 R /XYZ 153.5057 108.4307 null] +/D [2554 0 R /XYZ 115.5601 121.3821 null] >> endobj 2594 0 obj << -/D [2553 0 R /XYZ 343.0163 108.4307 null] +/D [2554 0 R /XYZ 153.5057 108.4307 null] >> endobj -2552 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F27 1258 0 R /F54 2402 0 R /F48 2104 0 R >> +2595 0 obj << +/D [2554 0 R /XYZ 343.0163 108.4307 null] +>> endobj +2553 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F35 1709 0 R /F27 1258 0 R /F54 2403 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2597 0 obj << +2598 0 obj << /Length 2504 /Filter /FlateDecode >> @@ -10736,146 +10747,146 @@ g ��T��";��5]���z!�d�L|�k������¶|�vjoHc���U����-%y$ ���5�d:�8Ȯ<t�]��<D�ǯ�N�%=�W� Lw@X�Fcj�fG]aւ� �q�jf�0�Ghx��UWł){7"�|̗k� ���]�km��&��,d�gm��cõ6k�O�#rQ!K�����c��z]T���/��b2]b3��W������|wRJO`ڵ:�y�\�2}S�tktI���O�gOu.����ϯ�s��Xy;��~(�{�YXVb�%%�zQ]`��X���e}@��<H@@B�At�WA �>�s,?�!=�lݻ�r��5���E�* x<���q��;�2L�Z̟K3]yE�C�]�8������T��xj��߈I��NŖb�R�L^�$O��$��/5]��� "�P*f\��m�6M�`I ��xpкͭC�Ŕw�����m��9��v՟v��믓��Cp?\w�����O��{��Rf��o*����]vzR�Da¿qe���Md��J!]<MMv�x�Ϳ�&����endstream endobj -2596 0 obj << +2597 0 obj << /Type /Page -/Contents 2597 0 R -/Resources 2595 0 R +/Contents 2598 0 R +/Resources 2596 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R -/Annots [ 2614 0 R 2617 0 R 2622 0 R 2628 0 R ] +/Parent 2552 0 R +/Annots [ 2615 0 R 2618 0 R 2623 0 R 2629 0 R ] >> endobj -2614 0 obj << +2615 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [165.3489 407.1732 219.6449 416.0198] /Subtype /Link /A << /S /GoTo /D (security-webserver-access) >> >> endobj -2617 0 obj << +2618 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [290.3691 317.7236 341.3377 328.6276] /Subtype /Link /A << /S /GoTo /D (troubleshooting) >> >> endobj -2622 0 obj << +2623 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [471.4741 225.6688 518.5364 236.5728] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj -2628 0 obj << +2629 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [473.0423 194.7846 519.8663 205.6886] /Subtype /Link /A << /S /GoTo /D (extraconfig) >> >> endobj -2598 0 obj << -/D [2596 0 R /XYZ 71.731 729.2652 null] ->> endobj 2599 0 obj << -/D [2596 0 R /XYZ 71.731 741.2204 null] +/D [2597 0 R /XYZ 71.731 729.2652 null] >> endobj 2600 0 obj << -/D [2596 0 R /XYZ 71.731 708.3437 null] +/D [2597 0 R /XYZ 71.731 741.2204 null] >> endobj 2601 0 obj << -/D [2596 0 R /XYZ 163.7652 682.4408 null] +/D [2597 0 R /XYZ 71.731 708.3437 null] >> endobj 2602 0 obj << -/D [2596 0 R /XYZ 71.731 675.3027 null] +/D [2597 0 R /XYZ 163.7652 682.4408 null] >> endobj 2603 0 obj << -/D [2596 0 R /XYZ 71.731 626.4857 null] +/D [2597 0 R /XYZ 71.731 675.3027 null] >> endobj 2604 0 obj << -/D [2596 0 R /XYZ 71.731 595.3674 null] +/D [2597 0 R /XYZ 71.731 626.4857 null] >> endobj 2605 0 obj << -/D [2596 0 R /XYZ 71.731 570.2965 null] +/D [2597 0 R /XYZ 71.731 595.3674 null] >> endobj 2606 0 obj << -/D [2596 0 R /XYZ 71.731 549.1407 null] +/D [2597 0 R /XYZ 71.731 570.2965 null] >> endobj 2607 0 obj << -/D [2596 0 R /XYZ 71.731 529.2154 null] +/D [2597 0 R /XYZ 71.731 549.1407 null] >> endobj 2608 0 obj << -/D [2596 0 R /XYZ 458.4786 517.5592 null] +/D [2597 0 R /XYZ 71.731 529.2154 null] >> endobj 2609 0 obj << -/D [2596 0 R /XYZ 207.9215 505.9029 null] +/D [2597 0 R /XYZ 458.4786 517.5592 null] >> endobj 2610 0 obj << -/D [2596 0 R /XYZ 71.731 478.0075 null] +/D [2597 0 R /XYZ 207.9215 505.9029 null] >> endobj 2611 0 obj << -/D [2596 0 R /XYZ 71.731 432.015 null] +/D [2597 0 R /XYZ 71.731 478.0075 null] >> endobj 2612 0 obj << -/D [2596 0 R /XYZ 358.1766 421.2204 null] +/D [2597 0 R /XYZ 71.731 432.015 null] >> endobj 2613 0 obj << -/D [2596 0 R /XYZ 461.0015 421.2204 null] +/D [2597 0 R /XYZ 358.1766 421.2204 null] +>> endobj +2614 0 obj << +/D [2597 0 R /XYZ 461.0015 421.2204 null] >> endobj 1397 0 obj << -/D [2596 0 R /XYZ 71.731 393.2255 null] +/D [2597 0 R /XYZ 71.731 393.2255 null] >> endobj 210 0 obj << -/D [2596 0 R /XYZ 166.6153 353.9527 null] ->> endobj -2615 0 obj << -/D [2596 0 R /XYZ 71.731 343.5877 null] +/D [2597 0 R /XYZ 166.6153 353.9527 null] >> endobj 2616 0 obj << -/D [2596 0 R /XYZ 258.5428 333.8281 null] +/D [2597 0 R /XYZ 71.731 343.5877 null] >> endobj -2618 0 obj << -/D [2596 0 R /XYZ 71.731 318.7199 null] +2617 0 obj << +/D [2597 0 R /XYZ 258.5428 333.8281 null] >> endobj 2619 0 obj << -/D [2596 0 R /XYZ 71.731 303.7759 null] +/D [2597 0 R /XYZ 71.731 318.7199 null] >> endobj 2620 0 obj << -/D [2596 0 R /XYZ 71.731 254.7248 null] +/D [2597 0 R /XYZ 71.731 303.7759 null] >> endobj 2621 0 obj << -/D [2596 0 R /XYZ 321.6777 241.7734 null] +/D [2597 0 R /XYZ 71.731 254.7248 null] >> endobj -2623 0 obj << -/D [2596 0 R /XYZ 158.3351 215.8705 null] +2622 0 obj << +/D [2597 0 R /XYZ 321.6777 241.7734 null] >> endobj 2624 0 obj << -/D [2596 0 R /XYZ 224.7455 215.8705 null] +/D [2597 0 R /XYZ 158.3351 215.8705 null] >> endobj 2625 0 obj << -/D [2596 0 R /XYZ 369.3714 215.8705 null] +/D [2597 0 R /XYZ 224.7455 215.8705 null] >> endobj 2626 0 obj << -/D [2596 0 R /XYZ 429.1468 215.8705 null] +/D [2597 0 R /XYZ 369.3714 215.8705 null] >> endobj 2627 0 obj << -/D [2596 0 R /XYZ 71.731 208.7323 null] +/D [2597 0 R /XYZ 429.1468 215.8705 null] +>> endobj +2628 0 obj << +/D [2597 0 R /XYZ 71.731 208.7323 null] >> endobj 1398 0 obj << -/D [2596 0 R /XYZ 71.731 180.837 null] +/D [2597 0 R /XYZ 71.731 180.837 null] >> endobj 214 0 obj << -/D [2596 0 R /XYZ 381.4679 137.7395 null] +/D [2597 0 R /XYZ 381.4679 137.7395 null] >> endobj -2629 0 obj << -/D [2596 0 R /XYZ 71.731 125.3015 null] +2630 0 obj << +/D [2597 0 R /XYZ 71.731 125.3015 null] >> endobj 1399 0 obj << -/D [2596 0 R /XYZ 71.731 114.0235 null] +/D [2597 0 R /XYZ 71.731 114.0235 null] >> endobj -2595 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R /F32 1266 0 R >> +2596 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2632 0 obj << +2633 0 obj << /Length 1954 /Filter /FlateDecode >> @@ -10887,110 +10898,110 @@ x ny�*���̀&z�Uz�d�p��>��<�m�;Ӥj������K����o����W?�)���.Sr�'�� t�HK}�} ((`O��,YP�PO����� ����i)�O�(y��}8A�٣m8 ��B������Ւ/AS��8���+w�fȪ��^z�����n��3�S�~�w�U&����~R�����c(2�'J(��?���΅���%"endstream endobj -2631 0 obj << +2632 0 obj << /Type /Page -/Contents 2632 0 R -/Resources 2630 0 R +/Contents 2633 0 R +/Resources 2631 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R -/Annots [ 2654 0 R ] +/Parent 2552 0 R +/Annots [ 2655 0 R ] >> endobj -2654 0 obj << +2655 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.9697 234.9094 288.044 245.8133] /Subtype /Link /A << /S /GoTo /D (whining) >> >> endobj -2633 0 obj << -/D [2631 0 R /XYZ 71.731 729.2652 null] ->> endobj 2634 0 obj << -/D [2631 0 R /XYZ 71.731 741.2204 null] ->> endobj -218 0 obj << -/D [2631 0 R /XYZ 193.7151 707.8408 null] +/D [2632 0 R /XYZ 71.731 729.2652 null] >> endobj 2635 0 obj << -/D [2631 0 R /XYZ 71.731 697.4758 null] +/D [2632 0 R /XYZ 71.731 741.2204 null] +>> endobj +218 0 obj << +/D [2632 0 R /XYZ 193.7151 707.8408 null] >> endobj 2636 0 obj << -/D [2631 0 R /XYZ 101.3201 666.0973 null] +/D [2632 0 R /XYZ 71.731 697.4758 null] >> endobj -2640 0 obj << -/D [2631 0 R /XYZ 71.731 655.8765 null] +2637 0 obj << +/D [2632 0 R /XYZ 101.3201 666.0973 null] >> endobj 2641 0 obj << -/D [2631 0 R /XYZ 416.3046 643.1833 null] +/D [2632 0 R /XYZ 71.731 655.8765 null] >> endobj 2642 0 obj << -/D [2631 0 R /XYZ 71.731 618.1124 null] +/D [2632 0 R /XYZ 416.3046 643.1833 null] >> endobj 2643 0 obj << -/D [2631 0 R /XYZ 71.731 597.2695 null] +/D [2632 0 R /XYZ 71.731 618.1124 null] >> endobj 2644 0 obj << -/D [2631 0 R /XYZ 71.731 583.542 null] +/D [2632 0 R /XYZ 71.731 597.2695 null] >> endobj 2645 0 obj << -/D [2631 0 R /XYZ 71.731 568.5981 null] +/D [2632 0 R /XYZ 71.731 583.542 null] >> endobj 2646 0 obj << -/D [2631 0 R /XYZ 369.0986 547.4423 null] +/D [2632 0 R /XYZ 71.731 568.5981 null] +>> endobj +2647 0 obj << +/D [2632 0 R /XYZ 369.0986 547.4423 null] >> endobj 1400 0 obj << -/D [2631 0 R /XYZ 71.731 519.5469 null] +/D [2632 0 R /XYZ 71.731 519.5469 null] >> endobj 222 0 obj << -/D [2631 0 R /XYZ 234.8596 480.1746 null] ->> endobj -2647 0 obj << -/D [2631 0 R /XYZ 71.731 469.8096 null] +/D [2632 0 R /XYZ 234.8596 480.1746 null] >> endobj 2648 0 obj << -/D [2631 0 R /XYZ 71.731 439.9605 null] +/D [2632 0 R /XYZ 71.731 469.8096 null] >> endobj 2649 0 obj << -/D [2631 0 R /XYZ 71.731 404.0949 null] +/D [2632 0 R /XYZ 71.731 439.9605 null] >> endobj 2650 0 obj << -/D [2631 0 R /XYZ 71.731 393.2147 null] +/D [2632 0 R /XYZ 71.731 404.0949 null] >> endobj 2651 0 obj << -/D [2631 0 R /XYZ 71.731 373.2895 null] +/D [2632 0 R /XYZ 71.731 393.2147 null] >> endobj 2652 0 obj << -/D [2631 0 R /XYZ 369.0986 351.3576 null] +/D [2632 0 R /XYZ 71.731 373.2895 null] +>> endobj +2653 0 obj << +/D [2632 0 R /XYZ 369.0986 351.3576 null] >> endobj 1401 0 obj << -/D [2631 0 R /XYZ 71.731 323.4622 null] +/D [2632 0 R /XYZ 71.731 323.4622 null] >> endobj 226 0 obj << -/D [2631 0 R /XYZ 168.1935 284.0899 null] +/D [2632 0 R /XYZ 168.1935 284.0899 null] >> endobj -2653 0 obj << -/D [2631 0 R /XYZ 71.731 273.7249 null] ->> endobj -2655 0 obj << -/D [2631 0 R /XYZ 71.731 220.0302 null] +2654 0 obj << +/D [2632 0 R /XYZ 71.731 273.7249 null] >> endobj 2656 0 obj << -/D [2631 0 R /XYZ 71.731 182.1074 null] +/D [2632 0 R /XYZ 71.731 220.0302 null] >> endobj 2657 0 obj << -/D [2631 0 R /XYZ 71.731 171.2272 null] +/D [2632 0 R /XYZ 71.731 182.1074 null] >> endobj 2658 0 obj << -/D [2631 0 R /XYZ 71.731 151.3019 null] +/D [2632 0 R /XYZ 71.731 171.2272 null] >> endobj 2659 0 obj << -/D [2631 0 R /XYZ 76.7123 101.0762 null] +/D [2632 0 R /XYZ 71.731 151.3019 null] >> endobj -2630 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F61 2639 0 R /F44 2088 0 R >> +2660 0 obj << +/D [2632 0 R /XYZ 76.7123 101.0762 null] +>> endobj +2631 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F61 2640 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2662 0 obj << +2663 0 obj << /Length 2447 /Filter /FlateDecode >> @@ -11010,117 +11021,117 @@ t) � ��T���a���Y�4����� � W����~��bĕ���4�Fw�����1Z������c=O�U �Ƈ�$#>K}M*��&��1H��� ͲR��<tis���,���#He����µU�R���m�!�h�����\�6��ŻD��塚v�;���M�>&��4�!�T��)yЫ�~:���M5�n �����$<�?�)�v��D�Y=�aNC�����{��S��[�]K�0?�&d��٪�����t^���ൟf��/�i��_"Nh.��J�,dNO����F6�?�6��endstream endobj -2661 0 obj << +2662 0 obj << /Type /Page -/Contents 2662 0 R -/Resources 2660 0 R +/Contents 2663 0 R +/Resources 2661 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R +/Parent 2552 0 R >> endobj -2663 0 obj << -/D [2661 0 R /XYZ 71.731 729.2652 null] +2664 0 obj << +/D [2662 0 R /XYZ 71.731 729.2652 null] >> endobj 1402 0 obj << -/D [2661 0 R /XYZ 71.731 668.792 null] +/D [2662 0 R /XYZ 71.731 668.792 null] >> endobj 230 0 obj << -/D [2661 0 R /XYZ 460.1057 629.4197 null] ->> endobj -2664 0 obj << -/D [2661 0 R /XYZ 71.731 619.0547 null] +/D [2662 0 R /XYZ 460.1057 629.4197 null] >> endobj 2665 0 obj << -/D [2661 0 R /XYZ 344.2788 609.2951 null] +/D [2662 0 R /XYZ 71.731 619.0547 null] >> endobj 2666 0 obj << -/D [2661 0 R /XYZ 197.3878 596.3437 null] +/D [2662 0 R /XYZ 344.2788 609.2951 null] >> endobj 2667 0 obj << -/D [2661 0 R /XYZ 438.3495 596.3437 null] +/D [2662 0 R /XYZ 197.3878 596.3437 null] >> endobj 2668 0 obj << -/D [2661 0 R /XYZ 474.7655 596.3437 null] +/D [2662 0 R /XYZ 438.3495 596.3437 null] >> endobj 2669 0 obj << -/D [2661 0 R /XYZ 114.0618 583.3923 null] +/D [2662 0 R /XYZ 474.7655 596.3437 null] >> endobj 2670 0 obj << -/D [2661 0 R /XYZ 71.731 576.2541 null] +/D [2662 0 R /XYZ 114.0618 583.3923 null] >> endobj 2671 0 obj << -/D [2661 0 R /XYZ 428.1816 565.4595 null] +/D [2662 0 R /XYZ 71.731 576.2541 null] >> endobj 2672 0 obj << -/D [2661 0 R /XYZ 325.0515 552.5081 null] +/D [2662 0 R /XYZ 428.1816 565.4595 null] >> endobj 2673 0 obj << -/D [2661 0 R /XYZ 71.731 539.5566 null] +/D [2662 0 R /XYZ 325.0515 552.5081 null] >> endobj 2674 0 obj << -/D [2661 0 R /XYZ 71.731 532.4185 null] +/D [2662 0 R /XYZ 71.731 539.5566 null] >> endobj 2675 0 obj << -/D [2661 0 R /XYZ 71.731 522.4559 null] +/D [2662 0 R /XYZ 71.731 532.4185 null] +>> endobj +2676 0 obj << +/D [2662 0 R /XYZ 71.731 522.4559 null] >> endobj 1403 0 obj << -/D [2661 0 R /XYZ 71.731 463.4421 null] +/D [2662 0 R /XYZ 71.731 463.4421 null] >> endobj 234 0 obj << -/D [2661 0 R /XYZ 533.8215 418.1878 null] ->> endobj -2676 0 obj << -/D [2661 0 R /XYZ 71.731 405.7498 null] +/D [2662 0 R /XYZ 533.8215 418.1878 null] >> endobj 2677 0 obj << -/D [2661 0 R /XYZ 332.1794 357.7743 null] +/D [2662 0 R /XYZ 71.731 405.7498 null] >> endobj 2678 0 obj << -/D [2661 0 R /XYZ 135.5067 344.8229 null] +/D [2662 0 R /XYZ 332.1794 357.7743 null] >> endobj 2679 0 obj << -/D [2661 0 R /XYZ 442.8346 344.8229 null] +/D [2662 0 R /XYZ 135.5067 344.8229 null] >> endobj 2680 0 obj << -/D [2661 0 R /XYZ 186.5563 331.8715 null] +/D [2662 0 R /XYZ 442.8346 344.8229 null] >> endobj 2681 0 obj << -/D [2661 0 R /XYZ 371.7975 331.8715 null] +/D [2662 0 R /XYZ 186.5563 331.8715 null] >> endobj 2682 0 obj << -/D [2661 0 R /XYZ 192.5465 318.92 null] +/D [2662 0 R /XYZ 371.7975 331.8715 null] >> endobj 2683 0 obj << -/D [2661 0 R /XYZ 71.731 311.7819 null] +/D [2662 0 R /XYZ 192.5465 318.92 null] >> endobj 2684 0 obj << -/D [2661 0 R /XYZ 381.8209 300.9873 null] +/D [2662 0 R /XYZ 71.731 311.7819 null] >> endobj 2685 0 obj << -/D [2661 0 R /XYZ 156.8057 288.0358 null] +/D [2662 0 R /XYZ 381.8209 300.9873 null] >> endobj 2686 0 obj << -/D [2661 0 R /XYZ 282.5705 288.0358 null] +/D [2662 0 R /XYZ 156.8057 288.0358 null] >> endobj 2687 0 obj << -/D [2661 0 R /XYZ 190.7139 275.0844 null] +/D [2662 0 R /XYZ 282.5705 288.0358 null] >> endobj 2688 0 obj << -/D [2661 0 R /XYZ 71.731 267.9463 null] +/D [2662 0 R /XYZ 190.7139 275.0844 null] >> endobj 2689 0 obj << -/D [2661 0 R /XYZ 71.731 219.1293 null] +/D [2662 0 R /XYZ 71.731 267.9463 null] >> endobj 2690 0 obj << -/D [2661 0 R /XYZ 71.731 135.1093 null] +/D [2662 0 R /XYZ 71.731 219.1293 null] +>> endobj +2691 0 obj << +/D [2662 0 R /XYZ 71.731 135.1093 null] >> endobj 1502 0 obj << -/D [2661 0 R /XYZ 71.731 115.0198 null] +/D [2662 0 R /XYZ 71.731 115.0198 null] >> endobj -2660 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R >> +2661 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2693 0 obj << +2694 0 obj << /Length 2251 /Filter /FlateDecode >> @@ -11138,120 +11149,120 @@ l �����^H��e��Rx2*��\Z��.�a��e����M N�1��7�R�V�B*���șY��En�?�* �?�������� �d���@����)#�O_������}���l��<%��^���tZ\Lت�n��$�g�D�0}ѻ�k�(�i���Oǽ>{ý�iD8�1zТC��]��3nx�ظ~D�~C���p��?��w�x�$�X���T�2u��z� �T>q�g�M*�?^�P� 1Y����vs�y���#���[3��,$:'wYĀ��j�S�� ���+�F�i��Y4:N�Q��(}��s�2�����^�g������>��GGz��6�9�h��3u{�w��b�DF���N �� ,��r�����E�DYg������jW����������D���J� 2�`�����q�9���f� ����A���ܹ�йg�ƥ��yn�u����_�3'u��@��P� �]���zw�K~���p7y v�)q���ɫ�ӄ����'��f)����[7��$�{7���Q�c03���i[���G�2Բ钑W*3FH[Qx�g��K#㾋>��]CyJ%������\��H��`0h��O������nW�endstream endobj -2692 0 obj << +2693 0 obj << /Type /Page -/Contents 2693 0 R -/Resources 2691 0 R +/Contents 2694 0 R +/Resources 2692 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2551 0 R -/Annots [ 2706 0 R 2707 0 R ] +/Parent 2552 0 R +/Annots [ 2707 0 R 2708 0 R ] >> endobj -2706 0 obj << +2707 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [329.242 326.0467 384.2731 336.9506] /Subtype /Link /A << /S /GoTo /D (install-perlmodules) >> >> endobj -2707 0 obj << +2708 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [90.1929 313.0952 113.057 323.9992] /Subtype /Link /A << /S /GoTo /D (gloss-ppm) >> >> endobj -2694 0 obj << -/D [2692 0 R /XYZ 71.731 729.2652 null] +2695 0 obj << +/D [2693 0 R /XYZ 71.731 729.2652 null] >> endobj 238 0 obj << -/D [2692 0 R /XYZ 350.1354 705.7477 null] ->> endobj -2695 0 obj << -/D [2692 0 R /XYZ 71.731 693.5765 null] +/D [2693 0 R /XYZ 350.1354 705.7477 null] >> endobj 2696 0 obj << -/D [2692 0 R /XYZ 71.731 651.1475 null] +/D [2693 0 R /XYZ 71.731 693.5765 null] >> endobj 2697 0 obj << -/D [2692 0 R /XYZ 440.4154 640.3529 null] +/D [2693 0 R /XYZ 71.731 651.1475 null] +>> endobj +2698 0 obj << +/D [2693 0 R /XYZ 440.4154 640.3529 null] >> endobj 1503 0 obj << -/D [2692 0 R /XYZ 71.731 625.2447 null] +/D [2693 0 R /XYZ 71.731 625.2447 null] >> endobj 242 0 obj << -/D [2692 0 R /XYZ 242.6208 588.0291 null] ->> endobj -2698 0 obj << -/D [2692 0 R /XYZ 71.731 580.6768 null] +/D [2693 0 R /XYZ 242.6208 588.0291 null] >> endobj 2699 0 obj << -/D [2692 0 R /XYZ 411.4148 542.0017 null] +/D [2693 0 R /XYZ 71.731 580.6768 null] +>> endobj +2700 0 obj << +/D [2693 0 R /XYZ 411.4148 542.0017 null] >> endobj 1504 0 obj << -/D [2692 0 R /XYZ 71.731 526.8935 null] +/D [2693 0 R /XYZ 71.731 526.8935 null] >> endobj 246 0 obj << -/D [2692 0 R /XYZ 175.7034 494.5796 null] ->> endobj -2700 0 obj << -/D [2692 0 R /XYZ 71.731 488.4526 null] +/D [2693 0 R /XYZ 175.7034 494.5796 null] >> endobj 2701 0 obj << -/D [2692 0 R /XYZ 231.7149 475.6506 null] +/D [2693 0 R /XYZ 71.731 488.4526 null] >> endobj 2702 0 obj << -/D [2692 0 R /XYZ 131.5513 462.6991 null] +/D [2693 0 R /XYZ 231.7149 475.6506 null] >> endobj 2703 0 obj << -/D [2692 0 R /XYZ 71.731 447.5909 null] +/D [2693 0 R /XYZ 131.5513 462.6991 null] >> endobj 2704 0 obj << -/D [2692 0 R /XYZ 71.731 432.6469 null] +/D [2693 0 R /XYZ 71.731 447.5909 null] +>> endobj +2705 0 obj << +/D [2693 0 R /XYZ 71.731 432.6469 null] >> endobj 1505 0 obj << -/D [2692 0 R /XYZ 71.731 383.5958 null] +/D [2693 0 R /XYZ 71.731 383.5958 null] >> endobj 250 0 obj << -/D [2692 0 R /XYZ 245.4492 348.1288 null] ->> endobj -2705 0 obj << -/D [2692 0 R /XYZ 71.731 342.0018 null] +/D [2693 0 R /XYZ 245.4492 348.1288 null] >> endobj -2708 0 obj << -/D [2692 0 R /XYZ 71.731 291.1774 null] +2706 0 obj << +/D [2693 0 R /XYZ 71.731 342.0018 null] >> endobj 2709 0 obj << -/D [2692 0 R /XYZ 120.1494 281.678 null] +/D [2693 0 R /XYZ 71.731 291.1774 null] >> endobj 2710 0 obj << -/D [2692 0 R /XYZ 71.731 260.059 null] +/D [2693 0 R /XYZ 120.1494 281.678 null] >> endobj 2711 0 obj << -/D [2692 0 R /XYZ 71.731 222.0367 null] +/D [2693 0 R /XYZ 71.731 260.059 null] >> endobj 2712 0 obj << -/D [2692 0 R /XYZ 71.731 222.0367 null] +/D [2693 0 R /XYZ 71.731 222.0367 null] >> endobj 2713 0 obj << -/D [2692 0 R /XYZ 71.731 190.9183 null] +/D [2693 0 R /XYZ 71.731 222.0367 null] >> endobj 2714 0 obj << -/D [2692 0 R /XYZ 71.731 152.896 null] +/D [2693 0 R /XYZ 71.731 190.9183 null] >> endobj 2715 0 obj << -/D [2692 0 R /XYZ 71.731 152.896 null] +/D [2693 0 R /XYZ 71.731 152.896 null] >> endobj 2716 0 obj << -/D [2692 0 R /XYZ 71.731 131.7402 null] +/D [2693 0 R /XYZ 71.731 152.896 null] >> endobj 2717 0 obj << -/D [2692 0 R /XYZ 71.731 111.815 null] +/D [2693 0 R /XYZ 71.731 131.7402 null] >> endobj -2691 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R /F61 2639 0 R >> +2718 0 obj << +/D [2693 0 R /XYZ 71.731 111.815 null] +>> endobj +2692 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R /F61 2640 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2721 0 obj << +2722 0 obj << /Length 2046 /Filter /FlateDecode >> @@ -11265,1312 +11276,1278 @@ xڕXmo ���;���Վ#T>X�L=�#Yn�^�`q�F�'S[4Y�&�SB2��������I�F��f��шo���*�O|ԛ,��y�d���y1oam�!j5���.��t[���7Ui���w`m0��*��Q嫰u�H D�#���`�#�#���)��A2W }o.��[�����ܤ+ � \8��~�y�W�;�T�չ]?��&u[�r6��V�5����'��_�VI�ۛ;T���<�D���`&���x�0��p{�2#�Ӛ�ߦ������{�x���!��u�x��HF���Ъ��E�0����ʒNg�"�?!�����K�b^��Q��_ G<�?@�<�_�A� �ꏊ �� dUendstream endobj -2720 0 obj << +2721 0 obj << /Type /Page -/Contents 2721 0 R -/Resources 2719 0 R +/Contents 2722 0 R +/Resources 2720 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R -/Annots [ 2731 0 R 2732 0 R ] +/Parent 2744 0 R +/Annots [ 2732 0 R 2733 0 R ] >> endobj -2731 0 obj << +2732 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [138.5297 421.8233 192.8257 432.7272] /Subtype /Link /A << /S /GoTo /D (security-webserver-access) >> >> endobj -2732 0 obj << +2733 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [477.0575 421.8233 531.3535 432.7272] /Subtype /Link /A << /S /GoTo /D (http) >> >> endobj -2722 0 obj << -/D [2720 0 R /XYZ 71.731 729.2652 null] ->> endobj 2723 0 obj << -/D [2720 0 R /XYZ 71.731 718.3063 null] +/D [2721 0 R /XYZ 71.731 729.2652 null] >> endobj 2724 0 obj << -/D [2720 0 R /XYZ 71.731 718.3063 null] +/D [2721 0 R /XYZ 71.731 718.3063 null] >> endobj 2725 0 obj << -/D [2720 0 R /XYZ 76.7123 659.5965 null] +/D [2721 0 R /XYZ 71.731 718.3063 null] >> endobj 2726 0 obj << -/D [2720 0 R /XYZ 71.731 639.6712 null] +/D [2721 0 R /XYZ 76.7123 659.5965 null] >> endobj 2727 0 obj << -/D [2720 0 R /XYZ 91.6563 604.7024 null] +/D [2721 0 R /XYZ 71.731 639.6712 null] >> endobj 2728 0 obj << -/D [2720 0 R /XYZ 76.7123 588.0648 null] +/D [2721 0 R /XYZ 91.6563 604.7024 null] >> endobj 2729 0 obj << -/D [2720 0 R /XYZ 71.731 568.1395 null] +/D [2721 0 R /XYZ 76.7123 588.0648 null] +>> endobj +2730 0 obj << +/D [2721 0 R /XYZ 71.731 568.1395 null] >> endobj 1506 0 obj << -/D [2720 0 R /XYZ 71.731 505.2752 null] +/D [2721 0 R /XYZ 71.731 505.2752 null] >> endobj 254 0 obj << -/D [2720 0 R /XYZ 244.6122 469.8082 null] ->> endobj -2730 0 obj << -/D [2720 0 R /XYZ 71.731 461.1707 null] +/D [2721 0 R /XYZ 244.6122 469.8082 null] >> endobj -2733 0 obj << -/D [2720 0 R /XYZ 71.731 422.8195 null] +2731 0 obj << +/D [2721 0 R /XYZ 71.731 461.1707 null] >> endobj 2734 0 obj << -/D [2720 0 R /XYZ 71.731 407.8756 null] +/D [2721 0 R /XYZ 71.731 422.8195 null] >> endobj 2735 0 obj << -/D [2720 0 R /XYZ 215.4742 398.3761 null] +/D [2721 0 R /XYZ 71.731 407.8756 null] >> endobj 2736 0 obj << -/D [2720 0 R /XYZ 91.6563 386.7198 null] +/D [2721 0 R /XYZ 215.4742 398.3761 null] >> endobj 2737 0 obj << -/D [2720 0 R /XYZ 71.731 363.1059 null] +/D [2721 0 R /XYZ 91.6563 386.7198 null] >> endobj 2738 0 obj << -/D [2720 0 R /XYZ 128.3551 332.9913 null] +/D [2721 0 R /XYZ 71.731 363.1059 null] >> endobj 2739 0 obj << -/D [2720 0 R /XYZ 71.731 321.1413 null] +/D [2721 0 R /XYZ 128.3551 332.9913 null] >> endobj 2740 0 obj << -/D [2720 0 R /XYZ 109.9956 290.9191 null] +/D [2721 0 R /XYZ 71.731 321.1413 null] +>> endobj +2741 0 obj << +/D [2721 0 R /XYZ 109.9956 290.9191 null] >> endobj 1507 0 obj << -/D [2720 0 R /XYZ 71.731 251.3674 null] +/D [2721 0 R /XYZ 71.731 251.3674 null] >> endobj 258 0 obj << -/D [2720 0 R /XYZ 197.3181 215.9004 null] +/D [2721 0 R /XYZ 197.3181 215.9004 null] >> endobj -2741 0 obj << -/D [2720 0 R /XYZ 71.731 207.2629 null] +2742 0 obj << +/D [2721 0 R /XYZ 71.731 207.2629 null] >> endobj 1508 0 obj << -/D [2720 0 R /XYZ 71.731 167.6364 null] +/D [2721 0 R /XYZ 71.731 167.6364 null] >> endobj 262 0 obj << -/D [2720 0 R /XYZ 177.7907 129.7036 null] +/D [2721 0 R /XYZ 177.7907 129.7036 null] >> endobj -2742 0 obj << -/D [2720 0 R /XYZ 71.731 122.3513 null] +2743 0 obj << +/D [2721 0 R /XYZ 71.731 122.3513 null] >> endobj 1509 0 obj << -/D [2720 0 R /XYZ 71.731 107.4223 null] +/D [2721 0 R /XYZ 71.731 107.4223 null] >> endobj -2719 0 obj << -/Font << /F33 1358 0 R /F61 2639 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R /F35 1709 0 R >> +2720 0 obj << +/Font << /F33 1358 0 R /F61 2640 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2746 0 obj << -/Length 2810 +2747 0 obj << +/Length 2700 /Filter /FlateDecode >> stream -xڕY[o�~�_a�@c6#��nч��='�fO�M�-�}Pd:V#K�(����΅�%[�� ���p8�qH�3��Y�X�G�BF���7���~}�[���Y ��߿����,i$���f��HcO�b%E���~����m�ou�X�ЛK�ߛʴYY�#��w��)�2[���/o~��gU,�Կh^/ui�T3�i,�Э�K� -TL�I -)|4,N�_u��eE����x�<o��ʔ��T0 ��Y�D8��+3�q���bFV��Uf���/��6�wϓ����m�o�������u����5���0<�3���,��jf<,�7]�ZMk�N��?��I!L5iҾ�Q�G����Q�g�����RϤ-���Լ��6k���"7L�cj���V��瑩�q`,��Ye�"�q��V�UL�b��@�荇�Q��jH�y��o�έWLQW�!���Lf������K�>ZJ:0 ���@�f����>I�i҄���Z;W�G�0����r-X��z!��A���*�Ѓ�c�M�#/H)o��0vx spAJ�º�bNm��,$�"*������v���?�M�Xy���u�_��vK���1�p��Uw�;m��e�����F�A� -V�����T-=����* -� -,�e-���lϖ�|țb�r��6x��@��<�9ީ0q��"@�H��$�9��P��n�W�p�_u~2Z �܀��E�x���R��p� m\GЌ[%� Q��D �YZt�\<4YSA���[��7%�n�uW: Z)2 �� ���W��~�`l]k�2Uݺ���n}�~��Dv��I�[Y�ob -�*���i.��D4���l�5�����O �����`�Ǭ9�]ݴ�{�Ϛ���'�zgO�V��zb�`���&����J�J��p��b�\>��%�x��1�u��öȷܙA:N ��s��N������������"��w_�*<N�p��v$`��z�s��Uų������S�}����*o:�@��VB���r�ݞ��=BK'�~�������Yc�q��\�z�ms��J+�6�lV������7��+�G�v -M9��dU�c~ �JAe�r"! #��Vf��O�(.$b����2�܁���-�����n�@X��1"��[W9�̒Y�q���:^Yt��-�$p�h���C G8�&� 9(�f<�2���R�o]ac�����ɢ� �\T�V�|�#��ͦ���� �@�͂�aǓGC/��]^.��e���d=�;JE��+s;�˹G&c(�U���vK!����A�%-4����p�x��M�M�n�[����]��/|H^,�|,�5n?L4f���y�茱E�hUEN8>o���F�z�2*����*��9�b��``�A�xd��ޠ)T]K��3�Y����3����E�E��% '�[� -�(���o��T�B��ċҘ���X��:��&�� U`e[�X��(��-6�����):�b��H�9���v�,9)���]�tl�n�U�<�3�����І����h�}$�:[�-��0��~f�1�z��}7�1��J<v sOxMA��',�vL�E�C]����g��#X�1z�Rs��$ z͝i~b&'���LT�����=�,l��#��Xw���v��b`9�C��=p=�}�C�y26�c��c�u6J�6�e�K�G��z\O -���8�Sd.Y����tn6>��K[ASQ���G��Q�D�%�7*��軒p+��XR������A/�ҏ��<�?�ф�E�ĸr��3Q_�U���#��H����.a��CKH� -�m� -���W�����{h��e�-��as�g���z4� /A$�q ����۷w�M�J ;�5$���{��l����j�pa�dnk�q�0�kG<iee�Z��ʢ��!@y:��o��tY+�X���L�F�/m⺎W�� -���$�>��\�!�w8e�g|�E6�|�n4���Okn��-ӧ����$r����K�� ��``�M�Z�j�A�Y����{���{H枱բ+%F�$������T�=�,H�n?��U�h}U��7����+� �����w�ˉ�W���.��͞������33~�v�����{��۟��zn�|�{8N^��g��t"��ꤽ`������{����+���j�>SK��E�O�C!�ta���kr�75k�@��iϿ�nХ#HM�0�T26���M -C��S�#�呏UYS ����@ۑrn�Y_{"�?�vϒ(��N�-���Z�E���V[k&�] �33���i�~vY�[Y�c�+����ϼ{w���ݍn���\��飻��ˑjLz�l�Ǣ�� Z��Y�y�PXW�k��ǚ&�h�T�x��q�]�0gC#N���S�~D�`x��.�M$����8XX������ز���(��^��ˑ��K����p���5M�7��7�� :�.+|/$���*zq��/����}�=Ch����K�}rY��������_g+\c��͏�i��>�Q 0��*=�ˀw��MC�)�C]*L e�u�D� -�2�GT�b,{�����*-fUP&���ݶ�c�h�w|�Ns�� �R�M���V�������>��F]��:�<�ƌe9�F�\�?�������*.Q��c�_��h�}�����;f`!�����~k��{ޛ�� ���H2��| -%\;�4�5Q����6<1����eendstream +xڕ�n��}��@��bF"uݢ{9{�b�'����>(2m��%QZ���΅�%[ɶ ���p8Wڟy���b_� +>22 +�,߽�f����oI��f9$z����R�T���f�Y�'"�=5��I�'���?��پ��b)Co.o+�feYT��6�)�2[���o~y�wU,�ؿ*^Ou)�T3�i(�Н�K� +TL�I +)|,N�_u��eE����xp<o��ʔ��V� ��wY�@8��+#�����bDV�Uf����_��}m��'�y���m������,{G!�f�'�� �̭0��3���,��jF<.�7]VZMg�I��?��H!l5)Ҿ���G����Q�fH����T��-���D�d-B�|W슅?� �S3���6[��f�u]�Yg�<�S·��x��az#�Q�U�y� +��h�ma98�+�p�"�����ߛgO�_�5Nz����h�u������S�T��GV���D XZ�\<6YS�}�����_(�)ytW���QԕE�!@��o?��w��;̪&~�U�=RQ�e���l������%�y<��!������Y��M�^ǹ�к�Q��ކ�M���F�7�BIM�X�piu�X*/d�Q^�Ř�Ys(���i �\tEs{�y�����P +$�TTO�,3u��zm�Y�J�7�e��ykn�؞��5�x�Q1�u��öȷ<�5z� �Z�5��²�k�]�gw��~����/n ��S��5ڎx�g��v��*��#��w�j���^�e��pX +�ȼ��+��V��[�-g�v{���L������'1�#^6�����]W $��yk�й��0>��W-s$e�<�-o�������h8����}�@)#�f%'��0R�oi�Y��m8X̖J ��g*'[�1��#�;��[�Y/��!�2�T�w�� "n���t�C��fT{�k���W��M����DW\���)� +�F�!�َg܁f2%�-���+��]B�͓�*��a�Y5qe˷>r���}����"H�hB� �,Wz��첞��F�8���z�w��(������.����&Rq2��}.B�='�v�hNI�d�F<��H"��G|�[��Ƀ`@.C�������(k����^��x�7:�X�$y]AhUENq�o"�q�����FU;���<�dtr(d��0�"��Vz��d]�^3���'���N*������9 D*vfw�%\CF���F�8q +> ^�Ƥ�T�R�VY7�0�PR��Ս刎B_�bãԅQ��o"p�8���!���̧J�(mo�U<�2!C�K�b�B�}:4�>[��tc��=rZ\1�z��u7�1(֥����'���T��C9&x�"��!/W]�#�q��S{�Z���"I��sg���e{��ILd�����=�$,��)F*�9��X��u����t�r�3&���I�y2��c0���ꬕbm�ʄ���"��YM����=Y�5�~�{����� +���t1eE1$n?J~nEJ$XB;m^�����SMcI�~D��ߕ�^�W/���Ԅ�E���r��3Q_�T���#�E����s�qz���� ��5�w�=��q��7C{ +0���5�� +A��2��v��m=��t�A$�q ����۷����v�kH����<s�f4CD�Å�5c[k�� ��v�L3(+����[U}{D�)Q�m��-w}.���L��� +�$+���&�Rlɪ+�3P�I�|* ��C$�`�:ϰ�f4��$t�(����ʾ����e�A9 �r��k����`@a'g%^��Ϥ[�����ᢐ��;�])1�pX'!�� �4X,����fAhy��[!��UY�O<`�����o4�����w�ˉݗ=�(�]Hq�=�u���gF�����������/v��4s��C?3�㤥�}v��O'�!�N����~z^��W?�@���y�k_��R/}��rHD�.lv +e���M��"Prz��o/�[t)�(�&P�G*����&��J������o'�ʚj l��>lWʹ�g}�x�@㞜H��q�3@�����m���V�����-��y�4�^j֠+�߃])|�gP�=�>�wv���O\�ۮ�=��5x�9R��P�����":�x��T"�ů�ڀ�e[sDC�혊��-_�3��R�i; +q�CO��\!�h���D���=>!�����0m,��ő�%|/@:m�:/ �y���j���`�1Ѻ���6����.�N�e%��$6A]E/N���u�X^�O�g���l ����'�eH?:�Ϫ�u��3v�<�X��)�����O���8���/�*L��Ra.s(�WX�9=��ǂ0��(`��,4U�\l�0��2�o��u�E��f&�:|���j9U��E5|�U2u��M��ˈ��\�X*Z�� �j��0��6⩸D^��)v��#/�s�@/G3�$�����\�����`�Z�]�?ҕ�R)����bH�� f���f�j�ƕ�� ����fGa �S� +s���Y��ׁ�4�|H4�>����\N� +��ٻԝ{�s��J���'�q�v�;<>�um��qΑ�v5z�"�"v������PBw�iω�Y��+�Ć� W�1endstream endobj -2745 0 obj << +2746 0 obj << /Type /Page -/Contents 2746 0 R -/Resources 2744 0 R +/Contents 2747 0 R +/Resources 2745 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R -/Annots [ 2751 0 R 2759 0 R ] ->> endobj -2751 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [355.7527 629.4745 402.5767 640.3785] -/Subtype /Link -/A << /S /GoTo /D (parameters) >> +/Parent 2744 0 R +/Annots [ 2758 0 R ] >> endobj -2759 0 obj << +2758 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [243.4853 479.482 270.6434 488.3486] +/Rect [243.4853 510.3662 270.6434 519.2328] /Subtype /Link /A << /S /GoTo /D (gloss-cpan) >> >> endobj -2747 0 obj << -/D [2745 0 R /XYZ 71.731 729.2652 null] +2748 0 obj << +/D [2746 0 R /XYZ 71.731 729.2652 null] >> endobj 266 0 obj << -/D [2745 0 R /XYZ 168.0881 708.3437 null] ->> endobj -2748 0 obj << -/D [2745 0 R /XYZ 71.731 702.2168 null] +/D [2746 0 R /XYZ 168.0881 708.3437 null] >> endobj 2749 0 obj << -/D [2745 0 R /XYZ 187.7954 689.4147 null] +/D [2746 0 R /XYZ 71.731 702.2168 null] >> endobj 2750 0 obj << -/D [2745 0 R /XYZ 71.731 669.3251 null] +/D [2746 0 R /XYZ 187.7954 689.4147 null] >> endobj 1510 0 obj << -/D [2745 0 R /XYZ 71.731 625.4895 null] +/D [2746 0 R /XYZ 71.731 656.3737 null] >> endobj 270 0 obj << -/D [2745 0 R /XYZ 331.1663 592.1793 null] +/D [2746 0 R /XYZ 331.1663 623.0635 null] +>> endobj +2751 0 obj << +/D [2746 0 R /XYZ 71.731 616.9365 null] >> endobj 2752 0 obj << -/D [2745 0 R /XYZ 71.731 586.0524 null] +/D [2746 0 R /XYZ 71.731 596.9963 null] >> endobj 2753 0 obj << -/D [2745 0 R /XYZ 71.731 566.1121 null] +/D [2746 0 R /XYZ 180.715 586.2017 null] >> endobj 2754 0 obj << -/D [2745 0 R /XYZ 180.715 555.3175 null] +/D [2746 0 R /XYZ 316.8407 586.2017 null] >> endobj 2755 0 obj << -/D [2745 0 R /XYZ 316.8407 555.3175 null] +/D [2746 0 R /XYZ 71.731 566.1121 null] >> endobj 2756 0 obj << -/D [2745 0 R /XYZ 71.731 535.228 null] +/D [2746 0 R /XYZ 86.3959 542.3661 null] >> endobj 2757 0 obj << -/D [2745 0 R /XYZ 86.3959 511.4819 null] +/D [2746 0 R /XYZ 71.731 535.228 null] >> endobj -2758 0 obj << -/D [2745 0 R /XYZ 71.731 504.3438 null] +2759 0 obj << +/D [2746 0 R /XYZ 71.731 511.3624 null] >> endobj 2760 0 obj << -/D [2745 0 R /XYZ 71.731 480.4783 null] +/D [2746 0 R /XYZ 71.731 496.4185 null] >> endobj 2761 0 obj << -/D [2745 0 R /XYZ 71.731 465.5343 null] +/D [2746 0 R /XYZ 121.3788 473.2254 null] >> endobj 2762 0 obj << -/D [2745 0 R /XYZ 121.3788 442.3412 null] +/D [2746 0 R /XYZ 101.8839 461.5691 null] >> endobj 2763 0 obj << -/D [2745 0 R /XYZ 101.8839 430.6849 null] +/D [2746 0 R /XYZ 156.232 461.5691 null] >> endobj 2764 0 obj << -/D [2745 0 R /XYZ 156.232 430.6849 null] +/D [2746 0 R /XYZ 254.1265 461.5691 null] >> endobj 2765 0 obj << -/D [2745 0 R /XYZ 254.1265 430.6849 null] +/D [2746 0 R /XYZ 313.3165 461.5691 null] >> endobj 2766 0 obj << -/D [2745 0 R /XYZ 313.3165 430.6849 null] +/D [2746 0 R /XYZ 138.3168 449.9128 null] >> endobj 2767 0 obj << -/D [2745 0 R /XYZ 138.3168 419.0286 null] +/D [2746 0 R /XYZ 239.6353 449.9128 null] >> endobj 2768 0 obj << -/D [2745 0 R /XYZ 239.6353 419.0286 null] +/D [2746 0 R /XYZ 71.731 422.0174 null] >> endobj 2769 0 obj << -/D [2745 0 R /XYZ 71.731 391.1332 null] +/D [2746 0 R /XYZ 253.294 409.066 null] >> endobj 2770 0 obj << -/D [2745 0 R /XYZ 253.294 378.1818 null] +/D [2746 0 R /XYZ 71.731 358.0922 null] >> endobj -2771 0 obj << -/D [2745 0 R /XYZ 71.731 327.208 null] +2774 0 obj << +/D [2746 0 R /XYZ 71.731 301.9676 null] >> endobj 2775 0 obj << -/D [2745 0 R /XYZ 71.731 271.0834 null] +/D [2746 0 R /XYZ 71.731 292.005 null] >> endobj 2776 0 obj << -/D [2745 0 R /XYZ 71.731 261.1208 null] +/D [2746 0 R /XYZ 71.731 253.9827 null] >> endobj 2777 0 obj << -/D [2745 0 R /XYZ 71.731 223.0985 null] ->> endobj -2778 0 obj << -/D [2745 0 R /XYZ 390.5821 207.3225 null] +/D [2746 0 R /XYZ 390.5821 238.2067 null] >> endobj 1511 0 obj << -/D [2745 0 R /XYZ 71.731 177.2703 null] +/D [2746 0 R /XYZ 71.731 208.1545 null] >> endobj 274 0 obj << -/D [2745 0 R /XYZ 241.9033 140.0548 null] +/D [2746 0 R /XYZ 241.9033 170.939 null] >> endobj -2779 0 obj << -/D [2745 0 R /XYZ 71.731 132.7025 null] +2778 0 obj << +/D [2746 0 R /XYZ 71.731 163.5867 null] >> endobj -2744 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R /F65 2774 0 R >> +2745 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R /F65 2773 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2783 0 obj << -/Length 2039 +2782 0 obj << +/Length 1932 /Filter /FlateDecode >> stream -xڵXݏ����o��5-������[$��n��H�V�-a%���ܿ�3R���]_z�ə!g8���W��U�Y&�GL��XU��hu���o��z��R�ۧ7��\�HE�zگb��"��*��� �WO���My�j�lE�����ز���@�o�ÿۮ+7�����O��Df��a�Ϛ7K�6Pd�Q���XfμcY��f|ݗ�{5X��uy<vmU�V$P5 ��@��D��L���u�c_v4�t��M�ڜ[~b���6"Y����Z�A�n��獈�Za�]��$p�s��gl�`E�cw�=�%��)08���⤞i`���Ҽ��/Q$�N�r���y�>)��/�0� �+�� �S�J�(����Y�ddRk]M�v�yzO���F����'/��-��{��6����W�/�p�"z@����fosTw�]����l�88��ﴜZ�}�W\�A��8Yb�V��0?5j�b�w�A)�*��Jq���&��|ii�*EMw��K�D��ǯv�,`�v�0��ׇ]��+w]�� oJ������ 9Ω8p�����ٍ��"ʠ�2d�r(<�1���4b�ȥ3S�+����O���.d����<^+�;Tt�C�H��#&3�z8�Xں���˗)V�Rĉ[� �#�q�a����qJ%H%��$0���04w��=Y�\4�����vdv�"��ߥ���;��(3�����'���S�;����������gb��� ��6�Q�!�1ѓ��e�uYd�C�qY$^���p�f������tdDz�D�G��Y ������Ģ��&�mF=� �n�V��,�Q�J�$��-[��v)��l�� ��AU����*��`O���0K}��D������Xw��8�X���%x�ۂ�=(�H(�*���\�^Ǽ��hh8�ߦvT�o#���Z$_�Jn���Py�`�b�v6��f&0�9t���1���@������~�\�Ӓm8��*� �c����)1{���,�� �_>a�"�`�3"�d�:��a�NN"�{K���ѯ� ��'�嵐�8�'�L��A&x�bͦ��1(U������ -m���3iY �������������J�S�i� ��=8�[�F�-���ܮ������5���71ǹdIC���<���V14�2��gE!�ըV�y�'�P��^l&_�og-[�9Q\\b� -�2��S�ZY$� {��R_���8��� -�:M]����л�)Ke6#6&�J)�� ���Q+�O6t����� Q�k��gj{��i��!�.��T�D� �3���{�c����� �o����B!��@�K[>c[ -wˈ���gW�/A��|c��~N���� .>\"�E�d.�X��ԎTM )mI -*�2 I^%�o<�+�aԱQ�;2�S�٩i��htuX��D�t�;���H�=ph��u�)�f��s{ ʍ6�!�g�ھ��� �"/�EA׀4�8k�;��.���}{Or���3�9'ғM� -J�r���0gH��E�};`�I�^�De`i�kf6[Ѓ͝#�k� -PG�ܶ@�<x�P�2�)ܮ�p�J�F��,����Q �,�R��&�Gw��!̣5ͱ�N���|-x��x��< ���%E��(P�I�%y x����.F�!�?�XԈ�y��J�Å�k�D�^Nb�y~o�d��[π+X����1/���e��/wM�Fb~�m�b ~��j�����cAjH1��\�?Շe�� -�V^�{X�$b�}Cd K�8^t'��~~U�� -A҄Wϰ}��'x��-Y�m����;�j6�� a���Ge]��.�zZ�Ht����&�۩��u'G�p��^�'&����K�>��t����ַ-a�ۇׯ��?�\��u�J1���d�Nl�b</��~��淮�x~�d�دg�v�ى�M<�zQ���� -y���h�Σ���Lr�.,��֕,t1���Ə�1���,�i����ן%���ż��o�_?5�Q����endstream +xڽXݏ�4���o�h��v�$H����w��� e��6�K�\)=3'M��'8��g�3��o>R���_������ ��E�-v���"� ��}��b��J���v��i$�,Kx�x�~[~^���Z$�R0�{�YW�m��h�ٰ��i�b���_>L���<��uo�z�Hg�W�2&c�z�~hua�j-#�,Mg���&]�:P+S{ݹ�5�#���d��(�6��W�o��Ǖ��������n���P"�mqj���̛�8D����|*v����W��A�1��5,Ox�/Y6�G�(o;�&�٫�~zo�ظ���]}���2D)�F�}���F{gLk�j��&�hm�-�R\\V˟Wq�l����F���=�ߣ$��;|�������A|x��mF������|)�G��_�� �>����i��)�Hnf�������N.x�Ob��"���M��A�-zu�����t�qc������P^����ЬD�#s&SOv8�8R]�Ӈ�����1�@.8G��"Z�nH釮��E*�>�����7�ai�o7�#��r��j��lED1۠�,� �0FG�H��Xg�Nz+ j�_����@���I��r�w"v�R��V�1*RD?&!F�ҮhZ�N)� N)��3��5��ʚ(E h7���Fӽ.����U0T�X�6@�KTDruo�]=J���1S<�I��4�o��Ij={^R�kð����Pȟ�u�\���a����,������u�Q�q�4�zZCY�ӎEH��������v�[�����shz]��`�Zg��8�2@��B1�� 3�4S�L.����2��� �]�V�*�w�7?~���u�1gW*�J�Y��e]`�+>�H�_��x|��g>���gD��Dy�~��7'���R���wĄ�7�$R���@��]�Jpw��\���i]YZB�o��cx ;�»4�p���_�f?��w�刧r��+$�x���*FS��>u�aփ�K�y'�r�sɒ4�'LF<�\��aZ�i���H�^l�S�HB#�|d~)��̬e,X��眽�*x�0����b�J|����.�q���R)�F�<��2���bJ�jDlL��R�bW"�9�VМ�Co|�[��Dq~xZ�h�A���H���vv�+�.Dމ�_����2�Q($u�Ax�o� ��� ��@� +W<�X +oˈ� �O����� v�?�v�����<e�x&�%i:�(A�K�S��j�8H +&�|Q<A�E�f=ؑ1���u�=E��V�m�D�֔�� ����k0�cG;��~�UX����fG�+kX-��ݵm���զ�L��y����F�&��)����xOrS��3�9G?���EţQ�tq0ذ'(�{�վ�p𤈚 r�60w�3�5����ƕC���h���c[ }���6��^��]��Y %��4�pH�fA +�0Dz���dhU���e��_��,�?K�� +d��2�D��$�<;�����a7�� +��s��!��O;�W$�x=�Ĩ�k�`�F�Wp��ا�p�1��/�C�Jb}��b q��bV�?\�cAePX�I�t��j�(W�E��3I"f����b���p2~���>*�Y�iǏ�n�cO��.'��B������|�ηl\�^$vCH����;�jS����.�"��1���8�E� $�?�<N�m/9���W����F|���yr%��l����0=<��I�ח\ږ>R,���b2��&��0H����?�?���-�a�g_N.m�'/~���I���*��:s0�{�E�B2Ʌ�y���� �����I����zy�D>R�~�6��I�!�X�U���f2�sKD�"��&����v��?3�+endstream endobj -2782 0 obj << +2781 0 obj << /Type /Page -/Contents 2783 0 R -/Resources 2781 0 R +/Contents 2782 0 R +/Resources 2780 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R -/Annots [ 2788 0 R ] +/Parent 2744 0 R +/Annots [ 2787 0 R ] >> endobj -2788 0 obj << +2787 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [473.6147 515.757 520.7127 526.6609] +/Rect [473.6147 546.6412 520.7127 557.5451] /Subtype /Link /A << /S /GoTo /D (installation) >> >> endobj +2783 0 obj << +/D [2781 0 R /XYZ 71.731 729.2652 null] +>> endobj 2784 0 obj << -/D [2782 0 R /XYZ 71.731 729.2652 null] +/D [2781 0 R /XYZ 71.731 718.3063 null] >> endobj 2785 0 obj << -/D [2782 0 R /XYZ 71.731 688.2541 null] ->> endobj -2786 0 obj << -/D [2782 0 R /XYZ 456.3251 664.5081 null] +/D [2781 0 R /XYZ 456.3251 695.3923 null] >> endobj 1512 0 obj << -/D [2782 0 R /XYZ 71.731 634.4559 null] +/D [2781 0 R /XYZ 71.731 665.34 null] >> endobj 278 0 obj << -/D [2782 0 R /XYZ 381.2953 591.3584 null] +/D [2781 0 R /XYZ 381.2953 622.2426 null] >> endobj 1513 0 obj << -/D [2782 0 R /XYZ 71.731 587.7949 null] +/D [2781 0 R /XYZ 71.731 618.6791 null] >> endobj 282 0 obj << -/D [2782 0 R /XYZ 195.0063 551.986 null] +/D [2781 0 R /XYZ 195.0063 582.8702 null] >> endobj -2787 0 obj << -/D [2782 0 R /XYZ 71.731 544.6337 null] +2786 0 obj << +/D [2781 0 R /XYZ 71.731 575.5179 null] >> endobj 1514 0 obj << -/D [2782 0 R /XYZ 71.731 498.8205 null] +/D [2781 0 R /XYZ 71.731 529.7047 null] >> endobj 286 0 obj << -/D [2782 0 R /XYZ 161.0348 461.6049 null] +/D [2781 0 R /XYZ 161.0348 492.4891 null] +>> endobj +2788 0 obj << +/D [2781 0 R /XYZ 71.731 482.3465 null] >> endobj 2789 0 obj << -/D [2782 0 R /XYZ 71.731 451.4623 null] +/D [2781 0 R /XYZ 71.731 457.2563 null] >> endobj 2790 0 obj << -/D [2782 0 R /XYZ 71.731 426.3722 null] +/D [2781 0 R /XYZ 118.5554 418.6923 null] >> endobj 2791 0 obj << -/D [2782 0 R /XYZ 118.5554 387.8081 null] +/D [2781 0 R /XYZ 281.083 410.2279 null] >> endobj 2792 0 obj << -/D [2782 0 R /XYZ 281.083 379.3437 null] +/D [2781 0 R /XYZ 252.4031 375.2591 null] >> endobj 2793 0 obj << -/D [2782 0 R /XYZ 252.4031 344.3749 null] ->> endobj -2794 0 obj << -/D [2782 0 R /XYZ 118.5554 337.3986 null] +/D [2781 0 R /XYZ 118.5554 368.2828 null] >> endobj 1515 0 obj << -/D [2782 0 R /XYZ 71.731 304.231 null] +/D [2781 0 R /XYZ 71.731 335.1152 null] >> endobj 290 0 obj << -/D [2782 0 R /XYZ 282.3071 275.5844 null] +/D [2781 0 R /XYZ 282.3071 306.4686 null] >> endobj -2795 0 obj << -/D [2782 0 R /XYZ 71.731 272.9245 null] +2794 0 obj << +/D [2781 0 R /XYZ 71.731 303.8087 null] >> endobj 294 0 obj << -/D [2782 0 R /XYZ 268.2114 245.1984 null] +/D [2781 0 R /XYZ 268.2114 276.0826 null] >> endobj -2796 0 obj << -/D [2782 0 R /XYZ 71.731 238.0004 null] +2795 0 obj << +/D [2781 0 R /XYZ 71.731 268.8846 null] >> endobj -2797 0 obj << -/D [2782 0 R /XYZ 71.731 215.1462 null] +2796 0 obj << +/D [2781 0 R /XYZ 71.731 246.0304 null] >> endobj -2781 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R /F35 1709 0 R >> +2780 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2800 0 obj << -/Length 1634 +2799 0 obj << +/Length 1804 /Filter /FlateDecode >> stream -xڕk��6��� -�g8+�%�1��F��ڵ��+ -��\�������_?R�|�]�DE�-��A?d�e��`I���l��� -�^�qG9�hN�du�|!DP�"M�`� $�Y��"�D�r��`��>���h�E��8L���a�u]�W����\յ^|\�r�|5IV"cE쿪�DuBA�Ri*QAoj�3!Ef�����j� �"�Y�RaO/�`�U�hy��e]]z�D0��j��0��dY�?�bb�>���G�mט�����/ǭapr�ҮZG��6_��xk�B��%�,i���%�3��,W[C���0v �O�U=�ڌ���M�c�\, -����í���n �(��y}x�ۯơ�ii�1�n<w�6�<������5fMLƎ -�]��#�7ո%����/^�A�`��ؑIG� �by�� M�{����1K���;廞V�"�H������K -fo"�k��C��*��L��em�s:v�\�_�<�5n�Hy ���@� &���CP��6��!`�GM��qb ]�������N;iiY���3� -�@� xu�HoH�jpN���Ә;MC�l}���0�����;��m� - �%$��pF�Сs#`ɍ�Zw��Yt�D�7�9c\��x�ut����uN3�����p���®�Gϋ���I����z�r�Av��C��U~�{��G � �����3����k4�o��Ǜ����D%�Y�wW�nh�ͺ\$�<��H�������5�E�BV�BPZs��պ4�G1=��y�j�t]}6w��3k��E������r6��^�m -�{���CE�y�{��"N���)��+��k���<��h�/$S�1�"Tgg%\�͕���|���[Z�/�o[�"J�8����!}@��r�#��")½��( =�9��\Pٵ�)3�r1�}����<t��50��tO�I������� �rD;�7�0�+����$����R�㫅 -u��6�d,+�8.lSL��E��H�e�o�f�o+�v��FW�|�r�o�.?]�6x�3ìwƋYJp�C��&)���^t����9#N�{ -�:W�@ i I -�`�A��7B�2��T�F��{��ԙ�ԛ�)�huG��;0a=�}�u]�������:v���z��Tk�#No����>�n�#��P�� c��Jr -;�" ˾k�Hδ#U���e h൷��ApI�j�Ȭ5��[&�;��g��!x�xPh+�E��8+ab;1�b�͚ݝ�9P,$����8� >$|$�,O� -Ȼ�7�f��Ӝ%@��a�1u4 �x��G&��Hq.a�O��ch�*m@:�� ��Go����<�s&�Bqx"���xJJx�o�h㣃��k��nWJV߆��x*wUߡp��"�w8��f��x�尯��K�=�Xf.S�����)7��YH�4���f� -!_@�5�(��B����7z�r6���`���u�՚�,D� �����K�� &*u�Z:���s��r��F�Piݠd;.�7۪����F��Pӂ�����X) ��$�'�7s��D�bN#����Hrxd����C$˳���2g9O�ӟ�*�тE�씩���>c��0�.�endstream +xڭk��6�{~�[w�a��Cԣ�}HҤ��I[עWZ�^�D�$'����pHY�U�~(X�Ù�e���'6�`��EL�Zn���<���τ'�=M<'z�{v�Z�M��T���a���W�LI�k�ov������4�~K�#�h}� c�4u�@��_�)�?�����n��UƊ���zՊ�zJ�i� +���DeN����`����g,c!X�S�L�Ǎ}���Ѷ��`�m{q���08Y�t���n�'n�1}��3����Щ�!Y�$��,ˣ����<��%�ŹnF�1��z�2[�` %�!?n���=í\DU�P�Kh����o�� �ʁP%-�������:�z �zL.�֘=1-#��WGZ?�㑠w߽z����GKOZxRi��<W�6|���`�䜥E���<��8Q)�9�?�Z$�����:�=I�������cyߘ�N����h�7��c9DV��\Pv O�5�Ng� ?�`��!`_�%��s b ]wkF�A@f�F�u��ZJ���8�-F�\� )P�hR1�r�4Z �ri�I�_��n��?w�/�����\���0���Kf��d`�RG�:F����(~��Nc= �^3����%�v/��������h�Iz���Y���A���P�r�/�]�d�~,�@ �#�d!�m�x��f���T��t���_�ۇ�li�u���<��H����ۉ��m�#VuBPX.9K���27�P�Y=�eS�jEF�}9�!������W� +6�{�ʼfJdzK��"/� ���"N�,Ing��>����W�O�U�t�)ޡ:�W��k�L/0m�7W��Z��=l��G��j��H�G���Y�$�1 ��wNS�g�\:g0�-��lי�3�2ǩ�'����9���=��Lə�2/X�x(�_��n��D}=՞�d��H�a)>ԥĥf?��*͟?luT�P?\eS2cY�ղ�MN��T1*PYU���ͱ����4쌾j����<^�q���g�a��f!!�u�)��N�;;�/}�If�ڧ�7L MJ��v��#�*�:Le��Qa(��\�r@�Ls�B�b�֏ĸ�S�C.�_�,�X�ɾ�B1��k�������Z;9w�G/S'�.��u�aB���wC'V�S��H2�z�A�"��F*��S�@����,.�����ɓ���Za��K��w���ֆ��𠄫�N�Yx���W�ȶ2���͞=��PP,��g9/4 �|�����<�V@�mz�9L��w�3���'�T���'!��F��:�C���u@a�s�:mҌ)d���g���wc��P�E_# +E, 3TF��W`a()��[���M��f��#��[)XB�+���������nq���TK�T���P�O\�$p�|�"�$ >[��WSlhMÐ�i�b[ϒ +!^@�{Q!��F4<�B|ܖ[㰹7t�=�?Զ)i�B4N���%6`�\�^0Q�i��믅d��mYA����k��~<�Ց@/�6e� KZ�|��4QLPP����1 ^b*O1������"8@0��g���Z1��u���;4����x�P"�Eq?^*��o��7��9<띡��eW�p�U5��:?�����V����X��i�'�w��;�K�y���#���rseN¨������u$�֧���6 }EL���m�[�����3>��_,<�4.��������ە ��g�0}�X?b� �\� !N9��'&�yH��Ir����ݟ|f4O������8�0ԟ�gE�o,��5endstream endobj -2799 0 obj << +2798 0 obj << /Type /Page -/Contents 2800 0 R -/Resources 2798 0 R +/Contents 2799 0 R +/Resources 2797 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R +/Parent 2744 0 R +>> endobj +2800 0 obj << +/D [2798 0 R /XYZ 71.731 729.2652 null] >> endobj 2801 0 obj << -/D [2799 0 R /XYZ 71.731 729.2652 null] +/D [2798 0 R /XYZ 71.731 663.4122 null] +>> endobj +298 0 obj << +/D [2798 0 R /XYZ 228.4409 630.5355 null] >> endobj 2802 0 obj << -/D [2799 0 R /XYZ 71.731 741.2204 null] +/D [2798 0 R /XYZ 71.731 625.35 null] >> endobj 2803 0 obj << -/D [2799 0 R /XYZ 71.731 628.4433 null] ->> endobj -298 0 obj << -/D [2799 0 R /XYZ 228.4409 595.5666 null] +/D [2798 0 R /XYZ 427.6193 612.6027 null] >> endobj 2804 0 obj << -/D [2799 0 R /XYZ 71.731 590.3811 null] +/D [2798 0 R /XYZ 387.2947 599.6513 null] >> endobj 2805 0 obj << -/D [2799 0 R /XYZ 427.6193 577.6339 null] +/D [2798 0 R /XYZ 71.731 568.6676 null] +>> endobj +302 0 obj << +/D [2798 0 R /XYZ 199.5493 535.8904 null] >> endobj 2806 0 obj << -/D [2799 0 R /XYZ 387.2947 564.6824 null] +/D [2798 0 R /XYZ 71.731 528.6924 null] >> endobj 2807 0 obj << -/D [2799 0 R /XYZ 71.731 533.6987 null] ->> endobj -302 0 obj << -/D [2799 0 R /XYZ 199.5493 500.9215 null] +/D [2798 0 R /XYZ 71.731 505.8382 null] >> endobj 2808 0 obj << -/D [2799 0 R /XYZ 71.731 493.7236 null] +/D [2798 0 R /XYZ 147.0485 496.3387 null] >> endobj 2809 0 obj << -/D [2799 0 R /XYZ 71.731 470.8693 null] +/D [2798 0 R /XYZ 147.0485 484.6824 null] >> endobj 2810 0 obj << -/D [2799 0 R /XYZ 147.0485 461.3699 null] +/D [2798 0 R /XYZ 71.731 463.0635 null] >> endobj 2811 0 obj << -/D [2799 0 R /XYZ 147.0485 449.7136 null] +/D [2798 0 R /XYZ 71.731 440.0499 null] >> endobj 2812 0 obj << -/D [2799 0 R /XYZ 71.731 428.0947 null] +/D [2798 0 R /XYZ 147.0485 428.4932 null] >> endobj 2813 0 obj << -/D [2799 0 R /XYZ 71.731 405.081 null] +/D [2798 0 R /XYZ 147.0485 416.8369 null] >> endobj 2814 0 obj << -/D [2799 0 R /XYZ 147.0485 393.5243 null] +/D [2798 0 R /XYZ 71.731 395.2179 null] >> endobj 2815 0 obj << -/D [2799 0 R /XYZ 147.0485 381.868 null] +/D [2798 0 R /XYZ 361.1613 382.2665 null] >> endobj 2816 0 obj << -/D [2799 0 R /XYZ 71.731 360.2491 null] +/D [2798 0 R /XYZ 71.731 367.1583 null] >> endobj 2817 0 obj << -/D [2799 0 R /XYZ 361.1613 347.2977 null] +/D [2798 0 R /XYZ 71.731 352.2143 null] >> endobj 2818 0 obj << -/D [2799 0 R /XYZ 71.731 332.1894 null] +/D [2798 0 R /XYZ 76.7123 302.7647 null] >> endobj 2819 0 obj << -/D [2799 0 R /XYZ 71.731 317.2454 null] +/D [2798 0 R /XYZ 118.5554 259.2193 null] +>> endobj +1516 0 obj << +/D [2798 0 R /XYZ 71.731 185.7044 null] +>> endobj +306 0 obj << +/D [2798 0 R /XYZ 138.2961 153.2008 null] >> endobj 2820 0 obj << -/D [2799 0 R /XYZ 76.7123 267.7958 null] +/D [2798 0 R /XYZ 71.731 145.8484 null] >> endobj 2821 0 obj << -/D [2799 0 R /XYZ 118.5554 224.2504 null] +/D [2798 0 R /XYZ 71.731 108.0053 null] >> endobj -1516 0 obj << -/D [2799 0 R /XYZ 71.731 150.7356 null] +2822 0 obj << +/D [2798 0 R /XYZ 114.7696 98.5059 null] >> endobj -2798 0 obj << -/Font << /F33 1358 0 R /F35 1709 0 R /F48 2104 0 R /F27 1258 0 R /F61 2639 0 R /F32 1266 0 R /F23 1250 0 R /F44 2088 0 R >> +2797 0 obj << +/Font << /F33 1358 0 R /F35 1709 0 R /F48 2105 0 R /F27 1258 0 R /F61 2640 0 R /F32 1266 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2824 0 obj << -/Length 1947 +2825 0 obj << +/Length 2101 /Filter /FlateDecode >> stream -xڵX��۸��S���څM�:k�^d�M7�Y�E�-іI4H)��>��pHY���0`����C�U�?��8�"h�i���E�:���_p7e����~8�ؿ��U��4LW��*�9+� ZeQ���C����Z\�7�0 �!��MoѶM����KӶb���^��0YN��9���{Ӭ��ъ�,��=�k r��"���,e������(XKݢ ���va�x'V�]��EA�j�D����?Zv��ҘZU֢/���\�H�J���p�n-6a��� -����SK���e��r{�� ��5m���#�M[ݩ4jԥ4�Fmd{b�Y���F�"�'նj&`�oi��N�����Ո��>ˁ�톯f�� aC��O�P�O'S=u.RՋ�z�Pm�ՉZ�����Q��Y��EmĂ(서����: -S����i;p����'��4��0\������)}z�����rK9�� B����4���A���������"���]����T{�,a��E��I��{O�u�I�����`G�Ƒj��E��ֳ�V��e��,�R��9�����<��E�S����ZurR�n��,����,}��7� ��1w4����(f &a�R�u�"�Ā�2 ������.f -�5U�e9(}�.��E�#���%�#�Rƃ�p��� ����.��D,�L~����O� �^zG��><Ĭ��[i�6����x�QJ��^IS����Q���I�5s/���zI�N�I|�؞�����T,.�؝�0*�J��9]�-1u{��R1Gc�ޘ���^Bj�����"a�x�=�����̈́���?�.�;r�]!��@ ����L�Fb�@�Ғ6& �y�/�J�i�u��P7������#��r����E��N�R���~�t���f����������"��b�lN����q��M���(ySI��P�@���(�E���(��'��q����ۡ�B���,�p�s�ec�c�<ɣ�J��f7P8� �{�,���of���MJ�rHZ�$��S��P[@�V�$3�� �����`�J.'j@bil��i�i�&�K�J��������R��4�(m�0�Sg��Όe�d�����8鶀E5>�RU��D;���T嫲�Wɋ���Y^�`8�y��8�����=��ˋ(1Xv��o��[Hdz�����ʵ�l8��u�1� �j9� X�@[�0(�;K�г�Ӗ�P���?��(�Xk���"�{���gl�;P����UsxڻFߜ���A���'�p�� - -����X�V$��Ӄ��]�P�����e���"�ro p�ֻHj�q8���1,��� V�Ə 7�*y�|�t�.��R�[��=��������� ���>����w��;�?l�x�uB�m����tRK-=�Űx�̮�V���?��#�� �x��^ftV�����k�{��V�@�[� @����f�C�eOƠwK�OM�4Q�wt��%j^���`��`NV���ם�?ײ�s'�U�Ƹ�mS$�����|�bWQ�..K�Ȼ�)I�E��c���LE�\�rr��o�_�A�X���j�S�i��n� ����k���Gh��m3YN�u笘�3B����i@��[5H�ƍ�y O���2�eL�2 -}A�%1��h�}hb1���tQ ٩�P�i�}&���(,yi�� � ����R�3�N����4��u:(��PT��Z7 Q}��|�y���n��n(�X{В��9Q�K �.�ă+�Q�*�Ot@a�y�F�s�U- -V'���[��H|t�{�O��@�xp'kF.v�D�*�ӄ�Yp�e��d1�<-��-p6����$�`4�'M�H��y��_���^&endstream +xڵX_��6�O��")bE���@���w=�������([I����vv�}�g/)R{&��-QER����V���!�E���l������L�H�2�\��g�WZ�r�'a��;�"��<�z��Pd��Vw�����<�~��\���o�a,���4��r�X7M����_��~7Y�u*����{��S���$B��D��MfBG:u� )קq<�M��w/�>��r��#ƢǏ�#�<�2�ST,W�R"��4���7[�$����?��k�iǃ�Ȅ���{�Xh�ư�� ciٽ�S1��g�����M,�-� �h,!Φ}��yo��9�p"/lw����� +*O�<��P����d[�;X�B��]k[�gK�N�g4������O�t�AA����YG"Ne���J����j/D��Mبx�Kt�H�zS��h�*h��ޔ���4�H�{��]���u"��r��/�*w{/�8F�E +���%�}��=$;Q��z7�����|���Ҙa��WA��]��I�"�]Ye����N5���i�&����$^�X���( 9��b� �HD��*��o7Z��:����S��P +F�S�(q�M�s`��˱���M;���#1/�����/K۞�z8�C���J+���V�SC��"��|��#η��kؠ}��rϣ ��X+�xk{C��$\b�e�3u3PX�x�8�j��-O�-ߕ�KN��s>�҄wT�������`�z�H�il��µL��� )�81�wwo��7FO����S��PŋȔ���f�Da�0sd���8/����M���R�P!Υ��p���lʺhhro��5=/(�t 0{Ζ��7�M���&��\�CE��리(��&�����(�5�)�T��[�~��2K��@�2��fZ��@؊�rge:t���S���l��L��h�pa7\����Ņ(���nXT�++0��bҜ쥙��Gk�S?ɸʜ�~�|��E�c_�)�R9��b���b������r��;�����C��>��a�t�w�`�;GAۀ�&�1 +4����bA�Y���+�P��$�ǧ��k���m�,����V]쀳g{�����-baz�AF�н��́F +}Q筳�E&���؈V�3�ύ���Xgк����U���\�K�15���]$ +�aGwKZEp,H����+�Z��`�'j��i�.�ap]j�! ��o:�ذ̖lwEkV����O�0�o����M����4�0�t���Lo<��}�W&g�@c�{N���/�zdNi;̺����+&���C��y�ۖ�?��-� �HL��9�ӱ'c0{(��N�z��>�Blu���y�}ph�|0g�z���l��d�Gn��?�ەH:Yw�/NR�b DP�h�|ْ�#�ҧ�HϷވ��c�S�'�&w��j���/ �;Q \2��n�m�N&��/e/�h��#���6g�50��x�wΚ��*-$��O��xmG�% GѼ�O7�|�2�r�C�P#EE)����� �]vQ���@�+�I8�`�v���p��[$L��&��/U�Y_P�j��L����K���\k�%�����/?�:W��]����\�gF���&G���!�Şx����\�B6oP��M�� +{ULJ��7X�*�&���3�H>\<8��ə1�H�>e}��6������_M�����÷�J�j"W��N��x�ݪ7�ôt'�#��8Ky�B:������Ju6��씵T�g�M�TJ�\����]������ £(� �;nz 7A�^�J��ͮ�0�n$�"�>�`�P��K���f��vx��D��#킺1\���A�C�O������$��VL_N؈c*�:N���,�`�v�1p�p�|���p N�֬�-6�q�� m���j�Dd�g9^$v��{�-&�xq��� +��m5ͷ��BgWw��X~��O�k��A"�����!�۽Ϟ�p�7_=����i�4V b���H���oc�y42��O�|y�$��j��*���r=w��_Egʼ�_�_��endstream endobj -2823 0 obj << +2824 0 obj << /Type /Page -/Contents 2824 0 R -/Resources 2822 0 R +/Contents 2825 0 R +/Resources 2823 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R ->> endobj -2825 0 obj << -/D [2823 0 R /XYZ 71.731 729.2652 null] ->> endobj -306 0 obj << -/D [2823 0 R /XYZ 138.2961 708.1493 null] +/Parent 2744 0 R >> endobj 2826 0 obj << -/D [2823 0 R /XYZ 71.731 700.797 null] +/D [2824 0 R /XYZ 71.731 729.2652 null] >> endobj 2827 0 obj << -/D [2823 0 R /XYZ 114.7696 641.7981 null] +/D [2824 0 R /XYZ 114.7696 708.3437 null] >> endobj 2828 0 obj << -/D [2823 0 R /XYZ 114.7696 630.1418 null] +/D [2824 0 R /XYZ 114.7696 696.6874 null] >> endobj 2829 0 obj << -/D [2823 0 R /XYZ 114.7696 618.4855 null] +/D [2824 0 R /XYZ 114.7696 685.0311 null] >> endobj 2830 0 obj << -/D [2823 0 R /XYZ 114.7696 606.8293 null] +/D [2824 0 R /XYZ 114.7696 673.3748 null] >> endobj 2831 0 obj << -/D [2823 0 R /XYZ 114.7696 595.173 null] +/D [2824 0 R /XYZ 114.7696 661.7186 null] >> endobj 2832 0 obj << -/D [2823 0 R /XYZ 114.7696 583.5167 null] +/D [2824 0 R /XYZ 114.7696 650.0623 null] >> endobj 2833 0 obj << -/D [2823 0 R /XYZ 114.7696 571.8604 null] +/D [2824 0 R /XYZ 114.7696 638.406 null] >> endobj 2834 0 obj << -/D [2823 0 R /XYZ 114.7696 560.2041 null] +/D [2824 0 R /XYZ 114.7696 626.7497 null] >> endobj 2835 0 obj << -/D [2823 0 R /XYZ 114.7696 548.5478 null] +/D [2824 0 R /XYZ 114.7696 615.0934 null] >> endobj 2836 0 obj << -/D [2823 0 R /XYZ 71.731 526.9289 null] +/D [2824 0 R /XYZ 71.731 593.4745 null] >> endobj 2837 0 obj << -/D [2823 0 R /XYZ 307.8359 513.9775 null] +/D [2824 0 R /XYZ 307.8359 580.5231 null] >> endobj 1517 0 obj << -/D [2823 0 R /XYZ 71.731 495.9452 null] +/D [2824 0 R /XYZ 71.731 562.4908 null] >> endobj 310 0 obj << -/D [2823 0 R /XYZ 200.4719 456.6724 null] +/D [2824 0 R /XYZ 200.4719 523.2179 null] >> endobj 2838 0 obj << -/D [2823 0 R /XYZ 71.731 449.32 null] +/D [2824 0 R /XYZ 71.731 515.8656 null] >> endobj 2839 0 obj << -/D [2823 0 R /XYZ 380.576 436.5478 null] +/D [2824 0 R /XYZ 380.576 503.0934 null] >> endobj 2840 0 obj << -/D [2823 0 R /XYZ 171.9039 423.5964 null] +/D [2824 0 R /XYZ 171.9039 490.142 null] >> endobj 2841 0 obj << -/D [2823 0 R /XYZ 171.9039 423.5964 null] +/D [2824 0 R /XYZ 171.9039 490.142 null] >> endobj 1518 0 obj << -/D [2823 0 R /XYZ 71.731 416.4583 null] +/D [2824 0 R /XYZ 71.731 483.0038 null] >> endobj 314 0 obj << -/D [2823 0 R /XYZ 197.8608 379.2427 null] +/D [2824 0 R /XYZ 197.8608 445.7883 null] >> endobj 2842 0 obj << -/D [2823 0 R /XYZ 71.731 371.8904 null] +/D [2824 0 R /XYZ 71.731 438.436 null] >> endobj 1519 0 obj << -/D [2823 0 R /XYZ 71.731 331.0585 null] +/D [2824 0 R /XYZ 71.731 397.6041 null] >> endobj 318 0 obj << -/D [2823 0 R /XYZ 284.1841 298.7446 null] +/D [2824 0 R /XYZ 284.1841 365.2902 null] >> endobj 2843 0 obj << -/D [2823 0 R /XYZ 71.731 290.1071 null] +/D [2824 0 R /XYZ 71.731 356.6527 null] >> endobj 2844 0 obj << -/D [2823 0 R /XYZ 481.5316 279.8156 null] +/D [2824 0 R /XYZ 481.5316 346.3611 null] >> endobj 2845 0 obj << -/D [2823 0 R /XYZ 71.731 246.7746 null] +/D [2824 0 R /XYZ 71.731 313.3201 null] >> endobj 2846 0 obj << -/D [2823 0 R /XYZ 71.731 209.9776 null] +/D [2824 0 R /XYZ 71.731 276.5231 null] >> endobj 2847 0 obj << -/D [2823 0 R /XYZ 71.731 195.0336 null] +/D [2824 0 R /XYZ 71.731 261.5792 null] >> endobj 2848 0 obj << -/D [2823 0 R /XYZ 76.7123 143.5267 null] +/D [2824 0 R /XYZ 76.7123 210.0722 null] >> endobj -2822 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F61 2639 0 R /F32 1266 0 R /F44 2088 0 R >> +2849 0 obj << +/D [2824 0 R /XYZ 118.5554 166.5269 null] +>> endobj +1520 0 obj << +/D [2824 0 R /XYZ 71.731 102.9747 null] +>> endobj +2823 0 obj << +/Font << /F33 1358 0 R /F61 2640 0 R /F35 1709 0 R /F27 1258 0 R /F23 1250 0 R /F32 1266 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2851 0 obj << -/Length 2495 +2852 0 obj << +/Length 2671 /Filter /FlateDecode >> stream -xڥْ�H�}��D� �jե#xb�a��� hb�`y(K��i���;��)Y>z��U�����w�r�O�")" �J� -�Z���`u��?}���e��雇��^%" U�zد��Ezi%b+��C����w�n�U6X+A�wM?��*����*��m����|�o�:I�ʞQF� ���T"��V�2����p%E�(����~>��a,��70:cM�3쭔Z���,4����RPz%��&T(H�m,WabHBÏ�]������Y��������7P�B�(���n�F��?��Z�(�]� ��:sy�6=m��C��� �_�4�������(���=�Cю-~ -���Jᶱ��p�e���8]��yMs��eS�C������r���"���7N�^��8 ��Ɖnvy��g��k2��@�l��P��R�6�K���t�lh��l+7�mC�vO�ӛ�ֻ��b²g����������@�ƛk�e�T{u��T�iAS���cDGȈ$y�(F�1j�4�7m�$t�u�{���B�,~�8j�8aE��J�yz����l�% /��%�)r���/^*0���9��l�@8���}Z��c��Q���V��$�?�D;�r7�4O�{��_�A�%����U���p�P��.�R���r�� �@���=,�{�yǛu�����,l�^��=�n>]2z]�=�ǝ7ǭ��Ar�����/��Υ�4�>���wU���$��| '\W�v-)³s!dߵ��٪���he-h"����>cm�hdqKI_S�W�5OOL���K.48O��u.f�7����\��RcN��ʇ�$�k#�P�1�52m����.T8t/9l :��������Ha�$~o��Hd|�G �^�&���y�*-'��<��b-��#���f!� L"��V�A�&��7��c/bv��v(�7(��ص;�U9f�`�e�Bޅ[�<�-�R5�ѵ�1�]��0�L���3Տ)��~?V%(P�k��<Q����S�I�2�0𤵓��M�?��P���"Rਓ�ڠ*�W�������2�6:�Wwm���^�9���B��5F*�vy��(t�:N��%�%�|��< x ����NZHD"�Յ0gU� �V��*�Ӟ�X5;�<h,�u*q`ql} ���tc:R�T/��������DFu�tҢ�z��nŷ|ve�gL��1}�+����?��ʺ��F���Q�M -F�����pR*, ��9L�#���4���^e^OTA�E�Y��qA�M�� $^-��q������\�� ��� G�]�\xIb�\�\���~�6��m1�w� -���h^��0����=�x�ib.̢�T�vSE�Щ�u���zR#�!A���\ڙK�u�3�-^�X�A�ڦ�g#�Z�E���lj�x�����'�����dp��<E�S���������h+��o�l�M���W�(�P�'�)jjH�r��oQ�eedk7@�q�(��T��pMRI!��&�cW�Η@��A�杣�S� -u���&T�� -%F���xǔF�q6B.�6�"կ��=� �HI�@���dR)�P8b�@����۪jQO��S\����5Ķ�VnO-!����Q�_ie��^DÓ�$�;�*G�X(/t�P�9m�LO����A_�8`�P�_n��V�G{�"�[|FJ��²l@f�@k��[��CNf�)D��-:%�X����uԲ"�1�!Y�ࡡ1kӞf�����r������)�%�|����n��c�Hɟ1B�4-@�4m�=������'� ��oi�[��|>�)�/�/ql��f]���c�����qu~b�3�e=u�1aA⡜�k�e!cA����YN�I��B�T"���"�k<�b�*���� =�z>�4s�;��!�e�p�W ��=F,������a%��躡L��yw��9��蓔�"VB.��f�w�^�P���>�˴��3��J'�U/���{atL�Q�K�'�m7�f��;��a�p9�3s���/9W���08vU$u~���vϮc�o�n�*�-�pSv�3� ��"��5���@Hh�,��$��bC�ĩ �����n�ayr�[��M����fB�B�A>��b��_um�*y\}X���*��U�"k�ͤ��+�o5i5f�����W�s��1�#�*�ꋊ���Э�T{�t���y�p7} �Ц��F"ъ>�?x2����*VX��1�T&+�A��v�3�z��8z���Cy0�"�:3l���q!+@�ȹ�>�[�a��"���F�c��l7�����Ʉ}�r��wߥ&ȢA����8��ď_`2����-v CB����)�N:��N�>�]bc!���S*p�|��D4�uwaS�I�g�[�b~Ra?�l��_� ����S�E,��z�_����^VE�1��)����G֍��4�endstream +xڕ˒��_�C�,%#�|8��T��ەLʕ�s�$J�*>vFI��ӍnP$��]��F�� ����Z�J�|t*td�j_���,��b�-�l�H��=~�T���VO�U���2XŁ�Q���������e�f��\kA��E�W'��O�ɋ�n���û?? '� i�?�ހuϠV*Ai���U�" %�E?`#N&l��xt9��j)�����9�`O��uO���h_�G�L*B�C؏������۬�/�R,�a�0e��&��&�]F���9f��Н��L���zo�}]���JD�4�������x����@�"o,q;��YËe}苬��E�ա4��H��w�^�m���pA����j��H� +o'��J�;����48���ȶN�!�`Pn��lպ�!Cs�9��uE�cS�s��)'��U�"��d�����,n,�{jx��g�hᜋ D�e�y.�/pqO �x�Ɯ�"벛,�, +�N��k�,�tbd3v͕!��Yۼs9(�jER�_��*��I�R"M�Y5��8�_���*���<t��ٚ�@��7�G �N&nB-��5��M(�0�91��n"��y"� ���@đ����X�����j$s��sl#"�Fo�|r�&�;�u��~O���t�hx���i�͚��4�aEV�yɻ33��.\�(��v4i1��ZC�b4u�f-���|'L�m� 3���}ֶǾ(��R`m�)t�R���(�~i]4�!��`G�S�x�ͫC�*��|At!h^��zs5�ȟ�W>��� \�nv����&H��M���@(�¤���J����k�T4l�¾N(44�P�xYW-^��"OH{�z&x�w���I�g�T��^��4w�Dğ�����b��3. ��ɥFe!��e�O��%�@�] ���3��W�+�� ։p>�͋�����/wdux�y�w���SIXg}T8��/S�!,�}�1�M�0���:S�}ӛ!h��͝ʜ�`ҷ��2`d0#��f��8�FR��q��/��M�о&�N�f �Lk4a�1����T�G5�⪫��:c���۠Vq|��n���kO�:�j����3KJ��jN��,OK���vY��HzHQ1�K3p�a��[�]��-�y�h�M]��`E��V�k|��q��0�̓�x�7�����1��^�8�'p� ^��Mh���9;&�}�q��= +/ +��ɇ������+�8�Ը������;@=`B����Ij%�L|»4yi]MtO�h�X�ZT�Q�A�[a@�� �QbA�9�7L��Z��L����H���DO}�?7JQ6��*M�J�r�/�pL�α.�u���O��κ,!��4�G�`�7��^D�~�Q��7#\I{�>�Q��B�ґ]^f�x�W���A_�@,�mȏ�s�����ɀ��g�E��`lY�T�-it��%'3�v@�����`,k�%��� ���Y��;,B ��4:5�r�1X�)��G���г����1ǜ���1�mw�d�Đ�#�g�5 �?4�4������ +B&?�ReK��|���*��lg��T�r�ʂF́�_���� �Ke��Ʈc.P14�i��D�r,��-HYi��� �����B��"N�Y�9�Ź��o�aA�M��C����#D�C�-� +�{!!�cĂr $)���l���pu�M����:w���u��\����RrT}�s#��#-�Y����Uw�*��V��٥T>�ei7���O\꦳U'h�=��}�{\�C���?��s�)�c������Mw���},q��b,�������_9n`mC�hB��1�E��qYsI�Ć���G'��� �u����c��I��S#n�"�A.��d���5�����}����"4U�"k�ͤ�}�_:^��Ep�̸Ǽ;��/�A�P@��j�r�/ +>T��[�U{�t��my�p㟂f��X���ג'G& �YY'���uf���Ka1H���r�U'|��N'a��(�R@�v+G��dh���jW�j�a�s�E,��"^����&����+o®]9m�!ǵ�)�"���r����qL��ߟy�PD��B���]��vJ�ѭ#I�6�2P���� ����M�b��7�ܠ�~�u���H��p�$��6��44HRR����o�,�'T��������<�A}��-A��KAG������ +�7[��d��n�˘�m=��?�'�5�M ot]�'�_���\"�/�8p�����kN��|��� w�4�>;@rhia``�u�G^bvk��"�K�7��l>��-� ]6ƥ�E�c����\��v�ŀ4�?l��a�tܻW"��n�Li(�#�<~������#Vk����!�SzE-�^�Np�w:��4X_�KAH�/������61E>���D�h�ࡖIE��5&rK��k������A���]6{���Kn�#w�/������8���Fp�f�\�@C!d�����Cvt�e����Wٗ��2��=CI�o�ơ�S�-� !kpt +u��K;���}v����]����D$*J?����F�cЭ +JN��.���hqendstream endobj -2850 0 obj << +2851 0 obj << /Type /Page -/Contents 2851 0 R -/Resources 2849 0 R +/Contents 2852 0 R +/Resources 2850 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2743 0 R +/Parent 2744 0 R /Annots [ 2857 0 R ] >> endobj 2857 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [290.6404 552.4387 344.6167 563.3426] +/Rect [290.6404 671.6118 344.6167 682.5157] /Subtype /Link /A << /S /GoTo /D (install-perlmodules-nonroot) >> >> endobj -2852 0 obj << -/D [2850 0 R /XYZ 71.731 729.2652 null] ->> endobj 2853 0 obj << -/D [2850 0 R /XYZ 118.5554 684.7236 null] ->> endobj -1520 0 obj << -/D [2850 0 R /XYZ 71.731 621.1714 null] +/D [2851 0 R /XYZ 71.731 729.2652 null] >> endobj 322 0 obj << -/D [2850 0 R /XYZ 166.6153 588.6677 null] +/D [2851 0 R /XYZ 166.6153 707.8408 null] >> endobj 2854 0 obj << -/D [2850 0 R /XYZ 71.731 578.3027 null] +/D [2851 0 R /XYZ 71.731 697.4758 null] >> endobj 2855 0 obj << -/D [2850 0 R /XYZ 131.1334 568.5432 null] +/D [2851 0 R /XYZ 131.1334 687.7163 null] >> endobj 2856 0 obj << -/D [2850 0 R /XYZ 247.7914 568.5432 null] +/D [2851 0 R /XYZ 247.7914 687.7163 null] >> endobj 2858 0 obj << -/D [2850 0 R /XYZ 407.9148 555.5917 null] +/D [2851 0 R /XYZ 407.9148 674.7648 null] >> endobj 2859 0 obj << -/D [2850 0 R /XYZ 71.731 553.4349 null] +/D [2851 0 R /XYZ 71.731 672.608 null] >> endobj 2860 0 obj << -/D [2850 0 R /XYZ 118.5554 514.8709 null] +/D [2851 0 R /XYZ 118.5554 634.044 null] >> endobj 2861 0 obj << -/D [2850 0 R /XYZ 174.165 506.4065 null] +/D [2851 0 R /XYZ 174.165 625.5796 null] >> endobj 2862 0 obj << -/D [2850 0 R /XYZ 173.7108 494.7502 null] +/D [2851 0 R /XYZ 173.7108 613.9233 null] >> endobj 1521 0 obj << -/D [2850 0 R /XYZ 71.731 459.5877 null] +/D [2851 0 R /XYZ 71.731 578.7608 null] >> endobj 326 0 obj << -/D [2850 0 R /XYZ 259.4726 430.9411 null] +/D [2851 0 R /XYZ 259.4726 550.1142 null] >> endobj 2863 0 obj << -/D [2850 0 R /XYZ 71.731 422.3036 null] +/D [2851 0 R /XYZ 71.731 541.4767 null] >> endobj 2864 0 obj << -/D [2850 0 R /XYZ 71.731 399.0607 null] +/D [2851 0 R /XYZ 71.731 518.2337 null] >> endobj 2865 0 obj << -/D [2850 0 R /XYZ 172.5953 399.0607 null] +/D [2851 0 R /XYZ 172.5953 518.2337 null] >> endobj 2866 0 obj << -/D [2850 0 R /XYZ 271.7266 399.0607 null] +/D [2851 0 R /XYZ 271.7266 518.2337 null] >> endobj 2867 0 obj << -/D [2850 0 R /XYZ 337.8826 386.1092 null] +/D [2851 0 R /XYZ 337.8826 505.2823 null] >> endobj 2868 0 obj << -/D [2850 0 R /XYZ 71.731 373.1578 null] +/D [2851 0 R /XYZ 71.731 492.3309 null] >> endobj 2869 0 obj << -/D [2850 0 R /XYZ 71.731 361.0383 null] +/D [2851 0 R /XYZ 71.731 480.2114 null] >> endobj 1522 0 obj << -/D [2850 0 R /XYZ 71.731 253.6411 null] +/D [2851 0 R /XYZ 71.731 372.8142 null] >> endobj 330 0 obj << -/D [2850 0 R /XYZ 331.6984 210.5436 null] +/D [2851 0 R /XYZ 331.6984 329.7167 null] >> endobj 2870 0 obj << -/D [2850 0 R /XYZ 71.731 198.1056 null] +/D [2851 0 R /XYZ 71.731 317.2787 null] >> endobj 2871 0 obj << -/D [2850 0 R /XYZ 71.731 168.8949 null] +/D [2851 0 R /XYZ 71.731 288.068 null] >> endobj 2872 0 obj << -/D [2850 0 R /XYZ 71.731 130.0406 null] +/D [2851 0 R /XYZ 71.731 249.2137 null] >> endobj -2849 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R /F32 1266 0 R /F35 1709 0 R >> -/ProcSet [ /PDF /Text ] +2873 0 obj << +/D [2851 0 R /XYZ 71.731 234.2697 null] +>> endobj +2874 0 obj << +/D [2851 0 R /XYZ 214.8223 201.4577 null] +>> endobj +1523 0 obj << +/D [2851 0 R /XYZ 76.7123 171.8686 null] +>> endobj +334 0 obj << +/D [2851 0 R /XYZ 248.5887 132.4963 null] >> endobj 2875 0 obj << -/Length 2531 +/D [2851 0 R /XYZ 71.731 122.1313 null] +>> endobj +2876 0 obj << +/D [2851 0 R /XYZ 71.731 110.2149 null] +>> endobj +2877 0 obj << +/D [2851 0 R /XYZ 71.731 105.2336 null] +>> endobj +2850 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F32 1266 0 R /F35 1709 0 R /F44 2089 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2880 0 obj << +/Length 2497 /Filter /FlateDecode >> stream -xڭYݏ�8�_�e`��$�ံ������u�],�M�$F;�Is��"�؉��y�LSE�ԏ����X�X�C�BE��,v���>��J2��<^������OZOR�F*��W�@&"�}=��I(��|������7Y5�T�O���Ǣn�v�kz��o�f���__�8�Vu,���T��TP� (E*�J���'B:��}.�� �{�S��U$�r�-f2�g�N�4�i����۬&J^г�d4X!K�ݖ8�`���:[4yY�,S1��|y�d,��N`ٮ7�j��hO;q&�i�Ĵ��i�����O3O �A ����=O<�MO�qp��3�OۆV�����E�l+ڴ:��)V�� -^|g���U���4�*)0,,X�?��*�����TЧ��ھ����Nz{7b@�Vm��w�9����[W5�UV��4���q[,�6g�H��E~���ERi!������T����~����=�?s>�G"T��'h��+R����ʱ*EٸOQ�(�^�ß��\t���办|����*J`;�-Vq2�s�����c��M�d�N����ho�M��ix�XGơ�#��d&h@�F -��IH?*Ԑb��PZŔ��$�]��s�����}��o�ue���{�|B�B� $��V$��hg��4�j:���D��[Û����Xez��Uc��I��5K(�i��`s�#�Tľ�\��i2�����sQ����B�]��%p�H'�K�?;ܤgT���*|�D�V��8��m3Sۗ�&����C�4�7�i�<��9�(��L�������0A�T��O�x]�±��`]:lJR8����#_�[Sa48�.�(��2�{͚[�(م�+��5{������'!,�9��w\HWO~d���M.d� -_gDG*��<�"o�4~���h�p��LB���'n���zF�Ki���)�Y�\ �C$ir[���%.���̨�ެ�NN'�Q0:�Ӏ���[ߩ1��t��if�zv���mF����w�0X@b�f���b�`6Di����'g}qT��v��q,�9)�l���[Hq����W�w���X��}�f;^�NO/���P��[%��ۡ���������Ȓ/ś*\ȶ�AH��`�,m<��� t9��ˀ�x��m�᤺�H��~��=8x����!ΜŐ�����.�X����P��0�YvQZ@���>����]J���XZ��C��HV>�s�I�j�h�r<މi$Q�Ir��q(t�������\u߱%�w��*\�F>1�T �����,��{��/Ӑ�K�A�}�j�<b` :(}e���d�>���&���� ���V���}�#�x�y>>��"9�,kŪS�k66���.1[��CU:�K`ҕ8��)����>�dº�lw�@Y�¥e&�U�B���Ȩ[Y�{�-l �H�h�}�`�=uI�a�;ӁuP����2K-D_: (�fT�Ot -�|�H�B�0��ɪ�x,�BE2u��e�j��ukx0��,�i�&ڗB� D�NpK+k���n��q���d���)�D�c�� �*{�2�L� -ŧ�G�|�����#}�{]S�d)P�T�����q�zI����Z����#S;��.Nx �S|rEIy�!2������5;7f(�z1���w�<���%QN��aOT�W���R�%���rZC�@��N+����]7��fW�ɥ����O�䣝�u������\Q*>���lϹ�Nl��rE/���ckX+}&��(:RTo��t-��RGRm�04^���)�5��p&rk��m�������)1�Wg�;����Y����d�pB����JG��wc�X���p�fcɝ�>�t�"���+�]��WǮPw�aP����xt�_��SW�X{������͵�U��8��\� ����ܺ)��R�חH�_5@)|M�ia�qw���.��t�+����ؔ\��A���/C���#����P�L-�f]e�,���c��?K�%ްTdž�����۩(�}�c�}ʷ���C�C��C���ކ����n`�L��3尵ee�7�)@�Qе���~�������}���ݷA��V�m����*�~m�1���cMo6a�5L�0_�u -9l��W��g��B��g ��p [��6�O�w�v���F�~���h�x���rk�b(FAZp�`'r�?��_����S�F �x�☼>�eN��5�fؿm���� Q*��Zt\Ϩq)�kh�W+�w��PPx����P�R2�[�$q�N|sw\�����hx P�Џx@����~��C�!ԇ��lj��� ����5��Y@��\����rv/����[aC����1[�b��t���R��`�*�!}�Q(�~�[��>��T�Ë6_�A��kt����"�f�mq��t���wW*\�{�1�Q��6�+~�C"���?�=��?BC�_�w\6s&W��Y�z"6endstream +xڭ]��6�=�B�Kd`�I���p@��594�4�MQ�Z[��ؒO������pH}��?p8G�o�;>��qID +��ܿ� ,����x}�_��MJ'a��y\;�Y�҉�`q�c�q�O��6=4Y��D軂�����t�ˋ �8n���v��ߏ��c{r(#�����xA3������G$,�9~�d ��+D�� +K�R�Gp6�,N�R2v�����n�!7��9KWO��m���]��z��&� �/?��Ms����t:-T貧��]sɬ�<v7����a���zt��nV�yY�\�,@e�9�x�T�JkRo,�8�U�/���ڝ;�p�p, y�?쵑�`]C�Us�s_ӼΖ �0Q�Ֆ�"�� ���.k��B��E��y[��E��F�,����B�� n�\k���ț3�o���+�h�c�y�8 ���j�n:冒>��Hɸ!dȂ8���R�b� � cF ��ܓ� ��"(��v�>e`}��5j�W"q�o�w����ySڋ��3N�iU��ڪ+m��{<�k�@�#7�"T����zE+��lJ�=�l��X�j��a�C������p���ʳbٝ������ձj#��9��n�ˮ(F`�]�Gu�-ޓ��3G����0� |{DwUj,hfn'�]&������L���4t���.���=~�� �8�SC��aC6@ YY��~g��U��(��.�u�M�+����Z�6�� ���B$�C��@1 V�`�G�KJ��L惕���d3�j��Ɖ�F�C���q��[*<5�l�3G�����0�"|H�b��rS�����`,x��!�3j���&}��Aɨ��g R�Q���?�&;~��3�� �?|���G,'���H솚��;fx������v$�lJ����T�i���'�(vG�)��I9�]��1`�ia��A�Uu�JwբQ��0�*[��1��YWe��.��� ���`4�0),;ԣ`^��i 撳�W��1�{djSߑ 8&�:�%��*s��.�jla� �Ah��/!�*�U���p��J�3�k"�q������ �R$)=�� +p��U�ZO����қ�$�[�tz5g�ܼ�1�!�L�y'��t!}L��i �i�hF��D�k�(�(�_���NE���5qG�#�q ���M�h�8�Q�t���-�����0g*T/!σ���1z��(�)9$,��<q�݊0�w"�l�{⮑!f�m�\���/�;Z餄�S����d��iO��ntY��]ђ����ʽٺm�|4�:�Gs���q����N��n��L +�BC�'�d:��h�3�W���mp��a;��t�xY��i���F;3��Z��k�@_6 l0@����{���Uv� +�0��T',?����t��l?ג�{<]�զ<����Ik'\� bS���U�6T`�u/�%�.�v �m��YqE����������]ʫA�����T.X�� +������"���H� bPm$,���2���w���t�+u/���JӢ��sؿ�x�dMHpL�,J��Oe�l���U�8Z���U�8^�*K��6��_TQz�*�H��ﲍm��B��Sa���-��r������w���I�"f0O &b�N�"�����)��<Lua�G]��h��)�ׯV\Խ�~�u��("^SeG�幦�v1 �d�Al ]�>��� W��ñ����EU�<B7�@������: ��w�X�����!ڂhM��K�b�F@\��uh04���o�<���^5 �'P.8`;,r���D^�j�'��O���.&W�����K�R�cʭ}�7+�,Ƣ�/zm�B��"X��wg��d� +��bGp5���=^$,�ce���s=W��$��Ɣ��Z<�y0�t @Fh2A�R��Qb����[�]f�K�;"��F�hB�R�ig��qCZ�^�{-�&�R�Um3m�U��<��]&����C�a�m_�����9��}��(��Gwfަ��_��®LW�s��z�G���eCZogm6� +K���f�b��o�ɋ���G��*DKt]� �[�)�1�7t��+�i�(�hSV�kǔ��ճ:���κUL�Ȟu+�g�l��@ڔUdLY =�x�]CƢ5Ծ^*z��6���1I'Ư�V82J����f*���U�/q�O��l�[�f�����q+�ꊃD����'�{�s�����#�|0��rX�[rL���#O�o�=��=���$���Y��Kd�["mf��J�h��apƪl-��#�$�F��h����!/n��h����c��wȰwm�.,���cӟ2[3w1��c�O����%R���þ�}+��a���`^�ÿz^T���O V2( &��O%L���ɛ�m+����,�*��7x�f�/x(b��$i9�v!����́QƅOendstream endobj -2874 0 obj << +2879 0 obj << /Type /Page -/Contents 2875 0 R -/Resources 2873 0 R +/Contents 2880 0 R +/Resources 2878 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R -/Annots [ 2886 0 R 2889 0 R 2890 0 R 2909 0 R ] +/Parent 2922 0 R +/Annots [ 2886 0 R 2889 0 R 2890 0 R 2909 0 R 2914 0 R 2918 0 R ] >> endobj 2886 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [184.8991 534.0125 236.4861 544.9165] +/Rect [184.8991 674.3064 236.4861 685.2104] /Subtype /Link /A << /S /GoTo /D (sanitycheck) >> >> endobj 2889 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [507.0988 503.1283 538.9788 514.0323] +/Rect [507.0988 643.4222 538.9788 654.3262] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj 2890 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [70.7348 490.5505 103.1133 501.0808] +/Rect [70.7348 630.8444 103.1133 641.3747] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj 2909 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [95.9201 153.6499 157.6881 164.1802] +/Rect [95.9201 293.9438 157.6881 304.4741] /Subtype /Link /A << /S /GoTo /D (upgrade-cvs) >> >> endobj -2876 0 obj << -/D [2874 0 R /XYZ 71.731 729.2652 null] ->> endobj -2877 0 obj << -/D [2874 0 R /XYZ 71.731 718.3063 null] ->> endobj -2878 0 obj << -/D [2874 0 R /XYZ 214.8223 685.0311 null] ->> endobj -1523 0 obj << -/D [2874 0 R /XYZ 76.7123 655.4421 null] ->> endobj -334 0 obj << -/D [2874 0 R /XYZ 248.5887 616.0697 null] ->> endobj -2879 0 obj << -/D [2874 0 R /XYZ 71.731 605.7047 null] +2914 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [160.4076 240.1455 222.1755 250.6758] +/Subtype /Link +/A << /S /GoTo /D (upgrade-tarball) >> >> endobj -2880 0 obj << -/D [2874 0 R /XYZ 71.731 593.7884 null] +2918 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.829 186.3472 168.597 196.8776] +/Subtype /Link +/A << /S /GoTo /D (upgrade-patches) >> >> endobj 2881 0 obj << -/D [2874 0 R /XYZ 71.731 588.807 null] +/D [2879 0 R /XYZ 71.731 729.2652 null] >> endobj 2882 0 obj << -/D [2874 0 R /XYZ 89.6638 568.0498 null] +/D [2879 0 R /XYZ 89.6638 708.3437 null] >> endobj 2883 0 obj << -/D [2874 0 R /XYZ 128.8307 568.0498 null] +/D [2879 0 R /XYZ 128.8307 708.3437 null] >> endobj 2884 0 obj << -/D [2874 0 R /XYZ 71.731 552.9415 null] +/D [2879 0 R /XYZ 71.731 693.2354 null] >> endobj 2885 0 obj << -/D [2874 0 R /XYZ 89.6638 537.1656 null] +/D [2879 0 R /XYZ 89.6638 677.4595 null] >> endobj 2887 0 obj << -/D [2874 0 R /XYZ 71.731 522.0574 null] +/D [2879 0 R /XYZ 71.731 662.3513 null] >> endobj 2888 0 obj << -/D [2874 0 R /XYZ 89.6638 506.2814 null] +/D [2879 0 R /XYZ 89.6638 646.5753 null] >> endobj 2891 0 obj << -/D [2874 0 R /XYZ 71.731 491.5468 null] +/D [2879 0 R /XYZ 71.731 631.8407 null] >> endobj 2892 0 obj << -/D [2874 0 R /XYZ 89.6638 475.3973 null] +/D [2879 0 R /XYZ 89.6638 615.6911 null] >> endobj 2893 0 obj << -/D [2874 0 R /XYZ 250.1301 475.3973 null] +/D [2879 0 R /XYZ 250.1301 615.6911 null] >> endobj 2894 0 obj << -/D [2874 0 R /XYZ 71.731 460.289 null] +/D [2879 0 R /XYZ 71.731 600.5829 null] >> endobj 2895 0 obj << -/D [2874 0 R /XYZ 136.4882 421.725 null] +/D [2879 0 R /XYZ 136.4882 562.0188 null] >> endobj 2896 0 obj << -/D [2874 0 R /XYZ 71.731 373.1167 null] +/D [2879 0 R /XYZ 71.731 513.4106 null] >> endobj 2897 0 obj << -/D [2874 0 R /XYZ 71.731 351.2539 null] +/D [2879 0 R /XYZ 71.731 491.5477 null] >> endobj 2898 0 obj << -/D [2874 0 R /XYZ 71.731 336.3099 null] +/D [2879 0 R /XYZ 71.731 476.6038 null] >> endobj 2899 0 obj << -/D [2874 0 R /XYZ 71.731 323.3585 null] +/D [2879 0 R /XYZ 71.731 463.6524 null] >> endobj 2900 0 obj << -/D [2874 0 R /XYZ 109.5891 307.5825 null] +/D [2879 0 R /XYZ 109.5891 447.8764 null] >> endobj 2901 0 obj << -/D [2874 0 R /XYZ 109.5891 307.5825 null] +/D [2879 0 R /XYZ 109.5891 447.8764 null] >> endobj 2902 0 obj << -/D [2874 0 R /XYZ 71.731 295.5975 null] +/D [2879 0 R /XYZ 71.731 435.8914 null] >> endobj 2903 0 obj << -/D [2874 0 R /XYZ 71.731 282.5116 null] +/D [2879 0 R /XYZ 71.731 422.8055 null] >> endobj 2904 0 obj << -/D [2874 0 R /XYZ 109.5891 266.7357 null] +/D [2879 0 R /XYZ 109.5891 407.0296 null] >> endobj 2905 0 obj << -/D [2874 0 R /XYZ 109.5891 266.7357 null] +/D [2879 0 R /XYZ 109.5891 407.0296 null] >> endobj 1524 0 obj << -/D [2874 0 R /XYZ 71.731 243.8216 null] +/D [2879 0 R /XYZ 71.731 384.1155 null] >> endobj 338 0 obj << -/D [2874 0 R /XYZ 283.5785 204.4493 null] +/D [2879 0 R /XYZ 283.5785 344.7432 null] >> endobj 2906 0 obj << -/D [2874 0 R /XYZ 71.731 194.0843 null] +/D [2879 0 R /XYZ 71.731 334.3782 null] >> endobj 2907 0 obj << -/D [2874 0 R /XYZ 71.731 182.1679 null] +/D [2879 0 R /XYZ 71.731 322.4618 null] >> endobj 2908 0 obj << -/D [2874 0 R /XYZ 71.731 167.224 null] +/D [2879 0 R /XYZ 71.731 307.5179 null] >> endobj 2910 0 obj << -/D [2874 0 R /XYZ 71.731 154.6461 null] +/D [2879 0 R /XYZ 71.731 294.94 null] >> endobj 2911 0 obj << -/D [2874 0 R /XYZ 91.6563 138.4966 null] +/D [2879 0 R /XYZ 91.6563 278.7905 null] >> endobj 2912 0 obj << -/D [2874 0 R /XYZ 121.0649 138.4966 null] +/D [2879 0 R /XYZ 121.0649 278.7905 null] >> endobj -2873 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F27 1258 0 R /F32 1266 0 R >> -/ProcSet [ /PDF /Text ] +2913 0 obj << +/D [2879 0 R /XYZ 71.731 253.7196 null] >> endobj -2916 0 obj << -/Length 2484 -/Filter /FlateDecode ->> -stream -xڭ]�۸�=��b6W$���^���"nS��;�EۺȢN�w���;�ʒ������3��|Q���~r�H�hT&T����*X`��W�I6L���u����b/���P�"K�H�i$��}��c���]mT,���}��yU����oχ?ʪ�W�������ɑND��g��nT�HA� :ԉS�ov���c]ټ ]��a o��$M~ ��Z;K:�p��n�ڌ�n�����dv}iko�D(���PJ -�d�y=����z���\�g�"�A6'U�0�Gk����B�f��V�L�8��E.�w,;0R�,�����ҴO4��SS�W2X�n!]�������Y3�� �`-C��'{&���T�b��+ �h�|<T�2�BW����u���/A�v9^;�+G� ��z��n췑Jd��5z��{ӑ��=��s; 8�vo$XWE�Dd2���GT-�wG�f6�D��5�B�Q8�j3&���n߈��6�j���^���K1�cK��c`���T��{�f-rM-��5i�|�A�Ht4�H���(k�����(�������_������t,Ͷ^��������n��ܙ9��=t�!��*�u�8$���z�.i "!8r�$�0ZQE�y%Q�3Q�rf늙��Tֶ��Rw�i�3V�`� �d�� jL�8��qʞ�6���>z!%��#��%�u(�$ �ؒX��Թ�OX!�qa�W�`h��Җf�~�hR�T68��|N͒+/B�DR�Sa��T�%d#\%?D_�3�ȧ�UM�u%��5���֬�#DNd۲�J����Ñ�T5�0{�����l��GP���]�2έcEGD�r��Ҟ;B��+�)��) �Qw����[Sp$9�p���C�8�gy�eewyE��boO�y?(�\��lD���枪���FċH�"TQ�Ͳ�D�1�|�)��Bݖ�@A����zI�n���4�4�ܻ��jY�-f�v�Zk�xX��|j� ky�k}�D���E-����3l`��쪈*J�.�����eOd�'q~��\Qޅ��ϕOi�o?�S]"8\�>.=x^�Us9|�c��4^~e�,��=��K�\&�%��A<V��8�{���֥i o�\1�U�F�.�0��K}V��=GC�+=+��)�,��=MȘsBgQ d^�"ćQ ����J�� Hd1���?��]�)i�R��,W�l�����<�e?p� t�����`��\�p�0���#aѻ��k�U�P��|>���s)��;w��0[?�� ��v�/����Zx�o�'$<��̍�}�[oWa�����t���[��M�گ� E��Q��:A:d5�2f�at5��ZJ�+���騕g�iRY��.��9��bk|3ԕ��\���ݐ)����;S̶�}�0գ�Aq�0Z���|���^��1����`7�`V�H�S�InZ\X�F��J���j`BM��v��S]~%�S�;��a���VjMKT_V#ഌ[����d2�xI�۟͜ʶ��%���d�af�&�� \��c�A*���>Kl%<a�@m��e� Z���6\�vIF:�t -�LR0��cy8V�,ѷ%��K���}�y����8�-�����<?\��9ے�SR�sTE�4�!�M{O��� - �Q~T�7�k�`�ژ�u�Jq��>�w�4�����A֮�WB�Cɫ��k�\.�SSr�E���m�L>�%@�����?qr4)x ʔ�i�wǿY,GdZaW��+�� �y�wy{���xw�O��v��O�l�������A�Ұ4�����=���V��F��4`�Ӿ�k[?A�����F�5����;Xk��x�H�(Dzɻ�Ѷ��0 -G&��2��@�]^�_�i?�=���1��ONFm����-\��K�_l���F�ǚ��������F}V�����w_�G�/�ݗ���F4՜M=(t�!��Rv��A��^����b�Uܙ��0�"�*���v� teџH��=^1ċ�.d�c��ZDI@���!X�`����#<��Y�] N��j&r� �o�J���PC����_@��^�1&��v��K:����P`C���b�$�|4 UY�.=t�5z�hx��͙� �s�M�E�Ĥ�����=�V�쨔���n��OV����8K�>x�pv��n�s(�Pz���(á\ �X�Ȥ����Vſ�a��_��KOA:�I(*re1�� -z�:w��A��E'ZB;��[H�Rm~{p ������ߠ"W��,�H�r� <��������J8��PC�����f�Ҙ�x˨�E��vQs #���1J%z����\��!] Bd{���������m��M��6 -5�A��z1�B�A�a�� �M(��4�I�T�<�Z��T����g�����ʵ��7�1�� -��endstream -endobj 2915 0 obj << -/Type /Page -/Contents 2916 0 R -/Resources 2914 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R -/Annots [ 2919 0 R 2923 0 R 2928 0 R ] ->> endobj -2919 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [160.4076 705.5642 222.1755 716.0945] -/Subtype /Link -/A << /S /GoTo /D (upgrade-tarball) >> ->> endobj -2923 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [106.829 651.7659 168.597 662.2963] -/Subtype /Link -/A << /S /GoTo /D (upgrade-patches) >> +/D [2879 0 R /XYZ 71.731 241.1418 null] >> endobj -2928 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [106.7097 525.3301 161.0057 534.1767] -/Subtype /Link -/A << /S /GoTo /D (template-method) >> +2916 0 obj << +/D [2879 0 R /XYZ 91.6563 224.9922 null] >> endobj 2917 0 obj << -/D [2915 0 R /XYZ 71.731 729.2652 null] +/D [2879 0 R /XYZ 71.731 199.9213 null] >> endobj -2918 0 obj << -/D [2915 0 R /XYZ 71.731 718.3063 null] +2919 0 obj << +/D [2879 0 R /XYZ 71.731 187.3435 null] >> endobj 2920 0 obj << -/D [2915 0 R /XYZ 71.731 706.5605 null] +/D [2879 0 R /XYZ 91.6563 171.194 null] >> endobj 2921 0 obj << -/D [2915 0 R /XYZ 91.6563 690.4109 null] +/D [2879 0 R /XYZ 71.731 151.1044 null] >> endobj -2922 0 obj << -/D [2915 0 R /XYZ 71.731 665.34 null] +1525 0 obj << +/D [2879 0 R /XYZ 71.731 138.153 null] >> endobj -2924 0 obj << -/D [2915 0 R /XYZ 71.731 652.7622 null] +2878 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F32 1266 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 2925 0 obj << -/D [2915 0 R /XYZ 91.6563 636.6127 null] +/Length 2521 +/Filter /FlateDecode +>> +stream +xڭ]�۸�=��b6-��r�һ�=䐇��)���@�h[I�I�n6��3��,y��W�A�p83�'-��"�"��Q;��H-��U�8��O�$�lg3E������Z/vb�xqwX�2�$ЋD+�F2]��^�=e�`��FE�R ��k�!���9�����kYU��?w?�����9҉إ@�Y�F��*��R�"�����A*t�'��PB�`I�|w���JEK{��)[�hyohVۢ�5�)f�ͦ'��D?�b�R;��q�%�G��E�{de2�����enF�/�������g/�z$���������ҝ��\vf%�=2Bۗ��3��=O��P� u�N��d���j��\e����� �Q`-�H%�J{� P�W�s�s[d�����۬Cm��N�̠R��1���� �rY�<�Dl]~^�<���̏����)l�l��Y�H�x�ZD��1{���lyjLOh!�_LN�"�Xh���"v�2x���xB ��{ߤ�����S+�;w�Z-��[�ty�Ƞ�拇���uK#���u�6t�tٸL�Ұ�>�d�4k�"R�MAE��)?Wˁ�ʞ�G�āSޛ�\��0��0�S]<8\[� ���X�a(��'N�&�CgkZ�"�J�K��@=�cU�����]�H�mV6��{Z5��8 A�L�GQ �N�88:]�Iy�M�f��~hBʼ��,*��+S�aT§�A���|+8$���!}�)i�B��(�\��g�vf�Е�H�c$��#0?e���s���0�b�4N�E�ݮiV�c���|>:�oi�����r(��]����i,A��0�H�77�용Y'��ֻU,��8%��4%���]Ѷ�엲�C�=D��ì�X5�C.��O�BVG�z���`3��G���4��/�u�r��{c8�e��5G^�]?FJ'��ܙ�d�)g�Y҇��TOjŵ��iaz������b=pwrq( | +v3 jŋD8��ͭ��{�.��r9�QP۞ |l�/�Vg��l3,,��5-Qr|Y���2n�W,����sw{,����e�A�EKQ[W�K9���e\��PJ�H�����2?Ѱ�i�X�sQ;�#b +��� c��K�������ϩ<�*������{hݾ�8�vTU̵�/x�k<�p���ܕ�P-7�m�y���S�R +j��"�����e����Q{�SC.3�� +����c +Wq*ő��,ޕ�g,t��vŵ�K^�_�榘Qے�.Jו`o7��#�\��}SG�8ٛ��Lɝ�Y���r�� x��]�i� Xn�n���= u���j���߿��G��_���"7L �wo�Gw����/^~ߴ��{ӽ��<B�����F�5��t�-�u�^,q�c�#�f}�`�� I� �Hh�D| �.�GƯ״����1���''?��U�|ƨsK �����w�z�u0��Ǐ?�����?l�'�>I^,>|��|�-���{3�[�V�t���A�2�}��y��� b����ex�W[�ls��3�U�[��m/Д�P��{�"��U���Y� ��OB �ND�p,BЌN�x�q��Eg�qЏ�ǎ��Gg,�aoF��;!���>�n=v�WP"Ƒ�A(�������b�;f8=&��P�;��X�:�����������I3����3� �p�5��6bR�tj��Ά�T�(Z)��7�ܼ�;V'���x��}��pt����P�����Q�C��1��HM3�3=P�z-�o�a�X^��\������܈'*rY1�� +J�&smBeh�|��l�TWO�6��Ճ�����*�7�a����#��=x�'�����6p@ �E����� �9��a�1��I��"�$�Ʈ��/��7]�2.�~-n�9+��B������C�e���o5�tr�Rj��@-�����1�� �{�{�`�P�?�ަ_���Y�X2� +�n�5�w���\ة8�� hs��K��Q�����Ζp�g|�\`yd⭾�t{�_c�3b�fE��cϲP��OZeu����l�~�ʑ�!�k�2����vB��W*��f�&�����Q�ah�l��Y/A=�qV�o� �-+kS�ҕw��C���O_w�]̵(�奊�`���*v�Iw�v|�L�%,�L�_|Y�FXs����������P�i��<6�/�Lk%�(�SV�L��}_�EO������G���]�/C���|p}����$q������u`��"����\���XI��� x�;͋<r�-��->���ډPƾj���7�:�B���9:��=W�_z��^«���W�*PQ��nWA�[�����s����_ S�憹�ڿ8���z�~���f�HAM��c����� +4�\?�ۙ�s���p�8���ض��v:��������=���M�^'2�a*R��;j���ߨHA�$���X.���� ��� +�endstream +endobj +2924 0 obj << +/Type /Page +/Contents 2925 0 R +/Resources 2923 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 2922 0 R +/Annots [ 2928 0 R ] >> endobj -2926 0 obj << -/D [2915 0 R /XYZ 71.731 616.5231 null] +2928 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [106.7097 662.416 161.0057 671.2627] +/Subtype /Link +/A << /S /GoTo /D (template-method) >> >> endobj -1525 0 obj << -/D [2915 0 R /XYZ 71.731 603.5717 null] +2926 0 obj << +/D [2924 0 R /XYZ 71.731 729.2652 null] >> endobj 342 0 obj << -/D [2915 0 R /XYZ 308.1414 571.2578 null] +/D [2924 0 R /XYZ 308.1414 708.3437 null] >> endobj 2927 0 obj << -/D [2915 0 R /XYZ 71.731 562.6203 null] +/D [2924 0 R /XYZ 71.731 699.7062 null] >> endobj 2929 0 obj << -/D [2915 0 R /XYZ 71.731 521.345 null] +/D [2924 0 R /XYZ 71.731 658.431 null] >> endobj 1526 0 obj << -/D [2915 0 R /XYZ 71.731 449.5493 null] +/D [2924 0 R /XYZ 71.731 586.6352 null] >> endobj 346 0 obj << -/D [2915 0 R /XYZ 237.8221 416.2391 null] +/D [2924 0 R /XYZ 237.8221 553.325 null] >> endobj 2930 0 obj << -/D [2915 0 R /XYZ 71.731 407.6016 null] +/D [2924 0 R /XYZ 71.731 544.6875 null] >> endobj 2931 0 obj << -/D [2915 0 R /XYZ 71.731 366.3263 null] +/D [2924 0 R /XYZ 71.731 503.4123 null] >> endobj 2932 0 obj << -/D [2915 0 R /XYZ 71.731 330.4608 null] +/D [2924 0 R /XYZ 71.731 467.5468 null] >> endobj 2933 0 obj << -/D [2915 0 R /XYZ 104.0099 318.9041 null] +/D [2924 0 R /XYZ 104.0099 455.99 null] >> endobj 2934 0 obj << -/D [2915 0 R /XYZ 104.0099 307.2478 null] +/D [2924 0 R /XYZ 104.0099 444.3337 null] >> endobj 2935 0 obj << -/D [2915 0 R /XYZ 147.0485 283.9352 null] +/D [2924 0 R /XYZ 147.0485 421.0212 null] >> endobj 2936 0 obj << -/D [2915 0 R /XYZ 104.0099 272.2789 null] +/D [2924 0 R /XYZ 104.0099 409.3649 null] >> endobj 2937 0 obj << -/D [2915 0 R /XYZ 71.731 224.2731 null] +/D [2924 0 R /XYZ 71.731 361.359 null] >> endobj 2938 0 obj << -/D [2915 0 R /XYZ 71.731 202.3412 null] +/D [2924 0 R /XYZ 71.731 339.4272 null] >> endobj 2939 0 obj << -/D [2915 0 R /XYZ 118.5554 161.8085 null] +/D [2924 0 R /XYZ 118.5554 298.8945 null] >> endobj 2940 0 obj << -/D [2915 0 R /XYZ 225.6892 150.3315 null] +/D [2924 0 R /XYZ 225.6892 287.4174 null] >> endobj 2941 0 obj << -/D [2915 0 R /XYZ 332.3173 150.3315 null] +/D [2924 0 R /XYZ 332.3173 287.4174 null] >> endobj 1527 0 obj << -/D [2915 0 R /XYZ 71.731 105.0986 null] +/D [2924 0 R /XYZ 71.731 242.1846 null] >> endobj -2914 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F61 2639 0 R /F54 2402 0 R /F44 2088 0 R >> -/ProcSet [ /PDF /Text ] +350 0 obj << +/D [2924 0 R /XYZ 270.3754 213.538 null] +>> endobj +2942 0 obj << +/D [2924 0 R /XYZ 71.731 204.9005 null] >> endobj -2944 0 obj << -/Length 1961 -/Filter /FlateDecode ->> -stream -x��Yݓ� ��B���YӒ�϶/I�1�K;�M���A�hKYTEj}�}�%�o��^f27s"�H�x>��4��O��0�C�<����!`���B�<~��YJ/y&��ы�L�/�T�"���{�����.z���.��M(��]glѶMw��7��i�b��ǿ~���l9���3P��{��kC���c ���^�L�H�οP�"K���i(*������V<(������t����0w��;�|m����xS�(cWZ��ǾH`�.����f�a�o�����N�O�T�������6�7��m�o.�_�lؗm�o��!����Mc�f��ͬV�-�2����}FX!�D Z ��G�/]���(���Fmm����r�l��8��� -��i_-��,X^t����D�t�-� 77k(F(n#n�X�yOf2��~�Vy�1�?��J4��}$j��g�g���cCB<#���'e�P��+�@e��|����Q�'^�:�T����ژ�za�Z��� w���K�u)Íi�"R����3�0^�[��Eh~�YNAT�sY������X��z �����Q+?l�7��L��2� 3�$�<�pKDA�&qo��b�x���|/�S)B�I�����y�J��Vkv��EGلa�VB�4���]�:��x�/�0�l���ge���T�Qw�]�ݱ�p�3�3S�të�7k���8��wP���]o��Կ!�$X�+����\L|��+�i���$N�ϰqq��V��8�^��te���x�/��V���|�@_( 'N/d0��u��o��G6��`U�N�.~?o�����t��[N����9�ߐ�iN��l��A��ؕ��e -�G�p`�=Yb��}�ˢ-uwlN�@�"Kc ��L���-�|��y�-�� -j�$@����nx�jU�_�j������纞 �V���)��^�T�A E�F�E��C8[W��^�e�%p�y�ޠ�� -=ND�G�$�Ru%����d�,L�Eml�Z�C��xF"�#�������:|;Qts���.��2M���Wa�i�9�^�_�4�$��G���C�J#��. ��M��+�:������R7%/iXIA�r� �%K�{|~a���,�*Uk��5<?��c�\U�S�ऍm:���� ����\����O��pEֲ5(�aP�N\��i?�mč�`��U���z˓7`"��%:$�9A��,���k��� j�d��@��E ���ѵM��ֺ"644:q�C��Q���>e�DC.�I�*@��vA��e��R��)^�K�������^��·'�4q�<-,Gc�]q�a�w7R���Z�'�kuL�b�gh���D��ɼ*�Z�}�Ρ�ډV[��F���N�����BK��X�;b��D>0�v���ݔ�Y�n���`Kug�Tw1�����ZXDQ-z���^�/l��ʼ�fM�+.���6�ί�m)77wS�K�,��V���k+H�����J��3��� 5�Km1��lkGfiP��F�m71X�(�����~L@J�l�F������1S��5I���Ԋ�" c��y$��H����a'x�\����8�J����� -��t����bQO�6q�$~rs,�"����#(����6<���G�K�+�>^ȟ�L$O����~����g��減?��w�k|�|h�m�<���F��#\��5$��3PᔞḼ6H?5� ��bc�)��Z}��I�����-\S�3M�V������e�}f[L/�tKP���v��eI��k�wVO]e����^�4v/M�^���_^�~�h����}G>��ߥ�<6�[8*kU�d�{ѷ��O.�7��^�~l)��Z��\�EPI��2��>����<�5�a��7�;�nIb�endstream -endobj 2943 0 obj << -/Type /Page -/Contents 2944 0 R -/Resources 2942 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R +/D [2924 0 R /XYZ 86.3959 181.6576 null] >> endobj -2945 0 obj << -/D [2943 0 R /XYZ 71.731 729.2652 null] +2944 0 obj << +/D [2924 0 R /XYZ 71.731 174.5194 null] >> endobj -350 0 obj << -/D [2943 0 R /XYZ 270.3754 708.3437 null] +2945 0 obj << +/D [2924 0 R /XYZ 401.1475 150.7734 null] >> endobj 2946 0 obj << -/D [2943 0 R /XYZ 71.731 699.7062 null] +/D [2924 0 R /XYZ 71.731 125.7025 null] >> endobj 2947 0 obj << -/D [2943 0 R /XYZ 86.3959 676.4632 null] +/D [2924 0 R /XYZ 104.0099 116.203 null] >> endobj 2948 0 obj << -/D [2943 0 R /XYZ 71.731 669.3251 null] +/D [2924 0 R /XYZ 104.0099 104.5467 null] >> endobj -2949 0 obj << -/D [2943 0 R /XYZ 401.1475 645.5791 null] +2923 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F61 2640 0 R /F54 2403 0 R /F44 2089 0 R >> +/ProcSet [ /PDF /Text ] >> endobj +2951 0 obj << +/Length 1831 +/Filter /FlateDecode +>> +stream +xڽXK��4����*j�X������ +.P�X��Į��ly�3��n���=Yf*K�V��������^�Y�G�LD�����`�Wܱ��n������� �R�F"�n��� Kc?��@�$�w�����P���v'B#}l���lN43��˪R�?o~z�����0�Y����U���X�Pz�TITp����@�U��?���v����Kctd���Ù��q0 +���ψ-�36����ؑ˨�d��=����F�8v��r�n�<w�}���a��P����t��2��k��~l2��f��x��wJG�0���Wm���m���Z�)K�0��,�n��%��a{�vMC�������j��rԗ6L>�����.g������ HK-V���%�G����{�q�����^{��.�z1��'v�E�hɽ���Z2�m60����P$�|�X��6R����}+�����R�1��"��đ�tS8��14�U/�{,tMc>q�u��|�o�)h����Hb�ap��l�-�D<e涔N����V����;�Qw-�F5�h�6��v���k�'�� ��q�l�)�ƺ-�)q��S^�:3��l����V���5j���CJ����lԕ>y�"sI0g�o��OF>��Cl��f~�d"���!A��'��ʼn�7Y@l��ԫ�Z�m +xO�p��ѩ�ǻ݂5�];Ғ�OV�;Ѱ�O|푈S�g4����|�������h��ﶸ#�����-��"z��):48��� �1y���c�$K�H���R<��4�F���H6-QkU6�̆��#�ݮt��R9dY*�ډ-t��@��Q�uN��I�����]��(�j�1��`_�v} I|y��%|_Tz`���M�P��.}&eBN$X���\�W��g��e�)�� =8�s(��zDje~MU n)hhA _E���*p9to;�p�e�/�����v]Y���`�`���q�B���I�� `����J fq֎���^��]��i �p@�H�SK �����5��e%W��"�k _�H�նq�΅&�HC� �*�$RI�X0[�� $�����8.e����NF|(����t��z��\�#�Da���G�ďVςK�ڎ�٬�H;�3��`j���M��q��u�;�']AC�_tZ���E���U9���J���v_,�c�/������� s/芞�i�Ϥ� +��1���FZ<���i���[�H���/����ͥg��L�SJ�0�L�ܷ�Z���O�Ч�-1�_�`���ZW��;��/�s��h��r��3S��ץY�*�O.h(COQ��v�EP +�$�5��V�������~^R�`{>i�n9$M��v�iߍ��|~�Ӷհ_�;�N]e^���r��]���Ocs_vW�����b�u�o��5_=�ȳ���c��������A��c]u�Q��F�y��fp[��ڵ���^W����fi�i�N���6FDO�;<�Y(E��7�:��6D���L�!ub��mI�`��O�-a*@����伵�P����!)2�� +M�eC+w�];�34�Q�-�?q0�混�z3�q('����=�U�`;V9k��3�)��0Zb�t O��zjr�h�l���o[�-��~x;@<�q�8K�-�2eB&��z�ݜ�ia����.o/�"(A�X�p�8H�^��z<�����&�Y5��ь�M�o�>���c���Q��$���L�O��+��(���o(��<M�� ��?w&l:�/�á�endstream +endobj 2950 0 obj << -/D [2943 0 R /XYZ 71.731 620.5082 null] +/Type /Page +/Contents 2951 0 R +/Resources 2949 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 2922 0 R +/Annots [ 2980 0 R ] >> endobj -2951 0 obj << -/D [2943 0 R /XYZ 104.0099 611.0087 null] +2980 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [270.8639 146.2572 332.6702 156.8394] +/Subtype /Link +/A << /S /GoTo /D (upgrade-cvs) >> >> endobj 2952 0 obj << -/D [2943 0 R /XYZ 104.0099 599.3524 null] +/D [2950 0 R /XYZ 71.731 729.2652 null] >> endobj 2953 0 obj << -/D [2943 0 R /XYZ 71.731 598.1375 null] +/D [2950 0 R /XYZ 71.731 718.3063 null] >> endobj 2954 0 obj << -/D [2943 0 R /XYZ 104.0099 576.0398 null] +/D [2950 0 R /XYZ 104.0099 696.6874 null] >> endobj 2955 0 obj << -/D [2943 0 R /XYZ 71.731 551.3465 null] +/D [2950 0 R /XYZ 71.731 671.9941 null] >> endobj 2956 0 obj << -/D [2943 0 R /XYZ 104.0099 529.4147 null] +/D [2950 0 R /XYZ 104.0099 650.0623 null] >> endobj 2957 0 obj << -/D [2943 0 R /XYZ 104.0099 517.7584 null] +/D [2950 0 R /XYZ 104.0099 638.406 null] >> endobj 2958 0 obj << -/D [2943 0 R /XYZ 104.0099 506.1021 null] +/D [2950 0 R /XYZ 104.0099 626.7497 null] >> endobj 2959 0 obj << -/D [2943 0 R /XYZ 104.0099 494.4458 null] +/D [2950 0 R /XYZ 104.0099 615.0934 null] >> endobj 2960 0 obj << -/D [2943 0 R /XYZ 104.0099 482.7896 null] +/D [2950 0 R /XYZ 104.0099 603.4371 null] >> endobj 2961 0 obj << -/D [2943 0 R /XYZ 104.0099 471.1333 null] +/D [2950 0 R /XYZ 104.0099 591.7808 null] >> endobj 2962 0 obj << -/D [2943 0 R /XYZ 71.731 459.477 null] +/D [2950 0 R /XYZ 71.731 580.1246 null] >> endobj 2963 0 obj << -/D [2943 0 R /XYZ 118.5554 415.9316 null] +/D [2950 0 R /XYZ 118.5554 536.5792 null] >> endobj 2964 0 obj << -/D [2943 0 R /XYZ 137.5117 407.4673 null] +/D [2950 0 R /XYZ 137.5117 528.1148 null] >> endobj 2965 0 obj << -/D [2943 0 R /XYZ 71.731 373.8907 null] +/D [2950 0 R /XYZ 71.731 494.5383 null] >> endobj 1528 0 obj << -/D [2943 0 R /XYZ 71.731 336.1524 null] +/D [2950 0 R /XYZ 71.731 456.8 null] >> endobj 354 0 obj << -/D [2943 0 R /XYZ 258.3011 300.7849 null] +/D [2950 0 R /XYZ 258.3011 421.4325 null] >> endobj 2966 0 obj << -/D [2943 0 R /XYZ 71.731 292.1474 null] +/D [2950 0 R /XYZ 71.731 412.795 null] >> endobj 2967 0 obj << -/D [2943 0 R /XYZ 71.731 274.7178 null] +/D [2950 0 R /XYZ 71.731 395.3653 null] >> endobj 2968 0 obj << -/D [2943 0 R /XYZ 473.4713 250.9717 null] +/D [2950 0 R /XYZ 473.4713 371.6193 null] >> endobj 2969 0 obj << -/D [2943 0 R /XYZ 71.731 230.8821 null] +/D [2950 0 R /XYZ 71.731 351.5297 null] >> endobj 2970 0 obj << -/D [2943 0 R /XYZ 71.731 197.0739 null] +/D [2950 0 R /XYZ 71.731 317.7215 null] >> endobj 2971 0 obj << -/D [2943 0 R /XYZ 104.0099 185.5172 null] +/D [2950 0 R /XYZ 104.0099 306.1647 null] >> endobj 2972 0 obj << -/D [2943 0 R /XYZ 104.0099 173.8609 null] +/D [2950 0 R /XYZ 104.0099 294.5085 null] >> endobj 2973 0 obj << -/D [2943 0 R /XYZ 71.731 172.646 null] +/D [2950 0 R /XYZ 71.731 293.2935 null] >> endobj 2974 0 obj << -/D [2943 0 R /XYZ 104.0099 150.5483 null] +/D [2950 0 R /XYZ 104.0099 271.1959 null] >> endobj 2975 0 obj << -/D [2943 0 R /XYZ 104.0099 138.892 null] +/D [2950 0 R /XYZ 104.0099 259.5396 null] >> endobj 2976 0 obj << -/D [2943 0 R /XYZ 71.731 114.1987 null] +/D [2950 0 R /XYZ 71.731 234.8463 null] >> endobj -2942 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F61 2639 0 R /F54 2402 0 R /F44 2088 0 R >> -/ProcSet [ /PDF /Text ] +2977 0 obj << +/D [2950 0 R /XYZ 71.731 212.9145 null] +>> endobj +2978 0 obj << +/D [2950 0 R /XYZ 118.5554 169.3691 null] >> endobj 2979 0 obj << -/Length 2502 +/D [2950 0 R /XYZ 421.5762 160.9047 null] +>> endobj +1529 0 obj << +/D [2950 0 R /XYZ 71.731 117.3655 null] +>> endobj +2949 0 obj << +/Font << /F33 1358 0 R /F54 2403 0 R /F35 1709 0 R /F61 2640 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +2983 0 obj << +/Length 2740 /Filter /FlateDecode >> stream -xڕˎ���>_�C��@[]O���2�I.���"�C�-��Ȓ���v�>d�J�,�Ub�,���? ��"�"ڞ>������{���ٌ�>�|z�*e��Y"��e)�ƙa22Rĩ�i������ў��Yo�f+���lYՁ�?���ei��z�˧?���4q����)�b�Rm��Ia�H��4i�8˄��<��X��I�d* �+�N�7��XP"3@�٠!#�b��j���R�<J��}�ĩ᧵b+�Txd8��W�"PW�(ܳ�)H΄�KC�>�iVv-��m�5PpK�;ڎ>��Ú�U���T -��>��n�l��V~aL��Ю�[Z�ꎖ�G[<�����K��_T�������%5��%�!]Ș �� -�-��m��xb�ήh�mW/ɀ4gl��c�z�����~G�9҅��p5F'x]@4��d��2��T;��+���m_�O]Mϩ2=vߒV�8��ٵ� -�4a"J�1�Y��k3Fs�4Q˜��(��+B�&���CJ8��+ǀ�@�95���I��C����zP4�J<�g%�.�i�C]OI�4A'$�����aMlW7�G7��,��fe��>�˼l�gg�h����C���<�!�s�����z-4���x�z�{���E���U>�:K���w�Ӏ�� v��@ӯlI/m��[��$݁�A>�{:��VM���h��#]�!i3Ƣ��lF5�g,S0�D��,���a�f�Q����I w�/�;��%\z��n� _��!!�=�[Յ%���Z{n�Í'�= �{��1fN�Ř F�!Oip+G��Yq�B,g�&�4�ޙ�{�L>^�0|���"��W4�K��?��L��o;��KBB<��*I�[���(E�[�[[n�j_�$���4wH���'T��=֜J��t#hT0T�g���'j��5���,)T8ō�@g�W A/H��]:�l_kT=� -E�K@+��������W�.v��g�4�!v���=ƺ����[����g�aF;x�`&( -���8��"؟�<�f�e{̷��^� -,�K����z}���..U X/*��}%X�8�6�@���Ai(�̓���0�6�@�}P�w$�. ^F nt�y���L��d������CG2�g������?=��Q�C��k�G V�C|kZt���Pi+{�1�;��8���}�]��<�A))X!�+v���2���Y�w�9�<�ƯԞ���2�Z�4�,\�J��*�RY�����h���1�O��"���m����\.$8|��`$l���X`/���?:E�4�H\�3po9�kB��Mpw]�U�0z��s��oE� d0m��6T}��C�6d��^a9��?,�Q6mN���w����_��b�,�I�\~��6�ooo���T>�����M�?i�>�,~����U8t2Z�Hf�����Yk�zkN�X̴��U��U�Xl��B�f%7���b�|lJ�(h �lz/�2�:�C����>t�5?UEF�芈7|�����Cn �U�1�/�ƒ���ޕ�LdNLa�����8��V4U�u6�B`�� $��^����Z�u��N����d�b-��n,�Xf������3 $Rs&n��$D-#�5tnjj�/�ws�x@J����C��P�h�ouJ����fa8�� ��Z��5O�\Sx�5=Ab�b�j�SQ�K�'�B�W����{�8Z���V��T*���?�w ��c��q&��sm`��i@�c���)@�\Ϙ^Q���^&%d�؝���{��(�0`��C����-��V �K�õ���>!C�˓��c�zh�W�|��7��PaR��3}� -�6�=�X�|u� -�xt_�m�hen��lQ㾝�����JАk)Yw7�>� ]H�C~n�}��b����w��B�w���]*�&�X(��ڀ6�qBU}�bPI��u���\W�B]�����uW�m��u��'8��o�*:{_|K�[�Y��IRs_U�A�Ԧ�!c�̦�|/����!��F��3�� Սy�n��@�-T ���1�3u��9�y��P���� ��_��e�7� g~#p䂀�Ԁ}j��ۜ(@ow8��D����W��JQ�|E� }W� -O�d�=����%���<m4�"4�Sm�0~��wz�� N��p �-t�n���(� �ʢ��z�vTɬ��$VUg!:�-\ϛ�nZ����t�W��/�iqx�~M��7��+ą*��mk��2��3zZ����P�����|.M��4��3������8�7 -C��]��F v�m�١4�3R�;\���.3��:8��Q{����te/�c�gK�`����T�~q�*��N^sW�_d����AǬ�:N4nv����~��8�Iv�����c �q�n�x� /0�0p�endstream +xڍ]���}E +4L4�d�c�z��[��Н�(z�A;������f����H9��$�6�LQ�I�\�O�b)b ?**2j�=~V{x���Q6��#}z����֫T���VϻU(�Ɓ^�Z���d���k��`O]�<l� �J��lY՞�?���ei�����N6:i�o�7`�Tz%C��H!���A,�0 ����F��d��>�ʼ#����2�u����N��f92 ���Ճ�FB��8�?�ʬ_�n��v��=�����Ҭs��@���bqO�:��7���ݘ��A�*[�C�姖�מ��p>��z��b��8q �*2�HT�.[#m�X����f�Prrvd��(����߁��3����F��I :���N� C�]QW���7�ˈY�C";�[���&�vu�F�5�V��x��CL�0�j�p]ffA�h�R�����s�:����7�xg�`�m�L�ل"���W��T��Esv^�� +�B�(n �d��d ��]�%�Ed��Hg!�!��yB�V~oYom���]�_8'�BK3.zJ�7�5��Na��5'R.D��!HTҋ��D+�'��-�"�겤P�7��m^�= ���"9v`�R��I�CP(Z_<Z��6{�S^��^�Uϖb��w<{�uó=�٫��p�;<�&3�U{A�-����O`�N��=��o~�s�����z�}�a�Q���@�0�m!Xw�8��w��o�L(�f<�F$q|G��=f�ȗ��;/Nv$�� F n������ �_����Y����t�DBI�=.�np��>`����C(9Be��B��{�sF�V`||kZt����$FHn����Xx#}�e����2�Y������Ȋ��탄���5����O�ᕚI8�8�q좥��p�G+_P]�R�6m��+� +jl�*�g��m��'q*҂���F���_���`�Q��N9 �D)}�^�����A��.b6-Ī�p��nZ����h��&���گbzp1�i}~in��#����L�^�D���]N;���"9B�b��ԋ��h~��6O���O��X>����䔍߿�?��>L<ʹ9���0A���*9�+�F��ەi�̪�W�a\;D`b��H�x��� 4�I�����I��H��d�T�m*T��l�E#�P$Q�zEDnӳSf�O�V� +���gu���/���*2xDWD��=��G�r=���X�P���!����\�E��>���xBS���:f��,2�,U�y���#���f�u� +�N��j,�{��i(�ȓ��i`�����}tHOQF���U +R���j?�$�*�D)2�϶w�r�v�I��ǶC%�PN�&���\L�{Tz��a���\]#}��\�Ho�3��8&�(&�8�m�>x�7d�}u��+T�F��.�5Bp1�&�����|�֚�sѿQ4�ЉI|<J� 6�A�(����v=@/�T�o����klѠ�R�VQ_�?e��X�`$~��Sݶ��V�� +Dy��Za�v�(��D�[o��٪����=�w���`<Cyi ���e����K䝙������Acb�/�n�0�����m�S- +�[�?>��� ��Ruwu�s�;����?d���w�:�M�a�/�>dg;� M��P�S��Y?���ժU#�0�S���n��c���uu-�u�daFY��C��/�p,���*:��gn�=��P��dꛢ��0:�vٮZ�hʄ��{ �87���01�6�ל���������)��H�f�(��7_����c�<ϱ��+�B��G����2�e��� h�8rA�oj�>��6' +Й��Y��4�P����$lQҌY� =�=k�<�7rэ&�^�����R�VAJ�l����FOۺ�����}�i�E����+�&��h��[6kG��A�'Uu����S����i�%��ܠޝ^�+���<�B��$��CO�U����6%0��ap�<�Ʒ��<3�� �9�<�Ҍ&��<��C��L��8�̲ݍ�'��ێ�Cn +;\�q��g��eਹmx$�G]ы���_o���y�nyqP�x�s/���ϼ���rm�;��\���5�b��F�(;9����/)!I�+����PYmi駺+Љ���1����˜��=�5�t�Ҵ������(�z�H�M��[f��嗢����ï�|B!ȯ�_��6;�ލ��8a����E�yg�oPY2�t�3G$B�r�b����h��d]��]n�Gb���1Zl���L:2�ڸi%���@9�9���J ����6#���3�u����z3�D�Ix�|ƹs���kf��&z�5�I,�u�VSv[�)�`Ly ��� ,�_3]�Fb�W���T�]l��ҠJ�0�v�bL���sS$�}^� Y5�`V*�����W�>�^�M���7��j��>�Rf�<�������agf���D�8�%��@����]��l�T��Ä9��?+���E����'����P*!T +?/㏦PD|wI��b����m=ehQ�8������'��7����j(9wV�t�BJ��u���R��O��C�K����p��#߾oG_�L�L���y��ǧ'��|<ٶ��pŧ��Ơk��ѾAY�}ޤЇ�0��қ�0�I�Q ~qLJn�.�����5;1vendstream endobj -2978 0 obj << +2982 0 obj << /Type /Page -/Contents 2979 0 R -/Resources 2977 0 R +/Contents 2983 0 R +/Resources 2981 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R -/Annots [ 2984 0 R 2993 0 R 3010 0 R ] ->> endobj -2984 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [270.8639 641.6864 332.6702 652.2687] -/Subtype /Link -/A << /S /GoTo /D (upgrade-cvs) >> +/Parent 2922 0 R +/Annots [ 2993 0 R 3010 0 R 3014 0 R ] >> endobj 2993 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [300.478 485.3901 346.8734 496.294] +/Rect [300.478 612.8322 346.8734 623.7361] /Subtype /Link /A << /S /GoTo /D (configuration) >> >> endobj 3010 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [185.7724 225.154 237.5777 236.0579] +/Rect [185.7724 352.5961 237.5777 363.5] /Subtype /Link /A << /S /GoTo /D (sanitycheck) >> >> endobj -2980 0 obj << -/D [2978 0 R /XYZ 71.731 729.2652 null] ->> endobj -2981 0 obj << -/D [2978 0 R /XYZ 71.731 708.3437 null] ->> endobj -2982 0 obj << -/D [2978 0 R /XYZ 118.5554 664.7983 null] ->> endobj -2983 0 obj << -/D [2978 0 R /XYZ 421.5762 656.334 null] +3014 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [242.3291 205.4279 289.7803 216.3319] +/Subtype /Link +/A << /S /GoTo /D (parameters) >> >> endobj -1529 0 obj << -/D [2978 0 R /XYZ 71.731 612.7948 null] +2984 0 obj << +/D [2982 0 R /XYZ 71.731 729.2652 null] >> endobj 358 0 obj << -/D [2978 0 R /XYZ 287.9255 580.3987 null] +/D [2982 0 R /XYZ 287.9255 707.8408 null] >> endobj 2985 0 obj << -/D [2978 0 R /XYZ 71.731 570.0337 null] +/D [2982 0 R /XYZ 71.731 697.4758 null] >> endobj 2986 0 obj << -/D [2978 0 R /XYZ 71.731 558.1174 null] +/D [2982 0 R /XYZ 71.731 685.5594 null] >> endobj 2987 0 obj << -/D [2978 0 R /XYZ 71.731 553.136 null] +/D [2982 0 R /XYZ 71.731 680.5781 null] >> endobj 2988 0 obj << -/D [2978 0 R /XYZ 89.6638 532.3788 null] +/D [2982 0 R /XYZ 89.6638 659.8209 null] >> endobj 2989 0 obj << -/D [2978 0 R /XYZ 278.683 519.4274 null] +/D [2982 0 R /XYZ 278.683 646.8695 null] >> endobj 2990 0 obj << -/D [2978 0 R /XYZ 371.2702 519.4274 null] +/D [2982 0 R /XYZ 371.2702 646.8695 null] >> endobj 2991 0 obj << -/D [2978 0 R /XYZ 71.731 504.3191 null] +/D [2982 0 R /XYZ 71.731 631.7612 null] >> endobj 2992 0 obj << -/D [2978 0 R /XYZ 89.6638 488.5432 null] +/D [2982 0 R /XYZ 89.6638 615.9853 null] >> endobj 2994 0 obj << -/D [2978 0 R /XYZ 71.731 473.4349 null] +/D [2982 0 R /XYZ 71.731 600.877 null] >> endobj 2995 0 obj << -/D [2978 0 R /XYZ 89.6638 457.659 null] +/D [2982 0 R /XYZ 89.6638 585.1011 null] >> endobj 2996 0 obj << -/D [2978 0 R /XYZ 417.8838 457.659 null] +/D [2982 0 R /XYZ 417.8838 585.1011 null] >> endobj 2997 0 obj << -/D [2978 0 R /XYZ 71.731 437.5694 null] +/D [2982 0 R /XYZ 71.731 565.0115 null] >> endobj 2998 0 obj << -/D [2978 0 R /XYZ 121.9427 428.07 null] +/D [2982 0 R /XYZ 121.9427 555.512 null] >> endobj 2999 0 obj << -/D [2978 0 R /XYZ 121.9427 416.4137 null] +/D [2982 0 R /XYZ 121.9427 543.8558 null] >> endobj 3000 0 obj << -/D [2978 0 R /XYZ 71.731 404.7574 null] +/D [2982 0 R /XYZ 71.731 532.1995 null] >> endobj 3001 0 obj << -/D [2978 0 R /XYZ 136.4882 366.1933 null] +/D [2982 0 R /XYZ 136.4882 493.6354 null] >> endobj 3002 0 obj << -/D [2978 0 R /XYZ 314.0312 357.729 null] +/D [2982 0 R /XYZ 314.0312 485.1711 null] >> endobj 3003 0 obj << -/D [2978 0 R /XYZ 71.731 350.7527 null] +/D [2982 0 R /XYZ 71.731 478.1947 null] >> endobj 3004 0 obj << -/D [2978 0 R /XYZ 136.4882 310.22 null] +/D [2982 0 R /XYZ 136.4882 437.6621 null] >> endobj 3005 0 obj << -/D [2978 0 R /XYZ 377.04 298.7429 null] +/D [2982 0 R /XYZ 377.04 426.185 null] >> endobj 3006 0 obj << -/D [2978 0 R /XYZ 76.7123 264.1726 null] +/D [2982 0 R /XYZ 76.7123 391.6147 null] >> endobj 3007 0 obj << -/D [2978 0 R /XYZ 89.6638 246.2398 null] +/D [2982 0 R /XYZ 89.6638 373.6819 null] >> endobj 3008 0 obj << -/D [2978 0 R /XYZ 71.731 244.083 null] +/D [2982 0 R /XYZ 71.731 371.5251 null] >> endobj 3009 0 obj << -/D [2978 0 R /XYZ 89.6638 228.3071 null] +/D [2982 0 R /XYZ 89.6638 355.7491 null] >> endobj 3011 0 obj << -/D [2978 0 R /XYZ 71.731 221.1689 null] +/D [2982 0 R /XYZ 71.731 348.611 null] >> endobj 1530 0 obj << -/D [2978 0 R /XYZ 71.731 153.4877 null] +/D [2982 0 R /XYZ 71.731 280.9298 null] >> endobj -2977 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F27 1258 0 R /F32 1266 0 R /F61 2639 0 R >> -/ProcSet [ /PDF /Text ] +362 0 obj << +/D [2982 0 R /XYZ 389.1797 241.657 null] >> endobj -3014 0 obj << -/Length 816 -/Filter /FlateDecode ->> -stream -xڅUKs�0��W���EO� 7�t[q48v��6�zV;!1������ۧH��#�$H2Xh�h"h��opT��� ˀY����7��E��D�m�I�2�Y$E� i�.���v���v�����S����L]�����c�J-~�?_O��(K���M�k��E�#�j��b�R�=?�$▖L����7{՛ܫ�4�y���j��+�m��"�'��UWZu��>�ay-)F�r�LNނ��a/��o�b�u���������T�?m�W5�8���n�����M�o���v�H���8\�.H<r��Z.YP��Pe*������6�l�Y�8�A���8�(�;LJC٪B?:�Ƈt&\�`$ �pܞ:�V���!�c`��;�/k�r�,J$G2��l�L��9���9���,�o:w����4E2�P��\�e o��"�V�%u -� )]��:vG\A0B]����^��\w���-��x�'r>�D hf�f�B?��43�)���,��� m]�i\�Z����F� -RՔ�_������|��^l�\{���#�*T�~���׆�䆺�aqr��$1A�s�o|N%�ƛ����� -�71((e��lk �q<n�zl/��������_m�|\$¶��!�sV�} �^3�?�M(F�ʐ'k�qh���b�®Z�3��- i�#�|�PY�����q��O��?'���`Z� ��s$x?t�t~�D�f��#�]�nW+8��T�\\��%.!�bGw�{��.g@xdx�R�d/��g���T�a�e�M�&��}"g��,��endstream -endobj -3013 0 obj << -/Type /Page -/Contents 3014 0 R -/Resources 3012 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R -/Annots [ 3018 0 R ] +3012 0 obj << +/D [2982 0 R /XYZ 71.731 234.3047 null] >> endobj -3018 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [242.3291 671.6118 289.7803 682.5157] -/Subtype /Link -/A << /S /GoTo /D (parameters) >> +3013 0 obj << +/D [2982 0 R /XYZ 71.731 208.581 null] >> endobj 3015 0 obj << -/D [3013 0 R /XYZ 71.731 729.2652 null] ->> endobj -362 0 obj << -/D [3013 0 R /XYZ 389.1797 707.8408 null] +/D [2982 0 R /XYZ 86.9811 195.6296 null] >> endobj 3016 0 obj << -/D [3013 0 R /XYZ 71.731 700.4885 null] +/D [2982 0 R /XYZ 146.9968 182.6782 null] >> endobj 3017 0 obj << -/D [3013 0 R /XYZ 71.731 674.7648 null] ->> endobj -3019 0 obj << -/D [3013 0 R /XYZ 86.9811 661.8134 null] +/D [2982 0 R /XYZ 395.8718 182.6782 null] >> endobj -3020 0 obj << -/D [3013 0 R /XYZ 146.9968 648.862 null] ->> endobj -3021 0 obj << -/D [3013 0 R /XYZ 395.8718 648.862 null] ->> endobj -3022 0 obj << -/D [3013 0 R /XYZ 247.6993 635.9105 null] +3018 0 obj << +/D [2982 0 R /XYZ 247.6993 169.7267 null] >> endobj -3012 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> +2981 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F61 2640 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3025 0 obj << +3021 0 obj << /Length 1853 /Filter /FlateDecode >> @@ -12581,143 +12558,143 @@ xڭ]o ���Z��@���:��'���� ذ���2��`3&%��0�yK�S��]�yzzyya�rYe/O�d���lTk^,N�$1+�> !)T�L0�$��D.t^��j)Y��7P �R�~� �Oa�IA�)օL��0<.��h�#: +��#~.�vď\����0D�q��2��~����+�0Ÿ��x�}aO �ǣB�D�KJ%o�J�6��'�Tz@t�ΓL�h�O�i"C::~]���wogϔZ��ҐC��Pw�9e�@�#6̩�aO�������rou��B�����]�i�`~����8��B9�,��ǀ�9됝Ĵ�k����H�u�o�',����O�,��ɐ~X��O$0p�J�_��%�N���o�� 9�M�������#�V��j<h53o5~=dLF�.�?���|�m������ i�>mt�rP�"������uh��v%��]IjW�SG��Ǔ�O� �� �J�Y��n�i������N��դ�+��e�* -�����Q�R,�I�ʘ��lXp����������(!��˛���y3ry=C)�覄���������k���^i)��:�=b�("|��J�;H:g��&@ V�G��^�~o,|O�g�8��ّi�MS�mA=zč�m��ace�g��<�p�Y.���7������|��l�g輠7P���W����*��^G'��CA�P��g����}KG�p�kg�5�ζs�Ď��$�j�e�U��oMKB�������0�Jr��gS����Dș���xD3p��+9}e ����@2{gj�'��=�`�X�`��W��|v�,����K,�3�!0�O���SQ�����>n�<�q�_��Nendstream +�����Q�R,�I�ʘ��lXp����������(!��˛���y3ry=C)�覄���������k���^i)��:�=b�("|��J�;H:g��&@ V�G��^�~o,|O�g�8��ّi�MS�mA=zč�m��ace�g��<�p�Y.���7������|��l�g輠7P���W����*��^G'��CA�P��g����}KG�p�kg�5�ζs�Ď��$�j�e�U��oMKB�������0�Jr��gS����Dș���xD3p��+9}e ����@2{gj�'��=�`�X�`��W��|v�,����K,�3�!0�O���SQ�����>n�<�q�_���Mendstream endobj -3024 0 obj << +3020 0 obj << /Type /Page -/Contents 3025 0 R -/Resources 3023 0 R +/Contents 3021 0 R +/Resources 3019 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 2913 0 R +/Parent 2922 0 R >> endobj -3026 0 obj << -/D [3024 0 R /XYZ 71.731 729.2652 null] +3022 0 obj << +/D [3020 0 R /XYZ 71.731 729.2652 null] >> endobj 1531 0 obj << -/D [3024 0 R /XYZ 71.731 718.3063 null] +/D [3020 0 R /XYZ 71.731 718.3063 null] >> endobj 366 0 obj << -/D [3024 0 R /XYZ 402.3254 703.236 null] +/D [3020 0 R /XYZ 402.3254 703.236 null] >> endobj 1532 0 obj << -/D [3024 0 R /XYZ 71.731 692.1839 null] +/D [3020 0 R /XYZ 71.731 692.1839 null] >> endobj 370 0 obj << -/D [3024 0 R /XYZ 288.867 651.1593 null] +/D [3020 0 R /XYZ 288.867 651.1593 null] >> endobj -3027 0 obj << -/D [3024 0 R /XYZ 71.731 638.7213 null] +3023 0 obj << +/D [3020 0 R /XYZ 71.731 638.7213 null] >> endobj 1533 0 obj << -/D [3024 0 R /XYZ 71.731 588.589 null] +/D [3020 0 R /XYZ 71.731 588.589 null] >> endobj 374 0 obj << -/D [3024 0 R /XYZ 234.3716 551.3735 null] +/D [3020 0 R /XYZ 234.3716 551.3735 null] +>> endobj +3024 0 obj << +/D [3020 0 R /XYZ 71.731 541.0084 null] +>> endobj +3025 0 obj << +/D [3020 0 R /XYZ 71.731 516.1407 null] +>> endobj +3026 0 obj << +/D [3020 0 R /XYZ 71.731 516.1407 null] +>> endobj +3027 0 obj << +/D [3020 0 R /XYZ 71.731 501.1967 null] >> endobj 3028 0 obj << -/D [3024 0 R /XYZ 71.731 541.0084 null] +/D [3020 0 R /XYZ 71.731 490.3026 null] >> endobj 3029 0 obj << -/D [3024 0 R /XYZ 71.731 516.1407 null] +/D [3020 0 R /XYZ 91.6563 472.4693 null] >> endobj 3030 0 obj << -/D [3024 0 R /XYZ 71.731 516.1407 null] +/D [3020 0 R /XYZ 71.731 447.3984 null] >> endobj 3031 0 obj << -/D [3024 0 R /XYZ 71.731 501.1967 null] +/D [3020 0 R /XYZ 71.731 436.5043 null] >> endobj 3032 0 obj << -/D [3024 0 R /XYZ 71.731 490.3026 null] +/D [3020 0 R /XYZ 91.6563 418.6711 null] >> endobj 3033 0 obj << -/D [3024 0 R /XYZ 91.6563 472.4693 null] +/D [3020 0 R /XYZ 71.731 411.5329 null] >> endobj 3034 0 obj << -/D [3024 0 R /XYZ 71.731 447.3984 null] +/D [3020 0 R /XYZ 277.6373 400.7383 null] >> endobj 3035 0 obj << -/D [3024 0 R /XYZ 71.731 436.5043 null] +/D [3020 0 R /XYZ 500.3641 400.7383 null] >> endobj 3036 0 obj << -/D [3024 0 R /XYZ 91.6563 418.6711 null] +/D [3020 0 R /XYZ 156.4128 387.7869 null] >> endobj 3037 0 obj << -/D [3024 0 R /XYZ 71.731 411.5329 null] +/D [3020 0 R /XYZ 71.731 376.4435 null] >> endobj 3038 0 obj << -/D [3024 0 R /XYZ 277.6373 400.7383 null] +/D [3020 0 R /XYZ 71.731 363.6923 null] >> endobj 3039 0 obj << -/D [3024 0 R /XYZ 500.3641 400.7383 null] +/D [3020 0 R /XYZ 91.6563 346.9401 null] >> endobj 3040 0 obj << -/D [3024 0 R /XYZ 156.4128 387.7869 null] +/D [3020 0 R /XYZ 71.731 328.9078 null] >> endobj 3041 0 obj << -/D [3024 0 R /XYZ 71.731 376.4435 null] +/D [3020 0 R /XYZ 91.6563 303.1045 null] >> endobj 3042 0 obj << -/D [3024 0 R /XYZ 71.731 363.6923 null] +/D [3020 0 R /XYZ 452.6579 303.1045 null] >> endobj 3043 0 obj << -/D [3024 0 R /XYZ 91.6563 346.9401 null] +/D [3020 0 R /XYZ 91.6563 290.153 null] >> endobj 3044 0 obj << -/D [3024 0 R /XYZ 71.731 328.9078 null] +/D [3020 0 R /XYZ 71.731 278.8096 null] >> endobj 3045 0 obj << -/D [3024 0 R /XYZ 91.6563 303.1045 null] +/D [3020 0 R /XYZ 71.731 267.1394 null] >> endobj 3046 0 obj << -/D [3024 0 R /XYZ 452.6579 303.1045 null] +/D [3020 0 R /XYZ 91.6563 249.3062 null] >> endobj 3047 0 obj << -/D [3024 0 R /XYZ 91.6563 290.153 null] +/D [3020 0 R /XYZ 71.731 231.2739 null] >> endobj 3048 0 obj << -/D [3024 0 R /XYZ 71.731 278.8096 null] +/D [3020 0 R /XYZ 273.2199 218.422 null] >> endobj 3049 0 obj << -/D [3024 0 R /XYZ 71.731 267.1394 null] +/D [3020 0 R /XYZ 500.9123 218.422 null] >> endobj 3050 0 obj << -/D [3024 0 R /XYZ 91.6563 249.3062 null] +/D [3020 0 R /XYZ 156.4128 205.4706 null] >> endobj 3051 0 obj << -/D [3024 0 R /XYZ 71.731 231.2739 null] +/D [3020 0 R /XYZ 71.731 194.1272 null] >> endobj 3052 0 obj << -/D [3024 0 R /XYZ 273.2199 218.422 null] +/D [3020 0 R /XYZ 71.731 181.3759 null] >> endobj 3053 0 obj << -/D [3024 0 R /XYZ 500.9123 218.422 null] +/D [3020 0 R /XYZ 91.6563 164.6238 null] >> endobj 3054 0 obj << -/D [3024 0 R /XYZ 156.4128 205.4706 null] +/D [3020 0 R /XYZ 71.731 141.6102 null] >> endobj 3055 0 obj << -/D [3024 0 R /XYZ 71.731 194.1272 null] +/D [3020 0 R /XYZ 71.731 128.6587 null] >> endobj 3056 0 obj << -/D [3024 0 R /XYZ 71.731 181.3759 null] ->> endobj -3057 0 obj << -/D [3024 0 R /XYZ 91.6563 164.6238 null] +/D [3020 0 R /XYZ 91.6563 110.8255 null] >> endobj -3058 0 obj << -/D [3024 0 R /XYZ 71.731 141.6102 null] +3019 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 3059 0 obj << -/D [3024 0 R /XYZ 71.731 128.6587 null] ->> endobj -3060 0 obj << -/D [3024 0 R /XYZ 91.6563 110.8255 null] ->> endobj -3023 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3063 0 obj << /Length 2690 /Filter /FlateDecode >> @@ -12735,137 +12712,137 @@ qL �;��y��(��%�|���i�F6�����fe�~M�M{"����7�����F#L��%�>�<A��R/i�`mZ{�`��6�G�qC�MI'�0�������F���6��D�����Ĭ�`��eEӏA���7���$� ����z�T3Ue�|%#�*s�������i��f)�QC�af�+]���tԱfw�����>����t`���=�{� FB���]��Z��+sQ�PGU��#ƣ�f%��/)�Q���d�X_�> �M���a��vF��uXc����@����~Y�:�a0,�� #�obic>̡F��D��.G��@�vI��4�|h)`AIcj8f���s�����$�6\�]֍�����kT���#�Ʊmp��4P)�������V��Z��i8:U�O *�}9z�3��#r�l��~�����'�g}��V��0Cj!|��p�����٘����k�����^�}��ď�˷B,�_cF����O�������Fr�#�Y�;����� ��go��CBq�:ۅ���;wH\F��8��9��-�F{Ԕ���/��l��3���Q��+�G�f��g?np,�?=k��1��� ܥ��|h�����0�ψ0Z�� _�������6XV��U�L�� ߔm�3�k;�Aw��;��B^.��Pb)����s����������ڃ5�� �_̞l͊[�[v��q,��V�\6u\��q|MkwŬ֩��<�SߨS_���M ݒ �!`Y�p����� -32��������#"���@ןx�!Z��Gzp���m���ܞ ����D*[�����.X:��K(s���8>��,��I�eEs��(^?�_9���n�QGK�zdJE��ً��p��,���)����/��P���endstream +32��������#"���@ןx�!Z��Gzp���m���ܞ ����D*[�����.X:��K(s���8>��,��I�eEs��(^?�_9���n�QGK�zdJE��ً��p��,���)����/��P���endstream endobj -3062 0 obj << +3058 0 obj << /Type /Page -/Contents 3063 0 R -/Resources 3061 0 R +/Contents 3059 0 R +/Resources 3057 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R +/Parent 2922 0 R +>> endobj +3060 0 obj << +/D [3058 0 R /XYZ 71.731 729.2652 null] +>> endobj +3061 0 obj << +/D [3058 0 R /XYZ 146.0002 708.3437 null] +>> endobj +3062 0 obj << +/D [3058 0 R /XYZ 318.2313 708.3437 null] +>> endobj +3063 0 obj << +/D [3058 0 R /XYZ 433.516 708.3437 null] >> endobj 3064 0 obj << -/D [3062 0 R /XYZ 71.731 729.2652 null] +/D [3058 0 R /XYZ 71.731 683.2728 null] >> endobj 3065 0 obj << -/D [3062 0 R /XYZ 146.0002 708.3437 null] +/D [3058 0 R /XYZ 71.731 670.3214 null] >> endobj 3066 0 obj << -/D [3062 0 R /XYZ 318.2313 708.3437 null] +/D [3058 0 R /XYZ 91.6563 654.5454 null] >> endobj 3067 0 obj << -/D [3062 0 R /XYZ 433.516 708.3437 null] +/D [3058 0 R /XYZ 91.6563 641.594 null] >> endobj 3068 0 obj << -/D [3062 0 R /XYZ 71.731 683.2728 null] +/D [3058 0 R /XYZ 158.7209 641.594 null] >> endobj 3069 0 obj << -/D [3062 0 R /XYZ 71.731 670.3214 null] +/D [3058 0 R /XYZ 329.0454 641.594 null] >> endobj 3070 0 obj << -/D [3062 0 R /XYZ 91.6563 654.5454 null] +/D [3058 0 R /XYZ 442.8963 641.594 null] >> endobj 3071 0 obj << -/D [3062 0 R /XYZ 91.6563 641.594 null] +/D [3058 0 R /XYZ 71.731 616.5231 null] >> endobj 3072 0 obj << -/D [3062 0 R /XYZ 158.7209 641.594 null] +/D [3058 0 R /XYZ 71.731 605.629 null] >> endobj 3073 0 obj << -/D [3062 0 R /XYZ 329.0454 641.594 null] +/D [3058 0 R /XYZ 91.6563 587.7958 null] >> endobj 3074 0 obj << -/D [3062 0 R /XYZ 442.8963 641.594 null] +/D [3058 0 R /XYZ 397.1684 561.8929 null] >> endobj 3075 0 obj << -/D [3062 0 R /XYZ 71.731 616.5231 null] +/D [3058 0 R /XYZ 71.731 559.7361 null] >> endobj 3076 0 obj << -/D [3062 0 R /XYZ 71.731 605.629 null] +/D [3058 0 R /XYZ 71.731 544.7921 null] >> endobj 3077 0 obj << -/D [3062 0 R /XYZ 91.6563 587.7958 null] +/D [3058 0 R /XYZ 374.7853 535.2926 null] >> endobj 3078 0 obj << -/D [3062 0 R /XYZ 397.1684 561.8929 null] +/D [3058 0 R /XYZ 71.731 484.4832 null] >> endobj 3079 0 obj << -/D [3062 0 R /XYZ 71.731 559.7361 null] +/D [3058 0 R /XYZ 71.731 471.4322 null] >> endobj 3080 0 obj << -/D [3062 0 R /XYZ 71.731 544.7921 null] +/D [3058 0 R /XYZ 91.6563 453.599 null] >> endobj 3081 0 obj << -/D [3062 0 R /XYZ 374.7853 535.2926 null] +/D [3058 0 R /XYZ 71.731 427.5966 null] >> endobj 3082 0 obj << -/D [3062 0 R /XYZ 71.731 484.4832 null] +/D [3058 0 R /XYZ 71.731 412.6526 null] >> endobj 3083 0 obj << -/D [3062 0 R /XYZ 71.731 471.4322 null] +/D [3058 0 R /XYZ 336.3446 401.0959 null] >> endobj 3084 0 obj << -/D [3062 0 R /XYZ 91.6563 453.599 null] +/D [3058 0 R /XYZ 126.7256 377.7833 null] >> endobj 3085 0 obj << -/D [3062 0 R /XYZ 71.731 427.5966 null] +/D [3058 0 R /XYZ 71.731 315.3176 null] >> endobj 3086 0 obj << -/D [3062 0 R /XYZ 71.731 412.6526 null] +/D [3058 0 R /XYZ 71.731 302.2666 null] >> endobj 3087 0 obj << -/D [3062 0 R /XYZ 336.3446 401.0959 null] +/D [3058 0 R /XYZ 91.6563 284.4334 null] >> endobj 3088 0 obj << -/D [3062 0 R /XYZ 126.7256 377.7833 null] +/D [3058 0 R /XYZ 332.6904 271.4819 null] >> endobj 3089 0 obj << -/D [3062 0 R /XYZ 71.731 315.3176 null] +/D [3058 0 R /XYZ 379.415 258.5305 null] >> endobj 3090 0 obj << -/D [3062 0 R /XYZ 71.731 302.2666 null] +/D [3058 0 R /XYZ 462.7813 258.5305 null] >> endobj 3091 0 obj << -/D [3062 0 R /XYZ 91.6563 284.4334 null] +/D [3058 0 R /XYZ 71.731 246.411 null] >> endobj 3092 0 obj << -/D [3062 0 R /XYZ 332.6904 271.4819 null] +/D [3058 0 R /XYZ 71.731 233.4596 null] >> endobj 3093 0 obj << -/D [3062 0 R /XYZ 379.415 258.5305 null] +/D [3058 0 R /XYZ 91.6563 217.6837 null] >> endobj 3094 0 obj << -/D [3062 0 R /XYZ 462.7813 258.5305 null] +/D [3058 0 R /XYZ 318.1286 204.7323 null] >> endobj 3095 0 obj << -/D [3062 0 R /XYZ 71.731 246.411 null] +/D [3058 0 R /XYZ 249.373 191.7808 null] >> endobj 3096 0 obj << -/D [3062 0 R /XYZ 71.731 233.4596 null] +/D [3058 0 R /XYZ 71.731 179.6614 null] >> endobj 3097 0 obj << -/D [3062 0 R /XYZ 91.6563 217.6837 null] +/D [3058 0 R /XYZ 71.731 166.7099 null] >> endobj 3098 0 obj << -/D [3062 0 R /XYZ 318.1286 204.7323 null] ->> endobj -3099 0 obj << -/D [3062 0 R /XYZ 249.373 191.7808 null] ->> endobj -3100 0 obj << -/D [3062 0 R /XYZ 71.731 179.6614 null] ->> endobj -3101 0 obj << -/D [3062 0 R /XYZ 71.731 166.7099 null] ->> endobj -3102 0 obj << -/D [3062 0 R /XYZ 91.6563 150.934 null] +/D [3058 0 R /XYZ 91.6563 150.934 null] >> endobj -3061 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F23 1250 0 R /F44 2088 0 R >> +3057 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3106 0 obj << +3101 0 obj << /Length 2106 /Filter /FlateDecode >> @@ -12876,204 +12853,199 @@ xڭ]o ���v���K���GߠHN�<g�Twn����^�u�^�G��u6S���|kO��D=d���oIG[t����<4���o����r�60�sB����U>Ȝ�g�.r ��2B�Pl���~+8�ȩ���h�����95-�'�у�I�Wx�$��2'�܆,>�-��s��C�]-Rde\����~�"� )�j͊#U�u�(q��/����)�e�G�� ������HDXg�K�ud��������׃E��Đ�B!x�'`�����4��<1G�⊯uj°M!6�}!���Dݝ�,(��J�$s��8�H�=�ѿV�(*۽� ��B�� �u�y�U̓��������2�Lբ,�<����`�R���\�z��@��=-������&��$�*�r�^�LE�dG7��8?��v��e������!i���s�2?�R�]�8n�,i!�K3�P�Go2�*�����6�d�BK?� ��Y��2�o�5ǷC8P��?�D]+;F�|�}��.N����A�=���g�q����>TV}�o�Xj�[uQ�����e'�$k?��1�'M�ts(�aŅ?4X���i�T�夆�:�`H!�HQw27����A����<cj"��Yn��r��=�!�)�D���Ƕ���W��շ}h�Ӥ*Ԣ����7 )��B&�r�<�TC�;O��� -�Zq"�i���r#7�Y����3ԁ�B�YdG�R|}�"�n�d����:`����Z1iMg&������lM?���'�4�����j���(fF����s/9�wx���&��_�A~r��,A�_hL�a[�����0�`��B�� �\+����K*I_���6y=7��3���`�Q|�:�J���Sa�W�zs1������c�l�z>��;Ct�t�mx�#uR���s��ĹA���Qq���Ѕ���<�������qR�r)��Wt�m��4�Ў�t�W�w���4����|��n��B�c�*��pKYmnuV��):��������������x���� �X�o+�k�o��@�R~�ʀ!�3r�����G�]�/v���5�[���m�b��p��mdԳ��P�x9j�ѹ���B�n��#�߇���5��vb�>:�����%���i'����I�7�^�TYWK�?Q���8X:d(��m ���/n1ꖔ���2��#�6���-TU�3���R]����8��'Nc��_c&�`���2O��Ry�]��&3�.៱�5h5RU+����ba_�tM�M����Ȑ]*�E&��U�����ߪ����ƅ(Sy\ץ�����!����<E�h� �[e�3�h&.&�Jw���'"��T�$�GƗ Sk��z�qՎ�}��Z�g���h��n|�5���>ڞ5���It�$Wb7�Ш~�x�s��P������|.�"N�2prJ���� ���e�endstream +�Zq"�i���r#7�Y����3ԁ�B�YdG�R|}�"�n�d����:`����Z1iMg&������lM?���'�4�����j���(fF����s/9�wx���&��_�A~r��,A�_hL�a[�����0�`��B�� �\+����K*I_���6y=7��3���`�Q|�:�J���Sa�W�zs1������c�l�z>��;Ct�t�mx�#uR���s��ĹA���Qq���Ѕ���<�������qR�r)��Wt�m��4�Ў�t�W�w���4����|��n��B�c�*��pKYmnuV��):��������������x���� �X�o+�k�o��@�R~�ʀ!�3r�����G�]�/v���5�[���m�b��p��mdԳ��P�x9j�ѹ���B�n��#�߇���5��vb�>:�����%���i'����I�7�^�TYWK�?Q���8X:d(��m ���/n1ꖔ���2��#�6���-TU�3���R]����8��'Nc��_c&�`���2O��Ry�]��&3�.៱�5h5RU+����ba_�tM�M����Ȑ]*�E&��U�����ߪ����ƅ(Sy\ץ�����!����<E�h� �[e�3�h&.&�Jw���'"��T�$�GƗ Sk��z�qՎ�}��Z�g���h��n|�5���>ڞ5���It�$Wb7�Ш~�x�s��P������|.�"N�2prJ���� ���e�endstream endobj -3105 0 obj << +3100 0 obj << /Type /Page -/Contents 3106 0 R -/Resources 3104 0 R +/Contents 3101 0 R +/Resources 3099 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R +/Parent 3122 0 R >> endobj -3107 0 obj << -/D [3105 0 R /XYZ 71.731 729.2652 null] +3102 0 obj << +/D [3100 0 R /XYZ 71.731 729.2652 null] >> endobj 1534 0 obj << -/D [3105 0 R /XYZ 71.731 718.3063 null] +/D [3100 0 R /XYZ 71.731 718.3063 null] >> endobj 378 0 obj << -/D [3105 0 R /XYZ 268.9021 707.8408 null] +/D [3100 0 R /XYZ 268.9021 707.8408 null] >> endobj -3108 0 obj << -/D [3105 0 R /XYZ 71.731 700.4885 null] +3103 0 obj << +/D [3100 0 R /XYZ 71.731 700.4885 null] >> endobj 1535 0 obj << -/D [3105 0 R /XYZ 71.731 667.6267 null] +/D [3100 0 R /XYZ 71.731 667.6267 null] >> endobj 382 0 obj << -/D [3105 0 R /XYZ 247.484 630.4112 null] +/D [3100 0 R /XYZ 247.484 630.4112 null] >> endobj -3109 0 obj << -/D [3105 0 R /XYZ 71.731 623.0588 null] +3104 0 obj << +/D [3100 0 R /XYZ 71.731 623.0588 null] >> endobj -3110 0 obj << -/D [3105 0 R /XYZ 71.731 569.2755 null] +3105 0 obj << +/D [3100 0 R /XYZ 71.731 569.2755 null] >> endobj -3111 0 obj << -/D [3105 0 R /XYZ 71.731 554.3316 null] +3106 0 obj << +/D [3100 0 R /XYZ 71.731 554.3316 null] >> endobj -3112 0 obj << -/D [3105 0 R /XYZ 71.731 541.3801 null] +3107 0 obj << +/D [3100 0 R /XYZ 71.731 541.3801 null] >> endobj -3113 0 obj << -/D [3105 0 R /XYZ 91.6563 525.6042 null] +3108 0 obj << +/D [3100 0 R /XYZ 91.6563 525.6042 null] >> endobj -3114 0 obj << -/D [3105 0 R /XYZ 385.5711 499.7013 null] +3109 0 obj << +/D [3100 0 R /XYZ 385.5711 499.7013 null] >> endobj -3115 0 obj << -/D [3105 0 R /XYZ 71.731 476.6877 null] +3110 0 obj << +/D [3100 0 R /XYZ 71.731 476.6877 null] >> endobj -3116 0 obj << -/D [3105 0 R /XYZ 71.731 463.7363 null] +3111 0 obj << +/D [3100 0 R /XYZ 71.731 463.7363 null] >> endobj -3117 0 obj << -/D [3105 0 R /XYZ 91.6563 445.9031 null] +3112 0 obj << +/D [3100 0 R /XYZ 91.6563 445.9031 null] >> endobj -3118 0 obj << -/D [3105 0 R /XYZ 486.1475 445.9031 null] +3113 0 obj << +/D [3100 0 R /XYZ 486.1475 445.9031 null] >> endobj 1536 0 obj << -/D [3105 0 R /XYZ 71.731 412.8621 null] +/D [3100 0 R /XYZ 71.731 412.8621 null] >> endobj 386 0 obj << -/D [3105 0 R /XYZ 198.3489 375.6465 null] +/D [3100 0 R /XYZ 198.3489 375.6465 null] >> endobj -3119 0 obj << -/D [3105 0 R /XYZ 71.731 368.2942 null] +3114 0 obj << +/D [3100 0 R /XYZ 71.731 368.2942 null] >> endobj 1537 0 obj << -/D [3105 0 R /XYZ 71.731 335.4324 null] +/D [3100 0 R /XYZ 71.731 335.4324 null] >> endobj 390 0 obj << -/D [3105 0 R /XYZ 253.8823 298.2169 null] +/D [3100 0 R /XYZ 253.8823 298.2169 null] >> endobj -3120 0 obj << -/D [3105 0 R /XYZ 71.731 287.8519 null] +3115 0 obj << +/D [3100 0 R /XYZ 71.731 287.8519 null] >> endobj -3121 0 obj << -/D [3105 0 R /XYZ 71.731 250.0327 null] +3116 0 obj << +/D [3100 0 R /XYZ 71.731 250.0327 null] >> endobj -3122 0 obj << -/D [3105 0 R /XYZ 71.731 235.0887 null] +3117 0 obj << +/D [3100 0 R /XYZ 71.731 235.0887 null] >> endobj -3123 0 obj << -/D [3105 0 R /XYZ 71.731 224.1946 null] +3118 0 obj << +/D [3100 0 R /XYZ 71.731 224.1946 null] >> endobj -3124 0 obj << -/D [3105 0 R /XYZ 91.6563 206.3614 null] +3119 0 obj << +/D [3100 0 R /XYZ 91.6563 206.3614 null] >> endobj -3125 0 obj << -/D [3105 0 R /XYZ 71.731 160.3689 null] +3120 0 obj << +/D [3100 0 R /XYZ 71.731 160.3689 null] >> endobj -3126 0 obj << -/D [3105 0 R /XYZ 71.731 134.466 null] +3121 0 obj << +/D [3100 0 R /XYZ 71.731 134.466 null] >> endobj -3104 0 obj << +3099 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3129 0 obj << -/Length 2039 +3125 0 obj << +/Length 2040 /Filter /FlateDecode >> stream -xڭXK�#7�ϯ���ڕz?r�I҃^`���"��A���B�JNI��ί_���=H����(�"����h�/�QP$��� γxS���� �>��Dd/2��Ї�w�<&ɦ -�<�7��M�A�զH�̢r���w��Y]�w�8�I�߿7};���pbև�鷶������x���y�AU�_�p����8ٔ`c���QY����4)��������<��B:$Ob���XZ����7ٞ��~E�Vu�+Ow G�c�A����k;j(�4W}���Vw��Ԧ�� {����5X�}Ⰱ�a�����;+�X��k{�B�Z(���콫{P�� y�45�"05��AU��72�)�� !�F9uP��գ�dRg�k>������7����gzl�mYȇ>��{��0�?���{�i��\��v���g��ӌ�8����~�rg��ij�TY��B32�pe�˽���Y���+��oB�� G�ѸXd�>� �B@~�EVd�`'�\��8:S��p��I2I�<L�$)�{)i@.�n�s�H�8� -�i���qi{%������3&X�[sq��~�ڀT���&!��L{�yM��"Up8� -��eu�O���{f�G��L`$P��d�a܆y��7z�[m���н� -=��ʢ�<���8fS��.����W�ף��n0�A���U�� u���nb�C'LB1�\X-���1�-m� ��"�f�{��>n8Z�m�=��m� �(:z��}��R��yL���Hq�l�)03)�I�� -8{>\OL<��k����0���CO�Ԩz�&L��`3�Z8gf�(t4=���������K�>z��Q ̧~H#,�C�Z�����0_u�0U�a�n4�kJ}�z�֣S�:�,,H�o���D�Gt�,>!��/�~`N}6��;�PaULp��x��G%tZǢ}�i�̠߯�������)w����rn�>5b�@�����EPV��UA윪��3M#�x ��UΥƷ+�$5Wθ��Fb2~5W&(�K��06.�-�4pu��N44 ��,'�����LA��9���0�k���b��ɝD�d�R2f�&����4h-�_��j��a����S��x #�6(�L���mp`�{��̢�İ[�F�:o`!)� �����R��X���X(���a>�� . -��=�<#��i{�Q�9�Z��/0("��el������V[k�V9*�h��xƃ�������o��JA��6R:բ�/g���'���yѸ�^x}��4�'�6��l0HKqӒg�OJÝ�����"�2r|�F˾~�n��aZ��Y�3>nw<�L$�7\b'[��5�y$~us��5nT��}����d�-n{�? ����?��p��I3�uړ�g���M� ��dx���M��,��"gUQ��q8�[$�6���f�"�9:�4Ǿ�n?c��〽'��(���q���9˶�̋��t@�4�2<Z�oɈ2����_�R���g@�̃�E�ko 9h�t3� �75~�p��Q�o�8����mPBݞ]����(�`��U��3�� -p!�>�y����G0�X� -��Q�"���u�����Z���?z��[[��S�1����� -�����q�B��;yIU�Q.����-^�t�_}�0�`���?��d�B9)$�a7^����A�|�Y�R������'��Q]���֎���v uV�2��s#��AY�>��rn=O�g���#~ޕ�>��L7��Q��. ��r\k�6X�f�vP�++���l��ǾZ��+�SՏ�t��?L�~��td�6s�� ��&[q�l]�W<����!-`u/;�5PF ;ZY��Q�zz�3��_p)x�gE%P���= � �dt[�].M� )�j]m��c{���-���;���8HF̞g�s�mN'�wK�crz�3�I��k�5<�,����;>�g��{n�Zj�[��2(������/������変25��;���aendstream +xڭXK��6�ϯ���ڊ����N����Y`w�E�B$������ԋzx܃|P�X,V��"��b�%�2��>i��"]�w��S�%"���\���o�lUG�.ݭ���<��2��U��QU$��������x=l�i����o�ִ��91����[�uj������yܼ�ʨ�`��Z8J}ic��*�q���I�DE������<+��������<��L:-�l���J=y����o�>i~%�Zu�+O7�g�A�[� ��k;h(�4W}ڤ�Zw��l�k#{��� ��>q�@j�I����xҟ���#�xD��^��� +l�W����+vy�[45K05YcQ�+�Lt +�lH�Q^핣�0���d���Y�O-�=�-x�M4@b����_f�q����/����p��_Z�W/k����`�q�x�>� +¯<S�����x�*�El�g���<(j��Ş=�2��&���@q�M�Y�m��-�ﲨ��5n,��kk �f���/W<��$���Y�eeq/��(������w*y��I 6�4r6�m�%ԣ��|���|m/����� He�`"ʮ���t�����L�R�S��H9V�����gV{�/���FU�N63��6�k4�����j��L�:)�J��Hr�T�NӔM���8�_uD_���u��j�ͮ�,����#K�;a�a��jY5�Qln�LX�.0S���c�q��"n���o��M D��0� �U�C�ޥ����j���R�E���������c����I0)��$���`L ��~�Tk�������830D���鸅��p�|X�=_��1p'@J`>�Ca! �X`�mh�B��a��e�`���`qל�6���A^��03� �A$������Ϫ�t��9���N�ن��b���{%?���z��N;o�~�0�6��;�����˹�zoՀm�&�� ��QU0�W����ߨ�y�@����r�5�]9G��r�U�7KȐ�2A9^a�E��i��)���{�v��i =e9����4����<n��2�=to+$w>Aؓ-�JɘY���ړ�Zt���=�J��:�����qPÞ�@�^�(3M{÷5��x�\ԙYaIa�$ONt��BV�Q���_���Ʒ�0JͱP�GM�ݔz8'�(!������!G��8h�D����������w@r�NZ�=��S�G;�^�3Te8��%��a��P +�t��ҩ��t9�'>1�ƭ�˫X �1L����N�� ŗ�.�MK��>q( w��⋼���i-��M@��^�n�i5�7� q��)g"��;���^/��#���#]��j}P�����������|�3�@����Kh�'��]hO�?�� ���P�6���YIE2����p �H�m����͜Ytgrt���^���uO{9N�Q�ç�Bӽs�m噗hA�A�4�2<Z�oɄ2�1�~�/I)z���jp2 A����µ���ux���E�?Y�h��"4~��� �~�6(��nϮ$�tV�j0C�N��C�������<���M�H�#l�GS�D��|ɲY�dxs=���?��_Z��S�1�����������a�C��;yIU풝��{1{-�m[| ��Ѻ��d�.,���夐���E��F�^��fY4*)߇GFX��u9�?Z;���ځ�Y ���+���9|2H�����O�!-G�*�����1���nG-�4�M�d��0n0�QO:��Q�++�/l��ǽ:��+�c�O�t��?L�~���td�6S�� ��F[q�l��W<����!-`u/;�5P ;:Y��Q�zz�3��_p9x�+�Z�5���{�#�����w�<�EY���j��0�� ��r;z���In�F2b���ms<i�[��ӣ��Lr}�[�C�2m���1�E<�_�s��Q��z�TQ�����;����"��8��Qej���w6���cendstream endobj -3128 0 obj << +3124 0 obj << /Type /Page -/Contents 3129 0 R -/Resources 3127 0 R +/Contents 3125 0 R +/Resources 3123 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R +/Parent 3122 0 R +>> endobj +3126 0 obj << +/D [3124 0 R /XYZ 71.731 729.2652 null] +>> endobj +3127 0 obj << +/D [3124 0 R /XYZ 71.731 718.3063 null] +>> endobj +3128 0 obj << +/D [3124 0 R /XYZ 71.731 634.2217 null] +>> endobj +3129 0 obj << +/D [3124 0 R /XYZ 71.731 619.1134 null] >> endobj 3130 0 obj << -/D [3128 0 R /XYZ 71.731 729.2652 null] +/D [3124 0 R /XYZ 91.6563 603.3375 null] +>> endobj +1538 0 obj << +/D [3124 0 R /XYZ 71.731 570.2965 null] +>> endobj +394 0 obj << +/D [3124 0 R /XYZ 184.9496 533.0809 null] >> endobj 3131 0 obj << -/D [3128 0 R /XYZ 71.731 718.3063 null] +/D [3124 0 R /XYZ 71.731 522.7159 null] >> endobj 3132 0 obj << -/D [3128 0 R /XYZ 71.731 634.2217 null] +/D [3124 0 R /XYZ 71.731 486.954 null] >> endobj 3133 0 obj << -/D [3128 0 R /XYZ 71.731 619.1134 null] +/D [3124 0 R /XYZ 71.731 472.01 null] >> endobj 3134 0 obj << -/D [3128 0 R /XYZ 91.6563 603.3375 null] ->> endobj -1538 0 obj << -/D [3128 0 R /XYZ 71.731 570.2965 null] ->> endobj -394 0 obj << -/D [3128 0 R /XYZ 184.9496 533.0809 null] +/D [3124 0 R /XYZ 71.731 457.0013 null] >> endobj 3135 0 obj << -/D [3128 0 R /XYZ 71.731 522.7159 null] +/D [3124 0 R /XYZ 91.6563 441.2254 null] >> endobj 3136 0 obj << -/D [3128 0 R /XYZ 71.731 486.954 null] +/D [3124 0 R /XYZ 71.731 416.1545 null] >> endobj 3137 0 obj << -/D [3128 0 R /XYZ 71.731 472.01 null] +/D [3124 0 R /XYZ 71.731 405.2603 null] >> endobj 3138 0 obj << -/D [3128 0 R /XYZ 71.731 457.0013 null] ->> endobj -3139 0 obj << -/D [3128 0 R /XYZ 91.6563 441.2254 null] ->> endobj -3140 0 obj << -/D [3128 0 R /XYZ 71.731 416.1545 null] ->> endobj -3141 0 obj << -/D [3128 0 R /XYZ 71.731 405.2603 null] ->> endobj -3142 0 obj << -/D [3128 0 R /XYZ 91.6563 387.4271 null] +/D [3124 0 R /XYZ 91.6563 387.4271 null] >> endobj 1539 0 obj << -/D [3128 0 R /XYZ 71.731 354.3861 null] +/D [3124 0 R /XYZ 71.731 354.3861 null] >> endobj 398 0 obj << -/D [3128 0 R /XYZ 193.414 317.1706 null] +/D [3124 0 R /XYZ 193.414 317.1706 null] >> endobj -3143 0 obj << -/D [3128 0 R /XYZ 71.731 306.8056 null] +3139 0 obj << +/D [3124 0 R /XYZ 71.731 306.8056 null] >> endobj -3144 0 obj << -/D [3128 0 R /XYZ 101.0411 258.1918 null] +3140 0 obj << +/D [3124 0 R /XYZ 101.0411 258.1918 null] >> endobj 1540 0 obj << -/D [3128 0 R /XYZ 71.731 251.0536 null] +/D [3124 0 R /XYZ 71.731 251.0536 null] >> endobj 402 0 obj << -/D [3128 0 R /XYZ 250.9846 213.8381 null] +/D [3124 0 R /XYZ 250.9846 213.8381 null] >> endobj -3145 0 obj << -/D [3128 0 R /XYZ 71.731 203.6954 null] +3141 0 obj << +/D [3124 0 R /XYZ 71.731 203.6954 null] >> endobj -3146 0 obj << -/D [3128 0 R /XYZ 484.3889 180.7621 null] +3142 0 obj << +/D [3124 0 R /XYZ 484.3889 180.7621 null] >> endobj 1541 0 obj << -/D [3128 0 R /XYZ 71.731 160.6725 null] +/D [3124 0 R /XYZ 71.731 160.6725 null] >> endobj -3127 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R /F35 1709 0 R >> +3123 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3149 0 obj << -/Length 3020 +3145 0 obj << +/Length 3019 /Filter /FlateDecode >> stream @@ -13087,261 +13059,261 @@ q ��\�V�?�7nJ� �*J��4�蘅R��Eh��I/�e&Ztn�w�4Vqj�G,��ތL6������_���J�����;��`Ac���j�8��! U�3h��l��orENZ ��UnB�3BI�m /��'������1����?�LZ1f@�Z�,��88�=�5^�g�/w��Ҁ�9��$L�{ Sh����簆Х�돯�[\8���!� �=3J�7,E�OT��K\�eO.|����� �_�v7��XX��ܑv���O�<���'a�0k��I�,�,L�O�̓���[CH_O�}�'�Px���}������J~_D����~�;�,���,��d��l<K�G�~+W�k]���)T����@k�!���X0� �D�CJ���<ϫ?�*����=2��X�)�kNć��pq�Bq���j{���Sq�:��� ,�;����/�1��킞��F��k�-�^n�����C�tg����*m�J���� -Ѓ������:���p�x�Vv�[����m`o�U0T���R�@��.fG�Eh��$�~7CPQ6�13��觡ۀ��,~���@'��ȯ���`��v�)�Z���}b|w�~mxwU9���h�� �^�� ��?gD&�K�H������b������endstream +Ѓ������:���p�x�Vv�[����m`o�U0T���R�@��.fG�Eh��$�~7CPQ6�13��觡ۀ��,~���@'��ȯ���`��v�)�Z���}b|w�~mxwU9���h�� �^�� ��?gD&�U�����)~�-f��� endstream endobj -3148 0 obj << +3144 0 obj << /Type /Page -/Contents 3149 0 R -/Resources 3147 0 R +/Contents 3145 0 R +/Resources 3143 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R -/Annots [ 3152 0 R 3160 0 R 3164 0 R 3170 0 R ] +/Parent 3122 0 R +/Annots [ 3148 0 R 3156 0 R 3160 0 R 3166 0 R ] >> endobj -3152 0 obj << +3148 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [466.7066 632.7575 518.512 643.6614] /Subtype /Link /A << /S /GoTo /D (groups) >> >> endobj -3160 0 obj << +3156 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [281.6014 507.2282 340.8787 518.1321] /Subtype /Link /A << /S /GoTo /D (edit-groups) >> >> endobj -3164 0 obj << +3160 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [205.9567 453.4299 269.8466 464.3339] /Subtype /Link /A << /S /GoTo /D (savedsearches) >> >> endobj -3170 0 obj << +3166 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [269.8985 144.561 309.6129 155.1432] /Subtype /Link /A << /S /GoTo /D (gloss-contrib) >> >> endobj -3150 0 obj << -/D [3148 0 R /XYZ 71.731 729.2652 null] +3146 0 obj << +/D [3144 0 R /XYZ 71.731 729.2652 null] >> endobj 406 0 obj << -/D [3148 0 R /XYZ 214.9614 707.8408 null] +/D [3144 0 R /XYZ 214.9614 707.8408 null] +>> endobj +3147 0 obj << +/D [3144 0 R /XYZ 71.731 697.6981 null] +>> endobj +3149 0 obj << +/D [3144 0 R /XYZ 71.731 633.7537 null] +>> endobj +3150 0 obj << +/D [3144 0 R /XYZ 71.731 618.8098 null] >> endobj 3151 0 obj << -/D [3148 0 R /XYZ 71.731 697.6981 null] +/D [3144 0 R /XYZ 71.731 605.8583 null] +>> endobj +3152 0 obj << +/D [3144 0 R /XYZ 91.6563 590.0824 null] >> endobj 3153 0 obj << -/D [3148 0 R /XYZ 71.731 633.7537 null] +/D [3144 0 R /XYZ 71.731 565.0115 null] >> endobj 3154 0 obj << -/D [3148 0 R /XYZ 71.731 618.8098 null] +/D [3144 0 R /XYZ 71.731 552.0601 null] >> endobj 3155 0 obj << -/D [3148 0 R /XYZ 71.731 605.8583 null] ->> endobj -3156 0 obj << -/D [3148 0 R /XYZ 91.6563 590.0824 null] +/D [3144 0 R /XYZ 91.6563 536.2841 null] >> endobj 3157 0 obj << -/D [3148 0 R /XYZ 71.731 565.0115 null] +/D [3144 0 R /XYZ 71.731 498.2618 null] >> endobj 3158 0 obj << -/D [3148 0 R /XYZ 71.731 552.0601 null] +/D [3144 0 R /XYZ 71.731 485.3104 null] >> endobj 3159 0 obj << -/D [3148 0 R /XYZ 91.6563 536.2841 null] +/D [3144 0 R /XYZ 91.6563 469.5345 null] +>> endobj +1542 0 obj << +/D [3144 0 R /XYZ 71.731 449.4449 null] +>> endobj +410 0 obj << +/D [3144 0 R /XYZ 262.0456 412.2293 null] >> endobj 3161 0 obj << -/D [3148 0 R /XYZ 71.731 498.2618 null] +/D [3144 0 R /XYZ 71.731 404.877 null] >> endobj 3162 0 obj << -/D [3148 0 R /XYZ 71.731 485.3104 null] +/D [3144 0 R /XYZ 71.731 372.0152 null] >> endobj 3163 0 obj << -/D [3148 0 R /XYZ 91.6563 469.5345 null] ->> endobj -1542 0 obj << -/D [3148 0 R /XYZ 71.731 449.4449 null] +/D [3144 0 R /XYZ 71.731 229.5495 null] >> endobj -410 0 obj << -/D [3148 0 R /XYZ 262.0456 412.2293 null] +3164 0 obj << +/D [3144 0 R /XYZ 118.5554 193.9981 null] >> endobj 3165 0 obj << -/D [3148 0 R /XYZ 71.731 404.877 null] ->> endobj -3166 0 obj << -/D [3148 0 R /XYZ 71.731 372.0152 null] +/D [3144 0 R /XYZ 118.5554 147.5522 null] >> endobj 3167 0 obj << -/D [3148 0 R /XYZ 71.731 229.5495 null] +/D [3144 0 R /XYZ 492.6563 147.5522 null] >> endobj 3168 0 obj << -/D [3148 0 R /XYZ 118.5554 193.9981 null] +/D [3144 0 R /XYZ 71.731 113.9757 null] >> endobj 3169 0 obj << -/D [3148 0 R /XYZ 118.5554 147.5522 null] ->> endobj -3171 0 obj << -/D [3148 0 R /XYZ 492.6563 147.5522 null] ->> endobj -3172 0 obj << -/D [3148 0 R /XYZ 71.731 113.9757 null] ->> endobj -3173 0 obj << -/D [3148 0 R /XYZ 71.731 105.0642 null] +/D [3144 0 R /XYZ 71.731 105.0642 null] >> endobj -3147 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R /F54 2402 0 R >> +3143 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R /F54 2403 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3177 0 obj << -/Length 1883 +3173 0 obj << +/Length 1881 /Filter /FlateDecode >> stream xڭX�o�8�"0��,��u;�0�k�a�Vc���c]�?R����CQ��(����?��ϟ$�����Q0)�g���~?�Yd�2������;!&���A<�]NB�s/�&��4���m��y��7�l�� �����r]5U���#��p�_U�����goo��H�,���J�$#�i���H��C'�o?�~�9ˇoE�wݾ�0�<7����f^�hn��ui���L�c���f�G���_/�s�{���¿��a�eN��[�������4�:$�J�rFK��wT!i�Z���U> <�|D+:ɺ� ��x��%�M��k ��m-�%�Y�i��q����Բ�h�=���p+�Y���_g�/�/T��C�&����*�R ����*;˴0��e]ψ���E�z����4lTOĂ��f -}��Pw,�߉��]�q�)P�H� H#j�1�D����~UuDA�md�����)����j��h맾��\�͐���Ȳ��H���$��!�5H#�i���e��� �@;��(�"�͛�Tk`!q2,'s�n�@�aEZ�>\Dh��D��$�æA$&���ٝ&`��T���ղ�#~��7Rh���NR쭕j����7���m�(��Rba�X�� F��v��F�=�--dxw�D��ue�CU@6l�$�N;�F��dɘ$l�������1�D)�:� uO��M0����c J3ת��!r�;4]q��8���7���.�[��&op�Ag.SJ՛�OK_� N��+��3�1}a�}���@���NK{k�@��f�GF槿�g,�xuG�u��p¤j�mZիB՝Y;���f��vw�k���8�B�y����Z0Q��ȃ:5�/�����W�YqM���X�D, �9�+S`�'nx�+V�b��hu_a#��tɜ��(3nSP�ƞ'(���Ɇ�X6���81^kG�`~IG��B�G$nn���=�X~�93�Y�hN<p+f�p^ r����.Mq��B�H��r*Х[�wbmo�68���:˜c��V�$���s�����D�4���5L�q�ΈӨv��DW\���&𱀞�.�Ql�@IN�����vO(&i���䵻�F&��9�:7�ҩ���~7 U`��`�]��/3Q-���p��j��������>��u����g��|�s��t�Rh��'�p�&a��V1�H�fN$#��Q5_gc�Ut�k5�b�Q:�j�y�Sh�сDY��1T�`�^�鄩�*VF_�]V�4F��SW�#*T�y�nhM��F���m��L��I���[��q�":���`�F��(���Ķ�,me��9C��j��Ι���_m��\��C#�V�?�m���Q��� ��@7�/����ǡ �p����1�z><(� �c���n��KD�p�Lּ�=����^F�H�d@$je_N0��ˍ�hC^�Ji何%���{��2/O-��%<H/��J ���X�P�;��&���P�{h�7CS�;X�4��6��v�C�����S��RaaR��l�/bL�����zy}|�4xF�5�F��ڢo�*80��3JH0��&q������H�YH}=T�no��a�?]_���j��x�Z���������l�ڀ�t�����R#(vF��J6v�\C�5?��G.-��$�<��Z�d��<�4��F����\?��(��c���k�,rE>b=LGc袴�.��*zj#�Hۙ:����8��"LwS����#�x$s� D�w�nk��?�V����ΨjèVw��\���{�պt�Aɱ�0uS?���y$s�3s�P��}d�������Ȇ�:}�`endstream +}��Pw,�߉��]�q�)P�H� H#j�1�D����~UuDA�md�����)����j��h맾��\�͐���Ȳ��H���$��!�5H#�i���e��� �@;��(�"�͛�Tk`!q2,'s�n�@�aEZ�>\Dh��D��$�æA$&���ٝ&`��T���ղ�#~��7Rh���NR쭕j����7���m�(��Rba�X�� F��v��F�=�--dxw�D��ue�CU@6l�$�N;�F��dɘ$l�������1�D)�:� uO��M0����c J3ת��!r�;4]q��8���7���.�[��&op�Ag.SJ՛�OK_� N��+��3�1}a�}���@���NK{k�@��f�GF槿�g,�xuG�u��p¤j�mZիB՝Y;���f��vw�k���8�B�y����Z0Q��ȃ:5�/�����W�YqM���X�D, �9�+S`�'nx�+V�b��hu_a#��tɜ��(3nSP�ƞ'(���Ɇ�X6���81^kG�`~IG��B�G$nn���=�X~�93�Y�hN<p+f�p^ r����.Mq��B�H��r*Х[�wbmo�68���:˜c��V�$���s�����D�4���5L�q�ΈӨv��DW\���&𱀞�.�Ql�@IN�����vO(&i���䵻�F&��9�:7�ҩ���~7 U`��`�]��/3Q-���p��j��������>��u����g��|�s��t�Rh��'�p�&a��V1�H�fN$#��Q5_gc�Ut�k5�b�Q:�j�y�Sh�сDY��1T�`�^�鄩�*VF_�]V�4F��SW�#*T�y�nhM��F���m��L��I���[��q�":���`�F��(���Ķ�,me��9C��j��Ι���_m��\��C#�V�?�m���Q��� ��@7�/����ǡ �p����1�z><(� �c���n��KD�p�Lּ�=����^F�H�d@$je_N0��ˍ�hC^�Ji何%���{��2/O-��%<H/��J ���X�P�;��&���P�{h�7CS�;X�4��6��v�C�����S��RaaR��l�/bL�����zy}|�4xF�5�F��ڢo�*80��3JH0��&q������H�YH}=T�no��a�?]_���j��x�Z���������l�ڀ�t�����R#(vF��J6v�\C�5?��G.-��$�<��Z�d��<�4��F����\?��(��c���k�,rE>b=LGc袴�.��*zj#�Hۙ:����8��"LwS����#�x$s� D�w�nk��?�V����ΨjèVw��\���{�պt�Aɱ�0uS?���y$s�3s��]�� -��ߍ�l�?91�Zendstream endobj -3176 0 obj << +3172 0 obj << /Type /Page -/Contents 3177 0 R -/Resources 3175 0 R +/Contents 3173 0 R +/Resources 3171 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R +/Parent 3122 0 R +>> endobj +3174 0 obj << +/D [3172 0 R /XYZ 71.731 729.2652 null] +>> endobj +3175 0 obj << +/D [3172 0 R /XYZ 71.731 718.3063 null] +>> endobj +3176 0 obj << +/D [3172 0 R /XYZ 71.731 706.1869 null] +>> endobj +3177 0 obj << +/D [3172 0 R /XYZ 91.6563 690.4109 null] >> endobj 3178 0 obj << -/D [3176 0 R /XYZ 71.731 729.2652 null] +/D [3172 0 R /XYZ 167.8682 690.4109 null] >> endobj 3179 0 obj << -/D [3176 0 R /XYZ 71.731 718.3063 null] +/D [3172 0 R /XYZ 376.6947 664.5081 null] >> endobj 3180 0 obj << -/D [3176 0 R /XYZ 71.731 706.1869 null] +/D [3172 0 R /XYZ 101.8978 651.5566 null] >> endobj 3181 0 obj << -/D [3176 0 R /XYZ 91.6563 690.4109 null] +/D [3172 0 R /XYZ 71.731 641.4945 null] >> endobj 3182 0 obj << -/D [3176 0 R /XYZ 167.8682 690.4109 null] +/D [3172 0 R /XYZ 71.731 628.543 null] >> endobj 3183 0 obj << -/D [3176 0 R /XYZ 376.6947 664.5081 null] +/D [3172 0 R /XYZ 91.6563 610.7098 null] >> endobj 3184 0 obj << -/D [3176 0 R /XYZ 101.8978 651.5566 null] +/D [3172 0 R /XYZ 71.731 590.6202 null] >> endobj 3185 0 obj << -/D [3176 0 R /XYZ 71.731 641.4945 null] +/D [3172 0 R /XYZ 146.6995 579.8256 null] >> endobj 3186 0 obj << -/D [3176 0 R /XYZ 71.731 628.543 null] +/D [3172 0 R /XYZ 243.8447 579.8256 null] >> endobj 3187 0 obj << -/D [3176 0 R /XYZ 91.6563 610.7098 null] +/D [3172 0 R /XYZ 71.731 572.6875 null] >> endobj 3188 0 obj << -/D [3176 0 R /XYZ 71.731 590.6202 null] +/D [3172 0 R /XYZ 71.731 546.7846 null] >> endobj 3189 0 obj << -/D [3176 0 R /XYZ 146.6995 579.8256 null] +/D [3172 0 R /XYZ 71.731 531.8407 null] >> endobj 3190 0 obj << -/D [3176 0 R /XYZ 243.8447 579.8256 null] +/D [3172 0 R /XYZ 71.731 494.4458 null] >> endobj 3191 0 obj << -/D [3176 0 R /XYZ 71.731 572.6875 null] +/D [3172 0 R /XYZ 217.4518 481.4944 null] >> endobj 3192 0 obj << -/D [3176 0 R /XYZ 71.731 546.7846 null] +/D [3172 0 R /XYZ 411.628 481.4944 null] >> endobj 3193 0 obj << -/D [3176 0 R /XYZ 71.731 531.8407 null] +/D [3172 0 R /XYZ 234.1811 468.543 null] >> endobj 3194 0 obj << -/D [3176 0 R /XYZ 71.731 494.4458 null] +/D [3172 0 R /XYZ 71.731 456.4235 null] >> endobj 3195 0 obj << -/D [3176 0 R /XYZ 217.4518 481.4944 null] +/D [3172 0 R /XYZ 71.731 443.4721 null] >> endobj 3196 0 obj << -/D [3176 0 R /XYZ 411.628 481.4944 null] +/D [3172 0 R /XYZ 91.6563 427.6961 null] >> endobj 3197 0 obj << -/D [3176 0 R /XYZ 234.1811 468.543 null] +/D [3172 0 R /XYZ 71.731 394.6551 null] >> endobj 3198 0 obj << -/D [3176 0 R /XYZ 71.731 456.4235 null] +/D [3172 0 R /XYZ 107.7061 383.8605 null] >> endobj 3199 0 obj << -/D [3176 0 R /XYZ 71.731 443.4721 null] +/D [3172 0 R /XYZ 71.731 371.741 null] >> endobj 3200 0 obj << -/D [3176 0 R /XYZ 91.6563 427.6961 null] +/D [3172 0 R /XYZ 71.731 360.8469 null] >> endobj 3201 0 obj << -/D [3176 0 R /XYZ 71.731 394.6551 null] +/D [3172 0 R /XYZ 91.6563 343.0137 null] >> endobj 3202 0 obj << -/D [3176 0 R /XYZ 107.7061 383.8605 null] +/D [3172 0 R /XYZ 71.731 322.9241 null] >> endobj 3203 0 obj << -/D [3176 0 R /XYZ 71.731 371.741 null] +/D [3172 0 R /XYZ 107.7061 312.1295 null] >> endobj 3204 0 obj << -/D [3176 0 R /XYZ 71.731 360.8469 null] +/D [3172 0 R /XYZ 71.731 300.01 null] >> endobj 3205 0 obj << -/D [3176 0 R /XYZ 91.6563 343.0137 null] +/D [3172 0 R /XYZ 71.731 289.1159 null] >> endobj 3206 0 obj << -/D [3176 0 R /XYZ 71.731 322.9241 null] +/D [3172 0 R /XYZ 91.6563 271.2827 null] >> endobj 3207 0 obj << -/D [3176 0 R /XYZ 107.7061 312.1295 null] +/D [3172 0 R /XYZ 71.731 251.1931 null] >> endobj 3208 0 obj << -/D [3176 0 R /XYZ 71.731 300.01 null] +/D [3172 0 R /XYZ 107.7061 240.3985 null] >> endobj 3209 0 obj << -/D [3176 0 R /XYZ 71.731 289.1159 null] +/D [3172 0 R /XYZ 71.731 230.3363 null] >> endobj 3210 0 obj << -/D [3176 0 R /XYZ 91.6563 271.2827 null] +/D [3172 0 R /XYZ 71.731 217.3849 null] >> endobj 3211 0 obj << -/D [3176 0 R /XYZ 71.731 251.1931 null] +/D [3172 0 R /XYZ 91.6563 199.5517 null] >> endobj 3212 0 obj << -/D [3176 0 R /XYZ 107.7061 240.3985 null] +/D [3172 0 R /XYZ 71.731 179.4621 null] >> endobj 3213 0 obj << -/D [3176 0 R /XYZ 71.731 230.3363 null] ->> endobj -3214 0 obj << -/D [3176 0 R /XYZ 71.731 217.3849 null] ->> endobj -3215 0 obj << -/D [3176 0 R /XYZ 91.6563 199.5517 null] ->> endobj -3216 0 obj << -/D [3176 0 R /XYZ 71.731 179.4621 null] ->> endobj -3217 0 obj << -/D [3176 0 R /XYZ 107.7061 168.6675 null] +/D [3172 0 R /XYZ 107.7061 168.6675 null] >> endobj 1543 0 obj << -/D [3176 0 R /XYZ 71.731 163.5866 null] +/D [3172 0 R /XYZ 71.731 163.5866 null] >> endobj -3175 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R >> +3171 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3220 0 obj << -/Length 2107 +3216 0 obj << +/Length 2106 /Filter /FlateDecode >> stream @@ -13351,3181 +13323,3166 @@ xڭ]o 8Pl�-F͐�q����2xH�`�>���`Y7=��ЏCֆ(�yb�!���$ӊyq�:7ʤ���f�e����J���h�n��,��3fϥ-���Z3(TN}]PX8!���)~�x���gq~.t��t��"���iu]kr,���j�_�)�%l!��.����~.��Ta���I���2Xĕp�R�B)�.ܧ���H��r͇��E�n�'�G�}���ȑ ��� P��h���S�c��CH��/xL{�e'��9�_>�[>oM����)��og� �W������VA�ES|�����C7�0qbS����J�(T���o���F*T��%�)e��@]��l�>+OEks?n���R�|Of>���Pc�����c%�5�%�o"_�� L)��{s�F:����cS�sގ���ayziE��\ٲYǬ0��w\���{#��<m���J;���+X2����*{B�h^D@�����,}�?�{�If7?�$���e�J�bS���U6�ڑY����TlwA;�,���`��ɡ�P�Nyq�uU*�A�^���>E��ɐz�P����䜰tOF���Ӱˢ1��6 r� /��[����C2,�ql�Gh-^7[�I���?�H�����%�A����;2�8 -v��B)���Y�=��t^�??@�՝���Ծ p��o"�q�%��[���|�y:I�D�d"N��mkX±O'&j��O����~�.&�`j�sx.�kڟ�1�����ȚzQ>e��v�.l$��x�n��y>��4� ��8Ļ� � ���W�;�4�)LU��j��T� �E�7���W����ax��� �V��� �s��gz���%Ж#���$%Hۯ�'co:����q5��Ga�u^ ������ʁ���:���v���M����~OȞ2�dQ@+o�?���)�~A�Vv<���9���m9�q�]�0Ev� �R�������q�>�aMq���7���n2�uK�d�.녤(!�@N'�jZу�;��2]�_�����������w�sS���h��9�نol"�sik �'��9��c:���]���T"���|S������b,�����b�j���'P$��U��o8ct�ᆐ�G�mť�d���ccE�&��(b/�I.��C����|j��x|R5��;Bp�ʼnεZ��c_���)�SWeAˉ6��ثQ�KK������9@�-L1�3_�p�ӻ�ۢxqm|SPړ�տ<Lh.���S�A���lo�]��rA��]�iZendstream +v��B)���Y�=��t^�??@�՝���Ծ p��o"�q�%��[���|�y:I�D�d"N��mkX±O'&j��O����~�.&�`j�sx.�kڟ�1�����ȚzQ>e��v�.l$��x�n��y>��4� ��8Ļ� � ���W�;�4�)LU��j��T� �E�7���W����ax��� �V��� �s��gz���%Ж#���$%Hۯ�'co:����q5��Ga�u^ ������ʁ���:���v���M����~OȞ2�dQ@+o�?���)�~A�Vv<���9���m9�q�]�0Ev� �R�������q�>�aMq���7���n2�uK�d�.녤(!�@N'�jZу�;��2]�_�����������w�sS���h��9�نol"�sik �'��9��c:���]���T"���|S������b,�����b�j���'P$��U��o8ct�ᆐ�G�mť�d���ccE�&��(b/�I.��C����|j��x|R5��;Bp�ʼnεZ��c_���)�SWeAˉ6��ثQ�KK������9@�-L1�3_�p�ӻ�ۢxqm|SPړ�տ<Lh.���S�A���lo���|� ��]xiYendstream endobj -3219 0 obj << +3215 0 obj << /Type /Page -/Contents 3220 0 R -/Resources 3218 0 R +/Contents 3216 0 R +/Resources 3214 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3103 0 R -/Annots [ 3225 0 R ] +/Parent 3122 0 R +/Annots [ 3221 0 R ] >> endobj -3225 0 obj << +3221 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [480.0297 645.281 538.9788 655.7556] /Subtype /Link /A << /S /GoTo /D (bzldap) >> >> endobj -3221 0 obj << -/D [3219 0 R /XYZ 71.731 729.2652 null] +3217 0 obj << +/D [3215 0 R /XYZ 71.731 729.2652 null] >> endobj 414 0 obj << -/D [3219 0 R /XYZ 278.5577 707.8408 null] +/D [3215 0 R /XYZ 278.5577 707.8408 null] +>> endobj +3218 0 obj << +/D [3215 0 R /XYZ 71.731 700.4885 null] +>> endobj +3219 0 obj << +/D [3215 0 R /XYZ 71.731 672.608 null] +>> endobj +3220 0 obj << +/D [3215 0 R /XYZ 71.731 657.6641 null] >> endobj 3222 0 obj << -/D [3219 0 R /XYZ 71.731 700.4885 null] +/D [3215 0 R /XYZ 71.731 608.6129 null] >> endobj 3223 0 obj << -/D [3219 0 R /XYZ 71.731 672.608 null] +/D [3215 0 R /XYZ 71.731 593.5047 null] >> endobj 3224 0 obj << -/D [3219 0 R /XYZ 71.731 657.6641 null] +/D [3215 0 R /XYZ 71.731 578.5607 null] +>> endobj +3225 0 obj << +/D [3215 0 R /XYZ 71.731 565.6093 null] >> endobj 3226 0 obj << -/D [3219 0 R /XYZ 71.731 608.6129 null] +/D [3215 0 R /XYZ 91.6563 549.8333 null] >> endobj 3227 0 obj << -/D [3219 0 R /XYZ 71.731 593.5047 null] +/D [3215 0 R /XYZ 165.0015 549.8333 null] >> endobj 3228 0 obj << -/D [3219 0 R /XYZ 71.731 578.5607 null] +/D [3215 0 R /XYZ 376.6947 523.9305 null] >> endobj 3229 0 obj << -/D [3219 0 R /XYZ 71.731 565.6093 null] +/D [3215 0 R /XYZ 101.8978 510.979 null] >> endobj 3230 0 obj << -/D [3219 0 R /XYZ 91.6563 549.8333 null] +/D [3215 0 R /XYZ 71.731 500.9169 null] >> endobj 3231 0 obj << -/D [3219 0 R /XYZ 165.0015 549.8333 null] +/D [3215 0 R /XYZ 71.731 486.8844 null] >> endobj 3232 0 obj << -/D [3219 0 R /XYZ 376.6947 523.9305 null] +/D [3215 0 R /XYZ 91.6563 470.1322 null] >> endobj 3233 0 obj << -/D [3219 0 R /XYZ 101.8978 510.979 null] +/D [3215 0 R /XYZ 71.731 458.0128 null] >> endobj 3234 0 obj << -/D [3219 0 R /XYZ 71.731 500.9169 null] +/D [3215 0 R /XYZ 71.731 446.0376 null] >> endobj 3235 0 obj << -/D [3219 0 R /XYZ 71.731 486.8844 null] +/D [3215 0 R /XYZ 91.6563 429.2854 null] >> endobj 3236 0 obj << -/D [3219 0 R /XYZ 91.6563 470.1322 null] +/D [3215 0 R /XYZ 71.731 417.1659 null] >> endobj 3237 0 obj << -/D [3219 0 R /XYZ 71.731 458.0128 null] +/D [3215 0 R /XYZ 71.731 405.1908 null] >> endobj 3238 0 obj << -/D [3219 0 R /XYZ 71.731 446.0376 null] +/D [3215 0 R /XYZ 91.6563 388.4386 null] >> endobj 3239 0 obj << -/D [3219 0 R /XYZ 91.6563 429.2854 null] +/D [3215 0 R /XYZ 71.731 342.4461 null] >> endobj 3240 0 obj << -/D [3219 0 R /XYZ 71.731 417.1659 null] +/D [3215 0 R /XYZ 91.6563 318.7001 null] +>> endobj +1544 0 obj << +/D [3215 0 R /XYZ 71.731 311.5619 null] +>> endobj +418 0 obj << +/D [3215 0 R /XYZ 157.864 274.3464 null] >> endobj 3241 0 obj << -/D [3219 0 R /XYZ 71.731 405.1908 null] +/D [3215 0 R /XYZ 71.731 266.9941 null] >> endobj 3242 0 obj << -/D [3219 0 R /XYZ 91.6563 388.4386 null] +/D [3215 0 R /XYZ 71.731 239.1136 null] >> endobj 3243 0 obj << -/D [3219 0 R /XYZ 71.731 342.4461 null] +/D [3215 0 R /XYZ 71.731 224.1697 null] >> endobj 3244 0 obj << -/D [3219 0 R /XYZ 91.6563 318.7001 null] ->> endobj -1544 0 obj << -/D [3219 0 R /XYZ 71.731 311.5619 null] ->> endobj -418 0 obj << -/D [3219 0 R /XYZ 157.864 274.3464 null] +/D [3215 0 R /XYZ 71.731 211.2182 null] >> endobj 3245 0 obj << -/D [3219 0 R /XYZ 71.731 266.9941 null] +/D [3215 0 R /XYZ 91.6563 195.4423 null] >> endobj 3246 0 obj << -/D [3219 0 R /XYZ 71.731 239.1136 null] +/D [3215 0 R /XYZ 109.9275 169.5394 null] >> endobj 3247 0 obj << -/D [3219 0 R /XYZ 71.731 224.1697 null] +/D [3215 0 R /XYZ 71.731 157.42 null] >> endobj 3248 0 obj << -/D [3219 0 R /XYZ 71.731 211.2182 null] +/D [3215 0 R /XYZ 71.731 146.5258 null] >> endobj 3249 0 obj << -/D [3219 0 R /XYZ 91.6563 195.4423 null] ->> endobj -3250 0 obj << -/D [3219 0 R /XYZ 109.9275 169.5394 null] ->> endobj -3251 0 obj << -/D [3219 0 R /XYZ 71.731 157.42 null] ->> endobj -3252 0 obj << -/D [3219 0 R /XYZ 71.731 146.5258 null] ->> endobj -3253 0 obj << -/D [3219 0 R /XYZ 91.6563 128.6926 null] +/D [3215 0 R /XYZ 91.6563 128.6926 null] >> endobj -3218 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F35 1709 0 R >> +3214 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3256 0 obj << -/Length 2348 +3252 0 obj << +/Length 2305 /Filter /FlateDecode >> stream -xڭYK��8��W��dO�Z=mioɤw+[�Lf�+���h����E��x�~ @I�v��0��A>��;����6���� 3/\'�,?��g{L��U "+�YM��<���?�h�y�:\�w������f�Mzi���������f� -y�}]˺l�/�=������U��y���a�$�xY��k� ���p3�ѝ�O�(�6��V��Q�Uma2??5@��3ߋ?��}�ř�9�{��{alf����f��N�Ѹ/����k��Fwa�˖�}��� �bS6���ff��R�}SK��òSW����=;���l}<5f$�?�?��'��LsTu.�텥kӉ�E��U�Ѧp8\� -B/K���!��&���3�Uy�����IzL���R@Gf�mP)F'H{j|��]�p�.���A7�Z�9��h�~��ZT����&(�qh�0 ���D�X�|��Ȣ�k��f�����n��� rM�}���ے��)"�qp8�m��Z$q]���}�_���b����P�}��gQO�`��E�W�_8�Ƅ����-�;��D -����C�Ѳ�-� <��*@��I4CX�L�pFHu�.�K� �2��a!�h�N!pRd䃦sƙ�\�2�,G3Q�ǭ� h�c!{.�ᰀ�L��>Â��`�����˴��t���e��%~���������m;��(�Hn�B�v��0z1u��P�H ��lZ��"���N_wx��İ�\�1O���+|� -#�lmq�l�\�7H}+���A��B.�%�Z����������"�k|z��&����-'��ySn�!�iz�p3��`�4}N�v�,Ӹ���r{��J���]2���wLP�דDM6a^N��ھ��VU5�[�SM��aI�~��e�T��6H����X!<Rqg`ǁ˜Pr%D\��ԚG�I�%1rv�t>� -�>1��\��Ky���jp�O+[α�+�"�D|@;�v-����q����O��[x�*�6�!E��h$��� -#��)I��Zp������7�?1�1B�p,ۖ0�1���E�%��%�"���a���u�`̍�)�/�*X��pPɑ�K�Qhb,���h�h�!�fzf"�d�^`��M:���,� �f}*�[ό�'H����%N���K�mV��ԝZPhہA���$�O�QG�1�'�b���� -A��9���7�*� ؕ����o�ޖ�5;L:U*��Ķ*7+���@V�u�R/7��<���t�#A����k����%����t�KQ�D�1��j{�����ǣ� �ص[�>%~����N�s�O�a����86z�D�:��P�u!=���Mq�� ���_z�%P{��[�S}յ�Q�0����T·�"����A1�m���%��D(��AD#*k$��3ۆ�)�v��vzQQ���s�^릈rbm����$u��ͫ�� �31uhL���ь݈I���@q��ϵl�w�e \�ޱ�T0M ������Sw�@>��x;�}�(��tx���S~���-TN���Ãq7�-����0*�SU��b8ٔ4®�.\��6�����BCtwD�/E��py�U�<'�t��v����X���Hb<Ta�gI���R�Rb����G�$���@�l�1D��Z�%��d -��D��+�?��"Bs��-q8�����`E���%S��\v^;,�� tpYy� �A�ӚV����G��,��p��:bE^�: -�Ĉt������{a��`�^Nz�\4���I�u���B��KjàbUM�D� -�M�i��L�����t?�sn��#;�x>��ܭ՚�6��O�<��\zh����f2�8��>��xٸ��n:�}J��%zH_�p�iАI+!Zn�I�H~���=����6w�V2uK�י*���ry��5B�Ψ��E�FRLޘ_�0A[l1�����P~����rϿn/a<y�KX�k��.ށ�V�쬻<f|>����h�ky���&�>3�T �kH -�F4�2N~ q����p���|/X����{��5^�cv=�ׯ�d�jLj�:-�oH��� -�U鰅7E�\�T0LJ��[���G�`:�w��p�x���$����\i�OY�A�@eY25)B=��[�\�4"#�8=�I�!��iX� �w����d���nT��o�.�A��v+�;���#�r\�<��qÿִ�>�W�J���+2�,���厞 �;�%Kʩ�ؽj�03��h<\sV��Զ���m�ݲ��IV+� �?A@��$�����]]T�ִ�7wg��� N�4Xg���D��0�0�� �MdJ����Қ�Zendstream +xڭ˒۸��P�I���o���lʩ��ة�s�HHbL\>V�|}����L���эF���O�Z�����>���8X�W���[{��d#4�9ћ�W�)[o���a��|�K�l�H���b�-�-�uӛv� bz�}]�ʺ��_�F��-�J�����W���q�z�nxQꩌA:��i�g^�)Ix>��)��{|�'[ߋ���uq�E[?��l��w2c��J�9ǧ2n���I8B~6=�)�.�c��*[��a/��#K���"���8���Ե�g��r�V��r� �e�貏�_妖)~�������w��z����mk���}����VclS�;Xh�o����{T���]�-���1�1C��!?���ڬ�4`����{��`QX9d{^4���h/[C'���a�7�Z�f�+OMuy�_G�vC�;�5����5��cw��P�.o�) !Bo�_�F03�L_�z´C��n�(+��B�qR)F���t5;R�w�/���ϖe�' +�S �Q�A.6Ȯ"E�*����[��>aA�%� +��6��B�9*�A+��T�܉`�"'�X �]��~P����%"r&�i���('ΐ�x�5�)'��6�qpO 8��#�˓�i!���v&-��r�)�q�*��>�����d +�?!/����9��Q�C~��s�#%��䜰�m{���v@�ӞʮC��^vN�"� +��~&{R���{�M��'��{�e�7(*1�wABU�<�&\�*E��L�2��z�ST��l�i������$����y"H�� +�x� H��j�ۺ�+|�nD���~�[}2={�\#Ij���g�ZΑ����� �Ե$�����m��������{>�0�����=SpY���%_�.�vQQ�oB!0�0�e��rp�hq��xc�֥0�����q��\��}�.�,l��M�#w��~��vBa��[��@�dp|��.8Z�A��:�����w��L����:�[��^~g�z���%�Mf>�gÀ}�����pQ�=�`�t;#��DwE|b�NN��5�oI�� +�-w��n^�0���ɹ�y�rB2L�n��H�{�j(n��1sޘe���]�K��"���Ȳ�\���9&��L� [��� H�����Ww�>�~p{��J���Ŭ�ˤ����P6�4���� ��U"J�����*��*s��]�ZA����q������Dctw��t6�-���ƶ�)��A^�YF�%0>5�w����н�iNe?��C?p��.0 Yv�_�4:���4_ ����/�%������t��:�}* D�u6/�a +��e��k '������J)��$n|�>B?�G1`����g�CT��@U%Bd����_$�:zi̚�Ј�G^�u��VK|rg_��FgYl�Y����-{�4�ͿCb�x�+�G4``�P�,Z�~��wk����ؚ����'��S���Ur�ζb��r���e�N�i`��@50�I�Ke�����2i%�� �sx�L�?��5b��$Rw(�X�t!K�*�g�]#4�넂I?2 1�1�A89m�8��y?�<��p�Uy�)���0��n�еR���9�Uy*{2�Lj�Dz1���,��Fn�3��qиatIA=���ۓ�����^�~bs�dU�~����iv�î�����h���,70�f%}C�5��I�R%�fa��K|�簏�7e�(���&~�@����*�L_e912˚W�$�pH�oe!�Z^��;5K>����la�x�|#Xh��ھ{��ٻm����h\����F�xJ�q˿�t��� ��ZQ�B�\%��8�X��L)Z�}��5��y�Cx,sDF< ��C+�3���O�D\�ЎT���r�<S_��{\����j�4�%����t'R���9V�H�)� +7�n�?��(L��JX$��'�8�%c]'`�M]��A�t�n�k��4+�:+dڍy��"�&J��� ��ss*ý�l��m�FEǦ '�x���q�g������K���=R�A�����̗R#�s�d`�m-;Ne8�_� +�o���s�!G�Ɠ�����/ �y���Kŝ�RЋ��N�������Tɬ��� �e/ߎ� �p� +5����� �|�)^6fc�JF��욊~Q���An����XM~�"��é����)a1�;�����T�}��3��������v;r�8�>�;����yy�endstream endobj -3255 0 obj << +3251 0 obj << /Type /Page -/Contents 3256 0 R -/Resources 3254 0 R +/Contents 3252 0 R +/Resources 3250 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R ->> endobj -3257 0 obj << -/D [3255 0 R /XYZ 71.731 729.2652 null] ->> endobj -3258 0 obj << -/D [3255 0 R /XYZ 71.731 718.3063 null] ->> endobj -3259 0 obj << -/D [3255 0 R /XYZ 71.731 708.2442 null] +/Parent 3122 0 R >> endobj -3260 0 obj << -/D [3255 0 R /XYZ 91.6563 690.4109 null] +3253 0 obj << +/D [3251 0 R /XYZ 71.731 729.2652 null] >> endobj -3261 0 obj << -/D [3255 0 R /XYZ 71.731 639.4372 null] +3254 0 obj << +/D [3251 0 R /XYZ 71.731 718.3063 null] >> endobj -3262 0 obj << -/D [3255 0 R /XYZ 71.731 626.4857 null] +3255 0 obj << +/D [3251 0 R /XYZ 71.731 706.1869 null] >> endobj -3263 0 obj << -/D [3255 0 R /XYZ 91.6563 610.7098 null] +3256 0 obj << +/D [3251 0 R /XYZ 91.6563 690.4109 null] >> endobj -3264 0 obj << -/D [3255 0 R /XYZ 71.731 573.0611 null] +3257 0 obj << +/D [3251 0 R /XYZ 71.731 652.7622 null] >> endobj -3265 0 obj << -/D [3255 0 R /XYZ 71.731 559.7361 null] +3258 0 obj << +/D [3251 0 R /XYZ 71.731 639.4372 null] >> endobj -3266 0 obj << -/D [3255 0 R /XYZ 91.6563 543.9601 null] +3259 0 obj << +/D [3251 0 R /XYZ 91.6563 623.6613 null] >> endobj 1545 0 obj << -/D [3255 0 R /XYZ 71.731 510.9191 null] +/D [3251 0 R /XYZ 71.731 590.6202 null] >> endobj 422 0 obj << -/D [3255 0 R /XYZ 208.104 473.7036 null] +/D [3251 0 R /XYZ 208.104 553.4047 null] >> endobj -3267 0 obj << -/D [3255 0 R /XYZ 71.731 466.3513 null] +3260 0 obj << +/D [3251 0 R /XYZ 71.731 546.0524 null] >> endobj 1546 0 obj << -/D [3255 0 R /XYZ 71.731 422.5953 null] +/D [3251 0 R /XYZ 71.731 502.2965 null] >> endobj 426 0 obj << -/D [3255 0 R /XYZ 221.7756 383.3225 null] +/D [3251 0 R /XYZ 221.7756 463.0236 null] >> endobj -3268 0 obj << -/D [3255 0 R /XYZ 71.731 373.1798 null] +3261 0 obj << +/D [3251 0 R /XYZ 71.731 452.881 null] >> endobj 1547 0 obj << -/D [3255 0 R /XYZ 71.731 330.157 null] +/D [3251 0 R /XYZ 71.731 409.8581 null] >> endobj 430 0 obj << -/D [3255 0 R /XYZ 242.1475 292.9414 null] +/D [3251 0 R /XYZ 242.1475 372.6426 null] >> endobj -3269 0 obj << -/D [3255 0 R /XYZ 71.731 285.5891 null] +3262 0 obj << +/D [3251 0 R /XYZ 71.731 365.2902 null] >> endobj -3270 0 obj << -/D [3255 0 R /XYZ 71.731 226.8245 null] +3263 0 obj << +/D [3251 0 R /XYZ 71.731 306.5256 null] >> endobj -3271 0 obj << -/D [3255 0 R /XYZ 89.7017 216.0299 null] +3264 0 obj << +/D [3251 0 R /XYZ 89.7017 295.731 null] >> endobj -3272 0 obj << -/D [3255 0 R /XYZ 71.731 200.9216 null] +3265 0 obj << +/D [3251 0 R /XYZ 71.731 280.6227 null] >> endobj -3273 0 obj << -/D [3255 0 R /XYZ 71.731 185.9776 null] +3266 0 obj << +/D [3251 0 R /XYZ 71.731 265.6788 null] >> endobj 1548 0 obj << -/D [3255 0 R /XYZ 71.731 125.2702 null] +/D [3251 0 R /XYZ 71.731 204.9713 null] >> endobj -3254 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +434 0 obj << +/D [3251 0 R /XYZ 218.2898 165.599 null] +>> endobj +3267 0 obj << +/D [3251 0 R /XYZ 71.731 155.234 null] +>> endobj +3250 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3277 0 obj << -/Length 2320 +3270 0 obj << +/Length 2255 /Filter /FlateDecode >> stream -xڅYݏ� ߿"�'H\��g�v�z����z(z}Pl%vDZ\�l�ח)[��`,QEQ䏔��wY�g>Q�Gi��ۇ`w��?~���<G������bW�E���e��y��D��I��N�?�ϵ�'5�Qx§����t������|�oӶr��ӟ?��,���/rX�.\_��]�"N#T�n7��<HE�~��jY��<e�����}x5�Z����n�;F�Fqb��j�I�QM���y�#�T7L��9K�M�n�S�}�x��3�#���mU9��8dW�?3�R�k��ɪb�B{��hB��> -���S��}�xz ��/�ַ�@ä� F~���1@��YD��;+�;�C�u���z$- ]�tcI�Oz�r���\�u���-���QV�}�L-xQ�햙���H_<#YN> ����������Ra潀�n��/z0�zAr -�>ț�P�bm&�����86{��T��4ہ/h�kD�y��%j���jƾ�w�H��4�;t���P��e�m�B���a�VY��.�g��n��k'`~�z,ѧމ#N��s[Q[w-�5�_�ь R(Φ���I�M��X�;�i1�xjv��Lq�>h�ad�~pi,d`UG~��F����z�����y��0�5���5���.���fu�"X�:�:�f�Rv�2���D`�#�n�q��Z�<��� -N�`4�0��R��"��W�i�}0�� -Ya���Y/BB�yP҆cn8��S9�������_i�gj����7�<&(_����["�%-h���J��~fi�M�s�AClV�����p������cx�x�V�$P7ٴ�`oP�<!p�����3��BJ��z!�^ƹ7;�6���S���:Ex�6��d8���5����QAlL�ڴ�g�Yò�s7"�0�#FG&��9��3�uN =�l�}݃E����M�ѳ��cf7*\í1����&Bp9�$��O����h��o?�Y��>� �*pLm�vޛ��8~�L�qӈ=DboA��c��ex�� -�簙qs%���kE�#��(w�s�"�������]BU���7�ɔ�;ڝ��O��� �l�f���(���J��h��������;����&V��n�r�QG��mP�1�!����njnc�c+�o=���T둱�]���uS��m� ֕��4%Нڕ���(���?����) v���Z��Qvչ.��;8� -�W�!�^�`v��P:;B-j�M���-�!_���tʈ����Yo�!�QT��c�YąWKm1�~�"�xtb"��kӚ���!Q�j���V�I�¤��,&H1A�Avӷ�_�x�M��p`Q���ϏC�y%.�o�0�����,��8�+ξK��/��$�ܹ�D���3B���qmQ�C��q\h�&o�2��ף�{�\EP*�S}A��0$`�1РL��W��YRm�k4��߹P)��u��;<�'` �A%�� ��Wc�A���W>�9�^�$m88-h� -��L&.�9�ᅩ��ejS���F ���\6J��q��c��//Ĺ�@�$V<f!��et1=�D��"�cA��j�f��a���1*\��4�$����k�t��/j(/hP-3U?�B��\k�z[+n���ÝD�8���^F���S���|�:8��@ՍͦX�q>C��u;3�1����p��s+��=�*����� *><�Dy��q&����'�)�X!q| �"����o/Nk;Fp�UB@�U�p�{��*���j��>P��[��V(�I+~���Ox?>m��e3�6��+����L�r����R�����@x��;�3����k�;�Ɠ�j�~]�a���,b/�����=��O��7�zA �2����I�/�c�����IE�ŧ;}O=l2�UaI'�~�桳zi -�M���,S�;(�3�I����?�M��U�!�A�|I�> �=o�p���8�d[Au"e��b�ڦ|]V���4�k�ƞ@�G�����O�'m��i��ȵr��*4�\N�5j->�Z?��U���������pMυD�$�쿭a������9m��x�:[���i�^YˎJ"�孜���݀r6��n�b�n���W �h47nQrp�H��U��U� �E�'GK��,���>�����(<)X͎��p��נt��m}�Î�0��� �MJ����C&�G�*��i�h9��6��CE�\��M>�<��扞�����ô��/��? $Q�aQ,�p�8��_�,�?���tendstream +x�}˒��_��K�*�! >�ܼv�8U���J�9@"$"C� +;;���$ĥ��j�h4�~7�M�&��\�O\q�ƛ��C����_>DBr��O�����+�)�"����I�0��c��U��9���~[��`��!Ní +����n��67F}o��u�w�>��ßO��ʃ�7|U�K�ܓѽ6<*Q9Ih�������E�������06u��Tٞ��jǺd�mj9{6�;�����6���F+���`�F�١bHh�;P0،�3�.�NWt�����&��қ�\t +z:DqP�QB��d5+^~����s�y/xyv�}蛑#u�2ti�A�f����"H���b�������()C P�E7r������5 6��p���2r�4p�K�C��j�A� �ޝ�AT�[1j.?nf9�r�ؑQf& 8IU*���I$l��#7��P�3W=փw����� Z����W~O�n�ۑt��xэ� *���f��f��r�(&"����e[���Z�>�B`q3��y\�i �� F�ЦhM'u��������L�M�J�qx��E���B��y!�^��A/o} �8���mߒ8pԷ c�}���a����\$�\ڱv�vψ�� ��d���k٦���cY��ѷhԊ�N��%��gAO�~T���c�~�QD�r���۲ �"�N��'�M�g�(3x�VUn����ȋ7�W -��M���{%ނr��|B��=�U�=��q0���mQ�a��x�0� �v��M)��1�;P�� +S����ʌ���Qdi��R=���M@���.��$ռ��6���3d@��Ul��eϻSZ�n�/���$�����ń����T�C�����q���V�K�K�/r�E��g����\w +�,�������d�,?N��e��F�8�)���v^^}�3�b/�rv$y�{L]���âِw5w��������o��#����E�J�m���˙��[�ɓ`�0��qv�5�� +�P*ܷK�T����,Hܡ ��[����ܯ�=�M>��V�'���C�ye*�ok9��@}S�r9���k��N�F0q��N��':�^e�E�G�`�N�ղ����3��Y�e`aw�H˂\�P��#����+��߈Hgͽ!�aŋn�xpo������>!�`Q�B!)�b��F*~���� /��i����� ��?#����̊W�� D��O�xc +`�L`�!^�������SN��ZaE3+�=�dZ�{0� �T�fA�Y6�k-Gj�iie��$�ZI +@Q&��r�ؓG(jH3��O�[l�����U� +��7wܸ�+�wf ��9�{�غYs�1l��h�(!�4Mo�P���M&��|C�1���I{�$'��� v!�@�B������4�G��\I?���d��B��2��(��"rg�~9��)��V)'����+�=Q�Γͬ�N4膔�Q +y�15�<�d��%����µ̀[��-ğ��q��G�R_^�F�8�Rׯⵙg,�d-�y���,+qU���4�cJ�32��\ƞ�����99�(Ϸs�ڻ�Mp2��EA���a. w�5�"���;�z��_T'�TN\�<�]��j9�U&��L1�T!W<.YLK��.?��瞩dX�R��%�^:�_>t�2�b��Z?k��ԓ�u��O� +Rp�#Qm/��-��|Q�.|�J +�F�� +oj)a7-��;w�8�p�v��5s���Y8��=u�/��20���^�0��������M��Ӓ~���� +�T�?jI���V��Ha{���`��n tץ�8�]�/���%]�����{����Œ��\�Μ)�&9VL��E�����=��� �H��?j�g� +g�#vR.�kP6 ��e��X֙����� ��gq����ݲ$?��I���[*d���W��L�=^���p��A�o8�W?�4���� 9>O�*�1{b9O��Й�7Oߚ�s���b�SE�Hw��L��L�p<�2F��\&��kfyu����-\�1l�4RcpG|C�b +_d<�9��a@K�0W�52��سT�]������d��"�A+(�v�!��(��\Q���_�k`�煩{�t +�] �ܲB�+�Ď������ϵqbYw [�J�4��y�F��:��Gn�,��c�_���|� >��A�� �����M}�����j.endstream endobj -3276 0 obj << +3269 0 obj << /Type /Page -/Contents 3277 0 R -/Resources 3275 0 R +/Contents 3270 0 R +/Resources 3268 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R ->> endobj -3278 0 obj << -/D [3276 0 R /XYZ 71.731 729.2652 null] +/Parent 3285 0 R >> endobj -434 0 obj << -/D [3276 0 R /XYZ 218.2898 707.8408 null] +3271 0 obj << +/D [3269 0 R /XYZ 71.731 729.2652 null] >> endobj -3279 0 obj << -/D [3276 0 R /XYZ 71.731 697.4758 null] +3272 0 obj << +/D [3269 0 R /XYZ 71.731 741.2204 null] >> endobj 1647 0 obj << -/D [3276 0 R /XYZ 71.731 618.8098 null] +/D [3269 0 R /XYZ 71.731 678.2915 null] >> endobj 438 0 obj << -/D [3276 0 R /XYZ 269.7575 575.7123 null] +/D [3269 0 R /XYZ 269.7575 635.194 null] >> endobj 1648 0 obj << -/D [3276 0 R /XYZ 71.731 575.4972 null] +/D [3269 0 R /XYZ 71.731 634.9789 null] >> endobj 442 0 obj << -/D [3276 0 R /XYZ 283.7934 536.3399 null] +/D [3269 0 R /XYZ 283.7934 595.8216 null] >> endobj -3280 0 obj << -/D [3276 0 R /XYZ 71.731 525.9749 null] +3273 0 obj << +/D [3269 0 R /XYZ 71.731 585.4566 null] >> endobj -3281 0 obj << -/D [3276 0 R /XYZ 71.731 488.1557 null] +3274 0 obj << +/D [3269 0 R /XYZ 71.731 547.6374 null] >> endobj -3282 0 obj << -/D [3276 0 R /XYZ 71.731 473.2117 null] +3275 0 obj << +/D [3269 0 R /XYZ 71.731 532.6935 null] >> endobj 1649 0 obj << -/D [3276 0 R /XYZ 71.731 412.5043 null] +/D [3269 0 R /XYZ 71.731 471.986 null] >> endobj 446 0 obj << -/D [3276 0 R /XYZ 264.3119 373.132 null] +/D [3269 0 R /XYZ 264.3119 432.6137 null] >> endobj 1650 0 obj << -/D [3276 0 R /XYZ 71.731 369.9401 null] +/D [3269 0 R /XYZ 71.731 429.4218 null] >> endobj 450 0 obj << -/D [3276 0 R /XYZ 274.763 338.6612 null] +/D [3269 0 R /XYZ 274.763 398.1429 null] >> endobj -3283 0 obj << -/D [3276 0 R /XYZ 71.731 330.0237 null] +3276 0 obj << +/D [3269 0 R /XYZ 71.731 389.5054 null] >> endobj -3284 0 obj << -/D [3276 0 R /XYZ 122.2213 319.7322 null] +3277 0 obj << +/D [3269 0 R /XYZ 122.2213 379.2139 null] >> endobj -3285 0 obj << -/D [3276 0 R /XYZ 468.4811 319.7322 null] +3278 0 obj << +/D [3269 0 R /XYZ 468.4811 379.2139 null] >> endobj -3286 0 obj << -/D [3276 0 R /XYZ 71.731 299.6426 null] +3279 0 obj << +/D [3269 0 R /XYZ 71.731 359.1243 null] >> endobj -3287 0 obj << -/D [3276 0 R /XYZ 354.5783 249.9937 null] +3280 0 obj << +/D [3269 0 R /XYZ 354.5783 309.4754 null] >> endobj -3288 0 obj << -/D [3276 0 R /XYZ 71.731 216.9527 null] +3281 0 obj << +/D [3269 0 R /XYZ 71.731 276.4344 null] >> endobj 1651 0 obj << -/D [3276 0 R /XYZ 71.731 147.2142 null] +/D [3269 0 R /XYZ 71.731 206.6959 null] >> endobj -3275 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R >> +454 0 obj << +/D [3269 0 R /XYZ 224.8627 173.3858 null] +>> endobj +3282 0 obj << +/D [3269 0 R /XYZ 71.731 170.7259 null] +>> endobj +458 0 obj << +/D [3269 0 R /XYZ 185.7017 142.9997 null] +>> endobj +3283 0 obj << +/D [3269 0 R /XYZ 71.731 135.8017 null] +>> endobj +3284 0 obj << +/D [3269 0 R /XYZ 359.6067 125.067 null] +>> endobj +3268 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3291 0 obj << -/Length 2736 +3288 0 obj << +/Length 2680 /Filter /FlateDecode >> stream -xڍZY���~���e%`D�>���g7X;A<�E�C�F�P����ʯO]�j�Ԍ1�լ.VUwUUմ�r��[%����g�G��8�qW�0��7��l�gk3����c�2'��xu�[���$n����w��KW�����qP�f�G�:p���<TM��j��~|�_U���?�{�{�< -'KAË���~��<'��F�庩�AB&�O`H��?t*�,xj�Ƌ���0��x��ȷ��Z������7���/��m;���T� ����l���fdѺT;zk��[��-=�u�7L+�t��a�����Ƈ%4�Lk r^��=?=�����'Z�H��~�Y� ��㷁2���'<�;�2�n��=�1;�Uy���ӊ}��Ҋ��#�g�n��}?���@��?�j~�x�z��}|T%�w]5���o�Tۈ`U�2�kر���OH�eǿ�vdIϴ��Z�-�>��6��j��h$y��|�smǿ�n�숖M��4���iH���)�VB}��<��y$�580~G�;���L7����w���v5U��J���S�%ӿߏ�v̻������U�d��z��m����8�މ(���[�J]���$N��*�=�K�x%��fc���\��EthɼK|<�̋6�Wl�KC���z��D~"�(�����;s��}W��:��c -(�����}�X�o�H�;�հ������fWap~�j��^�v,��\dK� -�Ɓ��0��w��]+��;���.]�d��<N:a���P��6�܁3Y�G�s�2͜8�P[Ry�kL�/�b�L6�p�3��$��{���|�apCν���i���]�����?F՝f�9oJ���,��+e:�F'!����̉"/yŋ�^�\���u/.��/�h�L6��j%��q���U]�{� ���{�Qr� x�7x�N�8Z˫�H�r�e|8TÍ T])� Oa1~���N���3D�;���b�#'������,9�� F@�� -�x���v盀p��q4VZ�@ݗđo�a��/v\/������a]��T5;�����Bť���T�0��5L�ȍ<�kG(xP"Um�~������2 ��2���8�y3A�nD�bmL -b��Q -(]�����|�V��x�b��%�<�+Dd��q���ֲ @��5��8ݟ��?�.XT5��7E���/;�+kyyYB$�� -�TۄC(e�?(�! jHX���#�)d�Fq^�eb�_�džL.ʏ���(E���?���,�6Ax�2�ճK����� ���m���}0�J ��D�.�q1�L'�(����=��y7�)]��S�UG�3��Su)9:Q��[�}���jwb� $ -|��5A��$�Q&_X�� hX��9�w�J3��Į|�{>�%�i��ߦ-ܬ��3�w�Q�6.�apQ"Ԏ:}�U[lBw}{���h�獆_��+v����u -w���`�b�n3��Ud5�6LR�G3�!��P�.�����Ks&)�=�^|bį-z���4Zƀ������T���r����B'���dה���M��@��5�h�����?��� -�Hо&�;���Ӑ!q�QθlD�2����F�wB �܋�Y7Ysa �z����;���f��� ���FX SxP�b��/�"Jn!��э���B�s����0���[0+Y`h�̠�S�o�3�+9��>��}��/�#?��M�ϑ�t����ђ����̆�s41�*���r���ɲ0>!.��ʄ<wF�����tK`��fT"�k.�DG���Pʯ���MI!W��N�D��n����Q3����?��K��h�M�-q��R���G)x=�,,�|���� �.�2�)��_�%|�zӠ!<c���Y!���I����|����@-��� -�s���R�-�Q�S�{ze����X���{CUN��l/㫅�����ew����7[���[�E�J��y�7 @�T"�AI����J{�e�+pd1]�c��j/���8��a9�m#���Po�R0'��o��ʻ'��B$����.���.���-�\��x�Z5�L/�ñ�LZK�䋣�:A�t?5c��m��+�H��u��Дe>�o����0��@� O�� �����F�.�͋�%}�6��.F������I�$x1�l���g�^�%����̆�Лa�ffp43�710��ue�f����|������Z�J:�P���0���sE=���+3�?��V�/*����E �u�*���@�o-av��c�"��r���5N���?I�YVK��y���H�,�~�r敾��T`^ǟ� -���^s�|��W�LjXv����Y#��L�`n�l�,+���/��<�?,��Nj$p�ͽ��:�G���2���}d������e�L|ND�$�p|��=0���b�ӭk�����fTL�k§BU�bV醰M�貰�Ovc��?���Е��e�D/��eC1���J���w-�|@��L��LǑ�����a݈젔i�a��3��E�<�Q���/e��]rA�����]�� Hi;�6X��]��|2`a�n1��]T��N�vA��ﱯ<��s�R�?�X��\Ң�l�l�N��ً����t䧎�e���+ ���`A����<endstream +xڍۮ��}��8/��c�$�}ڤI� �-A�탎%��ʒ��zݯ��HQ��8�9r����[���-bω|����_l�o���������m��7o����"u�ȏ��"p]'v�t+�IB/Yl�/8d��hWk?t������X�e��3��a������6���qc��*v�(<��`�������n�@�����D-�+�]fu��`�7m��o˭@�o��!۶�������A����Y0����l�m��f�!|�V������e1%^�f� 4>��b��1+���m{�������6;����ë�=�IC/�7�Ch�O���6�K�Q �S�/�y�ŵ��8v_%�( ��jV@km�� +��4d�b�,i%�y�}��C�C�+<ܞ�<8H��OAba���uB?�#A�0�U9���q�|�b�x���y�4 +�b-�cߴLy�#�T^������y�e� +����ٖ��_�JT�����3��'ȅFc�ǁ�|����0�5n@���{w-�8��y��u#o� ��ƚ1����<�d�:Q��6C��kXЛ^a��ld��θª���+k��U���C6x<�p�d[Y�z�_��Ɯ�����rc�Y��������,g��rk���{RS�ıR��hcݗ���'��Jq���R|������O�䙇[!�GmfEW�`��6D�"�N��j�^e5Z�e�K����N��ŭ�<�6���I\8�n�P�2~���EN�n�4����B�C' +����5�IC��(73G@O�A���V��.��}���8��G�^7�^�^���˅|ʹ(�1��wH����(�F(�#c�����Z�y5�4NY�ቔ4-� �?��ĘI�> d����0bu�3w2�KÒ�<���,���/u���&�������@�q·=2����U�����<�N�ſ�rw����<�QYw}VoI�d��|yY�X���4�+(�I4O8��B��إ������y��GѦ.8�U���W��!���c%t8+J�w��9 G��d�Q�c�ǜ �X�J��y�ڐ�y��]�� �%��28' \g}jNCe�f�2�i�?��Ō����U.'�v"������' �rwa9&Զ R|�4@��'��x&>s�[C�n�RL�0�� �:� [�+�Q��|hr`�U���Ѻ;��?�c��:J��sd\���j����-V��|��>&-�������U�)� �Z�y +�*����Â�F���6�jV1b�$o(�c��,ɻNo��aR�% � +� �6(�=ڬJ��GT�[��3��(_��q9�)�8:��Ń�_�ꚰ�~� +Qh|h�+��P���?��(aMв&�;�"��`�2t\k��_��tIw�n%����9}�I�4VY�s���E8���;t=�^ +�$�|�JXBCu�[o��Ar�@���� Ugzg(t�i����Q�r�ֽ��24�/H3�J1F�$>��=;R�)�{lG�};�H����o��k���f�E&qDŽ�i�&ĉ�USՀyk�Ӛ�'7��f�$0��9�s.9�"�ާ�P��W����B��w���-��b�H��q��7��y1�L�}�`Iܝ!WR�2�$H=p�������0��7�S�Qk�D ;�8�zC�c��Q!��̕����l�#��[q��B)�x1c�)ᮉ<3e��N�ܞ�����C3Ty��ʃlI׆E>բ��֯��Z�����mu��C�.{��u��I���6�f�+��J�|)$�se5��>T|���Am��zl�^��9���� �z<a܂�� Џ5��1�*�-����3�t|@��������"� ��]��줖u1·��TA$�$dr�hBθ �m�l�Y]5�ue��Ay���Фy�go�f�[��"�'��}�\�mD��\w^$/�ʦ��^� �C�q�+^8&����7���Zgq`�R)e +�&���~>���4��(�AG�_N�`�_Nr�d!�!���RV��4F �g����ܠrNF��;�j<��BB�*�.BE7�5��wms���1Q9����F�' +z�>K�Z�UI��x���P۔@���Jŋ �J`�ݑ_�R��X����ï<��!"yY�)$��Pl�4���l�,.�����&IdH�F�1����8���� �75��t$����6&�%�X���+C̘�����M"W�w�����Q�zíaQuXۦ��z(N �Lۢ��Q������"�Zl���TW�&m� ]J��AaИ�|��]�T~;JgJ�T�>��Z# L��ڿ����AS��U��t}sZ��a��T�H�N~�KNRe��X��B@H�j��z]�G��3*:��4P(:�(!f]t_����cE9�1C��c�J"i�A��~7���nn��T�?R�F�d���<����O��n��r��Pu�~zf����]����̨5-�G�3v\J�����T��+jڍ�e��"&X�㷩�^D��L}96�5�@<mo��א��9Z�2��N7�����Љ#_�/�pm���N6R,�C+�k�%����}-�����鄅s�C?q\/M�Ix�������� -endstream endobj -3290 0 obj << +3287 0 obj << /Type /Page -/Contents 3291 0 R -/Resources 3289 0 R +/Contents 3288 0 R +/Resources 3286 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R -/Annots [ 3298 0 R ] +/Parent 3285 0 R +/Annots [ 3292 0 R ] >> endobj -3298 0 obj << +3292 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [176.4275 618.0175 223.2515 628.9214] +/Rect [176.4275 692.2392 223.2515 703.1431] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj -3292 0 obj << -/D [3290 0 R /XYZ 71.731 729.2652 null] +3289 0 obj << +/D [3287 0 R /XYZ 71.731 729.2652 null] >> endobj -454 0 obj << -/D [3290 0 R /XYZ 224.8627 708.3437 null] +3290 0 obj << +/D [3287 0 R /XYZ 388.1827 708.3437 null] >> endobj -3293 0 obj << -/D [3290 0 R /XYZ 71.731 705.6838 null] +3291 0 obj << +/D [3287 0 R /XYZ 71.731 695.3923 null] >> endobj -458 0 obj << -/D [3290 0 R /XYZ 185.7017 677.9576 null] +462 0 obj << +/D [3287 0 R /XYZ 280.1962 657.5342 null] +>> endobj +3293 0 obj << +/D [3287 0 R /XYZ 71.731 650.4559 null] >> endobj 3294 0 obj << -/D [3290 0 R /XYZ 71.731 670.7597 null] +/D [3287 0 R /XYZ 117.1103 639.6015 null] >> endobj 3295 0 obj << -/D [3290 0 R /XYZ 359.6067 660.0249 null] +/D [3287 0 R /XYZ 71.731 637.4447 null] >> endobj 3296 0 obj << -/D [3290 0 R /XYZ 388.1827 634.122 null] +/D [3287 0 R /XYZ 71.731 632.4633 null] >> endobj 3297 0 obj << -/D [3290 0 R /XYZ 71.731 621.1706 null] +/D [3287 0 R /XYZ 89.6638 611.7061 null] >> endobj -3299 0 obj << -/D [3290 0 R /XYZ 71.731 614.0324 null] +3298 0 obj << +/D [3287 0 R /XYZ 71.731 609.5493 null] >> endobj -462 0 obj << -/D [3290 0 R /XYZ 280.1962 583.3126 null] +3299 0 obj << +/D [3287 0 R /XYZ 89.6638 593.7733 null] >> endobj 3300 0 obj << -/D [3290 0 R /XYZ 71.731 576.2342 null] +/D [3287 0 R /XYZ 71.731 591.6165 null] >> endobj 3301 0 obj << -/D [3290 0 R /XYZ 117.1103 565.3798 null] +/D [3287 0 R /XYZ 71.731 576.6725 null] >> endobj 3302 0 obj << -/D [3290 0 R /XYZ 71.731 563.223 null] +/D [3287 0 R /XYZ 244.0118 567.1731 null] >> endobj 3303 0 obj << -/D [3290 0 R /XYZ 71.731 558.2417 null] +/D [3287 0 R /XYZ 441.8906 543.8605 null] +>> endobj +1652 0 obj << +/D [3287 0 R /XYZ 71.731 464.7572 null] +>> endobj +466 0 obj << +/D [3287 0 R /XYZ 207.7551 429.2902 null] >> endobj 3304 0 obj << -/D [3290 0 R /XYZ 89.6638 537.4844 null] +/D [3287 0 R /XYZ 71.731 420.6527 null] >> endobj 3305 0 obj << -/D [3290 0 R /XYZ 71.731 535.3276 null] +/D [3287 0 R /XYZ 71.731 408.2043 null] >> endobj 3306 0 obj << -/D [3290 0 R /XYZ 89.6638 519.5517 null] +/D [3287 0 R /XYZ 71.731 403.223 null] >> endobj 3307 0 obj << -/D [3290 0 R /XYZ 71.731 517.3948 null] +/D [3287 0 R /XYZ 81.6937 382.4657 null] >> endobj 3308 0 obj << -/D [3290 0 R /XYZ 71.731 502.4509 null] +/D [3287 0 R /XYZ 81.6937 382.4657 null] >> endobj 3309 0 obj << -/D [3290 0 R /XYZ 244.0118 492.9514 null] +/D [3287 0 R /XYZ 484.5537 382.4657 null] >> endobj 3310 0 obj << -/D [3290 0 R /XYZ 441.8906 469.6388 null] ->> endobj -1652 0 obj << -/D [3290 0 R /XYZ 71.731 390.5355 null] ->> endobj -466 0 obj << -/D [3290 0 R /XYZ 207.7551 355.0685 null] +/D [3287 0 R /XYZ 71.731 354.4061 null] >> endobj 3311 0 obj << -/D [3290 0 R /XYZ 71.731 346.431 null] +/D [3287 0 R /XYZ 81.6937 338.6301 null] >> endobj 3312 0 obj << -/D [3290 0 R /XYZ 71.731 333.9826 null] +/D [3287 0 R /XYZ 81.6937 338.6301 null] >> endobj 3313 0 obj << -/D [3290 0 R /XYZ 71.731 329.0013 null] +/D [3287 0 R /XYZ 71.731 336.4733 null] >> endobj 3314 0 obj << -/D [3290 0 R /XYZ 81.6937 308.2441 null] +/D [3287 0 R /XYZ 81.6937 320.6974 null] >> endobj 3315 0 obj << -/D [3290 0 R /XYZ 81.6937 308.2441 null] +/D [3287 0 R /XYZ 81.6937 320.6974 null] >> endobj 3316 0 obj << -/D [3290 0 R /XYZ 484.5537 308.2441 null] +/D [3287 0 R /XYZ 71.731 305.5891 null] >> endobj 3317 0 obj << -/D [3290 0 R /XYZ 71.731 280.1844 null] +/D [3287 0 R /XYZ 81.6937 289.8132 null] >> endobj 3318 0 obj << -/D [3290 0 R /XYZ 81.6937 264.4085 null] +/D [3287 0 R /XYZ 81.6937 289.8132 null] >> endobj 3319 0 obj << -/D [3290 0 R /XYZ 81.6937 264.4085 null] +/D [3287 0 R /XYZ 71.731 274.7049 null] >> endobj 3320 0 obj << -/D [3290 0 R /XYZ 71.731 262.2516 null] +/D [3287 0 R /XYZ 81.6937 258.929 null] >> endobj 3321 0 obj << -/D [3290 0 R /XYZ 81.6937 246.4757 null] +/D [3287 0 R /XYZ 81.6937 258.929 null] >> endobj 3322 0 obj << -/D [3290 0 R /XYZ 81.6937 246.4757 null] +/D [3287 0 R /XYZ 71.731 225.888 null] >> endobj 3323 0 obj << -/D [3290 0 R /XYZ 71.731 231.3674 null] +/D [3287 0 R /XYZ 213.707 189.1905 null] >> endobj 3324 0 obj << -/D [3290 0 R /XYZ 81.6937 215.5915 null] +/D [3287 0 R /XYZ 71.731 187.0337 null] >> endobj 3325 0 obj << -/D [3290 0 R /XYZ 81.6937 215.5915 null] +/D [3287 0 R /XYZ 71.731 172.0897 null] >> endobj 3326 0 obj << -/D [3290 0 R /XYZ 71.731 200.4833 null] +/D [3287 0 R /XYZ 210.6668 150.934 null] >> endobj 3327 0 obj << -/D [3290 0 R /XYZ 81.6937 184.7073 null] ->> endobj -3328 0 obj << -/D [3290 0 R /XYZ 81.6937 184.7073 null] ->> endobj -3329 0 obj << -/D [3290 0 R /XYZ 71.731 151.6663 null] ->> endobj -3330 0 obj << -/D [3290 0 R /XYZ 213.707 114.9689 null] ->> endobj -3331 0 obj << -/D [3290 0 R /XYZ 71.731 112.812 null] +/D [3287 0 R /XYZ 76.7123 134.2964 null] >> endobj -3289 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F48 2104 0 R /F27 1258 0 R /F44 2088 0 R >> +3286 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F48 2105 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3334 0 obj << -/Length 3146 +3330 0 obj << +/Length 3085 /Filter /FlateDecode >> stream -xڝZ[��6~�_��K Q-[� �z�Ӈ����}����hb����_R�����"�IJ�$�#EG.��E*E�#�E���b{z,�����d� �l|���}�K-r�'a�x�-T�4��E�"�e�x*����P�{ݮ6a,#A��SUWЫzO�/��U�c����o�>>���(y3������F�tL�()�:��T�?7�����R�t���g0J}�c�K]��Q��t���y=4��f�/�����=3�*�ԍ(���/��xF�Q�D����긒�#�]�OU�ݱ�e���Q��<�ޜ��H��^��u%�e���J�rM�Վ�Mm��ȟp(v���݁��}���lē�.�n�A{n:����X��f���E�R��u����E��1�<ۉk� ��g��K˒U���U_5uG�fGOkqblr2�D%�"I2�*!�J�B�`�R�9(����� - �@og)KHo�$�7Ye�� -�3 q"0�(��"QJ$iJ&��� -�E[��Lwm#SpA�D$Q��.?7��=-�3>"�Q��g[���`4ˢ�{k ����F��4^��y�JB%��e�7�Y��M���h�Y*dyۛ.�,�@�N�����xy�q$4;��yS�;Mu�g�� ��~߮T�l.�8��!��n1 X���|d����-��Ks!�� I�m��WKbw͉�����D�b/���xSտt�B0��,�L�#�����O��{��iA�8�uђ�A�� Q��J�c~"�X*�FZ� �EYRâ�᭩�p�i��A���1O�ڵ�i��i3&�`�%ND��u���zhw3S����:��D�mS ��=�`P��]� T��I��~�X�� -B���pL��# -)Fv -yx�#\���M?]�'"`|�������X�v�>�Q8�Z�5Q�Cѓ)�%�)�f�Fژ -�m2nM���ls�z�e�ߺY槉���_�8@w��ҟ�q��$�Ȼ��B�*ݘ=���l��̔o0����+�mW��& -����CS������{l�&g� �͐�'�@�?��mؓ$�e��1��]�/>�P���i���R���yB�O� -=<��)�pzc�O�WB�U�gzb�p@F�y'g��>ꮣ�Ɏ{�B�0 -@�Rk��_[�F�}�ޜ���ОJ۩���R���_��0�k��L������7;�c��ܴx��]vnw`$?���5�4gɖ���mQ��IHu�7��(�n��Iӕdzx���V������ݵ['��n�|l�f�v�����V�/S�MBH��g�pe���� {�:�a^Ad�i$��#�B�j͠��s۔�mo�#�y���91��ا���ڽ����e��.j`�� �L(�Bk��"�n�ss"��C4ۊrU|�V���0}D�ho��ë%��Z�l`��t���e��@�����w?էK׳�iFP�Fy�b<�$�5wvk�Yo-4@��P^�R���9��D$]���(i -w�W=���V���L���0ﹾ蹄���qmL�P����d�a��{� =D�G�-�wGL�C��M[���1�8µk��:�<�f.�}�O �����i�r��(��$�9I2�j^���g��; -��=�#2�x1p�ܹ�c�&6�Qf���sV�C��U���ձ����=�;h��h0�#NΌ,p�g��zo��/�c�����=�L�Q���z��]�sB�\on�Ǯ7�a��J�뙓�����b��j���6?���������C��f��Y��jB��s�E�f`%�ߠ�V�K�4<+�� �Ѐ��&{c-�|Y#�H�v��9������?�fH�������L���Nu4��ד�]�0=���ma��4� ��GR�������8�Y�I7��.g"���|��.`���̔op���.�+�_u���hM�4t��� �wIuN�L��nj�kY�0,�a�iQ!Wo�t��Ń&��4d�3Φ�������J���2Žs���̳�����V���L��s�0�ߟ�0��bo�8��^�-uu�Q�����#/O8�ó;�I� ��k�w[�7S�H2w�M�R �#hm�\��1nw?�J�8��d����=����A��t�%Rt*(��~T*�"ce��3J����!~Eyj�����F�]��Q�:/]r��w4����N~���_u�_�fr�=��ly����g��&J`��W'n�-57{����s#�W��E�7#S��S��E'_ŶNJ�`�8��ua������-��!��0��|v�V��[T8�g�7�',�|!���w����Q�3��@F49[�_@�L<�:ۦmu��?�x���A<��'��"��WJW�+��i=���=�+�� -�]B/8�_��?���)ʤ]Փ/v��P����o�H��_Jeti�D?%�����)iǷ/&��g3:�5!MJ���i��p�J3rS�s9{�8��pA�i��a���0|%�vR_̆��r����m�ܖ��&�-��N)�����z��t4�a�v�� $�M!��1[09c�5��e>�T��}1F�KH"�� ��ᒞXM��Th>��of�6 �g yϺs$���|i� �D��CR�Y�*�֮+���ѷ���+��[�˪;�Se�xV1\Zu�����i�D���+���:��ƜUf�(Nb� �=E��D�#W)���0����"O����dg�����������g�ǎ%x���$��z6���]Uq�p�|��l�n'�b�0 �hY��s�i�[�\ů[!dp�nlśb$A�����[5�K b�ŎW�C5�j����GSU�-���^��6�Y��,NM�G߯q}�4`�ߛ�D*��*`��^I�{\��R8���7shX�W�nj�Ng���.� -�?���ty*�������3`AGo�#Nk�iZ$*��i���B}cih$��ӿF�ˋ�����c��(5�.<���Q�ڼ���Ӆ��q���ӭ\7]zJ���֟%"��Q�m|�G��[��D&��Xn2��Ja$�y�FB Tt�?z3�5��endstream +xڝ[���������QmK�ŀ��=tv�aX��'V����N�_?R�d���C��$%Q�N� +���P�Q.�$�V��`u�ԏB&ya����_� �*y%���J�H�,_�2Yf�����o�ť���%������<Wu�����z��:���^����W�y,S�g��CU��Rq�z #�ǡ"�`��]��g(�<�W�^�ݴ�&J�đ3����ai)b��&I +I��ED��R%ބB!�,Z%9�D��M�s��u��xd8�?(����`���@��'�L3黦���J�uYu��& +�'M��t�A���v�V}�2x�k�u�}6�\ N������@�$H�S"���~�C�(!�4���hZD��w�� +� �끻b*G��k���J�Q��������O��0��,I.�1_ڍ����Rg�3�>L�3!� ����K�O����3Yߚ+����0^kB�Z]��$tל|ha�nK`-��;���U�t�U}��b^�#ӂ�Լ�Q�~{k~7莰�Q-��.Z�<�V�� �� ���'����P`�f<������mgq[4�)Z}n�#wHt�g���u���tb��- +6{��|��zg������wS���gbWԻ��5����tJ���)]�֯� +/?��8O�JP���t#4����!�`����u�v"���@?^�t���]_��N�1���i!���jo���E��%h,zRE{�*j�*paN}x4�7�l��n�9}�ez_������ƿq���%S����(�&���1��D������UeK�L��{��S���`�n$�1pt(S�K�%?�6��(��4��K_5,Xvf(�|Q ZaeHΖ�j�V����``����U=�b��-�����<����DOE���'�n�ò�|&tY��d��T#Nd�Id�K}�]Gc�L�8$FAư����i��~k�m�F�ɰ�������ccb.4�6��[����jw��̵z���C���.�Э�4-&�q��� �|���qX��5niI�-�)m�E]ng��9��T��]s>k��o���F�O���zD���=�ۅ-?Ao�<,����ʥ�ͽ�57� �W��J%��H�0|��@P�aW�tx��.a�f���K۔�]o��1��-c:B�k�97e��M����(�=�H�@d�P(��4E\�f0"��A4���T|��#�a�&�q��OK0�!��ظ�ۥw�K�����wLX�ѩcs�����<(�;\1 +m)q͓�Y�<�;m��FO*��Qj�z���YD��=�UY��X�����Z�#zf�K[>����;b-���F�%�7&(��P}���b��B1�� V4�����aHx�aӖD�w�>�8A����tKL�� ���˿����0Y8NZ��d�IR��$s��c��z�q̺e�����Y�a���x���w�.-@7q`��Wp�8�3V�C��U�����#�����-�;j^���`|���Q`&ƾ;����0ǪcY黦'S�q���<���g�����`zS�M�gM�Hn~1ۋE��Q����F6f�xd���r����g��w�p�&��KA�ö:���� Na�t��0ٓ�r�J����D2�C@�y�}d��_u��5c�R��u���g� �u�������������?�� K���N����۶�ۚ��9�I7��&$��� xD�M�=5��-?��<,���D����.E�WT���?�{E�3��t�jS��.kS��r��k�z�2�z�`"H҈D˸��bw�Γ��*��w�.�LH�=v}>�]�;�gr_���g<,�}��WjL`�w�͛�"Na��qK]�m����������.zg�z��Z�U�f�I��jx��hg��4�1�~�:q6+�ͮ-O�:�j>ݤv0Z��习���Q��H��i�,r�$���i��d�iw�O��p�x,��5���⠷��'�?������ǹ�@l�0[_t;�`2cl�l��}u摹RS���/�,�[ �jK(��M�U���E'_Ůǎ�h�8��ua�����.%KU1`�������׆8�� =E2�p��F`�%�Da�5/�)F� �� +�� `M�e����5m�;(�J����kB,��~I����O,ºi=u�C��5V&-��]/�������>�S�Y��g�<�vBr�p��|�|1)��&�ʨM'E?%���w��)iǷ_LF/ftxk:"r��K8��tX����J�rS��pQ���L�@��i��/� �VQ� �vT/>� /�q����p�-ǯճ�&�k���!�� �Ր���Y�<1\ +����3���[f�����+1�\�ãD�4fN�8� Z��ITOE�fOO�̤ul�B���t�@\�E\�IH|~�%�Y����T��������ozH���_�e���˩���(3�+0���*�;�슽�KTi��� +�#n�YeV6�q<�X�@K�y��E�8R �;6�/�����+!��Ɠ�nV��C�rq_����N��1�Y? ��^����nWU��;��}��l�Tg�b�� {Ѳ苷��ܷ���߷>A��h�؎7�H���xg�[5� ��]�`6�N��A�O��(U�h.������Y��VO�\��lk�����D*��*`��ڄ����'o�~�*��ϖ�}`����|�~���]{S�������1�S�����t��a]rZ+�i-���C� ���A����;��//vyW����t�25� +��w��2Km^�]a���#��<�e�Ю�=���T�g�H�x�|����`�X=�b!l���H�.4��o��_!�����a��T]+Դ0��O�LS:���Kʧ M��7T8�����@���P�|yM�&�Y�"�(�e���▘{�9Wp�\I&=�n&S�Fp��77z�ڰ[\O�����w'��/����_�R����P8P�ʼn\��^]da�7�̋�8�D�[ �V��?�-l�!�ޚendstream endobj -3333 0 obj << +3329 0 obj << /Type /Page -/Contents 3334 0 R -/Resources 3332 0 R +/Contents 3330 0 R +/Resources 3328 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R -/Annots [ 3373 0 R ] +/Parent 3285 0 R +/Annots [ 3365 0 R ] >> endobj -3373 0 obj << +3365 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [289.2129 225.7836 336.4379 236.6875] +/Rect [289.2129 274.0028 336.4379 284.9067] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj +3331 0 obj << +/D [3329 0 R /XYZ 71.731 729.2652 null] +>> endobj +3332 0 obj << +/D [3329 0 R /XYZ 128.5181 684.7236 null] +>> endobj +3333 0 obj << +/D [3329 0 R /XYZ 76.7123 653.3452 null] +>> endobj +3334 0 obj << +/D [3329 0 R /XYZ 81.6937 635.4124 null] +>> endobj 3335 0 obj << -/D [3333 0 R /XYZ 71.731 729.2652 null] +/D [3329 0 R /XYZ 81.6937 635.4124 null] >> endobj 3336 0 obj << -/D [3333 0 R /XYZ 71.731 741.2204 null] +/D [3329 0 R /XYZ 71.731 620.3042 null] >> endobj 3337 0 obj << -/D [3333 0 R /XYZ 71.731 718.3063 null] +/D [3329 0 R /XYZ 81.6937 604.5282 null] >> endobj 3338 0 obj << -/D [3333 0 R /XYZ 210.6668 696.6874 null] +/D [3329 0 R /XYZ 81.6937 604.5282 null] >> endobj 3339 0 obj << -/D [3333 0 R /XYZ 76.7123 680.0498 null] +/D [3329 0 R /XYZ 71.731 589.42 null] >> endobj 3340 0 obj << -/D [3333 0 R /XYZ 128.5181 636.5045 null] +/D [3329 0 R /XYZ 81.6937 573.644 null] >> endobj 3341 0 obj << -/D [3333 0 R /XYZ 76.7123 605.126 null] +/D [3329 0 R /XYZ 81.6937 573.644 null] >> endobj 3342 0 obj << -/D [3333 0 R /XYZ 81.6937 587.1932 null] +/D [3329 0 R /XYZ 71.731 571.4872 null] >> endobj 3343 0 obj << -/D [3333 0 R /XYZ 81.6937 587.1932 null] +/D [3329 0 R /XYZ 81.6937 555.7113 null] >> endobj 3344 0 obj << -/D [3333 0 R /XYZ 71.731 572.085 null] +/D [3329 0 R /XYZ 81.6937 555.7113 null] >> endobj 3345 0 obj << -/D [3333 0 R /XYZ 81.6937 556.3091 null] +/D [3329 0 R /XYZ 71.731 540.603 null] >> endobj 3346 0 obj << -/D [3333 0 R /XYZ 81.6937 556.3091 null] +/D [3329 0 R /XYZ 81.6937 524.8271 null] >> endobj 3347 0 obj << -/D [3333 0 R /XYZ 71.731 541.2008 null] +/D [3329 0 R /XYZ 81.6937 524.8271 null] >> endobj 3348 0 obj << -/D [3333 0 R /XYZ 81.6937 525.4249 null] +/D [3329 0 R /XYZ 71.731 496.7674 null] >> endobj 3349 0 obj << -/D [3333 0 R /XYZ 81.6937 525.4249 null] +/D [3329 0 R /XYZ 81.6937 480.9915 null] >> endobj 3350 0 obj << -/D [3333 0 R /XYZ 71.731 523.268 null] +/D [3329 0 R /XYZ 81.6937 480.9915 null] >> endobj 3351 0 obj << -/D [3333 0 R /XYZ 81.6937 507.4921 null] +/D [3329 0 R /XYZ 71.731 452.9318 null] >> endobj 3352 0 obj << -/D [3333 0 R /XYZ 81.6937 507.4921 null] +/D [3329 0 R /XYZ 81.6937 437.1559 null] >> endobj 3353 0 obj << -/D [3333 0 R /XYZ 71.731 492.3839 null] +/D [3329 0 R /XYZ 81.6937 437.1559 null] >> endobj 3354 0 obj << -/D [3333 0 R /XYZ 81.6937 476.6079 null] +/D [3329 0 R /XYZ 71.731 422.0476 null] >> endobj 3355 0 obj << -/D [3333 0 R /XYZ 81.6937 476.6079 null] +/D [3329 0 R /XYZ 81.6937 406.2717 null] >> endobj 3356 0 obj << -/D [3333 0 R /XYZ 71.731 448.5482 null] +/D [3329 0 R /XYZ 81.6937 406.2717 null] >> endobj 3357 0 obj << -/D [3333 0 R /XYZ 81.6937 432.7723 null] +/D [3329 0 R /XYZ 374.7417 406.2717 null] >> endobj 3358 0 obj << -/D [3333 0 R /XYZ 81.6937 432.7723 null] +/D [3329 0 R /XYZ 71.731 404.1149 null] >> endobj 3359 0 obj << -/D [3333 0 R /XYZ 71.731 404.7126 null] +/D [3329 0 R /XYZ 81.6937 388.3389 null] >> endobj 3360 0 obj << -/D [3333 0 R /XYZ 81.6937 388.9367 null] +/D [3329 0 R /XYZ 81.6937 388.3389 null] >> endobj 3361 0 obj << -/D [3333 0 R /XYZ 81.6937 388.9367 null] +/D [3329 0 R /XYZ 96.3701 375.3875 null] >> endobj 3362 0 obj << -/D [3333 0 R /XYZ 71.731 373.8284 null] +/D [3329 0 R /XYZ 239.3308 336.5332 null] +>> endobj +1653 0 obj << +/D [3329 0 R /XYZ 71.731 329.3951 null] +>> endobj +470 0 obj << +/D [3329 0 R /XYZ 198.4659 296.0849 null] >> endobj 3363 0 obj << -/D [3333 0 R /XYZ 81.6937 358.0525 null] +/D [3329 0 R /XYZ 71.731 287.4474 null] >> endobj 3364 0 obj << -/D [3333 0 R /XYZ 81.6937 358.0525 null] +/D [3329 0 R /XYZ 96.3235 277.1559 null] >> endobj -3365 0 obj << -/D [3333 0 R /XYZ 374.7417 358.0525 null] +1654 0 obj << +/D [3329 0 R /XYZ 71.731 218.212 null] +>> endobj +474 0 obj << +/D [3329 0 R /XYZ 233.4943 184.9018 null] >> endobj 3366 0 obj << -/D [3333 0 R /XYZ 71.731 355.8957 null] +/D [3329 0 R /XYZ 71.731 176.2643 null] >> endobj 3367 0 obj << -/D [3333 0 R /XYZ 81.6937 340.1198 null] +/D [3329 0 R /XYZ 436.1187 165.9728 null] >> endobj 3368 0 obj << -/D [3333 0 R /XYZ 81.6937 340.1198 null] +/D [3329 0 R /XYZ 71.731 152.9218 null] >> endobj 3369 0 obj << -/D [3333 0 R /XYZ 96.3701 327.1683 null] +/D [3329 0 R /XYZ 71.731 137.9779 null] >> endobj 3370 0 obj << -/D [3333 0 R /XYZ 239.3308 288.314 null] ->> endobj -1653 0 obj << -/D [3333 0 R /XYZ 71.731 281.1759 null] ->> endobj -470 0 obj << -/D [3333 0 R /XYZ 198.4659 247.8657 null] ->> endobj -3371 0 obj << -/D [3333 0 R /XYZ 71.731 239.2282 null] ->> endobj -3372 0 obj << -/D [3333 0 R /XYZ 96.3235 228.9367 null] ->> endobj -1654 0 obj << -/D [3333 0 R /XYZ 71.731 169.9928 null] ->> endobj -474 0 obj << -/D [3333 0 R /XYZ 233.4943 136.6826 null] ->> endobj -3374 0 obj << -/D [3333 0 R /XYZ 71.731 128.0451 null] ->> endobj -3375 0 obj << -/D [3333 0 R /XYZ 436.1187 117.7536 null] ->> endobj -3376 0 obj << -/D [3333 0 R /XYZ 71.731 104.7027 null] +/D [3329 0 R /XYZ 300.5965 126.4211 null] >> endobj -3332 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R >> +3328 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3379 0 obj << -/Length 2463 +3373 0 obj << +/Length 2368 /Filter /FlateDecode >> stream -xڍk�7�{~��_jkuF�g�S�K�д�n.��l�� �yd���#Ej^�n��1%Q$�7g����M�X��L��B�9����~|�3ʞq�S�7O����&i$���yx���$��J�$������۷W]w���e�m���ק"+����B[o��Y����������<T�H��ֽ�Rm�1 -P��Q� �)T�b+�Ǫ3? ����YFB��z�i�Ko[��*N�}k���m��Ny[���1;?�>��m��{Z;�]=0��i�4�D?�" -T����/�4M�"y�VIŨ��T}�S�V�77�=+����yNG����u�U������1țY!6`H�A�fﳢW�[qe<���fx" "�g��4�ZC�Q�_Q��v��hږ��_��Bg2�#��L�o��n:&�;@-�JZ�R���x���NS��ESX��b�l��� -��:�8W͌%x��(OV��C�4���c��p�ȭ~A��!0�.Y)������p�^�>?!���mj���_:����p��N��R|�˺ܜ~�P���ԝ;%��{��-���� b���Hj���O"��/�L�VdRܮ�W��o^M�D��N�{'�����`�:3�+#�K��D@VB��G�����[2bu���gJ��6F�a��Y|ДM#����e�u~#ؔ���"t匆{(��L��!d�����:� .��)�^��ff��l-�H�uS�`_�ck�ZaX!X@<Y[Xa�3�\CVA�X��]�q��d.(6� p��b�^������ �{�W�0�����àP(I�5f4�ʬ<�i��ԃ6���D�|��@)�dp�` Q�jn�u�2гE~� ������L���yv�e�4`��E+粓�����S���egC��bY�}_�0����TS �6z(�Ƈr#�Mc6�����PQ9t�r�3���d����ԟVp?�rI,�� -��E�Q����SJ��E9�c�L<�9{?��#N0�&���c��m�<�f�!DN"pXVCG]es.8T=>_u��܂0lჽ&:�����ti����-]����Bg9����wB�Byt���ps�t� -����Y��p,4U�h,p�ILɥ��C�`���*�4P6,�w�)L~[{��{44)��,7�\M�}�v��a���<����7�9P�PI�~Mh%bf1�DG�,b!��:47��D(Sz5�!�Ios m�gϓGM5���I_@@�ԥ�]�Dj\v�3*gV0-�P��&kN��w���Y��fF��fcr('C��NPC[G��i���E���� -\6�n��M�L��Q������Ry[߬�������B����m��{d�z�щm���.�*�Q�W|V1�Ơ�3m:_�s��N����Z7�~a���xd��5�l[�w�Hk�w���5�B$��S���j��E�9��r�B��v�H�ˮ���\%vlS�{�mX�nK8Θֱ*����~�c&�%�T8+ҋ�Mǿ;q |z��[G������J�'�K�S� -��R�虍���F -f-��J�@�6]r�-k�}�����CO�/�����Χ�A��)W���a�"�4Y�����b��X6���Jٞ�@m5a<<�j�siK�������<��I����Jܤ8���_m���K���`y�? �ӑ+���7D�>��ʣ�j���n���s.�Taę<�L�Kc�&��Ea� U�5���҇�)����8J%�H -��*�YÌ)�(|��C�g>&Z� ��ݭ3�vΉ$ -��!廥��4�4�;�p���:X�b"h��P[pe���u�q���T.�;�8 ^~�����S[/�K!�D�)T���pX�� -��z�j�l���4L�vJ(�����>��(�L\�ܨ�F�s��@b�{]��3 �����c)j���A:��]�㮝~���G$���m�[�H�Xgh����4Bx%��ਸ���͟Ev�vR&Q��|���g)�۪( EI��(,H0��2똧}-�v�x-+��55j�9���du�<��G���[��W]cV�I���)�mks�lfWr�ʩa>Q�0�eus��x"Rn�BvǮ�T��1Η��-T(��uq����o-0~�=�^1���Y�b�Z�4����S��}��n�[.�����>�����7�x2W0�t���\�VF�f� ���t[�Ł&�Qt����t�%"����Xe�Ț�)}�dQ��k�ZH�ݩn����"bc|&�A<�n����q]��� -���>�"n��G ,�wU6�ڱ����h:�㷏o����?z�w�i;��)ϡ�^>��O\�흗ڨI�榤��l>���zY�2;^�'���e�Θ?�I�$"���^a�s�*�2���%|k��mV����&endstream +xڍk�۸�{~��_jk�D��~�m����p���h���i[�^��l�_��P/��C�xH��yj����M�X��L��B���w��G?��e�8�)ҏ/�~xVj��4���� <O�^�nb%E��������E7�iw{z[%����̫����:�֏���л���݇��y�b�&��M �{e<��i�%B*�~<�I���W.z'����n ��,3]Gp_��%睓���5���G2�����������hq`�sMƘ�`>s��{gZ���31M������mvH��v����Q��`��/E��5CV��W~����/H���9���������ª���∰���|+��t0E����u�2��.�~���9��l@��ҽ;%���=b��:�)0 +"抇V�"��+8 A��� ��Iq��_M?��|�b�%�H�l2�;�.k�'�����/��.ŷ�#y���5�{,1�2���zA�����GDXyw�S�`)������]^6ō`SYJ�Е{4�C�'g�� !k ^w�a�MpY����bM4s������i�ik�[~dl�^j+K�'�VX�FShH1h�����5�� ikn���������>�MK���&�k����a��������dV���q�� ��?$�����F�$��2T{�/Õ�ޱ�_rB�r0�2S!�m~�]k' <��ТUs�鵭�����Q�c�C��b��}_�0�M��"���T�m((*N��/�T���lN�-`)��4r��vg����>��rR)���.DK��|��*P����&h�y��TL?<�&��xg�'P�<(9{?��#�0�'������c���6��3�"g8�Ꞁ�����I �+�^t��݂0l僽&z� +��9��i�k�w,t5<�/�0RV�R�����{B�B"yt�ps�t� +̛��Y��p0�u�h,<p��$�����!��`Du%l)f�<ȇ�)Mq[�1�+>O������q<t ����u0����?��f��u�@yB%:6�����A��x��~L�� V�S�����S�����y2�T�lH�:.0��hS����+�I�K���bJ�� +O�'�"���G�O:�s[_�ij�m���z2$��E�sT�m��4���V�y�E�d��N��?�k� +H��f��u@�@� �l�Gs¢�!��B'��C�bTC��F��^�Y�L�� N��|�މ +6]JK7�B���B�E����ygM�"�COV{���)�k>�"HR�F�°��Ei5���9��堇2��ޑ��]��J�Z,��<��N����x�-�8gZY]�m]��ţ�����dR�PB�N���8��;�``*��u�Gb �'���� ��tdJ�ѳ7�.r)�� X�lo�(���t����=6b��6nMj4tMw����A��)LW=���a�"�4Y}@w1�ص�l_;zG��=����xx"բ�Җrw��zGP)��}�w%nR�� +��W�k�r��`�'X^i�*!B�q:r%p�����G2V������ox�R�?��9zB�0�Lp&���u���0q ��Vx2L��B0E��B�B�$I��R�:k2E�o�vH��g��Co�r���5�̅t" ��{H�n��=M.��";V��Z�2�\٬�"El��8UKe�#���mm��{Om��.�������{B�QC!�V�h�6���M��iG���X +W��>��(�L\6ܨ�FɃ�}�Ğ_iv��3�PB�GZ�1H��p��8vwя�v��߇���S��n"�,`��M�Z�j�h�,���?X 4W6��|� �L�o����)�S]����ho$��*�~{�]�DfM�BvP�%�1yS0ϩ�Q��W(�}�E7��}BR8���FJm��d���JN[95�'jƸ̡n.pOD��U�.믔 +p5������ +�Z�.�<|ށ�����앇}x?�B�T�V˟�g�*d��uM���-����X�y�sFB�~{���x2W0�l���\�VF�� ���t[]�M��,�L�l�MG�D���a�ʋ�5�S�,ɢ�k�ZH�ݩ�����"bc|"�A<�nͿ�y�h+ ����}�E�zS�@X���%�֎����Fә�z���珿��ᯄ��0vS�Co�T�Ӈ�\�흷ڨI�榤��l>��� zY�4;^o&���i��1��D��H�0��N���G@G+"���"E�z1������sBJ?�L(�נ��k��@#��ye�h�T��ď��&8��P(��i:PB�������>$�Cendstream endobj -3378 0 obj << +3372 0 obj << /Type /Page -/Contents 3379 0 R -/Resources 3377 0 R +/Contents 3373 0 R +/Resources 3371 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R -/Annots [ 3393 0 R 3394 0 R ] +/Parent 3285 0 R +/Annots [ 3387 0 R 3388 0 R ] >> endobj -3393 0 obj << +3387 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [70.7348 231.3697 111.8612 242.2737] +/Rect [70.7348 283.8728 111.8612 294.7768] /Subtype /Link /A << /S /GoTo /D (gloss-product) >> >> endobj -3394 0 obj << +3388 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [409.6821 231.3697 469.7956 242.2737] +/Rect [409.6821 283.8728 469.7956 294.7768] /Subtype /Link /A << /S /GoTo /D (classifications) >> >> endobj +3374 0 obj << +/D [3372 0 R /XYZ 71.731 729.2652 null] +>> endobj +3375 0 obj << +/D [3372 0 R /XYZ 71.731 741.2204 null] +>> endobj +3376 0 obj << +/D [3372 0 R /XYZ 71.731 718.3063 null] +>> endobj +3377 0 obj << +/D [3372 0 R /XYZ 71.731 649.3998 null] +>> endobj +3378 0 obj << +/D [3372 0 R /XYZ 71.731 623.497 null] +>> endobj +3379 0 obj << +/D [3372 0 R /XYZ 118.5554 584.9329 null] +>> endobj +1655 0 obj << +/D [3372 0 R /XYZ 71.731 511.3104 null] +>> endobj +478 0 obj << +/D [3372 0 R /XYZ 226.7368 473.0324 null] +>> endobj 3380 0 obj << -/D [3378 0 R /XYZ 71.731 729.2652 null] +/D [3372 0 R /XYZ 71.731 464.2096 null] >> endobj 3381 0 obj << -/D [3378 0 R /XYZ 71.731 741.2204 null] +/D [3372 0 R /XYZ 71.731 444.3351 null] >> endobj 3382 0 obj << -/D [3378 0 R /XYZ 71.731 668.792 null] +/D [3372 0 R /XYZ 71.731 420.5891 null] >> endobj 3383 0 obj << -/D [3378 0 R /XYZ 71.731 596.8967 null] +/D [3372 0 R /XYZ 71.731 413.4509 null] >> endobj 3384 0 obj << -/D [3378 0 R /XYZ 71.731 570.9938 null] +/D [3372 0 R /XYZ 349.6963 402.6563 null] >> endobj 3385 0 obj << -/D [3378 0 R /XYZ 118.5554 532.4298 null] +/D [3372 0 R /XYZ 71.731 382.5667 null] >> endobj -1655 0 obj << -/D [3378 0 R /XYZ 71.731 458.8073 null] +1656 0 obj << +/D [3372 0 R /XYZ 71.731 351.6826 null] >> endobj -478 0 obj << -/D [3378 0 R /XYZ 226.7368 420.5293 null] +482 0 obj << +/D [3372 0 R /XYZ 179.4984 308.5851 null] >> endobj 3386 0 obj << -/D [3378 0 R /XYZ 71.731 411.7065 null] ->> endobj -3387 0 obj << -/D [3378 0 R /XYZ 71.731 391.832 null] ->> endobj -3388 0 obj << -/D [3378 0 R /XYZ 71.731 368.086 null] +/D [3372 0 R /XYZ 71.731 299.7623 null] >> endobj 3389 0 obj << -/D [3378 0 R /XYZ 71.731 360.9478 null] +/D [3372 0 R /XYZ 238.5875 261.1231 null] >> endobj 3390 0 obj << -/D [3378 0 R /XYZ 349.6963 350.1532 null] +/D [3372 0 R /XYZ 71.731 228.4557 null] >> endobj 3391 0 obj << -/D [3378 0 R /XYZ 71.731 330.0636 null] +/D [3372 0 R /XYZ 411.9612 217.2875 null] >> endobj -1656 0 obj << -/D [3378 0 R /XYZ 71.731 299.1795 null] +3392 0 obj << +/D [3372 0 R /XYZ 71.731 186.3037 null] >> endobj -482 0 obj << -/D [3378 0 R /XYZ 179.4984 256.082 null] +3393 0 obj << +/D [3372 0 R /XYZ 71.731 171.295 null] >> endobj -3392 0 obj << -/D [3378 0 R /XYZ 71.731 247.2592 null] +3394 0 obj << +/D [3372 0 R /XYZ 71.731 156.351 null] >> endobj 3395 0 obj << -/D [3378 0 R /XYZ 238.5875 208.62 null] +/D [3372 0 R /XYZ 71.731 145.4569 null] >> endobj 3396 0 obj << -/D [3378 0 R /XYZ 71.731 175.9525 null] ->> endobj -3397 0 obj << -/D [3378 0 R /XYZ 411.9612 164.7843 null] ->> endobj -3398 0 obj << -/D [3378 0 R /XYZ 71.731 133.8006 null] ->> endobj -3399 0 obj << -/D [3378 0 R /XYZ 71.731 118.7919 null] +/D [3372 0 R /XYZ 91.6563 127.6237 null] >> endobj -3377 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F48 2104 0 R /F27 1258 0 R >> +3371 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3403 0 obj << -/Length 1539 +3400 0 obj << +/Length 1713 /Filter /FlateDecode >> stream -x��YK��6����bV$��-�M��6H����@K\[��$g���ER�%Q�-�$�����̐Ǝ� 1 -)\H�H�')n\g���`�(�������R'Fq@g��x��B7����8r��_��;��^o��(�חi��Y�Y��C�N��<g뿷����}�8 �����$4lԳu#D=v~�����c� -�.�ϩ%ȋ�n�w��@�����1%N-�1 -��z����,��PwՃ����q���� �����b�uB�x��ٱͪ�6W/F~��+�Ր�0W�f�����WSL ß?w)����La�>�,�M[����U��g�D�iK!�I3$.��Qbz�Fjʼn���0V&j�x�Ok��շ,�_���ɰSy~��vD��!?Q���2%��Q��O<�I;���>����ͫ��# �5qW't�l�6�H�\B�+�eH\`K��l���j��d�5�qsR9�{<��^\uU�qޯ@�N���kŲ�i�E|g�{�=+NJ�7��j��>�7�5zQ�pD��ޔh�G]���S����ay^u�k"����ࡧd8KL?�(�lw�0us<)G�7 -܀�s~�4,>�|D��]y�����R�x�e���⺤.�P<�C͛C��6�]y%Wdܐ���F ��O�N��������tL/;���k���_!˜�9'<��I���8���������o�}|��Ny�e�R�c�1^����c4�(��s�)��Օ�#O�E��!K��Pi�rW6S��ׅ`� -,��ۚ�e�9�Z)JY����v���0��ج�8רI�U�]���W�4a&x�&��r�˟��`�IQ"�F�r.O����lƿ3�'˛��<+��OJ��wo��tT��$ፒ����Q=k�'M&�(���8H���M�ژ��;�Ҥ?�!�R�jl�G����V��VL� +:O�:�k@�4��c!3F4$rq#��m��\(�y�t���}��.� -76J�i��E�x2,���*����f??O�Y�B�Z�8�ϟ?pP�����͏e #1��b4�Ui]���&Ld���B�>2#���<TUZ�ʴ���C{�A�:�he�o"�Q�b{�l^�1��)d�E/�(��z���X�4�M�ȶ���ҁ�!ge����V�]g�Ck�1�ȏ�,�H�q+�S}O�pI�X�����C�}��yl���:#�ϼ���?���y��[�& T�>�پ��� ��������xv�̨|�GM��6*vL�p3�]m�i���x�����_;����n�c�)�FC��ٕ���Z -ʪ�X��@|yj��N}.�I��YѺT�.Z(F�?_�CCI�m8):�TG�~R�m�x�q#^�%K�� Q���\���;���J��a�N�$_~�v2�v@�C�G!�,=�FmL�L1�&w�ʌfr�N(4��[�ޣ.h�I���3����M���.��]ZT}YT�Z���E8��00��+|!*B/�[¾�������Aendstream +x��YY��6~�_!�Kl fERg�rl��6H����-Ѷ��l����K�uy(XQ�pf� 9�Ɩ ��1�)<H���+�nl�����`-��2������Oo(�Bzij�{˱m��Ah����Ł���Z�:�S�������"�|gI�TП����9���)[�����n�w����,,z�J�}$~�G3[;@ԡ���5��29�I��kq/����p�4ANh���}>; D��M_���#��hgW��B�+�W��(���U�Tq�bZ���RkC +�#�~����k׆#KR^�E�+��/J�;�Fʧ0sB�z�"f=��)1�_;@J ���{��#� @<o�����[��zJSHb���kl�X����E�c�^��������OyT�M<?��-��*-*4���^5z��.g�r=��^���y�Z�1Zf���*|M` �usR���{8���\e��~��@N��kwŒ������{�5��7a��;>���j6��G6����i\��H]�S��2�1�4-$�I�C҅�))n:>�' �lGL7N�����+�Ϸ�tH��C���녤�q>$�����I���"�bۤ�XWA�cɫc��s�;.�W�؝�ĕ�p���vNS����C`YSb�@�h�_��\mX���8��/��akK���W�߿������:F5����k�� +��<sl9%WCO�B ��,'%{ ��1��&P��2)�(��M!X��u��b�p��ԖbV���?��G���z_�<�Ԩ��ŝ����\�0@ �%)ۥ���`8aP����.���-�l"�ԓ�Uq6 M��jU�mY4'}j�"^i���H+MZ+>b�4�(p|bQ��=]�7�Ԧ/6�X��G��N�`{�p(�Ǣ��/�ڄ2R I-����#B���C�3D�'�`'�8����(*x�v���}P/J�UE+��� ;�F�8�n����}l������h��0!{Ʌ�)�t� ��6}��S�P�p��� D�G�I�������H�p�~!��k�RV`�qf�Ⱦ(�[���WC��.:��բΌ����(v�h6J� k*�.D�'�%#% "�Q�0��(-�0�={$T�;<�����]Q��29�y�n� .�ؓZ��H�m>��'����H�p�.ol�L�2�VЮp6���7h[3���HpZ��f�k�A�h��/����c,��_�IOj!&FJ����d��b���Hw�n�D��wx�:�2�����s���NJ1MӠ58�@�ɠRCQ/��:#-��' +Ɗ�T��@�l*���᪤Ħ(��� � *P�0�@����J +"��I�'URu+�h���{�Qb#>��K���H~z#,�$7�r��*��*Js�����0@��1��b����aFj��`#m�H�ݨF�Єm�β�V�u�x�z@Tά.*9��9�MRE]��%�9��c�4�Q\5�KD]}�-���箥�?Lv( 5M�T�U�Xߡ�J��G����-J�����ݚj}����*����AQ�Z6ŝ�وgMţ�UU"Rc$�=3�6�G!]B��ɛڡ� �Y7e.w��\L��,�����W�����չ�8�N){�)G�N�(���J��������[�^l0�y(�ǵ箐ꖅ��q�2 ���Ɍ�qI�l��&���s&�͉[endstream endobj -3402 0 obj << +3399 0 obj << /Type /Page -/Contents 3403 0 R -/Resources 3401 0 R +/Contents 3400 0 R +/Resources 3398 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3274 0 R -/Annots [ 3435 0 R 3449 0 R ] +/Parent 3285 0 R +/Annots [ 3429 0 R 3443 0 R ] >> endobj -3435 0 obj << +3429 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [382.851 301.7037 437.147 312.6076] +/Rect [382.851 342.5505 437.147 353.4544] /Subtype /Link /A << /S /GoTo /D (product-group-controls) >> >> endobj -3449 0 obj << +3443 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [471.8565 147.5617 524.2196 158.4656] +/Rect [471.8565 188.4085 524.2196 199.3125] /Subtype /Link /A << /S /GoTo /D (components) >> >> endobj +3401 0 obj << +/D [3399 0 R /XYZ 71.731 729.2652 null] +>> endobj +3402 0 obj << +/D [3399 0 R /XYZ 71.731 718.3063 null] +>> endobj +3403 0 obj << +/D [3399 0 R /XYZ 71.731 706.1869 null] +>> endobj 3404 0 obj << -/D [3402 0 R /XYZ 71.731 729.2652 null] +/D [3399 0 R /XYZ 91.6563 690.4109 null] >> endobj 3405 0 obj << -/D [3402 0 R /XYZ 71.731 718.3063 null] +/D [3399 0 R /XYZ 71.731 665.34 null] >> endobj 3406 0 obj << -/D [3402 0 R /XYZ 71.731 708.2442 null] +/D [3399 0 R /XYZ 91.6563 649.5641 null] >> endobj 3407 0 obj << -/D [3402 0 R /XYZ 91.6563 690.4109 null] +/D [3399 0 R /XYZ 71.731 637.4447 null] >> endobj 3408 0 obj << -/D [3402 0 R /XYZ 71.731 665.34 null] +/D [3399 0 R /XYZ 71.731 626.5505 null] >> endobj 3409 0 obj << -/D [3402 0 R /XYZ 91.6563 649.5641 null] +/D [3399 0 R /XYZ 91.6563 608.7173 null] >> endobj 3410 0 obj << -/D [3402 0 R /XYZ 71.731 637.4447 null] +/D [3399 0 R /XYZ 71.731 596.5978 null] >> endobj 3411 0 obj << -/D [3402 0 R /XYZ 71.731 624.4932 null] +/D [3399 0 R /XYZ 71.731 583.6464 null] >> endobj 3412 0 obj << -/D [3402 0 R /XYZ 91.6563 608.7173 null] +/D [3399 0 R /XYZ 91.6563 567.8705 null] >> endobj 3413 0 obj << -/D [3402 0 R /XYZ 71.731 596.5978 null] +/D [3399 0 R /XYZ 71.731 555.751 null] >> endobj 3414 0 obj << -/D [3402 0 R /XYZ 71.731 585.7037 null] +/D [3399 0 R /XYZ 71.731 542.7996 null] >> endobj 3415 0 obj << -/D [3402 0 R /XYZ 91.6563 567.8705 null] +/D [3399 0 R /XYZ 91.6563 527.0236 null] >> endobj 3416 0 obj << -/D [3402 0 R /XYZ 71.731 555.751 null] +/D [3399 0 R /XYZ 71.731 514.9042 null] >> endobj 3417 0 obj << -/D [3402 0 R /XYZ 71.731 542.7996 null] +/D [3399 0 R /XYZ 71.731 501.9527 null] >> endobj 3418 0 obj << -/D [3402 0 R /XYZ 91.6563 527.0236 null] +/D [3399 0 R /XYZ 91.6563 486.1768 null] >> endobj 3419 0 obj << -/D [3402 0 R /XYZ 71.731 514.9042 null] +/D [3399 0 R /XYZ 71.731 474.0574 null] >> endobj 3420 0 obj << -/D [3402 0 R /XYZ 71.731 501.9527 null] +/D [3399 0 R /XYZ 71.731 463.1632 null] >> endobj 3421 0 obj << -/D [3402 0 R /XYZ 91.6563 486.1768 null] +/D [3399 0 R /XYZ 91.6563 445.33 null] >> endobj 3422 0 obj << -/D [3402 0 R /XYZ 71.731 474.0574 null] +/D [3399 0 R /XYZ 71.731 433.2105 null] >> endobj 3423 0 obj << -/D [3402 0 R /XYZ 71.731 461.1059 null] +/D [3399 0 R /XYZ 71.731 422.3164 null] >> endobj 3424 0 obj << -/D [3402 0 R /XYZ 91.6563 445.33 null] +/D [3399 0 R /XYZ 91.6563 404.4832 null] >> endobj 3425 0 obj << -/D [3402 0 R /XYZ 71.731 433.2105 null] +/D [3399 0 R /XYZ 71.731 392.3637 null] >> endobj 3426 0 obj << -/D [3402 0 R /XYZ 71.731 422.3164 null] +/D [3399 0 R /XYZ 71.731 379.4123 null] >> endobj 3427 0 obj << -/D [3402 0 R /XYZ 91.6563 404.4832 null] +/D [3399 0 R /XYZ 91.6563 363.6363 null] >> endobj 3428 0 obj << -/D [3402 0 R /XYZ 71.731 392.3637 null] +/D [3399 0 R /XYZ 71.731 356.4982 null] >> endobj -3429 0 obj << -/D [3402 0 R /XYZ 71.731 381.4696 null] +1657 0 obj << +/D [3399 0 R /XYZ 71.731 343.5468 null] +>> endobj +486 0 obj << +/D [3399 0 R /XYZ 268.9457 306.3312 null] >> endobj 3430 0 obj << -/D [3402 0 R /XYZ 91.6563 363.6363 null] +/D [3399 0 R /XYZ 71.731 295.9662 null] >> endobj 3431 0 obj << -/D [3402 0 R /XYZ 71.731 351.5169 null] +/D [3399 0 R /XYZ 71.731 284.0499 null] >> endobj 3432 0 obj << -/D [3402 0 R /XYZ 71.731 338.5654 null] +/D [3399 0 R /XYZ 71.731 279.0686 null] >> endobj 3433 0 obj << -/D [3402 0 R /XYZ 91.6563 322.7895 null] +/D [3399 0 R /XYZ 89.6638 258.3113 null] >> endobj 3434 0 obj << -/D [3402 0 R /XYZ 71.731 315.6514 null] ->> endobj -1657 0 obj << -/D [3402 0 R /XYZ 71.731 302.6999 null] +/D [3399 0 R /XYZ 116.5027 258.3113 null] >> endobj -486 0 obj << -/D [3402 0 R /XYZ 268.9457 265.4844 null] +3435 0 obj << +/D [3399 0 R /XYZ 317.6563 258.3113 null] >> endobj 3436 0 obj << -/D [3402 0 R /XYZ 71.731 255.1194 null] +/D [3399 0 R /XYZ 71.731 256.1545 null] >> endobj 3437 0 obj << -/D [3402 0 R /XYZ 71.731 243.2031 null] +/D [3399 0 R /XYZ 89.6638 240.3786 null] >> endobj 3438 0 obj << -/D [3402 0 R /XYZ 71.731 238.2217 null] +/D [3399 0 R /XYZ 131.1675 240.3786 null] >> endobj 3439 0 obj << -/D [3402 0 R /XYZ 89.6638 217.4645 null] +/D [3399 0 R /XYZ 71.731 238.2217 null] >> endobj 3440 0 obj << -/D [3402 0 R /XYZ 116.5027 217.4645 null] +/D [3399 0 R /XYZ 89.6638 222.4458 null] >> endobj 3441 0 obj << -/D [3402 0 R /XYZ 317.6563 217.4645 null] +/D [3399 0 R /XYZ 71.731 220.289 null] >> endobj 3442 0 obj << -/D [3402 0 R /XYZ 71.731 215.3077 null] ->> endobj -3443 0 obj << -/D [3402 0 R /XYZ 89.6638 199.5317 null] ->> endobj -3444 0 obj << -/D [3402 0 R /XYZ 131.1675 199.5317 null] ->> endobj -3445 0 obj << -/D [3402 0 R /XYZ 71.731 197.3749 null] ->> endobj -3446 0 obj << -/D [3402 0 R /XYZ 89.6638 181.599 null] +/D [3399 0 R /XYZ 89.6638 204.5131 null] >> endobj -3447 0 obj << -/D [3402 0 R /XYZ 71.731 179.4422 null] +1658 0 obj << +/D [3399 0 R /XYZ 71.731 173.5293 null] >> endobj -3448 0 obj << -/D [3402 0 R /XYZ 89.6638 163.6662 null] +490 0 obj << +/D [3399 0 R /XYZ 226.1083 134.2565 null] >> endobj -1658 0 obj << -/D [3402 0 R /XYZ 71.731 132.6825 null] +3444 0 obj << +/D [3399 0 R /XYZ 71.731 123.8915 null] >> endobj -3401 0 obj << +3398 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3452 0 obj << -/Length 2616 +3447 0 obj << +/Length 2808 /Filter /FlateDecode >> stream -xڥˎ��>_a�el�fD�[�`v�6`��drP[�[=QΤ�뷊U�(K=�`��b�^,փ���~r�J���Q�PI�6��]�����w�Q�s�>���0��"OT�9�7Q�4��M*��2��m?>�A�����m(��X6U[�W�@n�߫�.v�>��ݧ��<S�g���XKU����D��N� Y�����B��l���� &_�� -�]y; �b��p�9�@HŖ�q����|����`[���x�_��RGȵ���4;���m�5���y�y]��ht����/��ky˵�hAß�w;�ߌ>Յ1�� P'����v@�QE�D�Ȫ������2�n}�Kw-�#Am^+�j�Kg��"@��2�9��2x�%���S���[I$�0��N�t�����t��.�����g��8Ӗ�j� -7�Q�}�v*�~�I�m�'�|�%>JCkE� \����陖�U��0:�C���-���I0bG���̥�`ϟ)���+ޠ��a<x&�`�vZ��=A��b@X g�;��&�d8�U�OC�N ��c2yG5ޚ[�}��6w��������� �R�j[<u7$���`;��Mb���?k��;�IC+�^���f|Ј��i�s�t�v��e -)��L|��*m�k\�x/Ӏ���� �G*m41��H�4��ۆ���И7���ܬS����b]v��~����5��`���?x}to�� ��jm�r�Q�K�ݮk����r�ڡ�jpw -ճ��"�A�C~�!����*Ǩ��+��/?~�K0ha(f!�J�� -���F�3�ā�r�2��������`N��h�oQ���j�\p�e�����R��Uɶ�\=�-��r��eLm4��֯�z;�<|"f�<��١Fr.����<�I<�a_�5J�8"Y���ɒ?Ќ�'�<��<0Ą�+�+s�ދ=J�ragv�\]�ẃ��.���Ƒ�f\�c� �8��t���^�j�L���B1L��]�8#2��I`��*_r� ���ʹ�f����H�����lb��`���� ȡ6fg�1恘-��*`j�+K�T� -�M�"�U�Z�:���EE���fʛ�\�8��7x;���/�!w��A��d��ʞw��5��DH� �2Γu���G[QkA %���(^(��`�<R� �[2,�y��9�)R�?g�Y�|Ͱa,�4� -��QI����:�h+J-��6]Ȑ"�� �[2,�������A3��Q������P�^�1���� N�PUXH�9�F���;�'r&�*��������zl��pKϛlx�oA�0:AIm����=��GW-��#WK�Q�����cv��;��l�ʤ�ZӨkj랫+{d���;.㨔���&Oz|1�l� q%�;�s�:C�Hj�rTguj.ZTt��h�+U.9 ��! rOl����E�C} G�N�-�{��}uFZc%�T⾘5�bGbO<�b��젩�Z����l:�ii��)���.�W��{b���nX�bn!�K�Ξ0�$ⴏ �{�0���Uc��RA��T�K���㝌�)���\�s�q��J���}��#�X����j~��+�͝��L��T\y��I{�� -^9����AN�ၖ8�����W�y�3,�&)`�U�0��.; -Go��b����^�����]����hgx3��K���peVXÜb �C�4�}^\�q�O~��;3&Q0&�wt�=e�ǽ^��g�yҝ��zm�DZ �wU�f��>�o�ͩ��^E�1�;��վZ��k�B���dj�.Z�z$��}^S�sY�A���f�āZ��]�Oi�;a�L1��w���N¿W����OI({���l�on�0�J�)���MB*�6���KN�8��酐<9P�=Ӱ� ���4���zB�`�N��jn�G�x��7���[㭨M2˜e�k� �s\�g���6��z�cB&��sd�UX�B�1=D��R��S�\�gw�s���8��S�4�7<�x?d�캒����>~Đ���е4����&�`�H"�������b`5ښ@G��I��@��<�>�Y x�J���Wj̨���J�Es��^�;�_��8�D��;�0K��|�>�2.h��d���(�`C�c!�B�8Y -��L��k�<�y��U�t��x�q8;���ɀu�v&Ʈ1����b�e��n�%l(W&l��p -�C�/ӟ*s�d��H�R���T�JX4�@�y:�c�4+�C����@��5#]�'=��U���.rcB��C���AJ��IH�ʺ=�c����� ��d}�8�����GL�3�)��;�Ԧ�e��؉�I�*���e"nT��J�!��y��'g�&p�)dU:�O��_V8��d��#����s����"s:d�������l�84�Gm9������5�B��}fD����y��z,� ��r�`ɴb�(���\5B�}��{�B�H!��a�H$ -��ܬ�>���F2����/��Y���V�l��\�����W�BpU�endstream +xڥ]���}E�/��Ւ%�mw����.p�{���;w;��n�~��"e˱g��"�(�_�(R��D�T�4�F�B%Fm�w��S_�IF�3�>D����/?��&y����q��H�Q�o�X���l�P�s{�T\���핉����cy����nO�t=�^7M������}~��8y^�p�Zʨ�@F�m��Xǩ��n��P���c�l���2�8H���I�}��Kߕ��`i��+�-�Uqx��CSX[�"���p�ԇ����.!��8����V��`�R B��8Q[�}�R��H���p��-����^���f������� +wq�#h(��` �+�,��`��\�}u��]b��<!�d�����\���\�Ǯߩh��kk��g���նx�H8�y5�&v0(+4I[�����k�0��Ѷ�4s�+p�RЈ7��9�xΒ���w4]��0���K�ue����hA�8��I�-�ʢ{����n����;J� C_?�1�t`��:�NIUGŹ�������Н/][����O�[�E�s�Tv�,�?����� 냁�еC�5���;�H �9Qx�a��������ܯ������`�xʏ��v��Z8�$���.��4P���0ʟ��D���˨2�$�U��J��:��&�ΐ�]d�_8Z �M:�-ʒpڊ"+F��(����~?�dFU���b���g`� +��J��l�Tί�y;���L*̄y���U˹����0�M�1�:���L=�EG�J��=�.ũ���p�nw��phfn�[�G�W��̮qġ��^����}���#��b������Ɩ�&�|�����Ԏ�&���S��;pFdǓ�, �}.9��}se�G3���H��Ӈ�lb��~�(�� 7ȣ�;����.��0lIs��W�M��*T�7F&"Qp^ג�����ǂ�Ly�`�KaR����c��|A ���J�"�t���O�� �/YT%B�(��d���jy�}���ւJ�+ġQ�X$�H�Z�7d�Xoɰ��V搎J��?W�]�/66"I����p��u�<�>D[QjAmŰ�B@6��ߐ�c�%Â�h��{n�L�����������?���v�鿸�� ��!�p���xɠ�J`�__����?�8�g����T����;���������ȅWhj8�B��)��O����t?�l ���-!GA|�h��2c�n��sG٘-Q�T[ �}�8ϵO����H-��p~�i�����C���B\��^�\��;�4�ڹ��QD�����5�~(ځ��B�K�B�jI�<�Gwj���P_a��sF���m_��֘��$����˸OvͪX���!�(N;(���b��2��V45+�`p��g��������\)Qƹ� �Z�w��'aYj���%�Fy>b5Xd�h9ʹ���|9�I��O�Ʌ��zg�}���3��V"�4�y"�G|]����j�G�(�͝��*u�8�&�>���'�r +�Ã���{��@=N�_���0�c����)BC��(� �z��ۧ�{�#Ƴ�2>{*�! +@㫑�����L�7K�aL1쳥L�!/N�����ħ?�����(��:���V�^.������w�͂2�~,���,�� ��Ж�=��%�(8&� �0��W��xmYܙ�)�ڹ*Z�r$��u���8B��-2Q%N49?7�Ҍ�a�L�>`�����;Դ-�QO3 +�s� +<%���������3�ěb�ŭQHŷM�$�R�E��}|&�@��i�P �3��i k!U�`'�b���{�x�$4���;㭨M2˼e�g)��g��!�hl� 8�p�A���wd�YX�B�1=D��T��S�\.��DƏ�E�q���38�q*�{����Je?tx������_������^ۆ�)~ ��%��z=���:WΤ�z�+;�"����1+�(!��W��3��}dQ鱣8_���v���}�A�� ��F�2�V�C�������ʕ���\&����u!<�BH�,��x&�їm���<~�2Y��3�}��6`�g2`�hW��S�\��M ;��ꯄ �ʄ�~nQ�b}�>R����(: E(�������9Бph�@ٹ:�c^4K�c����_ ���N�K��*��s��B��C���^J��$�s���1K�]�섇O�!gS�I��#f����Ǖx�^��؉��<�+��etB��Ϯ�@���@���zr�-��O�V������ +G������U���E�?:d�GT��`y6FqУA�8��Z�dy�r���>1"�[`���8N��X�'�u�5��iž��n��Ah���~tkV)D�7̪E������ix����<�q{l�`�a0�t���Bg:e6�E� +��8��� �+�lb���g��-<��e�9LJ6��`ȑLυ����~�v=S�O�Й6֯o�ʄN�~uce,"3:{w��q�:$/Tڼ��:������\��[eR)�D��Ӭ:�JF�vD)�u�v�d>���T���2�!.��Oj�fn.�¹Jğ98o��?�\����I�9�>��,�ao%v�V� +UD�+���`�-��[� ����,�X�r�z*�t<�PZR��]�9��0�Ы�Q���4Ȱ�Ϡ̋���K���M��O���OX��$|�ɦ��P�@&'���>2����"�Y��N��d���Pm^��� +�?��$�endstream endobj -3451 0 obj << +3446 0 obj << /Type /Page -/Contents 3452 0 R -/Resources 3450 0 R +/Contents 3447 0 R +/Resources 3445 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R -/Annots [ 3457 0 R 3459 0 R 3461 0 R 3466 0 R 3469 0 R ] +/Parent 3285 0 R +/Annots [ 3451 0 R 3453 0 R 3455 0 R 3460 0 R 3463 0 R ] >> endobj -3457 0 obj << +3451 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [240.2078 466.9393 292.5709 477.8432] +/Rect [240.2078 513.4696 292.5709 524.3735] /Subtype /Link /A << /S /GoTo /D (components) >> >> endobj -3459 0 obj << +3453 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [225.1145 449.7238 271.9385 459.9105] +/Rect [225.1145 496.2541 271.9385 506.4407] /Subtype /Link /A << /S /GoTo /D (versions) >> >> endobj -3461 0 obj << +3455 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [234.6782 431.791 281.5022 441.9777] +/Rect [234.6782 478.3213 281.5022 488.508] /Subtype /Link /A << /S /GoTo /D (milestones) >> >> endobj -3466 0 obj << +3460 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [145.4437 309.8085 197.249 320.7124] +/Rect [145.4437 356.3388 197.249 367.2427] /Subtype /Link /A << /S /GoTo /D (groups) >> >> endobj -3469 0 obj << +3463 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [87.6113 196.2344 149.3793 207.1383] +/Rect [87.6113 242.7647 149.3793 253.6686] /Subtype /Link /A << /S /GoTo /D (group-control-examples) >> >> endobj -3453 0 obj << -/D [3451 0 R /XYZ 71.731 729.2652 null] ->> endobj -490 0 obj << -/D [3451 0 R /XYZ 226.1083 707.8408 null] ->> endobj -3454 0 obj << -/D [3451 0 R /XYZ 71.731 697.4758 null] +3448 0 obj << +/D [3446 0 R /XYZ 71.731 729.2652 null] >> endobj 1659 0 obj << -/D [3451 0 R /XYZ 71.731 604.9268 null] +/D [3446 0 R /XYZ 71.731 651.4571 null] >> endobj 494 0 obj << -/D [3451 0 R /XYZ 145.8713 547.0039 null] +/D [3446 0 R /XYZ 145.8713 593.5342 null] >> endobj -3455 0 obj << -/D [3451 0 R /XYZ 71.731 539.6516 null] +3449 0 obj << +/D [3446 0 R /XYZ 71.731 586.1819 null] >> endobj -3456 0 obj << -/D [3451 0 R /XYZ 71.731 480.887 null] +3450 0 obj << +/D [3446 0 R /XYZ 71.731 527.4173 null] >> endobj -3458 0 obj << -/D [3451 0 R /XYZ 71.731 462.9542 null] +3452 0 obj << +/D [3446 0 R /XYZ 71.731 509.4845 null] >> endobj -3460 0 obj << -/D [3451 0 R /XYZ 71.731 445.7387 null] +3454 0 obj << +/D [3446 0 R /XYZ 71.731 492.269 null] >> endobj 1660 0 obj << -/D [3451 0 R /XYZ 71.731 427.806 null] +/D [3446 0 R /XYZ 71.731 474.3363 null] >> endobj 498 0 obj << -/D [3451 0 R /XYZ 373.7867 389.8732 null] +/D [3446 0 R /XYZ 373.7867 436.4035 null] >> endobj -3462 0 obj << -/D [3451 0 R /XYZ 71.731 379.5082 null] +3456 0 obj << +/D [3446 0 R /XYZ 71.731 426.0385 null] >> endobj -3463 0 obj << -/D [3451 0 R /XYZ 100.9239 369.7487 null] +3457 0 obj << +/D [3446 0 R /XYZ 100.9239 416.2789 null] +>> endobj +3458 0 obj << +/D [3446 0 R /XYZ 268.3242 416.2789 null] +>> endobj +3459 0 obj << +/D [3446 0 R /XYZ 71.731 396.1894 null] +>> endobj +3461 0 obj << +/D [3446 0 R /XYZ 71.731 352.3537 null] +>> endobj +3462 0 obj << +/D [3446 0 R /XYZ 71.731 308.5181 null] >> endobj 3464 0 obj << -/D [3451 0 R /XYZ 268.3242 369.7487 null] +/D [3446 0 R /XYZ 71.731 243.761 null] >> endobj 3465 0 obj << -/D [3451 0 R /XYZ 71.731 349.6591 null] +/D [3446 0 R /XYZ 71.731 228.817 null] +>> endobj +3466 0 obj << +/D [3446 0 R /XYZ 71.731 179.7659 null] >> endobj 3467 0 obj << -/D [3451 0 R /XYZ 71.731 305.8235 null] +/D [3446 0 R /XYZ 141.0038 166.8144 null] >> endobj 3468 0 obj << -/D [3451 0 R /XYZ 71.731 261.9878 null] +/D [3446 0 R /XYZ 527.4622 166.8144 null] +>> endobj +3469 0 obj << +/D [3446 0 R /XYZ 136.2087 153.863 null] >> endobj 3470 0 obj << -/D [3451 0 R /XYZ 71.731 197.2307 null] +/D [3446 0 R /XYZ 71.731 146.7249 null] >> endobj 3471 0 obj << -/D [3451 0 R /XYZ 71.731 182.2867 null] +/D [3446 0 R /XYZ 139.2157 135.9302 null] >> endobj 3472 0 obj << -/D [3451 0 R /XYZ 71.731 133.2356 null] +/D [3446 0 R /XYZ 501.9343 135.9302 null] >> endobj 3473 0 obj << -/D [3451 0 R /XYZ 141.0038 120.2841 null] +/D [3446 0 R /XYZ 121.4494 122.9788 null] >> endobj 3474 0 obj << -/D [3451 0 R /XYZ 527.4622 120.2841 null] +/D [3446 0 R /XYZ 192.6467 122.9788 null] >> endobj 3475 0 obj << -/D [3451 0 R /XYZ 136.2087 107.3327 null] +/D [3446 0 R /XYZ 348.3123 122.9788 null] >> endobj -3450 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R >> +3445 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3479 0 obj << -/Length 2637 +3478 0 obj << +/Length 2327 /Filter /FlateDecode >> stream -xڽ]o���=�b�5`+��(ok��@� �Cp��A���U���>.����C�h��9ע-X�"9$��p���*�$���:~���z㮎����c�[�����o�Uꤱ���U�N�t��#"O������Oٹ���������f_u��������e�]�}��7[#< -' �U ե�~b�w� -'�Di��묾�����f8#�OY�J�v'N(�ī]f��=�M$��|��d)�^�oHJ���Hڹm�C��X����g+��mS���iG�C���ɶc�� Z�P7̼�Վ��usX�c�'�����@�� z��F�6Ds����0����w����.J#�cZ��N�����Ky���$���(�ф��|��3��#j���lG����mxf�_���g:xA�'#��655���ٕ�P��S�Tk�k�]G��bE�Vt���#E��N�r�Y���� -��T�F�=H*�:+齕]�9������$kԓ���u�R(w{l��@�yS��mJzo�@���T�OY5f�f`���b��1t,�qې���ܶ; �,�e�Q[�Zd�9��E�=Imϲl��%10x'�^��� xiZ�OM����P� -� ��:@�����?>�����8���5� � ��+����S�֟;D��E�E���J�5�B���۵箳;����-���*�|�;^$��7������\��\kՊxS1��7�9�zz9eh��L�Q�s�1��d�ke�Sa�$-������ Z��=�f�� sր����b`mt� Oן ���p��:a��ϛ��������O�Y�$�����qIe?ĩ쇘����%j�h�)�2��-��tg���X̚6O�"�C'��>�����ao�9_���P짬f�p&� ?��*t�#�N�Su��ph0��Ղ��� <���#��������*�S�݅�:�GMԫU9��O��J�F~� ��w�aY�{1�a�2J����d��Y����j��..��BC �Ǐ����"H��\>�A��vC{�i`�i��F��4�Bh��S�� �r��A �Ȕ�����xh��#�S�l�kzٔ{�t}.��B5%�9ou7�E����,#p?�c��E�Q����u��IG�Zx�qTA���S'�9k� -w��d�J��� VJ�"�6�aO����� r�[@+5ew�8Jg�]�n(�yj�v��dEiJ$�U6��x�\ -�<c��X��|{{��U�R�ɾ��R�@�t����]�;}�wR���];$��� 6a�V��Q����&��[T�����,r�c�(�����$2���bʥ��N -Ug��R�<⚺c[p�ϝT�'P�V�;D8w���BO���-�����USO��Ȼ,���V��~Z��T�\-�I� ��O8�4�� -�'���S�rDk��^�>��n)A��S�#%�����<�^�#հ!���wCt����ps���D��]����.�U�\r�uuĮzdr�\���c��_A1I��:�W��B!q��PgC�֒�I FCBeI�L�ݚ������,q9>�9_���I֭yӶ�m��4m���*�qr���_���t\3�M��-�r��涔s���(�� ���ޱ��l�w����Y`(+��`d%3��������X�$�b1�I¼O���UN���o���u �|L=ԗ�|�K`�^-�ʿ��b�p98Q��WwY{�L��Hg�ĎK$��W���Xu���N,,;^�u��;�L�v�L7a�T�-@�=�3���(�i�.��m�a���ɤ}�UP� `i�K�gXԶ�|5h��WVX�S -]�)��e�2ߛ&������ -��C�ά�V�,9 p��Q�R�H}{В�ʅ��۔k�uo,�/�e��XFqF��0���[i��p&AP_Q ��"�����jK!��[=_�Z�6���2���ڜ� -K-�"��VE�7��Eמh5;�{Up���U�O�����m�Հ&�Eth�wD����� �7O?m�ϟyk ^��<=��a��>@�%.1�$�Sv�4� �5FH� ��ج�J[�� �I���\���^�i� =0 *�����L���ǮB�s���K���W���t�N�O]��/�_�ު��A?�?���t_F��??�����Eu���{�r.N�w�|�PE��T�P���pr:tt�3�ɠ_���\>0�t����}ݩ����N�Z����?.�'V/p]Gs[��oz:=O��WY -�Z�����?�V ^��=�W0��8r����$���#K�1�U�,�Rϰ[JG�8�N�1��B���`����$��@qK&�i��� -��lM F�&b� `Qb2��W����S����ٸ���e��If��F/㊭�8I�DB)m�{��l�|��N����&�_qt�iA�C[�����uVo��41 -�DD�`a y�g�B�&��l +����Im��Q�V���!��%<��GF�H� ;Cڟ���У�5yF}�����R���v�n��,�� -Gxq�����Ƒ�@J�˙�B�a�/���"�endstream +xڽY[oܸ~��iH\�/y�d�lhR��(���ckf��,�mί?�H�����=b��$��>Rgeß��+���&��*��ث#t=�qX�en�Bw�7o�y�*��� W��ʷm+��dy�N�����Oiۋns��ڳ�ͫ�.$���H������,�Ϳv��yؙ�/��VxUC#u��MtԻ�c��Hi�; P�և�,�����V~����!I�=/�@�٩i$o�-J�q��QH�ij�W[;��븖G�T�C�����60�ɇ�ܧ��4~��0�`�n���T�҅�K����o���z�.Dͳ�8�:}�Fߐ�v�d_۠��n�ص� vW7��$p|��l*A.��$���#b�m;�_h��e�kj~+�S3��8�h��&t���=�{N�⾲٧�^ia�ȩ�NL�E��̩�p�Ad�AZ�s�-evq�����z��>v��"9��2"�����Q�}�TmS�� �\7�X\�t9-��p��.����⥝ NQӷW��]FcGY���C�Ed+�א��8�@�!��[>��y�uV�q�_v~��=��Oi�n!Ww�h�x@����,�<�[�����_��vՂ�������#��gѯ��d:T�>l!/���=j��{��p�?��Mo��],�����@F�Ky�e~�2��쀢�D�kT9�-�9�&��Ylaڸ��[�9�D��}S������|�����@FZ�P�'�0ik���pNm9Y�� Ad�VLֹ����TL�f����gѶL��ب 9�"�� "+ +�3DP���c���/�#�E��x�\_0�JȐ;zBq�i�V�3�'��Qb����N�k\����D\=P��ȑKn�LH^A��)�V�(F��l��P��1��fKpMZ�&E�Ye�'�R��q��8�r��{Z��8;$y�Y��B��ȳ���u�^���kX���A���bv�a��y4,5�b�EU�}�m۲Ȍ���4����j��K�掭��X�%j/H84k"�.����CR�T�#���Z`�ׂs�H�X5����<wY��ҞaX?��k�}���$0 ��OXD�tVs<'�Է�N0ʑ�@�|�����A�sbGC�#�����$���M� +6����I��X�>��<����*�Ent���~}�(;b���Nr��� �yc��_@1A�:�W�P��|�ӊ)��I��IFCDiI�L����M��j��\ Z���I֥Y�u�m��4/��� +���X�W2b[�ؖ�}��ے ��slK���@��,�����hZމ�x]7=q���[0������c5~��l~'���B�B�x�D?�7�>���'����P��`��>mK�@�E�:&������UH�}u�vW��}�$�l`M�q��j���I���!ЉK������ia�=O��0�͖���ٙ���;\�i�. �ms��l�\��hV>�*���5S���3tj[�����Յ�;v�N���ʄe�4ߛ"����"X满CgVM'�������%b��Mu2�� �ɪ(�\�|�Mk��e�1��˨��2�<�x��I�`UI��W@T���ȕB�\=Q�"�zPX0A�ui}��ί�٩���K�S���f��sO����=�28�^B�2�Gm�ж��v�F5� BO ��$�v���&��������o �=�ۧ�_����W�Ȧ�?��rP�1R*��F��#>)�b|�"���9'�1��x�����X$�4�70��|��@?V�G�k�Η|;�^MOͥ����Ͽ>yz��3�t������}�w���������?�ܣ���������c JU���7����CEG<.Χ� }2�6�� ���Ѿ�ܾ���=n"5@XԜ\�}�"V�X��I|�6]�<B����U�1�dw�=�3��juQ`�N:���,�7���_S{aj�a��wL�J��$%���t�&β�k�Gf�Pl�(L�� �p���`qI��aد�+\Ɠ����h�(#x�x���I&���^����-������I:}6��=S]Ɨ����QԢ�ﳿK�{�)9���O���"��gg���f�ML/�qH�5����c��b~��umB����g�?�2І�[ei5N�1�,N�⣨�F�?Qey�GQk��X��˥BM�����y��=�����-y���>��x�c+v���_�&2�?2n�p��R����W�����endstream endobj -3478 0 obj << +3477 0 obj << /Type /Page -/Contents 3479 0 R -/Resources 3477 0 R +/Contents 3478 0 R +/Resources 3476 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R +/Parent 3503 0 R +>> endobj +3479 0 obj << +/D [3477 0 R /XYZ 71.731 729.2652 null] >> endobj 3480 0 obj << -/D [3478 0 R /XYZ 71.731 729.2652 null] +/D [3477 0 R /XYZ 71.731 741.2204 null] >> endobj 3481 0 obj << -/D [3478 0 R /XYZ 71.731 718.3063 null] +/D [3477 0 R /XYZ 71.731 718.3063 null] >> endobj 3482 0 obj << -/D [3478 0 R /XYZ 139.2157 708.3437 null] +/D [3477 0 R /XYZ 284.0181 708.3437 null] >> endobj 3483 0 obj << -/D [3478 0 R /XYZ 501.9343 708.3437 null] +/D [3477 0 R /XYZ 71.731 688.2541 null] >> endobj 3484 0 obj << -/D [3478 0 R /XYZ 121.4494 695.3923 null] +/D [3477 0 R /XYZ 149.9766 677.4595 null] >> endobj 3485 0 obj << -/D [3478 0 R /XYZ 192.6467 695.3923 null] +/D [3477 0 R /XYZ 71.731 657.3699 null] >> endobj 3486 0 obj << -/D [3478 0 R /XYZ 348.3123 695.3923 null] +/D [3477 0 R /XYZ 146.371 646.5753 null] >> endobj 3487 0 obj << -/D [3478 0 R /XYZ 71.731 664.4085 null] +/D [3477 0 R /XYZ 71.731 639.4372 null] >> endobj 3488 0 obj << -/D [3478 0 R /XYZ 284.0181 651.5566 null] +/D [3477 0 R /XYZ 146.371 628.6426 null] >> endobj 3489 0 obj << -/D [3478 0 R /XYZ 71.731 631.4671 null] +/D [3477 0 R /XYZ 71.731 621.5044 null] >> endobj 3490 0 obj << -/D [3478 0 R /XYZ 149.9766 620.6725 null] +/D [3477 0 R /XYZ 89.804 610.7098 null] >> endobj 3491 0 obj << -/D [3478 0 R /XYZ 71.731 600.5829 null] +/D [3477 0 R /XYZ 173.1124 610.7098 null] >> endobj -3492 0 obj << -/D [3478 0 R /XYZ 146.371 589.7883 null] +1661 0 obj << +/D [3477 0 R /XYZ 71.731 582.6501 null] +>> endobj +502 0 obj << +/D [3477 0 R /XYZ 347.5933 550.3362 null] +>> endobj +3492 0 obj << +/D [3477 0 R /XYZ 71.731 541.884 null] >> endobj 3493 0 obj << -/D [3478 0 R /XYZ 71.731 582.6501 null] +/D [3477 0 R /XYZ 218.9123 518.4558 null] >> endobj 3494 0 obj << -/D [3478 0 R /XYZ 146.371 571.8555 null] +/D [3477 0 R /XYZ 71.731 474.5206 null] >> endobj 3495 0 obj << -/D [3478 0 R /XYZ 71.731 564.7174 null] +/D [3477 0 R /XYZ 71.731 454.5306 null] >> endobj 3496 0 obj << -/D [3478 0 R /XYZ 89.804 553.9228 null] +/D [3477 0 R /XYZ 71.731 392.7622 null] >> endobj 3497 0 obj << -/D [3478 0 R /XYZ 173.1124 553.9228 null] ->> endobj -1661 0 obj << -/D [3478 0 R /XYZ 71.731 525.8631 null] ->> endobj -502 0 obj << -/D [3478 0 R /XYZ 347.5933 493.5492 null] +/D [3477 0 R /XYZ 71.731 349.9875 null] >> endobj 3498 0 obj << -/D [3478 0 R /XYZ 71.731 485.0969 null] +/D [3477 0 R /XYZ 71.731 311.9652 null] >> endobj 3499 0 obj << -/D [3478 0 R /XYZ 218.9123 461.6687 null] +/D [3477 0 R /XYZ 71.731 269.1905 null] >> endobj 3500 0 obj << -/D [3478 0 R /XYZ 71.731 417.7336 null] +/D [3477 0 R /XYZ 71.731 210.2467 null] >> endobj 3501 0 obj << -/D [3478 0 R /XYZ 71.731 397.7435 null] +/D [3477 0 R /XYZ 71.731 192.3139 null] >> endobj 3502 0 obj << -/D [3478 0 R /XYZ 71.731 335.9752 null] ->> endobj -3503 0 obj << -/D [3478 0 R /XYZ 71.731 293.2005 null] ->> endobj -3504 0 obj << -/D [3478 0 R /XYZ 71.731 255.1782 null] ->> endobj -3505 0 obj << -/D [3478 0 R /XYZ 71.731 212.4035 null] ->> endobj -3506 0 obj << -/D [3478 0 R /XYZ 71.731 153.4596 null] ->> endobj -3507 0 obj << -/D [3478 0 R /XYZ 71.731 135.5269 null] +/D [3477 0 R /XYZ 71.731 156.4484 null] >> endobj -3477 0 obj << +3476 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3510 0 obj << -/Length 1385 +3506 0 obj << +/Length 1588 /Filter /FlateDecode >> stream -x��XYo�F~ϯ0�R�݇��\ݢ�����Y�Bui��ח#rdɖ��EQ�F��ΐ�>��O����0|�plceW�h S�W:�LIg�UZW7�9�U�1�Q�Y�����\�P=[�FA��r� �+'S��S��<Β<� O�5����$M��o�OW�A��6]����I����F{�F�)�wT�s��/e�Q5�: � �`t��c;f��YT�I�1C���ߞn��B���p;<�Z�RmWC�,ge�b�_��bE�s�M,MI� ���|�)�A�&x���)����ee�@(��|���N��F�~�4#e����R�9΄뉭�I�+2* �Q��,Ɖ��8���M�X���]S���ºjSp��{[�EF(XTd�����,�9�-#7T�֑Z���-[)�'1�T�f`)벨�(k�5�����c����Z���/��#c�ٳ�bճ~�d�yɲB��.�1���MX�i^�I4�j7�VI�8}���Ki�n� -��l~m��DR�h�L�}w�0��sp�y�t7�_����֥H�O�HC�w(�C|�Y&�N�����Zs�L�(n6D����(�hq(O��5��N�xU�(�Zr��5�[����\�Q�>��OW�tz>]鳃~ � �\���mQټ -W�VV���)H�d8�ܥ{��nk���f+Ƥ" u��eQm������&���ۜ��ų�����B���r<մLw�ڐҴ��\�$<�%���}���:�� ����3l���d�畸U/٘�]V��ik���t�N�IJ"�8���.���}��?���9&������H�Ԓ�۩&��-��z��;Z'(�Z"F�8�./ �$��;�����ߤY���n �<�k pv�u3���,����C(k1#�,R��T�����J^�GJ��T�^���R�j��S����m��W�}=�>��8V��#+�u�L�CBM��T!�C��E��GŬ(N�*�=��G�>����a�M�5.#G�QG.ث��KR���b1)P��؍ �T�b��J�c���ӣ32�aؤ��u%m2�tL{<�)<0 �b��^�a�5Na� -���:uf(X1\�]� C:D���i�7�E��*�J1���a(����E��%9͑�&)cTjϗ���9e��VheD�D�+v}��b'8����T�qA��xZ����]�?@��K���f���b�YũO��~����8#w -Ĕ�(�$���� �݂%Y�����\��3��C��Q���M���N�DBΚK�r������u��Kh0�g�-v!|d��v�t�)8���Y�l�Ϫ�w�=������� ��z���ѧ�s���mx���~kI����?�8�\�Aendstream +x��Xݏ�6��"�������ޒ��uh�b݃+�1�����%R��8� �!@,��E���� ?g9V���M,7�Ѳ��Gk`}�rHdB2]h6�z���F���n8��F�m[�'��s�8p��<��|�I�-k�7�M���4+�*�@ϫ5�f��_yQ����\��;�YI�"줎1���Q�֎-��"���X��WX��%��Oc�6�vC|<����|����ݲ���<��.��c۬A,J�-kʼ�1��j��2vhF-�~�m�`(����[s��q`�y�[RJ���2- +�!�P |��R#�;���7�浛��om��%�`˺� @���|��h�r�JǗ+�֕� +�z��<��v#��n��i�'�Q6�@�7;�wU���)>JV.�{�Y�z�/�Ԍ7�����q��n�V�y�����Bۼ���s#�p.�Q1�"�@��,��JQ(�����M�Ա� ��$'�3��78�����O�7��w�����h��¤o���M�@���"x�B;��ۺ,���^XG����}Xۡ�d�d�@2��:5����T�4A��D-���$�B�t���fH6%gR�f�ٌ�Ͱg3R65����f��\���ۺ!g�6]���\���&���c���ƣ�Mn�A"J���u��VF:d���c�n�m�@ +w 뺡�a8\Hh�K ��C]�_�uh2N�0��A�����tn�إ7*�Vd��l��.['� �M��?5�3�TRb1�i�|�?�B8�- `��^�:��7�z^����ս���|��~b[^��n֥N���k�N�y��e7��p�{��ُ�y�ݼoez���Z�Ng�K:=MŲ��=��"�p Kk��,S*IuY�����B9u���N+.�2U�ۻ���kwն_w�l��ؘ��ƅ����C^�C� �� ��!�Ϣ�I���`Y7�k�ދH@���˟i�-�5N#C�IC���$�]B�2RR#�L�'j���;f^a���3�2�0�ac5DJ�@5h� d�9��g��r� ����a*d�g$֪1ph�b� d����b鰲�nQ�|#^m���0X�+�Q�� C��M>N��Z^�D7y��Pw�]4�k�I3��Nt�8c�= *����p��X9� K�I]/8�7���i�}r��n2��B��J� +������ +�Q;d�x�k��w]?��f?aA�9c�c�B�1�|��pkh���Ȅ�]�u�r%dL&��IN#W��ǟ����M����/�����Q�tt�"�������������l��w{�c��{qv�Y�u�ڼ��QߑJ|�D���x 6�����};fU㳨���1�x����K/I���/��p裄2��8Z%�x{��~�@d���La@� ���S��8H�^�x�egᅚ;�H^ K��E.eØ:x���f��t@v@]��2�XZΓ/4�-~&j���H��Ȇ�!TC�����,뾔:v���>������D�Ձ�r7��x|Dz�:~�c+v����FM��[c�F���:M���x8`�obd�endstream endobj -3509 0 obj << +3505 0 obj << /Type /Page -/Contents 3510 0 R -/Resources 3508 0 R +/Contents 3506 0 R +/Resources 3504 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R +/Parent 3503 0 R +>> endobj +3507 0 obj << +/D [3505 0 R /XYZ 71.731 729.2652 null] +>> endobj +3508 0 obj << +/D [3505 0 R /XYZ 71.731 741.2204 null] +>> endobj +3509 0 obj << +/D [3505 0 R /XYZ 71.731 718.3063 null] +>> endobj +3510 0 obj << +/D [3505 0 R /XYZ 71.731 652.7622 null] >> endobj 3511 0 obj << -/D [3509 0 R /XYZ 71.731 729.2652 null] +/D [3505 0 R /XYZ 71.731 597.9577 null] >> endobj 3512 0 obj << -/D [3509 0 R /XYZ 71.731 741.2204 null] +/D [3505 0 R /XYZ 71.731 577.8681 null] >> endobj 3513 0 obj << -/D [3509 0 R /XYZ 71.731 718.3063 null] +/D [3505 0 R /XYZ 71.731 551.9652 null] >> endobj 3514 0 obj << -/D [3509 0 R /XYZ 71.731 663.4122 null] +/D [3505 0 R /XYZ 71.731 546.9839 null] >> endobj 3515 0 obj << -/D [3509 0 R /XYZ 71.731 643.3226 null] +/D [3505 0 R /XYZ 89.6638 526.2266 null] >> endobj 3516 0 obj << -/D [3509 0 R /XYZ 71.731 594.8793 null] +/D [3505 0 R /XYZ 71.731 524.0698 null] >> endobj 3517 0 obj << -/D [3509 0 R /XYZ 71.731 540.0747 null] +/D [3505 0 R /XYZ 89.6638 508.2939 null] >> endobj 3518 0 obj << -/D [3509 0 R /XYZ 71.731 519.9851 null] +/D [3505 0 R /XYZ 71.731 506.1371 null] >> endobj 3519 0 obj << -/D [3509 0 R /XYZ 71.731 494.0823 null] +/D [3505 0 R /XYZ 89.6638 490.3611 null] >> endobj 3520 0 obj << -/D [3509 0 R /XYZ 71.731 489.101 null] +/D [3505 0 R /XYZ 71.731 483.223 null] >> endobj 3521 0 obj << -/D [3509 0 R /XYZ 89.6638 468.3437 null] +/D [3505 0 R /XYZ 71.731 460.3089 null] >> endobj 3522 0 obj << -/D [3509 0 R /XYZ 71.731 466.1869 null] +/D [3505 0 R /XYZ 71.731 394.2217 null] >> endobj 3523 0 obj << -/D [3509 0 R /XYZ 89.6638 450.411 null] +/D [3505 0 R /XYZ 71.731 317.3451 null] >> endobj 3524 0 obj << -/D [3509 0 R /XYZ 71.731 448.2541 null] +/D [3505 0 R /XYZ 71.731 204.6327 null] >> endobj 3525 0 obj << -/D [3509 0 R /XYZ 89.6638 432.4782 null] +/D [3505 0 R /XYZ 71.731 184.5431 null] >> endobj 3526 0 obj << -/D [3509 0 R /XYZ 71.731 425.3401 null] +/D [3505 0 R /XYZ 71.731 135.7261 null] >> endobj 3527 0 obj << -/D [3509 0 R /XYZ 71.731 402.426 null] ->> endobj -3528 0 obj << -/D [3509 0 R /XYZ 71.731 336.3388 null] ->> endobj -3529 0 obj << -/D [3509 0 R /XYZ 71.731 259.4621 null] ->> endobj -3530 0 obj << -/D [3509 0 R /XYZ 71.731 146.7497 null] +/D [3505 0 R /XYZ 71.731 102.9141 null] >> endobj -3508 0 obj << -/Font << /F33 1358 0 R /F35 1709 0 R /F27 1258 0 R >> +3504 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3533 0 obj << -/Length 2172 +3530 0 obj << +/Length 2132 /Filter /FlateDecode >> stream -xڍɲ�6��_��%r��h����y�:ө̛Nړ��d|m�Z�KK^<_? ʒ-�]>A��Q�f.��Y�8��O�q�-�=,���#�Ѭ�D?n�}�1f)K#?�mv��uY�&�,|�p/�m��8Oqle�X��u��:+T���r�����T���7?�{���y�4 w5쩮u�ぎ��n0���_�B��� (z���XWY�mq�h��ZfDX��.'��p̫roN �A,|��k�qG�\��y�ɫ^��$�O���^�~������Z"��*b/5�Eq���j�c�gV�^7��k;{\08q��,�^hL�T��mṎ���A40G;�A��6��96��c�t�cU�2m=�t� n[�.`_IV!2�K�٪*��h�[�� -�u�-�M��Y����x��~"�zW$�������wM)e&��Z�%�pQ����<-�=x�B��U��7��_��{$z~�������/k���/�>mP�Dz��>f�0`` �R������Y�1\C�q���8q��\>@�����E/�;��m��k��V�f0*�o8Ѧ�?ᬖ�h��������2-�^��0g���q2�z�Ր̤������ ����WJD!��(~���z��7��o؋��qC� -Ҁ��O �����}��cU����9]����}����Sȇ��k��Lf���2��g�g��@�8w��mRYAK��#^5a2٨}�1�B��<I�����i���=��NPN����������_��A�|9Au*n����7~λ=d��Rl� ��X��&�����NW����� ��(VS�*���;&���'�Tuܵ�=� -�U�rS�Le#q�D[�%j�a���%`]���k������)k���~@���j�#֊hȝ`ݸ��l@Z�^U�������ʩ� �C�D�K��"��=�?X���8F�a�A�c����}������s�� �|rg�`��h��JI3���r�v�g��/%�� M2�s�V�\��Xit�\��ίk���o0���{JNv۪�Sn=[�<]�T!�M@�.�o� -ݜ�mܷ!��Ń�d� ��"x����+ΜF:N�+8��x$B��]-��8��G��0���e`Z ��4c�!�{Κ��)^OoxP�MT㌔h/[�'��v01��;*�.H�5�� ��<OϮkE�g�@�����!ՇKo[Bb����n����<klt��9d�m�= 6V��F�0C������FX�k#c`\7�b���%��~�{���>�R9y�F�P�X�E�N����o9NR���MTf�� Z?V�$E�ň�w:�S�dtn:e;l 6�$���eFϞ�ݳ���lu�X{�,"��`��w"��T��K^ZM�]�LREA2)�r�U���p���\�z�w��~��\^�2>�P~EhWW����֞��^�4��a���=�3#�>���W¾��w�_�k�u�MYӺ~O�Z��5p�����4��1��P�1�����'D~� �p�ۼ�L \��B�XHښ}�M ��g��u{��A6�Zu��7.'8�r�F��?�0I���/�hej�Ԟ�Bf�G���A�%��+��������V�fG�A�Ł�Y -)� �VK5��i�\ -�/��S�����l����b���O��f>� �K��k��k�qE���W{:%>��Z���P��/Fp�'��X��0�D+^E#���ڬ����G)=F_h�������'��ZH�Ze>�Q���Z�_� ʷK�5���c�n{��#��!��s��XI�]���w]w��ETe��ɧܽZ5�<I7����tMgV��@<�--���V�TΕ�Ε��3�2��eeZ�r���!>J�ؕ\<���˛����ov ^2���g��y�h������{�/��|~�4̯:�9]'XP�nrx��#+�oZяOU�!�KZ��-Ɣ�o��]�xk�����wx�'@|(�oߧ��\���4L��&�]��"���(ļ��÷�����)WۯR������ �������7!����w���\������^�����0��'̈́���d��endstream +xڍَ�6�}�����@��D��S�3��bv�`���E���0t����-���d�r�"�Ūb�N�[���V��b?e~��}��]a���l g;D�~��g�W)K#?Z���uY�&�*�>KB/Y���9O'qne�����p��ǬP�j���#����<�?v�|��뙇<fi%챦2�|���Q�eL=�_���<6"��j巚�7�A0@�C�^4��N�'NQ�G�<��S�VU%���u՝�um�2�Z�{�6^��=ɍ�:o8�e.ZBo+���*��-Ql��VY�, xp9��z��ͨl��)5���r9)g^8" +X�D�!,�=!&Դ/ n؋��u�S��0�z������OUq�JY�qw<�aw��=����{�����s�w��A Њ�KX���w�p�#;2���5�=P��/�|܄�(h��VM�L6�X����o? m*j�������k�� ��>�>��4�P;��OfC��7�\�g����ǟ��s�[�+r������������Yj0��/o#12u�d $�p�E��+0�*@�a�h����Y����ZC@����\G6��Ȳ��b��k����<����}�2P��Wu�7�K��P���E�Pˢ!s�ucN�e���rվ!��jO��;.XZ�?�TԺ�� �m��ǐ���}��>@���pz � ��l�5'��D��TJ�3��7t��h�0�×�T�M0�s���`pp�|�Z��@����#~����o0���%!g�ל�.�B���_�Z�~� �bą�������2�� ����<Gm<��a{-��:f8�Yv�\�s�dY�9�^�"q��ճ� +��}o(1�0��(e�����C)�sI�8���AP� ���<W5A���0:���B(�����¨��]^�E�%�Mb�fc8Qc�g`���t-�ࢣp���$ʣd��õ�=\b@w��j +�m��e�5�;P�!D�}�59��b�J�',�!b�^`xi%l����_7�b�@aYr�a4�:сE�8x�����]D��h���AJPв��LtD��J���������� �S���t�Q��m�L2�Q�XZ�^����R'N��%��3I�����C,,P�����bz�e��(��,��o/��tG� m��ri� �|�}�1S�%�`fx`/����C]�۩���=����j��8�iwT=�ZP�����o�z��;T�(����lN�� zܗ�m��ku<��]�Z�e5��h��ܾ����P�ڦ_3鄻��ѐhm���:5`�8���[��m?�f_��.��Ƈʣ���66��==��Wh�/R��1�g&��L%6���Dɥ�b��K.3]M1\��])AWF�)��~{�cdԧ1sU(���3m�5%.|���+�����9�Dk�1a�]r�^:�]ӎ�E��:Z�)���k9���Ҏ�)�/����b�k��f�hŋh�|cj3�6t��Ø<%�����fYk�� �mO�xPNB�G�C�R[ aP�qw |x�P�}�Yә@S3<g��&F�~M�W+ih�ڙb������#DVY�Df����W�f'�ƿ�����L�e����ӂ�������\)�\Ik=�5U���ZV�<(Ǥ���Q`� +e��Y��dDzϔ�k�Y��A���^�bݎ�=�r52��~l_aB���i1��Tk�ZЦ�U��;F]�Ԩ�2�����4j����9�����Z�����t�pۊ��&�mߚ�g,��w�\b'L���"�q3��G`�A�Ю\���������+�k���8�2F&4�Q4��-E^�0Ͽ�7�ۗl��+�~��x��5e�S�-T�3��g2�pi��h�;٨9ʯ�� MO1iڧ'ݶF�gHH��{�֑ӵ���|W*�H�1���Tq���$��?����5�u+ '�5_/����S`�sl~9%��^/B|��Ϡ� �o'�z�O�<��9UB��<\1��1�+�z���2��ټ#��]�\�* �B�CA�F� !�0�r��������g��O��'^�.�E5���C� D�4�)�C�Ϳ�f�����endstream endobj -3532 0 obj << +3529 0 obj << /Type /Page -/Contents 3533 0 R -/Resources 3531 0 R +/Contents 3530 0 R +/Resources 3528 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R -/Annots [ 3538 0 R ] +/Parent 3503 0 R +/Annots [ 3532 0 R ] >> endobj -3538 0 obj << +3532 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [413.9471 603.0442 465.783 613.5188] +/Rect [413.9471 705.4601 465.783 715.9347] /Subtype /Link /A << /S /GoTo /D (groups) >> >> endobj -3534 0 obj << -/D [3532 0 R /XYZ 71.731 729.2652 null] +3531 0 obj << +/D [3529 0 R /XYZ 71.731 729.2652 null] >> endobj -1664 0 obj << -/D [3532 0 R /XYZ 71.731 741.2204 null] +1662 0 obj << +/D [3529 0 R /XYZ 71.731 660.523 null] +>> endobj +506 0 obj << +/D [3529 0 R /XYZ 210.4345 615.2687 null] +>> endobj +3533 0 obj << +/D [3529 0 R /XYZ 71.731 603.0975 null] +>> endobj +3534 0 obj << +/D [3529 0 R /XYZ 71.731 547.7171 null] >> endobj 3535 0 obj << -/D [3532 0 R /XYZ 71.731 718.3063 null] +/D [3529 0 R /XYZ 510.3067 498.0682 null] >> endobj 3536 0 obj << -/D [3532 0 R /XYZ 71.731 637.5093 null] +/D [3529 0 R /XYZ 71.731 477.9786 null] >> endobj 3537 0 obj << -/D [3532 0 R /XYZ 71.731 617.5841 null] ->> endobj -1662 0 obj << -/D [3532 0 R /XYZ 71.731 558.1071 null] +/D [3529 0 R /XYZ 71.731 465.0272 null] >> endobj -506 0 obj << -/D [3532 0 R /XYZ 210.4345 512.8528 null] +3538 0 obj << +/D [3529 0 R /XYZ 71.731 460.0459 null] >> endobj 3539 0 obj << -/D [3532 0 R /XYZ 71.731 500.6816 null] +/D [3529 0 R /XYZ 89.6638 439.2886 null] >> endobj 3540 0 obj << -/D [3532 0 R /XYZ 71.731 445.3012 null] +/D [3529 0 R /XYZ 131.1675 439.2886 null] >> endobj 3541 0 obj << -/D [3532 0 R /XYZ 510.3067 395.6523 null] +/D [3529 0 R /XYZ 264.267 439.2886 null] >> endobj 3542 0 obj << -/D [3532 0 R /XYZ 71.731 375.5627 null] +/D [3529 0 R /XYZ 71.731 437.1318 null] >> endobj 3543 0 obj << -/D [3532 0 R /XYZ 71.731 362.6113 null] +/D [3529 0 R /XYZ 89.6638 421.3559 null] >> endobj 3544 0 obj << -/D [3532 0 R /XYZ 71.731 357.63 null] +/D [3529 0 R /XYZ 131.1675 421.3559 null] >> endobj 3545 0 obj << -/D [3532 0 R /XYZ 89.6638 336.8727 null] +/D [3529 0 R /XYZ 71.731 419.1991 null] >> endobj 3546 0 obj << -/D [3532 0 R /XYZ 131.1675 336.8727 null] +/D [3529 0 R /XYZ 89.6638 403.4231 null] >> endobj 3547 0 obj << -/D [3532 0 R /XYZ 264.267 336.8727 null] +/D [3529 0 R /XYZ 137.6244 403.4231 null] >> endobj 3548 0 obj << -/D [3532 0 R /XYZ 71.731 334.7159 null] +/D [3529 0 R /XYZ 249.7943 403.4231 null] >> endobj 3549 0 obj << -/D [3532 0 R /XYZ 89.6638 318.94 null] +/D [3529 0 R /XYZ 325.9286 403.4231 null] >> endobj 3550 0 obj << -/D [3532 0 R /XYZ 131.1675 318.94 null] +/D [3529 0 R /XYZ 409.7042 403.4231 null] >> endobj 3551 0 obj << -/D [3532 0 R /XYZ 71.731 316.7831 null] +/D [3529 0 R /XYZ 503.7813 403.4231 null] >> endobj 3552 0 obj << -/D [3532 0 R /XYZ 89.6638 301.0072 null] +/D [3529 0 R /XYZ 214.4934 390.4717 null] >> endobj 3553 0 obj << -/D [3532 0 R /XYZ 137.6244 301.0072 null] +/D [3529 0 R /XYZ 89.6638 377.5203 null] +>> endobj +1663 0 obj << +/D [3529 0 R /XYZ 71.731 370.3821 null] +>> endobj +510 0 obj << +/D [3529 0 R /XYZ 176.8299 327.2846 null] >> endobj 3554 0 obj << -/D [3532 0 R /XYZ 249.7943 301.0072 null] +/D [3529 0 R /XYZ 71.731 318.4618 null] >> endobj 3555 0 obj << -/D [3532 0 R /XYZ 325.9286 301.0072 null] +/D [3529 0 R /XYZ 71.731 285.6359 null] >> endobj 3556 0 obj << -/D [3532 0 R /XYZ 409.7042 301.0072 null] +/D [3529 0 R /XYZ 71.731 274.7418 null] >> endobj 3557 0 obj << -/D [3532 0 R /XYZ 503.7813 301.0072 null] +/D [3529 0 R /XYZ 71.731 269.7604 null] >> endobj 3558 0 obj << -/D [3532 0 R /XYZ 214.4934 288.0558 null] +/D [3529 0 R /XYZ 89.6638 246.9459 null] >> endobj 3559 0 obj << -/D [3532 0 R /XYZ 89.6638 275.1043 null] ->> endobj -1663 0 obj << -/D [3532 0 R /XYZ 71.731 267.9662 null] ->> endobj -510 0 obj << -/D [3532 0 R /XYZ 176.8299 224.8687 null] +/D [3529 0 R /XYZ 71.731 244.7891 null] >> endobj 3560 0 obj << -/D [3532 0 R /XYZ 71.731 216.0459 null] +/D [3529 0 R /XYZ 89.6638 229.0132 null] >> endobj 3561 0 obj << -/D [3532 0 R /XYZ 71.731 183.22 null] +/D [3529 0 R /XYZ 71.731 213.9049 null] >> endobj 3562 0 obj << -/D [3532 0 R /XYZ 71.731 172.3258 null] ->> endobj -3563 0 obj << -/D [3532 0 R /XYZ 71.731 167.3445 null] +/D [3529 0 R /XYZ 89.6638 198.129 null] >> endobj -3564 0 obj << -/D [3532 0 R /XYZ 89.6638 144.53 null] +1664 0 obj << +/D [3529 0 R /XYZ 71.731 190.9908 null] >> endobj -3565 0 obj << -/D [3532 0 R /XYZ 71.731 142.3732 null] +514 0 obj << +/D [3529 0 R /XYZ 194.2 147.8934 null] >> endobj -3566 0 obj << -/D [3532 0 R /XYZ 89.6638 126.5972 null] +3563 0 obj << +/D [3529 0 R /XYZ 71.731 139.0705 null] >> endobj -3567 0 obj << -/D [3532 0 R /XYZ 71.731 111.489 null] +3564 0 obj << +/D [3529 0 R /XYZ 71.731 111.2259 null] >> endobj -3531 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R >> +3528 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3570 0 obj << -/Length 2283 +3567 0 obj << +/Length 2322 /Filter /FlateDecode >> stream -xڍ]o��}��'�Q�di_�����[n}�>�m��%U�/���9C��e%����p�I�|��l#��,��`��>��,��'�5�]����OB,R��A����ﳍ����X�d������(�^��u��`��������^T}>�W��\�{��_��HlX���Y �(aA£�:�Y�`�)���O��f8H�qb�,}�J�$eq,��K̲��"�Mo�pC[���*y�Q��Z�}�9�T�uEz��G�}?PeN[������^�x���nU����H� -GYYd�W<���|���*�s�k�98�X� ۄ��k�"�MD>D��7��&���`3��]��`g( �.XO�F��[��]��;��[�Z�=�^�3b5��h�F�%��Y��U�CkH�z�O�=镺�T�<5�z�bz������+ty�KZA�Ž��V�VX��yZU*١X�W��_��g�;2���P����'������0Zl,��~ �.f1�l��Gݫ���r���?200HR�nz�im�D��A`��f$�F���+�A�~~i�����P���o���l��S�`���B��-�&���h����,l,�0k{�5�,�baN��lL�T@|��I/w80:��#���B`䰳{y0��&h=#�YƩa�]%pP��V��&�U���l�;�"����)�eUV�՞�c���γ6G<fQ�l�S��u?�X���nj�b�vj�ᆶ�DcF*Y~�m8n�QRݷ��:�^�tk���g��� ����A��J��������9����/����t���.�"��p�-Y�V��P�JxO� �<Bo����ѣŚ�6�X�C��"��v� ����v�2y ���F����"@C�B�B��2I�1���$vX��ኴ����E��u��/�";�,�J�6uW��hT}'ʤ�"Jt���*��h,�^u>�!~�#-�M������AX�6�\/�J+��,z�rT-�ժ� sD (�S���C���Υ$�N)�S,�C�-mK�*&N�S����89���7��U��Z��: Âpd�%hZ����\ҥ9��Us����.:��;�M�{Kj�+608�,X��Ѣ�p?#��a�V,;X3�l����X�`��X�ᆶ� �F�m��=�i`��;���z� ��0�x����p�蚍��+�c�3���'�:\-*�ZOR:����~��؝F��k�j�1��@�T���C�m/�{�\I!�f�!�\ʃ�3� D�{�s�W�W��ܠ��^j�8x]��B'��]/�3����pO�0��4C�fz�U�h�{�?��p�G����5yZg�~���q�G��ٺ�Ӯ.����U���\�l�#[ts.��-��Eߩr��t�ĕ����3J�����0�9��<b�Z�DYf�j��V����A�lkM�4�UU��v�k㩋W�������o8~U�cU3���' z�A� �U����y��{�;K 5�]�1I�#H�m���+��V;�]�� 26.�z���F;��x��"pT텯�E�S�GcY��r�F��lpxy���a�s9�O��m74u�P0��D2a�� f�2� �!p�������_�p�I ->�A���INJ����KY7���8=�Q��]�)� pT��$+H����= D����^��{QǗ�oz�.��ɗ����VV=A��#��d��0��z9΄�/�sm���Y��/�5;z`L&b?�7���'����}��#7��]�U����]��SY������12�u�a�N�n��hi~��O��o/8m��UD���5����8}��q���1��5y���}̼7������Z��B�ɭ����Eg��6M�6D*�lk_�t��:{��lmF�w8p�������JJ��c��r�����]�Ҵ���y�b���| �P���C��G�0��!�5���XvW{�ZL�n�/�G��mݬs�I�w�T����E�p����4�.&��I�U/�j�V�轲����V ��S�S����wΡ�9�3���+ݽ/p!XA ��3k&�,��#��w�٬7�Gq6Q��w�����+�GL��k\�%Z���)��P�7�GJ���T��a�����$aQ��T��X�(v1�Ɇp]P�:������&,�q:�s��s�k`$��i:P�"F�ݟ�&�C��endstream +xڍˎ��>_a�d#6[��sY�&���d��9�h����%E�����YE��eu��Y,V�M�_x��/�%|x�x�E~��-���O>�l g�"�����9�b/^����X��" 8K#?]��Z��(Z%���G�*`��R�ʺ�^��x>���*����_>}}�GA²8�J8`��ȃE +2ơ�1�Y���dA$FĿ5J~�|����A��� �粒�jj �٪iU��=L2ou� \Wo8m+E���u���K��\!B�G�ۚ�'�lԶ�e�XMMG��幗k�Dw��d\�b�}o%N�K���w��G���}�%��t�\ʪ�8Qb��fO�#���C`䰳{Zq��C����c�m�4��_^�)}"�PǠwP�'�-� z�p�'�7R�+��U���ײ0�ǯ�|�I�����������.��{�;Z��>�e�f,��t���w�nzG�;�Z�o��9�d��(i8���)��]s�:��E�&\m�P���<���(���Q���'Ꮥ9��ʜ���2������]��UgW��%o��6ґ�L}W�te�yI�����z��K$x��)���r^�;�Z��5&� &�ɪ�<� ���BK�(�ajT�/v%�~�<y�!�?O9�rA�1ߋʤwX��ኴ�N���cl��� ��X�G��GT�Ӷ�KU���ށ9ك��Y��H�jQ�����J���b��ϧ�$���<�S\S �5(�E��G�p��Z�8�eGd��4�Q*��T��2���\ ���_O���_h[�U1:mdN����5 �Ý̃�f�d�â�o�(Z�sS-aX��ڣ��@��RWHBz��kh��%Nm%7Y>�����hA00a�#��^YR�_!օ�g|ɦy���(�� �c����e��E�����w���X<2�61��jG�m�@p�_����x��#$%�+%�+7BLN�����B���" �(�q���Mw:�i��9�Ab�儙���b�&{���JQ�v(X� �~b?�8�Z��AS�M5c�Cr9���}A�D-W��̏�+Ӂ��/�=zC�� I)�������K�r�J�3����N7��e�0��4C�f���,A�����_8ޣ�[ f1yZg榠��q�G�����Ӯ�&�Q�Vօ60$c�����lY��܁8 �T���\��z��v�� +%Kkm�s� +\Ї@`+�� �Բ"�"�e��:��ă��5�zi�TȺ��0���Տ�I��h`�R�7����nN~�=ܠ*B�c5���q��������RBMaomLR��xף|'�Fd�ᎭDW-�K����� ��-��QvW�V��J�8��y�{��m�Э�F�<}��\��|�v�������$�.�1�`2$<2�O9�~�Y[��+�I�cБ����X ��R5-�d`k�b��i���)^ p���$jH����m����N���" ���oz�9�&�/a�]���z�"w����-�6�&Y�]�Ǚ0��p�����$c�z����SG�Y{!�T��о0?�8ᘊtu���:����=+r�������+����^Z���˾g��m7�ȋmu����z�貙���뭊��<�,�,`��s'q��1��ey���}̼w��3����n��B[�P�����t�&�Z"�C���sG���_�쁟ی�Q�n\��fp�� �V�')���7P����i�6�8��#^05��kx�y_8��}� �� �ɘ�Ǣ����b�t��X�@A�StM�-�'��5�qP;49@K�p�by�iLQ�h�x�DYY�j�w�WTP�>�*�_yj����\ l��3�:������Ce�{q�`�ęŚG�b��8���(�&����5x��c%�ؿs�r�fTHH�'�>��9���G곕��&�ay����4eO|*]NN���f`,�uuO��d=��s"�M��%A��k��5c�5�b��̊pG�dV����&��B�R��7{($�&=5Yz|hpWYc�s�\��0�-���)�Y��۠㗺0s�)�Nm���k`3�G�lf���u���M��_�q]��P�Ά��$, �y�q�;�EҒG}f���.3���2�J�U5�t���ؽ�u����Ӎ��e(�o� �}�G\�G��C;�'������(��}]�� V�I�R��wLw5@�^̥�6Z����7��Sn4�^� +��{��-Ô�~����������y~� �L +��R9���2�,�endstream endobj -3569 0 obj << +3566 0 obj << /Type /Page -/Contents 3570 0 R -/Resources 3568 0 R +/Contents 3567 0 R +/Resources 3565 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R +/Parent 3503 0 R +>> endobj +3568 0 obj << +/D [3566 0 R /XYZ 71.731 729.2652 null] +>> endobj +3569 0 obj << +/D [3566 0 R /XYZ 71.731 741.2204 null] +>> endobj +3570 0 obj << +/D [3566 0 R /XYZ 71.731 718.3063 null] >> endobj 3571 0 obj << -/D [3569 0 R /XYZ 71.731 729.2652 null] +/D [3566 0 R /XYZ 71.731 668.792 null] >> endobj 3572 0 obj << -/D [3569 0 R /XYZ 89.6638 708.3437 null] ->> endobj -514 0 obj << -/D [3569 0 R /XYZ 194.2 658.1081 null] +/D [3566 0 R /XYZ 71.731 654.401 null] >> endobj 3573 0 obj << -/D [3569 0 R /XYZ 71.731 649.2853 null] +/D [3566 0 R /XYZ 71.731 649.4197 null] >> endobj 3574 0 obj << -/D [3569 0 R /XYZ 71.731 621.4407 null] +/D [3566 0 R /XYZ 89.6638 627.9452 null] >> endobj 3575 0 obj << -/D [3569 0 R /XYZ 71.731 606.4967 null] +/D [3566 0 R /XYZ 71.731 625.7884 null] >> endobj 3576 0 obj << -/D [3569 0 R /XYZ 71.731 557.4456 null] +/D [3566 0 R /XYZ 89.6638 610.0124 null] >> endobj 3577 0 obj << -/D [3569 0 R /XYZ 71.731 543.0546 null] +/D [3566 0 R /XYZ 71.731 607.8556 null] >> endobj 3578 0 obj << -/D [3569 0 R /XYZ 71.731 538.0733 null] +/D [3566 0 R /XYZ 89.6638 592.0797 null] >> endobj 3579 0 obj << -/D [3569 0 R /XYZ 89.6638 516.5987 null] +/D [3566 0 R /XYZ 71.731 553.1259 null] >> endobj 3580 0 obj << -/D [3569 0 R /XYZ 71.731 514.4419 null] +/D [3566 0 R /XYZ 89.6638 535.2926 null] +>> endobj +1665 0 obj << +/D [3566 0 R /XYZ 71.731 515.2031 null] +>> endobj +518 0 obj << +/D [3566 0 R /XYZ 150.0257 472.1056 null] >> endobj 3581 0 obj << -/D [3569 0 R /XYZ 89.6638 498.666 null] +/D [3566 0 R /XYZ 71.731 459.6676 null] >> endobj 3582 0 obj << -/D [3569 0 R /XYZ 71.731 496.5092 null] +/D [3566 0 R /XYZ 366.7665 450.5464 null] >> endobj 3583 0 obj << -/D [3569 0 R /XYZ 89.6638 480.7332 null] +/D [3566 0 R /XYZ 395.8187 450.5464 null] >> endobj 3584 0 obj << -/D [3569 0 R /XYZ 71.731 441.7794 null] +/D [3566 0 R /XYZ 396.1912 424.6436 null] >> endobj -3585 0 obj << -/D [3569 0 R /XYZ 89.6638 423.9462 null] +1666 0 obj << +/D [3566 0 R /XYZ 71.731 409.5353 null] >> endobj -1665 0 obj << -/D [3569 0 R /XYZ 71.731 403.8566 null] +522 0 obj << +/D [3566 0 R /XYZ 235.9924 372.3198 null] >> endobj -518 0 obj << -/D [3569 0 R /XYZ 150.0257 360.7591 null] +3585 0 obj << +/D [3566 0 R /XYZ 71.731 362.1771 null] >> endobj 3586 0 obj << -/D [3569 0 R /XYZ 71.731 348.3211 null] +/D [3566 0 R /XYZ 260.9652 352.1952 null] >> endobj 3587 0 obj << -/D [3569 0 R /XYZ 366.7665 339.2 null] +/D [3566 0 R /XYZ 154.0914 339.2438 null] >> endobj 3588 0 obj << -/D [3569 0 R /XYZ 395.8187 339.2 null] +/D [3566 0 R /XYZ 71.731 332.1057 null] >> endobj 3589 0 obj << -/D [3569 0 R /XYZ 396.1912 313.2971 null] ->> endobj -1666 0 obj << -/D [3569 0 R /XYZ 71.731 298.1888 null] ->> endobj -522 0 obj << -/D [3569 0 R /XYZ 235.9924 260.9733 null] +/D [3566 0 R /XYZ 220.5913 321.3111 null] >> endobj 3590 0 obj << -/D [3569 0 R /XYZ 71.731 250.8306 null] +/D [3566 0 R /XYZ 71.731 314.1729 null] >> endobj 3591 0 obj << -/D [3569 0 R /XYZ 260.9652 240.8488 null] +/D [3566 0 R /XYZ 89.6638 293.4157 null] >> endobj 3592 0 obj << -/D [3569 0 R /XYZ 154.0914 227.8974 null] +/D [3566 0 R /XYZ 299.9426 293.4157 null] >> endobj 3593 0 obj << -/D [3569 0 R /XYZ 71.731 220.7592 null] +/D [3566 0 R /XYZ 71.731 286.2775 null] >> endobj 3594 0 obj << -/D [3569 0 R /XYZ 220.5913 209.9646 null] +/D [3566 0 R /XYZ 164.6079 275.4829 null] >> endobj 3595 0 obj << -/D [3569 0 R /XYZ 71.731 202.8265 null] +/D [3566 0 R /XYZ 287.74 275.4829 null] >> endobj 3596 0 obj << -/D [3569 0 R /XYZ 89.6638 182.0692 null] +/D [3566 0 R /XYZ 258.7481 262.5315 null] >> endobj 3597 0 obj << -/D [3569 0 R /XYZ 299.9426 182.0692 null] +/D [3566 0 R /XYZ 276.9995 262.5315 null] >> endobj 3598 0 obj << -/D [3569 0 R /XYZ 71.731 174.9311 null] +/D [3566 0 R /XYZ 311.0217 262.5315 null] >> endobj 3599 0 obj << -/D [3569 0 R /XYZ 164.6079 164.1365 null] +/D [3566 0 R /XYZ 71.731 260.3747 null] >> endobj 3600 0 obj << -/D [3569 0 R /XYZ 287.74 164.1365 null] +/D [3566 0 R /XYZ 89.6638 244.5987 null] >> endobj 3601 0 obj << -/D [3569 0 R /XYZ 258.7481 151.185 null] +/D [3566 0 R /XYZ 208.7959 244.5987 null] >> endobj 3602 0 obj << -/D [3569 0 R /XYZ 276.9995 151.185 null] +/D [3566 0 R /XYZ 71.731 242.4419 null] >> endobj 3603 0 obj << -/D [3569 0 R /XYZ 311.0217 151.185 null] +/D [3566 0 R /XYZ 89.6638 226.666 null] >> endobj 3604 0 obj << -/D [3569 0 R /XYZ 71.731 149.0282 null] +/D [3566 0 R /XYZ 178.1909 226.666 null] >> endobj 3605 0 obj << -/D [3569 0 R /XYZ 89.6638 133.2523 null] +/D [3566 0 R /XYZ 284.4121 226.666 null] >> endobj 3606 0 obj << -/D [3569 0 R /XYZ 208.7959 133.2523 null] +/D [3566 0 R /XYZ 71.731 224.5091 null] >> endobj 3607 0 obj << -/D [3569 0 R /XYZ 71.731 131.0954 null] +/D [3566 0 R /XYZ 89.6638 208.7332 null] >> endobj 3608 0 obj << -/D [3569 0 R /XYZ 89.6638 115.3195 null] +/D [3566 0 R /XYZ 89.6638 195.7818 null] >> endobj 3609 0 obj << -/D [3569 0 R /XYZ 178.1909 115.3195 null] +/D [3566 0 R /XYZ 202.6386 195.7818 null] >> endobj 3610 0 obj << -/D [3569 0 R /XYZ 284.4121 115.3195 null] +/D [3566 0 R /XYZ 71.731 194.3422 null] >> endobj 3611 0 obj << -/D [3569 0 R /XYZ 71.731 113.1627 null] +/D [3566 0 R /XYZ 89.6638 177.849 null] >> endobj -3568 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R >> +1667 0 obj << +/D [3566 0 R /XYZ 71.731 141.9835 null] +>> endobj +3565 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3614 0 obj << -/Length 1819 +/Length 1886 /Filter /FlateDecode >> stream -xڵXK��6���m�ɚ�w/�M�鴇�����@[���,�������^y�v�ٙ ��~�Z.|���D�$��ʄ�#�����������b��X����� Xd"�U�X����O�E(�F2]��o�ԙf�R����������E�'������,�����w߭{�Q��,�FF�P��+�LAcv(��"��_�JFqj��#ב���� ]��9���>7�!���!���T���5���{��0iQ=�W;��sÝ�P�˜���fUW_�95u~�v�٘]��Z��3M[�MV§����:}Sݚ���d:�Z�]G����ga�9�D��Y$C��Jo�_����6�Ek�o-���C���k�_��"W{�:NF�`3ֺ �^��n�f��a�z/lc?�Ky��8�0cq��n^P ��*�[�*h=jj�um���#�!46K�{�=u�*������Ec5����y�1y�>jRܰ�E}���<��u�k7�)��a�E��`!C8m��T�$�N�0� -�%�\xq����>w�������oK|F�D�"L�ddB��_�����l���vb�)�Yf'��=��b_c�hQ��Cc�� ���������q��U*�LRX�^ "�ȇ�d���P"�`U�?�p -���jl�%�3)�(��#-�a�'�ј?ay]�t�g_3)t@��������k�M�ֻ)h�x��ɗCNћ���� q`�{��L�W����������[�H~K!#?�z�[���^�[�;��A��7U�VjT�_"SՔ��I��\^gL�}6�=�L�Um��_e�ͭ,C��@�_/�#��d�i��,�����{1�$�����6�s��κ$�p�~��ޘ�ey- 4~RoW���@���FY_ ��%8N %��C�� -ҁ���R�s�-�����F�=���4�M��섓�Am�����v�z4�-�T ��;��7u~�ʶ=�O�i[�hG�� �a�=�susE'�����o�)[3�rFf�۽���,a�4���8�E�uz{8����$a��$��]m_l��Ċдk�G�3i߸��PH�C����b}�"J��,�A��*�B�)���BoJs���U>��mS�������[Q����Ba$,�����"- ��@a�=��Dx�g�EST��pgM�d�ŕ��s�3� ���E�[��{С-X�OB�-���$.��!� F -vx&P���n����:f�S��jg�@��&��b�1��/k�˼n��!Gp�=k�h7�p����l�Zz�/ �;���v��ԟ��3�w:�P��(����4h~ܡ)bĉ�_39=��}��,�����>e��.�D�&���+�!d�B�H!-1#f��P.pBc�ft�P�us�EI3��Q�.o8>�Ԛt��<8��u�ՙhm̾�|�ѷur�XMo���������q��Jg�K&d��`�n�n�Te$��n�a���1�����<�����ϿT�3B{�@�1�� :h\:����1�h�\�&�u ���I�H�i��@���L%����� Il�_� �x��a�4��H��C��@J��l�h�����JwMmH�Ǻ������i$��2�@�V�m��/�b< ��R둄uDq<�\�l�g[h��6���n�!�� �끐�5>t��G=\N��IRڒ���+��܃x_OO[���Xx*����0] մJ������'�[�zL��Z�٫���t^����ܗY�[�?#ɛ���8�wl�endstream +xڵXK��4�ϯ�m�ډ���\�,�RP�-pN�I�$����_O��%�g��R˭Vw���C���~r�I�E��I�؟������̲f����a{��c- +Q�a��>,� Y��, +E��|��~Y~s,�Au�u��H�sS���^7"}���O�r�����o�Nye��Aë:��6��B�"����� r!�"2&F"!Z����N_~cd�<�hɑ�H#'X��X�Y�y"$�y���tQvi� V�\aa�P`<�/�U,?�d�TD����U���Hx�,@\��,<�E^H2���7y�i�� +9��P��*�箟#2b��l�K$��{.�H�4��q�Х������78h�r�QI�~(�3��/�\�I�=��#���ne��7��t�fj�N9�e��8P����ײ�mE��P2���o8?I3dy���K��|Dž�m��/��۽j�[i�(��a�j� ����J����jί3�˦R��xmF�����y��-/��#�|A/{_���O^nu_�o�}V�Ŀ�G�D�iBFo�å<����: + +�@��f�$˞%>�僾tÑH.1y�D偸M�C�4�!e�fv0�Ҁ;�P*_>�=���=�1��UN�J�fA[1������zV�-�UH6��Ӏ�D��+�������&&�l;����6��*�=<9�]�>z}V��CU��f|�Bì|s�4���$L����Nda(�dzj c��6�H�xo2�]i�����SV��9XS靓���B�1��{L�il�9@�"I�X 2��T)`�.\��FW(��I������H����V���Dl; +��D�M�D7�^�@Ě�x�������O��L���jO�� C}^�$L�6��0s����q��3� ���uS��rP<�u&FС,�N)EɲP6��Y�6$NČ7��Y ��@��G��3*֤֬9c�d�S�J\�Ԙ|�$��2��g$��V�Q�yp���MZH�� � �$�M.�<Z��qzoң�xA�h���m��$UO��2_۪��q3a&�I����uCӁ͈��f@v.�)�A�O�d��o�m�3���Ur�DbE[���!�!�n!��d� +=�F��tj���GĒ��sY�hE������ g@ǙF��́�VKv˽͡�-��M��Di~�u�9��S'��ʹ�F`�`��x�@BR�3�IBFY +r��3IU&"ʠt$��e�@�p���pl���Ս&J1@�9�� <h�:����h̹�E*K��5:�t&i, w��qBEg�GRߟ��J�4����4=n�&1%RƯ�ɹ'&:]|6]��¯ع$pk@r릲�����H���QJ5L,C:�����vf��! ���ܞ�?������1��n�1����1�[��>���[Sq���d�*�Jw0w!>�i� O(��� z;�SIh�]���Ӛ�'�-��U?vW� *@klR��n����*�Ё�N�S�\M�ag4z�:A{a��`��zcLf�=�G^I藍$,�| �����{���0Gn).-�)182��C\�� �b�<�NGS�����.)!=-����Bν���ԃy7z2�j�CwT�Gb#��6�� 'y��T���f6z�_:����KL�b! �L�������r��o���)��}ˍl��%?w +�=������P����Bx�[�L��.��1Yҽ,�ۅ�{�-��IlHwAjw��o��ՙ)M��dc��s݉�� \��5��x���9�i�&�J�dfg�#��+��G���X,��v�,았W�W s�~h���W�8�L�W�{</?CD�@���[M��_ug� k��endstream endobj 3613 0 obj << /Type /Page /Contents 3614 0 R /Resources 3612 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3476 0 R +/Parent 3503 0 R >> endobj 3615 0 obj << /D [3613 0 R /XYZ 71.731 729.2652 null] >> endobj +526 0 obj << +/D [3613 0 R /XYZ 194.3607 708.1493 null] +>> endobj +1668 0 obj << +/D [3613 0 R /XYZ 71.731 704.9574 null] +>> endobj +530 0 obj << +/D [3613 0 R /XYZ 152.7618 673.6786 null] +>> endobj 3616 0 obj << -/D [3613 0 R /XYZ 71.731 741.2204 null] +/D [3613 0 R /XYZ 71.731 667.5516 null] >> endobj 3617 0 obj << -/D [3613 0 R /XYZ 89.6638 708.3437 null] +/D [3613 0 R /XYZ 188.4422 654.7495 null] >> endobj 3618 0 obj << -/D [3613 0 R /XYZ 89.6638 695.3923 null] +/D [3613 0 R /XYZ 71.731 636.6525 null] >> endobj 3619 0 obj << -/D [3613 0 R /XYZ 202.6386 695.3923 null] +/D [3613 0 R /XYZ 71.731 636.6525 null] >> endobj 3620 0 obj << -/D [3613 0 R /XYZ 71.731 693.9527 null] +/D [3613 0 R /XYZ 71.731 625.7189 null] >> endobj 3621 0 obj << -/D [3613 0 R /XYZ 89.6638 677.4595 null] ->> endobj -1667 0 obj << -/D [3613 0 R /XYZ 71.731 641.594 null] ->> endobj -526 0 obj << -/D [3613 0 R /XYZ 194.3607 602.2216 null] ->> endobj -1668 0 obj << -/D [3613 0 R /XYZ 71.731 599.0297 null] ->> endobj -530 0 obj << -/D [3613 0 R /XYZ 152.7618 567.7509 null] +/D [3613 0 R /XYZ 91.6563 607.9251 null] >> endobj 3622 0 obj << -/D [3613 0 R /XYZ 71.731 561.624 null] +/D [3613 0 R /XYZ 71.731 585.0111 null] >> endobj 3623 0 obj << -/D [3613 0 R /XYZ 188.4422 548.8219 null] +/D [3613 0 R /XYZ 91.6563 567.0783 null] >> endobj 3624 0 obj << -/D [3613 0 R /XYZ 71.731 530.7248 null] +/D [3613 0 R /XYZ 365.4273 567.0783 null] >> endobj 3625 0 obj << -/D [3613 0 R /XYZ 71.731 530.7248 null] +/D [3613 0 R /XYZ 71.731 554.9588 null] >> endobj 3626 0 obj << -/D [3613 0 R /XYZ 71.731 519.7913 null] +/D [3613 0 R /XYZ 71.731 554.9588 null] >> endobj 3627 0 obj << -/D [3613 0 R /XYZ 91.6563 501.9975 null] +/D [3613 0 R /XYZ 71.731 544.1642 null] >> endobj 3628 0 obj << -/D [3613 0 R /XYZ 71.731 489.878 null] +/D [3613 0 R /XYZ 91.6563 526.2315 null] >> endobj 3629 0 obj << -/D [3613 0 R /XYZ 71.731 489.878 null] +/D [3613 0 R /XYZ 363.4245 526.2315 null] >> endobj 3630 0 obj << -/D [3613 0 R /XYZ 71.731 479.0834 null] +/D [3613 0 R /XYZ 71.731 503.3174 null] >> endobj 3631 0 obj << -/D [3613 0 R /XYZ 91.6563 461.1507 null] +/D [3613 0 R /XYZ 273.6017 490.366 null] +>> endobj +1669 0 obj << +/D [3613 0 R /XYZ 71.731 460.3138 null] +>> endobj +534 0 obj << +/D [3613 0 R /XYZ 244.6004 423.0982 null] >> endobj 3632 0 obj << -/D [3613 0 R /XYZ 365.4273 461.1507 null] +/D [3613 0 R /XYZ 71.731 412.7332 null] >> endobj 3633 0 obj << -/D [3613 0 R /XYZ 71.731 449.0312 null] +/D [3613 0 R /XYZ 144.9646 390.0223 null] >> endobj 3634 0 obj << -/D [3613 0 R /XYZ 71.731 449.0312 null] +/D [3613 0 R /XYZ 327.322 390.0223 null] >> endobj 3635 0 obj << -/D [3613 0 R /XYZ 71.731 438.2366 null] +/D [3613 0 R /XYZ 107.1477 377.0708 null] >> endobj 3636 0 obj << -/D [3613 0 R /XYZ 91.6563 420.3038 null] +/D [3613 0 R /XYZ 134.8934 377.0708 null] >> endobj 3637 0 obj << -/D [3613 0 R /XYZ 363.4245 420.3038 null] +/D [3613 0 R /XYZ 71.731 371.99 null] >> endobj 3638 0 obj << -/D [3613 0 R /XYZ 71.731 397.3898 null] +/D [3613 0 R /XYZ 311.2942 346.1866 null] >> endobj 3639 0 obj << -/D [3613 0 R /XYZ 273.6017 384.4383 null] ->> endobj -1669 0 obj << -/D [3613 0 R /XYZ 71.731 354.3861 null] ->> endobj -534 0 obj << -/D [3613 0 R /XYZ 244.6004 317.1706 null] +/D [3613 0 R /XYZ 71.731 326.0971 null] >> endobj 3640 0 obj << -/D [3613 0 R /XYZ 71.731 306.8056 null] +/D [3613 0 R /XYZ 120.8687 315.3025 null] >> endobj 3641 0 obj << -/D [3613 0 R /XYZ 144.9646 284.0946 null] +/D [3613 0 R /XYZ 319.5499 302.351 null] >> endobj 3642 0 obj << -/D [3613 0 R /XYZ 327.322 284.0946 null] +/D [3613 0 R /XYZ 448.3736 302.351 null] +>> endobj +1670 0 obj << +/D [3613 0 R /XYZ 71.731 282.2615 null] +>> endobj +538 0 obj << +/D [3613 0 R /XYZ 242.592 245.0459 null] >> endobj 3643 0 obj << -/D [3613 0 R /XYZ 107.1477 271.1432 null] +/D [3613 0 R /XYZ 71.731 234.6809 null] +>> endobj +1671 0 obj << +/D [3613 0 R /XYZ 71.731 222.7646 null] +>> endobj +542 0 obj << +/D [3613 0 R /XYZ 214.9999 190.4507 null] >> endobj 3644 0 obj << -/D [3613 0 R /XYZ 134.8934 271.1432 null] +/D [3613 0 R /XYZ 71.731 181.8132 null] >> endobj 3645 0 obj << -/D [3613 0 R /XYZ 71.731 266.0623 null] +/D [3613 0 R /XYZ 71.731 164.3835 null] >> endobj 3646 0 obj << -/D [3613 0 R /XYZ 311.2942 240.259 null] +/D [3613 0 R /XYZ 361.8061 153.5889 null] >> endobj 3647 0 obj << -/D [3613 0 R /XYZ 71.731 220.1694 null] +/D [3613 0 R /XYZ 490.9416 140.6375 null] >> endobj 3648 0 obj << -/D [3613 0 R /XYZ 120.8687 209.3748 null] +/D [3613 0 R /XYZ 71.731 127.686 null] >> endobj 3649 0 obj << -/D [3613 0 R /XYZ 319.5499 196.4234 null] +/D [3613 0 R /XYZ 71.731 107.5964 null] >> endobj 3650 0 obj << -/D [3613 0 R /XYZ 448.3736 196.4234 null] ->> endobj -1670 0 obj << -/D [3613 0 R /XYZ 71.731 176.3338 null] ->> endobj -538 0 obj << -/D [3613 0 R /XYZ 242.592 139.1183 null] ->> endobj -3651 0 obj << -/D [3613 0 R /XYZ 71.731 128.7533 null] ->> endobj -1671 0 obj << -/D [3613 0 R /XYZ 71.731 116.8369 null] +/D [3613 0 R /XYZ 320.7944 96.8018 null] >> endobj 3612 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R >> +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3654 0 obj << -/Length 2131 +3653 0 obj << +/Length 2075 /Filter /FlateDecode >> stream -xڝY[��4~�_��q�D��U��2S�V���GI���Y˙��_O���[�s�ʃۭ�VK��"'X��Vi �R ��rU\���}�&`�-�l�B�vo>��+%T"��|_�~�Vi(E�jw�����_;ݮ�2��P���å�K��>����{YU���ݿ�|��'��T�fx��^��G��@�X�[���0 -S�b(2��}K3�ˮˋu�{狮;�}���s2��LG��W� J*k�j;MX֯��g_�Vq3�@T����=�wӦ+������M��U%��g����د%�z���+�tB���:����6��p𦼲6]o�!�ƺs�,\rZm�f�9g��Y��2�>�l�j�� -�Uʰ���>���J^7�� ��]DZgH�h����=�T �Dv�`��f�W�u�Ȳ�g���M$iw�FV�&�������M/��6m�!��>�Fj���&�oj'�wcG���p�m#{h��+�j�D���i5�=}�o��硹�EsY@|�x��Q 7�O��0a[ �r��㴰�N�����+'lW�v��sΝ������Tm�I����W[��Q��^�ϚpE�҅'��v1B��@�<�E�F>Kk.��u�{�堝$sn�!�敧��έf_�U^h�y�Ld��h��T�x9���v,Eis|�w�p���O�)�$a�8��ٻ��^q��6��ݍ�bR�ҫJ��9g�cC����6n~m��C���aS�N�zynn$R�<��zf���-�� }vz����p|�!Ce�9��!$5͎c�X�m\I�`p}��Bx˵��u�����u�n��t�$�t�jT�x�~�����~�+�n�8����g(�{ݷ�I�j4*�=�� -�����^���� ���0����.��F~�<C߷���Pv��a(g��e�� {����G(���!:� �U �J=���N9��2.'3@��V��"t��b �C�[1���*]���S�=A�8zv�.��i� �nu��<����2 GR/��IQ���S� @��mt�G -Iܹ���i`Ӱ a��u��DR$�G��kQi<� <�K�p� ����)-.�l���%d|�LL��F�����CV)��%0����T���/`��1�LQ0Z��sq�s���_x.�x��J��I�gƱi�;U�ơ�~ ?i#�o�\~��j��Fx��|�y���_��J$Ga��F��e(Y��C~�"y3DۋK��)���4r����(�eT�@�*����~�R�W�Լ�W�h\����0���粙�l�В�;�T��ѡ�\��}_Wbe��5DR�EJ������-���u���:�x��e��/z���h: 5>>��ʴ�F�+�a��6��u�7=b�4oK�}Y���NІ�C�j���nK�&�O���+=."�/6��-?�|C�P,��E G��������z>����'���B�� ����ǃه���H�"�Qb-�CY�<Ĭ T.(J��0�k]�]���a��A -��=! -����:�+a(p v����vGT�ms�J�(�"�We����%����64]<�.o��Si�P{�K i G�$��6��xe0گ�͔��� tR� 2�M2��J�BA#F���x��m���=K=H��/�cӁ�aH�Ýqܖ���5��_��w��\�%te�U�qY*�Mc�fVl���v���6U���/N��dO�-긪�ߛaGO,0J����]z�����HD���"�}�Þ���||��0�tL%}l�� -0hk��&�\[��ԕ�lH��CB�H -���O2k֑À��f�����}a�t��+�Φ+�����9z�@N*z�D���'��h�+��i/�j�X���2�;�4H#0;-�D�~�|7륶c��F����Di����!�~H�O*��e?z�W�����<h��V����Q������c��� ��L��jU�F �vYY4��4e߇�N�pi��� �>!�멕��f6%c�=k^[m Oэ@���f��/��o����^ ���bu0,X?�2�Wv��輾�LFD�ȂD����H��ߏXf���-��|�w��4�n�endstream +xڝYݓ۸ �_��s�N����I�&7s�io;�N{�̵y�DW�������ey7��C ���ƫ��U�E?� +E��Uݾ�V�ӛ�E�,�� +�{x���$YUa��|��J�(,��Z��,.W���4�~�Y$!��a��N��݁X�·�ꦑ��~z���/�%EX���Y�2�V[���bq#�a�&�߈(&qb^ +��s��*��\M��%��7�nt� ��UI0"h���2�đ�(�c��q�����I� ��z4k�O4�fJ�C�+�m��ٜI������L_}�{X���(G5��[�Y�̋GQ"�ۆ�iG�Q�y��`�jDǃ����,N�/FC��qC���a�mi�X�1p������>���Ȋ��e �jϟ;s��Fl�������g�hn̆�n?[A��S��E�*Tz>�Ѽ(�4�^��T�>:X���Ғ���ent� ?"�(& &Qd��a�G,I� C�<'�CG�:�!L��l�����7,�<)�z���fr|4���} hR�+��Y�n^<\���ѡ���ߥوC�cOG�3���1�&8f�y m�Թ����}@�y�Y� + 'R/��I�K���\X���� 7�ф�RH�� +^��"�i؆0�z��@��T����:+<� <u}�!{���u��A[\"��7�ZB����t�1*`���^��~$.�����1���A�a�F�d+���g0��x�A��"�����v[Ew���h�� +�MC�I�`�'���6�M�6��!p��$%��`T�i(�<%�>">B����4M��~)�������I� �����(Y��C��"y�6�ڽ���[A��jC��T2��Jf����.؊�J_���N�?Z��/r�sƵl�6Kh��O� +��nRG1R*��:>�jqe]�DR�EJu�|`��k�����>8x�#���S ��U%AA)���Ө��W�9�dr��'�a��F ��u\<�S����z���y�F�Á�ćN�E���dz�v�t˾�\�qa�d+�d���8J�=�hG� +����430�O�o5�g�I���n�>Y� w +��8O|�d=�6��8��<in5}�P�\��b�V.T�Bqc�iO����Q B�}lf +)H����(��%��C�K��E�����K�h/Gm���'$�}��/肥F�B��[����py���g@�ؗ@�>@�2Iy���|���ߙ[���� :� M�J�MJ��F�#�B�W���x��6�h�!YH��/�cӁ������MےY�����L��/�Ѵ����*�,�Gc�����G��Z]7U^f���7�bO�-�qU�����X`��&�ә�V����aZD�$�b�=� }����{��Y��aU�c��Z�A�}�β` Ω7d�VÆ$y{0T#��(\��f9x�l�k��Z,�@u�4�te9ti�T �BE_����ܞ�5Z���h��]�뙯.�~gޖ�E + +�Ӊ(�2���f^j;�mDo����B�R&��*1�C�x +Q�/��^��VGw|�����Uz�(L�rZ=\����� b���r]m����1n�+�������e�1\ڤ/@�/C�SW��ْ�=�v<�ԫ��*W�݊Vs��ni@Q��@}ex ����W�+;��Jv?���ډI�p_���+�pd,�~�c����/[P*�,���Pᓶ���`����pj�3�/��7B��[�ҽ���/��ܑ ����<X���M� �����2b�Q�;��;H�ќ:�����+>����<J��:�Nkۺ䟒��$wٹ9T���L]��s���跜/�)�i�EF���@��=�\ǀ�Y�5�W>jBbY�u|�K����驍�iF}"�=��ӊJ� �2+��S����F$~��F�W����<�^ߋ_~��{��'�;۳�ɝ��A�5��&��T�毎^�}xz�T������ ��a�Ջ�)����� e�U�5�[�+������\5endstream endobj -3653 0 obj << +3652 0 obj << /Type /Page -/Contents 3654 0 R -/Resources 3652 0 R +/Contents 3653 0 R +/Resources 3651 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R -/Annots [ 3685 0 R ] +/Parent 3503 0 R +/Annots [ 3679 0 R ] >> endobj -3685 0 obj << +3679 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [173.9566 203.5268 235.7246 214.0572] +/Rect [173.9566 325.071 235.7246 335.6014] /Subtype /Link /A << /S /GoTo /D (flags-create) >> >> endobj -3655 0 obj << -/D [3653 0 R /XYZ 71.731 729.2652 null] +3654 0 obj << +/D [3652 0 R /XYZ 71.731 729.2652 null] >> endobj -542 0 obj << -/D [3653 0 R /XYZ 214.9999 708.3437 null] +3655 0 obj << +/D [3652 0 R /XYZ 71.731 718.3063 null] >> endobj 3656 0 obj << -/D [3653 0 R /XYZ 71.731 699.7062 null] +/D [3652 0 R /XYZ 89.6638 708.3437 null] >> endobj 3657 0 obj << -/D [3653 0 R /XYZ 490.9416 658.5305 null] +/D [3652 0 R /XYZ 219.6243 708.3437 null] >> endobj 3658 0 obj << -/D [3653 0 R /XYZ 71.731 645.5791 null] +/D [3652 0 R /XYZ 71.731 693.2354 null] >> endobj 3659 0 obj << -/D [3653 0 R /XYZ 71.731 625.4895 null] +/D [3652 0 R /XYZ 89.6638 677.4595 null] >> endobj 3660 0 obj << -/D [3653 0 R /XYZ 320.7944 614.6949 null] +/D [3652 0 R /XYZ 134.39 677.4595 null] >> endobj 3661 0 obj << -/D [3653 0 R /XYZ 71.731 607.5567 null] +/D [3652 0 R /XYZ 109.8678 664.5081 null] >> endobj 3662 0 obj << -/D [3653 0 R /XYZ 89.6638 586.7995 null] +/D [3652 0 R /XYZ 71.731 662.3513 null] >> endobj 3663 0 obj << -/D [3653 0 R /XYZ 219.6243 586.7995 null] +/D [3652 0 R /XYZ 89.6638 646.5753 null] >> endobj 3664 0 obj << -/D [3653 0 R /XYZ 71.731 571.6912 null] +/D [3652 0 R /XYZ 192.792 646.5753 null] >> endobj 3665 0 obj << -/D [3653 0 R /XYZ 89.6638 555.9153 null] +/D [3652 0 R /XYZ 384.0197 646.5753 null] >> endobj 3666 0 obj << -/D [3653 0 R /XYZ 134.39 555.9153 null] +/D [3652 0 R /XYZ 114.0123 633.6239 null] +>> endobj +1672 0 obj << +/D [3652 0 R /XYZ 71.731 610.7098 null] +>> endobj +546 0 obj << +/D [3652 0 R /XYZ 172.6073 575.2428 null] >> endobj 3667 0 obj << -/D [3653 0 R /XYZ 109.8678 542.9639 null] +/D [3652 0 R /XYZ 71.731 566.6053 null] >> endobj 3668 0 obj << -/D [3653 0 R /XYZ 71.731 540.807 null] +/D [3652 0 R /XYZ 389.4099 556.3138 null] >> endobj 3669 0 obj << -/D [3653 0 R /XYZ 89.6638 525.0311 null] +/D [3652 0 R /XYZ 458.9373 556.3138 null] >> endobj 3670 0 obj << -/D [3653 0 R /XYZ 192.792 525.0311 null] +/D [3652 0 R /XYZ 71.731 538.2815 null] >> endobj 3671 0 obj << -/D [3653 0 R /XYZ 384.0197 525.0311 null] +/D [3652 0 R /XYZ 176.4672 512.4782 null] >> endobj -3672 0 obj << -/D [3653 0 R /XYZ 114.0123 512.0797 null] +1673 0 obj << +/D [3652 0 R /XYZ 71.731 495.3774 null] >> endobj -1672 0 obj << -/D [3653 0 R /XYZ 71.731 489.1656 null] +550 0 obj << +/D [3652 0 R /XYZ 249.3775 458.1619 null] >> endobj -546 0 obj << -/D [3653 0 R /XYZ 172.6073 453.6986 null] +3672 0 obj << +/D [3652 0 R /XYZ 71.731 447.7969 null] >> endobj 3673 0 obj << -/D [3653 0 R /XYZ 71.731 445.0611 null] +/D [3652 0 R /XYZ 135.5078 438.0373 null] >> endobj 3674 0 obj << -/D [3653 0 R /XYZ 389.4099 434.7696 null] +/D [3652 0 R /XYZ 86.3732 425.0859 null] >> endobj 3675 0 obj << -/D [3653 0 R /XYZ 458.9373 434.7696 null] +/D [3652 0 R /XYZ 220.9876 425.0859 null] >> endobj 3676 0 obj << -/D [3653 0 R /XYZ 71.731 416.7373 null] +/D [3652 0 R /XYZ 71.731 404.9963 null] >> endobj -3677 0 obj << -/D [3653 0 R /XYZ 176.4672 390.934 null] +1674 0 obj << +/D [3652 0 R /XYZ 71.731 392.0449 null] >> endobj -1673 0 obj << -/D [3653 0 R /XYZ 71.731 373.8332 null] +554 0 obj << +/D [3652 0 R /XYZ 193.2056 359.731 null] >> endobj -550 0 obj << -/D [3653 0 R /XYZ 249.3775 336.6177 null] +3677 0 obj << +/D [3652 0 R /XYZ 71.731 351.0935 null] >> endobj 3678 0 obj << -/D [3653 0 R /XYZ 71.731 326.2527 null] +/D [3652 0 R /XYZ 247.7597 340.802 null] >> endobj -3679 0 obj << -/D [3653 0 R /XYZ 135.5078 316.4931 null] +1675 0 obj << +/D [3652 0 R /XYZ 71.731 321.086 null] +>> endobj +558 0 obj << +/D [3652 0 R /XYZ 201.1796 287.4022 null] >> endobj 3680 0 obj << -/D [3653 0 R /XYZ 86.3732 303.5417 null] +/D [3652 0 R /XYZ 71.731 278.7647 null] >> endobj 3681 0 obj << -/D [3653 0 R /XYZ 220.9876 303.5417 null] +/D [3652 0 R /XYZ 165.864 268.4732 null] >> endobj 3682 0 obj << -/D [3653 0 R /XYZ 71.731 283.4521 null] ->> endobj -1674 0 obj << -/D [3653 0 R /XYZ 71.731 270.5007 null] +/D [3652 0 R /XYZ 71.731 255.4222 null] >> endobj -554 0 obj << -/D [3653 0 R /XYZ 193.2056 238.1868 null] +562 0 obj << +/D [3652 0 R /XYZ 142.614 225.1357 null] >> endobj 3683 0 obj << -/D [3653 0 R /XYZ 71.731 229.5493 null] +/D [3652 0 R /XYZ 71.731 219.9502 null] >> endobj 3684 0 obj << -/D [3653 0 R /XYZ 247.7597 219.2578 null] +/D [3652 0 R /XYZ 71.731 187.1134 null] >> endobj -1675 0 obj << -/D [3653 0 R /XYZ 71.731 199.5418 null] +566 0 obj << +/D [3652 0 R /XYZ 166.0159 156.3935 null] >> endobj -558 0 obj << -/D [3653 0 R /XYZ 201.1796 165.858 null] +3685 0 obj << +/D [3652 0 R /XYZ 71.731 149.3151 null] >> endobj 3686 0 obj << -/D [3653 0 R /XYZ 71.731 157.2205 null] +/D [3652 0 R /XYZ 511.1135 138.4607 null] >> endobj 3687 0 obj << -/D [3653 0 R /XYZ 165.864 146.929 null] +/D [3652 0 R /XYZ 106.0422 125.5093 null] >> endobj 3688 0 obj << -/D [3653 0 R /XYZ 71.731 133.878 null] +/D [3652 0 R /XYZ 71.731 118.3712 null] >> endobj -3652 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> +3651 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F48 2105 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3692 0 obj << -/Length 2593 +3691 0 obj << +/Length 2778 /Filter /FlateDecode >> stream -xڝko���{~���d�ˇH��')|�悳����J\YD(R ���6\J�k����3���ٕ� -�O]��O#������j�\=��_�(!��k�����w_��*��U����^�A�A�_�Q�g�ʮ�{7;}�M�����|�~(�e]v�/�F}<>���*����/o>�(��$���@u�c�9:����QJF~�'~�+T.ͼ�zoP�w_��Y\]+����]١�g��� �y52 T��L��A��#�G�9�]aQv�J?�B4��D�cgڎ�=�B�¡j�b]���P�����Lf�l-� �~���,����MS���y��J<���OWe����)����Voz�A�\��1��r��ug� -��7���=ςrY�M|�O?�n[ �/��5�E=��+p��D$���x��x�#K��7��lT����Lx�,���ue�屧��o��/�{�a.� ��6�`�E2�� W?S��2m���w�|�8�xB ��#��6.�\��}�7�������u��P��T�ލ�(ZK����[',�9�T�c� |�'�2��C��|D���_g��ٍ���$v�?�>�-�:V`�U��}��"��)�c˨m#��Om�1����5 �@t2xIж�ŪA+��F1~mS7�P���B���ߡ���ݒ<���n��q�Hx��!�����6�����"�p�ʄ�ό���ME�_ -M$E����:v����j�<��n���1{+�X���3�Q��� lj�8�Bu��������� '�a�P ��+�� ���&z3� ȹ8݁�I��#H��sES�](��B"��#23�p���0��j��,�wGPk�N!�S.�Lڶ͞!9dot��z�t�����P��̻1"�Y`6%Rn h%����n��C�n�����ɚ�'�X9�;���qg*�酆?�X;�n���(��p]pQ���k��G��J2���(yܾl��g�Y�Y��f����'$D��r4M��qzg�BL=��� �>���[]w��q��P����L@tY��R0�B���^��Vr�ym�0�sO�s/�n���d��������$(瘲稏�l�G-0+sJ�0]�qFL����B����ӏkB�w���4.������T�ܧ���_{zI<W�'�ܜ�hˇ]���4�|�B�)�������F -�`� Z�ew2�A��m� W���g6;�՜����FN�����I˙��8NH�W�� ����X�q�K�د@��@8긞���}+�s~G��Q� ��0"��ͩ�fW������SQ [٣��������Z@��wX�3^��������T��6q��C����c=LB{�(��T�Ω6Ϸ/%�d��� -�uԅ�R֞!�b+\z����c]@'�&��2?Wa2��[�w[Rƅi0W*�H�L.J��R 4�*P��h-�^�V�"?�bKm�T�ǍJ�S��f�7)��Q+�Sk��o���u��qO�+����Է�?N���8��[���Uϟ�F -��at��o��~����W�$�{^��i�5�̟�mK{S.���g�xm�LZ���%W�@ a͟������ػ�l$KN�D�e��5�Жų���f��z�u�T���˹�J�GQ��ߡ4'tƏ#!Jb�K�(�M���B`m�������h)�|����m�QXm��`|��'���=�o�_���}z�C�n�K�r�F]�-�+�P�v��ɍ��|^2�������r-��\П�؟���P��3�+?������bV�b� -No��%A�9Q5�1R���������m��V��H�f+���1�[EG4���̽�L�L;'v�7n�Y[�I�g���]O���@���2j&p[{��}�v4����ԣ>-T��_F.����3z��� ��@�0(����W�����ͼōV�xÑ� -��r>HH����ȷ-J�O�T+��+��}.�I�U6��U*�:sHr�R<�kl$�~+��o���u��cm����%��L݉�\@�u�'�2�;����oǶ����?��I��tXc#n����]�'�-�qw�������볕�6�V���w�ɓ�-�]�U�m�<��5�C����fc�n�xy�R��f��{yAH�I#I#,o����a�צ/!���i�ۂ���v�_i��IKOg�^������\ �| �"�2��Y��R�Ȍ���Q���R�+��.��u6��M�D -�I<���\�?��(��f�fDŻ����9�>��������Z��$�HRqw#��Ŭ�[S�%?^L��m��bb,烜�t;��:�f5 b�L�$�*�l�c�p_z�9�g���߳W�c&��f�~Lrq�>�ݨ�uD�f*��;��-I`�%��[^�(�Wta����-4QJ�� ���^G�/Tw�N����F� -y.��G�NMօs�e7���ą�edp>�^����ߙ�-�e��{�䗛 -)"G�G�q`���#���g~�V���1;4�?1'a�*�N��$��������$9endstream +xڝَ�8�=_�o�1�Z��}r.zf7L�`��,٢m!���t{�~�D�r��h�,��b],R��x��ߤ�����$qp�ڽ�n60����,�fa�}xq�1or7O���a}y��zY~�����~v�P��y�-��:�A�9���rW5U���0��q�gU���?����3����3��C {�K�̒�����0 +S�0t37v��K3�]ѩ��C�9�8���ZûY��-x���z�{Nq���" g���,��>���4j��c}Z� +ؕ���/�&�Zn;-3�{U�*��v��q� eє�5+���F5];g��j�����żM�X���ƾA���f��ׯ�,���"�RZ&�'l�<18�n�(n��bR\��Y�Ƕ�M;,��O.Cwk�춼�a�:��x�D�ET�ڪg6�}�9s!�-|G��;��ԆU2ª1��U���b���?��ŋ=2.vs�D4bE��P+u�r�gN'$�@��HQ�8��@7@����`�Y���tP;�2�5�q�<cd�z�I��`>�� D�T }�������<��ժB�8�I��aW k���@����0�@ �Y�p01\4���ιߪZ�:���3K��-B�[������RS�����{�9���'�Q��*�a����)���\$`���������0 ���:J��[����}\o� +r<M[�r[�����A�ȎDW��c�=�u��tŇC�OK-�와x�k�'�nU]��N䰲 ����SN-ʖS%�es.J���X��C���� �m�eX�O�Xl~C��[�ڻð*���}�h?T[����Ү� ��ã`��3�fEa6��<�`�Bh?<YQ�O���B�P�j�F�b��&��\���C��D�=������)4�W��r�j+���TklN���9��r��(��6 ݰ��} �0ew\��;�c�d�zd�T�95�l��>����$a����iT$B��`u�����5�$���v����Pj2� +�lb�b�X.:փ80�Z�� +w��Sl�脞`�:_�*0��D�o�P*6̥6@��H��96%T"��E����c�0�$Gq��E\�zS�����b�Իn!?�b��|�D4k�K-�����6U*��F���{ +�.b�Ũ�á���6�NS�$�̓�NJl��D*�-��'����(��˜{��&��H��ލ������fx��M�������Fc~W�CU*�} �;�ąa3 +���<�+ +L�B��τ�y�2V;���d�Q݁�>�̹���,q2��L�zE;O�K2u>�s��C*v��S3�7�0�$.q��T��D���R՚�kI>� +���A��^>��m#��HC5��U�z $B��k��Pކ[p}�*qvp%�>]�P�|K�J������zr��"��p�W˓I�`PSNVbx*v�Z��p��w��@���%F +�%pz#�,̙�]��b�;0��.@�VƗş)i��h��l���к-S����tD���t�2�Z0l��߸�fiD\֪��bv=rޢ�T�.�b��5X`�88��T�����jԧ�9�g�����< �zv���R�<@�C�E�9��jU��e���@S/q��L^�gٌ̍��y���$�M���s �,��.f�psM�%���T�uf�d�X�O�1$�\՚o��y�Cn��]�mFWvnUӊd\@�vY0N^e�GVs��Ǻ�����?���Od��7ZF�nB�צ����y�%���j}�2�&P��w}��a��z�`)2K�;{r�]Cї���-�Ƕ{M�8�I���o6 +������u��js�a'/i4*�C)�C)�!3��m�T]������x��wkn���F%=�!;�4�6��!��j�eЭ!bx1Û_�,�!���)�d��������ē���p!���S��Y�B�T��㛑#jޥY���c�#S�jL��0��g*@ô��N}(nᎡd�4���5�X�����GWL����og�[�R�zD̙�9TM��y`(�b�K/Vĕ��ŋ5��'��&7j�� Ww0��э�C�y�a��PQ�f�=�,�.��"{FE���O�A��gubޠ���= ���F���{�<�bﭙ��S�i獵]���H��>[��!��U��KR�8Ο��C�/7D����I��O層�7p��������^� ^�F�a$Y/�>.0�J���Z����=�4S0ܟ����5�ǃ��P^tx����6ĵ<�ˢ+�P�TC��"-='!�e������+���n�@cʊ��! �\�%�I��N{���4lHPj�9��f�U�o<N��`��Ja +7�|��!�)$���,Q���>=%�S.�S.�&�ɨ��������@5|���k��9Л��7ʿR9�������b�����y�m;x�F^�<E4�$��pk���̦$����b�M�G�r��f%K�(���2��"L��Ȗ��V�2Oe�����z����}���j��]�N��v���rG�=�nT��_5�O�����G�B|���3rħ^�q<x'v@=s��'n��#��`�ڼ��}?�w�8�b۩��M��] yC�sx-Npƾ��m�P�?�O�,v@Ym!q�} � �?��7���%�a�`蓃��gzqϿ��W�(s3?��/���A�z~��+��qp��ÿ��:��endstream endobj -3691 0 obj << +3690 0 obj << /Type /Page -/Contents 3692 0 R -/Resources 3690 0 R +/Contents 3691 0 R +/Resources 3689 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R +/Parent 3739 0 R >> endobj -3693 0 obj << -/D [3691 0 R /XYZ 71.731 729.2652 null] +3692 0 obj << +/D [3690 0 R /XYZ 71.731 729.2652 null] >> endobj -562 0 obj << -/D [3691 0 R /XYZ 142.614 708.3437 null] +570 0 obj << +/D [3690 0 R /XYZ 156.7607 708.3437 null] +>> endobj +3693 0 obj << +/D [3690 0 R /XYZ 71.731 701.1457 null] >> endobj 3694 0 obj << -/D [3691 0 R /XYZ 71.731 703.1582 null] +/D [3690 0 R /XYZ 71.731 677.4595 null] >> endobj 3695 0 obj << -/D [3691 0 R /XYZ 71.731 670.3214 null] ->> endobj -566 0 obj << -/D [3691 0 R /XYZ 166.0159 639.6015 null] +/D [3690 0 R /XYZ 266.7311 677.4595 null] >> endobj 3696 0 obj << -/D [3691 0 R /XYZ 71.731 632.5231 null] +/D [3690 0 R /XYZ 71.731 651.5566 null] >> endobj 3697 0 obj << -/D [3691 0 R /XYZ 511.1135 621.6687 null] +/D [3690 0 R /XYZ 71.731 644.4185 null] >> endobj 3698 0 obj << -/D [3691 0 R /XYZ 106.0422 608.7173 null] +/D [3690 0 R /XYZ 244.2357 620.6725 null] >> endobj 3699 0 obj << -/D [3691 0 R /XYZ 71.731 601.5791 null] ->> endobj -570 0 obj << -/D [3691 0 R /XYZ 156.7607 570.8593 null] +/D [3690 0 R /XYZ 397.3909 620.6725 null] >> endobj 3700 0 obj << -/D [3691 0 R /XYZ 71.731 563.6613 null] +/D [3690 0 R /XYZ 111.0175 607.721 null] >> endobj 3701 0 obj << -/D [3691 0 R /XYZ 71.731 539.9751 null] +/D [3690 0 R /XYZ 279.6199 607.721 null] >> endobj 3702 0 obj << -/D [3691 0 R /XYZ 266.7311 539.9751 null] +/D [3690 0 R /XYZ 71.731 594.7696 null] >> endobj 3703 0 obj << -/D [3691 0 R /XYZ 71.731 514.0722 null] +/D [3690 0 R /XYZ 345.1534 594.7696 null] >> endobj 3704 0 obj << -/D [3691 0 R /XYZ 71.731 506.9341 null] +/D [3690 0 R /XYZ 71.731 587.6314 null] >> endobj 3705 0 obj << -/D [3691 0 R /XYZ 244.2357 483.188 null] +/D [3690 0 R /XYZ 226.9571 563.8854 null] >> endobj 3706 0 obj << -/D [3691 0 R /XYZ 397.3909 483.188 null] +/D [3690 0 R /XYZ 485.4103 563.8854 null] >> endobj 3707 0 obj << -/D [3691 0 R /XYZ 111.0175 470.2366 null] +/D [3690 0 R /XYZ 71.731 543.7958 null] >> endobj 3708 0 obj << -/D [3691 0 R /XYZ 279.6199 470.2366 null] +/D [3690 0 R /XYZ 109.3962 533.0012 null] >> endobj 3709 0 obj << -/D [3691 0 R /XYZ 71.731 457.2852 null] +/D [3690 0 R /XYZ 143.7536 533.0012 null] >> endobj 3710 0 obj << -/D [3691 0 R /XYZ 345.1534 457.2852 null] +/D [3690 0 R /XYZ 388.8861 533.0012 null] >> endobj 3711 0 obj << -/D [3691 0 R /XYZ 71.731 450.147 null] +/D [3690 0 R /XYZ 134.6438 520.0498 null] >> endobj 3712 0 obj << -/D [3691 0 R /XYZ 226.9571 426.401 null] +/D [3690 0 R /XYZ 226.9412 520.0498 null] >> endobj 3713 0 obj << -/D [3691 0 R /XYZ 485.4103 426.401 null] +/D [3690 0 R /XYZ 71.731 507.0984 null] >> endobj 3714 0 obj << -/D [3691 0 R /XYZ 71.731 406.3114 null] +/D [3690 0 R /XYZ 146.7192 507.0984 null] >> endobj 3715 0 obj << -/D [3691 0 R /XYZ 109.3962 395.5168 null] +/D [3690 0 R /XYZ 71.731 501.9976 null] >> endobj 3716 0 obj << -/D [3691 0 R /XYZ 143.7536 395.5168 null] +/D [3690 0 R /XYZ 71.731 456.1246 null] >> endobj 3717 0 obj << -/D [3691 0 R /XYZ 388.8861 395.5168 null] +/D [3690 0 R /XYZ 71.731 456.1246 null] >> endobj 3718 0 obj << -/D [3691 0 R /XYZ 134.6438 382.5654 null] +/D [3690 0 R /XYZ 257.935 445.33 null] >> endobj 3719 0 obj << -/D [3691 0 R /XYZ 226.9412 382.5654 null] +/D [3690 0 R /XYZ 439.3913 432.3786 null] >> endobj 3720 0 obj << -/D [3691 0 R /XYZ 71.731 369.6139 null] +/D [3690 0 R /XYZ 146.1379 419.4271 null] >> endobj 3721 0 obj << -/D [3691 0 R /XYZ 146.7192 369.6139 null] +/D [3690 0 R /XYZ 222.4669 419.4271 null] >> endobj 3722 0 obj << -/D [3691 0 R /XYZ 71.731 364.5131 null] +/D [3690 0 R /XYZ 281.2438 406.4757 null] >> endobj 3723 0 obj << -/D [3691 0 R /XYZ 71.731 318.6402 null] +/D [3690 0 R /XYZ 435.614 406.4757 null] >> endobj 3724 0 obj << -/D [3691 0 R /XYZ 71.731 318.6402 null] +/D [3690 0 R /XYZ 71.731 399.3376 null] +>> endobj +574 0 obj << +/D [3690 0 R /XYZ 154.0508 368.6177 null] >> endobj 3725 0 obj << -/D [3691 0 R /XYZ 257.935 307.8456 null] +/D [3690 0 R /XYZ 71.731 361.5393 null] >> endobj 3726 0 obj << -/D [3691 0 R /XYZ 439.3913 294.8941 null] +/D [3690 0 R /XYZ 71.731 304.6925 null] >> endobj 3727 0 obj << -/D [3691 0 R /XYZ 146.1379 281.9427 null] +/D [3690 0 R /XYZ 71.731 304.6925 null] >> endobj 3728 0 obj << -/D [3691 0 R /XYZ 222.4669 281.9427 null] +/D [3690 0 R /XYZ 71.731 273.8083 null] +>> endobj +578 0 obj << +/D [3690 0 R /XYZ 142.9228 243.0884 null] >> endobj 3729 0 obj << -/D [3691 0 R /XYZ 281.2438 268.9913 null] +/D [3690 0 R /XYZ 71.731 237.9029 null] >> endobj 3730 0 obj << -/D [3691 0 R /XYZ 435.614 268.9913 null] +/D [3690 0 R /XYZ 224.1952 212.2042 null] >> endobj 3731 0 obj << -/D [3691 0 R /XYZ 71.731 261.8531 null] +/D [3690 0 R /XYZ 71.731 179.1632 null] >> endobj -574 0 obj << -/D [3691 0 R /XYZ 154.0508 231.1332 null] +582 0 obj << +/D [3690 0 R /XYZ 171.7743 148.4433 null] >> endobj 3732 0 obj << -/D [3691 0 R /XYZ 71.731 224.0549 null] +/D [3690 0 R /XYZ 71.731 141.3649 null] >> endobj 3733 0 obj << -/D [3691 0 R /XYZ 71.731 167.208 null] +/D [3690 0 R /XYZ 181.4647 130.5106 null] >> endobj 3734 0 obj << -/D [3691 0 R /XYZ 71.731 167.208 null] +/D [3690 0 R /XYZ 380.9392 130.5106 null] >> endobj 3735 0 obj << -/D [3691 0 R /XYZ 71.731 136.3239 null] +/D [3690 0 R /XYZ 473.5968 130.5106 null] >> endobj -3690 0 obj << -/Font << /F33 1358 0 R /F48 2104 0 R /F27 1258 0 R >> -/ProcSet [ /PDF /Text ] +3736 0 obj << +/D [3690 0 R /XYZ 509.5202 130.5106 null] +>> endobj +3737 0 obj << +/D [3690 0 R /XYZ 191.5112 117.5591 null] >> endobj 3738 0 obj << -/Length 2000 +/D [3690 0 R /XYZ 71.731 110.421 null] +>> endobj +3689 0 obj << +/Font << /F33 1358 0 R /F48 2105 0 R /F27 1258 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3742 0 obj << +/Length 2196 /Filter /FlateDecode >> stream -xڝX_�۶���,ǵ�?q�����aöt..�=(�{���Vvv��G���$���P�Z")�"���ī�ūmn��](�L���E�:��1�<�̃/�f���$Y��].����J�(�F�n�MDXdq��W?oky6jX?�, -��������M"қ��Ϧm�����/��Oʳd� -��I'�{�³ѝ6*�$M���$,�,��l��ui���"����zD��T%�N���i:5n`m�O���$�Sm�����@��F�#R�:�L��?DQ"ODl��:i���ajE�7�8��qp�F�}�^I#rTl�a-����F��˨����AwD�1��~g��� -��N�n�.�S���ʓ@�V6L1Og�p�.�@�@�� �^��V�G�"�T�;����F_���I�*bx����'D�<�5�Ċ\�D�ε�(b�� 3�3��\9("�b�?�C4`�s�����t��@�-���e�@_E�Q]z�� -�=3K������er�1��+��ji�����������D���N6Q���nՒ���Q6"W�Ȭ/Jݝ[e�AՌ�|�h� -#Ir��4F�u�z�a>��VZ���R�5���!a��H�ePN���*9���귋_h@������,��'�� �O����V�Kk�� ���"�rҠS��HE1SK�FSR��ʏX�qʐwr��W�/�8c�a풅�g�8?�WQ�n�S�3��P�^��^�g2'sq�ɂ_��-��dz*�(ek���� �z��c�"������H�@��"��rf@��eC�9�vsp ����-!��$�N� ��a����H'G��+�yS]d;�K����A�E�M�>��"ɕ��>�y�*m��"O�{���ř� :�4���"c�#}���^�l&��3��g։���5I9V��?HF[X�`\��W!#��(�"q�<y�-�"B^��[K�J�D��y�8;"�#�� �����Q96i��&�`'�m�P���\�� �ص!�X��@��T�8�bN�������� }��So��#�`�(m�mS>篧fh��}�mj�Bx;SY"�<ve]� -�����g%#��g���L3JV��IO�m���FL�4�p��$��R���g++�!,^Hyہ���/��O8l�Qv�I�҈#����@��S_&�a a�]AW����A���3��X��8�6x{���eVϑ\3� ��i���c7�U�,���6]����&g�.��[��o��>�*]P\س�����[�����O"$��Ȏ!��-}���ڧ�A��ol ����{���T���b����sHTa,[�\7���x"�!���s -����PL�����\pǞp�.(���3u��0-B�S&������Rz��,~�`�C�^���d�u�j]�P5�)�������)'.�w�T01���q� ��0��N5���61����6����x�91j���g� �s��E}�Yͤ�mb���R��9R+���'��{]���7��W����^�B%7�%��c�i@v�]Ml��T-����ei�=F�M� �G�n��Q��Jlt�̴-���J =�����%�ت#+8�������ւ��f�<qU���V -��)���P��i�٦�m"P/�����i���n�zFѭ]p� wϙy�_)��܀?�g����3�W\�/]�_��sW?�q�t�K��z�K'�%3�R�_:��2�/ J�V%��̞~;I��Γ��ԋ)L~�F9 �,��.$U-m�b�6�@�胹}Ld�|�"6N�=��<d��K��S -����ɡ��[�P:��3N��%3����x���z2�m~���)$}��=�Օ��1`�A��j�q\������1��q�ae���V�+s�����D�?�EX��`{2�?`g��x��v��g���EzA�_��endstream +xڕ]�۸�=�Bo�qkF$��{(6irh����E��h[]}��ܽ���g(ѻN.���r��C�(���r)r U +��*��7qt�Oo$��f�x���Q)�Le��!J�X�qQF�V�He=���|8��l��N��F���]�7���H������5�>���LJ�y�sQ��.T�eL�@F�m\���I�E!R�D����旳��/q�*Ӷ��l�}��l�[oZ�B����`�8�I�A+R�=,�y���a+㍹�3��x3���P��Wy@u��#Rۚ�a$Lo�*�<D��8����wF���L��dG3τ��N`چ0#���A��o��A9����N���V�Le���k� �f)�����E���F�톭� �����g��_g/���DA }H�i����-H�t3�,@��6���-�{/�� Μq�л�@��G���)�(�Q>�i����Z�&!�gor!p|��\����@��'�Q鍈��E-�s#2;b�a&�K��a�M\~�:�����&��J���6}��nz��_a���f�ٗ8����xb�$0���C�uĜ���x^0�Їm��,��*E�W�_p����9�M��y~ߣ�\�H��R9:z>1� ع��~DMv�+���T�.�����d"��|;�oQg�Q����(�-|�a�4o�4�� +�������ë��Q���KO�*]mc,(�%)��t�A�g��a�xWa���W>�쉝u�X��u�I���1��02-�q%m�f�M��l2��@�YńZb +>��G7[���`�o�t � �� +����};� ���āM��p��ݞ��`�Kf�=_��i1�/�wf�Mu�l?3C�U���">��Opz+;�h��+�j�<\p�Y�"�� \�q6�@��O,������*,X��Ṉx�T��g"A�O��`Ɖ02� ����w����.hP,i�A�'��B������9t��� +�ɞ�hf��84�Uh��4\��h��G +UcR֯w�=X0�M�0��4[K��P���x�1�O��R7.�����1��Ko��ۚ�/����4xG�5z":"wv�?��"�Y��M��W��e��"I-�`5������^�;�� +�+��NKt�:B��;� +��n��4Ѐ�\�6��x%le[��K�(h� -F�҅��'k_.U>�L�wYgږ*�RCOĬ\�/M�%��3ط�dy��ւ��f�-qU���ֶ�����La �;�Cf�R����p��;�m}>-���SS��,z)�d�u��8��sӵ���EJqu5���+��/��~ ��?���˥O��u�%A�%K��5�N��'V��_���X5�_#w��Gv�����0��0[���7H��7��d��$w�rc�샹�L�r=W17�#�=��̀iR�C +�������}+�t��f4�3��; v�ƨ��tX��_q�YC��amF{%�]�0b?��j�q�m���-�:����{<L��v*������Z�ĉ�t�Q�p���Oc����Ҝ6�� +�-nᄃ�'8�%ǯdP!JU �ӔZ�BG��!B�-)�61*�!�ӑF[�u�O|+�T�p������7�8���g�G�Q�\���؉@x�'������e���#��`�����/���KI�@}����8���eل5�#�����+�,Z�9�ߟ\��?�&hy�u'\p'ط9�-@�|m�R�4Od̄.sM�Mq�h%t^dDW��h��aYg@���'g*���-Lv2�E��|y���M�N2�:�Bc��Qr�M�z�{���"� 2�,�5�p��Mqw��<s�~�ډW��N�Cpl�8'x��ڝ��`ZY�Y"ǎ�q�� ���q��Lt��J��f�#4�����?��˛C�9l5�(��`��:JJ�Eњ���ʩ�EȽ'w����I��<E�I����K�%a�x��������\^� ޚ�o�|LefC c�:'p +p_n��ٮ��7�{���V��"b�w���$֞�fmmiw08�xC�v�Q����[�~����q�/? ,4�W��^5��U������G���ȧW@ ��Ŀ< ��У���cKA�Ju��.4�X;���^��{U �DCd�* +S�73>ѱ�E�Od�SUv�E���2.������|R�Bf����T"�ey*�^����l���g/endstream endobj -3737 0 obj << +3741 0 obj << /Type /Page -/Contents 3738 0 R -/Resources 3736 0 R +/Contents 3742 0 R +/Resources 3740 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R ->> endobj -3739 0 obj << -/D [3737 0 R /XYZ 71.731 729.2652 null] ->> endobj -3740 0 obj << -/D [3737 0 R /XYZ 71.731 741.2204 null] ->> endobj -578 0 obj << -/D [3737 0 R /XYZ 142.9228 708.3437 null] ->> endobj -3741 0 obj << -/D [3737 0 R /XYZ 71.731 703.1582 null] ->> endobj -3742 0 obj << -/D [3737 0 R /XYZ 224.1952 677.4595 null] +/Parent 3739 0 R >> endobj 3743 0 obj << -/D [3737 0 R /XYZ 71.731 644.4185 null] +/D [3741 0 R /XYZ 71.731 729.2652 null] >> endobj -582 0 obj << -/D [3737 0 R /XYZ 171.7743 613.6986 null] +586 0 obj << +/D [3741 0 R /XYZ 224.3666 708.3437 null] >> endobj 3744 0 obj << -/D [3737 0 R /XYZ 71.731 606.6202 null] +/D [3741 0 R /XYZ 71.731 701.2653 null] >> endobj 3745 0 obj << -/D [3737 0 R /XYZ 181.4647 595.7659 null] +/D [3741 0 R /XYZ 71.731 664.5081 null] >> endobj 3746 0 obj << -/D [3737 0 R /XYZ 380.9392 595.7659 null] +/D [3741 0 R /XYZ 71.731 644.4185 null] +>> endobj +590 0 obj << +/D [3741 0 R /XYZ 170.6486 613.6986 null] >> endobj 3747 0 obj << -/D [3737 0 R /XYZ 473.5968 595.7659 null] +/D [3741 0 R /XYZ 71.731 606.6202 null] >> endobj 3748 0 obj << -/D [3737 0 R /XYZ 509.5202 595.7659 null] +/D [3741 0 R /XYZ 129.5759 595.7659 null] >> endobj 3749 0 obj << -/D [3737 0 R /XYZ 191.5112 582.8144 null] +/D [3741 0 R /XYZ 279.8553 582.8144 null] >> endobj 3750 0 obj << -/D [3737 0 R /XYZ 71.731 575.6763 null] ->> endobj -586 0 obj << -/D [3737 0 R /XYZ 224.3666 544.9564 null] +/D [3741 0 R /XYZ 349.9283 582.8144 null] >> endobj 3751 0 obj << -/D [3737 0 R /XYZ 71.731 537.878 null] +/D [3741 0 R /XYZ 71.731 562.7248 null] +>> endobj +594 0 obj << +/D [3741 0 R /XYZ 148.7011 532.005 null] >> endobj 3752 0 obj << -/D [3737 0 R /XYZ 71.731 501.1208 null] +/D [3741 0 R /XYZ 71.731 526.8195 null] >> endobj 3753 0 obj << -/D [3737 0 R /XYZ 71.731 481.0312 null] +/D [3741 0 R /XYZ 71.731 493.9826 null] >> endobj -590 0 obj << -/D [3737 0 R /XYZ 170.6486 450.3113 null] +598 0 obj << +/D [3741 0 R /XYZ 176.855 463.2627 null] >> endobj 3754 0 obj << -/D [3737 0 R /XYZ 71.731 443.2329 null] +/D [3741 0 R /XYZ 71.731 456.1844 null] >> endobj 3755 0 obj << -/D [3737 0 R /XYZ 129.5759 432.3786 null] +/D [3741 0 R /XYZ 412.3745 445.33 null] >> endobj 3756 0 obj << -/D [3737 0 R /XYZ 279.8553 419.4271 null] +/D [3741 0 R /XYZ 446.4532 445.33 null] >> endobj 3757 0 obj << -/D [3737 0 R /XYZ 349.9283 419.4271 null] +/D [3741 0 R /XYZ 306.7655 432.3786 null] >> endobj 3758 0 obj << -/D [3737 0 R /XYZ 71.731 399.3376 null] +/D [3741 0 R /XYZ 71.731 412.289 null] >> endobj -594 0 obj << -/D [3737 0 R /XYZ 148.7011 368.6177 null] +602 0 obj << +/D [3741 0 R /XYZ 189.1389 381.5691 null] >> endobj 3759 0 obj << -/D [3737 0 R /XYZ 71.731 363.4322 null] +/D [3741 0 R /XYZ 71.731 374.4907 null] >> endobj 3760 0 obj << -/D [3737 0 R /XYZ 71.731 330.5953 null] +/D [3741 0 R /XYZ 148.1582 350.6849 null] >> endobj -598 0 obj << -/D [3737 0 R /XYZ 176.855 299.8755 null] +1676 0 obj << +/D [3741 0 R /XYZ 71.731 320.6327 null] +>> endobj +606 0 obj << +/D [3741 0 R /XYZ 199.8526 287.3225 null] >> endobj 3761 0 obj << -/D [3737 0 R /XYZ 71.731 292.7971 null] +/D [3741 0 R /XYZ 71.731 278.685 null] >> endobj 3762 0 obj << -/D [3737 0 R /XYZ 412.3745 281.9427 null] +/D [3741 0 R /XYZ 159.6658 268.3935 null] >> endobj 3763 0 obj << -/D [3737 0 R /XYZ 446.4532 281.9427 null] +/D [3741 0 R /XYZ 71.731 248.3039 null] >> endobj 3764 0 obj << -/D [3737 0 R /XYZ 306.7655 268.9913 null] +/D [3741 0 R /XYZ 186.5893 237.5093 null] >> endobj 3765 0 obj << -/D [3737 0 R /XYZ 71.731 248.9017 null] ->> endobj -602 0 obj << -/D [3737 0 R /XYZ 189.1389 218.1818 null] +/D [3741 0 R /XYZ 71.731 235.3525 null] >> endobj 3766 0 obj << -/D [3737 0 R /XYZ 71.731 211.1034 null] +/D [3741 0 R /XYZ 118.5554 196.7885 null] >> endobj 3767 0 obj << -/D [3737 0 R /XYZ 148.1582 187.2976 null] +/D [3741 0 R /XYZ 232.2278 188.3241 null] >> endobj -1676 0 obj << -/D [3737 0 R /XYZ 71.731 157.2454 null] +3768 0 obj << +/D [3741 0 R /XYZ 378.4963 165.0115 null] >> endobj -3736 0 obj << -/Font << /F33 1358 0 R /F48 2104 0 R /F27 1258 0 R >> +1677 0 obj << +/D [3741 0 R /XYZ 71.731 123.166 null] +>> endobj +3740 0 obj << +/Font << /F33 1358 0 R /F48 2105 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3770 0 obj << -/Length 2330 +3771 0 obj << +/Length 2816 /Filter /FlateDecode >> stream -xڍˎ��>_a�ee�f$R��zfg�d�r�h�Yr���ק^�e�{f�@�X,V��"�B��VY�2](�&zU�>��L��C$$[��.�>�|��cV�*R��^��8U��*3Z�I��^�����<�n��I�������7F}�����^�����,<1�*r��] g��:j��"U$�%�톹2��HE�r�(�-˃�]�VF�?_@�(����W�(W�.����YoM��vD l�c�G�3�jm���I�t`�e�����z ��s͆W��$x�1������\5GQ��kȈv�_0����z!o�ź���A��`�(&<�-�'������L �d4{��e� -����aE6<(k_~e�m�KV$B�"�cC!����7n%�7�fh���I ��?�mԽF�QIG�4�U� �a����M��+�B'�έ��*�qj�I�t"� {C���l�<Ra����\6%/6a�ЬR��ߋ�c�^נ��� -<3Mc\^ -a��n�T�&Kiѿ��F�e���#�A��g>xt�,*_��}����C��V!mT�Ǚ���t�Gǣ)/(>���A���AܯA��cņ#�۬7�*���r������Z'�"����u�9�̤*K�v�J�Ԑ�,C�K7�p��� �� Ӥb*�����n �'T�f:���Ai��'b� -�prgK\�U������f��K�߯H�ܙi�- wQp�D�(R��O���,`mpxٵՅ$�����x�x����p�����h��x�:7I���ن1c3�Da���K���oD��[ra�sE�eW��է7 "� xv�W���a��&T&O1����d�e�� -&O�<�)%��%!d�����R�~A3Qz���wt���9�$/|� �T��v��,�*�Sꆈ5���I^���^��<2Ѽv'�ƞ�`�k3P4�t*O�h ����Ǝ����_p�Ԭ�7{:�n#���+���=u, -m�� Kb���iP��S����O<3�ϳ�#��ǁ���φ&-O�[(��,��} -�p��z�>���;���dT2!\�9I���f� ����i{)�۩���zdB��Vj�� - ��l�un�c;q��P��#�l9z��Ƃ��_(���L��b�vg� :�����:�ipv�s�Vc9(��t����������4���c� 1�/�"?�k�*V��$"����(�Gn�j��+ ]Bw&4���9��끩Ǟϥ���<�A�Z�:SI�����L�]�q�Z昷�pG�v%6d���J��(X�%f�(a�2��%�/T�ħʼn��g5$dw��l����e��]�J��n���&���G�G�=�7'���ޏ��IԌ�=���{�![�1k���AN�6<rP�) W@��Ɖ���,�>�]&7S����#�OL$�:@^t�eR]<Ӟ|���(%�As��6Ws��=���2�� @�C%�)��r]�a�]��=/�� -v�w{���J�b��o�&,�g |V)����!H�$����7�>��o*O���֏���o[v��� ӯ=���k:�{�r�C�w$�@* �F��(�n�d#��u�O��'��� ��%{��a�!v�*'&��O�����bh:�g퀘�S��6K�������υ�|e�먵�tv�����SI���$zC�ᧉ�]$��B��=�G(2�����{i���ц*�p��X�]f�P�}#��B(��$G`�� -��E��0w�]c�m��� ��+܌Ѡ��=��R&Om'6a���p���mW1n:�0U��Oܘ�<��p�J,����~Y���WB�f�ˣ3fu �������G ��;z��`[\�!n��B��}�42�����(Wp��2���e���������V�Ya�x<�g3�8����",�Ty��E��1tS�A��,."\�;�)`wN�e��%Z1�?�����y���u��Gl�u*�uZ�6b\c)�jj�A�SUl+;��Fе��.�������C�\�� �mIdLi�{pT�6�?̖�1dh�!���n2f���~�2�[�;�F��t!��v?�Q��C��d���aq��8�.�m�H���I�A���B�� ��̧���ݯ�S��;|��]D��˥}�49���� ��8+������w�-%��s����y���Vz���w� >�sy��Bpu�D��<��4Y��;��ͧ�ꖤ���U�B��٧7��t�*���?,h��*��\�QQ̜РI��3����UUendstream +x��ZK�۸��W��M�K|�f�㔳��`�)�JA$4B�"��x���@7@P�f��^R���fw���9^E�/^�1�<x�x��Uu|�a�/obb��&dz�}��G!V%+3����UE,��r�Ί4.V����4��~��h->��G���}D����u���n����[�<9+�𢅞��F.Vq�x�&�H��(cq���D�JcW^���ӵ2���y��z��Q )V�6<fiZr+c{P��������>^� �R+��V�Go-3_��#�/6�@��{:��L��}uT���C�(I{[��F+����@���bΏ�f �h�7y<5�dni���@�Y�Ɖ݁��jt����i��f=i����k�g��0�x��?�:����aĹ�4��}c'%N��FW��|=�r�ey��s�Ȟ�y �;�i����i���F�G��4.��W��f�M,o�1���hi���%�����������\H�M���di�f�:��1 ���u��"_�^���v�y��^¢{�kc��Oʦ���w����;>�4e� C�@ƣr*�'�����M�X�өѪFL�[���6�a�1hVyK_Y�*ǃQaF;�� +��fD��~)q�Պ��ʼnૌ�,��|�Zy�MȆ�*�1��̊��j�@F�!�4BD�%<����J�(�xn�P��dC���9�l�rU3��0h��>�=~V#�� ]�F��ݸv�E²���.>AC|c�hG̈�y<��5�A>�J�ؼH�BC�����T�GJ��(O�����{�ϠDQ*�%I��[�|�L�n��H� �u����OOr)�AJ�S�T�}�2A��������h9U��6�Gsn3�k=���G�'��Ǯ�j��ZaA���fH�{[��`˗� �}eDӇ��D9�-�?���ni7t[kL�>�f����Ue9���d�/1�}P�ԍ�(����p���i�8t#qDh�g�F�����-O8ĬujH����ȲT�"ڗ�V�E�Z���n��LԎ6�:��:`F���D��F-=�ѭHm�o|6V\]7VS�|��(�9.�u��eoL�k<0"A��ɩ��!RD�� ��������Uٕ����$ ��ܐ\�:���k��)�����a@cG�A��_�a\�!�����Ve#8�{oxdE�Ǯ��aP��9��d_��FeH�b�8��^�V$�QOEhU8M��K�Ds ���xp��W�3%j�N��r�l$Kfs-���� +)��,���>�E�$ y�����{(Y���.&�qn�vHv�n|��'03���>Ђ������Q�@����Rw8��55���)Pw�в���-a��y +�P�m�n��8���t���2�0s��m(��6���`ߞ��ƽ��f| �XSSHT�T����d>��%ҁfF��@%m�D�0[�HM�BK�r��&G1.��%O��V�|�«���{cQ�g��j���D�H2D�u"u*5[���!��D�����0��:�R����3^{�i`�v�N$�C�F�2�!&/��K�Q��S#�/>�X��O���j��0pJ(�x��M����M��!���,�ŌOT8�Tg�f�0�d���(����Y�Ԯ��&v�,�H�<�.��/��)1�������r*60��������-���*斏of#iy[<������@�[�,>���ɰ�۱cd ���N�w�����ƙ���x��Z�#Ȳ`T�0�br�jsg��w�lw�~-|�^��≋��x�-�q�1XW�����yz�.a)��%}��I?}se�욯��Y�|f���Q�]�n^���̉B�$���HP�;ؙ�@���B-G�T��tk�`M+h +6�4E�L��߾l���k!ԑH�s�S[���������fb`����*�xɃ��pF(Z��9pG�����7HP^}�:Zw�#�ut*�f��� Ź��C5�v��*����mVdV˚݊�(gI&^ ��v4;�W�yA�w�� ��N��N<���.��e1��t�kȚ�A(p�"��.� � iXv�Fa`oZ�Ҕ�S�f�X2P�����͜��ư*�wh��e��q}X,]?^tcl��H��[A�K�21�B��A�^�%��ѕ �A43b{�'���riL�u�4B�qJV<�S�p�?f�{.{1 �@�^���r �heZ��p4���*�k�`Yη���ݷ��ˎk�ͨO��p��_w�.[j� +���R��� ���B[�&����ַ�bo�|}�ڈ �z�O����4A�� ����� m�U���Z���@��p�s�]f`��e���J�X�拺� +ϊ���D0C�.e��ڄl����W���E���,���e3<�+f䉹�.��>�t�cp���<N��� �������\l��r�fb�B;*2����Cߝ���i��7�q��Y���ĜHY&"(Â[n*�ip-Dܥ���������68�Wl(S�D�'C��h� +ƅ��A���M���H����0�j��\��E(�i����p����F4��ǫ�Wu�!85�qZD�E"~YL<���+��}��0`U|�E��"Z?/a�\^f�~j�`��kg� +��q�w<����W��tG@�����������o��)���b�����;��x)��٤`��=�\ol��e�%��J����dA���H���endstream endobj -3769 0 obj << +3770 0 obj << /Type /Page -/Contents 3770 0 R -/Resources 3768 0 R +/Contents 3771 0 R +/Resources 3769 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R -/Annots [ 3781 0 R ] +/Parent 3739 0 R +/Annots [ 3775 0 R 3797 0 R 3798 0 R ] >> endobj -3781 0 obj << +3775 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [252.1469 424.4098 304.4235 435.3138] +/Rect [252.1469 624.6186 304.4235 635.5225] /Subtype /Link /A << /S /GoTo /D (sanitycheck) >> >> endobj -3771 0 obj << -/D [3769 0 R /XYZ 71.731 729.2652 null] +3797 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [683.8881 140.057 743.1654 153.1727] +/Subtype /Link +/A << /S /GoTo /D (edit-values-list) >> +>> endobj +3798 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [634.6345 128.9339 693.9118 142.0496] +/Subtype /Link +/A << /S /GoTo /D (edit-values-list) >> >> endobj 3772 0 obj << -/D [3769 0 R /XYZ 71.731 741.2204 null] +/D [3770 0 R /XYZ 71.731 729.2652 null] >> endobj -606 0 obj << -/D [3769 0 R /XYZ 199.8526 708.3437 null] +610 0 obj << +/D [3770 0 R /XYZ 186.2988 706.1179 null] >> endobj 3773 0 obj << -/D [3769 0 R /XYZ 71.731 699.7062 null] +/D [3770 0 R /XYZ 71.731 693.9467 null] >> endobj 3774 0 obj << -/D [3769 0 R /XYZ 159.6658 689.4147 null] ->> endobj -3775 0 obj << -/D [3769 0 R /XYZ 71.731 656.3737 null] +/D [3770 0 R /XYZ 71.731 651.5177 null] >> endobj 3776 0 obj << -/D [3769 0 R /XYZ 118.5554 617.8096 null] +/D [3770 0 R /XYZ 71.731 607.6821 null] >> endobj -3777 0 obj << -/D [3769 0 R /XYZ 232.2278 609.3453 null] +1678 0 obj << +/D [3770 0 R /XYZ 71.731 563.8465 null] >> endobj -3778 0 obj << -/D [3769 0 R /XYZ 378.4963 586.0327 null] +614 0 obj << +/D [3770 0 R /XYZ 233.4164 520.749 null] >> endobj -1677 0 obj << -/D [3769 0 R /XYZ 71.731 544.1871 null] +3777 0 obj << +/D [3770 0 R /XYZ 71.731 511.9262 null] >> endobj -610 0 obj << -/D [3769 0 R /XYZ 186.2988 505.9091 null] +3778 0 obj << +/D [3770 0 R /XYZ 71.731 460.236 null] >> endobj 3779 0 obj << -/D [3769 0 R /XYZ 71.731 493.7379 null] +/D [3770 0 R /XYZ 71.731 445.2921 null] >> endobj 3780 0 obj << -/D [3769 0 R /XYZ 71.731 451.309 null] +/D [3770 0 R /XYZ 71.731 382.5274 null] >> endobj -3782 0 obj << -/D [3769 0 R /XYZ 71.731 407.4733 null] +3781 0 obj << +/D [3770 0 R /XYZ 285.3061 369.5759 null] >> endobj -1678 0 obj << -/D [3769 0 R /XYZ 71.731 363.6377 null] +1679 0 obj << +/D [3770 0 R /XYZ 71.731 354.4677 null] >> endobj -614 0 obj << -/D [3769 0 R /XYZ 233.4164 320.5403 null] +618 0 obj << +/D [3770 0 R /XYZ 271.6858 317.2521 null] +>> endobj +3782 0 obj << +/D [3770 0 R /XYZ 71.731 306.8871 null] >> endobj 3783 0 obj << -/D [3769 0 R /XYZ 71.731 311.7174 null] +/D [3770 0 R /XYZ 71.731 277.7553 null] >> endobj 3784 0 obj << -/D [3769 0 R /XYZ 71.731 260.0273 null] +/D [3770 0 R /XYZ 327.8178 266.2434 null] >> endobj 3785 0 obj << -/D [3769 0 R /XYZ 71.731 245.0833 null] +/D [3770 0 R /XYZ 71.731 259.1053 null] >> endobj 3786 0 obj << -/D [3769 0 R /XYZ 71.731 182.3186 null] +/D [3770 0 R /XYZ 81.6937 238.348 null] >> endobj 3787 0 obj << -/D [3769 0 R /XYZ 285.3061 169.3672 null] +/D [3770 0 R /XYZ 81.6937 238.348 null] >> endobj -1679 0 obj << -/D [3769 0 R /XYZ 71.731 154.2589 null] ->> endobj -3768 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R /F48 2104 0 R >> -/ProcSet [ /PDF /Text ] +3788 0 obj << +/D [3770 0 R /XYZ 445.6032 238.348 null] >> endobj -3790 0 obj << -/Length 2571 -/Filter /FlateDecode ->> -stream -x��ZK���ϯ0�$m�$J�4��靠��,����,Ѷ0��H��t~}��"E�ڝ{ �`�T,Y_=H��q���� ?~��(�7�坻9��?��eG<;����ݏ�9�$,��h�?n�e���>�C/���:��鵓�v燮��~�/EU�@/��>�N�*�2��}��w?���!,�a�W54\s}��ƃ�WJ�庂Ł�*r��S��T�z���^��tk����υ,�Vib��tw��A�����6v�Z�I�4�qp��Jn���6���lge���������^�Y���>��{eQ}����E��kz�Hˋ�Z�/Do{�_�^��&-���vE]DZnF��F���ϒ��� M�ʹl��8��Y�82 -f��-�����S��.��@&�:���]���i�-[�i �B�fgl ���&��O�H���T�ī�b3!�V&\��a�����ٌ}7Z�r�;�@��:�<6�X�p1V�O�E�_�8�����]�v��N}D -���H-*$vz`�v�!m��o�4���,_�g��h�_~{�# l p=�@��9c6�g��O@��8��XH�:�����둸�+�?@��,��K�<m�vZ�uOG��h�}{�V_����M�NOQ�c4�7�h�Y�?H�s�O�4Wo�k6�U+���� -��$fn臯"�fZE�a���)�#z��"�GJ<�A��`K�9�~� �`���B*�%�`. ;}��ro9 p��we -i|�F0�� � e���9��S��*�a �$�(V ���X�oc�,��\��|2�uC4|��}��EVt� �"�iD��.��|��:,��Vb���r]�x�C#x!��wG�a�Y#�NR����v��d�iF&�;R��*���ȕ�#��zhxP���*�~N��;'� �Ҷ%�����*M�Բ+�% �Z�Z���4�VvEwl���`��B~��g�f�2V�������vϲ�Yg��l#���z�o����4L��i5�I�L2����T�=� -��1.�t~�W;2/�i6��N�x��,i��6�(X�J�DNjn�v6����]�Ҕ�m��$͝��L���0\w�A�"Hc5�� -�*�j��C}�]6F*����o�/�7�"�vQ(XGb�Ǧ��G�l��ou������s<dw!�>�D-cNs�l��ͤ�sQY��;jh�{j$!\�)Gj�>�sc�s�q���������N��|nP�ˑ�MJ���T�^eڴ�Z8��+������4;�e�n-��A��#H8����s�ʹZ`�{�Ҕ�����H�g��������Tg���$ҕ�S�i�~��Z��@�l��#ϔ����\�3�(�銣oS����A��s~k�(�SsT�H3I�C�W������BT�gT�~-��OѦ?����6��@��'&�hA��]-k�ȇ�����ʹ�:�tuS�uS�Qg+�O"�`�x]�n�?�c'k�\82];Ky�-�"��Ǻ.���� -O8�� @pj4gA�!��QR0�5\�5��VW���p���N�ƄH�$������r!��<�N����4ݭ�D�E�5\ q�-B�p�l�y2�K��DH�3"���'�蠹��q�$>�𦄨��4Q��Ү:1�ԥ��gS�i݉5�]'^�� N<�aىm%�p�ݰ��܍��\�T��mU��O߰�wnџ��qߍ���ơ?���t��gF6� �qP*^yE����(���Pm�9�*�o��#���*�jRi�\���R�k��e3��)}���G��#8�<Nf��>Ƣ��j����CD[������86�:�5�]�/L��OuXƸ�ē -��0�-�ÄP���,�p�|8%V;�p�y8d���� %�^��t����a���4Ş.�T[/jU��5)O0��|.�\���/Y�~�B��3?���)˧���̉�|�����c��{8r������-���b� .J�D�L��JLE#�L��^탦���> �'(�4쬧<˚����Zt���EV��n����sִ�\��0��'/[�+����D����(��)�p�l�yB�K{�A���QCs�Sc&M�����FM5��c�ls훆���AYoK�Njc(�Bm�x���:�\�j���w�z�+�\�Dεn����.L,cE�k"���g�:��.�u�Vv�tr��I��H:H̅����j"M��1�7mh7�bm2�O�:,��u�LK���$�f5��������2�y�|z{,� -�{a@fP�K�ھ�:Z�gy����F.y�!�x L<�E�����(�=��jq�ϟ����e���54~�ʆ��T�����}@��Y:U��$ה�sm���ЮE�QT5FC�GJ�B~�`�c�')N����{���)�,ب�\֙�ZEŲI �@n��>GB�п�E�O귬�����y�9�%�KZ��&A��2Ѐ<��`�(�3%<�)�e���z�-NK5C�<��[�r����-�Rf�,����*k��8�/�+���K�F����0�9B�Dendstream -endobj 3789 0 obj << -/Type /Page -/Contents 3790 0 R -/Resources 3788 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R -/Annots [ 3802 0 R 3803 0 R 3810 0 R 3818 0 R ] +/D [3770 0 R /XYZ 71.731 223.2398 null] >> endobj -3802 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [683.8881 530.6457 743.1654 543.7614] -/Subtype /Link -/A << /S /GoTo /D (edit-values-list) >> ->> endobj -3803 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [634.6345 519.5225 693.9118 532.6382] -/Subtype /Link -/A << /S /GoTo /D (edit-values-list) >> ->> endobj -3810 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [315.6739 446.631 362.4979 457.5349] -/Subtype /Link -/A << /S /GoTo /D (bugreports) >> ->> endobj -3818 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [201.9014 291.5575 261.1787 300.4042] -/Subtype /Link -/A << /S /GoTo /D (edit-values-list) >> +3790 0 obj << +/D [3770 0 R /XYZ 81.6937 207.4638 null] >> endobj 3791 0 obj << -/D [3789 0 R /XYZ 71.731 729.2652 null] ->> endobj -618 0 obj << -/D [3789 0 R /XYZ 271.6858 707.8408 null] +/D [3770 0 R /XYZ 81.6937 207.4638 null] >> endobj 3792 0 obj << -/D [3789 0 R /XYZ 71.731 697.4758 null] +/D [3770 0 R /XYZ 71.731 192.3556 null] >> endobj 3793 0 obj << -/D [3789 0 R /XYZ 445.6032 628.9367 null] +/D [3770 0 R /XYZ 81.6937 176.5797 null] >> endobj 3794 0 obj << -/D [3789 0 R /XYZ 71.731 613.8284 null] +/D [3770 0 R /XYZ 81.6937 176.5797 null] >> endobj 3795 0 obj << -/D [3789 0 R /XYZ 81.6937 598.0525 null] +/D [3770 0 R /XYZ 348.7394 176.5797 null] >> endobj 3796 0 obj << -/D [3789 0 R /XYZ 81.6937 598.0525 null] ->> endobj -3797 0 obj << -/D [3789 0 R /XYZ 71.731 582.9443 null] ->> endobj -3798 0 obj << -/D [3789 0 R /XYZ 81.6937 567.1683 null] +/D [3770 0 R /XYZ 71.731 174.4228 null] >> endobj 3799 0 obj << -/D [3789 0 R /XYZ 81.6937 567.1683 null] +/D [3770 0 R /XYZ 71.731 118.807 null] >> endobj 3800 0 obj << -/D [3789 0 R /XYZ 348.7394 567.1683 null] +/D [3770 0 R /XYZ 81.6937 103.031 null] >> endobj 3801 0 obj << -/D [3789 0 R /XYZ 71.731 565.0115 null] +/D [3770 0 R /XYZ 81.6937 103.031 null] +>> endobj +3769 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 3804 0 obj << -/D [3789 0 R /XYZ 71.731 509.3956 null] +/Length 2151 +/Filter /FlateDecode +>> +stream +xڥY[��~�_�)&�%�ڷ��S,P�3ݗ�����X�Nmg�__R��2Ӄ��EI�ȏ�� +�O�) � Gj�?}V�����"[���>=}��g�W��b���0D��*�J��LWO���Gs�l�٪(XkAߏ�����E�L�O�翋�4��>��᧧~�H'"Ka�75��:�d�c*E��dz +�*~+�FE�^C��F��3��sa˼%���D���7� [��X4�%"/�si^mN�?�@5m'��哎�@�2��P��N! $�t:n�O��ي��T/.9�^U�AsF�O{�Ľ���h���mm�D��}�;5��F'kk���~@�'�2:�cPg�Tץ�+tG����n��s����vGg7'Y0-���i�p�k��k��������Ώ.�����c��U�J%�H�n�T���8]ڎ��YnQ�W;{������hO(o���'v�Gk��e,�$P�8IDeѢK�Rۡ�~��pǏp(E�ZE"��K2yG/���Y��X86Z���<��BfW_��9�}�`��7Ae��8}��� �B�xa��� *��5�� �C�o��d��:ܱ"Q��s��'���"� +�)�q�B<{0cOf�D�ј9�"���+Z�����X_<m�gk�~��[�"�<h�w�$z ;�fP���9c�G�麦��?�j��n����9��ЧX4F?��G:^#� W��C�ܛ>>���^�]_X�_��T�e*�~ׂvv�[#)d͒����;�0��>�h�WL>ȉ��3�4���,Q���Ժ�TQ������5��c��(��<�doث^a� +c��ݺ}c�UB�1��2�e�t�S^t���G�ן`�ڪ@H�lѿu�nk�@����j��Ȃ�8�1�cveN���xD�zfV� +�w�w4�3aZP:x��/uE�`}�2o�3ST�fN��Lu+]d|ޠ!�]��A�%�R����m�9|M@ak%@��%� +��,]NQ��v(6O���fI�|m�F�OU��^�=5f����QrP�����[�k���A�8_(Ђ��]�LS(5�����;t4C�G� �?�<87H8�$��W����n�bWZ�w5}sK�������ա�z�I8�$>�$����`�W�<b�,��d}i-��d��tfgZ+���I�^D7�48do�:��C'�r,�|O3%D��u�F�u�٪����4_2D��X7JF!�]��ު�m��>���/�8`/��(��j�1\��[�kA� �������F��q��T����6�|���p?�w4#d�+ߖ����l���n ��)]E��z �p���x#����vh\�Қ�6 �h]v���6���!6x��w��q��G.�M8���� T�܃�~��|CS4��̝�X�8����Z� 2��V)0�N��D�M�(�)����R͐ ���Vм��i�e\b�I� �t��P�� +-�u1��/ +�(�u} �E�������-�s������@��d��*-%V`CK �eG���t�O��]�~��c�'ejۙ˭ >���/K��� ��L��=�=��t�k}?�w�+ڿ�ro�݅m*3�9�VS4�g���܂BY|L"��U�ɂ粭 �G��@�w�g}�H)i��H�#S]���� c��<[^�#��h<����ϱc�J�zW;O�u���^�z���5E*NRw$AWy�����b稬�6?�H~�Q��4�[A�e����<)_l�2-t��1�>Հ��8Vo��(��pg��ƍ|�*ƙ$�rH���O�"�a��HE(1!��b���W�B��.����cЯ)��Q�O�%�7o\�ҲȎ���*��k��u�:�`[7�W1��A��_:���M�A��Gϰ�%�������5����F��g9xL�<�_��U��1(6~~�[��#u0(��/سI�`~7����@�z�y�P���?�u/h��/�0�q���C;���f�|H���+)��Uv� ���C���`6��=f���c�..y�i�zG���߉��OB�+����"��N�d/e�M�,���z� ����ۿ-d�%�'���x)�R���fa��X뙼endstream +endobj +3803 0 obj << +/Type /Page +/Contents 3804 0 R +/Resources 3802 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 3739 0 R +/Annots [ 3810 0 R 3818 0 R ] +>> endobj +3810 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [315.6739 674.3064 362.4979 685.2104] +/Subtype /Link +/A << /S /GoTo /D (bugreports) >> +>> endobj +3818 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [201.9014 519.2329 261.1787 528.0796] +/Subtype /Link +/A << /S /GoTo /D (edit-values-list) >> >> endobj 3805 0 obj << -/D [3789 0 R /XYZ 81.6937 493.6197 null] +/D [3803 0 R /XYZ 71.731 729.2652 null] >> endobj 3806 0 obj << -/D [3789 0 R /XYZ 81.6937 493.6197 null] +/D [3803 0 R /XYZ 71.731 741.2204 null] >> endobj 3807 0 obj << -/D [3789 0 R /XYZ 71.731 478.5114 null] +/D [3803 0 R /XYZ 71.731 706.1869 null] >> endobj 3808 0 obj << -/D [3789 0 R /XYZ 81.6937 462.7355 null] +/D [3803 0 R /XYZ 81.6937 690.4109 null] >> endobj 3809 0 obj << -/D [3789 0 R /XYZ 81.6937 462.7355 null] +/D [3803 0 R /XYZ 81.6937 690.4109 null] >> endobj 3811 0 obj << -/D [3789 0 R /XYZ 71.731 447.6273 null] +/D [3803 0 R /XYZ 71.731 675.3027 null] >> endobj 3812 0 obj << -/D [3789 0 R /XYZ 81.6937 431.8513 null] +/D [3803 0 R /XYZ 81.6937 659.5268 null] >> endobj 3813 0 obj << -/D [3789 0 R /XYZ 81.6937 431.8513 null] +/D [3803 0 R /XYZ 81.6937 659.5268 null] >> endobj 3814 0 obj << -/D [3789 0 R /XYZ 71.731 416.7431 null] +/D [3803 0 R /XYZ 71.731 644.4185 null] >> endobj 3815 0 obj << -/D [3789 0 R /XYZ 81.6937 400.9672 null] +/D [3803 0 R /XYZ 81.6937 628.6426 null] >> endobj 3816 0 obj << -/D [3789 0 R /XYZ 81.6937 400.9672 null] +/D [3803 0 R /XYZ 81.6937 628.6426 null] >> endobj 1680 0 obj << -/D [3789 0 R /XYZ 71.731 365.1016 null] +/D [3803 0 R /XYZ 71.731 592.7771 null] >> endobj 622 0 obj << -/D [3789 0 R /XYZ 271.04 325.7293 null] +/D [3803 0 R /XYZ 271.04 553.4047 null] >> endobj 3817 0 obj << -/D [3789 0 R /XYZ 71.731 315.3643 null] +/D [3803 0 R /XYZ 71.731 543.0397 null] >> endobj 1681 0 obj << -/D [3789 0 R /XYZ 71.731 287.5725 null] +/D [3803 0 R /XYZ 71.731 515.2479 null] >> endobj 626 0 obj << -/D [3789 0 R /XYZ 279.0164 248.2997 null] +/D [3803 0 R /XYZ 279.0164 475.9751 null] >> endobj 3819 0 obj << -/D [3789 0 R /XYZ 71.731 237.9346 null] +/D [3803 0 R /XYZ 71.731 465.6101 null] >> endobj 1682 0 obj << -/D [3789 0 R /XYZ 71.731 198.1229 null] +/D [3803 0 R /XYZ 71.731 425.7983 null] >> endobj 630 0 obj << -/D [3789 0 R /XYZ 219.0243 155.0254 null] +/D [3803 0 R /XYZ 219.0243 382.7008 null] >> endobj 3820 0 obj << -/D [3789 0 R /XYZ 71.731 142.5874 null] +/D [3803 0 R /XYZ 71.731 370.2629 null] >> endobj 3821 0 obj << -/D [3789 0 R /XYZ 441.4437 120.5148 null] +/D [3803 0 R /XYZ 441.4437 348.1903 null] >> endobj -3788 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> -/ProcSet [ /PDF /Text ] +1683 0 obj << +/D [3803 0 R /XYZ 71.731 320.1306 null] +>> endobj +634 0 obj << +/D [3803 0 R /XYZ 311.2372 282.915 null] +>> endobj +3822 0 obj << +/D [3803 0 R /XYZ 71.731 272.55 null] >> endobj -3824 0 obj << -/Length 2189 -/Filter /FlateDecode ->> -stream -xڥ]��6�=���Ke����d���l��E�_�p=�D[�ʒ���l~��p������X�3��p�I�E�b��6����r�Ez~,N���`�;���ݿ��}.v�n#7��q�� ��bJ?�E��g���suiu���q��>}�Φ4 �My"������Z�g�˛w�~�8���vxUꥌr;�ѝ6H�0 -�V�'��(C8���ȓ��pM�6�-@lUG�<�d��d�uS]k��!|�J��E�5mu6�4�8��y�K�Κ@�-W"�T�}�~4e��D}��s'���Ed��X��Z��;�d�ul��Um��f|��L2�. -w���7�;?�J�y�P���d�J�`�����̴��(�I4|D�TсD�}l[`._�(��{a(��>�� ݱ����������)C�N -��\j�K �ҍO�u�Ӗ��__l�i%����DD�Ƒ�7���:!/�y������4~UQ�Y�� ���tޭ�����g�3AaT������M�ExǪ&�SnR�w�WD���sr �N� vѼ��\���(��>0� ,"�J� ���������eG��7x{��s+!u��r�>5I�� -�WV4/�ٴ4l+B�r{"� -�=��ڽ"<���Ī��Q��\� Ga��i��Fʞ-��5Lr�DЕ�O�mY�6W-ay{���� ��n0����N�������|3�\ -���\7z�n���'ᅺ����Q�T�8�n%�fq������#����1�㯯x�]��(�1Eɍ��d:[�����e�3ljZ�UQ�s��}B��Ӫ���5NX�B�`�F:�Ǵ�nwP��XD�j`����Lt7��)�S^�>�O�Lv�f&�[N��n�_���7���p�_VSY�ꡨ�z���DE�+Zg�zb�>zniv��I �B��+ze"<���֗�� �����3����i�BӮ�u�:?��]sG�ۂ2.��d�.?cA�!��I4T�b� -�Ǝ�(��n-��>���Z�����%^C� a�>��n%�)�l*�Φ�~Ü�ׅp,),��صVMcN啮��$�@�ܵ���="nt�7V5���Sf��R��� ��]�����ێS�G�I���j���X����n�f���N�";#7L\JJ��+�e�1��:�ߢ*OV��U��UfsAϻ%e��k���'����l1H��P}`�< �ԟ�si"s�q���r�[hPI2�W�2"(���:�<��ׇ��?�������qͫ��J�Ϊ�rG�Ӫx�0r�뭖eh��h�XB̢��:��"�۹�; ����v`K�W��3�G��!�dR��1�\ӝ��Ϋ}d{�x�oZ��uC���{`�_���%���톉��6L�AD\�*�P�8��~��u�p�������ųA��R�~��a��'���oD�dG9�����w�5�tѬ�;�i�Þ��AI�e��>L�鋆\r$_c��{��� �5$a���Cp�m@�V��3@�Yw��j����2�����X-YUCP��,�V����`��bO9�G7Bl��B��bz�&�pR��'��;�76Ȑ�7d5X2k~���S��*����;� �T5,(k#�f�IW�L������ӕ�ƃ��jG�g{�0�pK��9ņ_��5t=Y�������=�@�߯�>U��{�Pa�tn?�4���#�n�>�����>X��_0���y���m�e� �����U��_�q� -���jj���J�n��J�߅ �������z�24�� `��(�m̕�R���N.�1qu���ԩ��3w���+8���M`�y����`HCfDL��o�g�S�0|�v�[6_��l� �vo�g]i(P�5Յ����k3mw�4�6��J�Q�0��,k�`&2iW(��e��T�� ��g}XiYηϴF�k���X$��V�w�;u�*�@�!Tv�M�0� ��T�Q%?o�WuЊAbJAQ���K����h9ꄖל��}^b�����'��̉&���{��A���\n��)��Uզ}���������m�T�1�UCĒ��*�[����n̴�W��T��̸FQ��ͩz��6��q�l����*3G�*������C��Gp��ݫ?8�h^��˭��E�sB����f6�/��w�endstream -endobj 3823 0 obj << -/Type /Page -/Contents 3824 0 R -/Resources 3822 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 3689 0 R +/D [3803 0 R /XYZ 190.7774 262.7905 null] >> endobj -3825 0 obj << -/D [3823 0 R /XYZ 71.731 729.2652 null] +3824 0 obj << +/D [3803 0 R /XYZ 71.731 229.7495 null] >> endobj -1683 0 obj << -/D [3823 0 R /XYZ 71.731 693.2354 null] +1684 0 obj << +/D [3803 0 R /XYZ 71.731 198.8653 null] >> endobj -634 0 obj << -/D [3823 0 R /XYZ 311.2372 656.0199 null] +638 0 obj << +/D [3803 0 R /XYZ 261.227 161.6498 null] +>> endobj +3825 0 obj << +/D [3803 0 R /XYZ 71.731 151.2848 null] >> endobj 3826 0 obj << -/D [3823 0 R /XYZ 71.731 645.6549 null] +/D [3803 0 R /XYZ 71.731 139.3684 null] >> endobj 3827 0 obj << -/D [3823 0 R /XYZ 190.7774 635.8954 null] +/D [3803 0 R /XYZ 71.731 134.3871 null] >> endobj 3828 0 obj << -/D [3823 0 R /XYZ 71.731 602.8544 null] ->> endobj -1684 0 obj << -/D [3823 0 R /XYZ 71.731 571.9702 null] ->> endobj -638 0 obj << -/D [3823 0 R /XYZ 261.227 534.7546 null] +/D [3803 0 R /XYZ 89.6638 113.6299 null] >> endobj 3829 0 obj << -/D [3823 0 R /XYZ 71.731 524.3896 null] +/D [3803 0 R /XYZ 71.731 111.473 null] >> endobj -3830 0 obj << -/D [3823 0 R /XYZ 71.731 512.4733 null] ->> endobj -3831 0 obj << -/D [3823 0 R /XYZ 71.731 507.492 null] +3802 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 3832 0 obj << -/D [3823 0 R /XYZ 89.6638 486.7347 null] +/Length 2434 +/Filter /FlateDecode +>> +stream +xڍk��6�{~��/��]�ޖz��4=�n���|�;�ĵy�%W��8��f8C��e�"@L�9����b���~�� �8X�7�b����i�m���7�%��%A��<."�s�^�-�a�.6ſ�w{q�d��b� ]���8�J��WՎ@o��wU�b���?���p�f)p�)a�n����>��,�Ŭ���K�0 +׃"��RĐ T�G��K�fn����>̰<�D0�^��l�&SmW���l7��o�7����D�};X����U;���eq�i� �����>�GT+?vN��;5��l%��*T��%�j ^��e���n�K��E�{|g˰B�v���1;�<�y�{�`����0#i0�;���<�?p�؏���m�v���l��= @� jK�S�Vv��� +��5�K��X7ƍL��dYhB�D|�q�$��gi�u ]�v�S�/Z�щ�oi�y�xN�|�#���̇ڱg�Ǚ���\��0%ͩ�оN �TM�_��[��N�p{�y]��>�#C��c#�tD�mW�w���錠�r�TPqȾ�t ����0�$��f�cP3�6B�~!�A��v@9����û��|����?���Aۀ���fU�"?�-�(́\�~me�F#�ژ#!g1zv}#0s {;9�5ֺ�=��ӇP-i!1N�A� +�U�|���]ݳ����s�v���S��!�|dG���gI�y}���w����&�q���3����9�4y��4$�C]Ba��_�;��^�_��7S�3]KA���]#�V�����ݳ���a�1�Z@G��1ʽ[a�#�,ەoTQ��8v���UE\g졪B%��-���3�T� A��¸}R�X�.�p@���\ؿt�|�|Ȳ菥�E'����#_��/tԒ� $% !���� D�| ts�5����+) �z�ۋ� j�H��t��{���x����!�A�i��hO�(m @�%� 0s�#`[T��l��k�����J�-��M�A-��\B*��^k���U ��GX�6�bjՀ�zw�e� ����;���Y��Ө����J��,!�GNֹ�V��e���Ӄ ,1�M�����W�>D̙��AKj�.�ǃ�L�kM>�� ���Cn�V�QGƍ>�m�V~�1�}m*<��~�2���7`��Q^뜫%sԓ\�cj�T'�Pc6��<aB7y#�6���8��M�P��E���>��T�-�݁�0��Rߴbz��N���3�&�|����H��\�+m����}��U�a����+���R0�����%� +z�����|{�=C�%�F�5�"�����\tʦ +� �P���t�Z�0����z� QWŠ0�`����%@8�a��&��������K�Xad���Oy����G{�%�M3#,��<�������AՍ�Ns��v^S�y]t8�2��z�X +b=���+?u8�[u>�v��r���#h���T��U�(���(]7���?��B=����~�?��`�E7=7 ���٦�~i�PD��y��˗��"\��/��Δvg'�W���.��WǦ.��[����٫ؿ��>t��ųj�S>�k懸L�,|��� ���os,_a�s&�?g���o�����}S7��&�p�cRU3}��R7�����-PP�?q��xj���ބ+ v��9���{�5A��$In�Ʀ����5�̱|�5"̺f"���&�1�c`;��KkD��c]M6�Sy6�θ4�]?�B˥@���l�u_��ٸ����Q[���j�N��g>a�&�{�,������A&��noi�a�Ƹ�K,]�l��'C��`��)�6�R0�B=b9:�/�歌�����l��)j�N�;3� �yۛ鋭�Zy=`����Et#�yFד��+r��|*X�L�31���}�KA��8k�LOG��ΆձYE0�p?��Ny�ӾǓ̀��3�i8������u�M���54�oZr&��l�I[I�c�4��D�/���Vӡ)�Jr�L�1?\�[�-h�����U8ף3�\/J��Ӣ��� +�_����Л"\��"|�k�ٜ���hYQ���8���nۓ_j��#%ܝ���s�R�_������]t��ٕ4�+�o�:�/�F�&�5�z�O��@�����ձ#�A�-L�L�U�<���O `x��6A�0�x��!X59�(�PE�_6��ȶ/;�z��8��JUy_|E����i�-�k�,S����e�P�����\Z��u�lh� ie*��}���q�� cڛ8�� +z?��,en� ��D�g��vs�vU�%���M���iN�˗d��<��ϏQ�~����EsY��` X/Nҩ�\�����JY�endstream +endobj +3831 0 obj << +/Type /Page +/Contents 3832 0 R +/Resources 3830 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 3739 0 R >> endobj 3833 0 obj << -/D [3823 0 R /XYZ 71.731 484.5779 null] +/D [3831 0 R /XYZ 71.731 729.2652 null] >> endobj 3834 0 obj << -/D [3823 0 R /XYZ 89.6638 468.802 null] ->> endobj -3835 0 obj << -/D [3823 0 R /XYZ 71.731 461.6638 null] +/D [3831 0 R /XYZ 89.6638 708.3437 null] >> endobj 1685 0 obj << -/D [3823 0 R /XYZ 71.731 420.817 null] +/D [3831 0 R /XYZ 71.731 660.3587 null] >> endobj 642 0 obj << -/D [3823 0 R /XYZ 286.6291 377.7195 null] +/D [3831 0 R /XYZ 286.6291 617.2612 null] >> endobj -3836 0 obj << -/D [3823 0 R /XYZ 71.731 365.2815 null] +3835 0 obj << +/D [3831 0 R /XYZ 71.731 604.8233 null] >> endobj -3837 0 obj << -/D [3823 0 R /XYZ 71.731 271.3136 null] +3836 0 obj << +/D [3831 0 R /XYZ 71.731 510.8553 null] >> endobj 1686 0 obj << -/D [3823 0 R /XYZ 71.731 242.4867 null] +/D [3831 0 R /XYZ 71.731 482.0285 null] >> endobj 646 0 obj << -/D [3823 0 R /XYZ 166.8108 197.332 null] +/D [3831 0 R /XYZ 166.8108 436.8737 null] +>> endobj +3837 0 obj << +/D [3831 0 R /XYZ 71.731 424.4357 null] >> endobj 3838 0 obj << -/D [3823 0 R /XYZ 71.731 184.894 null] +/D [3831 0 R /XYZ 71.731 369.3221 null] >> endobj 3839 0 obj << -/D [3823 0 R /XYZ 71.731 129.7804 null] +/D [3831 0 R /XYZ 71.731 356.3707 null] >> endobj 3840 0 obj << -/D [3823 0 R /XYZ 71.731 116.8289 null] +/D [3831 0 R /XYZ 71.731 351.3893 null] >> endobj 3841 0 obj << -/D [3823 0 R /XYZ 71.731 111.8476 null] +/D [3831 0 R /XYZ 89.6638 330.6321 null] >> endobj -3822 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> -/ProcSet [ /PDF /Text ] +3842 0 obj << +/D [3831 0 R /XYZ 71.731 328.4753 null] >> endobj -3844 0 obj << -/Length 2814 -/Filter /FlateDecode ->> -stream -xڕ�r���}��ŗ�U��p�d{�唭Mlm����dA�CZ�ק��A��S[���������c(��?��n��n����<��V���/$�Bs;%����_?��*w�$HV�U�yn�e�* 7��l�����ݱ8w�����.�w���ux]�m�����������?��a����Q��A�ǫ��s����s� �����a��A�trK6P�9|�R�,w�$�VSfv��q�.zC��Q��bxΣ>lb���32�~��������[�W[6J��Ms��L�Ϧg�I���>'����K]X�%��F�����)�u�Tx�����|[�/D����(���}�O��m|�wL�ZQ�uq|P��Q����`�$�9~�K~U]7܃���j7W��k�t[l+��#z�A.�UӤ��Y��i&T���R�)��Y��O��R�e�LEMs��w���0��;eQ�D�1`�ق�Y)������d�<v�$ -'&��e{4=��i�L���o�skN��iK^pe6A�<���h��� -��μ�86H����7����� ]d��i#��X����������g�:�g�茈6�dg@�yb=�o�-Ke�6��W�ٝfgT;��T|FC*&���C L g��쭪[u�>x���߇ �+��R������埸�",߇��֕��1{�������Ԅ�5�br���&���Q+��9����w�Tt�G��S@.�2�,6}7��=�O��}����/?���m����U�� �0�\5�������@<��OLR�xHɀ�q���Б`���}c$Y�O8����o�<p��h�H�,z�G�T�}t�B=�W}ti˷}�u^�F>֥��6�\�L4[���C�����#FǢ�S���MÍګF�7�(+]~{:���֮�X��Sj�e�8<��a�H��#�o�?{}n��O�q�sJb�� L��A���iOEU1N��㉓j�⠄^b�9Gj+JS���t�Ćg��Y ��s�H!Myd\�ھ�Z�g�9����5�C��4�ũ43;�/�Vw-g�b�d��*5J_���!��ߎ -��jxE12d#�$m%��=Wų��H^�馨wt ժJ�r����T섇�XJ?J��1��Er\Q5��=/���}�P��-����?|�Z�kLU�m�Fx��!��E~�K�<�ހá�1v�q�;��#(���\4�Ia[ǎ˛P��%�کA���gӶzKe|���^l�9�ʝ1N� �J=�Ԃ�=��ފ1��@<�l圂"97�!���HF�r��=��X>\��`3`$j��� ,� ���|TI���\&O���M;7��[(�D�F$�Co6ߢ��'j�����m���t}��C"�f��m,妻):��� �2Į{� �;�߸`~�!KV�*�e�r�-�(�b���ܻŻ@J�<�6'���cKj�C���A�1�k�˞�[�$��y0���ndA'c�<Um��q�����9���#�0p�s�(d�H"2=��8J�`D�C/�Dh�������H�8���#�� D9�9-,�4�I���G�j\3z�`�A��_~b�w/� �b<��W��|������Ѭ�.U�)m��3)�R��g� ��� ��]���D6��њ���=���<q i7��$�T -�PLL�\?j -�O� yG�C����៎CX�"s�GNwu�H�"�� -E��.α�3��R�<Cu�����9���ꄘeNMr��`�+�H�����PZۢ�[��œ�_�c!�I����*��A�ףI1pd7���,����5_n���9��ƭ�.�9���O��D6_�Ÿ�zy���V��D�v"������2�`nLķ�`�j(��Y�g�D�&�:0�Ձ��`IL͵h2Ԣ��a�e���� �i�f� "D:��P�9�mp�]̒�<���M7$/V�g���,'�n�oy���ڧ<��C�a��b�7��c�:��`�jj�����<l�O����P����J���L�>i�䲈����-����V�YڞI�'iy����SQ�z��"�~�-����������'���D����*�Fw�o�a?4��7c#�TR�oz�!���)8��B�R]r% aNSuI�ԭ��le�=�q?�DV�C�9��5?�_��[�U�}P���ŠA5��ؚ�O9��TMWp���8s�8+�����;Rq���LU|q<�[�ϓ>;aq�S�;��=��BuhȎ�y�T�Qz��5���Us�ҙ��`�dW Z$I�"���I�d.�+E��4�I*=�pLà�>�B/ޅ��F�(c��;�l+"��0W�%��<� �*m�M4J*~�.�QP%Fu����Flm�h���pͥ��G�!�y���Z� $Rr�*�巤��ք«՝�[���ฒHcB��3�~ժ�W�Z\���p~T��W<Qudx�g`�gGX�H�EۚR���H�����6�I��ژ8�,B1H *��"�R -sE��V6Y��E��� �C��Dj�R����iڋvl��0 �/;}�����_y���� ÷~N�R]��^��ui˷�&_�o��8��O^ކN%�e5��̣���w�*���D������/f��SΓU����(��.kFS���m��F�� ���uk��6�*s�ӌ<�!�n��� ���SE� -�F� �P� -�r�|/�x�զ�(c�BdUX/�����*�ұ������$�� &4/������<8�{{v��6�l��2endstream -endobj 3843 0 obj << -/Type /Page -/Contents 3844 0 R -/Resources 3842 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R +/D [3831 0 R /XYZ 89.6638 312.6993 null] +>> endobj +3844 0 obj << +/D [3831 0 R /XYZ 89.6638 312.6993 null] >> endobj 3845 0 obj << -/D [3843 0 R /XYZ 71.731 729.2652 null] +/D [3831 0 R /XYZ 71.731 310.5425 null] >> endobj 3846 0 obj << -/D [3843 0 R /XYZ 89.6638 708.3437 null] +/D [3831 0 R /XYZ 89.6638 294.7666 null] >> endobj 3847 0 obj << -/D [3843 0 R /XYZ 71.731 706.1869 null] +/D [3831 0 R /XYZ 89.6638 294.7666 null] >> endobj 3848 0 obj << -/D [3843 0 R /XYZ 89.6638 690.4109 null] +/D [3831 0 R /XYZ 71.731 268.7642 null] >> endobj 3849 0 obj << -/D [3843 0 R /XYZ 89.6638 690.4109 null] +/D [3831 0 R /XYZ 89.6638 250.931 null] >> endobj 3850 0 obj << -/D [3843 0 R /XYZ 71.731 688.2541 null] +/D [3831 0 R /XYZ 89.6638 250.931 null] >> endobj 3851 0 obj << -/D [3843 0 R /XYZ 89.6638 672.4782 null] +/D [3831 0 R /XYZ 71.731 235.8227 null] >> endobj 3852 0 obj << -/D [3843 0 R /XYZ 89.6638 672.4782 null] ->> endobj -3853 0 obj << -/D [3843 0 R /XYZ 71.731 646.4758 null] ->> endobj -3854 0 obj << -/D [3843 0 R /XYZ 89.6638 628.6426 null] ->> endobj -3855 0 obj << -/D [3843 0 R /XYZ 89.6638 628.6426 null] ->> endobj -3856 0 obj << -/D [3843 0 R /XYZ 71.731 613.5343 null] ->> endobj -3857 0 obj << -/D [3843 0 R /XYZ 89.6638 597.7584 null] +/D [3831 0 R /XYZ 89.6638 220.0468 null] >> endobj 1687 0 obj << -/D [3843 0 R /XYZ 71.731 590.6202 null] +/D [3831 0 R /XYZ 71.731 212.9086 null] >> endobj 650 0 obj << -/D [3843 0 R /XYZ 163.5913 547.5228 null] +/D [3831 0 R /XYZ 163.5913 169.8112 null] >> endobj -3858 0 obj << -/D [3843 0 R /XYZ 71.731 535.3515 null] ->> endobj -3859 0 obj << -/D [3843 0 R /XYZ 71.731 492.9226 null] ->> endobj -3860 0 obj << -/D [3843 0 R /XYZ 181.7247 482.128 null] ->> endobj -3861 0 obj << -/D [3843 0 R /XYZ 71.731 449.087 null] ->> endobj -3862 0 obj << -/D [3843 0 R /XYZ 71.731 379.3485 null] ->> endobj -3863 0 obj << -/D [3843 0 R /XYZ 71.731 335.5129 null] ->> endobj -1688 0 obj << -/D [3843 0 R /XYZ 71.731 317.5801 null] ->> endobj -654 0 obj << -/D [3843 0 R /XYZ 339.8756 274.4827 null] ->> endobj -3864 0 obj << -/D [3843 0 R /XYZ 71.731 262.3114 null] ->> endobj -3865 0 obj << -/D [3843 0 R /XYZ 71.731 183.0855 null] ->> endobj -3866 0 obj << -/D [3843 0 R /XYZ 71.731 168.0768 null] ->> endobj -3867 0 obj << -/D [3843 0 R /XYZ 71.731 163.0954 null] ->> endobj -3868 0 obj << -/D [3843 0 R /XYZ 89.6638 142.3382 null] ->> endobj -3869 0 obj << -/D [3843 0 R /XYZ 71.731 114.2785 null] +3853 0 obj << +/D [3831 0 R /XYZ 71.731 157.6399 null] >> endobj -3842 0 obj << +3830 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -3873 0 obj << -/Length 3112 +3856 0 obj << +/Length 3280 /Filter /FlateDecode >> stream -xڍ]���}E�8`<@�ڒ?勺ۻCm���]�}p%1α����/��؉�,XSEQI����$P���Δ�#�(����~~�JhVc�/����1�Le��/�E��*��l���(H/��x������JG�g�ʺ��_�;F}8��WVU��ߗ_���2l�De)�pW�0J�N�h�Ҿ�4����@��?U&4�p����*<�V�����c�.��ܖ��A��W�Q���f�W��$������zwj�ljF�6?X�j�zN�Y�4��;:��#��sy�uϋym���a��m���[\>�x��n���O��ݵ�������g�{_ʦE]�BV�VY�t����a�z����,�\i�U#y+:P��æe�C�ZF���i�y1S���f������D����ޞ��[2Qg�����p�E�E�d��Z�@��]��57��'ˊB��� U� �SlD$F*��-�3�pK� -C?��m�Z�ɮe��_���8'��c��^:P�Qoy�ܖ����W�Q����T�E�,��k�R��d��Z�{�"�Bc��ߛ�g�f�2W���n8���mJ�,d'���E\g�S+�B��@���Yٟw�qˣ;��fꉊq���e(�`�PH�:?��ˋ�v2-R�hK���&�Λ�+N]�"㰬���K��� ����9ȼSσ�� dg�����e_����U����Z���h�Z���<��؋�Ux%E�(xR���4�$��t�S�=���=S��TG�;��=uf�o�Ի"\��T,T>X&�l/��:yI�tmڇ��9�] T$��6c�+1"̋b�@G�H�r�(Φb*a�E9�� �ב�D��nt]���ya��T���+�|僜�A�gt:�$�zG�J`��#$<��{*��cP�"���?�d`��� ����xK���x����!z{���,e��"����NdP<��K٩��B��c6�PSj���$bF�#z�\/���,Ĥ:��(�*&���t��B#���!�zY��|���!����;��.�F�/1iՉ��=VlS�Vq$S��6߬D7�O���¶`�b�G�+g˵���DI/@vS��95p��[�`�y1���IC���*5�|"6P��d��{��۞H�T�F�)�#)�� �P�E -�q��+�I����=��=�G���<G���a,��/0H��0\u,#���M���!��$.�-�l�����ˢ�-/��e�h�!\5Է�X!`��hQ�/'�6�8m����8�3�i"�Ǐ<�7(��ukwy����ȼ�:VA��(���S���ޢ����� �nzF�138'b_�zkNՆ���cYP�C�kY������ -����A1�{ٕ�XڼH1�%͑q���c�>I�s�:V�W��k`�r��k6i�}�#�8��w����uޕ2�C,�u.p9e۩T��i�t����@廌�a)��sQD��`�gH]��'��b_H�m7���V��� ?~�������R�6��\�N������whg�ȠAc�ʃ�,�k/4 mɦ����r�ٸI��\���Z�]���8�� T&�5ŏ����F$e��U����#��~8��-9>W�ϛO��@����<��݃�\���ڎ��٥���9k�o��<�- ���R�j�,����{Lu;���X���{n�ǩ�}�x� f$b���}�� ���4q�*�?"�/;�;�R�{��#�P�S\3�,�n�L�f7��m�bΖ� �ͪ���G郪jLu�j��]ʹ-_�}�x�?�}g`���R�4�tP�%̜?���_A�잙�$.��?D�c��ٍb�{v���tW�:&�+�������m�M'{ Q E �. -���8&8����xI(��%Ð�J�z���JwPL0���N��bRw� -�TIhX��:��]��-�� -�pśB7<?�Q�U"x�����w����/�E�@�9��!���,v��MS����'�g3�!���v��M�������������熚��2���b�_lQn,�CR�D�>C�k��9�C���:Q� !�Ɍ2lD�M�fȡY�`:i�θq�f���q����_��#�Bϝ��{Q��r�e��ݩ�d -���R��q�lC:� �b�kI�����7X`J�K(rUܥFv��b�>#���*J�b�8ţ�B,O�H��^$U-��ʂ$�\��8�3�r�: -$�}�}c< -���9�Qv��^N�]�ԃ���CN53WDι��U�)��K�Nni~�"z9w���,f��]���#5r��E�x�1�[��yƁ�(�:� M����|[0Uּ[$��\�pd�� ��<ˣ����D6�K -��SG����l����m�����[�����8R: -]_�:K� -Pc�~�����ā;���n��`�P�����g�9'��� -�ψ�X�:�\O|p�c [Ie+��1�*���ߡ���aĸ0���6�B�ݿ)V�ٌq'��� q��Y@��'�OJ�g��=�ӳ��* o-�}'J�NĊ(�/�y����P�غa�� -�Qr�폮�SіL��R� �����Fe�@����ē��u�ȣ�c��1����.Pi�<�APM�)PJ�fƿmvS -%58h�E�����L6�l�4O�Ǒ��t�5�t�c�N�Xe��7�3{ �����ȏ�E��e� ���*��E�2��.��"�Ҵ4�"G.T���ԫa�U��ܲ��IQm`�D)��)v�|���*oki�^D�Uc3*C��LF ���}�g2�T?�"�v_R�����J ��q�F(y�ݓю�{���ײ���̍�R��$�� �^F��D�����>Ћ3z|>&T0~����Kq1Z�]J��hz�?��qF�u�9�U7�����PU07n����T��0qԙ�%��pL�{����O�����P_�R�1w�3�����_T�c��$\�-���c;:�~[!Y�Mε���I����w�0 -*�4������t����Q�9���:��� ��k[endstream +xڍ˒�6�>_��K�U6W�uR�T���n����d��Y#K�$OO��/^��jw�� � ����?��* �3��H���ou��?��������!V��b�����T��* �J#?]=������_:�<nu��ߧ��V������z�j�2���?>���_< +����]{�[u2����KU q���D���`�[u�5uY�=�^�28۹�A;r4U�+͟D��',D� +�$�K��g�����E~ꘉS.l��QG�Ϗ~�6M^2�R���u��1��j�oyr]mdO�KS�T��𡩿���u#sH����G��ld��cdޏ��U�!���1 e����P<b�xd�k}�FeH�0��iMǍ�d����T ��a����>R퉼<��:}����!��4��F8?4�L�h����n�u�Y*��FD���{�ٺb��=jo}���0�o��8_[A2��/���+_e�t�]<�"x���&:p^tt�`�{�3�h�Z��̩IR�oKb�Z� (=n� +��@�-d�P���D�� �|[�i��z<M,@��a+(q��D:��zo�K���nѣN���&��*ݚ�)�%�uc�kٵ�{�6����[�bcg�r��6��3� %y�8R0��"�mA��1N�I~�8Z�������Ë�Kc��<��M��� �k{E��Q�[�.r��):�&r���4�l�v�T4��c�Z��ϓ�9SU|:2�l#��t�W�\��)ɘɇϖ�w�j/���h�����jta�ρ�K���)HA� +~�@p�� ����Hq����'� ����pfY +�A�)�Lm�.1��`X~�w�.o{��nq��g����_�-��<����k�����ף�|�����s�8��Ӯ����b�s��4w�P���\)Fr�5��v��wD�p�'ǁ[z�j 9�]�0������K�_3x7Ƣ[�`��r���j�Z�����ۅ��2����J]����;n�6++\��ސ��-��,����3و�f��ʳ�$&����9@�����b�D��]��Ρ-;�C+Q�וֹ��Y�K8�9x���uv���+xc�p,�ū�l�MO�ݣV����7%o�.m�I�>{$Ƃ{�v��闓u� ;3��nO">��GT/�9畩�Xa�R>��$ V�I�G!Ƣ�eGuŴ�@�EO����Z_9�qNt<�ݏ��6�{]t���Ue����8j��j�%�"xk0����hG ���^�G[p$ n�Rt�f]��Ms�]�z�Y$(�&���ڶ�K���8+Ĩ�T_K!PW�Ӡ���]L�'|��0M���{4���[!Y���S7<��axÐ�����*�]h���� y�c����[��A�+�:6t��<���h)���H��C�k�:���Bgo��'�U��''|"،IemK��c�H�H��9�6`�57E��c�h�*&5��Ja�[!�"���(L��hׯj��O:[ ��j�CB�z�eD"f��;#��ǽ�Gb���a����JjX=���y�g;�� ��՝�/�l�_�%1��������W�Zc?�;?�ŃU<St�S�7Hg����m+_ +����m]X�� j�n����0q�.��cc�X�.��⤨!"�,"a�a +qC�l+�,�p��v1$�}ev�Ť؍��ٺig�ؤ�0r�>��Be��g��$S���� N���r�F��c���Ȝn�W�%�L�q�..9��,�I�pCY�8(҃\1�0�9^�>S�.����c�ˀ�8�:@�dZ�+��R���(MM��`�/���h���~����+,hۡ�� B�f���4�"��h>S��x�b�&�0��?h�M^�B��g�/��BW,o<1o/@��pT��&�Z*��(����OJ2�7[�*����a�Ql��\�{aɿ��wY��MΣ�w�,)t��Ai�8��a� &K���d�����a�L���G4J��7��Cp�X��9�m����4��k���N�u9ⷤ�V� ƙkY)� +�F;��d���B�L7J��4m4M{Ρ9�0�te_$L��uh/U�o��J�8]�C;���V'n���>��R�5�SB�>,��*����(����R�bl��[�����vK ~�Ju�4 +w�t�����X�շ�ti����>7���I\� ��W��f�s�0��_q�u�19����q����%�L�>���(��A�e3,�K�E=���0�#hf7����]���:�Z�b�G���N������H�.9���P�q + � �F(�m:_ +�+j��KA���B�G?�b��mqH�@"U.qͭ��*M�h��PeI��a)���-Yʜ�؊��+T� Q����=f��[j�(/|�P�;v*H�\���ޮ�����s�}�9\��\��7�(}���C/wW:=�}�nh-�������,��>�b�P�8��������c����5<�d�X�����q0�\N�h�x8������ �}{�|^�8�vA⏤��1e]� +�"������:��7&��t���%��t*^�E�{?�a��J�ZrL�腓V�U[���O@.V#�|Xz��R���2�q�59?P:J�����#,�ϯ��+��j���7udG���%�,���:V�1֩D�8���5�E���ff��,��F���Y�~��J�K�)Qݣݸ��Ɓ��pI�W�@���|�X�1ڭ��R�kW +\��D�;\8������_,TBN3� +�6��Cg�bC��Eug�e�0�C +��a,����R�p��aȨ��;��$�� �q��"Y��Ğ����l�7sAm=�SA�9E�R-�_k�e�Jh���;��$�}�=�����n�1o�%������8�95D���I^�C? �A ����!�q"tT�ıQ�;�?SU�C�h�����l9�g̳��lkw���P�<C�҉��,i�Ĉc(�B�I�Q�X���ELĠc�{*��>�v���*^JO �^ +��>HKW6Em!X���)�N%��Ǎ[���^�{,oTl!(E��j�\�2@������������!�i�Қ3���J��1��J) �i����p��1�)>�Q��p�"ͦ��D�R�+���7������$-OX�e���q�u'�w�<.�?c��e�����pn�x�d���B�Eɛ�$[X����+endstream endobj -3872 0 obj << +3855 0 obj << /Type /Page -/Contents 3873 0 R -/Resources 3871 0 R +/Contents 3856 0 R +/Resources 3854 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R -/Annots [ 3876 0 R 3877 0 R 3880 0 R 3883 0 R 3886 0 R ] +/Parent 3739 0 R +/Annots [ 3870 0 R 3871 0 R 3874 0 R 3877 0 R 3880 0 R ] >> endobj -3876 0 obj << +3870 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [507.0988 692.2392 538.9788 703.1431] +/Rect [507.0988 308.6138 538.9788 319.5177] /Subtype /Link /A << /S /GoTo /D (param-group-security) >> >> endobj -3877 0 obj << +3871 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [70.7348 681.2254 110.5853 690.1917] +/Rect [70.7348 297.6 110.5853 306.5663] /Subtype /Link /A << /S /GoTo /D (param-group-security) >> >> endobj -3880 0 obj << +3874 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [103.8802 637.5094 158.1762 646.3561] +/Rect [103.8802 253.884 158.1762 262.7306] /Subtype /Link /A << /S /GoTo /D (product-group-controls) >> >> endobj -3883 0 obj << +3877 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [200.9852 617.5194 260.2625 628.4233] +/Rect [200.9852 233.894 260.2625 244.7979] /Subtype /Link /A << /S /GoTo /D (users-and-groups) >> >> endobj -3886 0 obj << +3880 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [341.5858 573.6838 395.8818 584.5877] +/Rect [341.5858 190.0583 395.8818 200.9623] /Subtype /Link /A << /S /GoTo /D (product-group-controls) >> >> endobj -3874 0 obj << -/D [3872 0 R /XYZ 71.731 729.2652 null] +3857 0 obj << +/D [3855 0 R /XYZ 71.731 729.2652 null] +>> endobj +3858 0 obj << +/D [3855 0 R /XYZ 71.731 718.3063 null] +>> endobj +3859 0 obj << +/D [3855 0 R /XYZ 181.7247 708.3437 null] +>> endobj +3860 0 obj << +/D [3855 0 R /XYZ 71.731 675.3027 null] +>> endobj +3861 0 obj << +/D [3855 0 R /XYZ 71.731 605.5642 null] +>> endobj +3862 0 obj << +/D [3855 0 R /XYZ 71.731 561.7286 null] +>> endobj +1688 0 obj << +/D [3855 0 R /XYZ 71.731 543.7958 null] +>> endobj +654 0 obj << +/D [3855 0 R /XYZ 339.8756 500.6984 null] +>> endobj +3863 0 obj << +/D [3855 0 R /XYZ 71.731 488.5271 null] +>> endobj +3864 0 obj << +/D [3855 0 R /XYZ 71.731 409.3012 null] +>> endobj +3865 0 obj << +/D [3855 0 R /XYZ 71.731 394.2925 null] +>> endobj +3866 0 obj << +/D [3855 0 R /XYZ 71.731 389.3111 null] +>> endobj +3867 0 obj << +/D [3855 0 R /XYZ 89.6638 368.5539 null] +>> endobj +3868 0 obj << +/D [3855 0 R /XYZ 71.731 340.4942 null] +>> endobj +3869 0 obj << +/D [3855 0 R /XYZ 89.6638 324.7183 null] +>> endobj +3872 0 obj << +/D [3855 0 R /XYZ 71.731 298.5963 null] +>> endobj +3873 0 obj << +/D [3855 0 R /XYZ 89.6638 280.8827 null] >> endobj 3875 0 obj << -/D [3872 0 R /XYZ 89.6638 708.3437 null] +/D [3855 0 R /XYZ 71.731 254.8803 null] +>> endobj +3876 0 obj << +/D [3855 0 R /XYZ 89.6638 237.047 null] >> endobj 3878 0 obj << -/D [3872 0 R /XYZ 71.731 682.2217 null] +/D [3855 0 R /XYZ 71.731 229.9089 null] >> endobj 3879 0 obj << -/D [3872 0 R /XYZ 89.6638 664.5081 null] +/D [3855 0 R /XYZ 231.1139 206.1629 null] >> endobj 3881 0 obj << -/D [3872 0 R /XYZ 71.731 638.5057 null] +/D [3855 0 R /XYZ 71.731 191.0546 null] >> endobj 3882 0 obj << -/D [3872 0 R /XYZ 89.6638 620.6725 null] +/D [3855 0 R /XYZ 71.731 176.1106 null] >> endobj -3884 0 obj << -/D [3872 0 R /XYZ 71.731 613.5343 null] +3883 0 obj << +/D [3855 0 R /XYZ 462.4737 143.2986 null] >> endobj +1689 0 obj << +/D [3855 0 R /XYZ 76.7123 113.7096 null] +>> endobj +3854 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3886 0 obj << +/Length 2876 +/Filter /FlateDecode +>> +stream +xڍ]���}E08``�ʒ�{��vo��=\�ڇn<���ة����ח)Yq���k��HJ◘�V�E�4 +S��2�r�=��=L}~1Ɇi6>ч�w�I�U�LV��U,D��,_�J�����c����8�U��H-��}y��z�|�� ���_�4��?�?����k��y^��Q]�(�*�C'���i�łTTa��UK��c_#i���Z��;����ކ�j#E�X6��Hi7[�R\Ч��R�4�����]�4�77x!��5�S�$?��'��Уh��<̤ȗ/��6>����+^�-8���,�De�"�_��]� +W�Q�TM���t:|�RY;��ʺ01�5u�;Au;[v*����;4�X4U��#�e�-ɟ��%���;�\��lj��0�Qlv�Z�7�Vfa�����^�ZK�R���]�W�� +W�Q��`�9�|�Ԡ�gy��U4 �x�ZG:��H ��-��SS�TeH���`��T��`&հ�듹�7��*���r`Y. +�^�2fl��� �1���E< �/i`���d��҆[��n@����Ƥ��<���u+��n[����{� +�D�m���p�ۄ�Cգ��$(,���w���ûƑ�n¢Y ܝǐ �9,,stPv��jǪ����LqH��]����C�Y�}����(~ʷ�C~@�J��*������uY�|���'��N�hCN�p��MIO��<�Ē` +��y�� +-L`��P�l����eS�K� �T��䐓T%��$5m����9��N4Fy�d���P&�qJ@����� A�q�a�����a��`Q��{�M8��8�����H#�qU��";���@>#8�~ *�&#�8-�.$��<�n�@=s�[�qJ��p�'�Usb�L�!��;�Q�77�h��� +�>Z�� ��� "�{�U twnh�����xj�������:r���{:�=k�w���ܤg���`0�k`��`�nI������g�xw�MO� 'm��P��pà�%��<�V�@R�d˧�۪w�n +[H�IcX� �I��"M�8�5��G"�c�X�P�8H�W�A"Mz��� ��_���o6�����)�U%a!�=�,9���&��X� ��h ?��x���� ,]+q�Ύ���mc�jc7���0щ2��V������� +�Ka�= �m0,����]}��1�)ewhf����+�<3�0P���l�w\�}�m������eU�EdUA,�B���h���3I�v���U��(f)�j�u�!�R��@R�/DB�����0}u�Ы���V��P^�{R�]�ҁ�8*�'�Wp� { *F �Q�T�P �������`˚)�n䵳� s�J��%1Z��K5ZKG^��K��ǎ�L:���}��i�)RQ�E��b��4�G�X�< 5̮�0�x���έ�N��<��Le��'j +��4��V" +�<�C�p�������\w�6Q�Y�����֪�(B�^L�L���O w����k�g�8�2S�D��aJ?���B��w!A_�z�������<�(���+Z�� ����44 p��I9^���8��݃��/V�cfy���������e%.�}�T�'0뮽�8�� ��m�~�;�����x���̃�Le +�5���v,�=����6�'�ޅ�}.�bt_��#ȆB��ʷ�7 _�q��� �Ⱦǹ6 !r�Ra�f��w��4���F��½�7�I>��'���o�Z�Q+�f�������\�!���kjA!�ļR��P�z��XM%<�;SЛ�6�� +w�J��<���VJ-l�m� ���B����G&^�!qu5`���f#���ms.+��-a�%�{D��U=VL5C��&�|N�O=�#���*��^G#�Dik�)Hհv +�>�7jB7���p�zn"���np͊jn�2�� 3��8ZtK��-���ܜ1me0Ry�Cn:��JX�����jL���7R��VX�ƀ�*��̒��h�K]f3�;�=��}{MG�_0��9T}w�Z�))a�P@�#!��w�GOz �� +5������xj��47G2�~_"�c���c�s,��)\�۱Vn�cх�W��5g�$�ciz�A�����gu��F�5�z85�n�%�>6��5�*4��@�g* _�3P�X�n��XQ\���0>J��?y��?E@R�z��J�\����0ffS��&#�]%B(괁F�]��l��5)lΥ�Y�jY�V��� � +�xI(��~���R0CӅ3�g,l:�N g�8 +:&�eip��/�_��|�#y1���@OC�W����ci�X:�,{�����H��PO�pA��>�����8��ʭ&4<p8��S��(_6|\?�{�#jϞ�ܦk�ܹ��&^d���뾲�y�9#O��5�;��l�Y%b'R =��N$�m|����A1v�K{���]w�-�q +�j�5��!��21�Ih�WM�Y�!�Cm�QqL�]W�E�T# �=<�z�f�4�����`1�=�~��z|!�{�;=x�hy�ĘJm�Ȅ���Bm+ +���%(-�r��6>�u^��6+&�+�8�%��:X��t��:`��օ8�Y�����E|y�l:*�.U:3@�������ǟ +�.�ϗ#`\�K��rn���F��9~iy��E6�F�����GՀ�:`�Z�\��T���JRHJ�[�����iEJ���I#�3!��YR�t� ޞ�� �����@��p��u4�ߋ]0N�&R��y��g��L��0���տ��h��C�,��q��8uv��*���ğendstream +endobj 3885 0 obj << -/D [3872 0 R /XYZ 231.1139 589.7883 null] +/Type /Page +/Contents 3886 0 R +/Resources 3884 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 3913 0 R +/Annots [ 3906 0 R 3912 0 R ] +>> endobj +3906 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [240.9848 286.551 300.2621 297.4549] +/Subtype /Link +/A << /S /GoTo /D (edit-groups) >> +>> endobj +3912 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [429.0596 121.4501 475.9177 132.354] +/Subtype /Link +/A << /S /GoTo /D (parameters) >> >> endobj 3887 0 obj << -/D [3872 0 R /XYZ 71.731 574.68 null] +/D [3885 0 R /XYZ 71.731 729.2652 null] +>> endobj +658 0 obj << +/D [3885 0 R /XYZ 232.4924 707.8408 null] >> endobj 3888 0 obj << -/D [3872 0 R /XYZ 71.731 559.7361 null] +/D [3885 0 R /XYZ 71.731 697.4758 null] >> endobj 3889 0 obj << -/D [3872 0 R /XYZ 462.4737 526.924 null] ->> endobj -1689 0 obj << -/D [3872 0 R /XYZ 76.7123 497.335 null] ->> endobj -658 0 obj << -/D [3872 0 R /XYZ 232.4924 457.9626 null] +/D [3885 0 R /XYZ 71.731 685.5594 null] >> endobj 3890 0 obj << -/D [3872 0 R /XYZ 71.731 447.5976 null] +/D [3885 0 R /XYZ 71.731 680.5781 null] >> endobj 3891 0 obj << -/D [3872 0 R /XYZ 71.731 435.6813 null] +/D [3885 0 R /XYZ 89.6638 659.8209 null] >> endobj 3892 0 obj << -/D [3872 0 R /XYZ 71.731 430.7 null] +/D [3885 0 R /XYZ 132.5044 659.8209 null] >> endobj 3893 0 obj << -/D [3872 0 R /XYZ 89.6638 409.9427 null] +/D [3885 0 R /XYZ 379.7938 659.8209 null] >> endobj 3894 0 obj << -/D [3872 0 R /XYZ 132.5044 409.9427 null] +/D [3885 0 R /XYZ 71.731 644.7126 null] >> endobj 3895 0 obj << -/D [3872 0 R /XYZ 379.7938 409.9427 null] +/D [3885 0 R /XYZ 89.6638 628.9367 null] >> endobj 3896 0 obj << -/D [3872 0 R /XYZ 71.731 394.8344 null] +/D [3885 0 R /XYZ 157.7278 615.9853 null] >> endobj 3897 0 obj << -/D [3872 0 R /XYZ 89.6638 379.0585 null] +/D [3885 0 R /XYZ 71.731 613.8284 null] >> endobj 3898 0 obj << -/D [3872 0 R /XYZ 157.7278 366.1071 null] +/D [3885 0 R /XYZ 89.6638 598.0525 null] >> endobj 3899 0 obj << -/D [3872 0 R /XYZ 71.731 363.9503 null] +/D [3885 0 R /XYZ 71.731 531.1385 null] >> endobj 3900 0 obj << -/D [3872 0 R /XYZ 89.6638 348.1743 null] +/D [3885 0 R /XYZ 71.731 516.1946 null] >> endobj 3901 0 obj << -/D [3872 0 R /XYZ 71.731 281.2604 null] +/D [3885 0 R /XYZ 142.175 506.6951 null] >> endobj 3902 0 obj << -/D [3872 0 R /XYZ 71.731 266.3164 null] +/D [3885 0 R /XYZ 76.7123 443.4324 null] >> endobj 3903 0 obj << -/D [3872 0 R /XYZ 142.175 256.8169 null] +/D [3885 0 R /XYZ 136.4882 399.887 null] >> endobj 3904 0 obj << -/D [3872 0 R /XYZ 76.7123 193.5542 null] +/D [3885 0 R /XYZ 76.7123 333.5397 null] >> endobj 3905 0 obj << -/D [3872 0 R /XYZ 136.4882 150.0088 null] +/D [3885 0 R /XYZ 89.6638 315.6069 null] >> endobj -3871 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> -/ProcSet [ /PDF /Text ] +1690 0 obj << +/D [3885 0 R /XYZ 71.731 282.5659 null] +>> endobj +662 0 obj << +/D [3885 0 R /XYZ 461.369 245.3504 null] +>> endobj +3907 0 obj << +/D [3885 0 R /XYZ 71.731 234.9854 null] >> endobj 3908 0 obj << -/Length 2453 +/D [3885 0 R /XYZ 253.9624 225.2259 null] +>> endobj +3909 0 obj << +/D [3885 0 R /XYZ 499.806 225.2259 null] +>> endobj +3910 0 obj << +/D [3885 0 R /XYZ 71.731 192.1849 null] +>> endobj +3911 0 obj << +/D [3885 0 R /XYZ 71.731 148.3492 null] +>> endobj +3884 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R >> +/ProcSet [ /PDF /Text ] +>> endobj +3916 0 obj << +/Length 2568 /Filter /FlateDecode >> stream -xڭ˒�8p�e쪶F|�uLR�T�jjR��m����6ke�+�������,�3��A�A�H�U?��D�)��"�i"W�ӛx�S�&�2�vL����Ͽ(�*�"�����qeq^�2%�<��a����cy�M���$^���o�'[��~"Ի���lU��=��͇� <QYT� �U u�G2�j�r����> -PP��q�E\���l�O�p:��,/�4U�j�̋�����0�*�=�!�x� ���d�L����� �}w�){���lEQ�m�ز&��٘�*� )���M]V4n�8�"=x�>�=ߏ�����ɐԲ��ew%�;��=���m�@[!�"�m��M"a��թ���=a�cs���u��w�eokk��G˫���Y�L�|���\������iO�'S!߆�`�+�{S��u�t��vxh�y?+��&�lD�n8vNMkڛ��UwO�ΘkϔZ@̀�:Jb����m�TsO��Bſ���j�Dr�C��5����{Z̸�.$�R����N%�n�̢Di���ђ�h�,_��R���v#����aLg�ۮ�O�����7 -��� *X���p�2��ԉ��a����V�j]�v���ˈ�@B����I�����v=�ú�R*�Q�r! -R�te���0�H1��C�`r����5D+����p鄓�Nₗ�|����B z�ZE<���c��}!�\�2-߀W�)!�a��wo�s6*_̞����5�*�4��0uyb9/ͅ�g�Y�f�q:pCy�}oV�<r����$�ՎT>%�}9��C��'�%B(���)�z��� ��5�%������p8�v�w�8��35Kzv>��c=!è�Ϩ�C�����u)�aٲ.��F��pء�,������^���>����y0���(����# ��ͩ�=���"i��JBR�#���s�Bp;!f��P�w �?@x*�2��c�y��wlj�� E=]���|Ϭa�gZvr_�vxd�;_MF��5����x���\��UY�����|�Y� R�ɕH� "q@���=$E=N�:��d��?4����;����#䐞��LB���T�v頜#�3�✤CW�Aj����g]�������c\x��>���/D�ѝ�"���H��VƸ�!��I��hGq�+ %U�ٍ~�Sm�d�<�v�(,�32L����{:̸��}�� )�r�b�:��XO��]Ge�:� \C��&8�Pb�"\���.]�z-�V��o�I��o5/8����{Vcy��m�PU��T�RK�kZJe6rYI -I�k Z�tD�.��5B:�"�1Kʐ�7��K�B�r�V�n�$]d�M���/� i���^�N�5�:]�ӹG��K�P�`@ -��E��� -��H�y:f�饣Q�Ѣ�\��3Oo�88��e� ,��W0�kC'�r�C��)lwikXj��ޙ��U'�� -ɴ�=ri���>UE~�}���=����M�k��;��W�"i����&���HH��:�=��n%�Zo� ���q��Wsz�r5��^�i��=t�L->)�Hq���C��Rd�t��|V�(MR5�� �\o�����!N_h�Fa3pކ���i�o����5/4y,�~34�z}"�T��� �P�b5j���լ�&�(õ{׳�3\���{r�H�GO�#��vg�� -���빃m�P.��B���ْ������v��bJC۔%�ǹؘ�mTS&"XNw!�/��W��:"�G:e3:]��F��w�%��x F��|n\f�'�������)��)��&J`�j�]{��ى�P�����_v=s���0�W�,�ђ;�a -���h7ˎu��)Y��]*㨄k�Q��r��N�)p5C�T�9���6���Y�@.���5�{l� A�7�7(��fa��Z����Pt����~_�!�aoe�O"w�`�x5�i�L��H1��hxJ�D��0��k&��~�0�`��?��|�w?�� - �s�L�ܒqR��Y3<M�4k��h�n. O��p�F�V� ��z)0�B=�����xӧ����,�~�8��6�jZ2��Z�L����L��W���}87/��cG����k���z�z�1�w���˼v*�ֻL�C��c�l�)4�ُ�c��� PM�����B�β�d�bH!0AnQH���Ð������l -�=�C9�C�7���9*T���zR�{�<1c��>w|xQb��X$�M���{B�k�C k:���Ƈ֧Kx��� �_��5*-�$����^-��Yz* D���@g���5���c ��7���{���k�FI��D<ݰ�;���]�N�`4��m��Q��n���ѭ{\�"-^��{D3��;�y���Pj���zA�����endstream +xڽZ_��6�O��f��϶��]��=��:}�ރ�h&F;g;��}��DJ�c'Ӣ�b"QEI��"=l��[�,��p��L�Uu����a��F,���L�>~���B�t�3���V2M�<-�*<)+V���?���`�� W�Z$��iw���z�<#������á����?>|�W"Ot+��0p�u�y���mZ$B��i�5�����x^m3_?��s���;�]{>�?��%Hx���g�|E�7=���f��C���ph����ќ;s(��u��lZ�M��4��fgO��:D�� ���n`j=�Me�yr.R%"לxi{ߕ՞Tx�sV)�$�XmO�bұ����7l�Lw���n� 5��L_u�vݭ�'�)Xu��t��yRh�+}��Zӱ���}9�Eu�"_�%��`�[oy���U �.-�l$�:Q�dK����������p���&�87M͒Leb\�n�`5N�!�`�L�_��zs0��F� �_�X4�<��r��ռ�ྼ���W+� ���'��xv@q�&H�ڐvd�@rph�]��C$��P:�/㞬����[��kPh�ؙ(��w�M +� là͕�;��u;[����_��>]11�U�gJ������X���#��pr���g��Y|�������+���nz�Jl~o��煎������`PD>�Z�Y��Ԉo��&#Sn�fW�z���dV;�w������� �B�J�о�s��ݹH*��_Ha4�����m����!G�ag_�����2Vw SV�/vЮ#�:B��)�p1��)��"�,P�}{>녿�R���= j��w�@�d_Õ��Z��K�v�At��yd.��l�[�$[Ý9��M˒4��;B=�x��n�+9:1���9����#<���m�Rn�l�;;�q��R�:r��KN~�G�[ �������M��a�J!'�)�V�F��͒���!�X����Ȍ�3.S�g8�����1"�d/�9���X$<Gl�����%]���N�- �/ؼ�I�!'�!,Cz��2$���N�]0|_����ј?�>$$,2+�;ZA$�x��h�V�yt�z�*��C`��h�ۻft�@���^��4C2P�7À����nj\Xʯu_o�N��e�#,���rՇzx�\���6����ʣ�4VВ@6 x<�[ � C( �#n��Ӕ?�;x~#/����=~`���2�ꕀ�8�b1� \��m~�siv�?�}�^u��K$� ��� +�� $�"�J1��smao���t�ZU8:���.�B^������paV!���c�����`U��,���u��b��@��T*��b���M��:�(U�[+�놸U*�-tn�w�@�p�X�[]Lp]tE�[�8+�_r��c�y`���� �J�L�J���]Aqmb�%�\J�tXp�&R1����-2�Hn�H�B���x��W�Lf�+�{R$s��"�12����lZ%����O}_?7(�?�ƽ�z��������~^�5�4a\"�>�bN�kU�lM��%��Bɩ��1|��G����of�E'y +W�9܁���61�B�R��)K.�,t�e�X\����Pa&;d(���[�mcKCX8��밴ӡ�,�m�&��ˢ�w2��V��L���3��M]�},��8z�E�v�J/�Y�d��ug�����Ϙ�&���O]{Dz# ���9��hJ�?��H<�7e�*@��D�Afk)w��_G�s�����$4H��D�� "�v����R&ԇ�IXo!��S��î�BAZ;�`MV`�e}@F�,:WoX�l�g� l��@�Vq��n�ą��3p$��<x1մgZ�B�Me��J.@��]]��KS����iV�o�r��[�@�1E�>�(.�B���"�]�A�p����h�&�]�� ��v�����[L�������e�Ū����?;Up��w��6����@��{Յ@�%�j� e�Jˁ��61��;v*m�݇.>��̥~C���3i���J�`J@Cd�cF�u=f.�"�3��|;f�Va&{�j����I1ڢ�:�w�!��6��H��_��s���CE0�R�K0Td�yx�z��;�n_Q@��3%,�+���z�@�J�k����U{S��m�c[������JG��M�+�"ġ�}���lG�� ��-Mrŗ���M̶��Τ-� +z3\ -�3����-5t��5��gZ�G��]��z���L�7�q�����U,.,�;�xS��������S*�!~���S�Z*��SJ�,�s��|>�I������2 .g���{�%m�i�ԟLU[Cv�C����ŇP;�ܹG��/��9��rMɄ�eD=� � g���9�:g��w���~*�!%"ޣ��u�Iw�M��)�a`�p�/ �_��͖KУ�DL�3-c{��2 ���nj�n���N��|��m`�81DK�4D7�4n�eo�Uu�BzU���� )�7�'�����<eZIv�J_������E�Cendstream endobj -3907 0 obj << +3915 0 obj << /Type /Page -/Contents 3908 0 R -/Resources 3906 0 R +/Contents 3916 0 R +/Resources 3914 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R -/Annots [ 3912 0 R 3918 0 R 3941 0 R ] +/Parent 3913 0 R +/Annots [ 3940 0 R 3945 0 R 3950 0 R 3953 0 R 3956 0 R ] >> endobj -3912 0 obj << +3940 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [240.9848 661.355 300.2621 672.2589] +/Rect [368.5546 392.3637 415.1942 403.2676] /Subtype /Link -/A << /S /GoTo /D (edit-groups) >> +/A << /S /GoTo /D (parameters) >> >> endobj -3918 0 obj << +3945 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [429.0596 496.2541 475.9177 507.158] +/Rect [414.1442 325.614 461.4474 336.5179] /Subtype /Link /A << /S /GoTo /D (parameters) >> >> endobj -3941 0 obj << +3950 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [368.5546 144.5729 415.1942 155.4769] +/Rect [415.7972 168.4833 462.6212 179.3872] /Subtype /Link -/A << /S /GoTo /D (parameters) >> ->> endobj -3909 0 obj << -/D [3907 0 R /XYZ 71.731 729.2652 null] ->> endobj -3910 0 obj << -/D [3907 0 R /XYZ 76.7123 708.3437 null] ->> endobj -3911 0 obj << -/D [3907 0 R /XYZ 89.6638 690.4109 null] ->> endobj -1690 0 obj << -/D [3907 0 R /XYZ 71.731 657.3699 null] ->> endobj -662 0 obj << -/D [3907 0 R /XYZ 461.369 620.1544 null] ->> endobj -3913 0 obj << -/D [3907 0 R /XYZ 71.731 609.7894 null] ->> endobj -3914 0 obj << -/D [3907 0 R /XYZ 253.9624 600.0299 null] +/A << /S /GoTo /D (useradmin) >> >> endobj -3915 0 obj << -/D [3907 0 R /XYZ 499.806 600.0299 null] +3953 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [336.7154 137.5991 395.9927 148.503] +/Subtype /Link +/A << /S /GoTo /D (edit-groups) >> >> endobj -3916 0 obj << -/D [3907 0 R /XYZ 71.731 566.9889 null] +3956 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [88.6675 93.7635 147.9448 104.6674] +/Subtype /Link +/A << /S /GoTo /D (create-groups) >> >> endobj 3917 0 obj << -/D [3907 0 R /XYZ 71.731 523.1532 null] +/D [3915 0 R /XYZ 71.731 729.2652 null] +>> endobj +3918 0 obj << +/D [3915 0 R /XYZ 456.9916 708.3437 null] >> endobj 3919 0 obj << -/D [3907 0 R /XYZ 456.9916 460.5529 null] +/D [3915 0 R /XYZ 71.731 693.2354 null] >> endobj 3920 0 obj << -/D [3907 0 R /XYZ 71.731 445.4446 null] +/D [3915 0 R /XYZ 71.731 678.2915 null] >> endobj 3921 0 obj << -/D [3907 0 R /XYZ 71.731 430.5007 null] +/D [3915 0 R /XYZ 71.731 678.2915 null] >> endobj 3922 0 obj << -/D [3907 0 R /XYZ 71.731 430.5007 null] +/D [3915 0 R /XYZ 71.731 665.4595 null] >> endobj 3923 0 obj << -/D [3907 0 R /XYZ 71.731 417.6687 null] +/D [3915 0 R /XYZ 91.6563 649.5641 null] >> endobj 3924 0 obj << -/D [3907 0 R /XYZ 91.6563 401.7733 null] +/D [3915 0 R /XYZ 71.731 624.4932 null] >> endobj 3925 0 obj << -/D [3907 0 R /XYZ 71.731 376.7024 null] +/D [3915 0 R /XYZ 71.731 624.4932 null] >> endobj 3926 0 obj << -/D [3907 0 R /XYZ 71.731 376.7024 null] +/D [3915 0 R /XYZ 71.731 611.6613 null] >> endobj 3927 0 obj << -/D [3907 0 R /XYZ 71.731 363.8705 null] +/D [3915 0 R /XYZ 91.6563 595.7659 null] >> endobj 3928 0 obj << -/D [3907 0 R /XYZ 91.6563 347.9751 null] +/D [3915 0 R /XYZ 71.731 544.7921 null] >> endobj 3929 0 obj << -/D [3907 0 R /XYZ 71.731 297.0013 null] +/D [3915 0 R /XYZ 71.731 544.7921 null] >> endobj 3930 0 obj << -/D [3907 0 R /XYZ 71.731 297.0013 null] +/D [3915 0 R /XYZ 71.731 531.9602 null] >> endobj 3931 0 obj << -/D [3907 0 R /XYZ 71.731 284.1694 null] +/D [3915 0 R /XYZ 91.6563 516.0647 null] >> endobj 3932 0 obj << -/D [3907 0 R /XYZ 91.6563 268.274 null] +/D [3915 0 R /XYZ 71.731 490.9938 null] >> endobj 3933 0 obj << -/D [3907 0 R /XYZ 71.731 243.2031 null] +/D [3915 0 R /XYZ 71.731 490.9938 null] >> endobj 3934 0 obj << -/D [3907 0 R /XYZ 71.731 243.2031 null] +/D [3915 0 R /XYZ 71.731 478.1619 null] >> endobj 3935 0 obj << -/D [3907 0 R /XYZ 71.731 230.3711 null] +/D [3915 0 R /XYZ 91.6563 462.2665 null] >> endobj 3936 0 obj << -/D [3907 0 R /XYZ 91.6563 214.4757 null] +/D [3915 0 R /XYZ 71.731 437.1956 null] >> endobj 3937 0 obj << -/D [3907 0 R /XYZ 71.731 189.4048 null] +/D [3915 0 R /XYZ 71.731 437.1956 null] >> endobj 3938 0 obj << -/D [3907 0 R /XYZ 71.731 189.4048 null] +/D [3915 0 R /XYZ 71.731 424.3636 null] >> endobj 3939 0 obj << -/D [3907 0 R /XYZ 71.731 176.5729 null] +/D [3915 0 R /XYZ 91.6563 408.4682 null] >> endobj -3940 0 obj << -/D [3907 0 R /XYZ 91.6563 160.6774 null] +3941 0 obj << +/D [3915 0 R /XYZ 71.731 370.4459 null] >> endobj -3906 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> -/ProcSet [ /PDF /Text ] +3942 0 obj << +/D [3915 0 R /XYZ 71.731 370.4459 null] >> endobj -3944 0 obj << -/Length 2657 -/Filter /FlateDecode ->> -stream -xڍ˒��>_��˨SmF���$�5��J*�9%9�m+#K^=����Po�[>�A�$�s���bO�|�T�Q���ww��_>x��g�����9v�H#?ڽw�uE�&�.|��^�{���|>�k����N ��)�U���N��?��(K���~����<b�&�ᮄ��i�D2����4�2t��ڒ$�g��Q�����UE�oZ/fQ� -�閸����p�����/��{�n?�hN�Ǔ�����(��Ѿ��A7� ����J:��O:�(tZ8�\ƽ�)x���y_Ԅ��Rg�� l���&�*�Aױց���*��oE[J��8s��}��}��Nj�+�{�HCO���,�wb����sU��h�A���Օ>9Mꊾ�h��]��������Q]a7]�In�B�IW�82L�M��S����������q�d��(B�{ ��z$C郉�d8���+^&�_T�>@d4WY6\�*�̃�'�_#��=����!;1:&�ĉ�m�SE�`��tf�Ҵ��>�����fzF�+��/�p�H0CɌ2:�/�Ɗ>�94&��s٥\� ԍ* �������O��B���/�@n+�"��Xk=�h�I=�d��"��d��ͨe7=aEExE�|���u��\7���~\�"+:��*C��q�����7oh0���D3Dd��94���smj��]�)�m -�ו��PY���L6���U���<Mp�;Ǧ�����l��3�"(-��Z5ٙ��5N�<Z�3��{���^�"����n�A�X� ��"6�Z1���F�:/|MUN���B��5X��*JBTy����P�=3bZ_v���[�/�oi�� <5�%h�)���R-�is6|�IB�EhQ�E�:���;���j1[�*Zb�L�I�/����� � �hqW�<����ůu���4��j3�2�U��2�(ބ���Ͳ���f��gt�#�D�Q�;�;e(V3�x�Qu#G"N�pBd�l71c��h[�xIm��M��1�i�L�`�ɰ��2��9��E�FRƈt'c0��o'�5�ߑ/��_R���VC���_Y��!����ؔ�c��\�@Z�;`��Th����C�k1G��izx'���j���Q� ��7)����P���Yg���U� -��LdƯE��b�l�bk�k��p> �7���Z����H)��j��O�֚]S�p'(�V�R�i$�a���BE���\���I��hVӁ}��2}�%T�Pd'��p�u�,*�o9��Ǟx_���rs�y��!s�Ҙ�N%@!Ø��r����X��/U�T�����*�3�:��UK����ګ� -4dS"vM��jLj��wZ:5����u#����F��C00v���I0�� �}�� ���$��E����9_��v3�d��0�p�ox��b�v�,v4� �s�X���\=�T&�}!�Rx�:H����{��3sD��ͮ�x����Q�h� ��}�jn����ķ�m46�r���X�~��� ���;��>��6�����kS\T�>�α���>��:&O\�C�4H��!��mN������]�ڍۃT��,�Bx�4�!�^;�};���GV�3D$VMr�Fc�8'xo��@��5�Y�N�]��o�&�|�%�^����P<����Zj^��(��ٮ��Aۛ��A)���3�i#�,(m8�r�Ǿ.6�w%�Ȱ�6��Q��P� -�Tt������$��?}���>��{�|UE���ϪS�rH�Ru�Ԡ'l�$�0��������b�c����Zк�?=�l3x��H��8�T�w|��~�n���Lj�xVxn�� P!_��5���CM���2�ۮW -l(�����W�6�sV@�G �SSlȞ䅦U��-�ǂ�y{G����"_P�TL/ ���8(S7G�i�K�'�[@Z�<\3��F����nk�!�U� �DO�^�������R��)~�q�5�Q�'���E\�$�����'D�� '�4��y�@1*���WUl�6� :���y^l�ll�Q��?t��X�%��R�(� l���*�����=�d��=���t��DЂ�c�g�<�<��Ea�oK��mYT�[<{�RZc�4�ooȜ�ٸ�ɵ��>aD�`��S��b�)K��h��z�?+��)��w���6N�/GB�0&���.)�UQ�I���bA���]J -��ywK!��ѕ=����.'�)�+�^TX�?w�_������w��'[;XrfɈ,���~���4�,'a�]ǟ��7jQ��z���e��Ӹ�������p�]�㲭 t���sp�e���~ ����.����� �<�W�� G&��"�6�?�@&pS3�M��r#�š�8dtAԇS�l���23�$=2V�tdz!�K��Rk�K!y�i�B�X�Y������BV�b��������a���r�!�I9Kއ���`�K��{�'�/ �u���6ޞm�ݸ -k��Fk���]�z�-��:足.����z���O&"����g�|�'���t��y7���`�~�L�endstream -endobj 3943 0 obj << -/Type /Page -/Contents 3944 0 R -/Resources 3942 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R -/Annots [ 3950 0 R 3955 0 R 3958 0 R 3961 0 R 3963 0 R ] ->> endobj -3950 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [414.1442 674.3064 461.4474 685.2104] -/Subtype /Link -/A << /S /GoTo /D (parameters) >> ->> endobj -3955 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [415.7972 517.1757 462.6212 528.0796] -/Subtype /Link -/A << /S /GoTo /D (useradmin) >> ->> endobj -3958 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [336.7154 486.2915 395.9927 497.1954] -/Subtype /Link -/A << /S /GoTo /D (edit-groups) >> +/D [3915 0 R /XYZ 71.731 357.6139 null] >> endobj -3961 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [88.6675 442.4559 147.9448 453.3598] -/Subtype /Link -/A << /S /GoTo /D (create-groups) >> +3944 0 obj << +/D [3915 0 R /XYZ 91.6563 341.7185 null] >> endobj -3963 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [70.7348 354.1321 125.0308 362.9787] -/Subtype /Link -/A << /S /GoTo /D (product-group-controls) >> +1691 0 obj << +/D [3915 0 R /XYZ 71.731 308.6775 null] >> endobj -3945 0 obj << -/D [3943 0 R /XYZ 71.731 729.2652 null] +666 0 obj << +/D [3915 0 R /XYZ 304.8252 271.462 null] >> endobj 3946 0 obj << -/D [3943 0 R /XYZ 71.731 718.3063 null] +/D [3915 0 R /XYZ 71.731 261.097 null] >> endobj 3947 0 obj << -/D [3943 0 R /XYZ 71.731 718.3063 null] +/D [3915 0 R /XYZ 71.731 249.1806 null] >> endobj 3948 0 obj << -/D [3943 0 R /XYZ 71.731 706.3064 null] +/D [3915 0 R /XYZ 71.731 244.1993 null] >> endobj 3949 0 obj << -/D [3943 0 R /XYZ 91.6563 690.4109 null] ->> endobj -1691 0 obj << -/D [3943 0 R /XYZ 71.731 657.3699 null] ->> endobj -666 0 obj << -/D [3943 0 R /XYZ 304.8252 620.1544 null] +/D [3915 0 R /XYZ 89.6638 223.4421 null] >> endobj 3951 0 obj << -/D [3943 0 R /XYZ 71.731 609.7894 null] +/D [3915 0 R /XYZ 71.731 169.4795 null] >> endobj 3952 0 obj << -/D [3943 0 R /XYZ 71.731 597.873 null] ->> endobj -3953 0 obj << -/D [3943 0 R /XYZ 71.731 592.8917 null] +/D [3915 0 R /XYZ 89.6638 153.7036 null] >> endobj 3954 0 obj << -/D [3943 0 R /XYZ 89.6638 572.1345 null] +/D [3915 0 R /XYZ 71.731 138.5953 null] >> endobj -3956 0 obj << -/D [3943 0 R /XYZ 71.731 518.1719 null] +3955 0 obj << +/D [3915 0 R /XYZ 89.6638 122.8194 null] >> endobj -3957 0 obj << -/D [3943 0 R /XYZ 89.6638 502.396 null] +3914 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 3959 0 obj << -/D [3943 0 R /XYZ 71.731 487.2877 null] +/Length 1640 +/Filter /FlateDecode +>> +stream +xڍXK��6��r��5K�z�� R�h���+�6YRE)���w�3��^g���p�y���*��SQ�D��T"ɳ$��w2:���;�"[�ٮ����{�uT�*O�hw�R)E!�**t"�L��n�{��d���m��X��ޟ]�<�]{$֛���k��s����Ey�Q���E��6&:R��i������e*�D-T&R4�(��cKf����Id�M= �v�H��g�����S=z����h�H��4*w'��jX��l�G�aj��u�i��H�݁������<���M�ş7*��&Cw&j$E<������/ �� A��Һkkۏ����v���k*U�����h�q��&�A7EȺ��M�����t�4�Ǎ'�4�Y�p�adZ���0}�<h��ft �v4n^j��@K�5羱<���ɱ]c�����k�2��\�R���,ZB�@�� C��X�9���Z?�KH �zтE�+6<� �kȧB$*KQt�%BK�[��R��s>�=�O�ӒR�2�ɸ��lߛ�<oi���q�L��NJdY����)B�Q��Ζ(��ɒ�18�;�gݼ�dIn)B�����B}l�����0L=+Yvc��A��2☶;Cn[/h��4VwS�����mg����ӭ4k���H�x������F���= Ϧ�H:]�3�K�`b��ѻ�Վ���4=�v��a��Q�ܲ^J���r<�`��kT��2��cYKT +\ +]; +���k�fڇ�3_}4m��8@(~zE����d��jD�@�Yv�|Q&D��D��{��f�l�`{�[Y��������i�� �A�����z�m��� ]b�M @^g�0�DЙq��8�Mq@ku7ݑ����_���%ئ�* +Dݸ�ӷ�m\˲n��kk&��ق��x��b� +[��'Pf��R} +vVx�4 Q�ʀ����1�j;_��Ǝ�쐴0�p 1��ZA h�&Ԧ7Tg@2d0��2���]E��~Ϻ�k#��z�����K� Uċ�-sOL�܁/֓�@S��v�j�� +��U� �`�����K�z]V��������ϜS�q�g�m��&E��p0��=��{ZB=n|G�^2 n�$��u�s@; ������B�h�h �ܑ%�_y�6u��R�%8z�`u��on�wE&�*2����EM�M�����~Zd�%��z��b�S\uۛ���R$I9믇�*�Izn(��yQ�,�W��Ie̘�����5PfC��Y���}8�H_{�֍N���,n��%/U'�����4_�7B1��8���&5���v�ü��1���V<�ߔY��(����BQ�&a���,ltXVAdo��8K�x*�]�lu /4 ���G�Y�k��������(�ڵp�i�B�V�2�C�E��|���Zef)/M�+����l!Ĕ��O�L~t�4Z�6��N�@~�v�E.e&��e&�'x{e�8��W�R��<=��`x]������8˩ݭgw�\��=�@�XFqq���'/�TC�e�O����j)t�㱓ط�j�B���#E��L��K&-�u�W��ȒRHUU�,��������f���MJendstream +endobj +3958 0 obj << +/Type /Page +/Contents 3959 0 R +/Resources 3957 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 3913 0 R +/Annots [ 3962 0 R ] +>> endobj +3962 0 obj << +/Type /Annot +/Border[0 0 0]/H/I/C[1 0 0] +/Rect [70.7348 660.7176 125.0308 669.5643] +/Subtype /Link +/A << /S /GoTo /D (product-group-controls) >> >> endobj 3960 0 obj << -/D [3943 0 R /XYZ 89.6638 471.5118 null] +/D [3958 0 R /XYZ 71.731 729.2652 null] >> endobj 1692 0 obj << -/D [3943 0 R /XYZ 71.731 438.4708 null] +/D [3958 0 R /XYZ 71.731 718.3063 null] >> endobj 670 0 obj << -/D [3943 0 R /XYZ 381.7631 401.2553 null] +/D [3958 0 R /XYZ 381.7631 707.8408 null] >> endobj -3962 0 obj << -/D [3943 0 R /XYZ 71.731 390.8903 null] +3961 0 obj << +/D [3958 0 R /XYZ 71.731 697.4758 null] >> endobj 1693 0 obj << -/D [3943 0 R /XYZ 71.731 340.1844 null] +/D [3958 0 R /XYZ 71.731 646.7699 null] >> endobj 674 0 obj << -/D [3943 0 R /XYZ 481.7981 295.0296 null] +/D [3958 0 R /XYZ 481.7981 601.6151 null] +>> endobj +3963 0 obj << +/D [3958 0 R /XYZ 71.731 589.1772 null] >> endobj 3964 0 obj << -/D [3943 0 R /XYZ 71.731 282.5916 null] +/D [3958 0 R /XYZ 71.731 534.0635 null] >> endobj 3965 0 obj << -/D [3943 0 R /XYZ 71.731 227.478 null] +/D [3958 0 R /XYZ 71.731 490.2279 null] >> endobj 3966 0 obj << -/D [3943 0 R /XYZ 71.731 183.6424 null] +/D [3958 0 R /XYZ 416.5658 479.4333 null] >> endobj 3967 0 obj << -/D [3943 0 R /XYZ 416.5658 172.8478 null] +/D [3958 0 R /XYZ 151.9594 466.4819 null] >> endobj 3968 0 obj << -/D [3943 0 R /XYZ 151.9594 159.8964 null] +/D [3958 0 R /XYZ 71.731 459.3437 null] >> endobj 3969 0 obj << -/D [3943 0 R /XYZ 71.731 152.7582 null] +/D [3958 0 R /XYZ 71.731 446.3923 null] >> endobj 3970 0 obj << -/D [3943 0 R /XYZ 71.731 139.8068 null] +/D [3958 0 R /XYZ 118.5554 407.8283 null] >> endobj -3942 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F32 1266 0 R >> +3957 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj 3973 0 obj << -/Length 477 -/Filter /FlateDecode ->> -stream -xڍSM��0��Wx������#˰\�����]m�I�����i),L���Hz��q��Y+I�h��ㆳ=��op�4+��=���G)�o�a�)��r癕�F���K��)��8Սм�P����4�= �bz8�!�_ۏ�w�5�����V��ŝf -�UAq��i�a�ͦ�v�0��`�����XA7��U��r�x%BH� -�2"3!9���6ނ�N�0�V� -Ӑ[�&��b��3*�4�5.,i���%�}�u#Vw�����Dj�j��ow�9wD0�*��bHs� -8o�%-�%������Et���8,҇%lü��Ħ���BifP|ֈ��q8<��5�N�!�Ű���L<��f�K;� -�Ua�2�SHSѩ���ge�u��m>��\��)I,s�n���a+�A:��^`��P�Bp*���]q��W�I9ph���I�gTfʈ�����. �]r�endstream -endobj -3972 0 obj << -/Type /Page -/Contents 3973 0 R -/Resources 3971 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R ->> endobj -3974 0 obj << -/D [3972 0 R /XYZ 71.731 729.2652 null] ->> endobj -3975 0 obj << -/D [3972 0 R /XYZ 118.5554 689.7049 null] ->> endobj -3971 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3978 0 obj << /Length 2492 /Filter /FlateDecode >> @@ -16541,137 +16498,137 @@ nQ=O:$ M�3ML���R&����Deg���l}A� ��@�sq�����@(�"ϥ�/Đ�I���B��8w�f�^h��%��������;Ș�H�*��!�4Q�H��@���3��}�ES���!���"B���8=\|,��*�o.��D�K6���{�~�f���{�����I���ٱ����[�;���Xy?)�F��Ǝ��l�D4t����{�-�0*��t�3Ӛ�;>}�6���/���pM��oC�`�##��z�,�[�g�`�'�h.]S�V>�$d��p����M��H8�j���(E�8� �����[��F;�`����Kٞ ��~^@\���%����b}֓p�u���FT�X�2{{��{��2�>�x��tԕa㵈��쑳Y�ΕLB��E���4ѡ��3��LI�o��4�B�5e�I�k۽��\�Z�(������P.����4 �W��R��4��c���pEOL��G3k �.2�:A�, M���(���[4�Ƞ����{����'��D�j��BRx�X+%T!c� ��k�;���o/���l�?���X�"Mɳ-��ۘZ�~�,����oHT�2pI�CQ�c��&��ya�̵x�eI�Ld2���諏`��,��)I���7��`����~��3��k�=Ǐ�z��T�5������#8��j��b�d�i�y�z�B�f(wh��fF?#eZ��V�;Ug��1 ��r�.�b�������{��*�.r���lڅiU�<������].C�U��*�8|u�i�������K�t�� �8�3�k)���=�\=�,M�0�% ��G�9n�2%�\+&��!�)�S���1�X��Ԇc;� -�R�5z����ƯD��(�r�y�o�JB����R*�YГ��O�Ŧ�: ���Y��&PPO�#%�������A���~�&O�+�������w��z ����v��m5�7�I�($)����"�~������#��-��Z���d;�y9����� m�����,\�?�[��endstream +�R�5z����ƯD��(�r�y�o�JB����R*�YГ��O�Ŧ�: ���Y��&PPO�#%�������A���~�&O�+�������w��z ����v��m5�7�I�($)����"�~������#��-��Z���d;�y9����� m�����,\�?���endstream endobj -3977 0 obj << +3972 0 obj << /Type /Page -/Contents 3978 0 R -/Resources 3976 0 R +/Contents 3973 0 R +/Resources 3971 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 3870 0 R -/Annots [ 3985 0 R 3990 0 R ] +/Parent 3913 0 R +/Annots [ 3980 0 R 3985 0 R ] >> endobj -3985 0 obj << +3980 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [96.5016 366.6214 133.9111 377.5253] /Subtype /Link /A << /S /GoTo /D (gloss-daemon) >> >> endobj -3990 0 obj << +3985 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [257.7381 353.6699 291.8196 364.5739] /Subtype /Link /A << /S /GoTo /D (gloss-service) >> >> endobj -3979 0 obj << -/D [3977 0 R /XYZ 71.731 729.2652 null] +3974 0 obj << +/D [3972 0 R /XYZ 71.731 729.2652 null] >> endobj 1795 0 obj << -/D [3977 0 R /XYZ 71.731 718.3063 null] +/D [3972 0 R /XYZ 71.731 718.3063 null] >> endobj 678 0 obj << -/D [3977 0 R /XYZ 344.9571 703.236 null] +/D [3972 0 R /XYZ 344.9571 703.236 null] >> endobj -3980 0 obj << -/D [3977 0 R /XYZ 71.731 681.8546 null] +3975 0 obj << +/D [3972 0 R /XYZ 71.731 681.8546 null] >> endobj -3981 0 obj << -/D [3977 0 R /XYZ 522.288 634.6452 null] +3976 0 obj << +/D [3972 0 R /XYZ 522.288 634.6452 null] >> endobj -3982 0 obj << -/D [3977 0 R /XYZ 71.731 616.593 null] +3977 0 obj << +/D [3972 0 R /XYZ 71.731 616.593 null] >> endobj 1796 0 obj << -/D [3977 0 R /XYZ 71.731 575.7013 null] +/D [3972 0 R /XYZ 71.731 575.7013 null] >> endobj 682 0 obj << -/D [3977 0 R /XYZ 252.5595 532.6038 null] +/D [3972 0 R /XYZ 252.5595 532.6038 null] >> endobj 1797 0 obj << -/D [3977 0 R /XYZ 71.731 528.7736 null] +/D [3972 0 R /XYZ 71.731 528.7736 null] >> endobj 686 0 obj << -/D [3977 0 R /XYZ 198.2194 493.2315 null] +/D [3972 0 R /XYZ 198.2194 493.2315 null] >> endobj -3983 0 obj << -/D [3977 0 R /XYZ 71.731 485.8792 null] +3978 0 obj << +/D [3972 0 R /XYZ 71.731 485.8792 null] >> endobj 1798 0 obj << -/D [3977 0 R /XYZ 71.731 427.1145 null] +/D [3972 0 R /XYZ 71.731 427.1145 null] >> endobj 690 0 obj << -/D [3977 0 R /XYZ 267.8696 389.899 null] +/D [3972 0 R /XYZ 267.8696 389.899 null] +>> endobj +3979 0 obj << +/D [3972 0 R /XYZ 71.731 379.7563 null] +>> endobj +3981 0 obj << +/D [3972 0 R /XYZ 209.7301 369.7744 null] +>> endobj +3982 0 obj << +/D [3972 0 R /XYZ 291.3343 369.7744 null] +>> endobj +3983 0 obj << +/D [3972 0 R /XYZ 381.0612 369.7744 null] >> endobj 3984 0 obj << -/D [3977 0 R /XYZ 71.731 379.7563 null] +/D [3972 0 R /XYZ 419.6033 369.7744 null] >> endobj 3986 0 obj << -/D [3977 0 R /XYZ 209.7301 369.7744 null] +/D [3972 0 R /XYZ 322.3875 356.823 null] >> endobj 3987 0 obj << -/D [3977 0 R /XYZ 291.3343 369.7744 null] +/D [3972 0 R /XYZ 449.9815 356.823 null] >> endobj 3988 0 obj << -/D [3977 0 R /XYZ 381.0612 369.7744 null] +/D [3972 0 R /XYZ 489.8335 356.823 null] >> endobj 3989 0 obj << -/D [3977 0 R /XYZ 419.6033 369.7744 null] +/D [3972 0 R /XYZ 436.781 343.8716 null] +>> endobj +3990 0 obj << +/D [3972 0 R /XYZ 258.7334 330.9202 null] >> endobj 3991 0 obj << -/D [3977 0 R /XYZ 322.3875 356.823 null] +/D [3972 0 R /XYZ 171.6422 317.9687 null] >> endobj 3992 0 obj << -/D [3977 0 R /XYZ 449.9815 356.823 null] +/D [3972 0 R /XYZ 71.731 304.9177 null] >> endobj 3993 0 obj << -/D [3977 0 R /XYZ 489.8335 356.823 null] +/D [3972 0 R /XYZ 71.731 289.9738 null] >> endobj 3994 0 obj << -/D [3977 0 R /XYZ 436.781 343.8716 null] +/D [3972 0 R /XYZ 209.8716 278.417 null] >> endobj 3995 0 obj << -/D [3977 0 R /XYZ 258.7334 330.9202 null] +/D [3972 0 R /XYZ 316.0526 278.417 null] >> endobj 3996 0 obj << -/D [3977 0 R /XYZ 171.6422 317.9687 null] ->> endobj -3997 0 obj << -/D [3977 0 R /XYZ 71.731 304.9177 null] ->> endobj -3998 0 obj << -/D [3977 0 R /XYZ 71.731 289.9738 null] ->> endobj -3999 0 obj << -/D [3977 0 R /XYZ 209.8716 278.417 null] ->> endobj -4000 0 obj << -/D [3977 0 R /XYZ 316.0526 278.417 null] ->> endobj -4001 0 obj << -/D [3977 0 R /XYZ 129.3774 266.7608 null] +/D [3972 0 R /XYZ 129.3774 266.7608 null] >> endobj 1799 0 obj << -/D [3977 0 R /XYZ 71.731 238.8654 null] +/D [3972 0 R /XYZ 71.731 238.8654 null] >> endobj 694 0 obj << -/D [3977 0 R /XYZ 215.5068 199.493 null] +/D [3972 0 R /XYZ 215.5068 199.493 null] >> endobj -4002 0 obj << -/D [3977 0 R /XYZ 71.731 192.0618 null] +3997 0 obj << +/D [3972 0 R /XYZ 71.731 192.0618 null] >> endobj -4003 0 obj << -/D [3977 0 R /XYZ 401.9114 179.3685 null] +3998 0 obj << +/D [3972 0 R /XYZ 401.9114 179.3685 null] >> endobj 1800 0 obj << -/D [3977 0 R /XYZ 71.731 136.3648 null] +/D [3972 0 R /XYZ 71.731 136.3648 null] >> endobj -3976 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R /F35 1709 0 R /F44 2088 0 R /F61 2639 0 R >> +3971 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R /F35 1709 0 R /F44 2089 0 R /F61 2640 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4008 0 obj << +4003 0 obj << /Length 2100 /Filter /FlateDecode >> @@ -16685,245 +16642,245 @@ xڵZM ҇�}2�gJ@�![�!`-��?;�aH��fD"r[�� �X�}RJ�T����g���ؽu&����-=� e��!��r�J�I^�vE��R�8o����x4�EC�D��]�@;u� A�Y�{Ԝ#���:�κ���I����D̀�cQ��>8�/��2������_�vkq����+��!��I��68l6 ���L��*���"�F�OzԺ��T,F� ����.����0���'��">�H��1;�E��A h^��ࢿ"�hA��*���;�?e���@�^ǿ�~���[{2k�KH�@�hYHh^HhUH�w���!$�ĝB� ���rO�drMN�� �!��d�աV�0z��$��I<GK�:Da��Cuw|�]���^�� ��s�!Ȥ�s;���,��o���s���.��^�q1�V��(�(P�[�؏!�����7wX�t�U�8��� �Kl�W#��?39VO�KݷB���r? &f��x�Nj�h_��۹�g�s�V�F�|�Zx����w���������k�dfO��%�����o��r�i+�?磞E0� �e�[��w�U�;�ޡs ��m_�T����طP>�P�>q��'.��,���ڞs�\�ٝ�s�L���3�s�%?��6~����8'��\Fa^��s����e=j-�����2�i.�xP?}��ء*��%�sZ�k���Y�¨E�d15�=j-b]F�#�E��_r�����2��Y�͞%z��Y�er�,��0=KH�q�����3g��"�v��$�#J�J0Z��`�P���0zG0:H8��&�%�"x��lQR6hVR=hMR.��rq�Jj@�I���R��LR$�P�xYR6j^R=jMR.��r��Jj@bUR�kw��n?�^D�k��* u �5x�eJ�*��ԯM���}���:�ܛn�eFf��A"؆m����%�u���j ��7U���������k����mV#I�'�-E��8X�~aT7�X����z�ӓ.�M��t��㰄c�'M�?�$M�nªy"�h����7�&8�¬6j�a���߲C�V��z��_gbTu�w�<���)�I��z�r|�������X0�?�[w�[�Ӄ.5S]��L���VH�.�yW4�vO�놏8T<y�˹���_�"?"ry�0���4�S/�� -�&��L8��rendstream +�&��L8��endstream endobj -4007 0 obj << +4002 0 obj << /Type /Page -/Contents 4008 0 R -/Resources 4006 0 R +/Contents 4003 0 R +/Resources 4001 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R -/Annots [ 4014 0 R 4015 0 R ] +/Parent 3913 0 R +/Annots [ 4009 0 R 4010 0 R ] >> endobj -4014 0 obj << +4009 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [271.1346 578.1752 316.7037 588.7575] /Subtype /Link /A << /S /GoTo /D (gloss-htaccess) >> >> endobj -4015 0 obj << +4010 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [261.1174 566.6266 322.9236 577.1012] /Subtype /Link /A << /S /GoTo /D (http-apache) >> >> endobj -4009 0 obj << -/D [4007 0 R /XYZ 71.731 729.2652 null] +4004 0 obj << +/D [4002 0 R /XYZ 71.731 729.2652 null] >> endobj 698 0 obj << -/D [4007 0 R /XYZ 197.6084 706.1179 null] +/D [4002 0 R /XYZ 197.6084 706.1179 null] >> endobj 1801 0 obj << -/D [4007 0 R /XYZ 71.731 705.9028 null] +/D [4002 0 R /XYZ 71.731 705.9028 null] >> endobj 702 0 obj << -/D [4007 0 R /XYZ 498.0946 666.7455 null] +/D [4002 0 R /XYZ 498.0946 666.7455 null] >> endobj -4010 0 obj << -/D [4007 0 R /XYZ 71.731 656.3805 null] +4005 0 obj << +/D [4002 0 R /XYZ 71.731 656.3805 null] +>> endobj +4006 0 obj << +/D [4002 0 R /XYZ 213.9976 620.7181 null] +>> endobj +4007 0 obj << +/D [4002 0 R /XYZ 71.731 605.6099 null] +>> endobj +4008 0 obj << +/D [4002 0 R /XYZ 71.731 590.6659 null] >> endobj 4011 0 obj << -/D [4007 0 R /XYZ 213.9976 620.7181 null] +/D [4002 0 R /XYZ 76.7123 551.5774 null] >> endobj 4012 0 obj << -/D [4007 0 R /XYZ 71.731 605.6099 null] +/D [4002 0 R /XYZ 71.731 541.6148 null] >> endobj 4013 0 obj << -/D [4007 0 R /XYZ 71.731 590.6659 null] +/D [4002 0 R /XYZ 81.6937 508.7381 null] +>> endobj +4014 0 obj << +/D [4002 0 R /XYZ 71.731 506.5812 null] +>> endobj +4015 0 obj << +/D [4002 0 R /XYZ 71.731 506.5812 null] >> endobj 4016 0 obj << -/D [4007 0 R /XYZ 76.7123 551.5774 null] +/D [4002 0 R /XYZ 91.6563 495.7866 null] >> endobj 4017 0 obj << -/D [4007 0 R /XYZ 71.731 541.6148 null] +/D [4002 0 R /XYZ 120.717 495.7866 null] >> endobj 4018 0 obj << -/D [4007 0 R /XYZ 81.6937 508.7381 null] +/D [4002 0 R /XYZ 120.717 495.7866 null] >> endobj 4019 0 obj << -/D [4007 0 R /XYZ 71.731 506.5812 null] +/D [4002 0 R /XYZ 147.2176 495.7866 null] >> endobj 4020 0 obj << -/D [4007 0 R /XYZ 71.731 506.5812 null] +/D [4002 0 R /XYZ 147.2176 495.7866 null] >> endobj 4021 0 obj << -/D [4007 0 R /XYZ 91.6563 495.7866 null] +/D [4002 0 R /XYZ 76.7123 477.8539 null] >> endobj 4022 0 obj << -/D [4007 0 R /XYZ 120.717 495.7866 null] +/D [4002 0 R /XYZ 81.6937 464.9025 null] >> endobj 4023 0 obj << -/D [4007 0 R /XYZ 120.717 495.7866 null] +/D [4002 0 R /XYZ 92.4832 464.9025 null] >> endobj 4024 0 obj << -/D [4007 0 R /XYZ 147.2176 495.7866 null] +/D [4002 0 R /XYZ 71.731 464.7635 null] >> endobj 4025 0 obj << -/D [4007 0 R /XYZ 147.2176 495.7866 null] +/D [4002 0 R /XYZ 71.731 464.7635 null] >> endobj 4026 0 obj << -/D [4007 0 R /XYZ 76.7123 477.8539 null] +/D [4002 0 R /XYZ 91.6563 451.951 null] >> endobj 4027 0 obj << -/D [4007 0 R /XYZ 81.6937 464.9025 null] +/D [4002 0 R /XYZ 76.7123 434.0183 null] >> endobj 4028 0 obj << -/D [4007 0 R /XYZ 92.4832 464.9025 null] +/D [4002 0 R /XYZ 81.6937 421.0668 null] >> endobj 4029 0 obj << -/D [4007 0 R /XYZ 71.731 464.7635 null] +/D [4002 0 R /XYZ 92.4832 421.0668 null] >> endobj 4030 0 obj << -/D [4007 0 R /XYZ 71.731 464.7635 null] +/D [4002 0 R /XYZ 71.731 420.3586 null] >> endobj 4031 0 obj << -/D [4007 0 R /XYZ 91.6563 451.951 null] +/D [4002 0 R /XYZ 71.731 420.3586 null] >> endobj 4032 0 obj << -/D [4007 0 R /XYZ 76.7123 434.0183 null] +/D [4002 0 R /XYZ 91.6563 408.1154 null] >> endobj 4033 0 obj << -/D [4007 0 R /XYZ 81.6937 421.0668 null] +/D [4002 0 R /XYZ 71.731 405.9586 null] >> endobj 4034 0 obj << -/D [4007 0 R /XYZ 92.4832 421.0668 null] +/D [4002 0 R /XYZ 71.731 405.9586 null] >> endobj 4035 0 obj << -/D [4007 0 R /XYZ 71.731 420.3586 null] +/D [4002 0 R /XYZ 101.6189 395.164 null] >> endobj 4036 0 obj << -/D [4007 0 R /XYZ 71.731 420.3586 null] +/D [4002 0 R /XYZ 71.731 393.0071 null] >> endobj 4037 0 obj << -/D [4007 0 R /XYZ 91.6563 408.1154 null] +/D [4002 0 R /XYZ 101.6189 382.2125 null] >> endobj 4038 0 obj << -/D [4007 0 R /XYZ 71.731 405.9586 null] +/D [4002 0 R /XYZ 142.8837 382.2125 null] >> endobj 4039 0 obj << -/D [4007 0 R /XYZ 71.731 405.9586 null] +/D [4002 0 R /XYZ 142.8837 382.2125 null] >> endobj 4040 0 obj << -/D [4007 0 R /XYZ 101.6189 395.164 null] +/D [4002 0 R /XYZ 76.7123 364.2798 null] >> endobj 4041 0 obj << -/D [4007 0 R /XYZ 71.731 393.0071 null] +/D [4002 0 R /XYZ 91.6563 351.3284 null] >> endobj 4042 0 obj << -/D [4007 0 R /XYZ 101.6189 382.2125 null] +/D [4002 0 R /XYZ 71.731 349.1715 null] >> endobj 4043 0 obj << -/D [4007 0 R /XYZ 142.8837 382.2125 null] +/D [4002 0 R /XYZ 71.731 349.1715 null] >> endobj 4044 0 obj << -/D [4007 0 R /XYZ 142.8837 382.2125 null] +/D [4002 0 R /XYZ 101.6189 338.3769 null] >> endobj 4045 0 obj << -/D [4007 0 R /XYZ 76.7123 364.2798 null] +/D [4002 0 R /XYZ 71.731 336.2201 null] >> endobj 4046 0 obj << -/D [4007 0 R /XYZ 91.6563 351.3284 null] +/D [4002 0 R /XYZ 101.6189 325.4255 null] >> endobj 4047 0 obj << -/D [4007 0 R /XYZ 71.731 349.1715 null] +/D [4002 0 R /XYZ 145.6532 325.4255 null] >> endobj 4048 0 obj << -/D [4007 0 R /XYZ 71.731 349.1715 null] +/D [4002 0 R /XYZ 145.6532 325.4255 null] >> endobj 4049 0 obj << -/D [4007 0 R /XYZ 101.6189 338.3769 null] +/D [4002 0 R /XYZ 177.5336 325.4255 null] >> endobj 4050 0 obj << -/D [4007 0 R /XYZ 71.731 336.2201 null] +/D [4002 0 R /XYZ 177.5336 325.4255 null] >> endobj 4051 0 obj << -/D [4007 0 R /XYZ 101.6189 325.4255 null] +/D [4002 0 R /XYZ 209.4141 325.4255 null] >> endobj 4052 0 obj << -/D [4007 0 R /XYZ 145.6532 325.4255 null] +/D [4002 0 R /XYZ 209.4141 325.4255 null] >> endobj 4053 0 obj << -/D [4007 0 R /XYZ 145.6532 325.4255 null] +/D [4002 0 R /XYZ 241.2945 325.4255 null] >> endobj 4054 0 obj << -/D [4007 0 R /XYZ 177.5336 325.4255 null] +/D [4002 0 R /XYZ 241.2945 325.4255 null] >> endobj 4055 0 obj << -/D [4007 0 R /XYZ 177.5336 325.4255 null] +/D [4002 0 R /XYZ 76.7123 307.4927 null] >> endobj 4056 0 obj << -/D [4007 0 R /XYZ 209.4141 325.4255 null] +/D [4002 0 R /XYZ 91.6563 294.5413 null] >> endobj 4057 0 obj << -/D [4007 0 R /XYZ 209.4141 325.4255 null] +/D [4002 0 R /XYZ 71.731 292.3845 null] >> endobj 4058 0 obj << -/D [4007 0 R /XYZ 241.2945 325.4255 null] +/D [4002 0 R /XYZ 71.731 292.3845 null] >> endobj 4059 0 obj << -/D [4007 0 R /XYZ 241.2945 325.4255 null] +/D [4002 0 R /XYZ 101.6189 281.5899 null] >> endobj 4060 0 obj << -/D [4007 0 R /XYZ 76.7123 307.4927 null] +/D [4002 0 R /XYZ 76.7123 245.7244 null] >> endobj 4061 0 obj << -/D [4007 0 R /XYZ 91.6563 294.5413 null] +/D [4002 0 R /XYZ 81.6937 232.7729 null] >> endobj 4062 0 obj << -/D [4007 0 R /XYZ 71.731 292.3845 null] +/D [4002 0 R /XYZ 92.4832 232.7729 null] >> endobj 4063 0 obj << -/D [4007 0 R /XYZ 71.731 292.3845 null] +/D [4002 0 R /XYZ 71.731 231.3922 null] >> endobj 4064 0 obj << -/D [4007 0 R /XYZ 101.6189 281.5899 null] +/D [4002 0 R /XYZ 71.731 231.3922 null] >> endobj 4065 0 obj << -/D [4007 0 R /XYZ 76.7123 245.7244 null] +/D [4002 0 R /XYZ 91.6563 219.8215 null] >> endobj 4066 0 obj << -/D [4007 0 R /XYZ 81.6937 232.7729 null] +/D [4002 0 R /XYZ 76.7123 201.8888 null] >> endobj 4067 0 obj << -/D [4007 0 R /XYZ 92.4832 232.7729 null] +/D [4002 0 R /XYZ 81.6937 188.9373 null] >> endobj 4068 0 obj << -/D [4007 0 R /XYZ 71.731 231.3922 null] +/D [4002 0 R /XYZ 92.4832 188.9373 null] >> endobj 4069 0 obj << -/D [4007 0 R /XYZ 71.731 231.3922 null] +/D [4002 0 R /XYZ 71.731 187.5566 null] >> endobj 4070 0 obj << -/D [4007 0 R /XYZ 91.6563 219.8215 null] +/D [4002 0 R /XYZ 71.731 187.5566 null] >> endobj 4071 0 obj << -/D [4007 0 R /XYZ 76.7123 201.8888 null] +/D [4002 0 R /XYZ 91.6563 175.9859 null] >> endobj 4072 0 obj << -/D [4007 0 R /XYZ 81.6937 188.9373 null] ->> endobj -4073 0 obj << -/D [4007 0 R /XYZ 92.4832 188.9373 null] ->> endobj -4074 0 obj << -/D [4007 0 R /XYZ 71.731 187.5566 null] ->> endobj -4075 0 obj << -/D [4007 0 R /XYZ 71.731 187.5566 null] ->> endobj -4076 0 obj << -/D [4007 0 R /XYZ 91.6563 175.9859 null] ->> endobj -4077 0 obj << -/D [4007 0 R /XYZ 71.731 153.0718 null] +/D [4002 0 R /XYZ 71.731 153.0718 null] >> endobj -4006 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R /F54 2402 0 R >> +4001 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R /F54 2403 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4082 0 obj << +4076 0 obj << /Length 1342 /Filter /FlateDecode >> @@ -16934,381 +16891,369 @@ xڅVێ N���ꇪ��t�N��߭�;�h��G2���cZ �5,W<v�/��ںj }�]1���ͮ*7(��|a���ȱj��L�0�hj�V$/�1yp�R�d��G���f`}M�W�N��i=zk�*�ɮ� ��0�G.̮ev��,�D�t �U����x�́����PH��4x�v�GS`M>=Os���$�X�߆ۅg�`r`�v�&t`�@#,~j_@�D\�/:03�쁐ЍQ��\؇2r�C�v�@B�'����՛��E��Κ=�4�B���ynlmP��X7^���M��F���Z^�2�'���R�u&��3�Hx�0�ʼn@ah �3��x�^����|4����d�����h��*�n��5�R f���� ��u1.b嬿ۇ�T���F���ڔ�]�. ������AV�Z����~���h[��*�Δo��@�0c顆��>���a��z=��̦����T��K0��~%��q~=�v0I2���#R�T[�'i�=�>�k�'���.�f/]�>�X[��c4�.�8����� �EWBE��v��5�_We��t���a����t�X��p����=�Na .�`� oMq|�U?nf�=�桩luU�v�M���Ỹ��tnL[�g��C0.Z8��(F���b��x 3�����p-;�n�Y?o�y�[� -�^�#��4z6*��o@�')SY�_�tx�C���bZ�'>����3�������.�y�m�"�'t6��A�N�'��-�]]��#�e{�� ��<�BX"}�7�w�X�j��w^��e�т�k.��zL{�ҍD�Z}�G��n�\�"�o��h`J��ͮ:L�+W�$'��e�����_/�t�/��sB�Ep�يn�ˋlQO���r4&n��8$�|ς˺3�Ɓ#�rB��?(2E�к#_�%z�B���=mO^P;h���j�Ҭ-s(����PĀ\0�?�fi$�CAc����ŀ�B��@�S�=��;��L��g��-����������|���D��q��j�����ְ���8�XƓ��o���O%2�&��Y������a�_��D;endstream +�^�#��4z6*��o@�')SY�_�tx�C���bZ�'>����3�������.�y�m�"�'t6��A�N�'��-�]]��#�e{�� ��<�BX"}�7�w�X�j��w^��e�т�k.��zL{�ҍD�Z}�G��n�\�"�o��h`J��ͮ:L�+W�$'��e�����_/�t�/��sB�Ep�يn�ˋlQO���r4&n��8$�|ς˺3�Ɓ#�rB��?(2E�к#_�%z�B���=mO^P;h���j�Ҭ-s(����PĀ\0�?�fi$�CAc����ŀ�B��@�S�=��;��L��g��-����������|���D��q��j�����ְ���8�XƓ��o���O%2�&��Y������a�_�SD9endstream endobj -4081 0 obj << +4075 0 obj << /Type /Page -/Contents 4082 0 R -/Resources 4080 0 R +/Contents 4076 0 R +/Resources 4074 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R -/Annots [ 4089 0 R ] +/Parent 3913 0 R +/Annots [ 4083 0 R ] >> endobj -4089 0 obj << +4083 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [178.6818 665.9084 233.0102 676.383] /Subtype /Link /A << /S /GoTo /D (http) >> >> endobj -4083 0 obj << -/D [4081 0 R /XYZ 71.731 729.2652 null] +4077 0 obj << +/D [4075 0 R /XYZ 71.731 729.2652 null] >> endobj -4084 0 obj << -/D [4081 0 R /XYZ 152.1362 708.3437 null] +4078 0 obj << +/D [4075 0 R /XYZ 152.1362 708.3437 null] >> endobj -4085 0 obj << -/D [4081 0 R /XYZ 457.3046 708.3437 null] +4079 0 obj << +/D [4075 0 R /XYZ 457.3046 708.3437 null] >> endobj -4086 0 obj << -/D [4081 0 R /XYZ 322.4878 695.3923 null] +4080 0 obj << +/D [4075 0 R /XYZ 322.4878 695.3923 null] >> endobj -4087 0 obj << -/D [4081 0 R /XYZ 71.731 693.2354 null] +4081 0 obj << +/D [4075 0 R /XYZ 71.731 693.2354 null] >> endobj -4088 0 obj << -/D [4081 0 R /XYZ 71.731 678.2915 null] +4082 0 obj << +/D [4075 0 R /XYZ 71.731 678.2915 null] >> endobj 1802 0 obj << -/D [4081 0 R /XYZ 71.731 630.934 null] +/D [4075 0 R /XYZ 71.731 630.934 null] >> endobj 706 0 obj << -/D [4081 0 R /XYZ 171.2348 585.6797 null] +/D [4075 0 R /XYZ 171.2348 585.6797 null] >> endobj 1803 0 obj << -/D [4081 0 R /XYZ 71.731 581.8494 null] +/D [4075 0 R /XYZ 71.731 581.8494 null] >> endobj 710 0 obj << -/D [4081 0 R /XYZ 413.6679 546.3073 null] +/D [4075 0 R /XYZ 413.6679 546.3073 null] >> endobj -4090 0 obj << -/D [4081 0 R /XYZ 71.731 535.9423 null] +4084 0 obj << +/D [4075 0 R /XYZ 71.731 535.9423 null] >> endobj -4091 0 obj << -/D [4081 0 R /XYZ 401.1834 526.1828 null] +4085 0 obj << +/D [4075 0 R /XYZ 401.1834 526.1828 null] >> endobj -4092 0 obj << -/D [4081 0 R /XYZ 457.301 513.2314 null] +4086 0 obj << +/D [4075 0 R /XYZ 457.301 513.2314 null] >> endobj -4093 0 obj << -/D [4081 0 R /XYZ 239.3111 487.3285 null] +4087 0 obj << +/D [4075 0 R /XYZ 239.3111 487.3285 null] >> endobj -4094 0 obj << -/D [4081 0 R /XYZ 71.731 480.1903 null] +4088 0 obj << +/D [4075 0 R /XYZ 71.731 480.1903 null] >> endobj -4095 0 obj << -/D [4081 0 R /XYZ 319.2438 443.4929 null] +4089 0 obj << +/D [4075 0 R /XYZ 319.2438 443.4929 null] >> endobj -4080 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R >> +4074 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4098 0 obj << -/Length 2395 +4092 0 obj << +/Length 2389 /Filter /FlateDecode >> stream -xڍ]�۸�=��o'�VԷ�M�����PM�m+K�$w����/ʲ,�X �Ù�p�H�E�j�)?��n�0M�Eqx,v0��wJH�4��D�0��]'Q�o�0]��L>>�{�F�0��$O��AT�a�.�{���؛v���K|����z���������?�'v*�C���.�ѡdiF�_��/u�.��k�S�ۦ���b�oRГ׆�O�MHk��[�cy��%4(���)[o���/�0D �L]�O�i�����)���qoZ#��R_�7]�$vK���P�J���)�Y��� � -7��R��ITL��$�������B�8�`*�v@������{�� ���Qs�4U�d�7�=V�,Ӷ��(�ny��Z&������|��Y� p���]��g�OT����2�j�"z/:\l�#[��� 6�<��#_,�F�6��:��ꌈ��k4��$��^��hktj�07�~�Zɒ�dn%�v��u�sp�S��S����C���>�'H���#B��C,u� �"��d{!|Y*����G��T6������tEk�L�j@�B�ϭ�qZ��ʒ���=#{�Z�r�=�8!g��̀���� ��h���D� - ,kɾLQw/`-7�0%��>[��\9���F�2��������>����<1v� ����x~\�C�7&����QI�� -�2[9�S�6��K�$�$�TJ��Ԃ���$���CQ4'8�7S�Jz��8ذC�g4� -�B�d��b<榶�'<jÉ�cb�8�:����<U�(A��`� ��`k����9D�VYr*���>�F@/X�(p!A��!�r|G))�*�hNY���ן��0ݾ9U%#�B��� -��%�Y�%"�l�[q��i]���)�ѱF+&�����~n��|����O�O����y㻿<�B��@AO��*��lG��c*n(�x�V7"Q>+r�Tp��P�7�� 3x*����x�Q��R�,r`�R|f��m�D�z[����ٙ��s?Vy,�+�ZT�xfQ"3���a��hjFkF�Tg_7 -�4vA�bFT�~^1%z�Ն����إ �:���x���:����4nW��Iә�]�Ķiz�=1�����$�~m�20���h9b y��?�"�[ 2D�3�X0��7��dg�aW�������I*8�0� 7�~m�+(����xDB"PC����� ��� -��1�*3�&�GU��[�(R��d��uu��%7R��ݹ��Ź�}c�Z���s:�<ՙj+��6�V -n)[�5��H�f��HOf���):��ԥe\�lNy�.x>JѲ� -��2 -<G�`o�T�Ӄ%E�ot0f[�5"�G�GOfȢ�-:�swY>�!bd��A��3� kp�k �A����ei(�4��acA�:��Z��=W�V���X������ύ+��0����E !]�J���љ�n'&<h<��ʖqE���9�����H�8�-��~��t,1aǠ��#��5��%����1]��H�k#ݩ���=c!� -���G��yB<6��s 3���H׃+�x^�)xk� A�^��}�˜�N>� ̶d��VH��5W�����M�zC0"��8"4Fx����v7��)g��O�5��00�ܫ�K��-@�¯�+�Z -�7��"�����1�'�{�]#� -c/�j'���H��߽�qn,1pl�"cK;�*�J�F'8�MT5;2���� �v�LmZp�3�X���Jw�)��c�� �0dX$�{-��.|/ J�k��Z_t�hd��0���r� 6� p���tf4�/����-�Q���p:�x�|���^%!$S�x��Gh����������@�����8��g��M��R�4�-X ��y��)�2g�Ri$2bÐ��)�x%|�"��ny)Z��� �lM�6�o�ŵ�;;�q���#�9�a�ͥ�l&o'O�jH��o��6�&8�)?J���7����*T:����D���^W�7��])���lɳ��b�q�d�S����!rD��0�h�ǜ��?����qa�G�̶��r3� ��:z�M�k�+[J8G1��a�mf�u"����7�n\H��1���0���T�����?�9z�ݛ\zGl�@g�2�'��3qi�!�[�M1 �]bfs7���Ujx��5�}�3?Q�� �Q���� -5��;���?����p��]ڢh�^ʃk��8ߍ���Z1��(��c4���y�y�JW��*�8�X��JX_z_@7�����-���_?ꮓ��ru��nH��ۿw���M����={�[]�\I������Ep��Uz�u�d=��S��ѩ%pZ� -�n+M���f�q}endstream +xڍ]�۸�=��o'�VԷ�M�����PM�m+��$w����/ʲ,�X �Ù�p�H�E�j�)?��n�0M�Eyx,v0��wJH�4��D�0��]'Q�o�0]��L>>�{�F�0��$O��AT�a�.�{��ű��rf������3͎�����L]��<��ة�U#��D�~���J|%�4}��V��7����b�oRГ׆�O�MHk��[�cy��%4(m���)�lm{(.�0D �tS�O�n��n���y��VBY\��]�$vK��L�ԕhc]1�s�T߃ �k�$nK��&Q1m�{���?�x�B� m�T�-���=���Q�{/{S�<��@�iRץ=Ƞ��=��Y�M/KQ���j���L�����<��]� p���]��g�OTil��l�Y٭�ދ���4�9Ct� A�0�p9����jt���hM}FD��4��$������V����\7���J�4s����-Hnz���j֞f��@R�����>�@�$�/B�b�c�������'���RAĴ�<*�a�@�-O�G�+[�;P�@r(~n��ТU��އ�٣�����8�� 9��e��'���LȎGk�,�$��������M��rCS^̳�����7 +��%���OT��&�x>牱K�X�ۓ��q1)��x�G%N+�Zo�<N�ۼ/U�t�TRe(��S��.&)�F�Ҟ���L�_(���`�U4=�1U �$#���17�]?��hNt���(s�����O`�S���&���1]�=�����=�*CN�4��g��+� .$ht4DRn��(%R%�)0���3c8����S]1�,�Hʮ���AZb��]"��v`�� ����Uk(�Rk�b"Kx�N���'���������_�6!��Y����b��t��pD�1wcᅚ����O�(�9�*�Eo�p�U���;�����s��X�4Q�,r`�R`f��m�D�z�T��ܙ�p�s?Vy,�+�Z֦|fQ"3���a���F�l���0n�i��Ō�M�bJtݫ !�^��nuD���8asY�s)�خ���9�1Ӹ�#����K�_�E[v�t�Z���8ZUB@�$Ϊ�P�V����8�;� ;�`����6�{9IG&$��O� ��}��3q��C��y�ab,�!ن̜�N�Юc�$jRqTS Z�Վ�!W*OF����5�$EJڽ;w�#�8aa̾���Ou��ʹ� ����@��i��"ҠY��Ҍ��"�;F���نڳ��?��)�%�C� Z�W�]F���-6�L��<XRT�F�a�-:+b��{��q����9ڢS;w���S"Ff� �>�^���B �JJ�+^�F�/�PCw(�5V) lN*B��s j�.p�U����yq�ܸD9ӊf([�9ҕȡ�� ���vb�C�G�4�C�Ү:r<8�}^Y^��Ǻ������%&��7pĶ�f��Ă�XxPY�5?�d�/�e*H��S0�R,�p��xD*�'�cC�<G2�l�fp��3o������J�ї��I��C��l+ted�����_s��A+?�D�7#����#Bc�wہyow�ʟrF���X3x�Sl��,ޞ����m ��~�^�R��C��t�,�!>�\��:H�Pjs�P;��u�@����scш�c�7S�ؙ�]M"5z1��l +�����6�D��}k�݂��Ū�� TE7�r;�9VX/C�Er�����[���:�W�梓̴���Zn��Ƽ��0��Ό��`|�E2J�0["n>���&�/P�ӫ�!�d��/��-����\C�����÷���v�����XJB�f�����/�u0%}B�"]B*�DFl*�xJ-^ _+Sd2�-/E�"���A�ih����Q"��6rg�Ў7�v$3G:,��mWv�h�kKj$|-���p7��L�Q'�g�1��7P����7'��$�� +7�Q���JQ�UzK�7�c�r%����dMq�"G����y̹9���>vz��Ao[H!+7���!ڑ�����V�6��ss:qf�f&Y'���[�z�ƥ$8@q�3 3�_K���IYX�K��g�=ƥw�v:��?�<��K���)��n��3������R�K����?��D�7D���;*�,���3"��㿪� owi���{"�}w�|7nk��W�h#��H^t�c�VE�8���Êe�ȸ������t���To�?(��ZxϜ���:y�V79�p�d���v��H��T�P�ܳ�E[�=W|��<z�<�+\pr��q&Y�h�ԢhtjI����lN��4��~����Q�endstream endobj -4097 0 obj << +4091 0 obj << /Type /Page -/Contents 4098 0 R -/Resources 4096 0 R +/Contents 4092 0 R +/Resources 4090 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R +/Parent 4118 0 R >> endobj -4099 0 obj << -/D [4097 0 R /XYZ 71.731 729.2652 null] +4093 0 obj << +/D [4091 0 R /XYZ 71.731 729.2652 null] >> endobj 1804 0 obj << -/D [4097 0 R /XYZ 71.731 718.3063 null] +/D [4091 0 R /XYZ 71.731 718.3063 null] >> endobj 714 0 obj << -/D [4097 0 R /XYZ 320.8286 703.236 null] +/D [4091 0 R /XYZ 320.8286 703.236 null] >> endobj 1805 0 obj << -/D [4097 0 R /XYZ 71.731 692.1839 null] +/D [4091 0 R /XYZ 71.731 692.1839 null] >> endobj 718 0 obj << -/D [4097 0 R /XYZ 205.3041 651.1593 null] +/D [4091 0 R /XYZ 205.3041 651.1593 null] >> endobj -4100 0 obj << -/D [4097 0 R /XYZ 71.731 642.3364 null] +4094 0 obj << +/D [4091 0 R /XYZ 71.731 642.3364 null] >> endobj -4101 0 obj << -/D [4097 0 R /XYZ 506.4313 629.6001 null] +4095 0 obj << +/D [4091 0 R /XYZ 506.4313 629.6001 null] >> endobj -4102 0 obj << -/D [4097 0 R /XYZ 71.731 583.6077 null] +4096 0 obj << +/D [4091 0 R /XYZ 71.731 583.6077 null] >> endobj -4103 0 obj << -/D [4097 0 R /XYZ 472.2997 572.8131 null] +4097 0 obj << +/D [4091 0 R /XYZ 472.2997 572.8131 null] >> endobj 1806 0 obj << -/D [4097 0 R /XYZ 71.731 552.7235 null] +/D [4091 0 R /XYZ 71.731 552.7235 null] >> endobj 722 0 obj << -/D [4097 0 R /XYZ 317.5989 509.626 null] +/D [4091 0 R /XYZ 317.5989 509.626 null] +>> endobj +4098 0 obj << +/D [4091 0 R /XYZ 71.731 497.188 null] +>> endobj +4099 0 obj << +/D [4091 0 R /XYZ 71.731 462.164 null] +>> endobj +4100 0 obj << +/D [4091 0 R /XYZ 71.731 460.0072 null] +>> endobj +4101 0 obj << +/D [4091 0 R /XYZ 71.731 455.0258 null] +>> endobj +4102 0 obj << +/D [4091 0 R /XYZ 89.6638 434.2686 null] +>> endobj +4103 0 obj << +/D [4091 0 R /XYZ 165.4621 434.2686 null] >> endobj 4104 0 obj << -/D [4097 0 R /XYZ 71.731 497.188 null] +/D [4091 0 R /XYZ 255.7901 434.2686 null] >> endobj 4105 0 obj << -/D [4097 0 R /XYZ 71.731 462.164 null] +/D [4091 0 R /XYZ 431.2068 434.2686 null] >> endobj 4106 0 obj << -/D [4097 0 R /XYZ 71.731 460.0072 null] +/D [4091 0 R /XYZ 378.8166 421.3172 null] >> endobj 4107 0 obj << -/D [4097 0 R /XYZ 71.731 455.0258 null] +/D [4091 0 R /XYZ 71.731 419.1603 null] >> endobj 4108 0 obj << -/D [4097 0 R /XYZ 89.6638 434.2686 null] +/D [4091 0 R /XYZ 71.731 404.2164 null] >> endobj 4109 0 obj << -/D [4097 0 R /XYZ 165.4621 434.2686 null] +/D [4091 0 R /XYZ 76.7123 354.7667 null] >> endobj 4110 0 obj << -/D [4097 0 R /XYZ 255.7901 434.2686 null] +/D [4091 0 R /XYZ 71.731 334.8415 null] >> endobj 4111 0 obj << -/D [4097 0 R /XYZ 431.2068 434.2686 null] +/D [4091 0 R /XYZ 76.7123 259.0258 null] >> endobj 4112 0 obj << -/D [4097 0 R /XYZ 378.8166 421.3172 null] +/D [4091 0 R /XYZ 89.6638 241.093 null] >> endobj 4113 0 obj << -/D [4097 0 R /XYZ 71.731 419.1603 null] +/D [4091 0 R /XYZ 71.731 187.1305 null] >> endobj 4114 0 obj << -/D [4097 0 R /XYZ 71.731 404.2164 null] +/D [4091 0 R /XYZ 89.6638 171.3545 null] >> endobj 4115 0 obj << -/D [4097 0 R /XYZ 76.7123 354.7667 null] +/D [4091 0 R /XYZ 71.731 143.2948 null] >> endobj 4116 0 obj << -/D [4097 0 R /XYZ 71.731 334.8415 null] +/D [4091 0 R /XYZ 89.6638 127.5189 null] >> endobj 4117 0 obj << -/D [4097 0 R /XYZ 76.7123 259.0258 null] ->> endobj -4118 0 obj << -/D [4097 0 R /XYZ 89.6638 241.093 null] ->> endobj -4119 0 obj << -/D [4097 0 R /XYZ 71.731 187.1305 null] +/D [4091 0 R /XYZ 71.731 112.4107 null] >> endobj -4120 0 obj << -/D [4097 0 R /XYZ 89.6638 171.3545 null] +4090 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R /F33 1358 0 R >> +/ProcSet [ /PDF /Text ] >> endobj 4121 0 obj << -/D [4097 0 R /XYZ 71.731 143.2948 null] +/Length 3259 +/Filter /FlateDecode +>> +stream +xڝk�۶���_ByN<>EҝN�q�:�N���(�Ě"����뻋@����>���b_�����,��>Q�G�4Z���jS�^� +d�`66��w/n���U��h��{X%q��۴Xeq��i���v���ة��z������IT͞�_�ߪ�f������7w�hg~�拜%i�Gy��6Q�4��~��r?N��l ʬ h0���3����n�|e#�$�_Â^t��3�����:J�G�W䱺�F�=��4��շ4�k�_��xYW�g5t�4�s��=��o��P����R5�5��жJ������}���&ۇ����)l�S;ڧ��I��o���� #�H�DJE/<~dUMM��u\�iv�81!�a൝Q��� ��Vyh�fՐ��x���8`���fF�H�ZbIQj���: +���Hۂm���Q>6p�Z�ȱ�3�X'��^3C�\�I�)P�i�x�� �(��sE�D�D�u�ȏ���D�%rk=�G"��Z��F�oj%�T�N��~Y�)�Hlک����5���v�t��<�f���L����RI�*�ι <��zԎ��_��uo7t&L���<E�T��@ixt_�D�Q�nU�Q'Y�i:E�h@z|}@g +� �]�iZDݝ��0iv�%ф��9�L���@��㼡��*�]�j��������j��0�ާ����5���$��m���+9�r�!���&*ŀh��-�X�ƚ��zA~�a�'S�@Am"`'���6�����sD2:B�� }z}{[�)_m)����l�л�5��ߠ�|m��tf%��Z��S��cTB�'� _Fl)q���O5�i�{��d�tЀF��y-(,���g����;����{��NPO +8:���Ӊw��hR�)i���Gj=�@h�}�@ɩ'��&%�±�Q��U_�d�s!ȁ�'j�n�S�چ�h�>�~[�mL�A*w}d��|�}��i�����O*��N�����vO��E'*�+ DG֘���:KH�5�^�8l���@�f�Ō�E�z�q��$k;Í,|�8���P��:l�m���Aў��"�� �G�i�Q(�2�b�TD�� +�p���}?v�t� }C�Ǫ?(�i-�u�'c�>�T����D��i�'�f���Q�*�� ��)���7�!�l���W�?�6���7����q��m��D�m�Le@#߯IEm�~��-o��(B��7�c�T������naivL�8<���3G��m4�M�aG:�K�w���_�b.K�<�S�\��O����*���r�|�ZP����M�B��4 Ū��5/N�QZ:5�5��p�W�<���n�q Rj��o1DZ�$��z@��j�{���+M�&]�RI�y4ؕ��Y�$&���-�#�n�` -��X1v�e:5����F�����ama��ےa�.�7X#��r��e�i5����3+;Ƴ���q|�9�4'}oy��������<�O�Sז&Qvgs~4� ??pJ�º�ܩ`Xd��+G��K� +�Y�qP��9t���q�������Ɇk{y�'a�c�;���~'(6:�v��X��X�OBǗ7e�cО +:�Dp�D�};�:#j�3��� +#*sƍ<�>� }'^�I�:�>YE�R�/`0���J�&��,.����NP����ҭf%���G��;�(K�ҍ�m�znƳ�b�bRE>ú'�4 +��n�j#y<�#�dX�c( L�04%�3���I��Qc�yUr���w3r֛-AWF�\�Iq9����3Z�B�3Z���Όv��'8bLD���(��h�a)��&�A���!\��4�|2��-+�����܁)�̽Z#���D�Jq���7�%�Ė4 �b<�Q�8嶁,����(jܡ� 6�y��]��I���vأ��6| l"�_���J�X���� C�}�M�7`���ߧ�;�iW=�vxG�*A�+��Z|�iV�sB�N@�Ռ�ȡ�fiT��:oxΏT�^I��:u���,{�R+ˠ"k���[א�b�[���"���o�P(�x�[$��s��j���Q�-ٻuy�3'��<��yN�ǖV]����vlIK{]�)���a�l���6��k(d?Y����3�>g�-w��W?��U$��3�Ks?����/��1)��?uD�l��T�G!l�*l�eU�ˏ>.��UqƂS^����z����=��F�mY1�Y�9(�袝���6��Ž��m�q[Pĭ�p�eq;H>C�s��Y�4��{rI<��$��$�=����aZv�CQ�p\�m�q�_��6��j(�7[����3d;g�-[��W�TA�����}��M�n���C}o�y1�?�̟-ߍy�]�p���9���٫�ʑY,b�1�����]2�W�=�E�N��3#TAٗ^9,l�j�P(�|Y���P��Zm^�mc&��Z�-��Y��-�i49��,��;Dy'�%^���Rl�' P�N��%���F2�^�^d���W�e������ۮ"�ĺ�@� }���_8���<Zok�R�]k�Q}�����<C*r�F��~|� +����;ⶳ� �f�~C�{��,�f��p{Ų�9H>���,���f�#$棗�����b8��8I�5e�J*��O�xm�V�E�6Gs��x�w� +@��z��ݹ�?�|江�B|P@ʡ�9.��,j�E��xpjj��?(zxov�Ȏ�~:>+PlHR�^��^Ҙz,�����;�(e�l��մz&5�#�F�����>'�hN�9���b����8��3�u�053�W� ��P�w9)D�&����`Ƴ�ie|�[���I;��1 �d�t�9}�7��F�F�H�+FlA]0b %�x�)�E�F<��m�6� +Άޙƙo�ٴ +mq�BOV�jV�!'4�N8���b��+I��M-4�:�9��`��7�k�A `����ՎR�P?��&����̹��,��a��Nٴ��ĦO�=�ܾB��,9�' +�<�+�cA]� %�g���E��3��m=6��y��/ZP��u�!#H��� ��w��¹ɳ/'��^�I��8Z��QsC��f�붤l��)̴_�өF�����f��zI�6R6�N���u9�J�ӵ�B��&⸵��U~o��-�TN�Z��R}~M���,���-�9���t��"�o&�S��\8� �76��<��>k���O�~��$�t�o������Sendstream +endobj +4120 0 obj << +/Type /Page +/Contents 4121 0 R +/Resources 4119 0 R +/MediaBox [0 0 609.7136 789.0411] +/Parent 4118 0 R >> endobj 4122 0 obj << -/D [4097 0 R /XYZ 89.6638 127.5189 null] +/D [4120 0 R /XYZ 71.731 729.2652 null] >> endobj 4123 0 obj << -/D [4097 0 R /XYZ 71.731 112.4107 null] +/D [4120 0 R /XYZ 89.6638 708.3437 null] >> endobj -4096 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R /F33 1358 0 R >> -/ProcSet [ /PDF /Text ] +4124 0 obj << +/D [4120 0 R /XYZ 241.2196 708.3437 null] >> endobj -4126 0 obj << -/Length 3241 -/Filter /FlateDecode ->> -stream -xڝk�۶�ō���x|�r��q��u�N|i��t:��XS�B��\~}w��R�t����]����~�M�y�h�GY�T�����Z��m���_�}�7�E����M�~����<��" ���ݿ����Գn����K}��$�vOͯ��ouӔ������7��h�����9K��0�YG��������A�����$����ڀ3P�?�<���Y762Mr�5,�EWX8Í,|�WQ�=��"�ll��h�elG���ԎS���j��h��(�?�=��o��P����R��5����Ri��lr���i�?�&O�M��6:���} -@��-��I� -@��0�7i�H�腁ǎe�P���:&��;j�J!Wa��N�(����S�:p��Y�$�@3x ���;��(�ZK,�"J-��ۮ��@J��-��zc���U�K>��$��kGcH��=)? -> ���A0A��k�$�$R�cGvܒ2-�ȭ@���$Jk�'��B�6Jީ^�x�w�e��#�i�ޮ��(�����Pmu(�=�3m����+�ι <��fԎ��_��uo7t&L���<E�T�߀� �$辰�4�8�T�Q'y�iKt�р�����)|v4�tQ��&���e�9H�S-�&,��AgR�0 ]�z�FTc-�uu�&��ԔO -Z->�]_WCSv4L������j�&`-ɽ=�;j��)gb(�_a�V~TlY�*7�V���8E�$�� -j����R����A���?ip���뻻�L�j#���<����u�g�mW����I�����}��z��p�DUJ� -F0@;.����4�=�L��3�6H -�b��5��r�q�2\AwĚ������Ӊu��hL'��,AG�����1<*�N8�AX�_֊��Q2ƥ�.kNԒ�ŇR�:1��u��������xڱ�-�ѯ����÷ʯO ༠W^�FV�'�s��k D���:7H��3�.�6�r�a�p��b��"y=�8ca����F>¹�z|7T �8��x��[~<�E{�6h/N�<�xM@�B�@ˌ�"�TD�c -�p�����;C:q����c�f����:�Kc�>�T����:��i�'�g����P�*s� ���c��[�hW6t�@c�&��Ԇ���f��>���_��� �Ty���kR�D۩��̑3��lB��7�c�֢�����f�4; �k�S���3G���5�u�aG:�S0~�ZF�5.���/�"�̵��̙�"�䜉�+Ԃ��OUl�6��Ҁ�үּ8���RC��`���j�'�}ۭb8$AJ���-f6vu$\[�-R�to;Z|k%Gc�$�_ji:���V7��Ą�?�j8�� ��8�c�Z�S���Xn��f��V� ~�-IV쒑����M�)��ȖM�kN�KQgVl�g���q|�9�4'}oy���J��ߙ<�O�S�+�;��9?���8%�`]~�T0� -��wHN���F��K� -�Y�qP��9t���q��ىw��dõ�"�0�1��{C���ոWd��M��'��˛������N���`���Έ�r��UC�$*sƍ<�>� }'V�I�:�>Y��R�/`0���*�&��,.��KMP����ʭf%���G�Ǜ�(F�҅D?F=��YZ101��a�i�k`��H�<đA2,�1�&�}� -��l��I��Qc�yUr���w3r��73Z���6�3x&��� ���(j��ѺH^�h�Xpf�>�3`"d*�r�7�R��$~�1� .^ -��äA擁.i˪o�h�Q&8��Wk�Q`C�,�G�y`M]�LlI� *�[��Qn�b9�2�� -�('4oU���5+6;>�T�Jۆ�"�M�����B QKs7 �9aHbz����iB�Ll]�kL�����::Wa�_Qo��ˆ��t��J�fD�I�ҧ��x�s~�ڷI��ԩ�g��Z� -����[���b�[���M|�[-�ު�P@�:H>�[�,���f,�Z���M�qgN�E����-��� Hõ�ؒ����S,�=��&ɮ��6��k(d?Y����3�>g�-w��W?��U$��3�K?��������h��:"d6�y�����6qQ6Բ*����8c��� �~���r�b�p����#R^ե J���ct�NY�*K�eqg�-�"nꂸ5�"[���3�=g�-n��O��XvO.�'����L�P�cP�1_A�e��:e� �e٦�'ŕhnC]���B~�e�:H>C�sܲ�YxeNe�?p�my)o:v�W�{̋K��_���1/~�����$�3_:{�}C92�E�n̥��zs���h_�T���3#TAٗ^9,l�j�P(�bY���P��Zm^�mc&�OY����_��4���q��������*[��Rl�' P�N��� -��[�� �zTiY@�*�L��� :�n!bM��N#�2��ۚ�Z|ǭ;������2!�nd�[��YA��03Ď����G����Ɛ�^6;��i(��f��$�avs�fg����ˍd���y1�q�$����]-�?�ُ�a���Z+������\�=X�܇������C�;WT��ᦸ ��O7�B|P@kʡ�9.��,j�E��xpjj��?V�(zxov�Ȏ3?�(6$��R��u/iL=RGV��d���N2tx5-�<6���Q+�h�oI��y4��'М�W��o�9�u�a%кU��S�)|xd�л��S�/�i0���2>�-������똆\�^�ܜ�?��e#N#h$�#��.���F����#���6b���] gC����,��B�-��@��jV��ᄦ� G�S�t%)��Z'0�ϫ��Fv��e �������Q*�g��d5�g�9wT���96�)�V�����S��+��˒�z��/� �b=���P�z��]4�a=s��c��I��_آm� �.0d�dw��_�pn�����a�88��hz�\Ӵ�Y��m�+�6:��L�ey:5HX�|!���/Z/)�F@ʦ�۩w|�.GX�r:�-Dmnb!�[k�[����J�d�j7���k��gѕ�o��#�H��+��fb<�;����#�?b��/�ls�O�̹��Q�g)�=J���a��a��endstream -endobj 4125 0 obj << -/Type /Page -/Contents 4126 0 R -/Resources 4124 0 R -/MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R +/D [4120 0 R /XYZ 417.1824 695.3923 null] +>> endobj +4126 0 obj << +/D [4120 0 R /XYZ 71.731 688.2541 null] +>> endobj +1807 0 obj << +/D [4120 0 R /XYZ 71.731 657.3699 null] +>> endobj +726 0 obj << +/D [4120 0 R /XYZ 252.0091 614.2725 null] >> endobj 4127 0 obj << -/D [4125 0 R /XYZ 71.731 729.2652 null] +/D [4120 0 R /XYZ 71.731 601.8345 null] >> endobj 4128 0 obj << -/D [4125 0 R /XYZ 89.6638 708.3437 null] +/D [4120 0 R /XYZ 71.731 579.7619 null] >> endobj 4129 0 obj << -/D [4125 0 R /XYZ 241.2196 708.3437 null] +/D [4120 0 R /XYZ 71.731 551.7022 null] >> endobj 4130 0 obj << -/D [4125 0 R /XYZ 417.1824 695.3923 null] +/D [4120 0 R /XYZ 71.731 546.7209 null] >> endobj 4131 0 obj << -/D [4125 0 R /XYZ 71.731 688.2541 null] ->> endobj -1807 0 obj << -/D [4125 0 R /XYZ 71.731 657.3699 null] ->> endobj -726 0 obj << -/D [4125 0 R /XYZ 252.0091 614.2725 null] +/D [4120 0 R /XYZ 89.6638 525.9636 null] >> endobj 4132 0 obj << -/D [4125 0 R /XYZ 71.731 601.8345 null] +/D [4120 0 R /XYZ 89.6638 525.9636 null] >> endobj 4133 0 obj << -/D [4125 0 R /XYZ 71.731 579.7619 null] +/D [4120 0 R /XYZ 89.6638 495.0794 null] >> endobj 4134 0 obj << -/D [4125 0 R /XYZ 71.731 551.7022 null] +/D [4120 0 R /XYZ 71.731 495.0794 null] >> endobj 4135 0 obj << -/D [4125 0 R /XYZ 71.731 546.7209 null] +/D [4120 0 R /XYZ 71.731 383.8477 null] >> endobj 4136 0 obj << -/D [4125 0 R /XYZ 89.6638 525.9636 null] +/D [4120 0 R /XYZ 89.6638 365.9149 null] >> endobj 4137 0 obj << -/D [4125 0 R /XYZ 89.6638 525.9636 null] +/D [4120 0 R /XYZ 89.6638 365.9149 null] >> endobj 4138 0 obj << -/D [4125 0 R /XYZ 89.6638 495.0794 null] +/D [4120 0 R /XYZ 71.731 337.8552 null] >> endobj 4139 0 obj << -/D [4125 0 R /XYZ 71.731 495.0794 null] +/D [4120 0 R /XYZ 89.6638 322.0793 null] >> endobj 4140 0 obj << -/D [4125 0 R /XYZ 71.731 383.8477 null] +/D [4120 0 R /XYZ 89.6638 322.0793 null] >> endobj 4141 0 obj << -/D [4125 0 R /XYZ 89.6638 365.9149 null] +/D [4120 0 R /XYZ 71.731 319.9225 null] >> endobj 4142 0 obj << -/D [4125 0 R /XYZ 89.6638 365.9149 null] +/D [4120 0 R /XYZ 89.6638 304.1466 null] >> endobj 4143 0 obj << -/D [4125 0 R /XYZ 71.731 337.8552 null] +/D [4120 0 R /XYZ 89.6638 304.1466 null] >> endobj 4144 0 obj << -/D [4125 0 R /XYZ 89.6638 322.0793 null] +/D [4120 0 R /XYZ 71.731 301.9897 null] >> endobj 4145 0 obj << -/D [4125 0 R /XYZ 89.6638 322.0793 null] +/D [4120 0 R /XYZ 89.6638 286.2138 null] >> endobj 4146 0 obj << -/D [4125 0 R /XYZ 71.731 319.9225 null] +/D [4120 0 R /XYZ 89.6638 286.2138 null] >> endobj 4147 0 obj << -/D [4125 0 R /XYZ 89.6638 304.1466 null] +/D [4120 0 R /XYZ 71.731 284.057 null] >> endobj 4148 0 obj << -/D [4125 0 R /XYZ 89.6638 304.1466 null] +/D [4120 0 R /XYZ 89.6638 268.2811 null] >> endobj 4149 0 obj << -/D [4125 0 R /XYZ 71.731 301.9897 null] +/D [4120 0 R /XYZ 89.6638 268.2811 null] >> endobj 4150 0 obj << -/D [4125 0 R /XYZ 89.6638 286.2138 null] +/D [4120 0 R /XYZ 71.731 266.1242 null] >> endobj 4151 0 obj << -/D [4125 0 R /XYZ 89.6638 286.2138 null] +/D [4120 0 R /XYZ 89.6638 250.3483 null] >> endobj 4152 0 obj << -/D [4125 0 R /XYZ 71.731 284.057 null] +/D [4120 0 R /XYZ 89.6638 250.3483 null] >> endobj 4153 0 obj << -/D [4125 0 R /XYZ 89.6638 268.2811 null] +/D [4120 0 R /XYZ 71.731 248.1915 null] >> endobj 4154 0 obj << -/D [4125 0 R /XYZ 89.6638 268.2811 null] +/D [4120 0 R /XYZ 89.6638 232.4156 null] >> endobj 4155 0 obj << -/D [4125 0 R /XYZ 71.731 266.1242 null] +/D [4120 0 R /XYZ 89.6638 232.4156 null] >> endobj 4156 0 obj << -/D [4125 0 R /XYZ 89.6638 250.3483 null] +/D [4120 0 R /XYZ 71.731 217.3073 null] >> endobj 4157 0 obj << -/D [4125 0 R /XYZ 89.6638 250.3483 null] +/D [4120 0 R /XYZ 89.6638 201.5314 null] >> endobj 4158 0 obj << -/D [4125 0 R /XYZ 71.731 248.1915 null] +/D [4120 0 R /XYZ 89.6638 201.5314 null] >> endobj 4159 0 obj << -/D [4125 0 R /XYZ 89.6638 232.4156 null] +/D [4120 0 R /XYZ 71.731 199.3745 null] >> endobj 4160 0 obj << -/D [4125 0 R /XYZ 89.6638 232.4156 null] +/D [4120 0 R /XYZ 89.6638 183.5986 null] >> endobj 4161 0 obj << -/D [4125 0 R /XYZ 71.731 217.3073 null] +/D [4120 0 R /XYZ 89.6638 183.5986 null] >> endobj 4162 0 obj << -/D [4125 0 R /XYZ 89.6638 201.5314 null] +/D [4120 0 R /XYZ 71.731 168.4904 null] >> endobj 4163 0 obj << -/D [4125 0 R /XYZ 89.6638 201.5314 null] +/D [4120 0 R /XYZ 89.6638 152.7144 null] >> endobj 4164 0 obj << -/D [4125 0 R /XYZ 71.731 199.3745 null] +/D [4120 0 R /XYZ 89.6638 152.7144 null] >> endobj 4165 0 obj << -/D [4125 0 R /XYZ 89.6638 183.5986 null] +/D [4120 0 R /XYZ 71.731 137.6062 null] >> endobj 4166 0 obj << -/D [4125 0 R /XYZ 89.6638 183.5986 null] +/D [4120 0 R /XYZ 89.6638 121.8302 null] >> endobj 4167 0 obj << -/D [4125 0 R /XYZ 71.731 168.4904 null] +/D [4120 0 R /XYZ 89.6638 121.8302 null] >> endobj 4168 0 obj << -/D [4125 0 R /XYZ 89.6638 152.7144 null] ->> endobj -4169 0 obj << -/D [4125 0 R /XYZ 89.6638 152.7144 null] ->> endobj -4170 0 obj << -/D [4125 0 R /XYZ 71.731 137.6062 null] ->> endobj -4171 0 obj << -/D [4125 0 R /XYZ 89.6638 121.8302 null] ->> endobj -4172 0 obj << -/D [4125 0 R /XYZ 89.6638 121.8302 null] ->> endobj -4173 0 obj << -/D [4125 0 R /XYZ 71.731 106.722 null] +/D [4120 0 R /XYZ 71.731 106.722 null] >> endobj -4124 0 obj << +4119 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4177 0 obj << +4172 0 obj << /Length 2280 /Filter /FlateDecode >> @@ -17323,149 +17268,148 @@ ZT �㞊�J=�JR�AI7�=Ԙ�ў�V $�6ޚ ��]���,�o�51�g� ��ʖ��U�Oق��I�lɶ)�����"F�e��R�w��J;Lz�a\<�;� ���0�}���ި:/��]�Җ@w�+�n�4�F�?��!�m�����4��Ff[sx��� ��Q����l�^��7�.��o��3�Z�������&� :`����ꎬ�i7v���-0�O�+��S�h��f�-���x��m�So�!8��p�X�6S��P��w�Q�}�~}A��қV�"��W�<���eK��C���<_��cn-O1�m6%�y]�E�y%��si=�d.���% K钌On64�E�ꩊ0�t��q3Di�'�~�CG��8��pCS������*}�� �S�� ���� *E.mř�toލ:�����<�Hd�@D:��v���A� �P��<�>>���w��_N*��Y%|%}�Vth�0`� ��4���Ѵt>�WZ%ЗU�P멦�6��T����pʼn�4{hh��>�i@G;�Eߕ)>�������TuoP����ȣ��% -��Q��,p?� T�)٩k����Pn���Up!,�c~���!�MD�B�@U��L��V�_"�Y���2�}���`ߪk�^�@F��p�b�� pn0F3?Z�#H�\v�Y��ܫov�7�øk�� 6u-����8ԕ=Z1k7��v4J��m����r�r�Yl���7p5����L�<�����6/+��E��ޗ���3\�E����}~�&ζ5D��_[�{�����#�t�,�@c���q��v�?�(�oO(�� �.�3:�9 �"L�dٰ�'N����`�?�97�endstream +��Q��,p?� T�)٩k����Pn���Up!,�c~���!�MD�B�@U��L��V�_"�Y���2�}���`ߪk�^�@F��p�b�� pn0F3?Z�#H�\v�Y��ܫov�7�øk�� 6u-����8ԕ=Z1k7��v4J��m����r�r�Yl���7p5����L�<�����6/+��E��ޗ���3\�E����}~�&ζ5D��_[�{�����#�t�,�@c���q��v�?�(�oO(�� �.�3:�9 �"L`�O��P?q|�O���57�endstream endobj -4176 0 obj << +4171 0 obj << /Type /Page -/Contents 4177 0 R -/Resources 4175 0 R +/Contents 4172 0 R +/Resources 4170 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R -/Annots [ 4206 0 R ] +/Parent 4118 0 R +/Annots [ 4201 0 R ] >> endobj -4206 0 obj << +4201 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [422.6692 343.5385 466.8026 354.4424] /Subtype /Link /A << /S /GoTo /D (lifecycle-image) >> >> endobj -4178 0 obj << -/D [4176 0 R /XYZ 71.731 729.2652 null] +4173 0 obj << +/D [4171 0 R /XYZ 71.731 729.2652 null] >> endobj 1809 0 obj << -/D [4176 0 R /XYZ 71.731 741.2204 null] +/D [4171 0 R /XYZ 71.731 741.2204 null] +>> endobj +4174 0 obj << +/D [4171 0 R /XYZ 89.6638 708.3437 null] +>> endobj +4175 0 obj << +/D [4171 0 R /XYZ 89.6638 708.3437 null] +>> endobj +4176 0 obj << +/D [4171 0 R /XYZ 71.731 680.284 null] +>> endobj +4177 0 obj << +/D [4171 0 R /XYZ 89.6638 664.5081 null] +>> endobj +4178 0 obj << +/D [4171 0 R /XYZ 89.6638 664.5081 null] >> endobj 4179 0 obj << -/D [4176 0 R /XYZ 89.6638 708.3437 null] +/D [4171 0 R /XYZ 71.731 662.3513 null] >> endobj 4180 0 obj << -/D [4176 0 R /XYZ 89.6638 708.3437 null] +/D [4171 0 R /XYZ 89.6638 646.5753 null] >> endobj 4181 0 obj << -/D [4176 0 R /XYZ 71.731 680.284 null] +/D [4171 0 R /XYZ 89.6638 646.5753 null] >> endobj 4182 0 obj << -/D [4176 0 R /XYZ 89.6638 664.5081 null] +/D [4171 0 R /XYZ 71.731 644.4185 null] >> endobj 4183 0 obj << -/D [4176 0 R /XYZ 89.6638 664.5081 null] +/D [4171 0 R /XYZ 89.6638 628.6426 null] >> endobj 4184 0 obj << -/D [4176 0 R /XYZ 71.731 662.3513 null] +/D [4171 0 R /XYZ 89.6638 628.6426 null] >> endobj 4185 0 obj << -/D [4176 0 R /XYZ 89.6638 646.5753 null] +/D [4171 0 R /XYZ 206.4347 615.6911 null] >> endobj 4186 0 obj << -/D [4176 0 R /XYZ 89.6638 646.5753 null] +/D [4171 0 R /XYZ 335.6388 615.6911 null] >> endobj 4187 0 obj << -/D [4176 0 R /XYZ 71.731 644.4185 null] +/D [4171 0 R /XYZ 71.731 613.5343 null] >> endobj 4188 0 obj << -/D [4176 0 R /XYZ 89.6638 628.6426 null] +/D [4171 0 R /XYZ 71.731 539.8663 null] >> endobj 4189 0 obj << -/D [4176 0 R /XYZ 89.6638 628.6426 null] +/D [4171 0 R /XYZ 89.6638 524.0903 null] >> endobj 4190 0 obj << -/D [4176 0 R /XYZ 206.4347 615.6911 null] +/D [4171 0 R /XYZ 89.6638 524.0903 null] >> endobj 4191 0 obj << -/D [4176 0 R /XYZ 335.6388 615.6911 null] +/D [4171 0 R /XYZ 71.731 496.0306 null] >> endobj 4192 0 obj << -/D [4176 0 R /XYZ 71.731 613.5343 null] +/D [4171 0 R /XYZ 89.6638 480.2547 null] >> endobj 4193 0 obj << -/D [4176 0 R /XYZ 71.731 539.8663 null] +/D [4171 0 R /XYZ 89.6638 480.2547 null] >> endobj 4194 0 obj << -/D [4176 0 R /XYZ 89.6638 524.0903 null] +/D [4171 0 R /XYZ 71.731 465.1465 null] >> endobj 4195 0 obj << -/D [4176 0 R /XYZ 89.6638 524.0903 null] ->> endobj -4196 0 obj << -/D [4176 0 R /XYZ 71.731 496.0306 null] ->> endobj -4197 0 obj << -/D [4176 0 R /XYZ 89.6638 480.2547 null] ->> endobj -4198 0 obj << -/D [4176 0 R /XYZ 89.6638 480.2547 null] ->> endobj -4199 0 obj << -/D [4176 0 R /XYZ 71.731 465.1465 null] ->> endobj -4200 0 obj << -/D [4176 0 R /XYZ 89.6638 449.3705 null] +/D [4171 0 R /XYZ 89.6638 449.3705 null] >> endobj -4201 0 obj << -/D [4176 0 R /XYZ 89.6638 449.3705 null] +4196 0 obj << +/D [4171 0 R /XYZ 89.6638 449.3705 null] >> endobj -4202 0 obj << -/D [4176 0 R /XYZ 71.731 447.2137 null] +4197 0 obj << +/D [4171 0 R /XYZ 71.731 447.2137 null] >> endobj -4203 0 obj << -/D [4176 0 R /XYZ 89.6638 431.4378 null] +4198 0 obj << +/D [4171 0 R /XYZ 89.6638 431.4378 null] >> endobj -4204 0 obj << -/D [4176 0 R /XYZ 89.6638 431.4378 null] +4199 0 obj << +/D [4171 0 R /XYZ 89.6638 431.4378 null] >> endobj 1808 0 obj << -/D [4176 0 R /XYZ 71.731 411.3482 null] +/D [4171 0 R /XYZ 71.731 411.3482 null] >> endobj 730 0 obj << -/D [4176 0 R /XYZ 259.6867 368.2507 null] +/D [4171 0 R /XYZ 259.6867 368.2507 null] >> endobj -4205 0 obj << -/D [4176 0 R /XYZ 71.731 355.8127 null] +4200 0 obj << +/D [4171 0 R /XYZ 71.731 355.8127 null] >> endobj -4207 0 obj << -/D [4176 0 R /XYZ 459.2619 333.7401 null] +4202 0 obj << +/D [4171 0 R /XYZ 459.2619 333.7401 null] >> endobj -4208 0 obj << -/D [4176 0 R /XYZ 220.2621 320.7887 null] +4203 0 obj << +/D [4171 0 R /XYZ 220.2621 320.7887 null] >> endobj 2016 0 obj << -/D [4176 0 R /XYZ 71.731 318.6319 null] +/D [4171 0 R /XYZ 71.731 318.6319 null] >> endobj -4175 0 obj << +4170 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4211 0 obj << -/Length 1040 +4206 0 obj << +/Length 1035 /Filter /FlateDecode >> stream -xڅVM��6��W{r�D�$[���m����=m���F�5�����We���L1�����G��E���� �$�v`9a"aA�n��b�~�Po��6��ѧ���� '�`"8���s�E�)g$Kh�?�+9�Jo�,�������O��ߺi���㯛���ӄ�$�,����؊�e���1�\_&��Y�<�=��~�Ϫ��_��8�;��잺w�#ˈ�(x -""�3X�ϻ��i縜���<|ii�S��}�̬߫}��hJM�U�,�IDs��O��F��_��[�ŖFa����3�z���8-r�:�(�3J�$��X�#ギ�fࠨ@��A^�Mmp�Mug�$d�Uϕ� -7^� u��P�+�XW�lu4 �89s��O��������Vu���q�#ҳ��֠���{�h��x)#yB�m)��U�k�-���g�9� ����\�J��#��ы�8|<ٕe��sGzW���Z��D�OZvEux���nE��R����+��/�b�Xr2��J��u����A�F5�}����m�$�Y��y�ޘ��x��,�I9��H6 -��q��Aܪ)�gH������JoT*S���J�>�P��"�����������[���z��vj�zp�dw��UL�N~7��* N���ꍚ���b]BvE�qҝG�A��� -5����g�>�G��BŻ���w�5���!���g/���������n�-���������h��������_�{��-���=-;�ۡ�Z��k�1�+��=�AS�ӯ+�ҫ���=W�����Z���-q;4�u-�0����8{�Q���"_��� ����Q�K��&�圅�+�9 ?��a*��A9�h3H-[��(ܡ��ZyE��:/j����z� v>���[o1��5J�Sc�/w�4�I�Y��s`�گ�����l�F����%0�\*��u�8�D��Og��: ��d��7t�GB���ln�67������e���;$�HFE���ne��a��� ���E����������endstream +xڅVM��6��W{r�D�$K���m����=m���F�5�����We���L1�����G��E���� �$�v`aR��h7Qp�K�l�7�{�����qs��y��L2�A�9�RdA�IM�c�g�c����=Q(��L�]P�4]���&��}�u��qq*xB��"��l�z�����QF)�1O���e�[��ʓ�SO����k�����c~�x��S��xdq�OAD�t���y��<m��E���×�?���7�����ڗ���&�Q��g"&͘_��$ ��\oY[�fƪϠ�5Nl�����\�`�("��X�#㒮�fࠨ@��!�x���8Λ���H�W=WJ+�x�'�y��_Qĺe��"����m^�>��^�;��o[��3�!��5����7��G=�K�.��R0W3����[j�0s�A����s=V(�#��G/����ph�(�����;һ�����X��I��V����,��%�,yIK��1) U�A��Q�����dhT�����V�� +�c��ԧ��}�弙�J^��A��.;�31X5��p�8��w^�Je +]�T�է��;�S�6q1�}XrT�$4}�P�]�p�N�=TJz�]ŜZ��w�٨���_�ިy�Q.cW�'�yd���;�P3���x�Op���xT�-�����|i\�����A]��p�r�ҿx�nA�������A�Lo/ɘ�]@=`�xX�?��S�`����0W��eG=u;�\O3tm5&�����Fh�4��וa�U��͞�z��\c�[�a�^������K�K�C�^cT�#�����z��ix��R�~ d9g��#v_N��w� +�mP����[��(ܡ۱�����u^�(h �ly`�[��b2Jj�����2���4 h�$�£w�b�_��p��z�Gs�K`��T�ճ�q�({��b�?t���d?�7t�GB���^Kn�47�������1�H������'�����N��HA���e��S�����X��endstream endobj -4210 0 obj << +4205 0 obj << /Type /Page -/Contents 4211 0 R -/Resources 4209 0 R +/Contents 4206 0 R +/Resources 4204 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4078 0 R -/Annots [ 4219 0 R ] +/Parent 4118 0 R +/Annots [ 4214 0 R ] >> endobj -4174 0 obj << +4169 0 obj << /Type /XObject /Subtype /Image /Width 496 @@ -17660,46 +17604,46 @@ m �Z��ͩb�7'�������e˖ <�y���I�������������o�ᐁA�`�5������Ŋcƌ�С�����C�>}��'N�P؟����˫T������������;u��[�j��Jx��͛���?�������{s�(%�̴i�&(((::�ԩS���`�С�螌���� F}}�gϞ{sggg_�vm�����Ǐ���oK�T�O����²X�x1 ���ƺ��*�����L﵌ϕ���������5�����t߾}111,�������۹sg�������y!^��֭����}Μ9�6mB:/_�d��AX���A���99d|�*>���211�r~�ҥ������Y<�x���ݻW�^E�����w�y�ʕ+�!�iCCCG�5h� �� jww�� V�ZUbcIA��;88xyy�1b���[�no?}���q 55�����G����\>_�zu�2e��:y5����F�P�������r}�ڵP�A����S_dR�ABB���18�E���Q���9�Ű�09uf~$+++;;����7i����������oȐ!cƌA����K�.�믿�Z��>|� ��4������CJJ��� )���y�����;v���|�<((�v��������� 7��Č��A3������N�x�Ố�+(����gB�P�������endstream endobj -4219 0 obj << +4214 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [459.3526 141.6358 524.0572 152.5397] /Subtype /Link /A << /S /GoTo /D (savedsearches) >> >> endobj -4212 0 obj << -/D [4210 0 R /XYZ 71.731 729.2652 null] +4207 0 obj << +/D [4205 0 R /XYZ 71.731 729.2652 null] >> endobj -4213 0 obj << -/D [4210 0 R /XYZ 71.731 741.2204 null] +4208 0 obj << +/D [4205 0 R /XYZ 71.731 741.2204 null] >> endobj -4214 0 obj << -/D [4210 0 R /XYZ 71.731 696.3587 null] +4209 0 obj << +/D [4205 0 R /XYZ 71.731 696.3587 null] >> endobj 734 0 obj << -/D [4210 0 R /XYZ 263.1645 254.0192 null] +/D [4205 0 R /XYZ 263.1645 254.0192 null] >> endobj -4215 0 obj << -/D [4210 0 R /XYZ 71.731 241.5812 null] +4210 0 obj << +/D [4205 0 R /XYZ 71.731 241.5812 null] >> endobj -4216 0 obj << -/D [4210 0 R /XYZ 245.7962 219.5086 null] +4211 0 obj << +/D [4205 0 R /XYZ 245.7962 219.5086 null] >> endobj -4217 0 obj << -/D [4210 0 R /XYZ 71.731 212.3705 null] +4212 0 obj << +/D [4205 0 R /XYZ 71.731 212.3705 null] >> endobj -4218 0 obj << -/D [4210 0 R /XYZ 71.731 168.5349 null] +4213 0 obj << +/D [4205 0 R /XYZ 71.731 168.5349 null] >> endobj 1810 0 obj << -/D [4210 0 R /XYZ 71.731 131.7379 null] +/D [4205 0 R /XYZ 71.731 131.7379 null] >> endobj -4209 0 obj << +4204 0 obj << /Font << /F33 1358 0 R /F32 1266 0 R /F23 1250 0 R /F27 1258 0 R >> -/XObject << /Im1 4174 0 R >> +/XObject << /Im1 4169 0 R >> /ProcSet [ /PDF /Text /ImageC ] >> endobj -4222 0 obj << +4217 0 obj << /Length 2275 /Filter /FlateDecode >> @@ -17708,128 +17652,128 @@ xڭێ b�Iuc�܌��ã p�,��F'���_P�W������jד�M�K�1U��2��?|?Tu9�A.�0��o�cq�d��%^��>X0�x�i,d&���I���V�(q�Jf�AE�S���J���X8���v8�me+g�đ�}�����3<�D�a�0��5�Z8-?6�㒀˗v�M�Ǜ��K}l4��_�VL�2!�r߃/>�ZeY�o5�6��hR�Om�n��ѿa��m=�6�T�Jj�䂁�Hs�&�6�8��2�>��K���f�|���j�����*��vSuT�i��֘=_��,�8;RP��;��|��"H2��]6F��"]�&����dB��#8e�'�,����V���g�Hr�N��i�^F�ͼ���ň;3H���6�y'��#�O%DћF!�7�E��gX�È�2�q,��(G��1 A�\^ۑrg�i�BLu6��YPB�oZp�t߂��a�^�0o��]xg@��C����+�Qi�y���롲��P��6)�F��n1� �^� 56����~�� |�Z�V{n1��F\�}6]_�����/�D�f������L�O"��[H���r04jE&Ԃ`C�� O-6T�������~7!o�E�t�ΰ��yZH�O�NݎX��3���"����k���s>0�Z���ג��@^�H����[����X@!��������j���84`���+��T߆�o�p����\�I�r8�\��kZ����|h�@�؉A,���[��Ŷw0S�N����Rxm9��ptj�]qҪ�j;����'43�����0�L��)j���x����P��F"x�\!n�N1ގ ԍې��15S�N��"�+t�ڨ+-��RM?e�v#&���y/��ĺ��O�N۷٣�)[��H;[e�,6�$Z�N�)]��/{{�UAEikԖ&��S��N��Fg=Р?�c`���Dæ8*U�+�p&���(���t;�r`&��K9����/�᷂f��@.�7��fޒ�#O��0�5�9��k�&55��ևa���:��䨎�U�fO~S̐��T�ji3�L�^����5/f���U4��0;�I�8�q�=�. ����l��麦2��+���z �;���֝��y��W[�C�F��5����]`�B Z��}G_r7X(잵��rBk�k/fΙ�ٸxdl3���CK���$�Q��!2 �=j�8\p��x3��3U(�"��,��"�����$>���ھl_����߯�X��k\A~14e�������t��a�/9��F�9�$�f���)�" �?�`�\c$,��x,�3[wi�ceS�; |lj� ���q�O��$��G[�ڗ�w��j��ɭȥV,.��ec�x��J�L��?=������d#}���GU~{��U�HGF����� -�bqǂNk�˱��ɵf�����E�;h}-����KEY�o�z���,�Տ�e��#����o&��Ť0�6)�.&��5�4E�� M1�Fotɴ�̄Kcf���͎�do�̌����4�Z��hk�5�1t<0�9(�U:�����%?��.9�O5W�f��'(�:~�ۂEsu��bU�ؾw"&?���˯V�e4��^q4*sio�|��*-��Ӏ9R���JusW>�a�}g:9�qZ(P�a�[���;8N%���^ /_l)Z���C�;���j�2{�7n��q��>8�-�_=6�x���IW��ڜI�Q�c./FiG:��e"���7����If����VI��?w�0�o�!kendstream +�bqǂNk�˱��ɵf�����E�;h}-����KEY�o�z���,�Տ�e��#����o&��Ť0�6)�.&��5�4E�� M1�Fotɴ�̄Kcf���͎�do�̌����4�Z��hk�5�1t<0�9(�U:�����%?��.9�O5W�f��'(�:~�ۂEsu��bU�ؾw"&?���˯V�e4��^q4*sio�|��*-��Ӏ9R���JusW>�a�}g:9�qZ(P�a�[���;8N%���^ /_l)Z���C�;���j�2{�7n��q��>8�-�_=6�x���IW��ڜI�Q�c./FiG:��e"���7����If����VI��?w�0�q!rendstream endobj -4221 0 obj << +4216 0 obj << /Type /Page -/Contents 4222 0 R -/Resources 4220 0 R +/Contents 4217 0 R +/Resources 4215 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R +/Parent 4118 0 R >> endobj -4223 0 obj << -/D [4221 0 R /XYZ 71.731 729.2652 null] +4218 0 obj << +/D [4216 0 R /XYZ 71.731 729.2652 null] >> endobj 738 0 obj << -/D [4221 0 R /XYZ 217.9167 707.8408 null] +/D [4216 0 R /XYZ 217.9167 707.8408 null] +>> endobj +4219 0 obj << +/D [4216 0 R /XYZ 71.731 700.4885 null] +>> endobj +4220 0 obj << +/D [4216 0 R /XYZ 71.731 651.7512 null] +>> endobj +4221 0 obj << +/D [4216 0 R /XYZ 427.5857 638.8993 null] +>> endobj +4222 0 obj << +/D [4216 0 R /XYZ 113.3184 625.9479 null] +>> endobj +4223 0 obj << +/D [4216 0 R /XYZ 205.0794 625.9479 null] >> endobj 4224 0 obj << -/D [4221 0 R /XYZ 71.731 700.4885 null] +/D [4216 0 R /XYZ 71.731 605.8583 null] >> endobj 4225 0 obj << -/D [4221 0 R /XYZ 71.731 651.7512 null] +/D [4216 0 R /XYZ 71.731 594.9642 null] >> endobj 4226 0 obj << -/D [4221 0 R /XYZ 427.5857 638.8993 null] +/D [4216 0 R /XYZ 71.731 589.9829 null] >> endobj 4227 0 obj << -/D [4221 0 R /XYZ 113.3184 625.9479 null] +/D [4216 0 R /XYZ 81.6937 567.1683 null] >> endobj 4228 0 obj << -/D [4221 0 R /XYZ 205.0794 625.9479 null] +/D [4216 0 R /XYZ 81.6937 567.1683 null] >> endobj 4229 0 obj << -/D [4221 0 R /XYZ 71.731 605.8583 null] +/D [4216 0 R /XYZ 71.731 565.0115 null] >> endobj 4230 0 obj << -/D [4221 0 R /XYZ 71.731 594.9642 null] +/D [4216 0 R /XYZ 81.6937 549.2356 null] >> endobj 4231 0 obj << -/D [4221 0 R /XYZ 71.731 589.9829 null] +/D [4216 0 R /XYZ 81.6937 549.2356 null] >> endobj 4232 0 obj << -/D [4221 0 R /XYZ 81.6937 567.1683 null] +/D [4216 0 R /XYZ 71.731 547.0787 null] >> endobj 4233 0 obj << -/D [4221 0 R /XYZ 81.6937 567.1683 null] +/D [4216 0 R /XYZ 81.6937 531.3028 null] >> endobj 4234 0 obj << -/D [4221 0 R /XYZ 71.731 565.0115 null] +/D [4216 0 R /XYZ 81.6937 531.3028 null] +>> endobj +1811 0 obj << +/D [4216 0 R /XYZ 71.731 529.146 null] +>> endobj +742 0 obj << +/D [4216 0 R /XYZ 236.9017 496.8321 null] >> endobj 4235 0 obj << -/D [4221 0 R /XYZ 81.6937 549.2356 null] +/D [4216 0 R /XYZ 71.731 490.7051 null] >> endobj 4236 0 obj << -/D [4221 0 R /XYZ 81.6937 549.2356 null] +/D [4216 0 R /XYZ 71.731 418.9592 null] +>> endobj +1812 0 obj << +/D [4216 0 R /XYZ 71.731 362.1721 null] +>> endobj +746 0 obj << +/D [4216 0 R /XYZ 166.0799 328.862 null] >> endobj 4237 0 obj << -/D [4221 0 R /XYZ 71.731 547.0787 null] +/D [4216 0 R /XYZ 71.731 320.2245 null] >> endobj 4238 0 obj << -/D [4221 0 R /XYZ 81.6937 531.3028 null] +/D [4216 0 R /XYZ 344.894 309.933 null] >> endobj 4239 0 obj << -/D [4221 0 R /XYZ 81.6937 531.3028 null] ->> endobj -1811 0 obj << -/D [4221 0 R /XYZ 71.731 529.146 null] ->> endobj -742 0 obj << -/D [4221 0 R /XYZ 236.9017 496.8321 null] +/D [4216 0 R /XYZ 71.731 295.821 null] >> endobj 4240 0 obj << -/D [4221 0 R /XYZ 71.731 490.7051 null] +/D [4216 0 R /XYZ 155.2771 273.3701 null] >> endobj 4241 0 obj << -/D [4221 0 R /XYZ 71.731 418.9592 null] ->> endobj -1812 0 obj << -/D [4221 0 R /XYZ 71.731 362.1721 null] ->> endobj -746 0 obj << -/D [4221 0 R /XYZ 166.0799 328.862 null] +/D [4216 0 R /XYZ 71.731 263.3079 null] >> endobj 4242 0 obj << -/D [4221 0 R /XYZ 71.731 320.2245 null] +/D [4216 0 R /XYZ 154.7791 238.7997 null] >> endobj 4243 0 obj << -/D [4221 0 R /XYZ 344.894 309.933 null] +/D [4216 0 R /XYZ 71.731 227.3975 null] >> endobj 4244 0 obj << -/D [4221 0 R /XYZ 71.731 295.821 null] +/D [4216 0 R /XYZ 426.1592 204.2293 null] >> endobj 4245 0 obj << -/D [4221 0 R /XYZ 155.2771 273.3701 null] +/D [4216 0 R /XYZ 71.731 192.1099 null] >> endobj 4246 0 obj << -/D [4221 0 R /XYZ 71.731 263.3079 null] +/D [4216 0 R /XYZ 103.2724 143.7561 null] >> endobj 4247 0 obj << -/D [4221 0 R /XYZ 154.7791 238.7997 null] +/D [4216 0 R /XYZ 71.731 133.6939 null] >> endobj 4248 0 obj << -/D [4221 0 R /XYZ 71.731 227.3975 null] ->> endobj -4249 0 obj << -/D [4221 0 R /XYZ 426.1592 204.2293 null] ->> endobj -4250 0 obj << -/D [4221 0 R /XYZ 71.731 192.1099 null] ->> endobj -4251 0 obj << -/D [4221 0 R /XYZ 103.2724 143.7561 null] ->> endobj -4252 0 obj << -/D [4221 0 R /XYZ 71.731 133.6939 null] ->> endobj -4253 0 obj << -/D [4221 0 R /XYZ 425.1626 109.1858 null] +/D [4216 0 R /XYZ 425.1626 109.1858 null] >> endobj -4220 0 obj << +4215 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4257 0 obj << +4251 0 obj << /Length 2553 /Filter /FlateDecode >> @@ -17842,222 +17786,217 @@ Y ���}eǙ��n���k17ᔽ�^�ְ5lc2DZ���c�8Ѥ�UW��'ΰ�)+�-�6!�]����X�#��V��s�7C=�ä�ȟ��H�����-T���$��T��<�$^����F:�`��|�|�F� ��iMAˎ��S3�9X1��V=L�A�4��/vx)4z�´�2K'E`�T�a�\������u��>�M�s�������KCXN�?r�����ll����9)�^��3�E�/K��ӵr/M���y��_^>�Y�qu=�����g��sŕ{Go�Q�@,Ju����Yu���7)����狼<M��?���}�8] ��J�1���2��c8# ���`* ����Vh>l��+!/Ę�M�E�/q�x��4?ȏ׳�}�`���(+��y��l�&䁮�wR��{k�! ��}z�(��h����^7p��v��/ *Q��_{R=��i��Np��,g� _7.��.�P1��+�[����2|-'�)^��7%k��%^�'.>��|�����T@|�n����ѨxӇ�ZnK��1�1+E�ۢp��=���x���71z��?��j�`i�wFwu.p!_��+��ԣ��� ��;�]��.�)��!����>&�%���-��/�����;JmOd��s���nDB!����G�n�@pT�������V��qjЧ,6���~"�*�F^�+�п �Sq=�5��xH$�އ ��.=VO�`[t<���:7命�qV���"��g'����pk��a���b��~��q��yx$=���+��yř�?�&��h -��I��~�@�BC��g������P�[��x�S�_t�W�(�2?ɟ��<�s��92o��y� ���� ��O��endstream +��I��~�@�BC��g������P�[��x�S�_t�W�(�2?ɟ��<�s��92o��y� ���� ��P��endstream endobj -4256 0 obj << +4250 0 obj << /Type /Page -/Contents 4257 0 R -/Resources 4255 0 R +/Contents 4251 0 R +/Resources 4249 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R +/Parent 4118 0 R >> endobj -4258 0 obj << -/D [4256 0 R /XYZ 71.731 729.2652 null] +4252 0 obj << +/D [4250 0 R /XYZ 71.731 729.2652 null] >> endobj -4259 0 obj << -/D [4256 0 R /XYZ 71.731 718.3063 null] +4253 0 obj << +/D [4250 0 R /XYZ 71.731 718.3063 null] >> endobj 1813 0 obj << -/D [4256 0 R /XYZ 71.731 688.2541 null] +/D [4250 0 R /XYZ 71.731 688.2541 null] >> endobj 750 0 obj << -/D [4256 0 R /XYZ 201.5262 654.9439 null] +/D [4250 0 R /XYZ 201.5262 654.9439 null] >> endobj -4260 0 obj << -/D [4256 0 R /XYZ 71.731 646.4917 null] +4254 0 obj << +/D [4250 0 R /XYZ 71.731 646.4917 null] >> endobj -4261 0 obj << -/D [4256 0 R /XYZ 463.4687 623.0635 null] +4255 0 obj << +/D [4250 0 R /XYZ 463.4687 623.0635 null] >> endobj -4262 0 obj << -/D [4256 0 R /XYZ 71.731 608.9515 null] +4256 0 obj << +/D [4250 0 R /XYZ 71.731 608.9515 null] >> endobj -4263 0 obj << -/D [4256 0 R /XYZ 514.935 573.5492 null] +4257 0 obj << +/D [4250 0 R /XYZ 514.935 573.5492 null] >> endobj -4264 0 obj << -/D [4256 0 R /XYZ 71.731 561.4297 null] +4258 0 obj << +/D [4250 0 R /XYZ 71.731 561.4297 null] >> endobj -4265 0 obj << -/D [4256 0 R /XYZ 71.731 545.0078 null] +4259 0 obj << +/D [4250 0 R /XYZ 71.731 545.0078 null] >> endobj 1814 0 obj << -/D [4256 0 R /XYZ 71.731 505.2404 null] +/D [4250 0 R /XYZ 71.731 505.2404 null] >> endobj 754 0 obj << -/D [4256 0 R /XYZ 197.0146 468.0249 null] +/D [4250 0 R /XYZ 197.0146 468.0249 null] >> endobj -4266 0 obj << -/D [4256 0 R /XYZ 71.731 460.1059 null] +4260 0 obj << +/D [4250 0 R /XYZ 71.731 460.1059 null] >> endobj -4267 0 obj << -/D [4256 0 R /XYZ 103.9341 434.9489 null] +4261 0 obj << +/D [4250 0 R /XYZ 103.9341 434.9489 null] >> endobj -4268 0 obj << -/D [4256 0 R /XYZ 105.3508 421.9975 null] +4262 0 obj << +/D [4250 0 R /XYZ 105.3508 421.9975 null] >> endobj -4269 0 obj << -/D [4256 0 R /XYZ 71.731 414.8593 null] +4263 0 obj << +/D [4250 0 R /XYZ 71.731 414.8593 null] >> endobj -4270 0 obj << -/D [4256 0 R /XYZ 518.6154 404.0647 null] +4264 0 obj << +/D [4250 0 R /XYZ 518.6154 404.0647 null] >> endobj 1815 0 obj << -/D [4256 0 R /XYZ 71.731 383.9752 null] +/D [4250 0 R /XYZ 71.731 383.9752 null] >> endobj 758 0 obj << -/D [4256 0 R /XYZ 305.7426 346.7596 null] +/D [4250 0 R /XYZ 305.7426 346.7596 null] >> endobj -4271 0 obj << -/D [4256 0 R /XYZ 71.731 336.617 null] +4265 0 obj << +/D [4250 0 R /XYZ 71.731 336.617 null] >> endobj 1816 0 obj << -/D [4256 0 R /XYZ 71.731 293.5941 null] +/D [4250 0 R /XYZ 71.731 293.5941 null] >> endobj 762 0 obj << -/D [4256 0 R /XYZ 176.9732 256.3786 null] +/D [4250 0 R /XYZ 176.9732 256.3786 null] >> endobj -4272 0 obj << -/D [4256 0 R /XYZ 71.731 246.0136 null] +4266 0 obj << +/D [4250 0 R /XYZ 71.731 246.0136 null] >> endobj -4273 0 obj << -/D [4256 0 R /XYZ 71.731 229.1159 null] +4267 0 obj << +/D [4250 0 R /XYZ 71.731 229.1159 null] >> endobj -4274 0 obj << -/D [4256 0 R /XYZ 71.731 187.4371 null] +4268 0 obj << +/D [4250 0 R /XYZ 71.731 187.4371 null] >> endobj -4275 0 obj << -/D [4256 0 R /XYZ 71.731 187.4371 null] +4269 0 obj << +/D [4250 0 R /XYZ 71.731 187.4371 null] >> endobj -4255 0 obj << +4249 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4278 0 obj << -/Length 2876 +4272 0 obj << +/Length 2871 /Filter /FlateDecode >> stream -xڍk�۶���U��x|?��t식8��Ծ4�4��#!�9�d2���w��H�����i,v�}��ʅ?o�xN���9~�����]`���g7Fz}���m�2'��xu�_�A�q����w��KWwſG�������]G�����@����߲���?w?�xsg�FA�d)P~R2���lI����7u�0H�ho��'!>K�m�d�o�h}|��ܼ����w�(�+�|��}��@@Q�_6^�f�ɀD�_D�W�4�%�TCի���x�j���}�mBw��a�6���c�of��>Ȏ��� �j����,HU��� �$6�D��IT�a�����*�Z}���V���҅!�̐�O�ш���T]��w�v��x~��K�$O�toLqz�4�J-]}�:���6h�J��R+)Q�T�$?N�jq�3w����� �9�F�mQ|¯���%���iM�j��������]e7�F0F:l��0l+��h�/b��"'K2P��:n��I|���F�*h�*���Hs$+ �y�~���@U�- ��]s"H� w��v͡�R2��uXl���ijPr?TS�G��쭎�0|v<��(��jN| -T�:q�}'��P+���� !��݇����W��,B���c+��4nO��`Y���Va8 ����{��h�F�ʼܳJ^l��V�Z�"!:�������*�����,�]y�UCq� /b��l�Q�� 2�Hg�d=�����Y�J���жM���%���~x�x��v��P���l -�$h����>�on��������3?�$�hξ��>w�C𤉷x���v��}�ӷoo���= .,�b�<8����!��>F,�+�Q��E��e��WGú����c�"a��xP<jn�"�g�ƒ�B�t��{~��d�dX�E3Pk���4�nZ�J�95Be]p�*4B�3�lix>�j�0w �G#�o���S�!d�ZGJ��(����P%���&!�i����V�&�d�5_"�,�� ��+-sH��4u���|��~�(�<e��;�9% �Pɔ8N����l� -f �� �d��p��h�X^���w\RxW��Q^�lV��.i�(U[�GB�8��(����ӹ`s�b2�LF�ќT [����gB�i.��RJ������`7$J�ǻ�C�V�_/Ą{ٟ��2q���j�]�sp�E�Qɿ�6�g�l�ل��IIZS�5�2�rN�NLj�Y��`�!K��m<KL�-�k�G -D0I�K�%t��J� -����8e� -���%m��n� �K@4���Rh�V=`��-�n�ޕP��X������Z' �LL9�<Ҥ�� v%Xg`��`�l�ih��o:���WL��5���;�C(w�b33�ŽV�D�=�8(&=J�0a�2���!S������v��~�ư�:�$�&GF`@ i�3S�v��mkjl9���u��!�b,B����b��h�w��kjx������ܹ��:� �i!,�3B\SC!������k�LB<Eusr���(<r���E�-�<�?r/����<��x��Q;��f`Y�3��iZ��R�/[���A�]�L]�89���aO�|`v��+dmN���]�z)�)?�_${�d�_�k}�Ф#�no��*�i���&��� ���:�p*�������ϰ��� -/�p�Jt�~�s���.������DE:�f�kD�xe�iA�<A��n��H����˥�9�'�������6A�������O���%S��uO�� ݉�d��=���뾱,Ӥ� R3�$�'�Q\�P,vx� ��֏�1C�hj�V�W�2LpSb -��VX�Ζ&�F��"h� +,��p�_5�?�(<��L��;�U������M��l���&�[��M���(�B����)17)o���$�/ Ǽ� 2'H��n�x�'����b������Ζ�S�LdZ��@c!&�X����'Ϡ� -W�ɯ��P#��m��)��=��x/�����;N��L5Z����8�>�MC}+i���_��|7@ -�j醰�<�}��概P��RU9|:�2�d^�>܌'w���;Q������P��,�a�k�9����T]�ʕ�FB�v[]�HS��Y��\�|h��R��(y���F�g���p(�5*Z�\�CkaC�!O�C����>[�Di��`�TM%.,�5��G`3��03��\�@����bd�SҢ �0����msj!�ԜM,�,�#"�B1��� -��&����~KC�T��kkΖ���#�����Oـ=(�)���}y�_=��وm��C3}%m̻�%��#�yP���| ~d�Aͣ�־*��Lp�/.��E�y�je�t -zV�;�y0�\Zd]Y�\YIS�6�,��,�I��OX�*~���qA�dN�zP���B�]���H�1�u9zE�C�Qc�i��q�.���Z̦gD����6U����k���&� E�Wu�FO{e�m�-�,����`���^�7ݤ.���=��>����P��28�D���K9~ u�5=�Yv�˷�+��_��3�����\�u -�u��@�~`���`���GP 2 ��9A��?�%�D�āgt)j -�����N_@RƆ�R*F���vv866�G�/W_ <(D�.HDl.�4}.I��WB��.#Éc��]�N�T�d��mƥ���JƋ��z,H��Qx��3p� L������ �)��������I�s��_�Pi���8{�}ւ�N���%Z��G�L�3�7�y՟��k�ӷ�0uR/Ξ��>¹�����zYf)�������GgR�endstream +xڍks�8�{���=c+z?z�s�f���ݽ4{���F�mmdI+J��~�HK���d&A�A�Ey+��U�9I�?~��q���+wu��^yL�c�ݘ������A�ʜ,����~��Q�J�I#/]��Z_E��n��#w9���*��o��˪�����ݭ�����Y�,��%��{n�J�� � Ѫ�+ʞ��"E� �u����5�r��OF"�q�0���Þ�=6EY��x�$9~y_=�?J:���W3F����i�M� ��vF���0뇎ᾙI�� ;�ފ�4�]3�fP�"UY�$ꂀ���x�=R'QUF�Ə��)U��� ��e[�ToX�m3#�<5�""χN�S�9tX��ޙ��y������F����\���Z:��u">�n<�ą��6r2��@H~��jq�3w���ϓ�y(��Eۢ�D_[�u�C�7��=V�^)k�?�2���jv��PŘ谉��J���>��.��,�����i��%�Yf�6ڎUA���WFZ2Ymw�ɻ�ﮇQT��I��w͉ Q7@�A�5�N�Lɴ���d��eM�A��PM����:V�� ��$�dv�9I�)05�ą{�;Y�����e��B?�~�����~EQ��"BI@�?��;�G�V��do�5j?Ya �R��n>��D�6��V�垵P�|�;Q�jH��+���I�+�w�V���h�����`2��;mB��e���dY�����Uz����Z<��X��tLH m�t�,^�����7_@f�o��5�y����W���n5�[��F.��� +`o;����Gs�������'!��Ij��9:�ɛ��_���G�Et�ep��Bf�}�X�W�( ��Û����/���Fo� ���Ƀ�Qs�<+57I-�HW����,NQH���@�9���&{� DN�PY��/!�:[>K�V�;���Q����Tx٧֑R=JE�!)T���q��4��N�^L�Z��5"�,�� ���[Z�> u���|���~�(��2i��<% �Pɜ8N����l�*f�F �d��h��h�XY����\Rx��Q^�lV��. S����#{��L��9���/�a�S����=^gU0�)���L(�*͵�XK�ޒ|� ������P����1�N�Rg�8ᛍ��j�]�s�*Ш�_H��K�,��L�lBFլ$���AF9'çcBՃ�,pY��� K���x���9���ȏ�`�� �bK�p7+I3�/��#��*Xb|������t�i[���F�B��4}`��] �m�U}AY��y�uҀ�Ĕ��#!%���+�<���;CU�MC[ ���׆O�1��"Bn����nR��,�wڴE�㠘�(��eV�@���*W/9����~�Έ�:�4�&GFa ��)n;��55����~�:a�f1��b�h�vc2�;Nr�%7�����z�\��s0�����%.���N����N�-k�O��\��q;6 +�\��A�DtK;���OƁ܋G�=p}��@[<��Q;�����.gD�Z����_����A�\��. +OD�r�y��B�>�Ge� +Y[��:4�P�^�b*����)Y��Zo 4���k���Izh��I5D�x�(�"�N���o�@�-.�=liD����\��_�\�B%����d�-q���!,z����l��5/�'���m�)qهb�T=G�d�����1��&��� "�����d.��z��ݵ�;1�,3w���u�o��4)p��̌)I�m�:�^Gmü��co,(����0 nJLAs� +����m�*)��ܰ�t�M�i�eQ����Ӥ��\9�s_u�˹jܿ�T�&Y/Y¼��|��Bn �zYp�s��lO���p�{� s���b����V����F��g��`Y?��D��q!P�,���;�<@��@��z�k�$�(�G�x�.Q����'t�B<�� +�`�Ѻ�����#��!�44Ч�ƙސ��}��4�`P��N;�c߷���*E�(U�û�/�h�������� +�n'?�)��xrǦp����l q ���q��ԔĦ)�Ч˜ɨ��֟�_%P�|�t}�F�;���j���K���)-/�l��\3Ex_��r��-Q|��(廊[S�3���|z�r�s��������o�+��u�� �"5���j�m��.��usj!z`�ái��<�/���G�";�� +�²��S��/-�������#d���d�Hi��R�~&�/O5����Fm[����hc�2�Q��-� +�_�kp��iޑ��!g�~dq�o:f�S�۹9�X�O�w�lr�u1�r1%M�䲰[����5]�f�:a���A�^��5h�9��AA�f��u����T��/��?�E���A�(r�kU0�^PႷ��T��u�K2,#>�3�a`���w"��l��C�-�zh��t�R0�ކ����0�Ba0:�0�@4Rq�����$�m�t�G��t~�o��kk?���C�)��9'�������(�Nɉ�^j��$��$G�~�q:�>�@ߨ�<�KQ�a�^��e�2CHIZJ��h�����i���d��F�\}<@p��l���t��`�� $[��I����2�1�X�Sw�;� ~������G�d�����B�K���a�������vC���O:����}�Y�sΗ_��R���8{�}��6N���Z��G�L�=�6�o�z?�ŗ��o�a�^�=�}Ds��:�S����r'��MTendstream endobj -4277 0 obj << +4271 0 obj << /Type /Page -/Contents 4278 0 R -/Resources 4276 0 R +/Contents 4272 0 R +/Resources 4270 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R -/Annots [ 4283 0 R ] +/Parent 4296 0 R +/Annots [ 4277 0 R ] >> endobj -4283 0 obj << +4277 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [259.4752 492.9368 311.2805 503.8407] /Subtype /Link /A << /S /GoTo /D (userpreferences) >> >> endobj -4279 0 obj << -/D [4277 0 R /XYZ 71.731 729.2652 null] +4273 0 obj << +/D [4271 0 R /XYZ 71.731 729.2652 null] >> endobj -4280 0 obj << -/D [4277 0 R /XYZ 71.731 690.0824 null] +4274 0 obj << +/D [4271 0 R /XYZ 71.731 690.0824 null] >> endobj 1817 0 obj << -/D [4277 0 R /XYZ 71.731 631.1385 null] +/D [4271 0 R /XYZ 71.731 631.1385 null] >> endobj 766 0 obj << -/D [4277 0 R /XYZ 353.5731 593.923 null] +/D [4271 0 R /XYZ 353.5731 593.923 null] >> endobj -4281 0 obj << -/D [4277 0 R /XYZ 71.731 583.558 null] +4275 0 obj << +/D [4271 0 R /XYZ 71.731 583.558 null] >> endobj -4282 0 obj << -/D [4277 0 R /XYZ 86.3959 496.0898 null] +4276 0 obj << +/D [4271 0 R /XYZ 86.3959 496.0898 null] >> endobj -4284 0 obj << -/D [4277 0 R /XYZ 71.731 488.9517 null] +4278 0 obj << +/D [4271 0 R /XYZ 71.731 488.9517 null] >> endobj -4285 0 obj << -/D [4277 0 R /XYZ 512.7873 465.2057 null] +4279 0 obj << +/D [4271 0 R /XYZ 512.7873 465.2057 null] >> endobj -4286 0 obj << -/D [4277 0 R /XYZ 112.803 452.2542 null] +4280 0 obj << +/D [4271 0 R /XYZ 112.803 452.2542 null] >> endobj -4287 0 obj << -/D [4277 0 R /XYZ 202.5552 452.2542 null] +4281 0 obj << +/D [4271 0 R /XYZ 202.5552 452.2542 null] >> endobj 1818 0 obj << -/D [4277 0 R /XYZ 71.731 409.2506 null] +/D [4271 0 R /XYZ 71.731 409.2506 null] >> endobj 770 0 obj << -/D [4277 0 R /XYZ 198.9687 366.1531 null] +/D [4271 0 R /XYZ 198.9687 366.1531 null] >> endobj 1819 0 obj << -/D [4277 0 R /XYZ 71.731 362.3228 null] +/D [4271 0 R /XYZ 71.731 362.3228 null] >> endobj 774 0 obj << -/D [4277 0 R /XYZ 256.7516 326.7807 null] +/D [4271 0 R /XYZ 256.7516 326.7807 null] +>> endobj +4282 0 obj << +/D [4271 0 R /XYZ 71.731 316.4157 null] +>> endobj +4283 0 obj << +/D [4271 0 R /XYZ 434.2261 306.6562 null] +>> endobj +4284 0 obj << +/D [4271 0 R /XYZ 71.731 247.7123 null] +>> endobj +4285 0 obj << +/D [4271 0 R /XYZ 71.731 234.7609 null] +>> endobj +4286 0 obj << +/D [4271 0 R /XYZ 71.731 229.7796 null] +>> endobj +4287 0 obj << +/D [4271 0 R /XYZ 89.6638 209.0223 null] >> endobj 4288 0 obj << -/D [4277 0 R /XYZ 71.731 316.4157 null] +/D [4271 0 R /XYZ 128.2622 209.0223 null] >> endobj 4289 0 obj << -/D [4277 0 R /XYZ 434.2261 306.6562 null] +/D [4271 0 R /XYZ 328.5279 209.0223 null] >> endobj 4290 0 obj << -/D [4277 0 R /XYZ 71.731 247.7123 null] +/D [4271 0 R /XYZ 71.731 193.9141 null] >> endobj 4291 0 obj << -/D [4277 0 R /XYZ 71.731 234.7609 null] +/D [4271 0 R /XYZ 71.731 178.9701 null] >> endobj 4292 0 obj << -/D [4277 0 R /XYZ 71.731 229.7796 null] +/D [4271 0 R /XYZ 109.5891 157.8144 null] >> endobj 4293 0 obj << -/D [4277 0 R /XYZ 89.6638 209.0223 null] +/D [4271 0 R /XYZ 76.7123 116.9675 null] >> endobj 4294 0 obj << -/D [4277 0 R /XYZ 128.2622 209.0223 null] +/D [4271 0 R /XYZ 89.6638 99.0348 null] >> endobj 4295 0 obj << -/D [4277 0 R /XYZ 328.5279 209.0223 null] +/D [4271 0 R /XYZ 71.731 96.878 null] >> endobj -4296 0 obj << -/D [4277 0 R /XYZ 71.731 193.9141 null] ->> endobj -4297 0 obj << -/D [4277 0 R /XYZ 71.731 178.9701 null] ->> endobj -4298 0 obj << -/D [4277 0 R /XYZ 109.5891 157.8144 null] ->> endobj -4299 0 obj << -/D [4277 0 R /XYZ 76.7123 116.9675 null] ->> endobj -4300 0 obj << -/D [4277 0 R /XYZ 89.6638 99.0348 null] ->> endobj -4301 0 obj << -/D [4277 0 R /XYZ 71.731 96.878 null] ->> endobj -4276 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +4270 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4304 0 obj << +4299 0 obj << /Length 2912 /Filter /FlateDecode >> @@ -18075,89 +18014,89 @@ z ?�x��rh���?��?����և�l����#����/���7��[) ct���@���똖��3�آO�d�|Y�^�S+��`�1;W'~�>�R��(Ts;G�t�� �%�^S}��A��U4���� ������_~~���m? �R���8���9���Ɣv8����A�uX�)���l�\��7�i�����]͆�#������><\{���l^��U�U����;��!�%_�ܰ��Q$ic�� �0��[W@ P����^�����;E>�}O_�҉�}��B�'+�i��ʼ�a&���֦r���?{),�k�G�G$�(p��S����)1���8&��?��D=%�N{�=6�dn�ZO�4I�G�DC�D� ���������*#�rq3 �3�s���gE wg�9��&R�N+}s���=N���Лy�T��xT�SX�F^��*}m��\�r�C�gDWs2��J�ﶊ�����\~�L����H����Y��b���q*�Q�Z ����m#��2��� !�ݔc���V�����ǀ�=��f��N���{��������ڜ�뿉�,�_�$�Ox���g�.Ch4�0� -��?HOK�U�)&B�iޖ��Ό�V�8��E�E��Hˠ���͟L�p^�b"�� ��j��j���O!V�E� endstream +��?HOK�U�)&B�iޖ��Ό�V�8��E�E��Hˠ���͟L�p^�b"�� ��j��j���O!V�E��endstream endobj -4303 0 obj << +4298 0 obj << /Type /Page -/Contents 4304 0 R -/Resources 4302 0 R +/Contents 4299 0 R +/Resources 4297 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R +/Parent 4296 0 R +>> endobj +4300 0 obj << +/D [4298 0 R /XYZ 71.731 729.2652 null] +>> endobj +4301 0 obj << +/D [4298 0 R /XYZ 89.6638 708.3437 null] +>> endobj +4302 0 obj << +/D [4298 0 R /XYZ 259.764 695.3923 null] +>> endobj +4303 0 obj << +/D [4298 0 R /XYZ 71.731 654.3811 null] +>> endobj +4304 0 obj << +/D [4298 0 R /XYZ 89.6638 638.6052 null] >> endobj 4305 0 obj << -/D [4303 0 R /XYZ 71.731 729.2652 null] +/D [4298 0 R /XYZ 407.2684 638.6052 null] >> endobj 4306 0 obj << -/D [4303 0 R /XYZ 89.6638 708.3437 null] +/D [4298 0 R /XYZ 71.731 571.6912 null] >> endobj 4307 0 obj << -/D [4303 0 R /XYZ 259.764 695.3923 null] +/D [4298 0 R /XYZ 71.731 556.7473 null] >> endobj 4308 0 obj << -/D [4303 0 R /XYZ 71.731 654.3811 null] +/D [4298 0 R /XYZ 76.7123 494.7447 null] >> endobj 4309 0 obj << -/D [4303 0 R /XYZ 89.6638 638.6052 null] +/D [4298 0 R /XYZ 89.6638 476.8119 null] >> endobj 4310 0 obj << -/D [4303 0 R /XYZ 407.2684 638.6052 null] +/D [4298 0 R /XYZ 71.731 474.6551 null] >> endobj 4311 0 obj << -/D [4303 0 R /XYZ 71.731 571.6912 null] +/D [4298 0 R /XYZ 89.6638 458.8792 null] >> endobj 4312 0 obj << -/D [4303 0 R /XYZ 71.731 556.7473 null] +/D [4298 0 R /XYZ 71.731 430.8195 null] >> endobj 4313 0 obj << -/D [4303 0 R /XYZ 76.7123 494.7447 null] +/D [4298 0 R /XYZ 89.6638 415.0436 null] >> endobj 4314 0 obj << -/D [4303 0 R /XYZ 89.6638 476.8119 null] +/D [4298 0 R /XYZ 220.2822 363.2378 null] >> endobj 4315 0 obj << -/D [4303 0 R /XYZ 71.731 474.6551 null] +/D [4298 0 R /XYZ 71.731 356.0997 null] >> endobj 4316 0 obj << -/D [4303 0 R /XYZ 89.6638 458.8792 null] ->> endobj -4317 0 obj << -/D [4303 0 R /XYZ 71.731 430.8195 null] ->> endobj -4318 0 obj << -/D [4303 0 R /XYZ 89.6638 415.0436 null] ->> endobj -4319 0 obj << -/D [4303 0 R /XYZ 220.2822 363.2378 null] ->> endobj -4320 0 obj << -/D [4303 0 R /XYZ 71.731 356.0997 null] ->> endobj -4321 0 obj << -/D [4303 0 R /XYZ 71.731 327.2728 null] +/D [4298 0 R /XYZ 71.731 327.2728 null] >> endobj 1820 0 obj << -/D [4303 0 R /XYZ 71.731 294.3313 null] +/D [4298 0 R /XYZ 71.731 294.3313 null] >> endobj 778 0 obj << -/D [4303 0 R /XYZ 263.867 257.1158 null] +/D [4298 0 R /XYZ 263.867 257.1158 null] >> endobj -4322 0 obj << -/D [4303 0 R /XYZ 71.731 246.7508 null] +4317 0 obj << +/D [4298 0 R /XYZ 71.731 246.7508 null] >> endobj -4323 0 obj << -/D [4303 0 R /XYZ 300.7046 211.0884 null] +4318 0 obj << +/D [4298 0 R /XYZ 300.7046 211.0884 null] >> endobj -4324 0 obj << -/D [4303 0 R /XYZ 96.7348 198.137 null] +4319 0 obj << +/D [4298 0 R /XYZ 96.7348 198.137 null] >> endobj 1821 0 obj << -/D [4303 0 R /XYZ 71.731 170.142 null] +/D [4298 0 R /XYZ 71.731 170.142 null] >> endobj -4302 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +4297 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4327 0 obj << +4322 0 obj << /Length 2459 /Filter /FlateDecode >> @@ -18172,86 +18111,86 @@ xڝ] '�r��s�!2��f�g�{��zN=^��Bl��z���;�qq|��@�zi�m�*T�j�A(";���P3'>�4�W�3���ޘ�b���x"h��l`��4��J'.r�+2����i�u ��{�4c���'mLِf�c�u���!�������Ф��WޜD��`Y�uD��2��t����Z���&���O�� >)M����;cp#l��Жʏ��{�m�l������<ގmr�A��e���ze}V�/`��m�&��-Y��e��@y��2+��ϰ��~��l�� ��0zByW���u5>���>Hµ&�2�|r�4Z�Q�����Ʀ�i�պ/<=����<��b�je�0���["��~(�%�t}�9C��IV?#n��]+�=�F�F��h��K�ڑ���~�C��Ց¾���|f�(�M��]�7�T�$$�ʳ�I���U�4~r�2 �gR7Z;S!��DeN�U H�b��������O���W(���+�]^`O�f���e���v`�Y�+���s�;�����G�]F��K��z]�Ԧyr�c��J���/��J���̘Oo"Kd��߶�N������I�;\��-�����ӆ=}��Y�?81��6s�<�}���Ͻ��bv���n�s����_0��6�ޝN&�,��%F��Q%�����xh(ʡ�'�� �G�Y��[��an��~39��Ɠ���k���ݵ�t߯;�v����3��|� -��N81j���!̬ ��JR8ϱq�֦�Va�sqj��q��Ý�Sg��e5��} 4��˘���%�w;�LI:�x��$�v�&��,�3/U�d�23ɹ�ޮ�P���ڣ]X��Ԋ&QP��@��� �m��)t!T��!���Qآ�B,!]Cu�D [�G���w��'��6j뉸ӎ�>��-�������N ��l�jK��5�,q��Cz�3��{e\�dhVi��O���@�k��(+k2v���/��g����b�#��./���R �|����"Ƹ�)�u|�2�T�7�1������/?�S�v��R��ߣ�xn��9���h�9��hD�endstream +��N81j���!̬ ��JR8ϱq�֦�Va�sqj��q��Ý�Sg��e5��} 4��˘���%�w;�LI:�x��$�v�&��,�3/U�d�23ɹ�ޮ�P���ڣ]X��Ԋ&QP��@��� �m��)t!T��!���Qآ�B,!]Cu�D [�G���w��'��6j뉸ӎ�>��-�������N ��l�jK��5�,q��Cz�3��{e\�dhVi��O���@�k��(+k2v���/��g����b�#��./���R �|����"Ƹ�)�u|�2�T�7�1������/?�S�v��R��ߣ�xn��9�y��?4��_�D�endstream endobj -4326 0 obj << +4321 0 obj << /Type /Page -/Contents 4327 0 R -/Resources 4325 0 R +/Contents 4322 0 R +/Resources 4320 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R +/Parent 4296 0 R >> endobj -4328 0 obj << -/D [4326 0 R /XYZ 71.731 729.2652 null] +4323 0 obj << +/D [4321 0 R /XYZ 71.731 729.2652 null] >> endobj 782 0 obj << -/D [4326 0 R /XYZ 209.3152 706.1179 null] +/D [4321 0 R /XYZ 209.3152 706.1179 null] >> endobj -4329 0 obj << -/D [4326 0 R /XYZ 71.731 697.2951 null] +4324 0 obj << +/D [4321 0 R /XYZ 71.731 697.2951 null] >> endobj -4330 0 obj << -/D [4326 0 R /XYZ 71.731 653.575 null] +4325 0 obj << +/D [4321 0 R /XYZ 71.731 653.575 null] >> endobj -4331 0 obj << -/D [4326 0 R /XYZ 71.731 620.6335 null] +4326 0 obj << +/D [4321 0 R /XYZ 71.731 620.6335 null] >> endobj -4332 0 obj << -/D [4326 0 R /XYZ 71.731 583.9361 null] +4327 0 obj << +/D [4321 0 R /XYZ 71.731 583.9361 null] >> endobj -4333 0 obj << -/D [4326 0 R /XYZ 71.731 577.574 null] +4328 0 obj << +/D [4321 0 R /XYZ 71.731 577.574 null] >> endobj -4334 0 obj << -/D [4326 0 R /XYZ 436.4724 553.0519 null] +4329 0 obj << +/D [4321 0 R /XYZ 436.4724 553.0519 null] >> endobj -4335 0 obj << -/D [4326 0 R /XYZ 169.3177 527.149 null] +4330 0 obj << +/D [4321 0 R /XYZ 169.3177 527.149 null] >> endobj -4336 0 obj << -/D [4326 0 R /XYZ 176.5876 501.2462 null] +4331 0 obj << +/D [4321 0 R /XYZ 176.5876 501.2462 null] >> endobj -4337 0 obj << -/D [4326 0 R /XYZ 71.731 483.2139 null] +4332 0 obj << +/D [4321 0 R /XYZ 71.731 483.2139 null] >> endobj -4338 0 obj << -/D [4326 0 R /XYZ 238.3949 470.362 null] +4333 0 obj << +/D [4321 0 R /XYZ 238.3949 470.362 null] >> endobj 1822 0 obj << -/D [4326 0 R /XYZ 71.731 429.3509 null] +/D [4321 0 R /XYZ 71.731 429.3509 null] >> endobj 786 0 obj << -/D [4326 0 R /XYZ 200.1276 392.1353 null] +/D [4321 0 R /XYZ 200.1276 392.1353 null] >> endobj -4339 0 obj << -/D [4326 0 R /XYZ 71.731 384.783 null] +4334 0 obj << +/D [4321 0 R /XYZ 71.731 384.783 null] >> endobj -4340 0 obj << -/D [4326 0 R /XYZ 71.731 338.9698 null] +4335 0 obj << +/D [4321 0 R /XYZ 71.731 338.9698 null] >> endobj -4341 0 obj << -/D [4326 0 R /XYZ 71.731 310.2424 null] +4336 0 obj << +/D [4321 0 R /XYZ 71.731 310.2424 null] >> endobj -4342 0 obj << -/D [4326 0 R /XYZ 71.731 310.2424 null] +4337 0 obj << +/D [4321 0 R /XYZ 71.731 310.2424 null] >> endobj 1823 0 obj << -/D [4326 0 R /XYZ 71.731 232.3802 null] +/D [4321 0 R /XYZ 71.731 232.3802 null] >> endobj 790 0 obj << -/D [4326 0 R /XYZ 299.6652 197.9095 null] +/D [4321 0 R /XYZ 299.6652 197.9095 null] >> endobj -4343 0 obj << -/D [4326 0 R /XYZ 71.731 189.272 null] +4338 0 obj << +/D [4321 0 R /XYZ 71.731 189.272 null] >> endobj 1824 0 obj << -/D [4326 0 R /XYZ 71.731 147.9967 null] +/D [4321 0 R /XYZ 71.731 147.9967 null] >> endobj -4325 0 obj << +4320 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4346 0 obj << +4341 0 obj << /Length 1906 /Filter /FlateDecode >> @@ -18269,93 +18208,93 @@ T. y��,�3�@��)����0/�^b�Q��RI���ݨ��,�:\Ƞ�}�4�!P�><��!�r��ɬ��B.�I~^Uc��+G�pn�l��\J���s�&���:�\�YÔR����L�41�<�I�u�v�8j�5�!u?I]8֩���N�� Ɍ��썎QG�I�L�ES��B�ݎٜ���qD��P�u_�n ������"�(��%M����] ϾG� �ܛߢ��z�)+�Ԧv��O%��8]�Vt}%�zh��M�mkќJ�Q�N?�uM��m�}וj�~j0�̈�<��O����ۏ���$�y{Z%��R�Kʹ�y������|�Lc��3�:S�7�S��h��� )�8��ܭ�m.����ӧ��y�6���x�BP���^��RB��l�����(�ߙyR�K6�j���J��$g�f�ɤ���<T$ol;*4���b�^"����0D$�����!dA�#�̄�;��8�F��Mj�ze*���vV��W��]�JKQ�R� �)r/"�} 1){ڇQ]��]���.V�Eݲm�qFB��r��ZQ�O���li;��M�ę.g&۪��wtY�SE� �O��e[ȇA�u�l$��'���=z�X� V�u��Z7�5�0��K�o L*�̣�+�`�c�+��%���e��$ؚ�����=]�" �j��+��qg u+�2��~��̝~� rrcF.��M -��<=�!/�ц�!&��N3t6�0~Q���(&>i�>u�qm#:z��paa���Gځ��Evx�L��uJ`՜�֟~b�o�I�g�*��_���_e~湽IY#e�~ѽ �_ӧ�Rendstream +��<=�!/�ц�!&��N3t6�0~Q���(&>i�>u�qm#:z��paa���Gځ��Evx�L��uJ`՜�֟~b�o�I�g�*��_���_e~湽IY#���{A��M�Pendstream endobj -4345 0 obj << +4340 0 obj << /Type /Page -/Contents 4346 0 R -/Resources 4344 0 R +/Contents 4341 0 R +/Resources 4339 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4254 0 R +/Parent 4296 0 R >> endobj -4347 0 obj << -/D [4345 0 R /XYZ 71.731 729.2652 null] +4342 0 obj << +/D [4340 0 R /XYZ 71.731 729.2652 null] >> endobj -4348 0 obj << -/D [4345 0 R /XYZ 71.731 741.2204 null] +4343 0 obj << +/D [4340 0 R /XYZ 71.731 741.2204 null] >> endobj 794 0 obj << -/D [4345 0 R /XYZ 364.5094 708.3437 null] +/D [4340 0 R /XYZ 364.5094 708.3437 null] >> endobj -4349 0 obj << -/D [4345 0 R /XYZ 71.731 699.7062 null] +4344 0 obj << +/D [4340 0 R /XYZ 71.731 699.7062 null] >> endobj 1825 0 obj << -/D [4345 0 R /XYZ 71.731 656.3737 null] +/D [4340 0 R /XYZ 71.731 656.3737 null] >> endobj 798 0 obj << -/D [4345 0 R /XYZ 295.6245 623.0635 null] +/D [4340 0 R /XYZ 295.6245 623.0635 null] >> endobj -4350 0 obj << -/D [4345 0 R /XYZ 71.731 614.426 null] +4345 0 obj << +/D [4340 0 R /XYZ 71.731 614.426 null] >> endobj 1826 0 obj << -/D [4345 0 R /XYZ 71.731 558.142 null] +/D [4340 0 R /XYZ 71.731 558.142 null] >> endobj 802 0 obj << -/D [4345 0 R /XYZ 378.198 524.8319 null] +/D [4340 0 R /XYZ 378.198 524.8319 null] >> endobj -4351 0 obj << -/D [4345 0 R /XYZ 71.731 516.1944 null] +4346 0 obj << +/D [4340 0 R /XYZ 71.731 516.1944 null] >> endobj 1827 0 obj << -/D [4345 0 R /XYZ 71.731 472.8618 null] +/D [4340 0 R /XYZ 71.731 472.8618 null] >> endobj 806 0 obj << -/D [4345 0 R /XYZ 288.5111 439.5516 null] +/D [4340 0 R /XYZ 288.5111 439.5516 null] >> endobj -4352 0 obj << -/D [4345 0 R /XYZ 71.731 430.9141 null] +4347 0 obj << +/D [4340 0 R /XYZ 71.731 430.9141 null] >> endobj 1828 0 obj << -/D [4345 0 R /XYZ 71.731 389.6389 null] +/D [4340 0 R /XYZ 71.731 389.6389 null] >> endobj 810 0 obj << -/D [4345 0 R /XYZ 259.0781 354.2714 null] +/D [4340 0 R /XYZ 259.0781 354.2714 null] >> endobj -4353 0 obj << -/D [4345 0 R /XYZ 71.731 345.6339 null] +4348 0 obj << +/D [4340 0 R /XYZ 71.731 345.6339 null] >> endobj -4354 0 obj << -/D [4345 0 R /XYZ 71.731 304.3587 null] +4349 0 obj << +/D [4340 0 R /XYZ 71.731 304.3587 null] >> endobj 1829 0 obj << -/D [4345 0 R /XYZ 71.731 271.4172 null] +/D [4340 0 R /XYZ 71.731 271.4172 null] >> endobj 814 0 obj << -/D [4345 0 R /XYZ 240.4757 238.1071 null] +/D [4340 0 R /XYZ 240.4757 238.1071 null] >> endobj -4355 0 obj << -/D [4345 0 R /XYZ 71.731 229.4696 null] +4350 0 obj << +/D [4340 0 R /XYZ 71.731 229.4696 null] >> endobj 1830 0 obj << -/D [4345 0 R /XYZ 71.731 179.1632 null] +/D [4340 0 R /XYZ 71.731 179.1632 null] >> endobj 818 0 obj << -/D [4345 0 R /XYZ 223.8447 136.0657 null] +/D [4340 0 R /XYZ 223.8447 136.0657 null] >> endobj -4356 0 obj << -/D [4345 0 R /XYZ 71.731 123.8945 null] +4351 0 obj << +/D [4340 0 R /XYZ 71.731 123.8945 null] >> endobj 1831 0 obj << -/D [4345 0 R /XYZ 71.731 112.3497 null] +/D [4340 0 R /XYZ 71.731 112.3497 null] >> endobj -4344 0 obj << +4339 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4359 0 obj << -/Length 1931 +4354 0 obj << +/Length 1932 /Filter /FlateDecode >> stream @@ -18364,235 +18303,226 @@ xڕk � ���;��� �9���<X�6CG:v��F~�TC]� ��g{,���9˚�d�U�9�cl�%JgV��R��iA�a��*6,'<T���jZ[�6������>7���X�q6���[ʭ�_�!t�5ȉ����m�P�w�%�YH#�ާ.4�@}:E6���IJ��ǼAt�"eE�v"�Ȃ�A�i�Q(���c���R�V,'��N;�y��姡�%�d��� �um_i[�I�4�@��DCP'��T���諚 �pA��A�ll곰���%�[�l���$�ox��i���V�z�{�,e�_���s5� ��_QF�.B�6�YS/�ﵳ��՞:ˬoT�S�_�fzQL4Z��O}*�������Т�M�dhy��%L�g` c^'[}B_+�YH+��9ʮ�1<%A�V���UI���[B[��[��>|Y}w�-�؈QwX@�����EQ����no�W�$�N�� -�b��I$���;��pTa�J���c��hE�ꩫM�*�<M]۪ �TU��8�ٞA��+�~�] �F���N��B�'3��]K����V4��d����4���4���vdD@�x��d���)K�@]`�N��v��x�کu�����Ζ���<LЋ��ׯ��Ý9��^z�h��r�X� "�q�9�|�i��s�:h�{��F��omUֳw ��=�tS?e �4��$X3x��*E��s�Q5�'���b!���(�*��a{w{����{�<���Юɞ�� x���`SZb;� ��O;�����U�^�f2�2��и��&7��O�2R�I�9�4&#~��v�+ ���)�@8ۃz)���oۓ� ��(�',�N�����V��p �=����W ���-�)�pó7�7%&>��{�Iy�OqA�^֔4e՝KN~�^�b�d���}��!�w��X��X��Vb!p-�$�%�-��� ��a�FGh�X"� Q��O�2J�e� #�^��jZ�%Pe@hr����AԚ��q���5 )�t�r�W*̤8iF���\ة2pCg��JNM���~љ������0�m���D��!�"�ʸy��0)�*�D >f�ALH�;V���TCg.>Ɣu�0��+`�9Ⱦ�Z��w�(X�� -�*sC�r<���tӋ-y;�����3�#��_����d���l���&4O�K���Zf�}����\Ypendstream +�*sC�r<���tӋ-y;�����3�#��_����d���l���&4O�K������ -�J>�����\jYqendstream endobj -4358 0 obj << +4353 0 obj << /Type /Page -/Contents 4359 0 R -/Resources 4357 0 R +/Contents 4354 0 R +/Resources 4352 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R +/Parent 4296 0 R >> endobj -4360 0 obj << -/D [4358 0 R /XYZ 71.731 729.2652 null] +4355 0 obj << +/D [4353 0 R /XYZ 71.731 729.2652 null] >> endobj -4361 0 obj << -/D [4358 0 R /XYZ 71.731 741.2204 null] +4356 0 obj << +/D [4353 0 R /XYZ 71.731 741.2204 null] >> endobj 822 0 obj << -/D [4358 0 R /XYZ 223.5692 707.8408 null] +/D [4353 0 R /XYZ 223.5692 707.8408 null] >> endobj -4362 0 obj << -/D [4358 0 R /XYZ 71.731 700.4885 null] +4357 0 obj << +/D [4353 0 R /XYZ 71.731 700.4885 null] >> endobj -4363 0 obj << -/D [4358 0 R /XYZ 282.4959 661.8134 null] +4358 0 obj << +/D [4353 0 R /XYZ 282.4959 661.8134 null] >> endobj -4364 0 obj << -/D [4358 0 R /XYZ 71.731 641.5893 null] +4359 0 obj << +/D [4353 0 R /XYZ 71.731 641.5893 null] >> endobj -4365 0 obj << -/D [4358 0 R /XYZ 71.731 553.7945 null] +4360 0 obj << +/D [4353 0 R /XYZ 71.731 553.7945 null] >> endobj 1832 0 obj << -/D [4358 0 R /XYZ 71.731 522.9103 null] +/D [4353 0 R /XYZ 71.731 522.9103 null] >> endobj 826 0 obj << -/D [4358 0 R /XYZ 185.7387 483.6375 null] +/D [4353 0 R /XYZ 185.7387 483.6375 null] >> endobj -4366 0 obj << -/D [4358 0 R /XYZ 71.731 476.2852 null] +4361 0 obj << +/D [4353 0 R /XYZ 71.731 476.2852 null] >> endobj -4367 0 obj << -/D [4358 0 R /XYZ 71.731 404.5691 null] +4362 0 obj << +/D [4353 0 R /XYZ 71.731 404.5691 null] >> endobj 1833 0 obj << -/D [4358 0 R /XYZ 71.731 375.7422 null] +/D [4353 0 R /XYZ 71.731 375.7422 null] >> endobj 830 0 obj << -/D [4358 0 R /XYZ 331.4799 336.4694 null] +/D [4353 0 R /XYZ 331.4799 336.4694 null] >> endobj -4368 0 obj << -/D [4358 0 R /XYZ 71.731 326.1044 null] +4363 0 obj << +/D [4353 0 R /XYZ 71.731 326.1044 null] >> endobj 1834 0 obj << -/D [4358 0 R /XYZ 71.731 296.2553 null] +/D [4353 0 R /XYZ 71.731 296.2553 null] >> endobj 834 0 obj << -/D [4358 0 R /XYZ 229.9103 259.0397 null] +/D [4353 0 R /XYZ 229.9103 259.0397 null] >> endobj -4369 0 obj << -/D [4358 0 R /XYZ 71.731 248.897 null] +4364 0 obj << +/D [4353 0 R /XYZ 71.731 248.897 null] >> endobj -4370 0 obj << -/D [4358 0 R /XYZ 101.1818 238.9152 null] +4365 0 obj << +/D [4353 0 R /XYZ 101.1818 238.9152 null] >> endobj -4371 0 obj << -/D [4358 0 R /XYZ 71.731 220.8829 null] +4366 0 obj << +/D [4353 0 R /XYZ 71.731 220.8829 null] >> endobj 1835 0 obj << -/D [4358 0 R /XYZ 71.731 165.0274 null] +/D [4353 0 R /XYZ 71.731 165.0274 null] >> endobj -4357 0 obj << +4352 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4375 0 obj << -/Length 2743 +4369 0 obj << +/Length 2744 /Filter /FlateDecode >> stream xڝks���� -�����X�)�����8s���If�t:�I�Q$���|���� Ґ�v�x,�{!��ϟ����� �n���l{z��0��;�A��4��?����a8[��$HfO�Y�n���Y�*�W���?�ǬjE�X���.}idq�����M�y���ӏ���M�0u�+�|���5mA8�S7������b7��T��k�']9O�$��XyN�m��|&"a����@Y��V�� -����2��8^ -�/����2�}��XRc#��p��ڣ�ơ.���M%���Ď�7/�?� l��E"�b�h���&����#�����c�Qdۭh���Y�"�Z��BB�]���~�c?R��(A�x�RgF�n����؉l��B0@V�!ؕv�.�� H~������)�Cs3A�oW�%��E�Ā�)�D�R�dh��F�1�� -�[�n�!������;������=� hJ�%+�Y�Y�qŔ�{�hT64J<����v�in_�'ރ��p.���<c��r˲���V��=-�ءsD��H�%��کm��/k�2-В�N���]���*u�(�T��AUIJ� ��v��x�v����m���iךý��*�Ot`��� -�=Q��_��*aMͿ��=H�}X��8�|^Reeo<'��4 }�J���%�b� 5���5�עD�������I�R�J8�6U.[ơ\(G�v��*Vg�H�Ne�Y��FN�yl�p�P���;�f2o�j -���c����ؤN�E�&zM����ĭB��G2����c��ן>��n���LJO0�9��}��1��0T�S&%pj\�'�,>\����k��@�Ʒ�6�5Wz�7Q�. =5�$h8�ӭM�+QV����/T�7;,b'�̐}Y�Tr�x��]�=5��3x{f�t;-%x����dyڬz�u��6����|���x��eEE -p/��a����(�:��Q��B[�l�x�WX��)X��p ߺ�����}l(�S��i˓2q����F���0Jh����},Ek$78nX;s��i�39�Z1h2R�ڗ%�h;. <M}��j@��]��7������Ee�f��["7���/4\�a -�=[|f����'o� ,��m|o�� ӝ�$�<A�ِ��1+��� *� RDd]��Bނ�k۶G��4��x5�}7 -��bXnQ���̥�n�ȷbg��1r��K�[N� ��J�p�+�M�a:&B��;,��C�I�BU e�ꐼ�^^�>�,����F�-����k�;I;����n���v}zBz8�k�q*\��(M.2ʀ9�' s�M���s�B�k&��ԁ��H�J��4�Vr���my:)�2��"����Q��9I�(�X�/�dK�%}����7��.Ha�O@F��F��a�f�*��m��y�Ӈ?���(�>g�i7Û���� -�z;8Y����;m��F���{���S7�A-Y�6��b�n���rh��D tU-[�A-4Xd�$���.�ftYG|[c�o1�������b6��j��ym�9�E�-�l�#+��y3��$����3���O]�e�7��B��&��� - �O -����g�nc2����@bQ�9���YK-�$���I7�����d[�`T���l4��$[�u���'J6{22!��4�4���T�t�&4������� �S���w�-J�;��Y) C��W��Rj���R tUJ-[�AJ-4X��$�Ե�t���<f)��3��]=,?��C���5C!j�\��L��W���^�e�7\����D�^� ��iYnA�T CyV/�����u@��]�S�X��" ȇ�U+冹 ���e�RԈ���hl�p���)��F�A��r�)g�̖,�Sa�q^�Ne�F";R\��lD/6� ��Ms'��tNt�u��n.�� tVtz�k�c����hx-:#"��"�i��V���:����^a?<�:���+� lD�,4_�!`�&��F��r[���r���W���,�"�Y��������:�< t�y�-��< �D�j=��Kui��6B�`�D)+N|�@cAK�X�5L1���`���J�q��K�'�a�O ��m���Ԑ&����3���B���ol����:�|Z�?9�/%ǐ��j��ī'����hʼn����7>�hi���e�� �e��"Z&�qޙ��s.��T�M��7q�8/k�'S��S�� -!ap�W�Ѩ���)3p�����vb)R��C�M�K��=����04���|*e��oLk�T?ե��*+�f��-��rz���e�4��˥�*��-� �,ri�8��3]V���{'�"�Y�+2�d�@r�\�Zv����Q�����.�V�]�+Ig���0��k�8��ߪ���]�FH��u�MJ�����k� Ҭ����V;�ޠ����^-�ta�z�B��Poj�#8ѩ�{��~T�h�L��LS��M�Q �9��D'R�2<����BT��"�Q�4�:Ȏɥ�S5���7�,Z[Ы�j�Ҭ����N�Wy�N�w*;��ylO}M"U%=�k[_h4��Xgt8q����`�L�/}�t�g��W113.�ü������^ަG��p�O#��J�Ҵ� �l���#��c~4%�Vk�pNò�s�yqX�+?Y_~p`^� (R7���DŽ�Nӳ��l�_��Pendstream +�����X>E��|wNƙk��N2��ӡ$HB�">������.H��$���c�X`��3~�,��$�O���*f��;ov�����d�� ����_��Yꦫ`5{�Ϣ0t�U�Β0pױ��=���|8fU+��2�='v��K#�5�w�o2ϳſ�~|w��o�����E�z�״��O���#$NӋ�$JEZ�HO�v��Ipk���:�.��LD��}�ǁ�>e�,�6H��{�e�q� +�/����2�}��XRc#��p��ڣ�ơ.���M%���Ď�7/�?� l��E"�b�h���&����#�����c�Qdۭh���Y�"�Z��BB�]���~�c~� f�yY�3#S�YA�Fj�D��e! +v� �J�aI`� +�H�Wjn�ݡ�� 鷫�i�"wb�ǔT�h�Y24�g#Ƙ�S�\���Z����vR����i��N��~��r�`GA��t�d�8�C;�=��Ҵ'�FeC��C��y!a����uy�=h- �i��Q0�m.�,�H(Pla5���"�:G�;�t^�;���VQ ���/�-Y�:��uYn�Rg�M�TE,��@:hg����j*@�>��&k۞v�9�����D��.��A�Wʘ�k�_�!�#L���7�w�i�i�ơ��*;({�9�P�H|��h�T��L��(@�������Ю��%�/�p|�74L��hU�y&��r�2e���@9��|U�:SF�t*���J�5r��cC�#�Zd�؉6�y3VS��|#�֨ �&u�,�4�k���h�<0�%nzp <�Q�W�<������w�5?�=>|� ����� ��ņ�Z�2Y(�S��8!�ȯ`���zl�=_�=b4�� �����s���ti���&A��nm�^��ʵ�|����a;�d��˺7����#��祝ָ���3���i)��6�&��f�3�� ��,����ç�ǻ�.+�(R�{�=7c$�G �ԩ��Z��Z`�/�����`�O�����4��J����O5��-O��a�^/��kh �(��:�������!u�H7�<gr��$b&�d���/KT�8v\x��2Հ����o��/ӳ�ʌ�6�_�Dn���0u�F{��̘D!j�O��XD1���Je�;�I�y�l�!��cVz�AT(��Ⱥ�텼�m?�~�i���j��n$�Ű���7���K���o��<~�c�Ɓ��n9�$�"+ Í�}w��ɘ}��P��^='�U% �U�C�{ xm��4��w��2h!��v̶��$� Ȯ�ʺ�R���� �ု9ǩ0]�Q���(�,�4�56Y���%��dR�S��nc��� +LOSn%g�ߖ��r��!�-�i8��5K���V�����l����O#4T��Fp�!�)�� Ȉ��ψ>l����C�1U���6�t��'�����;�fx3vu�Y�Vo'+{�St� X��sx}�V�z��8�%��fV����qQ ��J�e�7����,�D|��e��.�Ȃoc��-�!!2��b���[�&�Z�أ9� ;ǹ�e�mtd�w>oF��]~r��y�i����l��Yh���$�v�RAbE���a�e��ۘ��|8��%�X�eν�c�RK�)+GC�$��EY�}��`0*{�wW�6�ns�-�:W��% �=��z�qc�_r*w\�y���ւTk��z�֩�a�;�%��ᬔ�!d���e)5��K��*��-� �,RjqW��f:`�s��ۙ�b���z���Y��!�5Y]��L��W���^�e�7\����D�^� ��iYnA�T CyV/�����u@��]�S�X��" ȇ�U+冹 ���e�RԈ���hl�p���)��F�A��r�)g�̖,�Sa�q^�Ne�F";R\��lD/6� ��Ms'��tNt�4r�+�n.�� tVtz�k�c����hx-:#"��"�i��V���:����^a?<�:���+� lD�,4_�!`�&��F��r[���r���W���,�"�Y���S�J�g�g���<˖o`���L"n�A~���$�\�C0y���'>|�����b,����i�����8C�%菓r�0�'V�6wuijH����Й���Y!i�7����f�`>-����˗�c��s5ӂ���C�Փ�i~V������7>�hi���e�� �e��"Z&�qޙ��s.�&T�]o�(�q^�PO2������;B��R��Q)^Rf:�v��K��R��Շ|'��1�6"z(-?�ah���T�.�ߘ֊!�~*�K�+�U>Vj9�� x[V��2�\�K��ri���K tU.-[�A.-4X��$�q�g�� ���4N$E���W>d����J�~��jIs��~9�?��/�]��R�TW�̖���j��\�����֮��j�0Bz���HoR��Ge^�l�f��_�����h�oL�ji��7���ՆzS��N%�s����E�fB�f���nr(�j���9u$:������$��6�� �*��AvL.���y�'X��]`�ڂ^��U���f���uʾ�Sw�w�S�Q-�c{�kq�*���_��B������:�É�<�����e��çk~8��ݸ���q��%���t��6=�ń"��PU�����!g����'�)ѷZÇs�]��̋��]��������o@q����=&<u���e����Sendstream endobj -4374 0 obj << +4368 0 obj << /Type /Page -/Contents 4375 0 R -/Resources 4373 0 R +/Contents 4369 0 R +/Resources 4367 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R +/Parent 4296 0 R >> endobj -4376 0 obj << -/D [4374 0 R /XYZ 71.731 729.2652 null] +4370 0 obj << +/D [4368 0 R /XYZ 71.731 729.2652 null] >> endobj 838 0 obj << -/D [4374 0 R /XYZ 319.3549 705.7477 null] +/D [4368 0 R /XYZ 319.3549 705.7477 null] >> endobj -4377 0 obj << -/D [4374 0 R /XYZ 71.731 693.3097 null] +4371 0 obj << +/D [4368 0 R /XYZ 71.731 693.3097 null] >> endobj -4378 0 obj << -/D [4374 0 R /XYZ 270.8616 684.1886 null] +4372 0 obj << +/D [4368 0 R /XYZ 270.8616 684.1886 null] >> endobj -4379 0 obj << -/D [4374 0 R /XYZ 341.5855 640.3529 null] +4373 0 obj << +/D [4368 0 R /XYZ 341.5855 640.3529 null] >> endobj -4380 0 obj << -/D [4374 0 R /XYZ 89.9163 627.4015 null] +4374 0 obj << +/D [4368 0 R /XYZ 89.9163 627.4015 null] >> endobj -4381 0 obj << -/D [4374 0 R /XYZ 71.731 607.3119 null] +4375 0 obj << +/D [4368 0 R /XYZ 71.731 607.3119 null] >> endobj 1836 0 obj << -/D [4374 0 R /XYZ 71.731 576.4277 null] +/D [4368 0 R /XYZ 71.731 576.4277 null] >> endobj 842 0 obj << -/D [4374 0 R /XYZ 256.2435 533.3303 null] +/D [4368 0 R /XYZ 256.2435 533.3303 null] >> endobj -4382 0 obj << -/D [4374 0 R /XYZ 71.731 524.5074 null] +4376 0 obj << +/D [4368 0 R /XYZ 71.731 524.5074 null] >> endobj 1837 0 obj << -/D [4374 0 R /XYZ 71.731 496.6628 null] +/D [4368 0 R /XYZ 71.731 496.6628 null] >> endobj 846 0 obj << -/D [4374 0 R /XYZ 258.989 459.4473 null] +/D [4368 0 R /XYZ 258.989 459.4473 null] +>> endobj +4377 0 obj << +/D [4368 0 R /XYZ 71.731 452.095 null] +>> endobj +4378 0 obj << +/D [4368 0 R /XYZ 71.731 437.166 null] +>> endobj +4379 0 obj << +/D [4368 0 R /XYZ 71.731 432.1846 null] +>> endobj +4380 0 obj << +/D [4368 0 R /XYZ 81.6937 411.4274 null] +>> endobj +4381 0 obj << +/D [4368 0 R /XYZ 71.731 409.2706 null] +>> endobj +4382 0 obj << +/D [4368 0 R /XYZ 81.6937 398.476 null] >> endobj 4383 0 obj << -/D [4374 0 R /XYZ 71.731 452.095 null] +/D [4368 0 R /XYZ 71.731 383.3677 null] >> endobj 4384 0 obj << -/D [4374 0 R /XYZ 71.731 437.166 null] +/D [4368 0 R /XYZ 81.6937 372.5731 null] >> endobj 4385 0 obj << -/D [4374 0 R /XYZ 71.731 432.1846 null] +/D [4368 0 R /XYZ 71.731 370.4163 null] >> endobj 4386 0 obj << -/D [4374 0 R /XYZ 81.6937 411.4274 null] +/D [4368 0 R /XYZ 81.6937 359.6217 null] >> endobj 4387 0 obj << -/D [4374 0 R /XYZ 71.731 409.2706 null] +/D [4368 0 R /XYZ 71.731 344.5134 null] >> endobj 4388 0 obj << -/D [4374 0 R /XYZ 81.6937 398.476 null] +/D [4368 0 R /XYZ 81.6937 333.7188 null] >> endobj 4389 0 obj << -/D [4374 0 R /XYZ 71.731 383.3677 null] +/D [4368 0 R /XYZ 71.731 331.562 null] >> endobj 4390 0 obj << -/D [4374 0 R /XYZ 81.6937 372.5731 null] +/D [4368 0 R /XYZ 81.6937 320.7674 null] >> endobj 4391 0 obj << -/D [4374 0 R /XYZ 71.731 370.4163 null] +/D [4368 0 R /XYZ 71.731 305.6591 null] >> endobj 4392 0 obj << -/D [4374 0 R /XYZ 81.6937 359.6217 null] +/D [4368 0 R /XYZ 81.6937 294.8645 null] >> endobj 4393 0 obj << -/D [4374 0 R /XYZ 71.731 344.5134 null] +/D [4368 0 R /XYZ 71.731 292.7077 null] >> endobj 4394 0 obj << -/D [4374 0 R /XYZ 81.6937 333.7188 null] +/D [4368 0 R /XYZ 81.6937 281.9131 null] >> endobj 4395 0 obj << -/D [4374 0 R /XYZ 71.731 331.562 null] +/D [4368 0 R /XYZ 71.731 266.8048 null] >> endobj 4396 0 obj << -/D [4374 0 R /XYZ 81.6937 320.7674 null] +/D [4368 0 R /XYZ 81.6937 256.0102 null] >> endobj 4397 0 obj << -/D [4374 0 R /XYZ 71.731 305.6591 null] +/D [4368 0 R /XYZ 71.731 240.9019 null] >> endobj 4398 0 obj << -/D [4374 0 R /XYZ 81.6937 294.8645 null] +/D [4368 0 R /XYZ 81.6937 230.1073 null] +>> endobj +1838 0 obj << +/D [4368 0 R /XYZ 71.731 222.9692 null] +>> endobj +850 0 obj << +/D [4368 0 R /XYZ 243.8395 185.7537 null] >> endobj 4399 0 obj << -/D [4374 0 R /XYZ 71.731 292.7077 null] +/D [4368 0 R /XYZ 71.731 178.4013 null] >> endobj 4400 0 obj << -/D [4374 0 R /XYZ 81.6937 281.9131 null] +/D [4368 0 R /XYZ 71.731 158.491 null] >> endobj 4401 0 obj << -/D [4374 0 R /XYZ 71.731 266.8048 null] +/D [4368 0 R /XYZ 317.3926 134.745 null] >> endobj 4402 0 obj << -/D [4374 0 R /XYZ 81.6937 256.0102 null] +/D [4368 0 R /XYZ 232.3467 121.7935 null] >> endobj 4403 0 obj << -/D [4374 0 R /XYZ 71.731 240.9019 null] ->> endobj -4404 0 obj << -/D [4374 0 R /XYZ 81.6937 230.1073 null] +/D [4368 0 R /XYZ 71.731 119.6367 null] >> endobj -1838 0 obj << -/D [4374 0 R /XYZ 71.731 222.9692 null] ->> endobj -850 0 obj << -/D [4374 0 R /XYZ 243.8395 185.7537 null] ->> endobj -4405 0 obj << -/D [4374 0 R /XYZ 71.731 178.4013 null] ->> endobj -4406 0 obj << -/D [4374 0 R /XYZ 71.731 158.491 null] ->> endobj -4407 0 obj << -/D [4374 0 R /XYZ 317.3926 134.745 null] ->> endobj -4408 0 obj << -/D [4374 0 R /XYZ 232.3467 121.7935 null] ->> endobj -4409 0 obj << -/D [4374 0 R /XYZ 71.731 119.6367 null] ->> endobj -4373 0 obj << +4367 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4412 0 obj << -/Length 2969 +4406 0 obj << +/Length 2968 /Filter /FlateDecode >> stream @@ -18611,291 +18541,286 @@ vãi \���������oy����swX㰫Ha<!o�P5�p��#n��H�e 5m�9���4c��rx����!HQ��A�!�bh�V�����A?�/� qXy��);��FI�����Z�?NC��7~���Je��ۥ� LXc7�ZlE��1a�D�1��Z��3��(Uo���0[���ե�H~�U���$ә���7g�Mj1c�1�y���SQ�z�;$�Cg�*��>�J��\��S�)��x����i���h�Tb�*�mJ4��&i�1~���-�9����U�AR(���K�r�s�3��G�9 �6�l�a�>y7P�a�]�D�V�T�X�E=FA�,��G����R FG� ��[ہm��`����Q3FVy8�'!˦����S3�B��:���o.Q7kl5�}9Bo*��E W����p��w�� �w*o;�e���;��4�E�(L����v��X���;�rP����S�7�/^�� �y�ׅ)�g��gA�~�ca�:�QOn&XJ������Q���m���&���@b,��-9���YS���˪�϶>a�{�>�p��1��סط��:V7Qmf�M�O:0j�Qz�S�j[j��}�z5l��|�u�9�fו����71/�� H\y���dl�5ye�|H��[�SmPPY��`���J�7�#��|#���3����(}�K]�/��o>:<?M$�r�!k?hQC�E1��Px,yW�p(�}������4�χ� -�P��:�������\��ÄE�`]),��F8%��m ���מⷍ���IԑoZ�RJ>V�g��m$�1�]��2�}�M��s��� ���[�N��o�'��0���q�,�)�!�����0�E9�endstream +�P��:�������\��ÄE�`]),��F8%��m ���מⷍ���IԑoZ�RJ>V�g��m$�1�]��2�}�M��s��� ���[�N��o�'��0��Vݴ���L��92��D5�endstream endobj -4411 0 obj << +4405 0 obj << /Type /Page -/Contents 4412 0 R -/Resources 4410 0 R +/Contents 4406 0 R +/Resources 4404 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R +/Parent 4444 0 R +>> endobj +4407 0 obj << +/D [4405 0 R /XYZ 71.731 729.2652 null] +>> endobj +4408 0 obj << +/D [4405 0 R /XYZ 71.731 718.3063 null] +>> endobj +4409 0 obj << +/D [4405 0 R /XYZ 423.2461 708.3437 null] +>> endobj +4410 0 obj << +/D [4405 0 R /XYZ 71.731 657.1357 null] +>> endobj +4411 0 obj << +/D [4405 0 R /XYZ 205.0582 644.1843 null] +>> endobj +4412 0 obj << +/D [4405 0 R /XYZ 429.4863 644.1843 null] >> endobj 4413 0 obj << -/D [4411 0 R /XYZ 71.731 729.2652 null] +/D [4405 0 R /XYZ 71.731 611.1433 null] >> endobj 4414 0 obj << -/D [4411 0 R /XYZ 71.731 718.3063 null] +/D [4405 0 R /XYZ 475.4481 600.3487 null] >> endobj 4415 0 obj << -/D [4411 0 R /XYZ 423.2461 708.3437 null] +/D [4405 0 R /XYZ 71.731 559.3376 null] >> endobj 4416 0 obj << -/D [4411 0 R /XYZ 71.731 657.1357 null] +/D [4405 0 R /XYZ 71.731 554.3562 null] >> endobj 4417 0 obj << -/D [4411 0 R /XYZ 205.0582 644.1843 null] +/D [4405 0 R /XYZ 81.6937 533.599 null] >> endobj 4418 0 obj << -/D [4411 0 R /XYZ 429.4863 644.1843 null] +/D [4405 0 R /XYZ 491.5075 533.599 null] >> endobj 4419 0 obj << -/D [4411 0 R /XYZ 71.731 611.1433 null] +/D [4405 0 R /XYZ 71.731 520.548 null] >> endobj 4420 0 obj << -/D [4411 0 R /XYZ 475.4481 600.3487 null] +/D [4405 0 R /XYZ 81.6937 507.6961 null] >> endobj 4421 0 obj << -/D [4411 0 R /XYZ 71.731 559.3376 null] +/D [4405 0 R /XYZ 139.5162 494.7447 null] >> endobj 4422 0 obj << -/D [4411 0 R /XYZ 71.731 554.3562 null] +/D [4405 0 R /XYZ 71.731 492.5879 null] >> endobj 4423 0 obj << -/D [4411 0 R /XYZ 81.6937 533.599 null] +/D [4405 0 R /XYZ 81.6937 481.7933 null] >> endobj 4424 0 obj << -/D [4411 0 R /XYZ 491.5075 533.599 null] +/D [4405 0 R /XYZ 478.2916 481.7933 null] >> endobj 4425 0 obj << -/D [4411 0 R /XYZ 71.731 520.548 null] +/D [4405 0 R /XYZ 71.731 466.685 null] >> endobj 4426 0 obj << -/D [4411 0 R /XYZ 81.6937 507.6961 null] +/D [4405 0 R /XYZ 81.6937 455.8904 null] >> endobj 4427 0 obj << -/D [4411 0 R /XYZ 139.5162 494.7447 null] +/D [4405 0 R /XYZ 373.716 455.8904 null] >> endobj 4428 0 obj << -/D [4411 0 R /XYZ 71.731 492.5879 null] +/D [4405 0 R /XYZ 71.731 453.7336 null] >> endobj 4429 0 obj << -/D [4411 0 R /XYZ 81.6937 481.7933 null] +/D [4405 0 R /XYZ 81.6937 442.939 null] >> endobj 4430 0 obj << -/D [4411 0 R /XYZ 478.2916 481.7933 null] +/D [4405 0 R /XYZ 511.1135 442.939 null] >> endobj 4431 0 obj << -/D [4411 0 R /XYZ 71.731 466.685 null] +/D [4405 0 R /XYZ 71.731 427.8307 null] >> endobj 4432 0 obj << -/D [4411 0 R /XYZ 81.6937 455.8904 null] +/D [4405 0 R /XYZ 71.731 412.8867 null] >> endobj 4433 0 obj << -/D [4411 0 R /XYZ 373.716 455.8904 null] +/D [4405 0 R /XYZ 71.731 375.4919 null] >> endobj 4434 0 obj << -/D [4411 0 R /XYZ 71.731 453.7336 null] +/D [4405 0 R /XYZ 339.0302 323.6862 null] >> endobj 4435 0 obj << -/D [4411 0 R /XYZ 81.6937 442.939 null] +/D [4405 0 R /XYZ 96.6374 297.7833 null] >> endobj 4436 0 obj << -/D [4411 0 R /XYZ 511.1135 442.939 null] +/D [4405 0 R /XYZ 276.3221 297.7833 null] >> endobj 4437 0 obj << -/D [4411 0 R /XYZ 71.731 427.8307 null] +/D [4405 0 R /XYZ 71.731 295.6265 null] >> endobj 4438 0 obj << -/D [4411 0 R /XYZ 71.731 412.8867 null] +/D [4405 0 R /XYZ 71.731 280.6825 null] >> endobj 4439 0 obj << -/D [4411 0 R /XYZ 71.731 375.4919 null] +/D [4405 0 R /XYZ 187.6784 271.1831 null] >> endobj 4440 0 obj << -/D [4411 0 R /XYZ 339.0302 323.6862 null] +/D [4405 0 R /XYZ 71.731 219.9751 null] >> endobj 4441 0 obj << -/D [4411 0 R /XYZ 96.6374 297.7833 null] +/D [4405 0 R /XYZ 184.7759 207.0237 null] >> endobj 4442 0 obj << -/D [4411 0 R /XYZ 276.3221 297.7833 null] +/D [4405 0 R /XYZ 71.731 166.0125 null] >> endobj 4443 0 obj << -/D [4411 0 R /XYZ 71.731 295.6265 null] +/D [4405 0 R /XYZ 71.731 151.0686 null] >> endobj -4444 0 obj << -/D [4411 0 R /XYZ 71.731 280.6825 null] ->> endobj -4445 0 obj << -/D [4411 0 R /XYZ 187.6784 271.1831 null] ->> endobj -4446 0 obj << -/D [4411 0 R /XYZ 71.731 219.9751 null] ->> endobj -4447 0 obj << -/D [4411 0 R /XYZ 184.7759 207.0237 null] ->> endobj -4448 0 obj << -/D [4411 0 R /XYZ 71.731 166.0125 null] ->> endobj -4449 0 obj << -/D [4411 0 R /XYZ 71.731 151.0686 null] ->> endobj -4410 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R >> +4404 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4452 0 obj << -/Length 1783 +4447 0 obj << +/Length 1784 /Filter /FlateDecode >> stream -xڵXY��6~ϯ0�R�e$R�cR$E����-Z��jdIՑ�����e�Wv�-��C�9>�E+~�* D�`���q$W�����§_Lr�4�s���^�Wj��,����q*%Te�DI�FA�z(~�~��v0��^F� ?�e����q�OYUz���O��=LB#��,�75���u��L7g�� -��j�N����#o�QA�Ue?���e�c� ;CH�>iO˯������-�shF� �������N�ɩ��%E(��.���G9Ȉf�f~�f�[ß6k�{�v�� -���)�(-:ϛ��������u��C����l�4��ZXU�s�<Ф�%@�3yٖ��C����iݴV�h �0�rU��U� �k�%�,X�*�K�D��n���ozD���.��P�Aܙ�����I_2�,�_�G�*���y�74��6N��f-���I7�n�9�TM���aBT/G�X�N$�fgXvg4x�݉H]������u�<eo��2M��ǔ}�6�]3��W�њ%�����=����tgP!{�;�iu����P���z�T!��U�ª�]P�mX�. -Gi��P���t����0����y��q�:�����Ԃy�ٛMShE��=�ljHc�-�Q�G�*rܱ> �B��sz�j�Za,<ɬ8"��x�����rf����d����M(}_nk�`�4vY��-U�m]�7T9ㅚܱd�`H��t��֡8M��aJC�Tw���7�f�]����FΗ6��G&�BQ�'���"��������c�.k[�G[�jxr�9O��F3J!0�u�|�E4�+����Y<5g�S��1g��T滘��N�6�ҩ��l��2�#X�F[)R����ݹ���r-X�����Pؘ���G\��3=��y���hV"�R�{����� M>v�p���l�a����0P��֏`t6#'聚{�2~0�,3��F,����?vt=��L�P�I��4�4��*����%tn��C�Q�����F��=Ř�c�di�L����L[$\��#�@ըii�F��~�o�YpJoo��r!��ш���s �O.q�+:�75*�>LK�5?F�$�jg�K�@��BS�7Uq�-�f�9X!cU�5��BCU֟� -R�rc��$�܍?��a�3U�/9��Չ���؎A��ʿt��9�Y$fI�t��Dηs�QS72���eZNG�����ܕ.[7��8�����8��mgJҩ)�O -������eRw/�c>�7���<zAFpO����W�k�ay�P�7J7���:�<A�� -�ʥ��{γ�T�H��E�)���� T/݇ʄ -\v�Ტΰ$z}����=�.Y�L<����"Pj7֘ D��4���R�!ݞt��Sa""'�)��O`:�v:���2H ��8�7!Y �(VG�����(s���)L�7f�y����wz�"�ZD #�D AX��>����PA�1`Q�a��"N����q������E�@व���µ6�!�6�л��O�w&~��P���#� ��\s��ᚨ�/�zS=~�~,��\d��"3�xG�4d �`)p5k8�o�?�q�|j;���� -2A� �Cf��:2�Ӑ��lv�r`A���R��sb�;�+��J(�9�fo�䨞T��\������a尠.ƶ�bnBf���q��DQ����8ހ�Q=6�f�� -Z�-�a��%G�`j��4����D�h����d -�(7� -uO���0_�/���endstream +xڵXY��6~ϯ0�R�e$Q��I�>��yj�����YRu$p}g8CY�]t?��p��s��ʇ_�J�H�L�� +W�����§_Lr�4�s���^��r��,����*�R�Xe�D�"UA�z(~�~��v0��>T�������������*����W�&�J&"K��M�&�s��d����O��db5{����^��{TgU���yY�y����a(?iO˯������-�shF�����CS1���'�SIKR(��.���G9Ȉf�f~�f�[ß6�����^� ����TY(t�7]1� J����L�����]�.i,:8a�����y�I�K��ug�-M=Ї��5Ӻi�(2��a���+WA��x�`I+ŗ�D��n���oz(��l�Fw�d� �L���~�B_a�,�_��0�`E��Lohb/'l�|)�:�+�+B�&�X���@P 4��;� Q��b�z8����aٝ��Ew'"u�7�Mf��]��o�W�i�5�8����횱������$(�.� ����t�~�;� +ٓ�M�;�7�4����Գ� +A�ϬJV%�RoâuQ8J�Ű�j-���o��D���4�λf������p����ț��l��@+"%�)�`S�@��k9숒?:T���iXZ���CWUc��Z`�If��� +�U�+����:Q����3�97�P���֤�Hi�2 +�-��m]�7T9ㅚܱd�`H��t��֡8M��aJC�Tw���7�f�]����FΗ6��G&�BQ�'��V��i�(!i�>�Ĵ����ֆ���'#Γ?C�ьRL~]Ko���f76uO͙��3}̙6C.��.&a�ӵ��t*70�������V�A|l���Dwn'�F�\-(o�%6�5��ע�L��q��*�+�Հ�����# 6�2�F��]9h�{([wXq��3��0��#��H� z�&�����8���p���%;�Ǐ]Ϣ-�2q�H� ����L<���w �[�v�!�(kgwET�E#���bLƱH�4^&Slj�z[$\��#�@ըii�F��Kh4���ȳ��((����B��qG3�(�\�Wt:ojT}��t7r~�.)_��,qE��MA�T�I�T�Y�`��U �\� UY^f(H�ˍI���Bhp7�@���Tm���vV'�z�c;%*������gJ̒���%T��o疣�nd(�:ԃ˴�$�z3�B�+]�n�p4�iNjq2��Δ�SS6������Mˤ�^8�|o��� Q����m-�"���>��q��n�<n��u�<A�� +�ʥ��{γC(c�F��xS��} A�^�� ����eE�aI�����s�{D]�ęxl9�7b(Pj7֘ �0i���R�!ݞt��Q"���K�E(��O`:�v:��� ��6�xބd��U,�rQ�uQ�Щ�S�v'n�>�-�����EF�ZD*�$@�(�\7�|�1�����c���_�E�f�b1�xGu�܁�Ik1=�km�C�m��w-�러�L���v �0V0y1����5Q�_p��z�D�X4� *��@�Df��2��i�@��R�j�p�ߺ���A��vз��d�4A�E/�̜�ud&��!S7\�6�(����U�?������?vW����>(�r��8���Q=+�&��W3=;n��aA]�me�܄���3�r-��Q*}A�fo�樞Y��j����0{ݒ#]05JE����g4�D+� b�G��'���/�D��endstream endobj -4451 0 obj << +4446 0 obj << /Type /Page -/Contents 4452 0 R -/Resources 4450 0 R +/Contents 4447 0 R +/Resources 4445 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R -/Annots [ 4460 0 R ] +/Parent 4444 0 R +/Annots [ 4455 0 R ] >> endobj -4460 0 obj << +4455 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [461.7553 601.8581 521.8353 612.762] /Subtype /Link /A << /S /GoTo /D (groups) >> >> endobj -4453 0 obj << -/D [4451 0 R /XYZ 71.731 729.2652 null] +4448 0 obj << +/D [4446 0 R /XYZ 71.731 729.2652 null] >> endobj -4454 0 obj << -/D [4451 0 R /XYZ 71.731 741.2204 null] +4449 0 obj << +/D [4446 0 R /XYZ 71.731 741.2204 null] >> endobj -4455 0 obj << -/D [4451 0 R /XYZ 71.731 718.3063 null] +4450 0 obj << +/D [4446 0 R /XYZ 71.731 718.3063 null] >> endobj -4456 0 obj << -/D [4451 0 R /XYZ 164.9444 708.3437 null] +4451 0 obj << +/D [4446 0 R /XYZ 164.9444 708.3437 null] >> endobj -4457 0 obj << -/D [4451 0 R /XYZ 368.7175 708.3437 null] +4452 0 obj << +/D [4446 0 R /XYZ 368.7175 708.3437 null] >> endobj -4458 0 obj << -/D [4451 0 R /XYZ 273.8015 695.3923 null] +4453 0 obj << +/D [4446 0 R /XYZ 273.8015 695.3923 null] >> endobj 1839 0 obj << -/D [4451 0 R /XYZ 71.731 688.2541 null] +/D [4446 0 R /XYZ 71.731 688.2541 null] >> endobj 854 0 obj << -/D [4451 0 R /XYZ 228.9919 651.0386 null] +/D [4446 0 R /XYZ 228.9919 651.0386 null] >> endobj -4459 0 obj << -/D [4451 0 R /XYZ 71.731 643.6863 null] +4454 0 obj << +/D [4446 0 R /XYZ 71.731 643.6863 null] >> endobj 1840 0 obj << -/D [4451 0 R /XYZ 71.731 584.9216 null] +/D [4446 0 R /XYZ 71.731 584.9216 null] >> endobj 858 0 obj << -/D [4451 0 R /XYZ 258.6885 547.7061 null] +/D [4446 0 R /XYZ 258.6885 547.7061 null] >> endobj -4461 0 obj << -/D [4451 0 R /XYZ 71.731 540.3538 null] +4456 0 obj << +/D [4446 0 R /XYZ 71.731 540.3538 null] >> endobj -4462 0 obj << -/D [4451 0 R /XYZ 406.4083 514.6301 null] +4457 0 obj << +/D [4446 0 R /XYZ 406.4083 514.6301 null] >> endobj -4463 0 obj << -/D [4451 0 R /XYZ 512.6778 514.6301 null] +4458 0 obj << +/D [4446 0 R /XYZ 512.6778 514.6301 null] >> endobj 1841 0 obj << -/D [4451 0 R /XYZ 71.731 481.5891 null] +/D [4446 0 R /XYZ 71.731 481.5891 null] >> endobj 862 0 obj << -/D [4451 0 R /XYZ 204.4744 444.3736 null] +/D [4446 0 R /XYZ 204.4744 444.3736 null] +>> endobj +4459 0 obj << +/D [4446 0 R /XYZ 71.731 437.0213 null] +>> endobj +4460 0 obj << +/D [4446 0 R /XYZ 71.731 417.1109 null] +>> endobj +4461 0 obj << +/D [4446 0 R /XYZ 308.5793 406.3163 null] +>> endobj +4462 0 obj << +/D [4446 0 R /XYZ 71.731 393.2653 null] +>> endobj +4463 0 obj << +/D [4446 0 R /XYZ 71.731 378.3214 null] >> endobj 4464 0 obj << -/D [4451 0 R /XYZ 71.731 437.0213 null] +/D [4446 0 R /XYZ 71.731 365.3699 null] >> endobj 4465 0 obj << -/D [4451 0 R /XYZ 71.731 417.1109 null] +/D [4446 0 R /XYZ 91.6563 347.5367 null] >> endobj 4466 0 obj << -/D [4451 0 R /XYZ 308.5793 406.3163 null] +/D [4446 0 R /XYZ 71.731 337.4745 null] >> endobj 4467 0 obj << -/D [4451 0 R /XYZ 71.731 393.2653 null] +/D [4446 0 R /XYZ 71.731 323.4421 null] >> endobj 4468 0 obj << -/D [4451 0 R /XYZ 71.731 378.3214 null] +/D [4446 0 R /XYZ 91.6563 306.6899 null] >> endobj 4469 0 obj << -/D [4451 0 R /XYZ 71.731 365.3699 null] +/D [4446 0 R /XYZ 71.731 294.5704 null] >> endobj 4470 0 obj << -/D [4451 0 R /XYZ 91.6563 347.5367 null] +/D [4446 0 R /XYZ 71.731 282.5953 null] >> endobj 4471 0 obj << -/D [4451 0 R /XYZ 71.731 337.4745 null] +/D [4446 0 R /XYZ 91.6563 265.8431 null] >> endobj 4472 0 obj << -/D [4451 0 R /XYZ 71.731 323.4421 null] +/D [4446 0 R /XYZ 71.731 253.7236 null] >> endobj 4473 0 obj << -/D [4451 0 R /XYZ 91.6563 306.6899 null] +/D [4446 0 R /XYZ 71.731 241.7484 null] >> endobj 4474 0 obj << -/D [4451 0 R /XYZ 71.731 294.5704 null] +/D [4446 0 R /XYZ 91.6563 224.9962 null] >> endobj 4475 0 obj << -/D [4451 0 R /XYZ 71.731 282.5953 null] +/D [4446 0 R /XYZ 71.731 212.8768 null] >> endobj 4476 0 obj << -/D [4451 0 R /XYZ 91.6563 265.8431 null] +/D [4446 0 R /XYZ 71.731 199.9253 null] >> endobj 4477 0 obj << -/D [4451 0 R /XYZ 71.731 253.7236 null] +/D [4446 0 R /XYZ 91.6563 184.1494 null] >> endobj 4478 0 obj << -/D [4451 0 R /XYZ 71.731 241.7484 null] +/D [4446 0 R /XYZ 71.731 172.03 null] >> endobj 4479 0 obj << -/D [4451 0 R /XYZ 91.6563 224.9962 null] +/D [4446 0 R /XYZ 71.731 161.1358 null] >> endobj 4480 0 obj << -/D [4451 0 R /XYZ 71.731 212.8768 null] +/D [4446 0 R /XYZ 91.6563 143.3026 null] >> endobj 4481 0 obj << -/D [4451 0 R /XYZ 71.731 199.9253 null] +/D [4446 0 R /XYZ 71.731 131.1831 null] >> endobj 4482 0 obj << -/D [4451 0 R /XYZ 91.6563 184.1494 null] +/D [4446 0 R /XYZ 71.731 118.2317 null] >> endobj 4483 0 obj << -/D [4451 0 R /XYZ 71.731 172.03 null] ->> endobj -4484 0 obj << -/D [4451 0 R /XYZ 71.731 161.1358 null] ->> endobj -4485 0 obj << -/D [4451 0 R /XYZ 91.6563 143.3026 null] ->> endobj -4486 0 obj << -/D [4451 0 R /XYZ 71.731 131.1831 null] +/D [4446 0 R /XYZ 91.6563 102.4558 null] >> endobj -4487 0 obj << -/D [4451 0 R /XYZ 71.731 118.2317 null] ->> endobj -4488 0 obj << -/D [4451 0 R /XYZ 91.6563 102.4558 null] ->> endobj -4450 0 obj << +4445 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4491 0 obj << +4486 0 obj << /Length 1808 /Filter /FlateDecode >> @@ -18903,121 +18828,121 @@ stream xڵXK��6��0r���zQ�A���#h�-���E�Ddɐ�8�_��P�my76�A��p8�8/:���fi �>a.�D����ʟ�a��U�"�Y��n�n�D�,y&���,�"%2��Q(2d�����F�:����=)��Gk�5����S�j���OW�����(y����:�-LG��S����(����t�������tw�Or_ā�O��8�S Gs���X�a��c��f�Hd ���?V�Y�N�ؾuh.UE��(U�D��h���C]��c�l�h�C�qƲTmkP�3uu�82��gDe��T��ס�l4�_Ӡ�m������������3�A�����t�]��. ���i|.'�M��O�NQ���{8 Y7�%�d��,���!6�x�^�["6��S���� S�Q�`�4>����9��´��Ê��Sw���N5j{ �8KD�&���0�x�^�+�f��5�z�Iw���I4�`�$�M|�! d#���ߑX��B)b?� �Ro���fn4Q�Z�����F3Ѡ v� �C,��.;_��G���}%����~.x)��a����Ϊ�8i�Z��s�f��xK�i2��^j1��wٹ6��^�$">�J�%!C<aC/�� ��І��T�����)A���,��H��w��W�{�% ��gH�ؑ��!eN���c�m/���m4m�USЈ[�Ҵ�5-y�o���<$�~�!W=�P���OF��s�F7�ݑH�q+h��F��R9�l��D�)@�<l�rCõ��>��Z�CDH=�sOaV(�� �9X�d�u- �EI��c�oa���c�� �^�:u�Z��OStk���8Ɏ,�ᮬ�EK,nC�@�Y�K{�h��N,�`�"Ds����l����.CC���GQ.�4�לt�i�85E�+J�tgDΨ�>�(+��d{�a���<j��]����Bz-�=�y� �ǜ���k�q�� 1�~����E�En�z^b�uM"�[B�u�vpͪ�a9�.����{�D0va�b�**-����mC������N;����R�xj�%�7�W����&� �H��˲���e����[Ч��<�P�_���>�u{4������O{�x���{0��I߰� ]9��#)p�)�w�r�F>�^�-t'vZ^q��8�\�ugsQ2�|��ago� ^��Ä�v�0L��(C�@rM-`��4p,7�����<L���(��P�L�?�yY����p�n�l����Ե�;�r[o-f���T`� PLq�9d�̽�&�S��.F��(��i̗��l4I�Yo���\��8�p��e�j�Q�Kײ�v�lkb�5�質����Ѣ�|Ya��6�����2N�L5}Ob8�}ٙ�k�͖#v�_��Ӟ����k�(x���p"�A�YmA#OQ %6~˂Ƚ�i ����Hٖ�k^��a���P�#�VŃʿ��,^��55/�5u�_v/�:���yJpQ�<�L����7�c��z !Eu}���y{|؝RDsM>ݨ������mX������Ƚ[6B�������t���e�(9϶�<ʶ$���&$H����>�x�VW��� -���E.G.G�L�31�P^����0�X�-`�n����`���3�f���s�a��HdX5K��TQha�k ���(��"Y: �)��xw���#E��Ԃ�M{�$o�3�G�塺�H�I�gT�S�\�G6�@.)f.?�E$����d���!>��ׄ�g��o'6�XI��endstream +���E.G.G�L�31�P^����0�X�-`�n����`���3�f���s�a��HdX5K��TQha�k ���(��"Y: �)��xw���#E��Ԃ�M{�$o�3�G�塺�H�I�gT�S�\�G6�@.)f.?�E$����d���!>��ׄ����o'6�Y���endstream endobj -4490 0 obj << +4485 0 obj << /Type /Page -/Contents 4491 0 R -/Resources 4489 0 R +/Contents 4486 0 R +/Resources 4484 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R -/Annots [ 4512 0 R ] +/Parent 4444 0 R +/Annots [ 4507 0 R ] >> endobj -4512 0 obj << +4507 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [477.0161 456.5853 523.8667 467.1676] /Subtype /Link /A << /S /GoTo /D (cust-change-permissions) >> >> endobj -4492 0 obj << -/D [4490 0 R /XYZ 71.731 729.2652 null] +4487 0 obj << +/D [4485 0 R /XYZ 71.731 729.2652 null] >> endobj 1941 0 obj << -/D [4490 0 R /XYZ 71.731 741.2204 null] +/D [4485 0 R /XYZ 71.731 741.2204 null] +>> endobj +4488 0 obj << +/D [4485 0 R /XYZ 71.731 718.3063 null] +>> endobj +4489 0 obj << +/D [4485 0 R /XYZ 71.731 706.1869 null] +>> endobj +4490 0 obj << +/D [4485 0 R /XYZ 91.6563 690.4109 null] +>> endobj +4491 0 obj << +/D [4485 0 R /XYZ 71.731 667.3973 null] +>> endobj +4492 0 obj << +/D [4485 0 R /XYZ 91.6563 649.5641 null] >> endobj 4493 0 obj << -/D [4490 0 R /XYZ 71.731 718.3063 null] +/D [4485 0 R /XYZ 71.731 637.4447 null] >> endobj 4494 0 obj << -/D [4490 0 R /XYZ 71.731 706.1869 null] +/D [4485 0 R /XYZ 71.731 624.4932 null] >> endobj 4495 0 obj << -/D [4490 0 R /XYZ 91.6563 690.4109 null] +/D [4485 0 R /XYZ 91.6563 608.7173 null] >> endobj 4496 0 obj << -/D [4490 0 R /XYZ 71.731 667.3973 null] +/D [4485 0 R /XYZ 71.731 596.5978 null] >> endobj 4497 0 obj << -/D [4490 0 R /XYZ 91.6563 649.5641 null] +/D [4485 0 R /XYZ 71.731 583.6464 null] >> endobj 4498 0 obj << -/D [4490 0 R /XYZ 71.731 637.4447 null] +/D [4485 0 R /XYZ 91.6563 567.8705 null] >> endobj 4499 0 obj << -/D [4490 0 R /XYZ 71.731 624.4932 null] +/D [4485 0 R /XYZ 71.731 555.751 null] >> endobj 4500 0 obj << -/D [4490 0 R /XYZ 91.6563 608.7173 null] +/D [4485 0 R /XYZ 71.731 544.8569 null] >> endobj 4501 0 obj << -/D [4490 0 R /XYZ 71.731 596.5978 null] +/D [4485 0 R /XYZ 91.6563 527.0236 null] >> endobj 4502 0 obj << -/D [4490 0 R /XYZ 71.731 583.6464 null] +/D [4485 0 R /XYZ 71.731 516.9615 null] >> endobj 4503 0 obj << -/D [4490 0 R /XYZ 91.6563 567.8705 null] +/D [4485 0 R /XYZ 71.731 501.9527 null] >> endobj 4504 0 obj << -/D [4490 0 R /XYZ 71.731 555.751 null] +/D [4485 0 R /XYZ 91.6563 486.1768 null] >> endobj 4505 0 obj << -/D [4490 0 R /XYZ 71.731 544.8569 null] +/D [4485 0 R /XYZ 71.731 484.02 null] >> endobj 4506 0 obj << -/D [4490 0 R /XYZ 91.6563 527.0236 null] ->> endobj -4507 0 obj << -/D [4490 0 R /XYZ 71.731 516.9615 null] ->> endobj -4508 0 obj << -/D [4490 0 R /XYZ 71.731 501.9527 null] ->> endobj -4509 0 obj << -/D [4490 0 R /XYZ 91.6563 486.1768 null] ->> endobj -4510 0 obj << -/D [4490 0 R /XYZ 71.731 484.02 null] ->> endobj -4511 0 obj << -/D [4490 0 R /XYZ 71.731 469.076 null] +/D [4485 0 R /XYZ 71.731 469.076 null] >> endobj 1939 0 obj << -/D [4490 0 R /XYZ 71.731 421.7185 null] +/D [4485 0 R /XYZ 71.731 421.7185 null] >> endobj 866 0 obj << -/D [4490 0 R /XYZ 275.2321 376.4642 null] +/D [4485 0 R /XYZ 275.2321 376.4642 null] >> endobj -4513 0 obj << -/D [4490 0 R /XYZ 71.731 364.293 null] +4508 0 obj << +/D [4485 0 R /XYZ 71.731 364.293 null] >> endobj 1940 0 obj << -/D [4490 0 R /XYZ 71.731 327.219 null] +/D [4485 0 R /XYZ 71.731 327.219 null] >> endobj 870 0 obj << -/D [4490 0 R /XYZ 174.0752 289.6299 null] +/D [4485 0 R /XYZ 174.0752 289.6299 null] >> endobj -4514 0 obj << -/D [4490 0 R /XYZ 71.731 279.4872 null] +4509 0 obj << +/D [4485 0 R /XYZ 71.731 279.4872 null] >> endobj -4515 0 obj << -/D [4490 0 R /XYZ 71.731 262.3672 null] +4510 0 obj << +/D [4485 0 R /XYZ 71.731 262.3672 null] >> endobj -4516 0 obj << -/D [4490 0 R /XYZ 71.731 220.5889 null] +4511 0 obj << +/D [4485 0 R /XYZ 71.731 220.5889 null] >> endobj -4517 0 obj << -/D [4490 0 R /XYZ 71.731 174.6959 null] +4512 0 obj << +/D [4485 0 R /XYZ 71.731 174.6959 null] >> endobj -4518 0 obj << -/D [4490 0 R /XYZ 71.731 143.8118 null] +4513 0 obj << +/D [4485 0 R /XYZ 71.731 143.8118 null] >> endobj -4489 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +4484 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4521 0 obj << +4516 0 obj << /Length 2612 /Filter /FlateDecode >> @@ -19029,148 +18954,150 @@ M Z3�\,�K��B�K�߱VʲŮ[j��Y�ؓ�]+�hޞ�ee��F�p{����\����uc�����$W�e�L���.����l656���R�T����+�ԵR��u ]hY�!c?��B���p0XD@�� 9��D v�|1�x��� �:�iG���`r���C�,�3"��IZ��$*Ifx�$�� {I����|<N��7)��km6�6x��9���Uɾ���4�ZUw�=�}Q��i�����3l������侞��Xt�Ú�%`AdfCo<��V q#=q��f|&�Wj�+���zR ��+A[�T(�k$*���x [��Ꮵ+��{�rBw�U�����,xk���Z���-�"����n�j������]]3T�{�90�l�Xl)��Zt�m���6_�>Ctr7��}�e�ow_�?��}\4v>?<20b�Q�e�2*��z��H���T�j�YM�ٛ�x�-��m2�e��b�8�d[/s�p�4����*�8@��L�%�!A�����H�(�\2���|�ѕ�L��xd싷3���:�;OwA���7�FV�!G}��W}�� 8��P����r�k��h��rK= ө��)��-����Vr�q�^Uoy.�6"KIi�I].ZQbN�B=��0�7}O�,����"���Ὤ����I=�I=E�N����Z�ۙ Œ��v��;� Y�˽c4?0D鬾�LGKa 8&���j<�.��<�2�oEH�?�n{�n�r�V����W<< ����ux`C ̡�(��3Ql\F,qK(�p*�'ij�(1�Z�6.�5V���<ю�|4C!�Jhi�o.�&$0�c��x+��:y�{�fQ��������+u;�}{�aj�i�vM$�i�Z�bObr���"P,��X���pN��@b��0F������[(Όhm�pr|�x��r:)>�5��� �I���W��E��eqv�Z�Q-�y�nE��6��8�c���G�>�t0��ʙڬ�Y��rN��4�/�;�Pm;kJ���u]�S:A�Ęc+zdF��?���O'��Jy6_/U>��ǡ�aL�c�>���i�&m�JU��S/��ׄ�ĝ���ʛ=����G�D�4�=yb{r�[�]���k�C2�41"���)���G[�=6M�}��c�����1��Z!i_;{G!�ř�o��6� =7�SZ��,O&q6����f�e��6@ -�ɬ)��1_n�_P�T�R��]�q��D�gּ��R���odJz~�Y�"3����sf��Y� (?ᅩ�zq���)'8/����q�,��P&����+��ͦ�endstream +�ɬ)��1_n�_P�T�R��]�q��D�gּ��R���odJz~�Y�"3����sf��Y� (?ᅩ�zq���)'8/����q�,��P&I���+����endstream endobj -4520 0 obj << +4515 0 obj << /Type /Page -/Contents 4521 0 R -/Resources 4519 0 R +/Contents 4516 0 R +/Resources 4514 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4372 0 R +/Parent 4444 0 R >> endobj -4522 0 obj << -/D [4520 0 R /XYZ 71.731 729.2652 null] +4517 0 obj << +/D [4515 0 R /XYZ 71.731 729.2652 null] >> endobj 874 0 obj << -/D [4520 0 R /XYZ 165.3097 651.0386 null] +/D [4515 0 R /XYZ 165.3097 651.0386 null] >> endobj -4523 0 obj << -/D [4520 0 R /XYZ 71.731 643.6863 null] +4518 0 obj << +/D [4515 0 R /XYZ 71.731 643.6863 null] >> endobj -4524 0 obj << -/D [4520 0 R /XYZ 71.731 623.7759 null] +4519 0 obj << +/D [4515 0 R /XYZ 71.731 623.7759 null] >> endobj -4525 0 obj << -/D [4520 0 R /XYZ 71.731 574.0275 null] +4520 0 obj << +/D [4515 0 R /XYZ 71.731 574.0275 null] >> endobj -4526 0 obj << -/D [4520 0 R /XYZ 71.731 559.0835 null] +4521 0 obj << +/D [4515 0 R /XYZ 71.731 559.0835 null] >> endobj -4527 0 obj << -/D [4520 0 R /XYZ 71.731 507.9751 null] +4522 0 obj << +/D [4515 0 R /XYZ 71.731 507.9751 null] >> endobj -4528 0 obj << -/D [4520 0 R /XYZ 71.731 461.9826 null] +4523 0 obj << +/D [4515 0 R /XYZ 71.731 461.9826 null] >> endobj 1942 0 obj << -/D [4520 0 R /XYZ 71.731 412.2342 null] +/D [4515 0 R /XYZ 71.731 412.2342 null] >> endobj 878 0 obj << -/D [4520 0 R /XYZ 211.4968 377.863 null] +/D [4515 0 R /XYZ 211.4968 377.863 null] >> endobj -4529 0 obj << -/D [4520 0 R /XYZ 71.731 369.2255 null] +4524 0 obj << +/D [4515 0 R /XYZ 71.731 369.2255 null] >> endobj -4530 0 obj << -/D [4520 0 R /XYZ 71.731 312.9415 null] +4525 0 obj << +/D [4515 0 R /XYZ 71.731 312.9415 null] >> endobj -4531 0 obj << -/D [4520 0 R /XYZ 71.731 269.1059 null] +4526 0 obj << +/D [4515 0 R /XYZ 71.731 269.1059 null] >> endobj -4532 0 obj << -/D [4520 0 R /XYZ 71.731 238.2217 null] +4527 0 obj << +/D [4515 0 R /XYZ 71.731 238.2217 null] >> endobj -4533 0 obj << -/D [4520 0 R /XYZ 71.731 207.3376 null] +4528 0 obj << +/D [4515 0 R /XYZ 71.731 207.3376 null] >> endobj 1943 0 obj << -/D [4520 0 R /XYZ 71.731 189.4048 null] +/D [4515 0 R /XYZ 71.731 189.4048 null] >> endobj 882 0 obj << -/D [4520 0 R /XYZ 255.5989 156.0946 null] +/D [4515 0 R /XYZ 255.5989 156.0946 null] >> endobj -4534 0 obj << -/D [4520 0 R /XYZ 71.731 147.4571 null] +4529 0 obj << +/D [4515 0 R /XYZ 71.731 147.4571 null] >> endobj -4519 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +4514 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4537 0 obj << +4532 0 obj << /Length 2072 /Filter /FlateDecode >> stream -xڝM����~���ڈ�X�%[�I�W��!٢(�h����DU��q~}g8C���)P��p8�7/v�ŋCR�%E��Y�(�O�����)f�-�lC��_?}�9MET�I�x=/�i�yV,i���x�~Y��*�A��m��VYD��^�~����Z�}���W�i�����T2O�,[rds���t��d;���.^��@���u�[�����$�Yǫ�N�տw��T�h��}��Q�5� �R��i��:�9V�U��`�r T7�jUn+ڊ����r�������-Q����q��Z�HG3�F�ƶqY��篥1d��2$ ���c=�HT)��+q3re���%q�Gm�F�]��n�E�-,9W�����bxYh#X��Q��]���ŧ}�P��!��ߛBU���1f�h�k-��IҔU<"��@Ï^�{�fDym��/��h+U�A2�oD����'�g����)e?�Ι -�%9v~����:dhĔΎ�D�m٘j`Ck��{�,ʦ�ڃ?���Ä�IN�������=�pM����$?b��M��0���sRY�c��@@��y���(>�#������$���*3�bp��x��Z�R�f�7cˉ�74"�Cm���(V��3������x<�������M;���u}D/��qp�)_ {=!�H�04!���%h��2���P�����ݶ�N�T�.#M��B���e���|Պ��P��\�@�b�~�%���YҠsFD� -3�j�h�V�o:`f$�~C�E fac�<ABlM'Ke��ɿ,���!�J��W'�Q��)^T�r�в�� �p �Ӎ��6�߂H$�V4]-7��F�}�il�/��V�ʯ\�T���/ k����Ѡ�s���Q��d��'� u��Rv������<[mh���jf&^�!pg��A��i,H�I�Ӝ���Ԁqj �(;ds"O"����ޥ-�Ԏp,����@�����8���m1`�G1 ����j�2;�����騭�`����r�h<�X�dt-��P���J��'�R�.�ꚀN�Q\��9�L����]��P�4��$ͧq�\/H�8��#4�[�N����t#ك���Z~�d�;� �����b�`� �bN$��{zea����ӓrE��9���9.�&��O�L�Ț��}�r��J<�]�{,r�8����:)zC+p����O��l�ڦ�KY)f{��%�u�"��;�E�"qq��Ʌ?�f(��j�X���S�W}?ռy����Y ^\�y�`H�Rp�����\� �5��<lr�Ь<��vN(���w��p`�{}3�C-��}E�_?r -��8]/�E��ol���6P�1��yҐmh�����Xa�����oA!�H9{w䳉�k��(>������s�kfI�����t���O2\;�G��ѣl�:ӟ<�j�W�/ +xڝM����~���ڈ��ò�\���+����lQi�D��J�*J�8��3�!M��(t�p8�L1|��D�~i��<]�ͧxq���~J�d�4ې���O_βE�t�x=/vYe��X�4:��q�Z����Ut����4�WyD��^�~����Z�}���W�i�����T2O�,[zds���Q��V�����,NV7="���b�ƫ��I���1�d5��i��w����@��e�ҭ�L���%L#��I�X WI�J��ˁP�x�U�!�h+������s/�3ʶD!o4��Sƥ�kY ���&iT��Ξ��Ɛ �+�L�$��g^��@#Q �&���D���-�C�&�� �(�Dž�(�`[Xr8�>�������F�*M�</R��;Z���ʡX)C8A�7��� Tb� ��5�Z���)�xDh7��/�R���0��ڀ�y_�#��V��d�߈����O,D�$ +\�%��S�~��3�Kr��� R-�!t�Ј)�+�۲1����h���Y�Mk�R��'� ӓ�.tw�!��=8{�ᚥG�����49`����ߓ���96�$0�$(��7[���=2)(��,O҉�Q�2C/�ϋ'[q�%/�!jLq3��h{C#>ԶO�bE�1c���[ �ǃ�8�:kh-۴�M^�G�����+Ac�'���&���^~�$�[F�{����aU���V�)� +�e�Ip^�5���~X�_��a.���)�2����s )�b�4�������)Z�U��I��PxQ�Y�=O�[��R��Ah�/��&*@����A�������zԮ���E�U�1�l�l�0��t���M� �I�MW��l���u�m�X�˒�U@��+�=e�K�Zs�"r@4(��i�l"%(��$H�������0�����z��64�~U53��� +[�|P@NfwR�CR��4'.�)5`�Z(���ȓH<<Fb�siA4�#��+�yx#�fz��(-db[��QH2���Z���{wD��A:jk8�nD�F굜��,�>]�a6��8����p�ɰ����&��`�?rN4����s���"�%.�#4I�YR8��<�;��������!�9�G�`g=���.�9�Τpar|20����xFð� �C�^�^YX=(��}����\QzqN��j������S=����hi���<kW��=R��Rt����8� ��N�֧`�R6`mS�����{ג�:q����"Q�������r +� �^P5C�_�J������j����,/.�<i0�E)����jw��P.Ȅ�_f6�yhV��t;' ���;�B80����͡����߯9�x����"a��7� 6���6P�1��yҐmh�����Xa�����oA!�H9{w䳉�k��(>������s�kfI�����t���O2\;�G��ѣl�:ӟ<�j�W�/ S?Bg�`��� -8[[����9�o�Cq��&��cȈt��<X��Tm������J���y9�f96M�d�3a8��{ʎ��p�!�Z�×o4�o�Bx*-8�^�ET�M���Eg�l�:���h�j�� �G�"M�T ރ�93��H���ٛ��<!$!2.]�����n:��s3�v�^�Y�e!��Z�Vf�h��9/R��>��F�D/ۗIc�şTL�'�o3q�BȬ�/>�~����$��&�w�B�����W�خq��c��_��,�0��N�R�ϳ#V6�� z����m��d�a<�,g��[��Q6�"c��̂�{Mt���2�r�}�*�iKJ�����Gl�E_^m������5�V<1c���N� άY��N5�us���V]��^�?Rj%����YQ����r۵���X�&([�<���Gy�b^�cAQ�XS�ħ+����m�H��PFUo���C��`�;6���U��K�0���3M�Xr#ț�Z�?������?�⭽�]�� n4}��w��1:�y�����{��]\��xL>|T�����\=endstream +8[[����9�o�8�OfϿ� dD���n��S��}�����J���yy�P���4U�)΄���)1�y�C��/?�h�'���TZp������;�Δ�~uVŵ���Z;r�@D((�H���s�T��/��7gyBHB�\��� K�t��[�f��ܽ6�^�Bpq������0�s^��|�����^�/��ċ?��xO8�f.✅�Y�'<^|���&��4��&�w�B�����W�Įq��c��_��,�0��N�Q�ϳ#V6�� z����m��d�a<�,g��[��Q6�"c��̂�{Mt���2�r�}�*�iKJ�����Gl�E_^m������5�V<1c���N� ɭY��N5�us���V]��^�?Rj%����YQ����r۵���X�&(_�<���Gy�b^�cAQ�XS�ħ+����m�H��PNUoc�ǡ{n��f�P�*����e�P����s,���D��q�ait�M��� ���7��r����}�����{��8) +� E<�>��l�_ݐ\;endstream endobj -4536 0 obj << +4531 0 obj << /Type /Page -/Contents 4537 0 R -/Resources 4535 0 R +/Contents 4532 0 R +/Resources 4530 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R +/Parent 4444 0 R >> endobj -4538 0 obj << -/D [4536 0 R /XYZ 71.731 729.2652 null] +4533 0 obj << +/D [4531 0 R /XYZ 71.731 729.2652 null] >> endobj -4539 0 obj << -/D [4536 0 R /XYZ 71.731 741.2204 null] +4534 0 obj << +/D [4531 0 R /XYZ 71.731 741.2204 null] >> endobj -4540 0 obj << -/D [4536 0 R /XYZ 71.731 718.3063 null] +4535 0 obj << +/D [4531 0 R /XYZ 71.731 718.3063 null] >> endobj 1944 0 obj << -/D [4536 0 R /XYZ 71.731 668.3288 null] +/D [4531 0 R /XYZ 71.731 668.3288 null] >> endobj 886 0 obj << -/D [4536 0 R /XYZ 159.5974 625.2314 null] +/D [4531 0 R /XYZ 159.5974 625.2314 null] >> endobj -4541 0 obj << -/D [4536 0 R /XYZ 71.731 612.7934 null] +4536 0 obj << +/D [4531 0 R /XYZ 71.731 612.7934 null] >> endobj -4542 0 obj << -/D [4536 0 R /XYZ 71.731 583.5826 null] +4537 0 obj << +/D [4531 0 R /XYZ 71.731 583.5826 null] >> endobj -4543 0 obj << -/D [4536 0 R /XYZ 71.731 552.6984 null] +4538 0 obj << +/D [4531 0 R /XYZ 71.731 552.6984 null] >> endobj -4544 0 obj << -/D [4536 0 R /XYZ 71.731 495.9114 null] +4539 0 obj << +/D [4531 0 R /XYZ 71.731 495.9114 null] >> endobj -4545 0 obj << -/D [4536 0 R /XYZ 71.731 465.0272 null] +4540 0 obj << +/D [4531 0 R /XYZ 71.731 465.0272 null] >> endobj -4546 0 obj << -/D [4536 0 R /XYZ 71.731 434.143 null] +4541 0 obj << +/D [4531 0 R /XYZ 71.731 434.143 null] >> endobj -4547 0 obj << -/D [4536 0 R /XYZ 71.731 403.2588 null] +4542 0 obj << +/D [4531 0 R /XYZ 71.731 403.2588 null] >> endobj -4548 0 obj << -/D [4536 0 R /XYZ 71.731 359.4232 null] +4543 0 obj << +/D [4531 0 R /XYZ 71.731 359.4232 null] >> endobj 1945 0 obj << -/D [4536 0 R /XYZ 71.731 315.5876 null] +/D [4531 0 R /XYZ 71.731 315.5876 null] >> endobj 890 0 obj << -/D [4536 0 R /XYZ 182.7004 272.4901 null] +/D [4531 0 R /XYZ 182.7004 272.4901 null] >> endobj -4549 0 obj << -/D [4536 0 R /XYZ 71.731 260.0521 null] +4544 0 obj << +/D [4531 0 R /XYZ 71.731 260.0521 null] >> endobj -4550 0 obj << -/D [4536 0 R /XYZ 71.731 209.9198 null] +4545 0 obj << +/D [4531 0 R /XYZ 71.731 209.9198 null] >> endobj -4535 0 obj << +4530 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4554 0 obj << +4548 0 obj << /Length 2521 /Filter /FlateDecode >> @@ -19187,206 +19114,206 @@ qW �"�p(���(D⇦� ��y�}[��L�Cข�˲"&uɕ��� Dg>x��~IO�ri�\���K-ci����zH� |�������w�p���@����a��#8�rBmyD�&�%���霿u)���*�N�&'�㜍����$�t'�5����$�^Q*��H���b֙�W��A�X�;* ��$�e ��+œ?m�=�W � .��%q�����pF>{pB�!Z��B���h*��Q������ -����g���x�|�*���߯^��W���^-�Ƈ"|����>�����e*�I~����d*�y>\h�̾���DX���)iendstream +����g���x�|�*���߯^��W���^-�Ƈ"|����>�����e*�I~����d*�y>\h�L����DX�)gendstream endobj -4553 0 obj << +4547 0 obj << /Type /Page -/Contents 4554 0 R -/Resources 4552 0 R +/Contents 4548 0 R +/Resources 4546 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R -/Annots [ 4559 0 R 4562 0 R ] +/Parent 4444 0 R +/Annots [ 4553 0 R 4556 0 R ] >> endobj -4559 0 obj << +4553 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [137.4191 566.6638 191.7475 575.4349] /Subtype /Link /A << /S /GoTo /D (installation-whining) >> >> endobj -4562 0 obj << +4556 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [363.9329 516.7411 419.5802 527.2157] /Subtype /Link /A << /S /GoTo /D (installation-whining-cron) >> >> endobj -4555 0 obj << -/D [4553 0 R /XYZ 71.731 729.2652 null] +4549 0 obj << +/D [4547 0 R /XYZ 71.731 729.2652 null] >> endobj -4556 0 obj << -/D [4553 0 R /XYZ 118.5554 689.7049 null] +4550 0 obj << +/D [4547 0 R /XYZ 118.5554 689.7049 null] >> endobj -4557 0 obj << -/D [4553 0 R /XYZ 118.5554 650.9517 null] +4551 0 obj << +/D [4547 0 R /XYZ 118.5554 650.9517 null] >> endobj -4558 0 obj << -/D [4553 0 R /XYZ 71.731 586.0949 null] +4552 0 obj << +/D [4547 0 R /XYZ 71.731 586.0949 null] >> endobj -4560 0 obj << -/D [4553 0 R /XYZ 76.7123 551.2063 null] +4554 0 obj << +/D [4547 0 R /XYZ 76.7123 551.2063 null] >> endobj -4561 0 obj << -/D [4553 0 R /XYZ 71.731 531.281 null] +4555 0 obj << +/D [4547 0 R /XYZ 71.731 531.281 null] >> endobj 1946 0 obj << -/D [4553 0 R /XYZ 76.7123 490.0357 null] +/D [4547 0 R /XYZ 76.7123 490.0357 null] >> endobj 894 0 obj << -/D [4553 0 R /XYZ 188.1488 450.6633 null] +/D [4547 0 R /XYZ 188.1488 450.6633 null] >> endobj -4563 0 obj << -/D [4553 0 R /XYZ 71.731 443.311 null] +4557 0 obj << +/D [4547 0 R /XYZ 71.731 443.311 null] >> endobj -4564 0 obj << -/D [4553 0 R /XYZ 71.731 410.4492 null] +4558 0 obj << +/D [4547 0 R /XYZ 71.731 410.4492 null] >> endobj -4565 0 obj << -/D [4553 0 R /XYZ 71.731 353.6621 null] +4559 0 obj << +/D [4547 0 R /XYZ 71.731 353.6621 null] >> endobj 1947 0 obj << -/D [4553 0 R /XYZ 71.731 323.1516 null] +/D [4547 0 R /XYZ 71.731 323.1516 null] >> endobj 898 0 obj << -/D [4553 0 R /XYZ 243.7971 285.5624 null] +/D [4547 0 R /XYZ 243.7971 285.5624 null] >> endobj -4566 0 obj << -/D [4553 0 R /XYZ 71.731 275.1974 null] +4560 0 obj << +/D [4547 0 R /XYZ 71.731 275.1974 null] >> endobj -4567 0 obj << -/D [4553 0 R /XYZ 71.731 232.3969 null] +4561 0 obj << +/D [4547 0 R /XYZ 71.731 232.3969 null] >> endobj -4568 0 obj << -/D [4553 0 R /XYZ 71.731 193.5426 null] +4562 0 obj << +/D [4547 0 R /XYZ 71.731 193.5426 null] >> endobj -4569 0 obj << -/D [4553 0 R /XYZ 118.5554 154.9786 null] +4563 0 obj << +/D [4547 0 R /XYZ 118.5554 154.9786 null] >> endobj -4552 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R >> +4546 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4572 0 obj << -/Length 2750 +4566 0 obj << +/Length 2751 /Filter /FlateDecode >> stream -xڍَ��}���'����3o�`'���}�A6d����%���z�~�"u�g ���b�X��e���O��%>A�q���;u���SB��ݘ���w?��z�yYī��*���q��xi�����뿟�[g��.��u����mY���?})/�|������m���R��U��R� �fO駞uB��Rf��A�~�=���o��FEk�jo�(���ѝ ���o~��O�T]��~.�3 5��̸�U�BS�x/�M_myF�)�u�Yݙ��;>&�P^Eȼ���T�k��N^���1��X@?eaL����F)MR]�W���0,��mRd�s���0M���F�Ռ��v|3[Y�,�o",r��V6�/��G�'�Hc���Aˆ���g�$�1�s���u���ሄ�� �w�gs�i4�ڴUuǀ���Ag,�NV啝�蟶W���� �S2G��u�H$�a^u�Ya7-��Ԡ��'�g9��̖ɚL�u�_ �y�dz�q������z��-O�G�a��a�f4�8b�A�b������"[���u+BV�uo��`%�)�r�3�r���gB���`e��u� -�� �#��T�N)�{�� ���t� ���}uʎ9^�tga�B����H�ݙ!t�����_n�aX�8�k��g�����%),"Dی���B��_�.���^��L�����Dz��ž�I�՝�+��8�<���dw��$�d�M��$19<��M��Z������+0�-�ZV�^�U-Ӝp���Q����0� ����wH��[��5�k��b�K���9/�v�ʺ�3�*�;��8�Y'/?�%��B���!��3 a�A� 8n PW]S�1^%��1�)�Pz�]��+��2��T 2:;�����î�B��Ƭ��8�p��L�$#�G�/�lpӑ��rB!L�ߜ?�x��^��L�3�7�Z�K}�}�6[��\ݼ�Z�w�3[PA$��E���}Lupg|��+��+o ���2HN _�_��e�K#�����x0�&0:�mZ~&/β�p(�n�˰����[�W!T�q�n�sN'Pg&��#OA��1�_�ٴa���T��1�y�kR�K�{*9��D"jE�3�jY8*)ᛷm]�lմ���/��b#��1� (��x��1v���D0���5�췗]8+����A�$"eɼe=L�95.pD���A��Q ���.E ;���^�T��Κ9��D͙S��tjYՊ���V)���j��������1 )�|y&P�k]�٘�2�h����i�)-��"���D��xݤ��� m.�.iMd���*�Uq�fL�""�q�]WW������1q�AӢ2ECEh&"��V~ee���x��%zfUr�<���a���h�9+(�S��Ǻ�)`c� >:k�9N晻ܠ���I����ÜB�ׇ�T�7��n�"O��c�r�9�Ȍ�Af�J���_.�����b~�ּ�^&�:���j������5�_���� ������r���]~*��Z����9R ̼�-���ş`R -rH���@�E�S>IG&DT�:�JL}yJ�̇��L.����%���'C��+�����5���)�"�Rg�~´���D���;�M}�ٳ�.e�1D�s���B'�0���|s�m,D�n7X�>;771��o����Hqe�d���e(�Z��-?��Q�BP�Fq�'�w�E�/p���?ZZ5z���)�Fg'i����ы��^h����\��r��g`G�j!� b�i������bڗ-/"���rƋW���.�B���|�9��P�xM�$�C�����Xs� �.gە:�� y�A|髲{L3��!�U3zbM1kA�,�b �8A������ڍɖ-�%7��)������Ra�0˾.����KnbW��Kw�"�������Z��s3��) -��}e�c��7�,���c)���4����+O@�mjy�;0�ims�W��3����1�eLɲi|�(�_{�J��K)�k������|��k�>~�������uy�8���I�D�E���}��i�y3y;f��%=[zI����(�tS�Chl?�;(��4��Q+=H��&�L�M��a��2$��A����^�g�M*��}*��?��U�`0����ES嚲��a�n�e��V ي�rt�g�<>ѷ�"��Wf-�Qqr�g<�Lj���%>�;�8%q���/����mB������v@�����>���c�ŵ\���f���������N�\�ڦv{�j'� -��d��빏������������2pF�qҵ�8[�gE?8�~��\�ᷕ_w2� -��2a�/0e-BK��$�q@�NN��@��Z&��N`�W�7 �[$9��( !���*���Bx:I��2��UcVG� -XC�H�֖\�,vB�s�@����O�!;M�,�W��R+�l�8��o1yC!t�uv* �ԇ��)HR:���PV�P)y ��uL�7dd�l -T�'����V�J�Qp@nD�čdTSj�x���_oi/�?���G���[���1`���u�{�Sk�i;h�Y�g��?d�i�RE�?���˿,~� 5\���W�M���i�����eu�PA��_��̋��?V����Q4��: -R�W��R�����G��C��endstream +xڍۮ��}��=O6`+")�Rߚ"[l�4{��h�B�i[X[��������}v8���pn�Ej�U���Gg�Nb�(.������N �Fh6c�_���ޘEd�N��EdL`�8[l��X�����?���6����e���mY��?~)��|�������o�m������y�G��v$�;e�&2[�엪������^�$�S��������2�^mQ����ѝ,����oa��O�T]��v*� 5��̸�U�BS�x'�M_�yF�)Nu�Yݘ��;�'�P^Dȼ���T�k��F� �UDژf,`���0&��g�T�$)���+F�� ��mRd�s���M���F�Ռ��v|3kY�<l��EX��˵l��� �VO4��>�y�� G�d�(~I<&�!b,^��͆�င�����Z��������4�}m[���c�����3}'���MN�O������І�)�#��:Z$��0�����p���AjPM�ӳ�zf�dM�Ѳ�/ͼ)���8�{f�A~��횧�ϰt�pR3m�d�� �1WX�~�Sp�-cn��!�������F���ؔm�;�vw9�x��3!I�O��d�&c�o�ā��*n���=ffkYc���� N�&e�/�v'a�"jպm�J��iwb��d=藁�}jN ���Zy��� �mpuqI +��6#l;�� �ũ�K%�db)$�$�d� ���,���$ e�(�80�� �w���Ls��[�6!���Ţ 1\�v�v_��~fѣ��Y� +܋��e�#N76���21�1�Q=���Wx��ƶ` �@�[��C�z�EѮ]YWtfP�s�T�� ����D�Y��0�rf@ L1��� �kj��>ƫD^@5����+J���I�{��[�?� +DFg������5N�2����*��9��H22w4���7i��A)/��=����J�G�aʹ܃0Cz�D0D߇ks���͛[���u|�>�DbN_4|])�>��V{�'긐ힻ�J�p�ҁ[�)���kс�i��?��F�F�M����I��%�m~6�a8x���*�j1��������-g�8PP���WpD6m|�9Ur>A�d�����@鈣�O$�QT�1#�G%�#|���֑�"��65Cl��R7��$E��6����z�F5��qM'��d� +$$�P,�HY2/DY�rN��Q�de��j���9�K�D�N��b������f^E25Qs���2�z�jENWu�bz^�nU� �]�SB���y�<(뵾�l��c� �P�!;ۂS:N�Cv}S�b�J��i�^ +�\ +]ҚȄ)��U�/������EDB�껮�f1?"_9�c�uӢ2EKEh&"��U~ee���x��%z�Tr;ߙ��a���h�9+(�S��Ǻ�)`� >zk�9N晿ܠ���I����ÜB����T�7��n��"���L�"s<���d-����%?��a1%����yq�LFu����>rߕ��ט��S�6�Z*�Ǘ���jv��\b����b�H%0�zr��{�I)��!��2��]O�$�PA�Y*T\0 �)�3�����B䓛�[�XRC��/�^!'w�HM�,Q�5Oq!�:����%~/o�}���!����= �\�C�a�<'x�(t���_�Ϸ1���B��z����ssø��Y�j��I��_���%]�O0��jV�[>�c���|��-��1Ҫ1���M4:;I��6�yh/� 2u����Yn��ԉs8PU!̐f��0x����(�}Y�"�L�q^ g�xe���1p�p*DJz����(������H2�1���zƚ+o�t9ۮ��i����K_��}��| I���sk�YRe:H<�LuZ�dO[��j3&{lA>rCA?��Q���h.��"�Y�u)<�7�x�&v���t7*6�NM��o]y�����$��(0Z��+�����2����O��B�6��R�/<����Yj��x��uYx̑_U8Gϼ?���x�1%�f����p�*I0/����_<���_����'��.�c��`����&�,�%��3FN+ϛ���1�n�e�(���K�|��E���Bc��AQ�Q��Z�z�v����)�IV1,�y[=dP�����Yo�J&@�!��6@������mє��qMٝm��\��2�nKK�b���Y5�O�5�&�Y�bTF����1�x)}�B���bNI��p��K%+/p���xp%'p����~�����{�-p���⮾z�d/y�C������i�ݞ���ɣB��ٿ����{�#�<i��/��yj<�`E���Q�@�t-GE:���Y���e�s�m�ם��1�L��L9�0Ҡ�/��s�0���r�P毀��.����MC��2A�� τ:�Z��^�Edt`�i�PA�h���Wk�[e�#*��Po�&�� �x�N�6� U`��JM��+�$�[L�P}�:�� �7 +���&�n(�O��<����:&��2}�*�W�Z�JS�!ʻȍ�����jJ-�>���-�%��9>��.~��\;j6y.)]��g=�����v�吡6 �C�vQ)U���ܾ��������b|�ߴ�Ȅ����Y�]V����%:˂$˾�cu���A�ߪc��� +���7�1s� CR�endstream endobj -4571 0 obj << +4565 0 obj << /Type /Page -/Contents 4572 0 R -/Resources 4570 0 R +/Contents 4566 0 R +/Resources 4564 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R -/Annots [ 4581 0 R ] +/Parent 4582 0 R +/Annots [ 4575 0 R ] >> endobj -4581 0 obj << +4575 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [191.6402 347.0138 245.9362 357.9177] /Subtype /Link /A << /S /GoTo /D (list) >> >> endobj -4573 0 obj << -/D [4571 0 R /XYZ 71.731 729.2652 null] +4567 0 obj << +/D [4565 0 R /XYZ 71.731 729.2652 null] >> endobj -4574 0 obj << -/D [4571 0 R /XYZ 71.731 718.3063 null] +4568 0 obj << +/D [4565 0 R /XYZ 71.731 718.3063 null] >> endobj -4575 0 obj << -/D [4571 0 R /XYZ 71.731 675.3027 null] +4569 0 obj << +/D [4565 0 R /XYZ 71.731 675.3027 null] >> endobj -4576 0 obj << -/D [4571 0 R /XYZ 71.731 623.497 null] +4570 0 obj << +/D [4565 0 R /XYZ 71.731 623.497 null] >> endobj -4577 0 obj << -/D [4571 0 R /XYZ 71.731 608.553 null] +4571 0 obj << +/D [4565 0 R /XYZ 71.731 608.553 null] >> endobj 1948 0 obj << -/D [4571 0 R /XYZ 71.731 536.1893 null] +/D [4565 0 R /XYZ 71.731 536.1893 null] >> endobj 902 0 obj << -/D [4571 0 R /XYZ 243.5245 496.8169 null] +/D [4565 0 R /XYZ 243.5245 496.8169 null] >> endobj -4578 0 obj << -/D [4571 0 R /XYZ 71.731 486.4519 null] +4572 0 obj << +/D [4565 0 R /XYZ 71.731 486.4519 null] >> endobj -4579 0 obj << -/D [4571 0 R /XYZ 71.731 443.6514 null] +4573 0 obj << +/D [4565 0 R /XYZ 71.731 443.6514 null] >> endobj -4580 0 obj << -/D [4571 0 R /XYZ 71.731 412.7672 null] +4574 0 obj << +/D [4565 0 R /XYZ 71.731 412.7672 null] >> endobj -4582 0 obj << -/D [4571 0 R /XYZ 71.731 348.01 null] +4576 0 obj << +/D [4565 0 R /XYZ 71.731 348.01 null] >> endobj -4583 0 obj << -/D [4571 0 R /XYZ 71.731 333.0661 null] +4577 0 obj << +/D [4565 0 R /XYZ 71.731 333.0661 null] >> endobj -4584 0 obj << -/D [4571 0 R /XYZ 71.731 284.0149 null] +4578 0 obj << +/D [4565 0 R /XYZ 71.731 284.0149 null] >> endobj -4585 0 obj << -/D [4571 0 R /XYZ 71.731 238.0225 null] +4579 0 obj << +/D [4565 0 R /XYZ 71.731 238.0225 null] >> endobj -4586 0 obj << -/D [4571 0 R /XYZ 71.731 214.1769 null] +4580 0 obj << +/D [4565 0 R /XYZ 71.731 214.1769 null] >> endobj -4587 0 obj << -/D [4571 0 R /XYZ 118.5554 175.6129 null] +4581 0 obj << +/D [4565 0 R /XYZ 118.5554 175.6129 null] >> endobj 1949 0 obj << -/D [4571 0 R /XYZ 71.731 133.572 null] +/D [4565 0 R /XYZ 71.731 133.572 null] >> endobj -4570 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R >> +4564 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4590 0 obj << +4585 0 obj << /Length 676 /Filter /FlateDecode >> stream x�}TMo�0��@{2R��7�c��j��nUۃfA�] ����f%�8�3���͌1���h�P�p��3%Y��\�݆�.`vk��~s���(Ùb*ڗ��s%�(����Ѿ���+}�)�1I�İ��uw���x�]7���?ln�KR��������Km�GT`.���2I�SA@�Ĕc�%%)��c*��r�ט��xӕ�#� �{��?Y�N�#�2!'�O]n�9��َ��t�z�I�C��N�L�=��݇����+S����.��OFO �+���+���VWF�H���±^^۶��-ᆰc�z0~���.��)Ù�b��Z��:�v7��0!�۴�>�m���@�$�u��.m`����� ��S�|j��0$�nHJ�!Q7/&��>I�h��B��Lb��L���˓)t����:��<h��w���{�i ���n�*Lc�^�¹S7\����qLN��_h�*d�~6��n�� -n�[����0��{��x4����C5L3�ͭ�Q��T��&�:�.�%�F���l�� (��r݁[7�0�kmQ��� ѩU�u�\<��y�����{H���;�]��,���ܶ�0����J^�н^���s��_�{��?j�)N����֮0/�Z�RLh�-L^N*�������z�endstream +n�[����0��{��x4����C5L3�ͭ�Q��T��&�:�.�%�F���l�� (��r݁[7�0�kmQ��� ѩU�u�\<��y�����{H���;�]��,���ܶ�0����J^�н^���s��_�{��?j�)N����֮0/�Z�RLh�-L^N��������z�endstream endobj -4589 0 obj << +4584 0 obj << /Type /Page -/Contents 4590 0 R -/Resources 4588 0 R +/Contents 4585 0 R +/Resources 4583 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R +/Parent 4582 0 R >> endobj -4591 0 obj << -/D [4589 0 R /XYZ 71.731 729.2652 null] +4586 0 obj << +/D [4584 0 R /XYZ 71.731 729.2652 null] >> endobj 906 0 obj << -/D [4589 0 R /XYZ 266.3635 707.8408 null] +/D [4584 0 R /XYZ 266.3635 707.8408 null] >> endobj -4592 0 obj << -/D [4589 0 R /XYZ 71.731 697.4758 null] +4587 0 obj << +/D [4584 0 R /XYZ 71.731 697.4758 null] >> endobj -4593 0 obj << -/D [4589 0 R /XYZ 71.731 672.608 null] +4588 0 obj << +/D [4584 0 R /XYZ 71.731 672.608 null] >> endobj -4594 0 obj << -/D [4589 0 R /XYZ 71.731 657.6641 null] +4589 0 obj << +/D [4584 0 R /XYZ 71.731 657.6641 null] >> endobj -4588 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2088 0 R >> +4583 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4597 0 obj << -/Length 2064 +4592 0 obj << +/Length 2065 /Filter /FlateDecode >> stream @@ -19400,130 +19327,130 @@ O �0DF%嫥�'n�� ]:�[n�¿�WJ*Qܻ֔�c|���%\HM0��*t�Sizz; mGDm�u�&7�b��5@�I@�Qʘh��ьH�/��r� Vf>S��ǃU�]�V(������ v�!w�M���jf�92�'`�����õ���c�3G�x�?�ό�)��� FE{�92@}��T5�� �, ]h4:�!K���E��5D.�D�0�ۮ5Oȃ$ΒE�w@$�Y<�.��u����i�ߩ1��<��j�H2� -�o���[s����`�_�U���!rE��<�L�=�k���Ui���%�����JB@RGY��T}�n̜�8��]��o(��w��U���q����g�+�T��do���<��j��0V ���, M���w�ʁ��endstream +�o���[s����`�_�U���!rE��<�L�=�k���Ui���%�����JB@RGY��T}�n̜�8��]��o(��w��U���q����g�+�T��do���<��j��0V)di�͒��4�?n��{��� �endstream endobj -4596 0 obj << +4591 0 obj << /Type /Page -/Contents 4597 0 R -/Resources 4595 0 R +/Contents 4592 0 R +/Resources 4590 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R -/Annots [ 4615 0 R ] +/Parent 4582 0 R +/Annots [ 4610 0 R ] >> endobj -4615 0 obj << +4610 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [389.6158 206.972 443.9118 217.876] /Subtype /Link /A << /S /GoTo /D (template-http-accept) >> >> endobj -4598 0 obj << -/D [4596 0 R /XYZ 71.731 729.2652 null] +4593 0 obj << +/D [4591 0 R /XYZ 71.731 729.2652 null] >> endobj 1950 0 obj << -/D [4596 0 R /XYZ 71.731 718.3063 null] +/D [4591 0 R /XYZ 71.731 718.3063 null] >> endobj 910 0 obj << -/D [4596 0 R /XYZ 387.3898 703.236 null] +/D [4591 0 R /XYZ 387.3898 703.236 null] >> endobj 1951 0 obj << -/D [4596 0 R /XYZ 71.731 692.1839 null] +/D [4591 0 R /XYZ 71.731 692.1839 null] >> endobj 914 0 obj << -/D [4596 0 R /XYZ 267.8641 651.1593 null] +/D [4591 0 R /XYZ 267.8641 651.1593 null] >> endobj -4599 0 obj << -/D [4596 0 R /XYZ 71.731 638.7213 null] +4594 0 obj << +/D [4591 0 R /XYZ 71.731 638.7213 null] >> endobj -4600 0 obj << -/D [4596 0 R /XYZ 71.731 596.5591 null] +4595 0 obj << +/D [4591 0 R /XYZ 71.731 596.5591 null] >> endobj -4601 0 obj << -/D [4596 0 R /XYZ 104.202 585.7645 null] +4596 0 obj << +/D [4591 0 R /XYZ 104.202 585.7645 null] >> endobj 1952 0 obj << -/D [4596 0 R /XYZ 71.731 567.7322 null] +/D [4591 0 R /XYZ 71.731 567.7322 null] >> endobj 918 0 obj << -/D [4596 0 R /XYZ 220.0229 522.5774 null] +/D [4591 0 R /XYZ 220.0229 522.5774 null] +>> endobj +4597 0 obj << +/D [4591 0 R /XYZ 71.731 513.7546 null] +>> endobj +4598 0 obj << +/D [4591 0 R /XYZ 269.9659 488.0668 null] +>> endobj +4599 0 obj << +/D [4591 0 R /XYZ 71.731 477.3023 null] +>> endobj +4600 0 obj << +/D [4591 0 R /XYZ 81.6937 449.2923 null] +>> endobj +4601 0 obj << +/D [4591 0 R /XYZ 242.9373 449.2923 null] >> endobj 4602 0 obj << -/D [4596 0 R /XYZ 71.731 513.7546 null] +/D [4591 0 R /XYZ 71.731 447.1354 null] >> endobj 4603 0 obj << -/D [4596 0 R /XYZ 269.9659 488.0668 null] +/D [4591 0 R /XYZ 81.6937 431.3595 null] >> endobj 4604 0 obj << -/D [4596 0 R /XYZ 71.731 477.3023 null] +/D [4591 0 R /XYZ 346.2678 431.3595 null] >> endobj 4605 0 obj << -/D [4596 0 R /XYZ 81.6937 449.2923 null] +/D [4591 0 R /XYZ 81.6937 418.4081 null] >> endobj 4606 0 obj << -/D [4596 0 R /XYZ 242.9373 449.2923 null] +/D [4591 0 R /XYZ 71.731 395.494 null] >> endobj 4607 0 obj << -/D [4596 0 R /XYZ 71.731 447.1354 null] +/D [4591 0 R /XYZ 71.731 362.453 null] +>> endobj +1953 0 obj << +/D [4591 0 R /XYZ 71.731 318.6174 null] +>> endobj +922 0 obj << +/D [4591 0 R /XYZ 303.1555 275.5199 null] >> endobj 4608 0 obj << -/D [4596 0 R /XYZ 81.6937 431.3595 null] +/D [4591 0 R /XYZ 71.731 263.3487 null] >> endobj 4609 0 obj << -/D [4596 0 R /XYZ 346.2678 431.3595 null] +/D [4591 0 R /XYZ 71.731 233.8712 null] >> endobj -4610 0 obj << -/D [4596 0 R /XYZ 81.6937 418.4081 null] +1954 0 obj << +/D [4591 0 R /XYZ 71.731 207.9683 null] +>> endobj +926 0 obj << +/D [4591 0 R /XYZ 308.5976 170.7528 null] >> endobj 4611 0 obj << -/D [4596 0 R /XYZ 71.731 395.494 null] +/D [4591 0 R /XYZ 71.731 160.6101 null] >> endobj 4612 0 obj << -/D [4596 0 R /XYZ 71.731 362.453 null] ->> endobj -1953 0 obj << -/D [4596 0 R /XYZ 71.731 318.6174 null] ->> endobj -922 0 obj << -/D [4596 0 R /XYZ 303.1555 275.5199 null] +/D [4591 0 R /XYZ 363.7058 150.6282 null] >> endobj 4613 0 obj << -/D [4596 0 R /XYZ 71.731 263.3487 null] +/D [4591 0 R /XYZ 219.3353 124.7254 null] >> endobj 4614 0 obj << -/D [4596 0 R /XYZ 71.731 233.8712 null] ->> endobj -1954 0 obj << -/D [4596 0 R /XYZ 71.731 207.9683 null] +/D [4591 0 R /XYZ 320.9613 124.7254 null] >> endobj -926 0 obj << -/D [4596 0 R /XYZ 308.5976 170.7528 null] +4615 0 obj << +/D [4591 0 R /XYZ 71.731 111.7739 null] >> endobj 4616 0 obj << -/D [4596 0 R /XYZ 71.731 160.6101 null] +/D [4591 0 R /XYZ 157.2001 111.7739 null] >> endobj 4617 0 obj << -/D [4596 0 R /XYZ 363.7058 150.6282 null] ->> endobj -4618 0 obj << -/D [4596 0 R /XYZ 219.3353 124.7254 null] ->> endobj -4619 0 obj << -/D [4596 0 R /XYZ 320.9613 124.7254 null] ->> endobj -4620 0 obj << -/D [4596 0 R /XYZ 71.731 111.7739 null] ->> endobj -4621 0 obj << -/D [4596 0 R /XYZ 157.2001 111.7739 null] ->> endobj -4622 0 obj << -/D [4596 0 R /XYZ 71.731 109.6171 null] +/D [4591 0 R /XYZ 71.731 109.6171 null] >> endobj -4595 0 obj << +4590 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4625 0 obj << +4620 0 obj << /Length 2758 /Filter /FlateDecode >> @@ -19539,111 +19466,111 @@ fb ��0�Lxl��%���h�a����ݱ����Z��l_#|l���������5�.7l-� 3O��b�g�:Dn|�����e�K萳�5*n��H�H����z�Pg�^�'��{63o��p:92Ъ�/`���H�7:�E�0�p���Pg`X<����p&���4�a(H0�Z:����K�����f��~ԋ&Yul�&���!���5�ƾ���s\����9r���h��@k?����|x$zqK��C*�_��Q�U ϶��e�|x`Y��w�{.��^b��\������(��8�%��������n��U m���h&�/����6���R� �3�p�/�Xt���h˹&s�z�j�4%,l�� J|W�J,�~���j'K� -�o�"cl��H#�\��N<��'_��Ͻƫ����N3�+�Va3|��������j����u���!Xߠ� 3+�ݷ^NV���]~N��:&m5�h�qZ�ӻs<!O{{L�=Q�~mR�fv}��,�|�&7z�s�7/��+�J�Py���0���~0���^��T$R�o}/RF¹���E?��ˀ|�~�PX<���;����|u�p�O�т�u�\�t��:�`����J��ρ��&eH<���D���EB���D�wlKY#R���|��s����]>= j�ϡ� ۶��� �6M.v������EP��w����e���bG������� ~�ro�����rbf����:��d�A9���_���Δ�D.�]���qx�X��Q�eendstream +�o�"cl��H#�\��N<��'_��Ͻƫ����N3�+�Va3|��������j����u���!Xߠ� 3+�ݷ^NV���]~N��:&m5�h�qZ�ӻs<!O{{L�=Q�~mR�fv}��,�|�&7z�s�7/��+�J�Py���0���~0���^��T$R�o}/RF¹���E?��ˀ|�~�PX<���;����|u�p�O�т�u�\�t��:�`����J��ρ��&eH<���D���EB���D�wlKY#R���|��s����]>= j�ϡ� ۶��� �6M.v������EP��w����e���bG������� ~�ro�����rbf����:��d�A9���_� ��X#�.K��8�X,n�_R�hendstream endobj -4624 0 obj << +4619 0 obj << /Type /Page -/Contents 4625 0 R -/Resources 4623 0 R +/Contents 4620 0 R +/Resources 4618 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4551 0 R +/Parent 4582 0 R >> endobj -4626 0 obj << -/D [4624 0 R /XYZ 71.731 729.2652 null] +4621 0 obj << +/D [4619 0 R /XYZ 71.731 729.2652 null] >> endobj -4627 0 obj << -/D [4624 0 R /XYZ 118.5554 689.7049 null] +4622 0 obj << +/D [4619 0 R /XYZ 118.5554 689.7049 null] >> endobj -4628 0 obj << -/D [4624 0 R /XYZ 165.5238 681.2406 null] +4623 0 obj << +/D [4619 0 R /XYZ 165.5238 681.2406 null] >> endobj -4629 0 obj << -/D [4624 0 R /XYZ 341.2842 669.5843 null] +4624 0 obj << +/D [4619 0 R /XYZ 341.2842 669.5843 null] >> endobj 1955 0 obj << -/D [4624 0 R /XYZ 71.731 636.0077 null] +/D [4619 0 R /XYZ 71.731 636.0077 null] >> endobj 930 0 obj << -/D [4624 0 R /XYZ 347.5336 603.6117 null] +/D [4619 0 R /XYZ 347.5336 603.6117 null] +>> endobj +4625 0 obj << +/D [4619 0 R /XYZ 71.731 593.2467 null] +>> endobj +4626 0 obj << +/D [4619 0 R /XYZ 71.731 550.4461 null] +>> endobj +4627 0 obj << +/D [4619 0 R /XYZ 412.638 539.6515 null] +>> endobj +4628 0 obj << +/D [4619 0 R /XYZ 111.2626 513.7487 null] +>> endobj +4629 0 obj << +/D [4619 0 R /XYZ 71.731 511.5918 null] >> endobj 4630 0 obj << -/D [4624 0 R /XYZ 71.731 593.2467 null] +/D [4619 0 R /XYZ 71.731 496.6479 null] >> endobj 4631 0 obj << -/D [4624 0 R /XYZ 71.731 550.4461 null] +/D [4619 0 R /XYZ 71.731 447.5967 null] >> endobj 4632 0 obj << -/D [4624 0 R /XYZ 412.638 539.6515 null] +/D [4619 0 R /XYZ 71.731 421.6939 null] >> endobj 4633 0 obj << -/D [4624 0 R /XYZ 111.2626 513.7487 null] +/D [4619 0 R /XYZ 213.9555 408.7424 null] >> endobj 4634 0 obj << -/D [4624 0 R /XYZ 71.731 511.5918 null] +/D [4619 0 R /XYZ 71.731 406.5856 null] >> endobj 4635 0 obj << -/D [4624 0 R /XYZ 71.731 496.6479 null] +/D [4619 0 R /XYZ 71.731 391.6416 null] >> endobj 4636 0 obj << -/D [4624 0 R /XYZ 71.731 447.5967 null] +/D [4619 0 R /XYZ 134.9992 382.1422 null] >> endobj 4637 0 obj << -/D [4624 0 R /XYZ 71.731 421.6939 null] +/D [4619 0 R /XYZ 71.731 354.2468 null] >> endobj 4638 0 obj << -/D [4624 0 R /XYZ 213.9555 408.7424 null] +/D [4619 0 R /XYZ 71.731 282.3515 null] >> endobj 4639 0 obj << -/D [4624 0 R /XYZ 71.731 406.5856 null] +/D [4619 0 R /XYZ 71.731 230.5458 null] >> endobj 4640 0 obj << -/D [4624 0 R /XYZ 71.731 391.6416 null] +/D [4619 0 R /XYZ 71.731 215.6018 null] >> endobj 4641 0 obj << -/D [4624 0 R /XYZ 134.9992 382.1422 null] +/D [4619 0 R /XYZ 422.0761 206.1023 null] >> endobj 4642 0 obj << -/D [4624 0 R /XYZ 71.731 354.2468 null] +/D [4619 0 R /XYZ 176.1789 194.4461 null] >> endobj 4643 0 obj << -/D [4624 0 R /XYZ 71.731 282.3515 null] +/D [4619 0 R /XYZ 508.9315 194.4461 null] >> endobj 4644 0 obj << -/D [4624 0 R /XYZ 71.731 230.5458 null] +/D [4619 0 R /XYZ 76.7123 166.1522 null] >> endobj 4645 0 obj << -/D [4624 0 R /XYZ 71.731 215.6018 null] +/D [4619 0 R /XYZ 118.5554 122.6068 null] >> endobj 4646 0 obj << -/D [4624 0 R /XYZ 422.0761 206.1023 null] +/D [4619 0 R /XYZ 135.3953 114.1424 null] >> endobj 4647 0 obj << -/D [4624 0 R /XYZ 176.1789 194.4461 null] +/D [4619 0 R /XYZ 222.2315 114.1424 null] >> endobj 4648 0 obj << -/D [4624 0 R /XYZ 508.9315 194.4461 null] ->> endobj -4649 0 obj << -/D [4624 0 R /XYZ 76.7123 166.1522 null] ->> endobj -4650 0 obj << -/D [4624 0 R /XYZ 118.5554 122.6068 null] ->> endobj -4651 0 obj << -/D [4624 0 R /XYZ 135.3953 114.1424 null] ->> endobj -4652 0 obj << -/D [4624 0 R /XYZ 222.2315 114.1424 null] ->> endobj -4653 0 obj << -/D [4624 0 R /XYZ 433.1768 114.1424 null] +/D [4619 0 R /XYZ 433.1768 114.1424 null] >> endobj -4623 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F48 2104 0 R /F27 1258 0 R /F32 1266 0 R >> +4618 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F35 1709 0 R /F48 2105 0 R /F27 1258 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4656 0 obj << -/Length 3087 +4651 0 obj << +/Length 3088 /Filter /FlateDecode >> stream @@ -19664,107 +19591,107 @@ NKϦ �R���>��3b˒O�ۼ��Ί�d�{<�~dHӗR q�[�'��f*��Gy��n�?>E�_����D����1�!�� ��0�p�~Z7�n�]M�0 �� �XM;[�zx���y����°���c�gA���� vJz�#����� '�g����x� ���V��B�\a�͵��=�#l3�ri�wUۡO�den��? W}~ü�d -���8�ed҅+֧sK�p������!գY�E���j�~a��[���ˏ�Q�j�r�(�ǟk"z�G�{�y2��x�_�P%���t��H� �x������3��x]�)��c������H���᧸Ur�)�^wgi����7z�Q=)�"��o�������@X��NxbQ<�/�vO��endstream +���8�ed҅+֧sK�p������!գY�E���j�~a��[���ˏ�Q�j�r�(�ǟk"z�G�{�y2��x�_�P%���t��H� �x������3��x]�)��c������H���᧸Ur�)�^wgi����7z�Q=)�"��o��������!������� �p���uK��endstream endobj -4655 0 obj << +4650 0 obj << /Type /Page -/Contents 4656 0 R -/Resources 4654 0 R +/Contents 4651 0 R +/Resources 4649 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R +/Parent 4582 0 R >> endobj -4657 0 obj << -/D [4655 0 R /XYZ 71.731 729.2652 null] +4652 0 obj << +/D [4650 0 R /XYZ 71.731 729.2652 null] >> endobj 1956 0 obj << -/D [4655 0 R /XYZ 71.731 718.3063 null] +/D [4650 0 R /XYZ 71.731 718.3063 null] >> endobj 934 0 obj << -/D [4655 0 R /XYZ 267.2242 707.8408 null] +/D [4650 0 R /XYZ 267.2242 707.8408 null] +>> endobj +4653 0 obj << +/D [4650 0 R /XYZ 71.731 704.8712 null] +>> endobj +4654 0 obj << +/D [4650 0 R /XYZ 71.731 687.7355 null] +>> endobj +4655 0 obj << +/D [4650 0 R /XYZ 266.9195 667.3925 null] +>> endobj +4656 0 obj << +/D [4650 0 R /XYZ 71.731 639.4971 null] +>> endobj +4657 0 obj << +/D [4650 0 R /XYZ 419.4076 613.5942 null] >> endobj 4658 0 obj << -/D [4655 0 R /XYZ 71.731 704.8712 null] +/D [4650 0 R /XYZ 71.731 593.5047 null] >> endobj 4659 0 obj << -/D [4655 0 R /XYZ 71.731 687.7355 null] +/D [4650 0 R /XYZ 71.731 536.7176 null] >> endobj 4660 0 obj << -/D [4655 0 R /XYZ 266.9195 667.3925 null] +/D [4650 0 R /XYZ 71.731 479.9306 null] >> endobj 4661 0 obj << -/D [4655 0 R /XYZ 71.731 639.4971 null] +/D [4650 0 R /XYZ 253.9215 469.136 null] >> endobj 4662 0 obj << -/D [4655 0 R /XYZ 419.4076 613.5942 null] +/D [4650 0 R /XYZ 311.6869 456.1845 null] +>> endobj +1957 0 obj << +/D [4650 0 R /XYZ 71.731 436.0949 null] +>> endobj +938 0 obj << +/D [4650 0 R /XYZ 308.3972 398.8794 null] >> endobj 4663 0 obj << -/D [4655 0 R /XYZ 71.731 593.5047 null] +/D [4650 0 R /XYZ 71.731 388.7367 null] >> endobj 4664 0 obj << -/D [4655 0 R /XYZ 71.731 536.7176 null] +/D [4650 0 R /XYZ 366.7725 378.7549 null] >> endobj 4665 0 obj << -/D [4655 0 R /XYZ 71.731 479.9306 null] +/D [4650 0 R /XYZ 71.731 358.6653 null] >> endobj 4666 0 obj << -/D [4655 0 R /XYZ 253.9215 469.136 null] +/D [4650 0 R /XYZ 386.4974 334.9193 null] >> endobj 4667 0 obj << -/D [4655 0 R /XYZ 311.6869 456.1845 null] ->> endobj -1957 0 obj << -/D [4655 0 R /XYZ 71.731 436.0949 null] ->> endobj -938 0 obj << -/D [4655 0 R /XYZ 308.3972 398.8794 null] +/D [4650 0 R /XYZ 71.731 314.8297 null] >> endobj 4668 0 obj << -/D [4655 0 R /XYZ 71.731 388.7367 null] +/D [4650 0 R /XYZ 380.2047 304.0351 null] >> endobj 4669 0 obj << -/D [4655 0 R /XYZ 366.7725 378.7549 null] +/D [4650 0 R /XYZ 71.731 283.9455 null] >> endobj 4670 0 obj << -/D [4655 0 R /XYZ 71.731 358.6653 null] +/D [4650 0 R /XYZ 71.731 240.1099 null] >> endobj 4671 0 obj << -/D [4655 0 R /XYZ 386.4974 334.9193 null] +/D [4650 0 R /XYZ 71.731 222.1771 null] >> endobj 4672 0 obj << -/D [4655 0 R /XYZ 71.731 314.8297 null] +/D [4650 0 R /XYZ 71.731 198.4311 null] >> endobj 4673 0 obj << -/D [4655 0 R /XYZ 380.2047 304.0351 null] +/D [4650 0 R /XYZ 228.316 198.4311 null] >> endobj 4674 0 obj << -/D [4655 0 R /XYZ 71.731 283.9455 null] +/D [4650 0 R /XYZ 71.731 183.3228 null] >> endobj 4675 0 obj << -/D [4655 0 R /XYZ 71.731 240.1099 null] +/D [4650 0 R /XYZ 71.731 168.3789 null] >> endobj 4676 0 obj << -/D [4655 0 R /XYZ 71.731 222.1771 null] ->> endobj -4677 0 obj << -/D [4655 0 R /XYZ 71.731 198.4311 null] ->> endobj -4678 0 obj << -/D [4655 0 R /XYZ 228.316 198.4311 null] ->> endobj -4679 0 obj << -/D [4655 0 R /XYZ 71.731 183.3228 null] ->> endobj -4680 0 obj << -/D [4655 0 R /XYZ 71.731 168.3789 null] ->> endobj -4681 0 obj << -/D [4655 0 R /XYZ 351.5704 158.8794 null] +/D [4650 0 R /XYZ 351.5704 158.8794 null] >> endobj -4654 0 obj << -/Font << /F33 1358 0 R /F23 1250 0 R /F44 2088 0 R /F27 1258 0 R /F35 1709 0 R >> +4649 0 obj << +/Font << /F33 1358 0 R /F23 1250 0 R /F44 2089 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4685 0 obj << +4679 0 obj << /Length 3194 /Filter /FlateDecode >> @@ -19785,125 +19712,125 @@ B 넣{��#ij��I��Z�,�Y�v�h�:����-�x��j�A�X#]��W��7b�����^����j�T:f��֢W���/��A�N+�(���Q/QI!�rAh(``�G�j'���i_l�*D� )�$�ŋ G��D �^a9��v]��:z�"r)[�}&_���f��ꞎ �c���?&��$p��Ӹ��c�D����ܸg�9���ѥ�/8�@��P��Ӵ������)c6�K8�/"�| ��~(�鏺4E�9@�{�$�l/N%���~�H��1�[�E�J�f�r��ɧ���Rh��w��I��ֲ���0��:t�k|Q��^<�����#��f� �方wk�zb&%L��O\H�\:�C_U���r�X��Q��ak���b~9��H'Xw���Ё"sŒ]��(����$���{�e���JF�r�p��!�!P,�#����}��`�J�4�ǃ^Q�keJ��6c3�%�s��~.���җ�74��1U�D��wK>�����%3�/�@�;�����}�D7 -��^Q��7��e³?���3�"��D�[�*���EYv� q��+Ƚlsw���n��?������`�^<�a�>��Ȃ��K���ʠ��D��WY���$�r��l�#~�N�g�g�;֨;F�q��cM�g��ww(���>��\!l�R�Ii��JI��y�k� ���Ý��Yi��?I!�6M2I�Zb�@c��RP�3r2��8w�~�ľ�7|�v#���a��=<�����\�2y������,����[�\ދ��!}�N����3ʺ��K�o��?��(j�%S�}D�I�� >��h��"Mn�K���r@����˼��� ��_��*�,%�GNxY��Qn,�?V��Tendstream +��^Q��7��e³?���3�"��D�[�*���EYv� q��+Ƚlsw���n��?������`�^<�a�>��Ȃ��K���ʠ��D��WY���$�r��l�#~�N�g�g�;֨;F�q��cM�g��ww(���>��\!l�R�Ii��JI��y�k� ���Ý��Yi��?I!�6M2I�Zb�@c��RP�3r2��8w�~�ľ�7|�v#���a��=<�����\�2y������,����[�\ދ��!}�N����3ʺ��K�o��?��(j�%S�}D�I�� >��h��"Mn�K���r@����˼��� ��_��*��8�FNxY��Qn,�?U0�Mendstream endobj -4684 0 obj << +4678 0 obj << /Type /Page -/Contents 4685 0 R -/Resources 4683 0 R +/Contents 4679 0 R +/Resources 4677 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R +/Parent 4582 0 R >> endobj -4686 0 obj << -/D [4684 0 R /XYZ 71.731 729.2652 null] +4680 0 obj << +/D [4678 0 R /XYZ 71.731 729.2652 null] >> endobj -4687 0 obj << -/D [4684 0 R /XYZ 71.731 718.3063 null] +4681 0 obj << +/D [4678 0 R /XYZ 71.731 718.3063 null] >> endobj -4688 0 obj << -/D [4684 0 R /XYZ 154.7543 708.3437 null] +4682 0 obj << +/D [4678 0 R /XYZ 154.7543 708.3437 null] >> endobj -4689 0 obj << -/D [4684 0 R /XYZ 102.1666 695.3923 null] +4683 0 obj << +/D [4678 0 R /XYZ 102.1666 695.3923 null] >> endobj 1958 0 obj << -/D [4684 0 R /XYZ 71.731 689.0302 null] +/D [4678 0 R /XYZ 71.731 689.0302 null] >> endobj 942 0 obj << -/D [4684 0 R /XYZ 251.7299 651.0386 null] +/D [4678 0 R /XYZ 251.7299 651.0386 null] +>> endobj +4684 0 obj << +/D [4678 0 R /XYZ 71.731 640.8959 null] +>> endobj +4685 0 obj << +/D [4678 0 R /XYZ 71.731 623.7759 null] +>> endobj +4686 0 obj << +/D [4678 0 R /XYZ 71.731 623.7759 null] +>> endobj +4687 0 obj << +/D [4678 0 R /XYZ 71.731 605.8432 null] +>> endobj +4688 0 obj << +/D [4678 0 R /XYZ 71.731 605.8432 null] +>> endobj +4689 0 obj << +/D [4678 0 R /XYZ 71.731 562.0075 null] >> endobj 4690 0 obj << -/D [4684 0 R /XYZ 71.731 640.8959 null] +/D [4678 0 R /XYZ 71.731 562.0075 null] >> endobj 4691 0 obj << -/D [4684 0 R /XYZ 71.731 623.7759 null] +/D [4678 0 R /XYZ 253.5336 551.2129 null] >> endobj 4692 0 obj << -/D [4684 0 R /XYZ 71.731 623.7759 null] +/D [4678 0 R /XYZ 71.731 505.2205 null] >> endobj 4693 0 obj << -/D [4684 0 R /XYZ 71.731 605.8432 null] +/D [4678 0 R /XYZ 71.731 505.2205 null] >> endobj 4694 0 obj << -/D [4684 0 R /XYZ 71.731 605.8432 null] +/D [4678 0 R /XYZ 71.731 474.3363 null] >> endobj 4695 0 obj << -/D [4684 0 R /XYZ 71.731 562.0075 null] +/D [4678 0 R /XYZ 71.731 474.3363 null] >> endobj 4696 0 obj << -/D [4684 0 R /XYZ 71.731 562.0075 null] +/D [4678 0 R /XYZ 439.2249 463.5417 null] >> endobj 4697 0 obj << -/D [4684 0 R /XYZ 253.5336 551.2129 null] +/D [4678 0 R /XYZ 191.1469 450.5903 null] >> endobj 4698 0 obj << -/D [4684 0 R /XYZ 71.731 505.2205 null] +/D [4678 0 R /XYZ 307.0556 450.5903 null] >> endobj 4699 0 obj << -/D [4684 0 R /XYZ 71.731 505.2205 null] +/D [4678 0 R /XYZ 71.731 437.6388 null] >> endobj 4700 0 obj << -/D [4684 0 R /XYZ 71.731 474.3363 null] +/D [4678 0 R /XYZ 71.731 430.5007 null] >> endobj 4701 0 obj << -/D [4684 0 R /XYZ 71.731 474.3363 null] +/D [4678 0 R /XYZ 71.731 430.5007 null] >> endobj 4702 0 obj << -/D [4684 0 R /XYZ 439.2249 463.5417 null] +/D [4678 0 R /XYZ 71.731 373.7136 null] >> endobj 4703 0 obj << -/D [4684 0 R /XYZ 191.1469 450.5903 null] +/D [4678 0 R /XYZ 71.731 373.7136 null] >> endobj 4704 0 obj << -/D [4684 0 R /XYZ 307.0556 450.5903 null] +/D [4678 0 R /XYZ 71.731 342.8295 null] >> endobj 4705 0 obj << -/D [4684 0 R /XYZ 71.731 437.6388 null] +/D [4678 0 R /XYZ 71.731 342.8295 null] >> endobj 4706 0 obj << -/D [4684 0 R /XYZ 71.731 430.5007 null] +/D [4678 0 R /XYZ 71.731 273.091 null] >> endobj 4707 0 obj << -/D [4684 0 R /XYZ 71.731 430.5007 null] +/D [4678 0 R /XYZ 71.731 273.091 null] >> endobj 4708 0 obj << -/D [4684 0 R /XYZ 71.731 373.7136 null] +/D [4678 0 R /XYZ 210.674 262.2964 null] >> endobj 4709 0 obj << -/D [4684 0 R /XYZ 71.731 373.7136 null] +/D [4678 0 R /XYZ 137.0351 184.5878 null] >> endobj 4710 0 obj << -/D [4684 0 R /XYZ 71.731 342.8295 null] +/D [4678 0 R /XYZ 71.731 173.1856 null] >> endobj 4711 0 obj << -/D [4684 0 R /XYZ 71.731 342.8295 null] +/D [4678 0 R /XYZ 71.731 134.9739 null] >> endobj 4712 0 obj << -/D [4684 0 R /XYZ 71.731 273.091 null] ->> endobj -4713 0 obj << -/D [4684 0 R /XYZ 71.731 273.091 null] ->> endobj -4714 0 obj << -/D [4684 0 R /XYZ 210.674 262.2964 null] ->> endobj -4715 0 obj << -/D [4684 0 R /XYZ 137.0351 184.5878 null] ->> endobj -4716 0 obj << -/D [4684 0 R /XYZ 71.731 173.1856 null] ->> endobj -4717 0 obj << -/D [4684 0 R /XYZ 71.731 134.9739 null] ->> endobj -4718 0 obj << -/D [4684 0 R /XYZ 258.0065 122.122 null] +/D [4678 0 R /XYZ 258.0065 122.122 null] >> endobj -4683 0 obj << +4677 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F32 1266 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4721 0 obj << +4715 0 obj << /Length 2439 /Filter /FlateDecode >> @@ -19920,98 +19847,98 @@ m J�iI�(&�s^��x�<:�B �h��5�)��L���V�C���.��J�4�j$���݃���,�k2T�d��<�N�5����J�?��E���]�,�*��A��\� 2I�DpNj���3v���QS�P�wb��e~���K�&� ��[/B���:6R����.����7}�c�g[�~��3�C����M)Ď� �q�Cу�x,��|�n���4�wEE�AB����NP �$����y�1U�0��(�\�$�'���8��� �c�Q<(�n�~2L�������8.@�C�8ꋓ���S3HPZ���/�2BkSq��r�1� ��q�e��)�̴��fy&��Cd ��w����U�bK=���A�RUGFN�^��K�<���&�~��[��������)�0M�`vK_��(��0K0y���I�F�Y��JCn���n�kKƊ��k�mOvq �|��հN���͆ ��4�je�R�r����tׁ��~Ü���{؇�*�܈�� �!��W�k�,�FM��g+���. 8�C�Ẽ�x>��8���ij���Ϯ� = �J��M-�6���;� \_#w�(��Dib���������~aX؎W����8S<åy�^z��d_@�}aĀ�zD�&�lbtwd?��@7�ޘ��YJ���x���W��:��mN�W�r��<���������u�;����ڵ*�X�/omO�G&�v�/G{�/��<�<��Pc��8��S�;X��k������5:�Li��zw����W����"2��r����H#�R��wQOo�&�8��8&����m�=�����b)O�a�A�p��64v�Ic��� d��-mj�K���A�����\{�j� G�# ����� -~5J�\=͜�W�������8H&�2/SI~�ϒ�5����A����?�B���g������FI�+endstream +~5J�\=͜�W�������8H&�2/SI~�ϒ�5����A����?�B�f�g������G��2endstream endobj -4720 0 obj << +4714 0 obj << /Type /Page -/Contents 4721 0 R -/Resources 4719 0 R +/Contents 4715 0 R +/Resources 4713 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R +/Parent 4738 0 R +>> endobj +4716 0 obj << +/D [4714 0 R /XYZ 71.731 729.2652 null] +>> endobj +4717 0 obj << +/D [4714 0 R /XYZ 394.4509 708.3437 null] +>> endobj +4718 0 obj << +/D [4714 0 R /XYZ 71.731 695.3923 null] +>> endobj +4719 0 obj << +/D [4714 0 R /XYZ 71.731 689.0302 null] +>> endobj +4720 0 obj << +/D [4714 0 R /XYZ 288.1288 677.4595 null] +>> endobj +4721 0 obj << +/D [4714 0 R /XYZ 111.0884 664.5081 null] >> endobj 4722 0 obj << -/D [4720 0 R /XYZ 71.731 729.2652 null] +/D [4714 0 R /XYZ 325.6187 664.5081 null] >> endobj 4723 0 obj << -/D [4720 0 R /XYZ 394.4509 708.3437 null] +/D [4714 0 R /XYZ 71.731 644.4185 null] >> endobj 4724 0 obj << -/D [4720 0 R /XYZ 71.731 695.3923 null] +/D [4714 0 R /XYZ 263.4371 633.6239 null] >> endobj 4725 0 obj << -/D [4720 0 R /XYZ 71.731 689.0302 null] +/D [4714 0 R /XYZ 71.731 620.6725 null] >> endobj 4726 0 obj << -/D [4720 0 R /XYZ 288.1288 677.4595 null] +/D [4714 0 R /XYZ 100.4128 607.721 null] >> endobj 4727 0 obj << -/D [4720 0 R /XYZ 111.0884 664.5081 null] +/D [4714 0 R /XYZ 71.731 587.6314 null] >> endobj 4728 0 obj << -/D [4720 0 R /XYZ 325.6187 664.5081 null] +/D [4714 0 R /XYZ 71.731 564.7174 null] >> endobj 4729 0 obj << -/D [4720 0 R /XYZ 71.731 644.4185 null] +/D [4714 0 R /XYZ 71.731 520.1844 null] >> endobj 4730 0 obj << -/D [4720 0 R /XYZ 263.4371 633.6239 null] ->> endobj -4731 0 obj << -/D [4720 0 R /XYZ 71.731 620.6725 null] ->> endobj -4732 0 obj << -/D [4720 0 R /XYZ 100.4128 607.721 null] ->> endobj -4733 0 obj << -/D [4720 0 R /XYZ 71.731 587.6314 null] ->> endobj -4734 0 obj << -/D [4720 0 R /XYZ 71.731 564.7174 null] ->> endobj -4735 0 obj << -/D [4720 0 R /XYZ 71.731 520.1844 null] ->> endobj -4736 0 obj << -/D [4720 0 R /XYZ 71.731 475.6514 null] +/D [4714 0 R /XYZ 71.731 475.6514 null] >> endobj 1959 0 obj << -/D [4720 0 R /XYZ 71.731 436.0997 null] +/D [4714 0 R /XYZ 71.731 436.0997 null] >> endobj 946 0 obj << -/D [4720 0 R /XYZ 461.4838 398.8842 null] +/D [4714 0 R /XYZ 461.4838 398.8842 null] >> endobj -4737 0 obj << -/D [4720 0 R /XYZ 71.731 388.5192 null] +4731 0 obj << +/D [4714 0 R /XYZ 71.731 388.5192 null] >> endobj -4738 0 obj << -/D [4720 0 R /XYZ 71.731 352.8568 null] +4732 0 obj << +/D [4714 0 R /XYZ 71.731 352.8568 null] >> endobj 1960 0 obj << -/D [4720 0 R /XYZ 71.731 324.8618 null] +/D [4714 0 R /XYZ 71.731 324.8618 null] >> endobj 950 0 obj << -/D [4720 0 R /XYZ 402.8496 279.7071 null] +/D [4714 0 R /XYZ 402.8496 279.7071 null] >> endobj -4739 0 obj << -/D [4720 0 R /XYZ 71.731 275.8768 null] +4733 0 obj << +/D [4714 0 R /XYZ 71.731 275.8768 null] >> endobj -4740 0 obj << -/D [4720 0 R /XYZ 118.5554 233.6864 null] +4734 0 obj << +/D [4714 0 R /XYZ 118.5554 233.6864 null] >> endobj -4741 0 obj << -/D [4720 0 R /XYZ 71.731 179.9891 null] +4735 0 obj << +/D [4714 0 R /XYZ 71.731 179.9891 null] >> endobj -4742 0 obj << -/D [4720 0 R /XYZ 71.731 129.2994 null] +4736 0 obj << +/D [4714 0 R /XYZ 71.731 129.2994 null] >> endobj -4743 0 obj << -/D [4720 0 R /XYZ 271.0004 116.4475 null] +4737 0 obj << +/D [4714 0 R /XYZ 271.0004 116.4475 null] >> endobj -4719 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2088 0 R >> +4713 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R /F23 1250 0 R /F44 2089 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4746 0 obj << +4741 0 obj << /Length 2064 /Filter /FlateDecode >> @@ -20025,244 +19952,244 @@ xڵk �;�|�h�d]�^��I��lha���J�s%p��=v�|-;��^������^^r����m�ӧ�OL�_��Vx@\������0G��P��c�YF�,�Uq��<��s�H���zz� ��5��8�NJ�%�$�����-�����>5r��`����ҡ ��+�"��I#��r�Pc,��S�-!��Q<���C��� CU0�(.�Ƙ�|o��d�������c*�b����ί}���KI�)�@-��=>gp����~>Ҋ��(͏W��:�?Yp2=d��z���-���� ����>�8��$���:=�4��×��"��8���8�u]*�=��p�s�]Sc�����4."?�dQ�����O�#���>{.�M�4�^~�� �y�����<=�����+l��t��`�xB��O�ė��~F+��r��C�����^��#��>b����HwӨ�ˇ��ޚ�OK�~8uWu���r���Gw�K zͿ�Ѕ��b�ӗ�A���������6��ʅ�Ҷ���|�O��jc�؋��⋧t)0U+uC[���"�D�y�V #��n뗎o��*W��"I�h�B8��v�j -k(�(�,I�:=3�nLS/�Q]y�;��|:o��9o���M�3���X��4-�R��g%��y�#q�a$�j���U���}�/d[��endstream +k(�(�,I�:=3�nLS/�Q]y�;��|:o��9o���M�3���X��4-�R��g%��y�#q�a$�j����Փ��.�_e���endstream endobj -4745 0 obj << +4740 0 obj << /Type /Page -/Contents 4746 0 R -/Resources 4744 0 R +/Contents 4741 0 R +/Resources 4739 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R +/Parent 4738 0 R +>> endobj +4742 0 obj << +/D [4740 0 R /XYZ 71.731 729.2652 null] +>> endobj +4743 0 obj << +/D [4740 0 R /XYZ 344.4787 708.3437 null] +>> endobj +4744 0 obj << +/D [4740 0 R /XYZ 71.731 690.3114 null] +>> endobj +4745 0 obj << +/D [4740 0 R /XYZ 389.061 664.5081 null] +>> endobj +4746 0 obj << +/D [4740 0 R /XYZ 118.6881 651.5566 null] >> endobj 4747 0 obj << -/D [4745 0 R /XYZ 71.731 729.2652 null] +/D [4740 0 R /XYZ 411.7689 651.5566 null] >> endobj 4748 0 obj << -/D [4745 0 R /XYZ 344.4787 708.3437 null] +/D [4740 0 R /XYZ 71.731 631.4671 null] >> endobj 4749 0 obj << -/D [4745 0 R /XYZ 71.731 690.3114 null] +/D [4740 0 R /XYZ 403.6536 607.721 null] >> endobj 4750 0 obj << -/D [4745 0 R /XYZ 389.061 664.5081 null] +/D [4740 0 R /XYZ 71.731 582.6501 null] >> endobj 4751 0 obj << -/D [4745 0 R /XYZ 118.6881 651.5566 null] +/D [4740 0 R /XYZ 71.731 508.1296 null] >> endobj 4752 0 obj << -/D [4745 0 R /XYZ 411.7689 651.5566 null] +/D [4740 0 R /XYZ 477.6839 484.3836 null] >> endobj 4753 0 obj << -/D [4745 0 R /XYZ 71.731 631.4671 null] +/D [4740 0 R /XYZ 71.731 451.3425 null] >> endobj 4754 0 obj << -/D [4745 0 R /XYZ 403.6536 607.721 null] +/D [4740 0 R /XYZ 71.731 389.5742 null] >> endobj 4755 0 obj << -/D [4745 0 R /XYZ 71.731 582.6501 null] +/D [4740 0 R /XYZ 71.731 268.4285 null] >> endobj 4756 0 obj << -/D [4745 0 R /XYZ 71.731 508.1296 null] ->> endobj -4757 0 obj << -/D [4745 0 R /XYZ 477.6839 484.3836 null] ->> endobj -4758 0 obj << -/D [4745 0 R /XYZ 71.731 451.3425 null] ->> endobj -4759 0 obj << -/D [4745 0 R /XYZ 71.731 389.5742 null] ->> endobj -4760 0 obj << -/D [4745 0 R /XYZ 71.731 268.4285 null] ->> endobj -4761 0 obj << -/D [4745 0 R /XYZ 71.731 245.5144 null] +/D [4740 0 R /XYZ 71.731 245.5144 null] >> endobj -4744 0 obj << +4739 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4764 0 obj << -/Length 1236 +4759 0 obj << +/Length 1237 /Filter /FlateDecode >> stream xڍVmo�6��_a���S,��K?��뀥p�>lC᜕;!�u���_?R�/i�ukP��(��>:�d�'�R�R�G�BF%��"K����B�ˆ}6�^o/.�k�Ԣ.T�lo�<+��u��Z���*ٶ�o�q��j�L���o�0��}sÞ���7�u���/���F��� ��;{=�P�*\ΚUXh��\�t�����th&���b�$�!����D�@��W��C3��������M'���2e�vMZ3�go� l߸���v�!|��'��&����Ί�������iv�@��v:��J�F�������'6K� ��%��2i�͋��#�������)/>�|�W~Z�A�v<�m���5)�+�T�X�fr��v��0�RS�2)*)T�i�I���E]VE"E]+��6�9�N�ovb�w��s�M!+��J�cL'2D���ΤЦ�Z �</b�_�Џq@�@���<���E�{6������(tI�>B�A�������f�(Ti�[ws:�fE]b�Z�\J�8����>_�����3�8R��8��HB��fP:��f險@����}�#6�ѷ\5��������ږ<*u#q^�6_�б����\}�nn�����Շw��������s�VAo=�g�����s�i{�N�%=����qR������_�^pC������,� 0��d�S�)�-�\����F�Q�'H7��K�T�����\gBW�����t|��Bd�T?dUS��R�C���-� -@?��U5QX�>w�Y������mX�F�o9`NUL�@�Ԝ���M�Ӷ��&XA��\� �*&��Slw$�蚹]���f��8w�s�,�<!�!XX�U�_���[��\n��GT:X$����|4��2�P�ā�$&Jb�B��*�8Lv�tI���֨ݹ�@<|#v��|ơn�PWW �w��?�pȭ�0�����L�8�ۮ��a{P�[������y)>M(8(#`ٖLT&JK�kT�Ժi%SX�)�IG�z�cw�hC��O7�:x�Mp-�W������o��Vx�� �G�TEz�����P�¡Ȇ@5�< �@�5ن��Y}���7�'&�P��<ҥ��X����w4�؈�(f�i&��8�D�H�<�p+Ⱦ]�x��T,�G�����}��cxyyy�n��}�<�Cp����Wm@xBo�%y%*Y�?�1����oQ���� ˮտ��|&�?���}endstream +@?��U5QX�>w�Y������mX�F�o9`NUL�@�Ԝ���M�Ӷ��&XA��\� �*&��Slw$�蚹]���f��8w�s�,�<!�!XX�U�_���[��\n��GT:X$����|4��2�P�ā�$&Jb�B��*�8Lv�tI���֨ݹ�@<|#v��|ơn�PWW �w��?�pȭ�0�����L�8�ۮ��a{P�[������y)>M(8(#`ٖLT&JK�kT�Ժi%SX�)�IG�z�cw�hC��O7�:x�Mp-�W������o��Vx�� �G�TEz�����P�¡Ȇ@5�< �@�5ن��Y}���7�'&�P��<ҥ��X����w4�؈�(f�i&��8�D�H�<�p+Ⱦ]�x��T,�G�����}��cxyyy�n��}�<�Cp����Wm@xBo�%y%*Y�?�1����oQ���� ˮ��y�L�����{endstream endobj -4763 0 obj << +4758 0 obj << /Type /Page -/Contents 4764 0 R -/Resources 4762 0 R +/Contents 4759 0 R +/Resources 4757 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R +/Parent 4738 0 R >> endobj -4765 0 obj << -/D [4763 0 R /XYZ 71.731 729.2652 null] +4760 0 obj << +/D [4758 0 R /XYZ 71.731 729.2652 null] >> endobj -4766 0 obj << -/D [4763 0 R /XYZ 71.731 693.2354 null] +4761 0 obj << +/D [4758 0 R /XYZ 71.731 693.2354 null] >> endobj -4767 0 obj << -/D [4763 0 R /XYZ 118.5554 654.6714 null] +4762 0 obj << +/D [4758 0 R /XYZ 118.5554 654.6714 null] >> endobj -4768 0 obj << -/D [4763 0 R /XYZ 211.9919 646.207 null] +4763 0 obj << +/D [4758 0 R /XYZ 211.9919 646.207 null] >> endobj -4769 0 obj << -/D [4763 0 R /XYZ 71.731 601.0818 null] +4764 0 obj << +/D [4758 0 R /XYZ 71.731 601.0818 null] >> endobj 1961 0 obj << -/D [4763 0 R /XYZ 71.731 574.2377 null] +/D [4758 0 R /XYZ 71.731 574.2377 null] >> endobj 954 0 obj << -/D [4763 0 R /XYZ 449.6052 531.1402 null] +/D [4758 0 R /XYZ 449.6052 531.1402 null] >> endobj -4770 0 obj << -/D [4763 0 R /XYZ 71.731 518.7022 null] +4765 0 obj << +/D [4758 0 R /XYZ 71.731 518.7022 null] >> endobj -4771 0 obj << -/D [4763 0 R /XYZ 120.1486 483.6782 null] +4766 0 obj << +/D [4758 0 R /XYZ 120.1486 483.6782 null] >> endobj -4762 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R >> +4757 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4774 0 obj << +4769 0 obj << /Length 2440 /Filter /FlateDecode >> stream -xڝk������8``�X���O������vq7EQ�±��X�2����/)RN���\��E�ŧ#W��U"E��2��H���`u��Oo$��q,T$cX,�n#��,U�j{������OJ�T �(�V��IT��������]ۚ���m�*I��=�7i��6*X�q����6��ڡj���� �&�Ld1���jrG����ꁍL)��6�8V�62Z�o�q��5�0f��,���_|?�S�uN���V�mg��9���L֟�nlc��NfA���K8פ2p"F^�s>'<6T*�E2t}�c$Q�U��U "��Mc���E^>T�lI���P2 -ٔawj�!�F>M�J�"2��mHE�r,��NQY��y�Ak��hb��U -Lb�G�Le�!��d����V����TΒ���nȹ<.�� Z������w�D+�����y�^���S>��D�گ;����) 8Yt��[�����n+�@(�������O�R o��G�}�U�X;wDn;�9x�I_X�M��plеǦ*��/�lZ�3k�9����"�6��E��Ƕ�� ��>\<�� - *�P��������Hݽ�xH�c������<HFZ���iPؙU�§9љi뜗��Ъ�O �;&b���'�qG�o>�OYP�HD!8af"Ͳ�L9m��(Q^��3^x�_}�@����H���� -x�WH5lF�F���Wُ.�Y�`���"�`yI���em��Z0��+Rԝ���^V B!�+�zs|@+�8v3����1yQ��w!�9z\J�Z ��m�\����/F@�Kk�)%��O w���\�����NN�#��,-mQ���]�%�=�=�z�Q�t�vi�hj{�� ),S�ks`9iG�.b�a0 ���dd�ۄA�<_*2a����wf(v�C�; C[�f��B��:aE�*������\M�B�n,?b��+� -�`xߥ����ԇ�T:�|�S�������&��}��mR���j�e���-ǚꎊC.1G.����(\C��b�@ȝ����e�wwH`�LA�P��5P8�f0�)�� -���A�| ̭��d������x��/:����^���B@ ��{o �����0#88��v��9i��ds�8G��'�oK��5.S��6�[Xa�����j8�q�Ekk�F)\U��E"���� ���M+}X�iK�w<�f�W���� -�'C0Ӣ�Ռ�W>�Gf౫��e�M~������`��S+�tZ�P�@�12۪�:���W��L$(I�o3N���8�a��GYuP~0�������8y�͊�J��4)9��B-���s�����)�4��vxj� �k���x��;������ ӱ^$Q�`��t�����fS���z*�ռ�ѽ���>�� -řC=�,�u���+�[坘��1#������4���E��?TЯ�M3���*Դ�#�.Gq�!�YK��1�®��j�v7�UΛ�\�z�d ���e(��ƿ殼��ByW=�2,|�x�He`�a"O�w��>q��"��+�UU0���G�mB���{�(���GL�~g/�s@��5e��c8�l<�.��Hp�f�G��&����*��(���M��$�:g@.�������쩮'�D$)T��7�Ɓб��mx�A��%�h�4�����A:��5��FQ�3�I0|=a@��Cv~Q�3�����-���n���%�5������V�o���6z�~�o�Lt~n���6����5N�J��W.�Yr��XR����Â�LD��'�c[��9��`G6�x�d���i���/�C�r�$�[ ���>����~�ן���͞$�όO���91.Ʀ����aҒ� =x��f���D°A oh�b�+���w�6�L�M.?|�����<@Ҟ�~s &���.v8c��G����_0e*g��4g�Ϝih�u�˜_6�?��m9b>�To��@'0�+���3�h ��:z!%�((U$b�\L���:�X�����[ ���� �e�$9���'=���p����T�c�#rϱH_=#�#W`hP��?u�8֓L$���_�=��������C���41�sI��9��_zE�g�Q�l$� -G��Y�ns���4bМH�Ź��4��i1g�������v��|�.�p�������ܱ��'�.��#�i{�K-�ܭ!`�pr��Ÿ/�74�l2�~�\)7|�������D�0�G��0~֭|Ӊ��.�0�L��É7-=٤ ����������a�\��jaP'������4����+�\ǎ!n<�Nj/�y�_N���}B�}���9�p��[M�B/=c�������)(�2�&Nx�L��M�!-�/^E�endstream +xڝk�ܸ�{~�8 3��ƒ��~J�\�^�w[E�(<�fƈm~�f��K�������(��(>�r�?�J�H4��L�8R��y�����d�0���d���m���*^m/�����I� +D����0� +�P:^ݗ�\��:Ӗշ�V%������M��� +�v�od���p�v����_���*Y2�m�ڂ�DǑcy�`#��`���--��FE뇍�����z7r 4�-��i�������iU�Ø��̸���6̀��d��@�ֶ� ˘�d�:���s�*'b�ui�8��R�,��;蓝z ����z�HI�hZ��5-��*�`K�L��QȦ#��P���7�if��T���wnC�(ʔc��t��P��� Z��G3�R`;=�Pd*��y'S|�8u��D&�r�$L�vC����p�]m��w��X��� ����[W�zbO��vEk��-8��$�dѽ�%�����@��F0o(����ye%�?b��+�*��i�#r����S���jo*�/�S��=�U|f�فY;�A����O�ټ�Xb������c��pY��߂(��@C ?�v�#u�_�!ɏ���ނg�� i��ΧAagV +�r�Dg��&/ ��U�@wL�8��O�. �|����ґ�Bp�(�D�e��r&�^PQ����g��,����)!�)�@+���D�(�j،��xy�/�]����6:�D�i�%mf���y�k��V�0�"Ƞ�L��a +\�֛�Z!Pǩ��9�H�����ǥ���I�]��e�Q���g���f�S���pGK..��~����:K���-*�g�K�ra�G�'�`z����.-Mm���?!�e�w],g�H�Y�=��%����Ly�0���K�A"����Ό�tv�q�ʝ��߀X(R�"̢�?����0`���P�k���#6 +�������]:�`o�N}�Υ��G�3�i]�p0�Ijs(�W��&���_�n����ck��XS�Qq�%�����v@�kH��Z��S���Ծl!��� l���O[�cjGӛ�h�0Z��T�G�\�+ N��ʌWy�N���z{�˼��/B(��"Bb,��;Ufǘ�����6g-`��l p��~b��4�?�2�lرE��;�y�Ɠ�FZt��n��U�|\$r!�srm���д҇%@���{�Sqpi&ܹ����Ѫ�~r43-:]�(�����<���|�̳� +����zn�Nˡj�4fBf[�^'������F��S�c� Ni0��QV=���8�,� �?��i�"�R.= MJ���PK�F��9|��ƙY��T���;>u�r���@q��<����_XHY���X/��]0� Q:�G��a��C`B=�j^��^\C��� +řC=�,������k坘��aF2�ɥ�i��!����_oL;���+�t�#��Gq�!6��k��?��a7L�������*�Mr�y�E2��Ɍ2@{�?sW^ +ZΡ����c>z��^�20�0��荻�Y��8�b����Ъ*��vL���6�� c�=a�Q�#��C�����9����2`��1�6\�L$8��7�G��*����*��(������$�:g@.�\������.'�D$)T��7�Ɓб��m|�A��%�h�4���#�A:��5��`��Hgh�`�z�0�Fo��,��� �����/���n���%�5������V�o���:z�~���Lt~n���6���љ'v%�e���,9�f,�{�z}�a��U&��ߓر-���b�#�z������˴�q�۱�8{í�QL�*�����g��w�' ��3�/�t�S[�}��0iɿ-����YݴF�� ���e����������|371��������z��I{fv0��@L���]�pƨ����{_0e*g��4g�Ϝih�u�˜~�l4�?�5��0K����c�˕�`�Йs�Gl����*1d.&G�u^5Vn�����H~^z����6I�g���I�S]Nuy]��||D�9��3�;r�U_m����a=�DH����a�m/����x�1���f"F{.����U����3ި�?6���#��M����� �9 �2�4'�}q��0-ahZGLw�B��ե@����o߅n��~s��;֜�?q"���;ҁ��a�����'A�_�{�����e������J�����-'&z�=�k4���[����\�a�����oZ�e���Co��G۱���rqs�W;�:������C��6�WW��.N=C�xt�� ���u�����4r-�s�k�UH��j���x���I�4.��8r���,�9�ɳg���ߐ�]���endstream endobj -4773 0 obj << +4768 0 obj << /Type /Page -/Contents 4774 0 R -/Resources 4772 0 R +/Contents 4769 0 R +/Resources 4767 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4682 0 R -/Annots [ 4781 0 R 4782 0 R ] +/Parent 4738 0 R +/Annots [ 4776 0 R 4777 0 R ] >> endobj -4781 0 obj << +4776 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [234.5514 546.7459 281.8882 557.6498] /Subtype /Link /A << /S /GoTo /D (installation) >> >> endobj -4782 0 obj << +4777 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [354.758 546.7459 402.0948 557.6498] /Subtype /Link /A << /S /GoTo /D (configuration) >> >> endobj -4775 0 obj << -/D [4773 0 R /XYZ 71.731 729.2652 null] +4770 0 obj << +/D [4768 0 R /XYZ 71.731 729.2652 null] >> endobj 1962 0 obj << -/D [4773 0 R /XYZ 71.731 718.3063 null] +/D [4768 0 R /XYZ 71.731 718.3063 null] >> endobj 958 0 obj << -/D [4773 0 R /XYZ 358.6963 703.236 null] +/D [4768 0 R /XYZ 358.6963 703.236 null] >> endobj -4776 0 obj << -/D [4773 0 R /XYZ 71.731 681.8546 null] +4771 0 obj << +/D [4768 0 R /XYZ 71.731 681.8546 null] >> endobj 1963 0 obj << -/D [4773 0 R /XYZ 71.731 658.3912 null] +/D [4768 0 R /XYZ 71.731 658.3912 null] >> endobj 962 0 obj << -/D [4773 0 R /XYZ 233.1753 615.2938 null] +/D [4768 0 R /XYZ 233.1753 615.2938 null] >> endobj -4777 0 obj << -/D [4773 0 R /XYZ 71.731 606.4709 null] +4772 0 obj << +/D [4768 0 R /XYZ 71.731 606.4709 null] +>> endobj +4773 0 obj << +/D [4768 0 R /XYZ 146.6603 593.7346 null] +>> endobj +4774 0 obj << +/D [4768 0 R /XYZ 441.3262 580.7832 null] +>> endobj +4775 0 obj << +/D [4768 0 R /XYZ 71.731 560.6936 null] >> endobj 4778 0 obj << -/D [4773 0 R /XYZ 146.6603 593.7346 null] +/D [4768 0 R /XYZ 82.1385 523.9961 null] >> endobj 4779 0 obj << -/D [4773 0 R /XYZ 441.3262 580.7832 null] +/D [4768 0 R /XYZ 71.731 490.9551 null] >> endobj 4780 0 obj << -/D [4773 0 R /XYZ 71.731 560.6936 null] +/D [4768 0 R /XYZ 430.9687 467.2091 null] +>> endobj +4781 0 obj << +/D [4768 0 R /XYZ 71.731 454.2576 null] +>> endobj +4782 0 obj << +/D [4768 0 R /XYZ 468.5487 428.3548 null] +>> endobj +1964 0 obj << +/D [4768 0 R /XYZ 71.731 421.2166 null] +>> endobj +966 0 obj << +/D [4768 0 R /XYZ 121.4833 355.7391 null] >> endobj 4783 0 obj << -/D [4773 0 R /XYZ 82.1385 523.9961 null] +/D [4768 0 R /XYZ 71.731 343.3011 null] >> endobj 4784 0 obj << -/D [4773 0 R /XYZ 71.731 490.9551 null] +/D [4768 0 R /XYZ 149.514 334.1799 null] >> endobj 4785 0 obj << -/D [4773 0 R /XYZ 430.9687 467.2091 null] +/D [4768 0 R /XYZ 252.2636 334.1799 null] >> endobj 4786 0 obj << -/D [4773 0 R /XYZ 71.731 454.2576 null] +/D [4768 0 R /XYZ 71.731 309.109 null] >> endobj 4787 0 obj << -/D [4773 0 R /XYZ 468.5487 428.3548 null] +/D [4768 0 R /XYZ 71.731 309.109 null] >> endobj -1964 0 obj << -/D [4773 0 R /XYZ 71.731 421.2166 null] +1965 0 obj << +/D [4768 0 R /XYZ 71.731 241.641 null] >> endobj -966 0 obj << -/D [4773 0 R /XYZ 121.4833 355.7391 null] +970 0 obj << +/D [4768 0 R /XYZ 207.49 175.3874 null] >> endobj 4788 0 obj << -/D [4773 0 R /XYZ 71.731 343.3011 null] +/D [4768 0 R /XYZ 71.731 166.5646 null] >> endobj 4789 0 obj << -/D [4773 0 R /XYZ 149.514 334.1799 null] +/D [4768 0 R /XYZ 71.731 151.6714 null] >> endobj 4790 0 obj << -/D [4773 0 R /XYZ 252.2636 334.1799 null] +/D [4768 0 R /XYZ 71.731 146.6901 null] >> endobj 4791 0 obj << -/D [4773 0 R /XYZ 71.731 309.109 null] +/D [4768 0 R /XYZ 89.6638 125.9328 null] >> endobj 4792 0 obj << -/D [4773 0 R /XYZ 71.731 309.109 null] ->> endobj -1965 0 obj << -/D [4773 0 R /XYZ 71.731 241.641 null] ->> endobj -970 0 obj << -/D [4773 0 R /XYZ 207.49 175.3874 null] +/D [4768 0 R /XYZ 89.6638 100.03 null] >> endobj 4793 0 obj << -/D [4773 0 R /XYZ 71.731 166.5646 null] ->> endobj -4794 0 obj << -/D [4773 0 R /XYZ 71.731 151.6714 null] ->> endobj -4795 0 obj << -/D [4773 0 R /XYZ 71.731 146.6901 null] ->> endobj -4796 0 obj << -/D [4773 0 R /XYZ 89.6638 125.9328 null] ->> endobj -4797 0 obj << -/D [4773 0 R /XYZ 89.6638 100.03 null] ->> endobj -4798 0 obj << -/D [4773 0 R /XYZ 71.731 97.8731 null] +/D [4768 0 R /XYZ 71.731 97.8731 null] >> endobj -4772 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F61 2639 0 R /F33 1358 0 R >> +4767 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F61 2640 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4801 0 obj << +4796 0 obj << /Length 1743 /Filter /FlateDecode >> @@ -20272,104 +20199,104 @@ x �������Z?"�V�Թ��G!hGu�mɛ�--j��0A�y���V�K\�����č�N����r�|,p�Σ�Ժ�N�W"_!�����[�-���o9+Z1� ��ʊ�˪U����$��T�S&Yj��if��U��p�y[ � j�7����-���H�,ޫ7/��v���������ż<��檘4���� p����D�bC'�R�0(n���84�N�@��z�77Z�ރ�?z���x�yE��!����/�f{��!�����=4�����ś��SX_�5����$4K@��~d�p�B�`|��ࡏ'ќڈ���_�&��F��=C�ǚ�+��.����F��1�V��T~�8�2KAT�S����l������BZ,Vm"�.X�t�8���nV�QyO����X4?i[�nu������}���o=����'CE�����������(�;H�3��E��/���h?ڡ��}F�+�I�A^�s�{Ѯ�1��'Ƙ��֘~�9�@�)��\`ji���6�_�C����N� ��W��VJj+ens��u^AǢ�O�t�`J'YLʏ��#�jS.C��5̨��l�'6+����*�w���i7�Qu��V�m#KKM�f��hm�2���,�����;(uP�X%����wJ�kK�6OO�h���P�TKhMKu�� _���x� �6'6�������[�t��� 2�2 �PE��3ߩ��֊�������Kr%�"JG��nH�xI�:�:�9��Pol#|,�=/���H������E�I���Y�ٖr��@��U�4�zb���5��Ґ@���$A�����l;�P��8�-~�Q�MB)���n��|J����G�o��0Ȩ�5� ����`�L>��Ms����4T+ [��6������E*���t|�Ck9vU���w��m�*Y�2-�������Eab�J��ܝa����BM��āi`@0q�XZ}���г��w�H%�ߙ�lp1�q�&��&٫;�� ��sp ����$^��b�;ws� -�c�Nk�����d��ZV���F�I�N�`ٴn!>�Ë5��5�h�G���Ouͥ� ��m�s�XK���)$f��vo�����\0٩ ��μ���0Ɋ��۱��Ů������UK���֙z�������4����3>�����0������,��B�F ɗ�jp'��f��kAΏ~�?�p��q��_�vp�$�AJ<�K+)���g��?Jendstream +�c�Nk�����d��ZV���F�I�N�`ٴn!>�Ë5��5�h�G���Ouͥ� ��m�s�XK���)$f��vo�����\0٩ ��μ���0Ɋ��۱��Ů������UK���֙z�������4����3>�����0������,��B�F ɗ�jp'��f��kAΏ~�?�p��q��_�vp�$�AJ<�K+)��g��?�ؚendstream endobj -4800 0 obj << +4795 0 obj << /Type /Page -/Contents 4801 0 R -/Resources 4799 0 R +/Contents 4796 0 R +/Resources 4794 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R +/Parent 4738 0 R >> endobj -4802 0 obj << -/D [4800 0 R /XYZ 71.731 729.2652 null] +4797 0 obj << +/D [4795 0 R /XYZ 71.731 729.2652 null] >> endobj -4803 0 obj << -/D [4800 0 R /XYZ 89.6638 708.3437 null] +4798 0 obj << +/D [4795 0 R /XYZ 89.6638 708.3437 null] >> endobj 1966 0 obj << -/D [4800 0 R /XYZ 71.731 688.2541 null] +/D [4795 0 R /XYZ 71.731 688.2541 null] >> endobj 974 0 obj << -/D [4800 0 R /XYZ 370.3296 645.1566 null] +/D [4795 0 R /XYZ 370.3296 645.1566 null] +>> endobj +4799 0 obj << +/D [4795 0 R /XYZ 71.731 632.7186 null] +>> endobj +4800 0 obj << +/D [4795 0 R /XYZ 71.731 611.478 null] +>> endobj +4801 0 obj << +/D [4795 0 R /XYZ 71.731 556.0608 null] +>> endobj +4802 0 obj << +/D [4795 0 R /XYZ 139.5762 544.0956 null] +>> endobj +4803 0 obj << +/D [4795 0 R /XYZ 71.731 531.9762 null] >> endobj 4804 0 obj << -/D [4800 0 R /XYZ 71.731 632.7186 null] +/D [4795 0 R /XYZ 71.731 464.7099 null] >> endobj 4805 0 obj << -/D [4800 0 R /XYZ 71.731 611.478 null] +/D [4795 0 R /XYZ 71.731 442.8753 null] >> endobj 4806 0 obj << -/D [4800 0 R /XYZ 71.731 556.0608 null] +/D [4795 0 R /XYZ 71.731 373.5518 null] +>> endobj +1967 0 obj << +/D [4795 0 R /XYZ 71.731 355.0148 null] +>> endobj +978 0 obj << +/D [4795 0 R /XYZ 374.4611 311.5437 null] >> endobj 4807 0 obj << -/D [4800 0 R /XYZ 139.5762 544.0956 null] +/D [4795 0 R /XYZ 71.731 299.3725 null] >> endobj 4808 0 obj << -/D [4800 0 R /XYZ 71.731 531.9762 null] +/D [4795 0 R /XYZ 402.9907 289.9846 null] >> endobj 4809 0 obj << -/D [4800 0 R /XYZ 71.731 464.7099 null] +/D [4795 0 R /XYZ 71.731 264.9137 null] >> endobj 4810 0 obj << -/D [4800 0 R /XYZ 71.731 442.8753 null] +/D [4795 0 R /XYZ 71.731 227.5188 null] >> endobj 4811 0 obj << -/D [4800 0 R /XYZ 71.731 373.5518 null] ->> endobj -1967 0 obj << -/D [4800 0 R /XYZ 71.731 355.0148 null] ->> endobj -978 0 obj << -/D [4800 0 R /XYZ 374.4611 311.5437 null] +/D [4795 0 R /XYZ 175.6818 214.5674 null] >> endobj 4812 0 obj << -/D [4800 0 R /XYZ 71.731 299.3725 null] +/D [4795 0 R /XYZ 395.942 214.5674 null] >> endobj 4813 0 obj << -/D [4800 0 R /XYZ 402.9907 289.9846 null] +/D [4795 0 R /XYZ 486.8069 214.5674 null] >> endobj 4814 0 obj << -/D [4800 0 R /XYZ 71.731 264.9137 null] +/D [4795 0 R /XYZ 71.731 201.6159 null] >> endobj 4815 0 obj << -/D [4800 0 R /XYZ 71.731 227.5188 null] +/D [4795 0 R /XYZ 71.731 188.6645 null] >> endobj 4816 0 obj << -/D [4800 0 R /XYZ 175.6818 214.5674 null] ->> endobj -4817 0 obj << -/D [4800 0 R /XYZ 395.942 214.5674 null] ->> endobj -4818 0 obj << -/D [4800 0 R /XYZ 486.8069 214.5674 null] ->> endobj -4819 0 obj << -/D [4800 0 R /XYZ 71.731 201.6159 null] ->> endobj -4820 0 obj << -/D [4800 0 R /XYZ 71.731 188.6645 null] ->> endobj -4821 0 obj << -/D [4800 0 R /XYZ 107.0481 188.6645 null] +/D [4795 0 R /XYZ 107.0481 188.6645 null] >> endobj 1968 0 obj << -/D [4800 0 R /XYZ 71.731 181.5264 null] +/D [4795 0 R /XYZ 71.731 181.5264 null] >> endobj 982 0 obj << -/D [4800 0 R /XYZ 496.414 138.4289 null] +/D [4795 0 R /XYZ 496.414 138.4289 null] >> endobj -4822 0 obj << -/D [4800 0 R /XYZ 71.731 125.9909 null] +4817 0 obj << +/D [4795 0 R /XYZ 71.731 125.9909 null] >> endobj -4823 0 obj << -/D [4800 0 R /XYZ 206.804 116.8697 null] +4818 0 obj << +/D [4795 0 R /XYZ 206.804 116.8697 null] >> endobj -4799 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F32 1266 0 R /F61 2639 0 R >> +4794 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R /F35 1709 0 R /F32 1266 0 R /F61 2640 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4827 0 obj << +4821 0 obj << /Length 2096 /Filter /FlateDecode >> @@ -20377,108 +20304,107 @@ stream xڭXݏ���������)Q} ���M�@�EQ��@۴-�,������g(K�w�C9��3?)W!��*�"��r��V�ˇpu��?�̲a�͔����Q��E��d�|\�J�\f�*��ȴ�Vχ�OMc�C�e�Q:�}��Z�:�A=�J�/���������YG��3��y#�*��f"��ԙ�|��M$���ҁ)��G�������\���g�7�5�ۖ����<P{gs;LI�C��}_��^l՛�µ��k=�4��p��(KC���z����Gt���Q"t"�'�,ӱY�VȽڌ�D�e��v�3Su�{�:�>��0��bw��ю��8�0s�T�P���As~�����V�ך��]i��em�eS.�m�����{-e1��$؛��]͢l�X�|�`��������3����n ӽ�U�r.�($�A�����V= �����FBo&S�Bv�U�m�}�><��(��YH��R�ǁ_�o��yX�,`z3�y] Q{�\����C6���8N�.�Ӡ���$�����;��R��nY���q�fB��~4�_�rX��P#��r�S�R�P���)� Hjmž灌܆�k<�t4k�֘�.�����q� SH 4(�:����3��ʙ������떻@����"E �2��Y��Jl|����q1��h�~$����/>���S��s���v�Ηs]r�+z���l���)2��l�*(E �!�K�b�� �CE�G����2�8�$,�- m��Ɂ ��z ����/qHo�[`�-Ki���;\��FxW`�����1����aL�������A��Н�r�_�f&��1�v(��s)N�Q&}9 H@���v�6C�ԝ�L\� q�6�&7��ª�B�Jh4Ă����6g��*8@lճ{�FNRQ4���# ";�@\�%O�9Lu9�E�E��ؘ�>Nq����l�a�.�Q*D]MMC#�p��sIT�J���v�mUо�En]����`��VT�?�r�t�9M�h�;����G%�����`�JE�k���/����~�H.Ș����rg:��9�)Zfu��{?BfY��j��h���$F�i��" ����j�3����͟����#G\j��~H��v�)�����^�Ȭ"I�Us_�e'.���/3SH������/P{�����'D�փ��D��ɳ˅�dN,���Ĉ�T �[»>\��c�A�!tR�� P���+�H�HMw�E�Mnl�&�\�E@^�T:[�19[�w=[P��hL��1�R���hckJh�86�}Y���ցPQ�i���D��u�3�ey���$������!��$���~�C�����ҹ�=Z*\��}�1��0u��Э�Ħ��C�$�G��rg妢��\}\��W�:s���[`� n��u� 1C0�\S�/����7g�Vl�*��fךj�f.��&��S�|͑9Vv�L�bߝ���G�OJE[���lx�_O5�1�tl4��\��D��Tɨ�Xh�^��@[����'= ����B��[�A!CW�(0u��b5�]�.��Z����%B��� :ʑoP���ă-�+����Ad���8\rV��-t��f��F�c���i�۷�]H�z�����z��o<p�T�� �Dh�US@Fx�+�cF& i��<�����Z�y�#[��Hg����~�SqOb��XC�롶p�F4J3|O�Xx�������_����VJw��Q#��D���i�����mRh������g[�����,X,���Y���x&�-ջD|!c��ٛʹ����z�xSI,����'4��������t���B�(CG�ͧ������Srծ$�*�C -����� ���3�I,�7�i����L2�t[��/vB|!J}���*L�Hӄ�|�1?��;:�T����,��}�J/X~Bp�x�rH/�y����7�"O�ЂJg�g�L�n�|od����ƒX %b!�F�X�4��7�3��7��}t������6��}���ܾ�k��P��( ���ͷ�; -�0�aoendstream +����� ���3�I,�7�i����L2�t[��/vB|!J}���*L�Hӄ�|�1?��;:�T����,��}�J/X~Bp�x�rH/�y����7�"O�ЂJg�g�L�n�|od����ƒX %b!�F�X�4��7�3��7��}t������6��}���ܾ�k��P��( ��ћo�w�0Lamendstream endobj -4826 0 obj << +4820 0 obj << /Type /Page -/Contents 4827 0 R -/Resources 4825 0 R +/Contents 4821 0 R +/Resources 4819 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R -/Annots [ 4851 0 R ] +/Parent 4738 0 R +/Annots [ 4845 0 R ] >> endobj -4851 0 obj << +4845 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [80.9762 109.1627 142.7442 118.0094] /Subtype /Link /A << /S /GoTo /D (http-apache) >> >> endobj +4822 0 obj << +/D [4820 0 R /XYZ 71.731 729.2652 null] +>> endobj +4823 0 obj << +/D [4820 0 R /XYZ 71.731 718.3063 null] +>> endobj +4824 0 obj << +/D [4820 0 R /XYZ 508.2921 708.3437 null] +>> endobj +4825 0 obj << +/D [4820 0 R /XYZ 71.731 649.3998 null] +>> endobj +4826 0 obj << +/D [4820 0 R /XYZ 71.731 631.4671 null] +>> endobj +4827 0 obj << +/D [4820 0 R /XYZ 71.731 579.6613 null] +>> endobj 4828 0 obj << -/D [4826 0 R /XYZ 71.731 729.2652 null] +/D [4820 0 R /XYZ 71.731 546.9191 null] >> endobj 4829 0 obj << -/D [4826 0 R /XYZ 71.731 718.3063 null] +/D [4820 0 R /XYZ 71.731 536.9564 null] >> endobj 4830 0 obj << -/D [4826 0 R /XYZ 508.2921 708.3437 null] +/D [4820 0 R /XYZ 135.9845 527.3225 null] >> endobj 4831 0 obj << -/D [4826 0 R /XYZ 71.731 649.3998 null] +/D [4820 0 R /XYZ 135.9845 492.3537 null] >> endobj 4832 0 obj << -/D [4826 0 R /XYZ 71.731 631.4671 null] +/D [4820 0 R /XYZ 71.731 435.7659 null] >> endobj 4833 0 obj << -/D [4826 0 R /XYZ 71.731 579.6613 null] +/D [4820 0 R /XYZ 71.731 396.812 null] >> endobj 4834 0 obj << -/D [4826 0 R /XYZ 71.731 546.9191 null] +/D [4820 0 R /XYZ 71.731 362.0125 null] >> endobj 4835 0 obj << -/D [4826 0 R /XYZ 71.731 536.9564 null] +/D [4820 0 R /XYZ 71.731 352.0499 null] >> endobj 4836 0 obj << -/D [4826 0 R /XYZ 135.9845 527.3225 null] +/D [4820 0 R /XYZ 135.9845 342.416 null] >> endobj 4837 0 obj << -/D [4826 0 R /XYZ 135.9845 492.3537 null] +/D [4820 0 R /XYZ 135.9845 307.4471 null] >> endobj 4838 0 obj << -/D [4826 0 R /XYZ 71.731 435.7659 null] +/D [4820 0 R /XYZ 71.731 274.1719 null] >> endobj 4839 0 obj << -/D [4826 0 R /XYZ 71.731 396.812 null] +/D [4820 0 R /XYZ 181.6909 261.2205 null] >> endobj 4840 0 obj << -/D [4826 0 R /XYZ 71.731 362.0125 null] ->> endobj -4841 0 obj << -/D [4826 0 R /XYZ 71.731 352.0499 null] ->> endobj -4842 0 obj << -/D [4826 0 R /XYZ 135.9845 342.416 null] ->> endobj -4843 0 obj << -/D [4826 0 R /XYZ 135.9845 307.4471 null] ->> endobj -4844 0 obj << -/D [4826 0 R /XYZ 71.731 274.1719 null] ->> endobj -4845 0 obj << -/D [4826 0 R /XYZ 181.6909 261.2205 null] ->> endobj -4846 0 obj << -/D [4826 0 R /XYZ 485.8887 261.2205 null] +/D [4820 0 R /XYZ 485.8887 261.2205 null] >> endobj 1969 0 obj << -/D [4826 0 R /XYZ 71.731 228.1794 null] +/D [4820 0 R /XYZ 71.731 228.1794 null] >> endobj 986 0 obj << -/D [4826 0 R /XYZ 107.1086 162.7019 null] +/D [4820 0 R /XYZ 107.1086 162.7019 null] >> endobj -4847 0 obj << -/D [4826 0 R /XYZ 71.731 153.8791 null] +4841 0 obj << +/D [4820 0 R /XYZ 71.731 153.8791 null] >> endobj -4848 0 obj << -/D [4826 0 R /XYZ 71.731 134.0046 null] +4842 0 obj << +/D [4820 0 R /XYZ 71.731 134.0046 null] >> endobj -4849 0 obj << -/D [4826 0 R /XYZ 274.3729 123.21 null] +4843 0 obj << +/D [4820 0 R /XYZ 274.3729 123.21 null] >> endobj -4850 0 obj << -/D [4826 0 R /XYZ 390.7657 123.21 null] +4844 0 obj << +/D [4820 0 R /XYZ 390.7657 123.21 null] >> endobj 1970 0 obj << -/D [4826 0 R /XYZ 71.731 105.1777 null] +/D [4820 0 R /XYZ 71.731 105.1777 null] >> endobj -4825 0 obj << -/Font << /F33 1358 0 R /F27 1258 0 R /F32 1266 0 R /F23 1250 0 R /F61 2639 0 R /F35 1709 0 R >> +4819 0 obj << +/Font << /F33 1358 0 R /F27 1258 0 R /F32 1266 0 R /F23 1250 0 R /F61 2640 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4854 0 obj << -/Length 884 +4848 0 obj << +/Length 885 /Filter /FlateDecode >> stream @@ -20490,42 +20416,41 @@ RU �n8'yMYH+gw����7}F�SgZ���2�ɩٽןc��=�%M !/|(�����ʈ f���T����H��i��Z?� ޫVΓB�lf$�Uh=O�%T��V�2����Rc;tQ���q���I�TkN*{���w���=®���O�,�������"��8i�䷯��ܜ�ӗ����T���MO��C�&Or�15��7B�U�Az=9�J�r3t~&��Ϙo��EE�����(�ނ���虪r��s��DU_��ô�Bn �Ǧ�|�W���b�5]F���ﭴ}���a���<O���dBZ�wBEۯ;�]n�t��@� [4J���zkyF�`��L��R�d�~�49�W)��`� �pA��GJ��b������t�\�.}����z �4��PP���O/���U�@��/3(�F����n4}�y�3��S�XI�m�]뿘rg�ˌ��6mrxS�]:r�� �� [�L�O�< -�~�;/UjD.>��x�����<w����+���)>*wҚYGW�;h�p�����5�5�s��X�δ� �G�ƛ��+|�)�9݂�6p[�� ݧ6��ѝ����⏧�I������o��W����co���6�I�� -�endstream +�~�;/UjD.>��x�����<w����+���)>*wҚYGW�;h�p�����5�5�s��X�δ� �G�ƛ��+|�)�9݂�6p[�� ݧ6��ѝ����⏧�I������o��ׄ��Y#y�M����3 ��Z�endstream endobj -4853 0 obj << +4847 0 obj << /Type /Page -/Contents 4854 0 R -/Resources 4852 0 R +/Contents 4848 0 R +/Resources 4846 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R +/Parent 4855 0 R >> endobj -4855 0 obj << -/D [4853 0 R /XYZ 71.731 729.2652 null] +4849 0 obj << +/D [4847 0 R /XYZ 71.731 729.2652 null] >> endobj 990 0 obj << -/D [4853 0 R /XYZ 452.3944 683.3676 null] +/D [4847 0 R /XYZ 452.3944 683.3676 null] >> endobj -4856 0 obj << -/D [4853 0 R /XYZ 71.731 671.1964 null] +4850 0 obj << +/D [4847 0 R /XYZ 71.731 671.1964 null] >> endobj -4857 0 obj << -/D [4853 0 R /XYZ 71.731 648.857 null] +4851 0 obj << +/D [4847 0 R /XYZ 71.731 648.857 null] >> endobj -4858 0 obj << -/D [4853 0 R /XYZ 437.9897 648.857 null] +4852 0 obj << +/D [4847 0 R /XYZ 437.9897 648.857 null] >> endobj -4859 0 obj << -/D [4853 0 R /XYZ 71.731 628.7675 null] +4853 0 obj << +/D [4847 0 R /XYZ 71.731 628.7675 null] >> endobj -4860 0 obj << -/D [4853 0 R /XYZ 130.4005 592.07 null] +4854 0 obj << +/D [4847 0 R /XYZ 130.4005 592.07 null] >> endobj -4852 0 obj << +4846 0 obj << /Font << /F33 1358 0 R /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4863 0 obj << +4858 0 obj << /Length 2959 /Filter /FlateDecode >> @@ -20541,521 +20466,525 @@ E Z�NM�e�@w짾��}&y�o�7Np��_�v9���p[U��|�ڥ7���a����n/��o'O�*�/��{�c��5�����{5M���q�*�ż ��g&���^.�%���s���ɰ�����C�!J�Ǽ� �)�����sE)��E)����D"��dUc8�m M5��g��D/�"��G�P�Ԥ�.iP���Q0L�62�8r���FI�۱k���؊"۹D�9�VSM�]ar#L�� �?ry�9/ES^�R��:(�@v[ɫ�V��+<�7m80�a�]²~&mʌ�6k����6�my�t����֣S��֣���$���C����!��^ $����'�BW��ix�:��� -����R�z�7�*v���%�Q.H��1��SV@N�{nA�$p\/����<�����{N����L���O���E��@w�r�{i��D�u=����4��a0��̔��V��@Y��-�t��Մ�]���8X6��l�Z��es�F��Ӌ�ˍ�ˇ/$��� 6�_!z�246z`0�B�dz�<���6t�؆@Ʊ����S��v�>x]m���r&�co6�M!�|I�8����8W��Ut���_0���Պ2olx�>�����3��BC����`���;�9@v#u��jF�:י$�5/3]À|�m�<g�r�_�x[�)���x�grC����j��-T~!��>ή ���jYu ���A��,߂s(0=��~B#cO��C�J��-�ȢU u<���1W�D Cs�ށ~̱t>�_����c~�3;[F�r()l�p�\�m)O�%���������7̓@������͠0��u��+EImF9ں�}��<!�g���32$d��H���^��#=�-4|��Wh��w�S5���}j��f� 9��s�j|�/�*s&=t�sφ����%q13+�s9��,�j1��n� !�)+�@�Q�罰�}F�Y��+�)Ϡ��K���;���u�����[��A�ĭ��-!���~�G� q��?-3�vFC��s7�؉B�O��i��w�3��x�!�endstream +����R�z�7�*v���%�Q.H��1��SV@N�{nA�$p\/����<�����{N����L���O���E��@w�r�{i��D�u=����4��a0��̔��V��@Y��-�t��Մ�]���8X6��l�Z��es�F��Ӌ�ˍ�ˇ/$��� 6�_!z�246z`0�B�dz�<���6t�؆@Ʊ����S��v�>x]m���r&�co6�M!�|I�8����8W��Ut���_0���Պ2olx�>�����3��BC����`���;�9@v#u��jF�:י$�5/3]À|�m�<g�r�_�x[�)���x�grC����j��-T~!��>ή ���jYu ���A��,߂s(0=��~B#cO��C�J��-�ȢU u<���1W�D Cs�ށ~̱t>�_����c~�3;[F�r()l�p�\�m)O�%���������7̓@������͠0��u��+EImF9ں�}��<!�g���32$d��H���^��#=�-4|��Wh��w�S5���}j��f� 9��s�j|�/�*s&=t�sφ����%q13+�s9��,�j1��n� !�)+�@�Q�罰�}F�Y��+�)Ϡ��K���;���u�����[��A�ĭ��-!���~�G� q��?-3�vFC��s7��qE�N��i��w�3��y`!�endstream endobj -4862 0 obj << +4857 0 obj << /Type /Page -/Contents 4863 0 R -/Resources 4861 0 R +/Contents 4858 0 R +/Resources 4856 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R +/Parent 4855 0 R >> endobj -4864 0 obj << -/D [4862 0 R /XYZ 71.731 729.2652 null] +4859 0 obj << +/D [4857 0 R /XYZ 71.731 729.2652 null] >> endobj 1971 0 obj << -/D [4862 0 R /XYZ 71.731 718.3063 null] +/D [4857 0 R /XYZ 71.731 718.3063 null] >> endobj 994 0 obj << -/D [4862 0 R /XYZ 271.435 703.236 null] +/D [4857 0 R /XYZ 271.435 703.236 null] >> endobj -4865 0 obj << -/D [4862 0 R /XYZ 71.731 682.1747 null] +4860 0 obj << +/D [4857 0 R /XYZ 71.731 682.1747 null] >> endobj -4866 0 obj << -/D [4862 0 R /XYZ 297.9985 673.4995 null] +4861 0 obj << +/D [4857 0 R /XYZ 297.9985 673.4995 null] >> endobj 1972 0 obj << -/D [4862 0 R /XYZ 71.731 660.4485 null] +/D [4857 0 R /XYZ 71.731 660.4485 null] >> endobj 998 0 obj << -/D [4862 0 R /XYZ 365.8704 615.2938 null] +/D [4857 0 R /XYZ 365.8704 615.2938 null] +>> endobj +4862 0 obj << +/D [4857 0 R /XYZ 71.731 606.4709 null] +>> endobj +4863 0 obj << +/D [4857 0 R /XYZ 457.2853 593.7346 null] +>> endobj +4864 0 obj << +/D [4857 0 R /XYZ 199.7198 580.7832 null] +>> endobj +4865 0 obj << +/D [4857 0 R /XYZ 258.4993 580.7832 null] +>> endobj +4866 0 obj << +/D [4857 0 R /XYZ 315.5253 580.7832 null] >> endobj 4867 0 obj << -/D [4862 0 R /XYZ 71.731 606.4709 null] +/D [4857 0 R /XYZ 71.731 578.6263 null] >> endobj 4868 0 obj << -/D [4862 0 R /XYZ 457.2853 593.7346 null] +/D [4857 0 R /XYZ 118.5554 540.0623 null] >> endobj 4869 0 obj << -/D [4862 0 R /XYZ 199.7198 580.7832 null] +/D [4857 0 R /XYZ 71.731 509.7853 null] >> endobj 4870 0 obj << -/D [4862 0 R /XYZ 258.4993 580.7832 null] +/D [4857 0 R /XYZ 71.731 509.7853 null] >> endobj 4871 0 obj << -/D [4862 0 R /XYZ 315.5253 580.7832 null] +/D [4857 0 R /XYZ 71.731 490.0793 null] >> endobj 4872 0 obj << -/D [4862 0 R /XYZ 71.731 578.6263 null] +/D [4857 0 R /XYZ 165.1103 477.1279 null] >> endobj 4873 0 obj << -/D [4862 0 R /XYZ 118.5554 540.0623 null] +/D [4857 0 R /XYZ 71.731 469.9897 null] >> endobj 4874 0 obj << -/D [4862 0 R /XYZ 71.731 509.7853 null] +/D [4857 0 R /XYZ 71.731 469.9897 null] >> endobj 4875 0 obj << -/D [4862 0 R /XYZ 71.731 509.7853 null] +/D [4857 0 R /XYZ 164.0649 446.2437 null] >> endobj 4876 0 obj << -/D [4862 0 R /XYZ 71.731 490.0793 null] +/D [4857 0 R /XYZ 210.3517 446.2437 null] >> endobj 4877 0 obj << -/D [4862 0 R /XYZ 165.1103 477.1279 null] +/D [4857 0 R /XYZ 352.5688 446.2437 null] >> endobj 4878 0 obj << -/D [4862 0 R /XYZ 71.731 469.9897 null] +/D [4857 0 R /XYZ 442.6605 446.2437 null] >> endobj 4879 0 obj << -/D [4862 0 R /XYZ 71.731 469.9897 null] +/D [4857 0 R /XYZ 203.7146 433.2922 null] >> endobj 4880 0 obj << -/D [4862 0 R /XYZ 164.0649 446.2437 null] +/D [4857 0 R /XYZ 372.0612 433.2922 null] >> endobj 4881 0 obj << -/D [4862 0 R /XYZ 210.3517 446.2437 null] +/D [4857 0 R /XYZ 71.731 426.1541 null] >> endobj 4882 0 obj << -/D [4862 0 R /XYZ 352.5688 446.2437 null] +/D [4857 0 R /XYZ 460.2171 415.3595 null] >> endobj 4883 0 obj << -/D [4862 0 R /XYZ 442.6605 446.2437 null] +/D [4857 0 R /XYZ 71.731 382.3185 null] >> endobj 4884 0 obj << -/D [4862 0 R /XYZ 203.7146 433.2922 null] +/D [4857 0 R /XYZ 71.731 382.3185 null] >> endobj 4885 0 obj << -/D [4862 0 R /XYZ 372.0612 433.2922 null] +/D [4857 0 R /XYZ 237.4512 371.5239 null] >> endobj 4886 0 obj << -/D [4862 0 R /XYZ 71.731 426.1541 null] +/D [4857 0 R /XYZ 71.731 358.5724 null] >> endobj 4887 0 obj << -/D [4862 0 R /XYZ 460.2171 415.3595 null] +/D [4857 0 R /XYZ 220.8703 345.621 null] >> endobj 4888 0 obj << -/D [4862 0 R /XYZ 71.731 382.3185 null] +/D [4857 0 R /XYZ 71.731 338.4829 null] >> endobj 4889 0 obj << -/D [4862 0 R /XYZ 71.731 382.3185 null] +/D [4857 0 R /XYZ 257.1241 327.6883 null] >> endobj 4890 0 obj << -/D [4862 0 R /XYZ 237.4512 371.5239 null] +/D [4857 0 R /XYZ 358.7127 327.6883 null] +>> endobj +1973 0 obj << +/D [4857 0 R /XYZ 71.731 320.5501 null] +>> endobj +1002 0 obj << +/D [4857 0 R /XYZ 462.0005 277.4526 null] >> endobj 4891 0 obj << -/D [4862 0 R /XYZ 71.731 358.5724 null] +/D [4857 0 R /XYZ 71.731 265.0146 null] >> endobj 4892 0 obj << -/D [4862 0 R /XYZ 220.8703 345.621 null] +/D [4857 0 R /XYZ 117.2903 255.8935 null] >> endobj 4893 0 obj << -/D [4862 0 R /XYZ 71.731 338.4829 null] +/D [4857 0 R /XYZ 427.8955 255.8935 null] >> endobj 4894 0 obj << -/D [4862 0 R /XYZ 257.1241 327.6883 null] +/D [4857 0 R /XYZ 71.731 224.9097 null] >> endobj 4895 0 obj << -/D [4862 0 R /XYZ 358.7127 327.6883 null] ->> endobj -1973 0 obj << -/D [4862 0 R /XYZ 71.731 320.5501 null] ->> endobj -1002 0 obj << -/D [4862 0 R /XYZ 462.0005 277.4526 null] +/D [4857 0 R /XYZ 173.632 212.0579 null] >> endobj 4896 0 obj << -/D [4862 0 R /XYZ 71.731 265.0146 null] +/D [4857 0 R /XYZ 420.183 212.0579 null] >> endobj 4897 0 obj << -/D [4862 0 R /XYZ 117.2903 255.8935 null] +/D [4857 0 R /XYZ 71.731 166.0654 null] >> endobj 4898 0 obj << -/D [4862 0 R /XYZ 427.8955 255.8935 null] +/D [4857 0 R /XYZ 71.731 122.2298 null] >> endobj 4899 0 obj << -/D [4862 0 R /XYZ 71.731 224.9097 null] ->> endobj -4900 0 obj << -/D [4862 0 R /XYZ 173.632 212.0579 null] ->> endobj -4901 0 obj << -/D [4862 0 R /XYZ 420.183 212.0579 null] ->> endobj -4902 0 obj << -/D [4862 0 R /XYZ 71.731 166.0654 null] ->> endobj -4903 0 obj << -/D [4862 0 R /XYZ 71.731 122.2298 null] ->> endobj -4904 0 obj << -/D [4862 0 R /XYZ 71.731 122.2298 null] +/D [4857 0 R /XYZ 71.731 122.2298 null] >> endobj -4861 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R /F32 1266 0 R /F33 1358 0 R >> +4856 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R /F32 1266 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4907 0 obj << -/Length 1588 +4902 0 obj << +/Length 1586 /Filter /FlateDecode >> stream -xڽ]o�6�=���*�-R"%À4يM���0쁑hK�-y�H�����(Yv�n���xǻs�,�?>�9�C��� %�,ۜ��ޝq�)ń� -'��c�&B�����wg�_D8S2����h*���.�ӻ�nM����/�Ļd���՜^��t���N�+�0�����0�L���u�+x���B������i�d=�1\F� pJ��XŖ�q�����Y�Rᑜ�L�TX�k�"��S�P�#$��&LI���=����F]A�맹��9��1��Rz����Bz�Ng7%�ueI]W��uNĮ0S��mY���[��gB�JT�0��3�Ğ�]4,�<��Pd�u�$�5���餫����j��X�l ��U�XV��:=U☚���PZB9KX��xH�b*(-��-~���J٬Cu�$źE�N7sd<���$�G�������)P�s��J��Y��C+�X��V�џͲ\v�����Һݙ��nʇ�8t����2��d�G 4��?ԝq�ES��%!$��PҡP^��!>~�z�-�Ņ"�ںo23r��(����_�cK���<l+xx,���"苞�1xL���.�'�>� p��M�Lu�잠�#�]aN\F�h҉������B�B�!�A9�?�J.��mlten�����M�5u[/;"�Q���#|��5�l46�'��B����.Z��Hz���B#���<`G�M��:��Y��b�� -�=qK2e0<�2ȿ|M�+�4&ĺ�˵�Ǔ���l� ]_�,I��b���s`��@S�(��@�?�B|e�7"MՕ�����a`J��y��n�3��H��ܴ�Szo�FZ@���q�s �F��,q�Ԋ0r�S6�"\�Km��G�(��%�~�@�R�_�c��?^jC?�Ƀ�*n(���j�bǦn;��:�<�+c�5��l�Ο�l�w��m��lu"�����]dC���������SuqBw<*���q��#귻D�}���E�*l!��lc�:�Bw���y̆�q��#��[KL�w����!n�ƁЋ��G�j���š�'�zz��4f[�e7� i����im�7�I'��x ��a��P��j)$�c2��6*�6zE�6�s�y_gz��N�Ҩ,�J}}��,Qr���Ue3#e��W�0p4���I)'�w Ɲl:����$�"KH<hC���ʸmH�#��a 1!x��|x�.���M�t��T؎�h�9Y��I90 ���S�A&� -�/�B���J�y^�8�4<��? -dک�w>䓌c�E�q8n�u�7�Ť~w���%�rkV,�xZ�HD��/�����B�Q:����ժ�����ƙ��muuh����vܓη��n� Qp�D,��En�z1�%؎��m�L��H%���]��߿�\8X7WSAc,�|��P�����5�� -fC��ቷZ`�,��n�~#]�Y]�~��ý=�3��Q�*������y�8M�ήt���~r�_�����~���p����ş�����LJ�?O�QƑ&����;�0���MFendstream +xڽ]o�6�=���*�-R"%À4يM���0쁑hK�-y�H�����(Yv�n���x_t�,�?>�9�C��� %�,ۜ��ޝq�)ń� +'��c�&B�����wg�_D8S2����h*���.�ӻ�nM����/�Ļd���՜^��t���N�+�0�����0�L���u�+x���B������i�d=�1\F� pJ��XŖ�q�����Y�Rᑜ�L�TX�k�"��S�P�#$��&LI���=����F]A�맹��9��1��Rz����Bz�Ng7%�ueI]W��uNĮ0S��mY���[��gB�JT�0��3�Ğ�]4,�<��Pd�u�$�5���餫����j��X�l ��U�XV��:=U☚���PZB9KX��xH�b*(-��-~���J٬Cu�$źE�N7sd<���$�G�������)P�s��J��Y��C+�X��V�џͲ\v�����Һݙ��nʇF��^�O�Ra2��k�ug\�E�T�dII�5�t(�W7�i���oVo�%v\(b���&3!wP_�R��*���[B<�E��X��c��\����`���t�<��y��"d�+�e�S5��� +s�2B���N\|�>��r +�q �q4��Ppq��mc�{(s�| ��@(�nʬ��z�Ᏺ����ׯ�g�q�?���oM�u��WWD���Y��'�R����|%�r�����eP0��[�)��1�A��k�\)ǥ1!�]��=�l}��eSo���4`I������R�E����(��+�θi��l����W S�´�k6Ns��a�V2^p�͜�{�4�g?ߍ۟Kh��t�l�SO��˟��'����Ԇ}��B.\b!0q�$<*���~�\���Km��9yPP��Š3T] ^����mG�Vg���ze��P��������������N�P3@�5c��l(�6����}�.�C��G�U#4�L>�~����O�eEpQ� +[H�7&��صǮ�A�����ك<fC��G�m���x���߯ �B��O��q#R�����{�C�O���l�4f[�e7� i����im�7}�N��y ��a���>����P�q�x��Q�^�WTi�{0��LO�ӡ4*&�R_�c1K�&�o}U��Hzo��3,M'�;)��BBc��a���M'0����_d �c�P�Xw� �b�Qc1"��������:���lJ��fSq`'"���d5v�r`F&���L~_D�rGÕ�Dq\ix_�(�i�����O2�C���pT�E�m�,���I�?��ʭY�L/����"�v�_>yW��� +�G�@�cGT�> +��g6����������'�o���nA��ȉX���ܺ�bYJ2�;��l�L��H%�L�m��C�/���T�ZKG?�$&,Co���n�n�����nx�X20ƶ�ũ�HWu��Ԥ�5���ݞ���U�f����Y�&tgW���U���/ĉ���v����p��\��ş�����LJ�e$�&�#U����;�0���MAendstream endobj -4906 0 obj << +4901 0 obj << /Type /Page -/Contents 4907 0 R -/Resources 4905 0 R +/Contents 4902 0 R +/Resources 4900 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R -/Annots [ 4923 0 R ] +/Parent 4855 0 R +/Annots [ 4918 0 R ] >> endobj -4923 0 obj << +4918 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [157.2677 413.7501 206.2336 424.3324] /Subtype /Link /A << /S /GoTo /D (modules-manual-download) >> >> endobj -4908 0 obj << -/D [4906 0 R /XYZ 71.731 729.2652 null] +4903 0 obj << +/D [4901 0 R /XYZ 71.731 729.2652 null] >> endobj 1974 0 obj << -/D [4906 0 R /XYZ 71.731 718.3063 null] +/D [4901 0 R /XYZ 71.731 718.3063 null] >> endobj 1006 0 obj << -/D [4906 0 R /XYZ 155.5214 676.3797 null] +/D [4901 0 R /XYZ 155.5214 676.3797 null] >> endobj 1975 0 obj << -/D [4906 0 R /XYZ 71.731 669.6658 null] +/D [4901 0 R /XYZ 71.731 669.6658 null] >> endobj 1010 0 obj << -/D [4906 0 R /XYZ 206.6123 624.303 null] +/D [4901 0 R /XYZ 206.6123 624.303 null] +>> endobj +4904 0 obj << +/D [4901 0 R /XYZ 71.731 615.4802 null] +>> endobj +4905 0 obj << +/D [4901 0 R /XYZ 71.731 582.6542 null] +>> endobj +4906 0 obj << +/D [4901 0 R /XYZ 71.731 572.6916 null] +>> endobj +4907 0 obj << +/D [4901 0 R /XYZ 71.731 572.6916 null] +>> endobj +4908 0 obj << +/D [4901 0 R /XYZ 71.731 561.8114 null] >> endobj 4909 0 obj << -/D [4906 0 R /XYZ 71.731 615.4802 null] +/D [4901 0 R /XYZ 71.731 551.2777 null] >> endobj 4910 0 obj << -/D [4906 0 R /XYZ 71.731 582.6542 null] +/D [4901 0 R /XYZ 71.731 538.4988 null] >> endobj 4911 0 obj << -/D [4906 0 R /XYZ 71.731 572.6916 null] +/D [4901 0 R /XYZ 71.731 527.9651 null] >> endobj 4912 0 obj << -/D [4906 0 R /XYZ 71.731 572.6916 null] +/D [4901 0 R /XYZ 71.731 516.3088 null] >> endobj 4913 0 obj << -/D [4906 0 R /XYZ 71.731 561.8114 null] +/D [4901 0 R /XYZ 76.7123 483.2918 null] >> endobj 4914 0 obj << -/D [4906 0 R /XYZ 71.731 551.2777 null] +/D [4901 0 R /XYZ 71.731 468.3478 null] >> endobj 4915 0 obj << -/D [4906 0 R /XYZ 71.731 538.4988 null] +/D [4901 0 R /XYZ 486.2278 456.6915 null] >> endobj 4916 0 obj << -/D [4906 0 R /XYZ 71.731 527.9651 null] +/D [4901 0 R /XYZ 451.4238 445.0352 null] >> endobj 4917 0 obj << -/D [4906 0 R /XYZ 71.731 516.3088 null] +/D [4901 0 R /XYZ 71.731 426.5103 null] >> endobj -4918 0 obj << -/D [4906 0 R /XYZ 76.7123 483.2918 null] +1976 0 obj << +/D [4901 0 R /XYZ 71.731 365.5334 null] +>> endobj +1014 0 obj << +/D [4901 0 R /XYZ 276.1797 320.2791 null] >> endobj 4919 0 obj << -/D [4906 0 R /XYZ 71.731 468.3478 null] +/D [4901 0 R /XYZ 71.731 320.064 null] >> endobj 4920 0 obj << -/D [4906 0 R /XYZ 486.2278 456.6915 null] +/D [4901 0 R /XYZ 71.731 301.4936 null] >> endobj 4921 0 obj << -/D [4906 0 R /XYZ 451.4238 445.0352 null] +/D [4901 0 R /XYZ 91.6563 266.7399 null] >> endobj 4922 0 obj << -/D [4906 0 R /XYZ 71.731 426.5103 null] +/D [4901 0 R /XYZ 349.077 266.7399 null] >> endobj -1976 0 obj << -/D [4906 0 R /XYZ 71.731 365.5334 null] ->> endobj -1014 0 obj << -/D [4906 0 R /XYZ 276.1797 320.2791 null] +4923 0 obj << +/D [4901 0 R /XYZ 71.731 227.1882 null] >> endobj 4924 0 obj << -/D [4906 0 R /XYZ 71.731 320.064 null] +/D [4901 0 R /XYZ 71.731 204.1746 null] >> endobj 4925 0 obj << -/D [4906 0 R /XYZ 71.731 301.4936 null] +/D [4901 0 R /XYZ 188.0244 191.3227 null] >> endobj 4926 0 obj << -/D [4906 0 R /XYZ 91.6563 266.7399 null] +/D [4901 0 R /XYZ 158.3455 178.3713 null] >> endobj 4927 0 obj << -/D [4906 0 R /XYZ 349.077 266.7399 null] +/D [4901 0 R /XYZ 71.731 137.5244 null] >> endobj 4928 0 obj << -/D [4906 0 R /XYZ 71.731 227.1882 null] +/D [4901 0 R /XYZ 71.731 112.4535 null] >> endobj 4929 0 obj << -/D [4906 0 R /XYZ 71.731 204.1746 null] +/D [4901 0 R /XYZ 188.0244 101.6589 null] >> endobj -4930 0 obj << -/D [4906 0 R /XYZ 188.0244 191.3227 null] ->> endobj -4931 0 obj << -/D [4906 0 R /XYZ 158.3455 178.3713 null] ->> endobj -4932 0 obj << -/D [4906 0 R /XYZ 71.731 137.5244 null] ->> endobj -4933 0 obj << -/D [4906 0 R /XYZ 71.731 112.4535 null] ->> endobj -4934 0 obj << -/D [4906 0 R /XYZ 188.0244 101.6589 null] ->> endobj -4905 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2088 0 R /F33 1358 0 R >> +4900 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F44 2089 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4937 0 obj << +4932 0 obj << /Length 535 /Filter /FlateDecode >> stream xڽ��r�0��~ -��$�[O:���� ��@�q���q��q�L��A�^��]I��o>DE�,�#2�f������m���q����̻�p�C����G��D����d�w��ʶ��@�0߹Fv��ZH�|�ZH)t�Z��z��ƾS�۸;U�e9����ٗl���I�$�.�9�� 8F!)��рFC��uS�zJ1�٬���J��+�w�E��8v*����B7]7]�{v��9�k�����%atLE<��G�2In f����������am2H�S7�����ɤ��%��"�T�����}/U�0g�J%��*?Q�g��{��op�����:���7=<U⥺�8�=��?�ߘ����]���l��$���;��i�4���\�;Y���ũ��ԛ��rF�euY�e���FnY���`d���3�^�f�=���U��� ��Ho6��M?ji�s���J7��^����"��^�Ez~�;��n�d˻?ƶ36�Q�C~r��<���ǜ��,8qj1��-endstream +��$��[O:���� ��@�q���q��q�L��A�^��]I��o>p�85� y3�Ae�Z��6��Ƹ�A�l��P +b�$����bL�)A�Ȋ��UוmQ��.a�s��z'ڵ������R�Z���`�%�|��qw�X�r�?���/�.;F9�#��I�]�s�� b�BR��р�!U��)[=���lVZw�� ����;�"�C9�Wԃ�R�������=�@��5c���ƒ0:&�xQ�#t�$73G�������N���6�̩�r|�D�d���bzL��K��}/U�0g�J%��*?Q�g��{��op�����:���7=<U⥺�8�=��?�ߘ����]���l��$���;��i�4���\�;Y���ũ��ԛ��rF�euY�e���FnY��� 7W[әk�t��SJ�������z�7� �Ŧ���9��h�y��/���{�~X���"=��f_�uU�I���c�D(�a|r��<�p3�0�)�Y��ũy���-endstream endobj -4936 0 obj << +4931 0 obj << /Type /Page -/Contents 4937 0 R -/Resources 4935 0 R +/Contents 4932 0 R +/Resources 4930 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4824 0 R +/Parent 4855 0 R +>> endobj +4933 0 obj << +/D [4931 0 R /XYZ 71.731 729.2652 null] +>> endobj +4934 0 obj << +/D [4931 0 R /XYZ 158.3455 708.3437 null] +>> endobj +4935 0 obj << +/D [4931 0 R /XYZ 71.731 667.4969 null] +>> endobj +4936 0 obj << +/D [4931 0 R /XYZ 71.731 642.426 null] +>> endobj +4937 0 obj << +/D [4931 0 R /XYZ 188.0244 631.6314 null] >> endobj 4938 0 obj << -/D [4936 0 R /XYZ 71.731 729.2652 null] +/D [4931 0 R /XYZ 158.3455 618.6799 null] >> endobj 4939 0 obj << -/D [4936 0 R /XYZ 158.3455 708.3437 null] +/D [4931 0 R /XYZ 71.731 577.8331 null] >> endobj 4940 0 obj << -/D [4936 0 R /XYZ 71.731 667.4969 null] +/D [4931 0 R /XYZ 71.731 554.8195 null] >> endobj 4941 0 obj << -/D [4936 0 R /XYZ 71.731 642.426 null] +/D [4931 0 R /XYZ 188.0244 541.9676 null] >> endobj 4942 0 obj << -/D [4936 0 R /XYZ 188.0244 631.6314 null] +/D [4931 0 R /XYZ 158.3455 529.0162 null] >> endobj 4943 0 obj << -/D [4936 0 R /XYZ 158.3455 618.6799 null] +/D [4931 0 R /XYZ 71.731 488.1693 null] >> endobj 4944 0 obj << -/D [4936 0 R /XYZ 71.731 577.8331 null] +/D [4931 0 R /XYZ 71.731 463.0984 null] >> endobj 4945 0 obj << -/D [4936 0 R /XYZ 71.731 554.8195 null] +/D [4931 0 R /XYZ 188.0244 452.3038 null] >> endobj 4946 0 obj << -/D [4936 0 R /XYZ 188.0244 541.9676 null] +/D [4931 0 R /XYZ 158.3455 439.3524 null] >> endobj 4947 0 obj << -/D [4936 0 R /XYZ 158.3455 529.0162 null] +/D [4931 0 R /XYZ 71.731 398.5056 null] >> endobj 4948 0 obj << -/D [4936 0 R /XYZ 71.731 488.1693 null] +/D [4931 0 R /XYZ 71.731 373.4347 null] >> endobj 4949 0 obj << -/D [4936 0 R /XYZ 71.731 463.0984 null] +/D [4931 0 R /XYZ 188.0244 362.6401 null] >> endobj 4950 0 obj << -/D [4936 0 R /XYZ 188.0244 452.3038 null] +/D [4931 0 R /XYZ 158.3455 349.6887 null] >> endobj 4951 0 obj << -/D [4936 0 R /XYZ 158.3455 439.3524 null] +/D [4931 0 R /XYZ 71.731 308.8418 null] >> endobj 4952 0 obj << -/D [4936 0 R /XYZ 71.731 398.5056 null] +/D [4931 0 R /XYZ 71.731 283.7709 null] >> endobj 4953 0 obj << -/D [4936 0 R /XYZ 71.731 373.4347 null] +/D [4931 0 R /XYZ 188.0244 272.9763 null] >> endobj 4954 0 obj << -/D [4936 0 R /XYZ 188.0244 362.6401 null] +/D [4931 0 R /XYZ 158.3455 260.0249 null] >> endobj 4955 0 obj << -/D [4936 0 R /XYZ 158.3455 349.6887 null] +/D [4931 0 R /XYZ 71.731 219.1781 null] >> endobj 4956 0 obj << -/D [4936 0 R /XYZ 71.731 308.8418 null] +/D [4931 0 R /XYZ 71.731 196.1645 null] >> endobj 4957 0 obj << -/D [4936 0 R /XYZ 71.731 283.7709 null] +/D [4931 0 R /XYZ 188.0244 183.3126 null] >> endobj 4958 0 obj << -/D [4936 0 R /XYZ 188.0244 272.9763 null] +/D [4931 0 R /XYZ 158.3455 170.3611 null] >> endobj 4959 0 obj << -/D [4936 0 R /XYZ 158.3455 260.0249 null] ->> endobj -4960 0 obj << -/D [4936 0 R /XYZ 71.731 219.1781 null] ->> endobj -4961 0 obj << -/D [4936 0 R /XYZ 71.731 196.1645 null] ->> endobj -4962 0 obj << -/D [4936 0 R /XYZ 188.0244 183.3126 null] +/D [4931 0 R /XYZ 71.731 129.5143 null] >> endobj -4963 0 obj << -/D [4936 0 R /XYZ 158.3455 170.3611 null] ->> endobj -4964 0 obj << -/D [4936 0 R /XYZ 71.731 129.5143 null] ->> endobj -4935 0 obj << +4930 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4967 0 obj << -/Length 700 +4962 0 obj << +/Length 699 /Filter /FlateDecode >> stream xڽV]o�0}ϯ�����z�,j�lU�M���r� ��8J�_?c �M�[E�c��s���\d8��� ��{q1q���5��>��c�qЛ��%�A�a�X^�u@��k�����X&_ͣ��e��Z6��y�y��5˻�'e#Y�3����"���� ��}�B$�7����d��VG��@����6j��G$� ��dN��K|���� �y���c*,L�M��u"j���e*eA�pV�)�+VQ[(0W0� ���h�������T�6� ��ՐS�^J�������� �B -��d�D� d?�����Lx[�-He�k<��%��J�0 vq��EQǧnx�s�S�Z�;m��n�}�H)�)1l�� ��|w��U�oR�ٕ^T�]-�r1�rQ����%x�9�'H�s?0?Tm��j5r��)JC�%H��Qt���9����4���T"�M7��n>��yͪ�pT�S �bd�|z콲�mw��^�Q���};m��O2˟�u�#ظ���v�?��I=���<Oi��/��V!���d�ùH��곭$Y��:i@�9��y#�u���bͯF�P����R=t���!���:2N/8Kx}=�Z�����f'g�A ����!���B��pǢ����������9f�u�}� ҸW�7��½��(f�ա����6S�9Γ��#��Z��sendstream +��d�D� d?�����Lx[�-He�k<��%��J�0 vq��EQǧnx�s�S�Z�;m��n�}�H)�)1l�� ��|w��U�oR�ٕ^T�]-�r1�rQ����%x�9�'H�s?0?Tm��j5r��)JC�%H��Qt���9����4���T"�M7��n>��yͪ�pT�S �bd�|z콲�mw��^�Q���};m��O2˟�u�#ظ���v�?��I=���<Oi��/��V!���d�ùH��곭$Y��:i@�9��y#�u���bͯF�P����R=t���!���:2N/8Kx}=�Z�����f'g�A ����!���B��pǢ����������9f�u�}� ҸW�7��½��(f�ա8� +�m��O<ٚ<��B�Zendstream endobj -4966 0 obj << +4961 0 obj << /Type /Page -/Contents 4967 0 R -/Resources 4965 0 R +/Contents 4962 0 R +/Resources 4960 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 4855 0 R +>> endobj +4963 0 obj << +/D [4961 0 R /XYZ 71.731 729.2652 null] +>> endobj +4964 0 obj << +/D [4961 0 R /XYZ 71.731 718.3063 null] +>> endobj +4965 0 obj << +/D [4961 0 R /XYZ 185.5337 708.3437 null] +>> endobj +4966 0 obj << +/D [4961 0 R /XYZ 155.8548 695.3923 null] +>> endobj +4967 0 obj << +/D [4961 0 R /XYZ 71.731 654.5454 null] >> endobj 4968 0 obj << -/D [4966 0 R /XYZ 71.731 729.2652 null] +/D [4961 0 R /XYZ 71.731 629.4745 null] >> endobj 4969 0 obj << -/D [4966 0 R /XYZ 71.731 718.3063 null] +/D [4961 0 R /XYZ 188.0244 618.6799 null] >> endobj 4970 0 obj << -/D [4966 0 R /XYZ 185.5337 708.3437 null] +/D [4961 0 R /XYZ 158.3455 605.7285 null] +>> endobj +1977 0 obj << +/D [4961 0 R /XYZ 71.731 564.8817 null] +>> endobj +1018 0 obj << +/D [4961 0 R /XYZ 252.5255 519.6274 null] >> endobj 4971 0 obj << -/D [4966 0 R /XYZ 155.8548 695.3923 null] +/D [4961 0 R /XYZ 71.731 507.4562 null] >> endobj 4972 0 obj << -/D [4966 0 R /XYZ 71.731 654.5454 null] +/D [4961 0 R /XYZ 71.731 488.006 null] >> endobj 4973 0 obj << -/D [4966 0 R /XYZ 71.731 629.4745 null] +/D [4961 0 R /XYZ 188.0244 475.1541 null] >> endobj 4974 0 obj << -/D [4966 0 R /XYZ 188.0244 618.6799 null] +/D [4961 0 R /XYZ 158.3455 462.2027 null] >> endobj 4975 0 obj << -/D [4966 0 R /XYZ 158.3455 605.7285 null] ->> endobj -1977 0 obj << -/D [4966 0 R /XYZ 71.731 564.8817 null] ->> endobj -1018 0 obj << -/D [4966 0 R /XYZ 252.5255 519.6274 null] +/D [4961 0 R /XYZ 71.731 421.3559 null] >> endobj 4976 0 obj << -/D [4966 0 R /XYZ 71.731 507.4562 null] +/D [4961 0 R /XYZ 71.731 396.285 null] >> endobj 4977 0 obj << -/D [4966 0 R /XYZ 71.731 488.006 null] +/D [4961 0 R /XYZ 188.0244 385.4904 null] >> endobj 4978 0 obj << -/D [4966 0 R /XYZ 188.0244 475.1541 null] +/D [4961 0 R /XYZ 158.3455 372.539 null] >> endobj 4979 0 obj << -/D [4966 0 R /XYZ 158.3455 462.2027 null] +/D [4961 0 R /XYZ 71.731 331.6921 null] >> endobj 4980 0 obj << -/D [4966 0 R /XYZ 71.731 421.3559 null] +/D [4961 0 R /XYZ 71.731 306.6212 null] >> endobj 4981 0 obj << -/D [4966 0 R /XYZ 71.731 396.285 null] +/D [4961 0 R /XYZ 188.0244 295.8266 null] >> endobj 4982 0 obj << -/D [4966 0 R /XYZ 188.0244 385.4904 null] +/D [4961 0 R /XYZ 158.3455 282.8752 null] >> endobj 4983 0 obj << -/D [4966 0 R /XYZ 158.3455 372.539 null] +/D [4961 0 R /XYZ 71.731 242.0284 null] >> endobj 4984 0 obj << -/D [4966 0 R /XYZ 71.731 331.6921 null] +/D [4961 0 R /XYZ 71.731 216.9575 null] >> endobj 4985 0 obj << -/D [4966 0 R /XYZ 71.731 306.6212 null] +/D [4961 0 R /XYZ 188.0244 206.1629 null] >> endobj 4986 0 obj << -/D [4966 0 R /XYZ 188.0244 295.8266 null] +/D [4961 0 R /XYZ 158.3455 193.2114 null] >> endobj 4987 0 obj << -/D [4966 0 R /XYZ 158.3455 282.8752 null] +/D [4961 0 R /XYZ 71.731 152.3646 null] >> endobj 4988 0 obj << -/D [4966 0 R /XYZ 71.731 242.0284 null] +/D [4961 0 R /XYZ 71.731 129.351 null] >> endobj 4989 0 obj << -/D [4966 0 R /XYZ 71.731 216.9575 null] +/D [4961 0 R /XYZ 188.0244 116.4991 null] >> endobj 4990 0 obj << -/D [4966 0 R /XYZ 188.0244 206.1629 null] ->> endobj -4991 0 obj << -/D [4966 0 R /XYZ 158.3455 193.2114 null] ->> endobj -4992 0 obj << -/D [4966 0 R /XYZ 71.731 152.3646 null] +/D [4961 0 R /XYZ 158.3455 103.5477 null] >> endobj -4993 0 obj << -/D [4966 0 R /XYZ 71.731 129.351 null] ->> endobj -4994 0 obj << -/D [4966 0 R /XYZ 188.0244 116.4991 null] ->> endobj -4995 0 obj << -/D [4966 0 R /XYZ 158.3455 103.5477 null] ->> endobj -4965 0 obj << +4960 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -4999 0 obj << -/Length 206 +4993 0 obj << +/Length 201 /Filter /FlateDecode >> stream -x�}�O��@���9����d&�w�=�M<[E����[i]<���ɏ�=�AAXp/6�oa����yB#��L�}�d2c��A�@�;���A�ՓB�V���P�����֛�]���l�~ў�eӔ�}��n;�O�&��#��KS��u�N��ϝ����Fp"h= ��S~��)*I�?����U�A�s���Ξ�=>����Suendstream +x�}�;�P�������xs_MF��n�Pl�����VZ�A%� �Gr�j� #�L+ZP{�a{����,�I{&��F!L�A��C� +����hdG�X��ө���=I�S�;]��-��~^_�yU��CSw�f��*a��[6ŭ*/�&,�Ix�s&C�����{Ԏ<��Z��oR����{P����z��i�����U`S\endstream endobj -4998 0 obj << +4992 0 obj << /Type /Page -/Contents 4999 0 R -/Resources 4997 0 R +/Contents 4993 0 R +/Resources 4991 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 4855 0 R >> endobj -5000 0 obj << -/D [4998 0 R /XYZ 71.731 729.2652 null] +4994 0 obj << +/D [4992 0 R /XYZ 71.731 729.2652 null] >> endobj -4997 0 obj << +4991 0 obj << /Font << /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5003 0 obj << -/Length 2587 +4997 0 obj << +/Length 2588 /Filter /FlateDecode >> stream @@ -21064,78 +20993,78 @@ x �%:�@�-��t`p�@NYL'R�L'����aq���kS���;oK�v��-j�T606B'�'a��侤�u�"�~�Df�, �.�<`T&"ĺDt2�e1�k��a�E�QKm.Ubd�"�4����Wj���u�I��S���֟�������m�T��<��Pw �h~f���BǺ�G �~���k�}1&?`��_� Ό�]'�f��IrpI;�;e�]��F^��f�H�#��ol����QşC?��"F�H#.�q�Jf$R�W/i�o���/Y�r��c�F8e���]��� :ī:��Ԟdi�v�9 ��k�lќU��A֫��fdҀe�a��$�b�v�4V�K����ΰ�Q�9����Z��l��OT'"�>�uy1^Q)vT��/o݃���հ���C�"�� t"Nl�W��F�����I' �HJI���_N�Q��4)����@�|ک�/UF8<Q��[�b�@��(� UM����3�L��P��#'�UX�o1'���v�(��/�A�BQK9�'@��Pt`��2E����Lk�����r��PFXnq�~�P�ɀE�H����x��?����*�B�ԏP4� ����ӬA�4a��eb�Y����2 �����-��ʾf��w�*����J�"����~�|C% 3QZꭹ�Lw���u�������n�Eҽ�FQ�)��kf�r�J��1������\"a2SC�/�;1��V(2ѽP6� {-�ta���n�y� m]fx����@%�P*ٗ�<ŋ�^��jN�F�{˜�Wo�(��{?x0���}�:��G�һ�b� �81>(k!�Y�"�����ŧ��AЗ�@Tf������;��d��T���o��ux��k�������6��5�\�_�&��(\ 3T���b.�p�Qd������B�$h��&��=�ǖ�U���@�AW^��r�;J�y,q�e�K"���<\���ޅ��5�)n]b���%��࣐�-����4�!R���s�X�9Q��������'v%p�&�x_�7g�����kH -����]2�ӊCe=��lJ���~��������\U֓���c�(�G�� z-��dX#�R�E��扠������w�'�l�����=a�y<���4�Z�<I�(��$jţ��z�� -V����endstream +����]2�ӊCe=��lJ���~��������\U֓���c�(�G�� z-��dX#�R�E��扠������w�'�l�����=a�y<���4�Z�<I�(��$j��oi�z�� +V����endstream endobj -5002 0 obj << +4996 0 obj << /Type /Page -/Contents 5003 0 R -/Resources 5001 0 R +/Contents 4997 0 R +/Resources 4995 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 5011 0 R >> endobj -5004 0 obj << -/D [5002 0 R /XYZ 71.731 729.2652 null] +4998 0 obj << +/D [4996 0 R /XYZ 71.731 729.2652 null] >> endobj 1978 0 obj << -/D [5002 0 R /XYZ 71.731 718.3063 null] +/D [4996 0 R /XYZ 71.731 718.3063 null] >> endobj 1022 0 obj << -/D [5002 0 R /XYZ 531.42 703.236 null] +/D [4996 0 R /XYZ 531.42 703.236 null] >> endobj -5005 0 obj << -/D [5002 0 R /XYZ 71.731 682.1747 null] +4999 0 obj << +/D [4996 0 R /XYZ 71.731 682.1747 null] >> endobj -5006 0 obj << -/D [5002 0 R /XYZ 71.731 672.0599 null] +5000 0 obj << +/D [4996 0 R /XYZ 71.731 672.0599 null] >> endobj -5007 0 obj << -/D [5002 0 R /XYZ 71.731 662.0973 null] +5001 0 obj << +/D [4996 0 R /XYZ 71.731 662.0973 null] >> endobj 1979 0 obj << -/D [5002 0 R /XYZ 71.731 638.2831 null] +/D [4996 0 R /XYZ 71.731 638.2831 null] >> endobj 1026 0 obj << -/D [5002 0 R /XYZ 168.2049 594.97 null] +/D [4996 0 R /XYZ 168.2049 594.97 null] >> endobj -5008 0 obj << -/D [5002 0 R /XYZ 71.731 586.1472 null] +5002 0 obj << +/D [4996 0 R /XYZ 71.731 586.1472 null] >> endobj -5009 0 obj << -/D [5002 0 R /XYZ 71.731 527.4184 null] +5003 0 obj << +/D [4996 0 R /XYZ 71.731 527.4184 null] >> endobj -5010 0 obj << -/D [5002 0 R /XYZ 71.731 485.64 null] +5004 0 obj << +/D [4996 0 R /XYZ 71.731 485.64 null] >> endobj 1980 0 obj << -/D [5002 0 R /XYZ 71.731 415.9016 null] +/D [4996 0 R /XYZ 71.731 415.9016 null] >> endobj 1030 0 obj << -/D [5002 0 R /XYZ 312.7959 370.7468 null] +/D [4996 0 R /XYZ 312.7959 370.7468 null] >> endobj -5011 0 obj << -/D [5002 0 R /XYZ 71.731 358.5756 null] +5005 0 obj << +/D [4996 0 R /XYZ 71.731 358.5756 null] >> endobj -5012 0 obj << -/D [5002 0 R /XYZ 71.731 316.1466 null] +5006 0 obj << +/D [4996 0 R /XYZ 71.731 316.1466 null] >> endobj -5013 0 obj << -/D [5002 0 R /XYZ 71.731 285.2624 null] +5007 0 obj << +/D [4996 0 R /XYZ 71.731 285.2624 null] >> endobj -5014 0 obj << -/D [5002 0 R /XYZ 71.731 202.5725 null] +5008 0 obj << +/D [4996 0 R /XYZ 71.731 202.5725 null] >> endobj -5015 0 obj << -/D [5002 0 R /XYZ 71.731 171.6884 null] +5009 0 obj << +/D [4996 0 R /XYZ 71.731 171.6884 null] >> endobj -5016 0 obj << -/D [5002 0 R /XYZ 71.731 140.8042 null] +5010 0 obj << +/D [4996 0 R /XYZ 71.731 140.8042 null] >> endobj -5001 0 obj << +4995 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5019 0 obj << +5014 0 obj << /Length 2983 /Filter /FlateDecode >> @@ -21152,56 +21081,56 @@ _ �`�#y�bS��엑>�e�Y�L�kE��8�!�M��r �[��[@�B�;{�W����� 3z�A �\u��p^A�B�O��0��5iݾ�oY����a�:���%�7�dي;3�H�.wμ3����֙\�q�^�������s��kǤX��51�j�}�l�]6���}���2[�6 ���9_ׂ�TPP�&��Ƴ�P��)�F�r�&��G�O�O� ����s:�<R2��p��3l���0e�E�2萲u���U�:y7e�u$�������E�O��/yH��\9)IiL��UtoO�ȉ�+m��o� SH��T(&����K�>��&�O�����ꋤ�?d�̴~LN�J"��*�E]4��?k���mZ�`����:!��>G$aO:0�t`� )�Éy��+��L���+��!ܯ�@�����N��٤�5v��|�T2P6q�;�+�`$���i��FPK3 �A,[a�6�9�)Gɼ�b�JX�֢�:��z���f8`� % ���"B�W��e��Q��Q� m�&Q�0��pz��y�d��� ��`����*�hp�d5�z��{��0g���N�}&�0��hC&�Y��V��?��N9q�^c�0N\�Ä�U��F'f�+�]7�����}g�����p��Q��/��_l�\[S�X���Kߧ-���4Β[��L����5*h@H�C��=�^ �Vf��#=�f�R���f������gj_��������iY���ޞm��m�}~$[�K��)�#ۡ�s���߷/��w�H^��\�G�E��TF��`��kpD���l�8��h��`���;������>�`rSQm����bǖ�\d/Za�z�cӢh�7{$y�Ms�3`ܛ|�=,�.xöb��)�%;u�x���`k�����0�9�F8����V9қ �S�KP*��:��g�`�Y齲��\R`+�V���2 �A�|��U"'{Z��@��֛,���X �]�3 -Xgeb�;� ���Ar_�#���&�0�Za����؝,w���N��#��X���(�#��v<GiE�����R%�Hsf#`s��^��?��������������C�~g����7�Da����S$�endstream +Xgeb�;� ���Ar_�#���&�0�Za����؝,w���N��#��X���(�#��v<GiE�����R%�Hsf#`s��^��?��������������C�~g����7�Da�����$�endstream endobj -5018 0 obj << +5013 0 obj << /Type /Page -/Contents 5019 0 R -/Resources 5017 0 R +/Contents 5014 0 R +/Resources 5012 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 5011 0 R >> endobj -5020 0 obj << -/D [5018 0 R /XYZ 71.731 729.2652 null] +5015 0 obj << +/D [5013 0 R /XYZ 71.731 729.2652 null] >> endobj -5021 0 obj << -/D [5018 0 R /XYZ 71.731 662.3513 null] +5016 0 obj << +/D [5013 0 R /XYZ 71.731 662.3513 null] >> endobj -5022 0 obj << -/D [5018 0 R /XYZ 71.731 592.6128 null] +5017 0 obj << +/D [5013 0 R /XYZ 71.731 592.6128 null] >> endobj 1981 0 obj << -/D [5018 0 R /XYZ 71.731 535.8257 null] +/D [5013 0 R /XYZ 71.731 535.8257 null] >> endobj 1034 0 obj << -/D [5018 0 R /XYZ 237.0663 492.7282 null] +/D [5013 0 R /XYZ 237.0663 492.7282 null] >> endobj -5023 0 obj << -/D [5018 0 R /XYZ 71.731 480.2903 null] +5018 0 obj << +/D [5013 0 R /XYZ 71.731 480.2903 null] >> endobj -5024 0 obj << -/D [5018 0 R /XYZ 71.731 401.3311 null] +5019 0 obj << +/D [5013 0 R /XYZ 71.731 401.3311 null] >> endobj 1982 0 obj << -/D [5018 0 R /XYZ 71.731 381.341 null] +/D [5013 0 R /XYZ 71.731 381.341 null] >> endobj 1038 0 obj << -/D [5018 0 R /XYZ 254.1783 338.2435 null] +/D [5013 0 R /XYZ 254.1783 338.2435 null] >> endobj -5025 0 obj << -/D [5018 0 R /XYZ 71.731 325.8056 null] +5020 0 obj << +/D [5013 0 R /XYZ 71.731 325.8056 null] >> endobj -5026 0 obj << -/D [5018 0 R /XYZ 71.731 231.8377 null] +5021 0 obj << +/D [5013 0 R /XYZ 71.731 231.8377 null] >> endobj -5027 0 obj << -/D [5018 0 R /XYZ 71.731 200.9535 null] +5022 0 obj << +/D [5013 0 R /XYZ 71.731 200.9535 null] >> endobj -5017 0 obj << +5012 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5030 0 obj << +5025 0 obj << /Length 3095 /Filter /FlateDecode >> @@ -21212,128 +21141,128 @@ xڝ] zV9>�]�+�8�!X]��PD�LR��!F��X���B�|ڤ�zy�l�إ�b�h�VP�/�}P�t]�����S'���ʃ9R(�Zk����n��-�ƜYQ19PN(� 8�Z�T�/%����c<�1>)���µ�m$���̋�vԧ�.z`���W�R-`�K��pe�'U:��AW��f��tm���c�b>/�����w[�mG��SR����F���`E���:Rk�Vg70Ի�P߇��cB��@�o!�-`@-N�O�۵%�7���/�ɮ*{� �9���3����e����Y��IXX7L�`�?,����&qS�m+MڥPƁ����j�����b�'�0[Iyq��k4�����Oii���`y��n�0��r)S���U��S%Yz�~ϕ��-ͲC�\- Ğ������ڠ�-:�8G���C|��hj![J�ѫ�t_~��K�m*�3���8W��gR/Mre@��ʙ?���z�T���lhcy��e`�0�6X��jz�Z.��C����i�����O��z�`I��.|ԅ7���������^�X���>��PJ<l)[r���v����(��)m|�������vCKwF�����}S<�A�[<�k'ԝ����~UW�#������X�ǧ��>� ���rD�)-Tȏ�A������S��$SӿM����y�|�����~K�IGg��H������A�.(l�LMx��M�^�0z�f��U{�&"��a�R��8����8fW�15��D(��Qsw ��J�����K����SL#��sg�ǖ�S�3����!g�S��z16�<�b͇A_�(��3�.%�h���� Hvl8GA�����M�>S3JP�X�u���3��b�G�6p0�YK��G�5���D�2��%���M���F��=9U����G��w��-��h�]�q?0 f֨�2��`��F�7zݜ;A� _�Q��X�yh��*��r�r��#d�aF��P��PX��`8�qf8��������s�{V���{zM��|��3-���CchBc����$G$���(��QiH3�m����[���)�Y�&=I��O�/�� 6��ܡ���7�0hi�%f8iUT��5� /iv��fc-7�z,� d�4],�6��"�h�Z����h���*{a�*{�_E������.�\HL -���q)Ll)30�~h=�?���9��d���o���P9�����f�#�[0Ց;9�vyi�Fľ'e��튑v6�î��p�?/ە��vuS�m���RuC�Mao� �,�������N��Մ��A��pk���I�u��?.T,�Q"<��<�,��� ��~Yޭ9�;6��)e�+'*l�����<�P}��ٱ��o���>n��O��e��&;4�]u�p�#���&w"�2��@�Ø`'��ֽ6,O�\0KRcI-=�}|86p2�6�Jv���@�<�����$�B��q�����h����y�J�#��M_���0R��Q2Z*͍�K���9��K�b��On ��Ť;|x1��g��y�D�����L���GZ������M��ښCF����iՠ����p-��-�(��/Ӹ���~�xy����# 4endstream +���q)Ll)30�~h=�?���9��d���o���P9�����f�#�[0Ց;9�vyi�Fľ'e��튑v6�î��p�?/ە��vuS�m���RuC�Mao� �,�������N��Մ��A��pk���I�u��?.T,�Q"<��<�,��� ��~Yޭ9�;6��)e�+'*l�����<�P}��ٱ��o���>n��O��e��&;4�]u�p�#���&w"�2��@�Ø`'��ֽ6,O�\0KRcI-=�}|86p2�6�Jv���@�<�����$�B��q�����h����y�J�#��M_���0R��Q2Z*͍�K���9��K�b��On ��Ť;|x1��g��y�D�����L���GZ������M��ښCF����iՠ����p-��-�(��/Ӹ���~�xy����� 2endstream endobj -5029 0 obj << +5024 0 obj << /Type /Page -/Contents 5030 0 R -/Resources 5028 0 R +/Contents 5025 0 R +/Resources 5023 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 5011 0 R >> endobj -5031 0 obj << -/D [5029 0 R /XYZ 71.731 729.2652 null] +5026 0 obj << +/D [5024 0 R /XYZ 71.731 729.2652 null] >> endobj -5032 0 obj << -/D [5029 0 R /XYZ 71.731 741.2204 null] +5027 0 obj << +/D [5024 0 R /XYZ 71.731 741.2204 null] >> endobj -5033 0 obj << -/D [5029 0 R /XYZ 71.731 718.3063 null] +5028 0 obj << +/D [5024 0 R /XYZ 71.731 718.3063 null] >> endobj 1983 0 obj << -/D [5029 0 R /XYZ 71.731 688.2541 null] +/D [5024 0 R /XYZ 71.731 688.2541 null] >> endobj 1042 0 obj << -/D [5029 0 R /XYZ 201.8268 645.1566 null] +/D [5024 0 R /XYZ 201.8268 645.1566 null] +>> endobj +5029 0 obj << +/D [5024 0 R /XYZ 71.731 636.3338 null] +>> endobj +5030 0 obj << +/D [5024 0 R /XYZ 71.731 582.5864 null] +>> endobj +5031 0 obj << +/D [5024 0 R /XYZ 71.731 577.605 null] +>> endobj +5032 0 obj << +/D [5024 0 R /XYZ 89.6638 556.8478 null] +>> endobj +5033 0 obj << +/D [5024 0 R /XYZ 71.731 528.7881 null] >> endobj 5034 0 obj << -/D [5029 0 R /XYZ 71.731 636.3338 null] +/D [5024 0 R /XYZ 89.6638 513.0122 null] >> endobj 5035 0 obj << -/D [5029 0 R /XYZ 71.731 582.5864 null] +/D [5024 0 R /XYZ 71.731 485.3261 null] >> endobj 5036 0 obj << -/D [5029 0 R /XYZ 71.731 577.605 null] +/D [5024 0 R /XYZ 89.6638 469.1766 null] >> endobj 5037 0 obj << -/D [5029 0 R /XYZ 89.6638 556.8478 null] +/D [5024 0 R /XYZ 71.731 467.0197 null] >> endobj 5038 0 obj << -/D [5029 0 R /XYZ 71.731 528.7881 null] +/D [5024 0 R /XYZ 89.6638 451.2438 null] >> endobj 5039 0 obj << -/D [5029 0 R /XYZ 89.6638 513.0122 null] +/D [5024 0 R /XYZ 71.731 449.087 null] >> endobj 5040 0 obj << -/D [5029 0 R /XYZ 71.731 485.3261 null] +/D [5024 0 R /XYZ 89.6638 433.3111 null] >> endobj 5041 0 obj << -/D [5029 0 R /XYZ 89.6638 469.1766 null] +/D [5024 0 R /XYZ 71.731 431.1542 null] >> endobj 5042 0 obj << -/D [5029 0 R /XYZ 71.731 467.0197 null] +/D [5024 0 R /XYZ 89.6638 415.3783 null] >> endobj 5043 0 obj << -/D [5029 0 R /XYZ 89.6638 451.2438 null] +/D [5024 0 R /XYZ 71.731 400.9873 null] >> endobj 5044 0 obj << -/D [5029 0 R /XYZ 71.731 449.087 null] +/D [5024 0 R /XYZ 89.6638 384.4941 null] >> endobj 5045 0 obj << -/D [5029 0 R /XYZ 89.6638 433.3111 null] +/D [5024 0 R /XYZ 71.731 371.4431 null] >> endobj 5046 0 obj << -/D [5029 0 R /XYZ 71.731 431.1542 null] +/D [5024 0 R /XYZ 89.6638 353.6099 null] >> endobj 5047 0 obj << -/D [5029 0 R /XYZ 89.6638 415.3783 null] +/D [5024 0 R /XYZ 71.731 351.4531 null] >> endobj 5048 0 obj << -/D [5029 0 R /XYZ 71.731 400.9873 null] +/D [5024 0 R /XYZ 89.6638 335.6772 null] >> endobj 5049 0 obj << -/D [5029 0 R /XYZ 89.6638 384.4941 null] +/D [5024 0 R /XYZ 71.731 294.6661 null] >> endobj 5050 0 obj << -/D [5029 0 R /XYZ 71.731 371.4431 null] +/D [5024 0 R /XYZ 89.6638 278.8901 null] >> endobj 5051 0 obj << -/D [5029 0 R /XYZ 89.6638 353.6099 null] +/D [5024 0 R /XYZ 71.731 237.879 null] >> endobj 5052 0 obj << -/D [5029 0 R /XYZ 71.731 351.4531 null] +/D [5024 0 R /XYZ 89.6638 222.1031 null] >> endobj 5053 0 obj << -/D [5029 0 R /XYZ 89.6638 335.6772 null] +/D [5024 0 R /XYZ 71.731 206.9948 null] >> endobj 5054 0 obj << -/D [5029 0 R /XYZ 71.731 294.6661 null] +/D [5024 0 R /XYZ 89.6638 191.2189 null] >> endobj 5055 0 obj << -/D [5029 0 R /XYZ 89.6638 278.8901 null] +/D [5024 0 R /XYZ 71.731 176.1106 null] >> endobj 5056 0 obj << -/D [5029 0 R /XYZ 71.731 237.879 null] +/D [5024 0 R /XYZ 89.6638 160.3347 null] >> endobj 5057 0 obj << -/D [5029 0 R /XYZ 89.6638 222.1031 null] +/D [5024 0 R /XYZ 71.731 158.1779 null] >> endobj 5058 0 obj << -/D [5029 0 R /XYZ 71.731 206.9948 null] +/D [5024 0 R /XYZ 89.6638 142.402 null] >> endobj 5059 0 obj << -/D [5029 0 R /XYZ 89.6638 191.2189 null] ->> endobj -5060 0 obj << -/D [5029 0 R /XYZ 71.731 176.1106 null] ->> endobj -5061 0 obj << -/D [5029 0 R /XYZ 89.6638 160.3347 null] ->> endobj -5062 0 obj << -/D [5029 0 R /XYZ 71.731 158.1779 null] +/D [5024 0 R /XYZ 71.731 135.2638 null] >> endobj -5063 0 obj << -/D [5029 0 R /XYZ 89.6638 142.402 null] ->> endobj -5064 0 obj << -/D [5029 0 R /XYZ 71.731 135.2638 null] ->> endobj -5028 0 obj << +5023 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5067 0 obj << +5062 0 obj << /Length 2570 /Filter /FlateDecode >> @@ -21349,66 +21278,66 @@ xڝYK ,�R`ˁ�hP�,߇SιA�;H�EH��I���3P�C.u�+��J++X �THPIYl�(1N,U����;v�%#R��1�d4��8��9p���Պ����_ >�9�i��7J���(.�+1.#�J��QB<����Vo����%��G�m�O�\π>� �S��H��3��"�Lg(���zk��"p��(����jh�9�,3��x���a�ȝ3K�%N�!��F:�&�f��"�W:�8vc �юaʏ��>z��r�I�}�Z��ȹ��87KF��DK��Kt[~� -� -��ҭ/���ߢS� �����R/���- �l��P�K�?� VͽnSB�M�!��+rBw[��\�~���"�I�@�#-߀`bI�?0E���s��(Zl�#��lZP��[s����ϳ6J��|��8��O�z��,�PS|c�G���L�8��0���1d�����A�Pvfz8"��L�kSɞ�f�ט��36���I�E�z=�I�����e��y�>�����/�I��(OGIh�`�|�ו�� 5�endstream +��ҭ/���ߢS� �����R/���- �l��P�K�?� VͽnSB�M�!��+rBw[��\�~���"�I�@�#-߀`bI�?0E���s��(Zl�#��lZP��[s����ϳ6J��|��8��O�z��,�PS|c�G���L�8��0���1d�����A�Pvfz8"��L�kSɞ�f�ט��36���I�E�z=�I�����e��y�>�����/�I��(OGIh�`}�ו���5�endstream endobj -5066 0 obj << +5061 0 obj << /Type /Page -/Contents 5067 0 R -/Resources 5065 0 R +/Contents 5062 0 R +/Resources 5060 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 4996 0 R +/Parent 5011 0 R >> endobj -5068 0 obj << -/D [5066 0 R /XYZ 71.731 729.2652 null] +5063 0 obj << +/D [5061 0 R /XYZ 71.731 729.2652 null] >> endobj -5069 0 obj << -/D [5066 0 R /XYZ 71.731 646.4758 null] +5064 0 obj << +/D [5061 0 R /XYZ 71.731 646.4758 null] >> endobj -5070 0 obj << -/D [5066 0 R /XYZ 71.731 561.7286 null] +5065 0 obj << +/D [5061 0 R /XYZ 71.731 561.7286 null] >> endobj 1984 0 obj << -/D [5066 0 R /XYZ 71.731 530.8444 null] +/D [5061 0 R /XYZ 71.731 530.8444 null] >> endobj 1046 0 obj << -/D [5066 0 R /XYZ 279.2956 487.7469 null] +/D [5061 0 R /XYZ 279.2956 487.7469 null] >> endobj -5071 0 obj << -/D [5066 0 R /XYZ 71.731 475.3089 null] +5066 0 obj << +/D [5061 0 R /XYZ 71.731 475.3089 null] >> endobj -5072 0 obj << -/D [5066 0 R /XYZ 71.731 433.1468 null] +5067 0 obj << +/D [5061 0 R /XYZ 71.731 433.1468 null] >> endobj -5073 0 obj << -/D [5066 0 R /XYZ 71.731 365.4656 null] +5068 0 obj << +/D [5061 0 R /XYZ 71.731 365.4656 null] >> endobj 2003 0 obj << -/D [5066 0 R /XYZ 71.731 321.6299 null] +/D [5061 0 R /XYZ 71.731 321.6299 null] >> endobj 1050 0 obj << -/D [5066 0 R /XYZ 303.2245 276.4752 null] +/D [5061 0 R /XYZ 303.2245 276.4752 null] >> endobj -5074 0 obj << -/D [5066 0 R /XYZ 71.731 267.6524 null] +5069 0 obj << +/D [5061 0 R /XYZ 71.731 267.6524 null] >> endobj -5075 0 obj << -/D [5066 0 R /XYZ 71.731 221.875 null] +5070 0 obj << +/D [5061 0 R /XYZ 71.731 221.875 null] >> endobj 2004 0 obj << -/D [5066 0 R /XYZ 71.731 178.0394 null] +/D [5061 0 R /XYZ 71.731 178.0394 null] >> endobj 1054 0 obj << -/D [5066 0 R /XYZ 394.7926 134.9419 null] +/D [5061 0 R /XYZ 394.7926 134.9419 null] >> endobj -5076 0 obj << -/D [5066 0 R /XYZ 71.731 122.5039 null] +5071 0 obj << +/D [5061 0 R /XYZ 71.731 122.5039 null] >> endobj -5065 0 obj << +5060 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5079 0 obj << -/Length 2427 +5074 0 obj << +/Length 2426 /Filter /FlateDecode >> stream @@ -21420,75 +21349,75 @@ a ��Ŗ��5N��F���q�s�]�y|���^�S��0Ҟӣ��R���凢'E Ng� o�P���B�!x��Ɂ��xb-d�=X%Nj�T�������g���kȦ���(#�rA��Uu����y����;�%�{��r�t�����[��*�� Y�n^,�V8���|^j{ *�S�r��S��"�\��uYr<��c��K!#b�b'��4��}I�9�:J��F��e�5| j�[0è Z�@s6q�lrV"ˁRI��T�I0>����<�5��!�5����V-X�N�)���L����`�MR��}����Hm�R�iS 7{� ��gM{'�uʳ�X���nE�Q���h�ؓ�ä�k莺v���w7G��=�g���ڥ�g7X����{�3ob��>}�_qS����%�xXN��w�kk����{�w���4���@L��c�n��<ur�A@�4�t7{�R���aن-v���vt*�N�W��ݸ̂}��%y��N�`�ʱ��7[���o|�*:kk��t���VWu��W������rR��]�'ᾝ�pDd���$ĈOO�>���ux?�"����?�|f���=%�+���r��lrы2LBܤ�J��}dËl]B��P#�J�ghii��C<���CT4rr. �9h��I�B{��z3tb^�~� +�ܢ1�E�hMP���L�Q��� -��Dz���$?m3?w�W,sx^�V�D��E���g�/�ĵ�����%endstream +��Dz���$?m3?w�W,sx^�V�D���nX�����Z����n�endstream endobj -5078 0 obj << +5073 0 obj << /Type /Page -/Contents 5079 0 R -/Resources 5077 0 R +/Contents 5074 0 R +/Resources 5072 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R +/Parent 5011 0 R >> endobj -5080 0 obj << -/D [5078 0 R /XYZ 71.731 729.2652 null] +5075 0 obj << +/D [5073 0 R /XYZ 71.731 729.2652 null] >> endobj -5081 0 obj << -/D [5078 0 R /XYZ 71.731 675.3027 null] +5076 0 obj << +/D [5073 0 R /XYZ 71.731 675.3027 null] >> endobj 2005 0 obj << -/D [5078 0 R /XYZ 71.731 631.4671 null] +/D [5073 0 R /XYZ 71.731 631.4671 null] >> endobj 1058 0 obj << -/D [5078 0 R /XYZ 182.2872 588.3696 null] +/D [5073 0 R /XYZ 182.2872 588.3696 null] >> endobj -5082 0 obj << -/D [5078 0 R /XYZ 71.731 579.5468 null] +5077 0 obj << +/D [5073 0 R /XYZ 71.731 579.5468 null] >> endobj 2006 0 obj << -/D [5078 0 R /XYZ 71.731 494.9151 null] +/D [5073 0 R /XYZ 71.731 494.9151 null] >> endobj 1062 0 obj << -/D [5078 0 R /XYZ 188.3641 451.8176 null] +/D [5073 0 R /XYZ 188.3641 451.8176 null] >> endobj -5083 0 obj << -/D [5078 0 R /XYZ 71.731 442.9948 null] +5078 0 obj << +/D [5073 0 R /XYZ 71.731 442.9948 null] >> endobj 2007 0 obj << -/D [5078 0 R /XYZ 71.731 384.266 null] +/D [5073 0 R /XYZ 71.731 384.266 null] >> endobj 1066 0 obj << -/D [5078 0 R /XYZ 365.182 341.1686 null] +/D [5073 0 R /XYZ 365.182 341.1686 null] >> endobj -5084 0 obj << -/D [5078 0 R /XYZ 71.731 332.3458 null] +5079 0 obj << +/D [5073 0 R /XYZ 71.731 332.3458 null] >> endobj -5085 0 obj << -/D [5078 0 R /XYZ 179.3565 293.7066 null] +5080 0 obj << +/D [5073 0 R /XYZ 179.3565 293.7066 null] >> endobj -5086 0 obj << -/D [5078 0 R /XYZ 71.731 286.5684 null] +5081 0 obj << +/D [5073 0 R /XYZ 71.731 286.5684 null] >> endobj 2008 0 obj << -/D [5078 0 R /XYZ 71.731 216.8299 null] +/D [5073 0 R /XYZ 71.731 216.8299 null] >> endobj 1070 0 obj << -/D [5078 0 R /XYZ 433.2515 173.7324 null] +/D [5073 0 R /XYZ 433.2515 173.7324 null] >> endobj -5087 0 obj << -/D [5078 0 R /XYZ 71.731 161.5612 null] +5082 0 obj << +/D [5073 0 R /XYZ 71.731 161.5612 null] >> endobj -5088 0 obj << -/D [5078 0 R /XYZ 71.731 137.065 null] +5083 0 obj << +/D [5073 0 R /XYZ 71.731 137.065 null] >> endobj -5089 0 obj << -/D [5078 0 R /XYZ 71.731 127.1024 null] +5084 0 obj << +/D [5073 0 R /XYZ 71.731 127.1024 null] >> endobj -5077 0 obj << +5072 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R /F23 1250 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5093 0 obj << -/Length 762 +5087 0 obj << +/Length 764 /Filter /FlateDecode >> stream @@ -21497,29 +21426,29 @@ FI ��~XٮJ.T���]D����`�4��m�Ǡk!� :.W5�����/�E}yv5C|'��c�s��0���$�R�'�_q(,r?�bX�H�sվZ�7���9��� L$˙ľ�= _�� �Fo�$��K�X���3d�j�m+ڽu������C���>ȼO�)�[r��HS�&��Qd��f4 ���h�g���(�0��{F���9��S<>�c��T� x��������+���ʻ��Q�F�!��r<hJ�,I���)�vn۵��i �g,�!�`���%�"6���W6��R ��.����Ϩw��2V���d�\jsl,G/0�Y92�<�͙�A��D�V (+�'| -,#mKw�w�az��t�G�1�ڍ�7��lt+f��J#��R����q��*���6��pûNtdž�U��+c�;VTa��p�udl�.�Ez�vv�HO��/�����ɀ��9�����J;���^Ct\>�Ϡ���ØL�>��o��tl��.��L� �4�%)��z��|����(%y1�u��x��;R��Bnendstream +,#mKw�w�az��t�G�1�ڍ�7��lt+f��J#��R����q��*���6��pûNtdž�U��+c�;VTa��p�udl�.�Ez�vv�HO��/�����ɀ��9�����J;���^Ct\>�Ϡ���ØL�>��o��tl��.��L� �4�%)��z��|����(#1+�1����٫oޑ����t�endstream endobj -5092 0 obj << +5086 0 obj << /Type /Page -/Contents 5093 0 R -/Resources 5091 0 R +/Contents 5087 0 R +/Resources 5085 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R +/Parent 5011 0 R >> endobj -5094 0 obj << -/D [5092 0 R /XYZ 71.731 729.2652 null] +5088 0 obj << +/D [5086 0 R /XYZ 71.731 729.2652 null] >> endobj -5095 0 obj << -/D [5092 0 R /XYZ 71.731 689.7649 null] +5089 0 obj << +/D [5086 0 R /XYZ 71.731 689.7649 null] >> endobj -5096 0 obj << -/D [5092 0 R /XYZ 71.731 647.7709 null] +5090 0 obj << +/D [5086 0 R /XYZ 71.731 647.7709 null] >> endobj -5091 0 obj << +5085 0 obj << /Font << /F33 1358 0 R /F27 1258 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5099 0 obj << +5093 0 obj << /Length 1841 /Filter /FlateDecode >> @@ -21529,191 +21458,191 @@ xڭX_ _c�4hs�lJ�YVGS."�(�n�g1�n.8�� �@�8��D��B��3%1�$����#��v�c�x<��}��P;3\�R��SO��[��rO�� �p�������?�P��s�Z�vp���>��XK,d�S s~ �p�������R.��l�x��� eWk�E˙��FZ������:,�{}T���;�V�]o7"^��:� %���6��Օ�x�GKD'���dQ�H�#]�ql9��4:�K��7!Id/G(�PQ��+f_hc_hgƠ��u'[�a��1C�Dgݨ�W�x(җ����u�5pg�eE��v��n�o]�\����:�����{HJ�C`M�{Yb�e�^���an8y���0�����84���̰�oLm#����i�k3(����i�s���ǩ)�8ԇ<Y%)gIWK��`i�M��qj2���XEs��b\U �pVB�2��i7� ��喿��W+�w?��������q=�~����rsѶ����ʧ{��%8�yZ�����l���[qe�� ����:Wx#�����A���J}�3+&���cH��rd�r��CRH��QÁ�\ ��ƕ���'�fx��/�e߷�aD|���&�IHZ���H���7VQ���öS�X���5T!���D�E��S�Ʃ�a�_�L8��E\��v0f�j�K4���t9GD�3c�1O�o�?�F��?�@@�Sd4j� �$aE����3����|ᇈ�Z7:x"����,����W%��x�K��A�ÎF���p�6�(�| i���D�u�d�^/� �-���a㭶ޒ���(��n��sG��~��k��C<5�U��$Ϯ%��Bp����t��a��d,m@/�!E�.i��C�������M\�%i2���!���p�S����f��*��g�9x��QѶ�Ҷ��^��_|���B�_.�AQ�Y23��LO�0ī��-(�%Kyv�X>��T\W����=��`�������ʩ?���ک/���w��px>�)T��UL� -o�I�RL��z��u0u���x�3D�.Kkh��=��*Z�yvc�� Y� ��h�l���6J7����:�}أ�P��۽��5�j�_��j�:.����ILw-B�hy��rG9���bG�0�:C�_�m�����.\!R�1���8��r�H�<�M������п��R���p0��r�V��0H|q{��G��R۔�s���?Hm���s �"�LƙK�!dP���'Mh���s{ӏ��u�c�endstream +o�I�RL��z��u0u���x�3D�.Kkh��=��*Z�yvc�� Y� ��h�l���6J7����:�}أ�P��۽��5�j�_��j�:.����ILw-B�hy��rG9���bG�0�:C�_�m�����.\!R�1���8��r�H�<�M������п��R���p0��r�V��0H|q{��G��R۔�s���?Hm���s �"�LƙK�!d��z�������%,�v�c�endstream endobj -5098 0 obj << +5092 0 obj << /Type /Page -/Contents 5099 0 R -/Resources 5097 0 R +/Contents 5093 0 R +/Resources 5091 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R -/Annots [ 5145 0 R ] +/Parent 5141 0 R +/Annots [ 5139 0 R ] >> endobj -5145 0 obj << +5139 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] /Rect [374.7025 133.0074 436.4705 143.9114] /Subtype /Link /A << /S /GoTo /D (http-apache) >> >> endobj -5100 0 obj << -/D [5098 0 R /XYZ 71.731 729.2652 null] +5094 0 obj << +/D [5092 0 R /XYZ 71.731 729.2652 null] >> endobj 2009 0 obj << -/D [5098 0 R /XYZ 71.731 718.3063 null] +/D [5092 0 R /XYZ 71.731 718.3063 null] >> endobj 1074 0 obj << -/D [5098 0 R /XYZ 160.3549 703.236 null] +/D [5092 0 R /XYZ 160.3549 703.236 null] >> endobj -5101 0 obj << -/D [5098 0 R /XYZ 71.731 692.504 null] +5095 0 obj << +/D [5092 0 R /XYZ 71.731 692.504 null] >> endobj 1078 0 obj << -/D [5098 0 R /XYZ 208.3645 644.1007 null] +/D [5092 0 R /XYZ 208.3645 644.1007 null] >> endobj -4079 0 obj << -/D [5098 0 R /XYZ 71.731 629.1751 null] +4073 0 obj << +/D [5092 0 R /XYZ 71.731 629.1751 null] >> endobj 1082 0 obj << -/D [5098 0 R /XYZ 117.1402 620.82 null] +/D [5092 0 R /XYZ 117.1402 620.82 null] +>> endobj +5096 0 obj << +/D [5092 0 R /XYZ 71.731 615.7142 null] +>> endobj +5097 0 obj << +/D [5092 0 R /XYZ 71.731 610.7329 null] +>> endobj +5098 0 obj << +/D [5092 0 R /XYZ 118.3278 584.9545 null] +>> endobj +5099 0 obj << +/D [5092 0 R /XYZ 296.214 572.0031 null] +>> endobj +5100 0 obj << +/D [5092 0 R /XYZ 71.731 536.1376 null] +>> endobj +1086 0 obj << +/D [5092 0 R /XYZ 86.6464 483.8248 null] +>> endobj +5101 0 obj << +/D [5092 0 R /XYZ 71.731 473.4955 null] +>> endobj +1090 0 obj << +/D [5092 0 R /XYZ 107.6162 460.5441 null] >> endobj 5102 0 obj << -/D [5098 0 R /XYZ 71.731 615.7142 null] +/D [5092 0 R /XYZ 71.731 453.5005 null] >> endobj 5103 0 obj << -/D [5098 0 R /XYZ 71.731 610.7329 null] +/D [5092 0 R /XYZ 71.731 448.5192 null] >> endobj 5104 0 obj << -/D [5098 0 R /XYZ 118.3278 584.9545 null] +/D [5092 0 R /XYZ 256.795 411.7271 null] >> endobj 5105 0 obj << -/D [5098 0 R /XYZ 296.214 572.0031 null] +/D [5092 0 R /XYZ 392.1662 411.7271 null] >> endobj 5106 0 obj << -/D [5098 0 R /XYZ 71.731 536.1376 null] ->> endobj -1086 0 obj << -/D [5098 0 R /XYZ 86.6464 483.8248 null] +/D [5092 0 R /XYZ 71.731 409.5703 null] >> endobj 5107 0 obj << -/D [5098 0 R /XYZ 71.731 473.4955 null] +/D [5092 0 R /XYZ 71.731 395.6226 null] >> endobj -1090 0 obj << -/D [5098 0 R /XYZ 107.6162 460.5441 null] +1094 0 obj << +/D [5092 0 R /XYZ 320.8499 382.2377 null] >> endobj 5108 0 obj << -/D [5098 0 R /XYZ 71.731 453.5005 null] +/D [5092 0 R /XYZ 71.731 369.6152 null] >> endobj 5109 0 obj << -/D [5098 0 R /XYZ 71.731 448.5192 null] +/D [5092 0 R /XYZ 71.731 369.6152 null] >> endobj 5110 0 obj << -/D [5098 0 R /XYZ 256.795 411.7271 null] +/D [5092 0 R /XYZ 71.731 369.6152 null] >> endobj 5111 0 obj << -/D [5098 0 R /XYZ 392.1662 411.7271 null] +/D [5092 0 R /XYZ 71.731 357.9429 null] >> endobj 5112 0 obj << -/D [5098 0 R /XYZ 71.731 409.5703 null] +/D [5092 0 R /XYZ 111.5816 341.3909 null] >> endobj 5113 0 obj << -/D [5098 0 R /XYZ 71.731 395.6226 null] ->> endobj -1094 0 obj << -/D [5098 0 R /XYZ 320.8499 382.2377 null] +/D [5092 0 R /XYZ 71.731 329.2714 null] >> endobj 5114 0 obj << -/D [5098 0 R /XYZ 71.731 369.6152 null] +/D [5092 0 R /XYZ 71.731 329.2714 null] >> endobj 5115 0 obj << -/D [5098 0 R /XYZ 71.731 369.6152 null] +/D [5092 0 R /XYZ 71.731 329.2714 null] >> endobj 5116 0 obj << -/D [5098 0 R /XYZ 71.731 369.6152 null] +/D [5092 0 R /XYZ 71.731 317.0961 null] >> endobj 5117 0 obj << -/D [5098 0 R /XYZ 71.731 357.9429 null] +/D [5092 0 R /XYZ 71.731 317.0961 null] >> endobj 5118 0 obj << -/D [5098 0 R /XYZ 111.5816 341.3909 null] +/D [5092 0 R /XYZ 71.731 317.0961 null] >> endobj 5119 0 obj << -/D [5098 0 R /XYZ 71.731 329.2714 null] +/D [5092 0 R /XYZ 71.731 304.1446 null] >> endobj 5120 0 obj << -/D [5098 0 R /XYZ 71.731 329.2714 null] +/D [5092 0 R /XYZ 111.5816 287.5926 null] >> endobj 5121 0 obj << -/D [5098 0 R /XYZ 71.731 329.2714 null] +/D [5092 0 R /XYZ 326.8524 274.6412 null] >> endobj 5122 0 obj << -/D [5098 0 R /XYZ 71.731 317.0961 null] +/D [5092 0 R /XYZ 71.731 262.5217 null] >> endobj 5123 0 obj << -/D [5098 0 R /XYZ 71.731 317.0961 null] +/D [5092 0 R /XYZ 71.731 262.5217 null] >> endobj 5124 0 obj << -/D [5098 0 R /XYZ 71.731 317.0961 null] +/D [5092 0 R /XYZ 71.731 262.5217 null] >> endobj 5125 0 obj << -/D [5098 0 R /XYZ 71.731 304.1446 null] +/D [5092 0 R /XYZ 71.731 250.3464 null] >> endobj 5126 0 obj << -/D [5098 0 R /XYZ 111.5816 287.5926 null] +/D [5092 0 R /XYZ 111.5816 233.7944 null] >> endobj 5127 0 obj << -/D [5098 0 R /XYZ 326.8524 274.6412 null] +/D [5092 0 R /XYZ 352.0179 233.7944 null] >> endobj 5128 0 obj << -/D [5098 0 R /XYZ 71.731 262.5217 null] +/D [5092 0 R /XYZ 135.3745 220.843 null] >> endobj 5129 0 obj << -/D [5098 0 R /XYZ 71.731 262.5217 null] +/D [5092 0 R /XYZ 224.9831 220.843 null] >> endobj 5130 0 obj << -/D [5098 0 R /XYZ 71.731 262.5217 null] +/D [5092 0 R /XYZ 297.9916 220.843 null] >> endobj 5131 0 obj << -/D [5098 0 R /XYZ 71.731 250.3464 null] +/D [5092 0 R /XYZ 419.7283 220.843 null] >> endobj 5132 0 obj << -/D [5098 0 R /XYZ 111.5816 233.7944 null] +/D [5092 0 R /XYZ 111.5816 207.8915 null] >> endobj 5133 0 obj << -/D [5098 0 R /XYZ 352.0179 233.7944 null] +/D [5092 0 R /XYZ 71.731 196.5481 null] >> endobj 5134 0 obj << -/D [5098 0 R /XYZ 135.3745 220.843 null] +/D [5092 0 R /XYZ 71.731 196.5481 null] >> endobj 5135 0 obj << -/D [5098 0 R /XYZ 224.9831 220.843 null] +/D [5092 0 R /XYZ 71.731 196.5481 null] >> endobj 5136 0 obj << -/D [5098 0 R /XYZ 297.9916 220.843 null] +/D [5092 0 R /XYZ 71.731 183.5967 null] >> endobj 5137 0 obj << -/D [5098 0 R /XYZ 419.7283 220.843 null] +/D [5092 0 R /XYZ 111.5816 167.0447 null] >> endobj 5138 0 obj << -/D [5098 0 R /XYZ 111.5816 207.8915 null] ->> endobj -5139 0 obj << -/D [5098 0 R /XYZ 71.731 196.5481 null] +/D [5092 0 R /XYZ 71.731 146.9551 null] >> endobj 5140 0 obj << -/D [5098 0 R /XYZ 71.731 196.5481 null] ->> endobj -5141 0 obj << -/D [5098 0 R /XYZ 71.731 196.5481 null] +/D [5092 0 R /XYZ 71.731 113.2464 null] >> endobj -5142 0 obj << -/D [5098 0 R /XYZ 71.731 183.5967 null] ->> endobj -5143 0 obj << -/D [5098 0 R /XYZ 111.5816 167.0447 null] ->> endobj -5144 0 obj << -/D [5098 0 R /XYZ 71.731 146.9551 null] ->> endobj -5146 0 obj << -/D [5098 0 R /XYZ 71.731 113.2464 null] ->> endobj -5097 0 obj << +5091 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F32 1266 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5149 0 obj << -/Length 1454 +5144 0 obj << +/Length 1453 /Filter /FlateDecode >> stream @@ -21721,146 +21650,146 @@ xڕWM '��fݰu�"��MF���5���#~b�6C��>��قNZk(�^\1fJ.�n�Ռ�/H�f�l� �28�H;��=�OMs/|l(F�H�vp�� �˔�y�>C�x�ϐl�&~����H(�z%��}�s*ؓ�)�?Ұ� ���,ĸ��$�I�XhЙ+ܽC��{\}Q���x�&��|��$��4�j�9�UQ�xSܠ�ѓ��R�� �YA -�'_^�c�õ�>Cd�����z�{��" �Jf�!��~����'[�?L{�|�GMD���[� r��P��DEV4�+��wd�u�j�%p'n�S��!��s��"*�5�=�Ò||�{eT�#�5�sϒc�U��f|;@t�{q�y�2;��~d�����T��X�-�<<U0�^�@E�(��"�*�� ���Y��_$Q��T��1D��g���H���5fq���7;m!���R�Д��i�T 8�`{�Ff"p��Ǟ��� z���#�P�U�u�va�'��Ϫ."dYUg�+��d�ZF�ȩeY�k��./R`@��� G�rp��E���f��{9)����j�kI�і����`�zR�qU��V2r��5khdw����F�[���6�:�h�����~3�p�od�!��ѽ_R�,g�?zu�rx9�iYL�БI���o��������endstream +�'_^�c�õ�>Cd�����z�{��" �Jf�!��~����'[�?L{�|�GMD���[� r��P��DEV4�+��wd�u�j�%p'n�S��!��s��"*�5�=�Ò||�{eT�#�5�sϒc�U��f|;@t�{q�y�2;��~d�����T��X�-�<<U0�^�@E�(��"�*�� ���Y��_$Q��T��1D��g���H���5fq���7;m!���R�Д��i�T 8�`{�Ff"p��Ǟ��� z���#�P�U�u�va�'��Ϫ."dYUg�+��d�ZF�ȩeY�k��./R`@��� G�rp��E���f��{9)����j�kI�і����`�zR�qU��V2r��5khdw����F�[���6�:�h�����~3�p�od�!��ѽ_R�,g�?zu�r�A�j҃nL���n�������5endstream endobj -5148 0 obj << +5143 0 obj << /Type /Page -/Contents 5149 0 R -/Resources 5147 0 R +/Contents 5144 0 R +/Resources 5142 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R +/Parent 5141 0 R >> endobj -5150 0 obj << -/D [5148 0 R /XYZ 71.731 729.2652 null] +5145 0 obj << +/D [5143 0 R /XYZ 71.731 729.2652 null] >> endobj 1098 0 obj << -/D [5148 0 R /XYZ 86.6464 703.6802 null] +/D [5143 0 R /XYZ 86.6464 703.6802 null] >> endobj -5151 0 obj << -/D [5148 0 R /XYZ 71.731 693.3509 null] +5146 0 obj << +/D [5143 0 R /XYZ 71.731 693.3509 null] >> endobj 1102 0 obj << -/D [5148 0 R /XYZ 91.0983 680.3995 null] +/D [5143 0 R /XYZ 91.0983 680.3995 null] +>> endobj +5147 0 obj << +/D [5143 0 R /XYZ 71.731 673.2016 null] +>> endobj +5148 0 obj << +/D [5143 0 R /XYZ 71.731 668.2203 null] +>> endobj +5149 0 obj << +/D [5143 0 R /XYZ 101.8648 657.4854 null] +>> endobj +5150 0 obj << +/D [5143 0 R /XYZ 236.362 644.534 null] +>> endobj +5151 0 obj << +/D [5143 0 R /XYZ 284.4011 644.534 null] >> endobj 5152 0 obj << -/D [5148 0 R /XYZ 71.731 673.2016 null] +/D [5143 0 R /XYZ 71.731 619.1293 null] +>> endobj +1106 0 obj << +/D [5143 0 R /XYZ 131.5064 606.1778 null] >> endobj 5153 0 obj << -/D [5148 0 R /XYZ 71.731 668.2203 null] +/D [5143 0 R /XYZ 71.731 598.9799 null] >> endobj 5154 0 obj << -/D [5148 0 R /XYZ 101.8648 657.4854 null] +/D [5143 0 R /XYZ 71.731 593.9986 null] +>> endobj +2096 0 obj << +/D [5143 0 R /XYZ 71.731 544.9076 null] +>> endobj +1110 0 obj << +/D [5143 0 R /XYZ 109.9273 531.9562 null] >> endobj 5155 0 obj << -/D [5148 0 R /XYZ 236.362 644.534 null] +/D [5143 0 R /XYZ 71.731 524.7583 null] >> endobj 5156 0 obj << -/D [5148 0 R /XYZ 284.4011 644.534 null] +/D [5143 0 R /XYZ 71.731 519.7769 null] >> endobj 5157 0 obj << -/D [5148 0 R /XYZ 71.731 619.1293 null] +/D [5143 0 R /XYZ 71.731 486.128 null] >> endobj -1106 0 obj << -/D [5148 0 R /XYZ 131.5064 606.1778 null] +1114 0 obj << +/D [5143 0 R /XYZ 86.6464 433.8152 null] >> endobj -5158 0 obj << -/D [5148 0 R /XYZ 71.731 598.9799 null] +2185 0 obj << +/D [5143 0 R /XYZ 71.731 423.2278 null] >> endobj -5159 0 obj << -/D [5148 0 R /XYZ 71.731 593.9986 null] +1118 0 obj << +/D [5143 0 R /XYZ 202.5889 410.5345 null] >> endobj -2095 0 obj << -/D [5148 0 R /XYZ 71.731 544.9076 null] +5158 0 obj << +/D [5143 0 R /XYZ 71.731 403.491 null] >> endobj -1110 0 obj << -/D [5148 0 R /XYZ 109.9273 531.9562 null] +5159 0 obj << +/D [5143 0 R /XYZ 71.731 398.5096 null] >> endobj 5160 0 obj << -/D [5148 0 R /XYZ 71.731 524.7583 null] +/D [5143 0 R /XYZ 71.731 398.5096 null] >> endobj 5161 0 obj << -/D [5148 0 R /XYZ 71.731 519.7769 null] +/D [5143 0 R /XYZ 257.3634 374.669 null] >> endobj 5162 0 obj << -/D [5148 0 R /XYZ 71.731 486.128 null] ->> endobj -1114 0 obj << -/D [5148 0 R /XYZ 86.6464 433.8152 null] ->> endobj -2184 0 obj << -/D [5148 0 R /XYZ 71.731 423.2278 null] +/D [5143 0 R /XYZ 71.731 349.2643 null] >> endobj -1118 0 obj << -/D [5148 0 R /XYZ 202.5889 410.5345 null] +1122 0 obj << +/D [5143 0 R /XYZ 127.0732 336.3128 null] >> endobj 5163 0 obj << -/D [5148 0 R /XYZ 71.731 403.491 null] +/D [5143 0 R /XYZ 71.731 329.2693 null] >> endobj 5164 0 obj << -/D [5148 0 R /XYZ 71.731 398.5096 null] +/D [5143 0 R /XYZ 71.731 324.288 null] +>> endobj +2779 0 obj << +/D [5143 0 R /XYZ 71.731 262.0912 null] +>> endobj +1126 0 obj << +/D [5143 0 R /XYZ 248.6554 249.1397 null] >> endobj 5165 0 obj << -/D [5148 0 R /XYZ 71.731 398.5096 null] +/D [5143 0 R /XYZ 71.731 242.0962 null] >> endobj 5166 0 obj << -/D [5148 0 R /XYZ 257.3634 374.669 null] +/D [5143 0 R /XYZ 71.731 237.1149 null] >> endobj 5167 0 obj << -/D [5148 0 R /XYZ 71.731 349.2643 null] ->> endobj -1122 0 obj << -/D [5148 0 R /XYZ 127.0732 336.3128 null] +/D [5143 0 R /XYZ 71.731 237.1149 null] >> endobj 5168 0 obj << -/D [5148 0 R /XYZ 71.731 329.2693 null] +/D [5143 0 R /XYZ 180.012 226.2257 null] >> endobj 5169 0 obj << -/D [5148 0 R /XYZ 71.731 324.288 null] +/D [5143 0 R /XYZ 118.4953 213.2742 null] >> endobj -2780 0 obj << -/D [5148 0 R /XYZ 71.731 262.0912 null] ->> endobj -1126 0 obj << -/D [5148 0 R /XYZ 248.6554 249.1397 null] +3170 0 obj << +/D [5143 0 R /XYZ 71.731 187.8695 null] >> endobj 5170 0 obj << -/D [5148 0 R /XYZ 71.731 242.0962 null] +/D [5143 0 R /XYZ 71.731 187.8695 null] +>> endobj +1130 0 obj << +/D [5143 0 R /XYZ 109.3898 174.9181 null] >> endobj 5171 0 obj << -/D [5148 0 R /XYZ 71.731 237.1149 null] +/D [5143 0 R /XYZ 71.731 169.7575 null] >> endobj 5172 0 obj << -/D [5148 0 R /XYZ 71.731 237.1149 null] +/D [5143 0 R /XYZ 71.731 164.7761 null] >> endobj 5173 0 obj << -/D [5148 0 R /XYZ 180.012 226.2257 null] ->> endobj -5174 0 obj << -/D [5148 0 R /XYZ 118.4953 213.2742 null] +/D [5143 0 R /XYZ 109.5683 153.2991 null] >> endobj -3174 0 obj << -/D [5148 0 R /XYZ 71.731 187.8695 null] ->> endobj -5175 0 obj << -/D [5148 0 R /XYZ 71.731 187.8695 null] ->> endobj -1130 0 obj << -/D [5148 0 R /XYZ 109.3898 174.9181 null] ->> endobj -5176 0 obj << -/D [5148 0 R /XYZ 71.731 169.7575 null] ->> endobj -5177 0 obj << -/D [5148 0 R /XYZ 71.731 164.7761 null] ->> endobj -5178 0 obj << -/D [5148 0 R /XYZ 109.5683 153.2991 null] ->> endobj -5147 0 obj << -/Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R /F61 2639 0 R /F35 1709 0 R >> +5142 0 obj << +/Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R /F61 2640 0 R /F35 1709 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5181 0 obj << +5176 0 obj << /Length 1391 /Filter /FlateDecode >> @@ -21868,392 +21797,388 @@ stream xڕWKs�6��W�Vy&V%J���v�6ӝ����큖h[IԒT2�/@P~d5���@����@NW ��U��E�b&8[��]�:���] �1㩀���gE\�L�6�J�?�}�=+VU\ �{گ�4\d�")�,ϊ�S�W�ҭ7�'�4��v�qT��'�ռ�� �� ��u�d���:ei�MQ�F}�Z�z58;k��,i���������$au;�մ֙v�fI4� �����lU³E��N��g� �����?k��!p�_��X��c����G툦f�&��ʟ�8�NDU�i.�*-�ӵ�q��c�׀7j��ʒ�D��`�E�v����ӻm�i�TNR ��+��9����]'ò�}�dh�����Q���`�j��ST ��;�^�i)��+�����@�5�� 8/x��훬�K��%b�B�=���&�,feBTm���p�ľD���s~/����Ө��&i�u?NY�����[�Ƕ>�h������[A����`�441!~�����;8�u�O��V�êur�F�Bs�z �G�'���)��m{��^ZI��d���OZj�֑dk��������,?i��oo�9��~���IK����l�mv/@�,�����d?u�B�X��,�ZD?�����R��A� ���7Y��"�*H�"�Q֨aNv���_�hxU;>��V�Pw�&[ ���x�ݛ���O��1T�~�R2�sL�l~��/+TpO�u�Dj�ӯ�i�«�Z�D�U����Y��GLk�M���Bx�O`�4� ��O'B˺V� B��Z�\��o�N45* ��^]�?in��9�Ja�A�� �UCP9T�n�M�I{��/���� 컲�c���hx�_��p݇���w�i��~�@�9 ,> -8RP���1��7��)��F�$�S�ڱ�VO�V��ƝU��U`q�I�c���i�H@ ���"B�E����߬����Ҿ����u��W؋|���v�n�}��_phբ����= FGO��r>��ē�HU�.�MC��������iO�@�������v<�`�;tL�y���������'Ӻ��W5|>���)�!ز;-b�d��g�9��(2�ꃥ��=M��Jȸ�p>7���$��8I�2�-F���7*�|�a|i��r�0�1�4��H��nJ�yY���+hH�f��R��Ȳ��x���w[��9�,�m�9G-h���4�Il���<YR�2�×�A�_�Qr�;�e2��C��l>I_��K�Z�_����٣����Nv�!9wz��R~�}�t�'��@_+Sx�����\a���sxu��� ߐ�����|n���w endstream +8RP���1��7��)��F�$�S�ڱ�VO�V��ƝU��U`q�I�c���i�H@ ���"B�E����߬����Ҿ����u��W؋|���v�n�}��_phբ����= FGO��r>��ē�HU�.�MC��������iO�@�������v<�`�;tL�y���������'Ӻ��W5|>���)�!ز;-b�d��g�9��(2�ꃥ��=M��Jȸ�p>7���$��8I�2�-F���7*�|�a|i��r�0�1�4��H��nJ�yY���+hH�f��R��Ȳ��x���w[��9�,�m�9G-h���4�Il���<YR�2�×�A�_�Qr�;�e2��C��l>I_��K�Z�_����٣����Nv�!9wz��R~�}�t�'��@_+Sx�����\a���sxu��� ߐ&����|n��+wendstream endobj -5180 0 obj << +5175 0 obj << /Type /Page -/Contents 5181 0 R -/Resources 5179 0 R +/Contents 5176 0 R +/Resources 5174 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R +/Parent 5141 0 R +>> endobj +5177 0 obj << +/D [5175 0 R /XYZ 71.731 729.2652 null] +>> endobj +5178 0 obj << +/D [5175 0 R /XYZ 71.731 741.2204 null] +>> endobj +5179 0 obj << +/D [5175 0 R /XYZ 527.5668 708.3437 null] +>> endobj +5180 0 obj << +/D [5175 0 R /XYZ 71.731 691.2429 null] +>> endobj +5181 0 obj << +/D [5175 0 R /XYZ 194.7222 681.7434 null] >> endobj 5182 0 obj << -/D [5180 0 R /XYZ 71.731 729.2652 null] +/D [5175 0 R /XYZ 71.731 606.3263 null] +>> endobj +1134 0 obj << +/D [5175 0 R /XYZ 86.6464 554.0134 null] +>> endobj +3999 0 obj << +/D [5175 0 R /XYZ 71.731 543.6842 null] +>> endobj +1138 0 obj << +/D [5175 0 R /XYZ 109.9275 530.7327 null] >> endobj 5183 0 obj << -/D [5180 0 R /XYZ 71.731 741.2204 null] +/D [5175 0 R /XYZ 71.731 525.627 null] >> endobj 5184 0 obj << -/D [5180 0 R /XYZ 527.5668 708.3437 null] +/D [5175 0 R /XYZ 71.731 520.6456 null] >> endobj 5185 0 obj << -/D [5180 0 R /XYZ 71.731 691.2429 null] +/D [5175 0 R /XYZ 408.8762 494.8672 null] >> endobj 5186 0 obj << -/D [5180 0 R /XYZ 194.7222 681.7434 null] +/D [5175 0 R /XYZ 91.6563 481.9158 null] >> endobj 5187 0 obj << -/D [5180 0 R /XYZ 71.731 606.3263 null] ->> endobj -1134 0 obj << -/D [5180 0 R /XYZ 86.6464 554.0134 null] +/D [5175 0 R /XYZ 71.731 456.5111 null] >> endobj -4004 0 obj << -/D [5180 0 R /XYZ 71.731 543.6842 null] ->> endobj -1138 0 obj << -/D [5180 0 R /XYZ 109.9275 530.7327 null] +1142 0 obj << +/D [5175 0 R /XYZ 126.3357 443.5596 null] >> endobj 5188 0 obj << -/D [5180 0 R /XYZ 71.731 525.627 null] +/D [5175 0 R /XYZ 71.731 438.4539 null] >> endobj 5189 0 obj << -/D [5180 0 R /XYZ 71.731 520.6456 null] +/D [5175 0 R /XYZ 71.731 433.4725 null] >> endobj 5190 0 obj << -/D [5180 0 R /XYZ 408.8762 494.8672 null] +/D [5175 0 R /XYZ 71.731 358.8772 null] +>> endobj +1146 0 obj << +/D [5175 0 R /XYZ 87.8032 306.5644 null] >> endobj 5191 0 obj << -/D [5180 0 R /XYZ 91.6563 481.9158 null] +/D [5175 0 R /XYZ 71.731 295.977 null] >> endobj -5192 0 obj << -/D [5180 0 R /XYZ 71.731 456.5111 null] +1150 0 obj << +/D [5175 0 R /XYZ 106.9586 283.2837 null] >> endobj -1142 0 obj << -/D [5180 0 R /XYZ 126.3357 443.5596 null] +5192 0 obj << +/D [5175 0 R /XYZ 71.731 276.2401 null] >> endobj 5193 0 obj << -/D [5180 0 R /XYZ 71.731 438.4539 null] +/D [5175 0 R /XYZ 71.731 271.2588 null] >> endobj 5194 0 obj << -/D [5180 0 R /XYZ 71.731 433.4725 null] +/D [5175 0 R /XYZ 135.3051 260.3696 null] >> endobj 5195 0 obj << -/D [5180 0 R /XYZ 71.731 358.8772 null] ->> endobj -1146 0 obj << -/D [5180 0 R /XYZ 87.8032 306.5644 null] +/D [5175 0 R /XYZ 477.1051 247.4182 null] >> endobj 5196 0 obj << -/D [5180 0 R /XYZ 71.731 295.977 null] ->> endobj -1150 0 obj << -/D [5180 0 R /XYZ 106.9586 283.2837 null] +/D [5175 0 R /XYZ 91.6563 234.4667 null] >> endobj 5197 0 obj << -/D [5180 0 R /XYZ 71.731 276.2401 null] ->> endobj -5198 0 obj << -/D [5180 0 R /XYZ 71.731 271.2588 null] ->> endobj -5199 0 obj << -/D [5180 0 R /XYZ 135.3051 260.3696 null] ->> endobj -5200 0 obj << -/D [5180 0 R /XYZ 477.1051 247.4182 null] ->> endobj -5201 0 obj << -/D [5180 0 R /XYZ 91.6563 234.4667 null] ->> endobj -5202 0 obj << -/D [5180 0 R /XYZ 71.731 211.5527 null] +/D [5175 0 R /XYZ 71.731 211.5527 null] >> endobj 1154 0 obj << -/D [5180 0 R /XYZ 83.217 159.2398 null] +/D [5175 0 R /XYZ 83.217 159.2398 null] >> endobj -5203 0 obj << -/D [5180 0 R /XYZ 71.731 148.6525 null] +5198 0 obj << +/D [5175 0 R /XYZ 71.731 148.6525 null] >> endobj 1158 0 obj << -/D [5180 0 R /XYZ 121.7728 135.9591 null] +/D [5175 0 R /XYZ 121.7728 135.9591 null] >> endobj -5204 0 obj << -/D [5180 0 R /XYZ 71.731 128.9156 null] +5199 0 obj << +/D [5175 0 R /XYZ 71.731 128.9156 null] >> endobj -5205 0 obj << -/D [5180 0 R /XYZ 71.731 123.9343 null] +5200 0 obj << +/D [5175 0 R /XYZ 71.731 123.9343 null] >> endobj -5179 0 obj << -/Font << /F27 1258 0 R /F23 1250 0 R /F44 2088 0 R /F35 1709 0 R /F33 1358 0 R >> +5174 0 obj << +/Font << /F27 1258 0 R /F23 1250 0 R /F44 2089 0 R /F35 1709 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5208 0 obj << -/Length 1488 +5203 0 obj << +/Length 1383 /Filter /FlateDecode >> stream -xڭ]o�6�=�2S%�#o���-[�aF�m���Rr ���G9r,��P0���}��.���4di�O_�E�����/BG' �"L`3�u%���O�)�����<`����a=�JDȂ8T��w����K��<&@,V<b<"Q}/�a�m�+�W�O3�a���m�i������qN'�C����?gy����r����(�<,#1ru�A��zZw�* 4��n�k��:n�� �K.�=�sO� �Y9Z��*i������G���{Ֆh:*CD[C>"�Cw�����ز��-�����˪|�b���z���[�5p>\��{w��5����7���VŖ�7�ͷ��%��=��#ӣ��F^��K�/$��{R����U|�3�W� ;\A�����PxB��ݺV���R�%(�� ����U��P�'�sY;Y*}<h�G"1H���W�_�Xd�_I�2w<�X������Q�V�sY�,N���N ��,�� �,�>�YH J�Y�_�� ��eq8rF��5�:� ˃$q�F}�UF��=�М�P�Hd/d�z?#ؤ,�3~�(k2�_�\��W�32#d��d�vΫKE>Z�f��*�X�� j�"�p*7��?~}k� �c[xy��`6bN!ڦ�Om\�8�O����/��c�e�E�H����"Mm:�j������L�X������������HOۋ�n�#gL�f���l�QR�lk-K��mmtC_]������Gs�ԬЍ 0ddc���4���V�˫���]]���"������=S�^�k���aK���D!����xI/�ݸ��j�8t�j��q3�j,�<eY.H�Y|�uD3)�gv� �W�O�l;4���/� AID���-y>��9�� =��/�c^�1��t��2<� -,m"���HF+�s���|���W܌�cz�8��r�O�Wc�O/���{�a ����Τ��،��w�圅��?̩S��8�H��~l���|�Y>靫��q�pծ�nK��R��m�;��<�X��c�m�h�3�� �X>-�TJ��'%��T��W����7N�{;�=dgl�����8"�q��0|-x#�� -^g�����%���W�+zb�#��7�!�X&���<�) ���#�`��Gn���������l�H����.��e0�Qt�A=Xec}���n�/z���Y���֟k�G����tD;`�-��"���Sv������'�!��n���@���::՟��P�ݦ��m�IB�*�OTg�[M�����b�C��T��LchI�ao;��Z��p��۹�����5v8�b��@90�c����I7�n�><��)Z����qɞ���F(V�V���m��X0�q�;�0V+��@z�|�����������pw���?�^V���3w?����jBs>� ��A�%GN�Ԕ�����4�endstream +xڭ]o�6�=�2Q"%�#o���-[�aZ�m��*%7p��x�#�F� ���x<�O|/R���3�H�(��p����/�c��� �@���2JY��d�υ�<\D�!Kd&��Dr�9�ʿ���?�XƜ� �pወ�,L�E�Z���,}��K_�����BϨv�;���~����INg�9�BF _����ʿ^�I��5M��2����H��i�j�u7蒠������t�#n��OauK!�'�s�[]7�r�]K��e��n�{�$�=�_]��D��P�<��| +e���*�L�eE�Z�ᙷ �j+�G A]� e}��ҏ#��iS�t�֗�D�Ӷ*�D��m�Uu�CĂ�@ʀo��U������B��Q*�������A�"�� + { �������hֵ6�7��-�����^5}��Vcյ�3�bܩ�v��ч��{t%:�^q�k�+���+�]���'K]W_��?6z�v幨�!� +O��(��f)�����#8�E��E2�'��?~}k��/xl�Y��+v͈�@���F�U�}�����E\,dCb�gk����l�:Ds�N��3�|ws{r��XS��\<q�^|d!S�f2=��F�a +tFƘ�͆/�V�%�x[w���ƽ���u�����L���~�R��k����Pd�����k[�(]��0l�]]�ƺ�������=s�A�k�qK:��"Pv��#�q��j�$�]Վ��f�Ք�"eY.��7����gV�N���@����Զ��pv���I��c f �s�,�a�=�\q�nj��<� +�9����"Lag� +�V��-�L��z.���jT+5�������@� ���[��>b�s߷j(���Yu&�5�Nl���L٨g�ժۍ.���i㵣u�'�0e%������,%y��"��YѮ�T�H0#r�漄�$ˁ��d��L�o�� +-i��ro[��=v"��5���.Jb�~\B��⹉�9�7ݨ��e���7h������H?�Y&C�7%"��� ��c�`0��E��b ������V�s�yk_u�VC�2.ȵV���������-x7kCp}Ċ�Wpww�m�ӵ����E�f�⿌��w�NYG\-+�C��H�ٙ=mb�u��z8&��1��pIh�ABCNպ7&��f���0q��!�W��s�1����d�v�(k���"����x�6���&R�}�z��&��̃���?uMߵ����)Z��ad�FEZ����V���oLg[�X-�1j/�U0���4�mQG`���1���@�����b55�g��R���A��g�,���xN�; i�>9H�w�0y��S�̍����_endstream endobj -5207 0 obj << +5202 0 obj << /Type /Page -/Contents 5208 0 R -/Resources 5206 0 R +/Contents 5203 0 R +/Resources 5201 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5090 0 R -/Annots [ 5221 0 R ] +/Parent 5141 0 R +/Annots [ 5213 0 R ] >> endobj -5221 0 obj << +5213 0 obj << /Type /Annot /Border[0 0 0]/H/I/C[1 0 0] -/Rect [221.9349 488.6257 256.6546 499.5297] +/Rect [221.9349 501.5772 256.6546 512.4811] /Subtype /Link /A << /S /GoTo /D (gloss-rdbms) >> >> endobj -5209 0 obj << -/D [5207 0 R /XYZ 71.731 729.2652 null] +5204 0 obj << +/D [5202 0 R /XYZ 71.731 729.2652 null] >> endobj 1162 0 obj << -/D [5207 0 R /XYZ 88.9395 651.0495 null] +/D [5202 0 R /XYZ 88.9395 651.0495 null] >> endobj -5210 0 obj << -/D [5207 0 R /XYZ 71.731 640.7203 null] +5205 0 obj << +/D [5202 0 R /XYZ 71.731 640.7203 null] >> endobj 1166 0 obj << -/D [5207 0 R /XYZ 193.5729 627.7689 null] +/D [5202 0 R /XYZ 193.5729 627.7689 null] +>> endobj +5206 0 obj << +/D [5202 0 R /XYZ 71.731 620.5709 null] +>> endobj +5207 0 obj << +/D [5202 0 R /XYZ 71.731 615.5896 null] +>> endobj +5208 0 obj << +/D [5202 0 R /XYZ 488.7181 604.8548 null] +>> endobj +5209 0 obj << +/D [5202 0 R /XYZ 91.6563 566.0005 null] +>> endobj +5210 0 obj << +/D [5202 0 R /XYZ 71.731 540.5958 null] +>> endobj +1170 0 obj << +/D [5202 0 R /XYZ 106.052 527.6443 null] >> endobj 5211 0 obj << -/D [5207 0 R /XYZ 71.731 620.5709 null] +/D [5202 0 R /XYZ 71.731 520.6008 null] >> endobj 5212 0 obj << -/D [5207 0 R /XYZ 71.731 615.5896 null] ->> endobj -5213 0 obj << -/D [5207 0 R /XYZ 488.7181 604.8548 null] +/D [5202 0 R /XYZ 71.731 515.6195 null] >> endobj 5214 0 obj << -/D [5207 0 R /XYZ 91.6563 566.0005 null] +/D [5202 0 R /XYZ 444.2551 504.7302 null] >> endobj 5215 0 obj << -/D [5207 0 R /XYZ 364.9621 566.0005 null] +/D [5202 0 R /XYZ 71.731 489.622 null] >> endobj 5216 0 obj << -/D [5207 0 R /XYZ 478.8046 566.0005 null] +/D [5202 0 R /XYZ 71.731 474.678 null] >> endobj 5217 0 obj << -/D [5207 0 R /XYZ 154.739 553.0491 null] +/D [5202 0 R /XYZ 71.731 474.678 null] >> endobj 5218 0 obj << -/D [5207 0 R /XYZ 71.731 527.6443 null] ->> endobj -1170 0 obj << -/D [5207 0 R /XYZ 106.052 514.6929 null] +/D [5202 0 R /XYZ 71.731 461.7266 null] >> endobj 5219 0 obj << -/D [5207 0 R /XYZ 71.731 507.6494 null] +/D [5202 0 R /XYZ 111.5816 445.9507 null] >> endobj 5220 0 obj << -/D [5207 0 R /XYZ 71.731 502.668 null] +/D [5202 0 R /XYZ 71.731 433.8312 null] +>> endobj +5221 0 obj << +/D [5202 0 R /XYZ 71.731 433.8312 null] >> endobj 5222 0 obj << -/D [5207 0 R /XYZ 444.2551 491.7788 null] +/D [5202 0 R /XYZ 71.731 420.8798 null] >> endobj 5223 0 obj << -/D [5207 0 R /XYZ 71.731 476.6706 null] +/D [5202 0 R /XYZ 111.5816 405.1038 null] >> endobj 5224 0 obj << -/D [5207 0 R /XYZ 71.731 461.7266 null] +/D [5202 0 R /XYZ 315.2763 405.1038 null] >> endobj 5225 0 obj << -/D [5207 0 R /XYZ 71.731 461.7266 null] +/D [5202 0 R /XYZ 71.731 392.9844 null] >> endobj 5226 0 obj << -/D [5207 0 R /XYZ 71.731 448.7752 null] +/D [5202 0 R /XYZ 71.731 392.9844 null] >> endobj 5227 0 obj << -/D [5207 0 R /XYZ 111.5816 432.9992 null] +/D [5202 0 R /XYZ 71.731 380.0329 null] >> endobj 5228 0 obj << -/D [5207 0 R /XYZ 71.731 420.8798 null] ->> endobj -5229 0 obj << -/D [5207 0 R /XYZ 71.731 420.8798 null] ->> endobj -5230 0 obj << -/D [5207 0 R /XYZ 71.731 407.9283 null] ->> endobj -5231 0 obj << -/D [5207 0 R /XYZ 111.5816 392.1524 null] ->> endobj -5232 0 obj << -/D [5207 0 R /XYZ 315.2763 392.1524 null] ->> endobj -5233 0 obj << -/D [5207 0 R /XYZ 71.731 380.0329 null] ->> endobj -5234 0 obj << -/D [5207 0 R /XYZ 71.731 380.0329 null] ->> endobj -5235 0 obj << -/D [5207 0 R /XYZ 71.731 367.0815 null] ->> endobj -5236 0 obj << -/D [5207 0 R /XYZ 111.5816 351.3056 null] +/D [5202 0 R /XYZ 111.5816 364.257 null] >> endobj -5237 0 obj << -/D [5207 0 R /XYZ 71.731 328.3915 null] +5229 0 obj << +/D [5202 0 R /XYZ 71.731 341.3429 null] >> endobj 1174 0 obj << -/D [5207 0 R /XYZ 85.5101 276.0787 null] +/D [5202 0 R /XYZ 85.5101 289.0301 null] >> endobj -2718 0 obj << -/D [5207 0 R /XYZ 71.731 265.7494 null] +2719 0 obj << +/D [5202 0 R /XYZ 71.731 278.7009 null] >> endobj 1178 0 obj << -/D [5207 0 R /XYZ 176.6962 252.798 null] +/D [5202 0 R /XYZ 176.6962 265.7494 null] >> endobj -5238 0 obj << -/D [5207 0 R /XYZ 71.731 245.6001 null] +5230 0 obj << +/D [5202 0 R /XYZ 71.731 258.5515 null] >> endobj -5239 0 obj << -/D [5207 0 R /XYZ 71.731 240.6188 null] +5231 0 obj << +/D [5202 0 R /XYZ 71.731 253.5702 null] >> endobj -5240 0 obj << -/D [5207 0 R /XYZ 71.731 240.6188 null] +5232 0 obj << +/D [5202 0 R /XYZ 71.731 253.5702 null] >> endobj -3400 0 obj << -/D [5207 0 R /XYZ 71.731 204.4792 null] +3397 0 obj << +/D [5202 0 R /XYZ 71.731 217.4306 null] >> endobj 1182 0 obj << -/D [5207 0 R /XYZ 109.1703 191.5278 null] +/D [5202 0 R /XYZ 109.1703 204.4792 null] >> endobj -5241 0 obj << -/D [5207 0 R /XYZ 71.731 186.422 null] +5233 0 obj << +/D [5202 0 R /XYZ 71.731 199.3734 null] >> endobj -5242 0 obj << -/D [5207 0 R /XYZ 71.731 181.4406 null] +5234 0 obj << +/D [5202 0 R /XYZ 71.731 194.3921 null] >> endobj -5206 0 obj << +5201 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F35 1709 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5246 0 obj << +5238 0 obj << /Length 1305 /Filter /FlateDecode >> stream xڍW�o�6�_a`/23�h}�-i���:���=,{�eZ"*�I5M����(�Ʉ5�y���d�_�*VpXҊ�y����"^5 ��" *�<gi��@,H7/XU��js��fwqu��UŪd��)R\2���jw�'���q$M��w�;�g� lӌ�6iʪd�x�[e�[o8�FF9'"����)� ۿ�e���$�#F�;ei���E�;I�htcDOD'�f�dD��[|�6X�� ��8uA��/@��:ɢoj�:���K��$�n�l}�jpҌF:yXC���F�N ���:��Yl��%ћ���έA-�$F����s�P.��S{�QΡ�6�^�Y� Ya^~r9�n6�x��]8k�Ya}��7[Β�(��n���:����"�fE|��(B�@��VD0Mc�ge�n6UɊ�,��KӼ��>�T�B>)gi�?]���i�?]��-^Ķ ��9��=��5CYI�j�p[FGm��'ACƵ��C-�#����^[G�N�uRF��Y��:��b$��WD�����!Xj2\gpd�]8��x��*��t7�oA$��~C�%\�Q�I(Ȅ���68��=L�#�^Jg�߫A�SplT�C��%LQ���2�Ze_�A���~�\�k�� L,z��k�KԜ�3��Xt��ƍ��(�L��� L��ŪS���\�m���U��5�$���&�"�@ ;�L�}�.i�FC��.��0�dw �E�K7N��]��8��?�ϲ��xE�N�+�� �5p�� ��G�d�����Ko�Y,�kO���!V3�(@J.{"=|@M,�Z:�V��u�Ḟ#8�$tÃ̢`���}�Zu>=\�Rj~ṚWc[��,bW�tY�,O�M4�_�w�F�/���5N2����ap��O����rz��Om�k/����Q�'�����uK��鷺�������un���j���kϛ�g,����d��_>�%�m�Jc��}}7����p�ҿ�Z���~����������kG+�a�+������z���.IEв��m��e a�5FO��B�q�T=��/x�~��Ƞ�����s+ �ƈڵ�7�?^�M܅���<͡E�XM;�65�7�;"F1Ȱ}hUT:ݜ�`����p�麆�]�UP("�0�>�+da�C��(����p1 -�a��eĺE9`y)?z�������%q 1;u��G=�������0�!�� (�k��w���p�nw��_�ے� �u�APٜ��_Ͼ�2@s���� �J��e�ӯ���?���^�endstream +�a��eĺE9`y)?z�������%q 1;u��G=�������0�!�� (�k��w���p�nw��_�ے� �u�APٜ��_Ͼ�2@s���� �J��e�ӯ���?��r^�endstream endobj -5245 0 obj << +5237 0 obj << /Type /Page -/Contents 5246 0 R -/Resources 5244 0 R +/Contents 5238 0 R +/Resources 5236 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5272 0 R +/Parent 5141 0 R >> endobj -5247 0 obj << -/D [5245 0 R /XYZ 71.731 729.2652 null] +5239 0 obj << +/D [5237 0 R /XYZ 71.731 729.2652 null] >> endobj -5248 0 obj << -/D [5245 0 R /XYZ 71.731 718.3063 null] +5240 0 obj << +/D [5237 0 R /XYZ 71.731 718.3063 null] >> endobj 1186 0 obj << -/D [5245 0 R /XYZ 90.2612 708.3437 null] +/D [5237 0 R /XYZ 90.2612 708.3437 null] >> endobj -5249 0 obj << -/D [5245 0 R /XYZ 71.731 703.2379 null] +5241 0 obj << +/D [5237 0 R /XYZ 71.731 703.2379 null] >> endobj -5250 0 obj << -/D [5245 0 R /XYZ 71.731 698.2566 null] +5242 0 obj << +/D [5237 0 R /XYZ 71.731 698.2566 null] >> endobj -5251 0 obj << -/D [5245 0 R /XYZ 134.824 659.5268 null] +5243 0 obj << +/D [5237 0 R /XYZ 134.824 659.5268 null] >> endobj -5252 0 obj << -/D [5245 0 R /XYZ 71.731 636.6127 null] +5244 0 obj << +/D [5237 0 R /XYZ 71.731 636.6127 null] >> endobj 1190 0 obj << -/D [5245 0 R /XYZ 87.8032 584.2999 null] +/D [5237 0 R /XYZ 87.8032 584.2999 null] >> endobj -5253 0 obj << -/D [5245 0 R /XYZ 71.731 572.8966 null] +5245 0 obj << +/D [5237 0 R /XYZ 71.731 572.8966 null] >> endobj 1194 0 obj << -/D [5245 0 R /XYZ 86.6748 561.0192 null] +/D [5237 0 R /XYZ 86.6748 561.0192 null] >> endobj -5254 0 obj << -/D [5245 0 R /XYZ 71.731 555.5199 null] +5246 0 obj << +/D [5237 0 R /XYZ 71.731 555.5199 null] >> endobj -5255 0 obj << -/D [5245 0 R /XYZ 71.731 550.5386 null] +5247 0 obj << +/D [5237 0 R /XYZ 71.731 550.5386 null] >> endobj -5256 0 obj << -/D [5245 0 R /XYZ 71.731 550.5386 null] +5248 0 obj << +/D [5237 0 R /XYZ 71.731 550.5386 null] >> endobj -5257 0 obj << -/D [5245 0 R /XYZ 119.8414 538.1051 null] +5249 0 obj << +/D [5237 0 R /XYZ 119.8414 538.1051 null] >> endobj -5258 0 obj << -/D [5245 0 R /XYZ 167.6439 538.1051 null] +5250 0 obj << +/D [5237 0 R /XYZ 167.6439 538.1051 null] >> endobj -5259 0 obj << -/D [5245 0 R /XYZ 249.4106 538.1051 null] +5251 0 obj << +/D [5237 0 R /XYZ 249.4106 538.1051 null] >> endobj -5260 0 obj << -/D [5245 0 R /XYZ 442.1221 512.2022 null] +5252 0 obj << +/D [5237 0 R /XYZ 442.1221 512.2022 null] >> endobj -5261 0 obj << -/D [5245 0 R /XYZ 71.731 476.3367 null] +5253 0 obj << +/D [5237 0 R /XYZ 71.731 476.3367 null] >> endobj 1198 0 obj << -/D [5245 0 R /XYZ 86.6464 424.0239 null] +/D [5237 0 R /XYZ 86.6464 424.0239 null] >> endobj -5243 0 obj << -/D [5245 0 R /XYZ 71.731 413.6946 null] +5235 0 obj << +/D [5237 0 R /XYZ 71.731 413.6946 null] >> endobj 1202 0 obj << -/D [5245 0 R /XYZ 269.3776 400.7432 null] +/D [5237 0 R /XYZ 269.3776 400.7432 null] >> endobj -5262 0 obj << -/D [5245 0 R /XYZ 71.731 393.5453 null] +5254 0 obj << +/D [5237 0 R /XYZ 71.731 393.5453 null] >> endobj -5263 0 obj << -/D [5245 0 R /XYZ 71.731 388.564 null] +5255 0 obj << +/D [5237 0 R /XYZ 71.731 388.564 null] >> endobj -5264 0 obj << -/D [5245 0 R /XYZ 71.731 339.473 null] +5256 0 obj << +/D [5237 0 R /XYZ 71.731 339.473 null] >> endobj 1206 0 obj << -/D [5245 0 R /XYZ 165.299 326.5215 null] +/D [5237 0 R /XYZ 165.299 326.5215 null] >> endobj -5265 0 obj << -/D [5245 0 R /XYZ 71.731 319.3236 null] +5257 0 obj << +/D [5237 0 R /XYZ 71.731 319.3236 null] >> endobj -5266 0 obj << -/D [5245 0 R /XYZ 71.731 314.3423 null] +5258 0 obj << +/D [5237 0 R /XYZ 71.731 314.3423 null] >> endobj -5267 0 obj << -/D [5245 0 R /XYZ 476.5536 303.6075 null] +5259 0 obj << +/D [5237 0 R /XYZ 476.5536 303.6075 null] >> endobj -5268 0 obj << -/D [5245 0 R /XYZ 71.731 267.742 null] +5260 0 obj << +/D [5237 0 R /XYZ 71.731 267.742 null] >> endobj 1210 0 obj << -/D [5245 0 R /XYZ 85.5101 215.4291 null] +/D [5237 0 R /XYZ 85.5101 215.4291 null] >> endobj -4005 0 obj << -/D [5245 0 R /XYZ 71.731 204.8418 null] +4000 0 obj << +/D [5237 0 R /XYZ 71.731 204.8418 null] >> endobj 1214 0 obj << -/D [5245 0 R /XYZ 107.2772 192.1484 null] +/D [5237 0 R /XYZ 107.2772 192.1484 null] >> endobj -5269 0 obj << -/D [5245 0 R /XYZ 71.731 187.0426 null] +5261 0 obj << +/D [5237 0 R /XYZ 71.731 187.0426 null] >> endobj -5270 0 obj << -/D [5245 0 R /XYZ 71.731 182.0613 null] +5262 0 obj << +/D [5237 0 R /XYZ 71.731 182.0613 null] >> endobj -5271 0 obj << -/D [5245 0 R /XYZ 382.967 156.2829 null] +5263 0 obj << +/D [5237 0 R /XYZ 382.967 156.2829 null] >> endobj -5244 0 obj << +5236 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -5275 0 obj << +5266 0 obj << /Length 1975 /Filter /FlateDecode >> @@ -22261,131 +22186,131 @@ stream xڕM��4�>��*1�� 'fv�Z��n����g+��9�גy~=�������Z�Vw����O<",X�*��,~�O���#�}%�$��0�D�;��,)ª��ݚ����Ͽ���*�r8�IQ&iR<웟���>~���� -V��8KvqV"�]��u�o,�ep0#!���{<�cCGoU�F���TC$�r|�:�V��I\KC:~3*�fZ��k!DUF�n�,`��~�Fd���Qt {:P���To�S��`���e"�/:)�#�("n������aטz:)@8m�$�F^K�MÌ�M�mto��Lc���3�-�ؤ���yѮ���W?T�-����R&Y�9%i i;��M�Z�%�`6q���0uDٱ/B �d5"�B���C1?ލ�8�XTL�- "݁?�Ɠ|:�i4p2�� � dh�/� =:�/���B5D����g��N�����}v�����t�S�k�/Q����1*.��Ēo�`�������l&f7�9�s��#a�(�|��@aҾ!� b�#O1J�=��br��N��B�Yt��z�!������L�g������]��oJ�0�g+�q�@���0��Ca�Ԏ"�8��j���4�}��qLr�~��(P�@Q����7���B�p*��gR�K{v��3�f�هG6���L1xEy�8N�Ī�q�g"�2�3n�b-�n��������^6"���*cȃhՙ��Ꭿ[3Y��T@�@qt1ѩV�� f�a2�kP���"�"!ŗ��c�a�9�Sz)��潪Y���a��j�J��p�Ƙ��tgV��������7Z���o��$��h�vHCȓR�T����j��������b��Q{s/�(3�z�7�f�khmTݑ�^hA]�7��B|�~)��xe�gF���fK촸b��U��_R��L� ��� ��%Y �|�?�t�~o��D����6ڞs��s�/A�AX�#r�3�bk��Vףؗ��]�p��! �:>9�����&�.�P��[�>B����v;��нz��P�����gh�'~�[��N��0B�T����R��p>�Iv��b�Ѧ_%�HF�)�%�{>��-�c"����։r�RF["�c�J��5�\~��3�v'��(~���~����}=5��kc���� Ԥ���V�E��O�H% q4�!����z��j-�>$�<�JGXG��o���y�S�%��<h��en��H��Mj<o�,��w�W�>�R4z�eb���I u-eHT�Bm�^��q�����f -8�����4���X�^��a���v�sQ��#��7���"L��[Ͻ�/�̦���W�U�,�Le��h�����r��k0��欳~��㔲�;&�ڱl�\��@�B}��0[2aA���9;��剷� G�89M�賈y��<nK�9�Ҕ8#�l��d�>0L��{�.9t�'��6u�� �=�����Ͻ��BeU�^���� >G���8��{搵��U�խ�'p�+A�,ڳ��`^{��i�5��Aŕ�Kj��i����1-�Xy�YPN��Z!����FЍ=��y0�t����*�n����L h�}ͱϦ�oh1/��ր�%ޘz���`g[=bh#�+@0S4���l���,�J͇֜����l��'�l����ܳ��럄Ta���۫�6���l�����s[ź���H���];��$|�&EN���)Vε ��+�r{�搲�/�A?7iXg�̎��J꺥�p�y�K��9�P]�֒�@W<_᪉������<s>�������H�g54&�>��0.P~"��K��g�q������V��O-ؽ_|l�A�l��Y���X�r�"P�$�¸��k�ዧ�i~�p�U�Zt����_��K3˽?��d�����]����H%e�p�Hn�-��ݑ�;�O|endstream +8�����4���X�^��a���v�sQ��#��7���"L��[Ͻ�/�̦���W�U�,�Le��h�����r��k0��欳~��㔲�;&�ڱl�\��@�B}��0[2aA���9;��剷� G�89M�賈y��<nK�9�Ҕ8#�l��d�>0L��{�.9t�'��6u�� �=�����Ͻ��BeU�^���� >G���8��{搵��U�խ�'p�+A�,ڳ��`^{��i�5��Aŕ�Kj��i����1-�Xy�YPN��Z!����FЍ=��y0�t����*�n����L h�}ͱϦ�oh1/��ր�%ޘz���`g[=bh#�+@0S4���l���,�J͇֜����l��'�l����ܳ��럄Ta���۫�6���l�����s[ź���H���];��$|�&EN���)Vε ��+�r{�搲�/�A?7iXg�̎��J꺥�p�y�K��9�P]�֒�@W<_᪉������<s>�������H�g54&�>��0.P~"��K��g�q������V��O-ؽ_|l�A�l��Y���X�r�"P�$�¸��k�ዧ�i~�p�U�Zt����_��K3˽?��d�����]����H%e�p�����H���Ozendstream endobj -5274 0 obj << +5265 0 obj << /Type /Page -/Contents 5275 0 R -/Resources 5273 0 R +/Contents 5266 0 R +/Resources 5264 0 R /MediaBox [0 0 609.7136 789.0411] -/Parent 5272 0 R +/Parent 5141 0 R +>> endobj +5267 0 obj << +/D [5265 0 R /XYZ 71.731 729.2652 null] +>> endobj +5268 0 obj << +/D [5265 0 R /XYZ 71.731 718.3063 null] +>> endobj +5269 0 obj << +/D [5265 0 R /XYZ 71.731 718.3063 null] +>> endobj +1218 0 obj << +/D [5265 0 R /XYZ 103.2824 708.3437 null] +>> endobj +5270 0 obj << +/D [5265 0 R /XYZ 71.731 703.2379 null] +>> endobj +5271 0 obj << +/D [5265 0 R /XYZ 71.731 698.2566 null] +>> endobj +5272 0 obj << +/D [5265 0 R /XYZ 71.731 698.2566 null] +>> endobj +5273 0 obj << +/D [5265 0 R /XYZ 166.8364 685.4296 null] +>> endobj +5274 0 obj << +/D [5265 0 R /XYZ 408.4751 672.4782 null] +>> endobj +5275 0 obj << +/D [5265 0 R /XYZ 243.4665 659.5268 null] >> endobj 5276 0 obj << -/D [5274 0 R /XYZ 71.731 729.2652 null] +/D [5265 0 R /XYZ 246.8008 659.5268 null] >> endobj 5277 0 obj << -/D [5274 0 R /XYZ 71.731 718.3063 null] +/D [5265 0 R /XYZ 298.9104 659.5268 null] >> endobj 5278 0 obj << -/D [5274 0 R /XYZ 71.731 718.3063 null] ->> endobj -1218 0 obj << -/D [5274 0 R /XYZ 103.2824 708.3437 null] +/D [5265 0 R /XYZ 448.559 659.5268 null] >> endobj 5279 0 obj << -/D [5274 0 R /XYZ 71.731 703.2379 null] +/D [5265 0 R /XYZ 164.884 646.5753 null] >> endobj 5280 0 obj << -/D [5274 0 R /XYZ 71.731 698.2566 null] +/D [5265 0 R /XYZ 481.1574 646.5753 null] >> endobj 5281 0 obj << -/D [5274 0 R /XYZ 71.731 698.2566 null] +/D [5265 0 R /XYZ 132.3631 633.6239 null] >> endobj 5282 0 obj << -/D [5274 0 R /XYZ 166.8364 685.4296 null] +/D [5265 0 R /XYZ 71.731 610.7098 null] +>> endobj +1222 0 obj << +/D [5265 0 R /XYZ 84.3534 558.397 null] >> endobj 5283 0 obj << -/D [5274 0 R /XYZ 408.4751 672.4782 null] +/D [5265 0 R /XYZ 71.731 548.0677 null] +>> endobj +1226 0 obj << +/D [5265 0 R /XYZ 150.0465 535.1163 null] >> endobj 5284 0 obj << -/D [5274 0 R /XYZ 243.4665 659.5268 null] +/D [5265 0 R /XYZ 71.731 527.9184 null] >> endobj 5285 0 obj << -/D [5274 0 R /XYZ 246.8008 659.5268 null] +/D [5265 0 R /XYZ 71.731 522.9371 null] >> endobj 5286 0 obj << -/D [5274 0 R /XYZ 298.9104 659.5268 null] +/D [5265 0 R /XYZ 192.9628 499.2508 null] >> endobj 5287 0 obj << -/D [5274 0 R /XYZ 448.559 659.5268 null] +/D [5265 0 R /XYZ 71.731 447.9432 null] +>> endobj +1230 0 obj << +/D [5265 0 R /XYZ 193.2643 434.9918 null] >> endobj 5288 0 obj << -/D [5274 0 R /XYZ 164.884 646.5753 null] +/D [5265 0 R /XYZ 71.731 427.7939 null] >> endobj 5289 0 obj << -/D [5274 0 R /XYZ 481.1574 646.5753 null] +/D [5265 0 R /XYZ 71.731 422.8125 null] >> endobj 5290 0 obj << -/D [5274 0 R /XYZ 132.3631 633.6239 null] +/D [5265 0 R /XYZ 71.731 363.2608 null] +>> endobj +1234 0 obj << +/D [5265 0 R /XYZ 84.3534 310.9479 null] >> endobj 5291 0 obj << -/D [5274 0 R /XYZ 71.731 610.7098 null] +/D [5265 0 R /XYZ 71.731 300.6187 null] >> endobj -1222 0 obj << -/D [5274 0 R /XYZ 84.3534 558.397 null] +1238 0 obj << +/D [5265 0 R /XYZ 163.9645 287.6672 null] >> endobj 5292 0 obj << -/D [5274 0 R /XYZ 71.731 548.0677 null] ->> endobj -1226 0 obj << -/D [5274 0 R /XYZ 150.0465 535.1163 null] +/D [5265 0 R /XYZ 71.731 280.4693 null] >> endobj 5293 0 obj << -/D [5274 0 R /XYZ 71.731 527.9184 null] +/D [5265 0 R /XYZ 71.731 275.488 null] >> endobj 5294 0 obj << -/D [5274 0 R /XYZ 71.731 522.9371 null] +/D [5265 0 R /XYZ 71.731 249.6449 null] >> endobj 5295 0 obj << -/D [5274 0 R /XYZ 192.9628 499.2508 null] +/D [5265 0 R /XYZ 71.731 239.6823 null] >> endobj 5296 0 obj << -/D [5274 0 R /XYZ 71.731 447.9432 null] ->> endobj -1230 0 obj << -/D [5274 0 R /XYZ 193.2643 434.9918 null] +/D [5265 0 R /XYZ 71.731 176.6352 null] >> endobj 5297 0 obj << -/D [5274 0 R /XYZ 71.731 427.7939 null] ->> endobj -5298 0 obj << -/D [5274 0 R /XYZ 71.731 422.8125 null] ->> endobj -5299 0 obj << -/D [5274 0 R /XYZ 71.731 363.2608 null] ->> endobj -1234 0 obj << -/D [5274 0 R /XYZ 84.3534 310.9479 null] ->> endobj -5300 0 obj << -/D [5274 0 R /XYZ 71.731 300.6187 null] ->> endobj -1238 0 obj << -/D [5274 0 R /XYZ 163.9645 287.6672 null] ->> endobj -5301 0 obj << -/D [5274 0 R /XYZ 71.731 280.4693 null] +/D [5265 0 R /XYZ 469.8557 143.6075 null] >> endobj -5302 0 obj << -/D [5274 0 R /XYZ 71.731 275.488 null] ->> endobj -5303 0 obj << -/D [5274 0 R /XYZ 71.731 249.6449 null] ->> endobj -5304 0 obj << -/D [5274 0 R /XYZ 71.731 239.6823 null] ->> endobj -5305 0 obj << -/D [5274 0 R /XYZ 71.731 176.6352 null] ->> endobj -5306 0 obj << -/D [5274 0 R /XYZ 469.8557 143.6075 null] ->> endobj -5273 0 obj << +5264 0 obj << /Font << /F23 1250 0 R /F27 1258 0 R /F33 1358 0 R >> /ProcSet [ /PDF /Text ] >> endobj -2773 0 obj << +2772 0 obj << /Length1 1605 /Length2 1380 /Length3 532 @@ -22393,133 +22318,133 @@ endobj /Filter /FlateDecode >> stream -x��T{8U��Ki�t%��K�-�&טr��.��e�e[��ڭ�v����$R!J�˔�DR��J f��I�Q�CI���wM5��c�3�u�����g��������e��k��#�Wb(i3���� ��L&�fZ� �q"u�H���`��%˖�����3&��~ �|�Z,���px�G8h �bd<�ע��0 #`�`���~5��r��+��8$�^�0�F ��c8�]�.��Y���r$�!�E�m��e� ��(� ���!��P���x�(<�%"�1*"��(1/� .�I@e�rY��N2"e� ��NE�0�( -FI9G�P, !(HXL�r����BC�Ą8"/CDPV|�` �a>��0AP2��l:�u ���nL���$`A8��bS9)�`>��2�W��`1��<��n��d��@�Pu@<��Ncp0�� -�����Og�'����I��{fN4������9Qg�H �@Q��� �E!��?M� �����E�H�&!�QG�O �Ig�b%"�y^ɍ�᐀���Cy0.@P�rK>(`n͞@�F �HT6U+9���eS��X�q��q7{ߠ����$}c�TA�ZX���/d���01�5gs�R`k�6,۸��E����^�8"AT�L���w�U��/P.Ɠ�϶��C14&%ɶ��,���`���G��Hj��8ٽ��n1���eɔ��9��Y*G�r�O�"�Κ��@ ��n����Z[0M�Y�ɳs��5�}_�R��S�_�+͕b��3��ٶ t�h'�����Ř�'�ߺ�L��k4FՇ������\ɝپ��ڬ;��?�p_@R����@+�wg��O����zM�����d�\ɜEυ�۸�R4*g�*�:���oqj��s��ׯ]�T�ҥkv,e��-���l>��<Я��:��頔<��`�R��ꈂ�]{QwH[%Ƿd�:�)Ώm������z]n������+g�8����9;f{�zP��hN������9so,���1ry��ec��I��ݿ��džy2G�r�:���nͼ����jx�^�Bg�E=�m�w<y:>��u�*��`Y��������Cvf�+p��4ڃ�v��_�l���PA�Wa���ɟT��GN��ǖ?U�k��k�F:����k��*����eu�� A��g}=j��h�δƽoШ����ي"Ţ�]�����K��j�N�)1d%�+>!R�4*����P锰O��Pt��tд�N:=���Oj 7��RN�J�^��9�!!,��:3��o��8���������2���~�v�������ӿ7%���B�פ`���4�e?��$�����..�ʸߌ�X�oO�љG�7-��r8z���6���B4�)���^pk�3�G� ��Ӕ�il?P��R�a{Y�y7�/���`;��~�����M����o��ۺ�K�]�^�T*�k�}0�w{�%���ǿ0���t=�����iEl�`y-Y{Ġ4C�s<W}��ҍ�g�O{^7T��R�kmh|��쪺H�R{�W]k���*^@�g����Kme�D����.����Jl1ٷ*��ͺ@?i����������6��)�L�[w6��lϠg,F:d\&!�/����M(X=�6��*�|��yߴ~T�MG��.�:ZW��[����b�6��S�ì-��}�8B���;5�z<�0�v���Ƙ������li�Ɨ��U�W���Ҧ�伪�|Q�����|�P,�I�M �>���ȶ��L ưS�}��h+�W��'%.�a��5�����8IIỼחkg/�}�K��м،k��H��t�~]J�]�i�~��6���RY�~9z�D�&�S�!���[۵��_�����T_�1�E��@������<B0}�]�ސ���0�����l-��Y�^a�t��"�z��pS���ޞ��3�68�/ aqfʆ�g�����|7Hk�(Y�@���pq�.7Z1"���T? -z��v�D7f$�5�����^�.�N -�Pn��o�I6k��twx;�2� rl��VBk�|�����[��C²����y�;���%*4o2�� L�.�rױ������X�z��T��D�n���f6M�>��s����N�A��3c�͇��� ���p���H���$�endstream +x��T{8U��Ki�t%��K�-��kL�LJ�(�"��l+�Z����6R;��D*Di"v�2�H��P��L�8)2��t�!)S�����9�y���sֳ����}����߷��y��t�c��r%-Yt�=pEPA(D�ɤ�L+���C$��� �1<y$`�Q?;;�1p�D�8"'���#� ^�Nڀ�h9O�����0�p�!B�xz�_�u�n\_��0 ��8T���Q6a�o���|D^4A����B�j,��"9��`<!�?@ �!��������b��� +��C��p����8J�#H��#"PY�\�����Hyn�h��Q�|�'��QR�Q2KBJ����\�0�#�HES�)1�(��*XpX��|!L��-�·>�G�C"�0Z�SD��! XF���TN��PX��4����hX̷8_,������;fTC�р��\���ӿ�*�ә� ,�$�~;���� �0z���f��Y. +�P$e��o¿�@��0��A�c�᷵��b!���W�ը*��ͤ3߂���|/�䅃0HHMA���|"(L����a��|�^*�*�ZA�(|���E3�֯X��n�A�E�I�D�����_�7;;cc����`g��,����E����^ �8"�T�L���w�U�8�/PƗ�϶��C�4&%ɶ�1,���a�����Hj��X����o1���eŔ���a}�,V l��<1�SgM�Q���Zq7`X�h-�oI��������Y��]��f�\�)�+���H���_�l�2V��^�h��bt��o���]u��B��Cp��9��ͮ�Lo[Xnc��Λr��?1���G�j�5ӯ���{M�ɱ���\��L:K�tւ�"�m��s�Z�J�f��}һ0�g�I��V �]�Է8�<�x��)�J7�_��OlU�tTI�V�L.�suXIþ��+����S�i��$�G�ּ�U��������Ə��-*�U;Y����;fz�zP�xV'�������ٳo̷��6q}��US���V}sa�-�d����tUX���ڹ�-]�U� �"D.j������x�tl4:��Sv+�%ުtõ�!Y3e���-���kk�jh��Y�k�k8��$�ͱ��;?��X���7!Ǐ�2/1�-}��WӫV�����ӨӞ�U�O��Kkj�K���z���`�μzU�I��Y糔�ʅ�;Q%ޅ��������\]l�J�StB�jeR�Y+�Q됲O�OSv��pԶ�J<=���O�7K�O�J�^��9�%%�L:;�]�n�︄�������"������v�����ܺӿ�6&mw�B�ۨd���$�y?��"�����&)�J�߄���ܞ��7� or�B����ʶQќ4�9���*���gv��#������~�TW����nFo�癁6�s�#?uo�`o��÷�9�����^�V��k�y0�{���U�ǿ0���p;���"Ǽ<&x�����;lT���=��9�q����3ߧ>�,��S��6$��aVem�L%�=أ�3�mq%�?�3U�w�V��%�~H�x�V�K���]�i�f]���Z�_u�`q@�#|]W���l:��Pu`���" +�/���� +Շ�&bG��yw�y�\�KDzwJ�����YI,���~�/z�tt�C����M4��F�>B.UR��P��f<���=�O=_��`��� I�{sk��v�������c�S�d���|A� �b��j�z�,Ѷ�v �unx[��2�c�9~Cʍޚ����tU5�� +�N�c��ҹ�G�'LPQ�.��������b��95$7&���9�i(�5OP�\n�`�d��/����T�`K�\0���b5ȹ����v?��oz�v4��4�Or�6��B�,��!�N�e�k0�}2̫|�3[�b~���G�/���ЃS��fn����ݾu~F��s�1l�'�H���l��6�=���L!k��7�*���E)����Fc��N����Ԇ�~~]��]�d� �媍Uy��I���m'�QƷ�N-�ۊim����x��`]��THT5p��=cMI_�T���M����Di�%_�:�5�oT4�Y��l�bSؔ��e]}�v������t|��U�sO�/�,���_�B�'�!��"!<��;UU$�endstream endobj -2774 0 obj << +2773 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5307 0 R +/Encoding 5298 0 R /FirstChar 202 /LastChar 204 -/Widths 5308 0 R -/BaseFont /HNKRRK+Dingbats -/FontDescriptor 2772 0 R +/Widths 5299 0 R +/BaseFont /GYHXPJ+Dingbats +/FontDescriptor 2771 0 R >> endobj -2772 0 obj << +2771 0 obj << /Ascent 708 /CapHeight 708 /Descent 0 -/FontName /HNKRRK+Dingbats +/FontName /GYHXPJ+Dingbats /ItalicAngle 0 /StemV 0 /XHeight 400 /FontBBox [-1 -143 981 819] /Flags 4 /CharSet (/a150/a151/a152) -/FontFile 2773 0 R +/FontFile 2772 0 R >> endobj -5308 0 obj +5299 0 obj [788 788 788 ] endobj -5307 0 obj << +5298 0 obj << /Type /Encoding /Differences [ 0 /.notdef 202/a150/a151/a152 205/.notdef] >> endobj -5309 0 obj << +5300 0 obj << /Type /Encoding /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] >> endobj -2638 0 obj << +2639 0 obj << /Length1 1606 /Length2 14569 /Length3 532 -/Length 15415 +/Length 15414 /Filter /FlateDecode >> stream -x��wUp]˒��e1�3333X��333Z�`133�b����b����~o����&�D��]�Y+W�ʪ؛�XI�^���(ao�B����P��5vu�������1�1�Ñ��:�\,��Č\�<� �)@h`a0sssÑD�<�,�-\�T_U4�ii��i�+`���?;�-���܀6��@;�?�퍪@ ��0��D���$T� -_�@;��� @����� gi�sR���6�X�L��L-�*͙���3����4��� �at��Ep�:�Z:;�yX:̝��\����`igb�j��?v3�� 98��������d���l�d����UIL�<],�\���l�� �7�ijo��WI�����Y�9\�.�2L-�l�<�����d�7 WgK;�2�8͍�Lm���`�`�՝� �O�98�x�������`���1c�cf�����OnsK;8ƿE���������ÿ�܀N7�ꯙ��C������` -4�cT�w��@��S��O����W�_��&�j�����<�+�����������s�����1�W����������0��@�]���A����LL�0Z:KXz�M�,]L,�fF6z�����)�����G˿��gfb��������_Mg��hg������7oFYMqe ��M��R�������b�V����,�����xӳ��Y8��\��.Nf��"��0��\��8Yz�t�����w�����J�_`��L�M��U#;�?�����&�NN�����)����8�4�[]�7� �J��p������c u(mT+*����O���4|� eh���h�\<sx?��9�чiCٛ -����KJ�_��I��I{Ĩ_��q��}�SnB��I�pwRYE�� �`��� ���:�ԭ ����ዟIZC<Frj]��9E���#�����p�/��<��xXr^7D����\<A���ޑ4�G��6�B�L�#�\�������#�WX�'�����#Į�N^A�Is}�C��{�Mf�ķ՝��I2g�k��'���fKu#��n��9����.p�Ǐ�|;����"Ra�! �Aב -����_�l���捕�ո�!{��gpW�2����gc���,������d���l�� ֠�[`��(���>�,�u� ��As�ȫj��s�l�sT��d�w^s�MMS�x�����9I1T -0��-�HC���[QܓDc���� �Z�aη~�G��f7�c������]��Ǩu����G��#�pKC=ћ���χ�9i��br��^Uu�<�Q�K�?� �Fix�e�yL�W~X�d�ъ<Kv�������>�'-&22<jFj�֮0L�<���M�=0aRE4f"���Z�x��U�ҝ\�ɮk:M?:6��}:�b�5��j��a���a�Q���RMIs�Ͱ�F%�KM�֕�����ѽ #&H�+\�y�3�f w)EK�ko0���m�P�A��*x���Q���9D�������i��MJ�y�F��;1�Ŀ��,��6���@bw����w�ѥ�P���O2��t+?��яu��f�������Ё�[�t��N�\\�O �/+?� -��t�]�v��ܻi�:@���tɺňn��i�;�sz�D�팆s!�!abA�� -��C�7}�s����0�_�4T���.�R��N�����38G�6>�|[Q��(�j�{��p�5�G���<�W���>�FE'{���er������=�� ��l}�iٽ�.YK~�#�BN �ۨ����]8��/a�2qk�r������������� �Wd�9aR��BH -Pp4~��`��q%sZ����1sԶu~'.��p{<Y�F-��_��Q�� WH>S$a���w#��KyS��L�ﲄ�#�\������5�rTV��3��O�%��U�#�Y�4?8���C�����&����.4� -�&`&7o�����n�x�\��6�Ρ�5�"W��r�'�`��^Ӌ�QU�� ��_�Cv�I�h�����rPO�F#����H�E�{���5V������� �Q䩮�L -�d�B�vU)8(�1 �juƒ�OA�-�&�D�iPW�2W�q�\f!d�V�2K��:�D�Z}�����S~�0�)��6r��|� ����7���4�B%�qzRa�}rYS� ��rh�QT���8.��Tc�S�m����w�ހ(��)�6C�Sѳ�ېʇ��`3�WH(8J T��_G���=Ě5�Ԣ�>��"~��7䟔H�U�!c�@�-�#>�����Zh�Hy�k���`��3�x#����v)1�}�}�����]>o�b��������VԉT�pBM������v5."��A����b���1��,[wP�Ȗ���x��A�lB��we��^I�3�o�w�n�S[y�@(%�{�64�Z�B������ſ�(�4�� �Q�MyR��uF�5��嘼\�7~D���[�)��Gç_U�sn8��E��&�RC�^�F�Ѣ��2��/��g�/&���7Z�x#Q�����Zo����U0Ɏb��@���K��y�"y4YPk� �s���*tt@���M]L��Gx ����З��8�f:�&4���*�RhY��y|֫���4� �sf4��Pg o$��NY�gΙ���=e�@�K"|m����H@��K����fU�T����ijZw��Ci�&�zܐ���/{��>���l)�-!��=�� �aZ�"� -=��Xe�E�� �7� 9�ٰ�+N�j��Er�s��1���w<@�2'� -��o��?�l��v�^Aq�q;�n4+۴*�d0(%�N7+��@�sc�_X�.<�#mrϵ�}��@���%� Yr+�J��3q����}el�+�\�,�������| ���'L�`�:�g������-������]1A�����ȵ���' ޱJ� k\���� Z�5���P㒡Yg�$/GZ$Q�A�����u�2Z�<���r�04:�;�\o�+]�D��xt��ׂ� ��30��Ň��0��#��t����E� M�T"�?��#��е�hf��Y'�w���;��:l̒|'�Py��5����Ϝ|6I��aS�c���'FO�!�A~|�Bw &�đ�ܳ��_vر�)G���ߠD�k*M'z_��\w,Z�B�����k�7��0e���9� ����w��.�_}4�,J�6��&��9��XBvC��'��"~��U*�5eGȫT�[� ������-dfT�?�Oi��:��"���l�Ư�sؕ�ȯO]�+�O�&�Ę��y�t�z�R㚯���G]�C��2���:��O!w�\Q���� ���F�s�d,Y�t��{�:���7])���P� �sE��C�G�}��]c�=C�5�Z,����u�x -c�R�p���ȃ|>y=, ��ROG�͌ev�v�� �0�JqBf�i��`���O��"�1��\���Jz�:B4�Sv�-�uQ�Lhbe-2��,��{�J��N�)$��2S�V?��y/��?|����}�(D"�ӐK���/kP�|�ra��[�������zz�R���kΚ���o2��ɋ�k�@[��4H�hw��v�ZE�Xp�MK�W�m�9ʹ��՚�Tc��B:�g=�t�0��d3rťdc ����|ҸNk�*;9�o!�0��v�I��p��f���o_Bv0��'ܐ{��U��LW��N��$��چdC�6��|#s��Z��5[Mjwo��?�v����?��B�Z��_Ƽ�'b�0�(���L�#֕xϽ_i���-½��7kF���Z['Ncov[������6���_բ;^xc r��р�4��{�cGu�tԹ�!Z|��bo�;IQ�w<l�o��WV@��[|��w��>���/��ߛ�H��SI���~�r�Ȓ�r���9<��l�H���B�v������Dži�u�ەoh�Q��8av�^�܄��4#�~,�3 .��>E�I~�\���;��5�����~��?1)[R�����[�s�mN�q:�Ŋ�>2 ���5�!��q)Q��w~��GWkQH�O��q�x�� -G�U���<���y3��V��������>�\��+��V��A�^����i�@��Rt#Hz�ņ��9�I���X�g����81#u9���Sq0;���Q�U���q�2���o^�p�ڭ"��׆�cP��@22�>��Al2hp�h����@32V�3���ϼU��!��[X4�"��}������"X{�ծ*��Pٟ#!��`M�8\��'������4�^h"�����c�yML���&VO�.���Z� �h��]����C�����2� �B���?o{Wg< N�\�6��ƃ�Ԝ 9��#�����=iN+Y{j2�Q�{g5E�:��(��\<ï0�di_�g�l����k������L��[��M��S�7�OO�(Ğ0�"7�#�3O�Ki�.��D�i S�wך����t+��K�1M�U1�M$v�/;�҂���8����{yߨ��������sA�~�V6�+ς�*]�Q��"[�Ljd����t�?������s�mp� M%@�A���h���W���Nٹ�P�P3B�F�p�7�MC4*rW��R?H�F���X��L�}�7":�=�M�|��6X'�+��DV�rE9�� &���U�!�R��V�s����^�hh�XGF�JF�Qz�_4� 5T� ��4���ڳ�bO��o̘E� s�jTf������]�ʰ��b�l��)~nT�R�XߡNݓ.]VI��5�\Nt�N��}���ҳ�PJ �0��W����~�/��a+�ך[$�N&f�S~9�+�܂�kZ��:�F�X|CL��L�i��I�k)�/��3����������}��]Z��O�y�A���3į�Wh�e4���F���.�~,Y�t0;?� ᱥh�x�8��<��3bJ�����c��u�-�"os_N�+�M�R@������\=�*]��+37� ��unD�cWMKAӗ�G�FvEFT�/Q�B�s��0h'&O�MR -1b���-��N�}���7Q�|�Gէ�\"w�Q(r���Xj�cgF����0f���xZ4��u˩�~�p�D��}���%��-[%,L�a�T3��ָRsQ��J��Dgu��&'�x�w��B���Q-f/)�D��c�m�͇wo���]D���I�9�рMpB��|&hs��7p2-��*!P��|j�x:Dr�Jhb��8��w]ޓ(�����ֈ��I���4�"��Zx�W@���������m�E-�ǐ�����`��M_����L9A��b��v�*����o�|�I)��\�X��)M�)�S�k��P�U�(�MX��c���R��{�N�DoKD�r�%j&�����,�����N��sMB�O�/y�[D; q��.J)�A'�� �,ֈ��������r��2��Η4�l�T�7�#(d��V; ��ޓ�ϑ�o\߿�����;���U�|���5'�a�J�=�Y��������@��F���7�'I�F�6d#���D��I�Hr|P��?DlA{Q8P���e�H��r�͢�YVU;G�`@L��X��C��5,'ĩ�[-k�&�� �k�r��/�rvH�]��c�4Phn~75cA2n���3ڂ��ÝԨ¦�87��� �(L6���|b���c| �@W�h�tp�t�Ya�����F&X��y�=OO:-�d�{�Y*���~w̨�J.Ț`Nz�X8kb -~T�c&�j'����K~�4��:��&[���w����"A��h�S��wl�gv�o�te��uӗ�����7s �� Ljў�%�b�]���f���� GV3itEP���ļ��ؽ�������esC0�*��[Y9�Q��a���$h���.�T�zm{a�� ���zd�r''��?&��9���&���������3�80lu[GC�X<���.cod{�4�"TO�0���!�U�������{ sw�e�:�DvUV4 -XțoQJ���X�c'��p��D��T�2����5~!qߵ}�GR�HMM��))��cM����ʏƇa����\j�����:���Qtiy:����p@�=��[��شCJ��L�&��O����s���R�&����eIV��K�k(��n1zn+�hSM�6<y�Mހ�d��E3V, W�ƫ&m -3�l�9U,��}��&����D�y��Ȕ"��i����N������0���a�R��J�yG�YK�}m��fq##N�F�rF��+���i(}!x)�+cX[kX~��=RݮT�����2����Z{s���ʈ��ң=(;�h �g@8ɟ��HքÓ��4���qw��0��S� -�<�o�r��t�ڮ֤#�\�e_MV�am�.���Q��ع�+�� -cN���Z[:*0̞�b.���^7J�rL�O�.��e/Q������I|���K�:�ezX�#GƘ�����t���M�� ��A�FL��18���|���^�$ ����T]mRG�����`V�i/>��� -h)oNY�k��BN҆�X��qةxZez�OK����i��v]p�Mβ�v���Y�d�>���A�����Ҏ7t��D�NSv��52�L=Sy�2d1�<��1�֥ ���Y\�v�]�F�Z�k�R��v�mtf��듽OW�Z߹)�3t�3H����{���s4���ڜ[�v�9��۞t��Ł�j]=�w��>���]b��ܹ ���曵��`H?�>մ�$a0m��x�7�c��@�nx�?5�r -�x�Q���e����~�[}ml�$K.�I��N����g��D�B��M�L�"I��Yܲa��O�uW�N�*�9A���U��_���mg��:����6G�����n�Q�G���U�RԼ�yw\������Kփ"���Po���g}�"�\'��D�WND�<g��z�;��o�>��pJ�[��(�3P�"�- ��z�Y3�lreb��G�1(��X�X�����r;�֖CJ�J`~d]�e}�4^!2p�{c:%5L�v�!k1�V�_���=��6��dq���i�c����^�<���ŵ�]d4�PJ�\Sn�&�������E6���8��=���V�X[ -!����2bߛ;#Į����P*�W�9˗[X��� -k�ҁ�_�sI�F�R+7�y��qϪ{�;Q��)7i�3Mu�8���&�Ƈ����n������Y�}�p���!�پ���#Qfg�nڄ+r��ZT���Y���ޥ3��#���� -�R�ɐ4C�@��Y����MR-EIl���o�c�ή��Mڔg�/��L��|v��yE5���� �w��͍������Hbf(������1�o�r��(Ԩ��)�4�؈6��y�9�\����8������q\w�v�n�����PתZ km�^���^� W�/�/��߿�DF'�6�~���+��p�h /�������/��P�N&���a�[Yd����C�(KA�����U�=���?��0��;���L�5� O����L���p%���t_�[�Ǜ��!��`Ϛ=&i�!B���վq��!��Q�m��F^TE`E�%B(��IWg' D�4qd�Y���P����,Q�����uԃ\WNسhE��ßΪ>fH��^JFŁ�׳��M�F�0_Em�PNЍ^3,�>u7�����c9֠���Jc�f�����9�^eN��M���I��텚Jz�[ҳG��)���*�U�\�Z*�����Rx�i��S��$�����]���v��\p�7�N�AI����7�c(�h)��`ƾO'M���k���a��n�z8��%�fW]f],-�$Ū���hϢW� -�W��tO�O�St-K��hO��0"X���?�:����!�$ag�m][����wZ� �n<��v��}�+�ŀ��F� �t�b��;կ��."�n��!WdXȬ����<�ee���Ȯq�6�p��da�����\��Ya�9u���ɝ���&EE˲"�,q7fg|��p>�q90l���~y�t��8)�aF�č(�G4FX�7}U]&�g�h�|;r�9ٛ����z����Ҳ�O>��V� %=��e9�����Q�赵���^�ߥ5��WM���d�h��}��� ���C����E�"�-��������F8c.7\��r��}F�y�c�ۭ�h���, -#2��߭�L�Z�&�tޢMNl������"v?���o�a���݁)F�!˾ ̒ -v���[��w� -�-RsU�KY��?��ys�$2c@ר�:����ͪG^D������#���9�F��cj��F,�_����%��i�S1�l�:�J�[�e����+���f@*�V.*����jL�C~K�!�F�l/?��3�ֶ9����4 .I�uICM��5��tj�Tޏ�ʽ���W�$�!��Q�)n'4�džh�J�9.��V}�'*�e� ދWmT ��d`�;� -���%5��j[�n/��h�w)ә�v�]`M�=����>�)]�ɷt��IjP�� 706�FU���>��!Z9�����%_75r��ܣ�B������Cz ��Ƹ8t�,�&[m��(��D���%3Q�Ѳ��r��ٝ]����!������~��+���u�����2���P$A����"��ۂ����f�悼��m:ͮ":J^�04��i�u<�o�ݤ�|��z0I�f��Uʂq_������L1��r��+o�Mj�ݟ�O�μ_ba(p�"'9.���*2��ˉ0��7MR0��ZNɖˀ?��n#;�N�1�G�Q5����o�'�HV��ԺBux�Cm8 ;�����<o�)�����������m�Ϝ7�30���no���Y������JP����9�XK��W�Z��_.�H�X��Z�B%i�j�r#�o�U��K ��x��%W������ꑶ`FB@7氵D����K̟<%��Y!����b��:NZ��V�sˠ�EA��h4�TW��d$�_0o�ϵF��u�Σ�x���v!v�o�e߱F1���$J��͝s�����k���Ü�V�Y�8Y��� {�!��Z��y�^3�/�H�麵�������k��ε��u,�%�O�d\f����X>��aX;Ũ/Tg�6�NSf���9t7p3,�T�_�����v_�����ٌ��始�؎��\�^�}:1�E҃u6vssYR�.��ڎ7ۯB���ـ1]tSe���51�~�Q�����6��}�j6�גb������������Y -�i� �Lw`;�ҕҠ���'߀+Be<�I& ���~�n��Sq.�Jj� ����SԐ�>���̪�B�k&OB� -_��hA�2A�iC�#\J�"L��UXY^gso%��F�R� ��"��3[�0Ij��L��">]_���^I�\�$�}>Z�8>��GG��ʚrY�??�z�Wq��Ż�_q4�!�d\w~ -3�cm)�k�-* I�MnJ�7䞳"+��b1|�~=fG]z��Ԓ�I� A�-D��X���RI�z�d�Apbט^��"%I�,g� �p�w���H��M5�뉏������@���Mm�8m���F�tƲ_�=e��4�`�W2�"���K^[�c�?�,,����8���\���co"���{�b��L#If�'e�$g�|��9wj����Gj��^�����j^��0����wiX$<��+u86�O�nƷL���SDPS�l}t�0�c`E'UR��t��MKw�JC�c��Qz�b|�c�HZ/ɗ��MA��Ó)װc�s�x}���"���i�(��ni�h�YY�sg�]�e�w���ٳب~U̿�4�E��,�WD -��(lU��sc���;�P����M���E�� ���!�U`%�$oz& -Yɳ� r���3��t+���V,W �QGLV�~\���"�>\��Uj��o�ݝ��5��Z�>:���i�<�! ̬�Icw�g��y��77f�u�4�|����� }lB�&�g�1? �D�����:_Q��W]\�!1�z )#�Q�ٮ�0] -�jd��<C������V*/qAr&�L�11��d�+�[�C=�<߯g��&i�4HW�.�\�B�����R���f� ��� t-º ��y����F��h�c�������l>� -�������6�G�M�vT�XK�ṵѦ��kԒCp+|6O��K≪O=o -��F9-eIZۃ�&x�t��&���/��荺�)N9ԈS�ܫn�[�4�J:`Fy4&��cü|Ic]!0E�B'Y�$:1��QF/oTgcA�V)�3 I%��͙�?�xEX� -�%�]0�k�b�$1x������G4Ո-T���S~�{�`�F[� �gx�N8����e�1Q��Dt�ف"�o��/��;��4��e�O1�ƾ8�9��n�No ^�p�!K���г��h�^%����qJ��9�) t�kU��oڤ�Ęg��^ׯHs�¨$~�6VS��k�˗Ś>lY^�H{��)v��L*��+�mK�����8����O?�8���-��V���Q�U)��o�#��7A��������H����Gä��M�'�M�p���wz���1�If>K���ε�B�zA7���[�[X�����q�嗛�utϜ;U�����Q2���j�����b"g��K��.���&�IF���Cvr[��Խџ,���b�t�L&٧�8ű����g��t4Fob�%M/Iێ��ؕ3�)Ǽ��-����!;{���y�v����ؖI�t�\�ζ(Qi�gǗ�v|W=T �<�H�(��f�KA2 -�I�Ơ�F)�O7����̆I"S6��_K��sߩ���o��|r�TbU��O�T��*���e$,������'5� ����G?��1\P%�\EV�ЯJT��?XX���ٰ���Q�Qj�M?&�b��-�_%yw+�1�(� ��p`���ql��G{.�;s�hzӽ=A���_L���ȯZ���qZy~>��d�}3�a�P���K�����H�Q{��v;�� -ݍ�r��Z��TE���n�h�,ܪ��K��?)��@-ߖ�X�GǦ�<�C7�X+>��ƃ��p����<4"���遲 n8��Y拵��ӯXY�R��{4�g��)V�4e>��q�Y[IV����f�!6�`���1C:�$���Gγ�W���c�(e(\� -^�9̧UV�@in~�D��5���/6�{����8�G�$��Z]��MK��1�@�n݆U�5J�a�F��HT�~~�G�����V/m]�e�T�+I;�4�6T�7.��fzÀ�+B83������oլ�pp�]X�k��=��鈿r�Ns�+a�2̈�bͩ��@�F������(b�ܥ�]���X�'��̼�R�\�6�H�fS#���n���,r�H�"�k��wO\��F��2&�c½��<KWt�6��Џ�P�7F��WA�F�-�� ��o¹�<�A�qw��+4��3aH�Ƙ�!쮘;�~3W��"ƣy�ޭ��sCo}�v�m�)8��wa��[A;��da�Z�țP`P�4��>��scQ�ɉ#>���q�MzY��Zն�y�D���|я�&�ͬ��~-�Ѥ�1��|w�6�(��s�N�D�(�4{hj���D�NB����� ��|2�U|s���E�QU?k˒ *�-�������WTW�F�Ҍ���?i��)��|i7O�[�㭂)��|��A��nf����������@����5�f=�� ->V>ժ`9MT�|6��w!�!oNuR�UC6�7���ӑ+����:�rNޝ���ֹT�39�T0C�?��y�W�I�sK[�H�/�c���� -}���&�݃b����\��)c��e�����Gh��w��_m��~��R�/�>?0KV�taP$��ML����a �H�܁kF�Q��6�k�=�Yl7��Vd�}� c+���,F��%�TH��9�"g��;��Wna ��M'��n�Ǒ�ʹL���M�ɺ�]�"`-�"�C���+�|X�4�y;?)=��kr�Eu;F @ܽ���&� �A�#c�b]��~af���1+�(�������#n����������h-өʆl���S�Q>�A �"_w��u5��Ɉ{���� ۙ-����µ�;l�eZ���<��iл&c�j_�UU�_tQ��`M_+g��+��i�(��,6�FGhK¸��p� �bg{3U��=st��$��]�u0H ��n��IYvc~�F%l<�P�V���p���h ��w����5�A�Ě>�A���{Qr��rŇ�d�ܳD&j�����tY�w��V��P3_�%��p ��a% ���-��4Q/2p~�ۓġ?�\��%a7K��ř�5�t��A��P~ -��T�$�}���rs����Lmy�OY��;o-Ha������i��LS8���_G�m����0�ɛX�,'�j��{ƨhNP��ť��Ϲ�fe���R�'�0�vi������~�W��k�b�� -[�r�!������� �ȅq�&1F � F�SY�s;K���N���Fh�2V���Y��r( ����#<��1�,3��7�}� h,�kc��6cRtI��{^��H ��I؆�Th�ؔ3Cv״�5O�v$��_���f�8�NJ#pzP���rq���Y��Z� �-�/�f`m���~uC��*.�yԽ;g��#�{��5_���*i�l�2Ѷ�������$%4�F��7O5c��ֈj�%9 ,Sk,Q���O�f��9�>��e�:��*x)�'c3 -�DY���*�rL�8�?aR��.�:|&�Ø���V����%���t�Ȅ�����'�,�����CF��g~N�f^.C�+��O��dG�������ްq1&Dg�Һ�͒�8\�fP�d�?�PA ���ڎ�����:wY�){R�B��Bx���!$(#u����r���gP��S�u�G���d�>v�SVl� L���B����w[7� �o�����I���Ưw���g ��mB>�.W7+��Uz �w�6�Y����JFAu��}�u4���R�q��:���B�Nc)���g�$�ەH^�'���28p� -(^9��4 ��&�,��T�$[n��~%oD��r�}GH&����� �wp�y����Ü0�1҆�&z�]�Q��l����]���L���</��8:�Q�iSk���ȳ�����Y>��n� ���E��08(W@���P)t��2�;��u����pܔ�� n��ׅ7����S�V������R3o=5�w3���Re�!�/ӾJ�Ғ����;i��ЫPÆ�p�Y�-�M����P��9}�<����h���ƭ�LB +�6����wj��8r~\��#!<��l�X?��� ��Q�}YL�H_�k���&}Y�?/=�^LSd��]��dNPlu�Q�)��t���cjB���#l[L�D�@�7��/�p]�F��Mn�p��#�[/G0"y����k͏�OR)N���g�����w8`���e�/w��+����lF�J�S|K���4�h�����*N��rMȸ -�8�ݎ'����羚s.!xXy�٧�'eB$M�+v��m�\��]JR�%��G6!� ��4��jEF�4/>J$��k?���� ,q���o��c���嚕��h��U�+a/c*��;V~;�J���]�p���?�j�8)�Bd$qY��q��ՉhJ���[9>��l^{�W�rهj Ex6�`����X�����W�!D���d@���`���:ŀ����ISЀW�ͱ�I������p�aASb�Sy��;M�u��|�?o1٘@�*D��K^�2�M+�� �OԵ�l���t��q������ �s��V����W����������!�S�R������H�Q��������'?J��3��7gy��}.B!�)ۊ3�I������9|����V ��qẴ�7f�w~H�%��}��HD��?F����.�a��<�e��AxOwt� -�c��T1ŝx���t�r�qć��TW@��z�r���_T!ɪ2���^-�F�{�O�/EO�O��mՒ&˴�)���&֍5�(`D5����>�� ̮鎤1OR�����rfRFz"����8��h�~�;dX��P��H��f�/Iۖ]���Uc�xv4'�!��ݼz_�'i�S��5�0�n�E�g㺕S����ݍ-{�X[՟3�d0l�?�Pl�`Ce鲊0n"s&j���m9��-XV1pu�Y���zI�%�)��p�W�bP�5a�T'ϯ��W� -��QԶ��]��xl�Cm}����YA�7GK��}!�I-�� )&�W���լ}�_CՇi�`#[)��mF� ���.s3+I<�Ь�;��%Z g���"�/���L�)뗜��T�T]w�.Ac���')BintzD(�~e��Dq��N����:e�[�jmfD��pke�9�eډf���wnj��&"}�2�b�3��S\4���t�8 W0i\��/��'I�+5:��ؘ�2k��z ��I�����lmR�!�uT̘��TYP+f�@�����U�*+K靴εڜ�{�D�e_��H��6�wW��ؘ��W��g�K�P�� C�k��娾�yWHc�u5����N�T �L���(iVt���%V���i�t�rg��O�j����A�~ ��_��~�2�C��#r�I�U��Gl��G�E�N��E!�L�m;e��i?GI]O�a��Ք#�IL�>x���*ӷ���e�S��1�ݕ���8S�R�$�~K��j˸�a���"�E���|m������]E���$^m�Ca�B����im��c�Kn��p��ƧWi#��Q*�>���@_��N�-MFJ=2�\"�9*�4s���/�(/����z/��q+�s:������Q�����A�ե� �9hA��ۍ1�^��� 9�Y��}&J�}~�����S�?��;C���Od�5"Ro��oa�-ȩ���W�������@���Y�:�:*ǩ2�p��� ���������5�����lendstream +x��wUp]˒��e1�33333눙�-�,fffYL33Xl����ݯ�Mu��Ĝ��+3k��\Y{�+���9��%�]��x� +Vv&n.��r�"�f�?Fv8rrQg��������+�� 4�M,,�fnnn8r���������+�J]E�����B�&^��������@���h��h�w���ި +\-��s+[ @TQI[ZA@%������mJn&�V��9+S���`�����`�`of�Wi.��]���G��՟m@OS��_.:�#�������3��`�ll�����+{S[7�����;�M����O���0%WSg+GW���Jb���ji��Wn�?n����H3S��J���������� +�t�+� `f��hk��'�0Gg��i��X�[���ha�lftq�������N����������G�+W��93˟���r[X��1�5(����f�������t��AT���f��^�3�9���럔������{"�/H��"�����3q�U��t�����_�%�lm����?.��� ����b���l���� ����"�j�� ���`b`����E��h�d�jj 07��ӣ����f@g[+{�-�n#�����_|j�V�6�5��.��ٿ2�#�%T�5U�i��6�;J��j^���[�f���CD���C�� +�g��pp1�8����l�0�s-o��l� ��S2�߅����+���7u0�kJT]������r��9;�������_�=�@�'�nu���7�:=+õ+odRLw��|�ci�ZQA`�Co@z�w��[�W��i��v��3����}���������~���(����������1>�?�!t8�4w'�UJޠ�;Y�a���I�������5�ct!7�����S$�<=R�������?��͍�%�u�@��t���Q��Y<����:g������X�`��ݬ��º=Q$P�uP!v��q��O���J��j2��&���|G�L�v�93�_cE>���O�D0_���v����Ϗu�<~���)݅E��c���Tx�N�8uT��E�x�7QF�U�N���ӟ�]���_�ƞ�Q��xGlq��1�_���'D�o��룤KR�c�14D��0�AT%H�樑W�ȿ�����J��T�֨�.���1� +\Ac�k�b�`�S[��|��E���')��>�k��^�a��~�G��f7�c������]��Ǹu����W��#�pKS#ч���ϗ�9i��br��^Uu�<�Q�k]��)�Fix e�yL�:?�u��hE�U���w��o�j����^5#�e +kWfs�j����A��0�\�"�3��?vP��o��Ӫ����&�n��Nӏ�MDqp�N�Xg-B��Z �g�/�~�g��i�TS��g3섽QI�RӾu%�i�e~t/Ȉ R� +r��N��]Jђ�9��o6�u�d@+|��c���Y�"]p��w���<^�.%�C#��y�y�ډw�Cb׀�F �;t��Svt�(�6z��?���O�t�g����e}cGǾ3�dGt��6�6�?��?���D�����s<]z�ݰ��iZ� 48&-]�i1����rZ���^<G|;���\�`H�X��"|��Ӈ��ҽz���C����R*��M|P��y'VAD����#�n�~���VO| 5ڽ�r8�֣�p�+ED���C����P��*9 +gx�q ����Oe�>������q��%?�E!��}�Y�����3��0V���t���������neF�=���rN�T���R���0Df\IĂ��wr���m�߉˷D5ܞOֿQK�p �*��Cնv���I������f�R@ޔ%"S���`�.��c*E��cͤ����j����m��gE�$���b�8���;���"���������ͧº� ��������ƍ������ �{hn8�������>��kv�5��T�2����`��() 0Q�[�%�hL�=#��g��so���S|?^W��;0�<Օ�I���P�Ρ*�;�)Q��X2�)�E�D�H2 j�V�F=n��,���jUf��\���1Bk�;���g�?F:#�2_�V.3�$`�?����#��Rh"�D`�1N_*,��R.k +���]m1���w!�Dž1ܛ��`Lu +���@�v�n��<��v�`*zVvR��=lF� + G)���Z}T���S�Ys�@-*a�].��W���� ��:d�h�E�a�G=;ڛ]K�)�s� x���b��d8��_®%&�/@���� �����^,�0���~Պ:�*��WS��>yǀ��]͋�|x{�t�xLl4���F1�%��.0~�#ۯ�,�2�G��ؙ���;�n�S[{�@(%��12�^�B�����4Ŀ�(�4��� +��8�H�Fk���1y�4n��61��S���ƘO��$��p1�T�MD�&�l���~�EU�e<^A_����XL\��o��#�A(�.o���6�p/�<�`��_��=�0#��U�h��֨�纏�g ���Ǫ6 15J_�@�ro#?R��d�鈚��蠠%TI�B�Rǘ�.��5���Ҽ�Xϙ���B�AP��,28eA^9g�~�3l������mW�f"����"P4*�U�S�kG���i� ^�ћ�qCj�+��Z��f�����Db��os$ �i �d+���b� ��F7���6�g�R�8嫕�a��ϭ2���&:�y��9?Ȝ�+l2����8�#{�1~�y���Ѫ0jӮ��`���:ݬ��i!ta]T_xNG��k��2!����K�A��6V�.�g �6�طWgl�/�\�,�������z ���'L�`�>�g������-�������]1A�h���ȵ���' ޱJ� k^���� Z�7���R㒡�d�$/GZ&Q�C�����u�2Z�>���v�04:�;�^o�+]�D��xv��ׂ� �~�x00���E=T%`��G���Bt�)����N�D�{G4'�k%����I�W=�A pY�sܘ%�N���Z�g虡�Ϝ|6I��a[�c���'FO�!�A~|�Bw &�đ�ܳ�6@vة�)G��>��D�k*M7z_��\w(,Z�B�����k�7��0e���9� ����w��.�_}4�,J�6��&��9��XBw�*�O(�)D� ��T^kʎ�W����A�OIǡ[�̨�<f����uf�KE4;�h�_ӳ�/U�_�8��W��K���`��l ��^#�ƵX��я���\e$�'u8W?�B&�h��f��<@K���$��X>�@�l�Hu4/b�l�Q� ��6q�(?�r���:'���x}M��n�R�C���)��Nu�} +�"���Q��"�oJ=�77��1�W�6��<*� �q�����;<=ۋ����r�f�j�)��ѼN�E�X(�E�;��������b��*azl28���`h/�L��Z�8�O佰y�w��u�+[p�s����NC.�;�[��}@���υ�oI�r�6��UK%>��9k>?���>�./�)yliw#� ��U`��ifejɝ6-�_!俱�<�ƳWk�R���<����e�<.$���4���%��[�M�:���䈾�pǐ��E&�~±������} ����g�pGV�O2[�s? )�h��k� �x3��xT ��k +�l=�m2ܽ�����?���DW +jup~����!¤����3yt�XO�=�~�}���>�ެ9mTFjm�8��-�m)��7[��(6��!T�z�x��5��FCB�����َՑ�Q���h������$Eq$��5� �_Y��eo�Q�ߙZ��{����~o""�O%����]#K�˅�"����="ݿ> +)���_rF�E��n_���F�ZZ��ٵt-rj�ڌ��u���,��C�%&�)s���`�~x����WL��y��Ĥ0lmh� +��6o�3�ɷ9-��X�k���$p^.��@��U�D�W���_=1�E!�W<�'�A��bk%7-N��`O���p�[���C�jn���rA���ZE���{k�u5�Jэ ��2T"�Ԧ�[�c����Z�W�Č,��p"C<��ŷ�����?�F�V�>�>���_�y�e�k��Dx�Y���A�g����`0q�ɠ�٢�H�g��X�� _�j0�V�:��Nni�d�z���Λ��;�`��V��N��Ce��D�5a��p���N >&�˘{��H&�r^�-�51�V�X=��`L>��¸�H�D����C���O�P��A�07���yۻ��p��"��t��5�L��L�ȁ6��l�.��Is��:S������c8�)����9?�G1&�:�~�!P%K�y=+e������8�W��D�g���rupo�֝�a}ziE!��Y�s�^�{�^JCu��'����L�l�]k}� ^D�N4ҭ�*/��4iVŨ6�����K��?fD�pr@���e|���K:.��� ��-�a4Z��<:0x@�t�#FM�k�l�;Q�� �{�����*�2�F��!���'�4���1GK���G�_��:e�C}B�E�Il��L7 Ѩ�]EzK� i�v�ce�3�Iޘ�@���T/��{�p�����YIxV� �,z���^BOu�JnZ�� �g;{Y�'���c�EG�U~��&�P��x���k��� +� c5&�u�q�=�3jf Сv�+�!�7����"4���Q�bDQcs�:uO�tY,Q��Ls9��;%"�ݡBJ�ZSQD(%�Â_�nb<~o����ez����@{n�P'���_��P���s.�i�[���b� 1I~0q�����&!��P^�p�����>k➫�� �oi�B>�Y�j\��*^��C8�X�r����#����d%���D�샄ǎ�M��A��pG��\sϘ)�[Bܫ�V��I��q�p�x��c9m��p6)J��&қڀ[2s���Xt�>���|�n֥E�Z�]5-�@"�� Qu�D���Y'|r����<�7EHi(�|��Ϋ���;q�cn��K/�Tu�%;Հ�s���F�� ���b�U��1G8�҄a����i�L��-�f�u�]�E�ρ�G�\c�l��0)��S���vX�J�E�6*��Y��!^��L�A�R +���f������K�C���y6_�"}��&�� 'Cf4� ����mN��ɴ\�� ���u��P�avL(���O�H,D�uy/��Z���/X#�Z�U�'��`�HJj�ށ�S��ƿ��Y��CSR��B�76�?&B2��_��u�L��/Z�y�'�̢r�c�fG�4��kBL��i�C�W9�\6eU�6��çK ��u>M=�-,a:�!�����F@�l�d��k;y��5 5P<���]n�$�A_�(���8(�D�\#����� �9a�d�;_Ҋ�uV��Ȏ��-�[�4v�L.?G�q}��#��C���KW��:��\�(�-*���8. +}o<���6W�D5���ݸ ?I�5t �n'"��)�HrxF�ビu��#�`:�'�.FZlo��n ϲ��;��b�5� +$7�ůa�8!N%�kY�6 Vi_�����^xɗ�C+�{�릁Bsp��q^G�і�u.����ǡ�_aJ�����d����'�O;9�Atu��I��Kw��l/�lif�պZ�;����ӒO6{���R��tnjz�䂬 6ᤇ���&��G�8E`ҮvR�9�ʼ�'OC?p���c��� +�́x I*D �V<�A�|��{f7��DWT_7}yZXH�q��t��p��^�.�ە��h�Iz�p�e5����EW��>+I��n����+؉m.�^�0S���>����u\��QS'A��wM����o���n�ݭ��'C��89�k�y0�!<�=5��_68GgN�W����ȁa��:���ų:��2�F�� A+/!2P��Cк2Ze��yx|��0wg^��cOdWeE��E��������:&qb� �M�^N�(shL��+^'[��]�7�|$5���D/ߒ�\>�4�~u~4>+5fh��R3�� d�Q]G�5��K+��Q�'��|>����R���ʝ'\}4�G~t�x�l����:5Q%އ�(+�B�/�ڬ_�p4��s[)D�j����+m��($�~.��b �eL�14^5�P��g�Ωb�DP�����L�'��æG���Nc7�~�w���W���~��Q����s��J&��T��;��*8�X��k�5�q�7��0��^�,�mBC��KiS��Z��#6�����v��7�� ��܀� �Ƈ�uWFO��A�G1>�9X�T$F�&��h���������U�����b_�8��}#���蘦[<�v�&��.�j�J�k�tiF��!�\9�Ws�����I�a�ds�����Q��c����u�W,{��d� @fN��}'\���.��r9"0Ɣ?�>�Ʒ]��L�h��4�`r͞�9�N����z8'iP�n��j�r.��X^���eh{� ���U`Kys�j]��n?r�Lĺ���N��*��}ZR�D�p��O۷趫��m�p�U氃7_��&+��' ��� �(~�Nܸ���&�-p�:�x }���f��;�!���)%�a��.m8݆�8͂�*�3�&�0��*^��(�l�3�o]��}�����M���Υ��A�(��������]��$���*��ϙ|���M,�T������ݭ}�2�����lx5ڴج�C��Q����M$ �i��s�Q�N��f�g\�SC,����QeX{~yQf�Ilݯq�'���ƶM��B�d��Dx��y�oI�0,4�>��D���l^�-�9�4껊wB�q� z(���ZN���m;CN�!���9"ǧ�wS�Z8?ǭ�����ϻ���N��(?��^��e7�`|���x60�,��u��M�~�Ld�s���/,x�#~��v�[j�d������=� ���'Q�5s�!gP&&��Np�p�⍍���Pi�8�*-�3nm9������G֥ ^�GO�U0"��sRäj�|0�6�hu����#>`S�Zw�!��m1����u���o_\��UF3����1�fh�$��'�Bd< ��)���XLmUj���"���-� ��3B��hi���{���|��+�^���Q?��ޟK�|0�Z�i�[]�{V�3߉*��A�IK�i������?�(7>\�&��~��/��b�{���q�����G�2;�w�&<X���[��F�\��jd���.�A\_�����q��+U�I3�l�$�;�p��o�n�$ղQ��~�y�&�2���:�oҦ<�|1�eR4�o��+��dMn��ln�t2���uB3GAU ��x�0�i[���n$E�F�]�H��9�F� ���;o�y��\l�Ł7�,�Y��봇u���_=��V�nXk������Vn���~1xq�7��}&2:��a�����]�DŽS�@Kx!X�dG���7~����v2Q�8O����"���g��2EY +ʬNf� +����D�Y6��yd�pf*�!�x���H�5g��֗+Y�G��R��!�<_�i�{��9I����pX�'�IҨu��h�EUV�Z"�bi�tuv�@�JW`ƞ���E)��b0������{G=�ueЄ��v��m�1���c�tف٥dTx@={�{��4m� +�U�F ���5��"�Sw��1�9|9�S iJ�4�l&����U6�$Ah��(9�/��A���g�%={�盂+{��y��կ���:].�`������<��+�+?���_�n'�ƀ�Wz3�����4۫*|3>�����I�f��tҴ�ɀ��p�vKv�ٖ������YRov�e���2~AR��jm��,z���}��~H��t�E���;���� +c��*��C�c��-Nv��ѵ%�\n�}�5�0�����j'{ؗ�bYXh�h��A7,v���ȾS� +-�"����;]rE��̊�|����(k�ư<Ev�#����|%KӜ���ǐ�� +Wͩ#~�O<���1)*Z��g���1;�&��Mʁ`C.7��3��L��I�3�%�D �<�1¢���1�<pD��ۓ[���|}}�{���� +jO.-����m��P�_�[��GX ����^[��_�U��]Z��q���O=@F��~X�G�O��0���\]T(Bے��[�z8m�3�rǥ�.\�gt���;ּݺ�6�Ϣ0&������n:M�#���^�8i�z:+B`�c���FFA�.��blQ���,�`�+�a�5�z�p�25Wu��%��P��<�7'�A"03t� +o���.q�z�E����1�,�/�SitK�0����m������_2��7>�˖�3���}�Z�A����L l��j墢]����Ԏ1�t�l��f���@�?�q�bm[�,L\@���ڔ4Դ9�PkI��K��X��+�a�zEKB���%��~B�ql�F���z�c�G|�2X���x�F��ZM��c�0��TR�ܭ�5��r9�{�2�b��ք�����_��G�|K7|���1��r�a{�ih\���;����a�V��\�sW#���=�8 �p�Ho��1��P�j��C7���h��!��K]@�{�_2�-�n{~*�������y�<ߜ�o�WZ�IN_�{+��_f�S���IP;�y$��m궠j��c�ٶ� /!w��W������At�4b�f��[}7i_�>LD����n��`�%�����=2S�뼜��J��e�Z�u�'�S��X +���I�K(�����r"q�MӔ�0��S��2�����θ�ô�FiTMkm���� ��(0�nP��n�P�;/�H�����p�<�[Db�d#"�a1��kx_M�6�g����bg���A�,W���`%�S<b�]\m����W��4. k$�z��F-k����W�̸ȷЪ�⥍�RB<��+X���cy�I[0#!�s�Z�[�@�%�O���լ� +J�F���A1�`'�B@k�eP�"���R4~�+ l2��/�7��ڣ{ͺ{��i�T|y���7HA��X#����c%R�.���x�?���k���Ü�V�]�8Y��� {�!��Z��y�Y3�/�L��u� ������k��εs��,�%�O�d\f����X>���aX;Ũ/�`�6�NSf���=�0t7*�T�_q�:ù'��� +M��)����_e����'���tb\��'�l��沤�}l�=o��"*?�!c8���~-qkb�'�>p� �l��� +�|ο%�TAEr7%�Kͫ���(� ����v��+�Ai�o�!W��x�L�e��4��Ny��:\��&��\�7�(�!�}g�}S5�U�yiwԅ��L2�$�42P�j�т9d�T���F��&E�밲����JDw�ܥdSP�E��g��a����69E|����qk�2�ҹLHPo�|�8�q|RϏ�@�7�5�8���~�5$�uq��Ż�_q4���d\w� +3cm)�k�-* IFM�J�7�^�"+��b1|��=�G]�_K�%9ړ���Z�2���*����/��,����n1���EJ��Y.L���:1�a�x���j6�Q?�8@a�0A �:�q:�B�� �醌e��{�J�wi���6�,e�EV;����Ǿ��$>#[��rs�#�����Th�M� pd3�$�}�����M"8�J�ܩc����}2~BWT3zC�y11��BF�ޥi������`x?)��2���NAM������|���`TI�7��W�6-݃* ���G�͚�鎁#i�l$_>�6a�O�\Ӟ=��}�����p�S0� ��6��U��f#Dd��w�+:���qR���b���"��e��*Y*���+|Qت�����[�w��d[I��|y+�>+*���y{C��J�i��L��W{=�DS1#fF�V= �X�@����[��D���qaE}�*4���DV��7�; ��k�-(��}tl�7��yP#�YC�0��T����Q���o���44it�:Y?�����LY�.c~6��6 �!�u�Q��W]]�!1�z )#�Qخ�0]�jd�˼�Z#�;텭T^��Lb�qcb��/ȄV���{�y�_��M��i���]8d�9�~3B}.̥�ϟ�L�߽�Z�uE:����Fǰ ��Kǵ��|(*!}q���m�ܛH��⹖��sk�C�Pר-��^�l�����U�z�H�2r2Z&ʒ���M�\�* ��LD�_0�%�u#�W�r���W���i&�tČ"�lL 2���y��ƺB`���N� +Itb���^ި�Ƃ8�R.gH�JX�3�����*���K�`$�ϼ��7HbȂ��g���h�;�` ��x���j�:�����L�pFAE���c�<����{D�ߘ�_`gw ixg�b�bxM�p"s�51�e��@�;����C�n�� �g=��(�J��S���+�-r�S@�x��X�ߴIO) +��1ό��n�Hs�¨$�Ƕ�S��k��˗�Z�lY�H{��)���L*>�+�m+O�����8����OC�8Ӧ�-��v�#��Q�U)���#��/A�������X�����GӴ��M�'�M�p���Oz����$3��^�r�ZA�A��;P�p�-�=,�\K\�$S���M���:�WΝ*D����(�U���j�����b"��W+��.���&�IF���Cvr;���Խџ,��Ab�t�L�٧�8ű:�!�Zg��t�4�ob�%M/I�N�6ؕ3)Ǽ��-V�����;{�F�y������ؖI�t�\�ζ(Qi�WǗ�v|7}T �<�H�(��f�kA2 +�%I���F)�Ow����̆I"3]6�@?+��s�����o��|r�TbU��OǁT��*���e$,��V���'5n ���G?�]0�P%��DV�ЯJT�F?XX���ٰ���Q�Qj��>&�b��-5^%yw+�1�(� ��q`��5q���G{.�;s�hz�}�@���_L���ȯZ���q�y��Z�d�}3�a�P��-J�����H�Q{��v;�� +=L�r��Z��TE����m�j�,�j��K��?)��@�ޖ�X�GǦ�<�C7��(>��ƃ��p����:4&���鉲 n4��Y懵��ӯXY�R��w4�g��)V�4e1��q�U[IV�n���l��"�#ḧNc�4������q��,J +W{��d�i�U)H���7�e{ g����瞀��.�5��6 �V�4T��1��b�C�c��[�a�f�~X����G4ս���Q/z�v����[G�U~Y>�J�'�U� �����^3��J����/�*�E5� a�Z�EϠt:⯜��\�JX�sb�X*(Х��-�5 +��X�w){��#��Ig-3��T<� 9R���H�4��4�ܾ�_�<�h��' ���͢uq��O�y�1��^@��+�X��?�ljY���{Z���v#����46����j��̹��^�`ϙ0$zcL ��vW,�G�Y(LZ�Ѽf�V�m�湣�>q;�6��j��h�����|��0w-Q�M(0�u�wb��ɹ�(�������&�,�{�j[h�<l"؉�DL��GQ��a�m�n��h���v��i�\]�=~'p&O\�?45^Wb"]'!�w +ZV߄ba>Y�*�9k��J��j��eI�Jی�F^��+��+E�pmƋ�}ʟ����~\���'뀇-��V���E��Ġ�y73XWW}msN������_�Y�������+�jU��&*}>���Ő��:)�!��B�����y�A�A@�t='��� @S�u)U�L13�P�v�!F�Uk��ܒ��<R�x����B_�q��i����#")�&vΘ�r�?+����*�)�W����$F��T�ϯ�ʒ�3[ɮs�r��1Es\�.�"w��u��M��wO~ۏ���U���y_p���|�1�QD�g�!Rho��Y��N��[XC���r�Ia?6�[s�q�r.S��dz�n�.sצXK���Q���K9V��F`��OJ����lDQݏQw︼h� {%�g�Ș�YW+�_��s�`� +2Jh`>%g����[���`/�)�|�2:Z�t��!��6s�Tg��GdXC�����ݽs]�?c:���鬯�|�nfK*�c}�p���l��a#!�>|������}UU�]Bv;X�z�2~%r?m%�������mIwn�QW��lo����W��6���2���.��8��C� )�n��ҨDí�G]��*�����-�����9\�"6b��5��X��;�<?r/JNW����A�{V���D ���CԐ����~��C¸j�v��n_�}YI�N�[���T��(�� <?��I�0��\.�LŒ���%~��LK� ����}(?��a�l쌾K�QM�9O=�5SG��SV������GR��Թ#����@�7w�*s���Q;�B���y�f�-��8��&#cŞ1*�T5yqi��s� �Y��{���� *L�F��6Bk�(뚲&�~�6z\k��(�=r���5ra��I��BB{��{�&TE6����{�� C����9��#g�g!x� +�i�����ϯe���L����D_`K�����/F��]����w�<R�@�a����w6�̈�--t��ɸ�'Dzq��8N����>T�,�ł\\�.a���65��AK�9X[��*�ݐ�㳊kzu��@����x*E�Og[]%���I&��*�w�b�1���֨P���V�4�Q �$��Uj��zy��j6ș���|�\�W�=p;�oE�dlFA�(��vVE?�i��'L +�ѥ[�O�$��ES{^�j�1xy��9ٜ��P �0�d��eٲ|�6sȸ��G�̟������u�tE#��龓�h�1�^U��6�!Ɣ��NZo�Y�D����j�,��*�:����[L=�s�ş�'e/�*�g�B�2R�����'�i)z��?��YWx䌞Hl�cG�1eŶa�����/��{��eq����8}+�]��jnT�"^?Iwi�%u ��AX�x����o(��M�چ�hLU2��s髬���畲��?���w��wKq�F �ޮ�@��?A������P@��Q_�Ip4)g��(��&�q��+� B�S}8A2.-�tNh^x�c����N��a��6�6�����Eg���U�B]�e�`�5��y�^��a�,�J�H�Z�-�DE��D�E�����w�^��(�׆�A�R^��J��f��i�am��' ��A��Ӧ\�Op�P4�.���o�*����og5�Z�{�q���̗*k I��U��Vd8?����I#��^�6$shͣ��lC9}�v�bt-�����G{O�?�5o}f�Xu0x���S�Ǒ��2U �ѭf��� o�GL1ގ����`2D�Z``_��ϵ��x���b�"�a%��%�p�c��k�KOa��[, �S����`�b�&���!�}!��2#0Ulrτ�d��z9��ۄ�hM�w^kq�q�Jqr�?�k��W���+%�,�b�{�\a�f3*W:W��[��N��aG~�~�vq�}�$�kB�Mp0-�I�v<��_$>�Ղs ��ڻ�!�>!8"�hb�D��n[��g�R�"/a��>�)1M'��q?W+2 +��x��P"YX��A�lt��a��U�A��K�-���v/E;���R^ 3����yTr���Z�3�'�QV�Iq"c�˪����ծND3|��*��!�ګ�ZO��>T+(³��_�/�j}���}wĽ�(���-% +����@�lՙ(����T-����oN�M�$���������G�i�;g���&�y��&��%P�:�]�*�Y o�X9F����d�����W�������~�/Դ�Ն.����NW?�<��x�P��:��ܗ��s6GB�:���,����]pg��8�Qr�I���8{�Cv��s +�O�V��M:���� U���o6gpvj��ץ��1���C�.e��۴G"���0ү�|v ������� �{��{Ux�����)��[�^ޠۖ��#>LN���w4B�S�@�H�� +IV�����k�4��{}[~)z�~Tm��4Y��Oa� �0�n�)G#���45��L`�Mw$��}�"~����3�2�9u$ �y�D��!ÚF�rNF*�y�~Iڵ�R����Ƴ�9X� !�>���[� ?I�Z�����w;,*=�ԭ������nl9(�ک��� �a#���b+��U�.�(�&2g�v`~��ю����eW�Ȇe+;����Q�͈¤G|�(��'�Q�Lu����xϙ����Em��ؕ��綀4��-o�����D�p��r~�D�"��ߐb�{U���������L3��JDo3�lp�Tw��YI⁷��U>Yg/�9�u���|��_db�X���E॒�Ұ�y�p ��>IJs��C� ���Vf��MWph��̀�Sf��pɠV�fF4� �VvY [��h�X�0���]�Im"��( 3O)����:��E� 1(��C��p����*/�L�s��Q�㿌��.���iԐm���<��&�&��]GŌYKJ��bFi�m0�hX������I�ܪ-h^�@�_��o�4�`3A�ve~��Y<��#}>����X!����J]���/G��ΧB������^v�l�JXw"�?GI�r��5/M.�j�=Lg�3�;��b�V�D�%�L=�|��V��h]H��eJ$NT-����U��2$u��3���t��F��%yt=M���vSN��&1�����Z�L�Ɔ����NyKP���vW�V�w�L!J��d�-�«-�z��뀩�d0�Κ�� ,n��v �x�UO�!K�W*��o��/���y��ޥ���CE�����wz�<��^:Q��)��@�s�稬�,���D��0��b��|��[���%�>6��o}��u�����.�����D�����흿��ϙې���g����O��̝<��S�突A,�H�DZ3R!���?�ߒ�jl�|E��JZ.����W{k]RgP'�8U������?`j4vvu�3v���?��~endstream endobj -2639 0 obj << +2640 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 38 /LastChar 122 -/Widths 5310 0 R -/BaseFont /KXEBQW+NimbusMonL-Bold -/FontDescriptor 2637 0 R +/Widths 5301 0 R +/BaseFont /FSMWRU+NimbusMonL-Bold +/FontDescriptor 2638 0 R >> endobj -2637 0 obj << +2638 0 obj << /Ascent 623 /CapHeight 552 /Descent -126 -/FontName /KXEBQW+NimbusMonL-Bold +/FontName /FSMWRU+NimbusMonL-Bold /ItalicAngle 0 /StemV 101 /XHeight 439 /FontBBox [-43 -278 681 871] /Flags 4 /CharSet (/ampersand/asterisk/hyphen/period/slash/zero/one/two/five/eight/colon/less/equal/greater/A/B/C/D/G/I/L/M/N/P/S/U/Z/underscore/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) -/FontFile 2638 0 R +/FontFile 2639 0 R >> endobj -5310 0 obj +5301 0 obj [600 0 0 0 600 0 0 600 600 600 600 600 600 0 0 600 0 0 600 0 600 0 600 600 600 0 0 600 600 600 600 0 0 600 0 600 0 0 600 600 600 0 600 0 0 600 0 600 0 0 0 0 600 0 0 0 0 600 0 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] endobj -2401 0 obj << +2402 0 obj << /Length1 1630 /Length2 8814 /Length3 532 @@ -22532,7 +22457,7 @@ x �w��zؽb�d�'g'3G��3�5�����u:[�8���z��WOs��˟���^i^Qg� �tw���09�ۚx��~%�w�U��l�� �@KGs[���+�+����g���ҽ�����_ѐ�������ւ���5���knK��ϰȀ- �6ֿ��.���\��mퟙ�{-������-�X!ί)��3���}"�$���o��'�j�_���<�+�����������}��^o@�瞱5q��k\��W����� �WG-����߿�2�&��" �|������o3�I -�4W9�Y,Ll_��/���h_��k[_�XY�S��ـ����7��k��r�U<������G�����S�u��=쁀�H���1���11�;���� ����������7��a��Z�����cefee�����ϕ���H�� �&G��l�:l�i���8:�j���m���t�!-�A�>Y���:��e����f{�-ؾ�^� Ͽ +�4W9�Y,Ll_��/���h_��k[_�XY�S��ـ����7��k��r�U<���G%U)�����S�u��=쁀�H���1���11�;���� ����������7��a��Z�����cefee�����ϕ���H�� �&G��l�:l�i���8:�j���m���t�!-�A�>Y���:��e����f{�-ؾ�^� Ͽ ��/%l�����:��a����c���y[�~g�ז�k�4�ȇ��'s����a'�Ű5�H+�����.7���ƨ��a��x;�#���?�k��;�[{4_��/8 PX5��G���w�4�Ã��^��l2d}A�p�A���w�"��(� g��!����6��8�zH��;��,G�NC��۷#�;C��mQb��B��M�5N{:����j��M�/"�w�M�<�";� ����\o}�+m.��d6B�<�?[�9�oE��oI���?�ʩ����a�r�\lRY������Z}�Ta�Js�{�O� �]��D�B�-nŚ��eϷ���D�+��T��Av_��h������p�3���S��N�0���K;�l]���i/͔gZ�7�@��p܌��N��^rr�6����Kw]_>���$�l+[�A9�z�ؾD^�ՃC��(eG,�/�^��nۢ'���n�泘!�������"�6�^�x4����қ#��)�j�������~d��������iDث>D� �T��5����pRAl��[3��~7Y��#�`� �8T�r]�[qO.Ru(�T����2�~�uj`߮�̂��Z`��R����3��gx�=z�eDi�W���L�~�����(��v�/nuH�h��_m�tRR��4T��e�&�!*���њ<� �?�dY�~�� 3�a~�>⬵��U�����g�ː�\���%��%��).�p���@�?�����mUD�:�;�0Н��Q����\7��ӝ/R�Jt;+w��� )�'�R#���tL��`\� �s2�Zc.5D @@ -22557,35 +22482,35 @@ Ot �_7I��Y���\��1qy��X^3�˷sb�T��+�!���E�L��|�]����N��d���I#���� �"JT��.�=�FX �F#�k$�<�lӵ#C6�{Xf�-Yo��a1dg��S�-���fFe������n��p*�7����3x��)2hi�����e{d�� ~�D �#,7�k.�nM˹s��p4���̆'p�"�隰1��IK-U~?>Ғ\Rsm�%984�s���g�A�$�k��m`~Z/��k�me�v����_�'��!.�3��\q�~)S`.��s�7c�6� ��@�m]�%��H �40�Ty*��i���+j��(V�|`���N37��t���mh��������kF�̺n���Ø�$m�@8�#�dk�:~�m��),���.�b�����`/����k�N?5;�2�w��'�� ���������0&���C��*རX�>s {�����n~���Β��q�ߏ���#��>H�Ţ@�}��SG�L��.^�~�U�M�pR��8�06�x�!�*R:f۟VM�rc����Eq��2a���=�wR���v�Q�?�Z�͖Ho���0kV-b2�r�Nk-��Jdv�PG���Y��q��@�O��"i������@O�C��c�X��,�C�3�w�Xũ6�1%�y�1�Bk@@7��^�����DX��ԟ��c���/�'�W����aH;�ď�'�JKY#�h��!;�ep_p;��W�aC6�I-ڊnU:�_n��{ "L�*z5�y�����x�������'>���P�d��V5�ޢft�Uek\�n WVI�;iD����S��_;E�1�5��z�������mYHYI£}'Smjj�ߒK:_�P��F�qC �Y����{y��$�rj2D:������ {�i�U1�;w�~�3?�����,���ol��w��,9O����[a[C�T�M��4� �N���u��� s�)��#���XY�-�]ZWu������ӗ��-:YؽQ��j4��,���F?�߭�\EÂp��G��$��|Q�ό�s��V�ۉ��Ixڥ��ء$�����!W�����mw(��w�����8����mRp�)_�һ��r���+%�4#�t�>NF�4Hǁ<�g~Y�����\(� NW�B|�3j[�Q��ٖ����e���%��ST���/���ZPa �R�zU*��#&,�\$�9gŝ��.����1J�N�A,��.���ۍ�r�l���9���%:���]�w1ǂ�mw��G�9�S�a���;��iCE2^���)·"� ���P�v�<��&��!��90d�s3B�.��v���`����]� ����y��!}j�N����|<��l}F��S�� �l<y8����P�A�8d�|>��3�øƒ�p���n+)�S-Z�:)�8�BK�Dh5cǁ�G��dqg����.HxJ7ERWA_L�\�~�?��VǾ���-x�)r�HP�Z�c���n�U E�v��Ci��{Vy/gSbl�@�ћ�W�����8��n��E`S��^I�Lb�A$E�����4,Yj�c�ie��^K>C�.�e�{����`. ��B�b�Qg�<�r;�a�H��r*n���� �6�)9H+����v�A�n�x� -[���`�S,�M��g�խ����L����0I0Rq�<���rּ<��a0�<r�H1\����"�C>���Eq٬#/;�q[9��_�}�-�vz��=�>�M��s?��QB�]��o��\��4��e��>I�|f�J!ϳ�7D@T�'�TL�y+����� �� 0��8:C�Lm���y��endstream +[���`�S,�M��g�խ����L����0I0Rq�<���rּ<��a0�<r�H1\����"�C>���Eq٬#/;�q[9��_�}�-�vz��=�>�M��s?��QB�]��o��\��4��e��>I�|f�J!ϳ�7D@T�'�TL�y+����� �� 0��8:C�Lm��GC��endstream endobj -2402 0 obj << +2403 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 36 /LastChar 121 -/Widths 5311 0 R -/BaseFont /INFKPH+NimbusMonL-ReguObli -/FontDescriptor 2400 0 R +/Widths 5302 0 R +/BaseFont /LIHORF+NimbusMonL-ReguObli +/FontDescriptor 2401 0 R >> endobj -2400 0 obj << +2401 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /INFKPH+NimbusMonL-ReguObli +/FontName /LIHORF+NimbusMonL-ReguObli /ItalicAngle -12 /StemV 43 /XHeight 426 /FontBBox [-61 -237 774 811] /Flags 4 /CharSet (/dollar/quoteright/parenleft/parenright/comma/period/O/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/y) -/FontFile 2401 0 R +/FontFile 2402 0 R >> endobj -5311 0 obj +5302 0 obj [600 0 0 600 600 600 0 0 600 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 0 600 ] endobj -2103 0 obj << +2104 0 obj << /Length1 1199 /Length2 8891 /Length3 544 @@ -22597,7 +22522,7 @@ x ������ �>3@�� ���v0���cfee���KPP`��/ v����n`{��lO�`(�T��_ �����˟�L�..�B���s����p2?+���9�!p����� zj̓��4���ܡ�Al���g����j�� V��g�� �?6+��� -��N��Ț�OjOG�_ ��9��������;�}m ������w�z�����apq,m@.���ӑ������c�j����9�@.����߫�O�k ��{��]������ו�c�����)%{�e����s��������o���/-��j����V�(�@�-=i�����p�Y0�5�̀�ɯs��L�#c �i��\;^���!��r���)��I�O�8T�T��8���Q�6���ߎz�\���7�vI��=����������R��d�����ܖ]P����� +��N��Ț�OjOG�_ ��9��������;�}m ������w�z�����apq,m@.���ӑ������c�j����9�@.����߫�O�k ��{��]�����֓5�b�����)%{�e����s��������o���/-��j����V�(�@�-=i�����p�Y0�5�̀�ɯs��L�#c �i��\;^���!��r���)��I�O�8T�T��8���Q�6���ߎz�\���7�vI��=����������R��d�����ܖ]P����� ���/L��d;;?�_j�_Ie� �� � ���4��p��� W8�I��N�)�_{��S�`���8 ��V������pg���y���ѕ�#�q��[�Ԯ��7�R �ư�X��*2bX,�l4����T>A(>�B�G���Ћ��L���(���]iϯ �4%W�bң��a0"����w��Q)�Jr���w��o�����4�Pg�e��A�ɘJ��7�J����em�f�s�RX|�3a�.�'E�B��ܷ��-���A�>%���Kl�5zL��A�R�)��������%�ݹ�ŹG���٣u��\�Tw��X��m�(DO*�xC��O���K�W�OD�V*��[;�"�8�4��"9ՉJ���@���s���|�����;�^����}���/�/�;� �h\�I��~b�\�_KYANء��[���:��V��Մ�F`Y�Wצt�z������$���7��a�c�� @@ -22638,35 +22563,35 @@ w �&��a��5'RV���3f���I��@�X�����h9�y����J��235��Z\�{�^�Dbyy/L�Ky��v!F��1d�?�������:��~y����MQ�T�����J����-���P6@�3�E�U�Ɋ�s��"�y0�O2o%b�H����*��M�)�ȉzS|��!d8�u�����s��{ ��FE�Z"r�f#���f���]?߭c��:_ "��3����%��3�������Z�SqKk��$Ҙ�md����,-�h{ٻ}����!�C�O.Ӕ~�x�F:1�X|愎ˋ7��?a�<��dRby7t��N�=�����hSxDn��D�;�Y��;3��d�O����q���[x�g|4��4�q�ӹ�������$�V��BYp'oPB(��g���{���$�$0��K�T��+DZ���*��<Β�?Y�ݭ�^��̱���h��̍9#���6��i�hSa����ʾ[���ڷf�Ւ�$K�܇�������Ղ$�Tj�f�����o6�0�r����S>+�%�~���(� �.��XRk����y��nX����l��Z�?6'�,��ɴ6ܱ,=��(=>%[KC8C��@� �j�U� ���Ϫ��nQ��t6���:�I���ؔP�Ɣ��kaQ��kO����g -�4b�X1p��FgrPʡ�ӫ���9��m�Y����1eu�2;�˟��~D��ۿ�H7m��H�_~��y)BnWXm%x��>�H�y��-N�rZ�UY�>�:���}� ������_~0�?�� {�9��`������]`�?����_c-3�endstream +�4b�X1p��FgrPʡ�ӫ���9��m�Y����1eu�2;�˟��~D��ۿ�H7m��H�_~��y)BnWXm%x��>�H�y��-N�rZ�UY�>�:���}� ������_~0�?�� {�9��`������]`�?����_�M3�endstream endobj -2104 0 obj << +2105 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 122 -/Widths 5312 0 R -/BaseFont /EBXVFF+NimbusSanL-ReguItal -/FontDescriptor 2102 0 R +/Widths 5303 0 R +/BaseFont /CSWEYR+NimbusSanL-ReguItal +/FontDescriptor 2103 0 R >> endobj -2102 0 obj << +2103 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /EBXVFF+NimbusSanL-ReguItal +/FontName /CSWEYR+NimbusSanL-ReguItal /ItalicAngle -12 /StemV 88 /XHeight 523 /FontBBox [-178 -284 1108 953] /Flags 4 /CharSet (/fi/quoteright/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/A/B/C/D/G/K/L/M/N/O/P/Q/R/S/T/U/W/underscore/a/b/c/d/e/f/g/h/i/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) -/FontFile 2103 0 R +/FontFile 2104 0 R >> endobj -5312 0 obj +5303 0 obj [500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 222 0 0 0 0 0 333 278 0 556 556 556 556 556 556 556 556 556 556 0 0 0 0 0 0 0 667 667 722 722 0 0 778 0 0 0 667 556 833 722 778 667 778 722 667 611 722 0 944 0 0 0 0 0 0 0 556 0 556 556 500 556 556 278 556 556 222 0 0 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 ] endobj -2087 0 obj << +2088 0 obj << /Length1 1166 /Length2 11097 /Length3 544 @@ -22674,77 +22599,77 @@ endobj /Filter /FlateDecode >> stream -x��{U\�_�%�Npwwwwww -(����ww �'��;���}�{n���y��T=|笵���^g�z+ -u- kgK��3����.H� -t��pײ�)�hl=���<H44�@�#�?�?���tI[����v�*n�������<��\�tv$Ww:9�����7G �%�l�����<\\��kM������]���Oe���\���� hk&����c`bb��! @n���\�����Yx�]���GB���)���Xuk ��v����`A66���݆��1�)Td-�����;�_�I��V��a�w�@�^ ���m� 뿵d��¦�z���+���/��&�a�d`�$�������J������l���sqv!��pt�m�H~���r�����'������h&���9����6߫X�݀��F�����}��2�s��� G���Z8��44%t����FIJ:��d���&g����3)x��]�^�Ç��������_� - gr�������� ps�3���c�����Z���5:��<���σ���������9d=�� -��� ��;�2�_�8Z��G�����x�����������h%�u��M@wY�7�Z�������e��C���;�L�����o����pw�s�� �K)�r��lɵ��������_�����{�v@������@��`����l%�ɾ�S�S����w���:�=ȸ�b!wY�U�*����Ss��'�Dk��U�!��db��${Xᱰð���X��UQ��g�ٿ&���K���_RT=ЈJMai�;��<����V� �-1྄\��;h�-��J�ۇD�#+���>�)"��=b��`�/. I��.��!��,�*�{��8_�*�l^��]�y�L\֙��ɣ[��[bV��0ᒇ�c��ֱ�v��j��>�=��� K�h��_�)S�5��,.�?�~U�����դ��m�gF6���� ���n{��ѓH���C3����#����9T�,�bӃ?r.圥M -�4� �~Pה���ێ�����t���ױ�0�����ޝ�3��>�璡��gC�h�gg]C������Z�dkM��< -�8"�^9#��*� 2Oy��(|A���Ib k���&�el2�AϾ���MS�B�2��gO1�J����x,���3���xq�J�q��BA��?h��������<B��&��g4[�4�'��}x�����,UN۰���Um��@#��}���3����_�|��A��H�?Ȗ��s�4�h�F�Q� ���Xou`xe WY��ne�� ��x;5Uy��Rhr.I,j��:$+��P��È;��"�,��#�U��Vͺ]���D#t�F��5!4��'[_J�Gu��#��f���[;��h"���EU�@�2 P�l�J��_$"�ʊ��}G�J���`]�b�z����%Ļ+ =�_����Έ�ak5;��;�c��w���k��q"}9T{;=���Ts��1��IF��Iķ�9ӳ�qɋR(��n���:}(#����Z�I��q�qm����DN!������5ɜ�1�V �0m�ҡ��u�� ���~Sz"��?�of��k��P�{�0�F���B��X�2Ǡb%���(���*"#���+����9��'�Z,ʔ`[��85�*�`*G\�-,��@�4���^���R����b�/BM�v� X�2���tW5i��NW��lu9��B�1�;��i(<����6� }�8䢟��r��N����7}F[~���}]zs��'̫��uF�%l�)b{<�y/l�aG��,D8z��q��>İ�����u!P�L\t"$H]�X1����EG�SH��ƽ��DuB�^��h�>&�$��?k�QA��A����sa -�`@^�x�m8E�~��1�y�=��IznvOSTະ�,�$��uUN�&q�b�hr� Yt��Ŋ�BJgX/��),�]و)?t�|�B�ɨF�l��rDt��>�I|�R�!@����;·��Ү*���V��rW���-{5�A"4�D�p�xQ����`��!1�($�,@7�b�{E��v��aD��ybE��2M�f}���hᙽ�����@�gVʯ|}eR*}�� �w{�����Wsn�����H�C�Ê)CUl��`����YG>:9�e���ǔ�[m�G@)n-����u��L�$+����y���+\��-�֝%��J=s��l%tWY��rI)�/.�� 8��HF*�!��E������d��}{Ou�7ُf?���C~%�@�v���R0 c��u1�+���U�ό�=s���>��iD ���gu=s.m1�p�<U�Q��j6x�)gZ�E�)8L\D��C<���2kv�7�7Z�`�����W�C�`f�>���5e�^���%m} �h����w��9�u�X�ok=�;Ճh�y����!'��GMH.���j�|�c$*�a�� j�9k`.�k���w�ݴN~�]��u��&��*yK���T�/$ �����>�M�A(<5�phT�6&���V�y]��P�OJ剂��� ��t[�S*fR,\�u��!,��I��O��wT��HG^K|� ����h��^#g#�X��&���� -�͔��o��[���#0IoP�('m��D8��ظ��Be8�5W=h4��U7�}X��t%��K'���9�2� �wC&�x勆����NhM���K#,`�+�+�����~����W���*�b��L�k�E)gZ-�r��R��3�h��B�1�%�X�ub;�W��NSR����0����l{�L�=�h�C??��q�Y�R��J��������oTXze�������'� -��� Ľ� rx��¢gC�!�Ѓ4�$�sr�2�M�����q/��|AG�ϱt��?�������5�AM/�.&���ՔLrH�]�`�,��K�����;�[yo��Ĭ���J[]�����!����CwRu@����F����_yG�~�w�+s�����-)� �����WX�K��O�*Um��Z��%e_D�&��1*�,��~S���x��%ؼŨ�D�7<���"�>e�4'Ҩ<���a"�y��E�62`R�S�T��r����y�s��yxǹ좉*ޡ@B8F6�2�v�ƕ/�.]h�ZS�%#PV$�gԕ�6�ܮ��F�A1��� -�"�f��5�Ҷ?��J��UߓJ�'g>�$Ŀ�80r�?����B��i^�r�3-G������# ]��w��hjL���8E��q��H����0XYU{qٟ� -K���IF��gV?��:�u��g"���R!�����t_���$^#�?�ʡ�NNj��2��-�㷴�>/f�D�AoR2�|� C�>��k3�ƜX�;Z��QV�1C�6v�`��@��C�p���p���e�o6օ��0r�7I3h&2z�����;��C�H�U��%$��9|5��6AL�\6o��c��I({u�}��j��X��f�!�U��m٢�����Pg��� -���yy�W��w��B�ش�C2R�YxI���O|&���N/��ӉF�q;Y��;b0�H��uY��̽�I�х�v=�:��Ď5��[�,������L�[;V -�+ ���y�#:�B� ��ٖ@T�`Bsv^ -��2�Os^]ikOH��Z|�"?D��춺(9�ϩ���~_V��� -�"�[ԣ��ƴVt��<�7�lC7d����;fo�ŨG"��2����nU�\�Qx2&�f@(˕�Q=q~�%�# M'�]�_�2,����PV u|TB���XYq���V"�B7����~%d�n.D�IW!���y�ch�[��� �(�g����|o��Ʊ�\��2Uq}��m�$����{զM8��KE(n�\\qc@K=��l��6�H�j�U�X^Oyڡ���ӂÙ��w��6 -�u-��+���@�����a�*�0&�ʟVr��3�\N%�F���ҙY�"X�������ŇY/H� �����b�r��wG�78�a3�p�b�N����<��`��+��I7J�F�ɵ/?l��5Ae��a���%��PP�\e�]R��A=��&�̈́�ʷ2^���AN(�Rc�e�LK$�i�,�*��w�Vt���M����J�0s��z0�,D`?մ���-Xx_�ٓ�4��h1��G�?�*D�Hkus!? -��=�JA�$�s@R�4�gΔKw�~d�c�����!*�O%�2F�2�b�B��O�f�0ѤRA&�w=%�������к�����t�ܨ巓�g�p����Q�4^'r�Q������юN�� ğ�1d���J��պn��vV�ƻ��*k!�Hγ�����4ʒ���j1�����]�Rl-��ZƺJ�$���m��﹒ ���_�{�v`L�R�3�3���.��L��wġOƪ�����g�5���Xu.'x�3�c ��+:���ʔ���#�7��j�oK�^y�m'�Y?�84țK�6�u����aSM%����͇���"��ҹ�x�$�� Kt�'�>�ҁ�k�g���P�3�C_���_4=C)b�NS���^���X�Cۦ���w�/��Zd9>m)͗��:9��qx��*�����Մ�"�N���s� ���l�f���<)��亅�6y��},�i+������Vٟ+aێqE��.c�|�K/o��B��NmxЖM�{{UϯL���R���`�W�V{��@���)r*�#�]�f�1� J����������� �;��=�tp��qw��q$��0F[����C� -Q&�'F��x�s�rsj� k|���/(oJ5q���j�&�ⱽ���oc�d���t�g{+����ϳ�^��� 5ە�:��ĭqZ�?跭� v7��bL��&��9� �t����P���J�7�=�F���D�(����m9<~n� �q��#F���% pPJ���k_��HgT��˞�����B�,�qz�V����ǤC��Z�F�̱R��Y�ܑ����j��<� m�o�1O3z���,�Ӽ�*14��r��a%��mwB�dP�ia̻TI��M���S5G�,��r�d�����d�:��6���s��i�ڞ�17!d����͝��HY/�U�����WN� %N\äL�{t���4в�F��w��/��Y�h��RN �>�to�:�4P�h:�q�T�� ���|Z���i�m}o�&����C���Z���X�C4:TL^�S���>r����R(u";J�4��b�N����&� j����(d {�uO*Q���t��j`���8�� ����oA��#VMj W�a�������6W=o����ʙ�т4� >��-v��Cay�DV�C�!�"T�_���Z���)x%��+\�a�>�+����\U,ʖ��a��|�UK�V�81���;���\l5T}�7=P`��/$Y��hU) ������ yΏ\I@Ѡċ -���/��$�����Q1V���n�t�ƙ܀���2�XB��^���-�R��� -Ż��tj�1�� ��0��ic%��m�Ȟ�a���|�C�L\w���5��2�1P�]��s�����>�%KX�_�\[��U:�I��zT���R����]�K��~]�o3K�����/��Z�F�rֆ��w㚰U��-�bcE� �wd���UiE[��+��b�鄸0��6{4/$ʥ2K�{�[�3���bq��� -���8���@���t�������)(�xF�c}����#��'f��B�F��"1� tWTR�#,� -̾�e��,��k�&�*�o[���0썦q�O�fyVwM��3�2���f��Co���fղə��:r<������ -H�#��A�Q�%'��%;,lo}��e�����^�+�@F��� ��b��p����ڜt�oM9a��ֆښ��R��g���mWF��wi=ne��RH ��K�Ѱ���\�;w��ԉJ+!R��mGZ��{G�����s���B���'��KWyH�5=�� ;Q���7L��.�@�b�SG��j���2��Y?\�����ey���r�o&-�Y�� MC1�NS�65�|eޤ��sT%��[P ].�^�e"��kɟ�5�Tn��I�n�'r!�~V�j�*�<� �k�1Y���+�Μ��{GZ���o�P������s6X�F��{��PEFtfX��\�?v[%��S:�Ep�<H�^8~;]��vϲ�pl��j6�u�uX�Z�F�V&��(*|>��eoV>N��mof���9튖ԢF����^�͜&�6��)� <�ēP�]+�-n���tDK�+c۱~�D`mc̓��~� ���5A�Ƿ)Ⱥ�:���#d�����I'� -c,��A�T�Q�_����t��J-��-Z5�#�e��,M�^�'�1g/�~�4lU�בf���b(_U�P��Rn�c�27?w��q�����������4��ǘ!��JºQo��Ǘ�����à��=v�d�Zx����Rm -ϝ<��Y ��e=�K�x���O�hs4��BfKݣ*,�Y6"j%��T���L�c�c�d�_�!�W}=������Y�F&V���X��q -�SO6�(�#�����+�Fn�T��)x��� -��F�/���doC�����U��k��5ڊ�KXMA�L��A�P�щe�9��zx��PY��\�"X�,�>77£ �]�� -]�eJC����fs-� � �9�u���t'�QS���� �w9}"�J���r@4��/��!�O�g�����4Ú�٧]�O� d�����đnTY�(�D|��<? - �`k�w�;�sj G��j���׆����Z��G|'��g�e��Isp��1|) ���y�]@1Ęf��<I�sOBڠ���\F�W!U���0��N^��X��-����u�7�AU��� -GD� -���?��cZ#�G�j�����{�ƗZ���p�0�*�S�xpRLl1�@�D��b���+2,���2;ye�g��o�E����f��;q?ސ�<��a�|A������*�[���1� U5�:\w�:Βtv�2?n�� -��gk�زe*}<0۱A�сƧH�y����*D��_��Վj"OZn�V�f:s7=��,�� U�oS�'��@�:r��g$�mC�p�'F��������^֍�x��T�m�5_x�z���K'8��w�HT���ZK����t,.�]I���OG�<1|>=�1�Mv -5!D�s/P�?�&)κ����Eq?xɤ���D���J��*��)� )�,w�S���� -�c�tH4~�(���wL��I�ߺ�aO6�A�l�uX��Z�|�(��K�)b�I^�E������,��D8�����$�F��7#GO�IJ�'C�&��L��Ft���W����������k�� T�آ���,=�u8G��7�gBePCS�8�:*�|��-�-��6K#�P�Y��Z7-�l3��W]��d�?�O�b�L/����Z�����_���)��� ���"�Jߠ��)H$jz�jP���i�J��Cc[�����p��qKq��@g��w�G��W~���9��o�t��y�Ⱥ.Q[_��Z��cdη3x�`ڮ^�h ��<��Z�Q�����#����M��s�6�DG�w��a�9��˼R�v������XsQ�2����6��ѝ��� -ڗbwn���r��0��nٕ�X�Nt'��R�t��qX�"����G�o���R��!m�c�K&�f���N����$�[J������o5[�`մKV�3��*��"�'�����Mȓ>�g�h�W;ܹ��5 -i�k�ʔ��2�k9Mr����2���C��u����B�_E$�Z�V"����p�&#���M`�퓏~�A��!Uk���6otniQ��ƛ����t홑8D��v����).Q_�����ҷ���ָ p�6v�g����(:�.1A�E�x4�s�2n�l�^(�g����o���|\�����ý��m!�xT�����!z�a������Aub�T�F/p��"g�����e9�Vg�~�R�~��7U���>t|��ڵ���i���Li�K!����#k ��Ws��"|\�(��[�'��|��C�'7���VJ-2����`5�jj]dj������L��lۉp"�@F���3����N 5���v!bd�@����0 g�di�f��yIKtZ�L��2�=�=N�� -��^v0O������.rֳ��o�Pmj�D٘Vf�B�rzM�Jc�h"1VFj~�s��Ҟq9��6�꽙L~��Ԕͽ2�+�`>/3LG�4�3��AE r�4��2�z��_�'(DN��e��M�����u�2�>�+=V��?�l`��Y� -݁9��j)� F�~�(�u�]���qzI9������Kg�]�������7���z�#��q������3�Z̀_�L��W�ݭ�)O�DOg�ꂵ8d���JS��k{ �dž� e�,V�Ua�5&�����{�*3�*�m��&�Q��a�p��,�3ڳ�C����ۭ��rw�Y�T���ɫ�$Ȩ�O�ݜ[6|3�T7��_��/+���c�����urU R��~�� -q�b�X��}<�[ٳ>Hp���༐8!��2t0AĪk@Ķ�m%!^z/W�T�"�M�}�i�Y{���Ă&K��j�)�����|E%���fN@�hP�|�f�غ��ʱ.�Qu[��(ד�&3n��DG�t��@����d�#����W*�Ρߗ�q��W�y"����<�H��&R�h`�ߣ�#X�R�!s�)$3M���=Y��;NA�ڲ�J? �2X˻�Mh/$c�kJr뇲bq��-8�qr �Q�4;'ܙ���}^7ԭ�V���&���Z�Ɍ�<�74�g���R[�v`�r�P�Iv -{�F�(_�j��xj�5� S&ڞ(�q��40�h�4�DbB���}�p_���c�#Y(R�����z rt��>�?u�b2"o7�3�����yd�y��w��[�u�p��7M�:ez#��\ӫ�4��e�A�"'�1��b�t2��k�`��W�b��ɋ�����<�H>�\Wk�-�M��yƤ��� ��y2B���������'���Q8h'�b��pS��V�MY��nc�e��s9z�Ef��䓎;]�2<��ZW�ЌN2�nD�#��h!E����sVXѝ�����w�Y"�Bm�S���)�]�Q�c@�z��lb�Ғ����\�;[�97߯�Ģ��Y�ؗd����j�P9�phQ�385od#"�V�.����D��?�N��y��# `:%/�Y=ڿ� -?�S�[�$ �[�!dGGS��R�*�F`�E������%��q���{*�����yL�y�"J1@���*:��]���jl����)ԏ�D�'�c�������4JvS��� ���S6q�Bs���f�u-?��w������s�S������z�y��uyjWW1��]Q.J�^#�w"�x�b|������{JX���2��{lB�e{�G{�fT,ct�[1$���{��ø) s�|�E��������i-�pc1%�M� �Pj)��P<T��c��{����������SnzS�ߖ�bB�s9w�7����v�*�3�d=��q+G�kJ�hN���ML�~�Ϟ#�`K��~��sHU���=��+�(�6;���h�Bߺ'��'���<~�wvtk���K^��ic�"���z����,��������P��F���+�2��� <����@d�+�̃}�7�6寑^��c*P��/�y{vT�UӘL(���=I���I���uGbo���?�?������F��Qxa}PW�����k&-mG6��s,Ƨ=ae��#|Y�C��,�\0����H�܂�T !�~9�ڬW��4]���c���Uܺ��9����A�8=:��Mh��k}�E�U�$3s|z��wPn2������j��I�H����y� �gߎku=�SOi7B��6I�wE��LOK4m��~}��D�Ͱ����\�T�KƳK�ĺQ1�I����X O��*[��ĉ���{����4Go.j{�'�V��������C -��@�[5�$hhN�nwð��8%� �%*sd���$c*��O�~���t0�'����:b�I�k�rM�?8�T��S║�v����6��kŖ��R��zUjY�7�0d�;����Ċ*"0::w��Ɵ��ݧz���M�w��p_��5,g�GW9t/bV*є�W\�;}�ϰ�9d<_^w8�+��&�Rtck[R^�?�3�>�̝V�i��eW�GY���s&���f�� ��L�Wg&2<6>*E��f��/g��Oc��+��27�)�-C���q~�t���?B�����@�x��0t� ߛル��(u��0 �t��ˁ�Ӂ���ob�]�W&y������f>xt�&1A(zI�g!#��h���M-`��c�\��m���rR?T�R���zjOq�Q���R��ު�-<�;0>"p�'�x��-�t���z��C��}V����G�P�?̮��S7o�4��}Nwk�G��!�o�RHP�nj�[:�C;d5?��,�Ʈ��b�U���*w�X�Sf��}��"��{��(�&�/S K�W�Xw�<�<ز*�~�ҏ/�/��_o&`�7�2S�E``����C�3�� ��L{����q� �eאha��!��c�e���.*���E�?���~V&�ǂ��5�3��_j,LFi^٦vR%��\�@7���m�ղ�=��W��ή4|��9�,�݀3Xlȱ�0�����x��G���;{���9Xx8Đv���*���^UAwݿTk��_��&VD���1o��+|m4�7 ��';�ڦ�~���V��n�悗_�����Ŷ|�Q�[���g����_H�Z�HO)Yn���5� ��~��1���[�_���Ysm9�� s�"��.���"��B���mby$�(d3��y��$ӂU�9����2�Q��\`#}c^ �1=5E�g��/G揙��0� ���WQa�]��_�ٰ���!8"3�'xF�e�~�+�h%��2�~Y�}�a�,��9���'�k]��g�ьic��v���I}��X@~4j�z�\jf�Rn�3uǝ]��]��oOg�'L��=�E�`�[����_����ύ��b�#D\�X�E�<�;�����M�2�hk��N�V���T�yΔA��z1���W�X|Xĭ��vGtf�T:���)���~�13�>7^v���P*2穘 L��Z�a��R�����M��iC�2&�mp�S����,Y��V^>s~��V����`��)n�Ѧv���g�I�Rc�$Q�+�h��ˬ�}8�ïL���+<=�rT��<�p��2:���yZ2C�X��^���i�� -{�0�`Ӯ%����@X�~���K���yg�� �Iޞ)B$��Z=��7���E�����N ���a�v��s����muk��O=�!Xr�M�r��| -�g�i���ֆc7��p��9l�t, -�/Ȉ�u�2���}��ͤ���]14%��y��gK�$���q��2oZ;r�Bo�����wM�����q��"*+�>P;�����/�����#�� ��d����p;���W����<�endstream +x��{U\�_�%�Npwww���N�Vx�`����� �'��;���}�{n���y��T=|笵���^g�z+ +5M +'������.H�t�pw�4)�h�l����<�H44Z@��?�?��+�tI����Z������������<��\�tr$Ws::�����W �%�d����5ݝ���+ �����%�M���Oe���\����hc&����e`bb��! @n���\�����Yx������GB���)��X5ks+ ��v��m�`gA66gks���͚��1�)Td%������_�I]���f�w��AN� ����� ���d��̦ ����+���/��&�a�d`�$���,m��J������l���uvr&�6wp��H�n��r��;���'������ +h &����9������+��]�^������}��2�s�VN ����;��4uuU4>2�{�����t�#����M�����gR�( +�p���?���C�́�U'��$@�N�o珏�h����g6���6���]_� ����kt��y��L͟��8R�����sȺ;8�����A��7r%�q0w��psG�����¿��>�����Rd��O��n�@/��li��q���V���5'7�_7�������8-[��=����,�F@V��Rd�dِk��L����?��hKwW�?��������5�O����iu��R�]���z "O���\_y�~��q#�8@�B ���Wq���H�M؊�B+CC�����y�H���ca�bA�G��6 ��\!��\�%L��O�;������zЧ����s� y28<rQ�#"�*�AT=Zb�} �P�w�W�[�f�OC���:�L���������lqiH�'`!L �xeA�_�'�;���b[�e�R?�\����y�y��<�u���%z����.i�<��5~� u�m�V��k�S������3�՞�n�M��������������cM�fA�6��Z�m��=7� �_hD[:��{���^�5�j���Wl��GN�����A�&2��j�ru�Q9b�{����ڶ�}zZ�^�rF�G��\2�Q�l�-q�k���ܱ���l�IR=�G��G��+gd�]E�`D�)m!�Dx���$��f;:k�o�&���i�g��T��L�*��qx�d�������Ҩ�:�x?'����T�W��H��F=ϻo;���� �|݊�N��}z��s�x��܇�H����}�ba�5;��n�v)T��G�c.U\��R��k�2�(�I���QQ���M�(� �s9[+�-�N<�,��*����'��o�ƣ +�b2M�z�%�yMRa�dE�=����x(qGn�X���{n@Ľ��� +�i�30�|�h�n�ݐ��&����d��|Tg��=�3mڞ����˟&�YLOT� �(��UϦ����\"�p~WV����;J�P��뚰&�������-!�u?�I��rOF67F� cN���Q��;O����]{|�i�!��ۡ�����������$O�ۿM"� �雜-ȎK^�Ba��uc~���C���7�27M���k��l'p +�>he��u=_�IfW�Y�2H �j��eV���WO���������p3ۀPu�X�����ӄ�4B�?rt���1#A%�FA�V��=�^Q�nW���=��r`Q&���aǪ*U�Q9�jmaq� Ԡ�um���8� +n����5i�N�c�ˬ.��]դ~,u�"a��f�I�iLE�A|� H��"��b�M�Uv�g���=���v��қ3�anE ��.aO!��)8��ha� ;�Od��z!��kd0�+w�!�vl�����y�!A_�Bْ���.*B +�5�M�%�2%���Y��1�8�8�Hs� +��z/�F_�S�����#t�1���̍A��uv�s��x�G��ɲ�bϞW��@n��@V�&��EW��_�ʤt�,.��Rە���C*A�,h����qIv(GDg��s��+���x�)9#|[(m�" �i5M w�� �KQ�W$B�.H� �5�|�6)BbItp-�9W�J����T�'�d M��(`�n�ٛ�/y�D|���J��Wƥ�� b|�W�.��-�5�f0m^٤ެ�2TE6���Y)n��u䣓�Y���~|L���Ax���ֲ�n_�[{�/�O�r͌�����D;>�pi�Y�L�D�3W�+�VBwŒř-�����+�цS��`��2��^ā<L�aN��ML�P�z���o��!�cY^����b�N���^ +F�o�%]�>���hPu��8�3���*�qߙF2�:yV�3�R� 6�S��Ȩfc�w���ű�e�B�E��9��C_�� 3g7�w��e�H �x�?$fd�S��_Sf���Y���3��O�|W���X'�q��ֳ�S=�����.rd(+vЀ��lL��G=F�"�o�����T�D~7�M����[w�mL ����� �JU.�B��m����K�t��D��SS��F�i�abr�oE�ו�` ����H(a�^�߉��k0�b�E�_g?����$n}GE���p��������]�Fk�9r6�U��a��Ԭp�LY@��̼�E�<"!�H��2qҶ�O�s��ƀ�ۮ'T�PsՃF�wXu�߇�OW���t�~,������-C�0|7d�g�hh��뎬����!|<�T�|6��������Oa��m;�!��r�v��t�F%��Ӫ�3��d�qN@��Oq-!E¬��Q���w��,������'g+��Se2���zy1�����Q,$09-��iy���F��W꺨���y2�����sAܻ� ���]kjw�.���D��c�۔�Mb�M�\\�[h_�I�^X<��i�s��;.��o�Q�(5����lb$�W2�!Mv�K�ݳ$JOY���sl������+mu}�%_w�#k[��ԥ�*��S���X�5��� +�j��3�~W����}\RB.S�����`��ӛ8U��:5^5��K�˺?Mr!cT0^�/f�����q�拷~�VM�kxB{OA|(̘iN�Q~0���Dr3,tϻid����©8V��!����|�����s�EY�C)��p�lV�/��+_X]��^��lCF���d4�QGf۬s��[ `>Ÿ������5-�C���'+-$�XtO*�מ�����b�Hȅ�<.Z/��J�q1�]ϴ����3s�4te�z�N��>Q�s�q�ƅn�#^��CeU��y&34M^�'���i��w�˨�-:���f�K�g3���mY7�{����x�����+��9�m��H�'&g�o��}���D �2^�d�y�(�}B�צv��1:w��Z#,Ӣ���m�b�݇(a�2������F߬� +���`�"ngЌet�/�N�v���� �4���IXͲ�jnAm��b �l^2m�:�Pvj~��A�I1��͖C,��}۲�-��+�!$N�������ԯ�X��1�-�d �:Ӱ�B�/���Ià/6^"�� �7b�}21�v�`�ͯ�2繁{��� +�m{�ݵC�k `�%���;6���ss?6�v��W@t͛r/+Btx��H>X�)��:������e��괺���"����~E~�V��myQ|�]1m7����Z��VE� ��G��i��� +%�q,o�نn����97v��ʋQ�D��i��A�����b�]�G�Ɉ$��,G"Z��� �T���4��v�n�Ȥ�dZ�~@Y5��I-UʓR}mdi�m2wX)���=��A��M��`�&!\-����� !�Do9z�'�̟-f�C�����s�h��TE�}�6��S�ȷ�U��aD���!�ir�E���[��� >Z0#�=LW!�\`y]�i�����g�߱��(��5"�H�S^d���*�`�+?Z�E��s9�$��.DlrgF!�`A��<�&Z&f� e'|������~����wp:&�z��rŎ�h���y�� +qW���N���0�K_^踍K��l��*3~���P`�\e�R��A]��&����ʷ2^접AN(�R#�%�$�bi�L�*��ws�xVt���M����J�Ps3�p�z0�,D`?Ť���5Hx_�ك�$��h1��[�?�*X�Pkus!/-��=�JA�8�s@R�4�g΄Kg�nd�c�����!2�W9�"F�2�|�B�O��f�0��RA&�w=%�>���/���к�����t�ܨŷ��b'�p��Ç�Qc�T^Gr�Q������юNk��@ğ��d�)N�v�:������F����k��HN���O�q4J�9�y�џ��9��}��ZJ9�!)5�tI���^#�s$<䫿��2���&#�g�ީ^����!��C��Uٞ#��πk��?�j_N�lg�QGCD6Wt���)��~�GDo��zߖԹ��N�3�q��7?7l���䵎�(��Jz�3 �u1A~]�s5�<"I<r@��KXxr���~����^g:����K4<� (b�N���u ^���X�Cڦ���w�.t�Zd8>o)���::��qx��*������"�N���cP?���l�f���<)�&L r����i��N4�>����%�����Ko��ϕP�m�X�։n�1�[>ȥ�7��y!b�K}G�6<h�&ؽ���W�Ŏ�~)��q�E0�+f��\~�|��9�X�! +㮲G3Ҙ����A�ٍ����e�����Ӣ��P8I�@�(���Z����Ee��G�(�#N�$��ܢ܌�"� +_����M�&v�T�S4��s��m̌�q����gg���}�e�Ƴ��#���f�RGW��5V�.���%���&�j���٤3����"e}�J�\������Q���z�{�-����#�A0�@��{Ĩ�L��JIb3u���i���ڀ�Y�_}xZ����;N��C��7����_���9VL5��;r�_�V����D��� 8�iFOx��is�;P%��Y.�:�Ȑ��F�� +8-�~�*7���t��H����BΝ�:W�cb��V����3s +�< Zۓ4�&��7���x7R�K}��f,{��]=H��0)���$*# ��������K�~V&�u��G�6�K�&�/�Gu�>.{���/��#8cS�۰�# �i_�dr�Zh��*Ҽ��������=.��=�|�J�Ȋ�0 ���ӄ*���A��=��a�g+,^�bݓJ�d!��*��b*?��u��=��[ yЈ%C�*�E?Z�$�n�q��E�K&�!�r&4?�vO�v�>�PX�!��P{���W�����(a�2^�~� +��fh�w� +�r6e��)xبBo<i��|���9N��d~�p`G� o�Mw���I��-Z +�<�+muZC�ӣ=W"P40ᢂ�-�$�$�����&2ڒ�O�ҵ���8�+0Q�B�K��Ks`�EW +T�V�x7]�v�4f߱>v&T�m�乞����G���m�_��*��#cj -<M��gW'��-�m�Ť�g@I�nW�ז�d�G��-U�%���;�skĒ58�^���L�A��F_���!�������)�ݸ�o�xe����Av���D�$rUZ�/�J`�X��B:!.�C��� �t���^�V�G�4�X��h��k�7���3�s:5�#iy{f0��s +J1���Tb�9���)��"����PL8��T����|�44S�隣�� +��VDL3{��Bl��{��i��]�}G���DA��(���-n�)A�lRF���K�0:>���H�t�Y�j� ���C��[�u��a��g� +<�Q�~�b��A��k>L�!t9�6; �[Sv������Ʃ��m���y��+Cy�.�\C)�:����h�[��i��ڝ������ŕ`����#�a꽣�R�������!KUs��^��<$���s��(Bhe&�m�O N1�#XL��}hN��.�u���y���K�9�7� �������O!W�)S�\>2o�F��*��@�ŭ���(�Η_��2nx�4�Ob����ɤO���U�(U�kBq�ֵ�S��J�,���!3�>�^�i+���/�c>z�?��u� ���@�2T��T�8���VI/d��w�5R���Nr�ݳ�0�30���M|�j���V)�E�� -�'�����7+'�J��3����vAKlQ�D@t��fL� \��z��W�I�ʮ�5�i:��%����P?K"����NQU����l�����h�O�]`� �h���g���#}�p� e�ǰɷGYx�U���Z��Q������2KP +�&~�Z�����V�B����H����1��*��N�ɷ�1B�_:�m9Qs�?|mx@���@L���cĐ�e)a�(�7���C�Cloѡߌ���H�N5�ƔHo��6��N�дEĒ���9l<fp�'I����e3���Q��,�"�s�����&z1�1s������+�>�AJN����,�#+�]��,��X��'��|��a��F� �R��8�d����� +���6/���doC���1�į�z�3j�> +/a5�1��nB�F%��_d����u�@e��s��`���z��`�ƣ�ti�~(p�) �:��9��'�"���~ߟҙTBM�⋟��w����+N�2C���N��>m_����L��k�Wf�vi=Eē�3;YG�RdJ���=ȣ�L�(�O�� �E���ɯ%���f\d��j.����їճ'��џJt�PR ������`#R���D�/}<]mh�6�br�M`J\Q�銾�d�F�9ynkp@ն��B[������UeJ� + *Tӓ�h��I���.Q�q�Ã�c��5_Ja����a<U������"(���L�͏����h��ck��l�̟i��I��#Ӌ��wc3���xC��x_��3����E�)n|Q��'TQO;�p���8KR���c"�����*�̟��mÖ�DD���t�vmF�"k���Z���E�_sW;��<i�[u`�����`����CpFhT)�uap�|�=���5r����� �ý�տ�_����$z�zY7��d�Sd�5��}��%�!j�.�J��{F Quj-��σ�Ұ��v%������<��D�y��F�7�*�cA�̽@a�`��8���3�c�y���)�Z���>;*� +��\������ܕ�F��B�*����!��������!y�D���U�ÞlЃ<�^���L��a�mI� b�qn�y������,��D�����D�Fݝ7C�IJ�'�&����zT���W���C�����K�� T�آ���,=�y8G��;�gL�_MS�8�2*�t��-�-��6K#�P�Y�� +Z'5�l3��GM��d�?�O�|�L7�� ��Z�P��O���)��� ���"��JO���)P$rz�jP���i�R��C c[�����p[�a��":�#�����O\�����s� ^�i�a�u]�6>���0�1f�2��o ��:A�]��Q ��y�O�D�0_���yG�-�E���(�tm| ~~.�Q��x-rD ������/rg���z�1f��e2��O�m�{�;�i��/��Enܸ����?a��]�*�� �N^���J1c�$EJ���(�0��g�Ԣ�����k�Ll�f����3�M�n��� ��~�1�j���*����gx{U�����O`y�Y��'=^[�ZѬ���s��k�8�8�|�ɓ+�e��2r~�#��e��LJ���r����� +I�4�-E6~!��xN���1�Ê�%�R����C���ӕM<����*��g�[�7Ks 8���3Cq������/�S�\�></��=��u�o�ϭq�?�m���� ��Rt]b���s�:(h��e\��x=Q����QY�x8�;���h?{�-��yA��@�!�(;:] �%A��vK%#��Ʃ� _E�Di��r�ɬ +N"�� ���`�o*���C}���C��k� ��6��s=�ř �b�Bz){G�����~�E��B�(.�'��<��C�7���Vr-����`5�JJ]DJ������L��lۉp�@z�������N15�#��VbD�:@����� g�di�f��iIStZ�T��2�-�=V�� +��Vv0O������.rֳ��g�Pmb�H٘Zf�L�|zM�Jc�h,1VFjv�s��ܞ~9��:�굙D~��ؔŽ2�#�`6/3LG�8�=��NE r�4��2�z��_�'(DN��e��E�����u�2�>�+-F:�/�l`��Y� +ݞ9��r)� F�~�(�u��#����R�Q��/^IgΏ]�������7���z�#��q�����S�ZL�_�L��W�?�Yy-R�T ���B�ir�����&�5��$�� c�֙�2��(0Bk��]Ld���ڕg�����(=L�d��A�baxW��g�g��k��[��2n��6)p���W㉐��/ �9���f ��nv�KB�.+���c������sT�S��~��q�`����}:�[ٳ:�w��4缐8!��2t0NĪ�Oȶ�m)!^z/W�X�"�M�}�i�Yk���ĂK��j�)�ˑ/���|E%���f,���h`�;|�&f�غ����au[��(ד�&3n��DG�t������$�C����W*�Ρߗ屵W��"�y�6< Hi��R^h`�ߣ�#X�R)��s��$�3M���=X��:NA�Z��? ��Y˻ʍi/$��k�s�2cp5��9�p�!�Q5:'ܘ��н_7�,�V���&Kf`-�dƵ����3���s�.W۳��L�](����;��M���/O5SO<5�Ԛ�*�mOø�h� ��7y�~&1&P龱�/�Q��,)�Py�rr=�9*k�k����A1�������\�<��<H�3��%�:P��y��&N�2���te���V�k�4��}F���LK�@:�\��t��Գq�G�매�V�wy�j%$o?��5�8��ǖ�&���\#҈}�x��\!LV V����}���{^�H��^1�j�)�sK}��L�{�1�2��9�l��B�� �I���8�ud�+ hFG�"W���sD��B}����K��Μ��n���,r���)p�� ���6ܰr�� �a�S2�P���&�m� ��Vn����&���{&,�%� *1�*)T�Z��N�����H�e����.��'�>��O���g�?t �N�aV��/��N����5HB/Ɩg�Q��d��������c���!t1@�#u\�y���? �3;a{^�����ѫ�� +��fW�A(���[f?����4P�I�����Gj, ���dM{�P���dA{�Mܻ��:ә0m�/�����+?�cb��>�[���;f=�<��:�<����F�(%Y��=�}��P6�Mv�,����*�����c���ڶK�C��oEW��}��aԁ��9h��,KA|\uxN�w�R��1���צu�U ���R "}ձ�νq{MLc�@��y�.7���kK�E� +�������PYu�p��܊���������5�v4'��Ç&&s?�g�y���x���)8��ʕ|ʎOF��@��n����R4p�o�g��~J1?�;;�Y��%�s鴲C�X�C��� =���{�]q��\�ՃF�v�����V�wHV���\�Z ��g����O���Ϡ�1e(����=[*�iL&��ǞD�������#���_~_��^ ���}"�\)<�>�)x�Hqvt��5���#�`�9�Ӟ��T��,�"UAT.���}k�Yn�]��e��fm֭[Q����Ͷ���*n��i��V�E���j�N�"4�z����sآÂ�Z��9>=C��+5�o[y�l +����x��Rr�<�Oǵ�.ͩ��+�tg�$rŏ���~��%���W��>D��fX��o�����%��9tbݰ���$s��g c�'�a���u�D�����S�j���ѓ}+K�~��\<�K�!��u��ܭ*�i4 4'G��AhWo,�"���2��v�K�gb��m?:���Fynm��D�m�����*��)��Hp���xh�H�5c��M(�W=+5��V2x����~x`E�;be�OK��S=���ϻ�- U�����%���1-�hJ�-*䝾����g��2�+��;o�y��+����*�RxccS\^�7�=�>�̍V�i��yW�[I���s&���F�� ��L�g*g2<6>*E��f��g��O#��+��2W�)�-���q~�4�w_B�������8�Pt�5ߛϾ���(u��P �4��ˁ�Ӂ���l�ob�]�W����yz!��xt~��с(���g�#�~h���M-`��c���m���rR_T�R���zjq�Q���R��ު�tM<�;0>"p�'�x҇�M�4���z��C���}�����G�P&?L���S6o�ԗ��Owk�GB�!�oU�IP�nj�Y8�A�g6?E�,�Ƭ��b�U����*uE��Qd��}��$��}�t/�&�+S M�W�Xw�2�4ز*�~�ҏ/�'��_o*`�7�2����K�7^�8gL�A����r�9��A�˶!�CA#��gC&6>�j�$���]T*" 1��������L,��k�>Reߔ`X���ܲM��Jfe�d�nJ���hf�e�{�ѯhK�ʜ]���}s(�$��g�ؐc��Q��qfi�>�Qwv�k{s��p����?��?����������nE�r�-��M���WV���i�o ��NOv<�L�|��/�;,?��:� ^��Y?:�sUci�m"���|7_�y�V���,�C�<7����R��~��kXA�-����cRG�;��A��,��<(r`YA��El]䇽E`�je���H�I�z: %�D�I��6r�9���<x��.�9�Z����mrj����W��=' +��ar@(~����`�f���f��6+Cp@f(������D-�+0o%��2�~Y�}�a�,��)�='�k]�����i#��v���I$}���^jȭZ0�\JF�bN�3uǝm��m��o'�'L�b�=�E� �[���`�_����� ��]c��E\�X�Ey?�9�����M���hk��N��F��Tz�N������**�WzX�Yĭ��cwG�gﻔ;tC�)���~�23�>7^v���P~d�U6F�r�����&���~��TIՂpaL�������߃�Y����|����)�1N�j��yλ��G�� �;�'��� +I$<��W0Ѿ_ɬ��]���pL���+cm<]�rT��\�0����2:�p�yZ2g��^���i�� +;�0�`Ӷ%����@X�n���K����ig�]?�Iގ)\$��Z-��7���E1����N ���������s����m5m+���=��Xr�M1r�z| +��g���*Q�Vc7��0g�b�9l�t, +�dD�:D���>t�f� Ѯh�b��a<�j��|��C�Z��7��K!�7lafl�&���tF|�8���|��o�������B��`� +vr4w�G�u���\��+���V��endstream endobj -2088 0 obj << +2089 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 149 -/Widths 5313 0 R -/BaseFont /QQJAUJ+NimbusSanL-Regu -/FontDescriptor 2086 0 R +/Widths 5304 0 R +/BaseFont /SWWNRJ+NimbusSanL-Regu +/FontDescriptor 2087 0 R >> endobj -2086 0 obj << +2087 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /QQJAUJ+NimbusSanL-Regu +/FontName /SWWNRJ+NimbusSanL-Regu /ItalicAngle 0 /StemV 85 /XHeight 523 /FontBBox [-174 -285 1001 953] /Flags 4 /CharSet (/fi/fl/exclam/quotedbl/numbersign/dollar/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/backslash/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotedblleft/quotedblright/bullet) -/FontFile 2087 0 R +/FontFile 2088 0 R >> endobj -5313 0 obj +5304 0 obj [500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 355 556 556 0 0 222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 0 556 833 722 778 667 778 722 667 611 722 667 944 667 667 0 0 278 0 0 556 0 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 350 ] endobj 1708 0 obj << @@ -22755,7 +22680,7 @@ endobj /Filter /FlateDecode >> stream -xڬ�S�em�%��m۶m�v�mgV�Ҷ���m۶������>��}�{V��&�Ę�ܱ#9��*��������������H�����E� G�bn�F�W�CN.�ln�j��3v5�!�47#37%ba!b���!'up�r���r%�RWѤ����O�?&D&^�S�����@D��������������Q�ܜ��ʜ���ΜHTQI[ZA��JRA�H�`�llG��fbgmJ$gmjp1�&�pp&����������\�b ��8��Z�u3�45w�GEG�h�lo������څ�������D��S;7��+�p�7!Gg���u��\\]L��]��FU���<]��]���b�WM�`������ퟒ������u5����{���Ĝ��������o�`�������b ���舜�-�����]\������;�Y'��V�������Z���]]��,`�Y��4u������ϠH,����Cn���?u����6�ꟙ�����������Q���oH"��;���H�o������z����_9��.�����_�%�������,��ƁH��cg���27�����?8�WCM��H��G���o3�� ab`������������������N�+W��;�Y��2�o3�虙���N�����O���Ce0����%���E�t�U�h��N��J�/��j^����;����?""�D>�o =+'�߀\��~��h��0��Y����ړH�o�L���?��<��q����?���j0�;^�K�������/��������nn�in +xڬ�S�em�%��m۶m�v�mgV�Ҷ���m۶������>��}�{V��&�Ę�ܱ#9��*��������������H�����E� G�bn�F�W�CN.�ln�j��3v5�!�47#37%ba!b���!'up�r���r%�RWѤ����O�?&D&^�S�����@D��������������Q�ܜ��ʜ���ΜHTQI[ZA��JRA�H�`�llG��fbgmJ$gmjp1�&�pp&����������\�b ��8��Z�u3�45w�GEG�h�lo������څ�������D��S;7��+�p�7!Gg���u��\\]L��]��FU���<]��]���b�WM�`������ퟒ������u5����{���Ĝ��������o�`�������b ���舜�-�����]\������;�Y'��V�������Z���]]��,`�Y��4u������ϠH,����Cn���?u����6�ꟙ�����������Q���oH"��;���H�o������z����_9��.�����_�%�������,��ƁH��cg���27�����?8�WCM��H��G���o3�� ab`������������������N�+W��;�Y��2�o3�虙���N�����O���Ce0����%���u�45th��N��J�/��j^����;����?""�D>�o =+'�߀\��~��h��0��Y����ړH�o�L���?��<��q����?���j0�;^�K�������/��������nn�in ���`�j�3+õ3odJLw��t$̱�I��0���W���=�*���0���?^����dh���0�(������R�"oStq�3��g\j���.���p0i�O)��~A��t�:CݾR�����8"���7&�w#5��]\R$���P������?¥�M�&�u��� t���Q��h�ý��C���c�ON�Cm/��dY���J���K�w�j?��¸[���N�����t#w��k��x��%�͂l$y��p��������G�[�U�.k�h�8"g��r�Fmwt!��[��2�*ω$��,i��w����]ʙ��;�ga)1\�F����p7ߋ Nˍ����(LJ��\*{u��ĸ��%VxB�0�h����|bl.S�n�[T{M�-�@��]�'��N��$�A��a��=��}1x��@�Yu�}�6�A3�Xdx�H�YY@f'l�U<��EQ�����Z�S�FWW��9:��0��ğ�k�����`�?��[$ p��ԝ�}A��F�������~���k�u"T��u�&����Y�3) ���AYe9q9 m�,z8%�H����zS�J�OM�[�X I��k�#}� w��Bၩѿ����ފ �Ҵ�'�B�As�.�$ݟ7�y�c#��[��K����`��]�7�� x�:�l���x�¹�w5���FX�=RS�}���}��#��#��T�������2=��OջC2]z��"BGWP1z� �PCa���F3J��z}�_}I����I�,FI��6h10�q1��v����B��0��o���h�Ul/��pjg��i������`p�P�t��7*N�8h����3.��YA��x�FAM���K&��7�#�#�O������C͔���=2�,��� 㶢���Q�Ί�l�W�>��vm3rC����Q��e�ۨ�EN �����̢���,{+u�h�TW[�:�]f���\���,t��|x"����DL�cP=�ʩ{�_2� ��ch p��[Y�?�r\j���9�a��y �D�p�F���Q���if=����̰��7�m�S���0\r�%�^ަmS֑��!��gV7��v�=��v��%�Ā�#X������2��<��օ�F� ��^�M�r:,�^����["w�����Jb]���*��m�@ՄQn|�gbxK�m�U{���-�YlƖ�,�d�㫃������ˉ[�$1\��8��z#�$�J��K��T�-r�Yg2[w�Xᙔ֩e]�.���E"7������ U��S!�9 ���T��4}���~O@�}��$���F��6�^��I������=�$=^Z�(ą�"�)d�p��'��MȾ!�oD���+c����ߣ����qo��.�e$[,��.7�3����������B�aé�2R9d��n�ەY���fU�@}r����h:1Z-�s��T�l�:��j�9�{���k�En��01�77$�HWU��P��1�:��5q�r��ж�v�*�u�'-y�QYx�6=�%�F�5� @@ -22812,23 +22737,23 @@ ep �AÜ? �k|j;*��-�e�&k*.��Wt��F7[[������6y�M�J��k�d{��;������S{�؍s���=��ǻ�|���5��*�P���S�t��-~�O��55��ۃ])��z8��ꬲk�zo' ]�(�>/p<v�S'��Ē)��_0?��ԕ,H6�"�.a�ڍS�B>~��D�20J�m�7L��O:>Y6�N��E�$���kX1I�ң���s��X�wP�&AS4-��[���NcD�d�s����J3l]lf�/�<щ�\FZ)G>��x�<7$/�~��ٔ�d*�,\����i �1�k�#�x(�>�R��K��J�6 Me�ٔ�Һ�9]�kS��]<�I�����`Tp$��ojO<��eq[Q����io�+�ڪ^M*�����ʴ8-�i[5�|���Ҥ*~/5[�V����Y�Htq�\G��{����#�s!�+��YKu��8�z��-Q�݅�3T������8cw����i��ft�qݴXb�Of���֥�{̅��Bm��E2/L�Orqj��L����c� �l�UC�y���<4^o����������}2�Adf ��>�5d��*�Δ�odu��Ц�('��Zy�'{��wew�8���2�K$��6�:��o,Oѯ���Ϳ\�Y��'��)6�m�X|�A!�n�Iѧ�_(��|�摸n���!����[��D�g��Ҹ��r��F���)s��?��r>w��>T�l��)|��W뿚R�]��8������%>��� �ȟ���xF�+щ��{l~��VgP#�i�-���?祔��ҧ�҄D-��j�������F�_exP8%��z���{ڇ"+ ��X��ƅ�#Y������g��<]�G�=�I����O�u*z�WҿUI;hM�8qR1���T���R�O�A���|��Ͼ��Z��ɝ���]��XyO��h�|�=��hI���P?p�Z�l}DZ �.ƨ�_�{t�W���o&�B^�����5[��S{MB�R$q�`{[8��oKa`Y��h���>��a����~����j�&"��t����*4��1s��z,̹Exj�Q�ψ�.�'�v:,��Z]�u�C�b��뻃j�]�6��V+�G�r�ug��D^#g��?��#�V~�tK����W�f��B(xϷ$Z#[L>{Ң%�CF�P���8v�"^��5���� �.(�Eߴ�{z^�DV��\�ے@E��4]`hH�Q���{����4n ����K4��O̓@ -�2���O�A-H [��A�^'�(������+�頹W_9�?���6 ��G�!��4��ٱ8/���~a���@����f���i'*�兩4�o���F�{����~Q�:�axb�E�6����+��'���g,��+���nΨ�_�3ʛ�?���endstream +�2���O�A-H [��A�^'�(������+�頹W_9�?���6 ��G�!��4��ٱ8/���~a���@����f���i'*�兩4�o���F�{����~Q�:�axb�E�6����+��'���g,��+���nΨ�_�3ʛ�?�3��endstream endobj 1709 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 34 /LastChar 126 -/Widths 5314 0 R -/BaseFont /BLZARL+NimbusMonL-Regu +/Widths 5305 0 R +/BaseFont /ZNTWVZ+NimbusMonL-Regu /FontDescriptor 1707 0 R >> endobj 1707 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /BLZARL+NimbusMonL-Regu +/FontName /ZNTWVZ+NimbusMonL-Regu /ItalicAngle 0 /StemV 41 /XHeight 426 @@ -22837,7 +22762,7 @@ endobj /CharSet (/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/seven/eight/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde) /FontFile 1708 0 R >> endobj -5314 0 obj +5305 0 obj [600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] endobj 1357 0 obj << @@ -22849,7 +22774,7 @@ endobj >> stream xڬ�UT�Ͳ%��K�pwwwww�����E�N���P��K����ݧO�so�t���Ɨ13fD䌌1��XI�^���(�`�J����P��3qsQq�Sp���WZ�I���b�p���@cW+{1cW @h�XX�����p��QG/g+KW����&5--�Z��0��䯧���=���;����h������Q�Z�V�@�������$�JRA �:�-B����� ge -�wR����^�L�ͬ�)ͅ�/�����4����4:����vV..�V.�gc{g�����7�u3�'��vs�%����w��_�/����������+�oT%1���ji��Ol��0����N3S�J����/�jle�pz���0�rq�5���/���տ�ps��������@cg3[���_������� �ߪ7vt�����ÿv���\]���p�,c����mae��O�Hۛ;����m7ss��������g��&al�`o�0��1*8�� ���S��O����[�o���M�����v��_����p��U0������3������w�����[cg�?�����jlge��r���5����r�W��!��-�*D�����o�����'�L����`nl����eW�7:�Z�����������_05K+S��`�7�7��5���_0JJ*II)�����6+�� +�wR����^�L�ͬ�)ͅ�/�����4����4:����vV..�V.�gc{g�����7�u3�'��vs�%����w��_�/����������+�oT%1���ji��Ol��0����N3S�J����/�jle�pz���0�rq�5���/���տ�ps��������@cg3[���_������� �ߪ7vt�����ÿv���\]���p�,c����mae��O�Hۛ;����m7ss��������g��&al�`o�0��1*8�� ���S��O����[�o���M�����v��_����p��U0������3������w�����[cg�?�����jlge��r���5����r�W��!��-�*D�����o�����'�L����`nl����eW�7:�Z�����������_05K+S��`�7�7��5���_0�JJ�I������6+�� W5/G �FҔw0�_��DD<>����zN�����u�fa��� �/"��\��:[yt���������+��B#no�`�O��ۛ�m��e�6usv���������c��K�zM��WLyC�3s�\� F��t���G�+��J�kz2#w���ׅ14��|vx-�9~����}���M^���R��nStq�3T f�k��\/�����`�8ܝRV1(�"��bu��~�$u/� ���o�ј�������"��������p�-d�m~,9�;"EL�S>����w�xty���3��#� �Yl��/� T��;Ŀ��J�xe��)�>�ذ�� W�5�>Ώ:R��W|�D�5<����Gh��v��ש~����$ݓ�\�1u�bY��y�;Ec����+2y(��o>�{��>�i�z?]_����ڤ H(�xў�D��eZA��Ĥ�v�1��Ya"dV�~��8��D8�T)ѱi^��#������k�E4������Q�T~ ���\s�Ka�G�o��&�yѰ�xDL`du�A��-W r��Ц$y��ʑ/I�Q�.N���7^Z\Nν���Г<W��ʰ)�N�G�K���pY>��H*vNF8�q�=�0ܷg�o�q/hӸ��D�l^���r�����I&(�r��2yx�o����������.?�W�zS��.���jR�%�z�H�,Q�.|����Pc�o2�Y"I�4H��o��xdsh���vF�]�۟i�um�Q""F���1�������f���i �l�{ %���ngs��w���WS�%�7$�?-����YM���!$���ěz{�ݍ�����|�v�.5�&� �b���9��gӣ.82�Rm��\#�W����Y ����}R�"T� @@ -22905,23 +22830,23 @@ P �w�Ya��� ���E�9�*��W�� ��&�����WTcc����@��X��D�),� �g���:��c�=_@/1h�&_��������d���ij�A 8�ľWfC��ș�&塓�8�J|����HKF�E�}J���z���oc��� c�,ܣ�-���s���pFeC�����*<�S*O�\�g�/0��%Jw�K١�� �k�%w��=>Ic����&�Mu{ͯ���#�4口*��"�pЇ�n�9y -��h֥n��9x�+����بq�MӮC�,�AV��Z�%�]�V�4_�"����L��z^1��D��H(r�J��(ۦ�D�9��Oe;m�I�ֹ�"�n����^�T�.t����R;9��������nx$Sˋz7(S����,ҭ)� ��������B�K'������X"�+}3��DJ�;A�z�������-�l��E�V�������n�%����'"(Z��tUzCjH�����;&�U������bJ{mj��r�����������27S��$����Ɔ�S�/���P�]u_Y����~/�V�,��� �X ʾvy�^����Nff�%���j�����HzD��)1 ��bk;յ��!ïGފ��e�s��/v��X��*lCWN���Hϼj�K��-��i$�&?������ΨC���0~�]$�T0 �.mn�WG�K����> m��X/*o�b��3f">�.Y�A����_ܬ�����SB������M�4Nړ��S=���uK"Q`�sRse����i�g�lb7�+��W��ys��76tW~ �}�W_�,�8��!V����8FL�_t+foǜ�����v�ɌŸ.itxۆ��7W�u��N�%��ϱs�z@k���5F��!��D��n�褩��UE�����~�GJ��b���;���ui'��ʓ�ϣ��ڵ'�7�#�.�RǸU����7�!0����ų��KG� �B���S*b��b9��Ѫ��}\u��$� �W�����a����?\�]���|%!�Z<�p@endstream +��h֥n��9x�+����بq�MӮC�,�AV��Z�%�]�V�4_�"����L��z^1��D��H(r�J��(ۦ�D�9��Oe;m�I�ֹ�"�n����^�T�.t����R;9��������nx$Sˋz7(S����,ҭ)� ��������B�K'������X"�+}3��DJ�;A�z�������-�l��E�V�������n�%����'"(Z��tUzCjH�����;&�U������bJ{mj��r�����������27S��$����Ɔ�S�/���P�]u_Y����~/�V�,��� �X ʾvy�^����Nff�%���j�����HzD��)1 ��bk;յ��!ïGފ��e�s��/v��X��*lCWN���Hϼj�K��-��i$�&?������ΨC���0~�]$�T0 �.mn�WG�K����> m��X/*o�b��3f">�.Y�A����_ܬ�����SB������M�4Nړ��S=���uK"Q`�sRse����i�g�lb7�+��W��ys��76tW~ �}�W_�,�8��!V����8FL�_t+foǜ�����v�ɌŸ.itxۆ��7W�u��N�%��ϱs�z@k���5F��!��D��n�褩��UE�����~�GJ��b���;���ui'��ʓ�ϣ��ڵ'�7�#�.�RǸU����7�!0����ų��KG� �B���S*b��b9��Ѫ��}\u��$� �W�����a����?\�]���|%!�Z<���endstream endobj 1358 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 122 -/Widths 5315 0 R -/BaseFont /GGPHHO+NimbusRomNo9L-ReguItal +/Widths 5306 0 R +/BaseFont /SGFLHB+NimbusRomNo9L-ReguItal /FontDescriptor 1356 0 R >> endobj 1356 0 obj << /Ascent 669 /CapHeight 669 /Descent -193 -/FontName /GGPHHO+NimbusRomNo9L-ReguItal +/FontName /SGFLHB+NimbusRomNo9L-ReguItal /ItalicAngle -15.5 /StemV 78 /XHeight 441 @@ -22930,7 +22855,7 @@ endobj /CharSet (/fi/percent/quoteright/asterisk/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/less/greater/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) /FontFile 1357 0 R >> endobj -5315 0 obj +5306 0 obj [500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 833 0 333 0 0 500 0 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 675 0 675 0 0 611 611 667 722 611 611 722 722 333 0 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 0 0 0 0 0 0 0 500 500 444 500 444 278 500 500 278 0 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 ] endobj 1265 0 obj << @@ -22941,7 +22866,7 @@ endobj /Filter /FlateDecode >> stream -x��vcte�nl�ٱm۶m[�F%U�mU��m�6*�����>=����v����1��x�3�εȈU�L����]����Vv�n.�v�\�trf�V�/9������������7@�� jf`f0qqq��D���,,]�j�T44����e0��w͗����=����������������Q���ji0��5�((jI�K�(%���f�f�F��E7c[+����������`���������\述�\�F�G3�/73O3ǿT��G3g;+��g�����������+{[7ӿ|���&����ea���Stpqu1q�rt|EU�OWK#b�X}��_��&n�����K�jde�p5�t�+����������+������4�\��-�ɀ�lfa�ljk�����Wu��'�?eo��h������V�������֜���+���Wl+{��fE������������͜�.�_3C�E������`jf� ���@��e���&������#���5�_{��.��>�+�����������c������=�k��d-7��������������f�`+�`k��:)W����[|�����B+q+O3SE+WK����W����ٛ�9�Zٛ}�����E�jiebc�W���2�7�W�_���<��������\�6T�WU/�/n��������v�x�1�s�XX����!.vF��"��@L�<��:[yt��fd�;�����/0b�&��������פ���/�����W����_Y����73�43�YYt0� �N���Z��38.����:�XҠZ�P�����Ua�VJ�8����k���}_��`�Ö�+��2ϗ��'y����� �A�>�L#��j^vL��Q�`g\IY�� �����*��=?�������{}<zR#Jm��y���E����@� x�>.Mv<4�;<yt�S6���Z�wf8s��1��_˩��:�N{��Q��[� j<u�tX����h���I�w��z�W +x��vcte�nl�ٱm۶m[�F%U�mU��m�6*�����>=����v����1��x�3�εȈU�L����]����Vv�n.�v�\�trf�V�/9������������7@�� jf`f0qqq��D���,,]�j�T44����e0��w͗����=����������������Q���ji0��5�((jI�K�(%���f�f�F��E7c[+����������`���������\述�\�F�G3�/73O3ǿT��G3g;+��g�����������+{[7ӿ|���&����ea���Stpqu1q�rt|EU�OWK#b�X}��_��&n�����K�jde�p5�t�+����������+������4�\��-�ɀ�lfa�ljk�����Wu��'�?eo��h������V�������֜���+���Wl+{��fE������������͜�.�_3C�E������`jf� ���@��e���&������#���5�_{��.��>�+�����������c������=�k��d-7��������������f�`+�`k��:)W����[|�����B+q+O3SE+WK����W����ٛ�9�Zٛ}�����E�jiebc�W���2�7�W�_���<��������\�6T�WU/�/n��������v�x�1�s�XX����!.vF��"��@L�<��:[yt��fd�;�����/0b�&��������פ���/�����W����_Y����73�43�YYt0� �N���Z��38.����:�XҠZ�P�����Ua�VJ�8����k���}_��`�Ö�+��2ϗ��'y����� �A�>�L#��j^vL��Q�`g\IY�� �����*��=?�������{}<zR#Jm��y���E����@� x�>.Mv<4�;<yt�S6���Z�wf8s��1��_˩��:�N{��Q��[� j<u�tX����h���I�w��z�W û{�!^��ةR։�F��&�6b*e��w�-�S%�(谠�©�1��ɯ�0)�2�C��]t]� @3����{;�HX�������(�?�|}���K�CUm��h.ME���̠�lљZ�����n|~+��Ka`����R��FESC�$#����z"(-�]p��jB�L��yS(�4�������3�p86%8�XF����s.�;�.X�k���3399d�w�������������^n��LQ�<b�ڠ�&r������Wi�@ohBxfe�\3kqhB��,w�kA%�q뮅k���f�]O�N�(�.i'�u���/��ŷ�wB��̕WierA_�ѧB�/���0\���$\ҷm�KC�X�<Y$3��0���}�����vS{�>Di��>'b���PW���� �5f�0�U��Z�"�6R�[��&k{�q���{Ŭ���n8 8t��[e�<yR@Q�_Y�g���g�����~�n8X����vK��]$��ۡ�w���;N熮a`d�^�5'��Hfv��|�q��2?�����g�G��>�1��f{E*�κs˺��n�E�^�����n �g��BN~*���y|I9�lI_)�����ozAK��D?���Օ�8%(�p$Tc�YQ���3����D�d;����'C��W�&$yro)D��"����ꩇ���}�ossJ��lvAIT��!@>/`Q��{����|�)*�d�զ��0��r�D���Ő� z�6Y���Da@?���po�\������]Aʡ*z<��Y��nfN8���JO��� �\y=������U���x���J�����O!����<>Xs���-�L�/�`���%��.�_WP�ԯ���o�`��������)� c�gT��6�1�%݄>�r�&Qmj�D�V(���A&��P�XP�N_>+��C�;YÖ���]�-�ƋN�� l�]i�iJ�*�z��n�K'�+�'x�BDkj�o�<u�+�4����k���Df��dyN�������;�p-p#�P���t͎���[w7��Ԭb��t+C��W~����~w_!ٓ��J�չ > !�v���)����Q�v�=K�.�WK��s4I�~�D�b!D��~4�[[\v� �~ ;˘H�x ��-F.�1~G{�E�"����H.�eD}Π�{��#�ދ&��+n�ԛ;Y6Y������kO���乎O��+��Y��z�$:gj�tP���S�)�����i@���;j����;,"��| $CzȅW�2�l��Օ���D&�)7��Kj$0*TH�9˼f��~ܮ���6�����e�����,Drk8���a(0�V�j�Vuh�'�h��e���5��5DZ�k��)���6�y �#��q},rL4`��j�3!6o�%���n�b�������{_A�� �3y��.�2MxD(�$d����>�S�C�`�-N��K�o�Fjq���9�����3���pB�5�~���,�$������7�{n>4�%�}c�e�F$=@O]O @@ -22984,23 +22909,23 @@ Gr HS��呓q����U{xW^V-�ec���,lg�./,�(M�/f��M�5B�U��,��.�a�9�"�R��[�qE��@Vf�� ��=�S������<SQeǎH�[W�?��B��R�>E�s;�8�B��X���q�����i��Ó�':�FQ���7��TfM'%��m��D?������Iḧ�>��p�*M�����t�2�A�}��q���M���N����4a�a�!�Õe�6h�eS\}����驉��]��+@ d)�ߊ�����l���6@�7ڭ��=��ի4��䌠ɟ|!*G�°�o¡���* ��ש߫��N@^�M���U?H�]���+Y'X�r{��u�%�t��K��*�������8�V�;����'�;��L��f�SQ��g�Bɏ';�Ne���eLZ��U��)�G۟ƹ�m�{J�o�ry�tYf�Vh�>P:�e�]�{�ǻRp?(�nϘ:�XW�����(@u��O��1�ք �X^�c�Ӝ�Q#}� ��Q`�N�:#�㹬����x"�P]�����k^{X�lM����OwD�}��K����*i'��쏸 ȸ?�y�����%r7;?���6��V=w��h~���+<�2ٶ�B���,W�%��tD����J�pH�ۛ�t%7�vH3?D�ɍz0��UnU�Ϧ�B��x^��4�5�Jt>a���*�^�G\n����v��@/8��ZOy ao���a���[L뭠���E���_¨F߅��B�����5�3�=nV�o� L��1I�:gF9��:e��X@��+ �I^n����#��_����+9by�5���%�(�/��~NNv#/eN�0��r/�.���Ԑ���j�i+oխX�����>�1�"�[W��[�1����K���h��9�8x(��!�����=ޔ���O2��@i��~���Z}wwJ��r��CFqW4��$q��,1�i��u�����h�r#�ǿ'�=��B�P�pu��,ē��}gE�X;��}ܖ�������+��|9��q�m3�1ݰ��1f�����<$�x��?���� �I�f��E�B����'}[�,weG^���~\�G䨳����9 ��1p��w��q�X�6�~�)�[x��b���x�jV�m�.'�Y��,Y���(s��KK�s=0���]��d���&.Tښ�I��sstj�O�p��峐��/CіmUԎ`�.>g�Y��@5�L�!J�<���Iz��E��t���kBWS|�!O}��S.�ԥ" 5Z�����ؗ�(j�N������"Z'����stx��5��q�X��[6�FM}3g�AC�.����d���%8���v����0{˯zp�4!�?J��5ۜ.Dz�`\<A��u�ݪJ��Ea�3S-8�[v1��I͛���L��>��A횹sO�X���|+^nB�J�fH -v����?]s�R �v^�*�j�xNT4J��К���@�m�1,���$kr���@(���N�i����?��������������� ��7��endstream +v����?]s�R �v^�*�j�xNT4J��К���@�m�1,���$kr���@(���N�i����?��������������� ��I�endstream endobj 1266 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 125 -/Widths 5316 0 R -/BaseFont /LOZHAE+NimbusRomNo9L-Medi +/Widths 5307 0 R +/BaseFont /TYTOCI+NimbusRomNo9L-Medi /FontDescriptor 1264 0 R >> endobj 1264 0 obj << /Ascent 690 /CapHeight 690 /Descent -209 -/FontName /LOZHAE+NimbusRomNo9L-Medi +/FontName /TYTOCI+NimbusRomNo9L-Medi /ItalicAngle 0 /StemV 140 /XHeight 461 @@ -23009,7 +22934,7 @@ endobj /CharSet (/fi/quotedbl/dollar/quoteright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/greater/A/B/C/D/E/F/G/I/L/M/N/P/R/S/T/U/V/backslash/underscore/a/b/c/d/e/f/g/h/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright) /FontFile 1265 0 R >> endobj -5316 0 obj +5307 0 obj [556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555 0 500 0 0 333 0 0 0 0 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 0 0 570 0 0 722 667 722 722 667 611 778 0 389 0 0 667 944 722 0 611 0 722 556 667 722 722 0 0 0 0 0 278 0 0 500 0 500 556 444 556 444 333 500 556 278 0 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 ] endobj 1257 0 obj << @@ -23022,7 +22947,7 @@ endobj stream xڬ�ctf]�&��b۸c۶m���b۶�m���Q����zO�����}~�1���&���؛�XI�^����\��H����P��7qsUq�Wp䖣W1�t���Ò�����Č��<�Ms3���)������ Kut�r�����U4�ii��S� ���?4=]�-�_�������!��U��@+s����9@TQI[ZA@%���4w0w1�(���Y��M�\ͩ�.�����f������K�`pu27���f�ij���d�bo����`� �t1v����`�`j�f�O���J�����_�_0%GW������7���Ŀ�Z���j�W p��ki�h��OI������[;����b��̬]�쌽�����b��4�\�,�3:�����������_����t�?��/�;9�y����_V�3k����,3�ߘ����-�`��iG�3ӿ�fnN��s7w�W�����I�9:�y��-`�C���Xf��#�������[��#��r��\�����_�%��������w��1v���3�9�?�������clom�����֚��N���& 4��a˿�010�[h�*a�in�d 4�X���ٿ��f�.v����W[��LL�E�femj�� ��V�;��� -�����u���di�7�_�J����7��Q�����<�#"�� �g��гp1���fa��� �/ ��<�]�=��fb�W����ϓ��w0u4�gtT��f�� +�������u4�i�7�_�J����7��Q�����<�#"�� �g��гp1���fa��� �/ ��<�]�=��fb�W����ϓ��w0u4�gtT��f�� �Q�����%�_�o��q��ܛ�{��®�8���ddg��G��t�����:�7���9��gD�rW�ׇ2���|vx-�9}����c�Q���_�'�(B٢��=b4(G�<�^����`�8ܛVV1({�$��bu��~� u/ @'{rB�3Mo���FnAm(>;�H>y~��黅8��͋�!�uG��p���Q���à:LN��;2��s(�Jf��ڼ8L������D�y�$kg�P�q��Xi�G�I� =X�Ը6�����O���,P7�."�?]up5�a2u���}�̍.؈�/�u�x��Ӿ�7��G��< ��G7KR*� ��J�+J�k �{���ש!y���h}�Wu���r�pI� @@ -23098,23 +23023,23 @@ Y K�rt�zU�?��M����s�k����,Sp �*���Mf�Ol.�� ��I�:���x�$���:����*����E5��B�+�ctCg�&]����� $ת�s��% ޛ���c{�Q�,�jc����3'�E� מ�U_d�2hi����z�c�}:6�L�-Z�XC$�~���?iD�ȣ���P���¥�� ����᳂��x��H�8i�����Oy�@e�}�%U��,$�䱚'�;�NK����}�驑�Bs�j�Wgzi/�pq�Q �]�NN��L\w,�`[qs��k쥫B6�BF�P`2�<������`.�zߴ �������6ԅԲ+�OQׅCd3�F��Nf�0C�Q�>��6�8Qρ%5���,�Ϗ��b?YVNR�u/�sfY'�}*P����?�=d�I���0;Ջ��K�D\ZXL"<^�J^s Jיw!!7%�]�zk����EV&�W�������<N��9e��@�fPt��L֛�yC4�5��6/��?X�R�WT�ٝ�!^8�0n��9���bf�-��Wkx���gbW��3Yu���x� Ζ/j���H��Fe�G������G������������{�,����mYݰ���߷͈��:��Y.CD��9r��m�L�+�>R5��ʧ���Z�q�+�~��������@g���_]�"GqA�/���?4�n}�k�'��|�oH�Gs��F�������GƇC)Qa4ߏ����<,��],�eu��:�_�t�(���^u�ʯ$WM�ʒ�М���,�(D5U P����g���4�l�5�L��7��t�0��[��(����t'��5��G�k�!NB��Z��L��i�] >�~ݏ'�[ ���X��Kv�4�&��(���h��}����B�=��8H8f�����A��o���4/�:�`_���@s�x��o6WAc�۫����~����7i�, ����3��>_�q�.%�DG�cH���lczѶjVP_1�y��aj��Pl��2�$�#H��Epo)�(�8[����,�g�2Q��6�>�Gt="t32*7�x2�n�:V�F��f��+ds���.���?&�V>"�Ա(�^�4��`'va�*�[\���=���˞�@w��,Lآ�A���v�V>��f�g2,q� jj-��diƜϿL���$8��`&���y�� �6ן���=f1b��u>�O��O-��`��RJ�������B�=/G��ʲ+.^�hs�ă����Z-/��np�4�� �����e�65������C� Y��a��!����ԌG�� �� -"��i�v������1�Oǩ&��D��Rw��X�ϸ;�����\%�e�A����T�<�ETe-�zq:L ��v^@��sl����>�wx7Au�"�lfҨ�S��/ [��Hi]������X���Pt'�}u �C��ߒ�xN�<��&-�B�*81Me܂����k�Q����i�$���R���e����M9�RBL���ݰ��P��"������X������5����H5D�Tlň����4�SN;R�r��sa9�()~18^��k�'����>Ǖ������Y��.�N���L���þc����H%����{�[<��P<���t�����ך�{3��B�/�_�st���n*����6>�h��笚i(���8J�5��S|�G$�:�!�D��=i8���$d+3�#F#�U[�FS��T��-]�3\2�C���5P�d�J����hj��#1�h)ppK �|/��/]�L��<[����s���˭�F�R�>�ƩK�I����k`����d�M�<"�m�F���p��5S��X�q�Њ(��+��<�c�����}�RH�,��M�ϷF�'��P�6Lp�-X�6��w��V�qk�u;�M�Џ�<�^����ҚHb>��,�E�%]�n�8ʻb!��A�z������+� �P�`k)�ח��@L8fn������t~��F;���k3���;ru�ݛ����2\���O���&�t|"��h�~�Lխ���>`��72I�[P���w��1$��^�BG��!��� ���O,��\ݝ�\���U���endstream +"��i�v������1�Oǩ&��D��Rw��X�ϸ;�����\%�e�A����T�<�ETe-�zq:L ��v^@��sl����>�wx7Au�"�lfҨ�S��/ [��Hi]������X���Pt'�}u �C��ߒ�xN�<��&-�B�*81Me܂����k�Q����i�$���R���e����M9�RBL���ݰ��P��"������X������5����H5D�Tlň����4�SN;R�r��sa9�()~18^��k�'����>Ǖ������Y��.�N���L���þc����H%����{�[<��P<���t�����ך�{3��B�/�_�st���n*����6>�h��笚i(���8J�5��S|�G$�:�!�D��=i8���$d+3�#F#�U[�FS��T��-]�3\2�C���5P�d�J����hj��#1�h)ppK �|/��/]�L��<[����s���˭�F�R�>�ƩK�I����k`����d�M�<"�m�F���p��5S��X�q�Њ(��+��<�c�����}�RH�,��M�ϷF�'��P�6Lp�-X�6��w��V�qk�u;�M�Џ�<�^����ҚHb>��,�E�%]�n�8ʻb!��A�z������+� �P�`k)�ח��@L8fn������t~��F;���k3���;ru�ݛ����2\���O���&�t|"��h�~�Lխ���>`��72I�[P���w��1$��^�BG��!��� ���O,��\ݝ�\���W$�+endstream endobj 1258 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 151 -/Widths 5317 0 R -/BaseFont /ZAHLJO+NimbusRomNo9L-Regu +/Widths 5308 0 R +/BaseFont /QPOZVY+NimbusRomNo9L-Regu /FontDescriptor 1256 0 R >> endobj 1256 0 obj << /Ascent 678 /CapHeight 651 /Descent -216 -/FontName /ZAHLJO+NimbusRomNo9L-Regu +/FontName /QPOZVY+NimbusRomNo9L-Regu /ItalicAngle 0 /StemV 85 /XHeight 450 @@ -23123,7 +23048,7 @@ endobj /CharSet (/fi/fl/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/bracketright/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/quotedblleft/quotedblright/bullet/emdash) /FontFile 1257 0 R >> endobj -5317 0 obj +5308 0 obj [556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 0 333 0 500 0 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 444 350 0 1000 ] endobj 1249 0 obj << @@ -23134,93 +23059,71 @@ endobj /Filter /FlateDecode >> stream -x��teP�ݖ.��N�������FB��,w������$��[.�wf�L�;�f��U]�.��z�z��4�Z,��� YG7VvA��������A�E�l xw� ��H���n���@7� @d �Y�89H4�)G'o[k7�����?=��̽�=�~����@���;:ك��!���@ �� `e��� T���r�:�9������m-�ʶ W�������pt����5W�w, W�����}?��9�b8�\�m]]߿���k������`w˿����&�����a�{Swtus�p�ur�WU���O7��_�]m���G��LKG��Z�;��u�:��@^n�2,m]��@����`N.��pw�u��'f���b ���üc�5�� �O������v�;�?8غ���V�H��5-��k[�: ���( -V����-ݝ�=�r�{@���; ����` �BbSut{/ ������'�����+����?�_5�O��z��Z�Vڿ/�?��� -P����_�@{[������z�0��@܀�c�p�~�����N[WY[/������ � -~���~K�������c�p���KL�����ᯡ� -�9X�+�wy��ͦ����#������Y�請i{;���>T-���CR�������`�b�{�l�\�n�����@��U�n.�^��M�s������i�������_{��t�|_��p��pwqyW�������/9��@Z^t� -�����V��74.����z(̩�A�� �ڱ'0=�@��KMk��[����"��H/��'t��ğ����s����i7�ͤ5�X/��|^yƐ�]w�����I��d���=C�GA��Z�EZ}n'F#Vm��1m���������Kؾb��8D!T�/Aι�b�:��1�%I�ɽ�}:�\�K�xM�\��}Ć -���:P�Kp������)���^/�A�@� -��sZ�U5'��D�X@l���Y�ֺ�|I8�m��x�"�V-w���]��P��v.\G-p��{P!��tK|�RӸH b��n����w�]�aԃ]�lRa`�U@������L�G�Ktu%�-jy�[���=������$Q|v9K%�u�u��%��d�#<*�Ac���1�y�,��[��:����j�rrr&L��\��?2��lECr��,�4S�]���9��I���uFA�������I��4���F�LB���+8~7,���#Br��?(�|��Qg�r�yFad��}����t����h55L̛8����%h��1��nd�~��1S=�~:ٟ�P��������C�Mh�I�rF���U����*I�&��p�C��Gy���J�92�4���� ���_ -}b8�Dǖ��_>#�ߥ�2T ��z�D -%�Lr�c�1n�67Kl'#IE!FO��J��U����ʜ���>��y�����Z/�����G���77Tɦ)$�U>��)*t%�'�r ��սĠٚU�T���˄�d����ޗ���W�֏�>�Ba�_�8͕���g �%Obe����D��ʯ�,Q��Y����n�Fl�j/��|�ċ���3�v�)���#<q���X�(����\Ȕc;5Gbف�x0�&��T̃)�2v�寏D� ���O�A���:��b68��+���:& ?2�\������O��Qr��K*ľ�WgL�p�����O����ud�l��V�lk%�n�Z�0��������N����NT#A�y��Z��:;����M;F���9��S�/\3j,Aqi��)q5�s.�a��V�� -�HZ"�<qL�p�k�bz��b_!0�#�m�1F�y�!T��)�U2�lnb�Z�aAp�f���6&awR{0�W�N/)��L�)�I�!��tg1E3_&�x�u7���Q�S�(ؗ���� �����D�R���ZOCTG�_Uf��a��&Z9 -#�ۗ-cd����E���G��םXih4��R�l�zu�3�\�v�9B������-~�)�M�^ [96�nx=�g��-{�-z��w��ޝ%�OQx�����"����J��^�X��Ɩ��ҕ�� ��Rś"�j����=�n���鏂�V�����_�(��&�k6�̶���F����R���ߕ~��a9#�v^鴦�m&v�T����d���/c^·�L�kƛ5I�m9���>�ԛN}ߏP��X�_�+�7����d�ѥl��Δ����6��0Ie�1X`�� -W8�����,����%�{4��1}`���s�RB�'�� -���҃g���Ǽ�����W�q�)w���@+���dYi�<?�[x�'�`�O[��H�4�3�-'5}�F^d�>2Mnި.� -50�sf���_�'m��^{YFݔ��l��l�O3 ���6���A��uTw�g��_�B;ϧ7SH% ���L�uٖ�O�����^^A��Vs��$ձD���½j�4>TN�Ƿݝ�ϋf,+�`�im�p��}��c��k"F�j�"+y��8#��&% -�!1 -��ͪGE@AT�ħ��K�YR��㆒�5I����� /�]��Zl��(Z�YsE��*�۩��j���#�ܜᣋ���C�n�g� -���[��M�D�'���C+�H-VD3U��� E5uA�N J=r�c/+��y]~~t�!E�%0k�Pvz�B/���VI��3���vx�3���DAVWw��.s/��:��2�3�����1�D=�c?��b�f!y�\�X��F1x������/��NA&-�:�{�y�sUH� ����\c����tD��8��0�)yAI�.`έ��e���V��"���B���<��JBa�{����R�_�H�j�uo.���a�o�!$d0$W�ξO8������J�٨-#(�{�&�O�<���Q�S�� d�ñF�D0�5Ǔ����Ɖ������`|G?e=zM 3�0'k<dM>+O����E�#qCF���/%��M��!�c%����s2���052.' -�I��|����Ɣ�w�b�+#G�������-Rg٬e~bH�v���� -��n���mN�U'.�f��8�8���vDf�3-!���0'���E��P�̈�o�9��"p� �Fu@ -�#'t*�O����7��F�i閒tVN�:����sz������ֳ�E�_}[�b����)"LDs>r�#��B�"7$1�:+��ϱ�P��?ւ�7%��a4v�Мe�4^���=�"�6F����iG��� -��b6�}U֧�Oyqr����j�J�|Ģ��(կ��m�CC�Pk��j0&l�a]�"|z��W�A��9~_h��BIi�g<�ATVE;6��&B�p�ƕ�ۆhg�u��;GA�d(�O��Z咙��d`����w�Kn�پ�l=�����k���8wMˀ1�@�Gݨ`��@1+q��e�wk��`�'�p�7�VU�v��xKҬ+�}���_����1�H�1)�>� l��������S�2�س��s���tfO -��HÞ�V��\甔a� Y����Y+���ژ�ySV�����@�4�N�1:V�+W�<���$��g���?8h�J]��������6$={ߠ��&0B�G��g�+�m���BO��)<��Xب��"��r}@����ۥ`yŻ��5}����h�-�Wwiz����̃��zy�A���訂�,ه�P��F����5�W[hHi�\�6^L��j��3�♌'-M[��Ec� -&�k��K����ܲ�����A -aHӄ�=����\�"ǧȕ������7$z�B�����12�_�ny������@7�ma��'���W�&I/6'�5�1^��T��l �HP����Ѯ%�ܛ���{��e�R"��� �\�ͩ�}������K�=��]��xQ��h����*��������xLs�l9�ڭ��Fg��^ou5;���S�æ$���6��"����A���G�o��������o;�ڑ_4�s{�Y���` -��4^HY��]�ym�?�>�o�N ���!I��$�)����Nj�[R�������o7�4��S�8���E|�H���#��n�p�+��$�H -3 qE�z:�}�cJ2sy���id�_كA�E��<�q��H���$o�Ve���&^ց3���r|��o����on�+�N��y�k�/�t��3.e��J��,"eo}���9���\g��-��RRYv-�UE�"|H�0����&}�����xhNk._:u�S�4��b%�rVp�� _\׳�:���m`�u���s��N���GP�::�WRS��� -*&W#�+ꚤP'��&�Ee�O��dO�^��d�#�R�ΚJ��D���`зŰ^'�W��h��*R���m�~ -#,DE��.η�7>��-� �����7�7���!Ѷ��ҋC����K���f�Rp��j�*|�%��v7�I¼�R�^�|R^`����@$�S����� �$���ߎ�X<I���C���S���Q��'��l?+�J�9_2s�8�w��s���s(�x�8��Fl�� ��k���[i�W�^F�Pp�� -�ZC���ٔ�$��}�VX'�^�Q(�T�X9�I�<7<�U4 ��'�X���7�][ؖ����O�x�އ�-cc�P�va���ڿjη"��MI�����J��I�����L�_�@fJ4��N}�ዲ`�^u_Q�NM�{w^�#vc>�����L�x���IL>H�}��ב���r��_�si��iY�;Y����c�Ġ�^�2��7�_�����"H&���~8W����ȱ�F�o����,��"#��'�Jp��a9c������$]ӛ��]��\w�tRKuL.��!Ȼ6�V��Ge"R'�6'��gJ��P��e�������mz�{9�t*�i�_�/�E��Ogݏ7p��%+Lz� -���إ��eB���l��|�R tm�u�m��W��rF��Y��z�R�CVo�.���c�m��F"�?^��'��nh�����%��:�@Z�o�'�H?oZ��d4��]{C5x[)�JY�ܮ��X�.@_6�ӑ�,hvf_�� ԃ�Fu������.��.�Q0�����f *���,'i�TR�0�jb�{�S���p|�����=����a -͓Pc�j�ԫ��ͯ��7�"�U^�m0��>�Gd9P_��A�/?�7D�zl���bT?I�PSi��%u�-w�I���[3�Y��ث�%F|�"u�]��:���Yl@�&U�L�i3�F)/�����^�B�8=��9?:�<�+x�ҟ'E���ү}AJ�OÛ.u>� -�pOL�B��$wh�KxT�.S*���q!m� ��Y���e����Q�'Yv:�g���}����~<�m�����ŵLH����j��G̐5by�TB�C��F��/��;�P�i�aN�I��~I���R�Cv<Cn�V�yStp�\11�����[��Q�چ-`�!�o�LډO2c�3$Ci�X�#P�zW��=�d�RVM�c��3]tڞ����ب`)@ܒp�����}�,�\�z�A�� ���ULܶ���ֻg:�� ��Ff�����R`c�l��"!��3_�5p���Q'[����Rpݑn���6�F#�Qr���~6K'N-AM�F�["�$�Qut�<���+�께.��p|�Wk���<�<��f��&�_XR`~���&.�yP����9���O�Ÿ#�'���Nw.��b�Q�ԾR��� �x�r�S���-٦b�L���xHd��Uf�gC��Հ���[��2]n^������o5e+�J��}�/�T�q�:6��%����7P�8�阳�/~��V�=�ۈy�5%�����Үl�CG<�S`N�� -���9j�N5e��e`�O:�퓣S��-�"<���G;�4+PpV<���1��6V���5� ��x���@���]�;r�iL�n7�۠�7�EJs��#_.��=��5�w���?�٣l��UZ��w�����K�rb6�%=�^#�Ck�3�ς�:�+�s��0�������|仏-��V�5���p"3YݎOA�^e�D��|���u�g:�[�3A�|q�ڲ s��\撅�dN}��9�"y*:�p��J��&��-�a!&[_M{��&�~RknU�����AcF�ߑ��HPD�`��UgI��۟�{we��E|��ƨ��O���B��o\lj2}�;+۷��� -�bt�4P��m�g�CI� d�1�7��+��ۮ��$�[�GB��a*Z��(B�~+��U��BA/�-0-�1�7xe-B1V�F�̑9��o�:��v.t<�U��U=O@�`�G�!9'�R��i{]|Qꍚ��j6:��hC�35�+���j*�Ztˁc�"(��U/�B}��_��L�;!�L�{L9Է�d��b ]M�-��7���RG -��#��6%���*w��~n|�9� (�a�O�Z6�g�F�O8u�j�5t�lR��U�#}���3#oj��1��z�U�^�Z��6� ,��m*_�I��Uh��,c0#�<]Ύ�X#QG��(���v��NcFx�܉��� ����X�zrϘN}Iu�}cPv=`R���"��m�X��rg�x���K�y��T#֗�������wT�Ϯ;�(��D��L�H\*��s#��]����0���o�!�n�������(#��I�jh��� #�i����A&�,�\�Tֱ��UbE|�6����b�c,�L,�F#�l'���Th���Ô��#ay�OѨ���{VJk���vz���{g�}��p�(bs�r�M=Ju�N���O�d=ۄ/_����?Z��?���pp�����bv���i"?�[�ճ-���Jm%T�~�[3[ʸ;�J�F���>��y���w��I�R? -�2$],� G���S��fd�;E��/@�Jy6����H� -D��1�v���;q��vx�B ��pf�f�ʘ�����e�t�6�#ԁk�)�1-�=>14�]RD����>Ż��R���sӪ]JLO졛D�KB�����fʭ2sH2"�v��`=�Y��G����u�1�d����(r�I�5T6Be��G3W�_I��w����~`2=g��@��%�zɓ�a�~k ������_7������y\˳9�Yei�#6�whٮ���Z�~�8�Ih�h�w��x:�D�<ވ��^�'�Q�xC2����u#����R�H�i�9�E� ����MȞ���.�,�ȶh�O߈eb����ta�q�,�nhN��.���د�L�1���9o ����;�{�&j9�`�s�=_�+�ښ7:�����&���t �9��w���́{�L���s&��N^t�v�G��� �~���4��#�b[������cL�w�^>>G;��h.��f�$��������Ǝ��A�VK�}����]�<>v! ��:t����~��_��D�yd�x�����Rb/�� -?Oo�!#��(�i�##g��J ��X(:"N����[�?4p'4 ����/�����e$|KЮ�h�Oj��WKa*��?F@p�ٵB�aJ�|�t��m�O~�yu�.� X[�ҝa������ij���$�����W� -��b1{��?��r�N����+�Ho�|��b���e�U�V����J��$���Z����gn��u^^��4Nw�_㝠I\5�C�=n��\�q�k���szw6��C\悶_�j�5�1p�Bj�0��W�H�a�|�7�����4Z�z�{�o����yOO�L�*~\�"Ǔ���+w3C�Я����'hQ�jJxg�Q�t^��<d�:s;������՞�}�3��\���_E���M��P<��j�mT��~Y����x���V��k��DDs�]οS?�v�4� -��G�(F�]��P+�M�Oi��%<��g�`��z��;Z�X˰�- -������M#7���tEY�Xw=�����0�7��K8����:�����ԘG�}{�JSz��8>����I> -Y_���P�J ���60�A:���VR�f�?^oI�,d>�_��RvLmƖ#��<��֝~��ZȎ���;�w��^5�P�yh%� c��j�f���c{$,[)0F�6�_����b���$6���9kY�Z�9�#"�h�x��ix�u�d��e|���\L��Z���8{��`C.�F/��D���fˏ���#��b7�����K���N� -�����{Kk��}ƻ�����dN�M-Z��cA/r:}��Hh��؋<�~} ��cn%./��I�o�0F��K��Sy���.�8ri��s���1#�:��vU{U�k(ނ@)LG����[wbS���*\����y��#Y�����֩i����*JB�ײ��N^B��X��ն�ߑ?<]ڿ���ׇB�4-�q?�1�s�A\u�2knm�U��,G���������$��]�>������n讚}���!�!��}�h�ѣ�E�aU� �w�J���R���KI� -5)�Ž�4��gh��+v�yZX���]��a�̌4��~���NfH Q(6�� �eI��٪*N9@V���p�K�_���N$�u��)�Q�L㷜[�ҌB�c�bA�ȗ���f]��iJM�*]�$*���>B����������#�R���B�l&�����$!�?6�Q��"m�2Iѭ|����'�V4C -iL�}2�U+�v�%��P�g�ǩ -�s�H�}�p&Xd���! �茑��\��@濒/� - �,���K�ε��s�Wf|�Zn�����0<�Fk��')�f�.J -#��6n.�ֺ^�TU{���vc�8T�C�~5œ/�J�m�]ݕ�K����J�/���}+7�q���+uD��İMP 9�%|!Mi�QE)��>�0n4>G�� 7���FjV&��nJ�a�Ý*�:���d��`t*Uk*���9C�::���+ gʮR���ᬤFpy��'Dm�4�to�� -0nf��=���d?M\�Y����aT���8��R/%�M � �/ -\G&��i��V����n=��E�A���``��� -��`"������(� �z즀kX����5���_l�*(�rR�o�4fT2D�H�b�p������n~��^P��\pA"z(�q�����r�]�`e1�(>�jc�es3�'Ы}��è����fҵ�����+�5��1j!/�Ɖ��8p��>�ؾ�Z\z�NPQ2v+g�*��[� -�5���xS_���6i�C�c��9�ed��V ]ؿ�dP!9���3�uik�%���#��=u�$.�2�{�x�A�m+Q�䋘�����h�|<kE��/��rۗf�� -������ �����s��E�Ӗ;��]Yf�?yݨ��5��~�w"'`6Y(��X����4�E�I�/��;bQfab@���٨��&����Ѕ܇H����/� ��j���}��┋/�Qҵb��\8�������R.�-x�M����+���:�@�����`o��֤ZV�3O�..ob�ɲF(;6�_Sh`�W� 9�2�&" 6T�����)ߛ�u�>>3�O9-�qbQ�1������ޟ_߆!9W�K�m�>e&��x~���UQ��(�����E���_V�+�CŪ��#�L�R7�9x��D�(K����F=��˭�9��DW[���n!㭻��Nj��(.��B�H��8���-\{�W���Lu�K�'ެ��x?�-�U��o̹�x��F��y�������6ܱ�][�F�}^�K�OlN�h��4����pq�Ϟ;��%�R�L-��*�l�a)���z�#���UM�P/ه�-��CD���|9�8H���X�~�rIAJ�� ���I}�;|p��|��4�`1l����8p�7�.B|��N�XO~���i"���<kv�rףy�vG��A��F�Y�"����ʍ2�0+���S���A�d�W�����d�!��"�4ZS����c�au"��C�q�����ب!܍�'��*k�hd>0s�D�S���y2UQ}<k�E��Hz��a��#4��*E9�'�{�� Į�k����������Us�QȦ�?�d��f�m�`^�`��*�ER�ڱ{U�� ��9*�I��Q���+%>@+��v��3�Ia�?/�k -�|� ��p^�[�,�ri -�W��}�� ����~#w'��h-ή�vm����f��A�Z��$> ��Fs��W����� Fҡ�4����eC@:S���9�����"����|^P�5sЎ�V���G%x;��tb�����Hr�Wƞ�Č -��[i��k"��wBz�/����,y�~|כ��aЖ�[�� ��P�y}�G���|�}�˟��A����Á]%���E�6mu���=�|�WH��q���ڃ��^����5�Ɋ�2 -H}=�����2�R� s~��;�}�}A�g �@#�H�����9_�e S�f,�������� CH�4�7��%��[^�L̆�E�/����v!��T�-�%<������l��T��Jߺo*l����U���Ӣ�gK��/X}�6�ޞ[ �;ە����������;Ä��������y�����Ct1xA��Y'73�dn��\p�:�)"�{��γW �!��j��� -)��a�0љ:��|;��ڰ��NpQn�ݼ���QE�́v�Jw��y�����#�γ�0|Zs�ͅO4�G��*�wjTTG��W�г�+� Z�)z��m%~/�O���Cr��r�$����7�SM,��0 -hA`w$� .�I"�ߊ�m屑�Zw�F���� -�?S� �g�Z��V-�÷S_N��&P��!j���(��� Qغ�%������=g�H�8��U� �~|�q�q�^H�1���h��p{�ﬨ�� (Ҭ���փ -9�8�Qc�=swa���l*}�ZG�y�t��f��#X_�l�f����&���0>�z�Qqs�8�*=��[]]ɳ�\{���yMF ���ط�l�=t��8�Eq~X� #8�F�bOI_1@֚뫘k qu��Zq����;�a/��_ .kwuC�_!o�#�k����G� ���-��"��9G��7�(�g�/c����}\�C&�UF��b���&�ʖ���m�XӻA��\ZH[���t옴g�y^��K��D���� ������>�9E�VQi�l��G�% ٙ��#���PoW.��:v�ظ��1q����uʆ�������㭲�q�[KR��Hp4k��//~��Y�>�_g'^~�pR�%����<pe_J�0/�P�?�mڣQ�m7Iy[nI�<e����4˜�K�Bw}��ͭx��k����n�RU:Q������5_��)%x�A/%c���6�:��:�G�2lc/y�n,� �����d�_�q�Y�A����b�T�� ��d�����;e�W~��+`��7���rJ��ONW/�#ʳF���6��i�;C��Ű3,H�������Ñ(�ݲ��鵻��v*Nu��|m�� @���k�xt<i 1g�\9ɓ�5��n#\�Ev&�����s-GS����a�H�=���}�j��9���/`G��O�N�r:�8�eZ���C�W�!����dD��AZw��J"鉿]���>EV�G������Yz��ŧr:��W�5�EoȺф7�6Yʋ؊y� ��L_������\Y:��a��������;Fr6h�m�۳�'N�$��j�}jG*���9�C˺i[R�R���n��������n�:�O~s�b�M+[�7*v��L�`Q�\QM2ɺ����8���so}��܌֙$��Ft6�,�E^p^���Q'��e�a�0��|���5�x�Թ�H����lwDO����I�Y��N�W�a��*a����]� �� -� 嬠����u����U��c/p4}��7�5iX9u¹�+ xuxZK5���^��dl�PNM3�Mץ�}0ȜM۩1 >�PD�p�}r$�6�T��H�,��睙��zH?ܻh�4 e0�x�e`�_��9E5�V+������ip+j�����z%�2�!�{�[�HC���.�h�o|����ެp�!�»��:X?F�u<FI��Y\�����q�� pjC�s0��b�2�c̛���,��D�a��S-��46X�Ck��Oe{�j&�Pb#%2�7��T���V��d�Rb�cK���uGd{�i#l8�X����rz��Îɼ��b�Gi3S���W�/�!��T�1īyOB�/ocႅ�u���<' `�T��J���&@����[A����O$ -�/� -s� -�1cy���A��]c���_k~�]T -*�6b�X�t�G@�{l>��)������2�M7��鰐5N6��g���~����AA�\2�γ�uJ���[:EKY���aOZXt�s��J�Xݞ���9�ˢk'����M���JA�d�>��'}�6E�-[F����d��g���lt�s˟d<k�G��yŖ�ݿ� -a݆�N�W����)�X/�)03` -d:N�`$(�}���J�k����Ӳ��� 6�a��ȳ��E����������g���ֆr>H;�Z��s�������} Jz|Z�.�P��t��N,t3����7�'��li�9��0 -��@\�Z�=MΞ�vA_�D�>����J>}��ʭ/E�#��&��� oG4ETb/���%*c�O��6����Xܱ�O�gk��$nڤS�/�H��i���=�C��eO�AP��j���ћ� ��s��FJ�!��r���:�<T�C]�`������f�ic3ُ%a�G�����x�9+�������p��sY���E-�a�������$�V�V��mBjU�t�����bh�X,'��I�֫H�;�Y��VֺD��i�H+hn?��8(MW�p:��I��ie��n��T�E���N'_8�QR�t��O"%����qeш)��b��ɁԞ���ІB�Q)��-���<�ߪ� `��NC8����h28ӃQ����H�#S�\����/e�MF����� -�I-����������z"3�E��s���L�����khesU$���?1�)�鿮���#��[��H��� �0���ht�C�?e.��endstream +x��teP�ݖ.��N������и���!�w�`�=8 ������9S�ί��u�vUW�K������7 ������P�������]� +��pw�2wPf�t[ޝ<H44R.@s7�����P��H-���$�������� @��������O�_)�����t�8�h�?<�`G'{���;���p��A` @JM�@AU@/���:�]���uw0���:��֎.��?������\Y߱$\��W'�%������W��t����@��s���9@�`w������&�����a�{Swtus�t9�ޫ�K��������_�]A�a���{�����_-�{�y����\n@/��jY�V W'���{�w0'��4�]A6�d�pژ�X�����0��M�}�S��NN`�O;���@n�@�5+�{MK���6 $��E���������ӿ�<�.����ax'an����X���T��K��{*����� �����+�����W���%������u�U�������q(�zc��\s{������D=�?�W +n��c�p�y�����N��,�h�r��X���g��_�� +�9�ߵ�{����iۂ,��:���!��տ2��o�l +zꊪ�L�������������;��C���?��0$%���,|\�.v��������/�� ��O[�������4;�߭��������8X:Z��'Zn�V�����..��}��[�w��%���Hˋ��B�ӳ2�j��ƥ?��r@�9�6hU;��G��4{� cm�|k�^8rz�Qd������Ͼ��S1�`��v�1톰���f�E���+o�������4)y�#���rA8�g��(¡�sB�L�����h���-<:�M:����1<4�s ۷C̔�H#��J�%�9�X�P��7Ƣ�#i�:�7�O��k}��i�`���Pa��{\lv �6Y=��Z��6���R�h_!�~NK�Π�$ٹ�����WP<�Z��/ '�m��Pd۪�N?���*��΅�5�b�T��4����4.R��(����j��,FWy��`�8�Tj(�3u8S�Q�]�D�v�Z�V?q|O�<��5�3I�]�R��@]h]���G��6����f���r�{�-K8:�2Y�Z\�]-^NN΄�cK�������G&�m��hHn�В�f +�kW<ǚB�6��~��(p}�#��<��x�F��]��IUb����г"zDC�C����z�o9�7�lP�5�(�lܾ��؞!V�Vq�����yGt�\b ��K��/�F���W�3�S����� +e���)O-�:�݄���*g4x)Y�[ˮ��!i�� w?��~��Z���T��#sJs���oѐ�|��w ��Ltl)� qQ��32�]J.C��ʪWI�P��$w>V�Fos��v2�Tb�T� �t�Z�k�ϯ�iK��)��}Pk��R9 {d[ZysC��l�B]�jZ��BW{�,�P�K��YL%�)�Lh�A6ᯝ���}�m�Q|�l�(��*��5���\Y��{VPX��$��;��O,���a�K��u8����k�ƭ���ˇqL�� �9�o�R�|>����a�E���߾��L9�0�3Qs$���؎Ck���@�<��.cיQ���Adѐ���Dd�X����^�(f��������\Ǥ�GƟ��zܻ�I�=Jz~I��w@����Nv��c����iB�T����(ma�϶Vb�v�U +��?�7�P�n�����D5Ěw�ޡ� +��c��k:�۴cd8Aȹ��Y<����5���f:�°W39���9h��p��%�'��� +羦/��`)��=��6�c���B5� ��8�bZ%�� 6:�U7i&�[Xncv'��{u���b*�t����$R:NwS4�eB�w�Qw\��1���}��8�p��]�@D*�+��4DuD�Ue�mV�a�h���0��}�2F�>��[�P�)}��a~݉͗�F��.�Ȧ�W�:�9���`ן#�9��������4ꕰ�c�����ѣ�qF�@n��{nѫ?����8�|��[&����D�W�g���z�7�t'�����dm�7�*�QV���v뭿N���x��,��D��7�[�e�upԠ��%6�������~ u����� �ˡ��:P�5�n3�+g��?'{� }�r>TWd�_3ެI�n�ɬ��i��t���~����2��_��a0����$s�.e��fu��䷷i���I*�����V���Yմ/d`ٝ5-qݣ�?����]�S��"?ɮW��<k�=楴�.����g�rLj��2_ɠ���I�����#���7y�����[�tm@��1�rR�gh��E��#�����P�=g<���~�u���2ꦜtxdk�eK|�i����Y�� "f����?ۥ��ڹ�}>��B*�����f��T�>����?{yE�Z�u82�T�5j� +�����P9IG�vw"�?/�����]������b)���D����EV�qFEMJNCbP�U�$��0���O�'�̳���� %k���-���A^� �1��RQ����αUʷSM���#�ܜᣋ���C�n�g�j.�`��(\�'2N4,ٗ�V �Z��f�����j�@�@�z���^V�������C�FK`���d�1�y +��N�[%�������u��f�Y]�-��̽x�xz��Ϩ>�����xT��X_|��D���Uab�V[���qz�O�s��P��:���딓���Z,T!�&�s�s�}2/������$��|S��&���9����GZ=VH�`S/�I�nW�N* �e�B�K��"��1�`��=F�������l\�:�<���"�R*mg������}��>��4H�G O�;���S�����O����V�'�38j�ʮ������5%<�Ts����Q4��<M������ 9��2���7 ��(���ZJZ�Ɍ����d�ȸ�(�'�����v�S2�}��w���<f��:g{�H�e�b���!%ڱ�*�3�� +~�9�V�����q"�q^�����gZB2}aN�A�E��P�̈�o�9��"p� �Fu� +#'t*�O����7��F�i閒tVN�:����sz������ֳ�e�_}[�b����)"LDs>r�#��B�"7$1�:+��ϱ�P˒?6��7%V�a4v�Мe�4^���=�"�6F����iG��� +��b6�}U֧�Oyqr����j�J�|Ģ��(կ��m�CC�Pk��j0&l�a]�"|z��W����9~_h��BIi�g<�ATVE;6��&B�p�ƕ�ۆhg�u��;GA�d(�O��Z咙��d`����w�Kn�پ�l=�����k���8wMˀ1�@�Gݨ`��@1+q��e�wk��`�'�p�7�VU�v��x+Ҭ+�}���_����1�H�1)�>� l��������S�2�س�����tfO +��HÞ�V��\甔a� Y����Y+���ژ�ySV�����@�4�N�1:V�kW�<���$��g���?8h�J]��������6$={ߠ��&0B�G-�g��W~����BO��)<��Xب��"��r}@����ۥ`yŻ��>^q��}��ګ�4��I@B��� i��� ��ItT�d���W�_g+���j��-4��M.v/�~t� 5��q�LƓ�����" �1��5����}�un�s�wW� �0�i�ٞ��|Y�r��S�JK`�t����=v����]�Q���/���~W��ei����0�˓{f�������/�Z*_g��g$�?q�zJ��hגc��CT�[�2g)�����}.�T�>�T��p��%�^�.Df����4�__��+��������xLs�l9�ڭ��Fg��^ou5;���S�æ$���6��"����A���G�o��������o;�ڑ_4�s{�Y�V�` +�4^HY��]�ym�?�>��o�N ���!I��$�)����Nj�[R�������o7�4��S�8���E|�L���#��n�p�+��$�H +3 qE�z:�}�cJ2sy���id�_كA�E��<�q��H���$o�Ve���&^ց3���r|��o����oa�+�N��y�k�/�t��3.e��J��,"eo}���9���\g��-��RRYv-�UE �>�tVM�E��}��Q<4�5��/����B��W�m9+�с_�/��YJ�� ��w�60���H۹�`'�~�#�[�+��@U� � ���uMR��ײ�ާy_v�'���Aa2��E�IgM�ьD"xud0��bX/�ӫ�I�D`�Mw��|?���lk�����Ճ����N��������h;�����/0b"� +�|���ܹ�Z� +�r@ �ݍm��h��4o>)/0S�U�a �)�O��q�^�q��oGk,�$�E�!t��)�G�ѨN��CT��U�ς�/�9I��;j�9��}�9J�Nk>��Fl�� ��k���[i�W�^F�Pp��j���"��Y�)AI���⭰NT�|�P.���r���Gynx�S'�h�ON�,�ob� ؖ����O�x�އ�-cc�P�va���ڿjη"�mLI�����J��I�����L�_�@fJ4��N}�ዲd�^u_Q�NM�{w^�#vc>�����L�x���IL>H�}2w��0�#w�U��V������Ӳ�w� KI�ǰ�A3=��e��o��c�=r}'D�L�)���p��c��c-;�F�z���Y��EFJ-Nr����r�:����I��77��F���,�餖�\��3C�wm Ǐ�D�NTmN�wkΔ����'��b��O��U� ����rn�T��Կ�_<�h3�κo�~�KV��$@��Kc˄~1d��z��J�@���&�'�b�6�;�f���:A�@�o��*��]A�Ǭ����D,~���N$' ������K�?�u䁴8r�"~O�#}��i3@���`�w� ��m��*e�s�NNbɺ�a|٠jLG"��ٙ}u<�'TP��I���Q�Wǻ<��h�F����_�%�$�����.PIi��<����ͳN!Ю����vRg��:���)4O�A��K��S�~�7�&+���Vy]���{�������g��|��!��c��t�b�I���J��-��.h��L=>�Z�5c�E�h���]b��n)R���������tmR���6#o���nZ��5�*t��3p��#�C����/�y�Q��/+������1���R糪` +��$*$-Or�f��GE�2���,.p�6�Ҏ�%~XY��ߊ!~��`���*ڗY˸�ǃ�Viߍ^\˄N��*���}�Y#��O%$>t?kD��r+z�� ��6�����闔۹!U:d��3��n�7Eg��z�9t�t2�CZ۰�l<d����A;�If�v�d(-�tJX�5����ZʪI{�?vF��N�3�~��!�[Ns������EV��A�7�{<�A��P ]��m�؏h�{�Ӌ��>ndF< M�(6v!����+r[;�ژ� 8�d��SRP +�;��Q�=Ҧ�j$>JN#U��f�ĩ%���HqkB��D�8��.X����pE��R}Ӆ g��}���~��AA�S�i��o"|�%5�ï����e9�=Q*r� 3�?����c��D����eV��WC�<ʐ�W +6��t�[�@tjp�Ӻ�TL��rW�l3��]�l���j��V��L��Wĥ���)���AM�ʠ���l���=Uv��-,cI7�ep���2Nj:�l���c�U�gϮǶb�eM ?$c���+[���O��k��e��s����DM��c���q���C|uK��`��?� +�t�*~�-Ŋ9��rMA`ù.6�k|+!Pb+�B�ꎜ�d��[� �6(� f���<�ȗ� �h��qx�uǝ�!�O�j�([�k�����*�1}��������I@��H��P����㳠՟9���5�>���5��?}:��cK��0� 4�=���L�D��SШW2�<1�6~��Y���;��L$_ܻ�,��=��da6ZP�F}�H���&\$��y� �:d��GX����WӞ��ɦ�Ԛ[U.���@eИQ�w$�69X$u�YRe�����]Y*{7�1���Ӱ{��P���q�L_�����bz��´�) �*�w����P�|�(&�?|e�r�Uq�w�A��A(�? LE��E��oct���&B(�����2F��L�E(��h��92�~��A�Y��΅�#�������)�\$�sHN�ɲT�r�^�A��z�������m�&��LM���g�� +y��r�ا��e�K�P�f�Wd���N�%S�S���)�v�H@W��F��������kijԑB��e��m�a�ʝὟ�l�t��`�ǹ�S�����Y�Q�N���` �2��u�n�H_ab��țZ~�A�9c���k�����y��R�6��ˤps�*�Wv�1�F�.gGwl���]j���}�DW'�1#<p��P,n�G���l,G=�gL��$�:Ͼ1(�0�Gyj��@�O~��b<t^ �ĥѼZ~ ��K���Ioa��;�قg�t[�l"��&o$.��\���wѮ`] lj���۷��� ���dj|�Y�~����$X54o�s��4�p�� �|].c*�X��:�">V�Z�Bv1�1��L,�F#�l'���T�<в��)7�G��Q������6�)���������,�$�梈����7u�(�9:�jK?���@ _�F9�4�>gN1����MA��������6D~��1oW���w*��P��-n�l%��*5U��T~�ՃW߁�&�Jq�(TtːtM�L�7E�O���]�9���+��+O �#!(?(�vnj��.����ʼ����j`�3�4W��W�.���q,�n�vМ"���C���!ET���S���(�Ͼ<7�ڥ�����IZĿ�F�7Sn��C���{�t������R�>�u6��I$#��G��OJ�����*%=����J��(���%}�����9��o.A�K�$[�[K`]�����uh�0pJ�ǵ<��u��=b�z�hm^`�r����0L�@;@�x��<zxݚ�3OT���1���%}r��̀1t c��>l�[7��h�:)E�D���cYT�H��ل��9�g��¡K��l����X&V�!�,J�A�ʢ�� ͩ��������I?&4?��A"!��p}��D��,z���re!V[s�F�~Uw��9݄V1��A� ߢ���9p��I�x���ɋ.��Qmq-�����Nc�aIKa0�,�B�_�0��cJ�;����9ک7E[p�&7&1��'�?���0vD��^���녝��"/���I0��CW1 ~8����I4�Gv���K~-.%�������2��2���82rƙ��P����#��+Z?�5�CwBӠ�������5��|���o ڕ����IMr��j)L����=�V(�"LI�o���� !��o1��6e�k+X��#�s� �F�KSKM�'a��D��2^`xM�ٓ�)ԗ�v���?�_�Dz{�CF���8~�5���ڨ��5�}T��%��,�:�W�?s����:퐥q����}H�q +�q�D��r��^[-��ӻ��(E��2���U[ը���#Rc��}��Dʰ��份��F�/��ъ�s�S|�>��{z���?���U~ r<��r7�1$��{Nݡ�?p�e���7p6eC�U��C���1����Y\A;�\�)�w?������U�}�ğţ+ܡf�Fe �%Z�'�j��G�V�KD4����;��n�(��A��]|��g�Z��m����ĸ���_���x����� ��e��+٢�1O��� �d1r`�� O'Q���uף`aA �Sq���ɩ�S��:jC�yٷG�T0�w����с�+�� �͵��������Jjc�S����m%�kf������!�B�� + e��6`l9�<�s�o�釞����X)��|��n�UC� u����V�0Ɖ��6j���:�G²�c�k��U흝,�ϛnJbc����V��U��]Q0"�0���'L���[�J�_�WI �,�t0 +�����Ј�P� 6�o�"�M�p�3�@�hP��=� 1)vS�����$����t�Pi[1n������g���ˑ�I� �Բ���?��"���?����������ח`q�>6�V��2Z���� c$N���~<��ʮ��碈#��α=8��1r���oQ�W�����-��t47P�|�Cl*�[B%���\?6�}�#��>Ӳ~�:5M���`]EI��Z4ѩ�Kڍ��KYmK�Y��ӥ����h~}(��A�b���97Q�U+�F�6��]��rT�>q;y���H���e.��|�۾_���gJJ��\,��=�XDV%��z���y�*��I����P�"[�L��xV��*�˰b�Q!���U1|��u������H�������d���b�]�"[��ؙ���D�h-H���G����DB [G.��u�4~˹�)�(�9/T�|�(m�5�<M��Z�k�D�Q<��G�1���¸>�w�z$R��0T��D�{�x�$�dž4J��_��_&� ���P=��dЊfH!� �O�=�j�Ў�����9Ԅ���q��\+�s�'� Y��yH�;:cd��/W�������~���F�V�ͥw���ʹ�+3>H-�����r�_ +�5\���F3�%���v7���ֺ^�TU{���vc�8T�C�~5œ/�N�m�]ݕ�K����J�/���}+7�q���+uD��İMP 9�%|!Mi�QE)��>�0n4>G�� 7���FjV&��nJ�a�Ý*�:���d��`t*Uk*���9C�::���+ gʮR���ᬤFpy��'Dm�4�to�� +0nf��=���d?M\��SN��0�HG{��p��ݦf� �/j��L^Y�XO����}*���:zؿ�Z�������wGP��H:��7v!R�Q�Ҝ>�q���a�wKxt�F�{~��04�I�UҘQ�="ՊQ>�aj�gG���+{Q@�nrM����n�-s3#4��IPw���a�d�������̈́�@��e?�ZZ<�&�=P�J�f�������Ǩ����'���擄�1�� �6�ңw����[18�W�%܂�P@�1��Ǜ�"�g��I�����Y-#�}�J����&� +ɱ�he���K����sOyu�+&�pq�q���s�o[�z&_��=�mGFX��Y+8)T���^�aF?(��ޫCCg'�*�R�o����N[툪w1d����9t��� F��������d���:`�SX�g� �k$N0�,/�aD����J^f�*�K�+G��7Br"���s�0�\�WЪu���醊S.��FI�N�=�r�(/s�E�N��p�G(�r�pE�h��o�$�.((]A����je��{�ȈX��&ղ +�y�u�py�LV5B�ر1���Bc��L��y5��r��@�?H��t�k��ј��i��2��=̏�������6ɹ�_2���@�z���vBVE��P��<�C%2fT~YA���"6�p3�C�RJݔ�����C�,�^Sl+[���/��Y\m �������N/B#�����#�rv��ov�p�_ z�2�e. �x�^C��8�$WU�G���H��7Ń�-���R[ྡྷ�pdžvmh�yE�.�?�9�� � `N:�ũ#<{��G��ʜ�e�h��W��`��� Ka�ե�#�����h��z�>��h�}"�}_��)ǁ�l��2�����H +R +Uh�&�N�{����4��G�9�as8��@����{��p�3�t��z�SݗM�>�ّ�]���������f �4*W< +Hk(7ʴC¬f"Oɟ����^�����/�������hMe������Չ?��5:�f�c��p7x�l䗫\���=����AAO����TE��}yC�" �5R`������f�夞��U>�����e7;�s[W 3ΥF!�*���)v��-�y��� +�l�I�k��UY���樰C$�jGU +f��������5���&����\���)|�ђpz�y]nl�N��ʥ)�^wX�5�'�w�S7��|ܝC��8��ڵ �_\�1o�k��44���k��>��Fw��1����1��,�Й*t_�Q�w@�7��������vķ���.?*��ѧ���F�˿2�,$fT ��J��]��_���;I}�eg������� +����Z�M�_��z��?j��;�\����G���*�5�'(:ȴi�ï�\Y�3���x�$W�l��=X������\���*���ףn/�ϡ.�+���1秈��������}���h�3�x}9�˱dj�Lx��7� >p�d�F�"�vӣ�T|��^㏉ِ���E�>�.�t����%����u3��MГ�WW�[�M�m���r~Z4}�l�W���o����sH{Z��O�阎� <�3L�럊8@(����y:��<D��0�ޜpr3�L�־h,���' �c�"��Gʸ�<{u���7�?�"^ma�s_�!�<�&:S�ґo�4P�� �#ʭS�[�8�T�Cs��ҝE�E�{�½D�6��H��,7�����gs���!�цg�J��Ցo�!��C���_z�����F���{[��K�"�����B'��=���x�T|�>���Z�@�I�g�z����a�<6RVB�NՈS��]��g +�0a�LZ��ت�ez�v�˩_���@<DM�"����"�! +��^�oʚ*n�s�a��4�S�Z5�������셔�*�.�����Ί�Y1�"�zA�9j=��3��5vLѳ0w�V���hͶ�'Ψ�pDڑ7�KǞlf;8����6�Ĵ��,5a㵄��FA��a���H�ouu%��s�ŷFf,��5�ܓvc߾N�m�еr����a-&��l\/�=%}��Yk��b�Ep4P����jIĹ"�k쨇�8t�~���!�� �~� �Y������s]&�����ϋL�"�²��e�,��ã�l��q]�V�r���V{��N�p�\��%�o���Œ��Š:|��R����cǤ=S��*^���'����\%�����) +H��J��fS�?b.I�Τ���}�z�r!t6����͌�����<mR6t�D=,�o���s�Z��5Ez�G��~����'[�E�s�uv��G 'E�QbeQ��W��� ��1�i%�Sߦ=U�v���ՖT�SVkM��i�T/t�܊�� �t���p;��҉�E4��'�|ew���I���A@&��<�P*�0ʰ��乺��6�����=~E�f��>[��S厂�_��ej�N��N^�Qޯ�a���� u�S�5�Pr�z��P�5���0_�!o�yZx�.���aA� �N�?����D��5�>P����(�Sq���h�kM����_�ƣ��HK `�9�o��I������Wv�Zd(�3�'�/|��h8��^�v��V��)�7蕪a������C?�:����d�i���_1^�$ +����iݽ�*��'�v �#�Y!韫���f�-���锆_�'���!�Fv�8�d)/v`+� '�f3}�z�V�^se�7�����>���a�٢m�eo�F��8=z�l��!���W؟��-��A�|�R�݊5�QQ;�H ��@u���� "Ĉ�� �7[*v��LP�(E��&�d]XT�F�WF�?�qnF����v#:�G��"/8/��Ԩ~xͪvͰA�T\��Qц C��U��{$`qpr�;�'z~����Ї,�]��+���S�0F�C�.���I�l�rV�g ���:6��X���Mʱ���>�uΛ̚4��:��ӕ�:����劃Xa��C2�_(�������>dΦ�Ԙt(�`8�>9�X`�W��Q�����L�`=��]4s�2��J<�20�/�?���n��[~�����4��Y�hvs��y�����-vS���vh�@4�7��@�Vo��|�!���w�S�t�~����x�4�6ͳ�" ���. + �,�*���`�'�feǘ7��YF�{�,����Z��il�4��ā� +t�j&�Pb+%4�7��T���V��d�Rb�"t p��#�D� +��!��uE8�����c2�&���Q����> ���o��<�n�jޓP���Z�`�`���G?O�I��,�{����� �"%����+)�� ���K�����b�X�h�y��bטc|�ךr��� +���2V%]��F���iaʯo�48��|�M�p:,e�����Y`v��/;<sP�"�s���|���w�V�N�Rց�9!qؓ���)��8V�'@��k��Dz�� �+=d[!*�R�;%�;���I߷MQs���X����c��?�.n�Ӂ�g-T��7�#O�Ŵ���wX!�۰�)��yA��:���<fL��L��i�����=[)q���;-��+�b&�<;�^����o�=�y`�,om(��C�%H=�+~�n��*/�נ�ǧ5�� ��OW����B7��?|�xb^̖&�9��58 +ĥ������k�U`�@d��cxЏN���G_���R�;��+ob�a�p�vDSD%��H�^2�2F�+m��k/��K��|�ƉO�M:e���8�Əس:z,P�T�������y���: =�!8i��r�9*q��fʠc`�Ce:ԥ� +�9�LMkF�66��X�~x�{tHx�����BK�ψ8�l�0��8��[�2�ƾ�J�zmO�jUm��6�VuHNj���+�F��r�E��m��t�A�3�u�me�K�?���������E���te���s���d[�Vk]�*I_$��\�t�%%J7��$RB�Ρ�W��"/�I�H�yڈ�m(T����ޒ`��kȣ��Z1���f�a!�4�� y�I�&�3=H��� ���>2���5A�X��x�R��d����~�h͡p�� +�q�/J�y�0��'�1�B�H=g�y�t��=��MH ��V��1wPE����ӝ����JIQ��>b.������������]���]�����endstream endobj 1250 0 obj << /Type /Font /Subtype /Type1 -/Encoding 5309 0 R +/Encoding 5300 0 R /FirstChar 2 /LastChar 122 -/Widths 5318 0 R -/BaseFont /POTVUF+NimbusSanL-Bold +/Widths 5309 0 R +/BaseFont /IWPJNL+NimbusSanL-Bold /FontDescriptor 1248 0 R >> endobj 1248 0 obj << /Ascent 722 /CapHeight 722 /Descent -217 -/FontName /POTVUF+NimbusSanL-Bold +/FontName /IWPJNL+NimbusSanL-Bold /ItalicAngle 0 /StemV 141 /XHeight 532 @@ -23229,165 +23132,159 @@ endobj /CharSet (/fi/fl/exclam/quotedbl/ampersand/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) /FontFile 1249 0 R >> endobj -5318 0 obj +5309 0 obj [611 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 474 0 0 0 722 278 333 333 0 0 278 333 278 278 556 556 556 556 556 556 556 556 556 556 333 0 0 0 0 0 0 722 722 722 722 667 611 778 722 278 556 722 611 833 722 778 667 778 722 667 611 722 667 944 667 667 611 0 0 0 0 556 0 556 611 556 611 556 333 611 611 278 278 556 278 889 611 611 611 611 389 556 333 611 556 778 556 556 500 ] endobj 1251 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R +/Parent 5310 0 R /Kids [1242 0 R 1253 0 R 1260 0 R 1405 0 R 1550 0 R 1695 0 R] >> endobj 1938 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R -/Kids [1843 0 R 1986 0 R 2011 0 R 2018 0 R 2038 0 R 2090 0 R] +/Parent 5310 0 R +/Kids [1843 0 R 1986 0 R 2011 0 R 2018 0 R 2036 0 R 2091 0 R] >> endobj -2131 0 obj << +2132 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R -/Kids [2097 0 R 2133 0 R 2155 0 R 2186 0 R 2242 0 R 2295 0 R] +/Parent 5310 0 R +/Kids [2098 0 R 2134 0 R 2156 0 R 2187 0 R 2243 0 R 2296 0 R] >> endobj -2341 0 obj << +2342 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R -/Kids [2314 0 R 2343 0 R 2372 0 R 2406 0 R 2447 0 R 2482 0 R] +/Parent 5310 0 R +/Kids [2315 0 R 2344 0 R 2373 0 R 2407 0 R 2448 0 R 2483 0 R] >> endobj -2551 0 obj << +2552 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R -/Kids [2512 0 R 2553 0 R 2596 0 R 2631 0 R 2661 0 R 2692 0 R] +/Parent 5310 0 R +/Kids [2513 0 R 2554 0 R 2597 0 R 2632 0 R 2662 0 R 2693 0 R] >> endobj -2743 0 obj << +2744 0 obj << /Type /Pages /Count 6 -/Parent 5319 0 R -/Kids [2720 0 R 2745 0 R 2782 0 R 2799 0 R 2823 0 R 2850 0 R] +/Parent 5310 0 R +/Kids [2721 0 R 2746 0 R 2781 0 R 2798 0 R 2824 0 R 2851 0 R] >> endobj -2913 0 obj << +2922 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [2874 0 R 2915 0 R 2943 0 R 2978 0 R 3013 0 R 3024 0 R] +/Parent 5311 0 R +/Kids [2879 0 R 2924 0 R 2950 0 R 2982 0 R 3020 0 R 3058 0 R] >> endobj -3103 0 obj << +3122 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [3062 0 R 3105 0 R 3128 0 R 3148 0 R 3176 0 R 3219 0 R] +/Parent 5311 0 R +/Kids [3100 0 R 3124 0 R 3144 0 R 3172 0 R 3215 0 R 3251 0 R] >> endobj -3274 0 obj << +3285 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [3255 0 R 3276 0 R 3290 0 R 3333 0 R 3378 0 R 3402 0 R] +/Parent 5311 0 R +/Kids [3269 0 R 3287 0 R 3329 0 R 3372 0 R 3399 0 R 3446 0 R] >> endobj -3476 0 obj << +3503 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [3451 0 R 3478 0 R 3509 0 R 3532 0 R 3569 0 R 3613 0 R] +/Parent 5311 0 R +/Kids [3477 0 R 3505 0 R 3529 0 R 3566 0 R 3613 0 R 3652 0 R] >> endobj -3689 0 obj << +3739 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [3653 0 R 3691 0 R 3737 0 R 3769 0 R 3789 0 R 3823 0 R] +/Parent 5311 0 R +/Kids [3690 0 R 3741 0 R 3770 0 R 3803 0 R 3831 0 R 3855 0 R] >> endobj -3870 0 obj << +3913 0 obj << /Type /Pages /Count 6 -/Parent 5320 0 R -/Kids [3843 0 R 3872 0 R 3907 0 R 3943 0 R 3972 0 R 3977 0 R] +/Parent 5311 0 R +/Kids [3885 0 R 3915 0 R 3958 0 R 3972 0 R 4002 0 R 4075 0 R] >> endobj -4078 0 obj << +4118 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4007 0 R 4081 0 R 4097 0 R 4125 0 R 4176 0 R 4210 0 R] +/Parent 5312 0 R +/Kids [4091 0 R 4120 0 R 4171 0 R 4205 0 R 4216 0 R 4250 0 R] >> endobj -4254 0 obj << +4296 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4221 0 R 4256 0 R 4277 0 R 4303 0 R 4326 0 R 4345 0 R] +/Parent 5312 0 R +/Kids [4271 0 R 4298 0 R 4321 0 R 4340 0 R 4353 0 R 4368 0 R] >> endobj -4372 0 obj << +4444 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4358 0 R 4374 0 R 4411 0 R 4451 0 R 4490 0 R 4520 0 R] +/Parent 5312 0 R +/Kids [4405 0 R 4446 0 R 4485 0 R 4515 0 R 4531 0 R 4547 0 R] >> endobj -4551 0 obj << +4582 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4536 0 R 4553 0 R 4571 0 R 4589 0 R 4596 0 R 4624 0 R] +/Parent 5312 0 R +/Kids [4565 0 R 4584 0 R 4591 0 R 4619 0 R 4650 0 R 4678 0 R] >> endobj -4682 0 obj << +4738 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4655 0 R 4684 0 R 4720 0 R 4745 0 R 4763 0 R 4773 0 R] +/Parent 5312 0 R +/Kids [4714 0 R 4740 0 R 4758 0 R 4768 0 R 4795 0 R 4820 0 R] >> endobj -4824 0 obj << +4855 0 obj << /Type /Pages /Count 6 -/Parent 5321 0 R -/Kids [4800 0 R 4826 0 R 4853 0 R 4862 0 R 4906 0 R 4936 0 R] +/Parent 5312 0 R +/Kids [4847 0 R 4857 0 R 4901 0 R 4931 0 R 4961 0 R 4992 0 R] >> endobj -4996 0 obj << +5011 0 obj << /Type /Pages /Count 6 -/Parent 5322 0 R -/Kids [4966 0 R 4998 0 R 5002 0 R 5018 0 R 5029 0 R 5066 0 R] +/Parent 5313 0 R +/Kids [4996 0 R 5013 0 R 5024 0 R 5061 0 R 5073 0 R 5086 0 R] >> endobj -5090 0 obj << +5141 0 obj << /Type /Pages /Count 6 -/Parent 5322 0 R -/Kids [5078 0 R 5092 0 R 5098 0 R 5148 0 R 5180 0 R 5207 0 R] ->> endobj -5272 0 obj << -/Type /Pages -/Count 2 -/Parent 5322 0 R -/Kids [5245 0 R 5274 0 R] +/Parent 5313 0 R +/Kids [5092 0 R 5143 0 R 5175 0 R 5202 0 R 5237 0 R 5265 0 R] >> endobj -5319 0 obj << +5310 0 obj << /Type /Pages /Count 36 -/Parent 5323 0 R -/Kids [1251 0 R 1938 0 R 2131 0 R 2341 0 R 2551 0 R 2743 0 R] +/Parent 5314 0 R +/Kids [1251 0 R 1938 0 R 2132 0 R 2342 0 R 2552 0 R 2744 0 R] >> endobj -5320 0 obj << +5311 0 obj << /Type /Pages /Count 36 -/Parent 5323 0 R -/Kids [2913 0 R 3103 0 R 3274 0 R 3476 0 R 3689 0 R 3870 0 R] +/Parent 5314 0 R +/Kids [2922 0 R 3122 0 R 3285 0 R 3503 0 R 3739 0 R 3913 0 R] >> endobj -5321 0 obj << +5312 0 obj << /Type /Pages /Count 36 -/Parent 5323 0 R -/Kids [4078 0 R 4254 0 R 4372 0 R 4551 0 R 4682 0 R 4824 0 R] +/Parent 5314 0 R +/Kids [4118 0 R 4296 0 R 4444 0 R 4582 0 R 4738 0 R 4855 0 R] >> endobj -5322 0 obj << +5313 0 obj << /Type /Pages -/Count 14 -/Parent 5323 0 R -/Kids [4996 0 R 5090 0 R 5272 0 R] +/Count 12 +/Parent 5314 0 R +/Kids [5011 0 R 5141 0 R] >> endobj -5323 0 obj << +5314 0 obj << /Type /Pages -/Count 122 -/Kids [5319 0 R 5320 0 R 5321 0 R 5322 0 R] +/Count 120 +/Kids [5310 0 R 5311 0 R 5312 0 R 5313 0 R] >> endobj -5324 0 obj << +5315 0 obj << /Type /Outlines /First 3 0 R /Last 1235 0 R @@ -23401,7 +23298,7 @@ endobj 1235 0 obj << /Title 1236 0 R /A 1233 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1223 0 R /First 1239 0 R /Last 1239 0 R @@ -23423,7 +23320,7 @@ endobj 1223 0 obj << /Title 1224 0 R /A 1221 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1211 0 R /Next 1235 0 R /First 1227 0 R @@ -23446,7 +23343,7 @@ endobj 1211 0 obj << /Title 1212 0 R /A 1209 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1199 0 R /Next 1223 0 R /First 1215 0 R @@ -23469,7 +23366,7 @@ endobj 1199 0 obj << /Title 1200 0 R /A 1197 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1191 0 R /Next 1211 0 R /First 1203 0 R @@ -23484,7 +23381,7 @@ endobj 1191 0 obj << /Title 1192 0 R /A 1189 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1175 0 R /Next 1199 0 R /First 1195 0 R @@ -23514,7 +23411,7 @@ endobj 1175 0 obj << /Title 1176 0 R /A 1173 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1163 0 R /Next 1191 0 R /First 1179 0 R @@ -23537,7 +23434,7 @@ endobj 1163 0 obj << /Title 1164 0 R /A 1161 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1155 0 R /Next 1175 0 R /First 1167 0 R @@ -23552,7 +23449,7 @@ endobj 1155 0 obj << /Title 1156 0 R /A 1153 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1147 0 R /Next 1163 0 R /First 1159 0 R @@ -23567,7 +23464,7 @@ endobj 1147 0 obj << /Title 1148 0 R /A 1145 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1135 0 R /Next 1155 0 R /First 1151 0 R @@ -23590,7 +23487,7 @@ endobj 1135 0 obj << /Title 1136 0 R /A 1133 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1115 0 R /Next 1147 0 R /First 1139 0 R @@ -23627,7 +23524,7 @@ endobj 1115 0 obj << /Title 1116 0 R /A 1113 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1099 0 R /Next 1135 0 R /First 1119 0 R @@ -23657,7 +23554,7 @@ endobj 1099 0 obj << /Title 1100 0 R /A 1097 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1087 0 R /Next 1115 0 R /First 1103 0 R @@ -23680,7 +23577,7 @@ endobj 1087 0 obj << /Title 1088 0 R /A 1085 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1079 0 R /Next 1099 0 R /First 1091 0 R @@ -23695,7 +23592,7 @@ endobj 1079 0 obj << /Title 1080 0 R /A 1077 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1075 0 R /Next 1087 0 R /First 1083 0 R @@ -23705,7 +23602,7 @@ endobj 1075 0 obj << /Title 1076 0 R /A 1073 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1023 0 R /Next 1079 0 R >> endobj @@ -23794,7 +23691,7 @@ endobj 1023 0 obj << /Title 1024 0 R /A 1021 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 1007 0 R /Next 1075 0 R /First 1027 0 R @@ -23823,7 +23720,7 @@ endobj 1007 0 obj << /Title 1008 0 R /A 1005 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 995 0 R /Next 1023 0 R /First 1011 0 R @@ -23845,7 +23742,7 @@ endobj 995 0 obj << /Title 996 0 R /A 993 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 959 0 R /Next 1007 0 R /First 999 0 R @@ -23909,7 +23806,7 @@ endobj 959 0 obj << /Title 960 0 R /A 957 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 911 0 R /Next 995 0 R /First 963 0 R @@ -23995,7 +23892,7 @@ endobj 911 0 obj << /Title 912 0 R /A 909 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 715 0 R /Next 959 0 R /First 915 0 R @@ -24349,7 +24246,7 @@ endobj 715 0 obj << /Title 716 0 R /A 713 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 679 0 R /Next 911 0 R /First 719 0 R @@ -24416,7 +24313,7 @@ endobj 679 0 obj << /Title 680 0 R /A 677 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 367 0 R /Next 715 0 R /First 683 0 R @@ -24977,7 +24874,7 @@ endobj 367 0 obj << /Title 368 0 R /A 365 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 39 0 R /Next 679 0 R /First 371 0 R @@ -25573,7 +25470,7 @@ endobj 39 0 obj << /Title 40 0 R /A 37 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 15 0 R /Next 367 0 R /First 43 0 R @@ -25616,7 +25513,7 @@ endobj 15 0 obj << /Title 16 0 R /A 13 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 11 0 R /Next 39 0 R /First 19 0 R @@ -25626,5385 +25523,5376 @@ endobj 11 0 obj << /Title 12 0 R /A 9 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 7 0 R /Next 15 0 R >> endobj 7 0 obj << /Title 8 0 R /A 5 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Prev 3 0 R /Next 11 0 R >> endobj 3 0 obj << /Title 4 0 R /A 1 0 R -/Parent 5324 0 R +/Parent 5315 0 R /Next 7 0 R >> endobj -5325 0 obj << -/Names [(1.0) 2 0 R (10.0) 958 0 R (10.50.1) 962 0 R (10.51.1) 966 0 R (10.52.1) 970 0 R (10.53.1) 974 0 R (10.54.1) 978 0 R (10.55.1) 982 0 R (10.56.1) 986 0 R (10.57.1) 990 0 R (1000) 2881 0 R (1001) 2882 0 R (1002) 2883 0 R (1003) 2884 0 R (1004) 2885 0 R (1006) 2887 0 R (1007) 2888 0 R (1009) 2891 0 R (101) 2082 0 R (1010) 2892 0 R (1011) 2893 0 R (1012) 2894 0 R (1013) 2895 0 R (1014) 2896 0 R (1015) 2897 0 R (1017) 2898 0 R (1018) 2899 0 R (1019) 2900 0 R (102) 2083 0 R (1020) 2901 0 R (1022) 2902 0 R (1023) 2903 0 R (1024) 2904 0 R (1025) 2905 0 R (1028) 2906 0 R (1029) 2907 0 R (103) 2084 0 R (1031) 2908 0 R (1033) 2910 0 R (1034) 2911 0 R (1035) 2912 0 R (1037) 2918 0 R (1039) 2920 0 R (1040) 2921 0 R (1042) 2922 0 R (1044) 2924 0 R (1045) 2925 0 R (1046) 2926 0 R (1049) 2927 0 R (1051) 2929 0 R (1054) 2930 0 R (1055) 2931 0 R (1056) 2932 0 R (1057) 2933 0 R (1058) 2934 0 R (1059) 2935 0 R (1060) 2936 0 R (1061) 2937 0 R (1062) 2938 0 R (1063) 2939 0 R (1064) 2940 0 R (1065) 2941 0 R (1068) 2946 0 R (1069) 2947 0 R (1070) 2948 0 R (1071) 2949 0 R (1072) 2950 0 R (1073) 2951 0 R (1074) 2952 0 R (1075) 2953 0 R (1076) 2954 0 R (1077) 2955 0 R (1078) 2956 0 R (1079) 2957 0 R (1080) 2958 0 R (1081) 2959 0 R (1082) 2960 0 R (1083) 2961 0 R (1084) 2962 0 R (1085) 2963 0 R (1086) 2964 0 R (1087) 2965 0 R (1090) 2966 0 R (1091) 2967 0 R (1092) 2968 0 R (1093) 2969 0 R (1094) 2970 0 R (1095) 2971 0 R (1096) 2972 0 R (1097) 2973 0 R (1098) 2974 0 R (1099) 2975 0 R (11.0) 994 0 R (11.58.1) 998 0 R (11.59.1) 1002 0 R (1100) 2976 0 R (1101) 2981 0 R (1102) 2982 0 R (1103) 2983 0 R (1107) 2985 0 R (1108) 2986 0 R (1109) 2987 0 R (1110) 2988 0 R (1111) 2989 0 R (1112) 2990 0 R (1113) 2991 0 R (1114) 2992 0 R (1116) 2994 0 R (1117) 2995 0 R (1118) 2996 0 R (1119) 2997 0 R (1120) 2998 0 R (1121) 2999 0 R (1122) 3000 0 R (1123) 3001 0 R (1124) 3002 0 R (1125) 3003 0 R (1126) 3004 0 R (1127) 3005 0 R (1128) 3006 0 R (1129) 3007 0 R (1130) 3008 0 R (1131) 3009 0 R (1133) 3011 0 R (1136) 3016 0 R (1137) 3017 0 R (1139) 3019 0 R (1140) 3020 0 R (1141) 3021 0 R (1142) 3022 0 R (1147) 3027 0 R (1150) 3028 0 R (1151) 3029 0 R (1153) 3030 0 R (1155) 3031 0 R (1156) 3032 0 R (1157) 3033 0 R (1159) 3034 0 R (1160) 3035 0 R (1161) 3036 0 R (1162) 3037 0 R (1163) 3038 0 R (1164) 3039 0 R (1165) 3040 0 R (1167) 3041 0 R (1168) 3042 0 R (1169) 3043 0 R (1170) 3044 0 R (1171) 3045 0 R (1172) 3046 0 R (1173) 3047 0 R (1175) 3048 0 R (1176) 3049 0 R (1177) 3050 0 R (1178) 3051 0 R (1179) 3052 0 R (1180) 3053 0 R (1181) 3054 0 R (1183) 3055 0 R (1184) 3056 0 R (1185) 3057 0 R (1187) 3058 0 R (1188) 3059 0 R (1189) 3060 0 R (1190) 3065 0 R (1191) 3066 0 R (1192) 3067 0 R (1194) 3068 0 R (1195) 3069 0 R (1196) 3070 0 R (1197) 3071 0 R (1198) 3072 0 R (1199) 3073 0 R (12.0) 1006 0 R (12.60.1) 1010 0 R (12.61.1) 1014 0 R (12.62.1) 1018 0 R (1200) 3074 0 R (1202) 3075 0 R (1203) 3076 0 R (1204) 3077 0 R (1205) 3078 0 R (1206) 3079 0 R (1207) 3080 0 R (1208) 3081 0 R (1210) 3082 0 R (1211) 3083 0 R (1212) 3084 0 R (1213) 3085 0 R (1214) 3086 0 R (1215) 3087 0 R (1216) 3088 0 R (1218) 3089 0 R (1219) 3090 0 R (1220) 3091 0 R (1221) 3092 0 R (1222) 3093 0 R (1223) 3094 0 R (1225) 3095 0 R (1226) 3096 0 R (1227) 3097 0 R (1228) 3098 0 R (1229) 3099 0 R (1231) 3100 0 R (1232) 3101 0 R (1233) 3102 0 R (1236) 3108 0 R (1239) 3109 0 R (1240) 3110 0 R (1242) 3111 0 R (1243) 3112 0 R (1244) 3113 0 R (1245) 3114 0 R (1247) 3115 0 R (1248) 3116 0 R (1249) 3117 0 R (1250) 3118 0 R (1253) 3119 0 R (1256) 3120 0 R (1257) 3121 0 R (1259) 3122 0 R (1260) 3123 0 R (1261) 3124 0 R (1262) 3125 0 R (1263) 3126 0 R (1264) 3131 0 R (1266) 3132 0 R (1267) 3133 0 R (1268) 3134 0 R (1271) 3135 0 R (1272) 3136 0 R (1274) 3137 0 R (1275) 3138 0 R (1276) 3139 0 R (1278) 3140 0 R (1279) 3141 0 R (1280) 3142 0 R (1283) 3143 0 R (1284) 3144 0 R (1287) 3145 0 R (1288) 3146 0 R (1291) 3151 0 R (1293) 3153 0 R (1295) 3154 0 R (1296) 3155 0 R (1297) 3156 0 R (1299) 3157 0 R (13.0) 1022 0 R (13.63.1) 1026 0 R (13.64.1) 1030 0 R (13.65.1) 1034 0 R (13.66.1) 1038 0 R (13.67.1) 1042 0 R (13.68.1) 1046 0 R (13.69.1) 1050 0 R (13.70.1) 1054 0 R (13.71.1) 1058 0 R (13.72.1) 1062 0 R (13.73.1) 1066 0 R (13.74.1) 1070 0 R (1300) 3158 0 R (1301) 3159 0 R (1304) 3161 0 R (1305) 3162 0 R (1306) 3163 0 R (1310) 3165 0 R (1311) 3166 0 R (1312) 3167 0 R (1313) 3168 0 R (1314) 3169 0 R (1317) 3171 0 R (1318) 3172 0 R (1319) 3173 0 R (1322) 3180 0 R (1323) 3181 0 R (1324) 3182 0 R (1325) 3183 0 R (1326) 3184 0 R (1329) 3186 0 R (1330) 3187 0 R (1331) 3188 0 R (1332) 3189 0 R (1333) 3190 0 R (1334) 3191 0 R (1335) 3192 0 R (1336) 3193 0 R (1337) 3194 0 R (1338) 3195 0 R (1339) 3196 0 R (1340) 3197 0 R (1343) 3199 0 R (1344) 3200 0 R (1345) 3201 0 R (1346) 3202 0 R (1349) 3204 0 R (1350) 3205 0 R (1351) 3206 0 R (1352) 3207 0 R (1355) 3209 0 R (1356) 3210 0 R (1357) 3211 0 R (1358) 3212 0 R (1361) 3214 0 R (1362) 3215 0 R (1363) 3216 0 R (1364) 3217 0 R (1367) 3222 0 R (1368) 3223 0 R (1369) 3224 0 R (1371) 3226 0 R (1372) 3227 0 R (1375) 3229 0 R (1376) 3230 0 R (1377) 3231 0 R (1378) 3232 0 R (1379) 3233 0 R (1382) 3235 0 R (1383) 3236 0 R (1386) 3238 0 R (1387) 3239 0 R (1390) 3241 0 R (1391) 3242 0 R (1392) 3243 0 R (1393) 3244 0 R (1396) 3245 0 R (1397) 3246 0 R (1399) 3247 0 R (14.0) 1074 0 R (1400) 3248 0 R (1401) 3249 0 R (1402) 3250 0 R (1404) 3251 0 R (1405) 3252 0 R (1406) 3253 0 R (1408) 3258 0 R (1409) 3259 0 R (1410) 3260 0 R (1412) 3261 0 R (1413) 3262 0 R (1414) 3263 0 R (1416) 3264 0 R (1417) 3265 0 R (1418) 3266 0 R (1421) 3267 0 R (1424) 3268 0 R (1427) 3269 0 R (1428) 3270 0 R (1429) 3271 0 R (1430) 3272 0 R (1431) 3273 0 R (1434) 3279 0 R (1439) 3280 0 R (1440) 3281 0 R (1441) 3282 0 R (1446) 3283 0 R (1447) 3284 0 R (1448) 3285 0 R (1449) 3286 0 R (1450) 3287 0 R (1451) 3288 0 R (1456) 3294 0 R (1457) 3295 0 R (1458) 3296 0 R (1459) 3297 0 R (1463) 3300 0 R (1464) 3301 0 R (1465) 3302 0 R (1466) 3303 0 R (1467) 3304 0 R (1468) 3305 0 R (1469) 3306 0 R (1470) 3307 0 R (1471) 3308 0 R (1472) 3309 0 R (1473) 3310 0 R (1476) 3311 0 R (1477) 3312 0 R (1478) 3313 0 R (1479) 3314 0 R (1480) 3315 0 R (1481) 3316 0 R (1482) 3317 0 R (1483) 3318 0 R (1484) 3319 0 R (1485) 3320 0 R (1486) 3321 0 R (1487) 3322 0 R (1488) 3323 0 R (1489) 3324 0 R (1490) 3325 0 R (1491) 3326 0 R (1492) 3327 0 R (1493) 3328 0 R (1494) 3329 0 R (1495) 3330 0 R (1496) 3331 0 R (1497) 3337 0 R (1498) 3338 0 R (1499) 3339 0 R (15.0) 1078 0 R (15.74.100.2) 1082 0 R (1500) 3340 0 R (1501) 3341 0 R (1502) 3342 0 R (1503) 3343 0 R (1504) 3344 0 R (1505) 3345 0 R (1506) 3346 0 R (1507) 3347 0 R (1508) 3348 0 R (1509) 3349 0 R (1510) 3350 0 R (1511) 3351 0 R (1512) 3352 0 R (1513) 3353 0 R (1514) 3354 0 R (1515) 3355 0 R (1516) 3356 0 R (1517) 3357 0 R (1518) 3358 0 R (1519) 3359 0 R (1520) 3360 0 R (1521) 3361 0 R (1522) 3362 0 R (1523) 3363 0 R (1524) 3364 0 R (1525) 3365 0 R (1526) 3366 0 R (1527) 3367 0 R (1528) 3368 0 R (1529) 3369 0 R (1530) 3370 0 R (1533) 3371 0 R (1534) 3372 0 R (1538) 3374 0 R (1539) 3375 0 R (1540) 3376 0 R (1541) 3336 0 R (1543) 3382 0 R (1544) 3383 0 R (1545) 3384 0 R (1546) 3385 0 R (1549) 3386 0 R (1550) 3387 0 R (1551) 3388 0 R (1552) 3389 0 R (1553) 3390 0 R (1554) 3391 0 R (1557) 3392 0 R (1560) 3395 0 R (1561) 3396 0 R (1562) 3397 0 R (1563) 3398 0 R (1564) 3399 0 R (1566) 3405 0 R (1567) 3406 0 R (1568) 3407 0 R (1570) 3381 0 R (1571) 3408 0 R (1572) 3409 0 R (1574) 3410 0 R (1575) 3411 0 R (1576) 3412 0 R (1578) 3413 0 R (1579) 3414 0 R (1580) 3415 0 R (1582) 3416 0 R (1583) 3417 0 R (1584) 3418 0 R (1586) 3419 0 R (1587) 3420 0 R (1588) 3421 0 R (1590) 3422 0 R (1591) 3423 0 R (1592) 3424 0 R (1594) 3425 0 R (1595) 3426 0 R (1596) 3427 0 R (1598) 3428 0 R (1599) 3429 0 R (16.0) 1086 0 R (16.74.101.2) 1090 0 R (16.74.101.56.3) 1094 0 R (1600) 3430 0 R (1602) 3431 0 R (1603) 3432 0 R (1604) 3433 0 R (1605) 3434 0 R (1609) 3436 0 R (1610) 3437 0 R (1611) 3438 0 R (1612) 3439 0 R (1613) 3440 0 R (1614) 3441 0 R (1615) 3442 0 R (1616) 3443 0 R (1617) 3444 0 R (1618) 3445 0 R (1619) 3446 0 R (1620) 3447 0 R (1621) 3448 0 R (1625) 3454 0 R (1628) 3455 0 R (1629) 3456 0 R (1631) 3458 0 R (1633) 3460 0 R (1637) 3462 0 R (1638) 3463 0 R (1639) 3464 0 R (164) 2093 0 R (1640) 3465 0 R (1642) 3467 0 R (1643) 3468 0 R (1645) 3470 0 R (1646) 3471 0 R (1647) 3472 0 R (1648) 3473 0 R (1649) 3474 0 R (165) 2094 0 R (1650) 3475 0 R (1651) 3481 0 R (1652) 3482 0 R (1653) 3483 0 R (1654) 3484 0 R (1655) 3485 0 R (1656) 3486 0 R (1657) 3487 0 R (1658) 3488 0 R (1659) 3489 0 R (1660) 3490 0 R (1661) 3491 0 R (1662) 3492 0 R (1663) 3493 0 R (1664) 3494 0 R (1665) 3495 0 R (1666) 3496 0 R (1667) 3497 0 R (1670) 3498 0 R (1671) 3499 0 R (1672) 3500 0 R (1673) 3501 0 R (1674) 3502 0 R (1675) 3503 0 R (1676) 3504 0 R (1677) 3505 0 R (1678) 3506 0 R (1679) 3507 0 R (1680) 3513 0 R (1681) 3514 0 R (1682) 3515 0 R (1683) 3516 0 R (1684) 3517 0 R (1685) 3518 0 R (1686) 3519 0 R (1687) 3520 0 R (1688) 3521 0 R (1689) 3522 0 R (1690) 3523 0 R (1691) 3524 0 R (1692) 3525 0 R (1693) 3526 0 R (1694) 3527 0 R (1695) 3528 0 R (1696) 3529 0 R (1697) 3530 0 R (1698) 3535 0 R (1699) 3512 0 R (17.0) 1098 0 R (17.74.102.2) 1102 0 R (17.74.103.2) 1106 0 R (17.74.104.2) 1110 0 R (170) 2099 0 R (1700) 3536 0 R (1701) 3537 0 R (1705) 3539 0 R (1706) 3540 0 R (1707) 3541 0 R (1708) 3542 0 R (1709) 3543 0 R (171) 2100 0 R (1710) 3544 0 R (1711) 3545 0 R (1712) 3546 0 R (1713) 3547 0 R (1714) 3548 0 R (1715) 3549 0 R (1716) 3550 0 R (1717) 3551 0 R (1718) 3552 0 R (1719) 3553 0 R (172) 2101 0 R (1720) 3554 0 R (1721) 3555 0 R (1722) 3556 0 R (1723) 3557 0 R (1724) 3558 0 R (1725) 3559 0 R (1728) 3560 0 R (1729) 3561 0 R (173) 2105 0 R (1730) 3562 0 R (1731) 3563 0 R (1732) 3564 0 R (1733) 3565 0 R (1734) 3566 0 R (1735) 3567 0 R (1736) 3572 0 R (1739) 3573 0 R (1740) 3574 0 R (1741) 3575 0 R (1742) 3576 0 R (1743) 3577 0 R (1744) 3578 0 R (1745) 3579 0 R (1746) 3580 0 R (1747) 3581 0 R (1748) 3582 0 R (1749) 3583 0 R (175) 2108 0 R (1750) 3584 0 R (1751) 3585 0 R (1754) 3586 0 R (1755) 3587 0 R (1756) 3588 0 R (1757) 3589 0 R (176) 2109 0 R (1760) 3590 0 R (1761) 3591 0 R (1762) 3592 0 R (1763) 3593 0 R (1764) 3594 0 R (1765) 3595 0 R (1766) 3596 0 R (1767) 3597 0 R (1768) 3598 0 R (1769) 3599 0 R (177) 2110 0 R (1770) 3600 0 R (1771) 3601 0 R (1772) 3602 0 R (1773) 3603 0 R (1774) 3604 0 R (1775) 3605 0 R (1776) 3606 0 R (1777) 3607 0 R (1778) 3608 0 R (1779) 3609 0 R (178) 2111 0 R (1780) 3610 0 R (1781) 3611 0 R (1782) 3617 0 R (1783) 3618 0 R (1784) 3619 0 R (1785) 3620 0 R (1786) 3621 0 R (179) 2112 0 R (1791) 3622 0 R (1792) 3623 0 R (1794) 3624 0 R (1795) 3625 0 R (1796) 3626 0 R (1797) 3627 0 R (1799) 3628 0 R (18.0) 1114 0 R (18.74.105.2) 1118 0 R (18.74.106.2) 1122 0 R (18.74.107.2) 1126 0 R (18.74.108.2) 1130 0 R (180) 2113 0 R (1800) 3629 0 R (1801) 3630 0 R (1802) 3631 0 R (1803) 3632 0 R (1805) 3633 0 R (1806) 3634 0 R (1807) 3635 0 R (1808) 3636 0 R (1809) 3637 0 R (181) 2114 0 R (1810) 3638 0 R (1811) 3639 0 R (1814) 3640 0 R (1815) 3641 0 R (1816) 3642 0 R (1817) 3643 0 R (1818) 3644 0 R (1819) 3645 0 R (1820) 3646 0 R (1821) 3647 0 R (1822) 3648 0 R (1823) 3649 0 R (1824) 3650 0 R (1827) 3651 0 R (1830) 3656 0 R (1831) 3616 0 R (1833) 3657 0 R (1834) 3658 0 R (1835) 3659 0 R (1836) 3660 0 R (1837) 3661 0 R (1838) 3662 0 R (1839) 3663 0 R (184) 2116 0 R (1840) 3664 0 R (1841) 3665 0 R (1842) 3666 0 R (1843) 3667 0 R (1844) 3668 0 R (1845) 3669 0 R (1846) 3670 0 R (1847) 3671 0 R (1848) 3672 0 R (1851) 3673 0 R (1852) 3674 0 R (1853) 3675 0 R (1854) 3676 0 R (1855) 3677 0 R (1858) 3678 0 R (1859) 3679 0 R (1860) 3680 0 R (1861) 3681 0 R (1862) 3682 0 R (1865) 3683 0 R (1866) 3684 0 R (187) 2118 0 R (1870) 3686 0 R (1871) 3687 0 R (1874) 3694 0 R (1877) 3696 0 R (1878) 3697 0 R (1879) 3698 0 R (1882) 3700 0 R (1883) 3701 0 R (1884) 3702 0 R (1885) 3703 0 R (1886) 3704 0 R (1887) 3705 0 R (1888) 3706 0 R (1889) 3707 0 R (1890) 3708 0 R (1891) 3709 0 R (1892) 3710 0 R (1893) 3711 0 R (1894) 3712 0 R (1895) 3713 0 R (1896) 3714 0 R (1897) 3715 0 R (1898) 3716 0 R (1899) 3717 0 R (19.0) 1134 0 R (19.74.109.2) 1138 0 R (19.74.110.2) 1142 0 R (190) 2120 0 R (1900) 3718 0 R (1901) 3719 0 R (1902) 3720 0 R (1903) 3721 0 R (1904) 3722 0 R (1905) 3723 0 R (1906) 3724 0 R (1907) 3725 0 R (1908) 3726 0 R (1909) 3727 0 R (1910) 3728 0 R (1911) 3729 0 R (1912) 3730 0 R (1915) 3732 0 R (1916) 3733 0 R (1917) 3734 0 R (1920) 3741 0 R (1921) 3742 0 R (1924) 3744 0 R (1925) 3745 0 R (1926) 3746 0 R (1927) 3747 0 R (1928) 3748 0 R (1929) 3749 0 R (193) 2122 0 R (1932) 3751 0 R (1933) 3752 0 R (1936) 3754 0 R (1937) 3755 0 R (1938) 3756 0 R (1939) 3757 0 R (1942) 3759 0 R (1945) 3761 0 R (1946) 3762 0 R (1947) 3763 0 R (1948) 3764 0 R (1951) 3766 0 R (1952) 3767 0 R (1955) 3773 0 R (1956) 3774 0 R (1957) 3740 0 R (1959) 3775 0 R (196) 2124 0 R (1960) 3776 0 R (1961) 3777 0 R (1962) 3778 0 R (1965) 3779 0 R (1966) 3780 0 R (1968) 3782 0 R (1971) 3783 0 R (1972) 3784 0 R (1973) 3785 0 R (1974) 3786 0 R (1975) 3787 0 R (1978) 3792 0 R (1979) 3772 0 R (1984) 3793 0 R (1985) 3794 0 R (1986) 3795 0 R (1987) 3796 0 R (1988) 3797 0 R (1989) 3798 0 R (199) 2126 0 R (1990) 3799 0 R (1991) 3800 0 R (1999) 3804 0 R (2.0) 6 0 R (20.0) 1146 0 R (20.74.111.2) 1150 0 R (2000) 3805 0 R (2001) 3806 0 R (2002) 3807 0 R (2003) 3808 0 R (2004) 3809 0 R (2006) 3811 0 R (2007) 3812 0 R (2008) 3813 0 R (2009) 3814 0 R (2010) 3815 0 R (2011) 3816 0 R (2014) 3817 0 R (2018) 3819 0 R (2021) 3820 0 R (2022) 3821 0 R (2025) 3826 0 R (2026) 3827 0 R (2027) 3828 0 R (203) 2127 0 R (2030) 3829 0 R (2031) 3830 0 R (2032) 3831 0 R (2033) 3832 0 R (2034) 3833 0 R (2035) 3834 0 R (2036) 3835 0 R (2039) 3836 0 R (204) 2128 0 R (2040) 3837 0 R (2043) 3838 0 R (2044) 3839 0 R (2045) 3840 0 R (2046) 3841 0 R (2047) 3846 0 R (2048) 3847 0 R (2049) 3848 0 R (205) 2129 0 R (2050) 3849 0 R (2051) 3850 0 R (2052) 3851 0 R (2053) 3852 0 R (2054) 3853 0 R (2055) 3854 0 R (2056) 3855 0 R (2057) 3856 0 R (2058) 3857 0 R (206) 2130 0 R (2061) 3858 0 R (2062) 3859 0 R (2063) 3860 0 R (2064) 3861 0 R (2065) 3862 0 R (2066) 3863 0 R (2069) 3864 0 R (2070) 3865 0 R (2071) 3866 0 R (2072) 3867 0 R (2073) 3868 0 R (2074) 3869 0 R (2075) 3875 0 R (2077) 3878 0 R (2078) 3879 0 R (2080) 3881 0 R (2081) 3882 0 R (2083) 3884 0 R (2084) 3885 0 R (2086) 3887 0 R (2087) 3888 0 R (2088) 3889 0 R (209) 2135 0 R (2091) 3890 0 R (2092) 3891 0 R (2093) 3892 0 R (2094) 3893 0 R (2095) 3894 0 R (2096) 3895 0 R (2097) 3896 0 R (2098) 3897 0 R (2099) 3898 0 R (21.0) 1154 0 R (21.74.112.2) 1158 0 R (2100) 3899 0 R (2101) 3900 0 R (2102) 3901 0 R (2103) 3902 0 R (2104) 3903 0 R (2105) 3904 0 R (2106) 3905 0 R (2107) 3910 0 R (2108) 3911 0 R (2112) 3913 0 R (2113) 3914 0 R (2114) 3915 0 R (2115) 3916 0 R (2116) 3917 0 R (2118) 3919 0 R (2119) 3920 0 R (212) 2136 0 R (2121) 3921 0 R (2122) 3922 0 R (2123) 3923 0 R (2124) 3924 0 R (2126) 3925 0 R (2127) 3926 0 R (2128) 3927 0 R (2129) 3928 0 R (213) 2137 0 R (2131) 3929 0 R (2132) 3930 0 R (2133) 3931 0 R (2134) 3932 0 R (2136) 3933 0 R (2137) 3934 0 R (2138) 3935 0 R (2139) 3936 0 R (214) 2138 0 R (2141) 3937 0 R (2142) 3938 0 R (2143) 3939 0 R (2144) 3940 0 R (2147) 3946 0 R (2148) 3947 0 R (2149) 3948 0 R (215) 2139 0 R (2150) 3949 0 R (2154) 3951 0 R (2155) 3952 0 R (2156) 3953 0 R (2157) 3954 0 R (2159) 3956 0 R (216) 2140 0 R (2160) 3957 0 R (2162) 3959 0 R (2163) 3960 0 R (2165) 1692 0 R (2167) 3962 0 R (217) 2141 0 R (2171) 3964 0 R (2172) 3965 0 R (2173) 3966 0 R (2174) 3967 0 R (2175) 3968 0 R (2176) 3969 0 R (2177) 3970 0 R (2178) 3975 0 R (218) 2142 0 R (2181) 3980 0 R (2182) 3981 0 R (2183) 3982 0 R (2188) 3983 0 R (219) 2143 0 R (2191) 3984 0 R (2193) 3986 0 R (2194) 3987 0 R (2195) 3988 0 R (2196) 3989 0 R (2198) 3991 0 R (2199) 3992 0 R (22.0) 1162 0 R (22.74.113.2) 1166 0 R (22.74.114.2) 1170 0 R (220) 2144 0 R (2200) 3993 0 R (2201) 3994 0 R (2202) 3995 0 R (2203) 3996 0 R (2204) 3997 0 R (2205) 3998 0 R (2206) 3999 0 R (2207) 4000 0 R (2208) 4001 0 R (2212) 4002 0 R (2213) 4003 0 R (2218) 4010 0 R (2219) 4011 0 R (2220) 4012 0 R (2221) 4013 0 R (2225) 4016 0 R (2226) 4017 0 R (2227) 4018 0 R (2228) 4019 0 R (2229) 4020 0 R (223) 2145 0 R (2230) 4021 0 R (2232) 4022 0 R (2233) 4023 0 R (2234) 4024 0 R (2235) 4025 0 R (2236) 4026 0 R (2237) 4027 0 R (2238) 4028 0 R (2239) 4029 0 R (224) 2146 0 R (2240) 4030 0 R (2241) 4031 0 R (2242) 4032 0 R (2243) 4033 0 R (2244) 4034 0 R (2245) 4035 0 R (2246) 4036 0 R (2247) 4037 0 R (2248) 4038 0 R (2249) 4039 0 R (225) 2147 0 R (2250) 4040 0 R (2251) 4041 0 R (2252) 4042 0 R (2254) 4043 0 R (2255) 4044 0 R (2256) 4045 0 R (2257) 4046 0 R (2258) 4047 0 R (2259) 4048 0 R (226) 2148 0 R (2260) 4049 0 R (2261) 4050 0 R (2262) 4051 0 R (2264) 4052 0 R (2265) 4053 0 R (2266) 4054 0 R (2267) 4055 0 R (2268) 4056 0 R (2269) 4057 0 R (227) 2149 0 R (2270) 4058 0 R (2271) 4059 0 R (2272) 4060 0 R (2273) 4061 0 R (2274) 4062 0 R (2275) 4063 0 R (2276) 4064 0 R (2277) 4065 0 R (2278) 4066 0 R (2279) 4067 0 R (2280) 4068 0 R (2281) 4069 0 R (2282) 4070 0 R (2283) 4071 0 R (2284) 4072 0 R (2285) 4073 0 R (2286) 4074 0 R (2287) 4075 0 R (2288) 4076 0 R (2289) 4077 0 R (2290) 4084 0 R (2291) 4085 0 R (2292) 4086 0 R (2293) 4087 0 R (2294) 4088 0 R (23.0) 1174 0 R (23.74.115.2) 1178 0 R (23.74.116.2) 1182 0 R (23.74.117.2) 1186 0 R (230) 2150 0 R (2300) 4090 0 R (2301) 4091 0 R (2302) 4092 0 R (2303) 4093 0 R (2304) 4094 0 R (2305) 4095 0 R (231) 2151 0 R (2310) 4100 0 R (2311) 4101 0 R (2312) 4102 0 R (2313) 4103 0 R (2316) 4104 0 R (2317) 4105 0 R (2318) 4106 0 R (2319) 4107 0 R (232) 2152 0 R (2320) 4108 0 R (2321) 4109 0 R (2322) 4110 0 R (2323) 4111 0 R (2324) 4112 0 R (2325) 4113 0 R (2326) 4114 0 R (2327) 4115 0 R (2328) 4116 0 R (2329) 4117 0 R (233) 2153 0 R (2330) 4118 0 R (2331) 4119 0 R (2332) 4120 0 R (2333) 4121 0 R (2334) 4122 0 R (2335) 4123 0 R (2336) 4128 0 R (2337) 4129 0 R (2338) 4130 0 R (2339) 4131 0 R (234) 2157 0 R (2342) 4132 0 R (2343) 4133 0 R (2344) 4134 0 R (2345) 4135 0 R (2346) 4136 0 R (2347) 4137 0 R (2348) 4138 0 R (2369) 4140 0 R (237) 2158 0 R (2370) 4141 0 R (2371) 4142 0 R (2372) 4143 0 R (2373) 4144 0 R (2374) 4145 0 R (2375) 4146 0 R (2376) 4147 0 R (2377) 4148 0 R (2378) 4149 0 R (2379) 4150 0 R (238) 2159 0 R (2380) 4151 0 R (2381) 4152 0 R (2382) 4153 0 R (2383) 4154 0 R (2384) 4155 0 R (2385) 4156 0 R (2386) 4157 0 R (2387) 4158 0 R (2388) 4159 0 R (2389) 4160 0 R (2390) 4161 0 R (2391) 4162 0 R (2392) 4163 0 R (2393) 4164 0 R (2394) 4165 0 R (2395) 4166 0 R (2396) 4167 0 R (2397) 4168 0 R (2398) 4169 0 R (2399) 4170 0 R (24) 2020 0 R (24.0) 1190 0 R (24.74.118.2) 1194 0 R (240) 2161 0 R (2400) 4171 0 R (2401) 4172 0 R (2402) 4173 0 R (2403) 4179 0 R (2404) 4180 0 R (2405) 4181 0 R (2406) 4182 0 R (2407) 4183 0 R (2408) 4184 0 R (2409) 4185 0 R (241) 2162 0 R (2410) 4186 0 R (2411) 4187 0 R (2412) 4188 0 R (2413) 4189 0 R (2414) 4190 0 R (2415) 4191 0 R (242) 2163 0 R (2436) 4193 0 R (2437) 4194 0 R (2438) 4195 0 R (2439) 4196 0 R (2440) 4197 0 R (2441) 4198 0 R (2442) 4199 0 R (2443) 4200 0 R (2444) 4201 0 R (2445) 4202 0 R (2446) 4203 0 R (2447) 4204 0 R (245) 2164 0 R (2450) 4205 0 R (2452) 4207 0 R (2453) 4208 0 R (2456) 4214 0 R (246) 2165 0 R (2461) 4215 0 R (2462) 4216 0 R (2463) 4217 0 R (2464) 4218 0 R (2468) 4224 0 R (2469) 4213 0 R (247) 2166 0 R (2470) 4225 0 R (2471) 4226 0 R (2472) 4227 0 R (2473) 4228 0 R (2474) 4229 0 R (2475) 4230 0 R (2476) 4231 0 R (2477) 4232 0 R (2478) 4233 0 R (2479) 4234 0 R (248) 2167 0 R (2480) 4235 0 R (2481) 4236 0 R (2482) 4237 0 R (2483) 4238 0 R (2484) 4239 0 R (2487) 4240 0 R (2488) 4241 0 R (249) 2168 0 R (2491) 4242 0 R (2492) 4243 0 R (2493) 4244 0 R (2494) 4245 0 R (2495) 4246 0 R (2496) 4247 0 R (2497) 4248 0 R (2498) 4249 0 R (2499) 4250 0 R (25) 2021 0 R (25.0) 1198 0 R (25.74.119.2) 1202 0 R (25.74.120.2) 1206 0 R (250) 2169 0 R (2500) 4251 0 R (2501) 4252 0 R (2502) 4253 0 R (2503) 4259 0 R (2506) 4260 0 R (2507) 4261 0 R (2508) 4262 0 R (2509) 4263 0 R (251) 2170 0 R (2510) 4264 0 R (2511) 4265 0 R (2514) 4266 0 R (2515) 4267 0 R (2516) 4268 0 R (2517) 4269 0 R (2518) 4270 0 R (252) 2171 0 R (2521) 4271 0 R (2524) 4272 0 R (2525) 4273 0 R (2526) 4274 0 R (253) 2172 0 R (254) 2173 0 R (2547) 4280 0 R (255) 2174 0 R (2550) 4281 0 R (2551) 4282 0 R (2553) 4284 0 R (2554) 4285 0 R (2555) 4286 0 R (2556) 4287 0 R (2561) 4288 0 R (2562) 4289 0 R (2563) 4290 0 R (2564) 4291 0 R (2565) 4292 0 R (2566) 4293 0 R (2567) 4294 0 R (2568) 4295 0 R (2569) 4296 0 R (2570) 4297 0 R (2571) 4298 0 R (2572) 4299 0 R (2573) 4300 0 R (2574) 4301 0 R (2575) 4306 0 R (2576) 4307 0 R (2577) 4308 0 R (2578) 4309 0 R (2579) 4310 0 R (258) 2175 0 R (2580) 4311 0 R (2581) 4312 0 R (2582) 4313 0 R (2583) 4314 0 R (2584) 4315 0 R (2585) 4316 0 R (2586) 4317 0 R (2587) 4318 0 R (2588) 4319 0 R (2589) 4320 0 R (259) 2176 0 R (2590) 4321 0 R (2593) 4322 0 R (2594) 4323 0 R (2595) 4324 0 R (2598) 4329 0 R (2599) 4330 0 R (26) 2022 0 R (26.0) 1210 0 R (26.74.121.2) 1214 0 R (26.74.122.2) 1218 0 R (2600) 4331 0 R (2601) 4332 0 R (2602) 4333 0 R (2603) 4334 0 R (2604) 4335 0 R (2605) 4336 0 R (2606) 4337 0 R (2607) 4338 0 R (261) 2178 0 R (2610) 4339 0 R (2611) 4340 0 R (2612) 4341 0 R (262) 2179 0 R (2622) 4343 0 R (2625) 4349 0 R (2628) 4350 0 R (263) 2180 0 R (2631) 4351 0 R (2634) 4352 0 R (2637) 4353 0 R (2638) 4354 0 R (264) 2181 0 R (2641) 4355 0 R (2644) 4356 0 R (2645) 1831 0 R (2647) 4362 0 R (2648) 4363 0 R (2649) 4348 0 R (265) 2182 0 R (2658) 4365 0 R (266) 2183 0 R (2661) 4366 0 R (2662) 4367 0 R (2665) 4368 0 R (2668) 4369 0 R (2669) 4370 0 R (267) 2188 0 R (2670) 4371 0 R (2673) 4377 0 R (2674) 4378 0 R (2675) 4361 0 R (2677) 4379 0 R (2678) 4380 0 R (2679) 4381 0 R (268) 2189 0 R (2682) 4382 0 R (2685) 4383 0 R (2686) 4384 0 R (2687) 4385 0 R (2688) 4386 0 R (2689) 4387 0 R (2690) 4388 0 R (2691) 4389 0 R (2692) 4390 0 R (2693) 4391 0 R (2694) 4392 0 R (2695) 4393 0 R (2696) 4394 0 R (2697) 4395 0 R (2698) 4396 0 R (2699) 4397 0 R (27.0) 1222 0 R (27.74.123.2) 1226 0 R (27.74.124.2) 1230 0 R (2700) 4398 0 R (2701) 4399 0 R (2702) 4400 0 R (2703) 4401 0 R (2704) 4402 0 R (2705) 4403 0 R (2706) 4404 0 R (2709) 4405 0 R (271) 2192 0 R (2710) 4406 0 R (2711) 4407 0 R (2712) 4408 0 R (2713) 4409 0 R (2714) 4414 0 R (2715) 4415 0 R (2716) 4416 0 R (2717) 4417 0 R (2718) 4418 0 R (2719) 4419 0 R (272) 2193 0 R (2720) 4420 0 R (2721) 4421 0 R (2722) 4422 0 R (2723) 4423 0 R (2724) 4424 0 R (2725) 4425 0 R (2726) 4426 0 R (2727) 4427 0 R (2728) 4428 0 R (2729) 4429 0 R (273) 2194 0 R (2730) 4430 0 R (2731) 4431 0 R (2732) 4432 0 R (2733) 4433 0 R (2734) 4434 0 R (2735) 4435 0 R (2736) 4436 0 R (2737) 4437 0 R (2738) 4438 0 R (2739) 4439 0 R (274) 2195 0 R (2740) 4440 0 R (2741) 4441 0 R (2742) 4442 0 R (2743) 4443 0 R (2744) 4444 0 R (2745) 4445 0 R (2746) 4446 0 R (2747) 4447 0 R (2748) 4448 0 R (2749) 4449 0 R (275) 2196 0 R (2750) 4455 0 R (2751) 4456 0 R (2752) 4457 0 R (2753) 4458 0 R (2756) 4459 0 R (276) 2197 0 R (2760) 4461 0 R (2761) 4462 0 R (2762) 4463 0 R (2765) 4464 0 R (2766) 4465 0 R (2767) 4466 0 R (2768) 4467 0 R (277) 2198 0 R (2770) 4468 0 R (2771) 4469 0 R (2772) 4470 0 R (2774) 4471 0 R (2775) 4472 0 R (2776) 4473 0 R (2778) 4474 0 R (2779) 4475 0 R (278) 2199 0 R (2780) 4476 0 R (2782) 4477 0 R (2783) 4478 0 R (2784) 4479 0 R (2786) 4480 0 R (2787) 4481 0 R (2788) 4482 0 R (279) 2200 0 R (2790) 4483 0 R (2791) 4484 0 R (2792) 4485 0 R (2794) 4486 0 R (2795) 4487 0 R (2796) 4488 0 R (2798) 4493 0 R (2799) 4494 0 R (28) 2024 0 R (28.0) 1234 0 R (28.74.125.2) 1238 0 R (280) 2201 0 R (2800) 4495 0 R (2802) 4454 0 R (2803) 4496 0 R (2804) 4497 0 R (2806) 4498 0 R (2807) 4499 0 R (2808) 4500 0 R (281) 2202 0 R (2810) 4501 0 R (2811) 4502 0 R (2812) 4503 0 R (2814) 4504 0 R (2815) 4505 0 R (2816) 4506 0 R (2818) 4507 0 R (2819) 4508 0 R (282) 2203 0 R (2820) 4509 0 R (2821) 4510 0 R (2822) 4511 0 R (2826) 4513 0 R (2829) 4514 0 R (283) 2204 0 R (2830) 4515 0 R (2831) 4516 0 R (2832) 4517 0 R (2833) 4518 0 R (2836) 4523 0 R (2837) 4524 0 R (2838) 4525 0 R (2839) 4526 0 R (284) 2205 0 R (2840) 4527 0 R (2841) 4528 0 R (2842) 1942 0 R (2844) 4529 0 R (2845) 4530 0 R (2846) 4531 0 R (2847) 4532 0 R (2848) 4533 0 R (285) 2206 0 R (2851) 4534 0 R (2852) 4540 0 R (2855) 4541 0 R (2856) 4542 0 R (2857) 4543 0 R (2858) 4544 0 R (2859) 4545 0 R (286) 2207 0 R (2860) 4546 0 R (2861) 4547 0 R (2862) 4548 0 R (2865) 4549 0 R (2866) 4550 0 R (2867) 4556 0 R (2868) 4557 0 R (2869) 4539 0 R (287) 2208 0 R (2870) 4558 0 R (2872) 4560 0 R (2873) 4561 0 R (2877) 4563 0 R (2878) 4564 0 R (2879) 4565 0 R (288) 2209 0 R (2882) 4566 0 R (2883) 4567 0 R (2884) 4568 0 R (2885) 4569 0 R (2886) 4574 0 R (2887) 4575 0 R (2888) 4576 0 R (2889) 4577 0 R (289) 2210 0 R (2892) 4578 0 R (2893) 4579 0 R (2894) 4580 0 R (2896) 4582 0 R (2897) 4583 0 R (2898) 4584 0 R (2899) 4585 0 R (290) 2211 0 R (2900) 4586 0 R (2901) 4587 0 R (2902) 1949 0 R (2904) 4592 0 R (2905) 4593 0 R (2906) 4594 0 R (291) 2212 0 R (2911) 4599 0 R (2912) 4600 0 R (2913) 4601 0 R (2916) 4602 0 R (2917) 4603 0 R (2918) 4604 0 R (2919) 4605 0 R (292) 2213 0 R (2920) 4606 0 R (2921) 4607 0 R (2922) 4608 0 R (2923) 4609 0 R (2924) 4610 0 R (2925) 4611 0 R (2926) 4612 0 R (2929) 4613 0 R (293) 2214 0 R (2930) 4614 0 R (2934) 4616 0 R (2935) 4617 0 R (2936) 4618 0 R (2937) 4619 0 R (2938) 4620 0 R (2939) 4621 0 R (294) 2215 0 R (2940) 4622 0 R (2941) 4627 0 R (2942) 4628 0 R (2943) 4629 0 R (2946) 4630 0 R (2947) 4631 0 R (2948) 4632 0 R (2949) 4633 0 R (2950) 4634 0 R (2951) 4635 0 R (2952) 4636 0 R (2953) 4637 0 R (2954) 4638 0 R (2955) 4639 0 R (2956) 4640 0 R (2957) 4641 0 R (2958) 4642 0 R (2959) 4643 0 R (296) 2217 0 R (2960) 4644 0 R (2961) 4645 0 R (2962) 4646 0 R (2963) 4647 0 R (2964) 4648 0 R (2965) 4649 0 R (2966) 4650 0 R (2967) 4651 0 R (2968) 4652 0 R (2969) 4653 0 R (297) 2218 0 R (2972) 4658 0 R (2973) 4659 0 R (2974) 4660 0 R (2975) 4661 0 R (2976) 4662 0 R (2977) 4663 0 R (2978) 4664 0 R (2979) 4665 0 R (298) 2219 0 R (2980) 4666 0 R (2981) 4667 0 R (2984) 4668 0 R (2985) 4669 0 R (2986) 4670 0 R (2987) 4671 0 R (2988) 4672 0 R (2989) 4673 0 R (299) 2220 0 R (2990) 4674 0 R (2991) 4675 0 R (2992) 4676 0 R (2993) 4677 0 R (2994) 4678 0 R (2995) 4679 0 R (2996) 4680 0 R (2997) 4681 0 R (2998) 4687 0 R (2999) 4688 0 R (3.0) 10 0 R (300) 2221 0 R (3000) 4689 0 R (3003) 4690 0 R (3004) 4691 0 R (3005) 4692 0 R (3006) 4693 0 R (3007) 4694 0 R (3008) 4695 0 R (3009) 4696 0 R (301) 2222 0 R (3010) 4697 0 R (3011) 4698 0 R (3012) 4699 0 R (3013) 4700 0 R (3014) 4701 0 R (3015) 4702 0 R (3016) 4703 0 R (3017) 4704 0 R (3018) 4705 0 R (3019) 4706 0 R (302) 2223 0 R (3020) 4707 0 R (3021) 4708 0 R (3022) 4709 0 R (3023) 4710 0 R (3024) 4711 0 R (3025) 4712 0 R (3026) 4713 0 R (3027) 4714 0 R (3028) 4715 0 R (3029) 4716 0 R (303) 2224 0 R (3030) 4717 0 R (3031) 4718 0 R (3032) 4723 0 R (3033) 4724 0 R (3034) 4725 0 R (3035) 4726 0 R (3036) 4727 0 R (3037) 4728 0 R (3038) 4729 0 R (3039) 4730 0 R (304) 2225 0 R (3040) 4731 0 R (3041) 4732 0 R (3042) 4733 0 R (3043) 4734 0 R (3044) 4735 0 R (3045) 4736 0 R (3048) 4737 0 R (3049) 4738 0 R (305) 2226 0 R (3052) 4739 0 R (3053) 4740 0 R (3054) 4741 0 R (3055) 4742 0 R (3056) 4743 0 R (3057) 4748 0 R (3058) 4749 0 R (3059) 4750 0 R (306) 2227 0 R (3060) 4751 0 R (3061) 4752 0 R (3062) 4753 0 R (3063) 4754 0 R (3064) 4755 0 R (3065) 4756 0 R (3066) 4757 0 R (3067) 4758 0 R (3068) 4759 0 R (3069) 4760 0 R (307) 2228 0 R (3070) 4761 0 R (3071) 4766 0 R (3072) 4767 0 R (3073) 4768 0 R (3074) 4769 0 R (3077) 4770 0 R (3078) 4771 0 R (308) 2229 0 R (3081) 4776 0 R (3084) 4777 0 R (3085) 4778 0 R (3086) 4779 0 R (3087) 4780 0 R (309) 2230 0 R (3090) 4783 0 R (3091) 4784 0 R (3092) 4785 0 R (3093) 4786 0 R (3094) 4787 0 R (3097) 4788 0 R (3098) 4789 0 R (3099) 4790 0 R (31) 2025 0 R (310) 2231 0 R (3100) 4791 0 R (3101) 4792 0 R (3105) 4793 0 R (3106) 4794 0 R (3107) 4795 0 R (3108) 4796 0 R (3109) 4797 0 R (311) 2232 0 R (3110) 4798 0 R (3111) 4803 0 R (3114) 4804 0 R (3115) 4805 0 R (3116) 4806 0 R (3117) 4807 0 R (3118) 4808 0 R (3119) 4809 0 R (3120) 4810 0 R (3121) 4811 0 R (3124) 4812 0 R (3125) 4813 0 R (3126) 4814 0 R (3127) 4815 0 R (3128) 4816 0 R (3129) 4817 0 R (313) 2234 0 R (3130) 4818 0 R (3131) 4819 0 R (3132) 4820 0 R (3133) 4821 0 R (3136) 4822 0 R (3137) 4823 0 R (3138) 4829 0 R (3139) 4830 0 R (314) 2235 0 R (3140) 4831 0 R (3141) 4832 0 R (3144) 4834 0 R (3145) 4835 0 R (3146) 4836 0 R (3147) 4837 0 R (3148) 4838 0 R (315) 2236 0 R (3151) 4840 0 R (3152) 4841 0 R (3153) 4842 0 R (3154) 4843 0 R (3155) 4844 0 R (3156) 4845 0 R (3157) 4846 0 R (316) 2237 0 R (3161) 4847 0 R (3162) 4848 0 R (3163) 4849 0 R (3164) 4850 0 R (3168) 4856 0 R (3169) 4857 0 R (317) 2238 0 R (3170) 4858 0 R (3171) 4859 0 R (3172) 4860 0 R (3175) 4865 0 R (3176) 4866 0 R (3179) 4867 0 R (3180) 4868 0 R (3181) 4869 0 R (3182) 4870 0 R (3183) 4871 0 R (3184) 4872 0 R (3185) 4873 0 R (3186) 4874 0 R (3187) 4875 0 R (3188) 4876 0 R (3189) 4877 0 R (319) 2240 0 R (3190) 4878 0 R (3191) 4879 0 R (3192) 4880 0 R (3193) 4881 0 R (3194) 4882 0 R (3195) 4883 0 R (3196) 4884 0 R (3197) 4885 0 R (3198) 4886 0 R (3199) 4887 0 R (32) 2026 0 R (320) 2244 0 R (3200) 4888 0 R (3201) 4889 0 R (3202) 4890 0 R (3203) 4891 0 R (3204) 4892 0 R (3205) 4893 0 R (3206) 4894 0 R (3207) 4895 0 R (321) 2245 0 R (3210) 4896 0 R (3211) 4897 0 R (3212) 4898 0 R (3213) 4899 0 R (3214) 4900 0 R (3215) 4901 0 R (3216) 4902 0 R (3217) 4903 0 R (3218) 4904 0 R (322) 2246 0 R (3223) 4909 0 R (3224) 4910 0 R (3225) 4911 0 R (3226) 4912 0 R (3227) 4913 0 R (3228) 4914 0 R (3229) 4915 0 R (3230) 4916 0 R (3231) 4917 0 R (3232) 4918 0 R (3233) 4919 0 R (3234) 4920 0 R (3235) 4921 0 R (3236) 4922 0 R (324) 2248 0 R (3240) 4924 0 R (3241) 4925 0 R (3242) 4926 0 R (3243) 4927 0 R (3244) 4928 0 R (3245) 4929 0 R (3246) 4930 0 R (3247) 4931 0 R (3248) 4932 0 R (3249) 4933 0 R (325) 2249 0 R (3250) 4934 0 R (3251) 4939 0 R (3252) 4940 0 R (3253) 4941 0 R (3254) 4942 0 R (3255) 4943 0 R (3256) 4944 0 R (3257) 4945 0 R (3258) 4946 0 R (3259) 4947 0 R (3260) 4948 0 R (3261) 4949 0 R (3262) 4950 0 R (3263) 4951 0 R (3264) 4952 0 R (3265) 4953 0 R (3266) 4954 0 R (3267) 4955 0 R (3268) 4956 0 R (3269) 4957 0 R (327) 2251 0 R (3270) 4958 0 R (3271) 4959 0 R (3272) 4960 0 R (3273) 4961 0 R (3274) 4962 0 R (3275) 4963 0 R (3276) 4964 0 R (3277) 4969 0 R (3278) 4970 0 R (3279) 4971 0 R (328) 2252 0 R (3280) 4972 0 R (3281) 4973 0 R (3282) 4974 0 R (3283) 4975 0 R (3286) 4976 0 R (3287) 4977 0 R (3288) 4978 0 R (3289) 4979 0 R (3290) 4980 0 R (3291) 4981 0 R (3292) 4982 0 R (3293) 4983 0 R (3294) 4984 0 R (3295) 4985 0 R (3296) 4986 0 R (3297) 4987 0 R (3298) 4988 0 R (3299) 4989 0 R (33) 2027 0 R (330) 2254 0 R (3300) 4990 0 R (3301) 4991 0 R (3302) 4992 0 R (3303) 4993 0 R (3304) 4994 0 R (3305) 4995 0 R (3308) 5005 0 R (3309) 5006 0 R (331) 2255 0 R (3310) 5007 0 R (3313) 5008 0 R (3314) 5009 0 R (3315) 5010 0 R (3318) 5011 0 R (3319) 5012 0 R (3320) 5013 0 R (3321) 5014 0 R (3322) 5015 0 R (3323) 5016 0 R (3324) 5021 0 R (3325) 5022 0 R (3328) 5023 0 R (3329) 5024 0 R (333) 2257 0 R (3332) 5025 0 R (3333) 5026 0 R (3334) 5027 0 R (3335) 5033 0 R (3338) 5034 0 R (3339) 5035 0 R (334) 2258 0 R (3340) 5036 0 R (3341) 5037 0 R (3342) 5038 0 R (3343) 5039 0 R (3344) 5040 0 R (3345) 5041 0 R (3346) 5042 0 R (3347) 5043 0 R (3348) 5044 0 R (3349) 5045 0 R (335) 2259 0 R (3350) 5046 0 R (3351) 5047 0 R (3352) 5048 0 R (3353) 5049 0 R (3354) 5050 0 R (3355) 5051 0 R (3356) 5052 0 R (3357) 5053 0 R (3358) 5054 0 R (3359) 5055 0 R (336) 2260 0 R (3360) 5056 0 R (3361) 5057 0 R (3362) 5058 0 R (3363) 5059 0 R (3364) 5060 0 R (3365) 5061 0 R (3366) 5062 0 R (3367) 5063 0 R (3368) 5064 0 R (3369) 5032 0 R (337) 2261 0 R (3370) 5069 0 R (3371) 5070 0 R (3374) 5071 0 R (3375) 5072 0 R (3376) 5073 0 R (3379) 5074 0 R (338) 2262 0 R (3380) 5075 0 R (3383) 5076 0 R (3384) 5081 0 R (3387) 5082 0 R (3390) 5083 0 R (3393) 5084 0 R (3394) 5085 0 R (3395) 5086 0 R (3398) 5087 0 R (3399) 5088 0 R (340) 2264 0 R (3400) 5089 0 R (3401) 5095 0 R (3402) 5096 0 R (3404) 5101 0 R (3408) 5102 0 R (3409) 5103 0 R (341) 2265 0 R (3410) 5104 0 R (3411) 5105 0 R (3416) 5108 0 R (3417) 5109 0 R (3418) 5110 0 R (3419) 5111 0 R (342) 2266 0 R (3420) 5112 0 R (3421) 5113 0 R (3423) 5114 0 R (3424) 5115 0 R (3425) 5116 0 R (3426) 5117 0 R (3427) 5118 0 R (3429) 5119 0 R (343) 2267 0 R (3430) 5120 0 R (3431) 5121 0 R (3432) 5122 0 R (3433) 5123 0 R (3434) 5124 0 R (3435) 5125 0 R (3436) 5126 0 R (3437) 5127 0 R (3439) 5128 0 R (344) 2268 0 R (3440) 5129 0 R (3441) 5130 0 R (3442) 5131 0 R (3443) 5132 0 R (3444) 5133 0 R (3445) 5134 0 R (3446) 5135 0 R (3447) 5136 0 R (3448) 5137 0 R (3449) 5138 0 R (345) 2269 0 R (3451) 5139 0 R (3452) 5140 0 R (3453) 5141 0 R (3454) 5142 0 R (3455) 5143 0 R (3456) 5144 0 R (346) 2270 0 R (3461) 5151 0 R (3462) 5152 0 R (3463) 5153 0 R (3464) 5154 0 R (3465) 5155 0 R (3466) 5156 0 R (3468) 5157 0 R (3469) 5158 0 R (347) 2271 0 R (3470) 5159 0 R (3473) 5160 0 R (3474) 5161 0 R (3480) 5163 0 R (3481) 5164 0 R (3482) 5165 0 R (3483) 5166 0 R (3486) 5168 0 R (3487) 5169 0 R (349) 2273 0 R (3491) 5170 0 R (3492) 5171 0 R (3493) 5172 0 R (3494) 5173 0 R (3495) 5174 0 R (3498) 5175 0 R (3499) 5176 0 R (350) 2274 0 R (3500) 5177 0 R (3501) 5178 0 R (3502) 5184 0 R (3503) 5185 0 R (3504) 5186 0 R (3509) 5188 0 R (351) 2275 0 R (3510) 5189 0 R (3511) 5190 0 R (3512) 5191 0 R (3515) 5193 0 R (3516) 5194 0 R (352) 2276 0 R (3521) 5197 0 R (3522) 5198 0 R (3523) 5199 0 R (3524) 5200 0 R (3525) 5201 0 R (353) 2277 0 R (3530) 5204 0 R (3531) 5205 0 R (3537) 5211 0 R (3538) 5212 0 R (3539) 5213 0 R (354) 2278 0 R (3540) 5214 0 R (3541) 5215 0 R (3542) 5216 0 R (3543) 5217 0 R (3546) 5219 0 R (3547) 5220 0 R (3549) 5222 0 R (355) 2279 0 R (3550) 5223 0 R (3552) 5224 0 R (3553) 5225 0 R (3554) 5226 0 R (3555) 5227 0 R (3557) 5228 0 R (3558) 5229 0 R (3559) 5230 0 R (356) 2280 0 R (3560) 5231 0 R (3561) 5232 0 R (3563) 5233 0 R (3564) 5234 0 R (3565) 5235 0 R (3566) 5236 0 R (357) 2281 0 R (3572) 5238 0 R (3573) 5239 0 R (3574) 5240 0 R (3577) 5241 0 R (3578) 5242 0 R (358) 2282 0 R (3580) 5248 0 R (3581) 5249 0 R (3582) 5250 0 R (3583) 5251 0 R (3587) 5253 0 R (3588) 5254 0 R (3589) 5255 0 R (359) 2283 0 R (3590) 5256 0 R (3591) 5257 0 R (3592) 5258 0 R (3593) 5259 0 R (3594) 5260 0 R (36) 2028 0 R (360) 2284 0 R (3600) 5262 0 R (3601) 5263 0 R (3605) 5265 0 R (3606) 5266 0 R (3607) 5267 0 R (361) 2285 0 R (3612) 5269 0 R (3613) 5270 0 R (3614) 5271 0 R (3616) 5277 0 R (3617) 5278 0 R (3618) 5279 0 R (3619) 5280 0 R (362) 2286 0 R (3620) 5281 0 R (3621) 5282 0 R (3622) 5283 0 R (3623) 5284 0 R (3624) 5285 0 R (3625) 5286 0 R (3626) 5287 0 R (3627) 5288 0 R (3628) 5289 0 R (3629) 5290 0 R (363) 2287 0 R (3634) 5293 0 R (3635) 5294 0 R (3636) 5295 0 R (364) 2288 0 R (3640) 5297 0 R (3641) 5298 0 R (3646) 5301 0 R (3647) 5302 0 R (3648) 5303 0 R (3649) 5306 0 R (365) 2289 0 R (3650) 5304 0 R (3651) 5305 0 R (366) 2290 0 R (369) 2291 0 R (37) 2029 0 R (370) 2292 0 R (373) 2293 0 R (376) 2297 0 R (377) 2298 0 R (378) 2299 0 R (379) 2300 0 R (38) 2030 0 R (380) 2301 0 R (381) 2302 0 R (382) 2303 0 R (383) 2304 0 R (384) 2305 0 R (387) 2306 0 R (39) 2031 0 R (390) 2307 0 R (393) 2308 0 R (396) 2309 0 R (397) 2310 0 R (4.0) 14 0 R (4.1.1) 18 0 R (4.2.1) 22 0 R (4.3.1) 26 0 R (4.4.1) 30 0 R (4.5.1) 34 0 R (40) 2032 0 R (400) 2311 0 R (403) 2312 0 R (406) 2318 0 R (407) 2319 0 R (408) 2320 0 R (409) 2321 0 R (41) 2033 0 R (410) 2322 0 R (412) 2324 0 R (413) 2325 0 R (414) 2326 0 R (415) 2327 0 R (418) 2328 0 R (419) 2329 0 R (420) 2330 0 R (421) 2331 0 R (422) 2332 0 R (423) 2333 0 R (424) 2334 0 R (427) 2335 0 R (428) 2336 0 R (432) 2338 0 R (433) 2339 0 R (434) 2340 0 R (435) 2347 0 R (436) 2348 0 R (437) 2317 0 R (439) 2349 0 R (44) 2034 0 R (440) 2350 0 R (441) 2351 0 R (442) 2352 0 R (443) 2353 0 R (444) 2354 0 R (445) 2355 0 R (446) 2356 0 R (447) 2357 0 R (448) 2358 0 R (449) 2359 0 R (45) 2035 0 R (450) 2360 0 R (451) 2361 0 R (453) 2363 0 R (454) 2364 0 R (457) 2365 0 R (463) 2369 0 R (464) 2370 0 R (467) 2375 0 R (468) 2376 0 R (469) 2377 0 R (47) 2036 0 R (470) 2378 0 R (471) 2379 0 R (472) 2380 0 R (473) 2381 0 R (474) 2382 0 R (475) 2383 0 R (476) 2384 0 R (479) 2385 0 R (480) 2386 0 R (481) 2387 0 R (482) 2388 0 R (483) 2389 0 R (485) 2390 0 R (486) 2391 0 R (487) 2392 0 R (488) 2393 0 R (489) 2394 0 R (49) 2040 0 R (490) 2395 0 R (493) 2397 0 R (494) 2398 0 R (495) 2399 0 R (496) 2403 0 R (498) 2409 0 R (499) 2410 0 R (5.0) 38 0 R (5.10.1) 238 0 R (5.10.17.19.3) 246 0 R (5.10.17.2) 242 0 R (5.10.17.20.3) 250 0 R (5.10.17.21.3) 254 0 R (5.10.17.22.3) 258 0 R (5.10.18.2) 262 0 R (5.10.18.23.3) 266 0 R (5.10.18.24.3) 270 0 R (5.10.19.2) 274 0 R (5.11.1) 278 0 R (5.11.20.2) 282 0 R (5.11.21.2) 286 0 R (5.11.21.25.12.4) 294 0 R (5.11.21.25.13.4) 298 0 R (5.11.21.25.14.4) 302 0 R (5.11.21.25.3) 290 0 R (5.11.22.2) 306 0 R (5.11.23.2) 310 0 R (5.11.24.2) 314 0 R (5.11.24.26.3) 318 0 R (5.11.25.2) 322 0 R (5.11.25.27.3) 326 0 R (5.12.1) 330 0 R (5.12.26.2) 334 0 R (5.12.27.2) 338 0 R (5.12.27.28.3) 342 0 R (5.12.27.29.3) 346 0 R (5.12.27.30.3) 350 0 R (5.12.27.31.3) 354 0 R (5.12.28.2) 358 0 R (5.12.29.2) 362 0 R (5.6.1) 42 0 R (5.6.1.2) 46 0 R (5.6.2.1.3) 54 0 R (5.6.2.2) 50 0 R (5.6.2.2.3) 58 0 R (5.6.2.3.3) 62 0 R (5.6.3.2) 66 0 R (5.6.4.2) 70 0 R (5.6.5.10.3) 102 0 R (5.6.5.11.3) 106 0 R (5.6.5.12.3) 110 0 R (5.6.5.2) 74 0 R (5.6.5.4.3) 78 0 R (5.6.5.5.3) 82 0 R (5.6.5.6.3) 86 0 R (5.6.5.7.3) 90 0 R (5.6.5.8.3) 94 0 R (5.6.5.9.3) 98 0 R (5.6.6.2) 114 0 R (5.6.7.2) 118 0 R (5.7.1) 122 0 R (5.7.10.2) 186 0 R (5.7.11.17.10.4) 198 0 R (5.7.11.17.11.4) 202 0 R (5.7.11.17.3) 194 0 R (5.7.11.18.3) 206 0 R (5.7.11.2) 190 0 R (5.7.12.2) 210 0 R (5.7.8.2) 126 0 R (5.7.9.13.3) 134 0 R (5.7.9.14.1.4) 142 0 R (5.7.9.14.2.4) 146 0 R (5.7.9.14.3) 138 0 R (5.7.9.14.3.4) 150 0 R (5.7.9.14.4.4) 154 0 R (5.7.9.15.3) 158 0 R (5.7.9.15.5.4) 162 0 R (5.7.9.15.6.4) 166 0 R (5.7.9.16.3) 170 0 R (5.7.9.16.7.4) 174 0 R (5.7.9.16.8.4) 178 0 R (5.7.9.16.9.4) 182 0 R (5.7.9.2) 130 0 R (5.8.1) 214 0 R (5.8.13.2) 218 0 R (5.8.14.2) 222 0 R (5.8.15.2) 226 0 R (5.8.16.2) 230 0 R (5.9.1) 234 0 R (50) 2041 0 R (500) 2411 0 R (501) 2412 0 R (502) 2413 0 R (503) 2414 0 R (504) 2415 0 R (505) 2416 0 R (506) 2417 0 R (507) 2418 0 R (508) 2419 0 R (509) 2420 0 R (510) 2421 0 R (512) 2422 0 R (513) 2423 0 R (514) 2424 0 R (515) 2425 0 R (516) 2426 0 R (517) 2427 0 R (518) 2428 0 R (519) 2429 0 R (52) 2042 0 R (520) 2430 0 R (521) 2431 0 R (522) 2432 0 R (523) 2433 0 R (526) 2434 0 R (528) 2435 0 R (529) 2436 0 R (53) 2043 0 R (530) 2437 0 R (531) 2438 0 R (533) 2440 0 R (534) 2441 0 R (535) 2442 0 R (536) 2443 0 R (537) 2444 0 R (538) 2445 0 R (539) 2451 0 R (54) 2044 0 R (540) 2452 0 R (541) 2453 0 R (542) 2454 0 R (544) 2455 0 R (545) 2456 0 R (546) 2457 0 R (547) 2458 0 R (548) 2459 0 R (549) 2460 0 R (55) 2045 0 R (550) 2461 0 R (551) 2462 0 R (552) 2463 0 R (553) 2464 0 R (554) 2465 0 R (555) 2466 0 R (558) 2467 0 R (560) 2468 0 R (561) 2469 0 R (562) 2470 0 R (563) 2471 0 R (564) 2472 0 R (565) 2473 0 R (566) 2474 0 R (568) 2475 0 R (569) 2476 0 R (57) 2046 0 R (570) 2477 0 R (571) 2478 0 R (572) 2479 0 R (573) 2480 0 R (574) 2450 0 R (576) 2486 0 R (577) 2487 0 R (578) 2488 0 R (579) 2489 0 R (58) 2047 0 R (580) 1393 0 R (582) 2490 0 R (583) 2491 0 R (584) 2492 0 R (585) 2493 0 R (586) 2494 0 R (587) 2495 0 R (59) 2048 0 R (590) 2496 0 R (591) 2497 0 R (593) 2499 0 R (596) 2500 0 R (6.0) 366 0 R (6.13.1) 370 0 R (6.13.30.2) 374 0 R (6.13.31.2) 378 0 R (6.13.32.2) 382 0 R (6.13.33.2) 386 0 R (6.13.34.2) 390 0 R (6.13.35.2) 394 0 R (6.13.36.2) 398 0 R (6.13.37.2) 402 0 R (6.13.38.2) 406 0 R (6.13.39.2) 410 0 R (6.13.40.2) 414 0 R (6.13.41.2) 418 0 R (6.13.42.2) 422 0 R (6.13.43.2) 426 0 R (6.13.44.2) 430 0 R (6.13.45.2) 434 0 R (6.14.1) 438 0 R (6.14.46.2) 442 0 R (6.14.47.2) 446 0 R (6.14.47.32.3) 450 0 R (6.14.47.33.15.4) 458 0 R (6.14.47.33.16.4) 462 0 R (6.14.47.33.3) 454 0 R (6.14.47.34.3) 466 0 R (6.14.47.35.3) 470 0 R (6.14.47.36.3) 474 0 R (6.15.1) 478 0 R (6.16.1) 482 0 R (6.16.48.2) 486 0 R (6.16.49.2) 490 0 R (6.16.50.2) 494 0 R (6.16.51.2) 498 0 R (6.16.51.37.3) 502 0 R (6.17.1) 506 0 R (6.18.1) 510 0 R (6.19.1) 514 0 R (6.20.1) 518 0 R (6.20.52.2) 522 0 R (6.20.53.2) 526 0 R (6.20.53.38.3) 530 0 R (6.20.54.2) 534 0 R (6.20.55.2) 538 0 R (6.20.55.39.3) 542 0 R (6.20.55.40.3) 546 0 R (6.20.56.2) 550 0 R (6.20.56.41.3) 554 0 R (6.20.56.42.17.4) 562 0 R (6.20.56.42.18.4) 566 0 R (6.20.56.42.19.4) 570 0 R (6.20.56.42.20.4) 574 0 R (6.20.56.42.21.4) 578 0 R (6.20.56.42.22.4) 582 0 R (6.20.56.42.23.4) 586 0 R (6.20.56.42.24.4) 590 0 R (6.20.56.42.25.4) 594 0 R (6.20.56.42.26.4) 598 0 R (6.20.56.42.27.4) 602 0 R (6.20.56.42.3) 558 0 R (6.20.56.43.3) 606 0 R (6.21.1) 610 0 R (6.22.1) 614 0 R (6.22.57.2) 618 0 R (6.22.58.2) 622 0 R (6.22.59.2) 626 0 R (6.23.1) 630 0 R (6.23.60.2) 634 0 R (6.23.61.2) 638 0 R (6.24.1) 642 0 R (6.25.1) 646 0 R (6.26.1) 650 0 R (6.27.1) 654 0 R (6.27.62.2) 658 0 R (6.27.63.2) 662 0 R (6.27.64.2) 666 0 R (6.27.65.2) 670 0 R (6.28.1) 674 0 R (60) 2049 0 R (602) 2504 0 R (603) 2505 0 R (604) 2506 0 R (606) 2507 0 R (607) 2508 0 R (608) 2509 0 R (610) 2516 0 R (611) 2517 0 R (612) 2485 0 R (613) 2518 0 R (614) 2519 0 R (615) 2520 0 R (616) 2521 0 R (617) 2522 0 R (618) 2523 0 R (619) 2524 0 R (62) 2050 0 R (620) 2525 0 R (621) 2526 0 R (623) 2528 0 R (625) 2529 0 R (626) 2530 0 R (627) 2531 0 R (628) 2532 0 R (629) 2533 0 R (63) 2051 0 R (630) 2534 0 R (631) 2535 0 R (633) 2536 0 R (634) 2537 0 R (635) 2538 0 R (636) 2539 0 R (64) 2052 0 R (640) 2540 0 R (641) 2541 0 R (642) 2542 0 R (644) 2543 0 R (645) 2544 0 R (646) 2545 0 R (648) 2546 0 R (649) 2547 0 R (65) 2053 0 R (650) 2548 0 R (651) 2549 0 R (652) 2550 0 R (653) 2556 0 R (654) 2557 0 R (655) 2515 0 R (656) 2558 0 R (658) 2559 0 R (659) 2560 0 R (660) 2561 0 R (661) 2562 0 R (662) 2563 0 R (663) 2564 0 R (664) 2565 0 R (665) 2566 0 R (666) 2567 0 R (667) 2568 0 R (668) 2569 0 R (669) 2570 0 R (67) 2054 0 R (670) 2571 0 R (671) 2572 0 R (672) 2573 0 R (673) 2574 0 R (674) 2575 0 R (675) 2576 0 R (676) 2577 0 R (677) 2578 0 R (678) 2579 0 R (679) 2580 0 R (68) 2055 0 R (680) 2581 0 R (684) 2582 0 R (685) 2583 0 R (686) 2584 0 R (687) 2585 0 R (688) 2586 0 R (689) 2587 0 R (69) 2056 0 R (690) 2588 0 R (691) 2589 0 R (692) 2590 0 R (693) 2591 0 R (694) 2592 0 R (695) 2593 0 R (696) 2594 0 R (697) 2600 0 R (698) 2601 0 R (699) 2602 0 R (7.0) 678 0 R (7.29.1) 682 0 R (7.29.66.2) 686 0 R (7.29.67.2) 690 0 R (7.29.68.2) 694 0 R (7.30.1) 698 0 R (7.30.69.2) 702 0 R (7.31.1) 706 0 R (7.31.70.2) 710 0 R (70) 2057 0 R (700) 2603 0 R (701) 2604 0 R (702) 2605 0 R (703) 2606 0 R (704) 2607 0 R (705) 2608 0 R (706) 2609 0 R (707) 2610 0 R (708) 2611 0 R (709) 2612 0 R (710) 2613 0 R (714) 2615 0 R (715) 2616 0 R (717) 2618 0 R (718) 2619 0 R (719) 2620 0 R (72) 2058 0 R (720) 2621 0 R (722) 2623 0 R (723) 2624 0 R (724) 2625 0 R (725) 2626 0 R (726) 2627 0 R (73) 2059 0 R (730) 2629 0 R (731) 1399 0 R (733) 2635 0 R (734) 2599 0 R (736) 2636 0 R (737) 2640 0 R (738) 2641 0 R (739) 2642 0 R (74) 2060 0 R (740) 2643 0 R (741) 2644 0 R (742) 2645 0 R (743) 2646 0 R (746) 2647 0 R (747) 2648 0 R (748) 2649 0 R (749) 2650 0 R (75) 2061 0 R (750) 2651 0 R (751) 2652 0 R (754) 2653 0 R (756) 2655 0 R (757) 2656 0 R (758) 2657 0 R (759) 2658 0 R (760) 2659 0 R (761) 2634 0 R (765) 2664 0 R (766) 2665 0 R (767) 2666 0 R (768) 2667 0 R (769) 2668 0 R (77) 2062 0 R (770) 2669 0 R (771) 2670 0 R (772) 2671 0 R (773) 2672 0 R (774) 2673 0 R (775) 2674 0 R (776) 2675 0 R (779) 2676 0 R (78) 2063 0 R (780) 2677 0 R (781) 2678 0 R (782) 2679 0 R (783) 2680 0 R (784) 2681 0 R (785) 2682 0 R (786) 2683 0 R (787) 2684 0 R (788) 2685 0 R (789) 2686 0 R (79) 2064 0 R (790) 2687 0 R (791) 2688 0 R (792) 2689 0 R (793) 2690 0 R (796) 2695 0 R (797) 2696 0 R (798) 2697 0 R (8.0) 714 0 R (8.32.1) 718 0 R (8.33.1) 722 0 R (8.34.1) 726 0 R (8.35.1) 730 0 R (8.36.1) 734 0 R (8.36.71.2) 738 0 R (8.36.71.44.3) 742 0 R (8.36.71.45.3) 746 0 R (8.36.71.46.3) 750 0 R (8.36.72.2) 754 0 R (8.36.73.2) 758 0 R (8.36.74.2) 762 0 R (8.36.75.2) 766 0 R (8.37.1) 770 0 R (8.37.76.2) 774 0 R (8.37.77.2) 778 0 R (8.38.1) 782 0 R (8.38.78.2) 786 0 R (8.38.78.47.3) 790 0 R (8.38.78.48.3) 794 0 R (8.38.78.49.3) 798 0 R (8.38.78.50.3) 802 0 R (8.38.78.51.3) 806 0 R (8.38.78.52.3) 810 0 R (8.38.78.53.3) 814 0 R (8.39.1) 818 0 R (8.39.79.2) 822 0 R (8.39.80.2) 826 0 R (8.39.81.2) 830 0 R (8.39.82.2) 834 0 R (8.40.1) 838 0 R (8.41.1) 842 0 R (8.41.83.2) 846 0 R (8.41.84.2) 850 0 R (8.41.85.2) 854 0 R (8.41.86.2) 858 0 R (8.41.87.2) 862 0 R (8.42.1) 866 0 R (8.42.88.2) 870 0 R (8.42.89.2) 874 0 R (8.42.89.54.3) 878 0 R (8.42.89.55.3) 882 0 R (8.43.1) 886 0 R (8.44.1) 890 0 R (8.44.90.2) 894 0 R (8.44.91.2) 898 0 R (8.44.92.2) 902 0 R (8.44.93.2) 906 0 R (80) 2065 0 R (801) 2698 0 R (802) 2699 0 R (805) 2700 0 R (806) 2701 0 R (807) 2702 0 R (808) 2703 0 R (809) 2704 0 R (81) 2066 0 R (812) 2705 0 R (815) 2708 0 R (816) 2709 0 R (817) 2710 0 R (818) 2711 0 R (819) 2712 0 R (820) 2713 0 R (821) 2714 0 R (822) 2715 0 R (823) 2716 0 R (824) 2717 0 R (825) 2723 0 R (826) 2724 0 R (827) 2725 0 R (828) 2726 0 R (829) 2727 0 R (83) 2067 0 R (830) 2728 0 R (831) 2729 0 R (834) 2730 0 R (837) 2733 0 R (838) 2734 0 R (839) 2735 0 R (84) 2068 0 R (840) 2736 0 R (841) 2737 0 R (842) 2738 0 R (843) 2739 0 R (844) 2740 0 R (847) 2741 0 R (85) 2069 0 R (851) 2742 0 R (854) 2748 0 R (855) 2749 0 R (856) 2750 0 R (86) 2070 0 R (860) 2752 0 R (861) 2753 0 R (862) 2754 0 R (863) 2755 0 R (864) 2756 0 R (865) 2757 0 R (866) 2758 0 R (868) 2760 0 R (869) 2761 0 R (87) 2071 0 R (870) 2762 0 R (871) 2763 0 R (872) 2764 0 R (873) 2765 0 R (874) 2766 0 R (875) 2767 0 R (876) 2768 0 R (877) 2769 0 R (878) 2770 0 R (879) 2771 0 R (88) 2072 0 R (883) 2775 0 R (884) 2776 0 R (886) 2777 0 R (888) 2778 0 R (89) 2073 0 R (891) 2779 0 R (892) 2785 0 R (893) 2786 0 R (896) 1513 0 R (898) 2787 0 R (9.0) 910 0 R (9.45.1) 914 0 R (9.46.1) 918 0 R (9.47.1) 922 0 R (9.47.94.2) 926 0 R (9.47.95.2) 930 0 R (9.47.96.2) 934 0 R (9.47.97.2) 938 0 R (9.47.98.2) 942 0 R (9.47.99.2) 946 0 R (9.48.1) 950 0 R (9.49.1) 954 0 R (90) 2074 0 R (900) 1514 0 R (902) 2789 0 R (903) 2790 0 R (904) 2791 0 R (905) 2792 0 R (906) 2793 0 R (907) 2794 0 R (908) 1515 0 R (91) 2075 0 R (910) 2795 0 R (912) 2796 0 R (913) 2797 0 R (914) 2803 0 R (916) 2804 0 R (917) 2805 0 R (918) 2806 0 R (919) 2807 0 R (92) 2076 0 R (921) 2808 0 R (922) 2809 0 R (923) 2810 0 R (924) 2811 0 R (925) 2812 0 R (926) 2813 0 R (927) 2814 0 R (928) 2815 0 R (929) 2816 0 R (93) 2077 0 R (930) 2817 0 R (931) 2818 0 R (932) 2819 0 R (933) 2820 0 R (934) 2821 0 R (935) 1516 0 R (937) 2826 0 R (938) 2802 0 R (94) 2078 0 R (940) 2827 0 R (941) 2828 0 R (942) 2829 0 R (943) 2830 0 R (944) 2831 0 R (945) 2832 0 R (946) 2833 0 R (947) 2834 0 R (948) 2835 0 R (949) 2836 0 R (95) 2079 0 R (950) 2837 0 R (953) 2838 0 R (954) 2839 0 R (955) 2840 0 R (956) 2841 0 R (957) 1518 0 R (959) 2842 0 R (96) 2080 0 R (960) 1519 0 R (962) 2843 0 R (963) 2844 0 R (964) 2845 0 R (965) 2846 0 R (966) 2847 0 R (967) 2848 0 R (968) 2853 0 R (969) 1520 0 R (971) 2854 0 R (972) 2855 0 R (973) 2856 0 R (975) 2858 0 R (976) 2859 0 R (977) 2860 0 R (978) 2861 0 R (979) 2862 0 R (982) 2863 0 R (983) 2864 0 R (984) 2865 0 R (985) 2866 0 R (986) 2867 0 R (987) 2868 0 R (988) 2869 0 R (99) 2081 0 R (991) 2870 0 R (992) 2871 0 R (993) 2872 0 R (994) 2877 0 R (995) 2878 0 R (998) 2879 0 R (999) 2880 0 R (Doc-Start) 1246 0 R (about) 1359 0 R (accountpreferences) 1840 0 R (add-custom-fields) 1679 0 R (admin-usermatching) 1548 0 R (administration) 1531 0 R (apache-addtype) 1402 0 R (attachments) 1821 0 R (boolean) 1810 0 R (bug_page) 1807 0 R (bug_status_workflow) 1685 0 R (bugreports) 1818 0 R (bzldap) 1542 0 R (bzradius) 1543 0 R (casesensitivity) 1815 0 R (charts) 1941 0 R (charts-new-series) 1943 0 R (classifications) 1655 0 R (cloningbugs) 1820 0 R (cmdline) 1972 0 R (cmdline-bugmail) 1973 0 R (comment-wrapping) 1833 0 R (commenting) 1832 0 R (components) 1662 0 R (comps-vers-miles-products) 1659 0 R (configuration) 1386 0 R (conventions) 1364 0 R (copyright) 1360 0 R (create-groups) 1689 0 R (create-product) 1657 0 R (createnewusers) 1651 0 R (credits) 1363 0 R (cust-change-permissions) 1960 0 R (cust-skins) 1952 0 R (cust-templates) 1953 0 R (custom-fields) 1678 0 R (customization) 1950 0 R (database-engine) 1388 0 R (database-schema) 1389 0 R (defaultuser) 1648 0 R (delete-custom-fields) 1681 0 R (dependencytree) 1834 0 R (disclaimer) 1361 0 R (edit-custom-fields) 1680 0 R (edit-groups) 1690 0 R (edit-products) 1658 0 R (edit-values) 1682 0 R (edit-values-delete) 1684 0 R (edit-values-list) 1683 0 R (emailpreferences) 1838 0 R (extensions) 1951 0 R (extraconfig) 1398 0 R (fillingbugs) 1819 0 R (flag-askto) 1669 0 R (flag-type-attachment) 1671 0 R (flag-type-bug) 1672 0 R (flag-types) 1670 0 R (flag-values) 1668 0 R (flags) 1944 0 R (flags-about) 1667 0 R (flags-admin) 1673 0 R (flags-create) 1675 0 R (flags-create-field-active) 3735 0 R (flags-create-field-category) 3699 0 R (flags-create-field-cclist) 3758 0 R (flags-create-field-description) 3695 0 R (flags-create-field-multiplicable) 3753 0 R (flags-create-field-name) 3688 0 R (flags-create-field-requestable) 3743 0 R (flags-create-field-sortkey) 3731 0 R (flags-create-field-specific) 3750 0 R (flags-create-grant-group) 3760 0 R (flags-create-request-group) 3765 0 R (flags-delete) 1676 0 R (flags-edit) 1674 0 R (flags-overview) 1665 0 R (flags-simpleexample) 1666 0 R (general-advice) 1963 0 R (generalpreferences) 1837 0 R (gfdl) 1978 0 R (gfdl-0) 1979 0 R (gfdl-1) 1980 0 R (gfdl-10) 2007 0 R (gfdl-2) 1981 0 R (gfdl-3) 1982 0 R (gfdl-4) 1983 0 R (gfdl-5) 1984 0 R (gfdl-6) 2003 0 R (gfdl-7) 2004 0 R (gfdl-8) 2005 0 R (gfdl-9) 2006 0 R (gfdl-howto) 2008 0 R (gloss-a) 5106 0 R (gloss-apache) 5107 0 R (gloss-b) 5146 0 R (gloss-bugzilla) 2095 0 R (gloss-c) 5162 0 R (gloss-cgi) 2184 0 R (gloss-component) 5167 0 R (gloss-contrib) 3174 0 R (gloss-cpan) 2780 0 R (gloss-d) 5187 0 R (gloss-daemon) 4004 0 R (gloss-dos) 5192 0 R (gloss-g) 5195 0 R (gloss-groups) 5196 0 R (gloss-htaccess) 4079 0 R (gloss-j) 5202 0 R (gloss-javascript) 5203 0 R (gloss-m) 5183 0 R (gloss-mta) 5210 0 R (gloss-mysql) 5218 0 R (gloss-p) 5237 0 R (gloss-ppm) 2718 0 R (gloss-product) 3400 0 R (gloss-q) 5252 0 R (gloss-r) 5261 0 R (gloss-rdbms) 5243 0 R (gloss-regexp) 5264 0 R (gloss-s) 5268 0 R (gloss-service) 4005 0 R (gloss-t) 5291 0 R (gloss-target-milestone) 5292 0 R (gloss-tcl) 5296 0 R (gloss-z) 5299 0 R (gloss-zarro) 5300 0 R (glossary) 2009 0 R (group-control-examples) 1661 0 R (groups) 1688 0 R (hintsandtips) 1830 0 R (http) 1394 0 R (http-apache) 1395 0 R (http-apache-mod_cgi) 2503 0 R (http-apache-mod_perl) 2510 0 R (http-iis) 1396 0 R (impersonatingusers) 1654 0 R (index) 1247 0 R (individual-buglists) 1817 0 R (install-MTA) 1384 0 R (install-bzfiles) 1373 0 R (install-config-bugzilla) 1397 0 R (install-database) 1368 0 R (install-modules-chart-lines) 1378 0 R (install-modules-dbd-mysql) 1375 0 R (install-modules-gd) 1377 0 R (install-modules-gd-graph) 1379 0 R (install-modules-gd-text) 1380 0 R (install-modules-patchreader) 1383 0 R (install-modules-soap-lite) 1382 0 R (install-modules-template) 1376 0 R (install-modules-xml-twig) 1381 0 R (install-mysql) 1369 0 R (install-oracle) 1371 0 R (install-perl) 1367 0 R (install-perlmodules) 1374 0 R (install-perlmodules-manual) 1974 0 R (install-perlmodules-nonroot) 1517 0 R (install-pg) 1370 0 R (install-setupdatabase-adduser) 2396 0 R (install-webserver) 1372 0 R (installation) 1366 0 R (installation-whining) 1401 0 R (installation-whining-cron) 1400 0 R (installing-bugzilla) 1365 0 R (integration) 1961 0 R (keywords) 1677 0 R (lifecycle) 1808 0 R (lifecycle-image) 2016 0 R (list) 1816 0 R (localconfig) 1387 0 R (macosx-libraries) 1510 0 R (macosx-sendmail) 1509 0 R (manageusers) 1649 0 R (milestones) 1664 0 R (modifyusers) 1652 0 R (modules-manual-download) 1976 0 R (modules-manual-instructions) 1975 0 R (modules-manual-optional) 1977 0 R (multiple-bz-dbs) 1403 0 R (multiplecharts) 1813 0 R (myaccount) 1806 0 R (mysql) 1390 0 R (mysql-max-allowed-packet) 2346 0 R (negation) 1812 0 R (newversions) 1362 0 R (nonroot) 1512 0 R (oracle) 1392 0 R (os-linux) 1511 0 R (os-macosx) 1508 0 R (os-specific) 1502 0 R (os-win32) 1503 0 R (page.1) 1245 0 R (page.10) 2316 0 R (page.100) 4968 0 R (page.101) 5000 0 R (page.102) 5004 0 R (page.103) 5020 0 R (page.104) 5031 0 R (page.105) 5068 0 R (page.106) 5080 0 R (page.107) 5094 0 R (page.108) 5100 0 R (page.109) 5150 0 R (page.11) 2345 0 R (page.110) 5182 0 R (page.111) 5209 0 R (page.112) 5247 0 R (page.113) 5276 0 R (page.12) 2374 0 R (page.13) 2408 0 R (page.14) 2449 0 R (page.15) 2484 0 R (page.16) 2514 0 R (page.17) 2555 0 R (page.18) 2598 0 R (page.19) 2633 0 R (page.2) 1255 0 R (page.20) 2663 0 R (page.21) 2694 0 R (page.22) 2722 0 R (page.23) 2747 0 R (page.24) 2784 0 R (page.25) 2801 0 R (page.26) 2825 0 R (page.27) 2852 0 R (page.28) 2876 0 R (page.29) 2917 0 R (page.3) 1262 0 R (page.30) 2945 0 R (page.31) 2980 0 R (page.32) 3015 0 R (page.33) 3026 0 R (page.34) 3064 0 R (page.35) 3107 0 R (page.36) 3130 0 R (page.37) 3150 0 R (page.38) 3178 0 R (page.39) 3221 0 R (page.4) 1407 0 R (page.40) 3257 0 R (page.41) 3278 0 R (page.42) 3292 0 R (page.43) 3335 0 R (page.44) 3380 0 R (page.45) 3404 0 R (page.46) 3453 0 R (page.47) 3480 0 R (page.48) 3511 0 R (page.49) 3534 0 R (page.5) 1552 0 R (page.50) 3571 0 R (page.51) 3615 0 R (page.52) 3655 0 R (page.53) 3693 0 R (page.54) 3739 0 R (page.55) 3771 0 R (page.56) 3791 0 R (page.57) 3825 0 R (page.58) 3845 0 R (page.59) 3874 0 R (page.6) 1697 0 R (page.60) 3909 0 R (page.61) 3945 0 R (page.62) 3974 0 R (page.63) 3979 0 R (page.64) 4009 0 R (page.65) 4083 0 R (page.66) 4099 0 R (page.67) 4127 0 R (page.68) 4178 0 R (page.69) 4212 0 R (page.7) 1845 0 R (page.70) 4223 0 R (page.71) 4258 0 R (page.72) 4279 0 R (page.73) 4305 0 R (page.74) 4328 0 R (page.75) 4347 0 R (page.76) 4360 0 R (page.77) 4376 0 R (page.78) 4413 0 R (page.79) 4453 0 R (page.8) 1988 0 R (page.80) 4492 0 R (page.81) 4522 0 R (page.82) 4538 0 R (page.83) 4555 0 R (page.84) 4573 0 R (page.85) 4591 0 R (page.86) 4598 0 R (page.87) 4626 0 R (page.88) 4657 0 R (page.89) 4686 0 R (page.9) 2013 0 R (page.90) 4722 0 R (page.91) 4747 0 R (page.92) 4765 0 R (page.93) 4775 0 R (page.94) 4802 0 R (page.95) 4828 0 R (page.96) 4855 0 R (page.97) 4864 0 R (page.98) 4908 0 R (page.99) 4938 0 R (param-LDAPBaseDN) 3203 0 R (param-LDAPbinddn) 3198 0 R (param-LDAPmailattribute) 3213 0 R (param-LDAPserver) 3185 0 R (param-LDAPuidattribute) 3208 0 R (param-RADIUS_email_suffix) 3240 0 R (param-RADIUS_secret) 3237 0 R (param-RADIUS_server) 3234 0 R (param-admin-policies) 1534 0 R (param-attachments) 1536 0 R (param-bug-change-policies) 1537 0 R (param-bugfields) 1538 0 R (param-bugmoving) 1539 0 R (param-dependency-graphs) 1540 0 R (param-email) 1544 0 R (param-group-security) 1541 0 R (param-patchviewer) 1545 0 R (param-querydefaults) 1546 0 R (param-requiredsettings) 1533 0 R (param-shadowdatabase) 1547 0 R (param-user-authentication) 1535 0 R (param-user_verify_class_for_ldap) 3179 0 R (param-user_verify_class_for_radius) 3228 0 R (parameters) 1532 0 R (paranoid-security) 1967 0 R (patches) 1971 0 R (patchviewer) 1822 0 R (patchviewer_bonsai_lxr) 1828 0 R (patchviewer_collapse) 1826 0 R (patchviewer_context) 1825 0 R (patchviewer_diff) 1824 0 R (patchviewer_link) 1827 0 R (patchviewer_unified_diff) 1829 0 R (patchviewer_view) 1823 0 R (permissionsettings) 1841 0 R (postgresql) 1391 0 R (product-group-controls) 1660 0 R (products) 1656 0 R (pronouns) 1811 0 R (query) 1809 0 R (quicksearch) 1814 0 R (quips) 1687 0 R (reporting) 1939 0 R (reports) 1940 0 R (sanitycheck) 1693 0 R (savedsearches) 1839 0 R (security) 1795 0 R (security-bugzilla) 1802 0 R (security-bugzilla-charset) 1803 0 R (security-os) 1796 0 R (security-os-accounts) 1798 0 R (security-os-chroot) 1799 0 R (security-os-ports) 1797 0 R (security-webserver) 1800 0 R (security-webserver-access) 1801 0 R (self-registration) 3293 0 R (suexec) 1521 0 R (table.1) 2085 0 R (table.2) 3801 0 R (table.3) 4139 0 R (table.4) 4192 0 R (table.5) 4275 0 R (table.6) 4342 0 R (table.7) 4364 0 R (template-directory) 1954 0 R (template-edit) 1956 0 R (template-formats) 1957 0 R (template-http-accept) 1959 0 R (template-method) 1955 0 R (template-specific) 1958 0 R (timetracking) 1835 0 R (trbl-dbdSponge) 1966 0 R (trbl-index) 1969 0 R (trbl-passwd-encryption) 1970 0 R (trbl-perlmodule) 1965 0 R (trbl-relogin-everyone) 1968 0 R (trbl-relogin-everyone-restrict) 4839 0 R (trbl-relogin-everyone-share) 4833 0 R (trbl-testserver) 1964 0 R (troubleshooting) 1962 0 R (upgrade) 1522 0 R (upgrade-before) 1523 0 R (upgrade-completion) 1529 0 R (upgrade-cvs) 1526 0 R (upgrade-files) 1524 0 R (upgrade-modified) 1525 0 R (upgrade-notifications) 1530 0 R (upgrade-patches) 1528 0 R (upgrade-tarball) 1527 0 R (user-account-creation) 3299 0 R (user-account-deletion) 1653 0 R (user-account-search) 1650 0 R (useradmin) 1647 0 R (userpreferences) 1836 0 R (users-and-groups) 1691 0 R (using) 1804 0 R (using-intro) 1805 0 R (using-mod_perl-with-bugzilla) 1385 0 R (versions) 1663 0 R (voting) 1686 0 R (whining) 1945 0 R (whining-overview) 1946 0 R (whining-query) 1948 0 R (whining-schedule) 1947 0 R (win32-email) 1507 0 R (win32-http) 1506 0 R (win32-perl) 1504 0 R (win32-perl-modules) 1505 0 R] +5316 0 obj << +/Names [(1.0) 2 0 R (10.0) 958 0 R (10.50.1) 962 0 R (10.51.1) 966 0 R (10.52.1) 970 0 R (10.53.1) 974 0 R (10.54.1) 978 0 R (10.55.1) 982 0 R (10.56.1) 986 0 R (10.57.1) 990 0 R (1000) 2883 0 R (1001) 2884 0 R (1002) 2885 0 R (1004) 2887 0 R (1005) 2888 0 R (1007) 2891 0 R (1008) 2892 0 R (1009) 2893 0 R (101) 2083 0 R (1010) 2894 0 R (1011) 2895 0 R (1012) 2896 0 R (1013) 2897 0 R (1015) 2898 0 R (1016) 2899 0 R (1017) 2900 0 R (1018) 2901 0 R (102) 2084 0 R (1020) 2902 0 R (1021) 2903 0 R (1022) 2904 0 R (1023) 2905 0 R (1026) 2906 0 R (1027) 2907 0 R (1029) 2908 0 R (103) 2085 0 R (1031) 2910 0 R (1032) 2911 0 R (1033) 2912 0 R (1035) 2913 0 R (1037) 2915 0 R (1038) 2916 0 R (1040) 2917 0 R (1042) 2919 0 R (1043) 2920 0 R (1044) 2921 0 R (1047) 2927 0 R (1049) 2929 0 R (1052) 2930 0 R (1053) 2931 0 R (1054) 2932 0 R (1055) 2933 0 R (1056) 2934 0 R (1057) 2935 0 R (1058) 2936 0 R (1059) 2937 0 R (1060) 2938 0 R (1061) 2939 0 R (1062) 2940 0 R (1063) 2941 0 R (1066) 2942 0 R (1067) 2943 0 R (1068) 2944 0 R (1069) 2945 0 R (1070) 2946 0 R (1071) 2947 0 R (1072) 2948 0 R (1073) 2953 0 R (1074) 2954 0 R (1075) 2955 0 R (1076) 2956 0 R (1077) 2957 0 R (1078) 2958 0 R (1079) 2959 0 R (1080) 2960 0 R (1081) 2961 0 R (1082) 2962 0 R (1083) 2963 0 R (1084) 2964 0 R (1085) 2965 0 R (1088) 2966 0 R (1089) 2967 0 R (1090) 2968 0 R (1091) 2969 0 R (1092) 2970 0 R (1093) 2971 0 R (1094) 2972 0 R (1095) 2973 0 R (1096) 2974 0 R (1097) 2975 0 R (1098) 2976 0 R (1099) 2977 0 R (11.0) 994 0 R (11.58.1) 998 0 R (11.59.1) 1002 0 R (1100) 2978 0 R (1101) 2979 0 R (1105) 2985 0 R (1106) 2986 0 R (1107) 2987 0 R (1108) 2988 0 R (1109) 2989 0 R (1110) 2990 0 R (1111) 2991 0 R (1112) 2992 0 R (1114) 2994 0 R (1115) 2995 0 R (1116) 2996 0 R (1117) 2997 0 R (1118) 2998 0 R (1119) 2999 0 R (1120) 3000 0 R (1121) 3001 0 R (1122) 3002 0 R (1123) 3003 0 R (1124) 3004 0 R (1125) 3005 0 R (1126) 3006 0 R (1127) 3007 0 R (1128) 3008 0 R (1129) 3009 0 R (1131) 3011 0 R (1134) 3012 0 R (1135) 3013 0 R (1137) 3015 0 R (1138) 3016 0 R (1139) 3017 0 R (1140) 3018 0 R (1145) 3023 0 R (1148) 3024 0 R (1149) 3025 0 R (1151) 3026 0 R (1153) 3027 0 R (1154) 3028 0 R (1155) 3029 0 R (1157) 3030 0 R (1158) 3031 0 R (1159) 3032 0 R (1160) 3033 0 R (1161) 3034 0 R (1162) 3035 0 R (1163) 3036 0 R (1165) 3037 0 R (1166) 3038 0 R (1167) 3039 0 R (1168) 3040 0 R (1169) 3041 0 R (1170) 3042 0 R (1171) 3043 0 R (1173) 3044 0 R (1174) 3045 0 R (1175) 3046 0 R (1176) 3047 0 R (1177) 3048 0 R (1178) 3049 0 R (1179) 3050 0 R (1181) 3051 0 R (1182) 3052 0 R (1183) 3053 0 R (1185) 3054 0 R (1186) 3055 0 R (1187) 3056 0 R (1188) 3061 0 R (1189) 3062 0 R (1190) 3063 0 R (1192) 3064 0 R (1193) 3065 0 R (1194) 3066 0 R (1195) 3067 0 R (1196) 3068 0 R (1197) 3069 0 R (1198) 3070 0 R (12.0) 1006 0 R (12.60.1) 1010 0 R (12.61.1) 1014 0 R (12.62.1) 1018 0 R (1200) 3071 0 R (1201) 3072 0 R (1202) 3073 0 R (1203) 3074 0 R (1204) 3075 0 R (1205) 3076 0 R (1206) 3077 0 R (1208) 3078 0 R (1209) 3079 0 R (1210) 3080 0 R (1211) 3081 0 R (1212) 3082 0 R (1213) 3083 0 R (1214) 3084 0 R (1216) 3085 0 R (1217) 3086 0 R (1218) 3087 0 R (1219) 3088 0 R (1220) 3089 0 R (1221) 3090 0 R (1223) 3091 0 R (1224) 3092 0 R (1225) 3093 0 R (1226) 3094 0 R (1227) 3095 0 R (1229) 3096 0 R (1230) 3097 0 R (1231) 3098 0 R (1234) 3103 0 R (1237) 3104 0 R (1238) 3105 0 R (1240) 3106 0 R (1241) 3107 0 R (1242) 3108 0 R (1243) 3109 0 R (1245) 3110 0 R (1246) 3111 0 R (1247) 3112 0 R (1248) 3113 0 R (1251) 3114 0 R (1254) 3115 0 R (1255) 3116 0 R (1257) 3117 0 R (1258) 3118 0 R (1259) 3119 0 R (1260) 3120 0 R (1261) 3121 0 R (1262) 3127 0 R (1264) 3128 0 R (1265) 3129 0 R (1266) 3130 0 R (1269) 3131 0 R (1270) 3132 0 R (1272) 3133 0 R (1273) 3134 0 R (1274) 3135 0 R (1276) 3136 0 R (1277) 3137 0 R (1278) 3138 0 R (1281) 3139 0 R (1282) 3140 0 R (1285) 3141 0 R (1286) 3142 0 R (1289) 3147 0 R (1291) 3149 0 R (1293) 3150 0 R (1294) 3151 0 R (1295) 3152 0 R (1297) 3153 0 R (1298) 3154 0 R (1299) 3155 0 R (13.0) 1022 0 R (13.63.1) 1026 0 R (13.64.1) 1030 0 R (13.65.1) 1034 0 R (13.66.1) 1038 0 R (13.67.1) 1042 0 R (13.68.1) 1046 0 R (13.69.1) 1050 0 R (13.70.1) 1054 0 R (13.71.1) 1058 0 R (13.72.1) 1062 0 R (13.73.1) 1066 0 R (13.74.1) 1070 0 R (1302) 3157 0 R (1303) 3158 0 R (1304) 3159 0 R (1308) 3161 0 R (1309) 3162 0 R (1310) 3163 0 R (1311) 3164 0 R (1312) 3165 0 R (1315) 3167 0 R (1316) 3168 0 R (1317) 3169 0 R (1320) 3176 0 R (1321) 3177 0 R (1322) 3178 0 R (1323) 3179 0 R (1324) 3180 0 R (1327) 3182 0 R (1328) 3183 0 R (1329) 3184 0 R (1330) 3185 0 R (1331) 3186 0 R (1332) 3187 0 R (1333) 3188 0 R (1334) 3189 0 R (1335) 3190 0 R (1336) 3191 0 R (1337) 3192 0 R (1338) 3193 0 R (1341) 3195 0 R (1342) 3196 0 R (1343) 3197 0 R (1344) 3198 0 R (1347) 3200 0 R (1348) 3201 0 R (1349) 3202 0 R (1350) 3203 0 R (1353) 3205 0 R (1354) 3206 0 R (1355) 3207 0 R (1356) 3208 0 R (1359) 3210 0 R (1360) 3211 0 R (1361) 3212 0 R (1362) 3213 0 R (1365) 3218 0 R (1366) 3219 0 R (1367) 3220 0 R (1369) 3222 0 R (1370) 3223 0 R (1373) 3225 0 R (1374) 3226 0 R (1375) 3227 0 R (1376) 3228 0 R (1377) 3229 0 R (1380) 3231 0 R (1381) 3232 0 R (1384) 3234 0 R (1385) 3235 0 R (1388) 3237 0 R (1389) 3238 0 R (1390) 3239 0 R (1391) 3240 0 R (1394) 3241 0 R (1395) 3242 0 R (1397) 3243 0 R (1398) 3244 0 R (1399) 3245 0 R (14.0) 1074 0 R (1400) 3246 0 R (1402) 3247 0 R (1403) 3248 0 R (1404) 3249 0 R (1406) 3254 0 R (1407) 3255 0 R (1408) 3256 0 R (1410) 3257 0 R (1411) 3258 0 R (1412) 3259 0 R (1415) 3260 0 R (1418) 3261 0 R (1421) 3262 0 R (1422) 3263 0 R (1423) 3264 0 R (1424) 3265 0 R (1425) 3266 0 R (1428) 3267 0 R (1433) 3273 0 R (1434) 3274 0 R (1435) 3275 0 R (1440) 3276 0 R (1441) 3277 0 R (1442) 3278 0 R (1443) 3279 0 R (1444) 3280 0 R (1445) 3281 0 R (1450) 3283 0 R (1451) 3284 0 R (1452) 3290 0 R (1453) 3291 0 R (1457) 3293 0 R (1458) 3294 0 R (1459) 3295 0 R (1460) 3296 0 R (1461) 3297 0 R (1462) 3298 0 R (1463) 3299 0 R (1464) 3300 0 R (1465) 3301 0 R (1466) 3302 0 R (1467) 3303 0 R (1470) 3304 0 R (1471) 3305 0 R (1472) 3306 0 R (1473) 3307 0 R (1474) 3308 0 R (1475) 3309 0 R (1476) 3310 0 R (1477) 3311 0 R (1478) 3312 0 R (1479) 3313 0 R (1480) 3314 0 R (1481) 3315 0 R (1482) 3316 0 R (1483) 3317 0 R (1484) 3318 0 R (1485) 3319 0 R (1486) 3320 0 R (1487) 3321 0 R (1488) 3322 0 R (1489) 3323 0 R (1490) 3324 0 R (1491) 3325 0 R (1492) 3326 0 R (1493) 3327 0 R (1494) 3332 0 R (1495) 3333 0 R (1496) 3334 0 R (1497) 3335 0 R (1498) 3336 0 R (1499) 3337 0 R (15.0) 1078 0 R (15.74.100.2) 1082 0 R (1500) 3338 0 R (1501) 3339 0 R (1502) 3340 0 R (1503) 3341 0 R (1504) 3342 0 R (1505) 3343 0 R (1506) 3344 0 R (1507) 3345 0 R (1508) 3346 0 R (1509) 3347 0 R (1510) 3348 0 R (1511) 3349 0 R (1512) 3350 0 R (1513) 3351 0 R (1514) 3352 0 R (1515) 3353 0 R (1516) 3354 0 R (1517) 3355 0 R (1518) 3356 0 R (1519) 3357 0 R (1520) 3358 0 R (1521) 3359 0 R (1522) 3360 0 R (1523) 3361 0 R (1524) 3362 0 R (1527) 3363 0 R (1528) 3364 0 R (1532) 3366 0 R (1533) 3367 0 R (1534) 3368 0 R (1535) 3369 0 R (1536) 3370 0 R (1537) 3376 0 R (1538) 3377 0 R (1539) 3378 0 R (1540) 3379 0 R (1543) 3380 0 R (1544) 3381 0 R (1545) 3382 0 R (1546) 3383 0 R (1547) 3384 0 R (1548) 3385 0 R (1551) 3386 0 R (1554) 3389 0 R (1555) 3390 0 R (1556) 3391 0 R (1557) 3392 0 R (1558) 3393 0 R (1560) 3394 0 R (1561) 3395 0 R (1562) 3396 0 R (1564) 3402 0 R (1565) 3403 0 R (1566) 3404 0 R (1568) 3375 0 R (1569) 3405 0 R (1570) 3406 0 R (1572) 3407 0 R (1573) 3408 0 R (1574) 3409 0 R (1576) 3410 0 R (1577) 3411 0 R (1578) 3412 0 R (1580) 3413 0 R (1581) 3414 0 R (1582) 3415 0 R (1584) 3416 0 R (1585) 3417 0 R (1586) 3418 0 R (1588) 3419 0 R (1589) 3420 0 R (1590) 3421 0 R (1592) 3422 0 R (1593) 3423 0 R (1594) 3424 0 R (1596) 3425 0 R (1597) 3426 0 R (1598) 3427 0 R (1599) 3428 0 R (16.0) 1086 0 R (16.74.101.2) 1090 0 R (16.74.101.56.3) 1094 0 R (1603) 3430 0 R (1604) 3431 0 R (1605) 3432 0 R (1606) 3433 0 R (1607) 3434 0 R (1608) 3435 0 R (1609) 3436 0 R (1610) 3437 0 R (1611) 3438 0 R (1612) 3439 0 R (1613) 3440 0 R (1614) 3441 0 R (1615) 3442 0 R (1619) 3444 0 R (1622) 3449 0 R (1623) 3450 0 R (1625) 3452 0 R (1627) 3454 0 R (1631) 3456 0 R (1632) 3457 0 R (1633) 3458 0 R (1634) 3459 0 R (1636) 3461 0 R (1637) 3462 0 R (1639) 3464 0 R (164) 2094 0 R (1640) 3465 0 R (1641) 3466 0 R (1642) 3467 0 R (1643) 3468 0 R (1644) 3469 0 R (1645) 3470 0 R (1646) 3471 0 R (1647) 3472 0 R (1648) 3473 0 R (1649) 3474 0 R (165) 2095 0 R (1650) 3475 0 R (1651) 3481 0 R (1652) 3482 0 R (1653) 3483 0 R (1654) 3484 0 R (1655) 3485 0 R (1656) 3486 0 R (1657) 3487 0 R (1658) 3488 0 R (1659) 3489 0 R (1660) 3490 0 R (1661) 3491 0 R (1664) 3492 0 R (1665) 3493 0 R (1666) 3494 0 R (1667) 3495 0 R (1668) 3496 0 R (1669) 3497 0 R (1670) 3498 0 R (1671) 3499 0 R (1672) 3500 0 R (1673) 3501 0 R (1674) 3502 0 R (1675) 3509 0 R (1676) 3480 0 R (1677) 3510 0 R (1678) 3511 0 R (1679) 3512 0 R (1680) 3513 0 R (1681) 3514 0 R (1682) 3515 0 R (1683) 3516 0 R (1684) 3517 0 R (1685) 3518 0 R (1686) 3519 0 R (1687) 3520 0 R (1688) 3521 0 R (1689) 3522 0 R (1690) 3523 0 R (1691) 3524 0 R (1692) 3525 0 R (1693) 3526 0 R (1694) 3527 0 R (1695) 3508 0 R (1699) 3533 0 R (17.0) 1098 0 R (17.74.102.2) 1102 0 R (17.74.103.2) 1106 0 R (17.74.104.2) 1110 0 R (170) 2100 0 R (1700) 3534 0 R (1701) 3535 0 R (1702) 3536 0 R (1703) 3537 0 R (1704) 3538 0 R (1705) 3539 0 R (1706) 3540 0 R (1707) 3541 0 R (1708) 3542 0 R (1709) 3543 0 R (171) 2101 0 R (1710) 3544 0 R (1711) 3545 0 R (1712) 3546 0 R (1713) 3547 0 R (1714) 3548 0 R (1715) 3549 0 R (1716) 3550 0 R (1717) 3551 0 R (1718) 3552 0 R (1719) 3553 0 R (172) 2102 0 R (1722) 3554 0 R (1723) 3555 0 R (1724) 3556 0 R (1725) 3557 0 R (1726) 3558 0 R (1727) 3559 0 R (1728) 3560 0 R (1729) 3561 0 R (173) 2106 0 R (1730) 3562 0 R (1733) 3563 0 R (1734) 3564 0 R (1735) 3570 0 R (1736) 3571 0 R (1737) 3572 0 R (1738) 3573 0 R (1739) 3574 0 R (1740) 3575 0 R (1741) 3576 0 R (1742) 3577 0 R (1743) 3578 0 R (1744) 3579 0 R (1745) 3580 0 R (1748) 3581 0 R (1749) 3582 0 R (175) 2109 0 R (1750) 3583 0 R (1751) 3584 0 R (1754) 3585 0 R (1755) 3586 0 R (1756) 3587 0 R (1757) 3588 0 R (1758) 3589 0 R (1759) 3590 0 R (176) 2110 0 R (1760) 3591 0 R (1761) 3592 0 R (1762) 3593 0 R (1763) 3594 0 R (1764) 3595 0 R (1765) 3596 0 R (1766) 3597 0 R (1767) 3598 0 R (1768) 3599 0 R (1769) 3600 0 R (177) 2111 0 R (1770) 3601 0 R (1771) 3602 0 R (1772) 3603 0 R (1773) 3604 0 R (1774) 3605 0 R (1775) 3606 0 R (1776) 3607 0 R (1777) 3608 0 R (1778) 3609 0 R (1779) 3610 0 R (178) 2112 0 R (1780) 3611 0 R (1785) 3616 0 R (1786) 3617 0 R (1788) 3618 0 R (1789) 3619 0 R (179) 2113 0 R (1790) 3620 0 R (1791) 3621 0 R (1793) 3569 0 R (1795) 3622 0 R (1796) 3623 0 R (1797) 3624 0 R (1799) 3625 0 R (18.0) 1114 0 R (18.74.105.2) 1118 0 R (18.74.106.2) 1122 0 R (18.74.107.2) 1126 0 R (18.74.108.2) 1130 0 R (180) 2114 0 R (1800) 3626 0 R (1801) 3627 0 R (1802) 3628 0 R (1803) 3629 0 R (1804) 3630 0 R (1805) 3631 0 R (1808) 3632 0 R (1809) 3633 0 R (181) 2115 0 R (1810) 3634 0 R (1811) 3635 0 R (1812) 3636 0 R (1813) 3637 0 R (1814) 3638 0 R (1815) 3639 0 R (1816) 3640 0 R (1817) 3641 0 R (1818) 3642 0 R (1821) 3643 0 R (1824) 3644 0 R (1825) 3645 0 R (1826) 3646 0 R (1827) 3647 0 R (1828) 3648 0 R (1829) 3649 0 R (1830) 3650 0 R (1831) 3655 0 R (1832) 3656 0 R (1833) 3657 0 R (1834) 3658 0 R (1835) 3659 0 R (1836) 3660 0 R (1837) 3661 0 R (1838) 3662 0 R (1839) 3663 0 R (184) 2117 0 R (1840) 3664 0 R (1841) 3665 0 R (1842) 3666 0 R (1845) 3667 0 R (1846) 3668 0 R (1847) 3669 0 R (1848) 3670 0 R (1849) 3671 0 R (1852) 3672 0 R (1853) 3673 0 R (1854) 3674 0 R (1855) 3675 0 R (1856) 3676 0 R (1859) 3677 0 R (1860) 3678 0 R (1864) 3680 0 R (1865) 3681 0 R (1868) 3683 0 R (187) 2119 0 R (1871) 3685 0 R (1872) 3686 0 R (1873) 3687 0 R (1876) 3693 0 R (1877) 3694 0 R (1878) 3695 0 R (1879) 3696 0 R (1880) 3697 0 R (1881) 3698 0 R (1882) 3699 0 R (1883) 3700 0 R (1884) 3701 0 R (1885) 3702 0 R (1886) 3703 0 R (1887) 3704 0 R (1888) 3705 0 R (1889) 3706 0 R (1890) 3707 0 R (1891) 3708 0 R (1892) 3709 0 R (1893) 3710 0 R (1894) 3711 0 R (1895) 3712 0 R (1896) 3713 0 R (1897) 3714 0 R (1898) 3715 0 R (1899) 3716 0 R (19.0) 1134 0 R (19.74.109.2) 1138 0 R (19.74.110.2) 1142 0 R (190) 2121 0 R (1900) 3717 0 R (1901) 3718 0 R (1902) 3719 0 R (1903) 3720 0 R (1904) 3721 0 R (1905) 3722 0 R (1906) 3723 0 R (1909) 3725 0 R (1910) 3726 0 R (1911) 3727 0 R (1914) 3729 0 R (1915) 3730 0 R (1918) 3732 0 R (1919) 3733 0 R (1920) 3734 0 R (1921) 3735 0 R (1922) 3736 0 R (1923) 3737 0 R (1926) 3744 0 R (1927) 3745 0 R (193) 2123 0 R (1930) 3747 0 R (1931) 3748 0 R (1932) 3749 0 R (1933) 3750 0 R (1936) 3752 0 R (1939) 3754 0 R (1940) 3755 0 R (1941) 3756 0 R (1942) 3757 0 R (1945) 3759 0 R (1946) 3760 0 R (1949) 3761 0 R (1950) 3762 0 R (1951) 3763 0 R (1952) 3764 0 R (1953) 3765 0 R (1954) 3766 0 R (1955) 3767 0 R (1956) 3768 0 R (1959) 3773 0 R (196) 2125 0 R (1960) 3774 0 R (1962) 3776 0 R (1965) 3777 0 R (1966) 3778 0 R (1967) 3779 0 R (1968) 3780 0 R (1969) 3781 0 R (1972) 3782 0 R (1973) 3783 0 R (1974) 3784 0 R (1975) 3785 0 R (1976) 3786 0 R (1977) 3787 0 R (1978) 3788 0 R (1979) 3789 0 R (1980) 3790 0 R (1981) 3791 0 R (1982) 3792 0 R (1983) 3793 0 R (1984) 3794 0 R (1985) 3795 0 R (199) 2127 0 R (1993) 3799 0 R (1994) 3800 0 R (1995) 3801 0 R (1996) 3807 0 R (1997) 3808 0 R (1998) 3809 0 R (2.0) 6 0 R (20.0) 1146 0 R (20.74.111.2) 1150 0 R (2000) 3811 0 R (2001) 3812 0 R (2002) 3813 0 R (2003) 3814 0 R (2004) 3815 0 R (2005) 3816 0 R (2008) 3817 0 R (2012) 3819 0 R (2015) 3820 0 R (2016) 3821 0 R (2019) 3822 0 R (2020) 3823 0 R (2021) 3824 0 R (2024) 3825 0 R (2025) 3826 0 R (2026) 3827 0 R (2027) 3828 0 R (2028) 3829 0 R (2029) 3834 0 R (203) 2128 0 R (2030) 3806 0 R (2033) 3835 0 R (2034) 3836 0 R (2037) 3837 0 R (2038) 3838 0 R (2039) 3839 0 R (204) 2129 0 R (2040) 3840 0 R (2041) 3841 0 R (2042) 3842 0 R (2043) 3843 0 R (2044) 3844 0 R (2045) 3845 0 R (2046) 3846 0 R (2047) 3847 0 R (2048) 3848 0 R (2049) 3849 0 R (205) 2130 0 R (2050) 3850 0 R (2051) 3851 0 R (2052) 3852 0 R (2055) 3853 0 R (2056) 3858 0 R (2057) 3859 0 R (2058) 3860 0 R (2059) 3861 0 R (206) 2131 0 R (2060) 3862 0 R (2063) 3863 0 R (2064) 3864 0 R (2065) 3865 0 R (2066) 3866 0 R (2067) 3867 0 R (2068) 3868 0 R (2069) 3869 0 R (2071) 3872 0 R (2072) 3873 0 R (2074) 3875 0 R (2075) 3876 0 R (2077) 3878 0 R (2078) 3879 0 R (2080) 3881 0 R (2081) 3882 0 R (2082) 3883 0 R (2085) 3888 0 R (2086) 3889 0 R (2087) 3890 0 R (2088) 3891 0 R (2089) 3892 0 R (209) 2136 0 R (2090) 3893 0 R (2091) 3894 0 R (2092) 3895 0 R (2093) 3896 0 R (2094) 3897 0 R (2095) 3898 0 R (2096) 3899 0 R (2097) 3900 0 R (2098) 3901 0 R (2099) 3902 0 R (21.0) 1154 0 R (21.74.112.2) 1158 0 R (2100) 3903 0 R (2101) 3904 0 R (2102) 3905 0 R (2106) 3907 0 R (2107) 3908 0 R (2108) 3909 0 R (2109) 3910 0 R (2110) 3911 0 R (2112) 3918 0 R (2113) 3919 0 R (2115) 3920 0 R (2116) 3921 0 R (2117) 3922 0 R (2118) 3923 0 R (212) 2137 0 R (2120) 3924 0 R (2121) 3925 0 R (2122) 3926 0 R (2123) 3927 0 R (2125) 3928 0 R (2126) 3929 0 R (2127) 3930 0 R (2128) 3931 0 R (213) 2138 0 R (2130) 3932 0 R (2131) 3933 0 R (2132) 3934 0 R (2133) 3935 0 R (2135) 3936 0 R (2136) 3937 0 R (2137) 3938 0 R (2138) 3939 0 R (214) 2139 0 R (2141) 3941 0 R (2142) 3942 0 R (2143) 3943 0 R (2144) 3944 0 R (2148) 3946 0 R (2149) 3947 0 R (215) 2140 0 R (2150) 3948 0 R (2151) 3949 0 R (2153) 3951 0 R (2154) 3952 0 R (2156) 3954 0 R (2157) 3955 0 R (2159) 1692 0 R (216) 2141 0 R (2161) 3961 0 R (2165) 3963 0 R (2166) 3964 0 R (2167) 3965 0 R (2168) 3966 0 R (2169) 3967 0 R (217) 2142 0 R (2170) 3968 0 R (2171) 3969 0 R (2172) 3970 0 R (2175) 3975 0 R (2176) 3976 0 R (2177) 3977 0 R (218) 2143 0 R (2182) 3978 0 R (2185) 3979 0 R (2187) 3981 0 R (2188) 3982 0 R (2189) 3983 0 R (219) 2144 0 R (2190) 3984 0 R (2192) 3986 0 R (2193) 3987 0 R (2194) 3988 0 R (2195) 3989 0 R (2196) 3990 0 R (2197) 3991 0 R (2198) 3992 0 R (2199) 3993 0 R (22.0) 1162 0 R (22.74.113.2) 1166 0 R (22.74.114.2) 1170 0 R (220) 2145 0 R (2200) 3994 0 R (2201) 3995 0 R (2202) 3996 0 R (2206) 3997 0 R (2207) 3998 0 R (2212) 4005 0 R (2213) 4006 0 R (2214) 4007 0 R (2215) 4008 0 R (2219) 4011 0 R (2220) 4012 0 R (2221) 4013 0 R (2222) 4014 0 R (2223) 4015 0 R (2224) 4016 0 R (2226) 4017 0 R (2227) 4018 0 R (2228) 4019 0 R (2229) 4020 0 R (223) 2146 0 R (2230) 4021 0 R (2231) 4022 0 R (2232) 4023 0 R (2233) 4024 0 R (2234) 4025 0 R (2235) 4026 0 R (2236) 4027 0 R (2237) 4028 0 R (2238) 4029 0 R (2239) 4030 0 R (224) 2147 0 R (2240) 4031 0 R (2241) 4032 0 R (2242) 4033 0 R (2243) 4034 0 R (2244) 4035 0 R (2245) 4036 0 R (2246) 4037 0 R (2248) 4038 0 R (2249) 4039 0 R (225) 2148 0 R (2250) 4040 0 R (2251) 4041 0 R (2252) 4042 0 R (2253) 4043 0 R (2254) 4044 0 R (2255) 4045 0 R (2256) 4046 0 R (2258) 4047 0 R (2259) 4048 0 R (226) 2149 0 R (2260) 4049 0 R (2261) 4050 0 R (2262) 4051 0 R (2263) 4052 0 R (2264) 4053 0 R (2265) 4054 0 R (2266) 4055 0 R (2267) 4056 0 R (2268) 4057 0 R (2269) 4058 0 R (227) 2150 0 R (2270) 4059 0 R (2271) 4060 0 R (2272) 4061 0 R (2273) 4062 0 R (2274) 4063 0 R (2275) 4064 0 R (2276) 4065 0 R (2277) 4066 0 R (2278) 4067 0 R (2279) 4068 0 R (2280) 4069 0 R (2281) 4070 0 R (2282) 4071 0 R (2283) 4072 0 R (2284) 4078 0 R (2285) 4079 0 R (2286) 4080 0 R (2287) 4081 0 R (2288) 4082 0 R (2294) 4084 0 R (2295) 4085 0 R (2296) 4086 0 R (2297) 4087 0 R (2298) 4088 0 R (2299) 4089 0 R (23.0) 1174 0 R (23.74.115.2) 1178 0 R (23.74.116.2) 1182 0 R (23.74.117.2) 1186 0 R (230) 2151 0 R (2304) 4094 0 R (2305) 4095 0 R (2306) 4096 0 R (2307) 4097 0 R (231) 2152 0 R (2310) 4098 0 R (2311) 4099 0 R (2312) 4100 0 R (2313) 4101 0 R (2314) 4102 0 R (2315) 4103 0 R (2316) 4104 0 R (2317) 4105 0 R (2318) 4106 0 R (2319) 4107 0 R (232) 2153 0 R (2320) 4108 0 R (2321) 4109 0 R (2322) 4110 0 R (2323) 4111 0 R (2324) 4112 0 R (2325) 4113 0 R (2326) 4114 0 R (2327) 4115 0 R (2328) 4116 0 R (2329) 4117 0 R (233) 2154 0 R (2330) 4123 0 R (2331) 4124 0 R (2332) 4125 0 R (2333) 4126 0 R (2336) 4127 0 R (2337) 4128 0 R (2338) 4129 0 R (2339) 4130 0 R (234) 2158 0 R (2340) 4131 0 R (2341) 4132 0 R (2342) 4133 0 R (2363) 4135 0 R (2364) 4136 0 R (2365) 4137 0 R (2366) 4138 0 R (2367) 4139 0 R (2368) 4140 0 R (2369) 4141 0 R (237) 2159 0 R (2370) 4142 0 R (2371) 4143 0 R (2372) 4144 0 R (2373) 4145 0 R (2374) 4146 0 R (2375) 4147 0 R (2376) 4148 0 R (2377) 4149 0 R (2378) 4150 0 R (2379) 4151 0 R (238) 2160 0 R (2380) 4152 0 R (2381) 4153 0 R (2382) 4154 0 R (2383) 4155 0 R (2384) 4156 0 R (2385) 4157 0 R (2386) 4158 0 R (2387) 4159 0 R (2388) 4160 0 R (2389) 4161 0 R (2390) 4162 0 R (2391) 4163 0 R (2392) 4164 0 R (2393) 4165 0 R (2394) 4166 0 R (2395) 4167 0 R (2396) 4168 0 R (2397) 4174 0 R (2398) 4175 0 R (2399) 4176 0 R (24) 2020 0 R (24.0) 1190 0 R (24.74.118.2) 1194 0 R (240) 2162 0 R (2400) 4177 0 R (2401) 4178 0 R (2402) 4179 0 R (2403) 4180 0 R (2404) 4181 0 R (2405) 4182 0 R (2406) 4183 0 R (2407) 4184 0 R (2408) 4185 0 R (2409) 4186 0 R (241) 2163 0 R (242) 2164 0 R (2430) 4188 0 R (2431) 4189 0 R (2432) 4190 0 R (2433) 4191 0 R (2434) 4192 0 R (2435) 4193 0 R (2436) 4194 0 R (2437) 4195 0 R (2438) 4196 0 R (2439) 4197 0 R (2440) 4198 0 R (2441) 4199 0 R (2444) 4200 0 R (2446) 4202 0 R (2447) 4203 0 R (245) 2165 0 R (2450) 4209 0 R (2455) 4210 0 R (2456) 4211 0 R (2457) 4212 0 R (2458) 4213 0 R (246) 2166 0 R (2462) 4219 0 R (2463) 4208 0 R (2464) 4220 0 R (2465) 4221 0 R (2466) 4222 0 R (2467) 4223 0 R (2468) 4224 0 R (2469) 4225 0 R (247) 2167 0 R (2470) 4226 0 R (2471) 4227 0 R (2472) 4228 0 R (2473) 4229 0 R (2474) 4230 0 R (2475) 4231 0 R (2476) 4232 0 R (2477) 4233 0 R (2478) 4234 0 R (248) 2168 0 R (2481) 4235 0 R (2482) 4236 0 R (2485) 4237 0 R (2486) 4238 0 R (2487) 4239 0 R (2488) 4240 0 R (2489) 4241 0 R (249) 2169 0 R (2490) 4242 0 R (2491) 4243 0 R (2492) 4244 0 R (2493) 4245 0 R (2494) 4246 0 R (2495) 4247 0 R (2496) 4248 0 R (2497) 4253 0 R (25) 2021 0 R (25.0) 1198 0 R (25.74.119.2) 1202 0 R (25.74.120.2) 1206 0 R (250) 2170 0 R (2500) 4254 0 R (2501) 4255 0 R (2502) 4256 0 R (2503) 4257 0 R (2504) 4258 0 R (2505) 4259 0 R (2508) 4260 0 R (2509) 4261 0 R (251) 2171 0 R (2510) 4262 0 R (2511) 4263 0 R (2512) 4264 0 R (2515) 4265 0 R (2518) 4266 0 R (2519) 4267 0 R (252) 2172 0 R (2520) 4268 0 R (253) 2173 0 R (254) 2174 0 R (2541) 4274 0 R (2544) 4275 0 R (2545) 4276 0 R (2547) 4278 0 R (2548) 4279 0 R (2549) 4280 0 R (255) 2175 0 R (2550) 4281 0 R (2555) 4282 0 R (2556) 4283 0 R (2557) 4284 0 R (2558) 4285 0 R (2559) 4286 0 R (2560) 4287 0 R (2561) 4288 0 R (2562) 4289 0 R (2563) 4290 0 R (2564) 4291 0 R (2565) 4292 0 R (2566) 4293 0 R (2567) 4294 0 R (2568) 4295 0 R (2569) 4301 0 R (2570) 4302 0 R (2571) 4303 0 R (2572) 4304 0 R (2573) 4305 0 R (2574) 4306 0 R (2575) 4307 0 R (2576) 4308 0 R (2577) 4309 0 R (2578) 4310 0 R (2579) 4311 0 R (258) 2176 0 R (2580) 4312 0 R (2581) 4313 0 R (2582) 4314 0 R (2583) 4315 0 R (2584) 4316 0 R (2587) 4317 0 R (2588) 4318 0 R (2589) 4319 0 R (259) 2177 0 R (2592) 4324 0 R (2593) 4325 0 R (2594) 4326 0 R (2595) 4327 0 R (2596) 4328 0 R (2597) 4329 0 R (2598) 4330 0 R (2599) 4331 0 R (26) 2022 0 R (26.0) 1210 0 R (26.74.121.2) 1214 0 R (26.74.122.2) 1218 0 R (2600) 4332 0 R (2601) 4333 0 R (2604) 4334 0 R (2605) 4335 0 R (2606) 4336 0 R (261) 2179 0 R (2616) 4338 0 R (2619) 4344 0 R (262) 2180 0 R (2622) 4345 0 R (2625) 4346 0 R (2628) 4347 0 R (263) 2181 0 R (2631) 4348 0 R (2632) 4349 0 R (2635) 4350 0 R (2638) 4351 0 R (2639) 1831 0 R (264) 2182 0 R (2641) 4357 0 R (2642) 4358 0 R (2643) 4343 0 R (265) 2183 0 R (2652) 4360 0 R (2655) 4361 0 R (2656) 4362 0 R (2659) 4363 0 R (266) 2184 0 R (2662) 4364 0 R (2663) 4365 0 R (2664) 4366 0 R (2667) 4371 0 R (2668) 4372 0 R (2669) 4356 0 R (267) 2189 0 R (2671) 4373 0 R (2672) 4374 0 R (2673) 4375 0 R (2676) 4376 0 R (2679) 4377 0 R (268) 2190 0 R (2680) 4378 0 R (2681) 4379 0 R (2682) 4380 0 R (2683) 4381 0 R (2684) 4382 0 R (2685) 4383 0 R (2686) 4384 0 R (2687) 4385 0 R (2688) 4386 0 R (2689) 4387 0 R (2690) 4388 0 R (2691) 4389 0 R (2692) 4390 0 R (2693) 4391 0 R (2694) 4392 0 R (2695) 4393 0 R (2696) 4394 0 R (2697) 4395 0 R (2698) 4396 0 R (2699) 4397 0 R (27.0) 1222 0 R (27.74.123.2) 1226 0 R (27.74.124.2) 1230 0 R (2700) 4398 0 R (2703) 4399 0 R (2704) 4400 0 R (2705) 4401 0 R (2706) 4402 0 R (2707) 4403 0 R (2708) 4408 0 R (2709) 4409 0 R (271) 2193 0 R (2710) 4410 0 R (2711) 4411 0 R (2712) 4412 0 R (2713) 4413 0 R (2714) 4414 0 R (2715) 4415 0 R (2716) 4416 0 R (2717) 4417 0 R (2718) 4418 0 R (2719) 4419 0 R (272) 2194 0 R (2720) 4420 0 R (2721) 4421 0 R (2722) 4422 0 R (2723) 4423 0 R (2724) 4424 0 R (2725) 4425 0 R (2726) 4426 0 R (2727) 4427 0 R (2728) 4428 0 R (2729) 4429 0 R (273) 2195 0 R (2730) 4430 0 R (2731) 4431 0 R (2732) 4432 0 R (2733) 4433 0 R (2734) 4434 0 R (2735) 4435 0 R (2736) 4436 0 R (2737) 4437 0 R (2738) 4438 0 R (2739) 4439 0 R (274) 2196 0 R (2740) 4440 0 R (2741) 4441 0 R (2742) 4442 0 R (2743) 4443 0 R (2744) 4450 0 R (2745) 4451 0 R (2746) 4452 0 R (2747) 4453 0 R (275) 2197 0 R (2750) 4454 0 R (2754) 4456 0 R (2755) 4457 0 R (2756) 4458 0 R (2759) 4459 0 R (276) 2198 0 R (2760) 4460 0 R (2761) 4461 0 R (2762) 4462 0 R (2764) 4463 0 R (2765) 4464 0 R (2766) 4465 0 R (2768) 4466 0 R (2769) 4467 0 R (277) 2199 0 R (2770) 4468 0 R (2772) 4469 0 R (2773) 4470 0 R (2774) 4471 0 R (2776) 4472 0 R (2777) 4473 0 R (2778) 4474 0 R (278) 2200 0 R (2780) 4475 0 R (2781) 4476 0 R (2782) 4477 0 R (2784) 4478 0 R (2785) 4479 0 R (2786) 4480 0 R (2788) 4481 0 R (2789) 4482 0 R (279) 2201 0 R (2790) 4483 0 R (2792) 4488 0 R (2793) 4489 0 R (2794) 4490 0 R (2796) 4449 0 R (2797) 4491 0 R (2798) 4492 0 R (28) 2024 0 R (28.0) 1234 0 R (28.74.125.2) 1238 0 R (280) 2202 0 R (2800) 4493 0 R (2801) 4494 0 R (2802) 4495 0 R (2804) 4496 0 R (2805) 4497 0 R (2806) 4498 0 R (2808) 4499 0 R (2809) 4500 0 R (281) 2203 0 R (2810) 4501 0 R (2812) 4502 0 R (2813) 4503 0 R (2814) 4504 0 R (2815) 4505 0 R (2816) 4506 0 R (282) 2204 0 R (2820) 4508 0 R (2823) 4509 0 R (2824) 4510 0 R (2825) 4511 0 R (2826) 4512 0 R (2827) 4513 0 R (283) 2205 0 R (2830) 4518 0 R (2831) 4519 0 R (2832) 4520 0 R (2833) 4521 0 R (2834) 4522 0 R (2835) 4523 0 R (2836) 1942 0 R (2838) 4524 0 R (2839) 4525 0 R (284) 2206 0 R (2840) 4526 0 R (2841) 4527 0 R (2842) 4528 0 R (2845) 4529 0 R (2846) 4535 0 R (2849) 4536 0 R (285) 2207 0 R (2850) 4537 0 R (2851) 4538 0 R (2852) 4539 0 R (2853) 4540 0 R (2854) 4541 0 R (2855) 4542 0 R (2856) 4543 0 R (2859) 4544 0 R (286) 2208 0 R (2860) 4545 0 R (2861) 4550 0 R (2862) 4551 0 R (2863) 4534 0 R (2864) 4552 0 R (2866) 4554 0 R (2867) 4555 0 R (287) 2209 0 R (2871) 4557 0 R (2872) 4558 0 R (2873) 4559 0 R (2876) 4560 0 R (2877) 4561 0 R (2878) 4562 0 R (2879) 4563 0 R (288) 2210 0 R (2880) 4568 0 R (2881) 4569 0 R (2882) 4570 0 R (2883) 4571 0 R (2886) 4572 0 R (2887) 4573 0 R (2888) 4574 0 R (289) 2211 0 R (2890) 4576 0 R (2891) 4577 0 R (2892) 4578 0 R (2893) 4579 0 R (2894) 4580 0 R (2895) 4581 0 R (2896) 1949 0 R (2898) 4587 0 R (2899) 4588 0 R (290) 2212 0 R (2900) 4589 0 R (2905) 4594 0 R (2906) 4595 0 R (2907) 4596 0 R (291) 2213 0 R (2910) 4597 0 R (2911) 4598 0 R (2912) 4599 0 R (2913) 4600 0 R (2914) 4601 0 R (2915) 4602 0 R (2916) 4603 0 R (2917) 4604 0 R (2918) 4605 0 R (2919) 4606 0 R (292) 2214 0 R (2920) 4607 0 R (2923) 4608 0 R (2924) 4609 0 R (2928) 4611 0 R (2929) 4612 0 R (293) 2215 0 R (2930) 4613 0 R (2931) 4614 0 R (2932) 4615 0 R (2933) 4616 0 R (2934) 4617 0 R (2935) 4622 0 R (2936) 4623 0 R (2937) 4624 0 R (294) 2216 0 R (2940) 4625 0 R (2941) 4626 0 R (2942) 4627 0 R (2943) 4628 0 R (2944) 4629 0 R (2945) 4630 0 R (2946) 4631 0 R (2947) 4632 0 R (2948) 4633 0 R (2949) 4634 0 R (2950) 4635 0 R (2951) 4636 0 R (2952) 4637 0 R (2953) 4638 0 R (2954) 4639 0 R (2955) 4640 0 R (2956) 4641 0 R (2957) 4642 0 R (2958) 4643 0 R (2959) 4644 0 R (296) 2218 0 R (2960) 4645 0 R (2961) 4646 0 R (2962) 4647 0 R (2963) 4648 0 R (2966) 4653 0 R (2967) 4654 0 R (2968) 4655 0 R (2969) 4656 0 R (297) 2219 0 R (2970) 4657 0 R (2971) 4658 0 R (2972) 4659 0 R (2973) 4660 0 R (2974) 4661 0 R (2975) 4662 0 R (2978) 4663 0 R (2979) 4664 0 R (298) 2220 0 R (2980) 4665 0 R (2981) 4666 0 R (2982) 4667 0 R (2983) 4668 0 R (2984) 4669 0 R (2985) 4670 0 R (2986) 4671 0 R (2987) 4672 0 R (2988) 4673 0 R (2989) 4674 0 R (299) 2221 0 R (2990) 4675 0 R (2991) 4676 0 R (2992) 4681 0 R (2993) 4682 0 R (2994) 4683 0 R (2997) 4684 0 R (2998) 4685 0 R (2999) 4686 0 R (3.0) 10 0 R (300) 2222 0 R (3000) 4687 0 R (3001) 4688 0 R (3002) 4689 0 R (3003) 4690 0 R (3004) 4691 0 R (3005) 4692 0 R (3006) 4693 0 R (3007) 4694 0 R (3008) 4695 0 R (3009) 4696 0 R (301) 2223 0 R (3010) 4697 0 R (3011) 4698 0 R (3012) 4699 0 R (3013) 4700 0 R (3014) 4701 0 R (3015) 4702 0 R (3016) 4703 0 R (3017) 4704 0 R (3018) 4705 0 R (3019) 4706 0 R (302) 2224 0 R (3020) 4707 0 R (3021) 4708 0 R (3022) 4709 0 R (3023) 4710 0 R (3024) 4711 0 R (3025) 4712 0 R (3026) 4717 0 R (3027) 4718 0 R (3028) 4719 0 R (3029) 4720 0 R (303) 2225 0 R (3030) 4721 0 R (3031) 4722 0 R (3032) 4723 0 R (3033) 4724 0 R (3034) 4725 0 R (3035) 4726 0 R (3036) 4727 0 R (3037) 4728 0 R (3038) 4729 0 R (3039) 4730 0 R (304) 2226 0 R (3042) 4731 0 R (3043) 4732 0 R (3046) 4733 0 R (3047) 4734 0 R (3048) 4735 0 R (3049) 4736 0 R (305) 2227 0 R (3050) 4737 0 R (3051) 4743 0 R (3052) 4744 0 R (3053) 4745 0 R (3054) 4746 0 R (3055) 4747 0 R (3056) 4748 0 R (3057) 4749 0 R (3058) 4750 0 R (3059) 4751 0 R (306) 2228 0 R (3060) 4752 0 R (3061) 4753 0 R (3062) 4754 0 R (3063) 4755 0 R (3064) 4756 0 R (3065) 4761 0 R (3066) 4762 0 R (3067) 4763 0 R (3068) 4764 0 R (307) 2229 0 R (3071) 4765 0 R (3072) 4766 0 R (3075) 4771 0 R (3078) 4772 0 R (3079) 4773 0 R (308) 2230 0 R (3080) 4774 0 R (3081) 4775 0 R (3084) 4778 0 R (3085) 4779 0 R (3086) 4780 0 R (3087) 4781 0 R (3088) 4782 0 R (309) 2231 0 R (3091) 4783 0 R (3092) 4784 0 R (3093) 4785 0 R (3094) 4786 0 R (3095) 4787 0 R (3099) 4788 0 R (31) 2025 0 R (310) 2232 0 R (3100) 4789 0 R (3101) 4790 0 R (3102) 4791 0 R (3103) 4792 0 R (3104) 4793 0 R (3105) 4798 0 R (3108) 4799 0 R (3109) 4800 0 R (311) 2233 0 R (3110) 4801 0 R (3111) 4802 0 R (3112) 4803 0 R (3113) 4804 0 R (3114) 4805 0 R (3115) 4806 0 R (3118) 4807 0 R (3119) 4808 0 R (3120) 4809 0 R (3121) 4810 0 R (3122) 4811 0 R (3123) 4812 0 R (3124) 4813 0 R (3125) 4814 0 R (3126) 4815 0 R (3127) 4816 0 R (313) 2235 0 R (3130) 4817 0 R (3131) 4818 0 R (3132) 4823 0 R (3133) 4824 0 R (3134) 4825 0 R (3135) 4826 0 R (3138) 4828 0 R (3139) 4829 0 R (314) 2236 0 R (3140) 4830 0 R (3141) 4831 0 R (3142) 4832 0 R (3145) 4834 0 R (3146) 4835 0 R (3147) 4836 0 R (3148) 4837 0 R (3149) 4838 0 R (315) 2237 0 R (3150) 4839 0 R (3151) 4840 0 R (3155) 4841 0 R (3156) 4842 0 R (3157) 4843 0 R (3158) 4844 0 R (316) 2238 0 R (3162) 4850 0 R (3163) 4851 0 R (3164) 4852 0 R (3165) 4853 0 R (3166) 4854 0 R (3169) 4860 0 R (317) 2239 0 R (3170) 4861 0 R (3173) 4862 0 R (3174) 4863 0 R (3175) 4864 0 R (3176) 4865 0 R (3177) 4866 0 R (3178) 4867 0 R (3179) 4868 0 R (3180) 4869 0 R (3181) 4870 0 R (3182) 4871 0 R (3183) 4872 0 R (3184) 4873 0 R (3185) 4874 0 R (3186) 4875 0 R (3187) 4876 0 R (3188) 4877 0 R (3189) 4878 0 R (319) 2241 0 R (3190) 4879 0 R (3191) 4880 0 R (3192) 4881 0 R (3193) 4882 0 R (3194) 4883 0 R (3195) 4884 0 R (3196) 4885 0 R (3197) 4886 0 R (3198) 4887 0 R (3199) 4888 0 R (32) 2026 0 R (320) 2245 0 R (3200) 4889 0 R (3201) 4890 0 R (3204) 4891 0 R (3205) 4892 0 R (3206) 4893 0 R (3207) 4894 0 R (3208) 4895 0 R (3209) 4896 0 R (321) 2246 0 R (3210) 4897 0 R (3211) 4898 0 R (3212) 4899 0 R (3217) 4904 0 R (3218) 4905 0 R (3219) 4906 0 R (322) 2247 0 R (3220) 4907 0 R (3221) 4908 0 R (3222) 4909 0 R (3223) 4910 0 R (3224) 4911 0 R (3225) 4912 0 R (3226) 4913 0 R (3227) 4914 0 R (3228) 4915 0 R (3229) 4916 0 R (3230) 4917 0 R (3234) 4919 0 R (3235) 4920 0 R (3236) 4921 0 R (3237) 4922 0 R (3238) 4923 0 R (3239) 4924 0 R (324) 2249 0 R (3240) 4925 0 R (3241) 4926 0 R (3242) 4927 0 R (3243) 4928 0 R (3244) 4929 0 R (3245) 4934 0 R (3246) 4935 0 R (3247) 4936 0 R (3248) 4937 0 R (3249) 4938 0 R (325) 2250 0 R (3250) 4939 0 R (3251) 4940 0 R (3252) 4941 0 R (3253) 4942 0 R (3254) 4943 0 R (3255) 4944 0 R (3256) 4945 0 R (3257) 4946 0 R (3258) 4947 0 R (3259) 4948 0 R (3260) 4949 0 R (3261) 4950 0 R (3262) 4951 0 R (3263) 4952 0 R (3264) 4953 0 R (3265) 4954 0 R (3266) 4955 0 R (3267) 4956 0 R (3268) 4957 0 R (3269) 4958 0 R (327) 2252 0 R (3270) 4959 0 R (3271) 4964 0 R (3272) 4965 0 R (3273) 4966 0 R (3274) 4967 0 R (3275) 4968 0 R (3276) 4969 0 R (3277) 4970 0 R (328) 2253 0 R (3280) 4971 0 R (3281) 4972 0 R (3282) 4973 0 R (3283) 4974 0 R (3284) 4975 0 R (3285) 4976 0 R (3286) 4977 0 R (3287) 4978 0 R (3288) 4979 0 R (3289) 4980 0 R (3290) 4981 0 R (3291) 4982 0 R (3292) 4983 0 R (3293) 4984 0 R (3294) 4985 0 R (3295) 4986 0 R (3296) 4987 0 R (3297) 4988 0 R (3298) 4989 0 R (3299) 4990 0 R (33) 2027 0 R (330) 2255 0 R (3302) 4999 0 R (3303) 5000 0 R (3304) 5001 0 R (3307) 5002 0 R (3308) 5003 0 R (3309) 5004 0 R (331) 2256 0 R (3312) 5005 0 R (3313) 5006 0 R (3314) 5007 0 R (3315) 5008 0 R (3316) 5009 0 R (3317) 5010 0 R (3318) 5016 0 R (3319) 5017 0 R (3322) 5018 0 R (3323) 5019 0 R (3326) 5020 0 R (3327) 5021 0 R (3328) 5022 0 R (3329) 5028 0 R (333) 2258 0 R (3332) 5029 0 R (3333) 5030 0 R (3334) 5031 0 R (3335) 5032 0 R (3336) 5033 0 R (3337) 5034 0 R (3338) 5035 0 R (3339) 5036 0 R (334) 2259 0 R (3340) 5037 0 R (3341) 5038 0 R (3342) 5039 0 R (3343) 5040 0 R (3344) 5041 0 R (3345) 5042 0 R (3346) 5043 0 R (3347) 5044 0 R (3348) 5045 0 R (3349) 5046 0 R (335) 2260 0 R (3350) 5047 0 R (3351) 5048 0 R (3352) 5049 0 R (3353) 5050 0 R (3354) 5051 0 R (3355) 5052 0 R (3356) 5053 0 R (3357) 5054 0 R (3358) 5055 0 R (3359) 5056 0 R (336) 2261 0 R (3360) 5057 0 R (3361) 5058 0 R (3362) 5059 0 R (3363) 5027 0 R (3364) 5064 0 R (3365) 5065 0 R (3368) 5066 0 R (3369) 5067 0 R (337) 2262 0 R (3370) 5068 0 R (3373) 5069 0 R (3374) 5070 0 R (3377) 5071 0 R (3378) 5076 0 R (338) 2263 0 R (3381) 5077 0 R (3384) 5078 0 R (3387) 5079 0 R (3388) 5080 0 R (3389) 5081 0 R (3392) 5082 0 R (3393) 5083 0 R (3394) 5084 0 R (3395) 5089 0 R (3396) 5090 0 R (3398) 5095 0 R (340) 2265 0 R (3402) 5096 0 R (3403) 5097 0 R (3404) 5098 0 R (3405) 5099 0 R (341) 2266 0 R (3410) 5102 0 R (3411) 5103 0 R (3412) 5104 0 R (3413) 5105 0 R (3414) 5106 0 R (3415) 5107 0 R (3417) 5108 0 R (3418) 5109 0 R (3419) 5110 0 R (342) 2267 0 R (3420) 5111 0 R (3421) 5112 0 R (3423) 5113 0 R (3424) 5114 0 R (3425) 5115 0 R (3426) 5116 0 R (3427) 5117 0 R (3428) 5118 0 R (3429) 5119 0 R (343) 2268 0 R (3430) 5120 0 R (3431) 5121 0 R (3433) 5122 0 R (3434) 5123 0 R (3435) 5124 0 R (3436) 5125 0 R (3437) 5126 0 R (3438) 5127 0 R (3439) 5128 0 R (344) 2269 0 R (3440) 5129 0 R (3441) 5130 0 R (3442) 5131 0 R (3443) 5132 0 R (3445) 5133 0 R (3446) 5134 0 R (3447) 5135 0 R (3448) 5136 0 R (3449) 5137 0 R (345) 2270 0 R (3450) 5138 0 R (3455) 5146 0 R (3456) 5147 0 R (3457) 5148 0 R (3458) 5149 0 R (3459) 5150 0 R (346) 2271 0 R (3460) 5151 0 R (3462) 5152 0 R (3463) 5153 0 R (3464) 5154 0 R (3467) 5155 0 R (3468) 5156 0 R (347) 2272 0 R (3474) 5158 0 R (3475) 5159 0 R (3476) 5160 0 R (3477) 5161 0 R (3480) 5163 0 R (3481) 5164 0 R (3485) 5165 0 R (3486) 5166 0 R (3487) 5167 0 R (3488) 5168 0 R (3489) 5169 0 R (349) 2274 0 R (3492) 5170 0 R (3493) 5171 0 R (3494) 5172 0 R (3495) 5173 0 R (3496) 5179 0 R (3497) 5180 0 R (3498) 5181 0 R (350) 2275 0 R (3503) 5183 0 R (3504) 5184 0 R (3505) 5185 0 R (3506) 5186 0 R (3509) 5188 0 R (351) 2276 0 R (3510) 5189 0 R (3515) 5192 0 R (3516) 5193 0 R (3517) 5194 0 R (3518) 5195 0 R (3519) 5196 0 R (352) 2277 0 R (3524) 5199 0 R (3525) 5200 0 R (353) 2278 0 R (3531) 5206 0 R (3532) 5207 0 R (3533) 5208 0 R (3534) 5209 0 R (3537) 5211 0 R (3538) 5212 0 R (354) 2279 0 R (3540) 5214 0 R (3541) 5215 0 R (3543) 5216 0 R (3544) 5217 0 R (3545) 5218 0 R (3546) 5219 0 R (3548) 5220 0 R (3549) 5221 0 R (355) 2280 0 R (3550) 5222 0 R (3551) 5223 0 R (3552) 5224 0 R (3554) 5225 0 R (3555) 5226 0 R (3556) 5227 0 R (3557) 5228 0 R (356) 2281 0 R (3563) 5230 0 R (3564) 5231 0 R (3565) 5232 0 R (3568) 5233 0 R (3569) 5234 0 R (357) 2282 0 R (3571) 5240 0 R (3572) 5241 0 R (3573) 5242 0 R (3574) 5243 0 R (3578) 5245 0 R (3579) 5246 0 R (358) 2283 0 R (3580) 5247 0 R (3581) 5248 0 R (3582) 5249 0 R (3583) 5250 0 R (3584) 5251 0 R (3585) 5252 0 R (359) 2284 0 R (3591) 5254 0 R (3592) 5255 0 R (3596) 5257 0 R (3597) 5258 0 R (3598) 5259 0 R (36) 2028 0 R (360) 2285 0 R (3603) 5261 0 R (3604) 5262 0 R (3605) 5263 0 R (3607) 5268 0 R (3608) 5269 0 R (3609) 5270 0 R (361) 2286 0 R (3610) 5271 0 R (3611) 5272 0 R (3612) 5273 0 R (3613) 5274 0 R (3614) 5275 0 R (3615) 5276 0 R (3616) 5277 0 R (3617) 5278 0 R (3618) 5279 0 R (3619) 5280 0 R (362) 2287 0 R (3620) 5281 0 R (3625) 5284 0 R (3626) 5285 0 R (3627) 5286 0 R (363) 2288 0 R (3631) 5288 0 R (3632) 5289 0 R (3637) 5292 0 R (3638) 5293 0 R (3639) 5294 0 R (364) 2289 0 R (3640) 5297 0 R (3641) 5295 0 R (3642) 5296 0 R (365) 2290 0 R (366) 2291 0 R (369) 2292 0 R (37) 2029 0 R (370) 2293 0 R (373) 2294 0 R (376) 2298 0 R (377) 2299 0 R (378) 2300 0 R (379) 2301 0 R (38) 2030 0 R (380) 2302 0 R (381) 2303 0 R (382) 2304 0 R (383) 2305 0 R (384) 2306 0 R (387) 2307 0 R (39) 2031 0 R (390) 2308 0 R (393) 2309 0 R (396) 2310 0 R (397) 2311 0 R (4.0) 14 0 R (4.1.1) 18 0 R (4.2.1) 22 0 R (4.3.1) 26 0 R (4.4.1) 30 0 R (4.5.1) 34 0 R (40) 2032 0 R (400) 2312 0 R (403) 2313 0 R (406) 2319 0 R (407) 2320 0 R (408) 2321 0 R (409) 2322 0 R (41) 2033 0 R (410) 2323 0 R (412) 2325 0 R (413) 2326 0 R (414) 2327 0 R (415) 2328 0 R (418) 2329 0 R (419) 2330 0 R (420) 2331 0 R (421) 2332 0 R (422) 2333 0 R (423) 2334 0 R (424) 2335 0 R (427) 2336 0 R (428) 2337 0 R (432) 2339 0 R (433) 2340 0 R (434) 2341 0 R (435) 2348 0 R (436) 2349 0 R (437) 2318 0 R (439) 2350 0 R (44) 2034 0 R (440) 2351 0 R (441) 2352 0 R (442) 2353 0 R (443) 2354 0 R (444) 2355 0 R (445) 2356 0 R (446) 2357 0 R (447) 2358 0 R (448) 2359 0 R (449) 2360 0 R (45) 2038 0 R (450) 2361 0 R (451) 2362 0 R (453) 2364 0 R (454) 2365 0 R (457) 2366 0 R (463) 2370 0 R (464) 2371 0 R (467) 2376 0 R (468) 2377 0 R (469) 2378 0 R (47) 2039 0 R (470) 2379 0 R (471) 2380 0 R (472) 2381 0 R (473) 2382 0 R (474) 2383 0 R (475) 2384 0 R (476) 2385 0 R (479) 2386 0 R (48) 2040 0 R (480) 2387 0 R (481) 2388 0 R (482) 2389 0 R (483) 2390 0 R (485) 2391 0 R (486) 2392 0 R (487) 2393 0 R (488) 2394 0 R (489) 2395 0 R (49) 2041 0 R (490) 2396 0 R (493) 2398 0 R (494) 2399 0 R (495) 2400 0 R (496) 2404 0 R (498) 2410 0 R (499) 2411 0 R (5.0) 38 0 R (5.10.1) 238 0 R (5.10.17.19.3) 246 0 R (5.10.17.2) 242 0 R (5.10.17.20.3) 250 0 R (5.10.17.21.3) 254 0 R (5.10.17.22.3) 258 0 R (5.10.18.2) 262 0 R (5.10.18.23.3) 266 0 R (5.10.18.24.3) 270 0 R (5.10.19.2) 274 0 R (5.11.1) 278 0 R (5.11.20.2) 282 0 R (5.11.21.2) 286 0 R (5.11.21.25.12.4) 294 0 R (5.11.21.25.13.4) 298 0 R (5.11.21.25.14.4) 302 0 R (5.11.21.25.3) 290 0 R (5.11.22.2) 306 0 R (5.11.23.2) 310 0 R (5.11.24.2) 314 0 R (5.11.24.26.3) 318 0 R (5.11.25.2) 322 0 R (5.11.25.27.3) 326 0 R (5.12.1) 330 0 R (5.12.26.2) 334 0 R (5.12.27.2) 338 0 R (5.12.27.28.3) 342 0 R (5.12.27.29.3) 346 0 R (5.12.27.30.3) 350 0 R (5.12.27.31.3) 354 0 R (5.12.28.2) 358 0 R (5.12.29.2) 362 0 R (5.6.1) 42 0 R (5.6.1.2) 46 0 R (5.6.2.1.3) 54 0 R (5.6.2.2) 50 0 R (5.6.2.2.3) 58 0 R (5.6.2.3.3) 62 0 R (5.6.3.2) 66 0 R (5.6.4.2) 70 0 R (5.6.5.10.3) 102 0 R (5.6.5.11.3) 106 0 R (5.6.5.12.3) 110 0 R (5.6.5.2) 74 0 R (5.6.5.4.3) 78 0 R (5.6.5.5.3) 82 0 R (5.6.5.6.3) 86 0 R (5.6.5.7.3) 90 0 R (5.6.5.8.3) 94 0 R (5.6.5.9.3) 98 0 R (5.6.6.2) 114 0 R (5.6.7.2) 118 0 R (5.7.1) 122 0 R (5.7.10.2) 186 0 R (5.7.11.17.10.4) 198 0 R (5.7.11.17.11.4) 202 0 R (5.7.11.17.3) 194 0 R (5.7.11.18.3) 206 0 R (5.7.11.2) 190 0 R (5.7.12.2) 210 0 R (5.7.8.2) 126 0 R (5.7.9.13.3) 134 0 R (5.7.9.14.1.4) 142 0 R (5.7.9.14.2.4) 146 0 R (5.7.9.14.3) 138 0 R (5.7.9.14.3.4) 150 0 R (5.7.9.14.4.4) 154 0 R (5.7.9.15.3) 158 0 R (5.7.9.15.5.4) 162 0 R (5.7.9.15.6.4) 166 0 R (5.7.9.16.3) 170 0 R (5.7.9.16.7.4) 174 0 R (5.7.9.16.8.4) 178 0 R (5.7.9.16.9.4) 182 0 R (5.7.9.2) 130 0 R (5.8.1) 214 0 R (5.8.13.2) 218 0 R (5.8.14.2) 222 0 R (5.8.15.2) 226 0 R (5.8.16.2) 230 0 R (5.9.1) 234 0 R (50) 2042 0 R (500) 2412 0 R (501) 2413 0 R (502) 2414 0 R (503) 2415 0 R (504) 2416 0 R (505) 2417 0 R (506) 2418 0 R (507) 2419 0 R (508) 2420 0 R (509) 2421 0 R (510) 2422 0 R (512) 2423 0 R (513) 2424 0 R (514) 2425 0 R (515) 2426 0 R (516) 2427 0 R (517) 2428 0 R (518) 2429 0 R (519) 2430 0 R (52) 2043 0 R (520) 2431 0 R (521) 2432 0 R (522) 2433 0 R (523) 2434 0 R (526) 2435 0 R (528) 2436 0 R (529) 2437 0 R (53) 2044 0 R (530) 2438 0 R (531) 2439 0 R (533) 2441 0 R (534) 2442 0 R (535) 2443 0 R (536) 2444 0 R (537) 2445 0 R (538) 2446 0 R (539) 2452 0 R (54) 2045 0 R (540) 2453 0 R (541) 2454 0 R (542) 2455 0 R (544) 2456 0 R (545) 2457 0 R (546) 2458 0 R (547) 2459 0 R (548) 2460 0 R (549) 2461 0 R (55) 2046 0 R (550) 2462 0 R (551) 2463 0 R (552) 2464 0 R (553) 2465 0 R (554) 2466 0 R (555) 2467 0 R (558) 2468 0 R (560) 2469 0 R (561) 2470 0 R (562) 2471 0 R (563) 2472 0 R (564) 2473 0 R (565) 2474 0 R (566) 2475 0 R (568) 2476 0 R (569) 2477 0 R (57) 2047 0 R (570) 2478 0 R (571) 2479 0 R (572) 2480 0 R (573) 2481 0 R (574) 2451 0 R (576) 2487 0 R (577) 2488 0 R (578) 2489 0 R (579) 2490 0 R (58) 2048 0 R (580) 1393 0 R (582) 2491 0 R (583) 2492 0 R (584) 2493 0 R (585) 2494 0 R (586) 2495 0 R (587) 2496 0 R (59) 2049 0 R (590) 2497 0 R (591) 2498 0 R (593) 2500 0 R (596) 2501 0 R (6.0) 366 0 R (6.13.1) 370 0 R (6.13.30.2) 374 0 R (6.13.31.2) 378 0 R (6.13.32.2) 382 0 R (6.13.33.2) 386 0 R (6.13.34.2) 390 0 R (6.13.35.2) 394 0 R (6.13.36.2) 398 0 R (6.13.37.2) 402 0 R (6.13.38.2) 406 0 R (6.13.39.2) 410 0 R (6.13.40.2) 414 0 R (6.13.41.2) 418 0 R (6.13.42.2) 422 0 R (6.13.43.2) 426 0 R (6.13.44.2) 430 0 R (6.13.45.2) 434 0 R (6.14.1) 438 0 R (6.14.46.2) 442 0 R (6.14.47.2) 446 0 R (6.14.47.32.3) 450 0 R (6.14.47.33.15.4) 458 0 R (6.14.47.33.16.4) 462 0 R (6.14.47.33.3) 454 0 R (6.14.47.34.3) 466 0 R (6.14.47.35.3) 470 0 R (6.14.47.36.3) 474 0 R (6.15.1) 478 0 R (6.16.1) 482 0 R (6.16.48.2) 486 0 R (6.16.49.2) 490 0 R (6.16.50.2) 494 0 R (6.16.51.2) 498 0 R (6.16.51.37.3) 502 0 R (6.17.1) 506 0 R (6.18.1) 510 0 R (6.19.1) 514 0 R (6.20.1) 518 0 R (6.20.52.2) 522 0 R (6.20.53.2) 526 0 R (6.20.53.38.3) 530 0 R (6.20.54.2) 534 0 R (6.20.55.2) 538 0 R (6.20.55.39.3) 542 0 R (6.20.55.40.3) 546 0 R (6.20.56.2) 550 0 R (6.20.56.41.3) 554 0 R (6.20.56.42.17.4) 562 0 R (6.20.56.42.18.4) 566 0 R (6.20.56.42.19.4) 570 0 R (6.20.56.42.20.4) 574 0 R (6.20.56.42.21.4) 578 0 R (6.20.56.42.22.4) 582 0 R (6.20.56.42.23.4) 586 0 R (6.20.56.42.24.4) 590 0 R (6.20.56.42.25.4) 594 0 R (6.20.56.42.26.4) 598 0 R (6.20.56.42.27.4) 602 0 R (6.20.56.42.3) 558 0 R (6.20.56.43.3) 606 0 R (6.21.1) 610 0 R (6.22.1) 614 0 R (6.22.57.2) 618 0 R (6.22.58.2) 622 0 R (6.22.59.2) 626 0 R (6.23.1) 630 0 R (6.23.60.2) 634 0 R (6.23.61.2) 638 0 R (6.24.1) 642 0 R (6.25.1) 646 0 R (6.26.1) 650 0 R (6.27.1) 654 0 R (6.27.62.2) 658 0 R (6.27.63.2) 662 0 R (6.27.64.2) 666 0 R (6.27.65.2) 670 0 R (6.28.1) 674 0 R (60) 2050 0 R (602) 2505 0 R (603) 2506 0 R (604) 2507 0 R (606) 2508 0 R (607) 2509 0 R (608) 2510 0 R (610) 2517 0 R (611) 2518 0 R (612) 2486 0 R (613) 2519 0 R (614) 2520 0 R (615) 2521 0 R (616) 2522 0 R (617) 2523 0 R (618) 2524 0 R (619) 2525 0 R (62) 2051 0 R (620) 2526 0 R (621) 2527 0 R (623) 2529 0 R (625) 2530 0 R (626) 2531 0 R (627) 2532 0 R (628) 2533 0 R (629) 2534 0 R (63) 2052 0 R (630) 2535 0 R (631) 2536 0 R (633) 2537 0 R (634) 2538 0 R (635) 2539 0 R (636) 2540 0 R (64) 2053 0 R (640) 2541 0 R (641) 2542 0 R (642) 2543 0 R (644) 2544 0 R (645) 2545 0 R (646) 2546 0 R (648) 2547 0 R (649) 2548 0 R (65) 2054 0 R (650) 2549 0 R (651) 2550 0 R (652) 2551 0 R (653) 2557 0 R (654) 2558 0 R (655) 2516 0 R (656) 2559 0 R (658) 2560 0 R (659) 2561 0 R (660) 2562 0 R (661) 2563 0 R (662) 2564 0 R (663) 2565 0 R (664) 2566 0 R (665) 2567 0 R (666) 2568 0 R (667) 2569 0 R (668) 2570 0 R (669) 2571 0 R (67) 2055 0 R (670) 2572 0 R (671) 2573 0 R (672) 2574 0 R (673) 2575 0 R (674) 2576 0 R (675) 2577 0 R (676) 2578 0 R (677) 2579 0 R (678) 2580 0 R (679) 2581 0 R (68) 2056 0 R (680) 2582 0 R (684) 2583 0 R (685) 2584 0 R (686) 2585 0 R (687) 2586 0 R (688) 2587 0 R (689) 2588 0 R (69) 2057 0 R (690) 2589 0 R (691) 2590 0 R (692) 2591 0 R (693) 2592 0 R (694) 2593 0 R (695) 2594 0 R (696) 2595 0 R (697) 2601 0 R (698) 2602 0 R (699) 2603 0 R (7.0) 678 0 R (7.29.1) 682 0 R (7.29.66.2) 686 0 R (7.29.67.2) 690 0 R (7.29.68.2) 694 0 R (7.30.1) 698 0 R (7.30.69.2) 702 0 R (7.31.1) 706 0 R (7.31.70.2) 710 0 R (70) 2058 0 R (700) 2604 0 R (701) 2605 0 R (702) 2606 0 R (703) 2607 0 R (704) 2608 0 R (705) 2609 0 R (706) 2610 0 R (707) 2611 0 R (708) 2612 0 R (709) 2613 0 R (710) 2614 0 R (714) 2616 0 R (715) 2617 0 R (717) 2619 0 R (718) 2620 0 R (719) 2621 0 R (72) 2059 0 R (720) 2622 0 R (722) 2624 0 R (723) 2625 0 R (724) 2626 0 R (725) 2627 0 R (726) 2628 0 R (73) 2060 0 R (730) 2630 0 R (731) 1399 0 R (733) 2636 0 R (734) 2600 0 R (736) 2637 0 R (737) 2641 0 R (738) 2642 0 R (739) 2643 0 R (74) 2061 0 R (740) 2644 0 R (741) 2645 0 R (742) 2646 0 R (743) 2647 0 R (746) 2648 0 R (747) 2649 0 R (748) 2650 0 R (749) 2651 0 R (75) 2062 0 R (750) 2652 0 R (751) 2653 0 R (754) 2654 0 R (756) 2656 0 R (757) 2657 0 R (758) 2658 0 R (759) 2659 0 R (760) 2660 0 R (761) 2635 0 R (765) 2665 0 R (766) 2666 0 R (767) 2667 0 R (768) 2668 0 R (769) 2669 0 R (77) 2063 0 R (770) 2670 0 R (771) 2671 0 R (772) 2672 0 R (773) 2673 0 R (774) 2674 0 R (775) 2675 0 R (776) 2676 0 R (779) 2677 0 R (78) 2064 0 R (780) 2678 0 R (781) 2679 0 R (782) 2680 0 R (783) 2681 0 R (784) 2682 0 R (785) 2683 0 R (786) 2684 0 R (787) 2685 0 R (788) 2686 0 R (789) 2687 0 R (79) 2065 0 R (790) 2688 0 R (791) 2689 0 R (792) 2690 0 R (793) 2691 0 R (796) 2696 0 R (797) 2697 0 R (798) 2698 0 R (8.0) 714 0 R (8.32.1) 718 0 R (8.33.1) 722 0 R (8.34.1) 726 0 R (8.35.1) 730 0 R (8.36.1) 734 0 R (8.36.71.2) 738 0 R (8.36.71.44.3) 742 0 R (8.36.71.45.3) 746 0 R (8.36.71.46.3) 750 0 R (8.36.72.2) 754 0 R (8.36.73.2) 758 0 R (8.36.74.2) 762 0 R (8.36.75.2) 766 0 R (8.37.1) 770 0 R (8.37.76.2) 774 0 R (8.37.77.2) 778 0 R (8.38.1) 782 0 R (8.38.78.2) 786 0 R (8.38.78.47.3) 790 0 R (8.38.78.48.3) 794 0 R (8.38.78.49.3) 798 0 R (8.38.78.50.3) 802 0 R (8.38.78.51.3) 806 0 R (8.38.78.52.3) 810 0 R (8.38.78.53.3) 814 0 R (8.39.1) 818 0 R (8.39.79.2) 822 0 R (8.39.80.2) 826 0 R (8.39.81.2) 830 0 R (8.39.82.2) 834 0 R (8.40.1) 838 0 R (8.41.1) 842 0 R (8.41.83.2) 846 0 R (8.41.84.2) 850 0 R (8.41.85.2) 854 0 R (8.41.86.2) 858 0 R (8.41.87.2) 862 0 R (8.42.1) 866 0 R (8.42.88.2) 870 0 R (8.42.89.2) 874 0 R (8.42.89.54.3) 878 0 R (8.42.89.55.3) 882 0 R (8.43.1) 886 0 R (8.44.1) 890 0 R (8.44.90.2) 894 0 R (8.44.91.2) 898 0 R (8.44.92.2) 902 0 R (8.44.93.2) 906 0 R (80) 2066 0 R (801) 2699 0 R (802) 2700 0 R (805) 2701 0 R (806) 2702 0 R (807) 2703 0 R (808) 2704 0 R (809) 2705 0 R (81) 2067 0 R (812) 2706 0 R (815) 2709 0 R (816) 2710 0 R (817) 2711 0 R (818) 2712 0 R (819) 2713 0 R (820) 2714 0 R (821) 2715 0 R (822) 2716 0 R (823) 2717 0 R (824) 2718 0 R (825) 2724 0 R (826) 2725 0 R (827) 2726 0 R (828) 2727 0 R (829) 2728 0 R (83) 2068 0 R (830) 2729 0 R (831) 2730 0 R (834) 2731 0 R (837) 2734 0 R (838) 2735 0 R (839) 2736 0 R (84) 2069 0 R (840) 2737 0 R (841) 2738 0 R (842) 2739 0 R (843) 2740 0 R (844) 2741 0 R (847) 2742 0 R (85) 2070 0 R (851) 2743 0 R (854) 2749 0 R (855) 2750 0 R (858) 2751 0 R (859) 2752 0 R (86) 2071 0 R (860) 2753 0 R (861) 2754 0 R (862) 2755 0 R (863) 2756 0 R (864) 2757 0 R (866) 2759 0 R (867) 2760 0 R (868) 2761 0 R (869) 2762 0 R (87) 2072 0 R (870) 2763 0 R (871) 2764 0 R (872) 2765 0 R (873) 2766 0 R (874) 2767 0 R (875) 2768 0 R (876) 2769 0 R (877) 2770 0 R (88) 2073 0 R (881) 2774 0 R (882) 2775 0 R (884) 2776 0 R (886) 2777 0 R (889) 2778 0 R (89) 2074 0 R (890) 2784 0 R (891) 2785 0 R (894) 1513 0 R (896) 2786 0 R (898) 1514 0 R (9.0) 910 0 R (9.45.1) 914 0 R (9.46.1) 918 0 R (9.47.1) 922 0 R (9.47.94.2) 926 0 R (9.47.95.2) 930 0 R (9.47.96.2) 934 0 R (9.47.97.2) 938 0 R (9.47.98.2) 942 0 R (9.47.99.2) 946 0 R (9.48.1) 950 0 R (9.49.1) 954 0 R (90) 2075 0 R (900) 2788 0 R (901) 2789 0 R (902) 2790 0 R (903) 2791 0 R (904) 2792 0 R (905) 2793 0 R (906) 1515 0 R (908) 2794 0 R (91) 2076 0 R (910) 2795 0 R (911) 2796 0 R (912) 2801 0 R (914) 2802 0 R (915) 2803 0 R (916) 2804 0 R (917) 2805 0 R (919) 2806 0 R (92) 2077 0 R (920) 2807 0 R (921) 2808 0 R (922) 2809 0 R (923) 2810 0 R (924) 2811 0 R (925) 2812 0 R (926) 2813 0 R (927) 2814 0 R (928) 2815 0 R (929) 2816 0 R (93) 2078 0 R (930) 2817 0 R (931) 2818 0 R (932) 2819 0 R (933) 1516 0 R (935) 2820 0 R (936) 2821 0 R (937) 2822 0 R (938) 2827 0 R (939) 2828 0 R (94) 2079 0 R (940) 2829 0 R (941) 2830 0 R (942) 2831 0 R (943) 2832 0 R (944) 2833 0 R (945) 2834 0 R (946) 2835 0 R (947) 2836 0 R (948) 2837 0 R (95) 2080 0 R (951) 2838 0 R (952) 2839 0 R (953) 2840 0 R (954) 2841 0 R (955) 1518 0 R (957) 2842 0 R (958) 1519 0 R (96) 2081 0 R (960) 2843 0 R (961) 2844 0 R (962) 2845 0 R (963) 2846 0 R (964) 2847 0 R (965) 2848 0 R (966) 2849 0 R (967) 1520 0 R (969) 2854 0 R (970) 2855 0 R (971) 2856 0 R (973) 2858 0 R (974) 2859 0 R (975) 2860 0 R (976) 2861 0 R (977) 2862 0 R (980) 2863 0 R (981) 2864 0 R (982) 2865 0 R (983) 2866 0 R (984) 2867 0 R (985) 2868 0 R (986) 2869 0 R (989) 2870 0 R (99) 2082 0 R (990) 2871 0 R (991) 2872 0 R (992) 2873 0 R (993) 2874 0 R (996) 2875 0 R (997) 2876 0 R (998) 2877 0 R (999) 2882 0 R (Doc-Start) 1246 0 R (about) 1359 0 R (accountpreferences) 1840 0 R (add-custom-fields) 1679 0 R (admin-usermatching) 1548 0 R (administration) 1531 0 R (apache-addtype) 1402 0 R (attachments) 1821 0 R (boolean) 1810 0 R (bug_page) 1807 0 R (bug_status_workflow) 1685 0 R (bugreports) 1818 0 R (bzldap) 1542 0 R (bzradius) 1543 0 R (casesensitivity) 1815 0 R (charts) 1941 0 R (charts-new-series) 1943 0 R (classifications) 1655 0 R (cloningbugs) 1820 0 R (cmdline) 1972 0 R (cmdline-bugmail) 1973 0 R (comment-wrapping) 1833 0 R (commenting) 1832 0 R (components) 1662 0 R (comps-vers-miles-products) 1659 0 R (configuration) 1386 0 R (conventions) 1364 0 R (copyright) 1360 0 R (create-groups) 1689 0 R (create-product) 1657 0 R (createnewusers) 1651 0 R (credits) 1363 0 R (cust-change-permissions) 1960 0 R (cust-skins) 1952 0 R (cust-templates) 1953 0 R (custom-fields) 1678 0 R (customization) 1950 0 R (database-engine) 1388 0 R (database-schema) 1389 0 R (defaultuser) 1648 0 R (delete-custom-fields) 1681 0 R (dependencytree) 1834 0 R (disclaimer) 1361 0 R (edit-custom-fields) 1680 0 R (edit-groups) 1690 0 R (edit-products) 1658 0 R (edit-values) 1682 0 R (edit-values-delete) 1684 0 R (edit-values-list) 1683 0 R (emailpreferences) 1838 0 R (extensions) 1951 0 R (extraconfig) 1398 0 R (fillingbugs) 1819 0 R (flag-askto) 1669 0 R (flag-type-attachment) 1671 0 R (flag-type-bug) 1672 0 R (flag-types) 1670 0 R (flag-values) 1668 0 R (flags) 1944 0 R (flags-about) 1667 0 R (flags-admin) 1673 0 R (flags-create) 1675 0 R (flags-create-field-active) 3728 0 R (flags-create-field-category) 3688 0 R (flags-create-field-cclist) 3751 0 R (flags-create-field-description) 3684 0 R (flags-create-field-multiplicable) 3746 0 R (flags-create-field-name) 3682 0 R (flags-create-field-requestable) 3731 0 R (flags-create-field-sortkey) 3724 0 R (flags-create-field-specific) 3738 0 R (flags-create-grant-group) 3753 0 R (flags-create-request-group) 3758 0 R (flags-delete) 1676 0 R (flags-edit) 1674 0 R (flags-overview) 1665 0 R (flags-simpleexample) 1666 0 R (general-advice) 1963 0 R (generalpreferences) 1837 0 R (gfdl) 1978 0 R (gfdl-0) 1979 0 R (gfdl-1) 1980 0 R (gfdl-10) 2007 0 R (gfdl-2) 1981 0 R (gfdl-3) 1982 0 R (gfdl-4) 1983 0 R (gfdl-5) 1984 0 R (gfdl-6) 2003 0 R (gfdl-7) 2004 0 R (gfdl-8) 2005 0 R (gfdl-9) 2006 0 R (gfdl-howto) 2008 0 R (gloss-a) 5100 0 R (gloss-apache) 5101 0 R (gloss-b) 5140 0 R (gloss-bugzilla) 2096 0 R (gloss-c) 5157 0 R (gloss-cgi) 2185 0 R (gloss-component) 5162 0 R (gloss-contrib) 3170 0 R (gloss-cpan) 2779 0 R (gloss-d) 5182 0 R (gloss-daemon) 3999 0 R (gloss-dos) 5187 0 R (gloss-g) 5190 0 R (gloss-groups) 5191 0 R (gloss-htaccess) 4073 0 R (gloss-j) 5197 0 R (gloss-javascript) 5198 0 R (gloss-m) 5178 0 R (gloss-mta) 5205 0 R (gloss-mysql) 5210 0 R (gloss-p) 5229 0 R (gloss-ppm) 2719 0 R (gloss-product) 3397 0 R (gloss-q) 5244 0 R (gloss-r) 5253 0 R (gloss-rdbms) 5235 0 R (gloss-regexp) 5256 0 R (gloss-s) 5260 0 R (gloss-service) 4000 0 R (gloss-t) 5282 0 R (gloss-target-milestone) 5283 0 R (gloss-tcl) 5287 0 R (gloss-z) 5290 0 R (gloss-zarro) 5291 0 R (glossary) 2009 0 R (group-control-examples) 1661 0 R (groups) 1688 0 R (hintsandtips) 1830 0 R (http) 1394 0 R (http-apache) 1395 0 R (http-apache-mod_cgi) 2504 0 R (http-apache-mod_perl) 2511 0 R (http-iis) 1396 0 R (impersonatingusers) 1654 0 R (index) 1247 0 R (individual-buglists) 1817 0 R (install-MTA) 1384 0 R (install-bzfiles) 1373 0 R (install-config-bugzilla) 1397 0 R (install-database) 1368 0 R (install-modules-chart-lines) 1378 0 R (install-modules-dbd-mysql) 1375 0 R (install-modules-gd) 1377 0 R (install-modules-gd-graph) 1379 0 R (install-modules-gd-text) 1380 0 R (install-modules-patchreader) 1383 0 R (install-modules-soap-lite) 1382 0 R (install-modules-template) 1376 0 R (install-modules-xml-twig) 1381 0 R (install-mysql) 1369 0 R (install-oracle) 1371 0 R (install-perl) 1367 0 R (install-perlmodules) 1374 0 R (install-perlmodules-manual) 1974 0 R (install-perlmodules-nonroot) 1517 0 R (install-pg) 1370 0 R (install-setupdatabase-adduser) 2397 0 R (install-webserver) 1372 0 R (installation) 1366 0 R (installation-whining) 1401 0 R (installation-whining-cron) 1400 0 R (installing-bugzilla) 1365 0 R (integration) 1961 0 R (keywords) 1677 0 R (lifecycle) 1808 0 R (lifecycle-image) 2016 0 R (list) 1816 0 R (localconfig) 1387 0 R (macosx-libraries) 1510 0 R (macosx-sendmail) 1509 0 R (manageusers) 1649 0 R (milestones) 1664 0 R (modifyusers) 1652 0 R (modules-manual-download) 1976 0 R (modules-manual-instructions) 1975 0 R (modules-manual-optional) 1977 0 R (multiple-bz-dbs) 1403 0 R (multiplecharts) 1813 0 R (myaccount) 1806 0 R (mysql) 1390 0 R (mysql-max-allowed-packet) 2347 0 R (negation) 1812 0 R (newversions) 1362 0 R (nonroot) 1512 0 R (oracle) 1392 0 R (os-linux) 1511 0 R (os-macosx) 1508 0 R (os-specific) 1502 0 R (os-win32) 1503 0 R (page.1) 1245 0 R (page.10) 2317 0 R (page.100) 4998 0 R (page.101) 5015 0 R (page.102) 5026 0 R (page.103) 5063 0 R (page.104) 5075 0 R (page.105) 5088 0 R (page.106) 5094 0 R (page.107) 5145 0 R (page.108) 5177 0 R (page.109) 5204 0 R (page.11) 2346 0 R (page.110) 5239 0 R (page.111) 5267 0 R (page.12) 2375 0 R (page.13) 2409 0 R (page.14) 2450 0 R (page.15) 2485 0 R (page.16) 2515 0 R (page.17) 2556 0 R (page.18) 2599 0 R (page.19) 2634 0 R (page.2) 1255 0 R (page.20) 2664 0 R (page.21) 2695 0 R (page.22) 2723 0 R (page.23) 2748 0 R (page.24) 2783 0 R (page.25) 2800 0 R (page.26) 2826 0 R (page.27) 2853 0 R (page.28) 2881 0 R (page.29) 2926 0 R (page.3) 1262 0 R (page.30) 2952 0 R (page.31) 2984 0 R (page.32) 3022 0 R (page.33) 3060 0 R (page.34) 3102 0 R (page.35) 3126 0 R (page.36) 3146 0 R (page.37) 3174 0 R (page.38) 3217 0 R (page.39) 3253 0 R (page.4) 1407 0 R (page.40) 3271 0 R (page.41) 3289 0 R (page.42) 3331 0 R (page.43) 3374 0 R (page.44) 3401 0 R (page.45) 3448 0 R (page.46) 3479 0 R (page.47) 3507 0 R (page.48) 3531 0 R (page.49) 3568 0 R (page.5) 1552 0 R (page.50) 3615 0 R (page.51) 3654 0 R (page.52) 3692 0 R (page.53) 3743 0 R (page.54) 3772 0 R (page.55) 3805 0 R (page.56) 3833 0 R (page.57) 3857 0 R (page.58) 3887 0 R (page.59) 3917 0 R (page.6) 1697 0 R (page.60) 3960 0 R (page.61) 3974 0 R (page.62) 4004 0 R (page.63) 4077 0 R (page.64) 4093 0 R (page.65) 4122 0 R (page.66) 4173 0 R (page.67) 4207 0 R (page.68) 4218 0 R (page.69) 4252 0 R (page.7) 1845 0 R (page.70) 4273 0 R (page.71) 4300 0 R (page.72) 4323 0 R (page.73) 4342 0 R (page.74) 4355 0 R (page.75) 4370 0 R (page.76) 4407 0 R (page.77) 4448 0 R (page.78) 4487 0 R (page.79) 4517 0 R (page.8) 1988 0 R (page.80) 4533 0 R (page.81) 4549 0 R (page.82) 4567 0 R (page.83) 4586 0 R (page.84) 4593 0 R (page.85) 4621 0 R (page.86) 4652 0 R (page.87) 4680 0 R (page.88) 4716 0 R (page.89) 4742 0 R (page.9) 2013 0 R (page.90) 4760 0 R (page.91) 4770 0 R (page.92) 4797 0 R (page.93) 4822 0 R (page.94) 4849 0 R (page.95) 4859 0 R (page.96) 4903 0 R (page.97) 4933 0 R (page.98) 4963 0 R (page.99) 4994 0 R (param-LDAPBaseDN) 3199 0 R (param-LDAPbinddn) 3194 0 R (param-LDAPmailattribute) 3209 0 R (param-LDAPserver) 3181 0 R (param-LDAPuidattribute) 3204 0 R (param-RADIUS_email_suffix) 3236 0 R (param-RADIUS_secret) 3233 0 R (param-RADIUS_server) 3230 0 R (param-admin-policies) 1534 0 R (param-attachments) 1536 0 R (param-bug-change-policies) 1537 0 R (param-bugfields) 1538 0 R (param-bugmoving) 1539 0 R (param-dependency-graphs) 1540 0 R (param-email) 1544 0 R (param-group-security) 1541 0 R (param-patchviewer) 1545 0 R (param-querydefaults) 1546 0 R (param-requiredsettings) 1533 0 R (param-shadowdatabase) 1547 0 R (param-user-authentication) 1535 0 R (param-user_verify_class_for_ldap) 3175 0 R (param-user_verify_class_for_radius) 3224 0 R (parameters) 1532 0 R (paranoid-security) 1967 0 R (patches) 1971 0 R (patchviewer) 1822 0 R (patchviewer_bonsai_lxr) 1828 0 R (patchviewer_collapse) 1826 0 R (patchviewer_context) 1825 0 R (patchviewer_diff) 1824 0 R (patchviewer_link) 1827 0 R (patchviewer_unified_diff) 1829 0 R (patchviewer_view) 1823 0 R (permissionsettings) 1841 0 R (postgresql) 1391 0 R (product-group-controls) 1660 0 R (products) 1656 0 R (pronouns) 1811 0 R (query) 1809 0 R (quicksearch) 1814 0 R (quips) 1687 0 R (reporting) 1939 0 R (reports) 1940 0 R (sanitycheck) 1693 0 R (savedsearches) 1839 0 R (security) 1795 0 R (security-bugzilla) 1802 0 R (security-bugzilla-charset) 1803 0 R (security-os) 1796 0 R (security-os-accounts) 1798 0 R (security-os-chroot) 1799 0 R (security-os-ports) 1797 0 R (security-webserver) 1800 0 R (security-webserver-access) 1801 0 R (self-registration) 3282 0 R (suexec) 1521 0 R (table.1) 2086 0 R (table.2) 3796 0 R (table.3) 4134 0 R (table.4) 4187 0 R (table.5) 4269 0 R (table.6) 4337 0 R (table.7) 4359 0 R (template-directory) 1954 0 R (template-edit) 1956 0 R (template-formats) 1957 0 R (template-http-accept) 1959 0 R (template-method) 1955 0 R (template-specific) 1958 0 R (timetracking) 1835 0 R (trbl-dbdSponge) 1966 0 R (trbl-index) 1969 0 R (trbl-passwd-encryption) 1970 0 R (trbl-perlmodule) 1965 0 R (trbl-relogin-everyone) 1968 0 R (trbl-relogin-everyone-restrict) 4833 0 R (trbl-relogin-everyone-share) 4827 0 R (trbl-testserver) 1964 0 R (troubleshooting) 1962 0 R (upgrade) 1522 0 R (upgrade-before) 1523 0 R (upgrade-completion) 1529 0 R (upgrade-cvs) 1526 0 R (upgrade-files) 1524 0 R (upgrade-modified) 1525 0 R (upgrade-notifications) 1530 0 R (upgrade-patches) 1528 0 R (upgrade-tarball) 1527 0 R (user-account-creation) 3272 0 R (user-account-deletion) 1653 0 R (user-account-search) 1650 0 R (useradmin) 1647 0 R (userpreferences) 1836 0 R (users-and-groups) 1691 0 R (using) 1804 0 R (using-intro) 1805 0 R (using-mod_perl-with-bugzilla) 1385 0 R (versions) 1663 0 R (voting) 1686 0 R (whining) 1945 0 R (whining-overview) 1946 0 R (whining-query) 1948 0 R (whining-schedule) 1947 0 R (win32-email) 1507 0 R (win32-http) 1506 0 R (win32-perl) 1504 0 R (win32-perl-modules) 1505 0 R] /Limits [(1.0) (win32-perl-modules)] >> endobj -5326 0 obj << -/Kids [5325 0 R] +5317 0 obj << +/Kids [5316 0 R] >> endobj -5327 0 obj << -/Dests 5326 0 R +5318 0 obj << +/Dests 5317 0 R >> endobj -5328 0 obj << +5319 0 obj << /Type /Catalog -/Pages 5323 0 R -/Outlines 5324 0 R -/Names 5327 0 R +/Pages 5314 0 R +/Outlines 5315 0 R +/Names 5318 0 R /PageMode /UseOutlines /OpenAction 1241 0 R >> endobj -5329 0 obj << +5320 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords() -/CreationDate (D:20100624142724-07'00') +/CreationDate (D:20100624142201-07'00') /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref -0 5330 +0 5321 0000000000 65535 f 0000000009 00000 n -0000029172 00000 n -0001169225 00000 n +0000029216 00000 n +0001167392 00000 n 0000000048 00000 n -0000000098 00000 n -0000103769 00000 n -0001169140 00000 n -0000000137 00000 n -0000000172 00000 n -0000417510 00000 n -0001169053 00000 n -0000000211 00000 n -0000000245 00000 n -0000420418 00000 n -0001168927 00000 n -0000000285 00000 n -0000000331 00000 n -0000420544 00000 n -0001168853 00000 n -0000000373 00000 n -0000000418 00000 n -0000420928 00000 n -0001168766 00000 n -0000000460 00000 n -0000000494 00000 n -0000421245 00000 n -0001168679 00000 n -0000000536 00000 n -0000000572 00000 n -0000421760 00000 n -0001168592 00000 n -0000000614 00000 n -0000000645 00000 n -0000427105 00000 n -0001168518 00000 n -0000000687 00000 n -0000000731 00000 n -0000433117 00000 n -0001168390 00000 n -0000000771 00000 n -0000000820 00000 n -0000433244 00000 n -0001168277 00000 n -0000000862 00000 n -0000000898 00000 n -0000434460 00000 n -0001168203 00000 n -0000000942 00000 n -0000000972 00000 n -0000436716 00000 n -0001168079 00000 n -0000001016 00000 n -0000001057 00000 n -0000436906 00000 n -0001168005 00000 n -0000001103 00000 n -0000001136 00000 n -0000437616 00000 n -0001167918 00000 n -0000001182 00000 n -0000001220 00000 n -0000438066 00000 n -0001167844 00000 n -0000001266 00000 n -0000001300 00000 n -0000441792 00000 n -0001167757 00000 n -0000001344 00000 n -0000001380 00000 n -0000442244 00000 n -0001167670 00000 n -0000001424 00000 n -0000001458 00000 n -0000443086 00000 n -0001167544 00000 n -0000001502 00000 n -0000001540 00000 n -0000456896 00000 n -0001167470 00000 n -0000001586 00000 n -0000001624 00000 n -0000457152 00000 n -0001167383 00000 n -0000001670 00000 n -0000001723 00000 n -0000459204 00000 n -0001167296 00000 n -0000001769 00000 n -0000001808 00000 n -0000459913 00000 n -0001167209 00000 n -0000001854 00000 n -0000001902 00000 n -0000460104 00000 n -0001167122 00000 n -0000001948 00000 n -0000001993 00000 n -0000460295 00000 n -0001167033 00000 n -0000002039 00000 n -0000002084 00000 n -0000460487 00000 n -0001166942 00000 n -0000002132 00000 n -0000002178 00000 n -0000460745 00000 n -0001166850 00000 n -0000002226 00000 n -0000002278 00000 n -0000460938 00000 n -0001166772 00000 n -0000002326 00000 n -0000002376 00000 n -0000464466 00000 n -0001166681 00000 n -0000002421 00000 n -0000002475 00000 n -0000465173 00000 n -0001166603 00000 n -0000002520 00000 n -0000002577 00000 n -0000465758 00000 n -0001166473 00000 n -0000002620 00000 n -0000002658 00000 n -0000466016 00000 n -0001166394 00000 n -0000002703 00000 n -0000002741 00000 n -0000471058 00000 n -0001166262 00000 n -0000002786 00000 n -0000002828 00000 n -0000471251 00000 n -0001166183 00000 n -0000002876 00000 n -0000002929 00000 n -0000474486 00000 n -0001166051 00000 n -0000002977 00000 n -0000003011 00000 n -0000475205 00000 n -0001165972 00000 n -0000003061 00000 n -0000003133 00000 n -0000475590 00000 n -0001165879 00000 n -0000003183 00000 n -0000003251 00000 n -0000476106 00000 n -0001165786 00000 n -0000003301 00000 n -0000003351 00000 n -0000480077 00000 n -0001165707 00000 n -0000003401 00000 n -0000003475 00000 n -0000480972 00000 n -0001165575 00000 n -0000003523 00000 n -0000003562 00000 n -0000481099 00000 n -0001165496 00000 n -0000003612 00000 n -0000003667 00000 n -0000484745 00000 n -0001165417 00000 n -0000003717 00000 n -0000003768 00000 n -0000485653 00000 n -0001165299 00000 n -0000003816 00000 n -0000003851 00000 n -0000485782 00000 n -0001165220 00000 n -0000003901 00000 n -0000003955 00000 n -0000486298 00000 n -0001165127 00000 n -0000004005 00000 n -0000004056 00000 n -0000489961 00000 n -0001165048 00000 n -0000004106 00000 n -0000004161 00000 n -0000490346 00000 n -0001164955 00000 n -0000004207 00000 n -0000004247 00000 n -0000490861 00000 n -0001164823 00000 n -0000004293 00000 n -0000004330 00000 n -0000491185 00000 n -0001164705 00000 n -0000004379 00000 n -0000004429 00000 n -0000491378 00000 n -0001164626 00000 n -0000004481 00000 n -0000004536 00000 n -0000496768 00000 n -0001164547 00000 n -0000004588 00000 n -0000004644 00000 n -0000502955 00000 n -0001164468 00000 n -0000004693 00000 n -0000004761 00000 n -0000508541 00000 n -0001164389 00000 n -0000004807 00000 n -0000004842 00000 n -0000509385 00000 n -0001164258 00000 n -0000004885 00000 n -0000004943 00000 n -0000512200 00000 n -0001164179 00000 n -0000004989 00000 n -0000005026 00000 n -0000512910 00000 n -0001164086 00000 n -0000005072 00000 n -0000005115 00000 n -0000513425 00000 n -0001163993 00000 n -0000005161 00000 n -0000005195 00000 n -0000516800 00000 n -0001163914 00000 n -0000005241 00000 n -0000005318 00000 n -0000517711 00000 n -0001163822 00000 n -0000005361 00000 n -0000005440 00000 n -0000521835 00000 n -0001163691 00000 n -0000005484 00000 n -0000005538 00000 n -0000522158 00000 n -0001163573 00000 n -0000005585 00000 n -0000005629 00000 n -0000522417 00000 n -0001163494 00000 n -0000005679 00000 n -0000005718 00000 n -0000522870 00000 n -0001163401 00000 n -0000005768 00000 n -0000005818 00000 n -0000526967 00000 n -0001163308 00000 n -0000005868 00000 n -0000005918 00000 n -0000527679 00000 n -0001163229 00000 n -0000005968 00000 n -0000006010 00000 n -0000527872 00000 n -0001163097 00000 n -0000006057 00000 n -0000006092 00000 n -0000531635 00000 n -0001163018 00000 n -0000006142 00000 n -0000006179 00000 n -0000531958 00000 n -0001162939 00000 n -0000006229 00000 n -0000006297 00000 n -0000533577 00000 n -0001162860 00000 n -0000006344 00000 n -0000006390 00000 n -0000536534 00000 n -0001162729 00000 n -0000006434 00000 n -0000006494 00000 n -0000536663 00000 n -0001162650 00000 n -0000006541 00000 n -0000006580 00000 n -0000536855 00000 n -0001162518 00000 n -0000006627 00000 n -0000006659 00000 n -0000537374 00000 n -0001162414 00000 n -0000006709 00000 n -0000006762 00000 n -0000537503 00000 n -0001162335 00000 n -0000006815 00000 n -0000006877 00000 n -0000539873 00000 n -0001162242 00000 n -0000006930 00000 n -0000006984 00000 n -0000540198 00000 n -0001162163 00000 n -0000007037 00000 n -0000007087 00000 n -0000543624 00000 n -0001162070 00000 n -0000007134 00000 n -0000007165 00000 n -0000544539 00000 n -0001161977 00000 n -0000007212 00000 n -0000007251 00000 n -0000544927 00000 n -0001161845 00000 n -0000007298 00000 n -0000007336 00000 n -0000545120 00000 n -0001161780 00000 n -0000007386 00000 n -0000007440 00000 n -0000548822 00000 n -0001161662 00000 n -0000007487 00000 n -0000007522 00000 n -0000549474 00000 n -0001161597 00000 n -0000007572 00000 n -0000007625 00000 n -0000550057 00000 n -0001161480 00000 n -0000007669 00000 n -0000007719 00000 n -0000554135 00000 n -0001161401 00000 n -0000007766 00000 n -0000007811 00000 n -0000555815 00000 n -0001161269 00000 n -0000007858 00000 n -0000007909 00000 n -0000560203 00000 n -0001161190 00000 n -0000007959 00000 n -0000008022 00000 n -0000560459 00000 n -0001161097 00000 n -0000008072 00000 n -0000008120 00000 n -0000563760 00000 n -0001161004 00000 n -0000008170 00000 n -0000008226 00000 n -0000565193 00000 n -0001160925 00000 n -0000008276 00000 n -0000008328 00000 n -0000569675 00000 n -0001160832 00000 n -0000008375 00000 n -0000008425 00000 n -0000572840 00000 n -0001160753 00000 n -0000008472 00000 n -0000008538 00000 n -0000575598 00000 n -0001160620 00000 n -0000008579 00000 n -0000008632 00000 n -0000575726 00000 n -0001160501 00000 n -0000008676 00000 n -0000008723 00000 n -0000575917 00000 n -0001160422 00000 n -0000008770 00000 n -0000008814 00000 n -0000586233 00000 n -0001160329 00000 n -0000008861 00000 n -0000008911 00000 n -0000586426 00000 n -0001160236 00000 n -0000008958 00000 n -0000009004 00000 n -0000587200 00000 n -0001160143 00000 n -0000009051 00000 n -0000009089 00000 n -0000587393 00000 n -0001160050 00000 n -0000009136 00000 n -0000009182 00000 n -0000590653 00000 n -0001159957 00000 n -0000009229 00000 n -0000009266 00000 n -0000591293 00000 n -0001159864 00000 n -0000009313 00000 n -0000009350 00000 n -0000591551 00000 n -0001159771 00000 n -0000009397 00000 n -0000009441 00000 n -0000595912 00000 n -0001159678 00000 n -0000009488 00000 n -0000009529 00000 n -0000596748 00000 n -0001159585 00000 n -0000009576 00000 n -0000009623 00000 n -0000604894 00000 n -0001159492 00000 n -0000009670 00000 n -0000009719 00000 n -0000606440 00000 n -0001159399 00000 n -0000009766 00000 n -0000009799 00000 n -0000610474 00000 n -0001159306 00000 n -0000009846 00000 n -0000009886 00000 n -0000610666 00000 n -0001159213 00000 n -0000009933 00000 n -0000009975 00000 n -0000610858 00000 n -0001159120 00000 n -0000010022 00000 n -0000010065 00000 n -0000614015 00000 n -0001159041 00000 n -0000010112 00000 n -0000010153 00000 n -0000614208 00000 n -0001158909 00000 n -0000010197 00000 n -0000010241 00000 n -0000614337 00000 n -0001158830 00000 n -0000010288 00000 n -0000010340 00000 n -0000614658 00000 n -0001158712 00000 n -0000010387 00000 n -0000010434 00000 n -0000614786 00000 n -0001158633 00000 n -0000010484 00000 n -0000010541 00000 n -0000618606 00000 n -0001158501 00000 n -0000010591 00000 n -0000010638 00000 n -0000618735 00000 n -0001158422 00000 n -0000010691 00000 n -0000010738 00000 n -0000619123 00000 n -0001158343 00000 n -0000010791 00000 n -0000010858 00000 n -0000619963 00000 n -0001158250 00000 n -0000010908 00000 n -0000010952 00000 n -0000627438 00000 n -0001158157 00000 n -0000011002 00000 n -0000011045 00000 n -0000627696 00000 n -0001158078 00000 n -0000011095 00000 n -0000011143 00000 n -0000631585 00000 n -0001157985 00000 n -0000011187 00000 n -0000011227 00000 n -0000632098 00000 n -0001157853 00000 n -0000011271 00000 n -0000011304 00000 n -0000636833 00000 n -0001157774 00000 n -0000011351 00000 n -0000011399 00000 n -0000641642 00000 n -0001157681 00000 n -0000011446 00000 n -0000011489 00000 n -0000641835 00000 n -0001157588 00000 n -0000011536 00000 n -0000011623 00000 n -0000642218 00000 n -0001157470 00000 n -0000011670 00000 n -0000011733 00000 n -0000647255 00000 n -0001157405 00000 n -0000011783 00000 n -0000011849 00000 n -0000653989 00000 n -0001157312 00000 n -0000011893 00000 n -0000011928 00000 n -0000655479 00000 n -0001157219 00000 n -0000011972 00000 n -0000012005 00000 n -0000658802 00000 n -0001157126 00000 n -0000012049 00000 n -0000012084 00000 n -0000659763 00000 n -0001156994 00000 n -0000012128 00000 n -0000012158 00000 n -0000660148 00000 n -0001156915 00000 n -0000012205 00000 n -0000012248 00000 n -0000664315 00000 n -0001156783 00000 n -0000012295 00000 n -0000012333 00000 n -0000664444 00000 n -0001156718 00000 n -0000012383 00000 n -0000012418 00000 n -0000665733 00000 n -0001156625 00000 n -0000012465 00000 n -0000012511 00000 n -0000666580 00000 n -0001156493 00000 n -0000012558 00000 n -0000012603 00000 n -0000669471 00000 n -0001156414 00000 n -0000012653 00000 n -0000012698 00000 n -0000670703 00000 n -0001156335 00000 n -0000012748 00000 n -0000012786 00000 n -0000671157 00000 n -0001156217 00000 n -0000012833 00000 n -0000012879 00000 n -0000671611 00000 n -0001156138 00000 n -0000012929 00000 n -0000012972 00000 n -0000671870 00000 n -0001156005 00000 n -0000013022 00000 n -0000013066 00000 n -0000675105 00000 n -0001155926 00000 n -0000013119 00000 n -0000013154 00000 n -0000675297 00000 n -0001155833 00000 n -0000013207 00000 n -0000013249 00000 n -0000675622 00000 n -0001155740 00000 n -0000013302 00000 n -0000013341 00000 n -0000677768 00000 n -0001155647 00000 n -0000013394 00000 n -0000013433 00000 n -0000680524 00000 n -0001155554 00000 n -0000013486 00000 n -0000013523 00000 n -0000680783 00000 n -0001155461 00000 n -0000013576 00000 n -0000013618 00000 n -0000681306 00000 n -0001155368 00000 n -0000013671 00000 n -0000013726 00000 n -0000681562 00000 n -0001155275 00000 n -0000013779 00000 n -0000013823 00000 n -0000681953 00000 n -0001155182 00000 n -0000013876 00000 n -0000013914 00000 n -0000682146 00000 n -0001155089 00000 n -0000013967 00000 n -0000014010 00000 n -0000682536 00000 n -0001155010 00000 n -0000014063 00000 n -0000014108 00000 n -0000685742 00000 n -0001154931 00000 n -0000014158 00000 n -0000014202 00000 n -0000686263 00000 n -0001154838 00000 n -0000014246 00000 n -0000014279 00000 n -0000686583 00000 n -0001154706 00000 n -0000014323 00000 n -0000014362 00000 n -0000690703 00000 n -0001154627 00000 n -0000014409 00000 n -0000014457 00000 n -0000692256 00000 n -0001154534 00000 n -0000014504 00000 n -0000014553 00000 n -0000692447 00000 n -0001154455 00000 n -0000014600 00000 n -0000014650 00000 n -0000692640 00000 n -0001154323 00000 n -0000014694 00000 n -0000014732 00000 n -0000695475 00000 n -0001154244 00000 n -0000014779 00000 n -0000014835 00000 n -0000695798 00000 n -0001154165 00000 n -0000014882 00000 n -0000014931 00000 n -0000696373 00000 n -0001154072 00000 n -0000014975 00000 n -0000015020 00000 n -0000696630 00000 n -0001153979 00000 n -0000015064 00000 n -0000015096 00000 n -0000700976 00000 n -0001153886 00000 n -0000015140 00000 n -0000015171 00000 n -0000701489 00000 n -0001153754 00000 n -0000015215 00000 n -0000015266 00000 n -0000707028 00000 n -0001153675 00000 n -0000015313 00000 n -0000015356 00000 n -0000711673 00000 n -0001153582 00000 n -0000015403 00000 n -0000015477 00000 n -0000717685 00000 n -0001153489 00000 n -0000015524 00000 n -0000015577 00000 n -0000718327 00000 n -0001153410 00000 n -0000015624 00000 n -0000015688 00000 n -0000718520 00000 n -0001153331 00000 n -0000015732 00000 n -0000015801 00000 n -0000723259 00000 n -0001153198 00000 n -0000015842 00000 n -0000015890 00000 n -0000723579 00000 n -0001153080 00000 n -0000015934 00000 n -0000015975 00000 n -0000723708 00000 n -0001153001 00000 n -0000016022 00000 n -0000016061 00000 n -0000723901 00000 n -0001152908 00000 n -0000016108 00000 n -0000016155 00000 n -0000725073 00000 n -0001152829 00000 n -0000016202 00000 n -0000016244 00000 n -0000728197 00000 n -0001152697 00000 n -0000016288 00000 n -0000016323 00000 n -0000728326 00000 n -0001152632 00000 n -0000016370 00000 n -0000016452 00000 n -0000734992 00000 n -0001152514 00000 n -0000016496 00000 n -0000016529 00000 n -0000735121 00000 n -0001152449 00000 n -0000016576 00000 n -0000016647 00000 n -0000738437 00000 n -0001152315 00000 n -0000016688 00000 n -0000016733 00000 n -0000738565 00000 n -0001152236 00000 n -0000016777 00000 n -0000016814 00000 n -0000738954 00000 n -0001152143 00000 n -0000016858 00000 n -0000016908 00000 n -0000744276 00000 n -0001152050 00000 n -0000016952 00000 n -0000016993 00000 n -0000751700 00000 n -0001151957 00000 n -0000017037 00000 n -0000017081 00000 n -0000803183 00000 n -0001151825 00000 n -0000017125 00000 n -0000017168 00000 n -0000806269 00000 n -0001151707 00000 n -0000017215 00000 n -0000017256 00000 n -0000807433 00000 n -0001151628 00000 n -0000017306 00000 n -0000017355 00000 n -0000807690 00000 n -0001151535 00000 n -0000017405 00000 n -0000017442 00000 n -0000811585 00000 n -0001151456 00000 n -0000017492 00000 n -0000017536 00000 n -0000812101 00000 n -0001151363 00000 n -0000017583 00000 n -0000017621 00000 n -0000812556 00000 n -0001151270 00000 n -0000017668 00000 n -0000017723 00000 n -0000812748 00000 n -0001151177 00000 n -0000017770 00000 n -0000017806 00000 n -0000816644 00000 n -0001151098 00000 n -0000017853 00000 n -0000017913 00000 n -0000817161 00000 n -0001150966 00000 n -0000017957 00000 n -0000017993 00000 n -0000817290 00000 n -0001150887 00000 n -0000018040 00000 n -0000018086 00000 n -0000822657 00000 n -0001150808 00000 n -0000018133 00000 n -0000018181 00000 n -0000825824 00000 n -0001150676 00000 n -0000018225 00000 n -0000018261 00000 n -0000826597 00000 n -0001150572 00000 n -0000018308 00000 n -0000018347 00000 n -0000826981 00000 n -0001150493 00000 n -0000018397 00000 n -0000018457 00000 n -0000829530 00000 n -0001150400 00000 n -0000018507 00000 n -0000018577 00000 n -0000829723 00000 n -0001150307 00000 n -0000018627 00000 n -0000018687 00000 n -0000829914 00000 n -0001150214 00000 n -0000018737 00000 n -0000018810 00000 n -0000830106 00000 n -0001150121 00000 n -0000018860 00000 n -0000018920 00000 n -0000830299 00000 n -0001150028 00000 n -0000018970 00000 n -0000019022 00000 n -0000830556 00000 n -0001149949 00000 n -0000019072 00000 n -0000019124 00000 n -0000830749 00000 n -0001149817 00000 n -0000019168 00000 n -0000019207 00000 n -0000833310 00000 n -0001149738 00000 n -0000019254 00000 n -0000019298 00000 n -0000833697 00000 n -0001149645 00000 n -0000019345 00000 n -0000019380 00000 n -0000833954 00000 n -0001149552 00000 n -0000019427 00000 n -0000019481 00000 n -0000834147 00000 n -0001149473 00000 n -0000019528 00000 n -0000019570 00000 n -0000837585 00000 n -0001149380 00000 n -0000019614 00000 n -0000019664 00000 n -0000838039 00000 n -0001149248 00000 n -0000019708 00000 n -0000019750 00000 n -0000838232 00000 n -0001149169 00000 n -0000019797 00000 n -0000019844 00000 n -0000839774 00000 n -0001149076 00000 n -0000019891 00000 n -0000019936 00000 n -0000848580 00000 n -0001148983 00000 n -0000019983 00000 n -0000020025 00000 n -0000848773 00000 n -0001148890 00000 n -0000020072 00000 n -0000020117 00000 n -0000849098 00000 n -0001148811 00000 n -0000020164 00000 n -0000020203 00000 n -0000854489 00000 n -0001148679 00000 n -0000020247 00000 n -0000020291 00000 n -0000854680 00000 n -0001148600 00000 n -0000020338 00000 n -0000020373 00000 n -0000858064 00000 n -0001148482 00000 n -0000020420 00000 n -0000020454 00000 n -0000858577 00000 n -0001148403 00000 n -0000020504 00000 n -0000020549 00000 n -0000859025 00000 n -0001148324 00000 n -0000020599 00000 n -0000020651 00000 n -0000861805 00000 n -0001148231 00000 n -0000020695 00000 n -0000020726 00000 n -0000862445 00000 n -0001148113 00000 n -0000020770 00000 n -0000020803 00000 n -0000866292 00000 n -0001148034 00000 n -0000020850 00000 n -0000020887 00000 n -0000866612 00000 n -0001147941 00000 n -0000020934 00000 n -0000020978 00000 n -0000870563 00000 n -0001147848 00000 n -0000021025 00000 n -0000021069 00000 n -0000872330 00000 n -0001147769 00000 n -0000021116 00000 n -0000021163 00000 n -0000875288 00000 n -0001147636 00000 n -0000021204 00000 n -0000021255 00000 n -0000875416 00000 n -0001147557 00000 n -0000021299 00000 n -0000021343 00000 n -0000875738 00000 n -0001147464 00000 n -0000021387 00000 n -0000021424 00000 n -0000876578 00000 n -0001147332 00000 n -0000021468 00000 n -0000021515 00000 n -0000876835 00000 n -0001147253 00000 n -0000021562 00000 n -0000021617 00000 n -0000880763 00000 n -0001147160 00000 n -0000021664 00000 n -0000021722 00000 n -0000885966 00000 n -0001147067 00000 n -0000021769 00000 n -0000021817 00000 n -0000886742 00000 n -0001146974 00000 n -0000021864 00000 n -0000021917 00000 n -0000891567 00000 n -0001146881 00000 n -0000021964 00000 n -0000022011 00000 n -0000897309 00000 n -0001146802 00000 n -0000022058 00000 n -0000022135 00000 n -0000897566 00000 n -0001146709 00000 n -0000022179 00000 n -0000022235 00000 n -0000903258 00000 n -0001146630 00000 n -0000022279 00000 n -0000022346 00000 n -0000906708 00000 n -0001146497 00000 n -0000022388 00000 n -0000022435 00000 n -0000906900 00000 n -0001146418 00000 n -0000022480 00000 n -0000022519 00000 n -0000907614 00000 n -0001146325 00000 n -0000022564 00000 n -0000022640 00000 n -0000908063 00000 n -0001146232 00000 n -0000022685 00000 n -0000022781 00000 n -0000910796 00000 n -0001146139 00000 n -0000022826 00000 n -0000022881 00000 n -0000911438 00000 n -0001146046 00000 n -0000022926 00000 n -0000022984 00000 n -0000912216 00000 n -0001145953 00000 n -0000023029 00000 n -0000023101 00000 n -0000916327 00000 n -0001145860 00000 n -0000023146 00000 n -0000023224 00000 n -0000918011 00000 n -0001145781 00000 n -0000023269 00000 n -0000023388 00000 n -0000921806 00000 n -0001145646 00000 n -0000023430 00000 n -0000023469 00000 n -0000922063 00000 n -0001145565 00000 n -0000023514 00000 n -0000023568 00000 n -0000924081 00000 n -0001145483 00000 n -0000023614 00000 n -0000023678 00000 n -0000926988 00000 n -0001145344 00000 n -0000023721 00000 n -0000023789 00000 n -0000927118 00000 n -0001145260 00000 n -0000023835 00000 n -0000023873 00000 n -0000928148 00000 n -0001145161 00000 n -0000023919 00000 n -0000023963 00000 n -0000933129 00000 n -0001145077 00000 n -0000024009 00000 n -0000024051 00000 n -0000938066 00000 n -0001144936 00000 n -0000024094 00000 n -0000024157 00000 n -0000938385 00000 n -0001144852 00000 n -0000024203 00000 n -0000024235 00000 n -0000938703 00000 n -0001144753 00000 n -0000024281 00000 n -0000024333 00000 n -0000942701 00000 n -0001144654 00000 n -0000024379 00000 n -0000024419 00000 n -0000942958 00000 n -0001144555 00000 n -0000024465 00000 n -0000024508 00000 n -0000946876 00000 n -0001144456 00000 n -0000024554 00000 n -0000024591 00000 n -0000952071 00000 n -0001144357 00000 n -0000024637 00000 n -0000024680 00000 n -0000952393 00000 n -0001144258 00000 n -0000024726 00000 n -0000024774 00000 n -0000952650 00000 n -0001144159 00000 n -0000024820 00000 n -0000024878 00000 n -0000955708 00000 n -0001144060 00000 n -0000024924 00000 n -0000024959 00000 n -0000955902 00000 n -0001143961 00000 n -0000025005 00000 n -0000025040 00000 n -0000956095 00000 n -0001143862 00000 n -0000025086 00000 n -0000025143 00000 n -0000956418 00000 n -0001143778 00000 n -0000025189 00000 n -0000025252 00000 n -0000960382 00000 n -0001143679 00000 n -0000025295 00000 n -0000025324 00000 n -0000960510 00000 n -0001143539 00000 n -0000025367 00000 n -0000025402 00000 n -0000960640 00000 n -0001143470 00000 n -0000025452 00000 n -0000025482 00000 n -0000961027 00000 n -0001143330 00000 n -0000025525 00000 n -0000025547 00000 n -0000961156 00000 n -0001143220 00000 n -0000025597 00000 n -0000025624 00000 n -0000961609 00000 n -0001143151 00000 n -0000025677 00000 n -0000025741 00000 n -0000965596 00000 n -0001143011 00000 n -0000025784 00000 n -0000025806 00000 n -0000965725 00000 n -0001142901 00000 n -0000025856 00000 n -0000025880 00000 n -0000966177 00000 n -0001142817 00000 n -0000025930 00000 n -0000025961 00000 n -0000966435 00000 n -0001142733 00000 n -0000026011 00000 n -0000026040 00000 n -0000966692 00000 n -0001142593 00000 n -0000026083 00000 n -0000026105 00000 n -0000966821 00000 n -0001142483 00000 n -0000026155 00000 n -0000026200 00000 n -0000967207 00000 n -0001142399 00000 n -0000026250 00000 n -0000026280 00000 n -0000967464 00000 n -0001142300 00000 n -0000026330 00000 n -0000026385 00000 n -0000967981 00000 n -0001142216 00000 n -0000026435 00000 n -0000026463 00000 n -0000970357 00000 n -0001142076 00000 n -0000026506 00000 n -0000026528 00000 n -0000970486 00000 n -0001141966 00000 n -0000026578 00000 n -0000026605 00000 n -0000970874 00000 n -0001141897 00000 n -0000026655 00000 n -0000026686 00000 n -0000971132 00000 n -0001141757 00000 n -0000026729 00000 n -0000026751 00000 n -0000971260 00000 n -0001141688 00000 n -0000026801 00000 n -0000026828 00000 n -0000971715 00000 n -0001141548 00000 n -0000026871 00000 n -0000026893 00000 n -0000971843 00000 n -0001141479 00000 n -0000026943 00000 n -0000026974 00000 n -0000974106 00000 n -0001141339 00000 n -0000027017 00000 n -0000027039 00000 n -0000974235 00000 n -0001141229 00000 n -0000027089 00000 n -0000027133 00000 n -0000974821 00000 n -0001141160 00000 n -0000027183 00000 n -0000027209 00000 n -0000976047 00000 n -0001141020 00000 n -0000027252 00000 n -0000027274 00000 n -0000976176 00000 n -0001140910 00000 n -0000027324 00000 n -0000027365 00000 n -0000976497 00000 n -0001140826 00000 n -0000027415 00000 n -0000027443 00000 n -0000978446 00000 n -0001140742 00000 n -0000027493 00000 n -0000027518 00000 n -0000978768 00000 n -0001140602 00000 n -0000027561 00000 n -0000027583 00000 n -0000978897 00000 n -0001140533 00000 n -0000027633 00000 n -0000027656 00000 n -0000979482 00000 n -0001140393 00000 n -0000027699 00000 n -0000027721 00000 n -0000979611 00000 n -0001140283 00000 n -0000027771 00000 n -0000027829 00000 n -0000979867 00000 n -0001140214 00000 n -0000027879 00000 n -0000027918 00000 n -0000980189 00000 n -0001140074 00000 n -0000027961 00000 n -0000027983 00000 n -0000980318 00000 n -0001139964 00000 n -0000028033 00000 n -0000028061 00000 n -0000983053 00000 n -0001139895 00000 n -0000028111 00000 n -0000028137 00000 n -0000983967 00000 n -0001139755 00000 n -0000028180 00000 n -0000028202 00000 n -0000984095 00000 n -0001139645 00000 n -0000028252 00000 n -0000028289 00000 n -0000984419 00000 n -0001139576 00000 n -0000028339 00000 n -0000028381 00000 n -0000984677 00000 n -0001139451 00000 n -0000028424 00000 n -0000028446 00000 n -0000984806 00000 n -0001139382 00000 n -0000028496 00000 n -0000028534 00000 n -0000028854 00000 n -0000029234 00000 n -0000028588 00000 n -0000028980 00000 n -0000029044 00000 n -0000029108 00000 n -0001135261 00000 n -0001121477 00000 n -0001135087 00000 n -0001136146 00000 n -0000030094 00000 n -0000029904 00000 n -0000029308 00000 n -0000030030 00000 n -0001120350 00000 n -0001098504 00000 n -0001120173 00000 n -0000103831 00000 n -0000088169 00000 n -0000030182 00000 n -0000103705 00000 n -0000089117 00000 n -0001097639 00000 n -0001081332 00000 n -0001097462 00000 n -0000089269 00000 n -0000089421 00000 n -0000089577 00000 n -0000089733 00000 n -0000089890 00000 n -0000090047 00000 n -0000090205 00000 n -0000090363 00000 n -0000090517 00000 n -0000090671 00000 n -0000090829 00000 n -0000090987 00000 n -0000091151 00000 n -0000091316 00000 n -0000091474 00000 n -0000091632 00000 n -0000091792 00000 n -0000091951 00000 n -0000092115 00000 n -0000092278 00000 n -0000092439 00000 n -0000092599 00000 n -0000092757 00000 n -0000092914 00000 n -0000093075 00000 n -0000093236 00000 n -0000093401 00000 n -0000093565 00000 n -0000093727 00000 n -0000093888 00000 n -0000094055 00000 n -0000094221 00000 n -0000094394 00000 n -0000094566 00000 n -0000094738 00000 n -0000094909 00000 n -0000095075 00000 n -0000095240 00000 n -0000095415 00000 n -0000095589 00000 n -0000095761 00000 n -0000095932 00000 n -0000096101 00000 n -0000096269 00000 n -0000096441 00000 n -0000096612 00000 n -0000096784 00000 n -0000096956 00000 n -0000097131 00000 n -0000097305 00000 n -0000097464 00000 n -0000097622 00000 n -0000097798 00000 n -0000097974 00000 n -0000098134 00000 n -0000098295 00000 n -0000098453 00000 n -0000098611 00000 n -0000098774 00000 n -0000098937 00000 n -0000099099 00000 n -0000099262 00000 n -0000099415 00000 n -0000099568 00000 n -0000099726 00000 n -0000099884 00000 n -0000100037 00000 n -0000100191 00000 n -0000100342 00000 n -0000100493 00000 n -0000100645 00000 n -0000100797 00000 n -0000100956 00000 n -0000101115 00000 n -0000101269 00000 n -0000101423 00000 n -0000101594 00000 n -0000101765 00000 n -0000101922 00000 n -0000102081 00000 n -0000102232 00000 n -0000102383 00000 n -0000102556 00000 n -0000102729 00000 n -0000102896 00000 n -0000103063 00000 n -0000103224 00000 n -0000103386 00000 n -0000103545 00000 n -0001080486 00000 n -0001062261 00000 n -0001080305 00000 n -0000420354 00000 n -0000420481 00000 n -0000420864 00000 n -0000421182 00000 n -0000421698 00000 n -0000427041 00000 n -0000433053 00000 n -0000433180 00000 n -0000434396 00000 n -0000436652 00000 n -0000436843 00000 n -0000437552 00000 n -0000438002 00000 n -0000441728 00000 n -0000442180 00000 n -0000443022 00000 n -0000456831 00000 n -0000457088 00000 n -0000457279 00000 n -0000459850 00000 n -0000460040 00000 n -0000460231 00000 n -0000460423 00000 n -0000460682 00000 n -0000460874 00000 n -0000461066 00000 n -0000465109 00000 n -0000465694 00000 n -0000465952 00000 n -0000470994 00000 n -0000471187 00000 n -0000471446 00000 n -0000480909 00000 n -0000485589 00000 n -0000490282 00000 n -0000490797 00000 n -0000491121 00000 n -0000502891 00000 n -0000508477 00000 n -0000509322 00000 n -0000509514 00000 n -0000512846 00000 n -0000513361 00000 n -0000516737 00000 n -0000517647 00000 n -0000177893 00000 n -0000161739 00000 n -0000103947 00000 n -0000177829 00000 n -0000162723 00000 n -0000162881 00000 n -0000163040 00000 n -0000163196 00000 n -0000163352 00000 n -0000163509 00000 n -0000163666 00000 n -0000163832 00000 n -0000163998 00000 n -0000164156 00000 n -0000164314 00000 n -0000164473 00000 n -0000164632 00000 n -0000164789 00000 n -0000164946 00000 n -0000165109 00000 n -0000165272 00000 n -0000165436 00000 n -0000165600 00000 n -0000165755 00000 n -0000165910 00000 n -0000166064 00000 n -0000166219 00000 n -0000166370 00000 n -0000166521 00000 n -0000166672 00000 n -0000166823 00000 n -0000166973 00000 n -0000167123 00000 n -0000167274 00000 n -0000167425 00000 n -0000167600 00000 n -0000167775 00000 n -0000167925 00000 n -0000168075 00000 n -0000168226 00000 n -0000168377 00000 n -0000168528 00000 n -0000168679 00000 n -0000168833 00000 n -0000168987 00000 n -0000169140 00000 n -0000169294 00000 n -0000169456 00000 n -0000169618 00000 n -0000169777 00000 n -0000169937 00000 n -0000170101 00000 n -0000170265 00000 n -0000170424 00000 n -0000170583 00000 n -0000170746 00000 n -0000170909 00000 n -0000171072 00000 n -0000171235 00000 n -0000171401 00000 n -0000171567 00000 n -0000171736 00000 n -0000171905 00000 n -0000172065 00000 n -0000172227 00000 n -0000172384 00000 n -0000172542 00000 n -0000172711 00000 n -0000172881 00000 n -0000173047 00000 n -0000173213 00000 n -0000173386 00000 n -0000173559 00000 n -0000173723 00000 n -0000173888 00000 n -0000174061 00000 n -0000174234 00000 n -0000174396 00000 n -0000174558 00000 n -0000174720 00000 n -0000174883 00000 n -0000175054 00000 n -0000175225 00000 n -0000175393 00000 n -0000175561 00000 n -0000175715 00000 n -0000175869 00000 n -0000176025 00000 n -0000176181 00000 n -0000176340 00000 n -0000176499 00000 n -0000176664 00000 n -0000176829 00000 n -0000176996 00000 n -0000177163 00000 n -0000177330 00000 n -0000177497 00000 n -0000177663 00000 n -0000518754 00000 n -0000522094 00000 n -0000522353 00000 n -0000522806 00000 n -0000526903 00000 n -0000527615 00000 n -0000527808 00000 n -0000528001 00000 n -0000531894 00000 n -0000533513 00000 n -0000536470 00000 n -0000536599 00000 n -0000536791 00000 n -0000537311 00000 n -0000541170 00000 n -0000544475 00000 n -0000544863 00000 n -0000545056 00000 n -0000548758 00000 n -0000549410 00000 n -0000549993 00000 n -0000554070 00000 n -0000555751 00000 n -0000560139 00000 n -0000560395 00000 n -0000561306 00000 n -0000565129 00000 n -0000569611 00000 n -0000571352 00000 n -0000575534 00000 n -0000575662 00000 n -0000575854 00000 n -0000586169 00000 n -0000586362 00000 n -0000587136 00000 n -0000587329 00000 n -0000590589 00000 n -0000591229 00000 n -0000591487 00000 n -0000591746 00000 n -0000596684 00000 n -0000602148 00000 n -0000606376 00000 n -0000610410 00000 n -0000610602 00000 n -0000610795 00000 n -0000611244 00000 n -0000252619 00000 n -0000236445 00000 n -0000177995 00000 n -0000252555 00000 n -0000237429 00000 n -0000237584 00000 n -0000237741 00000 n -0000237900 00000 n -0000238059 00000 n -0000238218 00000 n -0000238377 00000 n -0000238544 00000 n -0000238711 00000 n -0000238873 00000 n -0000239035 00000 n -0000239194 00000 n -0000239353 00000 n -0000239520 00000 n -0000239688 00000 n -0000239854 00000 n -0000240020 00000 n -0000240182 00000 n -0000240345 00000 n -0000240499 00000 n -0000240654 00000 n -0000240816 00000 n -0000240978 00000 n -0000241139 00000 n -0000241300 00000 n -0000241473 00000 n -0000241646 00000 n -0000241815 00000 n -0000241984 00000 n -0000242154 00000 n -0000242324 00000 n -0000242481 00000 n -0000242639 00000 n -0000242794 00000 n -0000242950 00000 n -0000243107 00000 n -0000243265 00000 n -0000243426 00000 n -0000243588 00000 n -0000243755 00000 n -0000243922 00000 n -0000244080 00000 n -0000244238 00000 n -0000244397 00000 n -0000244556 00000 n -0000244713 00000 n -0000244870 00000 n -0000245028 00000 n -0000245186 00000 n -0000245354 00000 n -0000245522 00000 n -0000245683 00000 n -0000245844 00000 n -0000246003 00000 n -0000246162 00000 n -0000246320 00000 n -0000246478 00000 n -0000246638 00000 n -0000246798 00000 n -0000246957 00000 n -0000247116 00000 n -0000247271 00000 n -0000247427 00000 n -0000247587 00000 n -0000247748 00000 n -0000247913 00000 n -0000248078 00000 n -0000248244 00000 n -0000248410 00000 n -0000248578 00000 n -0000248746 00000 n -0000248904 00000 n -0000249063 00000 n -0000249225 00000 n -0000249387 00000 n -0000249553 00000 n -0000249719 00000 n -0000249884 00000 n -0000250051 00000 n -0000250204 00000 n -0000250358 00000 n -0000250510 00000 n -0000250663 00000 n -0000250816 00000 n -0000250970 00000 n -0000251131 00000 n -0000251292 00000 n -0000251449 00000 n -0000251606 00000 n -0000251770 00000 n -0000251934 00000 n -0000252086 00000 n -0000252238 00000 n -0000252396 00000 n -0000614144 00000 n -0000614273 00000 n -0000614594 00000 n -0000614722 00000 n -0000615240 00000 n -0000619899 00000 n -0000627374 00000 n -0000627632 00000 n -0000631521 00000 n -0000632034 00000 n -0000636769 00000 n -0000637739 00000 n -0000641771 00000 n -0000642155 00000 n -0000647191 00000 n -0000653925 00000 n -0000655415 00000 n -0000653669 00000 n -0000659699 00000 n -0000660084 00000 n -0000664252 00000 n -0000664380 00000 n -0000665669 00000 n -0000666516 00000 n -0000666708 00000 n -0000670639 00000 n -0000671093 00000 n -0000671547 00000 n -0000671806 00000 n -0000682731 00000 n -0000686199 00000 n -0000686519 00000 n -0000686970 00000 n -0000692192 00000 n -0000692383 00000 n -0000692576 00000 n -0000695411 00000 n -0000695734 00000 n -0000696310 00000 n -0000696566 00000 n -0000700912 00000 n -0000701425 00000 n -0000706964 00000 n -0000711609 00000 n -0000717621 00000 n -0000718263 00000 n -0000718456 00000 n -0000328088 00000 n -0000311874 00000 n -0000252707 00000 n -0000328024 00000 n -0000312858 00000 n -0000313011 00000 n -0000313166 00000 n -0000313324 00000 n -0000313483 00000 n -0000313647 00000 n -0000313811 00000 n -0000313979 00000 n -0000314147 00000 n -0001061279 00000 n -0001041092 00000 n -0001061104 00000 n -0000314313 00000 n -0000314479 00000 n -0000314644 00000 n -0000314810 00000 n -0000314982 00000 n -0000315154 00000 n -0000315318 00000 n -0000315483 00000 n -0000315656 00000 n -0000315829 00000 n -0000315981 00000 n -0000316134 00000 n -0000316292 00000 n -0000316451 00000 n -0000316607 00000 n -0000316764 00000 n -0000316919 00000 n -0000317075 00000 n -0000317231 00000 n -0000317388 00000 n -0000317540 00000 n -0000317693 00000 n -0000317846 00000 n -0000317999 00000 n -0000318155 00000 n -0000318311 00000 n -0000318467 00000 n -0000318623 00000 n -0000318785 00000 n -0000318947 00000 n -0000319106 00000 n -0000319265 00000 n -0000319428 00000 n -0000319591 00000 n -0000319743 00000 n -0000319895 00000 n -0000320061 00000 n -0000320227 00000 n -0000320384 00000 n -0000320542 00000 n -0000320700 00000 n -0000320859 00000 n -0000321018 00000 n -0000321177 00000 n -0000321335 00000 n -0000321494 00000 n -0000321653 00000 n -0000321812 00000 n -0000321976 00000 n -0000322140 00000 n -0000322302 00000 n -0000322465 00000 n -0000322632 00000 n -0000322799 00000 n -0000322967 00000 n -0000323135 00000 n -0000323299 00000 n -0000323463 00000 n -0000323633 00000 n -0000323803 00000 n -0000323975 00000 n -0000324147 00000 n -0000324306 00000 n -0000324466 00000 n -0000324618 00000 n -0000324770 00000 n -0000324928 00000 n -0000325086 00000 n -0000325249 00000 n -0000325412 00000 n -0000325574 00000 n -0000325736 00000 n -0000325895 00000 n -0000326055 00000 n -0000326217 00000 n -0000326380 00000 n -0000326546 00000 n -0000326712 00000 n -0000326876 00000 n -0000327040 00000 n -0000327201 00000 n -0000327362 00000 n -0000327527 00000 n -0000327692 00000 n -0000327858 00000 n -0000723195 00000 n -0000723515 00000 n -0000723644 00000 n -0000723837 00000 n -0000725009 00000 n -0000725267 00000 n -0000728262 00000 n -0000734929 00000 n -0000735057 00000 n -0000738373 00000 n -0000738501 00000 n -0000738890 00000 n -0000744212 00000 n -0000751636 00000 n -0000749889 00000 n -0000803506 00000 n -0000807370 00000 n -0000807626 00000 n -0000811521 00000 n -0000812037 00000 n -0000812492 00000 n -0000812684 00000 n -0000816580 00000 n -0000817097 00000 n -0000817226 00000 n -0000822593 00000 n -0000822915 00000 n -0000826533 00000 n -0000826917 00000 n -0000827109 00000 n -0000829659 00000 n -0000829851 00000 n -0000830042 00000 n -0000830235 00000 n -0000830492 00000 n -0000830685 00000 n -0000830878 00000 n -0000833633 00000 n -0000833890 00000 n -0000834083 00000 n -0000834405 00000 n -0000837975 00000 n -0000838168 00000 n -0000839710 00000 n -0000848516 00000 n -0000848709 00000 n -0000849034 00000 n -0000402032 00000 n -0000386254 00000 n -0000328204 00000 n -0000401968 00000 n -0000387220 00000 n -0000387376 00000 n -0000387533 00000 n -0000387688 00000 n -0000387843 00000 n -0000387996 00000 n -0000388149 00000 n -0000388301 00000 n -0000388453 00000 n -0000388618 00000 n -0000388783 00000 n -0000388935 00000 n -0000389088 00000 n -0000389241 00000 n -0000389395 00000 n -0000389559 00000 n -0000389723 00000 n -0000389887 00000 n -0000390051 00000 n -0000390212 00000 n -0000390373 00000 n -0000390525 00000 n -0000390677 00000 n -0000390837 00000 n -0000390998 00000 n -0000391155 00000 n -0000391313 00000 n -0000391470 00000 n -0000391628 00000 n -0000391789 00000 n -0000391951 00000 n -0000392116 00000 n -0000392281 00000 n -0000392444 00000 n -0000392607 00000 n -0000392768 00000 n -0000392929 00000 n -0000393093 00000 n -0000393257 00000 n -0000393422 00000 n -0000393587 00000 n -0000393755 00000 n -0000393923 00000 n -0000394093 00000 n -0000394264 00000 n -0000394420 00000 n -0000394577 00000 n -0000394738 00000 n -0000394900 00000 n -0000395061 00000 n -0000395223 00000 n -0000395385 00000 n -0000395548 00000 n -0000395710 00000 n -0000395873 00000 n -0000396034 00000 n -0000396196 00000 n -0000396360 00000 n -0000396525 00000 n -0000396692 00000 n -0000396860 00000 n -0000397017 00000 n -0000397175 00000 n -0000397343 00000 n -0000397512 00000 n -0000397665 00000 n -0000397819 00000 n -0000397973 00000 n -0000398128 00000 n -0000398290 00000 n -0000398453 00000 n -0000398626 00000 n -0000398800 00000 n -0000398974 00000 n -0000399149 00000 n -0000399319 00000 n -0000399490 00000 n -0000399659 00000 n -0000399829 00000 n -0000399979 00000 n -0000400131 00000 n -0000400283 00000 n -0000400436 00000 n -0000400589 00000 n -0000400743 00000 n -0000400896 00000 n -0000401050 00000 n -0000401203 00000 n -0000401357 00000 n -0000401509 00000 n -0000401663 00000 n -0000401815 00000 n -0001136271 00000 n -0000854425 00000 n -0000854617 00000 n -0000853143 00000 n -0000858513 00000 n -0000858961 00000 n -0000861741 00000 n -0000862381 00000 n -0000866227 00000 n -0000866548 00000 n -0000870499 00000 n -0000871204 00000 n -0000875224 00000 n -0000875352 00000 n -0000875674 00000 n -0000876514 00000 n -0000876771 00000 n -0000880699 00000 n -0000885902 00000 n -0000886678 00000 n -0000891503 00000 n -0000897245 00000 n -0000897502 00000 n -0000903194 00000 n -0000906644 00000 n -0000906836 00000 n -0000907550 00000 n -0000908000 00000 n -0000910732 00000 n -0000911374 00000 n -0000912152 00000 n -0000916263 00000 n -0000916648 00000 n -0000921742 00000 n -0000921999 00000 n -0000924017 00000 n -0000926924 00000 n -0000927054 00000 n -0000928084 00000 n -0000933065 00000 n -0000938002 00000 n -0000938321 00000 n -0000938639 00000 n -0000942637 00000 n -0000942895 00000 n -0000946812 00000 n -0000952007 00000 n -0000414924 00000 n -0000412438 00000 n -0000402148 00000 n -0000414860 00000 n -0000412702 00000 n -0000412855 00000 n -0000413009 00000 n -0000413162 00000 n -0000413316 00000 n -0000413468 00000 n -0000413621 00000 n -0000413773 00000 n -0000413926 00000 n -0000414080 00000 n -0000414235 00000 n -0000414391 00000 n -0000414549 00000 n -0000414704 00000 n -0000952329 00000 n -0000952586 00000 n -0000955644 00000 n -0000955838 00000 n -0000956032 00000 n -0000956354 00000 n -0000960318 00000 n -0000417573 00000 n -0000416965 00000 n -0000415026 00000 n -0000417446 00000 n -0000417121 00000 n -0000417283 00000 n -0000751961 00000 n -0000422013 00000 n -0000420056 00000 n -0000417675 00000 n -0000420608 00000 n -0000420672 00000 n -0000420736 00000 n -0000420203 00000 n -0000420800 00000 n -0000420992 00000 n -0000421055 00000 n -0000421119 00000 n -0000421309 00000 n -0000421373 00000 n -0000421437 00000 n -0000421503 00000 n -0000421566 00000 n -0000421632 00000 n -0000421823 00000 n -0000421887 00000 n -0000421950 00000 n -0000427489 00000 n -0000424255 00000 n -0000422115 00000 n -0000424381 00000 n -0000424445 00000 n -0000424510 00000 n -0000424574 00000 n -0000424640 00000 n -0000424702 00000 n -0000424767 00000 n -0000424831 00000 n -0000424897 00000 n -0000424961 00000 n -0000425026 00000 n -0000425090 00000 n -0000425156 00000 n -0000425220 00000 n -0000425284 00000 n -0000425348 00000 n -0000425413 00000 n -0000425477 00000 n -0000425542 00000 n -0000425606 00000 n -0000425672 00000 n -0000425736 00000 n -0000425800 00000 n -0000425864 00000 n -0000425930 00000 n -0000425994 00000 n -0000426059 00000 n -0000426123 00000 n -0000426188 00000 n -0000426254 00000 n -0000426320 00000 n -0000426386 00000 n -0000426452 00000 n -0000426518 00000 n -0000426584 00000 n -0000426650 00000 n -0000426716 00000 n -0000426780 00000 n -0000426846 00000 n -0000426912 00000 n -0000426976 00000 n -0000427169 00000 n -0000427233 00000 n -0000427297 00000 n -0000427361 00000 n -0000427425 00000 n -0001040028 00000 n -0001027815 00000 n -0001039854 00000 n -0000429166 00000 n -0000428729 00000 n -0000427619 00000 n -0000428876 00000 n -0000429036 00000 n -0000429100 00000 n -0000966371 00000 n -0000434782 00000 n -0000431561 00000 n -0000429310 00000 n -0000433308 00000 n -0000433372 00000 n -0000433436 00000 n -0001027055 00000 n -0001017036 00000 n -0001026877 00000 n +0000000110 00000 n +0000103825 00000 n +0001167307 00000 n +0000000149 00000 n +0000000184 00000 n +0000417584 00000 n +0001167220 00000 n +0000000223 00000 n +0000000257 00000 n +0000420540 00000 n +0001167094 00000 n +0000000297 00000 n +0000000343 00000 n +0000420666 00000 n +0001167020 00000 n +0000000385 00000 n +0000000430 00000 n +0000421050 00000 n +0001166933 00000 n +0000000472 00000 n +0000000506 00000 n +0000421367 00000 n +0001166846 00000 n +0000000548 00000 n +0000000584 00000 n +0000421884 00000 n +0001166759 00000 n +0000000626 00000 n +0000000657 00000 n +0000427214 00000 n +0001166685 00000 n +0000000699 00000 n +0000000743 00000 n +0000433311 00000 n +0001166557 00000 n +0000000783 00000 n +0000000832 00000 n +0000433438 00000 n +0001166444 00000 n +0000000874 00000 n +0000000910 00000 n +0000434654 00000 n +0001166370 00000 n +0000000954 00000 n +0000000984 00000 n +0000436910 00000 n +0001166246 00000 n +0000001028 00000 n +0000001069 00000 n +0000437100 00000 n +0001166172 00000 n +0000001115 00000 n +0000001148 00000 n +0000437810 00000 n +0001166085 00000 n +0000001194 00000 n +0000001232 00000 n +0000438260 00000 n +0001166011 00000 n +0000001278 00000 n +0000001312 00000 n +0000441986 00000 n +0001165924 00000 n +0000001356 00000 n +0000001392 00000 n +0000442438 00000 n +0001165837 00000 n +0000001436 00000 n +0000001470 00000 n +0000443280 00000 n +0001165711 00000 n +0000001514 00000 n +0000001552 00000 n +0000457092 00000 n +0001165637 00000 n +0000001598 00000 n +0000001636 00000 n +0000457348 00000 n +0001165550 00000 n +0000001682 00000 n +0000001735 00000 n +0000459400 00000 n +0001165463 00000 n +0000001781 00000 n +0000001820 00000 n +0000460109 00000 n +0001165376 00000 n +0000001866 00000 n +0000001914 00000 n +0000460300 00000 n +0001165289 00000 n +0000001960 00000 n +0000002005 00000 n +0000460491 00000 n +0001165200 00000 n +0000002051 00000 n +0000002096 00000 n +0000460683 00000 n +0001165109 00000 n +0000002144 00000 n +0000002190 00000 n +0000460941 00000 n +0001165017 00000 n +0000002238 00000 n +0000002290 00000 n +0000461134 00000 n +0001164939 00000 n +0000002338 00000 n +0000002388 00000 n +0000464662 00000 n +0001164848 00000 n +0000002433 00000 n +0000002487 00000 n +0000465369 00000 n +0001164770 00000 n +0000002532 00000 n +0000002589 00000 n +0000465954 00000 n +0001164640 00000 n +0000002632 00000 n +0000002670 00000 n +0000466212 00000 n +0001164561 00000 n +0000002715 00000 n +0000002753 00000 n +0000471254 00000 n +0001164429 00000 n +0000002798 00000 n +0000002840 00000 n +0000471447 00000 n +0001164350 00000 n +0000002888 00000 n +0000002941 00000 n +0000474682 00000 n +0001164218 00000 n +0000002989 00000 n +0000003023 00000 n +0000475401 00000 n +0001164139 00000 n +0000003073 00000 n +0000003145 00000 n +0000475786 00000 n +0001164046 00000 n +0000003195 00000 n +0000003263 00000 n +0000476302 00000 n +0001163953 00000 n +0000003313 00000 n +0000003363 00000 n +0000480273 00000 n +0001163874 00000 n +0000003413 00000 n +0000003487 00000 n +0000481168 00000 n +0001163742 00000 n +0000003535 00000 n +0000003574 00000 n +0000481295 00000 n +0001163663 00000 n +0000003624 00000 n +0000003679 00000 n +0000484941 00000 n +0001163584 00000 n +0000003729 00000 n +0000003780 00000 n +0000485849 00000 n +0001163466 00000 n +0000003828 00000 n +0000003863 00000 n +0000485978 00000 n +0001163387 00000 n +0000003913 00000 n +0000003967 00000 n +0000486494 00000 n +0001163294 00000 n +0000004017 00000 n +0000004068 00000 n +0000490157 00000 n +0001163215 00000 n +0000004118 00000 n +0000004173 00000 n +0000490542 00000 n +0001163122 00000 n +0000004219 00000 n +0000004259 00000 n +0000491057 00000 n +0001162990 00000 n +0000004305 00000 n +0000004342 00000 n +0000491381 00000 n +0001162872 00000 n +0000004391 00000 n +0000004441 00000 n +0000491574 00000 n +0001162793 00000 n +0000004493 00000 n +0000004548 00000 n +0000496964 00000 n +0001162714 00000 n +0000004600 00000 n +0000004656 00000 n +0000503151 00000 n +0001162635 00000 n +0000004705 00000 n +0000004773 00000 n +0000508737 00000 n +0001162556 00000 n +0000004819 00000 n +0000004854 00000 n +0000509581 00000 n +0001162425 00000 n +0000004897 00000 n +0000004955 00000 n +0000512396 00000 n +0001162346 00000 n +0000005001 00000 n +0000005038 00000 n +0000513106 00000 n +0001162253 00000 n +0000005084 00000 n +0000005127 00000 n +0000513621 00000 n +0001162160 00000 n +0000005173 00000 n +0000005207 00000 n +0000516996 00000 n +0001162081 00000 n +0000005253 00000 n +0000005330 00000 n +0000517907 00000 n +0001161989 00000 n +0000005373 00000 n +0000005452 00000 n +0000522031 00000 n +0001161858 00000 n +0000005496 00000 n +0000005550 00000 n +0000522354 00000 n +0001161740 00000 n +0000005597 00000 n +0000005641 00000 n +0000522613 00000 n +0001161661 00000 n +0000005691 00000 n +0000005730 00000 n +0000523066 00000 n +0001161568 00000 n +0000005780 00000 n +0000005830 00000 n +0000527163 00000 n +0001161475 00000 n +0000005880 00000 n +0000005930 00000 n +0000527875 00000 n +0001161396 00000 n +0000005980 00000 n +0000006022 00000 n +0000528068 00000 n +0001161264 00000 n +0000006069 00000 n +0000006104 00000 n +0000531555 00000 n +0001161185 00000 n +0000006154 00000 n +0000006191 00000 n +0000531814 00000 n +0001161106 00000 n +0000006241 00000 n +0000006309 00000 n +0000533432 00000 n +0001161027 00000 n +0000006356 00000 n +0000006402 00000 n +0000536280 00000 n +0001160896 00000 n +0000006446 00000 n +0000006506 00000 n +0000536409 00000 n +0001160817 00000 n +0000006553 00000 n +0000006592 00000 n +0000536602 00000 n +0001160685 00000 n +0000006639 00000 n +0000006671 00000 n +0000537122 00000 n +0001160581 00000 n +0000006721 00000 n +0000006774 00000 n +0000537251 00000 n +0001160502 00000 n +0000006827 00000 n +0000006889 00000 n +0000539727 00000 n +0001160409 00000 n +0000006942 00000 n +0000006996 00000 n +0000540050 00000 n +0001160330 00000 n +0000007049 00000 n +0000007099 00000 n +0000541088 00000 n +0001160237 00000 n +0000007146 00000 n +0000007177 00000 n +0000544677 00000 n +0001160144 00000 n +0000007224 00000 n +0000007263 00000 n +0000545065 00000 n +0001160012 00000 n +0000007310 00000 n +0000007348 00000 n +0000545257 00000 n +0001159947 00000 n +0000007398 00000 n +0000007452 00000 n +0000549135 00000 n +0001159829 00000 n +0000007499 00000 n +0000007534 00000 n +0000549785 00000 n +0001159764 00000 n +0000007584 00000 n +0000007637 00000 n +0000550368 00000 n +0001159647 00000 n +0000007681 00000 n +0000007731 00000 n +0000550819 00000 n +0001159568 00000 n +0000007778 00000 n +0000007823 00000 n +0000556436 00000 n +0001159436 00000 n +0000007870 00000 n +0000007921 00000 n +0000560503 00000 n +0001159357 00000 n +0000007971 00000 n +0000008034 00000 n +0000560759 00000 n +0001159264 00000 n +0000008084 00000 n +0000008132 00000 n +0000561666 00000 n +0001159171 00000 n +0000008182 00000 n +0000008238 00000 n +0000565534 00000 n +0001159092 00000 n +0000008288 00000 n +0000008340 00000 n +0000570254 00000 n +0001158999 00000 n +0000008387 00000 n +0000008437 00000 n +0000572000 00000 n +0001158920 00000 n +0000008484 00000 n +0000008550 00000 n +0000574800 00000 n +0001158787 00000 n +0000008591 00000 n +0000008644 00000 n +0000574928 00000 n +0001158668 00000 n +0000008688 00000 n +0000008735 00000 n +0000575119 00000 n +0001158589 00000 n +0000008782 00000 n +0000008826 00000 n +0000585435 00000 n +0001158496 00000 n +0000008873 00000 n +0000008923 00000 n +0000585628 00000 n +0001158403 00000 n +0000008970 00000 n +0000009016 00000 n +0000586402 00000 n +0001158310 00000 n +0000009063 00000 n +0000009101 00000 n +0000586595 00000 n +0001158217 00000 n +0000009148 00000 n +0000009194 00000 n +0000589856 00000 n +0001158124 00000 n +0000009241 00000 n +0000009278 00000 n +0000590496 00000 n +0001158031 00000 n +0000009325 00000 n +0000009362 00000 n +0000590754 00000 n +0001157938 00000 n +0000009409 00000 n +0000009453 00000 n +0000595114 00000 n +0001157845 00000 n +0000009500 00000 n +0000009541 00000 n +0000595950 00000 n +0001157752 00000 n +0000009588 00000 n +0000009635 00000 n +0000604093 00000 n +0001157659 00000 n +0000009682 00000 n +0000009731 00000 n +0000605639 00000 n +0001157566 00000 n +0000009778 00000 n +0000009811 00000 n +0000609437 00000 n +0001157473 00000 n +0000009858 00000 n +0000009898 00000 n +0000609629 00000 n +0001157380 00000 n +0000009945 00000 n +0000009987 00000 n +0000609821 00000 n +0001157287 00000 n +0000010034 00000 n +0000010077 00000 n +0000610270 00000 n +0001157208 00000 n +0000010124 00000 n +0000010165 00000 n +0000613167 00000 n +0001157076 00000 n +0000010209 00000 n +0000010253 00000 n +0000613295 00000 n +0001156997 00000 n +0000010300 00000 n +0000010352 00000 n +0000613615 00000 n +0001156879 00000 n +0000010399 00000 n +0000010446 00000 n +0000613744 00000 n +0001156800 00000 n +0000010496 00000 n +0000010553 00000 n +0000614262 00000 n +0001156668 00000 n +0000010603 00000 n +0000010650 00000 n +0000614391 00000 n +0001156589 00000 n +0000010703 00000 n +0000010750 00000 n +0000617975 00000 n +0001156510 00000 n +0000010803 00000 n +0000010870 00000 n +0000618816 00000 n +0001156417 00000 n +0000010920 00000 n +0000010964 00000 n +0000626162 00000 n +0001156324 00000 n +0000011014 00000 n +0000011057 00000 n +0000626419 00000 n +0001156245 00000 n +0000011107 00000 n +0000011155 00000 n +0000630343 00000 n +0001156152 00000 n +0000011199 00000 n +0000011239 00000 n +0000630858 00000 n +0001156020 00000 n +0000011283 00000 n +0000011316 00000 n +0000635754 00000 n +0001155941 00000 n +0000011363 00000 n +0000011411 00000 n +0000636724 00000 n +0001155848 00000 n +0000011458 00000 n +0000011501 00000 n +0000640948 00000 n +0001155755 00000 n +0000011548 00000 n +0000011635 00000 n +0000641332 00000 n +0001155637 00000 n +0000011682 00000 n +0000011745 00000 n +0000646120 00000 n +0001155572 00000 n +0000011795 00000 n +0000011861 00000 n +0000652889 00000 n +0001155479 00000 n +0000011905 00000 n +0000011940 00000 n +0000654385 00000 n +0001155386 00000 n +0000011984 00000 n +0000012017 00000 n +0000655092 00000 n +0001155293 00000 n +0000012061 00000 n +0000012096 00000 n +0000658825 00000 n +0001155161 00000 n +0000012140 00000 n +0000012170 00000 n +0000659216 00000 n +0001155082 00000 n +0000012217 00000 n +0000012260 00000 n +0000663386 00000 n +0001154950 00000 n +0000012307 00000 n +0000012345 00000 n +0000663515 00000 n +0001154885 00000 n +0000012395 00000 n +0000012430 00000 n +0000664678 00000 n +0001154792 00000 n +0000012477 00000 n +0000012523 00000 n +0000665522 00000 n +0001154660 00000 n +0000012570 00000 n +0000012615 00000 n +0000665714 00000 n +0001154581 00000 n +0000012665 00000 n +0000012710 00000 n +0000669717 00000 n +0001154502 00000 n +0000012760 00000 n +0000012798 00000 n +0000670172 00000 n +0001154384 00000 n +0000012845 00000 n +0000012891 00000 n +0000670626 00000 n +0001154305 00000 n +0000012941 00000 n +0000012984 00000 n +0000670882 00000 n +0001154172 00000 n +0000013034 00000 n +0000013078 00000 n +0000671140 00000 n +0001154093 00000 n +0000013131 00000 n +0000013166 00000 n +0000671332 00000 n +0001154000 00000 n +0000013219 00000 n +0000013261 00000 n +0000674836 00000 n +0001153907 00000 n +0000013314 00000 n +0000013353 00000 n +0000676983 00000 n +0001153814 00000 n +0000013406 00000 n +0000013445 00000 n +0000677304 00000 n +0001153721 00000 n +0000013498 00000 n +0000013535 00000 n +0000677563 00000 n +0001153628 00000 n +0000013588 00000 n +0000013630 00000 n +0000680654 00000 n +0001153535 00000 n +0000013683 00000 n +0000013738 00000 n +0000680911 00000 n +0001153442 00000 n +0000013791 00000 n +0000013835 00000 n +0000681302 00000 n +0001153349 00000 n +0000013888 00000 n +0000013926 00000 n +0000681494 00000 n +0001153256 00000 n +0000013979 00000 n +0000014022 00000 n +0000681879 00000 n +0001153177 00000 n +0000014075 00000 n +0000014120 00000 n +0000682138 00000 n +0001153098 00000 n +0000014170 00000 n +0000014214 00000 n +0000686529 00000 n +0001153005 00000 n +0000014258 00000 n +0000014291 00000 n +0000686850 00000 n +0001152873 00000 n +0000014335 00000 n +0000014374 00000 n +0000687299 00000 n +0001152794 00000 n +0000014421 00000 n +0000014469 00000 n +0000692124 00000 n +0001152701 00000 n +0000014516 00000 n +0000014565 00000 n +0000692315 00000 n +0001152622 00000 n +0000014612 00000 n +0000014662 00000 n +0000692508 00000 n +0001152490 00000 n +0000014706 00000 n +0000014744 00000 n +0000692767 00000 n +0001152411 00000 n +0000014791 00000 n +0000014847 00000 n +0000693087 00000 n +0001152332 00000 n +0000014894 00000 n +0000014943 00000 n +0000696421 00000 n +0001152239 00000 n +0000014987 00000 n +0000015032 00000 n +0000696678 00000 n +0001152146 00000 n +0000015076 00000 n +0000015108 00000 n +0000697837 00000 n +0001152053 00000 n +0000015152 00000 n +0000015183 00000 n +0000702896 00000 n +0001151921 00000 n +0000015227 00000 n +0000015278 00000 n +0000707665 00000 n +0001151842 00000 n +0000015325 00000 n +0000015368 00000 n +0000708960 00000 n +0001151749 00000 n +0000015415 00000 n +0000015489 00000 n +0000714884 00000 n +0001151656 00000 n +0000015536 00000 n +0000015589 00000 n +0000717729 00000 n +0001151577 00000 n +0000015636 00000 n +0000015700 00000 n +0000717922 00000 n +0001151498 00000 n +0000015744 00000 n +0000015813 00000 n +0000721826 00000 n +0001151365 00000 n +0000015854 00000 n +0000015902 00000 n +0000722146 00000 n +0001151247 00000 n +0000015946 00000 n +0000015987 00000 n +0000722275 00000 n +0001151168 00000 n +0000016034 00000 n +0000016073 00000 n +0000722468 00000 n +0001151075 00000 n +0000016120 00000 n +0000016167 00000 n +0000723640 00000 n +0001150996 00000 n +0000016214 00000 n +0000016256 00000 n +0000726764 00000 n +0001150864 00000 n +0000016300 00000 n +0000016335 00000 n +0000726893 00000 n +0001150799 00000 n +0000016382 00000 n +0000016464 00000 n +0000733559 00000 n +0001150681 00000 n +0000016508 00000 n +0000016541 00000 n +0000733688 00000 n +0001150616 00000 n +0000016588 00000 n +0000016659 00000 n +0000736998 00000 n +0001150482 00000 n +0000016700 00000 n +0000016745 00000 n +0000737126 00000 n +0001150403 00000 n +0000016789 00000 n +0000016826 00000 n +0000737515 00000 n +0001150310 00000 n +0000016870 00000 n +0000016920 00000 n +0000742855 00000 n +0001150217 00000 n +0000016964 00000 n +0000017005 00000 n +0000750279 00000 n +0001150124 00000 n +0000017049 00000 n +0000017093 00000 n +0000801757 00000 n +0001149992 00000 n +0000017137 00000 n +0000017180 00000 n +0000804843 00000 n +0001149874 00000 n +0000017227 00000 n +0000017268 00000 n +0000806007 00000 n +0001149795 00000 n +0000017318 00000 n +0000017367 00000 n +0000806264 00000 n +0001149702 00000 n +0000017417 00000 n +0000017454 00000 n +0000810159 00000 n +0001149623 00000 n +0000017504 00000 n +0000017548 00000 n +0000810675 00000 n +0001149530 00000 n +0000017595 00000 n +0000017633 00000 n +0000811130 00000 n +0001149437 00000 n +0000017680 00000 n +0000017735 00000 n +0000811322 00000 n +0001149344 00000 n +0000017782 00000 n +0000017818 00000 n +0000815213 00000 n +0001149265 00000 n +0000017865 00000 n +0000017925 00000 n +0000815730 00000 n +0001149133 00000 n +0000017969 00000 n +0000018005 00000 n +0000815859 00000 n +0001149054 00000 n +0000018052 00000 n +0000018098 00000 n +0000821226 00000 n +0001148975 00000 n +0000018145 00000 n +0000018193 00000 n +0000824393 00000 n +0001148843 00000 n +0000018237 00000 n +0000018273 00000 n +0000825166 00000 n +0001148739 00000 n +0000018320 00000 n +0000018359 00000 n +0000825550 00000 n +0001148660 00000 n +0000018409 00000 n +0000018469 00000 n +0000828099 00000 n +0001148567 00000 n +0000018519 00000 n +0000018589 00000 n +0000828292 00000 n +0001148474 00000 n +0000018639 00000 n +0000018699 00000 n +0000828483 00000 n +0001148381 00000 n +0000018749 00000 n +0000018822 00000 n +0000828675 00000 n +0001148288 00000 n +0000018872 00000 n +0000018932 00000 n +0000828868 00000 n +0001148195 00000 n +0000018982 00000 n +0000019034 00000 n +0000829125 00000 n +0001148116 00000 n +0000019084 00000 n +0000019136 00000 n +0000829318 00000 n +0001147984 00000 n +0000019180 00000 n +0000019219 00000 n +0000831880 00000 n +0001147905 00000 n +0000019266 00000 n +0000019310 00000 n +0000832267 00000 n +0001147812 00000 n +0000019357 00000 n +0000019392 00000 n +0000832524 00000 n +0001147719 00000 n +0000019439 00000 n +0000019493 00000 n +0000832717 00000 n +0001147640 00000 n +0000019540 00000 n +0000019582 00000 n +0000836156 00000 n +0001147547 00000 n +0000019626 00000 n +0000019676 00000 n +0000836610 00000 n +0001147415 00000 n +0000019720 00000 n +0000019762 00000 n +0000836803 00000 n +0001147336 00000 n +0000019809 00000 n +0000019856 00000 n +0000838345 00000 n +0001147243 00000 n +0000019903 00000 n +0000019948 00000 n +0000847151 00000 n +0001147150 00000 n +0000019995 00000 n +0000020037 00000 n +0000847344 00000 n +0001147057 00000 n +0000020084 00000 n +0000020129 00000 n +0000847669 00000 n +0001146978 00000 n +0000020176 00000 n +0000020215 00000 n +0000853060 00000 n +0001146846 00000 n +0000020259 00000 n +0000020303 00000 n +0000853251 00000 n +0001146767 00000 n +0000020350 00000 n +0000020385 00000 n +0000856635 00000 n +0001146649 00000 n +0000020432 00000 n +0000020466 00000 n +0000857148 00000 n +0001146570 00000 n +0000020516 00000 n +0000020561 00000 n +0000857596 00000 n +0001146491 00000 n +0000020611 00000 n +0000020663 00000 n +0000860376 00000 n +0001146398 00000 n +0000020707 00000 n +0000020738 00000 n +0000861016 00000 n +0001146280 00000 n +0000020782 00000 n +0000020815 00000 n +0000864863 00000 n +0001146201 00000 n +0000020862 00000 n +0000020899 00000 n +0000865183 00000 n +0001146108 00000 n +0000020946 00000 n +0000020990 00000 n +0000869135 00000 n +0001146015 00000 n +0000021037 00000 n +0000021081 00000 n +0000870902 00000 n +0001145936 00000 n +0000021128 00000 n +0000021175 00000 n +0000873861 00000 n +0001145803 00000 n +0000021216 00000 n +0000021267 00000 n +0000873989 00000 n +0001145724 00000 n +0000021311 00000 n +0000021355 00000 n +0000874311 00000 n +0001145631 00000 n +0000021399 00000 n +0000021436 00000 n +0000875151 00000 n +0001145499 00000 n +0000021480 00000 n +0000021527 00000 n +0000875408 00000 n +0001145420 00000 n +0000021574 00000 n +0000021629 00000 n +0000879336 00000 n +0001145327 00000 n +0000021676 00000 n +0000021734 00000 n +0000884540 00000 n +0001145234 00000 n +0000021781 00000 n +0000021829 00000 n +0000885316 00000 n +0001145141 00000 n +0000021876 00000 n +0000021929 00000 n +0000890141 00000 n +0001145048 00000 n +0000021976 00000 n +0000022023 00000 n +0000895883 00000 n +0001144969 00000 n +0000022070 00000 n +0000022147 00000 n +0000896140 00000 n +0001144876 00000 n +0000022191 00000 n +0000022247 00000 n +0000901833 00000 n +0001144797 00000 n +0000022291 00000 n +0000022358 00000 n +0000905283 00000 n +0001144664 00000 n +0000022400 00000 n +0000022447 00000 n +0000905475 00000 n +0001144585 00000 n +0000022492 00000 n +0000022531 00000 n +0000906189 00000 n +0001144492 00000 n +0000022576 00000 n +0000022652 00000 n +0000906638 00000 n +0001144399 00000 n +0000022697 00000 n +0000022793 00000 n +0000909371 00000 n +0001144306 00000 n +0000022838 00000 n +0000022893 00000 n +0000910013 00000 n +0001144213 00000 n +0000022938 00000 n +0000022996 00000 n +0000910791 00000 n +0001144120 00000 n +0000023041 00000 n +0000023113 00000 n +0000914902 00000 n +0001144027 00000 n +0000023158 00000 n +0000023236 00000 n +0000916587 00000 n +0001143948 00000 n +0000023281 00000 n +0000023400 00000 n +0000920382 00000 n +0001143813 00000 n +0000023442 00000 n +0000023481 00000 n +0000920639 00000 n +0001143732 00000 n +0000023526 00000 n +0000023580 00000 n +0000922657 00000 n +0001143650 00000 n +0000023626 00000 n +0000023690 00000 n +0000925562 00000 n +0001143511 00000 n +0000023733 00000 n +0000023801 00000 n +0000925692 00000 n +0001143427 00000 n +0000023847 00000 n +0000023885 00000 n +0000926722 00000 n +0001143328 00000 n +0000023931 00000 n +0000023975 00000 n +0000931702 00000 n +0001143244 00000 n +0000024021 00000 n +0000024063 00000 n +0000936635 00000 n +0001143103 00000 n +0000024106 00000 n +0000024169 00000 n +0000936954 00000 n +0001143019 00000 n +0000024215 00000 n +0000024247 00000 n +0000937272 00000 n +0001142920 00000 n +0000024293 00000 n +0000024345 00000 n +0000941270 00000 n +0001142821 00000 n +0000024391 00000 n +0000024431 00000 n +0000941527 00000 n +0001142722 00000 n +0000024477 00000 n +0000024520 00000 n +0000945445 00000 n +0001142623 00000 n +0000024566 00000 n +0000024603 00000 n +0000950640 00000 n +0001142524 00000 n +0000024649 00000 n +0000024692 00000 n +0000950962 00000 n +0001142425 00000 n +0000024738 00000 n +0000024786 00000 n +0000951219 00000 n +0001142326 00000 n +0000024832 00000 n +0000024890 00000 n +0000954276 00000 n +0001142227 00000 n +0000024936 00000 n +0000024971 00000 n +0000954470 00000 n +0001142128 00000 n +0000025017 00000 n +0000025052 00000 n +0000954663 00000 n +0001142029 00000 n +0000025098 00000 n +0000025155 00000 n +0000954986 00000 n +0001141945 00000 n +0000025201 00000 n +0000025264 00000 n +0000958952 00000 n +0001141846 00000 n +0000025307 00000 n +0000025336 00000 n +0000959080 00000 n +0001141706 00000 n +0000025379 00000 n +0000025414 00000 n +0000959210 00000 n +0001141637 00000 n +0000025464 00000 n +0000025494 00000 n +0000959597 00000 n +0001141497 00000 n +0000025537 00000 n +0000025559 00000 n +0000959726 00000 n +0001141387 00000 n +0000025609 00000 n +0000025636 00000 n +0000960179 00000 n +0001141318 00000 n +0000025689 00000 n +0000025753 00000 n +0000964165 00000 n +0001141178 00000 n +0000025796 00000 n +0000025818 00000 n +0000964294 00000 n +0001141068 00000 n +0000025868 00000 n +0000025892 00000 n +0000964746 00000 n +0001140984 00000 n +0000025942 00000 n +0000025973 00000 n +0000965004 00000 n +0001140900 00000 n +0000026023 00000 n +0000026052 00000 n +0000965261 00000 n +0001140760 00000 n +0000026095 00000 n +0000026117 00000 n +0000965390 00000 n +0001140650 00000 n +0000026167 00000 n +0000026212 00000 n +0000965776 00000 n +0001140566 00000 n +0000026262 00000 n +0000026292 00000 n +0000966033 00000 n +0001140467 00000 n +0000026342 00000 n +0000026397 00000 n +0000966550 00000 n +0001140383 00000 n +0000026447 00000 n +0000026475 00000 n +0000968926 00000 n +0001140243 00000 n +0000026518 00000 n +0000026540 00000 n +0000969055 00000 n +0001140133 00000 n +0000026590 00000 n +0000026617 00000 n +0000969443 00000 n +0001140064 00000 n +0000026667 00000 n +0000026698 00000 n +0000969701 00000 n +0001139924 00000 n +0000026741 00000 n +0000026763 00000 n +0000969829 00000 n +0001139855 00000 n +0000026813 00000 n +0000026840 00000 n +0000970284 00000 n +0001139715 00000 n +0000026883 00000 n +0000026905 00000 n +0000970412 00000 n +0001139646 00000 n +0000026955 00000 n +0000026986 00000 n +0000972570 00000 n +0001139506 00000 n +0000027029 00000 n +0000027051 00000 n +0000972699 00000 n +0001139396 00000 n +0000027101 00000 n +0000027145 00000 n +0000973088 00000 n +0001139327 00000 n +0000027195 00000 n +0000027221 00000 n +0000974311 00000 n +0001139187 00000 n +0000027264 00000 n +0000027286 00000 n +0000974440 00000 n +0001139077 00000 n +0000027336 00000 n +0000027377 00000 n +0000974762 00000 n +0001138993 00000 n +0000027427 00000 n +0000027455 00000 n +0000976712 00000 n +0001138909 00000 n +0000027505 00000 n +0000027530 00000 n +0000977034 00000 n +0001138769 00000 n +0000027573 00000 n +0000027595 00000 n +0000977163 00000 n +0001138700 00000 n +0000027645 00000 n +0000027668 00000 n +0000977748 00000 n +0001138560 00000 n +0000027711 00000 n +0000027733 00000 n +0000977877 00000 n +0001138450 00000 n +0000027783 00000 n +0000027841 00000 n +0000978133 00000 n +0001138381 00000 n +0000027891 00000 n +0000027930 00000 n +0000978455 00000 n +0001138241 00000 n +0000027973 00000 n +0000027995 00000 n +0000978584 00000 n +0001138131 00000 n +0000028045 00000 n +0000028073 00000 n +0000981319 00000 n +0001138062 00000 n +0000028123 00000 n +0000028149 00000 n +0000982233 00000 n +0001137922 00000 n +0000028192 00000 n +0000028214 00000 n +0000982361 00000 n +0001137812 00000 n +0000028264 00000 n +0000028301 00000 n +0000982685 00000 n +0001137743 00000 n +0000028351 00000 n +0000028393 00000 n +0000982943 00000 n +0001137618 00000 n +0000028436 00000 n +0000028458 00000 n +0000983072 00000 n +0001137549 00000 n +0000028508 00000 n +0000028546 00000 n +0000028898 00000 n +0000029279 00000 n +0000028600 00000 n +0000029024 00000 n +0000029088 00000 n +0000029152 00000 n +0001133526 00000 n +0001119742 00000 n +0001133352 00000 n +0001134411 00000 n +0000030150 00000 n +0000029960 00000 n +0000029353 00000 n +0000030086 00000 n +0001118615 00000 n +0001096769 00000 n +0001118438 00000 n +0000103887 00000 n +0000088225 00000 n +0000030238 00000 n +0000103761 00000 n +0000089173 00000 n +0001095904 00000 n +0001079597 00000 n +0001095727 00000 n +0000089325 00000 n +0000089477 00000 n +0000089633 00000 n +0000089789 00000 n +0000089946 00000 n +0000090103 00000 n +0000090261 00000 n +0000090419 00000 n +0000090573 00000 n +0000090727 00000 n +0000090885 00000 n +0000091043 00000 n +0000091207 00000 n +0000091372 00000 n +0000091530 00000 n +0000091688 00000 n +0000091848 00000 n +0000092007 00000 n +0000092171 00000 n +0000092334 00000 n +0000092495 00000 n +0000092655 00000 n +0000092813 00000 n +0000092970 00000 n +0000093131 00000 n +0000093292 00000 n +0000093457 00000 n +0000093621 00000 n +0000093783 00000 n +0000093944 00000 n +0000094111 00000 n +0000094277 00000 n +0000094450 00000 n +0000094622 00000 n +0000094794 00000 n +0000094965 00000 n +0000095131 00000 n +0000095296 00000 n +0000095471 00000 n +0000095645 00000 n +0000095817 00000 n +0000095988 00000 n +0000096157 00000 n +0000096325 00000 n +0000096497 00000 n +0000096668 00000 n +0000096840 00000 n +0000097012 00000 n +0000097187 00000 n +0000097361 00000 n +0000097520 00000 n +0000097678 00000 n +0000097854 00000 n +0000098030 00000 n +0000098190 00000 n +0000098351 00000 n +0000098509 00000 n +0000098667 00000 n +0000098830 00000 n +0000098993 00000 n +0000099155 00000 n +0000099318 00000 n +0000099471 00000 n +0000099624 00000 n +0000099782 00000 n +0000099940 00000 n +0000100093 00000 n +0000100247 00000 n +0000100398 00000 n +0000100549 00000 n +0000100701 00000 n +0000100853 00000 n +0000101012 00000 n +0000101171 00000 n +0000101325 00000 n +0000101479 00000 n +0000101650 00000 n +0000101821 00000 n +0000101978 00000 n +0000102137 00000 n +0000102288 00000 n +0000102439 00000 n +0000102612 00000 n +0000102785 00000 n +0000102952 00000 n +0000103119 00000 n +0000103280 00000 n +0000103442 00000 n +0000103601 00000 n +0001078751 00000 n +0001060526 00000 n +0001078570 00000 n +0000420476 00000 n +0000420603 00000 n +0000420986 00000 n +0000421304 00000 n +0000421820 00000 n +0000427150 00000 n +0000433247 00000 n +0000433374 00000 n +0000434590 00000 n +0000436846 00000 n +0000437037 00000 n +0000437746 00000 n +0000438196 00000 n +0000441922 00000 n +0000442374 00000 n +0000443216 00000 n +0000457027 00000 n +0000457284 00000 n +0000457475 00000 n +0000460046 00000 n +0000460236 00000 n +0000460427 00000 n +0000460619 00000 n +0000460878 00000 n +0000461070 00000 n +0000461262 00000 n +0000465305 00000 n +0000465890 00000 n +0000466148 00000 n +0000471190 00000 n +0000471383 00000 n +0000471642 00000 n +0000481105 00000 n +0000485785 00000 n +0000490478 00000 n +0000490993 00000 n +0000491317 00000 n +0000503087 00000 n +0000508673 00000 n +0000509518 00000 n +0000509710 00000 n +0000513042 00000 n +0000513557 00000 n +0000516933 00000 n +0000517843 00000 n +0000177949 00000 n +0000161795 00000 n +0000104003 00000 n +0000177885 00000 n +0000162779 00000 n +0000162937 00000 n +0000163096 00000 n +0000163252 00000 n +0000163408 00000 n +0000163565 00000 n +0000163722 00000 n +0000163888 00000 n +0000164054 00000 n +0000164212 00000 n +0000164370 00000 n +0000164529 00000 n +0000164688 00000 n +0000164845 00000 n +0000165002 00000 n +0000165165 00000 n +0000165328 00000 n +0000165492 00000 n +0000165656 00000 n +0000165811 00000 n +0000165966 00000 n +0000166120 00000 n +0000166275 00000 n +0000166426 00000 n +0000166577 00000 n +0000166728 00000 n +0000166879 00000 n +0000167029 00000 n +0000167179 00000 n +0000167330 00000 n +0000167481 00000 n +0000167656 00000 n +0000167831 00000 n +0000167981 00000 n +0000168131 00000 n +0000168282 00000 n +0000168433 00000 n +0000168584 00000 n +0000168735 00000 n +0000168889 00000 n +0000169043 00000 n +0000169196 00000 n +0000169350 00000 n +0000169512 00000 n +0000169674 00000 n +0000169833 00000 n +0000169993 00000 n +0000170157 00000 n +0000170321 00000 n +0000170480 00000 n +0000170639 00000 n +0000170802 00000 n +0000170965 00000 n +0000171128 00000 n +0000171291 00000 n +0000171457 00000 n +0000171623 00000 n +0000171792 00000 n +0000171961 00000 n +0000172121 00000 n +0000172283 00000 n +0000172440 00000 n +0000172598 00000 n +0000172767 00000 n +0000172937 00000 n +0000173103 00000 n +0000173269 00000 n +0000173442 00000 n +0000173615 00000 n +0000173779 00000 n +0000173944 00000 n +0000174117 00000 n +0000174290 00000 n +0000174452 00000 n +0000174614 00000 n +0000174776 00000 n +0000174939 00000 n +0000175110 00000 n +0000175281 00000 n +0000175449 00000 n +0000175617 00000 n +0000175771 00000 n +0000175925 00000 n +0000176081 00000 n +0000176237 00000 n +0000176396 00000 n +0000176555 00000 n +0000176720 00000 n +0000176885 00000 n +0000177052 00000 n +0000177219 00000 n +0000177386 00000 n +0000177553 00000 n +0000177719 00000 n +0000518950 00000 n +0000522290 00000 n +0000522549 00000 n +0000523002 00000 n +0000527099 00000 n +0000527811 00000 n +0000528004 00000 n +0000528197 00000 n +0000531750 00000 n +0000533368 00000 n +0000536218 00000 n +0000536345 00000 n +0000536538 00000 n +0000537058 00000 n +0000541024 00000 n +0000544613 00000 n +0000545001 00000 n +0000545193 00000 n +0000545775 00000 n +0000549721 00000 n +0000550304 00000 n +0000550754 00000 n +0000556372 00000 n +0000557335 00000 n +0000560695 00000 n +0000561602 00000 n +0000565473 00000 n +0000566508 00000 n +0000571936 00000 n +0000574736 00000 n +0000574864 00000 n +0000575056 00000 n +0000585371 00000 n +0000585564 00000 n +0000586338 00000 n +0000586531 00000 n +0000589792 00000 n +0000590432 00000 n +0000590690 00000 n +0000590949 00000 n +0000595886 00000 n +0000601348 00000 n +0000605575 00000 n +0000609373 00000 n +0000609565 00000 n +0000609757 00000 n +0000610206 00000 n +0000252673 00000 n +0000236501 00000 n +0000178051 00000 n +0000252609 00000 n +0000237485 00000 n +0000237640 00000 n +0000237797 00000 n +0000237956 00000 n +0000238115 00000 n +0000238274 00000 n +0000238433 00000 n +0000238600 00000 n +0000238767 00000 n +0000238929 00000 n +0000239091 00000 n +0000239250 00000 n +0000239409 00000 n +0000239576 00000 n +0000239744 00000 n +0000239910 00000 n +0000240076 00000 n +0000240238 00000 n +0000240401 00000 n +0000240555 00000 n +0000240710 00000 n +0000240872 00000 n +0000241034 00000 n +0000241195 00000 n +0000241356 00000 n +0000241529 00000 n +0000241702 00000 n +0000241871 00000 n +0000242040 00000 n +0000242210 00000 n +0000242380 00000 n +0000242537 00000 n +0000242695 00000 n +0000242849 00000 n +0000243004 00000 n +0000243161 00000 n +0000243319 00000 n +0000243480 00000 n +0000243642 00000 n +0000243809 00000 n +0000243976 00000 n +0000244134 00000 n +0000244292 00000 n +0000244451 00000 n +0000244610 00000 n +0000244767 00000 n +0000244924 00000 n +0000245082 00000 n +0000245240 00000 n +0000245408 00000 n +0000245576 00000 n +0000245737 00000 n +0000245898 00000 n +0000246057 00000 n +0000246216 00000 n +0000246374 00000 n +0000246532 00000 n +0000246692 00000 n +0000246852 00000 n +0000247011 00000 n +0000247170 00000 n +0000247325 00000 n +0000247481 00000 n +0000247641 00000 n +0000247802 00000 n +0000247967 00000 n +0000248132 00000 n +0000248298 00000 n +0000248464 00000 n +0000248632 00000 n +0000248800 00000 n +0000248958 00000 n +0000249117 00000 n +0000249279 00000 n +0000249441 00000 n +0000249607 00000 n +0000249773 00000 n +0000249938 00000 n +0000250105 00000 n +0000250258 00000 n +0000250412 00000 n +0000250564 00000 n +0000250717 00000 n +0000250870 00000 n +0000251024 00000 n +0000251185 00000 n +0000251346 00000 n +0000251503 00000 n +0000251660 00000 n +0000251824 00000 n +0000251988 00000 n +0000252140 00000 n +0000252292 00000 n +0000252450 00000 n +0000613103 00000 n +0000613231 00000 n +0000613552 00000 n +0000613680 00000 n +0000614198 00000 n +0000618752 00000 n +0000626098 00000 n +0000626356 00000 n +0000630279 00000 n +0000630794 00000 n +0000635690 00000 n +0000636660 00000 n +0000640884 00000 n +0000641268 00000 n +0000646056 00000 n +0000652826 00000 n +0000654321 00000 n +0000655028 00000 n +0000658761 00000 n +0000659152 00000 n +0000661035 00000 n +0000663451 00000 n +0000664614 00000 n +0000665458 00000 n +0000665650 00000 n +0000669653 00000 n +0000670108 00000 n +0000670562 00000 n +0000670819 00000 n +0000682074 00000 n +0000682724 00000 n +0000686786 00000 n +0000687235 00000 n +0000692060 00000 n +0000692251 00000 n +0000692444 00000 n +0000692703 00000 n +0000693023 00000 n +0000696357 00000 n +0000696614 00000 n +0000697773 00000 n +0000702832 00000 n +0000703992 00000 n +0000708896 00000 n +0000714820 00000 n +0000717665 00000 n +0000717858 00000 n +0000328142 00000 n +0000311928 00000 n +0000252761 00000 n +0000328078 00000 n +0000312912 00000 n +0000313065 00000 n +0000313220 00000 n +0000313378 00000 n +0000313537 00000 n +0000313701 00000 n +0000313865 00000 n +0000314033 00000 n +0000314201 00000 n +0001059544 00000 n +0001039357 00000 n +0001059369 00000 n +0000314367 00000 n +0000314533 00000 n +0000314698 00000 n +0000314864 00000 n +0000315036 00000 n +0000315208 00000 n +0000315372 00000 n +0000315537 00000 n +0000315710 00000 n +0000315883 00000 n +0000316035 00000 n +0000316188 00000 n +0000316346 00000 n +0000316505 00000 n +0000316661 00000 n +0000316818 00000 n +0000316973 00000 n +0000317129 00000 n +0000317285 00000 n +0000317442 00000 n +0000317594 00000 n +0000317747 00000 n +0000317900 00000 n +0000318053 00000 n +0000318209 00000 n +0000318365 00000 n +0000318521 00000 n +0000318677 00000 n +0000318839 00000 n +0000319001 00000 n +0000319160 00000 n +0000319319 00000 n +0000319482 00000 n +0000319645 00000 n +0000319797 00000 n +0000319949 00000 n +0000320115 00000 n +0000320281 00000 n +0000320438 00000 n +0000320596 00000 n +0000320754 00000 n +0000320913 00000 n +0000321072 00000 n +0000321231 00000 n +0000321389 00000 n +0000321548 00000 n +0000321707 00000 n +0000321866 00000 n +0000322030 00000 n +0000322194 00000 n +0000322356 00000 n +0000322519 00000 n +0000322686 00000 n +0000322853 00000 n +0000323021 00000 n +0000323189 00000 n +0000323353 00000 n +0000323517 00000 n +0000323687 00000 n +0000323857 00000 n +0000324029 00000 n +0000324201 00000 n +0000324360 00000 n +0000324520 00000 n +0000324672 00000 n +0000324824 00000 n +0000324982 00000 n +0000325140 00000 n +0000325303 00000 n +0000325466 00000 n +0000325628 00000 n +0000325790 00000 n +0000325949 00000 n +0000326109 00000 n +0000326271 00000 n +0000326434 00000 n +0000326600 00000 n +0000326766 00000 n +0000326930 00000 n +0000327094 00000 n +0000327255 00000 n +0000327416 00000 n +0000327581 00000 n +0000327746 00000 n +0000327912 00000 n +0000721762 00000 n +0000722082 00000 n +0000722211 00000 n +0000722404 00000 n +0000723576 00000 n +0000723834 00000 n +0000726829 00000 n +0000733496 00000 n +0000733624 00000 n +0000736934 00000 n +0000737062 00000 n +0000737451 00000 n +0000742791 00000 n +0000750215 00000 n +0000748468 00000 n +0000802080 00000 n +0000805944 00000 n +0000806200 00000 n +0000810095 00000 n +0000810611 00000 n +0000811066 00000 n +0000811258 00000 n +0000815149 00000 n +0000815666 00000 n +0000815795 00000 n +0000821162 00000 n +0000821484 00000 n +0000825102 00000 n +0000825486 00000 n +0000825678 00000 n +0000828228 00000 n +0000828420 00000 n +0000828611 00000 n +0000828804 00000 n +0000829061 00000 n +0000829254 00000 n +0000829447 00000 n +0000832203 00000 n +0000832460 00000 n +0000832653 00000 n +0000832975 00000 n +0000836546 00000 n +0000836739 00000 n +0000838281 00000 n +0000847087 00000 n +0000847280 00000 n +0000847605 00000 n +0000402107 00000 n +0000386327 00000 n +0000328258 00000 n +0000402043 00000 n +0000387293 00000 n +0000387449 00000 n +0000387606 00000 n +0000387761 00000 n +0000387916 00000 n +0000388070 00000 n +0000388224 00000 n +0000388376 00000 n +0000388528 00000 n +0000388693 00000 n +0000388858 00000 n +0000389010 00000 n +0000389163 00000 n +0000389316 00000 n +0000389470 00000 n +0000389634 00000 n +0000389798 00000 n +0000389962 00000 n +0000390126 00000 n +0000390287 00000 n +0000390448 00000 n +0000390600 00000 n +0000390752 00000 n +0000390912 00000 n +0000391073 00000 n +0000391230 00000 n +0000391388 00000 n +0000391545 00000 n +0000391703 00000 n +0000391864 00000 n +0000392026 00000 n +0000392191 00000 n +0000392356 00000 n +0000392519 00000 n +0000392682 00000 n +0000392843 00000 n +0000393004 00000 n +0000393168 00000 n +0000393332 00000 n +0000393497 00000 n +0000393662 00000 n +0000393830 00000 n +0000393998 00000 n +0000394168 00000 n +0000394339 00000 n +0000394495 00000 n +0000394652 00000 n +0000394813 00000 n +0000394975 00000 n +0000395136 00000 n +0000395298 00000 n +0000395460 00000 n +0000395623 00000 n +0000395785 00000 n +0000395948 00000 n +0000396109 00000 n +0000396271 00000 n +0000396435 00000 n +0000396600 00000 n +0000396767 00000 n +0000396935 00000 n +0000397092 00000 n +0000397250 00000 n +0000397418 00000 n +0000397587 00000 n +0000397740 00000 n +0000397894 00000 n +0000398048 00000 n +0000398203 00000 n +0000398365 00000 n +0000398528 00000 n +0000398701 00000 n +0000398875 00000 n +0000399049 00000 n +0000399224 00000 n +0000399394 00000 n +0000399565 00000 n +0000399734 00000 n +0000399904 00000 n +0000400054 00000 n +0000400206 00000 n +0000400358 00000 n +0000400511 00000 n +0000400664 00000 n +0000400818 00000 n +0000400971 00000 n +0000401125 00000 n +0000401278 00000 n +0000401432 00000 n +0000401584 00000 n +0000401738 00000 n +0000401890 00000 n +0001134536 00000 n +0000852996 00000 n +0000853188 00000 n +0000851714 00000 n +0000857084 00000 n +0000857532 00000 n +0000860312 00000 n +0000860952 00000 n +0000864798 00000 n +0000865119 00000 n +0000869071 00000 n +0000869776 00000 n +0000873797 00000 n +0000873925 00000 n +0000874247 00000 n +0000875087 00000 n +0000875344 00000 n +0000879272 00000 n +0000884476 00000 n +0000885252 00000 n +0000890077 00000 n +0000895819 00000 n +0000896076 00000 n +0000901769 00000 n +0000905219 00000 n +0000905411 00000 n +0000906125 00000 n +0000906575 00000 n +0000909307 00000 n +0000909949 00000 n +0000910727 00000 n +0000914838 00000 n +0000915223 00000 n +0000920318 00000 n +0000920575 00000 n +0000922593 00000 n +0000925498 00000 n +0000925628 00000 n +0000926658 00000 n +0000931638 00000 n +0000936571 00000 n +0000936890 00000 n +0000937208 00000 n +0000941206 00000 n +0000941464 00000 n +0000945381 00000 n +0000950576 00000 n +0000414998 00000 n +0000412512 00000 n +0000402223 00000 n +0000414934 00000 n +0000412776 00000 n +0000412929 00000 n +0000413083 00000 n +0000413236 00000 n +0000413390 00000 n +0000413542 00000 n +0000413695 00000 n +0000413847 00000 n +0000414000 00000 n +0000414154 00000 n +0000414309 00000 n +0000414465 00000 n +0000414623 00000 n +0000414778 00000 n +0000950898 00000 n +0000951155 00000 n +0000954212 00000 n +0000954406 00000 n +0000954600 00000 n +0000954922 00000 n +0000958888 00000 n +0000417647 00000 n +0000417039 00000 n +0000415100 00000 n +0000417520 00000 n +0000417195 00000 n +0000417357 00000 n +0000750540 00000 n +0000422010 00000 n +0000420178 00000 n +0000417749 00000 n +0000420730 00000 n +0000420794 00000 n +0000420858 00000 n +0000420325 00000 n +0000420922 00000 n +0000421114 00000 n +0000421177 00000 n +0000421241 00000 n +0000421431 00000 n +0000421495 00000 n +0000421559 00000 n +0000421625 00000 n +0000421689 00000 n +0000421754 00000 n +0000421946 00000 n +0000427596 00000 n +0000424166 00000 n +0000422112 00000 n +0000424292 00000 n +0000424356 00000 n +0000424420 00000 n +0000424486 00000 n +0000424550 00000 n +0000424615 00000 n +0000424679 00000 n +0000424745 00000 n +0000424809 00000 n +0000424874 00000 n +0000424938 00000 n +0000425004 00000 n +0000425068 00000 n +0000425133 00000 n +0000425196 00000 n +0000425262 00000 n +0000425326 00000 n +0000425391 00000 n +0000425455 00000 n +0000425521 00000 n +0000425585 00000 n +0000425650 00000 n +0000425714 00000 n +0000425780 00000 n +0000425844 00000 n +0000425909 00000 n +0000425973 00000 n +0000426039 00000 n +0000426103 00000 n +0000426168 00000 n +0000426232 00000 n +0000426297 00000 n +0000426363 00000 n +0000426429 00000 n +0000426495 00000 n +0000426561 00000 n +0000426627 00000 n +0000426693 00000 n +0000426759 00000 n +0000426825 00000 n +0000426889 00000 n +0000426955 00000 n +0000427021 00000 n +0000427085 00000 n +0000427277 00000 n +0000427341 00000 n +0000427405 00000 n +0000427468 00000 n +0000427532 00000 n +0001038293 00000 n +0001026080 00000 n +0001038119 00000 n +0000429360 00000 n +0000428926 00000 n +0000427726 00000 n +0000429073 00000 n +0000429233 00000 n +0000429297 00000 n +0000964940 00000 n +0000434976 00000 n +0000431755 00000 n +0000429504 00000 n 0000433502 00000 n -0000431771 00000 n -0000431930 00000 n 0000433566 00000 n 0000433630 00000 n -0000433694 00000 n +0001025320 00000 n +0001015301 00000 n +0001025142 00000 n +0000433696 00000 n +0000431965 00000 n +0000432124 00000 n 0000433760 00000 n 0000433824 00000 n -0000433887 00000 n -0000433949 00000 n -0000432086 00000 n -0000434013 00000 n -0000432245 00000 n -0000434077 00000 n -0000432407 00000 n -0000434141 00000 n -0000432571 00000 n -0000434205 00000 n -0000432732 00000 n -0000434269 00000 n -0000432896 00000 n -0000434333 00000 n -0000434524 00000 n -0000434588 00000 n -0000434652 00000 n -0000434716 00000 n -0001136396 00000 n -0000438386 00000 n -0000436526 00000 n -0000434926 00000 n -0000436779 00000 n -0000436970 00000 n -0000437034 00000 n -0000437098 00000 n -0000437162 00000 n +0000433888 00000 n +0000433954 00000 n +0000434018 00000 n +0000434081 00000 n +0000434143 00000 n +0000432280 00000 n +0000434207 00000 n +0000432439 00000 n +0000434271 00000 n +0000432601 00000 n +0000434335 00000 n +0000432765 00000 n +0000434399 00000 n +0000432926 00000 n +0000434463 00000 n +0000433090 00000 n +0000434527 00000 n +0000434718 00000 n +0000434782 00000 n +0000434846 00000 n +0000434910 00000 n +0001134661 00000 n +0000438580 00000 n +0000436720 00000 n +0000435120 00000 n +0000436973 00000 n +0000437164 00000 n 0000437228 00000 n 0000437292 00000 n 0000437356 00000 n 0000437422 00000 n -0000437488 00000 n -0000437680 00000 n -0000437744 00000 n -0000437808 00000 n -0000437872 00000 n +0000437486 00000 n +0000437550 00000 n +0000437616 00000 n +0000437682 00000 n +0000437874 00000 n 0000437938 00000 n -0000438130 00000 n -0000438192 00000 n -0000438256 00000 n -0000438320 00000 n -0000443666 00000 n -0000441190 00000 n -0000438516 00000 n -0000441664 00000 n -0000441856 00000 n -0000441920 00000 n -0000441346 00000 n -0000441984 00000 n +0000438002 00000 n +0000438066 00000 n +0000438132 00000 n +0000438324 00000 n +0000438386 00000 n +0000438450 00000 n +0000438514 00000 n +0000443860 00000 n +0000441384 00000 n +0000438710 00000 n +0000441858 00000 n 0000442050 00000 n 0000442114 00000 n +0000441540 00000 n +0000442178 00000 n +0000442244 00000 n 0000442308 00000 n -0000442372 00000 n -0000442436 00000 n 0000442502 00000 n -0000442568 00000 n -0000442634 00000 n -0000442698 00000 n -0000442764 00000 n -0000442829 00000 n -0000442894 00000 n +0000442566 00000 n +0000442630 00000 n +0000442696 00000 n +0000442762 00000 n +0000442828 00000 n +0000442892 00000 n 0000442958 00000 n -0000443150 00000 n -0000443214 00000 n -0000441503 00000 n -0000443280 00000 n +0000443023 00000 n +0000443088 00000 n +0000443152 00000 n 0000443344 00000 n -0000443410 00000 n +0000443408 00000 n +0000441697 00000 n 0000443474 00000 n 0000443538 00000 n -0000443602 00000 n -0000966757 00000 n -0000450402 00000 n -0000446284 00000 n +0000443604 00000 n +0000443668 00000 n +0000443732 00000 n 0000443796 00000 n -0000447310 00000 n -0000447374 00000 n -0000446467 00000 n -0000446632 00000 n -0000447440 00000 n -0000447504 00000 n -0000447568 00000 n -0000447632 00000 n -0000447696 00000 n -0000447762 00000 n +0000965326 00000 n +0000450598 00000 n +0000446480 00000 n +0000443990 00000 n +0000447506 00000 n +0000447570 00000 n +0000446663 00000 n +0000446828 00000 n +0000447636 00000 n +0000447700 00000 n +0000447764 00000 n 0000447828 00000 n -0000447893 00000 n -0000447957 00000 n -0000448023 00000 n -0000448087 00000 n -0000448150 00000 n -0000448216 00000 n -0000448279 00000 n -0000448344 00000 n -0000448408 00000 n -0000448472 00000 n -0000448536 00000 n -0000448601 00000 n -0000448664 00000 n -0000448729 00000 n -0000448793 00000 n -0000448858 00000 n -0000448922 00000 n -0000446805 00000 n -0000448986 00000 n -0000449050 00000 n -0000449115 00000 n -0000449179 00000 n -0000449244 00000 n -0000449308 00000 n -0000449373 00000 n -0000449437 00000 n -0000449501 00000 n -0000449565 00000 n -0000449630 00000 n -0000449692 00000 n -0000449757 00000 n -0000449821 00000 n -0000449886 00000 n -0000449950 00000 n -0000446977 00000 n -0000450014 00000 n -0000450078 00000 n -0000450143 00000 n -0000450209 00000 n -0000450273 00000 n -0000447148 00000 n -0000450338 00000 n -0000457343 00000 n -0000452963 00000 n -0000450546 00000 n -0000454186 00000 n -0000454251 00000 n -0000454315 00000 n -0000453155 00000 n -0000454380 00000 n -0000454444 00000 n -0000453329 00000 n -0000454509 00000 n -0000454573 00000 n -0000453499 00000 n -0000454638 00000 n -0000454702 00000 n -0000453669 00000 n -0000454767 00000 n -0000454831 00000 n -0000454896 00000 n -0000454960 00000 n -0000455025 00000 n -0000455089 00000 n -0000453840 00000 n -0000455154 00000 n -0000455218 00000 n -0000455283 00000 n -0000455347 00000 n -0000455412 00000 n -0000455476 00000 n -0000455541 00000 n -0000455605 00000 n -0000454014 00000 n -0000455670 00000 n -0000455734 00000 n -0000455799 00000 n -0000455863 00000 n -0000455928 00000 n -0000455992 00000 n -0000456057 00000 n -0000456121 00000 n -0000456186 00000 n -0000456250 00000 n -0000456315 00000 n -0000456379 00000 n -0000456444 00000 n -0000456508 00000 n -0000456573 00000 n -0000456637 00000 n -0000456702 00000 n -0000456766 00000 n -0000456960 00000 n -0000457024 00000 n -0000457215 00000 n -0000461130 00000 n -0000459078 00000 n -0000457445 00000 n -0000459268 00000 n -0000459332 00000 n -0000459396 00000 n -0000459460 00000 n -0000459525 00000 n -0000459590 00000 n -0000459655 00000 n -0000459718 00000 n -0000459784 00000 n -0000459976 00000 n -0000460168 00000 n -0000460359 00000 n -0000460552 00000 n -0000460616 00000 n -0000460810 00000 n -0000461002 00000 n -0000466275 00000 n -0000463870 00000 n -0000461260 00000 n -0000464338 00000 n -0000464402 00000 n -0000464531 00000 n -0000464595 00000 n -0000464659 00000 n -0000464723 00000 n -0000464787 00000 n -0000464026 00000 n -0000464853 00000 n -0000464917 00000 n -0000464981 00000 n -0000465045 00000 n -0000465237 00000 n -0000465301 00000 n -0000465366 00000 n -0000465432 00000 n -0000465498 00000 n +0000447892 00000 n +0000447958 00000 n +0000448024 00000 n +0000448089 00000 n +0000448153 00000 n +0000448219 00000 n +0000448283 00000 n +0000448346 00000 n +0000448412 00000 n +0000448475 00000 n +0000448540 00000 n +0000448604 00000 n +0000448668 00000 n +0000448732 00000 n +0000448797 00000 n +0000448860 00000 n +0000448925 00000 n +0000448989 00000 n +0000449054 00000 n +0000449118 00000 n +0000447001 00000 n +0000449182 00000 n +0000449246 00000 n +0000449311 00000 n +0000449375 00000 n +0000449440 00000 n +0000449504 00000 n +0000449569 00000 n +0000449633 00000 n +0000449697 00000 n +0000449761 00000 n +0000449826 00000 n +0000449888 00000 n +0000449953 00000 n +0000450017 00000 n +0000450082 00000 n +0000450146 00000 n +0000447173 00000 n +0000450210 00000 n +0000450274 00000 n +0000450339 00000 n +0000450405 00000 n +0000450469 00000 n +0000447344 00000 n +0000450534 00000 n +0000457539 00000 n +0000453159 00000 n +0000450742 00000 n +0000454382 00000 n +0000454447 00000 n +0000454511 00000 n +0000453351 00000 n +0000454576 00000 n +0000454640 00000 n +0000453525 00000 n +0000454705 00000 n +0000454769 00000 n +0000453695 00000 n +0000454834 00000 n +0000454898 00000 n +0000453865 00000 n +0000454963 00000 n +0000455027 00000 n +0000455092 00000 n +0000455156 00000 n +0000455221 00000 n +0000455285 00000 n +0000454036 00000 n +0000455350 00000 n +0000455414 00000 n +0000455479 00000 n +0000455543 00000 n +0000455608 00000 n +0000455672 00000 n +0000455737 00000 n +0000455801 00000 n +0000454210 00000 n +0000455866 00000 n +0000455930 00000 n +0000455995 00000 n +0000456059 00000 n +0000456124 00000 n +0000456188 00000 n +0000456253 00000 n +0000456317 00000 n +0000456382 00000 n +0000456446 00000 n +0000456511 00000 n +0000456575 00000 n +0000456640 00000 n +0000456704 00000 n +0000456769 00000 n +0000456833 00000 n +0000456898 00000 n +0000456962 00000 n +0000457156 00000 n +0000457220 00000 n +0000457411 00000 n +0000461326 00000 n +0000459274 00000 n +0000457641 00000 n +0000459464 00000 n +0000459528 00000 n +0000459592 00000 n +0000459656 00000 n +0000459721 00000 n +0000459786 00000 n +0000459851 00000 n +0000459914 00000 n +0000459980 00000 n +0000460172 00000 n +0000460364 00000 n +0000460555 00000 n +0000460748 00000 n +0000460812 00000 n +0000461006 00000 n +0000461198 00000 n +0000466471 00000 n +0000464066 00000 n +0000461456 00000 n +0000464534 00000 n +0000464598 00000 n +0000464727 00000 n +0000464791 00000 n +0000464855 00000 n +0000464919 00000 n +0000464983 00000 n +0000464222 00000 n +0000465049 00000 n +0000465113 00000 n +0000465177 00000 n +0000465241 00000 n +0000465433 00000 n +0000465497 00000 n 0000465562 00000 n 0000465628 00000 n -0000465822 00000 n -0000465886 00000 n -0000464183 00000 n -0000466080 00000 n -0000466143 00000 n -0000466209 00000 n -0001136521 00000 n -0000471510 00000 n -0000468973 00000 n +0000465694 00000 n +0000465758 00000 n +0000465824 00000 n +0000466018 00000 n +0000466082 00000 n +0000464379 00000 n +0000466276 00000 n +0000466339 00000 n 0000466405 00000 n -0000469763 00000 n -0000469827 00000 n -0000469891 00000 n -0000469955 00000 n -0000470019 00000 n -0000470085 00000 n -0000470147 00000 n -0000470213 00000 n -0000470277 00000 n -0000470341 00000 n -0000470407 00000 n -0000470471 00000 n +0001134786 00000 n +0000471706 00000 n +0000469169 00000 n +0000466601 00000 n +0000469959 00000 n +0000470023 00000 n +0000470087 00000 n +0000470151 00000 n +0000470215 00000 n +0000470281 00000 n +0000470343 00000 n +0000470409 00000 n +0000470473 00000 n 0000470537 00000 n 0000470603 00000 n -0000470669 00000 n +0000470667 00000 n 0000470733 00000 n 0000470799 00000 n -0000469147 00000 n -0000470864 00000 n -0000470928 00000 n -0000471123 00000 n -0000469300 00000 n -0000469451 00000 n -0000469609 00000 n -0000471316 00000 n -0000471380 00000 n -0000476432 00000 n -0000474116 00000 n -0000471654 00000 n -0000474422 00000 n -0000474551 00000 n -0000474614 00000 n -0000474680 00000 n -0000474746 00000 n -0000474812 00000 n -0000474878 00000 n -0000474943 00000 n -0000475009 00000 n +0000470865 00000 n +0000470929 00000 n +0000470995 00000 n +0000469343 00000 n +0000471060 00000 n +0000471124 00000 n +0000471319 00000 n +0000469496 00000 n +0000469647 00000 n +0000469805 00000 n +0000471512 00000 n +0000471576 00000 n +0000476628 00000 n +0000474312 00000 n +0000471850 00000 n +0000474618 00000 n +0000474747 00000 n +0000474810 00000 n +0000474876 00000 n +0000474942 00000 n +0000475008 00000 n 0000475074 00000 n -0000475140 00000 n -0000475269 00000 n -0000475332 00000 n -0000475396 00000 n -0000475462 00000 n -0000475526 00000 n -0000475655 00000 n -0000475719 00000 n -0000475783 00000 n -0000475849 00000 n -0000475913 00000 n -0000475976 00000 n -0000476042 00000 n -0000476171 00000 n -0000476235 00000 n -0000476300 00000 n -0001016458 00000 n -0001006476 00000 n -0001016279 00000 n -0000476366 00000 n -0000474263 00000 n -0000481811 00000 n -0000478860 00000 n -0000476590 00000 n -0000479166 00000 n -0000479230 00000 n -0000479294 00000 n -0000479360 00000 n +0000475139 00000 n +0000475205 00000 n +0000475270 00000 n +0000475336 00000 n +0000475465 00000 n +0000475528 00000 n +0000475592 00000 n +0000475658 00000 n +0000475722 00000 n +0000475851 00000 n +0000475915 00000 n +0000475979 00000 n +0000476045 00000 n +0000476109 00000 n +0000476172 00000 n +0000476238 00000 n +0000476367 00000 n +0000476431 00000 n +0000476496 00000 n +0001014723 00000 n +0001004741 00000 n +0001014544 00000 n +0000476562 00000 n +0000474459 00000 n +0000482007 00000 n +0000479056 00000 n +0000476786 00000 n +0000479362 00000 n 0000479426 00000 n -0000479492 00000 n -0000479558 00000 n -0000479624 00000 n +0000479490 00000 n +0000479556 00000 n +0000479622 00000 n 0000479688 00000 n 0000479754 00000 n -0000479818 00000 n -0000479883 00000 n -0000479949 00000 n -0000480013 00000 n -0000480142 00000 n -0000480206 00000 n -0000480269 00000 n -0000480335 00000 n -0000480396 00000 n -0000480457 00000 n -0000480521 00000 n -0000480586 00000 n -0000480652 00000 n +0000479820 00000 n +0000479884 00000 n +0000479950 00000 n +0000480014 00000 n +0000480079 00000 n +0000480145 00000 n +0000480209 00000 n +0000480338 00000 n +0000480402 00000 n +0000480465 00000 n +0000480531 00000 n +0000480592 00000 n +0000480653 00000 n 0000480717 00000 n -0000480781 00000 n -0000480845 00000 n -0000481035 00000 n -0000481164 00000 n -0000481227 00000 n -0000481293 00000 n -0000481359 00000 n -0000479007 00000 n -0000481425 00000 n +0000480782 00000 n +0000480848 00000 n +0000480913 00000 n +0000480977 00000 n +0000481041 00000 n +0000481231 00000 n +0000481360 00000 n +0000481423 00000 n 0000481489 00000 n -0000481553 00000 n -0000481618 00000 n -0000481682 00000 n -0000481746 00000 n -0000486755 00000 n -0000484231 00000 n -0000481983 00000 n -0000484357 00000 n -0000484421 00000 n -0000484485 00000 n -0000484549 00000 n -0000484615 00000 n +0000481555 00000 n +0000479203 00000 n +0000481621 00000 n +0000481685 00000 n +0000481749 00000 n +0000481814 00000 n +0000481878 00000 n +0000481942 00000 n +0000486951 00000 n +0000484427 00000 n +0000482179 00000 n +0000484553 00000 n +0000484617 00000 n 0000484681 00000 n -0000484810 00000 n -0000484874 00000 n -0000484940 00000 n +0000484745 00000 n +0000484811 00000 n +0000484877 00000 n 0000485006 00000 n 0000485070 00000 n -0000485134 00000 n -0000485198 00000 n -0000485261 00000 n -0000485327 00000 n -0000485391 00000 n +0000485136 00000 n +0000485202 00000 n +0000485266 00000 n +0000485330 00000 n +0000485394 00000 n 0000485457 00000 n 0000485523 00000 n -0000485718 00000 n -0000485846 00000 n -0000485910 00000 n -0000485974 00000 n -0000486040 00000 n -0000486104 00000 n -0000486169 00000 n -0000486235 00000 n -0000486363 00000 n -0000486427 00000 n -0000486493 00000 n +0000485587 00000 n +0000485653 00000 n +0000485719 00000 n +0000485914 00000 n +0000486042 00000 n +0000486106 00000 n +0000486170 00000 n +0000486236 00000 n +0000486300 00000 n +0000486365 00000 n +0000486431 00000 n 0000486559 00000 n -0000486625 00000 n +0000486623 00000 n 0000486689 00000 n -0000491831 00000 n -0000489161 00000 n -0000486899 00000 n -0000489833 00000 n -0000489897 00000 n -0000490026 00000 n -0000490090 00000 n -0000490156 00000 n -0000490219 00000 n -0000490410 00000 n -0000490473 00000 n -0000490539 00000 n -0000490603 00000 n -0000490667 00000 n -0000490731 00000 n -0000490926 00000 n -0000490990 00000 n -0000489326 00000 n -0000491055 00000 n -0000491250 00000 n -0000489498 00000 n -0000489665 00000 n -0000491314 00000 n -0000491443 00000 n -0000491507 00000 n -0000491571 00000 n -0000491635 00000 n -0000491701 00000 n +0000486755 00000 n +0000486821 00000 n +0000486885 00000 n +0000492027 00000 n +0000489357 00000 n +0000487095 00000 n +0000490029 00000 n +0000490093 00000 n +0000490222 00000 n +0000490286 00000 n +0000490352 00000 n +0000490415 00000 n +0000490606 00000 n +0000490669 00000 n +0000490735 00000 n +0000490799 00000 n +0000490863 00000 n +0000490927 00000 n +0000491122 00000 n +0000491186 00000 n +0000489522 00000 n +0000491251 00000 n +0000491446 00000 n +0000489694 00000 n +0000489861 00000 n +0000491510 00000 n +0000491639 00000 n +0000491703 00000 n 0000491767 00000 n -0000496704 00000 n -0000497544 00000 n -0000494771 00000 n -0000491961 00000 n -0000495076 00000 n -0000495140 00000 n -0000495204 00000 n -0000495270 00000 n +0000491831 00000 n +0000491897 00000 n +0000491963 00000 n +0000496900 00000 n +0000497740 00000 n +0000494967 00000 n +0000492157 00000 n +0000495272 00000 n 0000495336 00000 n 0000495400 00000 n 0000495466 00000 n -0000495531 00000 n -0000495595 00000 n -0000495659 00000 n -0000495725 00000 n -0000495790 00000 n -0000495854 00000 n -0000494918 00000 n -0000495920 00000 n -0000495985 00000 n +0000495532 00000 n +0000495596 00000 n +0000495662 00000 n +0000495727 00000 n +0000495791 00000 n +0000495855 00000 n +0000495921 00000 n +0000495986 00000 n 0000496050 00000 n +0000495114 00000 n 0000496116 00000 n -0000496182 00000 n -0000496248 00000 n -0000496314 00000 n -0000496380 00000 n +0000496181 00000 n +0000496246 00000 n +0000496312 00000 n +0000496378 00000 n 0000496444 00000 n 0000496510 00000 n 0000496576 00000 n 0000496640 00000 n -0000496833 00000 n -0000496897 00000 n -0000496960 00000 n -0000497024 00000 n -0000497090 00000 n +0000496706 00000 n +0000496772 00000 n +0000496836 00000 n +0000497029 00000 n +0000497093 00000 n 0000497156 00000 n 0000497220 00000 n -0000497284 00000 n -0000497348 00000 n -0000497414 00000 n +0000497286 00000 n +0000497352 00000 n +0000497416 00000 n 0000497480 00000 n -0001136646 00000 n -0000503874 00000 n -0000501004 00000 n -0000497702 00000 n -0000501130 00000 n -0000501194 00000 n -0000501260 00000 n +0000497544 00000 n +0000497610 00000 n +0000497676 00000 n +0001134911 00000 n +0000504070 00000 n +0000501200 00000 n +0000497898 00000 n 0000501326 00000 n 0000501390 00000 n -0000501455 00000 n -0000501521 00000 n -0000501587 00000 n -0000501653 00000 n -0000501719 00000 n -0000501785 00000 n +0000501456 00000 n +0000501522 00000 n +0000501586 00000 n +0000501651 00000 n +0000501717 00000 n +0000501783 00000 n 0000501849 00000 n -0000501913 00000 n -0000501977 00000 n -0000502043 00000 n -0000502107 00000 n +0000501915 00000 n +0000501981 00000 n +0000502045 00000 n +0000502109 00000 n 0000502173 00000 n -0000502237 00000 n +0000502239 00000 n 0000502303 00000 n 0000502369 00000 n -0000502435 00000 n +0000502433 00000 n 0000502499 00000 n 0000502565 00000 n 0000502631 00000 n 0000502695 00000 n 0000502761 00000 n -0000502825 00000 n -0000503020 00000 n -0000503084 00000 n -0000503150 00000 n +0000502827 00000 n +0000502891 00000 n +0000502957 00000 n +0000503021 00000 n 0000503216 00000 n -0000503282 00000 n -0000503348 00000 n -0000503414 00000 n -0000503480 00000 n -0000503546 00000 n -0000503612 00000 n +0000503280 00000 n +0000503346 00000 n +0000503412 00000 n +0000503478 00000 n +0000503544 00000 n +0000503610 00000 n 0000503676 00000 n 0000503742 00000 n 0000503808 00000 n -0000509578 00000 n -0000506617 00000 n -0000504032 00000 n -0000507444 00000 n -0000507508 00000 n -0000507572 00000 n -0000507636 00000 n -0000507702 00000 n -0000507766 00000 n -0000507830 00000 n -0000507894 00000 n -0000507958 00000 n -0000508022 00000 n -0000508086 00000 n -0000508152 00000 n +0000503872 00000 n +0000503938 00000 n +0000504004 00000 n +0000509774 00000 n +0000506813 00000 n +0000504228 00000 n +0000507640 00000 n +0000507704 00000 n +0000507768 00000 n +0000507832 00000 n +0000507898 00000 n +0000507962 00000 n +0000508026 00000 n +0000508090 00000 n +0000508154 00000 n 0000508218 00000 n 0000508282 00000 n -0000508345 00000 n -0000508411 00000 n -0000506791 00000 n -0000508606 00000 n -0000508670 00000 n -0000506964 00000 n -0000508736 00000 n -0000508800 00000 n -0000508864 00000 n -0000508928 00000 n -0000507127 00000 n -0000508994 00000 n +0000508348 00000 n +0000508414 00000 n +0000508478 00000 n +0000508541 00000 n +0000508607 00000 n +0000506987 00000 n +0000508802 00000 n +0000508866 00000 n +0000507160 00000 n +0000508932 00000 n +0000508996 00000 n 0000509060 00000 n -0000509126 00000 n -0000509192 00000 n -0000509258 00000 n -0000507285 00000 n -0000509450 00000 n -0000513875 00000 n -0000511771 00000 n -0000509736 00000 n -0000512072 00000 n -0000512136 00000 n -0000512265 00000 n -0000512329 00000 n -0001005797 00000 n -0000990084 00000 n -0001005622 00000 n -0000512395 00000 n -0000512459 00000 n +0000509124 00000 n +0000507323 00000 n +0000509190 00000 n +0000509256 00000 n +0000509322 00000 n +0000509388 00000 n +0000509454 00000 n +0000507481 00000 n +0000509646 00000 n +0000514071 00000 n +0000511967 00000 n +0000509932 00000 n +0000512268 00000 n +0000512332 00000 n +0000512461 00000 n 0000512525 00000 n -0000512589 00000 n -0000512653 00000 n -0000512716 00000 n -0000512780 00000 n -0000512975 00000 n -0000513039 00000 n -0000513103 00000 n -0000513167 00000 n -0000513231 00000 n -0000513295 00000 n -0000513490 00000 n -0000511918 00000 n -0000513554 00000 n -0000513618 00000 n -0000513682 00000 n -0000513746 00000 n -0000513810 00000 n -0000518818 00000 n -0000516547 00000 n -0000514019 00000 n -0000516673 00000 n -0000516865 00000 n -0000516929 00000 n -0000516995 00000 n +0001004062 00000 n +0000988350 00000 n +0001003887 00000 n +0000512591 00000 n +0000512655 00000 n +0000512721 00000 n +0000512785 00000 n +0000512849 00000 n +0000512912 00000 n +0000512976 00000 n +0000513171 00000 n +0000513235 00000 n +0000513299 00000 n +0000513363 00000 n +0000513427 00000 n +0000513491 00000 n +0000513686 00000 n +0000512114 00000 n +0000513750 00000 n +0000513814 00000 n +0000513878 00000 n +0000513942 00000 n +0000514006 00000 n +0000519014 00000 n +0000516743 00000 n +0000514215 00000 n +0000516869 00000 n 0000517061 00000 n -0000517127 00000 n -0000517193 00000 n -0000517259 00000 n +0000517125 00000 n +0000517191 00000 n +0000517257 00000 n 0000517323 00000 n 0000517389 00000 n 0000517455 00000 n 0000517519 00000 n -0000517583 00000 n -0000517776 00000 n -0000517840 00000 n -0000517906 00000 n +0000517585 00000 n +0000517651 00000 n +0000517715 00000 n +0000517779 00000 n 0000517972 00000 n -0000518038 00000 n -0000518104 00000 n -0000518170 00000 n +0000518036 00000 n +0000518102 00000 n +0000518168 00000 n 0000518234 00000 n -0000518298 00000 n -0000518364 00000 n +0000518300 00000 n +0000518366 00000 n 0000518430 00000 n -0000518496 00000 n -0000518562 00000 n +0000518494 00000 n +0000518560 00000 n 0000518626 00000 n -0000518690 00000 n -0000523636 00000 n -0000521294 00000 n -0000518962 00000 n -0000521771 00000 n -0000521900 00000 n -0000521964 00000 n -0000522028 00000 n -0000522223 00000 n -0000522287 00000 n -0000522482 00000 n -0000522546 00000 n -0000522612 00000 n +0000518692 00000 n +0000518758 00000 n +0000518822 00000 n +0000518886 00000 n +0000523832 00000 n +0000521490 00000 n +0000519158 00000 n +0000521967 00000 n +0000522096 00000 n +0000522160 00000 n +0000522224 00000 n +0000522419 00000 n +0000522483 00000 n 0000522678 00000 n 0000522742 00000 n -0000522935 00000 n -0000521450 00000 n -0000521616 00000 n -0000522999 00000 n -0000523063 00000 n -0000523128 00000 n -0000523191 00000 n -0000523255 00000 n -0000523319 00000 n -0000523383 00000 n -0000523446 00000 n -0000523509 00000 n -0000523573 00000 n -0000976112 00000 n -0000528065 00000 n -0000525907 00000 n -0000523780 00000 n -0000526388 00000 n -0000526452 00000 n -0000526516 00000 n -0000526580 00000 n -0000526645 00000 n -0000526709 00000 n -0000526774 00000 n -0000526839 00000 n -0000527032 00000 n -0000526063 00000 n -0000526236 00000 n -0000527096 00000 n -0000527160 00000 n -0000527224 00000 n -0000527290 00000 n -0000527355 00000 n -0000527419 00000 n -0000527485 00000 n -0000527549 00000 n -0000527744 00000 n -0000527937 00000 n -0001136771 00000 n -0000533706 00000 n -0000531100 00000 n -0000528209 00000 n -0000531571 00000 n -0000531700 00000 n -0000531764 00000 n -0000531830 00000 n -0000531256 00000 n -0000532023 00000 n -0000532087 00000 n -0000532151 00000 n -0000532216 00000 n -0000532282 00000 n -0000532345 00000 n -0000532410 00000 n -0000531414 00000 n -0000532474 00000 n -0000532538 00000 n -0000532602 00000 n -0000532668 00000 n -0000532734 00000 n -0000532799 00000 n -0000532865 00000 n -0000532931 00000 n -0000532997 00000 n -0000533063 00000 n -0000533127 00000 n -0000533192 00000 n -0000987855 00000 n -0000985359 00000 n -0000987686 00000 n -0000533255 00000 n -0000533319 00000 n -0000533383 00000 n -0000533447 00000 n -0000533642 00000 n -0000967400 00000 n -0000537696 00000 n -0000535970 00000 n -0000533850 00000 n -0000536276 00000 n -0000536340 00000 n -0000536404 00000 n -0000536727 00000 n -0000536117 00000 n -0000536920 00000 n -0000536984 00000 n -0000537048 00000 n -0000537114 00000 n -0000537179 00000 n -0000537245 00000 n -0000537439 00000 n -0000537568 00000 n -0000537632 00000 n -0000541234 00000 n -0000539555 00000 n -0000537840 00000 n -0000539681 00000 n -0000539745 00000 n -0000539809 00000 n -0000539938 00000 n -0000540002 00000 n -0000540068 00000 n -0000540134 00000 n -0000540263 00000 n -0000540327 00000 n -0000540391 00000 n -0000540457 00000 n -0000540523 00000 n -0000540587 00000 n -0000540650 00000 n -0000540716 00000 n -0000540781 00000 n -0000540845 00000 n -0000540911 00000 n -0000540975 00000 n -0000541039 00000 n -0000541104 00000 n -0000545572 00000 n -0000543434 00000 n -0000541406 00000 n -0000543560 00000 n -0000543689 00000 n -0000543752 00000 n -0000543818 00000 n -0000543884 00000 n -0000543950 00000 n -0000544016 00000 n -0000544081 00000 n -0000544147 00000 n -0000544213 00000 n -0000544279 00000 n -0000544345 00000 n -0000544409 00000 n -0000544604 00000 n -0000544666 00000 n -0000544731 00000 n -0000544797 00000 n -0000544992 00000 n -0000545185 00000 n -0000545249 00000 n -0000545315 00000 n -0000545379 00000 n -0000545443 00000 n -0000545507 00000 n -0000550314 00000 n -0000548306 00000 n -0000545730 00000 n -0000548628 00000 n -0000548692 00000 n -0000548887 00000 n -0000548951 00000 n -0000549017 00000 n -0000548453 00000 n -0000549083 00000 n -0000549149 00000 n -0000549213 00000 n -0000549279 00000 n -0000549344 00000 n -0000549539 00000 n -0000549603 00000 n -0000549667 00000 n -0000549733 00000 n -0000549799 00000 n -0000549865 00000 n -0000549929 00000 n -0000550122 00000 n -0000550186 00000 n -0000550250 00000 n -0000556266 00000 n -0000553070 00000 n -0000550458 00000 n -0000553876 00000 n -0000553940 00000 n -0000554004 00000 n -0000554200 00000 n -0000554264 00000 n -0000554328 00000 n -0000554391 00000 n -0000554456 00000 n -0000554522 00000 n -0000554586 00000 n -0000553244 00000 n -0000554651 00000 n -0000554715 00000 n -0000553403 00000 n -0000553561 00000 n -0000554780 00000 n -0000554844 00000 n -0000554909 00000 n -0000554975 00000 n -0000555038 00000 n -0000555103 00000 n -0000555167 00000 n -0000555231 00000 n -0000555295 00000 n -0000555359 00000 n -0000555425 00000 n -0000555491 00000 n -0000555555 00000 n -0000555619 00000 n -0000555685 00000 n -0000555880 00000 n -0000555944 00000 n -0000556008 00000 n -0000553718 00000 n -0000556071 00000 n -0000556135 00000 n -0000556200 00000 n -0001136896 00000 n -0000561370 00000 n -0000558975 00000 n -0000556410 00000 n -0000559627 00000 n -0000559691 00000 n -0000559140 00000 n -0000559755 00000 n -0000559819 00000 n -0000559884 00000 n -0000559303 00000 n -0000559946 00000 n -0000560010 00000 n -0000560075 00000 n -0000560268 00000 n -0000559464 00000 n -0000560332 00000 n -0000560524 00000 n -0000560588 00000 n -0000560652 00000 n -0000560716 00000 n -0000560782 00000 n -0000560848 00000 n -0000560914 00000 n -0000560980 00000 n -0000561044 00000 n -0000561108 00000 n -0000561174 00000 n -0000561240 00000 n -0000565970 00000 n -0000563570 00000 n -0000561528 00000 n -0000563696 00000 n -0000563825 00000 n -0000563889 00000 n -0000563954 00000 n -0000564018 00000 n -0000564084 00000 n -0000564148 00000 n -0000564214 00000 n -0000564280 00000 n -0000564344 00000 n -0000564410 00000 n -0000564474 00000 n -0000564540 00000 n -0000564606 00000 n -0000564672 00000 n -0000564738 00000 n -0000564804 00000 n -0000564870 00000 n -0000564933 00000 n -0000564999 00000 n -0000565065 00000 n -0000565258 00000 n -0000565322 00000 n -0000565386 00000 n -0000565452 00000 n -0000565516 00000 n -0000565580 00000 n -0000565646 00000 n -0000565712 00000 n -0000565775 00000 n -0000565841 00000 n -0000565906 00000 n -0000571416 00000 n -0000568711 00000 n -0000566128 00000 n -0000569352 00000 n -0000569416 00000 n -0000569480 00000 n -0000569546 00000 n -0000568876 00000 n -0000569740 00000 n -0000569804 00000 n -0000569868 00000 n -0000569931 00000 n -0000569996 00000 n -0000570061 00000 n -0000570127 00000 n -0000570191 00000 n -0000569035 00000 n -0000570256 00000 n -0000570320 00000 n -0000570384 00000 n -0000570449 00000 n -0000570513 00000 n -0000570577 00000 n -0000570643 00000 n +0000522808 00000 n +0000522874 00000 n +0000522938 00000 n +0000523131 00000 n +0000521646 00000 n +0000521812 00000 n +0000523195 00000 n +0000523259 00000 n +0000523324 00000 n +0000523387 00000 n +0000523451 00000 n +0000523515 00000 n +0000523579 00000 n +0000523642 00000 n +0000523705 00000 n +0000523769 00000 n +0000974376 00000 n +0000528261 00000 n +0000526103 00000 n +0000523976 00000 n +0000526584 00000 n +0000526648 00000 n +0000526712 00000 n +0000526776 00000 n +0000526841 00000 n +0000526905 00000 n +0000526970 00000 n +0000527035 00000 n +0000527228 00000 n +0000526259 00000 n +0000526432 00000 n +0000527292 00000 n +0000527356 00000 n +0000527420 00000 n +0000527486 00000 n +0000527551 00000 n +0000527615 00000 n +0000527681 00000 n +0000527745 00000 n +0000527940 00000 n +0000528133 00000 n +0001135036 00000 n +0000533560 00000 n +0000531186 00000 n +0000528405 00000 n +0000531491 00000 n +0000531620 00000 n +0000531684 00000 n +0000531879 00000 n +0000531943 00000 n +0000532007 00000 n +0000532072 00000 n +0000532138 00000 n +0000532202 00000 n +0000532267 00000 n +0000531333 00000 n +0000532330 00000 n +0000532394 00000 n +0000532458 00000 n +0000532524 00000 n +0000532590 00000 n +0000532655 00000 n +0000532721 00000 n +0000532787 00000 n +0000532853 00000 n +0000532919 00000 n +0000532983 00000 n +0000533047 00000 n +0000986121 00000 n +0000983625 00000 n +0000985952 00000 n +0000533111 00000 n +0000533175 00000 n +0000533238 00000 n +0000533302 00000 n +0000533496 00000 n +0000965969 00000 n +0000537444 00000 n +0000535717 00000 n +0000533704 00000 n +0000536024 00000 n +0000536088 00000 n +0000536152 00000 n +0000536474 00000 n +0000535864 00000 n +0000536667 00000 n +0000536731 00000 n +0000536795 00000 n +0000536861 00000 n +0000536926 00000 n +0000536992 00000 n +0000537187 00000 n +0000537316 00000 n +0000537380 00000 n +0000541346 00000 n +0000539473 00000 n +0000537588 00000 n +0000539599 00000 n +0000539663 00000 n +0000539792 00000 n +0000539854 00000 n +0000539920 00000 n +0000539986 00000 n +0000540115 00000 n +0000540179 00000 n +0000540243 00000 n +0000540309 00000 n +0000540375 00000 n +0000540439 00000 n +0000540503 00000 n +0000540569 00000 n +0000540635 00000 n +0000540699 00000 n +0000540765 00000 n +0000540829 00000 n +0000540893 00000 n +0000540958 00000 n +0000541153 00000 n +0000541217 00000 n +0000541281 00000 n +0000545839 00000 n +0000543700 00000 n +0000541518 00000 n +0000543826 00000 n +0000543890 00000 n +0000543956 00000 n +0000544022 00000 n +0000544088 00000 n +0000544154 00000 n +0000544220 00000 n +0000544286 00000 n +0000544351 00000 n +0000544417 00000 n +0000544483 00000 n +0000544547 00000 n +0000544742 00000 n +0000544806 00000 n +0000544871 00000 n +0000544936 00000 n +0000545130 00000 n +0000545322 00000 n +0000545386 00000 n +0000545452 00000 n +0000545516 00000 n +0000545580 00000 n +0000545644 00000 n +0000545709 00000 n +0000551076 00000 n +0000548749 00000 n +0000545997 00000 n +0000549071 00000 n +0000549200 00000 n +0000549264 00000 n +0000549330 00000 n +0000548896 00000 n +0000549396 00000 n +0000549462 00000 n +0000549525 00000 n +0000549590 00000 n +0000549655 00000 n +0000549850 00000 n +0000549914 00000 n +0000549978 00000 n +0000550044 00000 n +0000550110 00000 n +0000550176 00000 n +0000550240 00000 n +0000550433 00000 n +0000550497 00000 n +0000550560 00000 n +0000550624 00000 n +0000550688 00000 n +0000550884 00000 n +0000550948 00000 n +0000551012 00000 n +0000557398 00000 n +0000553798 00000 n +0000551220 00000 n +0000554946 00000 n +0000555010 00000 n +0000555075 00000 n +0000555141 00000 n +0000555205 00000 n +0000553990 00000 n +0000555270 00000 n +0000555334 00000 n +0000554149 00000 n +0000554307 00000 n +0000555399 00000 n +0000555463 00000 n +0000555528 00000 n +0000555594 00000 n +0000555658 00000 n +0000555724 00000 n +0000555788 00000 n +0000555852 00000 n +0000555916 00000 n +0000555980 00000 n +0000556046 00000 n +0000556112 00000 n +0000556176 00000 n +0000556240 00000 n +0000556306 00000 n +0000556501 00000 n +0000556565 00000 n +0000556629 00000 n +0000554464 00000 n +0000556693 00000 n +0000556755 00000 n +0000556820 00000 n +0000556886 00000 n +0000554622 00000 n +0000556950 00000 n +0000557014 00000 n +0000557079 00000 n +0000554785 00000 n +0000557143 00000 n +0000557207 00000 n +0000557271 00000 n +0001135161 00000 n +0000562184 00000 n +0000560130 00000 n +0000557528 00000 n +0000560439 00000 n +0000560568 00000 n +0000560277 00000 n +0000560632 00000 n +0000560823 00000 n +0000560887 00000 n +0000560951 00000 n +0000561015 00000 n +0000561079 00000 n +0000561145 00000 n +0000561211 00000 n +0000561277 00000 n +0000561340 00000 n +0000561404 00000 n +0000561470 00000 n +0000561536 00000 n +0000561730 00000 n +0000561794 00000 n +0000561859 00000 n +0000561923 00000 n +0000561989 00000 n +0000562053 00000 n +0000562118 00000 n +0000566572 00000 n +0000564254 00000 n +0000562342 00000 n +0000564560 00000 n +0000564624 00000 n +0000564688 00000 n +0000564754 00000 n +0000564818 00000 n +0000564884 00000 n +0000564949 00000 n +0000565015 00000 n +0000565081 00000 n +0000565147 00000 n +0000565213 00000 n +0000565277 00000 n +0000565343 00000 n +0000565409 00000 n +0000565599 00000 n +0000565662 00000 n +0000565726 00000 n +0000565792 00000 n +0000565856 00000 n +0000565920 00000 n +0000565986 00000 n +0000566052 00000 n +0000566116 00000 n +0000566182 00000 n +0000566248 00000 n +0000566312 00000 n +0000566376 00000 n +0000566442 00000 n +0000564401 00000 n +0000572454 00000 n +0000569551 00000 n +0000566730 00000 n +0000570190 00000 n +0000570319 00000 n +0000570383 00000 n +0000570447 00000 n +0000570511 00000 n +0000570576 00000 n +0000570641 00000 n 0000570707 00000 n -0000570773 00000 n -0000570838 00000 n -0000570902 00000 n -0000570966 00000 n +0000570771 00000 n +0000569716 00000 n +0000570836 00000 n +0000570899 00000 n +0000570964 00000 n 0000571030 00000 n -0000571095 00000 n -0000571160 00000 n -0000571223 00000 n -0000569194 00000 n -0000571288 00000 n -0000573294 00000 n -0000572471 00000 n -0000571574 00000 n -0000572776 00000 n -0000572905 00000 n -0000572969 00000 n -0000572618 00000 n -0000573033 00000 n -0000573098 00000 n -0000573163 00000 n -0000573228 00000 n -0000578113 00000 n -0000575344 00000 n -0000573410 00000 n -0000575470 00000 n -0000575790 00000 n -0000575982 00000 n -0000576046 00000 n -0000576110 00000 n -0000576174 00000 n -0000576238 00000 n -0000576302 00000 n -0000576367 00000 n -0000576431 00000 n -0000576495 00000 n -0000576560 00000 n -0000576624 00000 n -0000576690 00000 n -0000576756 00000 n -0000576822 00000 n -0000576886 00000 n -0000576950 00000 n -0000577015 00000 n -0000577079 00000 n -0000577144 00000 n -0000577210 00000 n -0000577274 00000 n -0000577338 00000 n -0000577402 00000 n -0000577467 00000 n -0000577531 00000 n -0000577596 00000 n -0000577661 00000 n -0000577727 00000 n -0000577791 00000 n -0000577855 00000 n -0000577920 00000 n -0000577984 00000 n -0000578048 00000 n -0000583648 00000 n -0000581000 00000 n -0000578229 00000 n -0000581126 00000 n -0000581190 00000 n -0000581256 00000 n -0000581322 00000 n -0000581387 00000 n -0000581451 00000 n -0000581515 00000 n -0000581580 00000 n -0000581644 00000 n -0000581709 00000 n -0000581774 00000 n -0000581839 00000 n -0000581903 00000 n -0000581966 00000 n -0000582031 00000 n -0000582097 00000 n -0000582161 00000 n -0000582225 00000 n -0000582291 00000 n -0000582355 00000 n -0000582419 00000 n -0000582483 00000 n -0000582547 00000 n -0000582611 00000 n -0000582677 00000 n -0000582743 00000 n -0000582807 00000 n -0000582871 00000 n -0000582936 00000 n -0000583002 00000 n -0000583067 00000 n -0000583133 00000 n -0000583196 00000 n -0000583260 00000 n -0000583325 00000 n -0000583391 00000 n -0000583456 00000 n -0000583520 00000 n -0000583584 00000 n -0001137021 00000 n -0000587906 00000 n -0000585979 00000 n -0000583792 00000 n -0000586105 00000 n -0000586298 00000 n -0000586490 00000 n -0000586554 00000 n -0000586618 00000 n -0000586682 00000 n -0000586746 00000 n -0000586811 00000 n -0000586877 00000 n -0000586941 00000 n -0000587005 00000 n -0000587070 00000 n -0000587265 00000 n -0000587458 00000 n -0000587522 00000 n -0000587586 00000 n -0000587650 00000 n -0000587714 00000 n -0000587779 00000 n -0000587843 00000 n -0000591810 00000 n -0000590142 00000 n -0000588022 00000 n -0000590268 00000 n -0000590332 00000 n -0000590396 00000 n -0000590460 00000 n -0000590524 00000 n -0000590718 00000 n -0000590782 00000 n -0000590845 00000 n -0000590907 00000 n -0000590971 00000 n -0000591036 00000 n -0000591100 00000 n -0000591164 00000 n -0000591357 00000 n -0000591421 00000 n -0000591616 00000 n -0000591680 00000 n -0000597330 00000 n -0000595041 00000 n -0000591940 00000 n -0000595848 00000 n -0000595977 00000 n -0000595215 00000 n -0000596041 00000 n -0000596105 00000 n -0000596169 00000 n -0000596233 00000 n -0000596298 00000 n -0000596362 00000 n -0000596426 00000 n -0000595368 00000 n -0000596491 00000 n -0000596555 00000 n -0000596619 00000 n -0000595527 00000 n -0000596813 00000 n -0000596876 00000 n -0000596940 00000 n -0000597004 00000 n -0000597070 00000 n -0000595688 00000 n -0000597136 00000 n -0000597202 00000 n -0000597266 00000 n -0000967853 00000 n -0000602212 00000 n -0000599438 00000 n -0000597474 00000 n -0000599564 00000 n -0000599628 00000 n -0000599692 00000 n -0000599756 00000 n -0000599821 00000 n -0000599887 00000 n -0000599953 00000 n -0000600019 00000 n -0000600083 00000 n -0000600146 00000 n -0000600211 00000 n -0000600275 00000 n -0000600341 00000 n -0000600407 00000 n -0000600471 00000 n -0000600535 00000 n -0000600599 00000 n -0000600663 00000 n -0000600729 00000 n -0000600794 00000 n -0000600859 00000 n -0000600923 00000 n -0000600987 00000 n -0000601052 00000 n -0000601116 00000 n -0000601182 00000 n -0000601245 00000 n -0000601309 00000 n -0000601374 00000 n -0000601438 00000 n -0000601504 00000 n -0000601566 00000 n -0000601630 00000 n -0000601695 00000 n -0000601759 00000 n -0000601825 00000 n -0000601889 00000 n -0000601953 00000 n -0000602018 00000 n -0000602082 00000 n -0000607082 00000 n -0000604530 00000 n -0000602342 00000 n -0000604830 00000 n -0000604959 00000 n -0000605023 00000 n -0000605086 00000 n -0000604677 00000 n -0000605150 00000 n -0000605214 00000 n -0000605278 00000 n -0000605342 00000 n -0000605406 00000 n -0000605471 00000 n -0000605537 00000 n -0000605603 00000 n -0000605668 00000 n -0000605732 00000 n -0000605796 00000 n -0000605861 00000 n -0000605925 00000 n -0000605989 00000 n -0000606054 00000 n -0000606118 00000 n -0000606182 00000 n -0000606247 00000 n -0000606311 00000 n -0000606504 00000 n -0000606568 00000 n -0000606632 00000 n -0000606696 00000 n -0000606760 00000 n -0000606825 00000 n -0000606891 00000 n -0000606953 00000 n -0000607017 00000 n -0000611308 00000 n -0000609641 00000 n -0000607212 00000 n -0000609767 00000 n -0000609831 00000 n -0000609895 00000 n -0000609959 00000 n -0000610024 00000 n -0000610088 00000 n -0000610152 00000 n -0000610217 00000 n -0000610281 00000 n -0000610345 00000 n -0000610538 00000 n -0000610731 00000 n -0000610923 00000 n -0000610987 00000 n -0000611051 00000 n -0000611116 00000 n -0000611180 00000 n -0001137146 00000 n -0000615304 00000 n -0000613825 00000 n -0000611424 00000 n -0000613951 00000 n -0000614080 00000 n -0000614402 00000 n -0000614466 00000 n -0000614530 00000 n -0000614850 00000 n -0000614914 00000 n -0000614980 00000 n -0000615046 00000 n -0000615110 00000 n -0000615176 00000 n -0000621383 00000 n -0000618237 00000 n -0000615420 00000 n -0000618542 00000 n -0000618671 00000 n -0000618800 00000 n -0000618864 00000 n -0000618930 00000 n -0000618995 00000 n -0000618384 00000 n -0000619059 00000 n -0000619188 00000 n -0000619252 00000 n -0000619318 00000 n -0000619381 00000 n -0000619445 00000 n -0000619510 00000 n -0000619574 00000 n -0000619639 00000 n -0000619703 00000 n -0000619767 00000 n -0000619833 00000 n -0000620028 00000 n -0000620091 00000 n -0000620155 00000 n -0000620219 00000 n -0000620284 00000 n -0000620349 00000 n -0000620415 00000 n -0000620479 00000 n -0000620544 00000 n -0000620609 00000 n -0000620673 00000 n -0000620738 00000 n -0000620803 00000 n -0000620867 00000 n -0000620932 00000 n -0000620997 00000 n -0000621061 00000 n -0000621126 00000 n -0000621191 00000 n -0000621255 00000 n -0000621320 00000 n -0000627955 00000 n -0000624740 00000 n -0000621513 00000 n -0000625045 00000 n -0000625109 00000 n -0000625173 00000 n -0000625237 00000 n -0000625303 00000 n -0000625368 00000 n -0000625434 00000 n -0000625498 00000 n -0000625563 00000 n -0000625628 00000 n -0000625691 00000 n -0000625756 00000 n -0000625821 00000 n -0000625885 00000 n -0000625950 00000 n -0000626015 00000 n -0000626078 00000 n -0000626143 00000 n -0000626208 00000 n -0000626272 00000 n -0000626337 00000 n -0000626402 00000 n -0000626466 00000 n -0000626531 00000 n -0000626596 00000 n -0000626660 00000 n -0000626725 00000 n -0000626790 00000 n -0000626854 00000 n -0000626919 00000 n -0000626984 00000 n -0000627050 00000 n -0000627114 00000 n -0000627179 00000 n -0000627244 00000 n -0000627309 00000 n -0000627503 00000 n -0000627567 00000 n -0000624887 00000 n -0000627761 00000 n -0000627825 00000 n -0000627891 00000 n -0000632548 00000 n -0000630657 00000 n -0000628113 00000 n -0000631136 00000 n -0000631200 00000 n -0000631264 00000 n -0000631327 00000 n -0000631391 00000 n -0000631455 00000 n -0000631650 00000 n -0000631714 00000 n -0000631777 00000 n -0000631840 00000 n -0000631904 00000 n -0000631970 00000 n -0000632162 00000 n -0000630813 00000 n -0000630973 00000 n -0000632226 00000 n -0000632290 00000 n -0000632354 00000 n -0000632420 00000 n -0000632484 00000 n -0000976433 00000 n -0000637803 00000 n -0000634298 00000 n -0000632678 00000 n -0000634780 00000 n -0000634844 00000 n -0000634908 00000 n -0000634972 00000 n -0000635037 00000 n -0000635099 00000 n -0000635164 00000 n -0000635228 00000 n -0000635292 00000 n -0000635357 00000 n -0000635421 00000 n -0000635485 00000 n -0000635550 00000 n -0000635613 00000 n -0000635677 00000 n -0000635742 00000 n -0000635806 00000 n -0000635870 00000 n -0000635935 00000 n -0000635999 00000 n -0000636063 00000 n -0000636126 00000 n -0000636190 00000 n -0000636254 00000 n -0000636319 00000 n -0000636383 00000 n -0000636447 00000 n -0000636512 00000 n -0000636576 00000 n -0000636640 00000 n -0000636705 00000 n -0000634454 00000 n -0000636898 00000 n -0000636962 00000 n -0000637026 00000 n -0000637090 00000 n -0000637155 00000 n -0000637221 00000 n -0000637287 00000 n -0000637351 00000 n -0000637416 00000 n -0000637482 00000 n -0000637546 00000 n -0000637610 00000 n -0000637674 00000 n -0000634622 00000 n -0000643061 00000 n -0000640602 00000 n -0000637905 00000 n -0000641578 00000 n -0000641707 00000 n -0000641900 00000 n -0000641964 00000 n -0000640785 00000 n -0000642027 00000 n -0000640943 00000 n -0000642091 00000 n -0000641099 00000 n -0000642283 00000 n -0000642347 00000 n -0000642413 00000 n -0000642479 00000 n -0000641256 00000 n -0000642543 00000 n -0000642607 00000 n -0000641409 00000 n -0000642671 00000 n -0000642735 00000 n -0000642799 00000 n -0000642863 00000 n -0000642929 00000 n -0000642995 00000 n -0001137271 00000 n -0000647962 00000 n -0000645895 00000 n -0000643177 00000 n -0000646021 00000 n -0000646085 00000 n -0000646149 00000 n -0000646215 00000 n -0000646281 00000 n -0000646347 00000 n -0000646413 00000 n -0000646479 00000 n -0000646543 00000 n -0000646609 00000 n -0000646673 00000 n -0000646739 00000 n -0000646803 00000 n -0000646868 00000 n -0000646932 00000 n -0000646997 00000 n -0000647061 00000 n -0000647125 00000 n -0000647320 00000 n -0000647384 00000 n -0000647450 00000 n -0000647514 00000 n -0000647578 00000 n -0000647642 00000 n -0000647706 00000 n -0000647770 00000 n -0000647834 00000 n -0000647898 00000 n -0000650950 00000 n -0000649544 00000 n -0000648078 00000 n -0000649670 00000 n -0000649734 00000 n -0000649798 00000 n -0000649862 00000 n -0000649926 00000 n -0000649990 00000 n -0000650054 00000 n -0000650118 00000 n -0000650182 00000 n -0000650246 00000 n -0000650309 00000 n -0000650374 00000 n -0000650438 00000 n -0000650502 00000 n -0000650566 00000 n -0000650631 00000 n -0000650695 00000 n -0000650758 00000 n -0000650822 00000 n -0000650886 00000 n -0000656053 00000 n -0000653305 00000 n -0000651052 00000 n -0000653605 00000 n -0000653733 00000 n -0000653797 00000 n -0000653861 00000 n -0000653452 00000 n -0000654054 00000 n -0000654118 00000 n -0000654182 00000 n -0000654248 00000 n -0000654312 00000 n -0000654376 00000 n -0000654438 00000 n -0000654503 00000 n -0000654569 00000 n -0000654634 00000 n -0000654698 00000 n -0000654761 00000 n -0000654825 00000 n -0000654889 00000 n -0000654954 00000 n -0000655020 00000 n -0000655086 00000 n -0000655152 00000 n +0000571094 00000 n +0000571159 00000 n +0000571225 00000 n +0000571289 00000 n +0000571355 00000 n +0000571421 00000 n +0000571485 00000 n +0000571551 00000 n +0000571614 00000 n +0000571679 00000 n +0000571744 00000 n +0000571808 00000 n +0000569876 00000 n +0000571873 00000 n +0000572064 00000 n +0000572128 00000 n +0000570032 00000 n +0000572191 00000 n +0000572256 00000 n +0000572322 00000 n +0000572388 00000 n +0000577315 00000 n +0000574546 00000 n +0000572612 00000 n +0000574672 00000 n +0000574992 00000 n +0000575184 00000 n +0000575248 00000 n +0000575312 00000 n +0000575376 00000 n +0000575440 00000 n +0000575504 00000 n +0000575569 00000 n +0000575633 00000 n +0000575697 00000 n +0000575762 00000 n +0000575826 00000 n +0000575892 00000 n +0000575958 00000 n +0000576024 00000 n +0000576088 00000 n +0000576152 00000 n +0000576217 00000 n +0000576281 00000 n +0000576346 00000 n +0000576412 00000 n +0000576476 00000 n +0000576540 00000 n +0000576604 00000 n +0000576669 00000 n +0000576733 00000 n +0000576798 00000 n +0000576863 00000 n +0000576929 00000 n +0000576993 00000 n +0000577057 00000 n +0000577122 00000 n +0000577186 00000 n +0000577250 00000 n +0000582850 00000 n +0000580202 00000 n +0000577431 00000 n +0000580328 00000 n +0000580392 00000 n +0000580458 00000 n +0000580524 00000 n +0000580589 00000 n +0000580653 00000 n +0000580717 00000 n +0000580782 00000 n +0000580846 00000 n +0000580911 00000 n +0000580976 00000 n +0000581041 00000 n +0000581105 00000 n +0000581168 00000 n +0000581233 00000 n +0000581299 00000 n +0000581363 00000 n +0000581427 00000 n +0000581493 00000 n +0000581557 00000 n +0000581621 00000 n +0000581685 00000 n +0000581749 00000 n +0000581813 00000 n +0000581879 00000 n +0000581945 00000 n +0000582009 00000 n +0000582073 00000 n +0000582138 00000 n +0000582204 00000 n +0000582269 00000 n +0000582335 00000 n +0000582398 00000 n +0000582462 00000 n +0000582527 00000 n +0000582593 00000 n +0000582658 00000 n +0000582722 00000 n +0000582786 00000 n +0000587108 00000 n +0000585181 00000 n +0000582994 00000 n +0000585307 00000 n +0000585500 00000 n +0000585692 00000 n +0000585756 00000 n +0000585820 00000 n +0000585884 00000 n +0000585948 00000 n +0000586013 00000 n +0000586079 00000 n +0000586143 00000 n +0000586207 00000 n +0000586272 00000 n +0000586467 00000 n +0000586660 00000 n +0000586724 00000 n +0000586788 00000 n +0000586852 00000 n +0000586916 00000 n +0000586981 00000 n +0000587045 00000 n +0001135286 00000 n +0000591013 00000 n +0000589345 00000 n +0000587224 00000 n +0000589471 00000 n +0000589535 00000 n +0000589599 00000 n +0000589663 00000 n +0000589727 00000 n +0000589921 00000 n +0000589985 00000 n +0000590048 00000 n +0000590110 00000 n +0000590174 00000 n +0000590239 00000 n +0000590303 00000 n +0000590367 00000 n +0000590560 00000 n +0000590624 00000 n +0000590819 00000 n +0000590883 00000 n +0000596532 00000 n +0000594243 00000 n +0000591143 00000 n +0000595050 00000 n +0000595179 00000 n +0000594417 00000 n +0000595243 00000 n +0000595307 00000 n +0000595371 00000 n +0000595435 00000 n +0000595500 00000 n +0000595564 00000 n +0000595628 00000 n +0000594570 00000 n +0000595693 00000 n +0000595757 00000 n +0000595821 00000 n +0000594729 00000 n +0000596015 00000 n +0000596078 00000 n +0000596142 00000 n +0000596206 00000 n +0000596272 00000 n +0000594890 00000 n +0000596338 00000 n +0000596404 00000 n +0000596468 00000 n +0000966422 00000 n +0000601412 00000 n +0000598638 00000 n +0000596676 00000 n +0000598764 00000 n +0000598828 00000 n +0000598892 00000 n +0000598956 00000 n +0000599021 00000 n +0000599087 00000 n +0000599153 00000 n +0000599219 00000 n +0000599283 00000 n +0000599346 00000 n +0000599411 00000 n +0000599475 00000 n +0000599541 00000 n +0000599607 00000 n +0000599671 00000 n +0000599735 00000 n +0000599799 00000 n +0000599863 00000 n +0000599929 00000 n +0000599994 00000 n +0000600059 00000 n +0000600123 00000 n +0000600187 00000 n +0000600252 00000 n +0000600316 00000 n +0000600382 00000 n +0000600445 00000 n +0000600509 00000 n +0000600574 00000 n +0000600638 00000 n +0000600704 00000 n +0000600766 00000 n +0000600830 00000 n +0000600895 00000 n +0000600959 00000 n +0000601025 00000 n +0000601089 00000 n +0000601153 00000 n +0000601218 00000 n +0000601282 00000 n +0000606281 00000 n +0000603729 00000 n +0000601542 00000 n +0000604029 00000 n +0000604158 00000 n +0000604222 00000 n +0000604285 00000 n +0000603876 00000 n +0000604349 00000 n +0000604413 00000 n +0000604477 00000 n +0000604541 00000 n +0000604605 00000 n +0000604670 00000 n +0000604736 00000 n +0000604802 00000 n +0000604867 00000 n +0000604931 00000 n +0000604995 00000 n +0000605060 00000 n +0000605124 00000 n +0000605188 00000 n +0000605253 00000 n +0000605317 00000 n +0000605381 00000 n +0000605446 00000 n +0000605510 00000 n +0000605703 00000 n +0000605767 00000 n +0000605831 00000 n +0000605895 00000 n +0000605959 00000 n +0000606024 00000 n +0000606090 00000 n +0000606152 00000 n +0000606216 00000 n +0000610397 00000 n +0000608797 00000 n +0000606411 00000 n +0000608923 00000 n +0000608987 00000 n +0000609051 00000 n +0000609115 00000 n +0000609180 00000 n +0000609244 00000 n +0000609308 00000 n +0000609501 00000 n +0000609694 00000 n +0000609886 00000 n +0000609950 00000 n +0000610014 00000 n +0000610078 00000 n +0000610142 00000 n +0000610334 00000 n +0000614585 00000 n +0000612849 00000 n +0000610513 00000 n +0000612975 00000 n +0000613039 00000 n +0000613360 00000 n +0000613424 00000 n +0000613488 00000 n +0000613808 00000 n +0000613872 00000 n +0000613938 00000 n +0000614004 00000 n +0000614068 00000 n +0000614134 00000 n +0000614327 00000 n +0000614456 00000 n +0000614520 00000 n +0001135411 00000 n +0000620428 00000 n +0000617476 00000 n +0000614715 00000 n +0000617781 00000 n +0000617845 00000 n +0000617911 00000 n +0000617623 00000 n +0000618040 00000 n +0000618104 00000 n +0000618170 00000 n +0000618234 00000 n +0000618298 00000 n +0000618363 00000 n +0000618427 00000 n +0000618492 00000 n +0000618556 00000 n +0000618620 00000 n +0000618686 00000 n +0000618881 00000 n +0000618945 00000 n +0000619009 00000 n +0000619072 00000 n +0000619137 00000 n +0000619202 00000 n +0000619268 00000 n +0000619332 00000 n +0000619397 00000 n +0000619462 00000 n +0000619526 00000 n +0000619591 00000 n +0000619656 00000 n +0000619720 00000 n +0000619785 00000 n +0000619850 00000 n +0000619914 00000 n +0000619978 00000 n +0000620042 00000 n +0000620105 00000 n +0000620170 00000 n +0000620234 00000 n +0000620298 00000 n +0000620363 00000 n +0000626808 00000 n +0000623724 00000 n +0000620558 00000 n +0000624029 00000 n +0000624093 00000 n +0000624159 00000 n +0000624224 00000 n +0000624289 00000 n +0000624354 00000 n +0000624418 00000 n +0000624483 00000 n +0000624548 00000 n +0000624610 00000 n +0000624674 00000 n +0000624738 00000 n +0000624802 00000 n +0000624867 00000 n +0000624932 00000 n +0000624995 00000 n +0000625060 00000 n +0000625125 00000 n +0000625189 00000 n +0000625254 00000 n +0000625319 00000 n +0000625383 00000 n +0000625448 00000 n +0000625513 00000 n +0000625577 00000 n +0000625642 00000 n +0000625707 00000 n +0000625773 00000 n +0000625837 00000 n +0000625902 00000 n +0000625967 00000 n +0000626032 00000 n +0000626227 00000 n +0000626291 00000 n +0000623871 00000 n +0000626484 00000 n +0000626548 00000 n +0000626614 00000 n +0000626678 00000 n +0000626742 00000 n +0000631502 00000 n +0000629415 00000 n +0000626966 00000 n +0000629894 00000 n +0000629958 00000 n +0000630022 00000 n +0000630086 00000 n +0000630150 00000 n +0000630213 00000 n +0000630408 00000 n +0000630472 00000 n +0000630536 00000 n +0000630600 00000 n +0000630664 00000 n +0000630730 00000 n +0000630923 00000 n +0000629571 00000 n +0000629731 00000 n +0000630987 00000 n +0000631053 00000 n +0000631117 00000 n +0000631183 00000 n +0000631247 00000 n +0000631310 00000 n +0000631373 00000 n +0000631437 00000 n +0000974698 00000 n +0000636853 00000 n +0000633412 00000 n +0000631618 00000 n +0000633894 00000 n +0000633958 00000 n +0000634022 00000 n +0000634086 00000 n +0000634151 00000 n +0000634213 00000 n +0000634278 00000 n +0000634342 00000 n +0000634406 00000 n +0000634471 00000 n +0000634535 00000 n +0000634599 00000 n +0000634664 00000 n +0000634727 00000 n +0000634791 00000 n +0000634856 00000 n +0000634920 00000 n +0000634984 00000 n +0000635049 00000 n +0000635113 00000 n +0000635177 00000 n +0000635240 00000 n +0000635304 00000 n +0000635368 00000 n +0000635433 00000 n +0000635497 00000 n +0000635561 00000 n +0000635626 00000 n +0000633568 00000 n +0000635819 00000 n +0000635883 00000 n +0000635947 00000 n +0000636011 00000 n +0000636076 00000 n +0000636142 00000 n +0000636208 00000 n +0000636272 00000 n +0000636337 00000 n +0000636403 00000 n +0000636467 00000 n +0000636532 00000 n +0000636595 00000 n +0000633736 00000 n +0000636789 00000 n +0000642566 00000 n +0000639844 00000 n +0000636955 00000 n +0000640820 00000 n +0000641013 00000 n +0000641077 00000 n +0000640027 00000 n +0000641141 00000 n +0000640185 00000 n +0000641205 00000 n +0000640341 00000 n +0000641397 00000 n +0000641461 00000 n +0000641527 00000 n +0000641593 00000 n +0000640498 00000 n +0000641657 00000 n +0000641721 00000 n +0000640651 00000 n +0000641785 00000 n +0000641848 00000 n +0000641911 00000 n +0000641975 00000 n +0000642041 00000 n +0000642107 00000 n +0000642172 00000 n +0000642236 00000 n +0000642302 00000 n +0000642368 00000 n +0000642434 00000 n +0000642500 00000 n +0000646890 00000 n +0000645090 00000 n +0000642682 00000 n +0000645216 00000 n +0000645280 00000 n +0000645344 00000 n +0000645408 00000 n +0000645474 00000 n +0000645538 00000 n +0000645604 00000 n +0000645668 00000 n +0000645733 00000 n +0000645797 00000 n +0000645862 00000 n +0000645926 00000 n +0000645990 00000 n +0000646185 00000 n +0000646248 00000 n +0000646314 00000 n +0000646378 00000 n +0000646442 00000 n +0000646506 00000 n +0000646570 00000 n +0000646634 00000 n +0000646698 00000 n +0000646762 00000 n +0000646826 00000 n +0001135536 00000 n +0000650147 00000 n +0000648675 00000 n +0000647006 00000 n +0000648801 00000 n +0000648865 00000 n +0000648929 00000 n +0000648993 00000 n +0000649057 00000 n +0000649121 00000 n +0000649185 00000 n +0000649249 00000 n +0000649313 00000 n +0000649378 00000 n +0000649442 00000 n +0000649507 00000 n +0000649571 00000 n +0000649636 00000 n +0000649699 00000 n +0000649763 00000 n +0000649827 00000 n +0000649891 00000 n +0000649955 00000 n +0000650019 00000 n +0000650083 00000 n +0000655282 00000 n +0000652462 00000 n +0000650249 00000 n +0000652762 00000 n +0000652609 00000 n +0000652954 00000 n +0000653018 00000 n +0000653082 00000 n +0000653148 00000 n +0000653212 00000 n +0000653276 00000 n +0000653340 00000 n +0000653405 00000 n +0000653471 00000 n +0000653536 00000 n +0000653600 00000 n +0000653665 00000 n +0000653731 00000 n +0000653795 00000 n +0000653860 00000 n +0000653926 00000 n +0000653992 00000 n +0000654058 00000 n +0000654124 00000 n +0000654190 00000 n +0000654256 00000 n +0000654450 00000 n +0000654514 00000 n +0000654578 00000 n +0000654642 00000 n +0000654706 00000 n +0000654771 00000 n +0000654835 00000 n +0000654900 00000 n +0000654964 00000 n +0000655154 00000 n 0000655218 00000 n -0000655284 00000 n -0000655350 00000 n -0000655544 00000 n -0000655608 00000 n -0000655670 00000 n -0000655734 00000 n -0000655798 00000 n -0000655861 00000 n -0000655925 00000 n -0000655990 00000 n -0000661643 00000 n -0000658547 00000 n -0000656183 00000 n -0000658673 00000 n -0000658737 00000 n -0000658864 00000 n -0000658928 00000 n -0000658992 00000 n -0000659056 00000 n -0000659120 00000 n -0000659184 00000 n -0000659248 00000 n -0000659313 00000 n -0000659377 00000 n -0000659441 00000 n -0000659505 00000 n -0000659570 00000 n -0000659634 00000 n -0000659828 00000 n -0000659892 00000 n -0000659955 00000 n -0000660018 00000 n -0000660213 00000 n -0000660277 00000 n -0000660343 00000 n -0000660409 00000 n -0000660473 00000 n -0000660539 00000 n -0000660603 00000 n -0000660668 00000 n -0000660734 00000 n -0000660798 00000 n -0000660864 00000 n -0000660928 00000 n -0000660993 00000 n -0000661058 00000 n -0000661123 00000 n -0000661187 00000 n -0000661252 00000 n -0000661318 00000 n -0000661382 00000 n -0000661447 00000 n -0000661513 00000 n -0000661579 00000 n -0000666772 00000 n -0000663673 00000 n -0000661773 00000 n -0000663799 00000 n -0000663863 00000 n -0000663927 00000 n -0000663992 00000 n -0000664057 00000 n -0000664123 00000 n -0000664187 00000 n -0000664509 00000 n -0000664572 00000 n -0000664638 00000 n -0000664702 00000 n -0000664766 00000 n -0000664830 00000 n -0000664895 00000 n -0000664958 00000 n -0000665021 00000 n -0000665085 00000 n -0000665150 00000 n -0000665216 00000 n -0000665280 00000 n -0000665344 00000 n -0000665408 00000 n -0000665473 00000 n -0000665539 00000 n -0000665603 00000 n -0000665798 00000 n -0000665862 00000 n -0000665928 00000 n -0000665993 00000 n -0000666059 00000 n -0000666125 00000 n -0000666189 00000 n -0000666254 00000 n -0000666318 00000 n -0000666384 00000 n -0000666450 00000 n -0000666644 00000 n -0000672125 00000 n -0000669100 00000 n -0000666888 00000 n -0000669407 00000 n -0000669536 00000 n -0000669600 00000 n -0000669666 00000 n -0000669730 00000 n -0000669794 00000 n -0000669860 00000 n -0000669924 00000 n -0000669989 00000 n -0000670055 00000 n -0000670119 00000 n -0000670184 00000 n -0000670248 00000 n -0000670314 00000 n -0000670377 00000 n -0000670442 00000 n -0000670507 00000 n -0000670573 00000 n -0000670768 00000 n -0000670832 00000 n -0000670898 00000 n -0000670964 00000 n -0000671028 00000 n -0000671222 00000 n -0000671286 00000 n -0000671352 00000 n -0000671417 00000 n -0000671483 00000 n -0000671676 00000 n -0000671740 00000 n -0000669247 00000 n -0000671934 00000 n -0000671998 00000 n -0000672062 00000 n -0001137396 00000 n -0000678087 00000 n -0000674915 00000 n -0000672241 00000 n -0000675041 00000 n -0000675169 00000 n -0000675233 00000 n -0000675362 00000 n -0000675426 00000 n -0000675492 00000 n -0000675558 00000 n -0000675687 00000 n -0000675751 00000 n -0000675815 00000 n -0000675881 00000 n -0000675945 00000 n -0000676009 00000 n -0000676074 00000 n +0000661099 00000 n +0000657801 00000 n +0000655398 00000 n +0000657927 00000 n +0000657991 00000 n +0000658055 00000 n +0000658119 00000 n +0000658182 00000 n +0000658245 00000 n +0000658309 00000 n +0000658374 00000 n +0000658438 00000 n +0000658503 00000 n +0000658567 00000 n +0000658632 00000 n +0000658696 00000 n +0000658890 00000 n +0000658954 00000 n +0000659020 00000 n +0000659086 00000 n +0000659281 00000 n +0000659345 00000 n +0000659411 00000 n +0000659477 00000 n +0000659541 00000 n +0000659607 00000 n +0000659671 00000 n +0000659736 00000 n +0000659802 00000 n +0000659866 00000 n +0000659932 00000 n +0000659996 00000 n +0000660062 00000 n +0000660128 00000 n +0000660194 00000 n +0000660258 00000 n +0000660323 00000 n +0000660389 00000 n +0000660453 00000 n +0000660517 00000 n +0000660582 00000 n +0000660647 00000 n +0000660711 00000 n +0000660776 00000 n +0000660841 00000 n +0000660907 00000 n +0000660971 00000 n +0000666231 00000 n +0000663196 00000 n +0000661229 00000 n +0000663322 00000 n +0000663580 00000 n +0000663644 00000 n +0000663710 00000 n +0000663774 00000 n +0000663838 00000 n +0000663902 00000 n +0000663967 00000 n +0000664031 00000 n +0000664096 00000 n +0000664162 00000 n +0000664226 00000 n +0000664290 00000 n +0000664354 00000 n +0000664419 00000 n +0000664485 00000 n +0000664549 00000 n +0000664743 00000 n +0000664807 00000 n +0000664873 00000 n +0000664938 00000 n +0000665004 00000 n +0000665070 00000 n +0000665132 00000 n +0000665198 00000 n +0000665262 00000 n +0000665328 00000 n +0000665393 00000 n +0000665586 00000 n +0000665779 00000 n +0000665843 00000 n +0000665907 00000 n +0000665973 00000 n +0000666039 00000 n +0000666102 00000 n +0000666166 00000 n +0000671657 00000 n +0000668503 00000 n +0000666347 00000 n +0000668809 00000 n +0000668873 00000 n +0000668937 00000 n +0000669002 00000 n +0000669068 00000 n +0000669132 00000 n +0000669197 00000 n +0000669261 00000 n +0000669327 00000 n +0000669391 00000 n +0000669456 00000 n +0000669521 00000 n +0000669587 00000 n +0000669782 00000 n +0000669846 00000 n +0000669912 00000 n +0000669978 00000 n +0000670042 00000 n +0000670237 00000 n +0000670301 00000 n +0000670367 00000 n +0000670432 00000 n +0000670498 00000 n +0000670690 00000 n +0000670754 00000 n +0000668650 00000 n +0000670947 00000 n +0000671011 00000 n +0000671076 00000 n +0000671204 00000 n +0000671268 00000 n +0000671397 00000 n +0000671461 00000 n +0000671527 00000 n +0000671593 00000 n +0000678085 00000 n +0000674646 00000 n +0000671787 00000 n +0000674772 00000 n +0000674901 00000 n +0000674965 00000 n +0000675029 00000 n +0000675095 00000 n +0000675159 00000 n +0000675223 00000 n +0000675289 00000 n +0000675355 00000 n +0000675420 00000 n +0000675485 00000 n +0000675549 00000 n +0000675615 00000 n +0000675679 00000 n +0000675745 00000 n +0000675811 00000 n +0000675875 00000 n +0000675941 00000 n +0000676007 00000 n +0000676073 00000 n 0000676139 00000 n 0000676205 00000 n -0000676271 00000 n +0000676269 00000 n 0000676335 00000 n -0000676401 00000 n -0000676464 00000 n -0000676529 00000 n -0000676594 00000 n -0000676658 00000 n -0000676724 00000 n -0000676790 00000 n -0000676856 00000 n -0000676922 00000 n -0000676988 00000 n -0000677052 00000 n -0000677118 00000 n -0000677182 00000 n -0000677246 00000 n -0000677310 00000 n -0000677375 00000 n -0000677441 00000 n -0000677507 00000 n -0000677573 00000 n -0000677639 00000 n -0000677704 00000 n -0000677833 00000 n -0000677897 00000 n -0000677960 00000 n -0000678023 00000 n -0000682795 00000 n -0000680270 00000 n -0000678189 00000 n -0000680396 00000 n -0000680460 00000 n -0000680589 00000 n -0000680653 00000 n +0000676399 00000 n +0000676463 00000 n +0000676527 00000 n +0000676590 00000 n +0000676656 00000 n +0000676722 00000 n +0000676788 00000 n +0000676854 00000 n +0000676919 00000 n +0000677048 00000 n +0000677112 00000 n +0000677176 00000 n +0000677240 00000 n +0000677369 00000 n +0000677433 00000 n +0000677499 00000 n +0000677628 00000 n +0000677692 00000 n +0000677758 00000 n +0000677824 00000 n +0000677890 00000 n +0000677956 00000 n +0000678022 00000 n +0001135661 00000 n +0000682787 00000 n +0000680464 00000 n +0000678187 00000 n +0000680590 00000 n 0000680719 00000 n -0000680848 00000 n -0000680912 00000 n -0000680978 00000 n -0000681044 00000 n -0000681110 00000 n -0000681176 00000 n -0000681242 00000 n -0000681371 00000 n -0000681434 00000 n -0000681498 00000 n -0000681627 00000 n -0000681691 00000 n -0000681757 00000 n -0000681823 00000 n -0000681889 00000 n -0000682018 00000 n -0000682082 00000 n -0000682210 00000 n -0000682274 00000 n -0000682340 00000 n -0000682406 00000 n -0000682472 00000 n -0000682601 00000 n -0000682665 00000 n -0000687034 00000 n -0000685308 00000 n -0000682897 00000 n -0000685614 00000 n -0000685678 00000 n -0000685807 00000 n -0000685871 00000 n -0000685937 00000 n -0000686001 00000 n -0000686067 00000 n -0000686133 00000 n -0000686328 00000 n -0000686392 00000 n -0000685455 00000 n -0000686455 00000 n -0000686648 00000 n -0000686712 00000 n -0000686776 00000 n -0000686840 00000 n -0000686904 00000 n -0000692835 00000 n -0000689816 00000 n -0000687164 00000 n -0000690639 00000 n -0000690768 00000 n -0000690832 00000 n -0000690898 00000 n -0000690962 00000 n -0000691027 00000 n -0000691092 00000 n -0000691156 00000 n -0000691221 00000 n -0000691286 00000 n -0000691352 00000 n -0000689990 00000 n -0000690154 00000 n -0000691416 00000 n -0000691480 00000 n -0000691545 00000 n -0000691610 00000 n -0000691674 00000 n -0000691739 00000 n -0000690318 00000 n -0000691804 00000 n -0000691868 00000 n -0000691933 00000 n -0000691998 00000 n -0000692062 00000 n -0000692127 00000 n -0000692319 00000 n -0000690475 00000 n -0000692512 00000 n -0000692705 00000 n -0000692769 00000 n -0000696949 00000 n -0000695221 00000 n -0000692951 00000 n -0000695347 00000 n -0000695540 00000 n -0000695604 00000 n -0000695670 00000 n -0000695862 00000 n -0000695926 00000 n -0000695990 00000 n -0000696053 00000 n -0000696118 00000 n -0000696182 00000 n -0000696246 00000 n -0000696438 00000 n -0000696502 00000 n -0000696694 00000 n -0000696757 00000 n -0000696821 00000 n -0000696885 00000 n -0000701939 00000 n -0000699946 00000 n -0000697051 00000 n -0000700072 00000 n -0000700136 00000 n -0000700201 00000 n -0000700265 00000 n -0000700330 00000 n -0000700395 00000 n -0000700459 00000 n -0000700524 00000 n -0000700589 00000 n -0000700653 00000 n -0000700718 00000 n -0000700783 00000 n -0000700847 00000 n -0000701041 00000 n -0000701105 00000 n -0000701169 00000 n -0000701234 00000 n -0000701297 00000 n -0000701361 00000 n -0000701554 00000 n -0000701618 00000 n -0000701682 00000 n -0000701746 00000 n -0000701810 00000 n -0000701875 00000 n -0001137521 00000 n -0000708127 00000 n -0000705234 00000 n -0000702041 00000 n -0000706256 00000 n -0000706320 00000 n -0000705417 00000 n -0000705585 00000 n -0000706385 00000 n -0000706449 00000 n -0000705752 00000 n -0000706514 00000 n -0000706578 00000 n -0000705922 00000 n -0000706643 00000 n -0000706707 00000 n -0000706086 00000 n -0000706773 00000 n -0000706835 00000 n -0000706899 00000 n -0000707093 00000 n -0000707157 00000 n -0000707221 00000 n -0000707282 00000 n -0000707347 00000 n -0000707413 00000 n -0000707479 00000 n -0000707543 00000 n -0000707608 00000 n -0000707674 00000 n -0000707738 00000 n -0000707803 00000 n -0000707867 00000 n -0000707931 00000 n -0000707996 00000 n -0000708061 00000 n -0000713474 00000 n -0000710777 00000 n -0000708243 00000 n -0000711415 00000 n -0000711479 00000 n -0000711544 00000 n -0000710942 00000 n -0000711737 00000 n -0000711801 00000 n -0000711867 00000 n -0000711932 00000 n -0000711996 00000 n -0000711100 00000 n -0000712060 00000 n -0000712126 00000 n -0000712190 00000 n -0000712254 00000 n -0000712318 00000 n -0000712382 00000 n -0000712447 00000 n -0000712511 00000 n -0000712575 00000 n -0000712639 00000 n -0000712704 00000 n -0000712768 00000 n -0000712832 00000 n -0000712896 00000 n -0000712960 00000 n -0000713024 00000 n -0000713088 00000 n -0000713152 00000 n -0000713217 00000 n -0000713281 00000 n -0000713345 00000 n -0000713409 00000 n -0000711257 00000 n -0000719036 00000 n -0000716314 00000 n -0000713576 00000 n -0000717300 00000 n -0000717364 00000 n -0000717428 00000 n -0000717492 00000 n -0000717556 00000 n -0000716497 00000 n -0000717750 00000 n -0000717814 00000 n -0000717877 00000 n -0000717941 00000 n -0000716655 00000 n -0000718006 00000 n -0000718070 00000 n -0000716812 00000 n -0000718134 00000 n -0000718198 00000 n -0000716971 00000 n -0000718392 00000 n -0000717131 00000 n -0000718585 00000 n +0000680783 00000 n +0000680847 00000 n +0000680976 00000 n +0000681040 00000 n +0000681106 00000 n +0000681172 00000 n +0000681238 00000 n +0000681366 00000 n +0000681430 00000 n +0000681558 00000 n +0000681622 00000 n +0000681686 00000 n +0000681750 00000 n +0000681816 00000 n +0000681944 00000 n +0000682008 00000 n +0000682203 00000 n +0000682266 00000 n +0000682332 00000 n +0000682396 00000 n +0000682462 00000 n +0000682526 00000 n +0000682592 00000 n +0000682658 00000 n +0000688524 00000 n +0000685814 00000 n +0000682917 00000 n +0000686465 00000 n +0000686594 00000 n +0000686658 00000 n +0000685979 00000 n +0000686722 00000 n +0000686914 00000 n +0000686978 00000 n +0000687041 00000 n +0000687105 00000 n +0000687169 00000 n +0000687364 00000 n +0000687428 00000 n +0000687492 00000 n +0000687558 00000 n +0000687622 00000 n +0000687686 00000 n +0000687750 00000 n +0000687815 00000 n +0000687879 00000 n +0000687944 00000 n +0000688009 00000 n +0000688073 00000 n +0000688138 00000 n +0000688203 00000 n +0000688269 00000 n +0000686138 00000 n +0000686301 00000 n +0000688333 00000 n +0000688396 00000 n +0000688460 00000 n +0000693471 00000 n +0000690872 00000 n +0000688640 00000 n +0000691350 00000 n +0000691414 00000 n +0000691478 00000 n +0000691542 00000 n +0000691607 00000 n +0000691028 00000 n +0000691672 00000 n +0000691736 00000 n +0000691801 00000 n +0000691866 00000 n +0000691930 00000 n +0000691995 00000 n +0000692187 00000 n +0000691186 00000 n +0000692380 00000 n +0000692573 00000 n +0000692637 00000 n +0000692831 00000 n +0000692893 00000 n +0000692959 00000 n +0000693151 00000 n +0000693215 00000 n +0000693279 00000 n +0000693343 00000 n +0000693408 00000 n +0000697966 00000 n +0000696102 00000 n +0000693587 00000 n +0000696228 00000 n +0000696292 00000 n +0000696486 00000 n +0000696550 00000 n +0000696743 00000 n +0000696807 00000 n +0000696871 00000 n +0000696935 00000 n +0000696999 00000 n +0000697064 00000 n +0000697128 00000 n +0000697193 00000 n +0000697258 00000 n +0000697322 00000 n +0000697387 00000 n +0000697452 00000 n +0000697516 00000 n +0000697580 00000 n +0000697644 00000 n +0000697708 00000 n +0000697902 00000 n +0000704057 00000 n +0000701429 00000 n +0000698068 00000 n +0000702446 00000 n +0000702510 00000 n +0000702574 00000 n +0000702640 00000 n +0000702704 00000 n +0000702768 00000 n +0000702961 00000 n +0000703025 00000 n +0000703089 00000 n +0000703153 00000 n +0000703217 00000 n +0000703282 00000 n +0000703346 00000 n +0000701612 00000 n +0000701780 00000 n +0000703411 00000 n +0000703475 00000 n +0000701944 00000 n +0000703540 00000 n +0000703604 00000 n +0000702113 00000 n +0000703668 00000 n +0000703732 00000 n +0000702276 00000 n +0000703798 00000 n +0000703862 00000 n +0000703926 00000 n +0000709347 00000 n +0000707130 00000 n +0000704173 00000 n +0000707601 00000 n +0000707730 00000 n +0000707794 00000 n +0000707858 00000 n +0000707922 00000 n +0000707987 00000 n +0000708053 00000 n +0000708119 00000 n +0000708183 00000 n +0000708248 00000 n +0000708314 00000 n +0000708378 00000 n +0000708443 00000 n +0000708507 00000 n +0000708571 00000 n +0000708636 00000 n +0000708701 00000 n +0000708766 00000 n +0000708831 00000 n +0000707286 00000 n +0000709024 00000 n +0000709088 00000 n +0000709154 00000 n +0000709219 00000 n +0000709283 00000 n +0000707444 00000 n +0001135786 00000 n +0000715462 00000 n +0000712112 00000 n +0000709463 00000 n +0000713084 00000 n +0000713148 00000 n +0000713214 00000 n +0000713278 00000 n +0000713342 00000 n +0000713406 00000 n +0000713470 00000 n +0000713535 00000 n +0000713599 00000 n +0000713663 00000 n +0000713727 00000 n +0000713792 00000 n +0000713856 00000 n +0000713920 00000 n +0000713984 00000 n +0000714049 00000 n +0000714113 00000 n +0000714177 00000 n +0000714241 00000 n +0000714306 00000 n +0000714370 00000 n +0000714434 00000 n +0000714498 00000 n +0000712295 00000 n +0000714563 00000 n +0000714627 00000 n +0000714691 00000 n +0000714755 00000 n +0000712453 00000 n +0000714948 00000 n +0000715011 00000 n +0000715075 00000 n +0000715139 00000 n +0000712610 00000 n +0000715204 00000 n +0000715268 00000 n +0000712767 00000 n +0000715333 00000 n +0000715397 00000 n +0000712925 00000 n +0000718505 00000 n +0000717285 00000 n +0000715564 00000 n +0000717601 00000 n +0000717794 00000 n +0000717432 00000 n +0000717987 00000 n +0000718051 00000 n +0000718115 00000 n +0000718179 00000 n +0000718245 00000 n +0000718311 00000 n +0000718375 00000 n +0000718439 00000 n +0000723898 00000 n +0000721222 00000 n 0000718649 00000 n -0000718712 00000 n -0000718776 00000 n -0000718842 00000 n -0000718908 00000 n -0000718972 00000 n -0000719980 00000 n -0000719724 00000 n -0000719166 00000 n -0000719850 00000 n -0000719914 00000 n -0000725331 00000 n -0000722655 00000 n -0000720082 00000 n -0000723131 00000 n -0000723323 00000 n -0000723387 00000 n -0000723452 00000 n -0000723773 00000 n -0000723965 00000 n -0000722811 00000 n -0000724029 00000 n -0000724095 00000 n -0000724161 00000 n -0000724227 00000 n -0000722970 00000 n -0000724293 00000 n -0000724358 00000 n -0000724423 00000 n -0000724488 00000 n -0000724553 00000 n -0000724619 00000 n -0000724685 00000 n -0000724749 00000 n -0000724813 00000 n -0000724878 00000 n -0000724943 00000 n -0000725137 00000 n -0000725201 00000 n -0000970422 00000 n -0000980254 00000 n -0000732674 00000 n -0000727656 00000 n -0000725475 00000 n -0000728133 00000 n -0000728391 00000 n -0000728455 00000 n -0000728521 00000 n -0000728585 00000 n -0000727812 00000 n -0000727974 00000 n -0000728649 00000 n -0000728714 00000 n -0000728778 00000 n -0000728843 00000 n -0000728907 00000 n -0000728971 00000 n -0000729036 00000 n -0000729101 00000 n -0000729166 00000 n -0000729232 00000 n -0000729298 00000 n -0000729363 00000 n -0000729428 00000 n -0000729493 00000 n -0000729557 00000 n -0000729621 00000 n -0000729685 00000 n -0000729750 00000 n -0000729815 00000 n -0000729880 00000 n -0000729944 00000 n -0000730008 00000 n -0000730073 00000 n -0000730137 00000 n -0000730201 00000 n -0000730266 00000 n -0000730330 00000 n -0000730396 00000 n -0000730462 00000 n -0000730528 00000 n -0000730593 00000 n -0000730658 00000 n -0000730722 00000 n -0000730786 00000 n -0000730852 00000 n -0000730916 00000 n -0000730982 00000 n +0000721698 00000 n +0000721890 00000 n +0000721954 00000 n +0000722019 00000 n +0000722340 00000 n +0000722532 00000 n +0000721378 00000 n +0000722596 00000 n +0000722662 00000 n +0000722728 00000 n +0000722794 00000 n +0000721537 00000 n +0000722860 00000 n +0000722925 00000 n +0000722990 00000 n +0000723055 00000 n +0000723120 00000 n +0000723186 00000 n +0000723252 00000 n +0000723316 00000 n +0000723380 00000 n +0000723445 00000 n +0000723510 00000 n +0000723704 00000 n +0000723768 00000 n +0000968991 00000 n +0000978520 00000 n +0000731241 00000 n +0000726223 00000 n +0000724042 00000 n +0000726700 00000 n +0000726958 00000 n +0000727022 00000 n +0000727088 00000 n +0000727152 00000 n +0000726379 00000 n +0000726541 00000 n +0000727216 00000 n +0000727281 00000 n +0000727345 00000 n +0000727410 00000 n +0000727474 00000 n +0000727538 00000 n +0000727603 00000 n +0000727668 00000 n +0000727733 00000 n +0000727799 00000 n +0000727865 00000 n +0000727930 00000 n +0000727995 00000 n +0000728060 00000 n +0000728124 00000 n +0000728188 00000 n +0000728252 00000 n +0000728317 00000 n +0000728382 00000 n +0000728447 00000 n +0000728511 00000 n +0000728575 00000 n +0000728640 00000 n +0000728704 00000 n +0000728768 00000 n +0000728833 00000 n +0000728897 00000 n +0000728963 00000 n +0000729029 00000 n +0000729095 00000 n +0000729160 00000 n +0000729225 00000 n +0000729289 00000 n +0000729353 00000 n +0000729419 00000 n +0000729483 00000 n +0000729549 00000 n +0000729615 00000 n +0000729681 00000 n +0000729747 00000 n +0000729813 00000 n +0000729879 00000 n +0000729945 00000 n +0000730011 00000 n +0000730077 00000 n +0000730142 00000 n +0000730207 00000 n +0000730271 00000 n +0000730335 00000 n +0000730401 00000 n +0000730466 00000 n +0000730531 00000 n +0000730596 00000 n +0000730660 00000 n +0000730724 00000 n +0000730789 00000 n +0000730854 00000 n +0000730919 00000 n +0000730984 00000 n 0000731048 00000 n -0000731114 00000 n -0000731180 00000 n -0000731246 00000 n -0000731312 00000 n -0000731378 00000 n -0000731444 00000 n -0000731510 00000 n -0000731575 00000 n -0000731640 00000 n -0000731704 00000 n -0000731768 00000 n -0000731834 00000 n -0000731899 00000 n -0000731964 00000 n -0000732029 00000 n -0000732093 00000 n -0000732157 00000 n -0000732222 00000 n -0000732287 00000 n -0000732352 00000 n -0000732417 00000 n -0000732481 00000 n -0000732545 00000 n -0000732610 00000 n -0001137646 00000 n -0000960576 00000 n -0000735577 00000 n -0000734241 00000 n -0000732818 00000 n -0000734539 00000 n -0000734603 00000 n -0000734669 00000 n -0000734735 00000 n -0000734801 00000 n -0000734865 00000 n -0000734388 00000 n -0000735186 00000 n -0000735250 00000 n -0000735316 00000 n -0000735381 00000 n -0000735447 00000 n -0000735511 00000 n -0000740309 00000 n -0000738183 00000 n -0000735707 00000 n -0000738309 00000 n -0000738630 00000 n -0000738694 00000 n -0000738760 00000 n -0000738824 00000 n -0000739018 00000 n -0000739081 00000 n -0000739144 00000 n -0000739208 00000 n -0000739272 00000 n -0000739337 00000 n -0000739403 00000 n -0000739469 00000 n -0000739535 00000 n -0000739601 00000 n -0000739665 00000 n -0000739729 00000 n -0000739794 00000 n -0000739858 00000 n -0000739923 00000 n -0000739987 00000 n -0000740051 00000 n -0000740116 00000 n -0000740180 00000 n -0000740245 00000 n -0000747052 00000 n -0000743761 00000 n -0000740439 00000 n +0000731112 00000 n +0000731177 00000 n +0000959146 00000 n +0000734144 00000 n +0000732808 00000 n +0000731385 00000 n +0000733106 00000 n +0000733170 00000 n +0000733236 00000 n +0000733302 00000 n +0000733368 00000 n +0000733432 00000 n +0000732955 00000 n +0000733753 00000 n +0000733817 00000 n +0000733883 00000 n +0000733948 00000 n +0000734014 00000 n +0000734078 00000 n +0000738870 00000 n +0000736744 00000 n +0000734274 00000 n +0000736870 00000 n +0000737191 00000 n +0000737255 00000 n +0000737321 00000 n +0000737385 00000 n +0000737579 00000 n +0000737642 00000 n +0000737705 00000 n +0000737769 00000 n +0000737833 00000 n +0000737898 00000 n +0000737964 00000 n +0000738030 00000 n +0000738096 00000 n +0000738162 00000 n +0000738226 00000 n +0000738290 00000 n +0000738355 00000 n +0000738419 00000 n +0000738484 00000 n +0000738548 00000 n +0000738612 00000 n +0000738677 00000 n +0000738741 00000 n +0000738806 00000 n +0001135911 00000 n +0000745631 00000 n +0000742340 00000 n +0000739000 00000 n +0000742466 00000 n +0000742530 00000 n +0000742595 00000 n +0000742661 00000 n +0000742727 00000 n +0000742920 00000 n +0000742984 00000 n +0000743048 00000 n +0000743112 00000 n +0000743176 00000 n +0000743241 00000 n +0000743306 00000 n +0000743371 00000 n +0000743435 00000 n +0000743499 00000 n +0000743564 00000 n +0000743629 00000 n +0000743693 00000 n +0000743758 00000 n +0000743823 00000 n 0000743887 00000 n -0000743951 00000 n -0000744016 00000 n -0000744082 00000 n -0000744148 00000 n -0000744341 00000 n -0000744405 00000 n -0000744469 00000 n +0000743952 00000 n +0000744017 00000 n +0000744081 00000 n +0000744146 00000 n +0000744211 00000 n +0000744274 00000 n +0000744339 00000 n +0000744404 00000 n +0000744468 00000 n 0000744533 00000 n -0000744597 00000 n +0000744598 00000 n 0000744662 00000 n 0000744727 00000 n 0000744792 00000 n 0000744856 00000 n -0000744920 00000 n -0000744985 00000 n +0000744921 00000 n +0000744986 00000 n 0000745050 00000 n -0000745114 00000 n -0000745179 00000 n +0000745115 00000 n +0000745180 00000 n 0000745244 00000 n -0000745308 00000 n -0000745373 00000 n +0000745309 00000 n +0000745374 00000 n 0000745438 00000 n -0000745502 00000 n -0000745567 00000 n -0000745632 00000 n -0000745695 00000 n -0000745760 00000 n -0000745825 00000 n -0000745889 00000 n -0000745954 00000 n -0000746019 00000 n -0000746083 00000 n -0000746148 00000 n -0000746213 00000 n -0000746277 00000 n -0000746342 00000 n -0000746407 00000 n -0000746471 00000 n -0000746536 00000 n -0000746601 00000 n -0000746665 00000 n -0000746730 00000 n -0000746795 00000 n -0000746859 00000 n -0000746924 00000 n -0000746989 00000 n -0000753395 00000 n -0000752025 00000 n -0000749515 00000 n -0000747154 00000 n -0000749825 00000 n -0000749953 00000 n -0000750018 00000 n -0000750083 00000 n -0000750146 00000 n -0000750211 00000 n -0000750276 00000 n -0000750340 00000 n -0000750405 00000 n -0000750470 00000 n -0000750534 00000 n -0000750599 00000 n -0000750664 00000 n -0000750730 00000 n -0000750796 00000 n -0000750860 00000 n -0000750924 00000 n -0000750989 00000 n -0000751054 00000 n -0000751118 00000 n -0000751183 00000 n -0000751248 00000 n -0000751312 00000 n -0000751377 00000 n -0000751442 00000 n -0000751506 00000 n -0000751571 00000 n -0000751765 00000 n -0000749662 00000 n -0000751829 00000 n -0000751895 00000 n -0000803570 00000 n -0000753248 00000 n -0000752127 00000 n -0000802991 00000 n -0000803055 00000 n -0000803119 00000 n -0000803248 00000 n -0000803312 00000 n -0000803378 00000 n -0000803442 00000 n -0000802830 00000 n -0000808531 00000 n -0000806079 00000 n -0000803723 00000 n -0000806205 00000 n -0000806334 00000 n -0000806398 00000 n -0000806462 00000 n -0000806528 00000 n -0000806594 00000 n -0000806660 00000 n -0000806724 00000 n -0000806788 00000 n -0000806852 00000 n -0000806917 00000 n -0000806982 00000 n -0000807046 00000 n -0000807111 00000 n -0000807176 00000 n -0000807240 00000 n -0000807305 00000 n -0000807498 00000 n -0000807562 00000 n -0000807754 00000 n -0000807818 00000 n -0000807882 00000 n -0000807945 00000 n -0000808011 00000 n -0000808075 00000 n -0000808141 00000 n -0000808205 00000 n -0000808271 00000 n -0000808335 00000 n -0000808401 00000 n -0000808465 00000 n -0001137771 00000 n -0000813069 00000 n -0000811267 00000 n -0000808633 00000 n -0000811393 00000 n -0000811457 00000 n -0000811650 00000 n -0000811714 00000 n -0000811780 00000 n -0000811844 00000 n -0000811909 00000 n -0000811973 00000 n -0000812166 00000 n -0000812230 00000 n -0000812296 00000 n -0000812362 00000 n -0000812426 00000 n -0000812621 00000 n -0000812813 00000 n -0000812877 00000 n -0000812941 00000 n -0000813005 00000 n -0000818259 00000 n -0000816142 00000 n -0000813185 00000 n -0000816452 00000 n -0000816516 00000 n -0000816708 00000 n -0000816771 00000 n -0000816289 00000 n -0000816836 00000 n -0000816900 00000 n -0000816966 00000 n -0000817031 00000 n -0000817355 00000 n -0000817419 00000 n -0000817485 00000 n -0000817549 00000 n -0000817613 00000 n -0000817677 00000 n -0000817742 00000 n -0000817808 00000 n -0000817874 00000 n -0000817938 00000 n -0000818002 00000 n -0000818068 00000 n -0000818133 00000 n -0000818197 00000 n -0000822978 00000 n -0000821368 00000 n -0000818375 00000 n -0000821494 00000 n -0000821558 00000 n -0000821623 00000 n -0000821688 00000 n -0000821752 00000 n -0000821817 00000 n -0000821883 00000 n -0000821947 00000 n -0000822011 00000 n -0000822076 00000 n -0000822141 00000 n -0000822205 00000 n -0000822270 00000 n -0000822334 00000 n -0000822399 00000 n -0000822465 00000 n -0000822529 00000 n -0000822721 00000 n -0000822785 00000 n -0000822851 00000 n -0000827173 00000 n -0000825634 00000 n -0000823094 00000 n -0000825760 00000 n -0000825889 00000 n -0000825953 00000 n -0000826016 00000 n -0000826080 00000 n -0000826144 00000 n -0000826207 00000 n -0000826273 00000 n -0000826338 00000 n -0000826404 00000 n -0000826468 00000 n -0000826662 00000 n -0000826725 00000 n -0000826789 00000 n -0000826853 00000 n -0000827046 00000 n -0000830942 00000 n -0000829276 00000 n -0000827289 00000 n -0000829402 00000 n -0000829466 00000 n -0000829595 00000 n -0000829788 00000 n -0000829978 00000 n -0000830171 00000 n -0000830364 00000 n -0000830428 00000 n -0000830621 00000 n -0000830814 00000 n -0000834469 00000 n -0000833056 00000 n -0000831044 00000 n -0000833182 00000 n -0000833246 00000 n -0000833375 00000 n -0000833439 00000 n -0000833505 00000 n -0000833569 00000 n -0000833762 00000 n -0000833826 00000 n -0000834019 00000 n -0000834212 00000 n -0000834275 00000 n -0000834341 00000 n -0001137896 00000 n -0000840161 00000 n -0000837395 00000 n -0000834571 00000 n -0000837521 00000 n -0000837650 00000 n -0000837714 00000 n -0000837780 00000 n -0000837846 00000 n -0000837911 00000 n -0000838104 00000 n -0000838296 00000 n -0000838359 00000 n -0000838422 00000 n -0000838486 00000 n -0000838551 00000 n -0000838615 00000 n -0000838679 00000 n -0000838743 00000 n -0000838808 00000 n -0000838872 00000 n -0000838937 00000 n -0000839001 00000 n -0000839066 00000 n -0000839129 00000 n -0000839194 00000 n -0000839258 00000 n -0000839323 00000 n -0000839387 00000 n -0000839452 00000 n -0000839516 00000 n -0000839581 00000 n -0000839645 00000 n -0000839839 00000 n -0000839903 00000 n -0000839966 00000 n -0000840031 00000 n -0000840097 00000 n -0000845846 00000 n -0000843327 00000 n -0000840277 00000 n -0000843453 00000 n -0000843517 00000 n -0000843581 00000 n -0000843647 00000 n -0000843711 00000 n -0000843777 00000 n -0000843843 00000 n -0000843907 00000 n -0000843973 00000 n -0000844037 00000 n -0000844101 00000 n -0000844165 00000 n -0000844230 00000 n -0000844293 00000 n -0000844358 00000 n -0000844424 00000 n -0000844488 00000 n -0000844553 00000 n -0000844619 00000 n -0000844682 00000 n -0000844747 00000 n -0000844812 00000 n -0000844876 00000 n -0000844940 00000 n -0000845005 00000 n -0000845069 00000 n -0000845133 00000 n -0000845197 00000 n -0000845263 00000 n -0000845328 00000 n -0000845394 00000 n -0000845458 00000 n -0000845522 00000 n -0000845588 00000 n -0000845652 00000 n -0000845718 00000 n -0000845782 00000 n -0000850770 00000 n -0000847826 00000 n -0000845962 00000 n -0000848126 00000 n -0000848190 00000 n -0000848254 00000 n -0000848318 00000 n -0000848384 00000 n -0000848450 00000 n -0000848645 00000 n -0000847973 00000 n -0000848838 00000 n -0000848902 00000 n -0000848968 00000 n -0000849163 00000 n -0000849227 00000 n -0000849291 00000 n -0000849357 00000 n -0000849421 00000 n -0000849485 00000 n -0000849549 00000 n -0000849614 00000 n -0000849678 00000 n -0000849742 00000 n -0000849807 00000 n -0000849871 00000 n -0000849935 00000 n -0000850000 00000 n -0000850064 00000 n -0000850128 00000 n -0000850193 00000 n -0000850257 00000 n -0000850321 00000 n -0000850386 00000 n -0000850448 00000 n -0000850512 00000 n -0000850577 00000 n -0000850641 00000 n -0000850705 00000 n -0000855065 00000 n -0000852761 00000 n -0000850872 00000 n -0000853079 00000 n -0000853207 00000 n -0000853271 00000 n -0000853335 00000 n -0000853400 00000 n -0000853464 00000 n -0000853529 00000 n -0000853593 00000 n -0000853657 00000 n -0000853722 00000 n -0000853786 00000 n -0000853850 00000 n -0000853915 00000 n -0000853978 00000 n -0000854042 00000 n -0000854107 00000 n -0000854171 00000 n -0000854235 00000 n -0000854300 00000 n -0000854362 00000 n -0000852908 00000 n -0000854554 00000 n -0000854745 00000 n -0000854809 00000 n -0000854873 00000 n -0000854937 00000 n -0000855001 00000 n -0000859154 00000 n -0000857874 00000 n -0000855181 00000 n -0000858000 00000 n -0000858129 00000 n -0000858193 00000 n -0000858257 00000 n -0000858321 00000 n -0000858385 00000 n -0000858449 00000 n -0000858641 00000 n -0000858705 00000 n -0000858769 00000 n -0000858833 00000 n -0000858897 00000 n -0000859090 00000 n -0000862638 00000 n -0000861423 00000 n -0000859270 00000 n -0000861549 00000 n -0000861613 00000 n -0000861677 00000 n -0000861870 00000 n -0000861934 00000 n -0000861998 00000 n -0000862062 00000 n -0000862126 00000 n -0000862190 00000 n -0000862253 00000 n -0000862317 00000 n -0000862510 00000 n -0000862574 00000 n -0001138021 00000 n -0000866935 00000 n -0000865342 00000 n -0000862740 00000 n -0000865839 00000 n -0000865903 00000 n -0000865969 00000 n -0000866035 00000 n -0000865498 00000 n -0000866099 00000 n -0000866164 00000 n -0000865666 00000 n -0000866357 00000 n -0000866420 00000 n -0000866484 00000 n -0000866677 00000 n -0000866741 00000 n -0000866805 00000 n -0000866869 00000 n -0000871267 00000 n -0000869882 00000 n -0000867051 00000 n -0000870181 00000 n -0000870245 00000 n -0000870309 00000 n -0000870373 00000 n -0000870436 00000 n -0000870628 00000 n -0000870692 00000 n -0000870756 00000 n -0000870029 00000 n -0000870820 00000 n -0000870882 00000 n -0000870946 00000 n -0000871010 00000 n -0000871074 00000 n -0000871138 00000 n -0000872586 00000 n -0000872140 00000 n -0000871383 00000 n -0000872266 00000 n -0000872395 00000 n -0000872459 00000 n -0000872522 00000 n -0000877356 00000 n -0000874847 00000 n -0000872702 00000 n -0000875160 00000 n -0000875481 00000 n -0000875545 00000 n -0000875609 00000 n -0000875803 00000 n -0000875867 00000 n -0000875933 00000 n -0000875997 00000 n -0000876062 00000 n -0000876128 00000 n -0000876192 00000 n -0000876257 00000 n -0000876323 00000 n -0000876388 00000 n -0000876451 00000 n -0000876643 00000 n -0000876707 00000 n -0000874994 00000 n -0000876900 00000 n -0000876964 00000 n -0000877030 00000 n -0000877096 00000 n -0000877162 00000 n -0000877226 00000 n -0000877292 00000 n -0000882386 00000 n -0000880311 00000 n -0000877472 00000 n -0000880437 00000 n -0000880501 00000 n -0000880567 00000 n -0000880633 00000 n -0000880828 00000 n -0000880892 00000 n -0000880956 00000 n -0000881021 00000 n -0000881087 00000 n -0000881151 00000 n -0000881215 00000 n -0000881279 00000 n -0000881343 00000 n -0000881409 00000 n -0000881473 00000 n -0000881537 00000 n -0000881603 00000 n -0000881667 00000 n -0000881731 00000 n -0000881795 00000 n -0000881859 00000 n -0000881925 00000 n -0000881991 00000 n -0000882057 00000 n -0000882122 00000 n -0000882188 00000 n -0000882254 00000 n -0000882320 00000 n -0000887712 00000 n -0000885712 00000 n -0000882544 00000 n -0000885838 00000 n -0000886031 00000 n -0000886095 00000 n -0000886159 00000 n -0000886225 00000 n -0000886289 00000 n -0000886355 00000 n -0000886419 00000 n -0000886483 00000 n -0000886547 00000 n -0000886612 00000 n -0000886807 00000 n -0000886871 00000 n -0000886937 00000 n -0000887001 00000 n -0000887067 00000 n -0000887131 00000 n -0000887197 00000 n -0000887261 00000 n -0000887325 00000 n -0000887389 00000 n -0000887453 00000 n -0000887518 00000 n -0000887582 00000 n -0000887646 00000 n -0001138146 00000 n -0000893498 00000 n -0000891117 00000 n -0000887842 00000 n -0000891243 00000 n -0000891307 00000 n -0000891371 00000 n -0000891437 00000 n -0000891632 00000 n -0000891696 00000 n -0000891760 00000 n -0000891824 00000 n -0000891888 00000 n -0000891952 00000 n -0000892016 00000 n -0000892080 00000 n -0000892146 00000 n -0000892210 00000 n -0000892274 00000 n -0000892338 00000 n -0000892402 00000 n -0000892468 00000 n -0000892534 00000 n -0000892600 00000 n -0000892664 00000 n -0000892728 00000 n -0000892792 00000 n -0000892856 00000 n -0000892920 00000 n -0000892984 00000 n -0000893048 00000 n -0000893111 00000 n -0000893174 00000 n -0000893239 00000 n -0000893305 00000 n -0000893369 00000 n -0000893433 00000 n -0000897955 00000 n -0000896148 00000 n -0000893628 00000 n -0000896274 00000 n -0000896338 00000 n -0000896404 00000 n -0000896468 00000 n -0000896532 00000 n -0000896598 00000 n -0000896664 00000 n -0000896730 00000 n -0000896794 00000 n -0000896860 00000 n -0000896924 00000 n -0000896989 00000 n -0000897053 00000 n -0000897117 00000 n -0000897181 00000 n -0000897374 00000 n -0000897438 00000 n -0000897631 00000 n -0000897695 00000 n -0000897761 00000 n -0000897825 00000 n -0000897889 00000 n -0000901326 00000 n -0000900230 00000 n -0000898085 00000 n -0000900356 00000 n -0000900420 00000 n -0000900486 00000 n -0000900550 00000 n -0000900615 00000 n -0000900681 00000 n -0000900747 00000 n -0000900811 00000 n -0000900876 00000 n -0000900940 00000 n -0000901004 00000 n -0000901070 00000 n -0000901134 00000 n -0000901198 00000 n -0000901262 00000 n -0000903453 00000 n -0000902745 00000 n -0000901428 00000 n -0000902871 00000 n -0000902935 00000 n -0000902999 00000 n -0000903065 00000 n -0000903130 00000 n -0000903323 00000 n -0000903387 00000 n -0000908509 00000 n -0000906104 00000 n -0000903583 00000 n -0000906580 00000 n -0000906772 00000 n -0000906965 00000 n -0000907029 00000 n -0000907095 00000 n -0000907161 00000 n -0000906260 00000 n -0000906420 00000 n -0000907225 00000 n -0000907290 00000 n -0000907354 00000 n -0000907420 00000 n -0000907484 00000 n -0000907679 00000 n -0000907743 00000 n -0000907808 00000 n -0000907874 00000 n -0000907937 00000 n -0000908126 00000 n -0000908190 00000 n -0000908254 00000 n -0000908318 00000 n -0000908383 00000 n -0000908446 00000 n -0000912409 00000 n -0000910477 00000 n -0000908653 00000 n -0000910603 00000 n -0000910667 00000 n -0000910861 00000 n -0000910925 00000 n -0000910988 00000 n -0000911052 00000 n -0000911118 00000 n -0000911182 00000 n -0000911246 00000 n -0000911310 00000 n -0000911503 00000 n -0000911567 00000 n -0000911633 00000 n -0000911697 00000 n -0000911761 00000 n -0000911827 00000 n -0000911892 00000 n -0000911958 00000 n -0000912022 00000 n -0000912086 00000 n -0000912280 00000 n -0000912344 00000 n -0001138271 00000 n -0000916712 00000 n -0000914730 00000 n -0000912553 00000 n -0000915035 00000 n -0000915099 00000 n -0000915163 00000 n -0000915229 00000 n -0000915293 00000 n -0000915357 00000 n -0000915421 00000 n -0000915485 00000 n -0000915549 00000 n -0000915615 00000 n -0000915681 00000 n -0000915745 00000 n -0000915808 00000 n -0000915872 00000 n -0000915936 00000 n -0000916001 00000 n -0000916067 00000 n -0000916131 00000 n -0000916197 00000 n -0000916392 00000 n -0000916456 00000 n -0000916520 00000 n -0000916584 00000 n -0000914877 00000 n -0000918396 00000 n -0000917821 00000 n -0000916856 00000 n -0000917947 00000 n -0000918076 00000 n -0000918140 00000 n -0000918203 00000 n -0000918268 00000 n -0000918332 00000 n -0000924729 00000 n -0000921552 00000 n -0000918512 00000 n -0000921678 00000 n -0000921869 00000 n -0000921933 00000 n -0000922128 00000 n -0000922192 00000 n -0000922258 00000 n -0000922324 00000 n -0000922390 00000 n -0000922456 00000 n -0000922520 00000 n -0000922586 00000 n -0000922650 00000 n -0000922714 00000 n -0000922778 00000 n -0000922844 00000 n -0000922908 00000 n -0000922972 00000 n -0000923038 00000 n -0000923104 00000 n -0000923170 00000 n -0000923236 00000 n -0000923302 00000 n -0000923368 00000 n -0000923432 00000 n -0000923498 00000 n -0000923562 00000 n -0000923626 00000 n -0000923692 00000 n -0000923756 00000 n -0000923821 00000 n -0000923885 00000 n -0000923951 00000 n -0000924147 00000 n -0000924211 00000 n -0000924277 00000 n -0000924343 00000 n -0000924407 00000 n -0000924472 00000 n -0000924537 00000 n -0000924601 00000 n -0000924665 00000 n -0000928925 00000 n -0000926542 00000 n -0000924873 00000 n -0000926860 00000 n -0000927183 00000 n -0000927247 00000 n -0000927311 00000 n -0000927375 00000 n -0000927439 00000 n -0000927503 00000 n -0000927567 00000 n -0000927631 00000 n -0000927695 00000 n -0000927759 00000 n -0000927824 00000 n -0000927888 00000 n -0000927954 00000 n -0000928020 00000 n -0000926689 00000 n -0000928214 00000 n -0000928277 00000 n -0000928341 00000 n -0000928406 00000 n -0000928471 00000 n -0000928535 00000 n -0000928599 00000 n -0000928665 00000 n -0000928731 00000 n -0000928795 00000 n -0000928859 00000 n -0000931550 00000 n -0000929671 00000 n -0000929055 00000 n -0000929797 00000 n -0000929861 00000 n -0000929927 00000 n -0000929991 00000 n -0000930054 00000 n -0000930120 00000 n -0000930186 00000 n -0000930250 00000 n -0000930314 00000 n -0000930380 00000 n -0000930446 00000 n -0000930510 00000 n -0000930574 00000 n -0000930640 00000 n -0000930706 00000 n -0000930770 00000 n -0000930834 00000 n -0000930900 00000 n -0000930966 00000 n -0000931030 00000 n -0000931094 00000 n -0000931160 00000 n -0000931226 00000 n -0000931290 00000 n -0000931354 00000 n -0000931420 00000 n -0000931486 00000 n -0000934491 00000 n -0000932419 00000 n -0000931638 00000 n +0000745503 00000 n +0000745568 00000 n +0000751969 00000 n +0000750604 00000 n +0000748094 00000 n +0000745733 00000 n +0000748404 00000 n +0000748532 00000 n +0000748597 00000 n +0000748662 00000 n +0000748725 00000 n +0000748790 00000 n +0000748855 00000 n +0000748919 00000 n +0000748984 00000 n +0000749049 00000 n +0000749113 00000 n +0000749178 00000 n +0000749243 00000 n +0000749309 00000 n +0000749375 00000 n +0000749439 00000 n +0000749503 00000 n +0000749568 00000 n +0000749633 00000 n +0000749697 00000 n +0000749762 00000 n +0000749827 00000 n +0000749891 00000 n +0000749956 00000 n +0000750021 00000 n +0000750085 00000 n +0000750150 00000 n +0000750344 00000 n +0000748241 00000 n +0000750408 00000 n +0000750474 00000 n +0000802144 00000 n +0000751822 00000 n +0000750706 00000 n +0000801565 00000 n +0000801629 00000 n +0000801693 00000 n +0000801822 00000 n +0000801886 00000 n +0000801952 00000 n +0000802016 00000 n +0000801404 00000 n +0000807105 00000 n +0000804653 00000 n +0000802297 00000 n +0000804779 00000 n +0000804908 00000 n +0000804972 00000 n +0000805036 00000 n +0000805102 00000 n +0000805168 00000 n +0000805234 00000 n +0000805298 00000 n +0000805362 00000 n +0000805426 00000 n +0000805491 00000 n +0000805556 00000 n +0000805620 00000 n +0000805685 00000 n +0000805750 00000 n +0000805814 00000 n +0000805879 00000 n +0000806072 00000 n +0000806136 00000 n +0000806328 00000 n +0000806392 00000 n +0000806456 00000 n +0000806519 00000 n +0000806585 00000 n +0000806649 00000 n +0000806715 00000 n +0000806779 00000 n +0000806845 00000 n +0000806909 00000 n +0000806975 00000 n +0000807039 00000 n +0000811643 00000 n +0000809841 00000 n +0000807207 00000 n +0000809967 00000 n +0000810031 00000 n +0000810224 00000 n +0000810288 00000 n +0000810354 00000 n +0000810418 00000 n +0000810483 00000 n +0000810547 00000 n +0000810740 00000 n +0000810804 00000 n +0000810870 00000 n +0000810936 00000 n +0000811000 00000 n +0000811195 00000 n +0000811387 00000 n +0000811451 00000 n +0000811515 00000 n +0000811579 00000 n +0000816828 00000 n +0000814711 00000 n +0000811759 00000 n +0000815021 00000 n +0000815085 00000 n +0000815277 00000 n +0000815340 00000 n +0000814858 00000 n +0000815405 00000 n +0000815469 00000 n +0000815535 00000 n +0000815600 00000 n +0000815924 00000 n +0000815988 00000 n +0000816054 00000 n +0000816118 00000 n +0000816182 00000 n +0000816246 00000 n +0000816311 00000 n +0000816377 00000 n +0000816443 00000 n +0000816507 00000 n +0000816571 00000 n +0000816637 00000 n +0000816702 00000 n +0000816766 00000 n +0001136036 00000 n +0000821547 00000 n +0000819937 00000 n +0000816944 00000 n +0000820063 00000 n +0000820127 00000 n +0000820192 00000 n +0000820257 00000 n +0000820321 00000 n +0000820386 00000 n +0000820452 00000 n +0000820516 00000 n +0000820580 00000 n +0000820645 00000 n +0000820710 00000 n +0000820774 00000 n +0000820839 00000 n +0000820903 00000 n +0000820968 00000 n +0000821034 00000 n +0000821098 00000 n +0000821290 00000 n +0000821354 00000 n +0000821420 00000 n +0000825742 00000 n +0000824203 00000 n +0000821663 00000 n +0000824329 00000 n +0000824458 00000 n +0000824522 00000 n +0000824585 00000 n +0000824649 00000 n +0000824713 00000 n +0000824776 00000 n +0000824842 00000 n +0000824907 00000 n +0000824973 00000 n +0000825037 00000 n +0000825231 00000 n +0000825294 00000 n +0000825358 00000 n +0000825422 00000 n +0000825615 00000 n +0000829511 00000 n +0000827845 00000 n +0000825858 00000 n +0000827971 00000 n +0000828035 00000 n +0000828164 00000 n +0000828357 00000 n +0000828547 00000 n +0000828740 00000 n +0000828933 00000 n +0000828997 00000 n +0000829190 00000 n +0000829383 00000 n +0000833039 00000 n +0000831626 00000 n +0000829613 00000 n +0000831752 00000 n +0000831816 00000 n +0000831945 00000 n +0000832009 00000 n +0000832075 00000 n +0000832139 00000 n +0000832332 00000 n +0000832396 00000 n +0000832589 00000 n +0000832782 00000 n +0000832845 00000 n +0000832911 00000 n +0000838732 00000 n +0000835966 00000 n +0000833141 00000 n +0000836092 00000 n +0000836221 00000 n +0000836285 00000 n +0000836351 00000 n +0000836417 00000 n +0000836482 00000 n +0000836675 00000 n +0000836867 00000 n +0000836930 00000 n +0000836993 00000 n +0000837057 00000 n +0000837122 00000 n +0000837186 00000 n +0000837250 00000 n +0000837314 00000 n +0000837379 00000 n +0000837443 00000 n +0000837508 00000 n +0000837572 00000 n +0000837637 00000 n +0000837700 00000 n +0000837765 00000 n +0000837829 00000 n +0000837894 00000 n +0000837958 00000 n +0000838023 00000 n +0000838087 00000 n +0000838152 00000 n +0000838216 00000 n +0000838410 00000 n +0000838474 00000 n +0000838537 00000 n +0000838602 00000 n +0000838668 00000 n +0000844416 00000 n +0000841897 00000 n +0000838848 00000 n +0000842023 00000 n +0000842087 00000 n +0000842151 00000 n +0000842217 00000 n +0000842281 00000 n +0000842347 00000 n +0000842413 00000 n +0000842477 00000 n +0000842543 00000 n +0000842607 00000 n +0000842671 00000 n +0000842735 00000 n +0000842800 00000 n +0000842863 00000 n +0000842928 00000 n +0000842994 00000 n +0000843058 00000 n +0000843123 00000 n +0000843189 00000 n +0000843252 00000 n +0000843317 00000 n +0000843382 00000 n +0000843446 00000 n +0000843510 00000 n +0000843575 00000 n +0000843639 00000 n +0000843703 00000 n +0000843767 00000 n +0000843833 00000 n +0000843898 00000 n +0000843964 00000 n +0000844028 00000 n +0000844092 00000 n +0000844158 00000 n +0000844222 00000 n +0000844288 00000 n +0000844352 00000 n +0001136161 00000 n +0000849341 00000 n +0000846397 00000 n +0000844532 00000 n +0000846697 00000 n +0000846761 00000 n +0000846825 00000 n +0000846889 00000 n +0000846955 00000 n +0000847021 00000 n +0000847216 00000 n +0000846544 00000 n +0000847409 00000 n +0000847473 00000 n +0000847539 00000 n +0000847734 00000 n +0000847798 00000 n +0000847862 00000 n +0000847928 00000 n +0000847992 00000 n +0000848056 00000 n +0000848120 00000 n +0000848185 00000 n +0000848249 00000 n +0000848313 00000 n +0000848378 00000 n +0000848442 00000 n +0000848506 00000 n +0000848571 00000 n +0000848635 00000 n +0000848699 00000 n +0000848764 00000 n +0000848828 00000 n +0000848892 00000 n +0000848957 00000 n +0000849019 00000 n +0000849083 00000 n +0000849148 00000 n +0000849212 00000 n +0000849276 00000 n +0000853636 00000 n +0000851332 00000 n +0000849443 00000 n +0000851650 00000 n +0000851778 00000 n +0000851842 00000 n +0000851906 00000 n +0000851971 00000 n +0000852035 00000 n +0000852100 00000 n +0000852164 00000 n +0000852228 00000 n +0000852293 00000 n +0000852357 00000 n +0000852421 00000 n +0000852486 00000 n +0000852549 00000 n +0000852613 00000 n +0000852678 00000 n +0000852742 00000 n +0000852806 00000 n +0000852871 00000 n +0000852933 00000 n +0000851479 00000 n +0000853125 00000 n +0000853316 00000 n +0000853380 00000 n +0000853444 00000 n +0000853508 00000 n +0000853572 00000 n +0000857725 00000 n +0000856445 00000 n +0000853752 00000 n +0000856571 00000 n +0000856700 00000 n +0000856764 00000 n +0000856828 00000 n +0000856892 00000 n +0000856956 00000 n +0000857020 00000 n +0000857212 00000 n +0000857276 00000 n +0000857340 00000 n +0000857404 00000 n +0000857468 00000 n +0000857661 00000 n +0000861209 00000 n +0000859994 00000 n +0000857841 00000 n +0000860120 00000 n +0000860184 00000 n +0000860248 00000 n +0000860441 00000 n +0000860505 00000 n +0000860569 00000 n +0000860633 00000 n +0000860697 00000 n +0000860761 00000 n +0000860824 00000 n +0000860888 00000 n +0000861081 00000 n +0000861145 00000 n +0000865506 00000 n +0000863913 00000 n +0000861311 00000 n +0000864410 00000 n +0000864474 00000 n +0000864540 00000 n +0000864606 00000 n +0000864069 00000 n +0000864670 00000 n +0000864735 00000 n +0000864237 00000 n +0000864928 00000 n +0000864991 00000 n +0000865055 00000 n +0000865248 00000 n +0000865312 00000 n +0000865376 00000 n +0000865440 00000 n +0000869839 00000 n +0000868454 00000 n +0000865622 00000 n +0000868753 00000 n +0000868817 00000 n +0000868881 00000 n +0000868945 00000 n +0000869008 00000 n +0000869200 00000 n +0000869264 00000 n +0000869328 00000 n +0000868601 00000 n +0000869392 00000 n +0000869454 00000 n +0000869518 00000 n +0000869582 00000 n +0000869646 00000 n +0000869710 00000 n +0001136286 00000 n +0000871158 00000 n +0000870712 00000 n +0000869955 00000 n +0000870838 00000 n +0000870967 00000 n +0000871031 00000 n +0000871094 00000 n +0000875929 00000 n +0000873420 00000 n +0000871274 00000 n +0000873733 00000 n +0000874054 00000 n +0000874118 00000 n +0000874182 00000 n +0000874376 00000 n +0000874440 00000 n +0000874506 00000 n +0000874570 00000 n +0000874635 00000 n +0000874701 00000 n +0000874765 00000 n +0000874830 00000 n +0000874896 00000 n +0000874961 00000 n +0000875024 00000 n +0000875216 00000 n +0000875280 00000 n +0000873567 00000 n +0000875473 00000 n +0000875537 00000 n +0000875603 00000 n +0000875669 00000 n +0000875735 00000 n +0000875799 00000 n +0000875865 00000 n +0000880959 00000 n +0000878884 00000 n +0000876045 00000 n +0000879010 00000 n +0000879074 00000 n +0000879140 00000 n +0000879206 00000 n +0000879401 00000 n +0000879465 00000 n +0000879529 00000 n +0000879594 00000 n +0000879660 00000 n +0000879724 00000 n +0000879788 00000 n +0000879852 00000 n +0000879916 00000 n +0000879982 00000 n +0000880046 00000 n +0000880110 00000 n +0000880176 00000 n +0000880240 00000 n +0000880304 00000 n +0000880368 00000 n +0000880432 00000 n +0000880498 00000 n +0000880564 00000 n +0000880630 00000 n +0000880695 00000 n +0000880761 00000 n +0000880827 00000 n +0000880893 00000 n +0000886286 00000 n +0000884286 00000 n +0000881117 00000 n +0000884412 00000 n +0000884605 00000 n +0000884669 00000 n +0000884733 00000 n +0000884799 00000 n +0000884863 00000 n +0000884929 00000 n +0000884993 00000 n +0000885057 00000 n +0000885121 00000 n +0000885186 00000 n +0000885381 00000 n +0000885445 00000 n +0000885511 00000 n +0000885575 00000 n +0000885641 00000 n +0000885705 00000 n +0000885771 00000 n +0000885835 00000 n +0000885899 00000 n +0000885963 00000 n +0000886027 00000 n +0000886092 00000 n +0000886156 00000 n +0000886220 00000 n +0000892072 00000 n +0000889691 00000 n +0000886416 00000 n +0000889817 00000 n +0000889881 00000 n +0000889945 00000 n +0000890011 00000 n +0000890206 00000 n +0000890270 00000 n +0000890334 00000 n +0000890398 00000 n +0000890462 00000 n +0000890526 00000 n +0000890590 00000 n +0000890654 00000 n +0000890720 00000 n +0000890784 00000 n +0000890848 00000 n +0000890912 00000 n +0000890976 00000 n +0000891042 00000 n +0000891108 00000 n +0000891174 00000 n +0000891238 00000 n +0000891302 00000 n +0000891366 00000 n +0000891430 00000 n +0000891494 00000 n +0000891558 00000 n +0000891622 00000 n +0000891685 00000 n +0000891748 00000 n +0000891813 00000 n +0000891879 00000 n +0000891943 00000 n +0000892007 00000 n +0000896529 00000 n +0000894722 00000 n +0000892202 00000 n +0000894848 00000 n +0000894912 00000 n +0000894978 00000 n +0000895042 00000 n +0000895106 00000 n +0000895172 00000 n +0000895238 00000 n +0000895304 00000 n +0000895368 00000 n +0000895434 00000 n +0000895498 00000 n +0000895563 00000 n +0000895627 00000 n +0000895691 00000 n +0000895755 00000 n +0000895948 00000 n +0000896012 00000 n +0000896205 00000 n +0000896269 00000 n +0000896335 00000 n +0000896399 00000 n +0000896463 00000 n +0001136411 00000 n +0000899900 00000 n +0000898804 00000 n +0000896659 00000 n +0000898930 00000 n +0000898994 00000 n +0000899060 00000 n +0000899124 00000 n +0000899189 00000 n +0000899255 00000 n +0000899321 00000 n +0000899385 00000 n +0000899450 00000 n +0000899514 00000 n +0000899578 00000 n +0000899644 00000 n +0000899708 00000 n +0000899772 00000 n +0000899836 00000 n +0000902028 00000 n +0000901320 00000 n +0000900002 00000 n +0000901446 00000 n +0000901510 00000 n +0000901574 00000 n +0000901640 00000 n +0000901705 00000 n +0000901898 00000 n +0000901962 00000 n +0000907084 00000 n +0000904679 00000 n +0000902158 00000 n +0000905155 00000 n +0000905347 00000 n +0000905540 00000 n +0000905604 00000 n +0000905670 00000 n +0000905736 00000 n +0000904835 00000 n +0000904995 00000 n +0000905800 00000 n +0000905865 00000 n +0000905929 00000 n +0000905995 00000 n +0000906059 00000 n +0000906254 00000 n +0000906318 00000 n +0000906383 00000 n +0000906449 00000 n +0000906512 00000 n +0000906701 00000 n +0000906765 00000 n +0000906829 00000 n +0000906893 00000 n +0000906958 00000 n +0000907021 00000 n +0000910984 00000 n +0000909052 00000 n +0000907228 00000 n +0000909178 00000 n +0000909242 00000 n +0000909436 00000 n +0000909500 00000 n +0000909563 00000 n +0000909627 00000 n +0000909693 00000 n +0000909757 00000 n +0000909821 00000 n +0000909885 00000 n +0000910078 00000 n +0000910142 00000 n +0000910208 00000 n +0000910272 00000 n +0000910336 00000 n +0000910402 00000 n +0000910467 00000 n +0000910533 00000 n +0000910597 00000 n +0000910661 00000 n +0000910855 00000 n +0000910919 00000 n +0000915287 00000 n +0000913305 00000 n +0000911128 00000 n +0000913610 00000 n +0000913674 00000 n +0000913738 00000 n +0000913804 00000 n +0000913868 00000 n +0000913932 00000 n +0000913996 00000 n +0000914060 00000 n +0000914124 00000 n +0000914190 00000 n +0000914256 00000 n +0000914320 00000 n +0000914383 00000 n +0000914447 00000 n +0000914511 00000 n +0000914576 00000 n +0000914642 00000 n +0000914706 00000 n +0000914772 00000 n +0000914967 00000 n +0000915031 00000 n +0000915095 00000 n +0000915159 00000 n +0000913452 00000 n +0000916972 00000 n +0000916397 00000 n +0000915431 00000 n +0000916523 00000 n +0000916652 00000 n +0000916716 00000 n +0000916779 00000 n +0000916844 00000 n +0000916908 00000 n +0001136536 00000 n +0000923305 00000 n +0000920128 00000 n +0000917088 00000 n +0000920254 00000 n +0000920445 00000 n +0000920509 00000 n +0000920704 00000 n +0000920768 00000 n +0000920834 00000 n +0000920900 00000 n +0000920966 00000 n +0000921032 00000 n +0000921096 00000 n +0000921162 00000 n +0000921226 00000 n +0000921290 00000 n +0000921354 00000 n +0000921420 00000 n +0000921484 00000 n +0000921548 00000 n +0000921614 00000 n +0000921680 00000 n +0000921746 00000 n +0000921812 00000 n +0000921878 00000 n +0000921944 00000 n +0000922008 00000 n +0000922074 00000 n +0000922138 00000 n +0000922202 00000 n +0000922268 00000 n +0000922332 00000 n +0000922397 00000 n +0000922461 00000 n +0000922527 00000 n +0000922723 00000 n +0000922787 00000 n +0000922853 00000 n +0000922919 00000 n +0000922983 00000 n +0000923048 00000 n +0000923113 00000 n +0000923177 00000 n +0000923241 00000 n +0000927499 00000 n +0000925116 00000 n +0000923449 00000 n +0000925434 00000 n +0000925757 00000 n +0000925821 00000 n +0000925885 00000 n +0000925949 00000 n +0000926013 00000 n +0000926077 00000 n +0000926141 00000 n +0000926205 00000 n +0000926269 00000 n +0000926333 00000 n +0000926398 00000 n +0000926462 00000 n +0000926528 00000 n +0000926594 00000 n +0000925263 00000 n +0000926788 00000 n +0000926851 00000 n +0000926915 00000 n +0000926980 00000 n +0000927045 00000 n +0000927109 00000 n +0000927173 00000 n +0000927239 00000 n +0000927305 00000 n +0000927369 00000 n +0000927433 00000 n +0000930124 00000 n +0000928245 00000 n +0000927629 00000 n +0000928371 00000 n +0000928435 00000 n +0000928501 00000 n +0000928565 00000 n +0000928628 00000 n +0000928694 00000 n +0000928760 00000 n +0000928824 00000 n +0000928888 00000 n +0000928954 00000 n +0000929020 00000 n +0000929084 00000 n +0000929148 00000 n +0000929214 00000 n +0000929280 00000 n +0000929344 00000 n +0000929408 00000 n +0000929474 00000 n +0000929540 00000 n +0000929604 00000 n +0000929668 00000 n +0000929734 00000 n +0000929800 00000 n +0000929864 00000 n +0000929928 00000 n +0000929994 00000 n +0000930060 00000 n +0000933064 00000 n +0000930992 00000 n +0000930212 00000 n +0000931118 00000 n +0000931182 00000 n +0000931246 00000 n +0000931312 00000 n +0000931378 00000 n +0000931442 00000 n +0000931506 00000 n +0000931572 00000 n +0000931768 00000 n +0000931832 00000 n +0000931895 00000 n +0000931961 00000 n +0000932027 00000 n +0000932091 00000 n +0000932154 00000 n +0000932220 00000 n +0000932285 00000 n +0000932349 00000 n +0000932413 00000 n +0000932479 00000 n 0000932545 00000 n 0000932609 00000 n 0000932673 00000 n 0000932739 00000 n 0000932805 00000 n 0000932869 00000 n -0000932933 00000 n -0000932999 00000 n -0000933195 00000 n -0000933259 00000 n -0000933322 00000 n -0000933388 00000 n -0000933454 00000 n -0000933518 00000 n -0000933581 00000 n -0000933647 00000 n +0000932932 00000 n +0000932998 00000 n +0000933638 00000 n +0000933448 00000 n +0000933166 00000 n +0000933574 00000 n +0000937722 00000 n +0000936381 00000 n 0000933712 00000 n -0000933776 00000 n -0000933840 00000 n -0000933906 00000 n -0000933972 00000 n -0000934036 00000 n -0000934100 00000 n -0000934166 00000 n -0000934232 00000 n -0000934296 00000 n -0000934359 00000 n -0000934425 00000 n -0001138396 00000 n -0000935070 00000 n -0000934880 00000 n -0000934593 00000 n -0000935006 00000 n -0000939153 00000 n -0000937812 00000 n -0000935144 00000 n -0000937938 00000 n -0000938129 00000 n -0000938193 00000 n -0000938257 00000 n -0000938449 00000 n -0000938513 00000 n -0000938577 00000 n -0000938769 00000 n -0000938833 00000 n -0000938897 00000 n -0000938961 00000 n -0000939025 00000 n -0000939089 00000 n -0000943216 00000 n -0000942319 00000 n -0000939255 00000 n -0000942445 00000 n -0000942509 00000 n -0000942573 00000 n -0000942767 00000 n -0000942831 00000 n -0000943024 00000 n -0000943088 00000 n -0000943152 00000 n -0000948936 00000 n -0000946494 00000 n -0000943318 00000 n -0000946620 00000 n -0000946684 00000 n -0000946748 00000 n -0000946942 00000 n -0000947006 00000 n -0000947070 00000 n -0000947133 00000 n -0000947198 00000 n -0000947262 00000 n -0000947327 00000 n -0000947391 00000 n -0000947456 00000 n -0000947520 00000 n -0000947585 00000 n -0000947648 00000 n -0000947713 00000 n -0000947777 00000 n -0000947842 00000 n -0000947906 00000 n -0000947971 00000 n -0000948035 00000 n -0000948100 00000 n -0000948164 00000 n -0000948229 00000 n -0000948293 00000 n -0000948358 00000 n -0000948421 00000 n -0000948486 00000 n -0000948550 00000 n -0000948615 00000 n -0000948679 00000 n -0000948744 00000 n -0000948808 00000 n -0000948872 00000 n -0000952780 00000 n -0000951689 00000 n -0000949038 00000 n -0000951815 00000 n -0000951879 00000 n -0000951943 00000 n -0000952137 00000 n -0000952201 00000 n -0000952265 00000 n -0000952459 00000 n -0000952523 00000 n -0000952716 00000 n -0000956675 00000 n -0000955390 00000 n -0000952882 00000 n -0000955516 00000 n -0000955580 00000 n -0000955774 00000 n -0000955968 00000 n -0000956160 00000 n -0000956224 00000 n -0000956290 00000 n -0000956484 00000 n -0000956548 00000 n -0000956611 00000 n -0001138521 00000 n -0000957938 00000 n -0000957620 00000 n -0000956777 00000 n -0000957746 00000 n -0000957810 00000 n -0000957874 00000 n -0000963741 00000 n -0000959948 00000 n -0000958026 00000 n -0000960254 00000 n -0000960447 00000 n -0000960704 00000 n -0000960768 00000 n -0000960832 00000 n -0000960898 00000 n -0000960963 00000 n -0000961092 00000 n -0000961222 00000 n -0000961286 00000 n -0000961350 00000 n -0000961415 00000 n -0000961481 00000 n -0000961545 00000 n -0000961675 00000 n -0000961739 00000 n -0000961803 00000 n -0000961867 00000 n -0000961931 00000 n -0000961997 00000 n -0000962061 00000 n -0000962125 00000 n -0000962189 00000 n -0000962253 00000 n -0000962317 00000 n -0000962381 00000 n -0000962445 00000 n -0000962511 00000 n -0000962577 00000 n -0000962641 00000 n -0000962705 00000 n -0000962769 00000 n -0000962833 00000 n -0000962899 00000 n -0000962965 00000 n -0000963030 00000 n -0000963095 00000 n -0000963160 00000 n -0000963225 00000 n -0000963291 00000 n -0000963355 00000 n -0000963419 00000 n -0000963483 00000 n -0000963547 00000 n -0000963613 00000 n -0000960095 00000 n -0000963677 00000 n -0000968241 00000 n -0000965406 00000 n -0000963871 00000 n -0000965532 00000 n -0000965661 00000 n -0000965790 00000 n -0000965854 00000 n -0000965918 00000 n -0000965984 00000 n -0000966048 00000 n -0000966113 00000 n -0000966243 00000 n -0000966307 00000 n -0000966501 00000 n -0000966565 00000 n -0000966629 00000 n -0000966887 00000 n -0000966950 00000 n -0000967014 00000 n -0000967078 00000 n -0000967143 00000 n -0000967273 00000 n -0000967337 00000 n -0000967530 00000 n -0000967594 00000 n -0000967658 00000 n -0000967722 00000 n -0000967787 00000 n -0000967917 00000 n -0000968047 00000 n -0000968111 00000 n -0000968175 00000 n -0000972037 00000 n -0000969843 00000 n -0000968371 00000 n -0000969969 00000 n -0000970033 00000 n -0000970097 00000 n -0000970163 00000 n -0000970227 00000 n -0000970293 00000 n -0000970552 00000 n -0000970615 00000 n -0000970679 00000 n -0000970745 00000 n -0000970810 00000 n -0000970940 00000 n -0000971004 00000 n -0000971068 00000 n -0000971197 00000 n -0000971326 00000 n -0000971390 00000 n -0000971454 00000 n -0000971520 00000 n -0000971586 00000 n -0000971651 00000 n -0000971779 00000 n -0000971909 00000 n -0000971973 00000 n -0000976690 00000 n -0000973736 00000 n -0000972167 00000 n -0000974042 00000 n -0000974171 00000 n -0000974301 00000 n -0000974365 00000 n -0000974429 00000 n -0000974495 00000 n -0000974560 00000 n -0000974626 00000 n -0000974692 00000 n -0000974757 00000 n -0000974886 00000 n -0000974950 00000 n -0000973883 00000 n -0000975013 00000 n -0000975079 00000 n -0000975143 00000 n -0000975207 00000 n -0000975271 00000 n -0000975335 00000 n -0000975401 00000 n -0000975465 00000 n -0000975529 00000 n -0000975593 00000 n -0000975659 00000 n -0000975725 00000 n -0000975789 00000 n -0000975853 00000 n -0000975917 00000 n -0000975983 00000 n -0000976241 00000 n -0000976305 00000 n -0000976369 00000 n -0000976563 00000 n -0000976626 00000 n -0000979547 00000 n -0000980577 00000 n -0000978192 00000 n -0000976806 00000 n -0000978318 00000 n -0000978382 00000 n -0000978511 00000 n -0000978575 00000 n -0000978639 00000 n -0000978704 00000 n -0000978833 00000 n -0000978962 00000 n -0000979026 00000 n -0000979090 00000 n -0000979154 00000 n -0000979220 00000 n -0000979286 00000 n -0000979352 00000 n -0000979418 00000 n -0000979677 00000 n -0000979741 00000 n -0000979804 00000 n -0000979932 00000 n -0000979996 00000 n -0000980060 00000 n -0000980126 00000 n -0000980384 00000 n -0000980448 00000 n -0000980512 00000 n -0001138646 00000 n -0000985257 00000 n -0000982735 00000 n -0000980679 00000 n -0000982861 00000 n -0000982925 00000 n -0000982989 00000 n -0000983119 00000 n -0000983183 00000 n -0000983247 00000 n -0000983311 00000 n -0000983377 00000 n -0000983443 00000 n -0000983509 00000 n -0000983575 00000 n -0000983641 00000 n -0000983706 00000 n -0000983771 00000 n -0000983837 00000 n -0000983903 00000 n -0000984031 00000 n -0000984161 00000 n -0000984225 00000 n -0000984289 00000 n -0000984355 00000 n -0000984485 00000 n -0000984549 00000 n -0000984613 00000 n -0000984742 00000 n -0000984872 00000 n -0000984936 00000 n -0000984999 00000 n -0000985063 00000 n -0000985127 00000 n -0000985191 00000 n -0000988097 00000 n -0000988064 00000 n -0000988195 00000 n -0001006179 00000 n -0001016781 00000 n -0001027440 00000 n -0001040600 00000 n -0001061876 00000 n -0001080929 00000 n -0001098101 00000 n -0001120969 00000 n -0001135731 00000 n -0001138735 00000 n -0001138861 00000 n -0001138987 00000 n -0001139113 00000 n -0001139212 00000 n -0001139304 00000 n -0001169297 00000 n -0001227041 00000 n -0001227082 00000 n -0001227122 00000 n -0001227257 00000 n +0000936507 00000 n +0000936698 00000 n +0000936762 00000 n +0000936826 00000 n +0000937018 00000 n +0000937082 00000 n +0000937146 00000 n +0000937338 00000 n +0000937402 00000 n +0000937466 00000 n +0000937530 00000 n +0000937594 00000 n +0000937658 00000 n +0001136661 00000 n +0000941785 00000 n +0000940888 00000 n +0000937824 00000 n +0000941014 00000 n +0000941078 00000 n +0000941142 00000 n +0000941336 00000 n +0000941400 00000 n +0000941593 00000 n +0000941657 00000 n +0000941721 00000 n +0000947505 00000 n +0000945063 00000 n +0000941887 00000 n +0000945189 00000 n +0000945253 00000 n +0000945317 00000 n +0000945511 00000 n +0000945575 00000 n +0000945639 00000 n +0000945702 00000 n +0000945767 00000 n +0000945831 00000 n +0000945896 00000 n +0000945960 00000 n +0000946025 00000 n +0000946089 00000 n +0000946154 00000 n +0000946217 00000 n +0000946282 00000 n +0000946346 00000 n +0000946411 00000 n +0000946475 00000 n +0000946540 00000 n +0000946604 00000 n +0000946669 00000 n +0000946733 00000 n +0000946798 00000 n +0000946862 00000 n +0000946927 00000 n +0000946990 00000 n +0000947055 00000 n +0000947119 00000 n +0000947184 00000 n +0000947248 00000 n +0000947313 00000 n +0000947377 00000 n +0000947441 00000 n +0000951349 00000 n +0000950258 00000 n +0000947607 00000 n +0000950384 00000 n +0000950448 00000 n +0000950512 00000 n +0000950706 00000 n +0000950770 00000 n +0000950834 00000 n +0000951028 00000 n +0000951092 00000 n +0000951285 00000 n +0000955243 00000 n +0000953958 00000 n +0000951451 00000 n +0000954084 00000 n +0000954148 00000 n +0000954342 00000 n +0000954536 00000 n +0000954728 00000 n +0000954792 00000 n +0000954858 00000 n +0000955052 00000 n +0000955116 00000 n +0000955179 00000 n +0000956508 00000 n +0000956190 00000 n +0000955345 00000 n +0000956316 00000 n +0000956380 00000 n +0000956444 00000 n +0000962311 00000 n +0000958518 00000 n +0000956596 00000 n +0000958824 00000 n +0000959017 00000 n +0000959274 00000 n +0000959338 00000 n +0000959402 00000 n +0000959468 00000 n +0000959533 00000 n +0000959662 00000 n +0000959792 00000 n +0000959856 00000 n +0000959920 00000 n +0000959985 00000 n +0000960051 00000 n +0000960115 00000 n +0000960245 00000 n +0000960309 00000 n +0000960373 00000 n +0000960437 00000 n +0000960501 00000 n +0000960567 00000 n +0000960631 00000 n +0000960695 00000 n +0000960759 00000 n +0000960823 00000 n +0000960887 00000 n +0000960951 00000 n +0000961015 00000 n +0000961081 00000 n +0000961147 00000 n +0000961211 00000 n +0000961275 00000 n +0000961339 00000 n +0000961403 00000 n +0000961469 00000 n +0000961535 00000 n +0000961600 00000 n +0000961665 00000 n +0000961730 00000 n +0000961795 00000 n +0000961861 00000 n +0000961925 00000 n +0000961989 00000 n +0000962053 00000 n +0000962117 00000 n +0000962183 00000 n +0000958665 00000 n +0000962247 00000 n +0001136786 00000 n +0000966810 00000 n +0000963975 00000 n +0000962441 00000 n +0000964101 00000 n +0000964230 00000 n +0000964359 00000 n +0000964423 00000 n +0000964487 00000 n +0000964553 00000 n +0000964617 00000 n +0000964682 00000 n +0000964812 00000 n +0000964876 00000 n +0000965070 00000 n +0000965134 00000 n +0000965198 00000 n +0000965456 00000 n +0000965519 00000 n +0000965583 00000 n +0000965647 00000 n +0000965712 00000 n +0000965842 00000 n +0000965906 00000 n +0000966099 00000 n +0000966163 00000 n +0000966227 00000 n +0000966291 00000 n +0000966356 00000 n +0000966486 00000 n +0000966616 00000 n +0000966680 00000 n +0000966744 00000 n +0000970606 00000 n +0000968412 00000 n +0000966940 00000 n +0000968538 00000 n +0000968602 00000 n +0000968666 00000 n +0000968732 00000 n +0000968796 00000 n +0000968862 00000 n +0000969121 00000 n +0000969184 00000 n +0000969248 00000 n +0000969314 00000 n +0000969379 00000 n +0000969509 00000 n +0000969573 00000 n +0000969637 00000 n +0000969766 00000 n +0000969895 00000 n +0000969959 00000 n +0000970023 00000 n +0000970089 00000 n +0000970155 00000 n +0000970220 00000 n +0000970348 00000 n +0000970478 00000 n +0000970542 00000 n +0000974956 00000 n +0000972200 00000 n +0000970736 00000 n +0000972506 00000 n +0000972635 00000 n +0000972765 00000 n +0000972829 00000 n +0000972893 00000 n +0000972959 00000 n +0000973024 00000 n +0000973153 00000 n +0000973217 00000 n +0000972347 00000 n +0000973281 00000 n +0000973347 00000 n +0000973410 00000 n +0000973473 00000 n +0000973536 00000 n +0000973600 00000 n +0000973666 00000 n +0000973730 00000 n +0000973794 00000 n +0000973858 00000 n +0000973924 00000 n +0000973990 00000 n +0000974054 00000 n +0000974118 00000 n +0000974182 00000 n +0000974247 00000 n +0000974506 00000 n +0000974570 00000 n +0000974634 00000 n +0000974828 00000 n +0000974892 00000 n +0000977813 00000 n +0000978843 00000 n +0000976458 00000 n +0000975072 00000 n +0000976584 00000 n +0000976648 00000 n +0000976777 00000 n +0000976841 00000 n +0000976905 00000 n +0000976970 00000 n +0000977099 00000 n +0000977228 00000 n +0000977292 00000 n +0000977356 00000 n +0000977420 00000 n +0000977486 00000 n +0000977552 00000 n +0000977618 00000 n +0000977684 00000 n +0000977943 00000 n +0000978007 00000 n +0000978070 00000 n +0000978198 00000 n +0000978262 00000 n +0000978326 00000 n +0000978392 00000 n +0000978650 00000 n +0000978714 00000 n +0000978778 00000 n +0000983523 00000 n +0000981001 00000 n +0000978945 00000 n +0000981127 00000 n +0000981191 00000 n +0000981255 00000 n +0000981385 00000 n +0000981449 00000 n +0000981513 00000 n +0000981577 00000 n +0000981643 00000 n +0000981709 00000 n +0000981775 00000 n +0000981841 00000 n +0000981907 00000 n +0000981972 00000 n +0000982037 00000 n +0000982103 00000 n +0000982169 00000 n +0000982297 00000 n +0000982427 00000 n +0000982491 00000 n +0000982555 00000 n +0000982621 00000 n +0000982751 00000 n +0000982815 00000 n +0000982879 00000 n +0000983008 00000 n +0000983138 00000 n +0000983202 00000 n +0000983265 00000 n +0000983329 00000 n +0000983393 00000 n +0000983457 00000 n +0000986363 00000 n +0000986330 00000 n +0000986461 00000 n +0001004444 00000 n +0001015046 00000 n +0001025705 00000 n +0001038865 00000 n +0001060141 00000 n +0001079194 00000 n +0001096366 00000 n +0001119234 00000 n +0001133996 00000 n +0001136911 00000 n +0001137037 00000 n +0001137163 00000 n +0001137289 00000 n +0001137379 00000 n +0001137471 00000 n +0001167464 00000 n +0001225180 00000 n +0001225221 00000 n +0001225261 00000 n +0001225396 00000 n trailer << -/Size 5330 -/Root 5328 0 R -/Info 5329 0 R -/ID [<F98249204990F135973F50BDE64AECDC> <F98249204990F135973F50BDE64AECDC>] +/Size 5321 +/Root 5319 0 R +/Info 5320 0 R +/ID [<C7D73782628810618B99C5EF9AA33518> <C7D73782628810618B99C5EF9AA33518>] >> startxref -1227521 +1225660 %%EOF diff --git a/docs/en/rel_notes.txt b/docs/en/rel_notes.txt index 614fcb5a1957d462e9f8211898b6919f235ecdd6..4014951f02825a525941ac9c995ba7591f4588ca 100644 --- a/docs/en/rel_notes.txt +++ b/docs/en/rel_notes.txt @@ -3019,10 +3019,10 @@ known to us after the Bugzilla 2.14 release. *** USERS UPGRADING FROM 2.8 OR EARLIER *** ******************************************* -Release notes were not compiled for versions of Bugzilla before -2.12. - -The file 'UPGRADING-pre-2.8' contains instructions you may -need to perform in addition to running 'checksetup.pl' if you -are running a pre 2.8 version. +This version of Bugzilla cannot upgrade from version 2.8 (released +November 19, 1999). You will first have to upgrade to Bugzilla 3.6 and +then upgrade to the latest release. +If you are upgrading from a version earlier than 2.8, See the +PGRADING-pre-2.8 file in Bugzilla 3.0 for information +on upgrading from a version that is earlier than 2.8. diff --git a/docs/en/txt/Bugzilla-Guide.txt b/docs/en/txt/Bugzilla-Guide.txt index 6cf6d0c0a65090baa218d647849203bf233b2fc7..ff20eebbeee160a032e8015d6ebfd653ddda24a1 100644 --- a/docs/en/txt/Bugzilla-Guide.txt +++ b/docs/en/txt/Bugzilla-Guide.txt @@ -1,5 +1,5 @@ -The Bugzilla Guide - 3.6.1 Release +The Bugzilla Guide - 3.7.1 Development Release The Bugzilla Team @@ -172,8 +172,9 @@ Chapter 1. About This Guide 1.3. New Versions - This is the 3.6.1 version of The Bugzilla Guide. It is so named to match the - current version of Bugzilla. + This is the 3.7.1 version of The Bugzilla Guide. It is so named to match the + current version of Bugzilla. This version of the guide, like its associated + Bugzilla version, is a development version. The latest version of this guide can always be found at http://www.bugzilla.org/docs/. However, you should read the version which @@ -460,7 +461,7 @@ Chapter 2. Installing Bugzilla Required Perl modules: - 1. CGI (3.21) + 1. CGI (3.49) 2. Date::Format (2.21) 3. DateTime (0.28) 4. DateTime::TimeZone (0.71) @@ -1327,13 +1328,8 @@ ppm repository add theory58S http://theoryx5.uwinnipeg.ca/ppms/ In Mac OS X 10.3 and later, Postfix is used as the built-in email server. Postfix provides an executable that mimics sendmail enough to fool Bugzilla, - as long as Bugzilla can find it. - - As of version 2.20, Bugzilla will be able to find the fake sendmail - executable without any assistance. However, you will have to turn on the - sendmailnow parameter before you do anything that would result in email - being sent. For more information, see the description of the sendmailnow - parameter in Section 3.1. + as long as Bugzilla can find it. Bugzilla is able to find the fake sendmail + executable without any assistance. _________________________________________________________________ 2.5.2.2. Libraries & Perl Modules on Mac OS X @@ -2243,14 +2239,6 @@ Chapter 3. Administering Bugzilla mail to be from a valid email address, therefore it is recommended to choose a valid email address here. - sendmailnow - When Bugzilla is using Sendmail older than 8.12, turning this option - off will improve performance by not waiting for Sendmail to actually - send mail. If Sendmail 8.12 or later is being used, there is nothing - to gain by turning this off. If another MTA is being used, such as - Postfix, then this option *must* be turned on (even if you are using - the fake sendmail executable that Postfix provides). - whinedays Set this to the number of days you want to let bugs go in the NEW or REOPENED state before notifying people they have untouched new bugs. @@ -3682,7 +3670,7 @@ Chapter 5. Using Bugzilla If you want to use Bugzilla, first you need to create an account. Consult with the administrator responsible for your installation of Bugzilla for the URL you should use to access it. If you're test-driving Bugzilla, use this - URL: http://landfill.bugzilla.org/bugzilla-3.6-branch/. + URL: http://landfill.bugzilla.org/bugzilla-tip/. 1. On the home page index.cgi, click the "Open a new Bugzilla account" link, or the "New Account" link available in the footer of pages. Now @@ -3826,7 +3814,7 @@ Chapter 5. Using Bugzilla The Bugzilla Search page is the interface where you can find any bug report, comment, or patch currently in the Bugzilla system. You can play with it - here: http://landfill.bugzilla.org/bugzilla-3.6-branch/query.cgi. + here: http://landfill.bugzilla.org/bugzilla-tip/query.cgi. The Search page has controls for selecting different possible values for all of the fields in a bug, as described above. For some fields, multiple values @@ -6017,8 +6005,7 @@ M system. The Email::Send Perl module, which Bugzilla uses to send email, can be configured to use many different underlying implementations for actually sending the mail using the - mail_delivery_method parameter. Implementations other than sendmail - require that the sendmailnow param be set to on. + mail_delivery_method parameter. MySQL MySQL is currently the required RDBMS for Bugzilla. MySQL can be diff --git a/docs/en/xml/.cvsignore b/docs/en/xml/.cvsignore deleted file mode 100644 index ef6b304bc537783b3abb96ea37fa98be9d0b69e5..0000000000000000000000000000000000000000 --- a/docs/en/xml/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bugzilla.ent diff --git a/docs/en/xml/Bugzilla-Guide.xml b/docs/en/xml/Bugzilla-Guide.xml index ca7fe92b7a4802024898e1cd2a0973b71d22345a..06c27ad1a1c87673b97c42ef76b29b8ea167c1d3 100644 --- a/docs/en/xml/Bugzilla-Guide.xml +++ b/docs/en/xml/Bugzilla-Guide.xml @@ -32,12 +32,12 @@ For a devel release, simple bump bz-ver and bz-date --> -<!ENTITY bz-ver "3.6.1"> +<!ENTITY bz-ver "3.7.1"> <!ENTITY bz-nextver "4.0"> <!ENTITY bz-date "2010-06-24"> <!ENTITY current-year "2010"> -<!ENTITY landfillbase "http://landfill.bugzilla.org/bugzilla-3.6-branch/"> +<!ENTITY landfillbase "http://landfill.bugzilla.org/bugzilla-tip/"> <!ENTITY bz "http://www.bugzilla.org/"> <!ENTITY bzg-bugs "<ulink url='https://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&component=Documentation'>Bugzilla Documentation</ulink>"> <!ENTITY mysql "http://www.mysql.com/"> @@ -74,6 +74,7 @@ <bookinfo> <title>The Bugzilla Guide - &bz-ver; + <!-- BZ-DEVEL -->Development <!-- /BZ-DEVEL --> Release</title> <authorgroup> diff --git a/docs/en/xml/CVS/Entries b/docs/en/xml/CVS/Entries deleted file mode 100644 index 48465851fa061306a0df8ddafaab538c7907848f..0000000000000000000000000000000000000000 --- a/docs/en/xml/CVS/Entries +++ /dev/null @@ -1,16 +0,0 @@ -/.cvsignore/1.1/Fri Apr 4 06:48:17 2008//TBUGZILLA-3_6_1 -/Bugzilla-Guide.xml/1.90.2.3/Thu Jun 24 20:47:42 2010//TBUGZILLA-3_6_1 -/about.xml/1.26.8.5/Mon Mar 8 07:53:09 2010//TBUGZILLA-3_6_1 -/administration.xml/1.96/Fri Oct 9 04:31:12 2009//TBUGZILLA-3_6_1 -/conventions.xml/1.12/Fri Apr 4 06:48:20 2008//TBUGZILLA-3_6_1 -/customization.xml/1.48/Sat Dec 12 22:20:09 2009//TBUGZILLA-3_6_1 -/gfdl.xml/1.11/Fri Apr 4 06:48:21 2008//TBUGZILLA-3_6_1 -/glossary.xml/1.26/Tue Aug 18 11:01:16 2009//TBUGZILLA-3_6_1 -/index.xml/1.6/Fri Apr 4 06:48:21 2008//TBUGZILLA-3_6_1 -/installation.xml/1.172.2.8/Mon Mar 29 13:02:53 2010//TBUGZILLA-3_6_1 -/modules.xml/1.16/Sat Oct 24 05:53:12 2009//TBUGZILLA-3_6_1 -/patches.xml/1.25/Fri Apr 4 06:48:25 2008//TBUGZILLA-3_6_1 -/security.xml/1.20.2.1/Mon Mar 8 02:47:39 2010//TBUGZILLA-3_6_1 -/troubleshooting.xml/1.14.2.1/Mon Mar 8 02:47:39 2010//TBUGZILLA-3_6_1 -/using.xml/1.79/Fri Apr 4 06:48:26 2008//TBUGZILLA-3_6_1 -D diff --git a/docs/en/xml/CVS/Repository b/docs/en/xml/CVS/Repository deleted file mode 100644 index c0909acea792d50c3bb0617752208a85869e39e8..0000000000000000000000000000000000000000 --- a/docs/en/xml/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/en/xml diff --git a/docs/en/xml/CVS/Root b/docs/en/xml/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/en/xml/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/en/xml/CVS/Tag b/docs/en/xml/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/en/xml/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/en/xml/about.xml b/docs/en/xml/about.xml index 0de5840135061557874886381ea981a4f692c1b3..a6cebe0e02a1e76314dcf020163807e714ee96ee 100644 --- a/docs/en/xml/about.xml +++ b/docs/en/xml/about.xml @@ -64,6 +64,8 @@ <para> This is the &bz-ver; version of The Bugzilla Guide. It is so named to match the current version of Bugzilla. + <!-- BZ-DEVEL --> This version of the guide, like its associated Bugzilla version, is a + development version.<!-- /BZ-DEVEL --> </para> <para> The latest version of this guide can always be found at <ulink diff --git a/docs/en/xml/administration.xml b/docs/en/xml/administration.xml index 0c9a60ce20ad3bb63ff59b4d094110b61cb0846c..2a05404f18bde27b7d96ecb6f0886ac09c65c10c 100644 --- a/docs/en/xml/administration.xml +++ b/docs/en/xml/administration.xml @@ -764,22 +764,6 @@ </listitem> </varlistentry> - <varlistentry> - <term> - sendmailnow - </term> - <listitem> - <para> - When Bugzilla is using Sendmail older than 8.12, turning this option - off will improve performance by not waiting for Sendmail to actually - send mail. If Sendmail 8.12 or later is being used, there is - nothing to gain by turning this off. If another MTA is being used, - such as Postfix, then this option *must* be turned on (even if you - are using the fake sendmail executable that Postfix provides). - </para> - </listitem> - </varlistentry> - <varlistentry> <term> whinedays diff --git a/docs/en/xml/bugzilla.ent b/docs/en/xml/bugzilla.ent index bdd751e8868e1775e7ffa9296746ef389d3f833f..4e168fd23dc889bdfcab5f8f692668db5632b3ca 100644 --- a/docs/en/xml/bugzilla.ent +++ b/docs/en/xml/bugzilla.ent @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- Module Versions --> -<!ENTITY min-cgi-ver "3.21"> +<!ENTITY min-cgi-ver "3.49"> <!ENTITY min-digest-sha-ver "any"> <!ENTITY min-date-format-ver "2.21"> <!ENTITY min-datetime-ver "0.28"> @@ -13,6 +13,7 @@ <!ENTITY min-email-mime-encodings-ver "1.313"> <!ENTITY min-email-mime-modifier-ver "1.442"> <!ENTITY min-uri-ver "any"> +<!ENTITY min-list-moreutils-ver "0.22"> <!ENTITY min-gd-ver "1.20"> <!ENTITY min-chart-lines-ver "2.1"> <!ENTITY min-template-plugin-gd-image-ver "any"> @@ -27,6 +28,7 @@ <!ENTITY min-authen-radius-ver "any"> <!ENTITY min-soap-lite-ver "0.710.06"> <!ENTITY min-json-rpc-ver "any"> +<!ENTITY min-json-xs-ver "2.0"> <!ENTITY min-test-taint-ver "any"> <!ENTITY min-html-parser-ver "3.40"> <!ENTITY min-html-scrubber-ver "any"> diff --git a/docs/en/xml/glossary.xml b/docs/en/xml/glossary.xml index 127b94038c151a448c8f11c87c1439d5768a2010..48730b248e6fa53b23a69bc6a1063165f4af693b 100644 --- a/docs/en/xml/glossary.xml +++ b/docs/en/xml/glossary.xml @@ -271,8 +271,6 @@ Perl module, which Bugzilla uses to send email, can be configured to use many different underlying implementations for actually sending the mail using the <option>mail_delivery_method</option> parameter. - Implementations other than <literal>sendmail</literal> require that the - <option>sendmailnow</option> param be set to <literal>on</literal>. </para> </glossdef> </glossentry> diff --git a/docs/en/xml/installation.xml b/docs/en/xml/installation.xml index c35f27f4e05dd7374af73cad479824f0f1ec4c70..bffcb9b4f7ea7c5b7bbe3eccf1d79f72e3cdb7ff 100644 --- a/docs/en/xml/installation.xml +++ b/docs/en/xml/installation.xml @@ -1786,13 +1786,8 @@ C:\perl> <command>ppm install <module name></command> <ulink url="http://www.postfix.org/">Postfix</ulink> is used as the built-in email server. Postfix provides an executable that mimics sendmail enough to fool Bugzilla, as long as Bugzilla can - find it.</para> - - <para>As of version 2.20, Bugzilla will be able to find the fake - sendmail executable without any assistance. However, you will have - to turn on the sendmailnow parameter before you do anything that would - result in email being sent. For more information, see the description - of the sendmailnow parameter in <xref linkend="parameters"/>.</para> + find it. Bugzilla is able to find the fake sendmail executable without + any assistance.</para> </section> diff --git a/docs/lib/CVS/Entries b/docs/lib/CVS/Entries deleted file mode 100644 index 6cf7d794941e3e4c5322256fd2065095ccb232b3..0000000000000000000000000000000000000000 --- a/docs/lib/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/Pod//// diff --git a/docs/lib/CVS/Repository b/docs/lib/CVS/Repository deleted file mode 100644 index 65bec18511dc83a296a7f2ede6cd909b09d4fd56..0000000000000000000000000000000000000000 --- a/docs/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/lib diff --git a/docs/lib/CVS/Root b/docs/lib/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/lib/CVS/Tag b/docs/lib/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/docs/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/docs/lib/Pod/CVS/Entries b/docs/lib/Pod/CVS/Entries deleted file mode 100644 index 8cec978ce2b2fdbe3b805b6c6cd1a84252b74dc2..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/Simple//// diff --git a/docs/lib/Pod/CVS/Repository b/docs/lib/Pod/CVS/Repository deleted file mode 100644 index 80c820b6ac8598e2b432c08713784402b9d0132e..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/lib/Pod diff --git a/docs/lib/Pod/CVS/Root b/docs/lib/Pod/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/lib/Pod/CVS/Tag b/docs/lib/Pod/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/docs/lib/Pod/Simple/CVS/Entries b/docs/lib/Pod/Simple/CVS/Entries deleted file mode 100644 index a5c55af196989742bb18a5572d0daf7d80f39ef0..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -D/HTML//// -D/HTMLBatch//// diff --git a/docs/lib/Pod/Simple/CVS/Repository b/docs/lib/Pod/Simple/CVS/Repository deleted file mode 100644 index 667081e3e1aec58c35ac74d81dae1a721478288b..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/lib/Pod/Simple diff --git a/docs/lib/Pod/Simple/CVS/Root b/docs/lib/Pod/Simple/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/lib/Pod/Simple/CVS/Tag b/docs/lib/Pod/Simple/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/docs/lib/Pod/Simple/HTML/CVS/Entries b/docs/lib/Pod/Simple/HTML/CVS/Entries deleted file mode 100644 index c716b8573a73db18022c42d028139296e03b4a48..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTML/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Bugzilla.pm/1.1/Tue Sep 5 19:00:56 2006//TBUGZILLA-3_6_1 -D diff --git a/docs/lib/Pod/Simple/HTML/CVS/Repository b/docs/lib/Pod/Simple/HTML/CVS/Repository deleted file mode 100644 index 7c1727c558f3b815283d308f5e6ac51cef15c463..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTML/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/lib/Pod/Simple/HTML diff --git a/docs/lib/Pod/Simple/HTML/CVS/Root b/docs/lib/Pod/Simple/HTML/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTML/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/lib/Pod/Simple/HTML/CVS/Tag b/docs/lib/Pod/Simple/HTML/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTML/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries b/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries deleted file mode 100644 index 021d58e610ac7e762d93fb7809588848fb058533..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/Bugzilla.pm/1.7.2.1/Mon Feb 22 22:47:52 2010//TBUGZILLA-3_6_1 -D diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Repository b/docs/lib/Pod/Simple/HTMLBatch/CVS/Repository deleted file mode 100644 index 7db220308a709bc59ede1b38dc822029c658de45..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/docs/lib/Pod/Simple/HTMLBatch diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Root b/docs/lib/Pod/Simple/HTMLBatch/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag b/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/docs/lib/Pod/Simple/HTMLBatch/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/editclassifications.cgi b/editclassifications.cgi index 61b014c8d7d56e29b5865974d29f5e96a4c772f1..db9dd7f0a877e0a9f71b928a25049deaa1fbd551 100755 --- a/editclassifications.cgi +++ b/editclassifications.cgi @@ -233,4 +233,4 @@ if ($action eq 'reclassify') { # No valid action found # -ThrowCodeError("action_unrecognized", {action => $action}); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editcomponents.cgi b/editcomponents.cgi index 70afd9c9ff240497477995337fabdaa79bb49bcc..fd30daed45f38f8ae78734cb0aaf118d255762c7 100755 --- a/editcomponents.cgi +++ b/editcomponents.cgi @@ -252,7 +252,5 @@ if ($action eq 'update') { exit; } -# # No valid action found -# -ThrowUserError('no_valid_action', {'field' => "component"}); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editfields.cgi b/editfields.cgi index 09147d69ab6b0d289ca93c525648603468de0f77..e207a2ee43bc39dbafb8c8d02cf324e1eb1e6a7d 100755 --- a/editfields.cgi +++ b/editfields.cgi @@ -64,10 +64,12 @@ elsif ($action eq 'new') { enter_bug => scalar $cgi->param('enter_bug'), obsolete => scalar $cgi->param('obsolete'), custom => 1, - buglist => (scalar $cgi->param('type') == FIELD_TYPE_MULTI_SELECT ? 0 : 1), + buglist => 1, visibility_field_id => scalar $cgi->param('visibility_field_id'), visibility_value_id => scalar $cgi->param('visibility_value_id'), value_field_id => scalar $cgi->param('value_field_id'), + reverse_desc => scalar $cgi->param('reverse_desc'), + is_mandatory => scalar $cgi->param('is_mandatory'), }); delete_token($token); @@ -110,9 +112,11 @@ elsif ($action eq 'update') { $field->set_in_new_bugmail($cgi->param('new_bugmail')); $field->set_enter_bug($cgi->param('enter_bug')); $field->set_obsolete($cgi->param('obsolete')); + $field->set_is_mandatory($cgi->param('is_mandatory')); $field->set_visibility_field($cgi->param('visibility_field_id')); $field->set_visibility_value($cgi->param('visibility_value_id')); $field->set_value_field($cgi->param('value_field_id')); + $field->set_reverse_desc($cgi->param('reverse_desc')); $field->update(); delete_token($token); @@ -167,5 +171,5 @@ elsif ($action eq 'delete') { || ThrowTemplateError($template->error()); } else { - ThrowUserError('no_valid_action', {'field' => 'custom_field'}); + ThrowUserError('unknown_action', {action => $action}); } diff --git a/editflagtypes.cgi b/editflagtypes.cgi index 4f85e6c65ea2499fc2bf3612b1cba69195ed8e0d..a0e64957b00edd6194731bf810e428ec5c37d10d 100755 --- a/editflagtypes.cgi +++ b/editflagtypes.cgi @@ -86,7 +86,7 @@ elsif ($action eq 'confirmdelete') { confirmDelete(); } elsif ($action eq 'delete') { deleteType($token); } elsif ($action eq 'deactivate') { deactivate($token); } else { - ThrowCodeError("action_unrecognized", { action => $action }); + ThrowUserError('unknown_action', {action => $action}); } exit; @@ -237,11 +237,15 @@ sub processCategoryChange { } elsif ($categoryAction eq 'removeInclusion') { my @inclusion_to_remove = $cgi->param('inclusion_to_remove'); - @inclusions = map {(lsearch(\@inclusion_to_remove, $_) < 0) ? $_ : ()} @inclusions; + foreach my $remove (@inclusion_to_remove) { + @inclusions = grep { $_ ne $remove } @inclusions; + } } elsif ($categoryAction eq 'removeExclusion') { my @exclusion_to_remove = $cgi->param('exclusion_to_remove'); - @exclusions = map {(lsearch(\@exclusion_to_remove, $_) < 0) ? $_ : ()} @exclusions; + foreach my $remove (@exclusion_to_remove) { + @exclusions = grep { $_ ne $remove } @exclusions; + } } # Convert the array @clusions('prod_ID:comp_ID') back to a hash of diff --git a/editgroups.cgi b/editgroups.cgi index 87a31816d14f24079fef22be7d60454949170fab..a879aa7702e67d49f1a5264ec951d61c3f616ea1 100755 --- a/editgroups.cgi +++ b/editgroups.cgi @@ -357,13 +357,8 @@ if ($action eq 'remove_regexp') { exit; } - -# # No valid action found -# - -ThrowCodeError("action_unrecognized", $vars); - +ThrowUserError('unknown_action', {action => $action}); # Helper sub to handle the making of changes to a group sub doGroupChanges { diff --git a/editkeywords.cgi b/editkeywords.cgi index a9b46fef5650a07398e7a9aee5463d09cfd1c71e..6c20dfd05d2a17b3906af392f14251c49df03a3a 100755 --- a/editkeywords.cgi +++ b/editkeywords.cgi @@ -183,4 +183,4 @@ if ($action eq 'delete') { exit; } -ThrowCodeError("action_unrecognized", $vars); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editmilestones.cgi b/editmilestones.cgi index a5f0c3d637a44fa5fc9cd3e53916eb6799000f96..ff5076bee4141d8f37030835b7456a2c974f50fa 100755 --- a/editmilestones.cgi +++ b/editmilestones.cgi @@ -115,7 +115,7 @@ if ($action eq 'add') { if ($action eq 'new') { check_token_data($token, 'add_milestone'); - my $milestone = Bugzilla::Milestone->create({ name => $milestone_name, + my $milestone = Bugzilla::Milestone->create({ value => $milestone_name, product => $product, sortkey => $sortkey }); delete_token($token); @@ -206,6 +206,9 @@ if ($action eq 'update') { $milestone->set_name($milestone_name); $milestone->set_sortkey($sortkey); my $changes = $milestone->update(); + # Reloading the product since the default milestone name + # could have been changed. + $product = new Bugzilla::Product({ name => $product_name }); delete_token($token); @@ -218,7 +221,5 @@ if ($action eq 'update') { exit; } -# # No valid action found -# -ThrowUserError('no_valid_action', {'field' => "target_milestone"}); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editproducts.cgi b/editproducts.cgi index 8433ed16bac9c38aa41314c67b1b016f55ff0f4e..6d5c5e59356287ee9ca0f9d40147822e61801773 100755 --- a/editproducts.cgi +++ b/editproducts.cgi @@ -186,11 +186,6 @@ if ($action eq 'new') { create_series => scalar $cgi->param('createseries'), allows_unconfirmed => scalar $cgi->param('allows_unconfirmed'), ); - if (Bugzilla->params->{'usevotes'}) { - $create_params{votesperuser} = $cgi->param('votesperuser'); - $create_params{maxvotesperbug} = $cgi->param('maxvotesperbug'); - $create_params{votestoconfirm} = $cgi->param('votestoconfirm'); - } my $product = Bugzilla::Product->create(\%create_params); delete_token($token); @@ -295,16 +290,13 @@ if ($action eq 'update') { my $product_old_name = trim($cgi->param('product_old_name') || ''); my $product = $user->check_can_admin_product($product_old_name); - $product->set_name($product_name); - $product->set_description(scalar $cgi->param('description')); - $product->set_default_milestone(scalar $cgi->param('defaultmilestone')); - $product->set_is_active(scalar $cgi->param('is_active')); - if (Bugzilla->params->{'usevotes'}) { - $product->set_votes_per_user(scalar $cgi->param('votesperuser')); - $product->set_votes_per_bug(scalar $cgi->param('maxvotesperbug')); - $product->set_votes_to_confirm(scalar $cgi->param('votestoconfirm')); - } - $product->set_allows_unconfirmed(scalar $cgi->param('allows_unconfirmed')); + $product->set_all({ + name => $product_name, + description => scalar $cgi->param('description'), + is_active => scalar $cgi->param('is_active'), + allows_unconfirmed => scalar $cgi->param('allows_unconfirmed'), + default_milestone => scalar $cgi->param('defaultmilestone'), + }); my $changes = $product->update(); @@ -430,8 +422,5 @@ if ($action eq 'updategroupcontrols') { exit; } -# # No valid action found -# - -ThrowUserError('no_valid_action', {field => "product"}); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editusers.cgi b/editusers.cgi index e63f29fc5c3d2dd30b67c69ff0925c29a06e9f90..f53fde98582edaa04333f1a959954ad8ad75b903 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -424,9 +424,6 @@ if ($action eq 'search') { $vars->{'series'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM series WHERE creator = ?', undef, $otherUserID); - $vars->{'votes'} = $dbh->selectrow_array( - 'SELECT COUNT(*) FROM votes WHERE who = ?', - undef, $otherUserID); $vars->{'watch'}{'watched'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM watch WHERE watched = ?', undef, $otherUserID); @@ -537,7 +534,6 @@ if ($action eq 'search') { $dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $otherUserID); $dbh->do('DELETE FROM user_group_map WHERE user_id = ?', undef, $otherUserID); - $dbh->do('DELETE FROM votes WHERE who = ?', undef, $otherUserID); $dbh->do('DELETE FROM watch WHERE watcher = ? OR watched = ?', undef, ($otherUserID, $otherUserID)); @@ -651,7 +647,7 @@ if ($action eq 'search') { # Send mail about what we've done to bugs. # The deleted user is not notified of the changes. foreach (keys(%updatedbugs)) { - Bugzilla::BugMail::Send($_, {'changer' => $user->login} ); + Bugzilla::BugMail::Send($_, {'changer' => $user} ); } ########################################################################### @@ -679,8 +675,7 @@ if ($action eq 'search') { ########################################################################### } else { - $vars->{'action'} = $action; - ThrowCodeError('action_unrecognized', $vars); + ThrowUserError('unknown_action', {action => $action}); } exit; diff --git a/editvalues.cgi b/editvalues.cgi index 3109ff69e5169a103aecdc9e783cb154f7435456..3f08a1671f52a9623f4f1a2fe18371200b5fb824 100755 --- a/editvalues.cgi +++ b/editvalues.cgi @@ -71,16 +71,12 @@ Bugzilla->user->in_group('admin') || my $action = trim($cgi->param('action') || ''); my $token = $cgi->param('token'); -# Fields listed here must not be edited from this interface. -my @non_editable_fields = qw(product); -my %block_list = map { $_ => 1 } @non_editable_fields; - # # field = '' -> Show nice list of fields # if (!$cgi->param('field')) { - my @field_list = grep { !$block_list{$_->name} } - Bugzilla->get_fields({ is_select => 1 }); + my @field_list = grep { !$_->is_abnormal } + Bugzilla->get_fields({ is_select => 1 }); $vars->{'fields'} = \@field_list; $template->process("admin/fieldvalues/select-field.html.tmpl", $vars) @@ -90,7 +86,7 @@ if (!$cgi->param('field')) { # At this point, the field must be defined. my $field = Bugzilla::Field->check($cgi->param('field')); -if (!$field->is_select || $block_list{$field->name}) { +if (!$field->is_select || $field->is_abnormal) { ThrowUserError('fieldname_invalid', { field => $field }); } $vars->{'field'} = $field; @@ -185,7 +181,7 @@ if ($action eq 'edit') { if ($action eq 'update') { check_token_data($token, 'edit_field_value'); $vars->{'value_old'} = $value->name; - if (!($value->is_static || $value->is_default)) { + if ($cgi->should_set('is_active')) { $value->set_is_active($cgi->param('is_active')); } $value->set_name($cgi->param('value_new')); @@ -197,10 +193,5 @@ if ($action eq 'update') { display_field_values($vars); } - -# # No valid action found -# -# We can't get here without $field being defined -- -# See the unless($field) block at the top. -ThrowUserError('no_valid_action', { field => $field } ); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editversions.cgi b/editversions.cgi index 7e6b9247de7cb73adf9c1596722234aa9145da16..0888ef0c64376c2007198df88a6a2990a065ab9d 100755 --- a/editversions.cgi +++ b/editversions.cgi @@ -120,7 +120,7 @@ if ($action eq 'add') { if ($action eq 'new') { check_token_data($token, 'add_version'); my $version = Bugzilla::Version->create( - {name => $version_name, product => $product}); + { value => $version_name, product => $product }); delete_token($token); $vars->{'message'} = 'version_created'; @@ -219,7 +219,5 @@ if ($action eq 'update') { exit; } -# # No valid action found -# -ThrowUserError('no_valid_action', {'field' => "version"}); +ThrowUserError('unknown_action', {action => $action}); diff --git a/editworkflow.cgi b/editworkflow.cgi index 7e51798fc26e8f4c9563de088956e7c6721d07c4..321f077fe5f51b00248ab96baed04b92009fab3f 100755 --- a/editworkflow.cgi +++ b/editworkflow.cgi @@ -147,5 +147,5 @@ elsif ($action eq 'update_comment') { load_template('comment', 'workflow_updated'); } else { - ThrowCodeError("action_unrecognized", {action => $action}); + ThrowUserError('unknown_action', {action => $action}); } diff --git a/email_in.pl b/email_in.pl index 4254fbbd1699e4834ede3d4a0c1723a9f8c46536..6033c31c42f2a72aa7b038dc5492a453d62f8cdb 100755 --- a/email_in.pl +++ b/email_in.pl @@ -74,7 +74,7 @@ sub parse_mail { debug_print('Parsing Email'); $input_email = Email::MIME->new($mail_text); - my %fields; + my %fields = %{ $switch{'default'} || {} }; my $summary = $input_email->header('Subject'); if ($summary =~ /\[\S+ (\d+)\](.*)/i) { @@ -136,6 +136,11 @@ sub parse_mail { } $fields{'comment'} = $comment; + my %override = %{ $switch{'override'} || {} }; + foreach my $key (keys %override) { + $fields{$key} = $override{$key}; + } + debug_print("Parsed Fields:\n" . Dumper(\%fields), 2); return \%fields; @@ -147,33 +152,6 @@ sub post_bug { my $user = Bugzilla->user; - # Bugzilla::Bug->create throws a confusing CodeError if - # the REQUIRED_CREATE_FIELDS are missing, but much more - # sensible errors if the fields exist but are just undef. - foreach my $field (Bugzilla::Bug::REQUIRED_CREATE_FIELDS) { - $fields->{$field} = undef if !exists $fields->{$field}; - } - - # Restrict the bug to groups marked as Default. - # We let Bug->create throw an error if the product is - # not accessible, to throw the correct message. - $fields->{product} = '' if !defined $fields->{product}; - my $product = new Bugzilla::Product({ name => $fields->{product} }); - if ($product) { - my @gids; - my $controls = $product->group_controls; - foreach my $gid (keys %$controls) { - if (($controls->{$gid}->{membercontrol} == CONTROLMAPDEFAULT - && $user->in_group_id($gid)) - || ($controls->{$gid}->{othercontrol} == CONTROLMAPDEFAULT - && !$user->in_group_id($gid))) - { - push(@gids, $gid); - } - } - $fields->{groups} = \@gids; - } - my ($retval, $non_conclusive_fields) = Bugzilla::User::match_field({ 'assigned_to' => { 'type' => 'single' }, @@ -263,7 +241,8 @@ sub handle_attachments { # and this is our first attachment, then we make the comment an # "attachment created" comment. if ($comment and !$comment->type and !$update_comment) { - $comment->set_type(CMT_ATTACHMENT_CREATED, $obj->id); + $comment->set_all({ type => CMT_ATTACHMENT_CREATED, + extra_data => $obj->id }); $update_comment = 1; } else { @@ -402,7 +381,7 @@ sub die_handler { $SIG{__DIE__} = \&die_handler; -GetOptions(\%switch, 'help|h', 'verbose|v+'); +GetOptions(\%switch, 'help|h', 'verbose|v+', 'default=s%', 'override=s%'); $switch{'verbose'} ||= 0; # Print the help message if that switch was selected. @@ -441,7 +420,7 @@ handle_attachments($bug, $attachments, $comment); # to wait for $bug->update() to be fully used in email_in.pl first. So # currently, process_bug.cgi does the mail sending for bugs, and this does # any mail sending for attachments after the first one. -Bugzilla::BugMail::Send($bug->id, { changer => Bugzilla->user->login }); +Bugzilla::BugMail::Send($bug->id, { changer => Bugzilla->user }); debug_print("Sent bugmail"); @@ -453,13 +432,22 @@ email_in.pl - The Bugzilla Inbound Email Interface =head1 SYNOPSIS - ./email_in.pl [-vvv] < email.txt +./email_in.pl [-vvv] [--default name=value] [--override name=value] < email.txt + +Reads an email on STDIN (the standard input). + +Options: + + --verbose (-v) - Make the script print more to STDERR. + Specify multiple times to print even more. - Reads an email on STDIN (the standard input). + --default name=value - Specify defaults for field values, like + product=TestProduct. Can be specified multiple + times to specify defaults for multiple fields. - Options: - --verbose (-v) - Make the script print more to STDERR. - Specify multiple times to print even more. + --override name=value - Override field values specified in the email, + like product=TestProduct. Can be specified + multiple times to override multiple fields. =head1 DESCRIPTION diff --git a/enter_bug.cgi b/enter_bug.cgi index fc5f57479fe6ea3416fc3c79ff43e1ebd2893355..4aa6a29d9a3244ffa8b3f230f33c1897313a22c2 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -508,14 +508,17 @@ else { # parameter. $vars->{'version'} = [map($_->name, @{$product->versions})]; +my $version_cookie = $cgi->cookie("VERSION-" . $product->name); + if ( ($cloned_bug_id) && ($product->name eq $cloned_bug->product ) ) { $default{'version'} = $cloned_bug->version; } elsif (formvalue('version')) { $default{'version'} = formvalue('version'); -} elsif (defined $cgi->cookie("VERSION-" . $product->name) && - lsearch($vars->{'version'}, $cgi->cookie("VERSION-" . $product->name)) != -1) { - $default{'version'} = $cgi->cookie("VERSION-" . $product->name); +} elsif (defined $version_cookie + and grep { $_ eq $version_cookie } @{ $vars->{'version'} }) +{ + $default{'version'} = $version_cookie; } else { $default{'version'} = $vars->{'version'}->[$#{$vars->{'version'}}]; } @@ -531,100 +534,49 @@ if ( Bugzilla->params->{'usetargetmilestone'} ) { } # Construct the list of allowable statuses. -my $initial_statuses = Bugzilla::Status->can_change_to(); +my @statuses = @{ Bugzilla::Status->can_change_to() }; # Exclude closed states from the UI, even if the workflow allows them. # The back-end code will still accept them, though. -@$initial_statuses = grep { $_->is_open } @$initial_statuses; +@statuses = grep { $_->is_open } @statuses; -my @status = map { $_->name } @$initial_statuses; # UNCONFIRMED is illegal if allows_unconfirmed is false. if (!$product->allows_unconfirmed) { - @status = grep {$_ ne 'UNCONFIRMED'} @status; + @statuses = grep { $_->name ne 'UNCONFIRMED' } @statuses; } -scalar(@status) || ThrowUserError('no_initial_bug_status'); +scalar(@statuses) || ThrowUserError('no_initial_bug_status'); # If the user has no privs... unless ($has_editbugs || $has_canconfirm) { # ... use UNCONFIRMED if available, else use the first status of the list. - my $bug_status = (grep {$_ eq 'UNCONFIRMED'} @status) ? 'UNCONFIRMED' : $status[0]; - @status = ($bug_status); + my ($unconfirmed) = grep { $_->name eq 'UNCONFIRMED' } @statuses; + @statuses = ($unconfirmed || $statuses[0]); } -$vars->{'bug_status'} = \@status; +$vars->{'bug_status'} = \@statuses; # Get the default from a template value if it is legitimate. # Otherwise, and only if the user has privs, set the default # to the first confirmed bug status on the list, if available. -if (formvalue('bug_status') && (lsearch(\@status, formvalue('bug_status')) >= 0)) { +my $picked_status = formvalue('bug_status'); +if ($picked_status and grep($_->name eq $picked_status, @statuses)) { $default{'bug_status'} = formvalue('bug_status'); -} elsif (scalar @status == 1) { - $default{'bug_status'} = $status[0]; +} elsif (scalar @statuses == 1) { + $default{'bug_status'} = $statuses[0]->name; } else { - $default{'bug_status'} = ($status[0] ne 'UNCONFIRMED') ? $status[0] : $status[1]; + $default{'bug_status'} = ($statuses[0]->name ne 'UNCONFIRMED') + ? $statuses[0]->name : $statuses[1]->name; } -my $grouplist = $dbh->selectall_arrayref( - q{SELECT DISTINCT groups.id, groups.name, groups.description, - membercontrol, othercontrol - FROM groups - LEFT JOIN group_control_map - ON group_id = id AND product_id = ? - WHERE isbuggroup != 0 AND isactive != 0 - ORDER BY description}, undef, $product->id); - -my @groups; - -foreach my $row (@$grouplist) { - my ($id, $groupname, $description, $membercontrol, $othercontrol) = @$row; - # Only include groups if the entering user will have an option. - next if ((!$membercontrol) - || ($membercontrol == CONTROLMAPNA) - || ($membercontrol == CONTROLMAPMANDATORY) - || (($othercontrol != CONTROLMAPSHOWN) - && ($othercontrol != CONTROLMAPDEFAULT) - && (!Bugzilla->user->in_group($groupname))) - ); - my $check; - - # If this is a cloned bug, - # AND the product for this bug is the same as for the original - # THEN set a group's checkbox if the original also had it on - # ELSE IF this is a bookmarked template - # THEN set a group's checkbox if was set in the bookmark - # ELSE - # set a groups's checkbox based on the group control map - # - if ( ($cloned_bug_id) && - ($product->name eq $cloned_bug->product ) ) { - foreach my $i (0..(@{$cloned_bug->groups} - 1) ) { - if ($cloned_bug->groups->[$i]->{'bit'} == $id) { - $check = $cloned_bug->groups->[$i]->{'ison'}; - } - } - } - elsif(formvalue("maketemplate") ne "") { - $check = formvalue("bit-$id", 0); - } - else { - # Checkbox is checked by default if $control is a default state. - $check = (($membercontrol == CONTROLMAPDEFAULT) - || (($othercontrol == CONTROLMAPDEFAULT) - && (!Bugzilla->user->in_group($groupname)))); - } - - my $group = - { - 'bit' => $id , - 'checked' => $check , - 'description' => $description - }; - - push @groups, $group; +my @groups = $cgi->param('groups'); +if ($cloned_bug) { + my @clone_groups = map { $_->name } @{ $cloned_bug->groups_in }; + # It doesn't matter if there are duplicate names, since all we check + # for in the template is whether or not the group is set. + push(@groups, @clone_groups); } - -$vars->{'group'} = \@groups; +$default{'groups'} = \@groups; Bugzilla::Hook::process('enter_bug_entrydefaultvars', { vars => $vars }); diff --git a/extensions/BmpConvert/CVS/Entries b/extensions/BmpConvert/CVS/Entries deleted file mode 100644 index be82a1103e45b4ccb8e5c4b27b07700dae66d93d..0000000000000000000000000000000000000000 --- a/extensions/BmpConvert/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Config.pm/1.1/Tue Nov 24 06:09:45 2009//TBUGZILLA-3_6_1 -/Extension.pm/1.2/Wed Nov 25 01:46:36 2009//TBUGZILLA-3_6_1 -/disabled/1.1/Tue Nov 24 06:09:45 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/BmpConvert/CVS/Repository b/extensions/BmpConvert/CVS/Repository deleted file mode 100644 index 34ad8336412627cac994279f13a265cf6f6aee4a..0000000000000000000000000000000000000000 --- a/extensions/BmpConvert/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/BmpConvert diff --git a/extensions/BmpConvert/CVS/Root b/extensions/BmpConvert/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/BmpConvert/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/BmpConvert/CVS/Tag b/extensions/BmpConvert/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/BmpConvert/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/CVS/Entries b/extensions/CVS/Entries deleted file mode 100644 index 86680169a1b599b17f091c897832fc73c3bfcc28..0000000000000000000000000000000000000000 --- a/extensions/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/create.pl/1.1/Wed Nov 25 05:02:55 2009//TBUGZILLA-3_6_1 -D/BmpConvert//// -D/Example//// diff --git a/extensions/CVS/Repository b/extensions/CVS/Repository deleted file mode 100644 index 78529a42daa3679fdc380fc73d5b2df458aa907f..0000000000000000000000000000000000000000 --- a/extensions/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions diff --git a/extensions/CVS/Root b/extensions/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/CVS/Tag b/extensions/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/CVS/Entries b/extensions/Example/CVS/Entries deleted file mode 100644 index ffc3ffe5d654a32df66819be86b41bd97f00945f..0000000000000000000000000000000000000000 --- a/extensions/Example/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/Config.pm/1.1/Tue Nov 24 06:09:46 2009//TBUGZILLA-3_6_1 -/Extension.pm/1.5.2.5/Fri Apr 2 21:17:50 2010//TBUGZILLA-3_6_1 -/disabled/1.1/Tue Nov 24 06:09:46 2009//TBUGZILLA-3_6_1 -D/lib//// -D/template//// diff --git a/extensions/Example/CVS/Repository b/extensions/Example/CVS/Repository deleted file mode 100644 index d40a0613272bb8969e972c6522866e7fc882e8b5..0000000000000000000000000000000000000000 --- a/extensions/Example/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example diff --git a/extensions/Example/CVS/Root b/extensions/Example/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/CVS/Tag b/extensions/Example/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index d8e4228c05f5e6b76764f1636f434e9b81be597b..87061aa06172b7f336a268760b5010f889474c9c 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -25,9 +25,11 @@ use strict; use base qw(Bugzilla::Extension); use Bugzilla::Constants; +use Bugzilla::Error; use Bugzilla::Group; use Bugzilla::User; use Bugzilla::Util qw(diff_arrays html_quote); +use Bugzilla::Status qw(is_open_state); # This is extensions/Example/lib/Util.pm. I can load this here in my # Extension.pm only because I have a Config.pm. @@ -35,6 +37,9 @@ use Bugzilla::Extension::Example::Util; use Data::Dumper; +# See bugmail_relationships. +use constant REL_EXAMPLE => -127; + our $VERSION = '1.0'; sub attachment_process_data { @@ -195,14 +200,28 @@ sub bugmail_recipients { my ($self, $args) = @_; my $recipients = $args->{recipients}; my $bug = $args->{bug}; + + my $user = + new Bugzilla::User({ name => Bugzilla->params->{'maintainer'} }); + if ($bug->id == 1) { - # Uncomment the line below to add the second user in the Bugzilla - # database to the recipients list of every bugmail sent out about - # bug 1 as though that user were on the CC list. - #$recipients->{2}->{+REL_CC} = 1; + # Uncomment the line below to add the maintainer to the recipients + # list of every bugmail from bug 1 as though that the maintainer + # were on the CC list. + #$recipients->{$user->id}->{+REL_CC} = 1; + + # And this line adds the maintainer as though he had the "REL_EXAMPLE" + # relationship from the bugmail_relationships hook below. + #$recipients->{$user->id}->{+REL_EXAMPLE} = 1; } } +sub bugmail_relationships { + my ($self, $args) = @_; + my $relationships = $args->{relationships}; + $relationships->{+REL_EXAMPLE} = 'Example'; +} + sub colchange_columns { my ($self, $args) = @_; @@ -359,6 +378,15 @@ sub object_before_set { } } +sub object_columns { + my ($self, $args) = @_; + my ($class, $columns) = @$args{qw(class columns)}; + + if ($class->isa('Bugzilla::ExampleObject')) { + push(@$columns, 'example'); + } +} + sub object_end_of_create_validators { my ($self, $args) = @_; @@ -387,7 +415,7 @@ sub object_end_of_set { sub object_end_of_set_all { my ($self, $args) = @_; - my $object = $args->{'class'}; + my $object = $args->{'object'}; my $object_params = $args->{'params'}; # Note that this is a made-up class, for this example. @@ -414,6 +442,54 @@ sub object_end_of_update { } } +sub object_update_columns { + my ($self, $args) = @_; + my ($object, $columns) = @$args{qw(object columns)}; + + if ($object->isa('Bugzilla::ExampleObject')) { + push(@$columns, 'example'); + } +} + +sub object_validators { + my ($self, $args) = @_; + my ($class, $validators) = @$args{qw(class validators)}; + + if ($class->isa('Bugzilla::Bug')) { + # This is an example of adding a new validator. + # See the _check_example subroutine below. + $validators->{example} = \&_check_example; + + # This is an example of overriding an existing validator. + # See the check_short_desc validator below. + my $original = $validators->{short_desc}; + $validators->{short_desc} = sub { _check_short_desc($original, @_) }; + } +} + +sub _check_example { + my ($invocant, $value, $field) = @_; + warn "I was called to validate the value of $field."; + warn "The value of $field that I was passed in is: $value"; + + # Make the value always be 1. + my $fixed_value = 1; + return $fixed_value; +} + +sub _check_short_desc { + my $original = shift; + my $invocant = shift; + my $value = $invocant->$original(@_); + if ($value !~ /example/i) { + # Uncomment this line to make Bugzilla throw an error every time + # you try to file a bug or update a bug without the word "example" + # in the summary. + #ThrowUserError('example_short_desc_invalid'); + } + return $value; +} + sub page_before_template { my ($self, $args) = @_; @@ -538,6 +614,44 @@ sub template_before_process { } } +sub bug_check_can_change_field { + my ($self, $args) = @_; + + my ($bug, $field, $new_value, $old_value, $priv_results) + = @$args{qw(bug field new_value old_value priv_results)}; + + my $user = Bugzilla->user; + + # Disallow a bug from being reopened if currently closed unless user + # is in 'admin' group + if ($field eq 'bug_status' && $bug->product_obj->name eq 'Example') { + if (!is_open_state($old_value) && is_open_state($new_value) + && !$user->in_group('admin')) + { + push(@$priv_results, PRIVILEGES_REQUIRED_EMPOWERED); + return; + } + } + + # Disallow a bug's keywords from being edited unless user is the + # reporter of the bug + if ($field eq 'keywords' && $bug->product_obj->name eq 'Example' + && $user->login ne $bug->reporter->login) + { + push(@$priv_results, PRIVILEGES_REQUIRED_REPORTER); + return; + } + + # Allow updating of priority even if user cannot normally edit the bug + # and they are in group 'engineering' + if ($field eq 'priority' && $bug->product_obj->name eq 'Example' + && $user->in_group('engineering')) + { + push(@$priv_results, PRIVILEGES_REQUIRED_NONE); + return; + } +} + sub webservice { my ($self, $args) = @_; diff --git a/extensions/Example/lib/Auth/CVS/Entries b/extensions/Example/lib/Auth/CVS/Entries deleted file mode 100644 index fb54d69764e93564a209dc01b8e6afa85a0b8cbd..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/Auth/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/Login.pm/1.1/Tue Nov 24 11:50:27 2009//TBUGZILLA-3_6_1 -/Verify.pm/1.1/Tue Nov 24 11:50:27 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/lib/Auth/CVS/Repository b/extensions/Example/lib/Auth/CVS/Repository deleted file mode 100644 index d31ffbfb83050f3575c5a83ded13b86375798f5f..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/Auth/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/lib/Auth diff --git a/extensions/Example/lib/Auth/CVS/Root b/extensions/Example/lib/Auth/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/Auth/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/lib/Auth/CVS/Tag b/extensions/Example/lib/Auth/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/Auth/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/lib/CVS/Entries b/extensions/Example/lib/CVS/Entries deleted file mode 100644 index 620fcb14f5b5121f29919e71f30c5e90f2408e9e..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Config.pm/1.1/Tue Nov 24 11:50:27 2009//TBUGZILLA-3_6_1 -/Util.pm/1.1/Tue Nov 24 11:50:27 2009//TBUGZILLA-3_6_1 -/WebService.pm/1.1/Tue Nov 24 11:50:27 2009//TBUGZILLA-3_6_1 -D/Auth//// diff --git a/extensions/Example/lib/CVS/Repository b/extensions/Example/lib/CVS/Repository deleted file mode 100644 index 7658cc924e72df9b1364bdf35ca940da3860e9ad..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/lib diff --git a/extensions/Example/lib/CVS/Root b/extensions/Example/lib/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/lib/CVS/Tag b/extensions/Example/lib/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/template/CVS/Entries b/extensions/Example/template/CVS/Entries deleted file mode 100644 index ed79d09880f2e8817ccbcc522ec6f38a07818c3b..0000000000000000000000000000000000000000 --- a/extensions/Example/template/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/en//// diff --git a/extensions/Example/template/CVS/Repository b/extensions/Example/template/CVS/Repository deleted file mode 100644 index d3266223ac47ced2ff055a1234cfecd552eef2ec..0000000000000000000000000000000000000000 --- a/extensions/Example/template/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template diff --git a/extensions/Example/template/CVS/Root b/extensions/Example/template/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/CVS/Tag b/extensions/Example/template/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/CVS/Entries b/extensions/Example/template/en/CVS/Entries deleted file mode 100644 index 549f77d6dc4c1af203f17d8aaad5ffde3d346be8..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/default//// diff --git a/extensions/Example/template/en/CVS/Repository b/extensions/Example/template/en/CVS/Repository deleted file mode 100644 index 163a395b4c7a60bd20a398d1ce92d064d3162038..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en diff --git a/extensions/Example/template/en/CVS/Root b/extensions/Example/template/en/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/CVS/Tag b/extensions/Example/template/en/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/CVS/Entries b/extensions/Example/template/en/default/CVS/Entries deleted file mode 100644 index 01e98e5f1360f6073b88679ef5ef9062fe0ac0cd..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -D/admin//// -D/hook//// -D/pages//// -D/setup//// diff --git a/extensions/Example/template/en/default/CVS/Repository b/extensions/Example/template/en/default/CVS/Repository deleted file mode 100644 index 86407b3847ae9d3e56effd6c74b9c662e9e7ec99..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default diff --git a/extensions/Example/template/en/default/CVS/Root b/extensions/Example/template/en/default/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/CVS/Tag b/extensions/Example/template/en/default/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/admin/CVS/Entries b/extensions/Example/template/en/default/admin/CVS/Entries deleted file mode 100644 index ffbbb1ed69afc4cc33b750676bb12062e9d9cee2..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/params//// diff --git a/extensions/Example/template/en/default/admin/CVS/Repository b/extensions/Example/template/en/default/admin/CVS/Repository deleted file mode 100644 index a9d42ae5c55ff84d6ccb41a4dda742c26af4dcd8..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/admin diff --git a/extensions/Example/template/en/default/admin/CVS/Root b/extensions/Example/template/en/default/admin/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/admin/CVS/Tag b/extensions/Example/template/en/default/admin/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/admin/params/CVS/Entries b/extensions/Example/template/en/default/admin/params/CVS/Entries deleted file mode 100644 index f8cc593e6dfa7bea68ac619cff9d27d92ce405ff..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/params/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/example.html.tmpl/1.1/Tue Nov 24 06:09:47 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/template/en/default/admin/params/CVS/Repository b/extensions/Example/template/en/default/admin/params/CVS/Repository deleted file mode 100644 index 3d654a0421138ea4082d2a39378855403c50b82a..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/params/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/admin/params diff --git a/extensions/Example/template/en/default/admin/params/CVS/Root b/extensions/Example/template/en/default/admin/params/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/params/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/admin/params/CVS/Tag b/extensions/Example/template/en/default/admin/params/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/admin/params/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/hook/CVS/Entries b/extensions/Example/template/en/default/hook/CVS/Entries deleted file mode 100644 index 8bfd8445ef8d86ce89b586ef71d0f36ad128708c..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -D/admin//// -D/global//// diff --git a/extensions/Example/template/en/default/hook/CVS/Repository b/extensions/Example/template/en/default/hook/CVS/Repository deleted file mode 100644 index ce2e2c49f40f06b6e27019489e23c9e924e55317..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/hook diff --git a/extensions/Example/template/en/default/hook/CVS/Root b/extensions/Example/template/en/default/hook/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/hook/CVS/Tag b/extensions/Example/template/en/default/hook/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/hook/admin/CVS/Entries b/extensions/Example/template/en/default/hook/admin/CVS/Entries deleted file mode 100644 index 521edf92d416c5a453150ac7233fd9c008a246ec..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/sanitycheck//// diff --git a/extensions/Example/template/en/default/hook/admin/CVS/Repository b/extensions/Example/template/en/default/hook/admin/CVS/Repository deleted file mode 100644 index 57673e1d3b350f731a05f9707b4fd263247d1ac6..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/hook/admin diff --git a/extensions/Example/template/en/default/hook/admin/CVS/Root b/extensions/Example/template/en/default/hook/admin/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/hook/admin/CVS/Tag b/extensions/Example/template/en/default/hook/admin/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Entries b/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Entries deleted file mode 100644 index 8bbc17c6372f25ba8aa1800595c132587994c5da..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/messages-statuses.html.tmpl/1.1/Wed Nov 25 03:37:10 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Repository b/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Repository deleted file mode 100644 index 01a138d4da554f65591d9a96a495f5b5813e2d55..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/hook/admin/sanitycheck diff --git a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Root b/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Tag b/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/admin/sanitycheck/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/hook/global/CVS/Entries b/extensions/Example/template/en/default/hook/global/CVS/Entries deleted file mode 100644 index 792637e668dc1d32385bb06a17c5b8a6f5f499b4..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/global/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/user-error-errors.html.tmpl/1.1/Wed Nov 25 03:37:10 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/template/en/default/hook/global/CVS/Repository b/extensions/Example/template/en/default/hook/global/CVS/Repository deleted file mode 100644 index 8e6724b39e99de688a7b234dc580183b39069b8c..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/global/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/hook/global diff --git a/extensions/Example/template/en/default/hook/global/CVS/Root b/extensions/Example/template/en/default/hook/global/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/global/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/hook/global/CVS/Tag b/extensions/Example/template/en/default/hook/global/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/hook/global/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/Example/template/en/default/hook/global/user-error-errors.html.tmpl index df5a203dd3504339a15da8a5f160c8dbf2ababf0..50d20a9f2ac446727a726b630d62fb1008d74ac6 100644 --- a/extensions/Example/template/en/default/hook/global/user-error-errors.html.tmpl +++ b/extensions/Example/template/en/default/hook/global/user-error-errors.html.tmpl @@ -9,4 +9,7 @@ [% IF error == "example_my_error" %] [% title = "Example Error Title" %] This is the error message! It contains <em>some html</em>. +[% ELSIF error == "example_short_desc_invalid" %] + [% title = "Bad Summary" %] + The Summary must contain the word "example". [% END %] diff --git a/extensions/Example/template/en/default/pages/CVS/Entries b/extensions/Example/template/en/default/pages/CVS/Entries deleted file mode 100644 index f8cc593e6dfa7bea68ac619cff9d27d92ce405ff..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/pages/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/example.html.tmpl/1.1/Tue Nov 24 06:09:47 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/template/en/default/pages/CVS/Repository b/extensions/Example/template/en/default/pages/CVS/Repository deleted file mode 100644 index ade59c85db552f47642f92ad6dd2d1463d9a6954..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/pages/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/pages diff --git a/extensions/Example/template/en/default/pages/CVS/Root b/extensions/Example/template/en/default/pages/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/pages/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/pages/CVS/Tag b/extensions/Example/template/en/default/pages/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/pages/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/Example/template/en/default/setup/CVS/Entries b/extensions/Example/template/en/default/setup/CVS/Entries deleted file mode 100644 index 426e7419fdc7b661d81c3a6c75e72fc918240068..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/setup/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/strings.txt.pl/1.1/Tue Nov 24 06:09:48 2009//TBUGZILLA-3_6_1 -D diff --git a/extensions/Example/template/en/default/setup/CVS/Repository b/extensions/Example/template/en/default/setup/CVS/Repository deleted file mode 100644 index d9208be9c7d11101fedfc1828faa9972449aa870..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/setup/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/extensions/Example/template/en/default/setup diff --git a/extensions/Example/template/en/default/setup/CVS/Root b/extensions/Example/template/en/default/setup/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/setup/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/extensions/Example/template/en/default/setup/CVS/Tag b/extensions/Example/template/en/default/setup/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/extensions/Example/template/en/default/setup/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/extensions/OldBugMove/Config.pm b/extensions/OldBugMove/Config.pm new file mode 100644 index 0000000000000000000000000000000000000000..e401260469ddac4a061c1ed6bdc375c7ec503bae --- /dev/null +++ b/extensions/OldBugMove/Config.pm @@ -0,0 +1,25 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the OldBugMove Bugzilla Extension. +# +# The Initial Developer of the Original Code is Everything Solved, Inc. +# Portions created by the Initial Developer is Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Max Kanat-Alexander <mkanat@bugzilla.org> + +package Bugzilla::Extension::OldBugMove; +use strict; +use constant NAME => 'OldBugMove'; +__PACKAGE__->NAME; diff --git a/extensions/OldBugMove/Extension.pm b/extensions/OldBugMove/Extension.pm new file mode 100644 index 0000000000000000000000000000000000000000..c6b5659b07cc6adab17a0c314940ffdcc4af509e --- /dev/null +++ b/extensions/OldBugMove/Extension.pm @@ -0,0 +1,214 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the OldBugMove Bugzilla Extension. +# +# The Initial Developer of the Original Code is Everything Solved, Inc. +# Portions created by the Initial Developer are Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Max Kanat-Alexander <mkanat@bugzilla.org> + +package Bugzilla::Extension::OldBugMove; +use strict; +use base qw(Bugzilla::Extension); +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Field::Choice; +use Bugzilla::Mailer; +use Bugzilla::User; +use Bugzilla::Util qw(trim); + +use Scalar::Util qw(blessed); +use Storable qw(dclone); + +# This is 4 because that's what it originally was when this code was +# a part of Bugzilla. +use constant CMT_MOVED_TO => 4; + +our $VERSION = BUGZILLA_VERSION; + +sub install_update_db { + my $reso_type = Bugzilla::Field::Choice->type('resolution'); + my $moved_reso = $reso_type->new({ name => 'MOVED' }); + # We make the MOVED resolution inactive, so that it doesn't show up + # as a valid drop-down option. + if ($moved_reso) { + $moved_reso->set_is_active(0); + $moved_reso->update(); + } + else { + print "Creating the MOVED resolution...\n"; + $reso_type->create( + { value => 'MOVED', sortkey => '30000', isactive => 0 }); + } +} + +sub config_add_panels { + my ($self, $args) = @_; + my $modules = $args->{'panel_modules'}; + $modules->{'OldBugMove'} = 'Bugzilla::Extension::OldBugMove::Params'; +} + +sub template_before_create { + my ($self, $args) = @_; + my $config = $args->{config}; + + my $constants = $config->{CONSTANTS}; + $constants->{CMT_MOVED_TO} = CMT_MOVED_TO; + + my $vars = $config->{VARIABLES}; + $vars->{oldbugmove_user_is_mover} = \&_user_is_mover; +} + +sub object_before_delete { + my ($self, $args) = @_; + my $object = $args->{'object'}; + if ($object->isa('Bugzilla::Field::Choice::resolution')) { + if ($object->name eq 'MOVED') { + ThrowUserError('oldbugmove_no_delete_moved'); + } + } +} + +sub object_before_set { + my ($self, $args) = @_; + my ($object, $field) = @$args{qw(object field)}; + if ($field eq 'resolution' and $object->isa('Bugzilla::Bug')) { + # Store the old value so that end_of_set can check it. + $object->{'_oldbugmove_old_resolution'} = $object->resolution; + } +} + +sub object_end_of_set { + my ($self, $args) = @_; + my ($object, $field) = @$args{qw(object field)}; + if ($field eq 'resolution' and $object->isa('Bugzilla::Bug')) { + my $old_value = delete $object->{'_oldbugmove_old_resolution'}; + return if $old_value eq $object->resolution; + if ($object->resolution eq 'MOVED') { + $object->add_comment('', { type => CMT_MOVED_TO, + extra_data => Bugzilla->user->login }); + } + } +} + +sub object_end_of_set_all { + my ($self, $args) = @_; + my $object = $args->{'object'}; + + if ($object->isa('Bugzilla::Bug') and _bug_is_moving($object)) { + my $new_status = Bugzilla->params->{'duplicate_or_move_bug_status'}; + $object->set_bug_status($new_status, { resolution => 'MOVED' }); + } +} + +sub object_validators { + my ($self, $args) = @_; + my ($class, $validators) = @$args{qw(class validators)}; + if ($class->isa('Bugzilla::Comment')) { + my $extra_data_validator = $validators->{extra_data}; + $validators->{extra_data} = + sub { _check_comment_extra_data($extra_data_validator, @_) }; + } + elsif ($class->isa('Bugzilla::Bug')) { + my $reso_validator = $validators->{resolution}; + $validators->{resolution} = + sub { _check_bug_resolution($reso_validator, @_) }; + } +} + +sub _check_bug_resolution { + my $original_validator = shift; + my ($invocant, $resolution) = @_; + + if ($resolution eq 'MOVED' and !_bug_is_moving($invocant)) { + # MOVED has a special meaning and can only be used when + # really moving bugs to another installation. + ThrowUserError('oldbugmove_no_manual_move'); + } + + return $original_validator->(@_); +} + +sub _check_comment_extra_data { + my $original_validator = shift; + my ($invocant, $extra_data, undef, $params) = @_; + my $type = blessed($invocant) ? $invocant->type : $params->{type}; + + if ($type == CMT_MOVED_TO) { + return Bugzilla::User->check($extra_data)->login; + } + return $original_validator->(@_); +} + +sub bug_end_of_update { + my ($self, $args) = @_; + my ($bug, $old_bug, $changes) = @$args{qw(bug old_bug changes)}; + if (defined $changes->{'resolution'} + and $changes->{'resolution'}->[1] eq 'MOVED') + { + $self->_move_bug($bug, $old_bug); + } +} + +sub _move_bug { + my ($self, $bug, $old_bug) = @_; + + my $dbh = Bugzilla->dbh; + my $template = Bugzilla->template; + + _user_is_mover(Bugzilla->user) + or ThrowUserError("auth_failure", { action => 'move', + object => 'bugs' }); + + # Don't export the new status and resolution. We want the current + # ones. + local $Storable::forgive_me = 1; + my $export_me = dclone($bug); + $export_me->{bug_status} = $old_bug->bug_status; + delete $export_me->{status}; + $export_me->{resolution} = $old_bug->resolution; + + # Prepare and send all data about these bugs to the new database + my $to = Bugzilla->params->{'move-to-address'}; + $to =~ s/@/\@/; + my $from = Bugzilla->params->{'mailfrom'}; + $from =~ s/@/\@/; + my $msg = "To: $to\n"; + $msg .= "From: Bugzilla <" . $from . ">\n"; + $msg .= "Subject: Moving bug " . $bug->id . "\n\n"; + my @fieldlist = (Bugzilla::Bug->fields, 'group', 'long_desc', + 'attachment', 'attachmentdata'); + my %displayfields = map { $_ => 1 } @fieldlist; + my $vars = { bugs => [$export_me], displayfields => \%displayfields }; + $template->process("bug/show.xml.tmpl", $vars, \$msg) + || ThrowTemplateError($template->error()); + $msg .= "\n"; + MessageToMTA($msg); +} + +sub _bug_is_moving { + my $bug = shift; + my $oldbugmove = Bugzilla->input_params->{"oldbugmove_" . $bug->id}; + return $oldbugmove ? 1 : 0; +} + +sub _user_is_mover { + my $user = shift; + + my @movers = map { trim($_) } split(',', Bugzilla->params->{'movers'}); + return ($user->id and grep($_ eq $user->login, @movers)) ? 1 : 0; +} + +__PACKAGE__->NAME; diff --git a/extensions/OldBugMove/disabled b/extensions/OldBugMove/disabled new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Bugzilla/Config/BugMove.pm b/extensions/OldBugMove/lib/Params.pm similarity index 75% rename from Bugzilla/Config/BugMove.pm rename to extensions/OldBugMove/lib/Params.pm index 2d973d8cab141bbbe125b81026ba63cbe0d21f0e..a8617e347ce8376261f838e9ebfa147d79964fca 100644 --- a/Bugzilla/Config/BugMove.pm +++ b/extensions/OldBugMove/lib/Params.pm @@ -29,7 +29,7 @@ # Frédéric Buclin <LpSolit@gmail.com> # -package Bugzilla::Config::BugMove; +package Bugzilla::Extension::OldBugMove::Params; use strict; @@ -37,21 +37,7 @@ use Bugzilla::Config::Common; our $sortkey = 700; -sub get_param_list { - my $class = shift; - my @param_list = ( - { - name => 'move-enabled', - type => 'b', - default => 0 - }, - - { - name => 'move-button-text', - type => 't', - default => 'Move To Bugscape' - }, - +use constant get_param_list => ( { name => 'move-to-url', type => 't', @@ -64,30 +50,11 @@ sub get_param_list { default => 'bugzilla-import' }, - { - name => 'moved-from-address', - type => 't', - default => 'bugzilla-admin' - }, - { name => 'movers', type => 't', default => '' }, - - { - name => 'moved-default-product', - type => 't', - default => '' - }, - - { - name => 'moved-default-component', - type => 't', - default => '' - } ); - return @param_list; -} +); 1; diff --git a/extensions/OldBugMove/template/en/default/admin/params/oldbugmove.html.tmpl b/extensions/OldBugMove/template/en/default/admin/params/oldbugmove.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ce588b168dd7a9db5a8688aa6110e514bdd7c889 --- /dev/null +++ b/extensions/OldBugMove/template/en/default/admin/params/oldbugmove.html.tmpl @@ -0,0 +1,40 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Dave Miller <justdave@bugzilla.org> + # Frédéric Buclin <LpSolit@gmail.com> + #%] +[% + title = "$terms.Bug Moving" + desc = "Set up parameters to move $terms.bugs to/from another installation" +%] + +[% param_descs = { + + "move-to-url" => + "The URL of the database we allow some of our $terms.bugs to" + _ " be moved to.", + + "move-to-address" => + "To move ${terms.bugs}, an email is sent to the target database." + _ " This is the email address that that database uses to listen" + _ " for incoming ${terms.bugs}.", + + movers => + "A list of people with permission to move $terms.bugs ", + +} %] diff --git a/extensions/OldBugMove/template/en/default/hook/bug/edit-after_comment_textarea.html.tmpl b/extensions/OldBugMove/template/en/default/hook/bug/edit-after_comment_textarea.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..71fe0659010b7e74ea91d4ebb3ee42f3d96cedfe --- /dev/null +++ b/extensions/OldBugMove/template/en/default/hook/bug/edit-after_comment_textarea.html.tmpl @@ -0,0 +1,27 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF oldbugmove_user_is_mover(user) AND bug.resolution != 'MOVED' %] + <br> + <input type="submit" name="oldbugmove_[% bug.id FILTER html %]" + id="oldbugmove" + value="Move [% terms.Bug FILTER html %] to + [%= Param('move-to-url') FILTER html %]"> +[% END %] diff --git a/extensions/OldBugMove/template/en/default/hook/bug/format_comment-type.txt.tmpl b/extensions/OldBugMove/template/en/default/hook/bug/format_comment-type.txt.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..1ce8e369dcaddf98b0f2fbebd1a869f36d88c388 --- /dev/null +++ b/extensions/OldBugMove/template/en/default/hook/bug/format_comment-type.txt.tmpl @@ -0,0 +1,29 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF comment.type == constants.CMT_MOVED_TO %] +[% comment.body %] + +[%+ terms.Bug %] moved to [% Param("move-to-url") %]. +If the move succeeded, [% comment.extra_data FILTER email %] will receive a mail +containing the number of the new [% terms.bug %] in the other database. +If all went well, please paste in a link to the new [% terms.bug %]. +Otherwise, reopen this [% terms.bug %]. +[% END %] diff --git a/extensions/OldBugMove/template/en/default/hook/global/user-error-auth_failure_action.html.tmpl b/extensions/OldBugMove/template/en/default/hook/global/user-error-auth_failure_action.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..58500976bbf55c37d53a71fa601a1406c684b582 --- /dev/null +++ b/extensions/OldBugMove/template/en/default/hook/global/user-error-auth_failure_action.html.tmpl @@ -0,0 +1,23 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF action == "move" %] + move +[% END %] diff --git a/extensions/OldBugMove/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/OldBugMove/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..935117780d39058076d5fd352c961485c84bb595 --- /dev/null +++ b/extensions/OldBugMove/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,29 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF error == "oldbugmove_no_delete_moved" %] + As long as the OldBugMove extension is active, you cannot + delete the [%+ display_value("resolution", "MOVED") FILTER html %] + resolution. +[% ELSIF error == "oldbugmove_no_manual_move" %] + You cannot set the resolution of [% terms.abug %] to + [%+ display_value("resolution", "MOVED") FILTER html %] without + moving the [% terms.bug %]. +[% END %] diff --git a/extensions/Voting/Extension.pm b/extensions/Voting/Extension.pm new file mode 100644 index 0000000000000000000000000000000000000000..24ac4fdb546123ae7cbfe1df8d3cda01b343743b --- /dev/null +++ b/extensions/Voting/Extension.pm @@ -0,0 +1,867 @@ +# -*- Mode: perl; indent-tabs-mode: nil -*- +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Netscape Communications +# Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All +# Rights Reserved. +# +# Contributor(s): Terry Weissman <terry@mozilla.org> +# Stephan Niemz <st.n@gmx.net> +# Christopher Aillon <christopher@aillon.com> +# Gervase Markham <gerv@gerv.net> +# Frédéric Buclin <LpSolit@gmail.com> +# Max Kanat-Alexander <mkanat@bugzilla.org> + +package Bugzilla::Extension::Voting; +use strict; +use base qw(Bugzilla::Extension); + +use Bugzilla::Bug; +use Bugzilla::BugMail; +use Bugzilla::Constants; +use Bugzilla::Error; +use Bugzilla::Field; +use Bugzilla::Mailer; +use Bugzilla::User; +use Bugzilla::Util qw(detaint_natural); + +use List::Util qw(min); + +use constant NAME => 'Voting'; +use constant DEFAULT_VOTES_PER_BUG => 1; +# These came from Bugzilla itself, so they maintain the old numbers +# they had before. +use constant CMT_POPULAR_VOTES => 3; +use constant REL_VOTER => 4; + +################ +# Installation # +################ + +our $VERSION = BUGZILLA_VERSION; + +sub db_schema_abstract_schema { + my ($self, $args) = @_; + $args->{'schema'}->{'votes'} = { + FIELDS => [ + who => {TYPE => 'INT3', NOTNULL => 1, + REFERENCES => {TABLE => 'profiles', + COLUMN => 'userid', + DELETE => 'CASCADE'}}, + bug_id => {TYPE => 'INT3', NOTNULL => 1, + REFERENCES => {TABLE => 'bugs', + COLUMN => 'bug_id', + DELETE => 'CASCADE'}}, + vote_count => {TYPE => 'INT2', NOTNULL => 1}, + ], + INDEXES => [ + votes_who_idx => ['who'], + votes_bug_id_idx => ['bug_id'], + ], + }; +} + +sub install_update_db { + my $dbh = Bugzilla->dbh; + # Note that before Bugzilla 3.8, voting was a built-in part of Bugzilla, + # so updates to the columns for old versions of Bugzilla happen in + # Bugzilla::Install::DB, and can't safely be moved to this extension. + + my $field = new Bugzilla::Field({ name => 'votes' }); + if (!$field) { + Bugzilla::Field->create( + { name => 'votes', description => 'Votes', buglist => 1 }); + } + + $dbh->bz_add_column('products', 'votesperuser', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); + $dbh->bz_add_column('products', 'maxvotesperbug', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => DEFAULT_VOTES_PER_BUG}); + $dbh->bz_add_column('products', 'votestoconfirm', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0}); + + $dbh->bz_add_column('bugs', 'votes', + {TYPE => 'INT3', NOTNULL => 1, DEFAULT => 0}); + $dbh->bz_add_index('bugs', 'bugs_votes_idx', ['votes']); + + # maxvotesperbug used to default to 10,000, which isn't very sensible. + my $per_bug = $dbh->bz_column_info('products', 'maxvotesperbug'); + if ($per_bug->{DEFAULT} != DEFAULT_VOTES_PER_BUG) { + $dbh->bz_alter_column('products', 'maxvotesperbug', + {TYPE => 'INT2', NOTNULL => 1, DEFAULT => DEFAULT_VOTES_PER_BUG}); + } +} + +########### +# Objects # +########### + +sub object_columns { + my ($self, $args) = @_; + my ($class, $columns) = @$args{qw(class columns)}; + if ($class->isa('Bugzilla::Bug')) { + push(@$columns, 'votes'); + } + elsif ($class->isa('Bugzilla::Product')) { + push(@$columns, qw(votesperuser maxvotesperbug votestoconfirm)); + } +} + +sub bug_fields { + my ($self, $args) = @_; + my $fields = $args->{fields}; + push(@$fields, 'votes'); +} + +sub object_update_columns { + my ($self, $args) = @_; + my ($object, $columns) = @$args{qw(object columns)}; + if ($object->isa('Bugzilla::Product')) { + push(@$columns, qw(votesperuser maxvotesperbug votestoconfirm)); + } +} + +sub object_validators { + my ($self, $args) = @_; + my ($class, $validators) = @$args{qw(class validators)}; + if ($class->isa('Bugzilla::Product')) { + $validators->{'votesperuser'} = \&_check_votesperuser; + $validators->{'maxvotesperbug'} = \&_check_maxvotesperbug; + $validators->{'votestoconfirm'} = \&_check_votestoconfirm; + } +} + +sub object_before_create { + my ($self, $args) = @_; + my ($class, $params) = @$args{qw(class params)}; + if ($class->isa('Bugzilla::Bug')) { + # Don't ever allow people to directly specify "votes" into the bugs + # table. + delete $params->{votes}; + } + elsif ($class->isa('Bugzilla::Product')) { + my $input = Bugzilla->input_params; + $params->{votesperuser} = $input->{'votesperuser'}; + $params->{maxvotesperbug} = $input->{'maxvotesperbug'}; + $params->{votestoconfirm} = $input->{'votestoconfirm'}; + } +} + +sub object_end_of_set_all { + my ($self, $args) = @_; + my ($object) = $args->{object}; + if ($object->isa('Bugzilla::Product')) { + my $input = Bugzilla->input_params; + $object->set('votesperuser', $input->{'votesperuser'}); + $object->set('maxvotesperbug', $input->{'maxvotesperbug'}); + $object->set('votestoconfirm', $input->{'votestoconfirm'}); + } +} + +sub object_end_of_update { + my ($self, $args) = @_; + my ($object, $changes) = @$args{qw(object changes)}; + if ( $object->isa('Bugzilla::Product') + and ($changes->{maxvotesperbug} or $changes->{votesperuser} + or $changes->{votestoconfirm}) ) + { + _modify_bug_votes($object, $changes); + } +} + +sub bug_end_of_update { + my ($self, $args) = @_; + my ($bug, $changes) = @$args{qw(bug changes)}; + + if ($changes->{'product'}) { + my @msgs; + # If some votes have been removed, RemoveVotes() returns + # a list of messages to send to voters. + @msgs = _remove_votes($bug->id, 0, 'votes_bug_moved'); + _confirm_if_vote_confirmed($bug->id); + + foreach my $msg (@msgs) { + MessageToMTA($msg); + } + } +} + +############# +# Templates # +############# + +sub template_before_create { + my ($self, $args) = @_; + my $config = $args->{config}; + my $constants = $config->{CONSTANTS}; + $constants->{REL_VOTER} = REL_VOTER; + $constants->{CMT_POPULAR_VOTES} = CMT_POPULAR_VOTES; + $constants->{DEFAULT_VOTES_PER_BUG} = DEFAULT_VOTES_PER_BUG; +} + + +sub template_before_process { + my ($self, $args) = @_; + my ($vars, $file) = @$args{qw(vars file)}; + if ($file eq 'admin/users/confirm-delete.html.tmpl') { + my $who = $vars->{otheruser}; + my $votes = Bugzilla->dbh->selectrow_array( + 'SELECT COUNT(*) FROM votes WHERE who = ?', undef, $who->id); + if ($votes) { + $vars->{other_safe} = 1; + $vars->{votes} = $votes; + } + } +} + +########### +# Bugmail # +########### + +sub bugmail_recipients { + my ($self, $args) = @_; + my ($bug, $recipients) = @$args{qw(bug recipients)}; + my $dbh = Bugzilla->dbh; + + my $voters = $dbh->selectcol_arrayref( + "SELECT who FROM votes WHERE bug_id = ?", undef, $bug->id); + $recipients->{$_}->{+REL_VOTER} = 1 foreach (@$voters); +} + +sub bugmail_relationships { + my ($self, $args) = @_; + my $relationships = $args->{relationships}; + $relationships->{+REL_VOTER} = 'Voter'; +} + +############### +# Sanitycheck # +############### + +sub sanitycheck_check { + my ($self, $args) = @_; + my $status = $args->{status}; + + # Vote Cache + $status->('voting_count_start'); + my $dbh = Bugzilla->dbh; + my %cached_counts = @{ $dbh->selectcol_arrayref( + 'SELECT bug_id, votes FROM bugs', {Columns=>[1,2]}) }; + + my %real_counts = @{ $dbh->selectcol_arrayref( + 'SELECT bug_id, SUM(vote_count) FROM votes ' + . $dbh->sql_group_by('bug_id'), {Columns=>[1,2]}) }; + + my $needs_rebuild; + foreach my $id (keys %cached_counts) { + my $cached_count = $cached_counts{$id}; + my $real_count = $real_counts{$id} || 0; + if ($cached_count < 0) { + $status->('voting_count_alert', { id => $id }, 'alert'); + } + elsif ($cached_count != $real_count) { + $status->('voting_cache_alert', { id => $id }, 'alert'); + $needs_rebuild = 1; + } + } + + $status->('voting_cache_rebuild_fix') if $needs_rebuild; +} + +sub sanitycheck_repair { + my ($self, $args) = @_; + my $status = $args->{status}; + my $input = Bugzilla->input_params; + my $dbh = Bugzilla->dbh; + + return if !$input->{rebuild_vote_cache}; + + $status->('voting_cache_rebuild_start'); + $dbh->bz_start_transaction(); + $dbh->do('UPDATE bugs SET votes = 0'); + + my $sth = $dbh->prepare( + 'SELECT bug_id, SUM(vote_count) FROM votes ' + . $dbh->sql_group_by('bug_id')); + $sth->execute(); + + my $sth_update = $dbh->prepare( + 'UPDATE bugs SET votes = ? WHERE bug_id = ?'); + while (my ($id, $count) = $sth->fetchrow_array) { + $sth_update->execute($count, $id); + } + $dbh->bz_commit_transaction(); + $status->('voting_cache_rebuild_end'); +} + + +############## +# Validators # +############## + +sub _check_votesperuser { + return _check_votes(0, @_); +} + +sub _check_maxvotesperbug { + return _check_votes(DEFAULT_VOTES_PER_BUG, @_); +} + +sub _check_votestoconfirm { + return _check_votes(0, @_); +} + +# This subroutine is only used internally by other _check_votes_* validators. +sub _check_votes { + my ($default, $invocant, $votes, $field) = @_; + + detaint_natural($votes) if defined $votes; + # On product creation, if the number of votes is not a valid integer, + # we silently fall back to the given default value. + # If the product already exists and the change is illegal, we complain. + if (!defined $votes) { + if (ref $invocant) { + ThrowUserError('voting_product_illegal_votes', + { field => $field, votes => $_[2] }); + } + else { + $votes = $default; + } + } + return $votes; +} + +######### +# Pages # +######### + +sub page_before_template { + my ($self, $args) = @_; + my $page = $args->{page_id}; + my $vars = $args->{vars}; + + if ($page =~ m{^voting/bug\.}) { + _page_bug($vars); + } + elsif ($page =~ m{^voting/user\.}) { + _page_user($vars); + } +} + +sub _page_bug { + my ($vars) = @_; + my $dbh = Bugzilla->dbh; + my $input = Bugzilla->input_params; + + my $bug_id = $input->{bug_id}; + my $bug = Bugzilla::Bug->check($bug_id); + + $vars->{'bug'} = $bug; + $vars->{'users'} = + $dbh->selectall_arrayref('SELECT profiles.login_name, + profiles.userid AS id, + votes.vote_count + FROM votes + INNER JOIN profiles + ON profiles.userid = votes.who + WHERE votes.bug_id = ?', + {Slice=>{}}, $bug->id); +} + +sub _page_user { + my ($vars) = @_; + my $dbh = Bugzilla->dbh; + my $user = Bugzilla->user; + my $input = Bugzilla->input_params; + + my $action = $input->{action}; + if ($action and $action eq 'vote') { + _update_votes($vars); + } + + # If a bug_id is given, and we're editing, we'll add it to the votes list. + + my $bug_id = $input->{bug_id}; + my $bug = Bugzilla::Bug->check($bug_id) if $bug_id; + my $who_id = $input->{user_id} || $user->id; + + # Logged-out users must specify a user_id. + Bugzilla->login(LOGIN_REQUIRED) if !$who_id; + + my $who = Bugzilla::User->check({ id => $who_id }); + + my $canedit = $user->id == $who->id; + + $dbh->bz_start_transaction(); + + if ($canedit && $bug) { + # Make sure there is an entry for this bug + # in the vote table, just so that things display right. + my $has_votes = $dbh->selectrow_array('SELECT vote_count FROM votes + WHERE bug_id = ? AND who = ?', + undef, ($bug->id, $who->id)); + if (!$has_votes) { + $dbh->do('INSERT INTO votes (who, bug_id, vote_count) + VALUES (?, ?, 0)', undef, ($who->id, $bug->id)); + } + } + + my (@products, @all_bug_ids); + # Read the votes data for this user for each product. + foreach my $product (@{ $user->get_selectable_products }) { + next unless ($product->{votesperuser} > 0); + + my @bugs; + my @bug_ids; + my $total = 0; + my $onevoteonly = 0; + + my $vote_list = + $dbh->selectall_arrayref('SELECT votes.bug_id, votes.vote_count, + bugs.short_desc + FROM votes + INNER JOIN bugs + ON votes.bug_id = bugs.bug_id + WHERE votes.who = ? + AND bugs.product_id = ? + ORDER BY votes.bug_id', + undef, ($who->id, $product->id)); + + foreach (@$vote_list) { + my ($id, $count, $summary) = @$_; + $total += $count; + + # Next if user can't see this bug. So, the totals will be correct + # and they can see there are votes 'missing', but not on what bug + # they are. This seems a reasonable compromise; the alternative is + # to lie in the totals. + next if !$user->can_see_bug($id); + + push (@bugs, { id => $id, + summary => $summary, + count => $count }); + push (@bug_ids, $id); + push (@all_bug_ids, $id); + } + + $onevoteonly = 1 if (min($product->{votesperuser}, + $product->{maxvotesperbug}) == 1); + + # Only add the product for display if there are any bugs in it. + if ($#bugs > -1) { + push (@products, { name => $product->name, + bugs => \@bugs, + bug_ids => \@bug_ids, + onevoteonly => $onevoteonly, + total => $total, + maxvotes => $product->{votesperuser}, + maxperbug => $product->{maxvotesperbug} }); + } + } + + $dbh->do('DELETE FROM votes WHERE vote_count <= 0'); + $dbh->bz_commit_transaction(); + + $vars->{'canedit'} = $canedit; + $vars->{'voting_user'} = { "login" => $who->name }; + $vars->{'products'} = \@products; + $vars->{'this_bug'} = $bug; + $vars->{'all_bug_ids'} = \@all_bug_ids; +} + +sub _update_votes { + my ($vars) = @_; + + ############################################################################ + # Begin Data/Security Validation + ############################################################################ + + my $cgi = Bugzilla->cgi; + my $dbh = Bugzilla->dbh; + my $template = Bugzilla->template; + my $user = Bugzilla->login(LOGIN_REQUIRED); + my $input = Bugzilla->input_params; + + # Build a list of bug IDs for which votes have been submitted. Votes + # are submitted in form fields in which the field names are the bug + # IDs and the field values are the number of votes. + + my @buglist = grep {/^\d+$/} keys %$input; + + # If no bugs are in the buglist, let's make sure the user gets notified + # that their votes will get nuked if they continue. + if (scalar(@buglist) == 0) { + if (!defined $cgi->param('delete_all_votes')) { + print $cgi->header(); + $template->process("voting/delete-all.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + exit; + } + elsif ($cgi->param('delete_all_votes') == 0) { + print $cgi->redirect("page.cgi?id=voting/user.html"); + exit; + } + } + + # Call check() on each bug ID to make sure it is a positive + # integer representing an existing bug that the user is authorized + # to access, and make sure the number of votes submitted is also + # a non-negative integer (a series of digits not preceded by a + # minus sign). + my (%votes, @bugs); + foreach my $id (@buglist) { + my $bug = Bugzilla::Bug->check($id); + push(@bugs, $bug); + $id = $bug->id; + $votes{$id} = $input->{$id}; + detaint_natural($votes{$id}) + || ThrowUserError("voting_must_be_nonnegative"); + } + + ############################################################################ + # End Data/Security Validation + ############################################################################ + my $who = $user->id; + + # If the user is voting for bugs, make sure they aren't overstuffing + # the ballot box. + if (scalar @bugs) { + my (%prodcount, %products); + foreach my $bug (@bugs) { + my $bug_id = $bug->id; + my $prod = $bug->product; + $products{$prod} ||= $bug->product_obj; + $prodcount{$prod} ||= 0; + $prodcount{$prod} += $votes{$bug_id}; + + # Make sure we haven't broken the votes-per-bug limit + ($votes{$bug_id} <= $products{$prod}->{maxvotesperbug}) + || ThrowUserError("voting_too_many_votes_for_bug", + {max => $products{$prod}->{maxvotesperbug}, + product => $prod, + votes => $votes{$bug_id}}); + } + + # Make sure we haven't broken the votes-per-product limit + foreach my $prod (keys(%prodcount)) { + ($prodcount{$prod} <= $products{$prod}->{votesperuser}) + || ThrowUserError("voting_too_many_votes_for_product", + {max => $products{$prod}->{votesperuser}, + product => $prod, + votes => $prodcount{$prod}}); + } + } + + # Update the user's votes in the database. If the user did not submit + # any votes, they may be using a form with checkboxes to remove all their + # votes (checkboxes are not submitted along with other form data when + # they are not checked, and Bugzilla uses them to represent single votes + # for products that only allow one vote per bug). In that case, we still + # need to clear the user's votes from the database. + my %affected; + $dbh->bz_start_transaction(); + + # Take note of, and delete the user's old votes from the database. + my $bug_list = $dbh->selectcol_arrayref('SELECT bug_id FROM votes + WHERE who = ?', undef, $who); + + foreach my $id (@$bug_list) { + $affected{$id} = 1; + } + $dbh->do('DELETE FROM votes WHERE who = ?', undef, $who); + + my $sth_insertVotes = $dbh->prepare('INSERT INTO votes (who, bug_id, vote_count) + VALUES (?, ?, ?)'); + + # Insert the new values in their place + foreach my $id (@buglist) { + if ($votes{$id} > 0) { + $sth_insertVotes->execute($who, $id, $votes{$id}); + } + $affected{$id} = 1; + } + + # Update the cached values in the bugs table + print $cgi->header(); + my @updated_bugs = (); + + my $sth_getVotes = $dbh->prepare("SELECT SUM(vote_count) FROM votes + WHERE bug_id = ?"); + + my $sth_updateVotes = $dbh->prepare("UPDATE bugs SET votes = ? + WHERE bug_id = ?"); + + foreach my $id (keys %affected) { + $sth_getVotes->execute($id); + my $v = $sth_getVotes->fetchrow_array || 0; + $sth_updateVotes->execute($v, $id); + + my $confirmed = _confirm_if_vote_confirmed($id); + push (@updated_bugs, $id) if $confirmed; + } + + $dbh->bz_commit_transaction(); + + $vars->{'type'} = "votes"; + $vars->{'title_tag'} = 'change_votes'; + foreach my $bug_id (@updated_bugs) { + $vars->{'id'} = $bug_id; + $vars->{'sent_bugmail'} = + Bugzilla::BugMail::Send($bug_id, { 'changer' => $user }); + + $template->process("bug/process/results.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + # Set header_done to 1 only after the first bug. + $vars->{'header_done'} = 1; + } + $vars->{'votes_recorded'} = 1; +} + +###################### +# Helper Subroutines # +###################### + +sub _modify_bug_votes { + my ($product, $changes) = @_; + my $dbh = Bugzilla->dbh; + my @msgs; + + # 1. too many votes for a single user on a single bug. + my @toomanyvotes_list; + if ($product->{maxvotesperbug} < $product->{votesperuser}) { + my $votes = $dbh->selectall_arrayref( + 'SELECT votes.who, votes.bug_id + FROM votes + INNER JOIN bugs ON bugs.bug_id = votes.bug_id + WHERE bugs.product_id = ? + AND votes.vote_count > ?', + undef, ($product->id, $product->{maxvotesperbug})); + + foreach my $vote (@$votes) { + my ($who, $id) = (@$vote); + # If some votes are removed, _remove_votes() returns a list + # of messages to send to voters. + push(@msgs, _remove_votes($id, $who, 'votes_too_many_per_bug')); + my $name = user_id_to_login($who); + + push(@toomanyvotes_list, {id => $id, name => $name}); + } + } + + $changes->{'too_many_votes'} = \@toomanyvotes_list; + + # 2. too many total votes for a single user. + # This part doesn't work in the general case because _remove_votes + # doesn't enforce votesperuser (except per-bug when it's less + # than maxvotesperbug). See _remove_votes(). + + my $votes = $dbh->selectall_arrayref( + 'SELECT votes.who, votes.vote_count + FROM votes + INNER JOIN bugs ON bugs.bug_id = votes.bug_id + WHERE bugs.product_id = ?', + undef, $product->id); + + my %counts; + foreach my $vote (@$votes) { + my ($who, $count) = @$vote; + if (!defined $counts{$who}) { + $counts{$who} = $count; + } else { + $counts{$who} += $count; + } + } + + my @toomanytotalvotes_list; + foreach my $who (keys(%counts)) { + if ($counts{$who} > $product->{votesperuser}) { + my $bug_ids = $dbh->selectcol_arrayref( + 'SELECT votes.bug_id + FROM votes + INNER JOIN bugs ON bugs.bug_id = votes.bug_id + WHERE bugs.product_id = ? + AND votes.who = ?', + undef, $product->id, $who); + + foreach my $bug_id (@$bug_ids) { + # _remove_votes returns a list of messages to send + # in case some voters had too many votes. + push(@msgs, _remove_votes($bug_id, $who, + 'votes_too_many_per_user')); + my $name = user_id_to_login($who); + + push(@toomanytotalvotes_list, {id => $bug_id, name => $name}); + } + } + } + + $changes->{'too_many_total_votes'} = \@toomanytotalvotes_list; + + # 3. enough votes to confirm + my $bug_list = $dbh->selectcol_arrayref( + 'SELECT bug_id FROM bugs + WHERE product_id = ? AND bug_status = ? AND votes >= ?', + undef, ($product->id, 'UNCONFIRMED', $product->{votestoconfirm})); + + my @updated_bugs; + foreach my $bug_id (@$bug_list) { + my $confirmed = _confirm_if_vote_confirmed($bug_id); + push (@updated_bugs, $bug_id) if $confirmed; + } + $changes->{'confirmed_bugs'} = \@updated_bugs; + + # Now that changes are done, we can send emails to voters. + foreach my $msg (@msgs) { + MessageToMTA($msg); + } + # And send out emails about changed bugs + foreach my $bug_id (@updated_bugs) { + my $sent_bugmail = Bugzilla::BugMail::Send( + $bug_id, { changer => Bugzilla->user }); + $changes->{'confirmed_bugs_sent_bugmail'}->{$bug_id} = $sent_bugmail; + } +} + +# If a bug is moved to a product which allows less votes per bug +# compared to the previous product, extra votes need to be removed. +sub _remove_votes { + my ($id, $who, $reason) = (@_); + my $dbh = Bugzilla->dbh; + + my $whopart = ($who) ? " AND votes.who = $who" : ""; + + my $sth = $dbh->prepare("SELECT profiles.login_name, " . + "profiles.userid, votes.vote_count, " . + "products.votesperuser, products.maxvotesperbug " . + "FROM profiles " . + "LEFT JOIN votes ON profiles.userid = votes.who " . + "LEFT JOIN bugs ON votes.bug_id = bugs.bug_id " . + "LEFT JOIN products ON products.id = bugs.product_id " . + "WHERE votes.bug_id = ? " . $whopart); + $sth->execute($id); + my @list; + while (my ($name, $userid, $oldvotes, $votesperuser, $maxvotesperbug) = $sth->fetchrow_array()) { + push(@list, [$name, $userid, $oldvotes, $votesperuser, $maxvotesperbug]); + } + + # @messages stores all emails which have to be sent, if any. + # This array is passed to the caller which will send these emails itself. + my @messages = (); + + if (scalar(@list)) { + foreach my $ref (@list) { + my ($name, $userid, $oldvotes, $votesperuser, $maxvotesperbug) = (@$ref); + + $maxvotesperbug = min($votesperuser, $maxvotesperbug); + + # If this product allows voting and the user's votes are in + # the acceptable range, then don't do anything. + next if $votesperuser && $oldvotes <= $maxvotesperbug; + + # If the user has more votes on this bug than this product + # allows, then reduce the number of votes so it fits + my $newvotes = $maxvotesperbug; + + my $removedvotes = $oldvotes - $newvotes; + + if ($newvotes) { + $dbh->do("UPDATE votes SET vote_count = ? " . + "WHERE bug_id = ? AND who = ?", + undef, ($newvotes, $id, $userid)); + } else { + $dbh->do("DELETE FROM votes WHERE bug_id = ? AND who = ?", + undef, ($id, $userid)); + } + + # Notice that we did not make sure that the user fit within the $votesperuser + # range. This is considered to be an acceptable alternative to losing votes + # during product moves. Then next time the user attempts to change their votes, + # they will be forced to fit within the $votesperuser limit. + + # Now lets send the e-mail to alert the user to the fact that their votes have + # been reduced or removed. + my $vars = { + 'to' => $name . Bugzilla->params->{'emailsuffix'}, + 'bugid' => $id, + 'reason' => $reason, + + 'votesremoved' => $removedvotes, + 'votesold' => $oldvotes, + 'votesnew' => $newvotes, + }; + + my $voter = new Bugzilla::User($userid); + my $template = Bugzilla->template_inner($voter->settings->{'lang'}->{'value'}); + + my $msg; + $template->process("voting/votes-removed.txt.tmpl", $vars, \$msg); + push(@messages, $msg); + } + + my $votes = $dbh->selectrow_array("SELECT SUM(vote_count) " . + "FROM votes WHERE bug_id = ?", + undef, $id) || 0; + $dbh->do("UPDATE bugs SET votes = ? WHERE bug_id = ?", + undef, ($votes, $id)); + } + # Now return the array containing emails to be sent. + return @messages; +} + +# If a user votes for a bug, or the number of votes required to +# confirm a bug has been reduced, check if the bug is now confirmed. +sub _confirm_if_vote_confirmed { + my $id = shift; + my $bug = new Bugzilla::Bug($id); + + my $ret = 0; + if (!$bug->everconfirmed + and $bug->product_obj->{votestoconfirm} + and $bug->votes >= $bug->product_obj->{votestoconfirm}) + { + $bug->add_comment('', { type => CMT_POPULAR_VOTES }); + + if ($bug->bug_status eq 'UNCONFIRMED') { + # Get a valid open state. + my $new_status; + foreach my $state (@{$bug->status->can_change_to}) { + if ($state->is_open && $state->name ne 'UNCONFIRMED') { + $new_status = $state->name; + last; + } + } + ThrowCodeError('voting_no_open_bug_status') unless $new_status; + + # We cannot call $bug->set_bug_status() here, because a user without + # canconfirm privs should still be able to confirm a bug by + # popular vote. We already know the new status is valid, so it's safe. + $bug->{bug_status} = $new_status; + $bug->{everconfirmed} = 1; + delete $bug->{'status'}; # Contains the status object. + } + else { + # If the bug is in a closed state, only set everconfirmed to 1. + # Do not call $bug->_set_everconfirmed(), for the same reason as above. + $bug->{everconfirmed} = 1; + } + $bug->update(); + + $ret = 1; + } + return $ret; +} + + +__PACKAGE__->NAME; diff --git a/extensions/Voting/disabled b/extensions/Voting/disabled new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/extensions/Voting/template/en/default/hook/account/prefs/email-relationships.html.tmpl b/extensions/Voting/template/en/default/hook/account/prefs/email-relationships.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..0bd81eae10135b66c1285b5a68b8a25afdc3affa --- /dev/null +++ b/extensions/Voting/template/en/default/hook/account/prefs/email-relationships.html.tmpl @@ -0,0 +1,22 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% relationships.push({ id = constants.REL_VOTER, description = "Voter" }) %] +[% no_added_removed.push(constants.REL_VOTER) %] diff --git a/extensions/Voting/template/en/default/hook/admin/products/edit-common-rows.html.tmpl b/extensions/Voting/template/en/default/hook/admin/products/edit-common-rows.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..fbbda3ea07a3525baa6126d8af7318052355b957 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/admin/products/edit-common-rows.html.tmpl @@ -0,0 +1,60 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% DEFAULT + product.maxvotesperbug = constants.DEFAULT_VOTES_PER_BUG + product.votesperuser = 0 + product.votestoconfirm = 0 +%] + +<tr> + <th align="right">Maximum votes per person:</th> + <td><input size="5" maxlength="5" name="votesperuser" id="votesperuser" + value="[% product.votesperuser FILTER html %]"> + </td> +</tr> + +<tr> + <th align="right"> + Maximum votes a person can put on a single [% terms.bug %]: + </th> + <td><input size="5" maxlength="5" name="maxvotesperbug" id="maxvotesperbug" + value="[% product.maxvotesperbug FILTER html %]"> + </td> +</tr> + +<tr id="votes_to_confirm_container" + [%- ' class="bz_default_hidden"' IF !product.allows_unconfirmed %]> + <th align="right"> + Confirm [% terms.abug %] if it gets this many votes: + </th> + <td> + <input size="3" maxlength="5" name="votestoconfirm" id="votestoconfirm" + value="[% product.votestoconfirm FILTER html %]"> + <br>(Setting this to 0 disables auto-confirming [% terms.bugs %] + by vote.) + <script type="text/javascript"> + YAHOO.util.Event.addListener('allows_unconfirmed', 'change', + function() { bz_toggleClass('votes_to_confirm_container', + 'bz_default_hidden'); }); + </script> + </td> +</tr> + diff --git a/extensions/Voting/template/en/default/hook/admin/products/updated-changes.html.tmpl b/extensions/Voting/template/en/default/hook/admin/products/updated-changes.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..139fc641bde922a07cdb1461c2ea22d39691ea2c --- /dev/null +++ b/extensions/Voting/template/en/default/hook/admin/products/updated-changes.html.tmpl @@ -0,0 +1,102 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% SET checkvotes = 0 %] + +[% IF changes.votesperuser.defined %] + <p> + Updated votes per user from + [%+ changes.votesperuser.0 FILTER html %] to + [%+ product.votesperuser FILTER html %]. + </p> + [% checkvotes = 1 %] +[% END %] + +[% IF changes.maxvotesperbug.defined %] + <p> + Updated maximum votes per [% terms.bug %] from + [%+ changes.maxvotesperbug.0 FILTER html %] to + [%+ product.maxvotesperbug FILTER html %]. + </p> + [% checkvotes = 1 %] +[% END %] + +[% IF changes.votestoconfirm.defined %] + <p> + Updated number of votes needed to confirm a [% terms.bug %] from + [%+ changes.votestoconfirm.0 FILTER html %] to + [%+ product.votestoconfirm FILTER html %]. + </p> + [% checkvotes = 1 %] +[% END %] + +[%# Note that this display of changed votes and/or confirmed bugs is + not very scalable. We could have a _lot_, and we just list them all. + One day we should limit this perhaps, or have a more scalable display %] + +[% IF checkvotes %] + <hr> + + <p>Checking existing votes in this product for anybody who now + has too many votes for [% terms.abug %]...<br> + [% IF changes.too_many_votes.size %] + [% FOREACH detail = changes.too_many_votes %] + →removed votes for [% terms.bug %] <a href="show_bug.cgi?id= + [%- detail.id FILTER url_quote %]"> + [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br> + [% END %] + [% ELSE %] + →there were none. + [% END %] + </p> + + <p>Checking existing votes in this product for anybody + who now has too many total votes...<br> + [% IF changes.too_many_total_votes.size %] + [% FOREACH detail = changes.too_many_total_votes %] + →removed votes for [% terms.bug %] <a href="show_bug.cgi?id= + [%- detail.id FILTER url_quote %]"> + [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br> + [% END %] + [% ELSE %] + →there were none. + [% END %] + </p> + + <p>Checking unconfirmed [% terms.bugs %] in this product for any which now have + sufficient votes...<br> + [% IF changes.confirmed_bugs.size %] + [% FOREACH id = changes.confirmed_bugs %] + + [%# This is INCLUDED instead of PROCESSED to avoid variables getting + overwritten, which happens otherwise %] + [% INCLUDE bug/process/results.html.tmpl + type = 'votes' + header_done = 1 + sent_bugmail = changes.confirmed_bugs_sent_bugmail.$id + id = id + %] + [% END %] + [% ELSE %] + →there were none. + [% END %] + </p> + +[% END %] diff --git a/extensions/Voting/template/en/default/hook/admin/sanitycheck/messages-statuses.html.tmpl b/extensions/Voting/template/en/default/hook/admin/sanitycheck/messages-statuses.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..afb81d34c4915436e025296982d7c6410ad3e7c0 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/admin/sanitycheck/messages-statuses.html.tmpl @@ -0,0 +1,40 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF san_tag == "voting_cache_rebuild_fix" %] + <a href="sanitycheck.cgi?rebuild_vote_cache=1">Click here to + rebuild the vote cache</a> + +[% ELSIF san_tag == "voting_cache_alert" %] + Bad vote cache for [% PROCESS bug_link bug_id = id %] + +[% ELSIF san_tag == "voting_count_start" %] + Checking cached vote counts. + +[% ELSIF san_tag == "voting_count_alert" %] + Bad vote sum for [% terms.bug %] [%+ id FILTER html %]. + +[% ELSIF san_tag == "voting_cache_rebuild_start" %] + OK, now rebuilding vote cache. + +[% ELSIF san_tag == "voting_cache_rebuild_end" %] + Vote cache has been rebuilt + +[% END %] diff --git a/extensions/Voting/template/en/default/hook/admin/users/confirm-delete-warn_safe.html.tmpl b/extensions/Voting/template/en/default/hook/admin/users/confirm-delete-warn_safe.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..f799f12544a26675aacfe7d5b72bb2fc482a399c --- /dev/null +++ b/extensions/Voting/template/en/default/hook/admin/users/confirm-delete-warn_safe.html.tmpl @@ -0,0 +1,38 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF votes %] + <li> + [% otheruser.login FILTER html %] has voted on + [% IF votes == 1 %] + [%+ terms.abug %] + [% ELSE %] + [%+ votes %] [%+ terms.bugs %] + [% END %]. + + If you delete the user account, + [% IF votes == 1 %] + this vote + [% ELSE %] + these votes + [% END %] + will be deleted along with the user account. + </li> +[% END %] diff --git a/extensions/Voting/template/en/default/hook/bug/edit-after_importance.html.tmpl b/extensions/Voting/template/en/default/hook/bug/edit-after_importance.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..606f981ee7a1c28ef2a99b3cafd30c36eb2d5d05 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/bug/edit-after_importance.html.tmpl @@ -0,0 +1,41 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] +[% IF bug.product_obj.votesperuser %] + <style type="text/css"> + #votes_container { white-space: nowrap; } + </style> + + <span id="votes_container"> + [% IF bug.votes %] + with + <a href="page.cgi?id=voting/bug.html&bug_id= + [%- bug.id FILTER url_quote %]"> + [%- bug.votes %] + [% IF bug.votes == 1 %] + vote + [% ELSE %] + votes + [% END %]</a> + [% END %] + (<a href="page.cgi?id=voting/user.html&bug_id= + [%- bug.id FILTER url_quote %]#vote_ + [%- bug.id FILTER url_quote %]">vote</a>) + </span> +[% END %] diff --git a/extensions/Voting/template/en/default/hook/bug/format_comment-type.txt.tmpl b/extensions/Voting/template/en/default/hook/bug/format_comment-type.txt.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ebba6fcabff82120ce8a5c55bd9c521cca93f042 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/bug/format_comment-type.txt.tmpl @@ -0,0 +1,23 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF comment.type == constants.CMT_POPULAR_VOTES %] +*** This [% terms.bug %] has been confirmed by popular vote. *** +[% END %] diff --git a/extensions/Voting/template/en/default/hook/bug/process/header-title.html.tmpl b/extensions/Voting/template/en/default/hook/bug/process/header-title.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..a4530653b8303f61a2233348bcedf250bc770deb --- /dev/null +++ b/extensions/Voting/template/en/default/hook/bug/process/header-title.html.tmpl @@ -0,0 +1,24 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF title_tag == "change_votes" %] + [% title = "Change Votes" %] +[% END %] + diff --git a/extensions/Voting/template/en/default/hook/bug/process/results-title.html.tmpl b/extensions/Voting/template/en/default/hook/bug/process/results-title.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ae0d465dcc107ef2a67aa6f838242c42c22cda9c --- /dev/null +++ b/extensions/Voting/template/en/default/hook/bug/process/results-title.html.tmpl @@ -0,0 +1,21 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% title.votes = "$Link confirmed by number of votes" %] diff --git a/extensions/Voting/template/en/default/hook/global/code-error-errors.html.tmpl b/extensions/Voting/template/en/default/hook/global/code-error-errors.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..50e9159416f2085795d456281ef3c84eb28ee840 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/global/code-error-errors.html.tmpl @@ -0,0 +1,25 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF error == "voting_no_open_bug_status" %] + [% title = "$terms.Bug Cannot Be Confirmed" %] + There is no valid transition from + [%+ display_value("bug_status", "UNCONFIRMED") FILTER html %] to an open state +[% END %] diff --git a/extensions/Voting/template/en/default/hook/global/field-descs-end.none.tmpl b/extensions/Voting/template/en/default/hook/global/field-descs-end.none.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..1becab4da1d77a3731fde094e12055d655454e26 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/global/field-descs-end.none.tmpl @@ -0,0 +1,23 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF in_template_var %] + [% vars.field_descs.votes = "Votes" %] +[% END %] diff --git a/extensions/Voting/template/en/default/hook/global/reason-descs-end.none.tmpl b/extensions/Voting/template/en/default/hook/global/reason-descs-end.none.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..3a1f5a189d73f478509bbe215e3c830317f4a5ad --- /dev/null +++ b/extensions/Voting/template/en/default/hook/global/reason-descs-end.none.tmpl @@ -0,0 +1,23 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% reason_descs.${constants.REL_VOTER} = "You voted for the ${terms.bug}." %] +[% watch_reason_descs.${constants.REL_VOTER} = + "You are watching a voter for the ${terms.bug}." %] diff --git a/extensions/Voting/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/Voting/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..c2ff70728ea3174185743bb07edc8a2005b25f84 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,55 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% IF error == "voting_must_be_nonnegative" %] + [% title = "Votes Must Be Non-negative" %] + [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] + Only use non-negative numbers for your [% terms.bug %] votes. + +[% ELSIF error == "voting_product_illegal_votes" %] + [% title = "Votes Must Be Non-negative" %] + [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] + '[% votes FILTER html %]' is an invalid value for the + <em> + [% IF field == "votesperuser" %] + Votes Per User + [% ELSIF field == "maxvotesperbug" %] + Maximum Votes Per [% terms.Bug %] + [% ELSIF field == "votestoconfirm" %] + Votes To Confirm + [% END %] + </em> field, which should contain a non-negative number. + +[% ELSIF error == "voting_too_many_votes_for_bug" %] + [% title = "Illegal Vote" %] + [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] + You may only use at most [% max FILTER html %] votes for a single + [%+ terms.bug %] in the + <tt>[% product FILTER html %]</tt> product, but you are trying to + use [% votes FILTER html %]. + +[% ELSIF error == "voting_too_many_votes_for_product" %] + [% title = "Illegal Vote" %] + [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] + You tried to use [% votes FILTER html %] votes in the + <tt>[% product FILTER html %]</tt> product, which exceeds the maximum of + [%+ max FILTER html %] votes for this product. + +[% END %] diff --git a/extensions/Voting/template/en/default/hook/search/form-email_numbering_end.html.tmpl b/extensions/Voting/template/en/default/hook/search/form-email_numbering_end.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..5acfff14cecc36442ba3edee8f29d71f3bf50e49 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/search/form-email_numbering_end.html.tmpl @@ -0,0 +1,31 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +<tr> + <td align="right"> + <label for="votes">Only [% terms.bugs %] with at least</label>: + </td> + <td> + <input name="votes" id="votes" size="3" + value="[% default.votes.0 FILTER html %]"> votes + <input type="hidden" name="votes_type" value="greaterthaneq"> + </td> +</tr> + diff --git a/extensions/Voting/template/en/default/hook/search/search-report-select-rep_fields.html.tmpl b/extensions/Voting/template/en/default/hook/search/search-report-select-rep_fields.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..ca74f6d2dc67acd729011e0dfb901b75b99dd074 --- /dev/null +++ b/extensions/Voting/template/en/default/hook/search/search-report-select-rep_fields.html.tmpl @@ -0,0 +1,21 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% rep_fields.push('votes') %] diff --git a/template/en/default/pages/voting.html.tmpl b/extensions/Voting/template/en/default/pages/voting.html.tmpl similarity index 97% rename from template/en/default/pages/voting.html.tmpl rename to extensions/Voting/template/en/default/pages/voting.html.tmpl index 4e6fb473d649f35352a2f5fbd91b9dc739a77a58..99026c0d5550a2e4fdb3e8b597949e01d596c319 100644 --- a/template/en/default/pages/voting.html.tmpl +++ b/extensions/Voting/template/en/default/pages/voting.html.tmpl @@ -64,6 +64,6 @@ a few [% terms.bugs %] indicating your strong support for them. on [% terms.bugs %] you vote for.</p> <p>You may review your votes at any time by clicking on the "<a href= -"votes.cgi?action=show_user">My Votes</a>" link in the page footer.</p> +"page.cgi?id=voting/user.html">My Votes</a>" link in the page footer.</p> [% INCLUDE global/footer.html.tmpl %] diff --git a/template/en/default/bug/votes/list-for-bug.html.tmpl b/extensions/Voting/template/en/default/pages/voting/bug.html.tmpl similarity index 83% rename from template/en/default/bug/votes/list-for-bug.html.tmpl rename to extensions/Voting/template/en/default/pages/voting/bug.html.tmpl index a599dc0fb9e3415c65eb866399a3d2753b83780b..03434a5053046be213891be84be450178f75b719 100644 --- a/template/en/default/bug/votes/list-for-bug.html.tmpl +++ b/extensions/Voting/template/en/default/pages/voting/bug.html.tmpl @@ -16,10 +16,11 @@ # Rights Reserved. # # Contributor(s): Gervase Markham <gerv@gerv.net> + # Max Kanat-Alexander <mkanat@bugzilla.org> #%] [%# INTERFACE: - # bug_id: integer. ID of the bug we are listing the votes for. + # bug: Bugzilla::Bug that we are listing the votes for. # users: list of hashes. May be empty. Each hash has two members: # login_name: string. The login name of the user whose vote is attached # vote_count: integer. The number of times that user has votes for this bug. @@ -29,7 +30,7 @@ [% PROCESS global/header.html.tmpl title = "Show Votes" - subheader = "$terms.Bug <a href=\"show_bug.cgi?id=$bug_id\">$bug_id</a>" + subheader = "$terms.Bug $bug.id" FILTER bug_link(bug) %] [% total = 0 %] @@ -43,18 +44,18 @@ [% total = total + voter.vote_count %] <tr> <td> - <a href="votes.cgi?action=show_user&user_id= + <a href="page.cgi?id=voting/user.html&user_id= [%- voter.id FILTER url_quote %]"> [% voter.login_name FILTER email FILTER html %] </a> </td> <td align="right"> - [% voter.vote_count %] + [% voter.vote_count FILTER html %] </td> </tr> [% END %] </table> -<p>Total votes: [% total %]</p> +<p>Total votes: [% total FILTER html %]</p> [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/bug/votes/list-for-user.html.tmpl b/extensions/Voting/template/en/default/pages/voting/user.html.tmpl similarity index 90% rename from template/en/default/bug/votes/list-for-user.html.tmpl rename to extensions/Voting/template/en/default/pages/voting/user.html.tmpl index 2f97616ed69324a056fdff62ea1fa4a6fad81f72..8000792243315c01809727a61b8d71f4424b8467 100644 --- a/template/en/default/bug/votes/list-for-user.html.tmpl +++ b/extensions/Voting/template/en/default/pages/voting/user.html.tmpl @@ -31,7 +31,7 @@ # maxvotes: max votes allowed for a user in this product # maxperbug: max votes per bug allowed for a user in this product # - # bug_id: number; if the user is voting for a bug, this is the bug id + # this_bug: Bugzilla::Bug; if the user is voting for a bug, this is the bug # # canedit: boolean; Should the votes be presented in a form, or readonly? # @@ -44,18 +44,18 @@ [% subheader = voting_user.login FILTER html %] [% IF canedit %] [% title = "Change Votes" %] - [% IF bug_id %] + [% IF this_bug %] [%# We .select and .focus the input so it works for textbox and checkbox %] - [% onload = "document.forms['voting_form'].bug_" _ bug_id _ - ".select();document.forms['voting_form'].bug_" _ bug_id _ + [% onload = "document.forms['voting_form'].bug_" _ this_bug.id _ + ".select();document.forms['voting_form'].bug_" _ this_bug.id _ ".focus()" %] [% END %] [% ELSE %] [% title = "Show Votes" %] [% END %] [% PROCESS global/header.html.tmpl - style_urls = [ "skins/standard/voting.css" ] + style_urls = [ "extensions/Voting/web/style.css" ] %] [% ELSE %] <hr> @@ -72,7 +72,7 @@ [% END %] [% IF products.size %] - <form name="voting_form" method="post" action="votes.cgi"> + <form name="voting_form" method="post" action="page.cgi?id=voting/user.html"> <input type="hidden" name="action" value="vote"> <table cellspacing="4"> <tr> @@ -108,9 +108,9 @@ </tr> [% FOREACH bug = product.bugs %] - <tr [% IF bug.id == bug_id && canedit %] + <tr [% IF bug.id == this_bug.id && canedit %] class="bz_bug_being_voted_on" [% END %]> - <td>[% IF bug.id == bug_id && canedit %]Enter New Vote here → + <td>[% IF bug.id == this_bug.id && canedit %]Enter New Vote here → [%- END %]</td> <td align="right"><a name="vote_[% bug.id %]"> [% IF canedit %] @@ -130,7 +130,7 @@ </td> <td> [% bug.summary FILTER html %] - (<a href="votes.cgi?action=show_bug&bug_id=[% bug.id %]">Show Votes</a>) + (<a href="page.cgi?id=voting/bug.html&bug_id=[% bug.id %]">Show Votes</a>) </td> </tr> [% END %] diff --git a/template/en/default/bug/votes/delete-all.html.tmpl b/extensions/Voting/template/en/default/voting/delete-all.html.tmpl similarity index 96% rename from template/en/default/bug/votes/delete-all.html.tmpl rename to extensions/Voting/template/en/default/voting/delete-all.html.tmpl index 41b75123dd5011614ce54bbb9a7575dcfe257032..82ddc35961adaf39559e15f8a44b65efcd77c8ac 100644 --- a/template/en/default/bug/votes/delete-all.html.tmpl +++ b/extensions/Voting/template/en/default/voting/delete-all.html.tmpl @@ -33,7 +33,7 @@ remove your vote from every [% terms.bug %] you've voted on? </p> -<form action="votes.cgi" method="post"> +<form action="page.cgi?id=voting/user.html" method="post"> <input type="hidden" name="action" value="vote"> <p> <input type="radio" name="delete_all_votes" value="1"> diff --git a/template/en/default/email/votes-removed.txt.tmpl b/extensions/Voting/template/en/default/voting/votes-removed.txt.tmpl similarity index 100% rename from template/en/default/email/votes-removed.txt.tmpl rename to extensions/Voting/template/en/default/voting/votes-removed.txt.tmpl diff --git a/skins/standard/voting.css b/extensions/Voting/web/style.css similarity index 100% rename from skins/standard/voting.css rename to extensions/Voting/web/style.css diff --git a/extensions/create.pl b/extensions/create.pl old mode 100644 new mode 100755 diff --git a/images/CVS/Entries b/images/CVS/Entries deleted file mode 100644 index cb390a2ab873ff15709496fc2397665f883293f7..0000000000000000000000000000000000000000 --- a/images/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/favicon.ico/1.1/Wed Jul 30 11:13:48 2008/-kb/TBUGZILLA-3_6_1 -/padlock.png/1.2/Thu Sep 23 18:08:31 2004/-kb/TBUGZILLA-3_6_1 -D diff --git a/images/CVS/Repository b/images/CVS/Repository deleted file mode 100644 index 48b0dcb03653d023f4290d72c02917a248bb608b..0000000000000000000000000000000000000000 --- a/images/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/images diff --git a/images/CVS/Root b/images/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/images/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/images/CVS/Tag b/images/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/images/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/importxml.pl b/importxml.pl index 1a61c5eadee30a512aa85e2b9828ea91e9d39d45..142470906d39b1a9380a6dc128b13aede8859cba 100755 --- a/importxml.pl +++ b/importxml.pl @@ -95,12 +95,15 @@ my $debug = 0; my $mail = ''; my $attach_path = ''; my $help = 0; +my ($default_product_name, $default_component_name); my $result = GetOptions( "verbose|debug+" => \$debug, "mail|sendmail!" => \$mail, "attach_path=s" => \$attach_path, - "help|?" => \$help + "help|?" => \$help, + "product=s" => \$default_product_name, + "component=s" => \$default_component_name, ); pod2usage(0) if $help; @@ -117,6 +120,9 @@ my $dbh = Bugzilla->dbh; my $params = Bugzilla->params; my ($timestamp) = $dbh->selectrow_array("SELECT NOW()"); +$default_product_name = '' if !defined $default_product_name; +$default_component_name = '' if !defined $default_component_name; + ############################################################################### # Helper sub routines # ############################################################################### @@ -126,7 +132,7 @@ sub MailMessage { my $subject = shift; my $message = shift; my @recipients = @_; - my $from = $params->{"moved-from-address"}; + my $from = $params->{"mailfrom"}; $from =~ s/@/\@/g; foreach my $to (@recipients){ @@ -316,22 +322,8 @@ sub init() { } Error( "no maintainer", "REOPEN", $exporter ) unless ($maintainer); Error( "no exporter", "REOPEN", $exporter ) unless ($exporter); - Error( "bug importing is disabled here", undef, $exporter ) unless ( $params->{"move-enabled"} ); Error( "invalid exporter: $exporter", "REOPEN", $exporter ) if ( !login_to_id($exporter) ); Error( "no urlbase set", "REOPEN", $exporter ) unless ($urlbase); - my $def_product = - new Bugzilla::Product( { name => $params->{"moved-default-product"} } ) - || Error("an invalid default product was defined for the target DB. " . - $params->{"maintainer"} . " needs to fix the definitions of " . - "moved-default-product. \n", "REOPEN", $exporter); - my $def_component = new Bugzilla::Component( - { - product => $def_product, - name => $params->{"moved-default-component"} - }) - || Error("an invalid default component was defined for the target DB. " . - $params->{"maintainer"} . " needs to fix the definitions of " . - "moved-default-component.\n", "REOPEN", $exporter); } @@ -634,49 +626,34 @@ sub process_bug { push( @query, "reporter_accessible" ); push( @values, $bug_fields{'reporter_accessible'} ? 1 : 0 ); - # Product and Component if there is no valid default product and - # component defined in the parameters, we wouldn't be here - my $def_product = - new Bugzilla::Product( { name => $params->{"moved-default-product"} } ); - my $def_component = new Bugzilla::Component( - { - product => $def_product, - name => $params->{"moved-default-component"} - } - ); - my $product; - my $component; - - if ( defined $bug_fields{'product'} ) { - $product = new Bugzilla::Product( { name => $bug_fields{'product'} } ); - unless ($product) { - $product = $def_product; - $err .= "Unknown Product " . $bug_fields{'product'} . "\n"; - $err .= " Using default product set in Parameters \n"; - } - } - else { - $product = $def_product; + my $product = new Bugzilla::Product( + { name => $bug_fields{'product'} || '' }); + if (!$product) { + $err .= "Unknown Product " . $bug_fields{'product'} . "\n"; + $err .= " Using default product set at the command line.\n"; + $product = new Bugzilla::Product({ name => $default_product_name }) + or Error("an invalid default product was defined for the target" + . " DB. " . $params->{"maintainer"} . " needs to specify " + . "--product when calling importxml.pl", "REOPEN", + $exporter); } - if ( defined $bug_fields{'component'} ) { - $component = new Bugzilla::Component( - { - product => $product, - name => $bug_fields{'component'} - } - ); - unless ($component) { - $component = $def_component; - $product = $def_product; - $err .= "Unknown Component " . $bug_fields{'component'} . "\n"; - $err .= " Using default product and component set "; - $err .= "in Parameters \n"; + my $component = new Bugzilla::Component({ + product => $product, name => $bug_fields{'component'} || '' }); + if (!$component) { + $err .= "Unknown Component " . $bug_fields{'component'} . "\n"; + $err .= " Using default product and component set "; + $err .= "at the command line.\n"; + + $product = new Bugzilla::Product({ name => $default_product_name }); + $component = new Bugzilla::Component({ + name => $default_component_name, product => $product }); + if (!$component) { + Error("an invalid default component was defined for the target" + . " DB. ". $params->{"maintainer"} . " needs to specify " + . "--component when calling importxml.pl", "REOPEN", + $exporter); } } - else { - $component = $def_component; - $product = $def_product; - } my $prod_id = $product->id; my $comp_id = $component->id; @@ -927,9 +904,9 @@ sub process_bug { # that might not yet be in the database we have no way of populating # this table. Change the resolution instead. if ( $valid_res && ( $bug_fields{'resolution'} eq "DUPLICATE" ) ) { - $resolution = "MOVED"; + $resolution = "INVALID"; $err .= "This bug was marked DUPLICATE in the database "; - $err .= "it was moved from.\n Changing resolution to \"MOVED\"\n"; + $err .= "it was moved from.\n Changing resolution to \"INVALID\"\n"; } # If there is at least 1 initial bug status different from UNCO, use it, @@ -980,7 +957,6 @@ sub process_bug { if($status eq "UNCONFIRMED"){ $err .= "Bug Status was UNCONFIRMED but everconfirmed was true\n"; $err .= " Setting status to $initial_status\n"; - $err .= "Resetting votes to 0\n" if ( $bug_fields{'votes'} ); $status = $initial_status; } } @@ -1006,8 +982,8 @@ sub process_bug { } if(!$valid_res){ $err .= "Unknown resolution \"$resolution\".\n"; - $err .= " Setting resolution to MOVED\n"; - $resolution = "MOVED"; + $err .= " Setting resolution to INVALID\n"; + $resolution = "INVALID"; } } } @@ -1286,7 +1262,7 @@ sub process_bug { } Debug( $log, OK_LEVEL ); push(@logs, $log); - Bugzilla::BugMail::Send( $id, { 'changer' => $exporter_login } ) if ($mail); + Bugzilla::BugMail::Send( $id, { 'changer' => $exporter } ) if ($mail); # done with the xml data. Lets clear it from memory $twig->purge; @@ -1347,31 +1323,38 @@ importxml - Import bugzilla bug data from xml. =head1 SYNOPSIS - importxml.pl [options] [file ...] - - Options: - -? --help brief help message - -v --verbose print error and debug information. - Multiple -v increases verbosity - -m --sendmail send mail to recipients with log of bugs imported - --attach_path The path to the attachment files. - (Required if encoding="filename" is used for attachments.) + importxml.pl [options] [file ...] =head1 OPTIONS -=over 8 +=over =item B<-?> - Print a brief help message and exits. +Print a brief help message and exit. =item B<-v> - Print error and debug information. Mulltiple -v increases verbosity +Print error and debug information. Mulltiple -v increases verbosity + +=item B<-m> B<--sendmail> + +Send mail to exporter with a log of bugs imported and any errors. + +=item B<--attach_path> + +The path to the attachment files. (Required if encoding="filename" +is used for attachments.) + +=item B<--product=name> + +The product to put the bug in if the product specified in the +XML doesn't exist. -=item B<-m> +=item B<--component=name> - Send mail to exporter with a log of bugs imported and any errors. +The component to put the bug in if the component specified in the +XML doesn't exist. =back diff --git a/install-module.pl b/install-module.pl index ee36117913caf772e11fbe15eb50b79b7cb147b2..a78d7ceffe1646a42d7ef76d6820828cf2697011 100755 --- a/install-module.pl +++ b/install-module.pl @@ -51,9 +51,12 @@ GetOptions(\%switch, 'all|a', 'upgrade-all|u', 'show-config|s', 'global|g', pod2usage({ -verbose => 1 }) if $switch{'help'}; -if (ON_WINDOWS) { - print "\nYou cannot run this script on Windows. Please follow instructions\n"; - print "given by checksetup.pl to install missing Perl modules.\n\n"; +if (ON_ACTIVESTATE) { + print <<END; +You cannot run this script when using ActiveState Perl. Please follow +the instructions given by checksetup.pl to install missing Perl modules. + +END exit; } diff --git a/js/CVS/Entries b/js/CVS/Entries deleted file mode 100644 index 0f22a95dc80c2442a5d587f8d8f4fcbfe22f6cf5..0000000000000000000000000000000000000000 --- a/js/CVS/Entries +++ /dev/null @@ -1,12 +0,0 @@ -/TUI.js/1.2/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_6_1 -/attachment.js/1.7/Mon Sep 21 22:02:28 2009//TBUGZILLA-3_6_1 -/change-columns.js/1.2/Wed Feb 25 22:39:00 2009//TBUGZILLA-3_6_1 -/expanding-tree.js/1.2/Wed Feb 22 22:02:09 2006//TBUGZILLA-3_6_1 -/field.js/1.16.2.4/Mon Mar 1 00:05:19 2010//TBUGZILLA-3_6_1 -/flag.js/1.1/Thu Nov 26 00:03:30 2009//TBUGZILLA-3_6_1 -/global.js/1.4/Wed Nov 18 07:06:46 2009//TBUGZILLA-3_6_1 -/help.js/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_6_1 -/params.js/1.1/Thu Aug 2 22:38:44 2007//TBUGZILLA-3_6_1 -/productform.js/1.3/Tue Apr 17 22:08:06 2007//TBUGZILLA-3_6_1 -/util.js/1.8/Wed Feb 11 19:41:14 2009//TBUGZILLA-3_6_1 -D/yui//// diff --git a/js/CVS/Repository b/js/CVS/Repository deleted file mode 100644 index 257571848b0f5cb6749f61c1245a21f986bca43b..0000000000000000000000000000000000000000 --- a/js/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/js diff --git a/js/CVS/Root b/js/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/js/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/js/CVS/Tag b/js/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/js/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/js/TUI.js b/js/TUI.js index aa7f2fff4595bd936e47dbd9336518b3d9952c05..34a79dc1611539d302147346b9645a0d34a20cbb 100644 --- a/js/TUI.js +++ b/js/TUI.js @@ -68,6 +68,7 @@ function TUI_hide_default(className) { function _TUI_toggle_control_link(className) { var link = document.getElementById(className + "_controller"); + if (!link) return; var original_text = link.innerHTML; link.innerHTML = TUI_alternates[className]; TUI_alternates[className] = original_text; @@ -93,14 +94,14 @@ function _TUI_store(aClass, state) { } function _TUI_restore() { - var classes = YAHOO.util.Cookie.getSubs(TUI_COOKIE_NAME); - for (item in classes) { - if (classes[item] == 0) { - var elements = YAHOO.util.Dom.getElementsByClassName(item); + var yui_classes = YAHOO.util.Cookie.getSubs(TUI_COOKIE_NAME); + for (yui_item in yui_classes) { + if (yui_classes[yui_item] == 0) { + var elements = YAHOO.util.Dom.getElementsByClassName(yui_item); for (var i = 0; i < elements.length; i++) { YAHOO.util.Dom.addClass(elements[i], 'bz_tui_hidden'); } - _TUI_toggle_control_link(item); + _TUI_toggle_control_link(yui_item); } } } diff --git a/js/attachment.js b/js/attachment.js index b62555fbe4005ffac66e7cfa04f61ab8453ec261..d759248cdfef5743477f1a82f961b99e2c468bde 100644 --- a/js/attachment.js +++ b/js/attachment.js @@ -19,6 +19,7 @@ * Joel Peshkin <bugreport@peshkin.net> * Erik Stambaugh <erik@dasbistro.com> * Marc Schumann <wurblzap@gmail.com> + * Guy Pyrzak <guy.pyrzak@gmail.com> */ function validateAttachmentForm(theform) { @@ -307,7 +308,7 @@ function hideElementById(id) { var elm = document.getElementById(id); if (elm) { - elm.style.display = 'none'; + YAHOO.util.Dom.addClass(elm, 'bz_default_hidden'); } } @@ -315,8 +316,7 @@ function showElementById(id, val) { var elm = document.getElementById(id); if (elm) { - if (!val) val = 'inline'; - elm.style.display = val; + YAHOO.util.Dom.removeClass(elm, 'bz_default_hidden'); } } @@ -327,12 +327,24 @@ function normalizeComments() var small = document.getElementById('smallCommentFrame'); var big = document.getElementById('editFrame'); - if ( (small) && (small.style.display == 'none') ) + if ( (small) && YAHOO.util.Dom.hasClass(small, 'bz_default_hidden') ) { small.parentNode.removeChild(small); } - if ( (big) && (big.style.display == 'none') ) + if ( (big) && YAHOO.util.Dom.hasClass(big, 'bz_default_hidden') ) { big.parentNode.removeChild(big); } } + +function toggle_attachment_details_visibility ( ) +{ + // show hide classes + var container = document.getElementById('attachment_info'); + if( YAHOO.util.Dom.hasClass(container, 'read') ){ + YAHOO.util.Dom.replaceClass(container, 'read', 'edit'); + }else{ + YAHOO.util.Dom.replaceClass(container, 'edit', 'read'); + } +} + diff --git a/js/bug.js b/js/bug.js new file mode 100644 index 0000000000000000000000000000000000000000..8cee68efcf789c2a39ebe5b1d6d85cab312c3cd5 --- /dev/null +++ b/js/bug.js @@ -0,0 +1,117 @@ +/* The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Bugzilla Bug Tracking System. + * + * The Initial Developer of the Original Code is Everything Solved, Inc. + * Portions created by Everything Solved are Copyright (C) 2010 Everything + * Solved, Inc. All Rights Reserved. + * + * Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org> + */ + +/* This library assumes that the needed YUI libraries have been loaded + already. */ + +YAHOO.bugzilla.dupTable = { + counter: 0, + dataSource: null, + updateTable: function(dataTable, product_name, summary_field) { + if (summary_field.value.length < 4) return; + + YAHOO.bugzilla.dupTable.counter = YAHOO.bugzilla.dupTable.counter + 1; + YAHOO.util.Connect.setDefaultPostHeader('application/json', true); + var json_object = { + version : "1.1", + method : "Bug.possible_duplicates", + id : YAHOO.bugzilla.dupTable.counter, + params : { + product : product_name, + summary : summary_field.value, + limit : 7, + include_fields : [ "id", "summary", "status", "resolution", + "update_token" ] + } + }; + var post_data = YAHOO.lang.JSON.stringify(json_object); + + var callback = { + success: dataTable.onDataReturnInitializeTable, + failure: dataTable.onDataReturnInitializeTable, + scope: dataTable, + argument: dataTable.getState() + }; + dataTable.showTableMessage(dataTable.get("MSG_LOADING"), + YAHOO.widget.DataTable.CLASS_LOADING); + YAHOO.util.Dom.removeClass('possible_duplicates_container', + 'bz_default_hidden'); + dataTable.getDataSource().sendRequest(post_data, callback); + }, + formatBugLink: function(el, oRecord, oColumn, oData) { + el.innerHTML = '<a href="show_bug.cgi?id=' + oData + '">' + + oData + '</a>'; + }, + formatStatus: function(el, oRecord, oColumn, oData) { + var resolution = oRecord.getData('resolution'); + if (resolution) { + el.innerHTML = oData + ' ' + resolution; + } + else { + el.innerHTML = oData; + } + }, + formatCcButton: function(el, oRecord, oColumn, oData) { + var url = 'process_bug.cgi?id=' + oRecord.getData('id') + + '&addselfcc=1&token=' + escape(oData); + var button = document.createElement('button'); + button.setAttribute('type', 'button'); + button.innerHTML = YAHOO.bugzilla.dupTable.addCcMessage; + button.onclick = function() { window.location = url; return false; }; + el.appendChild(button); + }, + init_ds: function() { + var new_ds = new YAHOO.util.XHRDataSource("jsonrpc.cgi"); + new_ds.connTimeout = 30000; + new_ds.connMethodPost = true; + new_ds.connXhrMode = "cancelStaleRequests"; + new_ds.maxCacheEntries = 3; + new_ds.responseSchema = { + resultsList : "result.bugs", + metaFields : { error: "error", jsonRpcId: "id" }, + }; + // DataSource can't understand a JSON-RPC error response, so + // we have to modify the result data if we get one. + new_ds.doBeforeParseData = + function(oRequest, oFullResponse, oCallback) { + if (oFullResponse.error) { + oFullResponse.result = {}; + oFullResponse.result.bugs = []; + if (console) { + console.log("JSON-RPC error:", oFullResponse.error); + } + } + return oFullResponse; + } + + this.dataSource = new_ds; + }, + init: function(data) { + if (this.dataSource == null) this.init_ds(); + data.options.initialLoad = false; + var dt = new YAHOO.widget.DataTable(data.container, data.columns, + this.dataSource, data.options); + YAHOO.util.Event.on(data.summary_field, 'blur', + function(e) { + YAHOO.bugzilla.dupTable.updateTable(dt, data.product_name, + YAHOO.util.Event.getTarget(e)) + } + ); + }, +}; diff --git a/js/comments.js b/js/comments.js new file mode 100644 index 0000000000000000000000000000000000000000..79bdae855fcc8904b09fd66f43bce023ae095598 --- /dev/null +++ b/js/comments.js @@ -0,0 +1,88 @@ +/* The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Bugzilla Bug Tracking System. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): Frédéric Buclin <LpSolit@gmail.com> + * Max Kanat-Alexander <mkanat@bugzilla.org> + * Edmund Wong <ewong@pw-wspx.org> + */ + +function updateCommentPrivacy(checkbox, id) { + var comment_elem = document.getElementById('comment_text_'+id).parentNode; + if (checkbox.checked) { + if (!comment_elem.className.match('bz_private')) { + comment_elem.className = comment_elem.className.concat(' bz_private'); + } + } + else { + comment_elem.className = + comment_elem.className.replace(/(\s*|^)bz_private(\s*|$)/, '$2'); + } +} + +/* The functions below expand and collapse comments */ + +function toggle_comment_display(link, comment_id) { + var comment = document.getElementById('comment_text_' + comment_id); + var re = new RegExp(/\bcollapsed\b/); + if (comment.className.match(re)) + expand_comment(link, comment); + else + collapse_comment(link, comment); +} + +function toggle_all_comments(action, comments_size) { + var num_comments = comments_size; + + // If for some given ID the comment doesn't exist, this doesn't mean + // there are no more comments, but that the comment is private and + // the user is not allowed to view it. + + for (var id = 0; id < num_comments; id++) { + var comment = document.getElementById('comment_text_' + id); + if (!comment) + continue; + + var link = document.getElementById('comment_link_' + id); + if (action == 'collapse') + collapse_comment(link, comment); + else + expand_comment(link, comment); + } +} + +function collapse_comment(link, comment) { + link.innerHTML = "[+]"; + link.title = "Expand the comment."; + YAHOO.util.Dom.addClass(comment, 'collapsed'); +} + +function expand_comment(link, comment) { + link.innerHTML = "[-]"; + link.title = "Collapse the comment"; + YAHOO.util.Dom.removeClass(comment, 'collapsed'); +} + +/* This way, we are sure that browsers which do not support JS + * won't display this link */ + +function addCollapseLink(count) { + document.write(' <a href="#" class="bz_collapse_comment"' + + ' id="comment_link_' + count + + '" onclick="toggle_comment_display(this, ' + count + + '); return false;" title="Collapse the comment.">[-]<\/a> '); +} + diff --git a/js/field.js b/js/field.js index 62ca7e4506de00d67248e78a8cf07492a60af08c..39b272f920474a0b223d252e74d3fe8639e8d85b 100644 --- a/js/field.js +++ b/js/field.js @@ -560,3 +560,74 @@ function browserCanHideOptions(aSelect) { } /* (end) option hiding code */ + +/** + * The Autoselect + */ +YAHOO.bugzilla.userAutocomplete = { + counter : 0, + dataSource : null, + generateRequest : function ( enteredText ){ + YAHOO.bugzilla.userAutocomplete.counter = + YAHOO.bugzilla.userAutocomplete.counter + 1; + YAHOO.util.Connect.setDefaultPostHeader('application/json', true); + var json_object = { + method : "User.get", + id : YAHOO.bugzilla.userAutocomplete.counter, + params : [ { + match : [ unescape(enteredText) ], + include_fields : [ "email", "real_name" ] + } ] + }; + var stringified = YAHOO.lang.JSON.stringify(json_object); + var debug = { msg: "json-rpc obj debug info", "json obj": json_object, + "param" : stringified} + YAHOO.bugzilla.userAutocomplete.debug_helper( debug ); + return stringified; + }, + resultListFormat : function(oResultData, enteredText, sResultMatch) { + return ( unescape(oResultData.real_name) + " (" + oResultData.email + ")"); + }, + debug_helper : function ( ){ + /* used to help debug any errors that might happen */ + if( typeof(console) !== 'undefined' && console != null && arguments.length > 0 ){ + console.log("debug helper info:", arguments); + } + return true; + }, + init_ds : function(){ + this.dataSource = new YAHOO.util.XHRDataSource("jsonrpc.cgi"); + this.dataSource.connMethodPost = true; + this.dataSource.responseSchema = { + resultsList : "result.users", + metaFields : { error: "error", jsonRpcId: "id"}, + fields : [ + { key : "email" }, + { key : "real_name"} + ] + }; + }, + init : function( field, container, multiple ) { + if( this.dataSource == null ){ + this.init_ds(); + } + var userAutoComp = new YAHOO.widget.AutoComplete( field, container, + this.dataSource ); + // other stuff we might want to do with the autocomplete goes here + userAutoComp.generateRequest = this.generateRequest; + userAutoComp.formatResult = this.resultListFormat; + userAutoComp.doBeforeLoadData = this.debug_helper; + userAutoComp.minQueryLength = 3; + userAutoComp.autoHighlight = false; + // this is a throttle to determine the delay of the query from typing + // set this higher to cause fewer calls to the server + userAutoComp.queryDelay = 0.05 + userAutoComp.useIFrame = true + userAutoComp.resultTypeList = false; + if( multiple == true ){ + userAutoComp.delimChar = [","," "]; + } + + } +}; + diff --git a/js/yui/CVS/Entries b/js/yui/CVS/Entries deleted file mode 100644 index 2dceb75675133ccb85aa47626bacd9b21a2e4af7..0000000000000000000000000000000000000000 --- a/js/yui/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/calendar.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_6_1 -/cookie.js/1.1/Wed Feb 11 19:41:15 2009//TBUGZILLA-3_6_1 -/yahoo-dom-event.js/1.2/Thu Jan 15 01:01:24 2009//TBUGZILLA-3_6_1 -D diff --git a/js/yui/CVS/Repository b/js/yui/CVS/Repository deleted file mode 100644 index c4783f81678c9333a3140363a96cc421f3220640..0000000000000000000000000000000000000000 --- a/js/yui/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/js/yui diff --git a/js/yui/CVS/Root b/js/yui/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/js/yui/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/js/yui/CVS/Tag b/js/yui/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/js/yui/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/js/yui/animation/animation-min.js b/js/yui/animation/animation-min.js new file mode 100644 index 0000000000000000000000000000000000000000..7ea805537dd24807a5f43e563b271ae9511c582e --- /dev/null +++ b/js/yui/animation/animation-min.js @@ -0,0 +1,23 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,F,E){var D=this.getEl();if(this.patterns.noNegatives.test(C)){F=(F>0)?F:0;}if(C in D&&!("style" in D&&C in D.style)){D[C]=F;}else{B.Dom.setStyle(D,C,F+E);}},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if("style" in E){if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}}else{if(C in E){G=E[C];}}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F===-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]===H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};this._queue=B;this._getIndex=E;};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";A.DEFAULT_BGCOLOR="#fff";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)]; +}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var I=YAHOO.util.Dom.getStyle(G,E);var H=this;if(this.patterns.transparent.test(I)){var F=YAHOO.util.Dom.getAncestorBy(G,function(J){return !H.patterns.transparent.test(I);});if(F){I=C.Dom.getStyle(F,E);}else{I=A.DEFAULT_BGCOLOR;}}}else{I=D.getAttribute.call(this,E);}return I;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})(); +/* +TERMS OF USE - EASING EQUATIONS +Open source under the BSD License. +Copyright 2001 Robert Penner All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 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 COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]); +}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/assets/skins/sam/ajax-loader.gif b/js/yui/assets/skins/sam/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe2cd23b3a3c017ae6acfd291135a998e2f8ee74 Binary files /dev/null and b/js/yui/assets/skins/sam/ajax-loader.gif differ diff --git a/js/yui/assets/skins/sam/asc.gif b/js/yui/assets/skins/sam/asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1fe7385d5ac940629233f0dc4bbd61f20959c3b Binary files /dev/null and b/js/yui/assets/skins/sam/asc.gif differ diff --git a/js/yui/assets/skins/sam/autocomplete.css b/js/yui/assets/skins/sam/autocomplete.css new file mode 100644 index 0000000000000000000000000000000000000000..33e9d1de020d35062f97fc08ff925b6b30badcbe --- /dev/null +++ b/js/yui/assets/skins/sam/autocomplete.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-skin-sam .yui-ac{position:relative;font-family:arial;font-size:100%;}.yui-skin-sam .yui-ac-input{position:absolute;width:100%;}.yui-skin-sam .yui-ac-container{position:absolute;top:1.6em;width:100%;}.yui-skin-sam .yui-ac-content{position:absolute;width:100%;border:1px solid #808080;background:#fff;overflow:hidden;z-index:9050;}.yui-skin-sam .yui-ac-shadow{position:absolute;margin:.3em;width:100%;background:#000;-moz-opacity:.10;opacity:.10;filter:alpha(opacity=10);z-index:9049;}.yui-skin-sam .yui-ac iframe{opacity:0;filter:alpha(opacity=0);padding-right:.3em;padding-bottom:.3em;}.yui-skin-sam .yui-ac-content ul{margin:0;padding:0;width:100%;}.yui-skin-sam .yui-ac-content li{margin:0;padding:2px 5px;cursor:default;white-space:nowrap;list-style:none;zoom:1;}.yui-skin-sam .yui-ac-content li.yui-ac-prehighlight{background:#B3D4FF;}.yui-skin-sam .yui-ac-content li.yui-ac-highlight{background:#426FD9;color:#FFF;} diff --git a/js/yui/assets/skins/sam/back-h.png b/js/yui/assets/skins/sam/back-h.png new file mode 100644 index 0000000000000000000000000000000000000000..5f69f4e2564357c83eddcecd5f104e14ecf09d49 Binary files /dev/null and b/js/yui/assets/skins/sam/back-h.png differ diff --git a/js/yui/assets/skins/sam/back-v.png b/js/yui/assets/skins/sam/back-v.png new file mode 100644 index 0000000000000000000000000000000000000000..658574a9d560febf6f58a6a005e602ae734f97da Binary files /dev/null and b/js/yui/assets/skins/sam/back-v.png differ diff --git a/js/yui/assets/skins/sam/bar-h.png b/js/yui/assets/skins/sam/bar-h.png new file mode 100644 index 0000000000000000000000000000000000000000..fea13b15d80fe640814d8ed1da4a9819de4fad9d Binary files /dev/null and b/js/yui/assets/skins/sam/bar-h.png differ diff --git a/js/yui/assets/skins/sam/bar-v.png b/js/yui/assets/skins/sam/bar-v.png new file mode 100644 index 0000000000000000000000000000000000000000..2efd664d9abdddff7e06ec512e0198f5fcaf1a56 Binary files /dev/null and b/js/yui/assets/skins/sam/bar-v.png differ diff --git a/js/yui/assets/skins/sam/bg-h.gif b/js/yui/assets/skins/sam/bg-h.gif new file mode 100644 index 0000000000000000000000000000000000000000..996288916e82bf2972bb4b8097f1b4a0869955d2 Binary files /dev/null and b/js/yui/assets/skins/sam/bg-h.gif differ diff --git a/js/yui/assets/skins/sam/bg-v.gif b/js/yui/assets/skins/sam/bg-v.gif new file mode 100644 index 0000000000000000000000000000000000000000..8e287cd52222c75c8f921cfdd4b4ae02b783c0e4 Binary files /dev/null and b/js/yui/assets/skins/sam/bg-v.gif differ diff --git a/js/yui/assets/skins/sam/blankimage.png b/js/yui/assets/skins/sam/blankimage.png new file mode 100644 index 0000000000000000000000000000000000000000..b87bb2485015d12369549a8f88b4b4e6918da8a7 Binary files /dev/null and b/js/yui/assets/skins/sam/blankimage.png differ diff --git a/js/yui/assets/skins/sam/button.css b/js/yui/assets/skins/sam/button.css new file mode 100644 index 0000000000000000000000000000000000000000..81e5e35fe52ee7d730c48c444ced9ca5efafa9dd --- /dev/null +++ b/js/yui/assets/skins/sam/button.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-button{display:-moz-inline-box;display:inline-block;vertical-align:text-bottom;}.yui-button .first-child{display:block;*display:inline-block;}.yui-button button,.yui-button a{display:block;*display:inline-block;border:none;margin:0;}.yui-button button{background-color:transparent;*overflow:visible;cursor:pointer;}.yui-button a{text-decoration:none;}.yui-skin-sam .yui-button{border-width:1px 0;border-style:solid;border-color:#808080;background:url(sprite.png) repeat-x 0 0;margin:auto .25em;}.yui-skin-sam .yui-button .first-child{border-width:0 1px;border-style:solid;border-color:#808080;margin:0 -1px;_margin:0;}.yui-skin-sam .yui-button button,.yui-skin-sam .yui-button a,.yui-skin-sam .yui-button a:visited{padding:0 10px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-button a{*line-height:1.875;*padding-bottom:1px;}.yui-skin-sam .yui-split-button button,.yui-skin-sam .yui-menu-button button{padding-right:20px;background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-button button{background-image:url(menu-button-arrow.png);}.yui-skin-sam .yui-split-button button{background-image:url(split-button-arrow.png);}.yui-skin-sam .yui-button-focus{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-focus .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-focus button{background-image:url(split-button-arrow-focus.png);}.yui-skin-sam .yui-button-hover{border-color:#7D98B8;background-position:0 -1300px;}.yui-skin-sam .yui-button-hover .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-hover button{background-image:url(split-button-arrow-hover.png);}.yui-skin-sam .yui-button-active{border-color:#7D98B8;background-position:0 -1700px;}.yui-skin-sam .yui-button-active .first-child{border-color:#7D98B8;}.yui-skin-sam .yui-split-button-activeoption{border-color:#808080;background-position:0 0;}.yui-skin-sam .yui-split-button-activeoption .first-child{border-color:#808080;}.yui-skin-sam .yui-split-button-activeoption button{background-image:url(split-button-arrow-active.png);}.yui-skin-sam .yui-radio-button-checked,.yui-skin-sam .yui-checkbox-button-checked{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-radio-button-checked .first-child,.yui-skin-sam .yui-checkbox-button-checked .first-child{border-color:#304369;}.yui-skin-sam .yui-radio-button-checked button,.yui-skin-sam .yui-checkbox-button-checked button{color:#fff;}.yui-skin-sam .yui-button-disabled{border-color:#ccc;background-position:0 -1500px;}.yui-skin-sam .yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-button-disabled button,.yui-skin-sam .yui-button-disabled a,.yui-skin-sam .yui-button-disabled a:visited{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-menu-button-disabled button{background-image:url(menu-button-arrow-disabled.png);}.yui-skin-sam .yui-split-button-disabled button{background-image:url(split-button-arrow-disabled.png);} diff --git a/js/yui/assets/skins/sam/calendar.css b/js/yui/assets/skins/sam/calendar.css new file mode 100644 index 0000000000000000000000000000000000000000..93561b72519d1c88419e7eba3df4205a306bf7fe --- /dev/null +++ b/js/yui/assets/skins/sam/calendar.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-calcontainer{position:relative;float:left;_overflow:hidden;}.yui-calcontainer iframe{position:absolute;border:none;margin:0;padding:0;z-index:0;width:100%;height:100%;left:0;top:0;}.yui-calcontainer iframe.fixedsize{width:50em;height:50em;top:-1px;left:-1px;}.yui-calcontainer.multi .groupcal{z-index:1;float:left;position:relative;}.yui-calcontainer .title{position:relative;z-index:1;}.yui-calcontainer .close-icon{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar{position:relative;}.yui-calendar .calnavleft{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calnavright{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calheader{position:relative;width:100%;text-align:center;}.yui-calcontainer .yui-cal-nav-mask{position:absolute;z-index:2;margin:0;padding:0;width:100%;height:100%;_width:0;_height:0;left:0;top:0;display:none;}.yui-calcontainer .yui-cal-nav{position:absolute;z-index:3;top:0;display:none;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{display:-moz-inline-box;display:inline-block;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{display:block;*display:inline-block;*overflow:visible;border:none;background-color:transparent;cursor:pointer;}.yui-calendar .calbody a:hover{background:inherit;}p#clear{clear:left;padding-top:10px;}.yui-skin-sam .yui-calcontainer{background-color:#f2f2f2;border:1px solid #808080;padding:10px;}.yui-skin-sam .yui-calcontainer.multi{padding:0 5px 0 5px;}.yui-skin-sam .yui-calcontainer.multi .groupcal{background-color:transparent;border:none;padding:10px 5px 10px 5px;margin:0;}.yui-skin-sam .yui-calcontainer .title{background:url(sprite.png) repeat-x 0 0;border-bottom:1px solid #ccc;font:100% sans-serif;color:#000;font-weight:bold;height:auto;padding:.4em;margin:0 -10px 10px -10px;top:0;left:0;text-align:left;}.yui-skin-sam .yui-calcontainer.multi .title{margin:0 -5px 0 -5px;}.yui-skin-sam .yui-calcontainer.withtitle{padding-top:0;}.yui-skin-sam .yui-calcontainer .calclose{background:url(sprite.png) no-repeat 0 -300px;width:25px;height:15px;top:.4em;right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar{border-spacing:0;border-collapse:collapse;font:100% sans-serif;text-align:center;margin:0;}.yui-skin-sam .yui-calendar .calhead{background:transparent;border:none;vertical-align:middle;padding:0;}.yui-skin-sam .yui-calendar .calheader{background:transparent;font-weight:bold;padding:0 0 .6em 0;text-align:center;}.yui-skin-sam .yui-calendar .calheader img{border:none;}.yui-skin-sam .yui-calendar .calnavleft{background:url(sprite.png) no-repeat 0 -450px;width:25px;height:15px;top:0;bottom:0;left:-10px;margin-left:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calnavright{background:url(sprite.png) no-repeat 0 -500px;width:25px;height:15px;top:0;bottom:0;right:-10px;margin-right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calweekdayrow{height:2em;}.yui-skin-sam .yui-calendar .calweekdayrow th{padding:0;border:none;}.yui-skin-sam .yui-calendar .calweekdaycell{color:#000;font-weight:bold;text-align:center;width:2em;}.yui-skin-sam .yui-calendar .calfoot{background-color:#f2f2f2;}.yui-skin-sam .yui-calendar .calrowhead,.yui-skin-sam .yui-calendar .calrowfoot{color:#a6a6a6;font-size:85%;font-style:normal;font-weight:normal;border:none;}.yui-skin-sam .yui-calendar .calrowhead{text-align:right;padding:0 2px 0 0;}.yui-skin-sam .yui-calendar .calrowfoot{text-align:left;padding:0 0 0 2px;}.yui-skin-sam .yui-calendar td.calcell{border:1px solid #ccc;background:#fff;padding:1px;height:1.6em;line-height:1.6em;text-align:center;white-space:nowrap;}.yui-skin-sam .yui-calendar td.calcell a{color:#06c;display:block;height:100%;text-decoration:none;}.yui-skin-sam .yui-calendar td.calcell.today{background-color:#000;}.yui-skin-sam .yui-calendar td.calcell.today a{background-color:#fff;}.yui-skin-sam .yui-calendar td.calcell.oom{background-color:#ccc;color:#a6a6a6;cursor:default;}.yui-skin-sam .yui-calendar td.calcell.selected{background-color:#fff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.selected a{background-color:#b3d4ff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.calcellhover{background-color:#426fd9;color:#fff;cursor:pointer;}.yui-skin-sam .yui-calendar td.calcell.calcellhover a{background-color:#426fd9;color:#fff;}.yui-skin-sam .yui-calendar td.calcell.previous{color:#e0e0e0;}.yui-skin-sam .yui-calendar td.calcell.restricted{text-decoration:line-through;}.yui-skin-sam .yui-calendar td.calcell.highlight1{background-color:#cf9;}.yui-skin-sam .yui-calendar td.calcell.highlight2{background-color:#9cf;}.yui-skin-sam .yui-calendar td.calcell.highlight3{background-color:#fcc;}.yui-skin-sam .yui-calendar td.calcell.highlight4{background-color:#cf9;}.yui-skin-sam .yui-calendar a.calnav{border:1px solid #f2f2f2;padding:0 4px;text-decoration:none;color:#000;zoom:1;}.yui-skin-sam .yui-calendar a.calnav:hover{background:url(sprite.png) repeat-x 0 0;border-color:#A0A0A0;cursor:pointer;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-calcontainer .yui-cal-nav{font-family:arial,helvetica,clean,sans-serif;font-size:93%;border:1px solid #808080;left:50%;margin-left:-7em;width:14em;padding:0;top:2.5em;background-color:#f2f2f2;}.yui-skin-sam .yui-calcontainer.withtitle .yui-cal-nav{top:4.5em;}.yui-skin-sam .yui-calcontainer.multi .yui-cal-nav{width:16em;margin-left:-8em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y,.yui-skin-sam .yui-calcontainer .yui-cal-nav-m,.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{padding:5px 10px 5px 10px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{text-align:center;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-e{margin-top:5px;padding:5px;background-color:#EDF5FF;border-top:1px solid black;display:none;}.yui-skin-sam .yui-calcontainer .yui-cal-nav label{display:block;font-weight:bold;} +.yui-skin-sam .yui-calcontainer .yui-cal-nav-mc{width:100%;_width:auto;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y input.yui-invalid{background-color:#FFEE69;border:1px solid #000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-yc{width:4em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{border:1px solid #808080;background:url(sprite.png) repeat-x 0 0;background-color:#ccc;margin:auto .15em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{padding:0 8px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default{border:1px solid #304369;background-color:#426fd9;background:url(sprite.png) repeat-x 0 -1400px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button{color:#fff;} diff --git a/js/yui/assets/skins/sam/carousel.css b/js/yui/assets/skins/sam/carousel.css new file mode 100644 index 0000000000000000000000000000000000000000..874e4785779af5d1fdc970fc90da190d912f96c6 --- /dev/null +++ b/js/yui/assets/skins/sam/carousel.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-carousel{visibility:hidden;overflow:hidden;position:relative;text-align:left;zoom:1;}.yui-carousel.yui-carousel-visible{visibility:visible;}.yui-carousel-content{overflow:hidden;position:relative;text-align:center;}.yui-carousel-element li{border:1px solid #ccc;list-style:none;margin:1px;overflow:hidden;padding:0;position:absolute;text-align:center;}.yui-carousel-vertical .yui-carousel-element li{display:block;float:none;}.yui-log .carousel{background:#f2e886;}.yui-carousel-nav{zoom:1;}.yui-carousel-nav:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.yui-carousel-button-focus{outline:1px dotted #000;}.yui-carousel-min-width{min-width:115px;}.yui-carousel-element{overflow:hidden;position:relative;margin:0 auto;padding:0;text-align:left;*margin:0;}.yui-carousel-horizontal .yui-carousel-element{width:320000px;}.yui-carousel-vertical .yui-carousel-element{height:320000px;}.yui-skin-sam .yui-carousel-nav select{position:static;}.yui-carousel .yui-carousel-item-selected{border:1px dashed #000;margin:1px;}.yui-skin-sam .yui-carousel,.yui-skin-sam .yui-carousel-vertical{border:1px solid #808080;}.yui-skin-sam .yui-carousel-nav{background:url(sprite.png) repeat-x 0 0;padding:3px;text-align:right;}.yui-skin-sam .yui-carousel-button{background:url(sprite.png) no-repeat 0 -600px;float:right;height:19px;margin:5px;overflow:hidden;width:40px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-button{background-position:0 -800px;}.yui-skin-sam .yui-carousel-button-disabled{background-position:0 -2000px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-button-disabled{background-position:0 -2100px;}.yui-skin-sam .yui-carousel-button input,.yui-skin-sam .yui-carousel-button button{background-color:transparent;border:0;cursor:pointer;display:block;height:44px;margin:-2px 0 0 -2px;padding:0 0 0 50px;}.yui-skin-sam span.yui-carousel-first-button{background-position:0 -550px;margin-left:-100px;margin-right:50px;*margin:5px 5px 5px -90px;}.yui-skin-sam .yui-carousel-vertical span.yui-carousel-first-button{background-position:0 -750px;}.yui-skin-sam span.yui-carousel-first-button-disabled{background-position:0 -1950px;}.yui-skin-sam .yui-carousel-vertical span.yui-carousel-first-button-disabled{background-position:0 -2050px;}.yui-skin-sam .yui-carousel-nav ul{float:right;height:19px;margin:0;margin-left:-220px;margin-right:100px;*margin-left:-160px;*margin-right:0;padding:0;}.yui-skin-sam .yui-carousel-min-width .yui-carousel-nav ul{*margin-left:-170px;}.yui-skin-sam .yui-carousel-nav select{position:relative;*right:50px;top:4px;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav select{position:static;}.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav ul,.yui-skin-sam .yui-carousel-vertical .yui-carousel-nav select{float:none;margin:0;*zoom:1;}.yui-skin-sam .yui-carousel-nav ul li{background:url(sprite.png) no-repeat 0 -650px;cursor:pointer;float:left;height:9px;list-style:none;margin:10px 0 0 5px;overflow:hidden;padding:0;width:9px;}.yui-skin-sam .yui-carousel-nav ul:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.yui-skin-sam .yui-carousel-nav ul li a{display:block;width:100%;height:100%;text-indent:-10000px;text-align:left;overflow:hidden;}.yui-skin-sam .yui-carousel-nav ul li.yui-carousel-nav-page-focus{outline:1px dotted #000;}.yui-skin-sam .yui-carousel-nav ul li.yui-carousel-nav-page-selected{background-position:0 -700px;}.yui-skin-sam .yui-carousel-item-loading{background:url(ajax-loader.gif) no-repeat 50% 50%;position:absolute;text-indent:-150px;} diff --git a/js/yui/assets/skins/sam/check0.gif b/js/yui/assets/skins/sam/check0.gif new file mode 100644 index 0000000000000000000000000000000000000000..193028b99361c6527f17a9056037f3d8729fada7 Binary files /dev/null and b/js/yui/assets/skins/sam/check0.gif differ diff --git a/js/yui/assets/skins/sam/check1.gif b/js/yui/assets/skins/sam/check1.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d9ceba3847ffb41864626de755147cf2e0ccc41 Binary files /dev/null and b/js/yui/assets/skins/sam/check1.gif differ diff --git a/js/yui/assets/skins/sam/check2.gif b/js/yui/assets/skins/sam/check2.gif new file mode 100644 index 0000000000000000000000000000000000000000..181317599bfd45f03a7a69784b232509171d98e9 Binary files /dev/null and b/js/yui/assets/skins/sam/check2.gif differ diff --git a/js/yui/assets/skins/sam/colorpicker.css b/js/yui/assets/skins/sam/colorpicker.css new file mode 100644 index 0000000000000000000000000000000000000000..f930c63922dabebf080b123a76d97d4c749d40ff --- /dev/null +++ b/js/yui/assets/skins/sam/colorpicker.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-picker-panel{background:#e3e3e3;border-color:#888;}.yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.yui-picker{position:relative;}.yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.yui-picker-hue-bg{-moz-outline:none;outline:0 none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.yui-picker-bg{-moz-outline:none;outline:0 none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../../build/colorpicker/assets/picker_mask.png',sizingMethod='scale');}.yui-picker-mask{position:absolute;z-index:1;top:0;left:0;}.yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.yui-picker-controls .hd{background:transparent;border-width:0!important;}.yui-picker-controls .bd{height:100px;border-width:0!important;}.yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0;}.yui-picker-controls li{padding:2px;list-style:none;margin:0;}.yui-picker-controls input{font-size:.85em;width:2.4em;}.yui-picker-hex-controls{clear:both;padding:2px;}.yui-picker-hex-controls input{width:4.6em;}.yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;} diff --git a/js/yui/assets/skins/sam/container.css b/js/yui/assets/skins/sam/container.css new file mode 100644 index 0000000000000000000000000000000000000000..fc0fb17fa5cd22b70d3aa21f5ad213509dd04dcd --- /dev/null +++ b/js/yui/assets/skins/sam/container.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-overlay,.yui-panel-container{visibility:hidden;position:absolute;z-index:2;}.yui-panel{position:relative;}.yui-panel-container form{margin:0;}.mask{z-index:1;display:none;position:absolute;top:0;left:0;right:0;bottom:0;}.mask.block-scrollbars{overflow:auto;}.masked select,.drag select,.hide-select select{_visibility:hidden;}.yui-panel-container select{_visibility:inherit;}.hide-scrollbars,.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.show-scrollbars{overflow:auto;}.yui-panel-container.show-scrollbars,.yui-tt.show-scrollbars{overflow:visible;}.yui-panel-container.show-scrollbars .underlay,.yui-tt.show-scrollbars .yui-tt-shadow{overflow:auto;}.yui-panel-container.shadow .underlay.yui-force-redraw{padding-bottom:1px;}.yui-effect-fade .underlay,.yui-effect-fade .yui-tt-shadow{display:none;}.yui-tt-shadow{position:absolute;}.yui-override-padding{padding:0!important;}.yui-panel-container .container-close{overflow:hidden;text-indent:-10000em;text-decoration:none;}.yui-overlay.yui-force-redraw,.yui-panel-container.yui-force-redraw{margin-bottom:1px;}.yui-skin-sam .mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-panel-container{padding:0 1px;*padding:2px;}.yui-skin-sam .yui-panel{position:relative;left:0;top:0;border-style:solid;border-width:1px 0;border-color:#808080;z-index:1;*border-width:1px;*zoom:1;_zoom:normal;}.yui-skin-sam .yui-panel .hd,.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{border-style:solid;border-width:0 1px;border-color:#808080;margin:0 -1px;*margin:0;*border:0;}.yui-skin-sam .yui-panel .hd{border-bottom:solid 1px #ccc;}.yui-skin-sam .yui-panel .bd,.yui-skin-sam .yui-panel .ft{background-color:#F2F2F2;}.yui-skin-sam .yui-panel .hd{padding:0 10px;font-size:93%;line-height:2;*line-height:1.9;font-weight:bold;color:#000;background:url(sprite.png) repeat-x 0 -200px;}.yui-skin-sam .yui-panel .bd{padding:10px;}.yui-skin-sam .yui-panel .ft{border-top:solid 1px #808080;padding:5px 10px;font-size:77%;}.yui-skin-sam .container-close{position:absolute;top:5px;right:6px;width:25px;height:15px;background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;}.yui-skin-sam .yui-panel-container .underlay{right:-1px;left:-1px;}.yui-skin-sam .yui-panel-container.matte{padding:9px 10px;background-color:#fff;}.yui-skin-sam .yui-panel-container.shadow{_padding:2px 4px 0 2px;}.yui-skin-sam .yui-panel-container.shadow .underlay{position:absolute;top:2px;left:-3px;right:-3px;bottom:-3px;*top:4px;*left:-1px;*right:-1px;*bottom:-1px;_top:0;_left:0;_right:0;_bottom:0;_margin-top:3px;_margin-left:-1px;background-color:#000;opacity:.12;filter:alpha(opacity=12);}.yui-skin-sam .yui-dialog .ft{border-top:none;padding:0 10px 10px 10px;font-size:100%;}.yui-skin-sam .yui-dialog .ft .button-group{display:block;text-align:right;}.yui-skin-sam .yui-dialog .ft button.default{font-weight:bold;}.yui-skin-sam .yui-dialog .ft span.default{border-color:#304369;background-position:0 -1400px;}.yui-skin-sam .yui-dialog .ft span.default .first-child{border-color:#304369;}.yui-skin-sam .yui-dialog .ft span.default button{color:#fff;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled{background-position:0 -1500px;border-color:#ccc;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-dialog .ft span.yui-button-disabled button{color:#a6a6a6;}.yui-skin-sam .yui-simple-dialog .bd .yui-icon{background:url(sprite.png) no-repeat 0 0;width:16px;height:16px;margin-right:10px;float:left;}.yui-skin-sam .yui-simple-dialog .bd span.blckicon{background-position:0 -1100px;}.yui-skin-sam .yui-simple-dialog .bd span.alrticon{background-position:0 -1050px;}.yui-skin-sam .yui-simple-dialog .bd span.hlpicon{background-position:0 -1150px;}.yui-skin-sam .yui-simple-dialog .bd span.infoicon{background-position:0 -1200px;}.yui-skin-sam .yui-simple-dialog .bd span.warnicon{background-position:0 -1900px;}.yui-skin-sam .yui-simple-dialog .bd span.tipicon{background-position:0 -1250px;}.yui-skin-sam .yui-tt .bd{position:relative;top:0;left:0;z-index:1;color:#000;padding:2px 5px;border-color:#D4C237 #A6982B #A6982B #A6982B;border-width:1px;border-style:solid;background-color:#FFEE69;}.yui-skin-sam .yui-tt.show-scrollbars .bd{overflow:auto;}.yui-skin-sam .yui-tt-shadow{top:2px;right:-3px;left:-3px;bottom:-3px;background-color:#000;}.yui-skin-sam .yui-tt-shadow-visible{opacity:.12;filter:alpha(opacity=12);} diff --git a/js/yui/assets/skins/sam/datatable.css b/js/yui/assets/skins/sam/datatable.css new file mode 100644 index 0000000000000000000000000000000000000000..9b04c26e68bd89efb4237f087fb15742bed82a4d --- /dev/null +++ b/js/yui/assets/skins/sam/datatable.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-skin-sam .yui-dt-mask{position:absolute;z-index:9500;}.yui-dt-tmp{position:absolute;left:-9000px;}.yui-dt-scrollable .yui-dt-bd{overflow:auto;}.yui-dt-scrollable .yui-dt-hd{overflow:hidden;position:relative;}.yui-dt-scrollable .yui-dt-bd thead tr,.yui-dt-scrollable .yui-dt-bd thead th{position:absolute;left:-1500px;}.yui-dt-scrollable tbody{-moz-outline:none;}.yui-skin-sam thead .yui-dt-sortable{cursor:pointer;}.yui-skin-sam thead .yui-dt-draggable{cursor:move;}.yui-dt-coltarget{position:absolute;z-index:999;}.yui-dt-hd{zoom:1;}th.yui-dt-resizeable .yui-dt-resizerliner{position:relative;}.yui-dt-resizer{position:absolute;right:0;bottom:0;height:100%;cursor:e-resize;cursor:col-resize;background-color:#CCC;opacity:0;filter:alpha(opacity=0);}.yui-dt-resizerproxy{visibility:hidden;position:absolute;z-index:9000;background-color:#CCC;opacity:0;filter:alpha(opacity=0);}th.yui-dt-hidden .yui-dt-liner,td.yui-dt-hidden .yui-dt-liner,th.yui-dt-hidden .yui-dt-resizer{display:none;}.yui-dt-editor{position:absolute;z-index:9000;}.yui-skin-sam .yui-dt table{margin:0;padding:0;font-family:arial;font-size:inherit;border-collapse:separate;*border-collapse:collapse;border-spacing:0;border:1px solid #7F7F7F;}.yui-skin-sam .yui-dt thead{border-spacing:0;}.yui-skin-sam .yui-dt caption{color:#000;font-size:85%;font-weight:normal;font-style:italic;line-height:1;padding:1em 0;text-align:center;}.yui-skin-sam .yui-dt th{background:#D8D8DA url(sprite.png) repeat-x 0 0;}.yui-skin-sam .yui-dt th,.yui-skin-sam .yui-dt th a{font-weight:normal;text-decoration:none;color:#000;vertical-align:bottom;}.yui-skin-sam .yui-dt th{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;}.yui-skin-sam .yui-dt tr.yui-dt-first td{border-top:1px solid #7F7F7F;}.yui-skin-sam .yui-dt th .yui-dt-liner{white-space:nowrap;}.yui-skin-sam .yui-dt-liner{margin:0;padding:0;padding:4px 10px 4px 10px;}.yui-skin-sam .yui-dt-coltarget{width:5px;background-color:red;}.yui-skin-sam .yui-dt td{margin:0;padding:0;border:none;border-right:1px solid #CBCBCB;text-align:left;}.yui-skin-sam .yui-dt-list td{border-right:none;}.yui-skin-sam .yui-dt-resizer{width:6px;}.yui-skin-sam .yui-dt-mask{background-color:#000;opacity:.25;filter:alpha(opacity=25);}.yui-skin-sam .yui-dt-message{background-color:#FFF;}.yui-skin-sam .yui-dt-scrollable table{border:none;}.yui-skin-sam .yui-dt-scrollable .yui-dt-hd{border-left:1px solid #7F7F7F;border-top:1px solid #7F7F7F;border-right:1px solid #7F7F7F;}.yui-skin-sam .yui-dt-scrollable .yui-dt-bd{border-left:1px solid #7F7F7F;border-bottom:1px solid #7F7F7F;border-right:1px solid #7F7F7F;background-color:#FFF;}.yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td{border-bottom:1px solid #7F7F7F;}.yui-skin-sam th.yui-dt-asc,.yui-skin-sam th.yui-dt-desc{background:url(sprite.png) repeat-x 0 -100px;}.yui-skin-sam th.yui-dt-sortable .yui-dt-label{margin-right:10px;}.yui-skin-sam th.yui-dt-asc .yui-dt-liner{background:url(dt-arrow-up.png) no-repeat right;}.yui-skin-sam th.yui-dt-desc .yui-dt-liner{background:url(dt-arrow-dn.png) no-repeat right;}tbody .yui-dt-editable{cursor:pointer;}.yui-dt-editor{text-align:left;background-color:#F2F2F2;border:1px solid #808080;padding:6px;}.yui-dt-editor label{padding-left:4px;padding-right:6px;}.yui-dt-editor .yui-dt-button{padding-top:6px;text-align:right;}.yui-dt-editor .yui-dt-button button{background:url(sprite.png) repeat-x 0 0;border:1px solid #999;width:4em;height:1.8em;margin-left:6px;}.yui-dt-editor .yui-dt-button button.yui-dt-default{background:url(sprite.png) repeat-x 0 -1400px;background-color:#5584E0;border:1px solid #304369;color:#FFF;}.yui-dt-editor .yui-dt-button button:hover{background:url(sprite.png) repeat-x 0 -1300px;color:#000;}.yui-dt-editor .yui-dt-button button:active{background:url(sprite.png) repeat-x 0 -1700px;color:#000;}.yui-skin-sam tr.yui-dt-even{background-color:#FFF;}.yui-skin-sam tr.yui-dt-odd{background-color:#EDF5FF;}.yui-skin-sam tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam tr.yui-dt-odd td.yui-dt-desc{background-color:#DBEAFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even{background-color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-odd{background-color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc{background-color:#EDF5FF;}.yui-skin-sam th.yui-dt-highlighted,.yui-skin-sam th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-skin-sam tr.yui-dt-highlighted,.yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,.yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,.yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,.yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-skin-sam .yui-dt-list th.yui-dt-highlighted,.yui-skin-sam .yui-dt-list th.yui-dt-highlighted a{background-color:#B2D2FF;}.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted{cursor:pointer;background-color:#B2D2FF;}.yui-skin-sam th.yui-dt-selected,.yui-skin-sam th.yui-dt-selected a{background-color:#446CD7;}.yui-skin-sam tr.yui-dt-selected td,.yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,.yui-skin-sam tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-skin-sam tr.yui-dt-even td.yui-dt-selected,.yui-skin-sam tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-skin-sam .yui-dt-list th.yui-dt-selected,.yui-skin-sam .yui-dt-list th.yui-dt-selected a{background-color:#446CD7;} +.yui-skin-sam .yui-dt-list tr.yui-dt-selected td,.yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,.yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc{background-color:#426FD9;color:#FFF;}.yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,.yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected{background-color:#446CD7;color:#FFF;}.yui-skin-sam .yui-dt-paginator{display:block;margin:6px 0;white-space:nowrap;}.yui-skin-sam .yui-dt-paginator .yui-dt-first,.yui-skin-sam .yui-dt-paginator .yui-dt-last,.yui-skin-sam .yui-dt-paginator .yui-dt-selected{padding:2px 6px;}.yui-skin-sam .yui-dt-paginator a.yui-dt-first,.yui-skin-sam .yui-dt-paginator a.yui-dt-last{text-decoration:none;}.yui-skin-sam .yui-dt-paginator .yui-dt-previous,.yui-skin-sam .yui-dt-paginator .yui-dt-next{display:none;}.yui-skin-sam a.yui-dt-page{border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;background-color:#fff;}.yui-skin-sam .yui-dt-selected{border:1px solid #fff;background-color:#fff;} diff --git a/js/yui/assets/skins/sam/desc.gif b/js/yui/assets/skins/sam/desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..c114f290c8ba1ff4173e129b1ef7e4f3f5e2bb5d Binary files /dev/null and b/js/yui/assets/skins/sam/desc.gif differ diff --git a/js/yui/assets/skins/sam/dt-arrow-dn.png b/js/yui/assets/skins/sam/dt-arrow-dn.png new file mode 100644 index 0000000000000000000000000000000000000000..85fda0bbca21cefc6b8cf1726bc83e43bff993c4 Binary files /dev/null and b/js/yui/assets/skins/sam/dt-arrow-dn.png differ diff --git a/js/yui/assets/skins/sam/dt-arrow-up.png b/js/yui/assets/skins/sam/dt-arrow-up.png new file mode 100644 index 0000000000000000000000000000000000000000..1c674316aed41943dae79b01583956db63c8be08 Binary files /dev/null and b/js/yui/assets/skins/sam/dt-arrow-up.png differ diff --git a/js/yui/assets/skins/sam/editor-knob.gif b/js/yui/assets/skins/sam/editor-knob.gif new file mode 100644 index 0000000000000000000000000000000000000000..03feab3b00f83ce8bcf2e9b22454e701083ad732 Binary files /dev/null and b/js/yui/assets/skins/sam/editor-knob.gif differ diff --git a/js/yui/assets/skins/sam/editor-sprite-active.gif b/js/yui/assets/skins/sam/editor-sprite-active.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e9d4200b3e6b124354f12d6c5f90513587315d1 Binary files /dev/null and b/js/yui/assets/skins/sam/editor-sprite-active.gif differ diff --git a/js/yui/assets/skins/sam/editor-sprite.gif b/js/yui/assets/skins/sam/editor-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..02042fa1474cd62d7de63588ae536f5495d45be2 Binary files /dev/null and b/js/yui/assets/skins/sam/editor-sprite.gif differ diff --git a/js/yui/assets/skins/sam/editor.css b/js/yui/assets/skins/sam/editor.css new file mode 100644 index 0000000000000000000000000000000000000000..610b3efac05764ff4632ec43f594fe218221d677 --- /dev/null +++ b/js/yui/assets/skins/sam/editor.css @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-busy{cursor:wait!important;}.yui-toolbar-container fieldset,.yui-editor-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-skin-sam .yui-toolbar-container .yui-button button,.yui-skin-sam .yui-toolbar-container .yui-button a,.yui-skin-sam .yui-toolbar-container .yui-button a:visited{font-size:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a:visited,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a:visited{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{font-size:0;line-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;margin-right:.5em;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;padding:0;height:18px;margin:.2em 0 .2em .1em;display:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:45px;*height:50px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;display:block;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;font-size:0;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block;right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;height:100%;width:100%;position:absolute;top:0;left:0;opacity:.5;filter:alpha(opacity=50);}.yui-editor-container iframe{border:0;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:.25em 0 .25em .25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd .gecko form{overflow:auto;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group{margin-bottom:.75em;}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:visible;}.yui-editor-panel .height-width span.info{font-size:70%;margin-top:3px;float:none;} +.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;_top:-5px;width:24px;text-indent:52px;font-size:0;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0;text-indent:0;font-size:75%;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px!important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-toolbar-group-undoredo h3,.yui-toolbar-group-insertitem h3,.yui-toolbar-group-indentlist h3{width:68px;}.yui-toolbar-group-indentlist2 h3{width:122px;}.yui-toolbar-group-alignment h3{width:130px;}.yui-skin-sam .yui-editor-container{border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container{zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-skin-sam .yui-editor-container .draggable .yui-toolbar-titlebar{cursor:move;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar h2{color:#000;font-weight:bold;margin:0;padding:.3em 1em;font-size:100%;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:0 .25em;}.yui-skin-sam .yui-toolbar-container{background-color:#F2F2F2;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subcont{padding:0 1em .35em;border-bottom:1px solid #808080;}.yui-skin-sam .yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-skin-sam .yui-editor-container .visible .yui-menu-shadow,.yui-skin-sam .yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-skin-sam .yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-skin-sam .yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:.25em;}.yui-skin-sam .yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-skin-sam .yui-toolbar-container .collapsed{background:url(sprite.png) no-repeat 0 -350px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;} +.yui-skin-sam .yui-toolbar-container .yui-push-button,.yui-skin-sam .yui-toolbar-container .yui-color-button,.yui-skin-sam .yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;_font-size:0;margin:0;border-color:#808080;color:#f2f2f2;border-style:solid;border-width:1px 0;zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-push-button a,.yui-skin-sam .yui-toolbar-container .yui-color-button a,.yui-skin-sam .yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:0;line-height:2;display:block;color:#000;overflow:hidden;white-space:nowrap;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-push-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;position:relative;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-button .first-child{*left:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-skin-sam .yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-skin-sam .yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-skin-sam .yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-skin-sam .yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-skin-sam .yui-toolbar-container .yui-button-menu{background-color:#fff;}.yui-skin-sam .yui-toolbar-container .yui-button-menu .yui-menu-body-scrolled{position:relative;}.yui-skin-sam div.yuimenu li.selected{background-color:#B3D4FF;}.yui-skin-sam div.yuimenu li.selected a.selected{color:#000;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-strikethrough span.yui-toolbar-icon{background-position:0 -108px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-undo span.yui-toolbar-icon{background-position:0 -1326px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-redo span.yui-toolbar-icon{background-position:0 -1355px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;} +.yui-skin-sam .yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-skin-sam .yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url(editor-sprite.gif) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0;height:20px;}.yui-skin-sam .yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-skin-sam .yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-skin-sam .yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;position:absolute;}.yui-skin-sam .yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-skin-sam .yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-skin-sam .yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-skin-sam .yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-panel ul li{margin:0;padding:0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:.35em;}.yui-skin-sam .yui-editor-panel .yui-toolbar-bordersize,.yui-skin-sam .yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-skin-sam .yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-skin-sam .yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-skin-sam .yui-editor-panel label input{width:75%;}.yui-skin-sam .yui-editor-panel .createlink_target,.yui-skin-sam .yui-editor-panel .insertimage_target{width:auto;margin-right:5px;}.yui-skin-sam .yui-editor-panel .removeLink{width:98%;}.yui-skin-sam .yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-skin-sam .yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-skin-sam .yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding{width:203px;_width:198px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-skin-sam .yui-editor-panel .hd{background:none;}.yui-skin-sam .yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-skin-sam .yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-skin-sam .yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-skin-sam .yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon{background:url(editor-sprite.gif) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-skin-sam .yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url(editor-knob.gif) no-repeat 0 0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .bd{background-color:#fff;}.yui-editor-blankimage{background-image:url(blankimage.png);}.yui-skin-sam .yui-editor-container .yui-resize-handle-br{height:11px;width:11px;background-position:-20px -60px;background-color:transparent;} diff --git a/js/yui/assets/skins/sam/header_background.png b/js/yui/assets/skins/sam/header_background.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef7909d3ed04956a06c5d9017076ea30e0ced27 Binary files /dev/null and b/js/yui/assets/skins/sam/header_background.png differ diff --git a/js/yui/assets/skins/sam/hue_bg.png b/js/yui/assets/skins/sam/hue_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bcdeb5c49910d5c32c9ebbb134200bf138b7b4 Binary files /dev/null and b/js/yui/assets/skins/sam/hue_bg.png differ diff --git a/js/yui/assets/skins/sam/imagecropper.css b/js/yui/assets/skins/sam/imagecropper.css new file mode 100644 index 0000000000000000000000000000000000000000..8b70fb92bc480ddafa3f057dc7b005a3c1791f0a --- /dev/null +++ b/js/yui/assets/skins/sam/imagecropper.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-crop{position:relative;}.yui-crop .yui-crop-mask{position:absolute;top:0;left:0;height:100%;width:100%;}.yui-crop .yui-resize{position:absolute;top:10px;left:10px;border:0;}.yui-crop .yui-crop-resize-mask{position:absolute;top:0;left:0;height:100%;width:100%;background-position:-10px -10px;overflow:hidden;}.yui-skin-sam .yui-crop .yui-crop-mask{background-color:#000;opacity:.5;filter:alpha(opacity=50);}.yui-skin-sam .yui-crop .yui-resize{border:1px dashed #fff;} diff --git a/js/yui/assets/skins/sam/layout.css b/js/yui/assets/skins/sam/layout.css new file mode 100644 index 0000000000000000000000000000000000000000..f8dbee2bb208afaa82463258a6bdb9d5b294d99d --- /dev/null +++ b/js/yui/assets/skins/sam/layout.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-layout-loading{visibility:hidden;}body.yui-layout{overflow:hidden;position:relative;padding:0;margin:0;}.yui-layout-doc{position:relative;overflow:hidden;padding:0;margin:0;}.yui-layout-unit{height:50px;width:50px;padding:0;margin:0;float:none;z-index:0;}.yui-layout-unit-top{position:absolute;top:0;left:0;width:100%;}.yui-layout-unit-left{position:absolute;top:0;left:0;}.yui-layout-unit-right{position:absolute;top:0;right:0;}.yui-layout-unit-bottom{position:absolute;bottom:0;left:0;width:100%;}.yui-layout-unit-center{position:absolute;top:0;left:0;width:100%;}.yui-layout div.yui-layout-hd{position:absolute;top:0;left:0;zoom:1;width:100%;}.yui-layout div.yui-layout-bd{position:absolute;top:0;left:0;zoom:1;width:100%;}.yui-layout .yui-layout-noscroll div.yui-layout-bd{overflow:hidden;}.yui-layout .yui-layout-scroll div.yui-layout-bd{overflow:auto;}.yui-layout div.yui-layout-ft{position:absolute;bottom:0;left:0;width:100%;zoom:1;}.yui-layout .yui-layout-unit div.yui-layout-hd h2{text-align:left;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .close{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-unit div.yui-layout-hd .collapse-close{right:25px;}.yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#c0c0c0;display:none;}.yui-layout .yui-layout-clip .collapse{cursor:pointer;height:13px;position:absolute;right:2px;top:2px;width:17px;font-size:0;}.yui-layout .yui-layout-wrap{height:100%;width:100%;position:absolute;left:0;}.yui-skin-sam .yui-layout .yui-resize-proxy{border:none;font-size:0;margin:0;padding:0;}.yui-skin-sam .yui-layout .yui-resize-resizing .yui-resize-handle{display:none;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy div{position:absolute;border:1px solid #808080;background-color:#EDF5FF;}.yui-skin-sam .yui-layout .yui-resize .yui-resize-handle-active{zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-l{width:5px;height:100%;top:0;left:0;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-r{width:5px;top:0;right:0;height:100%;position:absolute;zoom:1;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-b{width:100%;bottom:0;left:0;height:5px;}.yui-skin-sam .yui-layout .yui-resize-proxy .yui-layout-handle-t{width:100%;top:0;left:0;height:5px;}.yui-skin-sam .yui-layout .yui-layout-unit-left div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -160px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-left .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -140px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-right div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -200px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-right .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -120px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-top div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -220px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-top .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -240px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit-bottom div.yui-layout-hd .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -260px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip-bottom .collapse{background:transparent url(layout_sprite.png) no-repeat -20px -180px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-hd .close{background:transparent url(layout_sprite.png) no-repeat -20px -100px;border:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-hd{background:url(sprite.png) repeat-x 0 -1400px;border:1px solid #808080;}.yui-skin-sam .yui-layout{background-color:#EDF5FF;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-hd h2{font-weight:bold;color:#fff;padding:3px;margin:0;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd{border:1px solid #808080;border-bottom:none;border-top:none;*border-bottom-width:0;*border-top-width:0;background-color:#f2f2f2;text-align:left;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd-noft{border-bottom:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-unit div.yui-layout-bd-nohd{border-top:1px solid #808080;}.yui-skin-sam .yui-layout .yui-layout-clip{position:absolute;height:20px;background-color:#EDF5FF;display:none;border:1px solid #808080;}.yui-skin-sam .yui-layout div.yui-layout-ft{border:1px solid #808080;border-top:none;*border-top-width:0;background-color:#f2f2f2;}.yui-skin-sam .yui-layout-unit .yui-resize-handle{background-color:transparent;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-r{right:0;top:0;background-image:none;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-l{left:0;top:0;background-image:none;zoom:1;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-b{right:0;bottom:0;background-image:none;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-t{right:0;top:0;background-image:none;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-r .yui-layout-resize-knob,.yui-skin-sam .yui-layout-unit .yui-resize-handle-l .yui-layout-resize-knob{position:absolute;height:16px;width:6px;top:45%;left:0;display:block;background:transparent url(layout_sprite.png) no-repeat 0 -5px;}.yui-skin-sam .yui-layout-unit .yui-resize-handle-t .yui-layout-resize-knob,.yui-skin-sam .yui-layout-unit .yui-resize-handle-b .yui-layout-resize-knob{position:absolute;height:6px;width:16px;left:45%;background:transparent url(layout_sprite.png) no-repeat -20px 0;zoom:1;} diff --git a/js/yui/assets/skins/sam/layout_sprite.png b/js/yui/assets/skins/sam/layout_sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..d6fce3c7a5bec2e266531e2b921f6a3bc3572bcb Binary files /dev/null and b/js/yui/assets/skins/sam/layout_sprite.png differ diff --git a/js/yui/assets/skins/sam/loading.gif b/js/yui/assets/skins/sam/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bbf3bc0c0e5e635553e8d1bf9ceddefbc402396 Binary files /dev/null and b/js/yui/assets/skins/sam/loading.gif differ diff --git a/js/yui/assets/skins/sam/logger.css b/js/yui/assets/skins/sam/logger.css new file mode 100644 index 0000000000000000000000000000000000000000..f71ebb5d9a31d8dd786e72c741b1ddd467b0a078 --- /dev/null +++ b/js/yui/assets/skins/sam/logger.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-skin-sam .yui-log{padding:1em;width:31em;background-color:#AAA;color:#000;border:1px solid black;font-family:monospace;font-size:77%;text-align:left;z-index:9000;}.yui-skin-sam .yui-log-container{position:absolute;top:1em;right:1em;}.yui-skin-sam .yui-log input{margin:0;padding:0;font-family:arial;font-size:100%;font-weight:normal;}.yui-skin-sam .yui-log .yui-log-btns{position:relative;float:right;bottom:.25em;}.yui-skin-sam .yui-log .yui-log-hd{margin-top:1em;padding:.5em;background-color:#575757;}.yui-skin-sam .yui-log .yui-log-hd h4{margin:0;padding:0;font-size:108%;font-weight:bold;color:#FFF;}.yui-skin-sam .yui-log .yui-log-bd{width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;}.yui-skin-sam .yui-log p{margin:1px;padding:.1em;}.yui-skin-sam .yui-log pre{margin:0;padding:0;}.yui-skin-sam .yui-log pre.yui-log-verbose{white-space:pre-wrap;white-space:-moz-pre-wrap!important;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;}.yui-skin-sam .yui-log .yui-log-ft{margin-top:.5em;}.yui-skin-sam .yui-log .yui-log-ft .yui-log-sourcefilters{width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;}.yui-skin-sam .yui-log .yui-log-filtergrp{margin-right:.5em;}.yui-skin-sam .yui-log .info{background-color:#A7CC25;}.yui-skin-sam .yui-log .warn{background-color:#F58516;}.yui-skin-sam .yui-log .error{background-color:#E32F0B;}.yui-skin-sam .yui-log .time{background-color:#A6C9D7;}.yui-skin-sam .yui-log .window{background-color:#F2E886;} diff --git a/js/yui/assets/skins/sam/menu-button-arrow-disabled.png b/js/yui/assets/skins/sam/menu-button-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8cef2abb31170a370c7062c839ea9d5e9de18948 Binary files /dev/null and b/js/yui/assets/skins/sam/menu-button-arrow-disabled.png differ diff --git a/js/yui/assets/skins/sam/menu-button-arrow.png b/js/yui/assets/skins/sam/menu-button-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..f03dfee4e4055e98d278ce80bf400ed8d39424dd Binary files /dev/null and b/js/yui/assets/skins/sam/menu-button-arrow.png differ diff --git a/js/yui/assets/skins/sam/menu.css b/js/yui/assets/skins/sam/menu.css new file mode 100644 index 0000000000000000000000000000000000000000..06fe68f415ca1794975e4ed05efb6b7744e48fab --- /dev/null +++ b/js/yui/assets/skins/sam/menu.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yuimenu{top:-999em;left:-999em;}.yuimenubar{position:static;}.yuimenu .yuimenu,.yuimenubar .yuimenu{position:absolute;}.yuimenubar li,.yuimenu li{list-style-type:none;}.yuimenubar ul,.yuimenu ul,.yuimenubar li,.yuimenu li,.yuimenu h6,.yuimenubar h6{margin:0;padding:0;}.yuimenuitemlabel,.yuimenubaritemlabel{text-align:left;white-space:nowrap;}.yuimenubar ul{*zoom:1;}.yuimenubar .yuimenu ul{*zoom:normal;}.yuimenubar>.bd>ul:after{content:".";display:block;clear:both;visibility:hidden;height:0;line-height:0;}.yuimenubaritem{float:left;}.yuimenubaritemlabel,.yuimenuitemlabel{display:block;}.yuimenuitemlabel .helptext{font-style:normal;display:block;margin:-1em 0 0 10em;}.yui-menu-shadow{position:absolute;visibility:hidden;z-index:-1;}.yui-menu-shadow-visible{top:2px;right:-3px;left:-3px;bottom:-3px;visibility:visible;}.hide-scrollbars *{overflow:hidden;}.hide-scrollbars select{display:none;}.yuimenu.show-scrollbars,.yuimenubar.show-scrollbars{overflow:visible;}.yuimenu.hide-scrollbars .yui-menu-shadow,.yuimenubar.hide-scrollbars .yui-menu-shadow{overflow:hidden;}.yuimenu.show-scrollbars .yui-menu-shadow,.yuimenubar.show-scrollbars .yui-menu-shadow{overflow:auto;}.yui-overlay.yui-force-redraw{margin-bottom:1px;}.yui-skin-sam .yuimenubar{font-size:93%;line-height:2;*line-height:1.9;border:solid 1px #808080;background:url(sprite.png) repeat-x 0 0;}.yui-skin-sam .yuimenubarnav .yuimenubaritem{border-right:solid 1px #ccc;}.yui-skin-sam .yuimenubaritemlabel{padding:0 10px;color:#000;text-decoration:none;cursor:default;border-style:solid;border-color:#808080;border-width:1px 0;*position:relative;margin:-1px 0;}.yui-skin-sam .yuimenubaritemlabel:visited{color:#000;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel{padding-right:20px;*display:inline-block;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu{background:url(menubaritem_submenuindicator.png) right center no-repeat;}.yui-skin-sam .yuimenubaritem-selected{background:url(sprite.png) repeat-x 0 -1700px;}.yui-skin-sam .yuimenubaritemlabel-selected{border-color:#7D98B8;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-selected{border-left-width:1px;margin-left:-1px;*left:-1px;}.yui-skin-sam .yuimenubaritemlabel-disabled,.yui-skin-sam .yuimenubaritemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenubarnav .yuimenubaritemlabel-hassubmenu-disabled{background-image:url(menubaritem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenu{font-size:93%;line-height:1.5;*line-height:1.45;}.yui-skin-sam .yuimenubar .yuimenu,.yui-skin-sam .yuimenu .yuimenu{font-size:100%;}.yui-skin-sam .yuimenu .bd{*zoom:1;_zoom:normal;border:solid 1px #808080;background-color:#fff;}.yui-skin-sam .yuimenu .yuimenu .bd{*zoom:normal;}.yui-skin-sam .yuimenu ul{padding:3px 0;border-width:1px 0 0 0;border-color:#ccc;border-style:solid;}.yui-skin-sam .yuimenu ul.first-of-type{border-width:0;}.yui-skin-sam .yuimenu h6{font-weight:bold;border-style:solid;border-color:#ccc;border-width:1px 0 0 0;color:#a4a4a4;padding:3px 10px 0 10px;}.yui-skin-sam .yuimenu ul.hastitle,.yui-skin-sam .yuimenu h6.first-of-type{border-width:0;}.yui-skin-sam .yuimenu .yui-menu-body-scrolled{border-color:#ccc #808080;overflow:hidden;}.yui-skin-sam .yuimenu .topscrollbar,.yui-skin-sam .yuimenu .bottomscrollbar{height:16px;border:solid 1px #808080;background:#fff url(sprite.png) no-repeat 0 0;}.yui-skin-sam .yuimenu .topscrollbar{border-bottom-width:0;background-position:center -950px;}.yui-skin-sam .yuimenu .topscrollbar_disabled{background-position:center -975px;}.yui-skin-sam .yuimenu .bottomscrollbar{border-top-width:0;background-position:center -850px;}.yui-skin-sam .yuimenu .bottomscrollbar_disabled{background-position:center -875px;}.yui-skin-sam .yuimenuitem{_border-bottom:solid 1px #fff;}.yui-skin-sam .yuimenuitemlabel{padding:0 20px;color:#000;text-decoration:none;cursor:default;}.yui-skin-sam .yuimenuitemlabel:visited{color:#000;}.yui-skin-sam .yuimenuitemlabel .helptext{margin-top:-1.5em;*margin-top:-1.45em;}.yui-skin-sam .yuimenuitem-hassubmenu{background-image:url(menuitem_submenuindicator.png);background-position:right center;background-repeat:no-repeat;}.yui-skin-sam .yuimenuitem-checked{background-image:url(menuitem_checkbox.png);background-position:left center;background-repeat:no-repeat;}.yui-skin-sam .yui-menu-shadow-visible{background-color:#000;opacity:.12;filter:alpha(opacity=12);}.yui-skin-sam .yuimenuitem-selected{background-color:#B3D4FF;}.yui-skin-sam .yuimenuitemlabel-disabled,.yui-skin-sam .yuimenuitemlabel-disabled:visited{cursor:default;color:#A6A6A6;}.yui-skin-sam .yuimenuitem-hassubmenu-disabled{background-image:url(menuitem_submenuindicator_disabled.png);}.yui-skin-sam .yuimenuitem-checked-disabled{background-image:url(menuitem_checkbox_disabled.png);} diff --git a/js/yui/assets/skins/sam/menubaritem_submenuindicator.png b/js/yui/assets/skins/sam/menubaritem_submenuindicator.png new file mode 100644 index 0000000000000000000000000000000000000000..030941c9cffc064276813d7eaab03d8c667ed700 Binary files /dev/null and b/js/yui/assets/skins/sam/menubaritem_submenuindicator.png differ diff --git a/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png b/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..6c1612230550ef09678a38a2e3374585055a07eb Binary files /dev/null and b/js/yui/assets/skins/sam/menubaritem_submenuindicator_disabled.png differ diff --git a/js/yui/assets/skins/sam/menuitem_checkbox.png b/js/yui/assets/skins/sam/menuitem_checkbox.png new file mode 100644 index 0000000000000000000000000000000000000000..1437a4f4b9a124d2eff708b60a74144de9607385 Binary files /dev/null and b/js/yui/assets/skins/sam/menuitem_checkbox.png differ diff --git a/js/yui/assets/skins/sam/menuitem_checkbox_disabled.png b/js/yui/assets/skins/sam/menuitem_checkbox_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5b9985e3094b3c0635193dd26c78d8ef164f67 Binary files /dev/null and b/js/yui/assets/skins/sam/menuitem_checkbox_disabled.png differ diff --git a/js/yui/assets/skins/sam/menuitem_submenuindicator.png b/js/yui/assets/skins/sam/menuitem_submenuindicator.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4f6602911400991ffdc6130542c12bc4cd0982 Binary files /dev/null and b/js/yui/assets/skins/sam/menuitem_submenuindicator.png differ diff --git a/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png b/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..427d60a38af14ac7b530a266dc2e969555d287c7 Binary files /dev/null and b/js/yui/assets/skins/sam/menuitem_submenuindicator_disabled.png differ diff --git a/js/yui/assets/skins/sam/paginator.css b/js/yui/assets/skins/sam/paginator.css new file mode 100644 index 0000000000000000000000000000000000000000..53c95421b70018b595159bc34940503eff8442ef --- /dev/null +++ b/js/yui/assets/skins/sam/paginator.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-skin-sam .yui-pg-container{display:block;margin:6px 0;white-space:nowrap;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous,.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last,.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-pages,.yui-skin-sam .yui-pg-page{display:inline-block;font-family:arial,helvetica,clean,sans-serif;padding:3px 6px;zoom:1;}.yui-skin-sam .yui-pg-pages{padding:0;}.yui-skin-sam .yui-pg-current{padding:3px 0;}.yui-skin-sam a.yui-pg-first:link,.yui-skin-sam a.yui-pg-first:visited,.yui-skin-sam a.yui-pg-first:active,.yui-skin-sam a.yui-pg-first:hover,.yui-skin-sam a.yui-pg-previous:link,.yui-skin-sam a.yui-pg-previous:visited,.yui-skin-sam a.yui-pg-previous:active,.yui-skin-sam a.yui-pg-previous:hover,.yui-skin-sam a.yui-pg-next:link,.yui-skin-sam a.yui-pg-next:visited,.yui-skin-sam a.yui-pg-next:active,.yui-skin-sam a.yui-pg-next:hover,.yui-skin-sam a.yui-pg-last:link,.yui-skin-sam a.yui-pg-last:visited,.yui-skin-sam a.yui-pg-last:active,.yui-skin-sam a.yui-pg-last:hover,.yui-skin-sam a.yui-pg-page:link,.yui-skin-sam a.yui-pg-page:visited,.yui-skin-sam a.yui-pg-page:active,.yui-skin-sam a.yui-pg-page:hover{color:#06c;text-decoration:underline;outline:0;}.yui-skin-sam span.yui-pg-first,.yui-skin-sam span.yui-pg-previous,.yui-skin-sam span.yui-pg-next,.yui-skin-sam span.yui-pg-last{color:#a6a6a6;}.yui-skin-sam .yui-pg-page{background-color:#fff;border:1px solid #CBCBCB;padding:2px 6px;text-decoration:none;}.yui-skin-sam .yui-pg-current-page{background-color:transparent;border:none;font-weight:bold;padding:3px 6px;}.yui-skin-sam .yui-pg-page{margin-left:1px;margin-right:1px;}.yui-skin-sam .yui-pg-first,.yui-skin-sam .yui-pg-previous{padding-left:0;}.yui-skin-sam .yui-pg-next,.yui-skin-sam .yui-pg-last{padding-right:0;}.yui-skin-sam .yui-pg-current,.yui-skin-sam .yui-pg-rpp-options{margin-left:1em;margin-right:1em;} diff --git a/js/yui/assets/skins/sam/picker_mask.png b/js/yui/assets/skins/sam/picker_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d91932b376af76ccfac030c12eb9fec7ee4c63 Binary files /dev/null and b/js/yui/assets/skins/sam/picker_mask.png differ diff --git a/js/yui/assets/skins/sam/profilerviewer.css b/js/yui/assets/skins/sam/profilerviewer.css new file mode 100644 index 0000000000000000000000000000000000000000..2c9ea77cb1b0e9eb5c9105bd1faee76c5e4e25ed --- /dev/null +++ b/js/yui/assets/skins/sam/profilerviewer.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-skin-sam .yui-pv{background-color:#4a4a4a;font:arial;position:relative;width:99%;z-index:1000;margin-bottom:1em;overflow:hidden;}.yui-skin-sam .yui-pv .hd{background:url(header_background.png) repeat-x;min-height:30px;overflow:hidden;zoom:1;padding:2px 0;}.yui-skin-sam .yui-pv .hd h4{padding:8px 10px;margin:0;font:bold 14px arial;color:#fff;}.yui-skin-sam .yui-pv .hd a{background:#3f6bc3;font:bold 11px arial;color:#fff;padding:4px;margin:3px 10px 0 0;border:1px solid #3f567d;cursor:pointer;display:block;float:right;}.yui-skin-sam .yui-pv .hd span{display:none;}.yui-skin-sam .yui-pv .hd span.yui-pv-busy{height:18px;width:18px;background:url(wait.gif) no-repeat;overflow:hidden;display:block;float:right;margin:4px 10px 0 0;}.yui-skin-sam .yui-pv .hd:after,.yui-pv .bd:after,.yui-skin-sam .yui-pv-chartlegend dl:after{content:'.';visibility:hidden;clear:left;height:0;display:block;}.yui-skin-sam .yui-pv .bd{position:relative;zoom:1;overflow-x:auto;overflow-y:hidden;}.yui-skin-sam .yui-pv .yui-pv-table{padding:0 10px;margin:5px 0 10px 0;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-bd td{color:#eeee5c;font:12px arial;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd{background:#929292;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even{background:#58637a;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-even td.yui-dt-desc{background:#384970;}.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table tr.yui-dt-odd td.yui-dt-desc{background:#6F6E6E;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th{background-image:none;background:#2E2D2D;}.yui-skin-sam .yui-pv th.yui-dt-asc .yui-dt-liner{background:transparent url(asc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv th.yui-dt-desc .yui-dt-liner{background:transparent url(desc.gif) no-repeat scroll right center;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th a{color:#fff;font:bold 12px arial;}.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-asc,.yui-skin-sam .yui-pv .yui-pv-table .yui-dt-hd th.yui-dt-desc{background:#333;}.yui-skin-sam .yui-pv-chartcontainer{padding:0 10px;}.yui-skin-sam .yui-pv-chart{height:250px;clear:right;margin:5px 0 0 0;color:#fff;}.yui-skin-sam .yui-pv-chartlegend div{float:right;margin:0 0 0 10px;_width:250px;}.yui-skin-sam .yui-pv-chartlegend dl{border:1px solid #999;padding:.2em 0 .2em .5em;zoom:1;margin:5px 0;}.yui-skin-sam .yui-pv-chartlegend dt{float:left;display:block;height:.7em;width:.7em;padding:0;}.yui-skin-sam .yui-pv-chartlegend dd{float:left;display:block;color:#fff;margin:0 1em 0 .5em;padding:0;font:11px arial;}.yui-skin-sam .yui-pv-minimized{height:35px;}.yui-skin-sam .yui-pv-minimized .bd{top:-3000px;}.yui-skin-sam .yui-pv-minimized .hd a.yui-pv-refresh{display:none;} diff --git a/js/yui/assets/skins/sam/progressbar.css b/js/yui/assets/skins/sam/progressbar.css new file mode 100644 index 0000000000000000000000000000000000000000..5d2fe4d68061df1e834ac098ad1f6c8f31408207 --- /dev/null +++ b/js/yui/assets/skins/sam/progressbar.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-pb-bar,.yui-pb-mask{width:100%;height:100%;}.yui-pb{position:relative;top:0;left:0;width:200px;height:20px;padding:0;border:none;margin:0;text-align:left;}.yui-pb-mask{position:absolute;top:0;left:0;z-index:2;}.yui-pb-mask div{width:50%;height:50%;background-repeat:no-repeat;padding:0;position:absolute;}.yui-pb-tl{background-position:top left;}.yui-pb-tr{background-position:top right;left:50%;}.yui-pb-bl{background-position:bottom left;top:50%;}.yui-pb-br{background-position:bottom right;left:50%;top:50%;}.yui-pb-bar{margin:0;position:absolute;left:0;top:0;z-index:1;}.yui-pb-ltr .yui-pb-bar{_position:static;}.yui-pb-rtl .yui-pb-bar{background-position:right;}.yui-pb-btt .yui-pb-bar{background-position:left bottom;}.yui-pb-bar{background-color:blue;}.yui-pb{border:thin solid #808080;}.yui-skin-sam .yui-pb{background-color:transparent;border:solid #808080;border-width:1px 0;}.yui-skin-sam .yui-pb-rtl,.yui-skin-sam .yui-pb-ltr{background-image:url(back-h.png);background-repeat:repeat-x;}.yui-skin-sam .yui-pb-ttb,.yui-skin-sam .yui-pb-btt{background-image:url(back-v.png);background-repeat:repeat-y;}.yui-skin-sam .yui-pb-bar{background-color:transparent;}.yui-skin-sam .yui-pb-ltr .yui-pb-bar,.yui-skin-sam .yui-pb-rtl .yui-pb-bar{background-image:url(bar-h.png);background-repeat:repeat-x;}.yui-skin-sam .yui-pb-ttb .yui-pb-bar,.yui-skin-sam .yui-pb-btt .yui-pb-bar{background-image:url(bar-v.png);background-repeat:repeat-y;}.yui-skin-sam .yui-pb-mask{border:solid #808080;border-width:0 1px;margin:0 -1px;}.yui-skin-sam .yui-pb-caption{color:#000;text-align:center;margin:0 auto;}.yui-skin-sam .yui-pb-range{color:#a6a6a6;} diff --git a/js/yui/assets/skins/sam/resize.css b/js/yui/assets/skins/sam/resize.css new file mode 100644 index 0000000000000000000000000000000000000000..b40410f0e2cd265f5084050148bc5734da6e055f --- /dev/null +++ b/js/yui/assets/skins/sam/resize.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-resize{position:relative;zoom:1;z-index:0;}.yui-resize-wrap{zoom:1;}.yui-draggable{cursor:move;}.yui-resize .yui-resize-handle{position:absolute;z-index:1;font-size:0;margin:0;padding:0;zoom:1;height:1px;width:1px;}.yui-resize .yui-resize-handle-br{height:5px;width:5px;bottom:0;right:0;cursor:se-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-bl{height:5px;width:5px;bottom:0;left:0;cursor:sw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tl{height:5px;width:5px;top:0;left:0;cursor:nw-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-tr{height:5px;width:5px;top:0;right:0;cursor:ne-resize;z-index:2;zoom:1;}.yui-resize .yui-resize-handle-r{width:5px;height:100%;top:0;right:0;cursor:e-resize;zoom:1;}.yui-resize .yui-resize-handle-l{height:100%;width:5px;top:0;left:0;cursor:w-resize;zoom:1;}.yui-resize .yui-resize-handle-b{width:100%;height:5px;bottom:0;right:0;cursor:s-resize;zoom:1;}.yui-resize .yui-resize-handle-t{width:100%;height:5px;top:0;right:0;cursor:n-resize;zoom:1;}.yui-resize-proxy{position:absolute;border:1px dashed #000;visibility:hidden;z-index:1000;}.yui-resize-hover .yui-resize-handle,.yui-resize-hidden .yui-resize-handle{opacity:0;filter:alpha(opacity=0);}.yui-resize-ghost{opacity:.5;filter:alpha(opacity=50);}.yui-resize-knob .yui-resize-handle{height:6px;width:6px;}.yui-resize-knob .yui-resize-handle-tr{right:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-tl{left:-3px;top:-3px;}.yui-resize-knob .yui-resize-handle-bl{left:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-br{right:-3px;bottom:-3px;}.yui-resize-knob .yui-resize-handle-t{left:45%;top:-3px;}.yui-resize-knob .yui-resize-handle-r{right:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-l{left:-3px;top:45%;}.yui-resize-knob .yui-resize-handle-b{left:45%;bottom:-3px;}.yui-resize-status{position:absolute;top:-999px;left:-999px;padding:2px;font-size:80%;display:none;zoom:1;z-index:9999;}.yui-resize-status strong,.yui-resize-status em{font-weight:normal;font-style:normal;padding:1px;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle{background-color:#F2F2F2;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle-active{background-color:#7D98B8;zoom:1;}.yui-skin-sam .yui-resize .yui-resize-handle-l,.yui-skin-sam .yui-resize .yui-resize-handle-r,.yui-skin-sam .yui-resize .yui-resize-handle-l-active,.yui-skin-sam .yui-resize .yui-resize-handle-r-active{height:100%;zoom:1;}.yui-skin-sam .yui-resize-knob .yui-resize-handle{border:1px solid #808080;}.yui-skin-sam .yui-resize-hover .yui-resize-handle-active{opacity:1;filter:alpha(opacity=100);}.yui-skin-sam .yui-resize-proxy{border:1px dashed #426FD9;}.yui-skin-sam .yui-resize-status{border:1px solid #A6982B;border-top:1px solid #D4C237;background-color:#FFEE69;color:#000;}.yui-skin-sam .yui-resize-status strong,.yui-skin-sam .yui-resize-status em{float:left;display:block;clear:both;padding:1px;text-align:center;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize .yui-resize-handle-inner-l{background:transparent url(layout_sprite.png) no-repeat 0 -5px;height:16px;width:5px;position:absolute;top:45%;}.yui-skin-sam .yui-resize .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize .yui-resize-handle-inner-b{background:transparent url(layout_sprite.png) no-repeat -20px 0;height:5px;width:16px;position:absolute;left:50%;}.yui-skin-sam .yui-resize .yui-resize-handle-br{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -62px;}.yui-skin-sam .yui-resize .yui-resize-handle-tr{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -42px;}.yui-skin-sam .yui-resize .yui-resize-handle-tl{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -82px;}.yui-skin-sam .yui-resize .yui-resize-handle-bl{background-image:url(layout_sprite.png);background-repeat:no-repeat;background-position:-22px -23px;}.yui-skin-sam .yui-resize-knob .yui-resize-handle-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-br,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-t,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-b,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-tr,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-bl,.yui-skin-sam .yui-resize-knob .yui-resize-handle-inner-br{background-image:none;}.yui-skin-sam .yui-resize-knob .yui-resize-handle-l,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r,.yui-skin-sam .yui-resize-knob .yui-resize-handle-l-active,.yui-skin-sam .yui-resize-knob .yui-resize-handle-r-active{height:6px;width:6px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-r{right:-8px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-b{bottom:-8px;}.yui-skin-sam .yui-resize-textarea .yui-resize-handle-br{right:-8px;bottom:-8px;} diff --git a/js/yui/assets/skins/sam/simpleeditor.css b/js/yui/assets/skins/sam/simpleeditor.css new file mode 100644 index 0000000000000000000000000000000000000000..610b3efac05764ff4632ec43f594fe218221d677 --- /dev/null +++ b/js/yui/assets/skins/sam/simpleeditor.css @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-busy{cursor:wait!important;}.yui-toolbar-container fieldset,.yui-editor-container fieldset{padding:0;margin:0;border:0;}.yui-toolbar-container legend{display:none;}.yui-skin-sam .yui-toolbar-container .yui-button button,.yui-skin-sam .yui-toolbar-container .yui-button a,.yui-skin-sam .yui-toolbar-container .yui-button a:visited{font-size:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a:visited,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton button,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a:visited{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{font-size:0;line-height:0;padding:0;}.yui-toolbar-container .yui-toolbar-subcont{padding:.25em 0;zoom:1;}.yui-toolbar-container-collapsed .yui-toolbar-subcont{display:none;}.yui-toolbar-container .yui-toolbar-subcont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container span.yui-toolbar-draghandle{cursor:move;border-left:1px solid #999;border-right:1px solid #999;overflow:hidden;text-indent:77777px;width:2px;height:20px;display:block;clear:none;float:left;margin:0 0 0 .2em;}.yui-toolbar-container .yui-toolbar-titlebar.draggable{cursor:move;}.yui-toolbar-container .yui-toolbar-titlebar{position:relative;}.yui-toolbar-container .yui-toolbar-titlebar h2{font-weight:bold;letter-spacing:0;border:none;color:#000;margin:0;padding:.2em;}.yui-toolbar-container .yui-toolbar-titlebar h2 a{text-decoration:none;color:#000;cursor:default;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-draghandle{height:40px;}.yui-toolbar-container .yui-toolbar-group{float:left;margin-right:.5em;zoom:1;}.yui-toolbar-container .yui-toolbar-group:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-container .yui-toolbar-group h3{font-size:75%;padding:0 0 0 .25em;margin:0;}.yui-toolbar-container span.yui-toolbar-separator{width:2px;padding:0;height:18px;margin:.2em 0 .2em .1em;display:none;float:left;}.yui-toolbar-container.yui-toolbar-grouped span.yui-toolbar-separator{height:45px;*height:50px;}.yui-toolbar-container.yui-toolbar-grouped .yui-toolbar-group span.yui-toolbar-separator{height:18px;display:block;}.yui-toolbar-container ul li{margin:0;padding:0;list-style-type:none;}.yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-toolbar-container .yui-push-button,.yui-toolbar-container .yui-color-button,.yui-toolbar-container .yui-menu-button{position:relative;cursor:pointer;}.yui-toolbar-container .yui-button .first-child,.yui-toolbar-container .yui-button .first-child a{height:100%;width:100%;overflow:hidden;font-size:0;}.yui-toolbar-container .yui-button-disabled{cursor:default;}.yui-toolbar-container .yui-button-disabled .yui-toolbar-icon{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button-disabled .up,.yui-toolbar-container .yui-button-disabled .down{opacity:.5;filter:alpha(opacity=50);}.yui-toolbar-container .yui-button a{overflow:hidden;}.yui-toolbar-container .yui-toolbar-select .first-child a{cursor:pointer;}.yui-toolbar-fontname-arial{font-family:Arial;}.yui-toolbar-fontname-arial-black{font-family:Arial Black;}.yui-toolbar-fontname-comic-sans-ms{font-family:Comic Sans MS;}.yui-toolbar-fontname-courier-new{font-family:Courier New;}.yui-toolbar-fontname-times-new-roman{font-family:Times New Roman;}.yui-toolbar-fontname-verdana{font-family:Verdana;}.yui-toolbar-fontname-impact{font-family:Impact;}.yui-toolbar-fontname-lucida-console{font-family:Lucida Console;}.yui-toolbar-fontname-tahoma{font-family:Tahoma;}.yui-toolbar-fontname-trebuchet-ms{font-family:Trebuchet MS;}.yui-toolbar-container .yui-toolbar-spinbutton{position:relative;}.yui-toolbar-container .yui-toolbar-spinbutton .first-child a{z-index:0;opacity:1;}.yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-toolbar-container .yui-toolbar-spinbutton a.down{position:absolute;display:block;right:0;cursor:pointer;z-index:1;padding:0;margin:0;}.yui-toolbar-container .yui-overlay{position:absolute;}.yui-toolbar-container .yui-overlay ul li{margin:0;list-style-type:none;}.yui-toolbar-container{z-index:1;}.yui-editor-container .yui-editor-editable-container{position:relative;z-index:0;width:100%;}.yui-editor-container .yui-editor-masked{background-color:#CCC;height:100%;width:100%;position:absolute;top:0;left:0;opacity:.5;filter:alpha(opacity=50);}.yui-editor-container iframe{border:0;padding:0;margin:0;zoom:1;display:block;}.yui-editor-container .yui-editor-editable{padding:0;margin:0;}.yui-editor-container .dompath{font-size:85%;}.yui-editor-panel .hd{text-align:left;position:relative;}.yui-editor-panel .hd h3{font-weight:bold;padding:.25em 0 .25em .25em;margin:0;}.yui-editor-panel .bd{width:100%;zoom:1;position:relative;}.yui-editor-panel .bd div.yui-editor-body-cont{padding:.25em .1em;zoom:1;}.yui-editor-panel .bd .gecko form{overflow:auto;}.yui-editor-panel .bd div.yui-editor-body-cont:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-editor-panel .ft{text-align:right;width:99%;float:left;clear:both;}.yui-editor-panel .ft span.tip{display:block;position:relative;padding:.5em .5em .5em 23px;text-align:left;zoom:1;}.yui-editor-panel label{clear:both;float:left;padding:0;width:100%;text-align:left;zoom:1;}.yui-editor-panel .gecko label{overflow:auto;}.yui-editor-panel label strong{float:left;width:6em;}.yui-editor-panel .removeLink{width:80%;text-align:right;}.yui-editor-panel label input{margin-left:.25em;float:left;}.yui-editor-panel .yui-toolbar-group{margin-bottom:.75em;}.yui-editor-panel .height-width{float:left;}.yui-editor-panel .height-width span{font-style:italic;display:block;float:left;overflow:visible;}.yui-editor-panel .height-width span.info{font-size:70%;margin-top:3px;float:none;} +.yui-editor-panel .yui-toolbar-bordersize,.yui-editor-panel .yui-toolbar-bordertype{font-size:75%;}.yui-editor-panel .yui-toolbar-container span.yui-toolbar-separator{border:none;}.yui-editor-panel .yui-toolbar-bordersize span a span,.yui-editor-panel .yui-toolbar-bordertype span a span{display:block;height:8px;left:4px;position:absolute;top:3px;_top:-5px;width:24px;text-indent:52px;font-size:0;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-solid{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dotted{border-bottom:1px dotted black;}.yui-editor-panel .yui-toolbar-bordertype span a span.yui-toolbar-bordertype-dashed{border-bottom:1px dashed black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-0{*top:0;text-indent:0;font-size:75%;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-1{border-bottom:1px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-2{border-bottom:2px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-3{top:2px;*top:-5px;border-bottom:3px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-4{top:1px;*top:-5px;border-bottom:4px solid black;}.yui-editor-panel .yui-toolbar-bordersize span a span.yui-toolbar-bordersize-5{top:1px;*top:-5px;border-bottom:5px solid black;}.yui-toolbar-container .yui-toolbar-bordersize-menu,.yui-toolbar-container .yui-toolbar-bordertype-menu{width:95px!important;}.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel,.yui-toolbar-bordersize-menu .yuimenuitemlabel,.yui-toolbar-bordertype-menu .yuimenuitemlabel:hover{margin:0 3px 7px 17px;}.yui-toolbar-bordersize-menu .yuimenuitemlabel .checkedindicator,.yui-toolbar-bordertype-menu .yuimenuitemlabel .checkedindicator{position:absolute;left:-12px;*top:14px;*left:0;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-1 a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-2 a{border-bottom:2px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-3 a{border-bottom:3px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-4 a{border-bottom:4px solid black;height:14px;}.yui-toolbar-bordersize-menu li.yui-toolbar-bordersize-5 a{border-bottom:5px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-solid a{border-bottom:1px solid black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dashed a{border-bottom:1px dashed black;height:14px;}.yui-toolbar-bordertype-menu li.yui-toolbar-bordertype-dotted a{border-bottom:1px dotted black;height:14px;}h2.yui-editor-skipheader,h3.yui-editor-skipheader{height:0;margin:0;padding:0;border:none;width:0;overflow:hidden;position:absolute;}.yui-toolbar-colors{width:133px;zoom:1;display:none;z-index:100;overflow:hidden;}.yui-toolbar-colors:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors a{height:9px;width:9px;float:left;display:block;overflow:hidden;text-indent:999px;margin:0;cursor:pointer;border:1px solid #F6F7EE;}.yui-toolbar-colors a:hover{border:1px solid black;}.yui-color-button-menu{overflow:visible;background-color:transparent;}.yui-toolbar-colors span{position:relative;display:block;padding:3px;overflow:hidden;float:left;width:100%;zoom:1;}.yui-toolbar-colors span:after{display:block;clear:both;visibility:hidden;content:'.';height:0;}.yui-toolbar-colors span em{height:35px;width:30px;float:left;display:block;overflow:hidden;text-indent:999px;margin:.75px;border:1px solid black;}.yui-toolbar-colors span strong{font-weight:normal;padding-left:3px;display:block;font-size:85%;float:left;width:65%;}.yui-toolbar-group-undoredo h3,.yui-toolbar-group-insertitem h3,.yui-toolbar-group-indentlist h3{width:68px;}.yui-toolbar-group-indentlist2 h3{width:122px;}.yui-toolbar-group-alignment h3{width:130px;}.yui-skin-sam .yui-editor-container{border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container{zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar{background:url(sprite.png) repeat-x 0 -200px;position:relative;}.yui-skin-sam .yui-editor-container .draggable .yui-toolbar-titlebar{cursor:move;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar h2{color:#000;font-weight:bold;margin:0;padding:.3em 1em;font-size:100%;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-group h3{color:#808080;font-size:75%;margin:1em 0 0;padding-bottom:0;padding-left:.25em;text-align:left;}.yui-toolbar-container span.yui-toolbar-separator{border:none;text-indent:33px;overflow:hidden;margin:0 .25em;}.yui-skin-sam .yui-toolbar-container{background-color:#F2F2F2;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subcont{padding:0 1em .35em;border-bottom:1px solid #808080;}.yui-skin-sam .yui-toolbar-container-collapsed .yui-toolbar-titlebar{border-bottom:1px solid #808080;}.yui-skin-sam .yui-editor-container .visible .yui-menu-shadow,.yui-skin-sam .yui-editor-panel .visible .yui-menu-shadow{display:none;}.yui-skin-sam .yui-editor-container ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-container ul li{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-toolbar-group ul li.yui-toolbar-groupitem{float:left;}.yui-skin-sam .yui-editor-container .dompath{background-color:#F2F2F2;border-top:1px solid #808080;color:#999;text-align:left;padding:.25em;}.yui-skin-sam .yui-toolbar-container .collapse{background:url(sprite.png) no-repeat 0 -400px;}.yui-skin-sam .yui-toolbar-container .collapsed{background:url(sprite.png) no-repeat 0 -350px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-titlebar span.collapse{cursor:pointer;position:absolute;top:4px;right:2px;display:block;overflow:hidden;height:15px;width:15px;text-indent:9999px;} +.yui-skin-sam .yui-toolbar-container .yui-push-button,.yui-skin-sam .yui-toolbar-container .yui-color-button,.yui-skin-sam .yui-toolbar-container .yui-menu-button{background:url(sprite.png) repeat-x 0 0;position:relative;display:block;height:22px;width:30px;_font-size:0;margin:0;border-color:#808080;color:#f2f2f2;border-style:solid;border-width:1px 0;zoom:1;}.yui-skin-sam .yui-toolbar-container .yui-push-button a,.yui-skin-sam .yui-toolbar-container .yui-color-button a,.yui-skin-sam .yui-toolbar-container .yui-menu-button a{padding-left:35px;height:20px;text-decoration:none;font-size:0;line-height:2;display:block;color:#000;overflow:hidden;white-space:nowrap;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a,.yui-skin-sam .yui-toolbar-container .yui-toolbar-select a{font-size:12px;}.yui-skin-sam .yui-toolbar-container .yui-push-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button .first-child{border-color:#808080;border-style:solid;border-width:0 1px;margin:0 -1px;display:block;position:relative;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled .first-child,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled .first-child{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled a,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled a{color:#A6A6A6;cursor:default;}.yui-skin-sam .yui-toolbar-container .yui-push-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-color-button-disabled,.yui-skin-sam .yui-toolbar-container .yui-menu-button-disabled{border-color:#ccc;}.yui-skin-sam .yui-toolbar-container .yui-button .first-child{*left:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-fontname{width:135px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-heading{width:92px;}.yui-skin-sam .yui-toolbar-container .yui-button-hover{background:url(sprite.png) repeat-x 0 -1300px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-button-selected{background:url(sprite.png) repeat-x 0 -1700px;border-color:#808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels h3{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-nogrouplabels .yui-toolbar-group{margin-top:.75em;}.yui-skin-sam .yui-toolbar-container .yui-push-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-color-button span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-menu-button span.yui-toolbar-icon{display:block;position:absolute;top:2px;height:18px;width:18px;overflow:hidden;background:url(editor-sprite.gif) no-repeat 30px 30px;}.yui-skin-sam .yui-toolbar-container .yui-button-selected span.yui-toolbar-icon,.yui-skin-sam .yui-toolbar-container .yui-button-hover span.yui-toolbar-icon{background-image:url(editor-sprite-active.gif);}.yui-skin-sam .yui-toolbar-container .visible .yuimenuitemlabel{cursor:pointer;color:#000;*position:relative;}.yui-skin-sam .yui-toolbar-container .yui-button-menu{background-color:#fff;}.yui-skin-sam .yui-toolbar-container .yui-button-menu .yui-menu-body-scrolled{position:relative;}.yui-skin-sam div.yuimenu li.selected{background-color:#B3D4FF;}.yui-skin-sam div.yuimenu li.selected a.selected{color:#000;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bold span.yui-toolbar-icon{background-position:0 0;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-strikethrough span.yui-toolbar-icon{background-position:0 -108px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-italic span.yui-toolbar-icon{background-position:0 -36px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-undo span.yui-toolbar-icon{background-position:0 -1326px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-redo span.yui-toolbar-icon{background-position:0 -1355px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-underline span.yui-toolbar-icon{background-position:0 -72px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-subscript span.yui-toolbar-icon{background-position:0 -180px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-superscript span.yui-toolbar-icon{background-position:0 -144px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-forecolor span.yui-toolbar-icon{background-position:0 -216px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-backcolor span.yui-toolbar-icon{background-position:0 -288px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyleft span.yui-toolbar-icon{background-position:0 -324px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifycenter span.yui-toolbar-icon{background-position:0 -360px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyright span.yui-toolbar-icon{background-position:0 -396px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-justifyfull span.yui-toolbar-icon{background-position:0 -432px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-indent span.yui-toolbar-icon{background-position:0 -720px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-outdent span.yui-toolbar-icon{background-position:0 -684px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-createlink span.yui-toolbar-icon{background-position:0 -792px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertimage span.yui-toolbar-icon{background-position:1px -756px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-left span.yui-toolbar-icon{background-position:0 -972px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-right span.yui-toolbar-icon{background-position:0 -936px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-inline span.yui-toolbar-icon{background-position:0 -900px;left:5px;} +.yui-skin-sam .yui-toolbar-container .yui-toolbar-block span.yui-toolbar-icon{background-position:0 -864px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-bordercolor span.yui-toolbar-icon{background-position:0 -252px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-removeformat span.yui-toolbar-icon{background-position:0 -1080px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-hiddenelements span.yui-toolbar-icon{background-position:0 -1044px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertunorderedlist span.yui-toolbar-icon{background-position:0 -468px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-insertorderedlist span.yui-toolbar-icon{background-position:0 -504px;left:5px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child{width:35px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton .first-child a{padding-left:2px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton span.yui-toolbar-icon{display:none;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up,.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{right:2px;background:url(editor-sprite.gif) no-repeat 0 -1222px;overflow:hidden;height:6px;width:7px;min-height:0;padding:0;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.up{top:2px;background-position:0 -1222px;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-spinbutton a.down{bottom:2px;background-position:0 -1187px;}.yui-skin-sam .yui-toolbar-container select{height:22px;border:1px solid #808080;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select .first-child a{padding-left:5px;text-align:left;}.yui-skin-sam .yui-toolbar-container .yui-toolbar-select span.yui-toolbar-icon{background:url(editor-sprite.gif) no-repeat 0 -1144px;overflow:hidden;right:-2px;top:0;height:20px;}.yui-skin-sam .yui-editor-panel .yui-color-button-menu .bd{background-color:transparent;border:none;width:135px;}.yui-skin-sam .yui-color-button-menu .yui-toolbar-colors{border:1px solid #808080;}.yui-skin-sam .yui-editor-panel{padding:0;margin:0;border:none;background-color:transparent;overflow:visible;position:absolute;}.yui-skin-sam .yui-editor-panel .hd{margin:10px 0 0;padding:0;border:none;}.yui-skin-sam .yui-editor-panel .hd h3{color:#000;border:1px solid #808080;background:url(sprite.png) repeat-x 0 -200px;width:99%;position:relative;margin:0;padding:3px 0 0 0;font-size:93%;text-indent:5px;height:20px;}.yui-skin-sam .yui-editor-panel .bd{background-color:#F2F2F2;border-left:1px solid #808080;border-right:1px solid #808080;width:99%;margin:0;padding:0;overflow:visible;}.yui-skin-sam .yui-editor-panel ul{list-style-type:none;margin:0;padding:0;}.yui-skin-sam .yui-editor-panel ul li{margin:0;padding:0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .yui-toolbar-subcont{padding:0;border:none;margin-top:.35em;}.yui-skin-sam .yui-editor-panel .yui-toolbar-bordersize,.yui-skin-sam .yui-editor-panel .yui-toolbar-bordertype{width:50px;}.yui-skin-sam .yui-editor-panel label{display:block;float:none;padding:4px 0;margin-bottom:7px;}.yui-skin-sam .yui-editor-panel label strong{font-weight:normal;font-size:93%;text-align:right;padding-top:2px;}.yui-skin-sam .yui-editor-panel label input{width:75%;}.yui-skin-sam .yui-editor-panel .createlink_target,.yui-skin-sam .yui-editor-panel .insertimage_target{width:auto;margin-right:5px;}.yui-skin-sam .yui-editor-panel .removeLink{width:98%;}.yui-skin-sam .yui-editor-panel label input.warning{background-color:#FFEE69;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group h3{color:#000;float:left;font-weight:normal;font-size:93%;margin:5px 0 0 0;padding:0 3px 0 0;text-align:right;}.yui-skin-sam .yui-editor-panel .height-width h3{margin:3px 0 0 10px;}.yui-skin-sam .yui-editor-panel .height-width{margin:3px 0 0 35px;*margin-left:14px;width:42%;*width:44%;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-border{width:190px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-border{width:210px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding{width:203px;_width:198px;}.yui-skin-sam .yui-editor-panel .no-button .yui-toolbar-group-padding{width:172px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-padding h3{margin-left:25px;*margin-left:12px;}.yui-skin-sam .yui-editor-panel .yui-toolbar-group-textflow{width:182px;}.yui-skin-sam .yui-editor-panel .hd{background:none;}.yui-skin-sam .yui-editor-panel .ft{background-color:#F2F2F2;border:1px solid #808080;border-top:none;padding:0;margin:0 0 2px 0;}.yui-skin-sam .yui-editor-panel .hd span.close{background:url(sprite.png) no-repeat 0 -300px;cursor:pointer;display:block;height:16px;overflow:hidden;position:absolute;right:5px;text-indent:500px;top:2px;width:26px;}.yui-skin-sam .yui-editor-panel .ft span.tip{background-color:#EDF5FF;border-top:1px solid #808080;font-size:85%;}.yui-skin-sam .yui-editor-panel .ft span.tip strong{display:block;float:left;margin:0 2px 8px 0;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon{background:url(editor-sprite.gif) no-repeat 0 -1260px;display:block;height:20px;left:2px;position:absolute;top:8px;width:20px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-info{background-position:2px -1260px;}.yui-skin-sam .yui-editor-panel .ft span.tip span.icon-warn{background-position:2px -1296px;}.yui-skin-sam .yui-editor-panel .hd span.knob{position:absolute;height:10px;width:28px;top:-10px;left:25px;text-indent:9999px;overflow:hidden;background:url(editor-knob.gif) no-repeat 0 0;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container{float:left;width:100%;background-image:none;border:none;}.yui-skin-sam .yui-editor-panel .yui-toolbar-container .bd{background-color:#fff;}.yui-editor-blankimage{background-image:url(blankimage.png);}.yui-skin-sam .yui-editor-container .yui-resize-handle-br{height:11px;width:11px;background-position:-20px -60px;background-color:transparent;} diff --git a/js/yui/assets/skins/sam/slider.css b/js/yui/assets/skins/sam/slider.css new file mode 100644 index 0000000000000000000000000000000000000000..ba41bf4d0ec5f45a25dd05f55fd19663d6a9004b --- /dev/null +++ b/js/yui/assets/skins/sam/slider.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-h-slider,.yui-v-slider,.yui-region-slider{position:relative;}.yui-h-slider .yui-slider-thumb,.yui-v-slider .yui-slider-thumb,.yui-region-slider .yui-slider-thumb{position:absolute;cursor:default;}.yui-skin-sam .yui-h-slider{background:url(bg-h.gif) no-repeat 5px 0;height:28px;width:228px;}.yui-skin-sam .yui-h-slider .yui-slider-thumb{top:4px;}.yui-skin-sam .yui-v-slider{background:url(bg-v.gif) no-repeat 12px 0;height:228px;width:48px;}.yui-skin-sam .yui-region-slider{height:228px;width:228px;} diff --git a/js/yui/assets/skins/sam/split-button-arrow-active.png b/js/yui/assets/skins/sam/split-button-arrow-active.png new file mode 100644 index 0000000000000000000000000000000000000000..fa58c5030e76082c84e38342cf6722c723ad2fd2 Binary files /dev/null and b/js/yui/assets/skins/sam/split-button-arrow-active.png differ diff --git a/js/yui/assets/skins/sam/split-button-arrow-disabled.png b/js/yui/assets/skins/sam/split-button-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..0a6a82c6402848193044fcb9791e915161c890d3 Binary files /dev/null and b/js/yui/assets/skins/sam/split-button-arrow-disabled.png differ diff --git a/js/yui/assets/skins/sam/split-button-arrow-focus.png b/js/yui/assets/skins/sam/split-button-arrow-focus.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 Binary files /dev/null and b/js/yui/assets/skins/sam/split-button-arrow-focus.png differ diff --git a/js/yui/assets/skins/sam/split-button-arrow-hover.png b/js/yui/assets/skins/sam/split-button-arrow-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..167d71eb721ba9b85c6601f9077d5c39faa4ebd2 Binary files /dev/null and b/js/yui/assets/skins/sam/split-button-arrow-hover.png differ diff --git a/js/yui/assets/skins/sam/split-button-arrow.png b/js/yui/assets/skins/sam/split-button-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b33a93ff2dc2039bd24e4ea3b75ecf4bb3295f84 Binary files /dev/null and b/js/yui/assets/skins/sam/split-button-arrow.png differ diff --git a/skins/standard/yui/sprite.png b/js/yui/assets/skins/sam/sprite.png similarity index 100% rename from skins/standard/yui/sprite.png rename to js/yui/assets/skins/sam/sprite.png diff --git a/js/yui/assets/skins/sam/tabview.css b/js/yui/assets/skins/sam/tabview.css new file mode 100644 index 0000000000000000000000000000000000000000..b9568e5a065356c6e9db6f651b7a052fd25dbb85 --- /dev/null +++ b/js/yui/assets/skins/sam/tabview.css @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{margin:0 .5em 0 0;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{margin:0 0 .5em;}.yui-navset .yui-content .yui-hidden{border:0;height:0;width:0;padding:0;position:absolute;left:-999999px;overflow:hidden;visibility:hidden;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{width:6em;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{width:auto;}.yui-navset .yui-navset-left,.yui-navset-left{padding:0 0 0 6em;}.yui-navset-right{padding:0 6em 0 0;}.yui-navset-top,.yui-navset-bottom{padding:auto;}.yui-nav,.yui-nav li{margin:0;padding:0;list-style:none;}.yui-navset li em{font-style:normal;}.yui-navset{position:relative;zoom:1;}.yui-navset .yui-content,.yui-navset .yui-content div{zoom:1;}.yui-navset .yui-content:after{content:'';display:block;clear:both;}.yui-navset .yui-nav li,.yui-navset .yui-navset-top .yui-nav li,.yui-navset .yui-navset-bottom .yui-nav li{display:inline-block;display:-moz-inline-stack;*display:inline;vertical-align:bottom;cursor:pointer;zoom:1;}.yui-navset-left .yui-nav li,.yui-navset-right .yui-nav li{display:block;}.yui-navset .yui-nav a{position:relative;}.yui-navset .yui-nav li a,.yui-navset-top .yui-nav li a,.yui-navset-bottom .yui-nav li a{display:block;display:inline-block;vertical-align:bottom;zoom:1;}.yui-navset-left .yui-nav li a,.yui-navset-right .yui-nav li a{display:block;}.yui-navset-bottom .yui-nav li a{vertical-align:text-top;}.yui-navset .yui-nav li a em,.yui-navset-top .yui-nav li a em,.yui-navset-bottom .yui-nav li a em{display:block;}.yui-navset .yui-navset-left .yui-nav,.yui-navset .yui-navset-right .yui-nav,.yui-navset-left .yui-nav,.yui-navset-right .yui-nav{position:absolute;z-index:1;}.yui-navset-top .yui-nav,.yui-navset-bottom .yui-nav{position:static;}.yui-navset .yui-navset-left .yui-nav,.yui-navset-left .yui-nav{left:0;right:auto;}.yui-navset .yui-navset-right .yui-nav,.yui-navset-right .yui-nav{right:0;left:auto;}.yui-skin-sam .yui-navset .yui-nav,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav{border:solid #2647a0;border-width:0 0 5px;zoom:1;}.yui-skin-sam .yui-navset .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav li{margin:0 .16em 0 0;padding:1px 0 0;zoom:1;}.yui-skin-sam .yui-navset .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav .selected{margin:0 .16em -1px 0;}.yui-skin-sam .yui-navset .yui-nav a,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a{background:#d8d8d8 url(sprite.png) repeat-x;border:solid #a3a3a3;border-width:0 1px;color:#000;position:relative;text-decoration:none;}.yui-skin-sam .yui-navset .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-top .yui-nav a em{border:solid #a3a3a3;border-width:1px 0 0;cursor:hand;padding:.25em .75em;left:0;right:0;bottom:0;top:-1px;position:relative;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a:focus,.yui-skin-sam .yui-navset .yui-nav .selected a:hover{background:#2647a0 url(sprite.png) repeat-x left -1400px;color:#fff;}.yui-skin-sam .yui-navset .yui-nav a:hover,.yui-skin-sam .yui-navset .yui-nav a:focus{background:#bfdaff url(sprite.png) repeat-x left -1300px;outline:0;}.yui-skin-sam .yui-navset .yui-nav .selected a em{padding:.35em .75em;}.yui-skin-sam .yui-navset .yui-nav .selected a,.yui-skin-sam .yui-navset .yui-nav .selected a em{border-color:#243356;}.yui-skin-sam .yui-navset .yui-content{background:#edf5ff;}.yui-skin-sam .yui-navset .yui-content,.yui-skin-sam .yui-navset .yui-navset-top .yui-content{border:1px solid #808080;border-top-color:#243356;padding:.25em .5em;}.yui-skin-sam .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav,.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 5px 0 0;Xposition:absolute;top:0;bottom:0;}.yui-skin-sam .yui-navset .yui-navset-right .yui-nav,.yui-skin-sam .yui-navset-right .yui-nav{border-width:0 0 0 5px;}.yui-skin-sam .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav li,.yui-skin-sam .yui-navset-right .yui-nav li{margin:0 0 .16em;padding:0 0 0 1px;}.yui-skin-sam .yui-navset-right .yui-nav li{padding:0 1px 0 0;}.yui-skin-sam .yui-navset-left .yui-nav .selected,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav .selected{margin:0 -1px .16em 0;}.yui-skin-sam .yui-navset-right .yui-nav .selected{margin:0 0 .16em -1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav a{border-width:1px 0;}.yui-skin-sam .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset .yui-navset-left .yui-nav a em,.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 0 0 1px;padding:.2em .75em;top:auto;left:-1px;}.yui-skin-sam .yui-navset-right .yui-nav a em{border-width:0 1px 0 0;left:auto;right:-1px;}.yui-skin-sam .yui-navset-left .yui-nav a,.yui-skin-sam .yui-navset-left .yui-nav .selected a,.yui-skin-sam .yui-navset-left .yui-nav a:hover,.yui-skin-sam .yui-navset-right .yui-nav a,.yui-skin-sam .yui-navset-right .yui-nav .selected a,.yui-skin-sam .yui-navset-right .yui-nav a:hover,.yui-skin-sam .yui-navset-bottom .yui-nav a,.yui-skin-sam .yui-navset-bottom .yui-nav .selected a,.yui-skin-sam .yui-navset-bottom .yui-nav a:hover{background-image:none;}.yui-skin-sam .yui-navset-left .yui-content{border:1px solid #808080;border-left-color:#243356;}.yui-skin-sam .yui-navset-bottom .yui-nav,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav{border-width:5px 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav .selected,.yui-skin-sam .yui-navset-bottom .yui-nav .selected{margin:-1px .16em 0 0;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav li,.yui-skin-sam .yui-navset-bottom .yui-nav li{padding:0 0 1px 0;vertical-align:top;}.yui-skin-sam .yui-navset .yui-navset-bottom .yui-nav a em,.yui-skin-sam .yui-navset-bottom .yui-nav a em{border-width:0 0 1px;top:auto;bottom:-1px;} +.yui-skin-sam .yui-navset-bottom .yui-content,.yui-skin-sam .yui-navset .yui-navset-bottom .yui-content{border:1px solid #808080;border-bottom-color:#243356;} diff --git a/js/yui/assets/skins/sam/treeview-loading.gif b/js/yui/assets/skins/sam/treeview-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bbf3bc0c0e5e635553e8d1bf9ceddefbc402396 Binary files /dev/null and b/js/yui/assets/skins/sam/treeview-loading.gif differ diff --git a/js/yui/assets/skins/sam/treeview-sprite.gif b/js/yui/assets/skins/sam/treeview-sprite.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fb3f01377a229169938fb1af2c0877d8828dfee Binary files /dev/null and b/js/yui/assets/skins/sam/treeview-sprite.gif differ diff --git a/js/yui/assets/skins/sam/treeview.css b/js/yui/assets/skins/sam/treeview.css new file mode 100644 index 0000000000000000000000000000000000000000..e0c0c1f1876d65d3cccdf69ef27659682109dadb --- /dev/null +++ b/js/yui/assets/skins/sam/treeview.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +table.ygtvtable{margin-bottom:0;border:none;border-collapse:collapse;}td.ygtvcell{border:none;padding:0;}a.ygtvspacer{text-decoration:none;outline-style:none;display:block;}.ygtvtn{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -5600px no-repeat;cursor:pointer;}.ygtvtm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4000px no-repeat;}.ygtvtmh,.ygtvtmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -4800px no-repeat;}.ygtvtp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -6400px no-repeat;}.ygtvtph,.ygtvtphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -7200px no-repeat;}.ygtvln{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -1600px no-repeat;cursor:pointer;}.ygtvlm{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 0 no-repeat;}.ygtvlmh,.ygtvlmhh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -800px no-repeat;}.ygtvlp{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -2400px no-repeat;}.ygtvlph,.ygtvlphh{width:18px;height:22px;cursor:pointer;background:url(treeview-sprite.gif) 0 -3200px no-repeat;cursor:pointer;}.ygtvloading{width:18px;height:22px;background:url(treeview-loading.gif) 0 0 no-repeat;}.ygtvdepthcell{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8000px no-repeat;}.ygtvblankdepthcell{width:18px;height:22px;}* html .ygtvchildren{height:2%;}.ygtvlabel,.ygtvlabel:link,.ygtvlabel:visited,.ygtvlabel:hover{margin-left:2px;text-decoration:none;background-color:white;cursor:pointer;}.ygtvcontent{cursor:default;}.ygtvspacer{height:22px;width:18px;}.ygtvfocus{background-color:#c0e0e0;border:none;}.ygtvfocus .ygtvlabel,.ygtvfocus .ygtvlabel:link,.ygtvfocus .ygtvlabel:visited,.ygtvfocus .ygtvlabel:hover{background-color:#c0e0e0;}.ygtvfocus a{outline-style:none;}.ygtvok{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8800px no-repeat;}.ygtvok:hover{background:url(treeview-sprite.gif) 0 -8844px no-repeat;}.ygtvcancel{width:18px;height:22px;background:url(treeview-sprite.gif) 0 -8822px no-repeat;}.ygtvcancel:hover{background:url(treeview-sprite.gif) 0 -8866px no-repeat;}.ygtv-label-editor{background-color:#f2f2f2;border:1px solid silver;position:absolute;display:none;overflow:hidden;margin:auto;z-index:9000;}.ygtv-edit-TextNode{width:190px;}.ygtv-edit-TextNode .ygtvcancel,.ygtv-edit-TextNode .ygtvok{border:none;}.ygtv-edit-TextNode .ygtv-button-container{float:right;}.ygtv-edit-TextNode .ygtv-input input{width:140px;}.ygtv-edit-DateNode .ygtvcancel{border:none;}.ygtv-edit-DateNode .ygtvok{display:none;}.ygtv-edit-DateNode .ygtv-button-container{text-align:right;margin:auto;}.ygtv-highlight .ygtv-highlight1,.ygtv-highlight .ygtv-highlight1 .ygtvlabel{background-color:blue;color:white;}.ygtv-highlight .ygtv-highlight2,.ygtv-highlight .ygtv-highlight2 .ygtvlabel{background-color:silver;}.ygtv-highlight .ygtv-highlight0 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight1 .ygtvfocus .ygtvlabel,.ygtv-highlight .ygtv-highlight2 .ygtvfocus .ygtvlabel{background-color:#c0e0e0;}.ygtv-highlight .ygtvcontent{padding-right:1em;}.ygtv-checkbox .ygtv-highlight0 .ygtvcontent{padding-left:1em;background:url(check0.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight0 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight1 .ygtvfocus.ygtvcontent,.ygtv-checkbox .ygtv-highlight2 .ygtvfocus.ygtvcontent{background-color:#c0e0e0;}.ygtv-checkbox .ygtv-highlight1 .ygtvcontent{padding-left:1em;background:url(check1.gif) no-repeat;}.ygtv-checkbox .ygtv-highlight2 .ygtvcontent{padding-left:1em;background:url(check2.gif) no-repeat;} diff --git a/js/yui/assets/skins/sam/wait.gif b/js/yui/assets/skins/sam/wait.gif new file mode 100644 index 0000000000000000000000000000000000000000..471c1a4f93f2cabf0b3a85c3ff8e0a8aadefc548 Binary files /dev/null and b/js/yui/assets/skins/sam/wait.gif differ diff --git a/js/yui/assets/skins/sam/yuitest.css b/js/yui/assets/skins/sam/yuitest.css new file mode 100644 index 0000000000000000000000000000000000000000..049d5fc44d73e03076b4856a709a80c8dfdce98b --- /dev/null +++ b/js/yui/assets/skins/sam/yuitest.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ + diff --git a/js/yui/autocomplete/autocomplete-min.js b/js/yui/autocomplete/autocomplete-min.js new file mode 100644 index 0000000000000000000000000000000000000000..75e2887fb5c723523b20ed352aecf3ed10656085 --- /dev/null +++ b/js/yui/autocomplete/autocomplete-min.js @@ -0,0 +1,12 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.widget.DS_JSArray=YAHOO.util.LocalDataSource;YAHOO.widget.DS_JSFunction=YAHOO.util.FunctionDataSource;YAHOO.widget.DS_XHR=function(B,A,D){var C=new YAHOO.util.XHRDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_ScriptNode=function(B,A,D){var C=new YAHOO.util.ScriptNodeDataSource(B,D);C._aDeprecatedSchema=A;return C;};YAHOO.widget.DS_XHR.TYPE_JSON=YAHOO.util.DataSourceBase.TYPE_JSON;YAHOO.widget.DS_XHR.TYPE_XML=YAHOO.util.DataSourceBase.TYPE_XML;YAHOO.widget.DS_XHR.TYPE_FLAT=YAHOO.util.DataSourceBase.TYPE_TEXT;YAHOO.widget.AutoComplete=function(G,B,J,C){if(G&&B&&J){if(J&&YAHOO.lang.isFunction(J.sendRequest)){this.dataSource=J;}else{return;}this.key=0;var D=J.responseSchema;if(J._aDeprecatedSchema){var K=J._aDeprecatedSchema;if(YAHOO.lang.isArray(K)){if((J.responseType===YAHOO.util.DataSourceBase.TYPE_JSON)||(J.responseType===YAHOO.util.DataSourceBase.TYPE_UNKNOWN)){D.resultsList=K[0];this.key=K[1];D.fields=(K.length<3)?null:K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_XML){D.resultNode=K[0];this.key=K[1];D.fields=K.slice(1);}else{if(J.responseType===YAHOO.util.DataSourceBase.TYPE_TEXT){D.recordDelim=K[0];D.fieldDelim=K[1];}}}J.responseSchema=D;}}if(YAHOO.util.Dom.inDocument(G)){if(YAHOO.lang.isString(G)){this._sName="instance"+YAHOO.widget.AutoComplete._nIndex+" "+G;this._elTextbox=document.getElementById(G);}else{this._sName=(G.id)?"instance"+YAHOO.widget.AutoComplete._nIndex+" "+G.id:"instance"+YAHOO.widget.AutoComplete._nIndex;this._elTextbox=G;}YAHOO.util.Dom.addClass(this._elTextbox,"yui-ac-input");}else{return;}if(YAHOO.util.Dom.inDocument(B)){if(YAHOO.lang.isString(B)){this._elContainer=document.getElementById(B);}else{this._elContainer=B;}if(this._elContainer.style.display=="none"){}var E=this._elContainer.parentNode;var A=E.tagName.toLowerCase();if(A=="div"){YAHOO.util.Dom.addClass(E,"yui-ac");}else{}}else{return;}if(this.dataSource.dataType===YAHOO.util.DataSourceBase.TYPE_LOCAL){this.applyLocalFilter=true;}if(C&&(C.constructor==Object)){for(var I in C){if(I){this[I]=C[I];}}}this._initContainerEl();this._initProps();this._initListEl();this._initContainerHelperEls();var H=this;var F=this._elTextbox;YAHOO.util.Event.addListener(F,"keyup",H._onTextboxKeyUp,H);YAHOO.util.Event.addListener(F,"keydown",H._onTextboxKeyDown,H);YAHOO.util.Event.addListener(F,"focus",H._onTextboxFocus,H);YAHOO.util.Event.addListener(F,"blur",H._onTextboxBlur,H);YAHOO.util.Event.addListener(B,"mouseover",H._onContainerMouseover,H);YAHOO.util.Event.addListener(B,"mouseout",H._onContainerMouseout,H);YAHOO.util.Event.addListener(B,"click",H._onContainerClick,H);YAHOO.util.Event.addListener(B,"scroll",H._onContainerScroll,H);YAHOO.util.Event.addListener(B,"resize",H._onContainerResize,H);YAHOO.util.Event.addListener(F,"keypress",H._onTextboxKeyPress,H);YAHOO.util.Event.addListener(window,"unload",H._onWindowUnload,H);this.textboxFocusEvent=new YAHOO.util.CustomEvent("textboxFocus",this);this.textboxKeyEvent=new YAHOO.util.CustomEvent("textboxKey",this);this.dataRequestEvent=new YAHOO.util.CustomEvent("dataRequest",this);this.dataReturnEvent=new YAHOO.util.CustomEvent("dataReturn",this);this.dataErrorEvent=new YAHOO.util.CustomEvent("dataError",this);this.containerPopulateEvent=new YAHOO.util.CustomEvent("containerPopulate",this);this.containerExpandEvent=new YAHOO.util.CustomEvent("containerExpand",this);this.typeAheadEvent=new YAHOO.util.CustomEvent("typeAhead",this);this.itemMouseOverEvent=new YAHOO.util.CustomEvent("itemMouseOver",this);this.itemMouseOutEvent=new YAHOO.util.CustomEvent("itemMouseOut",this);this.itemArrowToEvent=new YAHOO.util.CustomEvent("itemArrowTo",this);this.itemArrowFromEvent=new YAHOO.util.CustomEvent("itemArrowFrom",this);this.itemSelectEvent=new YAHOO.util.CustomEvent("itemSelect",this);this.unmatchedItemSelectEvent=new YAHOO.util.CustomEvent("unmatchedItemSelect",this);this.selectionEnforceEvent=new YAHOO.util.CustomEvent("selectionEnforce",this);this.containerCollapseEvent=new YAHOO.util.CustomEvent("containerCollapse",this);this.textboxBlurEvent=new YAHOO.util.CustomEvent("textboxBlur",this);this.textboxChangeEvent=new YAHOO.util.CustomEvent("textboxChange",this);F.setAttribute("autocomplete","off");YAHOO.widget.AutoComplete._nIndex++;}else{}};YAHOO.widget.AutoComplete.prototype.dataSource=null;YAHOO.widget.AutoComplete.prototype.applyLocalFilter=null;YAHOO.widget.AutoComplete.prototype.queryMatchCase=false;YAHOO.widget.AutoComplete.prototype.queryMatchContains=false;YAHOO.widget.AutoComplete.prototype.queryMatchSubset=false;YAHOO.widget.AutoComplete.prototype.minQueryLength=1;YAHOO.widget.AutoComplete.prototype.maxResultsDisplayed=10;YAHOO.widget.AutoComplete.prototype.queryDelay=0.2;YAHOO.widget.AutoComplete.prototype.typeAheadDelay=0.5;YAHOO.widget.AutoComplete.prototype.queryInterval=500;YAHOO.widget.AutoComplete.prototype.highlightClassName="yui-ac-highlight";YAHOO.widget.AutoComplete.prototype.prehighlightClassName=null;YAHOO.widget.AutoComplete.prototype.delimChar=null;YAHOO.widget.AutoComplete.prototype.autoHighlight=true;YAHOO.widget.AutoComplete.prototype.typeAhead=false;YAHOO.widget.AutoComplete.prototype.animHoriz=false;YAHOO.widget.AutoComplete.prototype.animVert=true;YAHOO.widget.AutoComplete.prototype.animSpeed=0.3;YAHOO.widget.AutoComplete.prototype.forceSelection=false;YAHOO.widget.AutoComplete.prototype.allowBrowserAutocomplete=true;YAHOO.widget.AutoComplete.prototype.alwaysShowContainer=false;YAHOO.widget.AutoComplete.prototype.useIFrame=false;YAHOO.widget.AutoComplete.prototype.useShadow=false;YAHOO.widget.AutoComplete.prototype.suppressInputUpdate=false;YAHOO.widget.AutoComplete.prototype.resultTypeList=true;YAHOO.widget.AutoComplete.prototype.queryQuestionMark=true;YAHOO.widget.AutoComplete.prototype.autoSnapContainer=true;YAHOO.widget.AutoComplete.prototype.toString=function(){return"AutoComplete "+this._sName;};YAHOO.widget.AutoComplete.prototype.getInputEl=function(){return this._elTextbox;};YAHOO.widget.AutoComplete.prototype.getContainerEl=function(){return this._elContainer; +};YAHOO.widget.AutoComplete.prototype.isFocused=function(){return this._bFocused;};YAHOO.widget.AutoComplete.prototype.isContainerOpen=function(){return this._bContainerOpen;};YAHOO.widget.AutoComplete.prototype.getListEl=function(){return this._elList;};YAHOO.widget.AutoComplete.prototype.getListItemMatch=function(A){if(A._sResultMatch){return A._sResultMatch;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemData=function(A){if(A._oResultData){return A._oResultData;}else{return null;}};YAHOO.widget.AutoComplete.prototype.getListItemIndex=function(A){if(YAHOO.lang.isNumber(A._nItemIndex)){return A._nItemIndex;}else{return null;}};YAHOO.widget.AutoComplete.prototype.setHeader=function(B){if(this._elHeader){var A=this._elHeader;if(B){A.innerHTML=B;A.style.display="";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setFooter=function(B){if(this._elFooter){var A=this._elFooter;if(B){A.innerHTML=B;A.style.display="";}else{A.innerHTML="";A.style.display="none";}}};YAHOO.widget.AutoComplete.prototype.setBody=function(A){if(this._elBody){var B=this._elBody;YAHOO.util.Event.purgeElement(B,true);if(A){B.innerHTML=A;B.style.display="";}else{B.innerHTML="";B.style.display="none";}this._elList=null;}};YAHOO.widget.AutoComplete.prototype.generateRequest=function(B){var A=this.dataSource.dataType;if(A===YAHOO.util.DataSourceBase.TYPE_XHR){if(!this.dataSource.connMethodPost){B=(this.queryQuestionMark?"?":"")+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}else{B=(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}else{if(A===YAHOO.util.DataSourceBase.TYPE_SCRIPTNODE){B="&"+(this.dataSource.scriptQueryParam||"query")+"="+B+(this.dataSource.scriptQueryAppend?("&"+this.dataSource.scriptQueryAppend):"");}}return B;};YAHOO.widget.AutoComplete.prototype.sendQuery=function(B){this._bFocused=true;var A=(this.delimChar)?this._elTextbox.value+B:B;this._sendQuery(A);};YAHOO.widget.AutoComplete.prototype.snapContainer=function(){var A=this._elTextbox,B=YAHOO.util.Dom.getXY(A);B[1]+=YAHOO.util.Dom.get(A).offsetHeight+2;YAHOO.util.Dom.setXY(this._elContainer,B);};YAHOO.widget.AutoComplete.prototype.expandContainer=function(){this._toggleContainer(true);};YAHOO.widget.AutoComplete.prototype.collapseContainer=function(){this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype.clearList=function(){var B=this._elList.childNodes,A=B.length-1;for(;A>-1;A--){B[A].style.display="none";}};YAHOO.widget.AutoComplete.prototype.getSubsetMatches=function(E){var D,C,A;for(var B=E.length;B>=this.minQueryLength;B--){A=this.generateRequest(E.substr(0,B));this.dataRequestEvent.fire(this,D,A);C=this.dataSource.getCachedResponse(A);if(C){return this.filterResults.apply(this.dataSource,[E,C,C,{scope:this}]);}}return null;};YAHOO.widget.AutoComplete.prototype.preparseRawResponse=function(C,B,A){var D=((this.responseStripAfter!=="")&&(B.indexOf))?B.indexOf(this.responseStripAfter):-1;if(D!=-1){B=B.substring(0,D);}return B;};YAHOO.widget.AutoComplete.prototype.filterResults=function(K,M,Q,L){if(L&&L.argument&&L.argument.query){K=L.argument.query;}if(K&&K!==""){Q=YAHOO.widget.AutoComplete._cloneObject(Q);var I=L.scope,P=this,C=Q.results,N=[],B=I.maxResultsDisplayed,J=(P.queryMatchCase||I.queryMatchCase),A=(P.queryMatchContains||I.queryMatchContains);for(var D=0,H=C.length;D<H;D++){var F=C[D];var E=null;if(YAHOO.lang.isString(F)){E=F;}else{if(YAHOO.lang.isArray(F)){E=F[0];}else{if(this.responseSchema.fields){var O=this.responseSchema.fields[0].key||this.responseSchema.fields[0];E=F[O];}else{if(this.key){E=F[this.key];}}}}if(YAHOO.lang.isString(E)){var G=(J)?E.indexOf(decodeURIComponent(K)):E.toLowerCase().indexOf(decodeURIComponent(K).toLowerCase());if((!A&&(G===0))||(A&&(G>-1))){N.push(F);}}if(H>B&&N.length===B){break;}}Q.results=N;}else{}return Q;};YAHOO.widget.AutoComplete.prototype.handleResponse=function(C,A,B){if((this instanceof YAHOO.widget.AutoComplete)&&this._sName){this._populateList(C,A,B);}};YAHOO.widget.AutoComplete.prototype.doBeforeLoadData=function(C,A,B){return true;};YAHOO.widget.AutoComplete.prototype.formatResult=function(B,D,A){var C=(A)?A:"";return C;};YAHOO.widget.AutoComplete.prototype.doBeforeExpandContainer=function(D,A,C,B){return true;};YAHOO.widget.AutoComplete.prototype.destroy=function(){var B=this.toString();var A=this._elTextbox;var D=this._elContainer;this.textboxFocusEvent.unsubscribeAll();this.textboxKeyEvent.unsubscribeAll();this.dataRequestEvent.unsubscribeAll();this.dataReturnEvent.unsubscribeAll();this.dataErrorEvent.unsubscribeAll();this.containerPopulateEvent.unsubscribeAll();this.containerExpandEvent.unsubscribeAll();this.typeAheadEvent.unsubscribeAll();this.itemMouseOverEvent.unsubscribeAll();this.itemMouseOutEvent.unsubscribeAll();this.itemArrowToEvent.unsubscribeAll();this.itemArrowFromEvent.unsubscribeAll();this.itemSelectEvent.unsubscribeAll();this.unmatchedItemSelectEvent.unsubscribeAll();this.selectionEnforceEvent.unsubscribeAll();this.containerCollapseEvent.unsubscribeAll();this.textboxBlurEvent.unsubscribeAll();this.textboxChangeEvent.unsubscribeAll();YAHOO.util.Event.purgeElement(A,true);YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}};YAHOO.widget.AutoComplete.prototype.textboxFocusEvent=null;YAHOO.widget.AutoComplete.prototype.textboxKeyEvent=null;YAHOO.widget.AutoComplete.prototype.dataRequestEvent=null;YAHOO.widget.AutoComplete.prototype.dataReturnEvent=null;YAHOO.widget.AutoComplete.prototype.dataErrorEvent=null;YAHOO.widget.AutoComplete.prototype.containerPopulateEvent=null;YAHOO.widget.AutoComplete.prototype.containerExpandEvent=null;YAHOO.widget.AutoComplete.prototype.typeAheadEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOverEvent=null;YAHOO.widget.AutoComplete.prototype.itemMouseOutEvent=null; +YAHOO.widget.AutoComplete.prototype.itemArrowToEvent=null;YAHOO.widget.AutoComplete.prototype.itemArrowFromEvent=null;YAHOO.widget.AutoComplete.prototype.itemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.unmatchedItemSelectEvent=null;YAHOO.widget.AutoComplete.prototype.selectionEnforceEvent=null;YAHOO.widget.AutoComplete.prototype.containerCollapseEvent=null;YAHOO.widget.AutoComplete.prototype.textboxBlurEvent=null;YAHOO.widget.AutoComplete.prototype.textboxChangeEvent=null;YAHOO.widget.AutoComplete._nIndex=0;YAHOO.widget.AutoComplete.prototype._sName=null;YAHOO.widget.AutoComplete.prototype._elTextbox=null;YAHOO.widget.AutoComplete.prototype._elContainer=null;YAHOO.widget.AutoComplete.prototype._elContent=null;YAHOO.widget.AutoComplete.prototype._elHeader=null;YAHOO.widget.AutoComplete.prototype._elBody=null;YAHOO.widget.AutoComplete.prototype._elFooter=null;YAHOO.widget.AutoComplete.prototype._elShadow=null;YAHOO.widget.AutoComplete.prototype._elIFrame=null;YAHOO.widget.AutoComplete.prototype._bFocused=false;YAHOO.widget.AutoComplete.prototype._oAnim=null;YAHOO.widget.AutoComplete.prototype._bContainerOpen=false;YAHOO.widget.AutoComplete.prototype._bOverContainer=false;YAHOO.widget.AutoComplete.prototype._elList=null;YAHOO.widget.AutoComplete.prototype._nDisplayedItems=0;YAHOO.widget.AutoComplete.prototype._sCurQuery=null;YAHOO.widget.AutoComplete.prototype._sPastSelections="";YAHOO.widget.AutoComplete.prototype._sInitInputValue=null;YAHOO.widget.AutoComplete.prototype._elCurListItem=null;YAHOO.widget.AutoComplete.prototype._elCurPrehighlightItem=null;YAHOO.widget.AutoComplete.prototype._bItemSelected=false;YAHOO.widget.AutoComplete.prototype._nKeyCode=null;YAHOO.widget.AutoComplete.prototype._nDelayID=-1;YAHOO.widget.AutoComplete.prototype._nTypeAheadDelayID=-1;YAHOO.widget.AutoComplete.prototype._iFrameSrc="javascript:false;";YAHOO.widget.AutoComplete.prototype._queryInterval=null;YAHOO.widget.AutoComplete.prototype._sLastTextboxValue=null;YAHOO.widget.AutoComplete.prototype._initProps=function(){var B=this.minQueryLength;if(!YAHOO.lang.isNumber(B)){this.minQueryLength=1;}var E=this.maxResultsDisplayed;if(!YAHOO.lang.isNumber(E)||(E<1)){this.maxResultsDisplayed=10;}var F=this.queryDelay;if(!YAHOO.lang.isNumber(F)||(F<0)){this.queryDelay=0.2;}var C=this.typeAheadDelay;if(!YAHOO.lang.isNumber(C)||(C<0)){this.typeAheadDelay=0.2;}var A=this.delimChar;if(YAHOO.lang.isString(A)&&(A.length>0)){this.delimChar=[A];}else{if(!YAHOO.lang.isArray(A)){this.delimChar=null;}}var D=this.animSpeed;if((this.animHoriz||this.animVert)&&YAHOO.util.Anim){if(!YAHOO.lang.isNumber(D)||(D<0)){this.animSpeed=0.3;}if(!this._oAnim){this._oAnim=new YAHOO.util.Anim(this._elContent,{},this.animSpeed);}else{this._oAnim.duration=this.animSpeed;}}if(this.forceSelection&&A){}};YAHOO.widget.AutoComplete.prototype._initContainerHelperEls=function(){if(this.useShadow&&!this._elShadow){var A=document.createElement("div");A.className="yui-ac-shadow";A.style.width=0;A.style.height=0;this._elShadow=this._elContainer.appendChild(A);}if(this.useIFrame&&!this._elIFrame){var B=document.createElement("iframe");B.src=this._iFrameSrc;B.frameBorder=0;B.scrolling="no";B.style.position="absolute";B.style.width=0;B.style.height=0;B.style.padding=0;B.tabIndex=-1;B.role="presentation";B.title="Presentational iframe shim";this._elIFrame=this._elContainer.appendChild(B);}};YAHOO.widget.AutoComplete.prototype._initContainerEl=function(){YAHOO.util.Dom.addClass(this._elContainer,"yui-ac-container");if(!this._elContent){var C=document.createElement("div");C.className="yui-ac-content";C.style.display="none";this._elContent=this._elContainer.appendChild(C);var B=document.createElement("div");B.className="yui-ac-hd";B.style.display="none";this._elHeader=this._elContent.appendChild(B);var D=document.createElement("div");D.className="yui-ac-bd";this._elBody=this._elContent.appendChild(D);var A=document.createElement("div");A.className="yui-ac-ft";A.style.display="none";this._elFooter=this._elContent.appendChild(A);}else{}};YAHOO.widget.AutoComplete.prototype._initListEl=function(){var C=this.maxResultsDisplayed,A=this._elList||document.createElement("ul"),B;while(A.childNodes.length<C){B=document.createElement("li");B.style.display="none";B._nItemIndex=A.childNodes.length;A.appendChild(B);}if(!this._elList){var D=this._elBody;YAHOO.util.Event.purgeElement(D,true);D.innerHTML="";this._elList=D.appendChild(A);}this._elBody.style.display="";};YAHOO.widget.AutoComplete.prototype._focus=function(){var A=this;setTimeout(function(){try{A._elTextbox.focus();}catch(B){}},0);};YAHOO.widget.AutoComplete.prototype._enableIntervalDetection=function(){var A=this;if(!A._queryInterval&&A.queryInterval){A._queryInterval=setInterval(function(){A._onInterval();},A.queryInterval);}};YAHOO.widget.AutoComplete.prototype.enableIntervalDetection=YAHOO.widget.AutoComplete.prototype._enableIntervalDetection;YAHOO.widget.AutoComplete.prototype._onInterval=function(){var A=this._elTextbox.value;var B=this._sLastTextboxValue;if(A!=B){this._sLastTextboxValue=A;this._sendQuery(A);}};YAHOO.widget.AutoComplete.prototype._clearInterval=function(){if(this._queryInterval){clearInterval(this._queryInterval);this._queryInterval=null;}};YAHOO.widget.AutoComplete.prototype._isIgnoreKey=function(A){if((A==9)||(A==13)||(A==16)||(A==17)||(A>=18&&A<=20)||(A==27)||(A>=33&&A<=35)||(A>=36&&A<=40)||(A>=44&&A<=45)||(A==229)){return true;}return false;};YAHOO.widget.AutoComplete.prototype._sendQuery=function(D){if(this.minQueryLength<0){this._toggleContainer(false);return;}if(this.delimChar){var A=this._extractQuery(D);D=A.query;this._sPastSelections=A.previous;}if((D&&(D.length<this.minQueryLength))||(!D&&this.minQueryLength>0)){if(this._nDelayID!=-1){clearTimeout(this._nDelayID);}this._toggleContainer(false);return;}D=encodeURIComponent(D);this._nDelayID=-1;if(this.dataSource.queryMatchSubset||this.queryMatchSubset){var C=this.getSubsetMatches(D);if(C){this.handleResponse(D,C,{query:D});return; +}}if(this.dataSource.responseStripAfter){this.dataSource.doBeforeParseData=this.preparseRawResponse;}if(this.applyLocalFilter){this.dataSource.doBeforeCallback=this.filterResults;}var B=this.generateRequest(D);this.dataRequestEvent.fire(this,D,B);this.dataSource.sendRequest(B,{success:this.handleResponse,failure:this.handleResponse,scope:this,argument:{query:D}});};YAHOO.widget.AutoComplete.prototype._populateListItem=function(B,A,C){B.innerHTML=this.formatResult(A,C,B._sResultMatch);};YAHOO.widget.AutoComplete.prototype._populateList=function(K,F,C){if(this._nTypeAheadDelayID!=-1){clearTimeout(this._nTypeAheadDelayID);}K=(C&&C.query)?C.query:K;var H=this.doBeforeLoadData(K,F,C);if(H&&!F.error){this.dataReturnEvent.fire(this,K,F.results);if(this._bFocused){var M=decodeURIComponent(K);this._sCurQuery=M;this._bItemSelected=false;var R=F.results,A=Math.min(R.length,this.maxResultsDisplayed),J=(this.dataSource.responseSchema.fields)?(this.dataSource.responseSchema.fields[0].key||this.dataSource.responseSchema.fields[0]):0;if(A>0){if(!this._elList||(this._elList.childNodes.length<A)){this._initListEl();}this._initContainerHelperEls();var I=this._elList.childNodes;for(var Q=A-1;Q>=0;Q--){var P=I[Q],E=R[Q];if(this.resultTypeList){var B=[];B[0]=(YAHOO.lang.isString(E))?E:E[J]||E[this.key];var L=this.dataSource.responseSchema.fields;if(YAHOO.lang.isArray(L)&&(L.length>1)){for(var N=1,S=L.length;N<S;N++){B[B.length]=E[L[N].key||L[N]];}}else{if(YAHOO.lang.isArray(E)){B=E;}else{if(YAHOO.lang.isString(E)){B=[E];}else{B[1]=E;}}}E=B;}P._sResultMatch=(YAHOO.lang.isString(E))?E:(YAHOO.lang.isArray(E))?E[0]:(E[J]||"");P._oResultData=E;this._populateListItem(P,E,M);P.style.display="";}if(A<I.length){var G;for(var O=I.length-1;O>=A;O--){G=I[O];G.style.display="none";}}this._nDisplayedItems=A;this.containerPopulateEvent.fire(this,K,R);if(this.autoHighlight){var D=this._elList.firstChild;this._toggleHighlight(D,"to");this.itemArrowToEvent.fire(this,D);this._typeAhead(D,K);}else{this._toggleHighlight(this._elCurListItem,"from");}H=this._doBeforeExpandContainer(this._elTextbox,this._elContainer,K,R);this._toggleContainer(H);}else{this._toggleContainer(false);}return;}}else{this.dataErrorEvent.fire(this,K,F);}};YAHOO.widget.AutoComplete.prototype._doBeforeExpandContainer=function(D,A,C,B){if(this.autoSnapContainer){this.snapContainer();}return this.doBeforeExpandContainer(D,A,C,B);};YAHOO.widget.AutoComplete.prototype._clearSelection=function(){var A=(this.delimChar)?this._extractQuery(this._elTextbox.value):{previous:"",query:this._elTextbox.value};this._elTextbox.value=A.previous;this.selectionEnforceEvent.fire(this,A.query);};YAHOO.widget.AutoComplete.prototype._textMatchesOption=function(){var A=null;for(var B=0;B<this._nDisplayedItems;B++){var C=this._elList.childNodes[B];var D=(""+C._sResultMatch).toLowerCase();if(D==this._sCurQuery.toLowerCase()){A=C;break;}}return(A);};YAHOO.widget.AutoComplete.prototype._typeAhead=function(B,D){if(!this.typeAhead||(this._nKeyCode==8)){return;}var A=this,C=this._elTextbox;if(C.setSelectionRange||C.createTextRange){this._nTypeAheadDelayID=setTimeout(function(){var F=C.value.length;A._updateValue(B);var G=C.value.length;A._selectText(C,F,G);var E=C.value.substr(F,G);A.typeAheadEvent.fire(A,D,E);},(this.typeAheadDelay*1000));}};YAHOO.widget.AutoComplete.prototype._selectText=function(D,A,B){if(D.setSelectionRange){D.setSelectionRange(A,B);}else{if(D.createTextRange){var C=D.createTextRange();C.moveStart("character",A);C.moveEnd("character",B-D.value.length);C.select();}else{D.select();}}};YAHOO.widget.AutoComplete.prototype._extractQuery=function(H){var C=this.delimChar,F=-1,G,E,B=C.length-1,D;for(;B>=0;B--){G=H.lastIndexOf(C[B]);if(G>F){F=G;}}if(C[B]==" "){for(var A=C.length-1;A>=0;A--){if(H[F-1]==C[A]){F--;break;}}}if(F>-1){E=F+1;while(H.charAt(E)==" "){E+=1;}D=H.substring(0,E);H=H.substr(E);}else{D="";}return{previous:D,query:H};};YAHOO.widget.AutoComplete.prototype._toggleContainerHelpers=function(D){var E=this._elContent.offsetWidth+"px";var B=this._elContent.offsetHeight+"px";if(this.useIFrame&&this._elIFrame){var C=this._elIFrame;if(D){C.style.width=E;C.style.height=B;C.style.padding="";}else{C.style.width=0;C.style.height=0;C.style.padding=0;}}if(this.useShadow&&this._elShadow){var A=this._elShadow;if(D){A.style.width=E;A.style.height=B;}else{A.style.width=0;A.style.height=0;}}};YAHOO.widget.AutoComplete.prototype._toggleContainer=function(I){var D=this._elContainer;if(this.alwaysShowContainer&&this._bContainerOpen){return;}if(!I){this._toggleHighlight(this._elCurListItem,"from");this._nDisplayedItems=0;this._sCurQuery=null;if(this._elContent.style.display=="none"){return;}}var A=this._oAnim;if(A&&A.getEl()&&(this.animHoriz||this.animVert)){if(A.isAnimated()){A.stop(true);}var G=this._elContent.cloneNode(true);D.appendChild(G);G.style.top="-9000px";G.style.width="";G.style.height="";G.style.display="";var F=G.offsetWidth;var C=G.offsetHeight;var B=(this.animHoriz)?0:F;var E=(this.animVert)?0:C;A.attributes=(I)?{width:{to:F},height:{to:C}}:{width:{to:B},height:{to:E}};if(I&&!this._bContainerOpen){this._elContent.style.width=B+"px";this._elContent.style.height=E+"px";}else{this._elContent.style.width=F+"px";this._elContent.style.height=C+"px";}D.removeChild(G);G=null;var H=this;var J=function(){A.onComplete.unsubscribeAll();if(I){H._toggleContainerHelpers(true);H._bContainerOpen=I;H.containerExpandEvent.fire(H);}else{H._elContent.style.display="none";H._bContainerOpen=I;H.containerCollapseEvent.fire(H);}};this._toggleContainerHelpers(false);this._elContent.style.display="";A.onComplete.subscribe(J);A.animate();}else{if(I){this._elContent.style.display="";this._toggleContainerHelpers(true);this._bContainerOpen=I;this.containerExpandEvent.fire(this);}else{this._toggleContainerHelpers(false);this._elContent.style.display="none";this._bContainerOpen=I;this.containerCollapseEvent.fire(this);}}};YAHOO.widget.AutoComplete.prototype._toggleHighlight=function(A,C){if(A){var B=this.highlightClassName; +if(this._elCurListItem){YAHOO.util.Dom.removeClass(this._elCurListItem,B);this._elCurListItem=null;}if((C=="to")&&B){YAHOO.util.Dom.addClass(A,B);this._elCurListItem=A;}}};YAHOO.widget.AutoComplete.prototype._togglePrehighlight=function(B,C){var A=this.prehighlightClassName;if(this._elCurPrehighlightItem){YAHOO.util.Dom.removeClass(this._elCurPrehighlightItem,A);}if(B==this._elCurListItem){return;}if((C=="mouseover")&&A){YAHOO.util.Dom.addClass(B,A);this._elCurPrehighlightItem=B;}else{YAHOO.util.Dom.removeClass(B,A);}};YAHOO.widget.AutoComplete.prototype._updateValue=function(C){if(!this.suppressInputUpdate){var F=this._elTextbox;var E=(this.delimChar)?(this.delimChar[0]||this.delimChar):null;var B=C._sResultMatch;var D="";if(E){D=this._sPastSelections;D+=B+E;if(E!=" "){D+=" ";}}else{D=B;}F.value=D;if(F.type=="textarea"){F.scrollTop=F.scrollHeight;}var A=F.value.length;this._selectText(F,A,A);this._elCurListItem=C;}};YAHOO.widget.AutoComplete.prototype._selectItem=function(A){this._bItemSelected=true;this._updateValue(A);this._sPastSelections=this._elTextbox.value;this._clearInterval();this.itemSelectEvent.fire(this,A,A._oResultData);this._toggleContainer(false);};YAHOO.widget.AutoComplete.prototype._jumpSelection=function(){if(this._elCurListItem){this._selectItem(this._elCurListItem);}else{this._toggleContainer(false);}};YAHOO.widget.AutoComplete.prototype._moveSelection=function(G){if(this._bContainerOpen){var H=this._elCurListItem,D=-1;if(H){D=H._nItemIndex;}var E=(G==40)?(D+1):(D-1);if(E<-2||E>=this._nDisplayedItems){return;}if(H){this._toggleHighlight(H,"from");this.itemArrowFromEvent.fire(this,H);}if(E==-1){if(this.delimChar){this._elTextbox.value=this._sPastSelections+this._sCurQuery;}else{this._elTextbox.value=this._sCurQuery;}return;}if(E==-2){this._toggleContainer(false);return;}var F=this._elList.childNodes[E],B=this._elContent,C=YAHOO.util.Dom.getStyle(B,"overflow"),I=YAHOO.util.Dom.getStyle(B,"overflowY"),A=((C=="auto")||(C=="scroll")||(I=="auto")||(I=="scroll"));if(A&&(E>-1)&&(E<this._nDisplayedItems)){if(G==40){if((F.offsetTop+F.offsetHeight)>(B.scrollTop+B.offsetHeight)){B.scrollTop=(F.offsetTop+F.offsetHeight)-B.offsetHeight;}else{if((F.offsetTop+F.offsetHeight)<B.scrollTop){B.scrollTop=F.offsetTop;}}}else{if(F.offsetTop<B.scrollTop){this._elContent.scrollTop=F.offsetTop;}else{if(F.offsetTop>(B.scrollTop+B.offsetHeight)){this._elContent.scrollTop=(F.offsetTop+F.offsetHeight)-B.offsetHeight;}}}}this._toggleHighlight(F,"to");this.itemArrowToEvent.fire(this,F);if(this.typeAhead){this._updateValue(F);}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseover=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseover");}else{C._toggleHighlight(D,"to");}C.itemMouseOverEvent.fire(C,D);break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=true;return;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerMouseout=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":if(C.prehighlightClassName){C._togglePrehighlight(D,"mouseout");}else{C._toggleHighlight(D,"from");}C.itemMouseOutEvent.fire(C,D);break;case"ul":C._toggleHighlight(C._elCurListItem,"to");break;case"div":if(YAHOO.util.Dom.hasClass(D,"yui-ac-container")){C._bOverContainer=false;return;}break;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerClick=function(A,C){var D=YAHOO.util.Event.getTarget(A);var B=D.nodeName.toLowerCase();while(D&&(B!="table")){switch(B){case"body":return;case"li":C._toggleHighlight(D,"to");C._selectItem(D);return;default:break;}D=D.parentNode;if(D){B=D.nodeName.toLowerCase();}}};YAHOO.widget.AutoComplete.prototype._onContainerScroll=function(A,B){B._focus();};YAHOO.widget.AutoComplete.prototype._onContainerResize=function(A,B){B._toggleContainerHelpers(B._bContainerOpen);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(A,B){var C=A.keyCode;if(B._nTypeAheadDelayID!=-1){clearTimeout(B._nTypeAheadDelayID);}switch(C){case 9:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B.delimChar&&(B._nKeyCode!=C)){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(!YAHOO.env.ua.opera&&(navigator.userAgent.toLowerCase().indexOf("mac")==-1)||(YAHOO.env.ua.webkit>420)){if(B._elCurListItem){if(B._nKeyCode!=C){if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);}}B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 27:B._toggleContainer(false);return;case 39:B._jumpSelection();break;case 38:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;case 40:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);B._moveSelection(C);}break;default:B._bItemSelected=false;B._toggleHighlight(B._elCurListItem,"from");B.textboxKeyEvent.fire(B,C);break;}if(C===18){B._enableIntervalDetection();}B._nKeyCode=C;};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(A,B){var C=A.keyCode;if(YAHOO.env.ua.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&(YAHOO.env.ua.webkit<420)){switch(C){case 9:if(B._bContainerOpen){if(B.delimChar){YAHOO.util.Event.stopEvent(A);}if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;case 13:if(B._bContainerOpen){YAHOO.util.Event.stopEvent(A);if(B._elCurListItem){B._selectItem(B._elCurListItem);}else{B._toggleContainer(false);}}break;default:break;}}else{if(C==229){B._enableIntervalDetection();}}};YAHOO.widget.AutoComplete.prototype._onTextboxKeyUp=function(A,C){var B=this.value;C._initProps();var D=A.keyCode;if(C._isIgnoreKey(D)){return; +}if(C._nDelayID!=-1){clearTimeout(C._nDelayID);}C._nDelayID=setTimeout(function(){C._sendQuery(B);},(C.queryDelay*1000));};YAHOO.widget.AutoComplete.prototype._onTextboxFocus=function(A,B){if(!B._bFocused){B._elTextbox.setAttribute("autocomplete","off");B._bFocused=true;B._sInitInputValue=B._elTextbox.value;B.textboxFocusEvent.fire(B);}};YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(A,C){if(!C._bOverContainer||(C._nKeyCode==9)){if(!C._bItemSelected){var B=C._textMatchesOption();if(!C._bContainerOpen||(C._bContainerOpen&&(B===null))){if(C.forceSelection){C._clearSelection();}else{C.unmatchedItemSelectEvent.fire(C,C._sCurQuery);}}else{if(C.forceSelection){C._selectItem(B);}}}C._clearInterval();C._bFocused=false;if(C._sInitInputValue!==C._elTextbox.value){C.textboxChangeEvent.fire(C);}C.textboxBlurEvent.fire(C);C._toggleContainer(false);}else{C._focus();}};YAHOO.widget.AutoComplete.prototype._onWindowUnload=function(A,B){if(B&&B._elTextbox&&B.allowBrowserAutocomplete){B._elTextbox.setAttribute("autocomplete","on");}};YAHOO.widget.AutoComplete.prototype.doBeforeSendQuery=function(A){return this.generateRequest(A);};YAHOO.widget.AutoComplete.prototype.getListItems=function(){var C=[],B=this._elList.childNodes;for(var A=B.length-1;A>=0;A--){C[A]=B[A];}return C;};YAHOO.widget.AutoComplete._cloneObject=function(D){if(!YAHOO.lang.isValue(D)){return D;}var F={};if(YAHOO.lang.isFunction(D)){F=D;}else{if(YAHOO.lang.isArray(D)){var E=[];for(var C=0,B=D.length;C<B;C++){E[C]=YAHOO.widget.AutoComplete._cloneObject(D[C]);}F=E;}else{if(YAHOO.lang.isObject(D)){for(var A in D){if(YAHOO.lang.hasOwnProperty(D,A)){if(YAHOO.lang.isValue(D[A])&&YAHOO.lang.isObject(D[A])||YAHOO.lang.isArray(D[A])){F[A]=YAHOO.widget.AutoComplete._cloneObject(D[A]);}else{F[A]=D[A];}}}}else{F=D;}}}return F;};YAHOO.register("autocomplete",YAHOO.widget.AutoComplete,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/base/base-min.css b/js/yui/base/base-min.css new file mode 100644 index 0000000000000000000000000000000000000000..6eaa260646c01b95252186cdd3c6f0f9a2f10b2b --- /dev/null +++ b/js/yui/base/base-min.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +body{margin:10px;}h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong,dt{font-weight:bold;}optgroup{font-weight:normal;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;}em{font-style:italic;}del{text-decoration:line-through;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}sup{vertical-align:super;}sub{vertical-align:sub;}p,fieldset,table,pre{margin-bottom:1em;}button,input[type="checkbox"],input[type="radio"],input[type="reset"],input[type="submit"]{padding:1px;} \ No newline at end of file diff --git a/js/yui/base/base.css b/js/yui/base/base.css new file mode 100644 index 0000000000000000000000000000000000000000..95d63c17636578dd211af099656eb00dba21d685 --- /dev/null +++ b/js/yui/base/base.css @@ -0,0 +1,131 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +/** + * YUI Base + * @module base + * @namespace yui- + * @requires reset, fonts +*/ + +body { + /* For breathing room between content and viewport. */ + margin:10px; +} + +h1 { + /* 18px via YUI Fonts CSS foundation. */ + font-size: 138.5%; +} + +h2 { + /* 16px via YUI Fonts CSS foundation. */ + font-size: 123.1%; +} + +h3 { + /* 14px via YUI Fonts CSS foundation. */ + font-size: 108%; +} + +h1,h2,h3 { + /* Top & bottom margin based on font size. */ + margin: 1em 0; +} + +h1,h2,h3,h4,h5,h6,strong,dt { + /* Bringing boldness back to headers and the strong element. */ + font-weight: bold; +} +optgroup { + font-weight:normal; +} + +abbr,acronym { + /* Indicating to users that more info is available. */ + border-bottom: 1px dotted #000; + cursor: help; +} + +em { + /* Bringing italics back to the em element. */ + font-style: italic; +} + +del { + /* Striking deleted phrases. */ + text-decoration: line-through; +} + +blockquote,ul,ol,dl { + /* Giving blockquotes and lists room to breath. */ + margin: 1em; +} + +ol,ul,dl { + /* Bringing lists on to the page with breathing room. */ + margin-left: 2em; +} + +ol li { + /* Giving OL's LIs generated numbers. */ + list-style: decimal outside; +} + +ul li { + /* Giving UL's LIs generated disc markers. */ + list-style: disc outside; +} + +dl dd { + /* Giving UL's LIs generated numbers. */ + margin-left: 1em; +} + +th,td { + /* Borders and padding to make the table readable. */ + border: 1px solid #000; + padding: .5em; +} + +th { + /* Distinguishing table headers from data cells. */ + font-weight: bold; + text-align: center; +} + +caption { + /* Coordinated margin to match cell's padding. */ + margin-bottom: .5em; + /* Centered so it doesn't blend in to other content. */ + text-align: center; +} + +sup { + /* to preserve line-height and selector appearance */ + vertical-align: super; +} + +sub { + /* to preserve line-height and selector appearance */ + vertical-align: sub; +} + +p, +fieldset, +table, +pre { + /* So things don't run into each other. */ + margin-bottom: 1em; +} +/* Opera requires 1px of passing to render with contemporary native chrome */ +button, +input[type="checkbox"], +input[type="radio"], +input[type="reset"], +input[type="submit"] { + padding:1px; +} diff --git a/js/yui/button/button-min.js b/js/yui/button/button-min.js new file mode 100644 index 0000000000000000000000000000000000000000..31fb89dfdb59fb4eef7bb94a54f85ecee79b990e --- /dev/null +++ b/js/yui/button/button-min.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var G=YAHOO.util.Dom,M=YAHOO.util.Event,I=YAHOO.lang,L=YAHOO.env.ua,B=YAHOO.widget.Overlay,J=YAHOO.widget.Menu,D={},K=null,E=null,C=null;function F(O,N,R,P){var S,Q;if(I.isString(O)&&I.isString(N)){if(L.ie){Q='<input type="'+O+'" name="'+N+'"';if(P){Q+=" checked";}Q+=">";S=document.createElement(Q);}else{S=document.createElement("input");S.name=N;S.type=O;if(P){S.checked=true;}}S.value=R;}return S;}function H(O,V){var N=O.nodeName.toUpperCase(),S=(this.CLASS_NAME_PREFIX+this.CSS_CLASS_NAME),T=this,U,P,Q;function W(X){if(!(X in V)){U=O.getAttributeNode(X);if(U&&("value" in U)){V[X]=U.value;}}}function R(){W("type");if(V.type=="button"){V.type="push";}if(!("disabled" in V)){V.disabled=O.disabled;}W("name");W("value");W("title");}switch(N){case"A":V.type="link";W("href");W("target");break;case"INPUT":R();if(!("checked" in V)){V.checked=O.checked;}break;case"BUTTON":R();P=O.parentNode.parentNode;if(G.hasClass(P,S+"-checked")){V.checked=true;}if(G.hasClass(P,S+"-disabled")){V.disabled=true;}O.removeAttribute("value");O.setAttribute("type","button");break;}O.removeAttribute("id");O.removeAttribute("name");if(!("tabindex" in V)){V.tabindex=O.tabIndex;}if(!("label" in V)){Q=N=="INPUT"?O.value:O.innerHTML;if(Q&&Q.length>0){V.label=Q;}}}function A(P){var O=P.attributes,N=O.srcelement,R=N.nodeName.toUpperCase(),Q=this;if(R==this.NODE_NAME){P.element=N;P.id=N.id;G.getElementsBy(function(S){switch(S.nodeName.toUpperCase()){case"BUTTON":case"A":case"INPUT":H.call(Q,S,O);break;}},"*",N);}else{switch(R){case"BUTTON":case"A":case"INPUT":H.call(this,N,O);break;}}}YAHOO.widget.Button=function(R,O){if(!B&&YAHOO.widget.Overlay){B=YAHOO.widget.Overlay;}if(!J&&YAHOO.widget.Menu){J=YAHOO.widget.Menu;}var Q=YAHOO.widget.Button.superclass.constructor,P,N;if(arguments.length==1&&!I.isString(R)&&!R.nodeName){if(!R.id){R.id=G.generateId();}Q.call(this,(this.createButtonElement(R.type)),R);}else{P={element:null,attributes:(O||{})};if(I.isString(R)){N=G.get(R);if(N){if(!P.attributes.id){P.attributes.id=R;}P.attributes.srcelement=N;A.call(this,P);if(!P.element){P.element=this.createButtonElement(P.attributes.type);}Q.call(this,P.element,P.attributes);}}else{if(R.nodeName){if(!P.attributes.id){if(R.id){P.attributes.id=R.id;}else{P.attributes.id=G.generateId();}}P.attributes.srcelement=R;A.call(this,P);if(!P.element){P.element=this.createButtonElement(P.attributes.type);}Q.call(this,P.element,P.attributes);}}}};YAHOO.extend(YAHOO.widget.Button,YAHOO.util.Element,{_button:null,_menu:null,_hiddenFields:null,_onclickAttributeValue:null,_activationKeyPressed:false,_activationButtonPressed:false,_hasKeyEventHandlers:false,_hasMouseEventHandlers:false,_nOptionRegionX:0,CLASS_NAME_PREFIX:"yui-",NODE_NAME:"SPAN",CHECK_ACTIVATION_KEYS:[32],ACTIVATION_KEYS:[13,32],OPTION_AREA_WIDTH:20,CSS_CLASS_NAME:"button",_setType:function(N){if(N=="split"){this.on("option",this._onOption);}},_setLabel:function(O){this._button.innerHTML=O;var P,N=L.gecko;if(N&&N<1.9&&G.inDocument(this.get("element"))){P=(this.CLASS_NAME_PREFIX+this.CSS_CLASS_NAME);this.removeClass(P);I.later(0,this,this.addClass,P);}},_setTabIndex:function(N){this._button.tabIndex=N;},_setTitle:function(N){if(this.get("type")!="link"){this._button.title=N;}},_setDisabled:function(N){if(this.get("type")!="link"){if(N){if(this._menu){this._menu.hide();}if(this.hasFocus()){this.blur();}this._button.setAttribute("disabled","disabled");this.addStateCSSClasses("disabled");this.removeStateCSSClasses("hover");this.removeStateCSSClasses("active");this.removeStateCSSClasses("focus");}else{this._button.removeAttribute("disabled");this.removeStateCSSClasses("disabled");}}},_setHref:function(N){if(this.get("type")=="link"){this._button.href=N;}},_setTarget:function(N){if(this.get("type")=="link"){this._button.setAttribute("target",N);}},_setChecked:function(N){var O=this.get("type");if(O=="checkbox"||O=="radio"){if(N){this.addStateCSSClasses("checked");}else{this.removeStateCSSClasses("checked");}}},_setMenu:function(U){var P=this.get("lazyloadmenu"),R=this.get("element"),N,W=false,X,O,Q;function V(){X.render(R.parentNode);this.removeListener("appendTo",V);}function T(){X.cfg.queueProperty("container",R.parentNode);this.removeListener("appendTo",T);}function S(){var Y;if(X){G.addClass(X.element,this.get("menuclassname"));G.addClass(X.element,this.CLASS_NAME_PREFIX+this.get("type")+"-button-menu");X.showEvent.subscribe(this._onMenuShow,null,this);X.hideEvent.subscribe(this._onMenuHide,null,this);X.renderEvent.subscribe(this._onMenuRender,null,this);if(J&&X instanceof J){if(P){Y=this.get("container");if(Y){X.cfg.queueProperty("container",Y);}else{this.on("appendTo",T);}}X.cfg.queueProperty("clicktohide",false);X.keyDownEvent.subscribe(this._onMenuKeyDown,this,true);X.subscribe("click",this._onMenuClick,this,true);this.on("selectedMenuItemChange",this._onSelectedMenuItemChange);Q=X.srcElement;if(Q&&Q.nodeName.toUpperCase()=="SELECT"){Q.style.display="none";Q.parentNode.removeChild(Q);}}else{if(B&&X instanceof B){if(!K){K=new YAHOO.widget.OverlayManager();}K.register(X);}}this._menu=X;if(!W&&!P){if(G.inDocument(R)){X.render(R.parentNode);}else{this.on("appendTo",V);}}}}if(B){if(J){N=J.prototype.CSS_CLASS_NAME;}if(U&&J&&(U instanceof J)){X=U;W=true;S.call(this);}else{if(B&&U&&(U instanceof B)){X=U;W=true;X.cfg.queueProperty("visible",false);S.call(this);}else{if(J&&I.isArray(U)){X=new J(G.generateId(),{lazyload:P,itemdata:U});this._menu=X;this.on("appendTo",S);}else{if(I.isString(U)){O=G.get(U);if(O){if(J&&G.hasClass(O,N)||O.nodeName.toUpperCase()=="SELECT"){X=new J(U,{lazyload:P});S.call(this);}else{if(B){X=new B(U,{visible:false});S.call(this);}}}}else{if(U&&U.nodeName){if(J&&G.hasClass(U,N)||U.nodeName.toUpperCase()=="SELECT"){X=new J(U,{lazyload:P});S.call(this);}else{if(B){if(!U.id){G.generateId(U);}X=new B(U,{visible:false});S.call(this);}}}}}}}}},_setOnClick:function(N){if(this._onclickAttributeValue&&(this._onclickAttributeValue!=N)){this.removeListener("click",this._onclickAttributeValue.fn); +this._onclickAttributeValue=null;}if(!this._onclickAttributeValue&&I.isObject(N)&&I.isFunction(N.fn)){this.on("click",N.fn,N.obj,N.scope);this._onclickAttributeValue=N;}},_isActivationKey:function(N){var S=this.get("type"),O=(S=="checkbox"||S=="radio")?this.CHECK_ACTIVATION_KEYS:this.ACTIVATION_KEYS,Q=O.length,R=false,P;if(Q>0){P=Q-1;do{if(N==O[P]){R=true;break;}}while(P--);}return R;},_isSplitButtonOptionKey:function(P){var O=(M.getCharCode(P)==40);var N=function(Q){M.preventDefault(Q);this.removeListener("keypress",N);};if(O){if(L.opera){this.on("keypress",N);}M.preventDefault(P);}return O;},_addListenersToForm:function(){var T=this.getForm(),S=YAHOO.widget.Button.onFormKeyPress,R,N,Q,P,O;if(T){M.on(T,"reset",this._onFormReset,null,this);M.on(T,"submit",this._onFormSubmit,null,this);N=this.get("srcelement");if(this.get("type")=="submit"||(N&&N.type=="submit")){Q=M.getListeners(T,"keypress");R=false;if(Q){P=Q.length;if(P>0){O=P-1;do{if(Q[O].fn==S){R=true;break;}}while(O--);}}if(!R){M.on(T,"keypress",S);}}}},_showMenu:function(R){if(YAHOO.widget.MenuManager){YAHOO.widget.MenuManager.hideVisible();}if(K){K.hideAll();}var N=this._menu,Q=this.get("menualignment"),P=this.get("focusmenu"),O;if(this._renderedMenu){N.cfg.setProperty("context",[this.get("element"),Q[0],Q[1]]);N.cfg.setProperty("preventcontextoverlap",true);N.cfg.setProperty("constraintoviewport",true);}else{N.cfg.queueProperty("context",[this.get("element"),Q[0],Q[1]]);N.cfg.queueProperty("preventcontextoverlap",true);N.cfg.queueProperty("constraintoviewport",true);}this.focus();if(J&&N&&(N instanceof J)){O=N.focus;N.focus=function(){};if(this._renderedMenu){N.cfg.setProperty("minscrollheight",this.get("menuminscrollheight"));N.cfg.setProperty("maxheight",this.get("menumaxheight"));}else{N.cfg.queueProperty("minscrollheight",this.get("menuminscrollheight"));N.cfg.queueProperty("maxheight",this.get("menumaxheight"));}N.show();N.focus=O;N.align();if(R.type=="mousedown"){M.stopPropagation(R);}if(P){N.focus();}}else{if(B&&N&&(N instanceof B)){if(!this._renderedMenu){N.render(this.get("element").parentNode);}N.show();N.align();}}},_hideMenu:function(){var N=this._menu;if(N){N.hide();}},_onMouseOver:function(O){var Q=this.get("type"),N,P;if(Q==="split"){N=this.get("element");P=(G.getX(N)+(N.offsetWidth-this.OPTION_AREA_WIDTH));this._nOptionRegionX=P;}if(!this._hasMouseEventHandlers){if(Q==="split"){this.on("mousemove",this._onMouseMove);}this.on("mouseout",this._onMouseOut);this._hasMouseEventHandlers=true;}this.addStateCSSClasses("hover");if(Q==="split"&&(M.getPageX(O)>P)){this.addStateCSSClasses("hoveroption");}if(this._activationButtonPressed){this.addStateCSSClasses("active");}if(this._bOptionPressed){this.addStateCSSClasses("activeoption");}if(this._activationButtonPressed||this._bOptionPressed){M.removeListener(document,"mouseup",this._onDocumentMouseUp);}},_onMouseMove:function(N){var O=this._nOptionRegionX;if(O){if(M.getPageX(N)>O){this.addStateCSSClasses("hoveroption");}else{this.removeStateCSSClasses("hoveroption");}}},_onMouseOut:function(N){var O=this.get("type");this.removeStateCSSClasses("hover");if(O!="menu"){this.removeStateCSSClasses("active");}if(this._activationButtonPressed||this._bOptionPressed){M.on(document,"mouseup",this._onDocumentMouseUp,null,this);}if(O==="split"&&(M.getPageX(N)>this._nOptionRegionX)){this.removeStateCSSClasses("hoveroption");}},_onDocumentMouseUp:function(P){this._activationButtonPressed=false;this._bOptionPressed=false;var Q=this.get("type"),N,O;if(Q=="menu"||Q=="split"){N=M.getTarget(P);O=this._menu.element;if(N!=O&&!G.isAncestor(O,N)){this.removeStateCSSClasses((Q=="menu"?"active":"activeoption"));this._hideMenu();}}M.removeListener(document,"mouseup",this._onDocumentMouseUp);},_onMouseDown:function(P){var Q,O=true;function N(){this._hideMenu();this.removeListener("mouseup",N);}if((P.which||P.button)==1){if(!this.hasFocus()){this.focus();}Q=this.get("type");if(Q=="split"){if(M.getPageX(P)>this._nOptionRegionX){this.fireEvent("option",P);O=false;}else{this.addStateCSSClasses("active");this._activationButtonPressed=true;}}else{if(Q=="menu"){if(this.isActive()){this._hideMenu();this._activationButtonPressed=false;}else{this._showMenu(P);this._activationButtonPressed=true;}}else{this.addStateCSSClasses("active");this._activationButtonPressed=true;}}if(Q=="split"||Q=="menu"){this._hideMenuTimer=I.later(250,this,this.on,["mouseup",N]);}}return O;},_onMouseUp:function(P){var Q=this.get("type"),N=this._hideMenuTimer,O=true;if(N){N.cancel();}if(Q=="checkbox"||Q=="radio"){this.set("checked",!(this.get("checked")));}this._activationButtonPressed=false;if(Q!="menu"){this.removeStateCSSClasses("active");}if(Q=="split"&&M.getPageX(P)>this._nOptionRegionX){O=false;}return O;},_onFocus:function(O){var N;this.addStateCSSClasses("focus");if(this._activationKeyPressed){this.addStateCSSClasses("active");}C=this;if(!this._hasKeyEventHandlers){N=this._button;M.on(N,"blur",this._onBlur,null,this);M.on(N,"keydown",this._onKeyDown,null,this);M.on(N,"keyup",this._onKeyUp,null,this);this._hasKeyEventHandlers=true;}this.fireEvent("focus",O);},_onBlur:function(N){this.removeStateCSSClasses("focus");if(this.get("type")!="menu"){this.removeStateCSSClasses("active");}if(this._activationKeyPressed){M.on(document,"keyup",this._onDocumentKeyUp,null,this);}C=null;this.fireEvent("blur",N);},_onDocumentKeyUp:function(N){if(this._isActivationKey(M.getCharCode(N))){this._activationKeyPressed=false;M.removeListener(document,"keyup",this._onDocumentKeyUp);}},_onKeyDown:function(O){var N=this._menu;if(this.get("type")=="split"&&this._isSplitButtonOptionKey(O)){this.fireEvent("option",O);}else{if(this._isActivationKey(M.getCharCode(O))){if(this.get("type")=="menu"){this._showMenu(O);}else{this._activationKeyPressed=true;this.addStateCSSClasses("active");}}}if(N&&N.cfg.getProperty("visible")&&M.getCharCode(O)==27){N.hide();this.focus();}},_onKeyUp:function(N){var O;if(this._isActivationKey(M.getCharCode(N))){O=this.get("type");if(O=="checkbox"||O=="radio"){this.set("checked",!(this.get("checked"))); +}this._activationKeyPressed=false;if(this.get("type")!="menu"){this.removeStateCSSClasses("active");}}},_onClick:function(P){var R=this.get("type"),Q,N,O;switch(R){case"submit":if(P.returnValue!==false){this.submitForm();}break;case"reset":Q=this.getForm();if(Q){Q.reset();}break;case"split":if(this._nOptionRegionX>0&&(M.getPageX(P)>this._nOptionRegionX)){O=false;}else{this._hideMenu();N=this.get("srcelement");if(N&&N.type=="submit"&&P.returnValue!==false){this.submitForm();}}break;}return O;},_onDblClick:function(O){var N=true;if(this.get("type")=="split"&&M.getPageX(O)>this._nOptionRegionX){N=false;}return N;},_onAppendTo:function(N){I.later(0,this,this._addListenersToForm);},_onFormReset:function(O){var P=this.get("type"),N=this._menu;if(P=="checkbox"||P=="radio"){this.resetValue("checked");}if(J&&N&&(N instanceof J)){this.resetValue("selectedMenuItem");}},_onFormSubmit:function(N){this.createHiddenFields();},_onDocumentMouseDown:function(Q){var N=M.getTarget(Q),P=this.get("element"),O=this._menu.element;if(N!=P&&!G.isAncestor(P,N)&&N!=O&&!G.isAncestor(O,N)){this._hideMenu();if(L.ie&&N.focus){N.setActive();}M.removeListener(document,"mousedown",this._onDocumentMouseDown);}},_onOption:function(N){if(this.hasClass(this.CLASS_NAME_PREFIX+"split-button-activeoption")){this._hideMenu();this._bOptionPressed=false;}else{this._showMenu(N);this._bOptionPressed=true;}},_onMenuShow:function(N){M.on(document,"mousedown",this._onDocumentMouseDown,null,this);var O=(this.get("type")=="split")?"activeoption":"active";this.addStateCSSClasses(O);},_onMenuHide:function(N){var O=(this.get("type")=="split")?"activeoption":"active";this.removeStateCSSClasses(O);if(this.get("type")=="split"){this._bOptionPressed=false;}},_onMenuKeyDown:function(P,O){var N=O[0];if(M.getCharCode(N)==27){this.focus();if(this.get("type")=="split"){this._bOptionPressed=false;}}},_onMenuRender:function(P){var S=this.get("element"),O=S.parentNode,N=this._menu,R=N.element,Q=N.srcElement,T;if(O!=R.parentNode){O.appendChild(R);}this._renderedMenu=true;if(Q&&Q.nodeName.toLowerCase()==="select"&&Q.value){T=N.getItem(Q.selectedIndex);this.set("selectedMenuItem",T,true);this._onSelectedMenuItemChange({newValue:T});}},_onMenuClick:function(O,N){var Q=N[1],P;if(Q){this.set("selectedMenuItem",Q);P=this.get("srcelement");if(P&&P.type=="submit"){this.submitForm();}this._hideMenu();}},_onSelectedMenuItemChange:function(O){var P=O.prevValue,Q=O.newValue,N=this.CLASS_NAME_PREFIX;if(P){G.removeClass(P.element,(N+"button-selectedmenuitem"));}if(Q){G.addClass(Q.element,(N+"button-selectedmenuitem"));}},_onLabelClick:function(N){this.focus();var O=this.get("type");if(O=="radio"||O=="checkbox"){this.set("checked",(!this.get("checked")));}},createButtonElement:function(N){var P=this.NODE_NAME,O=document.createElement(P);O.innerHTML="<"+P+' class="first-child">'+(N=="link"?"<a></a>":'<button type="button"></button>')+"</"+P+">";return O;},addStateCSSClasses:function(O){var P=this.get("type"),N=this.CLASS_NAME_PREFIX;if(I.isString(O)){if(O!="activeoption"&&O!="hoveroption"){this.addClass(N+this.CSS_CLASS_NAME+("-"+O));}this.addClass(N+P+("-button-"+O));}},removeStateCSSClasses:function(O){var P=this.get("type"),N=this.CLASS_NAME_PREFIX;if(I.isString(O)){this.removeClass(N+this.CSS_CLASS_NAME+("-"+O));this.removeClass(N+P+("-button-"+O));}},createHiddenFields:function(){this.removeHiddenFields();var V=this.getForm(),Z,O,S,X,Y,T,U,N,R,W,P,Q=false;if(V&&!this.get("disabled")){O=this.get("type");S=(O=="checkbox"||O=="radio");if((S&&this.get("checked"))||(E==this)){Z=F((S?O:"hidden"),this.get("name"),this.get("value"),this.get("checked"));if(Z){if(S){Z.style.display="none";}V.appendChild(Z);}}X=this._menu;if(J&&X&&(X instanceof J)){Y=this.get("selectedMenuItem");P=X.srcElement;Q=(P&&P.nodeName.toUpperCase()=="SELECT");if(Y){U=(Y.value===null||Y.value==="")?Y.cfg.getProperty("text"):Y.value;T=this.get("name");if(Q){W=P.name;}else{if(T){W=(T+"_options");}}if(U&&W){N=F("hidden",W,U);V.appendChild(N);}}else{if(Q){N=V.appendChild(P);}}}if(Z&&N){this._hiddenFields=[Z,N];}else{if(!Z&&N){this._hiddenFields=N;}else{if(Z&&!N){this._hiddenFields=Z;}}}R=this._hiddenFields;}return R;},removeHiddenFields:function(){var Q=this._hiddenFields,O,P;function N(R){if(G.inDocument(R)){R.parentNode.removeChild(R);}}if(Q){if(I.isArray(Q)){O=Q.length;if(O>0){P=O-1;do{N(Q[P]);}while(P--);}}else{N(Q);}this._hiddenFields=null;}},submitForm:function(){var Q=this.getForm(),P=this.get("srcelement"),O=false,N;if(Q){if(this.get("type")=="submit"||(P&&P.type=="submit")){E=this;}if(L.ie){O=Q.fireEvent("onsubmit");}else{N=document.createEvent("HTMLEvents");N.initEvent("submit",true,true);O=Q.dispatchEvent(N);}if((L.ie||L.webkit)&&O){Q.submit();}}return O;},init:function(P,d){var V=d.type=="link"?"a":"button",a=d.srcelement,S=P.getElementsByTagName(V)[0],U;if(!S){U=P.getElementsByTagName("input")[0];if(U){S=document.createElement("button");S.setAttribute("type","button");U.parentNode.replaceChild(S,U);}}this._button=S;YAHOO.widget.Button.superclass.init.call(this,P,d);var T=this.get("id"),Z=T+"-button";S.id=Z;var X,Q;var e=function(f){return(f.htmlFor===T);};var c=function(){Q.setAttribute((L.ie?"htmlFor":"for"),Z);};if(a&&this.get("type")!="link"){X=G.getElementsBy(e,"label");if(I.isArray(X)&&X.length>0){Q=X[0];}}D[T]=this;var b=this.CLASS_NAME_PREFIX;this.addClass(b+this.CSS_CLASS_NAME);this.addClass(b+this.get("type")+"-button");M.on(this._button,"focus",this._onFocus,null,this);this.on("mouseover",this._onMouseOver);this.on("mousedown",this._onMouseDown);this.on("mouseup",this._onMouseUp);this.on("click",this._onClick);var R=this.get("onclick");this.set("onclick",null);this.set("onclick",R);this.on("dblclick",this._onDblClick);var O;if(Q){if(this.get("replaceLabel")){this.set("label",Q.innerHTML);O=Q.parentNode;O.removeChild(Q);}else{this.on("appendTo",c);M.on(Q,"click",this._onLabelClick,null,this);this._label=Q;}}this.on("appendTo",this._onAppendTo);var N=this.get("container"),Y=this.get("element"),W=G.inDocument(Y); +if(N){if(a&&a!=Y){O=a.parentNode;if(O){O.removeChild(a);}}if(I.isString(N)){M.onContentReady(N,this.appendTo,N,this);}else{this.on("init",function(){I.later(0,this,this.appendTo,N);});}}else{if(!W&&a&&a!=Y){O=a.parentNode;if(O){this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:O});O.replaceChild(Y,a);this.fireEvent("appendTo",{type:"appendTo",target:O});}}else{if(this.get("type")!="link"&&W&&a&&a==Y){this._addListenersToForm();}}}this.fireEvent("init",{type:"init",target:this});},initAttributes:function(O){var N=O||{};YAHOO.widget.Button.superclass.initAttributes.call(this,N);this.setAttributeConfig("type",{value:(N.type||"push"),validator:I.isString,writeOnce:true,method:this._setType});this.setAttributeConfig("label",{value:N.label,validator:I.isString,method:this._setLabel});this.setAttributeConfig("value",{value:N.value});this.setAttributeConfig("name",{value:N.name,validator:I.isString});this.setAttributeConfig("tabindex",{value:N.tabindex,validator:I.isNumber,method:this._setTabIndex});this.configureAttribute("title",{value:N.title,validator:I.isString,method:this._setTitle});this.setAttributeConfig("disabled",{value:(N.disabled||false),validator:I.isBoolean,method:this._setDisabled});this.setAttributeConfig("href",{value:N.href,validator:I.isString,method:this._setHref});this.setAttributeConfig("target",{value:N.target,validator:I.isString,method:this._setTarget});this.setAttributeConfig("checked",{value:(N.checked||false),validator:I.isBoolean,method:this._setChecked});this.setAttributeConfig("container",{value:N.container,writeOnce:true});this.setAttributeConfig("srcelement",{value:N.srcelement,writeOnce:true});this.setAttributeConfig("menu",{value:null,method:this._setMenu,writeOnce:true});this.setAttributeConfig("lazyloadmenu",{value:(N.lazyloadmenu===false?false:true),validator:I.isBoolean,writeOnce:true});this.setAttributeConfig("menuclassname",{value:(N.menuclassname||(this.CLASS_NAME_PREFIX+"button-menu")),validator:I.isString,method:this._setMenuClassName,writeOnce:true});this.setAttributeConfig("menuminscrollheight",{value:(N.menuminscrollheight||90),validator:I.isNumber});this.setAttributeConfig("menumaxheight",{value:(N.menumaxheight||0),validator:I.isNumber});this.setAttributeConfig("menualignment",{value:(N.menualignment||["tl","bl"]),validator:I.isArray});this.setAttributeConfig("selectedMenuItem",{value:null});this.setAttributeConfig("onclick",{value:N.onclick,method:this._setOnClick});this.setAttributeConfig("focusmenu",{value:(N.focusmenu===false?false:true),validator:I.isBoolean});this.setAttributeConfig("replaceLabel",{value:false,validator:I.isBoolean,writeOnce:true});},focus:function(){if(!this.get("disabled")){this._button.focus();}},blur:function(){if(!this.get("disabled")){this._button.blur();}},hasFocus:function(){return(C==this);},isActive:function(){return this.hasClass(this.CLASS_NAME_PREFIX+this.CSS_CLASS_NAME+"-active");},getMenu:function(){return this._menu;},getForm:function(){var N=this._button,O;if(N){O=N.form;}return O;},getHiddenFields:function(){return this._hiddenFields;},destroy:function(){var P=this.get("element"),N=this._menu,T=this._label,O,S;if(N){if(K&&K.find(N)){K.remove(N);}N.destroy();}M.purgeElement(P);M.purgeElement(this._button);M.removeListener(document,"mouseup",this._onDocumentMouseUp);M.removeListener(document,"keyup",this._onDocumentKeyUp);M.removeListener(document,"mousedown",this._onDocumentMouseDown);if(T){M.removeListener(T,"click",this._onLabelClick);O=T.parentNode;O.removeChild(T);}var Q=this.getForm();if(Q){M.removeListener(Q,"reset",this._onFormReset);M.removeListener(Q,"submit",this._onFormSubmit);}this.unsubscribeAll();O=P.parentNode;if(O){O.removeChild(P);}delete D[this.get("id")];var R=(this.CLASS_NAME_PREFIX+this.CSS_CLASS_NAME);S=G.getElementsByClassName(R,this.NODE_NAME,Q);if(I.isArray(S)&&S.length===0){M.removeListener(Q,"keypress",YAHOO.widget.Button.onFormKeyPress);}},fireEvent:function(O,N){var P=arguments[0];if(this.DOM_EVENTS[P]&&this.get("disabled")){return false;}return YAHOO.widget.Button.superclass.fireEvent.apply(this,arguments);},toString:function(){return("Button "+this.get("id"));}});YAHOO.widget.Button.onFormKeyPress=function(R){var P=M.getTarget(R),S=M.getCharCode(R),Q=P.nodeName&&P.nodeName.toUpperCase(),N=P.type,T=false,V,X,O,W;function U(a){var Z,Y;switch(a.nodeName.toUpperCase()){case"INPUT":case"BUTTON":if(a.type=="submit"&&!a.disabled){if(!T&&!O){O=a;}}break;default:Z=a.id;if(Z){V=D[Z];if(V){T=true;if(!V.get("disabled")){Y=V.get("srcelement");if(!X&&(V.get("type")=="submit"||(Y&&Y.type=="submit"))){X=V;}}}}break;}}if(S==13&&((Q=="INPUT"&&(N=="text"||N=="password"||N=="checkbox"||N=="radio"||N=="file"))||Q=="SELECT")){G.getElementsBy(U,"*",this);if(O){O.focus();}else{if(!O&&X){M.preventDefault(R);if(L.ie){X.get("element").fireEvent("onclick");}else{W=document.createEvent("HTMLEvents");W.initEvent("click",true,true);if(L.gecko<1.9){X.fireEvent("click",W);}else{X.get("element").dispatchEvent(W);}}}}}};YAHOO.widget.Button.addHiddenFieldsToForm=function(N){var R=YAHOO.widget.Button.prototype,T=G.getElementsByClassName((R.CLASS_NAME_PREFIX+R.CSS_CLASS_NAME),"*",N),Q=T.length,S,O,P;if(Q>0){for(P=0;P<Q;P++){O=T[P].id;if(O){S=D[O];if(S){S.createHiddenFields();}}}}};YAHOO.widget.Button.getButton=function(N){return D[N];};})();(function(){var C=YAHOO.util.Dom,B=YAHOO.util.Event,D=YAHOO.lang,A=YAHOO.widget.Button,E={};YAHOO.widget.ButtonGroup=function(J,H){var I=YAHOO.widget.ButtonGroup.superclass.constructor,K,G,F;if(arguments.length==1&&!D.isString(J)&&!J.nodeName){if(!J.id){F=C.generateId();J.id=F;}I.call(this,(this._createGroupElement()),J);}else{if(D.isString(J)){G=C.get(J);if(G){if(G.nodeName.toUpperCase()==this.NODE_NAME){I.call(this,G,H);}}}else{K=J.nodeName.toUpperCase();if(K&&K==this.NODE_NAME){if(!J.id){J.id=C.generateId();}I.call(this,J,H);}}}};YAHOO.extend(YAHOO.widget.ButtonGroup,YAHOO.util.Element,{_buttons:null,NODE_NAME:"DIV",CLASS_NAME_PREFIX:"yui-",CSS_CLASS_NAME:"buttongroup",_createGroupElement:function(){var F=document.createElement(this.NODE_NAME); +return F;},_setDisabled:function(G){var H=this.getCount(),F;if(H>0){F=H-1;do{this._buttons[F].set("disabled",G);}while(F--);}},_onKeyDown:function(K){var G=B.getTarget(K),I=B.getCharCode(K),H=G.parentNode.parentNode.id,J=E[H],F=-1;if(I==37||I==38){F=(J.index===0)?(this._buttons.length-1):(J.index-1);}else{if(I==39||I==40){F=(J.index===(this._buttons.length-1))?0:(J.index+1);}}if(F>-1){this.check(F);this.getButton(F).focus();}},_onAppendTo:function(H){var I=this._buttons,G=I.length,F;for(F=0;F<G;F++){I[F].appendTo(this.get("element"));}},_onButtonCheckedChange:function(G,F){var I=G.newValue,H=this.get("checkedButton");if(I&&H!=F){if(H){H.set("checked",false,true);}this.set("checkedButton",F);this.set("value",F.get("value"));}else{if(H&&!H.set("checked")){H.set("checked",true,true);}}},init:function(I,H){this._buttons=[];YAHOO.widget.ButtonGroup.superclass.init.call(this,I,H);this.addClass(this.CLASS_NAME_PREFIX+this.CSS_CLASS_NAME);var K=(YAHOO.widget.Button.prototype.CLASS_NAME_PREFIX+"radio-button"),J=this.getElementsByClassName(K);if(J.length>0){this.addButtons(J);}function F(L){return(L.type=="radio");}J=C.getElementsBy(F,"input",this.get("element"));if(J.length>0){this.addButtons(J);}this.on("keydown",this._onKeyDown);this.on("appendTo",this._onAppendTo);var G=this.get("container");if(G){if(D.isString(G)){B.onContentReady(G,function(){this.appendTo(G);},null,this);}else{this.appendTo(G);}}},initAttributes:function(G){var F=G||{};YAHOO.widget.ButtonGroup.superclass.initAttributes.call(this,F);this.setAttributeConfig("name",{value:F.name,validator:D.isString});this.setAttributeConfig("disabled",{value:(F.disabled||false),validator:D.isBoolean,method:this._setDisabled});this.setAttributeConfig("value",{value:F.value});this.setAttributeConfig("container",{value:F.container,writeOnce:true});this.setAttributeConfig("checkedButton",{value:null});},addButton:function(J){var L,K,G,F,H,I;if(J instanceof A&&J.get("type")=="radio"){L=J;}else{if(!D.isString(J)&&!J.nodeName){J.type="radio";L=new A(J);}else{L=new A(J,{type:"radio"});}}if(L){F=this._buttons.length;H=L.get("name");I=this.get("name");L.index=F;this._buttons[F]=L;E[L.get("id")]=L;if(H!=I){L.set("name",I);}if(this.get("disabled")){L.set("disabled",true);}if(L.get("checked")){this.set("checkedButton",L);}K=L.get("element");G=this.get("element");if(K.parentNode!=G){G.appendChild(K);}L.on("checkedChange",this._onButtonCheckedChange,L,this);}return L;},addButtons:function(G){var H,I,J,F;if(D.isArray(G)){H=G.length;J=[];if(H>0){for(F=0;F<H;F++){I=this.addButton(G[F]);if(I){J[J.length]=I;}}}}return J;},removeButton:function(H){var I=this.getButton(H),G,F;if(I){this._buttons.splice(H,1);delete E[I.get("id")];I.removeListener("checkedChange",this._onButtonCheckedChange);I.destroy();G=this._buttons.length;if(G>0){F=this._buttons.length-1;do{this._buttons[F].index=F;}while(F--);}}},getButton:function(F){return this._buttons[F];},getButtons:function(){return this._buttons;},getCount:function(){return this._buttons.length;},focus:function(H){var I,G,F;if(D.isNumber(H)){I=this._buttons[H];if(I){I.focus();}}else{G=this.getCount();for(F=0;F<G;F++){I=this._buttons[F];if(!I.get("disabled")){I.focus();break;}}}},check:function(F){var G=this.getButton(F);if(G){G.set("checked",true);}},destroy:function(){var I=this._buttons.length,H=this.get("element"),F=H.parentNode,G;if(I>0){G=this._buttons.length-1;do{this._buttons[G].destroy();}while(G--);}B.purgeElement(H);F.removeChild(H);},toString:function(){return("ButtonGroup "+this.get("id"));}});})();YAHOO.register("button",YAHOO.widget.Button,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/calendar.js b/js/yui/calendar.js deleted file mode 100644 index 005c7def8ed4f8a084806a93680e4505c02f1e22..0000000000000000000000000000000000000000 --- a/js/yui/calendar.js +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright (c) 2008, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.6.0 -*/ -(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F=this.config,G,E;for(G in F){if(B.hasOwnProperty(F,G)){E=F[G];if(E&&E.event){D[G]=E.value;}}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){if(B.hasOwnProperty(this.config,D)){this.refireEvent(D);}}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(E,F,H,D){var G=this.config[E.toLowerCase()];if(G&&G.event){if(!A.alreadySubscribed(G.event,F,H)){G.event.subscribe(F,H,D);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());YAHOO.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,WEEK_ONE_JAN_DATE:1,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:this._addDays(F,C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:this._addDays(F,(C*7));break;}return F;},_addDays:function(D,C){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){if(C<0){for(var B=-128;C<B;C-=B){D.setDate(D.getDate()+B);}}else{for(var A=96;C>A;C-=A){D.setDate(D.getDate()+A);}}}D.setDate(D.getDate()+C);},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()<A){return true;}else{return false;}},after:function(C,B){var A=B.getTime();if(C.getTime()>A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return this.getDate(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(E,B,H){B=B||0;H=H||this.WEEK_ONE_JAN_DATE;var I=this.clearTime(E),M,N;if(I.getDay()===B){M=I;}else{M=this.getFirstDayOfWeek(I,B);}var J=M.getFullYear(),C=M.getTime();N=new Date(M.getTime()+6*this.ONE_DAY_MS);var G;if(J!==N.getFullYear()&&N.getDate()>=H){G=1;}else{var F=this.clearTime(this.getDate(J,0,H)),A=this.getFirstDayOfWeek(F,B);var K=Math.round((I.getTime()-A.getTime())/this.ONE_DAY_MS);var L=K%7;var D=(K-L)/7;G=D+1;}return G; -},getFirstDayOfWeek:function(D,A){A=A||0;var B=D.getDay(),C=(B-A+7)%7;return this.subtract(D,this.DAY,C);},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=this.getDate(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0);return A;},getDate:function(D,A,C){var B=null;if(YAHOO.lang.isUndefined(C)){C=1;}if(D>=100){B=new Date(D,A,C);}else{B=new Date();B.setFullYear(D);B.setMonth(A);B.setDate(C);B.setHours(0,0,0,0);}return B;}};(function(){var C=YAHOO.util.Dom,A=YAHOO.util.Event,E=YAHOO.lang,D=YAHOO.widget.DateMath;function F(I,G,H){this.init.apply(this,arguments);}F.IMG_ROOT=null;F.DATE="D";F.MONTH_DAY="MD";F.WEEKDAY="WD";F.RANGE="R";F.MONTH="M";F.DISPLAY_DAYS=42;F.STOP_RENDER="S";F.SHORT="short";F.LONG="long";F.MEDIUM="medium";F.ONE_CHAR="1char";F._DEFAULT_CONFIG={PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:null},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},MONTHS_LONG:{key:"months_long",value:["January","February","March","April","May","June","July","August","September","October","November","December"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["S","M","T","W","T","F","S"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""},NAV:{key:"navigator",value:null},STRINGS:{key:"strings",value:{previousMonth:"Previous Month",nextMonth:"Next Month",close:"Close"},supercedes:["close","title"]}};var B=F._DEFAULT_CONFIG;F._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",BEFORE_DESTROY:"beforeDestroy",DESTROY:"destroy",RESET:"reset",CLEAR:"clear",BEFORE_HIDE:"beforeHide",HIDE:"hide",BEFORE_SHOW:"beforeShow",SHOW:"show",BEFORE_HIDE_NAV:"beforeHideNav",HIDE_NAV:"hideNav",BEFORE_SHOW_NAV:"beforeShowNav",SHOW_NAV:"showNav",BEFORE_RENDER_NAV:"beforeRenderNav",RENDER_NAV:"renderNav"};F._STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_NAV:"calnav",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4"};F.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,containerId:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,oNavigator:null,_selectedDates:null,domEventMap:null,_parseArgs:function(H){var G={id:null,container:null,config:null};if(H&&H.length&&H.length>0){switch(H.length){case 1:G.id=null;G.container=H[0];G.config=null;break;case 2:if(E.isObject(H[1])&&!H[1].tagName&&!(H[1] instanceof String)){G.id=null;G.container=H[0];G.config=H[1];}else{G.id=H[0];G.container=H[1];G.config=null;}break;default:G.id=H[0];G.container=H[1];G.config=H[2];break;}}else{}return G;},init:function(J,H,I){var G=this._parseArgs(arguments);J=G.id;H=G.container;I=G.config;this.oDomContainer=C.get(H);if(!this.oDomContainer.id){this.oDomContainer.id=C.generateId();}if(!J){J=this.oDomContainer.id+"_t";}this.id=J;this.containerId=this.oDomContainer.id;this.initEvents();this.today=new Date();D.clearTime(this.today);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.initStyles();C.addClass(this.oDomContainer,this.Style.CSS_CONTAINER); -C.addClass(this.oDomContainer,this.Style.CSS_SINGLE);this.cellDates=[];this.cells=[];this.renderStack=[];this._renderStack=[];this.setupConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();},configIframe:function(I,H,J){var G=H[0];if(!this.parent){if(C.inDocument(this.oDomContainer)){if(G){var K=C.getStyle(this.oDomContainer,"position");if(K=="absolute"||K=="relative"){if(!C.inDocument(this.iframe)){this.iframe=document.createElement("iframe");this.iframe.src="javascript:false;";C.setStyle(this.iframe,"opacity","0");if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6){C.addClass(this.iframe,"fixedsize");}this.oDomContainer.insertBefore(this.iframe,this.oDomContainer.firstChild);}}}else{if(this.iframe){if(this.iframe.parentNode){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;}}}}},configTitle:function(H,G,I){var K=G[0];if(K){this.createTitleBar(K);}else{var J=this.cfg.getProperty(B.CLOSE.key);if(!J){this.removeTitleBar();}else{this.createTitleBar(" ");}}},configClose:function(H,G,I){var K=G[0],J=this.cfg.getProperty(B.TITLE.key);if(K){if(!J){this.createTitleBar(" ");}this.createCloseButton();}else{this.removeCloseButton();if(!J){this.removeTitleBar();}}},initEvents:function(){var G=F._EVENT_TYPES,I=YAHOO.util.CustomEvent,H=this;H.beforeSelectEvent=new I(G.BEFORE_SELECT);H.selectEvent=new I(G.SELECT);H.beforeDeselectEvent=new I(G.BEFORE_DESELECT);H.deselectEvent=new I(G.DESELECT);H.changePageEvent=new I(G.CHANGE_PAGE);H.beforeRenderEvent=new I(G.BEFORE_RENDER);H.renderEvent=new I(G.RENDER);H.beforeDestroyEvent=new I(G.BEFORE_DESTROY);H.destroyEvent=new I(G.DESTROY);H.resetEvent=new I(G.RESET);H.clearEvent=new I(G.CLEAR);H.beforeShowEvent=new I(G.BEFORE_SHOW);H.showEvent=new I(G.SHOW);H.beforeHideEvent=new I(G.BEFORE_HIDE);H.hideEvent=new I(G.HIDE);H.beforeShowNavEvent=new I(G.BEFORE_SHOW_NAV);H.showNavEvent=new I(G.SHOW_NAV);H.beforeHideNavEvent=new I(G.BEFORE_HIDE_NAV);H.hideNavEvent=new I(G.HIDE_NAV);H.beforeRenderNavEvent=new I(G.BEFORE_RENDER_NAV);H.renderNavEvent=new I(G.RENDER_NAV);H.beforeSelectEvent.subscribe(H.onBeforeSelect,this,true);H.selectEvent.subscribe(H.onSelect,this,true);H.beforeDeselectEvent.subscribe(H.onBeforeDeselect,this,true);H.deselectEvent.subscribe(H.onDeselect,this,true);H.changePageEvent.subscribe(H.onChangePage,this,true);H.renderEvent.subscribe(H.onRender,this,true);H.resetEvent.subscribe(H.onReset,this,true);H.clearEvent.subscribe(H.onClear,this,true);},doPreviousMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.previousMonth();var I=C.getElementsByClassName(G.Style.CSS_NAV_LEFT,"a",G.oDomContainer);if(I&&I[0]){try{I[0].focus();}catch(J){}}},0);},doNextMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.nextMonth();var I=C.getElementsByClassName(G.Style.CSS_NAV_RIGHT,"a",G.oDomContainer);if(I&&I[0]){try{I[0].focus();}catch(J){}}},0);},doSelectCell:function(M,G){var R,O,I,L;var N=A.getTarget(M),H=N.tagName.toLowerCase(),K=false;while(H!="td"&&!C.hasClass(N,G.Style.CSS_CELL_SELECTABLE)){if(!K&&H=="a"&&C.hasClass(N,G.Style.CSS_CELL_SELECTOR)){K=true;}N=N.parentNode;H=N.tagName.toLowerCase();if(N==this.oDomContainer||H=="html"){return ;}}if(K){A.preventDefault(M);}R=N;if(C.hasClass(R,G.Style.CSS_CELL_SELECTABLE)){L=G.getIndexFromId(R.id);if(L>-1){O=G.cellDates[L];if(O){I=D.getDate(O[0],O[1]-1,O[2]);var Q;if(G.Options.MULTI_SELECT){Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}var J=G.cellDates[L];var P=G._indexOfSelectedFieldArray(J);if(P>-1){G.deselectCell(L);}else{G.selectCell(L);}}else{Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}G.selectCell(L);}}}}},doCellMouseOver:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return ;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.addClass(G,H.Style.CSS_CELL_HOVER);}},doCellMouseOut:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return ;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.removeClass(G,H.Style.CSS_CELL_HOVER);}},setupConfig:function(){var G=this.cfg;G.addProperty(B.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});G.addProperty(B.SELECTED.key,{value:[],handler:this.configSelected});G.addProperty(B.TITLE.key,{value:B.TITLE.value,handler:this.configTitle});G.addProperty(B.CLOSE.key,{value:B.CLOSE.value,handler:this.configClose});G.addProperty(B.IFRAME.key,{value:B.IFRAME.value,handler:this.configIframe,validator:G.checkBoolean});G.addProperty(B.MINDATE.key,{value:B.MINDATE.value,handler:this.configMinDate});G.addProperty(B.MAXDATE.key,{value:B.MAXDATE.value,handler:this.configMaxDate});G.addProperty(B.MULTI_SELECT.key,{value:B.MULTI_SELECT.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.START_WEEKDAY.key,{value:B.START_WEEKDAY.value,handler:this.configOptions,validator:G.checkNumber});G.addProperty(B.SHOW_WEEKDAYS.key,{value:B.SHOW_WEEKDAYS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_HEADER.key,{value:B.SHOW_WEEK_HEADER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_FOOTER.key,{value:B.SHOW_WEEK_FOOTER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.HIDE_BLANK_WEEKS.key,{value:B.HIDE_BLANK_WEEKS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.NAV_ARROW_LEFT.key,{value:B.NAV_ARROW_LEFT.value,handler:this.configOptions});G.addProperty(B.NAV_ARROW_RIGHT.key,{value:B.NAV_ARROW_RIGHT.value,handler:this.configOptions});G.addProperty(B.MONTHS_SHORT.key,{value:B.MONTHS_SHORT.value,handler:this.configLocale});G.addProperty(B.MONTHS_LONG.key,{value:B.MONTHS_LONG.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_1CHAR.key,{value:B.WEEKDAYS_1CHAR.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_SHORT.key,{value:B.WEEKDAYS_SHORT.value,handler:this.configLocale}); -G.addProperty(B.WEEKDAYS_MEDIUM.key,{value:B.WEEKDAYS_MEDIUM.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_LONG.key,{value:B.WEEKDAYS_LONG.value,handler:this.configLocale});var H=function(){G.refireEvent(B.LOCALE_MONTHS.key);G.refireEvent(B.LOCALE_WEEKDAYS.key);};G.subscribeToConfigEvent(B.START_WEEKDAY.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_LONG.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_1CHAR.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_MEDIUM.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_LONG.key,H,this,true);G.addProperty(B.LOCALE_MONTHS.key,{value:B.LOCALE_MONTHS.value,handler:this.configLocaleValues});G.addProperty(B.LOCALE_WEEKDAYS.key,{value:B.LOCALE_WEEKDAYS.value,handler:this.configLocaleValues});G.addProperty(B.DATE_DELIMITER.key,{value:B.DATE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_FIELD_DELIMITER.key,{value:B.DATE_FIELD_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_RANGE_DELIMITER.key,{value:B.DATE_RANGE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.MY_MONTH_POSITION.key,{value:B.MY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_YEAR_POSITION.key,{value:B.MY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_MONTH_POSITION.key,{value:B.MD_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_DAY_POSITION.key,{value:B.MD_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_MONTH_POSITION.key,{value:B.MDY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_DAY_POSITION.key,{value:B.MDY_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_YEAR_POSITION.key,{value:B.MDY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_POSITION.key,{value:B.MY_LABEL_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_YEAR_POSITION.key,{value:B.MY_LABEL_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_SUFFIX.key,{value:B.MY_LABEL_MONTH_SUFFIX.value,handler:this.configLocale});G.addProperty(B.MY_LABEL_YEAR_SUFFIX.key,{value:B.MY_LABEL_YEAR_SUFFIX.value,handler:this.configLocale});G.addProperty(B.NAV.key,{value:B.NAV.value,handler:this.configNavigator});G.addProperty(B.STRINGS.key,{value:B.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:B.STRINGS.supercedes});},configStrings:function(H,G,I){var J=E.merge(B.STRINGS.value,G[0]);this.cfg.setProperty(B.STRINGS.key,J,true);},configPageDate:function(H,G,I){this.cfg.setProperty(B.PAGEDATE.key,this._parsePageDate(G[0]),true);},configMinDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MINDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configMaxDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MAXDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configSelected:function(I,G,K){var H=G[0],J=B.SELECTED.key;if(H){if(E.isString(H)){this.cfg.setProperty(J,this._parseDates(H),true);}}if(!this._selectedDates){this._selectedDates=this.cfg.getProperty(J);}},configOptions:function(H,G,I){this.Options[H.toUpperCase()]=G[0];},configLocale:function(H,G,I){this.Locale[H.toUpperCase()]=G[0];this.cfg.refireEvent(B.LOCALE_MONTHS.key);this.cfg.refireEvent(B.LOCALE_WEEKDAYS.key);},configLocaleValues:function(J,I,K){J=J.toLowerCase();var M=I[0],H=this.cfg,N=this.Locale;switch(J){case B.LOCALE_MONTHS.key:switch(M){case F.SHORT:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_SHORT.key).concat();break;case F.LONG:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_LONG.key).concat();break;}break;case B.LOCALE_WEEKDAYS.key:switch(M){case F.ONE_CHAR:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_1CHAR.key).concat();break;case F.SHORT:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_SHORT.key).concat();break;case F.MEDIUM:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_MEDIUM.key).concat();break;case F.LONG:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_LONG.key).concat();break;}var L=H.getProperty(B.START_WEEKDAY.key);if(L>0){for(var G=0;G<L;++G){N.LOCALE_WEEKDAYS.push(N.LOCALE_WEEKDAYS.shift());}}break;}},configNavigator:function(H,G,I){var J=G[0];if(YAHOO.widget.CalendarNavigator&&(J===true||E.isObject(J))){if(!this.oNavigator){this.oNavigator=new YAHOO.widget.CalendarNavigator(this);this.beforeRenderEvent.subscribe(function(){if(!this.pages){this.oNavigator.erase();}},this,true);}}else{if(this.oNavigator){this.oNavigator.destroy();this.oNavigator=null;}}},initStyles:function(){var G=F._STYLES;this.Style={CSS_ROW_HEADER:G.CSS_ROW_HEADER,CSS_ROW_FOOTER:G.CSS_ROW_FOOTER,CSS_CELL:G.CSS_CELL,CSS_CELL_SELECTOR:G.CSS_CELL_SELECTOR,CSS_CELL_SELECTED:G.CSS_CELL_SELECTED,CSS_CELL_SELECTABLE:G.CSS_CELL_SELECTABLE,CSS_CELL_RESTRICTED:G.CSS_CELL_RESTRICTED,CSS_CELL_TODAY:G.CSS_CELL_TODAY,CSS_CELL_OOM:G.CSS_CELL_OOM,CSS_CELL_OOB:G.CSS_CELL_OOB,CSS_HEADER:G.CSS_HEADER,CSS_HEADER_TEXT:G.CSS_HEADER_TEXT,CSS_BODY:G.CSS_BODY,CSS_WEEKDAY_CELL:G.CSS_WEEKDAY_CELL,CSS_WEEKDAY_ROW:G.CSS_WEEKDAY_ROW,CSS_FOOTER:G.CSS_FOOTER,CSS_CALENDAR:G.CSS_CALENDAR,CSS_SINGLE:G.CSS_SINGLE,CSS_CONTAINER:G.CSS_CONTAINER,CSS_NAV_LEFT:G.CSS_NAV_LEFT,CSS_NAV_RIGHT:G.CSS_NAV_RIGHT,CSS_NAV:G.CSS_NAV,CSS_CLOSE:G.CSS_CLOSE,CSS_CELL_TOP:G.CSS_CELL_TOP,CSS_CELL_LEFT:G.CSS_CELL_LEFT,CSS_CELL_RIGHT:G.CSS_CELL_RIGHT,CSS_CELL_BOTTOM:G.CSS_CELL_BOTTOM,CSS_CELL_HOVER:G.CSS_CELL_HOVER,CSS_CELL_HIGHLIGHT1:G.CSS_CELL_HIGHLIGHT1,CSS_CELL_HIGHLIGHT2:G.CSS_CELL_HIGHLIGHT2,CSS_CELL_HIGHLIGHT3:G.CSS_CELL_HIGHLIGHT3,CSS_CELL_HIGHLIGHT4:G.CSS_CELL_HIGHLIGHT4};},buildMonthLabel:function(){return this._buildMonthLabel(this.cfg.getProperty(B.PAGEDATE.key));},_buildMonthLabel:function(G){var I=this.Locale.LOCALE_MONTHS[G.getMonth()]+this.Locale.MY_LABEL_MONTH_SUFFIX,H=G.getFullYear()+this.Locale.MY_LABEL_YEAR_SUFFIX; -if(this.Locale.MY_LABEL_MONTH_POSITION==2||this.Locale.MY_LABEL_YEAR_POSITION==1){return H+I;}else{return I+H;}},buildDayLabel:function(G){return G.getDate();},createTitleBar:function(G){var H=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||document.createElement("div");H.className=YAHOO.widget.CalendarGroup.CSS_2UPTITLE;H.innerHTML=G;this.oDomContainer.insertBefore(H,this.oDomContainer.firstChild);C.addClass(this.oDomContainer,"withtitle");return H;},removeTitleBar:function(){var G=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}C.removeClass(this.oDomContainer,"withtitle");},createCloseButton:function(){var J=YAHOO.widget.CalendarGroup.CSS_2UPCLOSE,L="us/my/bn/x_d.gif",K=C.getElementsByClassName("link-close","a",this.oDomContainer)[0],G=this.cfg.getProperty(B.STRINGS.key),H=(G&&G.close)?G.close:"";if(!K){K=document.createElement("a");A.addListener(K,"click",function(N,M){M.hide();A.preventDefault(N);},this);}K.href="#";K.className="link-close";if(F.IMG_ROOT!==null){var I=C.getElementsByClassName(J,"img",K)[0]||document.createElement("img");I.src=F.IMG_ROOT+L;I.className=J;K.appendChild(I);}else{K.innerHTML='<span class="'+J+" "+this.Style.CSS_CLOSE+'">'+H+"</span>";}this.oDomContainer.appendChild(K);return K;},removeCloseButton:function(){var G=C.getElementsByClassName("link-close","a",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}},renderHeader:function(Q){var P=7,O="us/tr/callt.gif",G="us/tr/calrt.gif",N=this.cfg,K=N.getProperty(B.PAGEDATE.key),L=N.getProperty(B.STRINGS.key),V=(L&&L.previousMonth)?L.previousMonth:"",H=(L&&L.nextMonth)?L.nextMonth:"",M;if(N.getProperty(B.SHOW_WEEK_HEADER.key)){P+=1;}if(N.getProperty(B.SHOW_WEEK_FOOTER.key)){P+=1;}Q[Q.length]="<thead>";Q[Q.length]="<tr>";Q[Q.length]='<th colspan="'+P+'" class="'+this.Style.CSS_HEADER_TEXT+'">';Q[Q.length]='<div class="'+this.Style.CSS_HEADER+'">';var X,U=false;if(this.parent){if(this.index===0){X=true;}if(this.index==(this.parent.cfg.getProperty("pages")-1)){U=true;}}else{X=true;U=true;}if(X){M=this._buildMonthLabel(D.subtract(K,D.MONTH,1));var R=N.getProperty(B.NAV_ARROW_LEFT.key);if(R===null&&F.IMG_ROOT!==null){R=F.IMG_ROOT+O;}var I=(R===null)?"":' style="background-image:url('+R+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_LEFT+'"'+I+' href="#">'+V+" ("+M+")"+"</a>";}var W=this.buildMonthLabel();var S=this.parent||this;if(S.cfg.getProperty("navigator")){W='<a class="'+this.Style.CSS_NAV+'" href="#">'+W+"</a>";}Q[Q.length]=W;if(U){M=this._buildMonthLabel(D.add(K,D.MONTH,1));var T=N.getProperty(B.NAV_ARROW_RIGHT.key);if(T===null&&F.IMG_ROOT!==null){T=F.IMG_ROOT+G;}var J=(T===null)?"":' style="background-image:url('+T+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_RIGHT+'"'+J+' href="#">'+H+" ("+M+")"+"</a>";}Q[Q.length]="</div>\n</th>\n</tr>";if(N.getProperty(B.SHOW_WEEKDAYS.key)){Q=this.buildWeekdays(Q);}Q[Q.length]="</thead>";return Q;},buildWeekdays:function(H){H[H.length]='<tr class="'+this.Style.CSS_WEEKDAY_ROW+'">';if(this.cfg.getProperty(B.SHOW_WEEK_HEADER.key)){H[H.length]="<th> </th>";}for(var G=0;G<this.Locale.LOCALE_WEEKDAYS.length;++G){H[H.length]='<th class="calweekdaycell">'+this.Locale.LOCALE_WEEKDAYS[G]+"</th>";}if(this.cfg.getProperty(B.SHOW_WEEK_FOOTER.key)){H[H.length]="<th> </th>";}H[H.length]="</tr>";return H;},renderBody:function(l,j){var AJ=this.cfg.getProperty(B.START_WEEKDAY.key);this.preMonthDays=l.getDay();if(AJ>0){this.preMonthDays-=AJ;}if(this.preMonthDays<0){this.preMonthDays+=7;}this.monthDays=D.findMonthEnd(l).getDate();this.postMonthDays=F.DISPLAY_DAYS-this.preMonthDays-this.monthDays;l=D.subtract(l,D.DAY,this.preMonthDays);var X,N,M="w",e="_cell",b="wd",v="d",P,q,AB=this.today,O=this.cfg,V=AB.getFullYear(),u=AB.getMonth(),J=AB.getDate(),AA=O.getProperty(B.PAGEDATE.key),I=O.getProperty(B.HIDE_BLANK_WEEKS.key),h=O.getProperty(B.SHOW_WEEK_FOOTER.key),a=O.getProperty(B.SHOW_WEEK_HEADER.key),T=O.getProperty(B.MINDATE.key),Z=O.getProperty(B.MAXDATE.key);if(T){T=D.clearTime(T);}if(Z){Z=D.clearTime(Z);}j[j.length]='<tbody class="m'+(AA.getMonth()+1)+" "+this.Style.CSS_BODY+'">';var AH=0,Q=document.createElement("div"),k=document.createElement("td");Q.appendChild(k);var z=this.parent||this;for(var AD=0;AD<6;AD++){X=D.getWeekNumber(l,AJ);N=M+X;if(AD!==0&&I===true&&l.getMonth()!=AA.getMonth()){break;}else{j[j.length]='<tr class="'+N+'">';if(a){j=this.renderRowHeader(X,j);}for(var AI=0;AI<7;AI++){P=[];this.clearElement(k);k.className=this.Style.CSS_CELL;k.id=this.id+e+AH;if(l.getDate()==J&&l.getMonth()==u&&l.getFullYear()==V){P[P.length]=z.renderCellStyleToday;}var Y=[l.getFullYear(),l.getMonth()+1,l.getDate()];this.cellDates[this.cellDates.length]=Y;if(l.getMonth()!=AA.getMonth()){P[P.length]=z.renderCellNotThisMonth;}else{C.addClass(k,b+l.getDay());C.addClass(k,v+l.getDate());for(var AC=0;AC<this.renderStack.length;++AC){q=null;var w=this.renderStack[AC],AK=w[0],H,c,L;switch(AK){case F.DATE:H=w[1][1];c=w[1][2];L=w[1][0];if(l.getMonth()+1==H&&l.getDate()==c&&l.getFullYear()==L){q=w[2];this.renderStack.splice(AC,1);}break;case F.MONTH_DAY:H=w[1][0];c=w[1][1];if(l.getMonth()+1==H&&l.getDate()==c){q=w[2];this.renderStack.splice(AC,1);}break;case F.RANGE:var g=w[1][0],f=w[1][1],m=g[1],S=g[2],W=g[0],AG=D.getDate(W,m-1,S),K=f[1],o=f[2],G=f[0],AF=D.getDate(G,K-1,o);if(l.getTime()>=AG.getTime()&&l.getTime()<=AF.getTime()){q=w[2];if(l.getTime()==AF.getTime()){this.renderStack.splice(AC,1);}}break;case F.WEEKDAY:var R=w[1][0];if(l.getDay()+1==R){q=w[2];}break;case F.MONTH:H=w[1][0];if(l.getMonth()+1==H){q=w[2];}break;}if(q){P[P.length]=q;}}}if(this._indexOfSelectedFieldArray(Y)>-1){P[P.length]=z.renderCellStyleSelected;}if((T&&(l.getTime()<T.getTime()))||(Z&&(l.getTime()>Z.getTime()))){P[P.length]=z.renderOutOfBoundsDate;}else{P[P.length]=z.styleCellDefault;P[P.length]=z.renderCellDefault;}for(var y=0; -y<P.length;++y){if(P[y].call(z,l,k)==F.STOP_RENDER){break;}}l.setTime(l.getTime()+D.ONE_DAY_MS);l=D.clearTime(l);if(AH>=0&&AH<=6){C.addClass(k,this.Style.CSS_CELL_TOP);}if((AH%7)===0){C.addClass(k,this.Style.CSS_CELL_LEFT);}if(((AH+1)%7)===0){C.addClass(k,this.Style.CSS_CELL_RIGHT);}var n=this.postMonthDays;if(I&&n>=7){var U=Math.floor(n/7);for(var AE=0;AE<U;++AE){n-=7;}}if(AH>=((this.preMonthDays+n+this.monthDays)-7)){C.addClass(k,this.Style.CSS_CELL_BOTTOM);}j[j.length]=Q.innerHTML;AH++;}if(h){j=this.renderRowFooter(X,j);}j[j.length]="</tr>";}}j[j.length]="</tbody>";return j;},renderFooter:function(G){return G;},render:function(){this.beforeRenderEvent.fire();var H=D.findMonthStart(this.cfg.getProperty(B.PAGEDATE.key));this.resetRenderers();this.cellDates.length=0;A.purgeElement(this.oDomContainer,true);var G=[];G[G.length]='<table cellSpacing="0" class="'+this.Style.CSS_CALENDAR+" y"+H.getFullYear()+'" id="'+this.id+'">';G=this.renderHeader(G);G=this.renderBody(H,G);G=this.renderFooter(G);G[G.length]="</table>";this.oDomContainer.innerHTML=G.join("\n");this.applyListeners();this.cells=this.oDomContainer.getElementsByTagName("td");this.cfg.refireEvent(B.TITLE.key);this.cfg.refireEvent(B.CLOSE.key);this.cfg.refireEvent(B.IFRAME.key);this.renderEvent.fire();},applyListeners:function(){var P=this.oDomContainer,H=this.parent||this,L="a",S="click";var M=C.getElementsByClassName(this.Style.CSS_NAV_LEFT,L,P),I=C.getElementsByClassName(this.Style.CSS_NAV_RIGHT,L,P);if(M&&M.length>0){this.linkLeft=M[0];A.addListener(this.linkLeft,S,this.doPreviousMonthNav,H,true);}if(I&&I.length>0){this.linkRight=I[0];A.addListener(this.linkRight,S,this.doNextMonthNav,H,true);}if(H.cfg.getProperty("navigator")!==null){this.applyNavListeners();}if(this.domEventMap){var J,G;for(var R in this.domEventMap){if(E.hasOwnProperty(this.domEventMap,R)){var N=this.domEventMap[R];if(!(N instanceof Array)){N=[N];}for(var K=0;K<N.length;K++){var Q=N[K];G=C.getElementsByClassName(R,Q.tag,this.oDomContainer);for(var O=0;O<G.length;O++){J=G[O];A.addListener(J,Q.event,Q.handler,Q.scope,Q.correct);}}}}}A.addListener(this.oDomContainer,"click",this.doSelectCell,this);A.addListener(this.oDomContainer,"mouseover",this.doCellMouseOver,this);A.addListener(this.oDomContainer,"mouseout",this.doCellMouseOut,this);},applyNavListeners:function(){var H=this.parent||this,I=this,G=C.getElementsByClassName(this.Style.CSS_NAV,"a",this.oDomContainer);if(G.length>0){A.addListener(G,"click",function(N,M){var L=A.getTarget(N);if(this===L||C.isAncestor(this,L)){A.preventDefault(N);}var J=H.oNavigator;if(J){var K=I.cfg.getProperty("pagedate");J.setYear(K.getFullYear());J.setMonth(K.getMonth());J.show();}});}},getDateByCellId:function(H){var G=this.getDateFieldsByCellId(H);return(G)?D.getDate(G[0],G[1]-1,G[2]):null;},getDateFieldsByCellId:function(G){G=this.getIndexFromId(G);return(G>-1)?this.cellDates[G]:null;},getCellIndex:function(I){var H=-1;if(I){var G=I.getMonth(),N=I.getFullYear(),M=I.getDate(),K=this.cellDates;for(var J=0;J<K.length;++J){var L=K[J];if(L[0]===N&&L[1]===G+1&&L[2]===M){H=J;break;}}}return H;},getIndexFromId:function(I){var H=-1,G=I.lastIndexOf("_cell");if(G>-1){H=parseInt(I.substring(G+5),10);}return H;},renderOutOfBoundsDate:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOB);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderRowHeader:function(H,G){G[G.length]='<th class="calrowhead">'+H+"</th>";return G;},renderRowFooter:function(H,G){G[G.length]='<th class="calrowfoot">'+H+"</th>";return G;},renderCellDefault:function(H,G){G.innerHTML='<a href="#" class="'+this.Style.CSS_CELL_SELECTOR+'">'+this.buildDayLabel(H)+"</a>";},styleCellDefault:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTABLE);},renderCellStyleHighlight1:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT1);},renderCellStyleHighlight2:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT2);},renderCellStyleHighlight3:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT3);},renderCellStyleHighlight4:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT4);},renderCellStyleToday:function(H,G){C.addClass(G,this.Style.CSS_CELL_TODAY);},renderCellStyleSelected:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTED);},renderCellNotThisMonth:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOM);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderBodyCellRestricted:function(H,G){C.addClass(G,this.Style.CSS_CELL);C.addClass(G,this.Style.CSS_CELL_RESTRICTED);G.innerHTML=H.getDate();return F.STOP_RENDER;},addMonths:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.add(this.cfg.getProperty(G),D.MONTH,H));this.resetRenderers();this.changePageEvent.fire();},subtractMonths:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.subtract(this.cfg.getProperty(G),D.MONTH,H));this.resetRenderers();this.changePageEvent.fire();},addYears:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.add(this.cfg.getProperty(G),D.YEAR,H));this.resetRenderers();this.changePageEvent.fire();},subtractYears:function(H){var G=B.PAGEDATE.key;this.cfg.setProperty(G,D.subtract(this.cfg.getProperty(G),D.YEAR,H));this.resetRenderers();this.changePageEvent.fire();},nextMonth:function(){this.addMonths(1);},previousMonth:function(){this.subtractMonths(1);},nextYear:function(){this.addYears(1);},previousYear:function(){this.subtractYears(1);},reset:function(){this.cfg.resetProperty(B.SELECTED.key);this.cfg.resetProperty(B.PAGEDATE.key);this.resetEvent.fire();},clear:function(){this.cfg.setProperty(B.SELECTED.key,[]);this.cfg.setProperty(B.PAGEDATE.key,new Date(this.today.getTime()));this.clearEvent.fire();},select:function(I){var L=this._toFieldArray(I),H=[],K=[],M=B.SELECTED.key;for(var G=0;G<L.length;++G){var J=L[G];if(!this.isDateOOB(this._toDate(J))){if(H.length===0){this.beforeSelectEvent.fire();K=this.cfg.getProperty(M);}H.push(J);if(this._indexOfSelectedFieldArray(J)==-1){K[K.length]=J;}}}if(H.length>0){if(this.parent){this.parent.cfg.setProperty(M,K);}else{this.cfg.setProperty(M,K); -}this.selectEvent.fire(H);}return this.getSelectedDates();},selectCell:function(J){var H=this.cells[J],N=this.cellDates[J],M=this._toDate(N),I=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(I){this.beforeSelectEvent.fire();var L=B.SELECTED.key;var K=this.cfg.getProperty(L);var G=N.concat();if(this._indexOfSelectedFieldArray(G)==-1){K[K.length]=G;}if(this.parent){this.parent.cfg.setProperty(L,K);}else{this.cfg.setProperty(L,K);}this.renderCellStyleSelected(M,H);this.selectEvent.fire([G]);this.doCellMouseOut.call(H,null,this);}return this.getSelectedDates();},deselect:function(K){var G=this._toFieldArray(K),J=[],M=[],N=B.SELECTED.key;for(var H=0;H<G.length;++H){var L=G[H];if(!this.isDateOOB(this._toDate(L))){if(J.length===0){this.beforeDeselectEvent.fire();M=this.cfg.getProperty(N);}J.push(L);var I=this._indexOfSelectedFieldArray(L);if(I!=-1){M.splice(I,1);}}}if(J.length>0){if(this.parent){this.parent.cfg.setProperty(N,M);}else{this.cfg.setProperty(N,M);}this.deselectEvent.fire(J);}return this.getSelectedDates();},deselectCell:function(K){var H=this.cells[K],N=this.cellDates[K],I=this._indexOfSelectedFieldArray(N);var J=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(J){this.beforeDeselectEvent.fire();var L=this.cfg.getProperty(B.SELECTED.key),M=this._toDate(N),G=N.concat();if(I>-1){if(this.cfg.getProperty(B.PAGEDATE.key).getMonth()==M.getMonth()&&this.cfg.getProperty(B.PAGEDATE.key).getFullYear()==M.getFullYear()){C.removeClass(H,this.Style.CSS_CELL_SELECTED);}L.splice(I,1);}if(this.parent){this.parent.cfg.setProperty(B.SELECTED.key,L);}else{this.cfg.setProperty(B.SELECTED.key,L);}this.deselectEvent.fire(G);}return this.getSelectedDates();},deselectAll:function(){this.beforeDeselectEvent.fire();var J=B.SELECTED.key,G=this.cfg.getProperty(J),H=G.length,I=G.concat();if(this.parent){this.parent.cfg.setProperty(J,[]);}else{this.cfg.setProperty(J,[]);}if(H>0){this.deselectEvent.fire(I);}return this.getSelectedDates();},_toFieldArray:function(H){var G=[];if(H instanceof Date){G=[[H.getFullYear(),H.getMonth()+1,H.getDate()]];}else{if(E.isString(H)){G=this._parseDates(H);}else{if(E.isArray(H)){for(var I=0;I<H.length;++I){var J=H[I];G[G.length]=[J.getFullYear(),J.getMonth()+1,J.getDate()];}}}}return G;},toDate:function(G){return this._toDate(G);},_toDate:function(G){if(G instanceof Date){return G;}else{return D.getDate(G[0],G[1]-1,G[2]);}},_fieldArraysAreEqual:function(I,H){var G=false;if(I[0]==H[0]&&I[1]==H[1]&&I[2]==H[2]){G=true;}return G;},_indexOfSelectedFieldArray:function(K){var J=-1,G=this.cfg.getProperty(B.SELECTED.key);for(var I=0;I<G.length;++I){var H=G[I];if(K[0]==H[0]&&K[1]==H[1]&&K[2]==H[2]){J=I;break;}}return J;},isDateOOM:function(G){return(G.getMonth()!=this.cfg.getProperty(B.PAGEDATE.key).getMonth());},isDateOOB:function(I){var J=this.cfg.getProperty(B.MINDATE.key),K=this.cfg.getProperty(B.MAXDATE.key),H=D;if(J){J=H.clearTime(J);}if(K){K=H.clearTime(K);}var G=new Date(I.getTime());G=H.clearTime(G);return((J&&G.getTime()<J.getTime())||(K&&G.getTime()>K.getTime()));},_parsePageDate:function(G){var J;if(G){if(G instanceof Date){J=D.findMonthStart(G);}else{var K,I,H;H=G.split(this.cfg.getProperty(B.DATE_FIELD_DELIMITER.key));K=parseInt(H[this.cfg.getProperty(B.MY_MONTH_POSITION.key)-1],10)-1;I=parseInt(H[this.cfg.getProperty(B.MY_YEAR_POSITION.key)-1],10);J=D.getDate(I,K,1);}}else{J=D.getDate(this.today.getFullYear(),this.today.getMonth(),1);}return J;},onBeforeSelect:function(){if(this.cfg.getProperty(B.MULTI_SELECT.key)===false){if(this.parent){this.parent.callChildFunction("clearAllBodyCellStyles",this.Style.CSS_CELL_SELECTED);this.parent.deselectAll();}else{this.clearAllBodyCellStyles(this.Style.CSS_CELL_SELECTED);this.deselectAll();}}},onSelect:function(G){},onBeforeDeselect:function(){},onDeselect:function(G){},onChangePage:function(){this.render();},onRender:function(){},onReset:function(){this.render();},onClear:function(){this.render();},validate:function(){return true;},_parseDate:function(I){var J=I.split(this.Locale.DATE_FIELD_DELIMITER),G;if(J.length==2){G=[J[this.Locale.MD_MONTH_POSITION-1],J[this.Locale.MD_DAY_POSITION-1]];G.type=F.MONTH_DAY;}else{G=[J[this.Locale.MDY_YEAR_POSITION-1],J[this.Locale.MDY_MONTH_POSITION-1],J[this.Locale.MDY_DAY_POSITION-1]];G.type=F.DATE;}for(var H=0;H<G.length;H++){G[H]=parseInt(G[H],10);}return G;},_parseDates:function(H){var O=[],N=H.split(this.Locale.DATE_DELIMITER);for(var M=0;M<N.length;++M){var L=N[M];if(L.indexOf(this.Locale.DATE_RANGE_DELIMITER)!=-1){var G=L.split(this.Locale.DATE_RANGE_DELIMITER),K=this._parseDate(G[0]),P=this._parseDate(G[1]),J=this._parseRange(K,P);O=O.concat(J);}else{var I=this._parseDate(L);O.push(I);}}return O;},_parseRange:function(G,K){var H=D.add(D.getDate(G[0],G[1]-1,G[2]),D.DAY,1),J=D.getDate(K[0],K[1]-1,K[2]),I=[];I.push(G);while(H.getTime()<=J.getTime()){I.push([H.getFullYear(),H.getMonth()+1,H.getDate()]);H=D.add(H,D.DAY,1);}return I;},resetRenderers:function(){this.renderStack=this._renderStack.concat();},removeRenderers:function(){this._renderStack=[];this.renderStack=[];},clearElement:function(G){G.innerHTML=" ";G.className="";},addRenderer:function(G,H){var J=this._parseDates(G);for(var I=0;I<J.length;++I){var K=J[I];if(K.length==2){if(K[0] instanceof Array){this._addRenderer(F.RANGE,K,H);}else{this._addRenderer(F.MONTH_DAY,K,H);}}else{if(K.length==3){this._addRenderer(F.DATE,K,H);}}}},_addRenderer:function(H,I,G){var J=[H,I,G];this.renderStack.unshift(J);this._renderStack=this.renderStack.concat();},addMonthRenderer:function(H,G){this._addRenderer(F.MONTH,[H],G);},addWeekdayRenderer:function(H,G){this._addRenderer(F.WEEKDAY,[H],G);},clearAllBodyCellStyles:function(G){for(var H=0;H<this.cells.length;++H){C.removeClass(this.cells[H],G);}},setMonth:function(I){var G=B.PAGEDATE.key,H=this.cfg.getProperty(G);H.setMonth(parseInt(I,10));this.cfg.setProperty(G,H);},setYear:function(H){var G=B.PAGEDATE.key,I=this.cfg.getProperty(G);I.setFullYear(parseInt(H,10));this.cfg.setProperty(G,I);},getSelectedDates:function(){var I=[],H=this.cfg.getProperty(B.SELECTED.key); -for(var K=0;K<H.length;++K){var J=H[K];var G=D.getDate(J[0],J[1]-1,J[2]);I.push(G);}I.sort(function(M,L){return M-L;});return I;},hide:function(){if(this.beforeHideEvent.fire()){this.oDomContainer.style.display="none";this.hideEvent.fire();}},show:function(){if(this.beforeShowEvent.fire()){this.oDomContainer.style.display="block";this.showEvent.fire();}},browser:(function(){var G=navigator.userAgent.toLowerCase();if(G.indexOf("opera")!=-1){return"opera";}else{if(G.indexOf("msie 7")!=-1){return"ie7";}else{if(G.indexOf("msie")!=-1){return"ie";}else{if(G.indexOf("safari")!=-1){return"safari";}else{if(G.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}})(),toString:function(){return"Calendar "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var G=this;if(G.navigator){G.navigator.destroy();}if(G.cfg){G.cfg.destroy();}A.purgeElement(G.oDomContainer,true);C.removeClass(G.oDomContainer,"withtitle");C.removeClass(G.oDomContainer,G.Style.CSS_CONTAINER);C.removeClass(G.oDomContainer,G.Style.CSS_SINGLE);G.oDomContainer.innerHTML="";G.oDomContainer=null;G.cells=null;this.destroyEvent.fire();}}};YAHOO.widget.Calendar=F;YAHOO.widget.Calendar_Core=YAHOO.widget.Calendar;YAHOO.widget.Cal_Core=YAHOO.widget.Calendar;})();(function(){var D=YAHOO.util.Dom,F=YAHOO.widget.DateMath,A=YAHOO.util.Event,E=YAHOO.lang,G=YAHOO.widget.Calendar;function B(J,H,I){if(arguments.length>0){this.init.apply(this,arguments);}}B._DEFAULT_CONFIG=G._DEFAULT_CONFIG;B._DEFAULT_CONFIG.PAGES={key:"pages",value:2};var C=B._DEFAULT_CONFIG;B.prototype={init:function(K,I,J){var H=this._parseArgs(arguments);K=H.id;I=H.container;J=H.config;this.oDomContainer=D.get(I);if(!this.oDomContainer.id){this.oDomContainer.id=D.generateId();}if(!K){K=this.oDomContainer.id+"_t";}this.id=K;this.containerId=this.oDomContainer.id;this.initEvents();this.initStyles();this.pages=[];D.addClass(this.oDomContainer,B.CSS_CONTAINER);D.addClass(this.oDomContainer,B.CSS_MULTI_UP);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.setupConfig();if(J){this.cfg.applyConfig(J,true);}this.cfg.fireQueue();if(YAHOO.env.ua.opera){this.renderEvent.subscribe(this._fixWidth,this,true);this.showEvent.subscribe(this._fixWidth,this,true);}},setupConfig:function(){var H=this.cfg;H.addProperty(C.PAGES.key,{value:C.PAGES.value,validator:H.checkNumber,handler:this.configPages});H.addProperty(C.PAGEDATE.key,{value:new Date(),handler:this.configPageDate});H.addProperty(C.SELECTED.key,{value:[],handler:this.configSelected});H.addProperty(C.TITLE.key,{value:C.TITLE.value,handler:this.configTitle});H.addProperty(C.CLOSE.key,{value:C.CLOSE.value,handler:this.configClose});H.addProperty(C.IFRAME.key,{value:C.IFRAME.value,handler:this.configIframe,validator:H.checkBoolean});H.addProperty(C.MINDATE.key,{value:C.MINDATE.value,handler:this.delegateConfig});H.addProperty(C.MAXDATE.key,{value:C.MAXDATE.value,handler:this.delegateConfig});H.addProperty(C.MULTI_SELECT.key,{value:C.MULTI_SELECT.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.START_WEEKDAY.key,{value:C.START_WEEKDAY.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.SHOW_WEEKDAYS.key,{value:C.SHOW_WEEKDAYS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_HEADER.key,{value:C.SHOW_WEEK_HEADER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_FOOTER.key,{value:C.SHOW_WEEK_FOOTER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.HIDE_BLANK_WEEKS.key,{value:C.HIDE_BLANK_WEEKS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.NAV_ARROW_LEFT.key,{value:C.NAV_ARROW_LEFT.value,handler:this.delegateConfig});H.addProperty(C.NAV_ARROW_RIGHT.key,{value:C.NAV_ARROW_RIGHT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_SHORT.key,{value:C.MONTHS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_LONG.key,{value:C.MONTHS_LONG.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_1CHAR.key,{value:C.WEEKDAYS_1CHAR.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_SHORT.key,{value:C.WEEKDAYS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_MEDIUM.key,{value:C.WEEKDAYS_MEDIUM.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_LONG.key,{value:C.WEEKDAYS_LONG.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_MONTHS.key,{value:C.LOCALE_MONTHS.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_WEEKDAYS.key,{value:C.LOCALE_WEEKDAYS.value,handler:this.delegateConfig});H.addProperty(C.DATE_DELIMITER.key,{value:C.DATE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_FIELD_DELIMITER.key,{value:C.DATE_FIELD_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_RANGE_DELIMITER.key,{value:C.DATE_RANGE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.MY_MONTH_POSITION.key,{value:C.MY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_YEAR_POSITION.key,{value:C.MY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MD_MONTH_POSITION.key,{value:C.MD_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MD_DAY_POSITION.key,{value:C.MD_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_MONTH_POSITION.key,{value:C.MDY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_DAY_POSITION.key,{value:C.MDY_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_YEAR_POSITION.key,{value:C.MDY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_MONTH_POSITION.key,{value:C.MY_LABEL_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_YEAR_POSITION.key,{value:C.MY_LABEL_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber}); -H.addProperty(C.MY_LABEL_MONTH_SUFFIX.key,{value:C.MY_LABEL_MONTH_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.MY_LABEL_YEAR_SUFFIX.key,{value:C.MY_LABEL_YEAR_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.NAV.key,{value:C.NAV.value,handler:this.configNavigator});H.addProperty(C.STRINGS.key,{value:C.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:C.STRINGS.supercedes});},initEvents:function(){var J=this,L="Event",M=YAHOO.util.CustomEvent;var I=function(O,R,N){for(var Q=0;Q<J.pages.length;++Q){var P=J.pages[Q];P[this.type+L].subscribe(O,R,N);}};var H=function(N,Q){for(var P=0;P<J.pages.length;++P){var O=J.pages[P];O[this.type+L].unsubscribe(N,Q);}};var K=G._EVENT_TYPES;J.beforeSelectEvent=new M(K.BEFORE_SELECT);J.beforeSelectEvent.subscribe=I;J.beforeSelectEvent.unsubscribe=H;J.selectEvent=new M(K.SELECT);J.selectEvent.subscribe=I;J.selectEvent.unsubscribe=H;J.beforeDeselectEvent=new M(K.BEFORE_DESELECT);J.beforeDeselectEvent.subscribe=I;J.beforeDeselectEvent.unsubscribe=H;J.deselectEvent=new M(K.DESELECT);J.deselectEvent.subscribe=I;J.deselectEvent.unsubscribe=H;J.changePageEvent=new M(K.CHANGE_PAGE);J.changePageEvent.subscribe=I;J.changePageEvent.unsubscribe=H;J.beforeRenderEvent=new M(K.BEFORE_RENDER);J.beforeRenderEvent.subscribe=I;J.beforeRenderEvent.unsubscribe=H;J.renderEvent=new M(K.RENDER);J.renderEvent.subscribe=I;J.renderEvent.unsubscribe=H;J.resetEvent=new M(K.RESET);J.resetEvent.subscribe=I;J.resetEvent.unsubscribe=H;J.clearEvent=new M(K.CLEAR);J.clearEvent.subscribe=I;J.clearEvent.unsubscribe=H;J.beforeShowEvent=new M(K.BEFORE_SHOW);J.showEvent=new M(K.SHOW);J.beforeHideEvent=new M(K.BEFORE_HIDE);J.hideEvent=new M(K.HIDE);J.beforeShowNavEvent=new M(K.BEFORE_SHOW_NAV);J.showNavEvent=new M(K.SHOW_NAV);J.beforeHideNavEvent=new M(K.BEFORE_HIDE_NAV);J.hideNavEvent=new M(K.HIDE_NAV);J.beforeRenderNavEvent=new M(K.BEFORE_RENDER_NAV);J.renderNavEvent=new M(K.RENDER_NAV);J.beforeDestroyEvent=new M(K.BEFORE_DESTROY);J.destroyEvent=new M(K.DESTROY);},configPages:function(R,Q,N){var L=Q[0],J=C.PAGEDATE.key,V="_",S="groupcal",U="first-of-type",K="last-of-type";for(var I=0;I<L;++I){var T=this.id+V+I,P=this.containerId+V+I,O=this.cfg.getConfig();O.close=false;O.title=false;O.navigator=null;var H=this.constructChild(T,P,O);var M=H.cfg.getProperty(J);this._setMonthOnDate(M,M.getMonth()+I);H.cfg.setProperty(J,M);D.removeClass(H.oDomContainer,this.Style.CSS_SINGLE);D.addClass(H.oDomContainer,S);if(I===0){D.addClass(H.oDomContainer,U);}if(I==(L-1)){D.addClass(H.oDomContainer,K);}H.parent=this;H.index=I;this.pages[this.pages.length]=H;}},configPageDate:function(O,N,L){var J=N[0],M;var K=C.PAGEDATE.key;for(var I=0;I<this.pages.length;++I){var H=this.pages[I];if(I===0){M=H._parsePageDate(J);H.cfg.setProperty(K,M);}else{var P=new Date(M);this._setMonthOnDate(P,P.getMonth()+I);H.cfg.setProperty(K,P);}}},configSelected:function(J,H,L){var K=C.SELECTED.key;this.delegateConfig(J,H,L);var I=(this.pages.length>0)?this.pages[0].cfg.getProperty(K):[];this.cfg.setProperty(K,I,true);},delegateConfig:function(I,H,L){var M=H[0];var K;for(var J=0;J<this.pages.length;J++){K=this.pages[J];K.cfg.setProperty(I,M);}},setChildFunction:function(K,I){var H=this.cfg.getProperty(C.PAGES.key);for(var J=0;J<H;++J){this.pages[J][K]=I;}},callChildFunction:function(M,I){var H=this.cfg.getProperty(C.PAGES.key);for(var L=0;L<H;++L){var K=this.pages[L];if(K[M]){var J=K[M];J.call(K,I);}}},constructChild:function(K,I,J){var H=document.getElementById(I);if(!H){H=document.createElement("div");H.id=I;this.oDomContainer.appendChild(H);}return new G(K,I,J);},setMonth:function(L){L=parseInt(L,10);var M;var I=C.PAGEDATE.key;for(var K=0;K<this.pages.length;++K){var J=this.pages[K];var H=J.cfg.getProperty(I);if(K===0){M=H.getFullYear();}else{H.setFullYear(M);}this._setMonthOnDate(H,L+K);J.cfg.setProperty(I,H);}},setYear:function(J){var I=C.PAGEDATE.key;J=parseInt(J,10);for(var L=0;L<this.pages.length;++L){var K=this.pages[L];var H=K.cfg.getProperty(I);if((H.getMonth()+1)==1&&L>0){J+=1;}K.setYear(J);}},render:function(){this.renderHeader();for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.render();}this.renderFooter();},select:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.select(H);}return this.getSelectedDates();},selectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.selectCell(H);}return this.getSelectedDates();},deselect:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselect(H);}return this.getSelectedDates();},deselectAll:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.deselectAll();}return this.getSelectedDates();},deselectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselectCell(H);}return this.getSelectedDates();},reset:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.reset();}},clear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.clear();}this.cfg.setProperty(C.SELECTED.key,[]);this.cfg.setProperty(C.PAGEDATE.key,new Date(this.pages[0].today.getTime()));this.render();},nextMonth:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.nextMonth();}},previousMonth:function(){for(var I=this.pages.length-1;I>=0;--I){var H=this.pages[I];H.previousMonth();}},nextYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.nextYear();}},previousYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.previousYear();}},getSelectedDates:function(){var J=[];var I=this.cfg.getProperty(C.SELECTED.key);for(var L=0;L<I.length;++L){var K=I[L];var H=F.getDate(K[0],K[1]-1,K[2]);J.push(H);}J.sort(function(N,M){return N-M;});return J;},addRenderer:function(H,I){for(var K=0;K<this.pages.length;++K){var J=this.pages[K];J.addRenderer(H,I);}},addMonthRenderer:function(K,H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.addMonthRenderer(K,H);}},addWeekdayRenderer:function(I,H){for(var K=0; -K<this.pages.length;++K){var J=this.pages[K];J.addWeekdayRenderer(I,H);}},removeRenderers:function(){this.callChildFunction("removeRenderers");},renderHeader:function(){},renderFooter:function(){},addMonths:function(H){this.callChildFunction("addMonths",H);},subtractMonths:function(H){this.callChildFunction("subtractMonths",H);},addYears:function(H){this.callChildFunction("addYears",H);},subtractYears:function(H){this.callChildFunction("subtractYears",H);},getCalendarPage:function(K){var M=null;if(K){var N=K.getFullYear(),J=K.getMonth();var I=this.pages;for(var L=0;L<I.length;++L){var H=I[L].cfg.getProperty("pagedate");if(H.getFullYear()===N&&H.getMonth()===J){M=I[L];break;}}}return M;},_setMonthOnDate:function(I,J){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420&&(J<0||J>11)){var H=F.add(I,F.MONTH,J-I.getMonth());I.setTime(H.getTime());}else{I.setMonth(J);}},_fixWidth:function(){var H=0;for(var J=0;J<this.pages.length;++J){var I=this.pages[J];H+=I.oDomContainer.offsetWidth;}if(H>0){this.oDomContainer.style.width=H+"px";}},toString:function(){return"CalendarGroup "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var J=this;if(J.navigator){J.navigator.destroy();}if(J.cfg){J.cfg.destroy();}A.purgeElement(J.oDomContainer,true);D.removeClass(J.oDomContainer,B.CSS_CONTAINER);D.removeClass(J.oDomContainer,B.CSS_MULTI_UP);for(var I=0,H=J.pages.length;I<H;I++){J.pages[I].destroy();J.pages[I]=null;}J.oDomContainer.innerHTML="";J.oDomContainer=null;this.destroyEvent.fire();}}};B.CSS_CONTAINER="yui-calcontainer";B.CSS_MULTI_UP="multi";B.CSS_2UPTITLE="title";B.CSS_2UPCLOSE="close-icon";YAHOO.lang.augmentProto(B,G,"buildDayLabel","buildMonthLabel","renderOutOfBoundsDate","renderRowHeader","renderRowFooter","renderCellDefault","styleCellDefault","renderCellStyleHighlight1","renderCellStyleHighlight2","renderCellStyleHighlight3","renderCellStyleHighlight4","renderCellStyleToday","renderCellStyleSelected","renderCellNotThisMonth","renderBodyCellRestricted","initStyles","configTitle","configClose","configIframe","configStrings","configNavigator","createTitleBar","createCloseButton","removeTitleBar","removeCloseButton","hide","show","toDate","_toDate","_parseArgs","browser");YAHOO.widget.CalGrp=B;YAHOO.widget.CalendarGroup=B;YAHOO.widget.Calendar2up=function(J,H,I){this.init(J,H,I);};YAHOO.extend(YAHOO.widget.Calendar2up,B);YAHOO.widget.Cal2up=YAHOO.widget.Calendar2up;})();YAHOO.widget.CalendarNavigator=function(A){this.init(A);};(function(){var A=YAHOO.widget.CalendarNavigator;A.CLASSES={NAV:"yui-cal-nav",NAV_VISIBLE:"yui-cal-nav-visible",MASK:"yui-cal-nav-mask",YEAR:"yui-cal-nav-y",MONTH:"yui-cal-nav-m",BUTTONS:"yui-cal-nav-b",BUTTON:"yui-cal-nav-btn",ERROR:"yui-cal-nav-e",YEAR_CTRL:"yui-cal-nav-yc",MONTH_CTRL:"yui-cal-nav-mc",INVALID:"yui-invalid",DEFAULT:"yui-default"};A._DEFAULT_CFG={strings:{month:"Month",year:"Year",submit:"Okay",cancel:"Cancel",invalidYear:"Year needs to be a number"},monthFormat:YAHOO.widget.Calendar.LONG,initialFocus:"year"};A.ID_SUFFIX="_nav";A.MONTH_SUFFIX="_month";A.YEAR_SUFFIX="_year";A.ERROR_SUFFIX="_error";A.CANCEL_SUFFIX="_cancel";A.SUBMIT_SUFFIX="_submit";A.YR_MAX_DIGITS=4;A.YR_MINOR_INC=1;A.YR_MAJOR_INC=10;A.UPDATE_DELAY=50;A.YR_PATTERN=/^\d+$/;A.TRIM=/^\s*(.*?)\s*$/;})();YAHOO.widget.CalendarNavigator.prototype={id:null,cal:null,navEl:null,maskEl:null,yearEl:null,monthEl:null,errorEl:null,submitEl:null,cancelEl:null,firstCtrl:null,lastCtrl:null,_doc:null,_year:null,_month:0,__rendered:false,init:function(A){var C=A.oDomContainer;this.cal=A;this.id=C.id+YAHOO.widget.CalendarNavigator.ID_SUFFIX;this._doc=C.ownerDocument;var B=YAHOO.env.ua.ie;this.__isIEQuirks=(B&&((B<=6)||(B===7&&this._doc.compatMode=="BackCompat")));},show:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeShowNavEvent.fire()){if(!this.__rendered){this.render();}this.clearErrors();this._updateMonthUI();this._updateYearUI();this._show(this.navEl,true);this.setInitialFocus();this.showMask();YAHOO.util.Dom.addClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.showNavEvent.fire();}},hide:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeHideNavEvent.fire()){this._show(this.navEl,false);this.hideMask();YAHOO.util.Dom.removeClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.hideNavEvent.fire();}},showMask:function(){this._show(this.maskEl,true);if(this.__isIEQuirks){this._syncMask();}},hideMask:function(){this._show(this.maskEl,false);},getMonth:function(){return this._month;},getYear:function(){return this._year;},setMonth:function(A){if(A>=0&&A<12){this._month=A;}this._updateMonthUI();},setYear:function(B){var A=YAHOO.widget.CalendarNavigator.YR_PATTERN;if(YAHOO.lang.isNumber(B)&&A.test(B+"")){this._year=B;}this._updateYearUI();},render:function(){this.cal.beforeRenderNavEvent.fire();if(!this.__rendered){this.createNav();this.createMask();this.applyListeners();this.__rendered=true;}this.cal.renderNavEvent.fire();},createNav:function(){var B=YAHOO.widget.CalendarNavigator;var C=this._doc;var D=C.createElement("div");D.className=B.CLASSES.NAV;var A=this.renderNavContents([]);D.innerHTML=A.join("");this.cal.oDomContainer.appendChild(D);this.navEl=D;this.yearEl=C.getElementById(this.id+B.YEAR_SUFFIX);this.monthEl=C.getElementById(this.id+B.MONTH_SUFFIX);this.errorEl=C.getElementById(this.id+B.ERROR_SUFFIX);this.submitEl=C.getElementById(this.id+B.SUBMIT_SUFFIX);this.cancelEl=C.getElementById(this.id+B.CANCEL_SUFFIX);if(YAHOO.env.ua.gecko&&this.yearEl&&this.yearEl.type=="text"){this.yearEl.setAttribute("autocomplete","off");}this._setFirstLastElements();},createMask:function(){var B=YAHOO.widget.CalendarNavigator.CLASSES;var A=this._doc.createElement("div");A.className=B.MASK;this.cal.oDomContainer.appendChild(A);this.maskEl=A;},_syncMask:function(){var B=this.cal.oDomContainer;if(B&&this.maskEl){var A=YAHOO.util.Dom.getRegion(B);YAHOO.util.Dom.setStyle(this.maskEl,"width",A.right-A.left+"px");YAHOO.util.Dom.setStyle(this.maskEl,"height",A.bottom-A.top+"px"); -}},renderNavContents:function(A){var D=YAHOO.widget.CalendarNavigator,E=D.CLASSES,B=A;B[B.length]='<div class="'+E.MONTH+'">';this.renderMonth(B);B[B.length]="</div>";B[B.length]='<div class="'+E.YEAR+'">';this.renderYear(B);B[B.length]="</div>";B[B.length]='<div class="'+E.BUTTONS+'">';this.renderButtons(B);B[B.length]="</div>";B[B.length]='<div class="'+E.ERROR+'" id="'+this.id+D.ERROR_SUFFIX+'"></div>';return B;},renderMonth:function(D){var G=YAHOO.widget.CalendarNavigator,H=G.CLASSES;var I=this.id+G.MONTH_SUFFIX,F=this.__getCfg("monthFormat"),A=this.cal.cfg.getProperty((F==YAHOO.widget.Calendar.SHORT)?"MONTHS_SHORT":"MONTHS_LONG"),E=D;if(A&&A.length>0){E[E.length]='<label for="'+I+'">';E[E.length]=this.__getCfg("month",true);E[E.length]="</label>";E[E.length]='<select name="'+I+'" id="'+I+'" class="'+H.MONTH_CTRL+'">';for(var B=0;B<A.length;B++){E[E.length]='<option value="'+B+'">';E[E.length]=A[B];E[E.length]="</option>";}E[E.length]="</select>";}return E;},renderYear:function(B){var E=YAHOO.widget.CalendarNavigator,F=E.CLASSES;var G=this.id+E.YEAR_SUFFIX,A=E.YR_MAX_DIGITS,D=B;D[D.length]='<label for="'+G+'">';D[D.length]=this.__getCfg("year",true);D[D.length]="</label>";D[D.length]='<input type="text" name="'+G+'" id="'+G+'" class="'+F.YEAR_CTRL+'" maxlength="'+A+'"/>';return D;},renderButtons:function(A){var D=YAHOO.widget.CalendarNavigator.CLASSES;var B=A;B[B.length]='<span class="'+D.BUTTON+" "+D.DEFAULT+'">';B[B.length]='<button type="button" id="'+this.id+"_submit"+'">';B[B.length]=this.__getCfg("submit",true);B[B.length]="</button>";B[B.length]="</span>";B[B.length]='<span class="'+D.BUTTON+'">';B[B.length]='<button type="button" id="'+this.id+"_cancel"+'">';B[B.length]=this.__getCfg("cancel",true);B[B.length]="</button>";B[B.length]="</span>";return B;},applyListeners:function(){var B=YAHOO.util.Event;function A(){if(this.validate()){this.setYear(this._getYearFromUI());}}function C(){this.setMonth(this._getMonthFromUI());}B.on(this.submitEl,"click",this.submit,this,true);B.on(this.cancelEl,"click",this.cancel,this,true);B.on(this.yearEl,"blur",A,this,true);B.on(this.monthEl,"change",C,this,true);if(this.__isIEQuirks){YAHOO.util.Event.on(this.cal.oDomContainer,"resize",this._syncMask,this,true);}this.applyKeyListeners();},purgeListeners:function(){var A=YAHOO.util.Event;A.removeListener(this.submitEl,"click",this.submit);A.removeListener(this.cancelEl,"click",this.cancel);A.removeListener(this.yearEl,"blur");A.removeListener(this.monthEl,"change");if(this.__isIEQuirks){A.removeListener(this.cal.oDomContainer,"resize",this._syncMask);}this.purgeKeyListeners();},applyKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.on(this.yearEl,"keypress",this._handleEnterKey,this,true);D.on(this.yearEl,C,this._handleDirectionKeys,this,true);D.on(this.lastCtrl,B,this._handleTabKey,this,true);D.on(this.firstCtrl,B,this._handleShiftTabKey,this,true);},purgeKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.removeListener(this.yearEl,"keypress",this._handleEnterKey);D.removeListener(this.yearEl,C,this._handleDirectionKeys);D.removeListener(this.lastCtrl,B,this._handleTabKey);D.removeListener(this.firstCtrl,B,this._handleShiftTabKey);},submit:function(){if(this.validate()){this.hide();this.setMonth(this._getMonthFromUI());this.setYear(this._getYearFromUI());var B=this.cal;var A=YAHOO.widget.CalendarNavigator.UPDATE_DELAY;if(A>0){var C=this;window.setTimeout(function(){C._update(B);},A);}else{this._update(B);}}},_update:function(A){A.setYear(this.getYear());A.setMonth(this.getMonth());A.render();},cancel:function(){this.hide();},validate:function(){if(this._getYearFromUI()!==null){this.clearErrors();return true;}else{this.setYearError();this.setError(this.__getCfg("invalidYear",true));return false;}},setError:function(A){if(this.errorEl){this.errorEl.innerHTML=A;this._show(this.errorEl,true);}},clearError:function(){if(this.errorEl){this.errorEl.innerHTML="";this._show(this.errorEl,false);}},setYearError:function(){YAHOO.util.Dom.addClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearYearError:function(){YAHOO.util.Dom.removeClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearErrors:function(){this.clearError();this.clearYearError();},setInitialFocus:function(){var A=this.submitEl,C=this.__getCfg("initialFocus");if(C&&C.toLowerCase){C=C.toLowerCase();if(C=="year"){A=this.yearEl;try{this.yearEl.select();}catch(B){}}else{if(C=="month"){A=this.monthEl;}}}if(A&&YAHOO.lang.isFunction(A.focus)){try{A.focus();}catch(D){}}},erase:function(){if(this.__rendered){this.purgeListeners();this.yearEl=null;this.monthEl=null;this.errorEl=null;this.submitEl=null;this.cancelEl=null;this.firstCtrl=null;this.lastCtrl=null;if(this.navEl){this.navEl.innerHTML="";}var B=this.navEl.parentNode;if(B){B.removeChild(this.navEl);}this.navEl=null;var A=this.maskEl.parentNode;if(A){A.removeChild(this.maskEl);}this.maskEl=null;this.__rendered=false;}},destroy:function(){this.erase();this._doc=null;this.cal=null;this.id=null;},_show:function(B,A){if(B){YAHOO.util.Dom.setStyle(B,"display",(A)?"block":"none");}},_getMonthFromUI:function(){if(this.monthEl){return this.monthEl.selectedIndex;}else{return 0;}},_getYearFromUI:function(){var B=YAHOO.widget.CalendarNavigator;var A=null;if(this.yearEl){var C=this.yearEl.value;C=C.replace(B.TRIM,"$1");if(B.YR_PATTERN.test(C)){A=parseInt(C,10);}}return A;},_updateYearUI:function(){if(this.yearEl&&this._year!==null){this.yearEl.value=this._year;}},_updateMonthUI:function(){if(this.monthEl){this.monthEl.selectedIndex=this._month;}},_setFirstLastElements:function(){this.firstCtrl=this.monthEl;this.lastCtrl=this.cancelEl;if(this.__isMac){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){this.firstCtrl=this.monthEl;this.lastCtrl=this.yearEl; -}if(YAHOO.env.ua.gecko){this.firstCtrl=this.yearEl;this.lastCtrl=this.yearEl;}}},_handleEnterKey:function(B){var A=YAHOO.util.KeyListener.KEY;if(YAHOO.util.Event.getCharCode(B)==A.ENTER){YAHOO.util.Event.preventDefault(B);this.submit();}},_handleDirectionKeys:function(H){var G=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY,D=YAHOO.widget.CalendarNavigator;var F=(this.yearEl.value)?parseInt(this.yearEl.value,10):null;if(isFinite(F)){var B=false;switch(G.getCharCode(H)){case A.UP:this.yearEl.value=F+D.YR_MINOR_INC;B=true;break;case A.DOWN:this.yearEl.value=Math.max(F-D.YR_MINOR_INC,0);B=true;break;case A.PAGE_UP:this.yearEl.value=F+D.YR_MAJOR_INC;B=true;break;case A.PAGE_DOWN:this.yearEl.value=Math.max(F-D.YR_MAJOR_INC,0);B=true;break;default:break;}if(B){G.preventDefault(H);try{this.yearEl.select();}catch(C){}}}},_handleTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(C.getCharCode(D)==A.TAB&&!D.shiftKey){try{C.preventDefault(D);this.firstCtrl.focus();}catch(B){}}},_handleShiftTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(D.shiftKey&&C.getCharCode(D)==A.TAB){try{C.preventDefault(D);this.lastCtrl.focus();}catch(B){}}},__getCfg:function(D,B){var C=YAHOO.widget.CalendarNavigator._DEFAULT_CFG;var A=this.cal.cfg.getProperty("navigator");if(B){return(A!==true&&A.strings&&A.strings[D])?A.strings[D]:C.strings[D];}else{return(A!==true&&A[D])?A[D]:C[D];}},__isMac:(navigator.userAgent.toLowerCase().indexOf("macintosh")!=-1)};YAHOO.register("calendar",YAHOO.widget.Calendar,{version:"2.6.0",build:"1321"}); \ No newline at end of file diff --git a/js/yui/calendar/calendar-min.js b/js/yui/calendar/calendar-min.js new file mode 100644 index 0000000000000000000000000000000000000000..67c8426b5a0ea794532e992bfd79a35ea81b385a --- /dev/null +++ b/js/yui/calendar/calendar-min.js @@ -0,0 +1,18 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F=this.config,G,E;for(G in F){if(B.hasOwnProperty(F,G)){E=F[G];if(E&&E.event){D[G]=E.value;}}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){if(B.hasOwnProperty(this.config,D)){this.refireEvent(D);}}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.eventQueue[E]=null;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(D,E,G,H){var F=this.config[D.toLowerCase()];if(F&&F.event){if(!A.alreadySubscribed(F.event,E,G)){F.event.subscribe(E,G,H);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());YAHOO.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,WEEK_ONE_JAN_DATE:1,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:this._addDays(F,C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:this._addDays(F,(C*7));break;}return F;},_addDays:function(D,C){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){if(C<0){for(var B=-128;C<B;C-=B){D.setDate(D.getDate()+B);}}else{for(var A=96;C>A;C-=A){D.setDate(D.getDate()+A);}}}D.setDate(D.getDate()+C);},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()<A){return true;}else{return false;}},after:function(C,B){var A=B.getTime();if(C.getTime()>A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return this.getDate(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(D,B,G){B=B||0;G=G||this.WEEK_ONE_JAN_DATE;var H=this.clearTime(D),L,M;if(H.getDay()===B){L=H;}else{L=this.getFirstDayOfWeek(H,B);}var I=L.getFullYear();M=new Date(L.getTime()+6*this.ONE_DAY_MS);var F;if(I!==M.getFullYear()&&M.getDate()>=G){F=1;}else{var E=this.clearTime(this.getDate(I,0,G)),A=this.getFirstDayOfWeek(E,B);var J=Math.round((H.getTime()-A.getTime())/this.ONE_DAY_MS);var K=J%7;var C=(J-K)/7; +F=C+1;}return F;},getFirstDayOfWeek:function(D,A){A=A||0;var B=D.getDay(),C=(B-A+7)%7;return this.subtract(D,this.DAY,C);},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=this.getDate(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0);return A;},getDate:function(D,A,C){var B=null;if(YAHOO.lang.isUndefined(C)){C=1;}if(D>=100){B=new Date(D,A,C);}else{B=new Date();B.setFullYear(D);B.setMonth(A);B.setDate(C);B.setHours(0,0,0,0);}return B;}};(function(){var C=YAHOO.util.Dom,A=YAHOO.util.Event,E=YAHOO.lang,D=YAHOO.widget.DateMath;function F(I,G,H){this.init.apply(this,arguments);}F.IMG_ROOT=null;F.DATE="D";F.MONTH_DAY="MD";F.WEEKDAY="WD";F.RANGE="R";F.MONTH="M";F.DISPLAY_DAYS=42;F.STOP_RENDER="S";F.SHORT="short";F.LONG="long";F.MEDIUM="medium";F.ONE_CHAR="1char";F.DEFAULT_CONFIG={YEAR_OFFSET:{key:"year_offset",value:0,supercedes:["pagedate","selected","mindate","maxdate"]},TODAY:{key:"today",value:new Date(),supercedes:["pagedate"]},PAGEDATE:{key:"pagedate",value:null},SELECTED:{key:"selected",value:[]},TITLE:{key:"title",value:""},CLOSE:{key:"close",value:false},IFRAME:{key:"iframe",value:(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6)?true:false},MINDATE:{key:"mindate",value:null},MAXDATE:{key:"maxdate",value:null},MULTI_SELECT:{key:"multi_select",value:false},START_WEEKDAY:{key:"start_weekday",value:0},SHOW_WEEKDAYS:{key:"show_weekdays",value:true},SHOW_WEEK_HEADER:{key:"show_week_header",value:false},SHOW_WEEK_FOOTER:{key:"show_week_footer",value:false},HIDE_BLANK_WEEKS:{key:"hide_blank_weeks",value:false},NAV_ARROW_LEFT:{key:"nav_arrow_left",value:null},NAV_ARROW_RIGHT:{key:"nav_arrow_right",value:null},MONTHS_SHORT:{key:"months_short",value:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},MONTHS_LONG:{key:"months_long",value:["January","February","March","April","May","June","July","August","September","October","November","December"]},WEEKDAYS_1CHAR:{key:"weekdays_1char",value:["S","M","T","W","T","F","S"]},WEEKDAYS_SHORT:{key:"weekdays_short",value:["Su","Mo","Tu","We","Th","Fr","Sa"]},WEEKDAYS_MEDIUM:{key:"weekdays_medium",value:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},WEEKDAYS_LONG:{key:"weekdays_long",value:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},LOCALE_MONTHS:{key:"locale_months",value:"long"},LOCALE_WEEKDAYS:{key:"locale_weekdays",value:"short"},DATE_DELIMITER:{key:"date_delimiter",value:","},DATE_FIELD_DELIMITER:{key:"date_field_delimiter",value:"/"},DATE_RANGE_DELIMITER:{key:"date_range_delimiter",value:"-"},MY_MONTH_POSITION:{key:"my_month_position",value:1},MY_YEAR_POSITION:{key:"my_year_position",value:2},MD_MONTH_POSITION:{key:"md_month_position",value:1},MD_DAY_POSITION:{key:"md_day_position",value:2},MDY_MONTH_POSITION:{key:"mdy_month_position",value:1},MDY_DAY_POSITION:{key:"mdy_day_position",value:2},MDY_YEAR_POSITION:{key:"mdy_year_position",value:3},MY_LABEL_MONTH_POSITION:{key:"my_label_month_position",value:1},MY_LABEL_YEAR_POSITION:{key:"my_label_year_position",value:2},MY_LABEL_MONTH_SUFFIX:{key:"my_label_month_suffix",value:" "},MY_LABEL_YEAR_SUFFIX:{key:"my_label_year_suffix",value:""},NAV:{key:"navigator",value:null},STRINGS:{key:"strings",value:{previousMonth:"Previous Month",nextMonth:"Next Month",close:"Close"},supercedes:["close","title"]}};F._DEFAULT_CONFIG=F.DEFAULT_CONFIG;var B=F.DEFAULT_CONFIG;F._EVENT_TYPES={BEFORE_SELECT:"beforeSelect",SELECT:"select",BEFORE_DESELECT:"beforeDeselect",DESELECT:"deselect",CHANGE_PAGE:"changePage",BEFORE_RENDER:"beforeRender",RENDER:"render",BEFORE_DESTROY:"beforeDestroy",DESTROY:"destroy",RESET:"reset",CLEAR:"clear",BEFORE_HIDE:"beforeHide",HIDE:"hide",BEFORE_SHOW:"beforeShow",SHOW:"show",BEFORE_HIDE_NAV:"beforeHideNav",HIDE_NAV:"hideNav",BEFORE_SHOW_NAV:"beforeShowNav",SHOW_NAV:"showNav",BEFORE_RENDER_NAV:"beforeRenderNav",RENDER_NAV:"renderNav"};F.STYLES={CSS_ROW_HEADER:"calrowhead",CSS_ROW_FOOTER:"calrowfoot",CSS_CELL:"calcell",CSS_CELL_SELECTOR:"selector",CSS_CELL_SELECTED:"selected",CSS_CELL_SELECTABLE:"selectable",CSS_CELL_RESTRICTED:"restricted",CSS_CELL_TODAY:"today",CSS_CELL_OOM:"oom",CSS_CELL_OOB:"previous",CSS_HEADER:"calheader",CSS_HEADER_TEXT:"calhead",CSS_BODY:"calbody",CSS_WEEKDAY_CELL:"calweekdaycell",CSS_WEEKDAY_ROW:"calweekdayrow",CSS_FOOTER:"calfoot",CSS_CALENDAR:"yui-calendar",CSS_SINGLE:"single",CSS_CONTAINER:"yui-calcontainer",CSS_NAV_LEFT:"calnavleft",CSS_NAV_RIGHT:"calnavright",CSS_NAV:"calnav",CSS_CLOSE:"calclose",CSS_CELL_TOP:"calcelltop",CSS_CELL_LEFT:"calcellleft",CSS_CELL_RIGHT:"calcellright",CSS_CELL_BOTTOM:"calcellbottom",CSS_CELL_HOVER:"calcellhover",CSS_CELL_HIGHLIGHT1:"highlight1",CSS_CELL_HIGHLIGHT2:"highlight2",CSS_CELL_HIGHLIGHT3:"highlight3",CSS_CELL_HIGHLIGHT4:"highlight4",CSS_WITH_TITLE:"withtitle",CSS_FIXED_SIZE:"fixedsize",CSS_LINK_CLOSE:"link-close"};F._STYLES=F.STYLES;F.prototype={Config:null,parent:null,index:-1,cells:null,cellDates:null,id:null,containerId:null,oDomContainer:null,today:null,renderStack:null,_renderStack:null,oNavigator:null,_selectedDates:null,domEventMap:null,_parseArgs:function(H){var G={id:null,container:null,config:null};if(H&&H.length&&H.length>0){switch(H.length){case 1:G.id=null;G.container=H[0];G.config=null;break;case 2:if(E.isObject(H[1])&&!H[1].tagName&&!(H[1] instanceof String)){G.id=null;G.container=H[0];G.config=H[1];}else{G.id=H[0];G.container=H[1];G.config=null;}break;default:G.id=H[0];G.container=H[1];G.config=H[2];break;}}else{}return G;},init:function(J,H,I){var G=this._parseArgs(arguments);J=G.id;H=G.container;I=G.config;this.oDomContainer=C.get(H);if(!this.oDomContainer.id){this.oDomContainer.id=C.generateId(); +}if(!J){J=this.oDomContainer.id+"_t";}this.id=J;this.containerId=this.oDomContainer.id;this.initEvents();this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.initStyles();C.addClass(this.oDomContainer,this.Style.CSS_CONTAINER);C.addClass(this.oDomContainer,this.Style.CSS_SINGLE);this.cellDates=[];this.cells=[];this.renderStack=[];this._renderStack=[];this.setupConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();this.today=this.cfg.getProperty("today");},configIframe:function(I,H,J){var G=H[0];if(!this.parent){if(C.inDocument(this.oDomContainer)){if(G){var K=C.getStyle(this.oDomContainer,"position");if(K=="absolute"||K=="relative"){if(!C.inDocument(this.iframe)){this.iframe=document.createElement("iframe");this.iframe.src="javascript:false;";C.setStyle(this.iframe,"opacity","0");if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6){C.addClass(this.iframe,this.Style.CSS_FIXED_SIZE);}this.oDomContainer.insertBefore(this.iframe,this.oDomContainer.firstChild);}}}else{if(this.iframe){if(this.iframe.parentNode){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;}}}}},configTitle:function(H,G,I){var K=G[0];if(K){this.createTitleBar(K);}else{var J=this.cfg.getProperty(B.CLOSE.key);if(!J){this.removeTitleBar();}else{this.createTitleBar(" ");}}},configClose:function(H,G,I){var K=G[0],J=this.cfg.getProperty(B.TITLE.key);if(K){if(!J){this.createTitleBar(" ");}this.createCloseButton();}else{this.removeCloseButton();if(!J){this.removeTitleBar();}}},initEvents:function(){var G=F._EVENT_TYPES,I=YAHOO.util.CustomEvent,H=this;H.beforeSelectEvent=new I(G.BEFORE_SELECT);H.selectEvent=new I(G.SELECT);H.beforeDeselectEvent=new I(G.BEFORE_DESELECT);H.deselectEvent=new I(G.DESELECT);H.changePageEvent=new I(G.CHANGE_PAGE);H.beforeRenderEvent=new I(G.BEFORE_RENDER);H.renderEvent=new I(G.RENDER);H.beforeDestroyEvent=new I(G.BEFORE_DESTROY);H.destroyEvent=new I(G.DESTROY);H.resetEvent=new I(G.RESET);H.clearEvent=new I(G.CLEAR);H.beforeShowEvent=new I(G.BEFORE_SHOW);H.showEvent=new I(G.SHOW);H.beforeHideEvent=new I(G.BEFORE_HIDE);H.hideEvent=new I(G.HIDE);H.beforeShowNavEvent=new I(G.BEFORE_SHOW_NAV);H.showNavEvent=new I(G.SHOW_NAV);H.beforeHideNavEvent=new I(G.BEFORE_HIDE_NAV);H.hideNavEvent=new I(G.HIDE_NAV);H.beforeRenderNavEvent=new I(G.BEFORE_RENDER_NAV);H.renderNavEvent=new I(G.RENDER_NAV);H.beforeSelectEvent.subscribe(H.onBeforeSelect,this,true);H.selectEvent.subscribe(H.onSelect,this,true);H.beforeDeselectEvent.subscribe(H.onBeforeDeselect,this,true);H.deselectEvent.subscribe(H.onDeselect,this,true);H.changePageEvent.subscribe(H.onChangePage,this,true);H.renderEvent.subscribe(H.onRender,this,true);H.resetEvent.subscribe(H.onReset,this,true);H.clearEvent.subscribe(H.onClear,this,true);},doPreviousMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.previousMonth();var J=C.getElementsByClassName(G.Style.CSS_NAV_LEFT,"a",G.oDomContainer);if(J&&J[0]){try{J[0].focus();}catch(I){}}},0);},doNextMonthNav:function(H,G){A.preventDefault(H);setTimeout(function(){G.nextMonth();var J=C.getElementsByClassName(G.Style.CSS_NAV_RIGHT,"a",G.oDomContainer);if(J&&J[0]){try{J[0].focus();}catch(I){}}},0);},doSelectCell:function(M,G){var R,O,I,L;var N=A.getTarget(M),H=N.tagName.toLowerCase(),K=false;while(H!="td"&&!C.hasClass(N,G.Style.CSS_CELL_SELECTABLE)){if(!K&&H=="a"&&C.hasClass(N,G.Style.CSS_CELL_SELECTOR)){K=true;}N=N.parentNode;H=N.tagName.toLowerCase();if(N==this.oDomContainer||H=="html"){return;}}if(K){A.preventDefault(M);}R=N;if(C.hasClass(R,G.Style.CSS_CELL_SELECTABLE)){L=G.getIndexFromId(R.id);if(L>-1){O=G.cellDates[L];if(O){I=D.getDate(O[0],O[1]-1,O[2]);var Q;if(G.Options.MULTI_SELECT){Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}var J=G.cellDates[L];var P=G._indexOfSelectedFieldArray(J);if(P>-1){G.deselectCell(L);}else{G.selectCell(L);}}else{Q=R.getElementsByTagName("a")[0];if(Q){Q.blur();}G.selectCell(L);}}}}},doCellMouseOver:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.addClass(G,H.Style.CSS_CELL_HOVER);}},doCellMouseOut:function(I,H){var G;if(I){G=A.getTarget(I);}else{G=this;}while(G.tagName&&G.tagName.toLowerCase()!="td"){G=G.parentNode;if(!G.tagName||G.tagName.toLowerCase()=="html"){return;}}if(C.hasClass(G,H.Style.CSS_CELL_SELECTABLE)){C.removeClass(G,H.Style.CSS_CELL_HOVER);}},setupConfig:function(){var G=this.cfg;G.addProperty(B.TODAY.key,{value:new Date(B.TODAY.value.getTime()),supercedes:B.TODAY.supercedes,handler:this.configToday,suppressEvent:true});G.addProperty(B.PAGEDATE.key,{value:B.PAGEDATE.value||new Date(B.TODAY.value.getTime()),handler:this.configPageDate});G.addProperty(B.SELECTED.key,{value:B.SELECTED.value.concat(),handler:this.configSelected});G.addProperty(B.TITLE.key,{value:B.TITLE.value,handler:this.configTitle});G.addProperty(B.CLOSE.key,{value:B.CLOSE.value,handler:this.configClose});G.addProperty(B.IFRAME.key,{value:B.IFRAME.value,handler:this.configIframe,validator:G.checkBoolean});G.addProperty(B.MINDATE.key,{value:B.MINDATE.value,handler:this.configMinDate});G.addProperty(B.MAXDATE.key,{value:B.MAXDATE.value,handler:this.configMaxDate});G.addProperty(B.MULTI_SELECT.key,{value:B.MULTI_SELECT.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.START_WEEKDAY.key,{value:B.START_WEEKDAY.value,handler:this.configOptions,validator:G.checkNumber});G.addProperty(B.SHOW_WEEKDAYS.key,{value:B.SHOW_WEEKDAYS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_HEADER.key,{value:B.SHOW_WEEK_HEADER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.SHOW_WEEK_FOOTER.key,{value:B.SHOW_WEEK_FOOTER.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.HIDE_BLANK_WEEKS.key,{value:B.HIDE_BLANK_WEEKS.value,handler:this.configOptions,validator:G.checkBoolean});G.addProperty(B.NAV_ARROW_LEFT.key,{value:B.NAV_ARROW_LEFT.value,handler:this.configOptions}); +G.addProperty(B.NAV_ARROW_RIGHT.key,{value:B.NAV_ARROW_RIGHT.value,handler:this.configOptions});G.addProperty(B.MONTHS_SHORT.key,{value:B.MONTHS_SHORT.value,handler:this.configLocale});G.addProperty(B.MONTHS_LONG.key,{value:B.MONTHS_LONG.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_1CHAR.key,{value:B.WEEKDAYS_1CHAR.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_SHORT.key,{value:B.WEEKDAYS_SHORT.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_MEDIUM.key,{value:B.WEEKDAYS_MEDIUM.value,handler:this.configLocale});G.addProperty(B.WEEKDAYS_LONG.key,{value:B.WEEKDAYS_LONG.value,handler:this.configLocale});var H=function(){G.refireEvent(B.LOCALE_MONTHS.key);G.refireEvent(B.LOCALE_WEEKDAYS.key);};G.subscribeToConfigEvent(B.START_WEEKDAY.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.MONTHS_LONG.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_1CHAR.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_SHORT.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_MEDIUM.key,H,this,true);G.subscribeToConfigEvent(B.WEEKDAYS_LONG.key,H,this,true);G.addProperty(B.LOCALE_MONTHS.key,{value:B.LOCALE_MONTHS.value,handler:this.configLocaleValues});G.addProperty(B.LOCALE_WEEKDAYS.key,{value:B.LOCALE_WEEKDAYS.value,handler:this.configLocaleValues});G.addProperty(B.YEAR_OFFSET.key,{value:B.YEAR_OFFSET.value,supercedes:B.YEAR_OFFSET.supercedes,handler:this.configLocale});G.addProperty(B.DATE_DELIMITER.key,{value:B.DATE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_FIELD_DELIMITER.key,{value:B.DATE_FIELD_DELIMITER.value,handler:this.configLocale});G.addProperty(B.DATE_RANGE_DELIMITER.key,{value:B.DATE_RANGE_DELIMITER.value,handler:this.configLocale});G.addProperty(B.MY_MONTH_POSITION.key,{value:B.MY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_YEAR_POSITION.key,{value:B.MY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_MONTH_POSITION.key,{value:B.MD_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MD_DAY_POSITION.key,{value:B.MD_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_MONTH_POSITION.key,{value:B.MDY_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_DAY_POSITION.key,{value:B.MDY_DAY_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MDY_YEAR_POSITION.key,{value:B.MDY_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_POSITION.key,{value:B.MY_LABEL_MONTH_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_YEAR_POSITION.key,{value:B.MY_LABEL_YEAR_POSITION.value,handler:this.configLocale,validator:G.checkNumber});G.addProperty(B.MY_LABEL_MONTH_SUFFIX.key,{value:B.MY_LABEL_MONTH_SUFFIX.value,handler:this.configLocale});G.addProperty(B.MY_LABEL_YEAR_SUFFIX.key,{value:B.MY_LABEL_YEAR_SUFFIX.value,handler:this.configLocale});G.addProperty(B.NAV.key,{value:B.NAV.value,handler:this.configNavigator});G.addProperty(B.STRINGS.key,{value:B.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:B.STRINGS.supercedes});},configStrings:function(H,G,I){var J=E.merge(B.STRINGS.value,G[0]);this.cfg.setProperty(B.STRINGS.key,J,true);},configPageDate:function(H,G,I){this.cfg.setProperty(B.PAGEDATE.key,this._parsePageDate(G[0]),true);},configMinDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MINDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configMaxDate:function(H,G,I){var J=G[0];if(E.isString(J)){J=this._parseDate(J);this.cfg.setProperty(B.MAXDATE.key,D.getDate(J[0],(J[1]-1),J[2]));}},configToday:function(I,H,J){var K=H[0];if(E.isString(K)){K=this._parseDate(K);}var G=D.clearTime(K);if(!this.cfg.initialConfig[B.PAGEDATE.key]){this.cfg.setProperty(B.PAGEDATE.key,G);}this.today=G;this.cfg.setProperty(B.TODAY.key,G,true);},configSelected:function(I,G,K){var H=G[0],J=B.SELECTED.key;if(H){if(E.isString(H)){this.cfg.setProperty(J,this._parseDates(H),true);}}if(!this._selectedDates){this._selectedDates=this.cfg.getProperty(J);}},configOptions:function(H,G,I){this.Options[H.toUpperCase()]=G[0];},configLocale:function(H,G,I){this.Locale[H.toUpperCase()]=G[0];this.cfg.refireEvent(B.LOCALE_MONTHS.key);this.cfg.refireEvent(B.LOCALE_WEEKDAYS.key);},configLocaleValues:function(J,I,K){J=J.toLowerCase();var M=I[0],H=this.cfg,N=this.Locale;switch(J){case B.LOCALE_MONTHS.key:switch(M){case F.SHORT:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_SHORT.key).concat();break;case F.LONG:N.LOCALE_MONTHS=H.getProperty(B.MONTHS_LONG.key).concat();break;}break;case B.LOCALE_WEEKDAYS.key:switch(M){case F.ONE_CHAR:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_1CHAR.key).concat();break;case F.SHORT:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_SHORT.key).concat();break;case F.MEDIUM:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_MEDIUM.key).concat();break;case F.LONG:N.LOCALE_WEEKDAYS=H.getProperty(B.WEEKDAYS_LONG.key).concat();break;}var L=H.getProperty(B.START_WEEKDAY.key);if(L>0){for(var G=0;G<L;++G){N.LOCALE_WEEKDAYS.push(N.LOCALE_WEEKDAYS.shift());}}break;}},configNavigator:function(H,G,I){var J=G[0];if(YAHOO.widget.CalendarNavigator&&(J===true||E.isObject(J))){if(!this.oNavigator){this.oNavigator=new YAHOO.widget.CalendarNavigator(this);this.beforeRenderEvent.subscribe(function(){if(!this.pages){this.oNavigator.erase();}},this,true);}}else{if(this.oNavigator){this.oNavigator.destroy();this.oNavigator=null;}}},initStyles:function(){var G=F.STYLES;this.Style={CSS_ROW_HEADER:G.CSS_ROW_HEADER,CSS_ROW_FOOTER:G.CSS_ROW_FOOTER,CSS_CELL:G.CSS_CELL,CSS_CELL_SELECTOR:G.CSS_CELL_SELECTOR,CSS_CELL_SELECTED:G.CSS_CELL_SELECTED,CSS_CELL_SELECTABLE:G.CSS_CELL_SELECTABLE,CSS_CELL_RESTRICTED:G.CSS_CELL_RESTRICTED,CSS_CELL_TODAY:G.CSS_CELL_TODAY,CSS_CELL_OOM:G.CSS_CELL_OOM,CSS_CELL_OOB:G.CSS_CELL_OOB,CSS_HEADER:G.CSS_HEADER,CSS_HEADER_TEXT:G.CSS_HEADER_TEXT,CSS_BODY:G.CSS_BODY,CSS_WEEKDAY_CELL:G.CSS_WEEKDAY_CELL,CSS_WEEKDAY_ROW:G.CSS_WEEKDAY_ROW,CSS_FOOTER:G.CSS_FOOTER,CSS_CALENDAR:G.CSS_CALENDAR,CSS_SINGLE:G.CSS_SINGLE,CSS_CONTAINER:G.CSS_CONTAINER,CSS_NAV_LEFT:G.CSS_NAV_LEFT,CSS_NAV_RIGHT:G.CSS_NAV_RIGHT,CSS_NAV:G.CSS_NAV,CSS_CLOSE:G.CSS_CLOSE,CSS_CELL_TOP:G.CSS_CELL_TOP,CSS_CELL_LEFT:G.CSS_CELL_LEFT,CSS_CELL_RIGHT:G.CSS_CELL_RIGHT,CSS_CELL_BOTTOM:G.CSS_CELL_BOTTOM,CSS_CELL_HOVER:G.CSS_CELL_HOVER,CSS_CELL_HIGHLIGHT1:G.CSS_CELL_HIGHLIGHT1,CSS_CELL_HIGHLIGHT2:G.CSS_CELL_HIGHLIGHT2,CSS_CELL_HIGHLIGHT3:G.CSS_CELL_HIGHLIGHT3,CSS_CELL_HIGHLIGHT4:G.CSS_CELL_HIGHLIGHT4,CSS_WITH_TITLE:G.CSS_WITH_TITLE,CSS_FIXED_SIZE:G.CSS_FIXED_SIZE,CSS_LINK_CLOSE:G.CSS_LINK_CLOSE}; +},buildMonthLabel:function(){return this._buildMonthLabel(this.cfg.getProperty(B.PAGEDATE.key));},_buildMonthLabel:function(G){var I=this.Locale.LOCALE_MONTHS[G.getMonth()]+this.Locale.MY_LABEL_MONTH_SUFFIX,H=(G.getFullYear()+this.Locale.YEAR_OFFSET)+this.Locale.MY_LABEL_YEAR_SUFFIX;if(this.Locale.MY_LABEL_MONTH_POSITION==2||this.Locale.MY_LABEL_YEAR_POSITION==1){return H+I;}else{return I+H;}},buildDayLabel:function(G){return G.getDate();},createTitleBar:function(G){var H=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||document.createElement("div");H.className=YAHOO.widget.CalendarGroup.CSS_2UPTITLE;H.innerHTML=G;this.oDomContainer.insertBefore(H,this.oDomContainer.firstChild);C.addClass(this.oDomContainer,this.Style.CSS_WITH_TITLE);return H;},removeTitleBar:function(){var G=C.getElementsByClassName(YAHOO.widget.CalendarGroup.CSS_2UPTITLE,"div",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}C.removeClass(this.oDomContainer,this.Style.CSS_WITH_TITLE);},createCloseButton:function(){var K=YAHOO.widget.CalendarGroup.CSS_2UPCLOSE,J=this.Style.CSS_LINK_CLOSE,M="us/my/bn/x_d.gif",L=C.getElementsByClassName(J,"a",this.oDomContainer)[0],G=this.cfg.getProperty(B.STRINGS.key),H=(G&&G.close)?G.close:"";if(!L){L=document.createElement("a");A.addListener(L,"click",function(O,N){N.hide();A.preventDefault(O);},this);}L.href="#";L.className=J;if(F.IMG_ROOT!==null){var I=C.getElementsByClassName(K,"img",L)[0]||document.createElement("img");I.src=F.IMG_ROOT+M;I.className=K;L.appendChild(I);}else{L.innerHTML='<span class="'+K+" "+this.Style.CSS_CLOSE+'">'+H+"</span>";}this.oDomContainer.appendChild(L);return L;},removeCloseButton:function(){var G=C.getElementsByClassName(this.Style.CSS_LINK_CLOSE,"a",this.oDomContainer)[0]||null;if(G){A.purgeElement(G);this.oDomContainer.removeChild(G);}},renderHeader:function(Q){var P=7,O="us/tr/callt.gif",G="us/tr/calrt.gif",N=this.cfg,K=N.getProperty(B.PAGEDATE.key),L=N.getProperty(B.STRINGS.key),V=(L&&L.previousMonth)?L.previousMonth:"",H=(L&&L.nextMonth)?L.nextMonth:"",M;if(N.getProperty(B.SHOW_WEEK_HEADER.key)){P+=1;}if(N.getProperty(B.SHOW_WEEK_FOOTER.key)){P+=1;}Q[Q.length]="<thead>";Q[Q.length]="<tr>";Q[Q.length]='<th colspan="'+P+'" class="'+this.Style.CSS_HEADER_TEXT+'">';Q[Q.length]='<div class="'+this.Style.CSS_HEADER+'">';var X,U=false;if(this.parent){if(this.index===0){X=true;}if(this.index==(this.parent.cfg.getProperty("pages")-1)){U=true;}}else{X=true;U=true;}if(X){M=this._buildMonthLabel(D.subtract(K,D.MONTH,1));var R=N.getProperty(B.NAV_ARROW_LEFT.key);if(R===null&&F.IMG_ROOT!==null){R=F.IMG_ROOT+O;}var I=(R===null)?"":' style="background-image:url('+R+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_LEFT+'"'+I+' href="#">'+V+" ("+M+")"+"</a>";}var W=this.buildMonthLabel();var S=this.parent||this;if(S.cfg.getProperty("navigator")){W='<a class="'+this.Style.CSS_NAV+'" href="#">'+W+"</a>";}Q[Q.length]=W;if(U){M=this._buildMonthLabel(D.add(K,D.MONTH,1));var T=N.getProperty(B.NAV_ARROW_RIGHT.key);if(T===null&&F.IMG_ROOT!==null){T=F.IMG_ROOT+G;}var J=(T===null)?"":' style="background-image:url('+T+')"';Q[Q.length]='<a class="'+this.Style.CSS_NAV_RIGHT+'"'+J+' href="#">'+H+" ("+M+")"+"</a>";}Q[Q.length]="</div>\n</th>\n</tr>";if(N.getProperty(B.SHOW_WEEKDAYS.key)){Q=this.buildWeekdays(Q);}Q[Q.length]="</thead>";return Q;},buildWeekdays:function(H){H[H.length]='<tr class="'+this.Style.CSS_WEEKDAY_ROW+'">';if(this.cfg.getProperty(B.SHOW_WEEK_HEADER.key)){H[H.length]="<th> </th>";}for(var G=0;G<this.Locale.LOCALE_WEEKDAYS.length;++G){H[H.length]='<th class="'+this.Style.CSS_WEEKDAY_CELL+'">'+this.Locale.LOCALE_WEEKDAYS[G]+"</th>";}if(this.cfg.getProperty(B.SHOW_WEEK_FOOTER.key)){H[H.length]="<th> </th>";}H[H.length]="</tr>";return H;},renderBody:function(m,k){var AK=this.cfg.getProperty(B.START_WEEKDAY.key);this.preMonthDays=m.getDay();if(AK>0){this.preMonthDays-=AK;}if(this.preMonthDays<0){this.preMonthDays+=7;}this.monthDays=D.findMonthEnd(m).getDate();this.postMonthDays=F.DISPLAY_DAYS-this.preMonthDays-this.monthDays;m=D.subtract(m,D.DAY,this.preMonthDays);var Y,N,M="w",f="_cell",c="wd",w="d",P,u,AC=this.today,O=this.cfg,W=AC.getFullYear(),v=AC.getMonth(),J=AC.getDate(),AB=O.getProperty(B.PAGEDATE.key),I=O.getProperty(B.HIDE_BLANK_WEEKS.key),j=O.getProperty(B.SHOW_WEEK_FOOTER.key),b=O.getProperty(B.SHOW_WEEK_HEADER.key),U=O.getProperty(B.MINDATE.key),a=O.getProperty(B.MAXDATE.key),T=this.Locale.YEAR_OFFSET;if(U){U=D.clearTime(U);}if(a){a=D.clearTime(a);}k[k.length]='<tbody class="m'+(AB.getMonth()+1)+" "+this.Style.CSS_BODY+'">';var AI=0,Q=document.createElement("div"),l=document.createElement("td");Q.appendChild(l);var AA=this.parent||this;for(var AE=0;AE<6;AE++){Y=D.getWeekNumber(m,AK);N=M+Y;if(AE!==0&&I===true&&m.getMonth()!=AB.getMonth()){break;}else{k[k.length]='<tr class="'+N+'">';if(b){k=this.renderRowHeader(Y,k);}for(var AJ=0;AJ<7;AJ++){P=[];this.clearElement(l);l.className=this.Style.CSS_CELL;l.id=this.id+f+AI;if(m.getDate()==J&&m.getMonth()==v&&m.getFullYear()==W){P[P.length]=AA.renderCellStyleToday;}var Z=[m.getFullYear(),m.getMonth()+1,m.getDate()];this.cellDates[this.cellDates.length]=Z;if(m.getMonth()!=AB.getMonth()){P[P.length]=AA.renderCellNotThisMonth;}else{C.addClass(l,c+m.getDay());C.addClass(l,w+m.getDate());for(var AD=0;AD<this.renderStack.length;++AD){u=null;var y=this.renderStack[AD],AL=y[0],H,e,L;switch(AL){case F.DATE:H=y[1][1];e=y[1][2];L=y[1][0];if(m.getMonth()+1==H&&m.getDate()==e&&m.getFullYear()==L){u=y[2];this.renderStack.splice(AD,1);}break;case F.MONTH_DAY:H=y[1][0];e=y[1][1];if(m.getMonth()+1==H&&m.getDate()==e){u=y[2];this.renderStack.splice(AD,1);}break;case F.RANGE:var h=y[1][0],g=y[1][1],n=h[1],S=h[2],X=h[0],AH=D.getDate(X,n-1,S),K=g[1],q=g[2],G=g[0],AG=D.getDate(G,K-1,q);if(m.getTime()>=AH.getTime()&&m.getTime()<=AG.getTime()){u=y[2];if(m.getTime()==AG.getTime()){this.renderStack.splice(AD,1);}}break;case F.WEEKDAY:var R=y[1][0]; +if(m.getDay()+1==R){u=y[2];}break;case F.MONTH:H=y[1][0];if(m.getMonth()+1==H){u=y[2];}break;}if(u){P[P.length]=u;}}}if(this._indexOfSelectedFieldArray(Z)>-1){P[P.length]=AA.renderCellStyleSelected;}if((U&&(m.getTime()<U.getTime()))||(a&&(m.getTime()>a.getTime()))){P[P.length]=AA.renderOutOfBoundsDate;}else{P[P.length]=AA.styleCellDefault;P[P.length]=AA.renderCellDefault;}for(var z=0;z<P.length;++z){if(P[z].call(AA,m,l)==F.STOP_RENDER){break;}}m.setTime(m.getTime()+D.ONE_DAY_MS);m=D.clearTime(m);if(AI>=0&&AI<=6){C.addClass(l,this.Style.CSS_CELL_TOP);}if((AI%7)===0){C.addClass(l,this.Style.CSS_CELL_LEFT);}if(((AI+1)%7)===0){C.addClass(l,this.Style.CSS_CELL_RIGHT);}var o=this.postMonthDays;if(I&&o>=7){var V=Math.floor(o/7);for(var AF=0;AF<V;++AF){o-=7;}}if(AI>=((this.preMonthDays+o+this.monthDays)-7)){C.addClass(l,this.Style.CSS_CELL_BOTTOM);}k[k.length]=Q.innerHTML;AI++;}if(j){k=this.renderRowFooter(Y,k);}k[k.length]="</tr>";}}k[k.length]="</tbody>";return k;},renderFooter:function(G){return G;},render:function(){this.beforeRenderEvent.fire();var H=D.findMonthStart(this.cfg.getProperty(B.PAGEDATE.key));this.resetRenderers();this.cellDates.length=0;A.purgeElement(this.oDomContainer,true);var G=[];G[G.length]='<table cellSpacing="0" class="'+this.Style.CSS_CALENDAR+" y"+(H.getFullYear()+this.Locale.YEAR_OFFSET)+'" id="'+this.id+'">';G=this.renderHeader(G);G=this.renderBody(H,G);G=this.renderFooter(G);G[G.length]="</table>";this.oDomContainer.innerHTML=G.join("\n");this.applyListeners();this.cells=C.getElementsByClassName(this.Style.CSS_CELL,"td",this.id);this.cfg.refireEvent(B.TITLE.key);this.cfg.refireEvent(B.CLOSE.key);this.cfg.refireEvent(B.IFRAME.key);this.renderEvent.fire();},applyListeners:function(){var P=this.oDomContainer,H=this.parent||this,L="a",S="click";var M=C.getElementsByClassName(this.Style.CSS_NAV_LEFT,L,P),I=C.getElementsByClassName(this.Style.CSS_NAV_RIGHT,L,P);if(M&&M.length>0){this.linkLeft=M[0];A.addListener(this.linkLeft,S,this.doPreviousMonthNav,H,true);}if(I&&I.length>0){this.linkRight=I[0];A.addListener(this.linkRight,S,this.doNextMonthNav,H,true);}if(H.cfg.getProperty("navigator")!==null){this.applyNavListeners();}if(this.domEventMap){var J,G;for(var R in this.domEventMap){if(E.hasOwnProperty(this.domEventMap,R)){var N=this.domEventMap[R];if(!(N instanceof Array)){N=[N];}for(var K=0;K<N.length;K++){var Q=N[K];G=C.getElementsByClassName(R,Q.tag,this.oDomContainer);for(var O=0;O<G.length;O++){J=G[O];A.addListener(J,Q.event,Q.handler,Q.scope,Q.correct);}}}}}A.addListener(this.oDomContainer,"click",this.doSelectCell,this);A.addListener(this.oDomContainer,"mouseover",this.doCellMouseOver,this);A.addListener(this.oDomContainer,"mouseout",this.doCellMouseOut,this);},applyNavListeners:function(){var H=this.parent||this,I=this,G=C.getElementsByClassName(this.Style.CSS_NAV,"a",this.oDomContainer);if(G.length>0){A.addListener(G,"click",function(N,M){var L=A.getTarget(N);if(this===L||C.isAncestor(this,L)){A.preventDefault(N);}var J=H.oNavigator;if(J){var K=I.cfg.getProperty("pagedate");J.setYear(K.getFullYear()+I.Locale.YEAR_OFFSET);J.setMonth(K.getMonth());J.show();}});}},getDateByCellId:function(H){var G=this.getDateFieldsByCellId(H);return(G)?D.getDate(G[0],G[1]-1,G[2]):null;},getDateFieldsByCellId:function(G){G=this.getIndexFromId(G);return(G>-1)?this.cellDates[G]:null;},getCellIndex:function(I){var H=-1;if(I){var G=I.getMonth(),N=I.getFullYear(),M=I.getDate(),K=this.cellDates;for(var J=0;J<K.length;++J){var L=K[J];if(L[0]===N&&L[1]===G+1&&L[2]===M){H=J;break;}}}return H;},getIndexFromId:function(I){var H=-1,G=I.lastIndexOf("_cell");if(G>-1){H=parseInt(I.substring(G+5),10);}return H;},renderOutOfBoundsDate:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOB);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderRowHeader:function(H,G){G[G.length]='<th class="'+this.Style.CSS_ROW_HEADER+'">'+H+"</th>";return G;},renderRowFooter:function(H,G){G[G.length]='<th class="'+this.Style.CSS_ROW_FOOTER+'">'+H+"</th>";return G;},renderCellDefault:function(H,G){G.innerHTML='<a href="#" class="'+this.Style.CSS_CELL_SELECTOR+'">'+this.buildDayLabel(H)+"</a>";},styleCellDefault:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTABLE);},renderCellStyleHighlight1:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT1);},renderCellStyleHighlight2:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT2);},renderCellStyleHighlight3:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT3);},renderCellStyleHighlight4:function(H,G){C.addClass(G,this.Style.CSS_CELL_HIGHLIGHT4);},renderCellStyleToday:function(H,G){C.addClass(G,this.Style.CSS_CELL_TODAY);},renderCellStyleSelected:function(H,G){C.addClass(G,this.Style.CSS_CELL_SELECTED);},renderCellNotThisMonth:function(H,G){C.addClass(G,this.Style.CSS_CELL_OOM);G.innerHTML=H.getDate();return F.STOP_RENDER;},renderBodyCellRestricted:function(H,G){C.addClass(G,this.Style.CSS_CELL);C.addClass(G,this.Style.CSS_CELL_RESTRICTED);G.innerHTML=H.getDate();return F.STOP_RENDER;},addMonths:function(I){var H=B.PAGEDATE.key,J=this.cfg.getProperty(H),G=D.add(J,D.MONTH,I);this.cfg.setProperty(H,G);this.resetRenderers();this.changePageEvent.fire(J,G);},subtractMonths:function(G){this.addMonths(-1*G);},addYears:function(I){var H=B.PAGEDATE.key,J=this.cfg.getProperty(H),G=D.add(J,D.YEAR,I);this.cfg.setProperty(H,G);this.resetRenderers();this.changePageEvent.fire(J,G);},subtractYears:function(G){this.addYears(-1*G);},nextMonth:function(){this.addMonths(1);},previousMonth:function(){this.addMonths(-1);},nextYear:function(){this.addYears(1);},previousYear:function(){this.addYears(-1);},reset:function(){this.cfg.resetProperty(B.SELECTED.key);this.cfg.resetProperty(B.PAGEDATE.key);this.resetEvent.fire();},clear:function(){this.cfg.setProperty(B.SELECTED.key,[]);this.cfg.setProperty(B.PAGEDATE.key,new Date(this.today.getTime()));this.clearEvent.fire();},select:function(I){var L=this._toFieldArray(I),H=[],K=[],M=B.SELECTED.key;for(var G=0;G<L.length;++G){var J=L[G]; +if(!this.isDateOOB(this._toDate(J))){if(H.length===0){this.beforeSelectEvent.fire();K=this.cfg.getProperty(M);}H.push(J);if(this._indexOfSelectedFieldArray(J)==-1){K[K.length]=J;}}}if(H.length>0){if(this.parent){this.parent.cfg.setProperty(M,K);}else{this.cfg.setProperty(M,K);}this.selectEvent.fire(H);}return this.getSelectedDates();},selectCell:function(J){var H=this.cells[J],N=this.cellDates[J],M=this._toDate(N),I=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(I){this.beforeSelectEvent.fire();var L=B.SELECTED.key;var K=this.cfg.getProperty(L);var G=N.concat();if(this._indexOfSelectedFieldArray(G)==-1){K[K.length]=G;}if(this.parent){this.parent.cfg.setProperty(L,K);}else{this.cfg.setProperty(L,K);}this.renderCellStyleSelected(M,H);this.selectEvent.fire([G]);this.doCellMouseOut.call(H,null,this);}return this.getSelectedDates();},deselect:function(K){var G=this._toFieldArray(K),J=[],M=[],N=B.SELECTED.key;for(var H=0;H<G.length;++H){var L=G[H];if(!this.isDateOOB(this._toDate(L))){if(J.length===0){this.beforeDeselectEvent.fire();M=this.cfg.getProperty(N);}J.push(L);var I=this._indexOfSelectedFieldArray(L);if(I!=-1){M.splice(I,1);}}}if(J.length>0){if(this.parent){this.parent.cfg.setProperty(N,M);}else{this.cfg.setProperty(N,M);}this.deselectEvent.fire(J);}return this.getSelectedDates();},deselectCell:function(K){var H=this.cells[K],N=this.cellDates[K],I=this._indexOfSelectedFieldArray(N);var J=C.hasClass(H,this.Style.CSS_CELL_SELECTABLE);if(J){this.beforeDeselectEvent.fire();var L=this.cfg.getProperty(B.SELECTED.key),M=this._toDate(N),G=N.concat();if(I>-1){if(this.cfg.getProperty(B.PAGEDATE.key).getMonth()==M.getMonth()&&this.cfg.getProperty(B.PAGEDATE.key).getFullYear()==M.getFullYear()){C.removeClass(H,this.Style.CSS_CELL_SELECTED);}L.splice(I,1);}if(this.parent){this.parent.cfg.setProperty(B.SELECTED.key,L);}else{this.cfg.setProperty(B.SELECTED.key,L);}this.deselectEvent.fire([G]);}return this.getSelectedDates();},deselectAll:function(){this.beforeDeselectEvent.fire();var J=B.SELECTED.key,G=this.cfg.getProperty(J),H=G.length,I=G.concat();if(this.parent){this.parent.cfg.setProperty(J,[]);}else{this.cfg.setProperty(J,[]);}if(H>0){this.deselectEvent.fire(I);}return this.getSelectedDates();},_toFieldArray:function(H){var G=[];if(H instanceof Date){G=[[H.getFullYear(),H.getMonth()+1,H.getDate()]];}else{if(E.isString(H)){G=this._parseDates(H);}else{if(E.isArray(H)){for(var I=0;I<H.length;++I){var J=H[I];G[G.length]=[J.getFullYear(),J.getMonth()+1,J.getDate()];}}}}return G;},toDate:function(G){return this._toDate(G);},_toDate:function(G){if(G instanceof Date){return G;}else{return D.getDate(G[0],G[1]-1,G[2]);}},_fieldArraysAreEqual:function(I,H){var G=false;if(I[0]==H[0]&&I[1]==H[1]&&I[2]==H[2]){G=true;}return G;},_indexOfSelectedFieldArray:function(K){var J=-1,G=this.cfg.getProperty(B.SELECTED.key);for(var I=0;I<G.length;++I){var H=G[I];if(K[0]==H[0]&&K[1]==H[1]&&K[2]==H[2]){J=I;break;}}return J;},isDateOOM:function(G){return(G.getMonth()!=this.cfg.getProperty(B.PAGEDATE.key).getMonth());},isDateOOB:function(I){var J=this.cfg.getProperty(B.MINDATE.key),K=this.cfg.getProperty(B.MAXDATE.key),H=D;if(J){J=H.clearTime(J);}if(K){K=H.clearTime(K);}var G=new Date(I.getTime());G=H.clearTime(G);return((J&&G.getTime()<J.getTime())||(K&&G.getTime()>K.getTime()));},_parsePageDate:function(G){var J;if(G){if(G instanceof Date){J=D.findMonthStart(G);}else{var K,I,H;H=G.split(this.cfg.getProperty(B.DATE_FIELD_DELIMITER.key));K=parseInt(H[this.cfg.getProperty(B.MY_MONTH_POSITION.key)-1],10)-1;I=parseInt(H[this.cfg.getProperty(B.MY_YEAR_POSITION.key)-1],10)-this.Locale.YEAR_OFFSET;J=D.getDate(I,K,1);}}else{J=D.getDate(this.today.getFullYear(),this.today.getMonth(),1);}return J;},onBeforeSelect:function(){if(this.cfg.getProperty(B.MULTI_SELECT.key)===false){if(this.parent){this.parent.callChildFunction("clearAllBodyCellStyles",this.Style.CSS_CELL_SELECTED);this.parent.deselectAll();}else{this.clearAllBodyCellStyles(this.Style.CSS_CELL_SELECTED);this.deselectAll();}}},onSelect:function(G){},onBeforeDeselect:function(){},onDeselect:function(G){},onChangePage:function(){this.render();},onRender:function(){},onReset:function(){this.render();},onClear:function(){this.render();},validate:function(){return true;},_parseDate:function(I){var J=I.split(this.Locale.DATE_FIELD_DELIMITER),G;if(J.length==2){G=[J[this.Locale.MD_MONTH_POSITION-1],J[this.Locale.MD_DAY_POSITION-1]];G.type=F.MONTH_DAY;}else{G=[J[this.Locale.MDY_YEAR_POSITION-1]-this.Locale.YEAR_OFFSET,J[this.Locale.MDY_MONTH_POSITION-1],J[this.Locale.MDY_DAY_POSITION-1]];G.type=F.DATE;}for(var H=0;H<G.length;H++){G[H]=parseInt(G[H],10);}return G;},_parseDates:function(H){var O=[],N=H.split(this.Locale.DATE_DELIMITER);for(var M=0;M<N.length;++M){var L=N[M];if(L.indexOf(this.Locale.DATE_RANGE_DELIMITER)!=-1){var G=L.split(this.Locale.DATE_RANGE_DELIMITER),K=this._parseDate(G[0]),P=this._parseDate(G[1]),J=this._parseRange(K,P);O=O.concat(J);}else{var I=this._parseDate(L);O.push(I);}}return O;},_parseRange:function(G,K){var H=D.add(D.getDate(G[0],G[1]-1,G[2]),D.DAY,1),J=D.getDate(K[0],K[1]-1,K[2]),I=[];I.push(G);while(H.getTime()<=J.getTime()){I.push([H.getFullYear(),H.getMonth()+1,H.getDate()]);H=D.add(H,D.DAY,1);}return I;},resetRenderers:function(){this.renderStack=this._renderStack.concat();},removeRenderers:function(){this._renderStack=[];this.renderStack=[];},clearElement:function(G){G.innerHTML=" ";G.className="";},addRenderer:function(G,H){var J=this._parseDates(G);for(var I=0;I<J.length;++I){var K=J[I];if(K.length==2){if(K[0] instanceof Array){this._addRenderer(F.RANGE,K,H);}else{this._addRenderer(F.MONTH_DAY,K,H);}}else{if(K.length==3){this._addRenderer(F.DATE,K,H);}}}},_addRenderer:function(H,I,G){var J=[H,I,G];this.renderStack.unshift(J);this._renderStack=this.renderStack.concat();},addMonthRenderer:function(H,G){this._addRenderer(F.MONTH,[H],G);},addWeekdayRenderer:function(H,G){this._addRenderer(F.WEEKDAY,[H],G);},clearAllBodyCellStyles:function(G){for(var H=0; +H<this.cells.length;++H){C.removeClass(this.cells[H],G);}},setMonth:function(I){var G=B.PAGEDATE.key,H=this.cfg.getProperty(G);H.setMonth(parseInt(I,10));this.cfg.setProperty(G,H);},setYear:function(H){var G=B.PAGEDATE.key,I=this.cfg.getProperty(G);I.setFullYear(parseInt(H,10)-this.Locale.YEAR_OFFSET);this.cfg.setProperty(G,I);},getSelectedDates:function(){var I=[],H=this.cfg.getProperty(B.SELECTED.key);for(var K=0;K<H.length;++K){var J=H[K];var G=D.getDate(J[0],J[1]-1,J[2]);I.push(G);}I.sort(function(M,L){return M-L;});return I;},hide:function(){if(this.beforeHideEvent.fire()){this.oDomContainer.style.display="none";this.hideEvent.fire();}},show:function(){if(this.beforeShowEvent.fire()){this.oDomContainer.style.display="block";this.showEvent.fire();}},browser:(function(){var G=navigator.userAgent.toLowerCase();if(G.indexOf("opera")!=-1){return"opera";}else{if(G.indexOf("msie 7")!=-1){return"ie7";}else{if(G.indexOf("msie")!=-1){return"ie";}else{if(G.indexOf("safari")!=-1){return"safari";}else{if(G.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}})(),toString:function(){return"Calendar "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var G=this;if(G.navigator){G.navigator.destroy();}if(G.cfg){G.cfg.destroy();}A.purgeElement(G.oDomContainer,true);C.removeClass(G.oDomContainer,G.Style.CSS_WITH_TITLE);C.removeClass(G.oDomContainer,G.Style.CSS_CONTAINER);C.removeClass(G.oDomContainer,G.Style.CSS_SINGLE);G.oDomContainer.innerHTML="";G.oDomContainer=null;G.cells=null;this.destroyEvent.fire();}}};YAHOO.widget.Calendar=F;YAHOO.widget.Calendar_Core=YAHOO.widget.Calendar;YAHOO.widget.Cal_Core=YAHOO.widget.Calendar;})();(function(){var D=YAHOO.util.Dom,F=YAHOO.widget.DateMath,A=YAHOO.util.Event,E=YAHOO.lang,G=YAHOO.widget.Calendar;function B(J,H,I){if(arguments.length>0){this.init.apply(this,arguments);}}B.DEFAULT_CONFIG=B._DEFAULT_CONFIG=G.DEFAULT_CONFIG;B.DEFAULT_CONFIG.PAGES={key:"pages",value:2};var C=B.DEFAULT_CONFIG;B.prototype={init:function(K,I,J){var H=this._parseArgs(arguments);K=H.id;I=H.container;J=H.config;this.oDomContainer=D.get(I);if(!this.oDomContainer.id){this.oDomContainer.id=D.generateId();}if(!K){K=this.oDomContainer.id+"_t";}this.id=K;this.containerId=this.oDomContainer.id;this.initEvents();this.initStyles();this.pages=[];D.addClass(this.oDomContainer,B.CSS_CONTAINER);D.addClass(this.oDomContainer,B.CSS_MULTI_UP);this.cfg=new YAHOO.util.Config(this);this.Options={};this.Locale={};this.setupConfig();if(J){this.cfg.applyConfig(J,true);}this.cfg.fireQueue();if(YAHOO.env.ua.opera){this.renderEvent.subscribe(this._fixWidth,this,true);this.showEvent.subscribe(this._fixWidth,this,true);}},setupConfig:function(){var H=this.cfg;H.addProperty(C.PAGES.key,{value:C.PAGES.value,validator:H.checkNumber,handler:this.configPages});H.addProperty(C.YEAR_OFFSET.key,{value:C.YEAR_OFFSET.value,handler:this.delegateConfig,supercedes:C.YEAR_OFFSET.supercedes,suppressEvent:true});H.addProperty(C.TODAY.key,{value:new Date(C.TODAY.value.getTime()),supercedes:C.TODAY.supercedes,handler:this.configToday,suppressEvent:false});H.addProperty(C.PAGEDATE.key,{value:C.PAGEDATE.value||new Date(C.TODAY.value.getTime()),handler:this.configPageDate});H.addProperty(C.SELECTED.key,{value:[],handler:this.configSelected});H.addProperty(C.TITLE.key,{value:C.TITLE.value,handler:this.configTitle});H.addProperty(C.CLOSE.key,{value:C.CLOSE.value,handler:this.configClose});H.addProperty(C.IFRAME.key,{value:C.IFRAME.value,handler:this.configIframe,validator:H.checkBoolean});H.addProperty(C.MINDATE.key,{value:C.MINDATE.value,handler:this.delegateConfig});H.addProperty(C.MAXDATE.key,{value:C.MAXDATE.value,handler:this.delegateConfig});H.addProperty(C.MULTI_SELECT.key,{value:C.MULTI_SELECT.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.START_WEEKDAY.key,{value:C.START_WEEKDAY.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.SHOW_WEEKDAYS.key,{value:C.SHOW_WEEKDAYS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_HEADER.key,{value:C.SHOW_WEEK_HEADER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.SHOW_WEEK_FOOTER.key,{value:C.SHOW_WEEK_FOOTER.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.HIDE_BLANK_WEEKS.key,{value:C.HIDE_BLANK_WEEKS.value,handler:this.delegateConfig,validator:H.checkBoolean});H.addProperty(C.NAV_ARROW_LEFT.key,{value:C.NAV_ARROW_LEFT.value,handler:this.delegateConfig});H.addProperty(C.NAV_ARROW_RIGHT.key,{value:C.NAV_ARROW_RIGHT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_SHORT.key,{value:C.MONTHS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.MONTHS_LONG.key,{value:C.MONTHS_LONG.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_1CHAR.key,{value:C.WEEKDAYS_1CHAR.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_SHORT.key,{value:C.WEEKDAYS_SHORT.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_MEDIUM.key,{value:C.WEEKDAYS_MEDIUM.value,handler:this.delegateConfig});H.addProperty(C.WEEKDAYS_LONG.key,{value:C.WEEKDAYS_LONG.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_MONTHS.key,{value:C.LOCALE_MONTHS.value,handler:this.delegateConfig});H.addProperty(C.LOCALE_WEEKDAYS.key,{value:C.LOCALE_WEEKDAYS.value,handler:this.delegateConfig});H.addProperty(C.DATE_DELIMITER.key,{value:C.DATE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_FIELD_DELIMITER.key,{value:C.DATE_FIELD_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.DATE_RANGE_DELIMITER.key,{value:C.DATE_RANGE_DELIMITER.value,handler:this.delegateConfig});H.addProperty(C.MY_MONTH_POSITION.key,{value:C.MY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_YEAR_POSITION.key,{value:C.MY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MD_MONTH_POSITION.key,{value:C.MD_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber}); +H.addProperty(C.MD_DAY_POSITION.key,{value:C.MD_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_MONTH_POSITION.key,{value:C.MDY_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_DAY_POSITION.key,{value:C.MDY_DAY_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MDY_YEAR_POSITION.key,{value:C.MDY_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_MONTH_POSITION.key,{value:C.MY_LABEL_MONTH_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_YEAR_POSITION.key,{value:C.MY_LABEL_YEAR_POSITION.value,handler:this.delegateConfig,validator:H.checkNumber});H.addProperty(C.MY_LABEL_MONTH_SUFFIX.key,{value:C.MY_LABEL_MONTH_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.MY_LABEL_YEAR_SUFFIX.key,{value:C.MY_LABEL_YEAR_SUFFIX.value,handler:this.delegateConfig});H.addProperty(C.NAV.key,{value:C.NAV.value,handler:this.configNavigator});H.addProperty(C.STRINGS.key,{value:C.STRINGS.value,handler:this.configStrings,validator:function(I){return E.isObject(I);},supercedes:C.STRINGS.supercedes});},initEvents:function(){var J=this,L="Event",M=YAHOO.util.CustomEvent;var I=function(O,R,N){for(var Q=0;Q<J.pages.length;++Q){var P=J.pages[Q];P[this.type+L].subscribe(O,R,N);}};var H=function(N,Q){for(var P=0;P<J.pages.length;++P){var O=J.pages[P];O[this.type+L].unsubscribe(N,Q);}};var K=G._EVENT_TYPES;J.beforeSelectEvent=new M(K.BEFORE_SELECT);J.beforeSelectEvent.subscribe=I;J.beforeSelectEvent.unsubscribe=H;J.selectEvent=new M(K.SELECT);J.selectEvent.subscribe=I;J.selectEvent.unsubscribe=H;J.beforeDeselectEvent=new M(K.BEFORE_DESELECT);J.beforeDeselectEvent.subscribe=I;J.beforeDeselectEvent.unsubscribe=H;J.deselectEvent=new M(K.DESELECT);J.deselectEvent.subscribe=I;J.deselectEvent.unsubscribe=H;J.changePageEvent=new M(K.CHANGE_PAGE);J.changePageEvent.subscribe=I;J.changePageEvent.unsubscribe=H;J.beforeRenderEvent=new M(K.BEFORE_RENDER);J.beforeRenderEvent.subscribe=I;J.beforeRenderEvent.unsubscribe=H;J.renderEvent=new M(K.RENDER);J.renderEvent.subscribe=I;J.renderEvent.unsubscribe=H;J.resetEvent=new M(K.RESET);J.resetEvent.subscribe=I;J.resetEvent.unsubscribe=H;J.clearEvent=new M(K.CLEAR);J.clearEvent.subscribe=I;J.clearEvent.unsubscribe=H;J.beforeShowEvent=new M(K.BEFORE_SHOW);J.showEvent=new M(K.SHOW);J.beforeHideEvent=new M(K.BEFORE_HIDE);J.hideEvent=new M(K.HIDE);J.beforeShowNavEvent=new M(K.BEFORE_SHOW_NAV);J.showNavEvent=new M(K.SHOW_NAV);J.beforeHideNavEvent=new M(K.BEFORE_HIDE_NAV);J.hideNavEvent=new M(K.HIDE_NAV);J.beforeRenderNavEvent=new M(K.BEFORE_RENDER_NAV);J.renderNavEvent=new M(K.RENDER_NAV);J.beforeDestroyEvent=new M(K.BEFORE_DESTROY);J.destroyEvent=new M(K.DESTROY);},configPages:function(T,R,N){var L=R[0],J=C.PAGEDATE.key,W="_",M,O=null,S="groupcal",V="first-of-type",K="last-of-type";for(var I=0;I<L;++I){var U=this.id+W+I,Q=this.containerId+W+I,P=this.cfg.getConfig();P.close=false;P.title=false;P.navigator=null;if(I>0){M=new Date(O);this._setMonthOnDate(M,M.getMonth()+I);P.pageDate=M;}var H=this.constructChild(U,Q,P);D.removeClass(H.oDomContainer,this.Style.CSS_SINGLE);D.addClass(H.oDomContainer,S);if(I===0){O=H.cfg.getProperty(J);D.addClass(H.oDomContainer,V);}if(I==(L-1)){D.addClass(H.oDomContainer,K);}H.parent=this;H.index=I;this.pages[this.pages.length]=H;}},configPageDate:function(O,N,L){var J=N[0],M;var K=C.PAGEDATE.key;for(var I=0;I<this.pages.length;++I){var H=this.pages[I];if(I===0){M=H._parsePageDate(J);H.cfg.setProperty(K,M);}else{var P=new Date(M);this._setMonthOnDate(P,P.getMonth()+I);H.cfg.setProperty(K,P);}}},configSelected:function(J,H,L){var K=C.SELECTED.key;this.delegateConfig(J,H,L);var I=(this.pages.length>0)?this.pages[0].cfg.getProperty(K):[];this.cfg.setProperty(K,I,true);},delegateConfig:function(I,H,L){var M=H[0];var K;for(var J=0;J<this.pages.length;J++){K=this.pages[J];K.cfg.setProperty(I,M);}},setChildFunction:function(K,I){var H=this.cfg.getProperty(C.PAGES.key);for(var J=0;J<H;++J){this.pages[J][K]=I;}},callChildFunction:function(M,I){var H=this.cfg.getProperty(C.PAGES.key);for(var L=0;L<H;++L){var K=this.pages[L];if(K[M]){var J=K[M];J.call(K,I);}}},constructChild:function(K,I,J){var H=document.getElementById(I);if(!H){H=document.createElement("div");H.id=I;this.oDomContainer.appendChild(H);}return new G(K,I,J);},setMonth:function(L){L=parseInt(L,10);var M;var I=C.PAGEDATE.key;for(var K=0;K<this.pages.length;++K){var J=this.pages[K];var H=J.cfg.getProperty(I);if(K===0){M=H.getFullYear();}else{H.setFullYear(M);}this._setMonthOnDate(H,L+K);J.cfg.setProperty(I,H);}},setYear:function(J){var I=C.PAGEDATE.key;J=parseInt(J,10);for(var L=0;L<this.pages.length;++L){var K=this.pages[L];var H=K.cfg.getProperty(I);if((H.getMonth()+1)==1&&L>0){J+=1;}K.setYear(J);}},render:function(){this.renderHeader();for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.render();}this.renderFooter();},select:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.select(H);}return this.getSelectedDates();},selectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.selectCell(H);}return this.getSelectedDates();},deselect:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselect(H);}return this.getSelectedDates();},deselectAll:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.deselectAll();}return this.getSelectedDates();},deselectCell:function(H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.deselectCell(H);}return this.getSelectedDates();},reset:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.reset();}},clear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.clear();}this.cfg.setProperty(C.SELECTED.key,[]);this.cfg.setProperty(C.PAGEDATE.key,new Date(this.pages[0].today.getTime()));this.render();},nextMonth:function(){for(var I=0;I<this.pages.length; +++I){var H=this.pages[I];H.nextMonth();}},previousMonth:function(){for(var I=this.pages.length-1;I>=0;--I){var H=this.pages[I];H.previousMonth();}},nextYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.nextYear();}},previousYear:function(){for(var I=0;I<this.pages.length;++I){var H=this.pages[I];H.previousYear();}},getSelectedDates:function(){var J=[];var I=this.cfg.getProperty(C.SELECTED.key);for(var L=0;L<I.length;++L){var K=I[L];var H=F.getDate(K[0],K[1]-1,K[2]);J.push(H);}J.sort(function(N,M){return N-M;});return J;},addRenderer:function(H,I){for(var K=0;K<this.pages.length;++K){var J=this.pages[K];J.addRenderer(H,I);}},addMonthRenderer:function(K,H){for(var J=0;J<this.pages.length;++J){var I=this.pages[J];I.addMonthRenderer(K,H);}},addWeekdayRenderer:function(I,H){for(var K=0;K<this.pages.length;++K){var J=this.pages[K];J.addWeekdayRenderer(I,H);}},removeRenderers:function(){this.callChildFunction("removeRenderers");},renderHeader:function(){},renderFooter:function(){},addMonths:function(H){this.callChildFunction("addMonths",H);},subtractMonths:function(H){this.callChildFunction("subtractMonths",H);},addYears:function(H){this.callChildFunction("addYears",H);},subtractYears:function(H){this.callChildFunction("subtractYears",H);},getCalendarPage:function(K){var M=null;if(K){var N=K.getFullYear(),J=K.getMonth();var I=this.pages;for(var L=0;L<I.length;++L){var H=I[L].cfg.getProperty("pagedate");if(H.getFullYear()===N&&H.getMonth()===J){M=I[L];break;}}}return M;},_setMonthOnDate:function(I,J){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420&&(J<0||J>11)){var H=F.add(I,F.MONTH,J-I.getMonth());I.setTime(H.getTime());}else{I.setMonth(J);}},_fixWidth:function(){var H=0;for(var J=0;J<this.pages.length;++J){var I=this.pages[J];H+=I.oDomContainer.offsetWidth;}if(H>0){this.oDomContainer.style.width=H+"px";}},toString:function(){return"CalendarGroup "+this.id;},destroy:function(){if(this.beforeDestroyEvent.fire()){var J=this;if(J.navigator){J.navigator.destroy();}if(J.cfg){J.cfg.destroy();}A.purgeElement(J.oDomContainer,true);D.removeClass(J.oDomContainer,B.CSS_CONTAINER);D.removeClass(J.oDomContainer,B.CSS_MULTI_UP);for(var I=0,H=J.pages.length;I<H;I++){J.pages[I].destroy();J.pages[I]=null;}J.oDomContainer.innerHTML="";J.oDomContainer=null;this.destroyEvent.fire();}}};B.CSS_CONTAINER="yui-calcontainer";B.CSS_MULTI_UP="multi";B.CSS_2UPTITLE="title";B.CSS_2UPCLOSE="close-icon";YAHOO.lang.augmentProto(B,G,"buildDayLabel","buildMonthLabel","renderOutOfBoundsDate","renderRowHeader","renderRowFooter","renderCellDefault","styleCellDefault","renderCellStyleHighlight1","renderCellStyleHighlight2","renderCellStyleHighlight3","renderCellStyleHighlight4","renderCellStyleToday","renderCellStyleSelected","renderCellNotThisMonth","renderBodyCellRestricted","initStyles","configTitle","configClose","configIframe","configStrings","configToday","configNavigator","createTitleBar","createCloseButton","removeTitleBar","removeCloseButton","hide","show","toDate","_toDate","_parseArgs","browser");YAHOO.widget.CalGrp=B;YAHOO.widget.CalendarGroup=B;YAHOO.widget.Calendar2up=function(J,H,I){this.init(J,H,I);};YAHOO.extend(YAHOO.widget.Calendar2up,B);YAHOO.widget.Cal2up=YAHOO.widget.Calendar2up;})();YAHOO.widget.CalendarNavigator=function(A){this.init(A);};(function(){var A=YAHOO.widget.CalendarNavigator;A.CLASSES={NAV:"yui-cal-nav",NAV_VISIBLE:"yui-cal-nav-visible",MASK:"yui-cal-nav-mask",YEAR:"yui-cal-nav-y",MONTH:"yui-cal-nav-m",BUTTONS:"yui-cal-nav-b",BUTTON:"yui-cal-nav-btn",ERROR:"yui-cal-nav-e",YEAR_CTRL:"yui-cal-nav-yc",MONTH_CTRL:"yui-cal-nav-mc",INVALID:"yui-invalid",DEFAULT:"yui-default"};A.DEFAULT_CONFIG={strings:{month:"Month",year:"Year",submit:"Okay",cancel:"Cancel",invalidYear:"Year needs to be a number"},monthFormat:YAHOO.widget.Calendar.LONG,initialFocus:"year"};A._DEFAULT_CFG=A.DEFAULT_CONFIG;A.ID_SUFFIX="_nav";A.MONTH_SUFFIX="_month";A.YEAR_SUFFIX="_year";A.ERROR_SUFFIX="_error";A.CANCEL_SUFFIX="_cancel";A.SUBMIT_SUFFIX="_submit";A.YR_MAX_DIGITS=4;A.YR_MINOR_INC=1;A.YR_MAJOR_INC=10;A.UPDATE_DELAY=50;A.YR_PATTERN=/^\d+$/;A.TRIM=/^\s*(.*?)\s*$/;})();YAHOO.widget.CalendarNavigator.prototype={id:null,cal:null,navEl:null,maskEl:null,yearEl:null,monthEl:null,errorEl:null,submitEl:null,cancelEl:null,firstCtrl:null,lastCtrl:null,_doc:null,_year:null,_month:0,__rendered:false,init:function(A){var C=A.oDomContainer;this.cal=A;this.id=C.id+YAHOO.widget.CalendarNavigator.ID_SUFFIX;this._doc=C.ownerDocument;var B=YAHOO.env.ua.ie;this.__isIEQuirks=(B&&((B<=6)||(this._doc.compatMode=="BackCompat")));},show:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeShowNavEvent.fire()){if(!this.__rendered){this.render();}this.clearErrors();this._updateMonthUI();this._updateYearUI();this._show(this.navEl,true);this.setInitialFocus();this.showMask();YAHOO.util.Dom.addClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.showNavEvent.fire();}},hide:function(){var A=YAHOO.widget.CalendarNavigator.CLASSES;if(this.cal.beforeHideNavEvent.fire()){this._show(this.navEl,false);this.hideMask();YAHOO.util.Dom.removeClass(this.cal.oDomContainer,A.NAV_VISIBLE);this.cal.hideNavEvent.fire();}},showMask:function(){this._show(this.maskEl,true);if(this.__isIEQuirks){this._syncMask();}},hideMask:function(){this._show(this.maskEl,false);},getMonth:function(){return this._month;},getYear:function(){return this._year;},setMonth:function(A){if(A>=0&&A<12){this._month=A;}this._updateMonthUI();},setYear:function(B){var A=YAHOO.widget.CalendarNavigator.YR_PATTERN;if(YAHOO.lang.isNumber(B)&&A.test(B+"")){this._year=B;}this._updateYearUI();},render:function(){this.cal.beforeRenderNavEvent.fire();if(!this.__rendered){this.createNav();this.createMask();this.applyListeners();this.__rendered=true;}this.cal.renderNavEvent.fire();},createNav:function(){var B=YAHOO.widget.CalendarNavigator;var C=this._doc;var D=C.createElement("div");D.className=B.CLASSES.NAV;var A=this.renderNavContents([]);D.innerHTML=A.join("");this.cal.oDomContainer.appendChild(D); +this.navEl=D;this.yearEl=C.getElementById(this.id+B.YEAR_SUFFIX);this.monthEl=C.getElementById(this.id+B.MONTH_SUFFIX);this.errorEl=C.getElementById(this.id+B.ERROR_SUFFIX);this.submitEl=C.getElementById(this.id+B.SUBMIT_SUFFIX);this.cancelEl=C.getElementById(this.id+B.CANCEL_SUFFIX);if(YAHOO.env.ua.gecko&&this.yearEl&&this.yearEl.type=="text"){this.yearEl.setAttribute("autocomplete","off");}this._setFirstLastElements();},createMask:function(){var B=YAHOO.widget.CalendarNavigator.CLASSES;var A=this._doc.createElement("div");A.className=B.MASK;this.cal.oDomContainer.appendChild(A);this.maskEl=A;},_syncMask:function(){var B=this.cal.oDomContainer;if(B&&this.maskEl){var A=YAHOO.util.Dom.getRegion(B);YAHOO.util.Dom.setStyle(this.maskEl,"width",A.right-A.left+"px");YAHOO.util.Dom.setStyle(this.maskEl,"height",A.bottom-A.top+"px");}},renderNavContents:function(A){var D=YAHOO.widget.CalendarNavigator,E=D.CLASSES,B=A;B[B.length]='<div class="'+E.MONTH+'">';this.renderMonth(B);B[B.length]="</div>";B[B.length]='<div class="'+E.YEAR+'">';this.renderYear(B);B[B.length]="</div>";B[B.length]='<div class="'+E.BUTTONS+'">';this.renderButtons(B);B[B.length]="</div>";B[B.length]='<div class="'+E.ERROR+'" id="'+this.id+D.ERROR_SUFFIX+'"></div>';return B;},renderMonth:function(D){var G=YAHOO.widget.CalendarNavigator,H=G.CLASSES;var I=this.id+G.MONTH_SUFFIX,F=this.__getCfg("monthFormat"),A=this.cal.cfg.getProperty((F==YAHOO.widget.Calendar.SHORT)?"MONTHS_SHORT":"MONTHS_LONG"),E=D;if(A&&A.length>0){E[E.length]='<label for="'+I+'">';E[E.length]=this.__getCfg("month",true);E[E.length]="</label>";E[E.length]='<select name="'+I+'" id="'+I+'" class="'+H.MONTH_CTRL+'">';for(var B=0;B<A.length;B++){E[E.length]='<option value="'+B+'">';E[E.length]=A[B];E[E.length]="</option>";}E[E.length]="</select>";}return E;},renderYear:function(B){var E=YAHOO.widget.CalendarNavigator,F=E.CLASSES;var G=this.id+E.YEAR_SUFFIX,A=E.YR_MAX_DIGITS,D=B;D[D.length]='<label for="'+G+'">';D[D.length]=this.__getCfg("year",true);D[D.length]="</label>";D[D.length]='<input type="text" name="'+G+'" id="'+G+'" class="'+F.YEAR_CTRL+'" maxlength="'+A+'"/>';return D;},renderButtons:function(A){var D=YAHOO.widget.CalendarNavigator.CLASSES;var B=A;B[B.length]='<span class="'+D.BUTTON+" "+D.DEFAULT+'">';B[B.length]='<button type="button" id="'+this.id+"_submit"+'">';B[B.length]=this.__getCfg("submit",true);B[B.length]="</button>";B[B.length]="</span>";B[B.length]='<span class="'+D.BUTTON+'">';B[B.length]='<button type="button" id="'+this.id+"_cancel"+'">';B[B.length]=this.__getCfg("cancel",true);B[B.length]="</button>";B[B.length]="</span>";return B;},applyListeners:function(){var B=YAHOO.util.Event;function A(){if(this.validate()){this.setYear(this._getYearFromUI());}}function C(){this.setMonth(this._getMonthFromUI());}B.on(this.submitEl,"click",this.submit,this,true);B.on(this.cancelEl,"click",this.cancel,this,true);B.on(this.yearEl,"blur",A,this,true);B.on(this.monthEl,"change",C,this,true);if(this.__isIEQuirks){YAHOO.util.Event.on(this.cal.oDomContainer,"resize",this._syncMask,this,true);}this.applyKeyListeners();},purgeListeners:function(){var A=YAHOO.util.Event;A.removeListener(this.submitEl,"click",this.submit);A.removeListener(this.cancelEl,"click",this.cancel);A.removeListener(this.yearEl,"blur");A.removeListener(this.monthEl,"change");if(this.__isIEQuirks){A.removeListener(this.cal.oDomContainer,"resize",this._syncMask);}this.purgeKeyListeners();},applyKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.on(this.yearEl,"keypress",this._handleEnterKey,this,true);D.on(this.yearEl,C,this._handleDirectionKeys,this,true);D.on(this.lastCtrl,B,this._handleTabKey,this,true);D.on(this.firstCtrl,B,this._handleShiftTabKey,this,true);},purgeKeyListeners:function(){var D=YAHOO.util.Event,A=YAHOO.env.ua;var C=(A.ie||A.webkit)?"keydown":"keypress";var B=(A.ie||A.opera||A.webkit)?"keydown":"keypress";D.removeListener(this.yearEl,"keypress",this._handleEnterKey);D.removeListener(this.yearEl,C,this._handleDirectionKeys);D.removeListener(this.lastCtrl,B,this._handleTabKey);D.removeListener(this.firstCtrl,B,this._handleShiftTabKey);},submit:function(){if(this.validate()){this.hide();this.setMonth(this._getMonthFromUI());this.setYear(this._getYearFromUI());var B=this.cal;var A=YAHOO.widget.CalendarNavigator.UPDATE_DELAY;if(A>0){var C=this;window.setTimeout(function(){C._update(B);},A);}else{this._update(B);}}},_update:function(B){var A=YAHOO.widget.DateMath.getDate(this.getYear()-B.cfg.getProperty("YEAR_OFFSET"),this.getMonth(),1);B.cfg.setProperty("pagedate",A);B.render();},cancel:function(){this.hide();},validate:function(){if(this._getYearFromUI()!==null){this.clearErrors();return true;}else{this.setYearError();this.setError(this.__getCfg("invalidYear",true));return false;}},setError:function(A){if(this.errorEl){this.errorEl.innerHTML=A;this._show(this.errorEl,true);}},clearError:function(){if(this.errorEl){this.errorEl.innerHTML="";this._show(this.errorEl,false);}},setYearError:function(){YAHOO.util.Dom.addClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearYearError:function(){YAHOO.util.Dom.removeClass(this.yearEl,YAHOO.widget.CalendarNavigator.CLASSES.INVALID);},clearErrors:function(){this.clearError();this.clearYearError();},setInitialFocus:function(){var A=this.submitEl,C=this.__getCfg("initialFocus");if(C&&C.toLowerCase){C=C.toLowerCase();if(C=="year"){A=this.yearEl;try{this.yearEl.select();}catch(B){}}else{if(C=="month"){A=this.monthEl;}}}if(A&&YAHOO.lang.isFunction(A.focus)){try{A.focus();}catch(D){}}},erase:function(){if(this.__rendered){this.purgeListeners();this.yearEl=null;this.monthEl=null;this.errorEl=null;this.submitEl=null;this.cancelEl=null;this.firstCtrl=null;this.lastCtrl=null;if(this.navEl){this.navEl.innerHTML="";}var B=this.navEl.parentNode;if(B){B.removeChild(this.navEl);}this.navEl=null;var A=this.maskEl.parentNode; +if(A){A.removeChild(this.maskEl);}this.maskEl=null;this.__rendered=false;}},destroy:function(){this.erase();this._doc=null;this.cal=null;this.id=null;},_show:function(B,A){if(B){YAHOO.util.Dom.setStyle(B,"display",(A)?"block":"none");}},_getMonthFromUI:function(){if(this.monthEl){return this.monthEl.selectedIndex;}else{return 0;}},_getYearFromUI:function(){var B=YAHOO.widget.CalendarNavigator;var A=null;if(this.yearEl){var C=this.yearEl.value;C=C.replace(B.TRIM,"$1");if(B.YR_PATTERN.test(C)){A=parseInt(C,10);}}return A;},_updateYearUI:function(){if(this.yearEl&&this._year!==null){this.yearEl.value=this._year;}},_updateMonthUI:function(){if(this.monthEl){this.monthEl.selectedIndex=this._month;}},_setFirstLastElements:function(){this.firstCtrl=this.monthEl;this.lastCtrl=this.cancelEl;if(this.__isMac){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){this.firstCtrl=this.monthEl;this.lastCtrl=this.yearEl;}if(YAHOO.env.ua.gecko){this.firstCtrl=this.yearEl;this.lastCtrl=this.yearEl;}}},_handleEnterKey:function(B){var A=YAHOO.util.KeyListener.KEY;if(YAHOO.util.Event.getCharCode(B)==A.ENTER){YAHOO.util.Event.preventDefault(B);this.submit();}},_handleDirectionKeys:function(H){var G=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY,D=YAHOO.widget.CalendarNavigator;var F=(this.yearEl.value)?parseInt(this.yearEl.value,10):null;if(isFinite(F)){var B=false;switch(G.getCharCode(H)){case A.UP:this.yearEl.value=F+D.YR_MINOR_INC;B=true;break;case A.DOWN:this.yearEl.value=Math.max(F-D.YR_MINOR_INC,0);B=true;break;case A.PAGE_UP:this.yearEl.value=F+D.YR_MAJOR_INC;B=true;break;case A.PAGE_DOWN:this.yearEl.value=Math.max(F-D.YR_MAJOR_INC,0);B=true;break;default:break;}if(B){G.preventDefault(H);try{this.yearEl.select();}catch(C){}}}},_handleTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(C.getCharCode(D)==A.TAB&&!D.shiftKey){try{C.preventDefault(D);this.firstCtrl.focus();}catch(B){}}},_handleShiftTabKey:function(D){var C=YAHOO.util.Event,A=YAHOO.util.KeyListener.KEY;if(D.shiftKey&&C.getCharCode(D)==A.TAB){try{C.preventDefault(D);this.lastCtrl.focus();}catch(B){}}},__getCfg:function(D,B){var C=YAHOO.widget.CalendarNavigator.DEFAULT_CONFIG;var A=this.cal.cfg.getProperty("navigator");if(B){return(A!==true&&A.strings&&A.strings[D])?A.strings[D]:C.strings[D];}else{return(A!==true&&A[D])?A[D]:C[D];}},__isMac:(navigator.userAgent.toLowerCase().indexOf("macintosh")!=-1)};YAHOO.register("calendar",YAHOO.widget.Calendar,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/carousel/carousel-min.js b/js/yui/carousel/carousel-min.js new file mode 100644 index 0000000000000000000000000000000000000000..257caa318680b8b2ded2f070188ef072b5969b70 --- /dev/null +++ b/js/yui/carousel/carousel-min.js @@ -0,0 +1,12 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var P;YAHOO.widget.Carousel=function(s,r){YAHOO.widget.Carousel.superclass.constructor.call(this,s,r);};var U=YAHOO.widget.Carousel,e=YAHOO.util.Dom,c=YAHOO.util.Event,p=YAHOO.lang;P="Carousel";var T={},F="afterScroll",g="allItemsRemoved",b="beforeHide",J="beforePageChange",i="beforeScroll",Y="beforeShow",B="blur",X="focus",a="hide",S="itemAdded",o="itemRemoved",Q="itemReplaced",C="itemSelected",L="loadItems",I="navigationStateChange",h="pageChange",H="render",V="show",Z="startAutoPlay",q="stopAutoPlay",K="uiUpdate";function G(r,s){var t;for(t in s){if(s.hasOwnProperty(t)){e.setStyle(r,t,s[t]);}}}function W(s,r){var t=document.createElement(s);r=r||{};if(r.className){e.addClass(t,r.className);}if(r.styles){G(t,r.styles);}if(r.parent){r.parent.appendChild(t);}if(r.id){t.setAttribute("id",r.id);}if(r.content){if(r.content.nodeName){t.appendChild(r.content);}else{t.innerHTML=r.content;}}return t;}function d(t,s,r){var v;if(!t){return 0;}function u(y,x){var z;if(x=="marginRight"&&YAHOO.env.ua.webkit){z=parseInt(e.getStyle(y,"marginLeft"),10);}else{z=parseInt(e.getStyle(y,x),10);}return p.isNumber(z)?z:0;}function w(y,x){var z;if(x=="marginRight"&&YAHOO.env.ua.webkit){z=parseFloat(e.getStyle(y,"marginLeft"));}else{z=parseFloat(e.getStyle(y,x));}return p.isNumber(z)?z:0;}if(typeof r=="undefined"){r="int";}switch(s){case"height":v=t.offsetHeight;if(v>0){v+=u(t,"marginTop")+u(t,"marginBottom");}else{v=w(t,"height")+u(t,"marginTop")+u(t,"marginBottom")+u(t,"borderTopWidth")+u(t,"borderBottomWidth")+u(t,"paddingTop")+u(t,"paddingBottom");}break;case"width":v=t.offsetWidth;if(v>0){v+=u(t,"marginLeft")+u(t,"marginRight");}else{v=w(t,"width")+u(t,"marginLeft")+u(t,"marginRight")+u(t,"borderLeftWidth")+u(t,"borderRightWidth")+u(t,"paddingLeft")+u(t,"paddingRight");}break;default:if(r=="int"){v=u(t,s);}else{if(r=="float"){v=w(t,s);}else{v=e.getStyle(t,s);}}break;}return v;}function O(w){var u=this,x,t,s=0,v=u.get("firstVisible"),r=false;if(u._itemsTable.numItems===0){return 0;}t=u._itemsTable.items[v]||u._itemsTable.loading[v];if(p.isUndefined(t)){return 0;}x=e.get(t.id);if(typeof w=="undefined"){r=u.get("isVertical");}else{r=w=="height";}if(this._itemAttrCache[w]){return this._itemAttrCache[w];}if(r){s=d(x,"height");}else{s=d(x,"width");}this._itemAttrCache[w]=s;return s;}function N(){var s=this,t,r;t=s.get("isVertical");r=O.call(s,t?"height":"width");return(r*s.get("revealAmount")/100);}function m(w){var AH=this,z=AH._cols,v=AH._rows,u,AC,AB,t,x,AD,AJ=0,AE,s,AG,AA={},y=0,AI=AH._itemsTable,AF=AI.items,r=AI.loading;AB=AH.get("isVertical");AC=O.call(AH,AB?"height":"width");AG=N.call(AH);while(y<w){if(!AF[y]&&!r[y]){AJ++;}y++;}w-=AJ;if(v){u=this.getPageForItem(w);if(AB){x=Math.floor(w/z);AJ=x;AE=AJ*AC;AA.top=(AE+AG)+"px";AC=O.call(AH,"width");t=w%z;AJ=t;s=AJ*AC;AA.left=s+"px";}else{t=w%z;AD=(u-1)*z;AJ=t+AD;s=AJ*AC;AA.left=(s+AG)+"px";AC=O.call(AH,"height");x=Math.floor(w/z);AD=(u-1)*v;AJ=x-AD;AE=AJ*AC;AA.top=AE+"px";}}else{if(AB){AA.left=0;AA.top=((w*AC)+AG)+"px";}else{AA.top=0;AA.left=((w*AC)+AG)+"px";}}return AA;}function D(s){var r=this.get("numVisible");return Math.floor(s/r)*r;}function j(t){var s=0,r=0;s=O.call(this);r=s*t;return r;}function f(r,s){s.scrollPageBackward();c.preventDefault(r);}function k(r,s){s.scrollPageForward();c.preventDefault(r);}function n(w,s){var AA=this,AB=AA.CLASSES,r,y=AA._firstItem,t=AA.get("isCircular"),x=AA.get("numItems"),z=AA.get("numVisible"),v=s,u=y+z-1;if(v>=0&&v<x){if(!p.isUndefined(AA._itemsTable.items[v])){r=e.get(AA._itemsTable.items[v].id);if(r){e.removeClass(r,AB.SELECTED_ITEM);}}}if(p.isNumber(w)){w=parseInt(w,10);w=p.isNumber(w)?w:0;}else{w=y;}if(p.isUndefined(AA._itemsTable.items[w])){w=D.call(AA,w);AA.scrollTo(w);}if(!p.isUndefined(AA._itemsTable.items[w])){r=e.get(AA._itemsTable.items[w].id);if(r){e.addClass(r,AB.SELECTED_ITEM);}}if(w<y||w>u){w=D.call(AA,w);AA.scrollTo(w);}}function l(){var t=false,w=this,s=w.CLASSES,v,r,u;if(!w._hasRendered){return;}r=w.get("navigation");u=w._firstItem+w.get("numVisible");if(r.prev){if(w.get("numItems")===0||w._firstItem===0){if(w.get("numItems")===0||!w.get("isCircular")){c.removeListener(r.prev,"click",f);e.addClass(r.prev,s.FIRST_NAV_DISABLED);for(v=0;v<w._navBtns.prev.length;v++){w._navBtns.prev[v].setAttribute("disabled","true");}w._prevEnabled=false;}else{t=!w._prevEnabled;}}else{t=!w._prevEnabled;}if(t){c.on(r.prev,"click",f,w);e.removeClass(r.prev,s.FIRST_NAV_DISABLED);for(v=0;v<w._navBtns.prev.length;v++){w._navBtns.prev[v].removeAttribute("disabled");}w._prevEnabled=true;}}t=false;if(r.next){if(u>=w.get("numItems")){if(!w.get("isCircular")){c.removeListener(r.next,"click",k);e.addClass(r.next,s.DISABLED);for(v=0;v<w._navBtns.next.length;v++){w._navBtns.next[v].setAttribute("disabled","true");}w._nextEnabled=false;}else{t=!w._nextEnabled;}}else{t=!w._nextEnabled;}if(t){c.on(r.next,"click",k,w);e.removeClass(r.next,s.DISABLED);for(v=0;v<w._navBtns.next.length;v++){w._navBtns.next[v].removeAttribute("disabled");}w._nextEnabled=true;}}w.fireEvent(I,{next:w._nextEnabled,prev:w._prevEnabled});}function R(t){var u=this,r,s;if(!u._hasRendered){return;}s=u.get("numVisible");if(!p.isNumber(t)){t=Math.floor(u.get("selectedItem")/s);}r=Math.ceil(u.get("numItems")/s);u._pages.num=r;u._pages.cur=t;if(r>u.CONFIG.MAX_PAGER_BUTTONS){u._updatePagerMenu();}else{u._updatePagerButtons();}}function M(r,s){switch(s){case"height":return d(r,"marginTop")+d(r,"marginBottom")+d(r,"paddingTop")+d(r,"paddingBottom")+d(r,"borderTopWidth")+d(r,"borderBottomWidth");case"width":return d(r,"marginLeft")+d(r,"marginRight")+d(r,"paddingLeft")+d(r,"paddingRight")+d(r,"borderLeftWidth")+d(r,"borderRightWidth");default:break;}return d(r,s);}function A(s){var r=this;if(!p.isObject(s)){return;}switch(s.ev){case S:r._syncUiForItemAdd(s);break;case o:r._syncUiForItemRemove(s);break;case Q:r._syncUiForItemReplace(s);break;case L:r._syncUiForLazyLoading(s);break;}r.fireEvent(K);}function E(u,s){var w=this,v=w.get("currentPage"),t,r=w.get("numVisible"); +t=parseInt(w._firstItem/r,10);if(t!=v){w.setAttributeConfig("currentPage",{value:t});w.fireEvent(h,t);}if(w.get("selectOnScroll")){if(w.get("selectedItem")!=w._selectedItem){w.set("selectedItem",w._selectedItem);}}clearTimeout(w._autoPlayTimer);delete w._autoPlayTimer;if(w.isAutoPlayOn()){w.startAutoPlay();}w.fireEvent(F,{first:w._firstItem,last:s},w);}U.getById=function(r){return T[r]?T[r].object:false;};YAHOO.extend(U,YAHOO.util.Element,{_rows:null,_cols:null,_animObj:null,_carouselEl:null,_clipEl:null,_firstItem:0,_hasFocus:false,_hasRendered:false,_isAnimationInProgress:false,_isAutoPlayInProgress:false,_itemsTable:null,_navBtns:null,_navEl:null,_nextEnabled:true,_pages:null,_pagination:{},_prevEnabled:true,_recomputeSize:true,_itemAttrCache:{},CLASSES:{BUTTON:"yui-carousel-button",CAROUSEL:"yui-carousel",CAROUSEL_EL:"yui-carousel-element",CONTAINER:"yui-carousel-container",CONTENT:"yui-carousel-content",DISABLED:"yui-carousel-button-disabled",FIRST_NAV:" yui-carousel-first-button",FIRST_NAV_DISABLED:"yui-carousel-first-button-disabled",FIRST_PAGE:"yui-carousel-nav-first-page",FOCUSSED_BUTTON:"yui-carousel-button-focus",HORIZONTAL:"yui-carousel-horizontal",ITEM_LOADING:"yui-carousel-item-loading",MIN_WIDTH:"yui-carousel-min-width",NAVIGATION:"yui-carousel-nav",NEXT_NAV:" yui-carousel-next-button",NEXT_PAGE:"yui-carousel-next",NAV_CONTAINER:"yui-carousel-buttons",PAGER_ITEM:"yui-carousel-pager-item",PAGINATION:"yui-carousel-pagination",PAGE_FOCUS:"yui-carousel-nav-page-focus",PREV_PAGE:"yui-carousel-prev",SELECTED_ITEM:"yui-carousel-item-selected",SELECTED_NAV:"yui-carousel-nav-page-selected",VERTICAL:"yui-carousel-vertical",MULTI_ROW:"yui-carousel-multi-row",ROW:"yui-carousel-row",VERTICAL_CONTAINER:"yui-carousel-vertical-container",VISIBLE:"yui-carousel-visible"},CONFIG:{FIRST_VISIBLE:0,HORZ_MIN_WIDTH:180,MAX_PAGER_BUTTONS:5,VERT_MIN_WIDTH:115,NUM_VISIBLE:3},STRINGS:{ITEM_LOADING_CONTENT:"Loading",NEXT_BUTTON_TEXT:"Next Page",PAGER_PREFIX_TEXT:"Go to page ",PREVIOUS_BUTTON_TEXT:"Previous Page"},addItem:function(y,s){var x=this,u,t,r,z=0,w,v=x.get("numItems");if(!y){return false;}if(p.isString(y)||y.nodeName){t=y.nodeName?y.innerHTML:y;}else{if(p.isObject(y)){t=y.content;}else{return false;}}u=y.className||"";r=y.id?y.id:e.generateId();if(p.isUndefined(s)){x._itemsTable.items.push({item:t,className:u,id:r});w=x._itemsTable.items.length-1;}else{if(s<0||s>v){return false;}if(!x._itemsTable.items[s]){x._itemsTable.items[s]=undefined;z=1;}x._itemsTable.items.splice(s,z,{item:t,className:u,id:r});}x._itemsTable.numItems++;if(v<x._itemsTable.items.length){x.set("numItems",x._itemsTable.items.length);}x.fireEvent(S,{pos:s,ev:S,newPos:w});return true;},addItems:function(r){var s,u,t=true;if(!p.isArray(r)){return false;}for(s=0,u=r.length;s<u;s++){if(this.addItem(r[s][0],r[s][1])===false){t=false;}}return t;},blur:function(){this._carouselEl.blur();this.fireEvent(B);},clearItems:function(){var r=this,s=r.get("numItems");while(s>0){if(!r.removeItem(0)){}if(r._itemsTable.numItems===0){r.set("numItems",0);break;}s--;}r.fireEvent(g);},focus:function(){var AA=this,v,w,x,u,z,AB,s,t,r;if(!AA._hasRendered){return;}if(AA.isAnimating()){return;}r=AA.get("selectedItem");AB=AA.get("numVisible");s=AA.get("selectOnScroll");t=(r>=0)?AA.getItem(r):null;v=AA.get("firstVisible");z=v+AB-1;x=(r<v||r>z);w=(t&&t.id)?e.get(t.id):null;u=AA._itemsTable;if(!s&&x){w=(u&&u.items&&u.items[v])?e.get(u.items[v].id):null;}if(w){try{w.focus();}catch(y){}}AA.fireEvent(X);},hide:function(){var r=this;if(r.fireEvent(b)!==false){r.removeClass(r.CLASSES.VISIBLE);r.fireEvent(a);}},init:function(u,s){var v=this,r=u,w=false,t;if(!u){return;}v._hasRendered=false;v._navBtns={prev:[],next:[]};v._pages={el:null,num:0,cur:0};v._pagination={};v._itemAttrCache={};v._itemsTable={loading:{},numItems:0,items:[],size:0};if(p.isString(u)){u=e.get(u);}else{if(!u.nodeName){return;}}U.superclass.init.call(v,u,s);t=v.get("selectedItem");if(t>0){v.set("firstVisible",D.call(v,t));}if(u){if(!u.id){u.setAttribute("id",e.generateId());}w=v._parseCarousel(u);if(!w){v._createCarousel(r);}}else{u=v._createCarousel(r);}r=u.id;v.initEvents();if(w){v._parseCarouselItems();}if(t>0){n.call(v,t,0);}if(!s||typeof s.isVertical=="undefined"){v.set("isVertical",false);}v._parseCarouselNavigation(u);v._navEl=v._setupCarouselNavigation();T[r]={object:v};v._loadItems(Math.min(v.get("firstVisible")+v.get("numVisible"),v.get("numItems"))-1);},initAttributes:function(r){var s=this;r=r||{};U.superclass.initAttributes.call(s,r);s.setAttributeConfig("carouselEl",{validator:p.isString,value:r.carouselEl||"OL"});s.setAttributeConfig("carouselItemEl",{validator:p.isString,value:r.carouselItemEl||"LI"});s.setAttributeConfig("currentPage",{readOnly:true,value:0});s.setAttributeConfig("firstVisible",{method:s._setFirstVisible,validator:s._validateFirstVisible,value:r.firstVisible||s.CONFIG.FIRST_VISIBLE});s.setAttributeConfig("selectOnScroll",{validator:p.isBoolean,value:r.selectOnScroll||true});s.setAttributeConfig("numVisible",{setter:s._numVisibleSetter,method:s._setNumVisible,validator:s._validateNumVisible,value:r.numVisible||s.CONFIG.NUM_VISIBLE});s.setAttributeConfig("numItems",{method:s._setNumItems,validator:s._validateNumItems,value:s._itemsTable.numItems});s.setAttributeConfig("scrollIncrement",{validator:s._validateScrollIncrement,value:r.scrollIncrement||1});s.setAttributeConfig("selectedItem",{setter:s._selectedItemSetter,method:s._setSelectedItem,validator:p.isNumber,value:-1});s.setAttributeConfig("revealAmount",{method:s._setRevealAmount,validator:s._validateRevealAmount,value:r.revealAmount||0});s.setAttributeConfig("isCircular",{validator:p.isBoolean,value:r.isCircular||false});s.setAttributeConfig("isVertical",{method:s._setOrientation,validator:p.isBoolean,value:r.isVertical||false});s.setAttributeConfig("navigation",{method:s._setNavigation,validator:s._validateNavigation,value:r.navigation||{prev:null,next:null,page:null}});s.setAttributeConfig("animation",{validator:s._validateAnimation,value:r.animation||{speed:0,effect:null}}); +s.setAttributeConfig("autoPlay",{validator:p.isNumber,value:r.autoPlay||0});s.setAttributeConfig("autoPlayInterval",{validator:p.isNumber,value:r.autoPlayInterval||0});s.setAttributeConfig("numPages",{readOnly:true,getter:s._getNumPages});s.setAttributeConfig("lastVisible",{readOnly:true,getter:s._getLastVisible});},initEvents:function(){var t=this,s=t.CLASSES,r;t.on("keydown",t._keyboardEventHandler);t.on(F,l);t.on(S,A);t.on(o,A);t.on(Q,A);t.on(C,function(){if(t._hasFocus){t.focus();}});t.on(L,A);t.on(g,function(u){t.scrollTo(0);l.call(t);R.call(t);});t.on(h,R,t);t.on(H,function(u){if(t.get("selectedItem")===null||t.get("selectedItem")<=0){t.set("selectedItem",t.get("firstVisible"));}l.call(t,u);R.call(t,u);t._setClipContainerSize();t.show();});t.on("selectedItemChange",function(u){n.call(t,u.newValue,u.prevValue);if(u.newValue>=0){t._updateTabIndex(t.getElementForItem(u.newValue));}t.fireEvent(C,u.newValue);});t.on(K,function(u){l.call(t,u);R.call(t,u);});t.on("firstVisibleChange",function(u){if(!t.get("selectOnScroll")){if(u.newValue>=0){t._updateTabIndex(t.getElementForItem(u.newValue));}}});t.on("click",function(u){if(t.isAutoPlayOn()){t.stopAutoPlay();}t._itemClickHandler(u);t._pagerClickHandler(u);});c.onFocus(t.get("element"),function(u,w){var v=c.getTarget(u);if(v&&v.nodeName.toUpperCase()=="A"&&e.getAncestorByClassName(v,s.NAVIGATION)){if(r){e.removeClass(r,s.PAGE_FOCUS);}r=v.parentNode;e.addClass(r,s.PAGE_FOCUS);}else{if(r){e.removeClass(r,s.PAGE_FOCUS);}}w._hasFocus=true;w._updateNavButtons(c.getTarget(u),true);},t);c.onBlur(t.get("element"),function(u,v){v._hasFocus=false;v._updateNavButtons(c.getTarget(u),false);},t);},isAnimating:function(){return this._isAnimationInProgress;},isAutoPlayOn:function(){return this._isAutoPlayInProgress;},getElementForItem:function(r){var s=this;if(r<0||r>=s.get("numItems")){return null;}if(s._itemsTable.items[r]){return e.get(s._itemsTable.items[r].id);}return null;},getElementForItems:function(){var t=this,s=[],r;for(r=0;r<t._itemsTable.numItems;r++){s.push(t.getElementForItem(r));}return s;},getItem:function(r){var s=this;if(r<0||r>=s.get("numItems")){return null;}if(s._itemsTable.numItems>r){if(!p.isUndefined(s._itemsTable.items[r])){return s._itemsTable.items[r];}}return null;},getItems:function(){return this._itemsTable.items;},getLoadingItems:function(){return this._itemsTable.loading;},getRows:function(){return this._rows;},getCols:function(){return this._cols;},getItemPositionById:function(w){var u=this,v=u.get("numItems"),s=0,r=u._itemsTable.items,t;while(s<v){t=r[s]||{};if(t.id==w){return s;}s++;}return -1;},getVisibleItems:function(){var u=this,s=u.get("firstVisible"),v=s+u.get("numVisible"),t=[];while(s<v){t.push(u.getElementForItem(s));s++;}return t;},removeItem:function(s){var u=this,t,r=u.get("numItems");if(s<0||s>=r){return false;}t=u._itemsTable.items.splice(s,1);if(t&&t.length==1){u._itemsTable.numItems--;u.set("numItems",r-1);u.fireEvent(o,{item:t[0],pos:s,ev:o});return true;}return false;},replaceItem:function(z,u){var y=this,w,v,t,x=y.get("numItems"),s,r=z;if(!z){return false;}if(p.isString(z)||z.nodeName){v=z.nodeName?z.innerHTML:z;}else{if(p.isObject(z)){v=z.content;}else{return false;}}if(p.isUndefined(u)){return false;}else{if(u<0||u>=x){return false;}s=y._itemsTable.items[u];if(!s){s=y._itemsTable.loading[u];y._itemsTable.items[u]=undefined;}y._itemsTable.items.splice(u,1,{item:v,className:z.className||"",id:e.generateId()});r=y._itemsTable.items[u];}y.fireEvent(Q,{newItem:r,oldItem:s,pos:u,ev:Q});return true;},replaceItems:function(r){var s,u,t=true;if(!p.isArray(r)){return false;}for(s=0,u=r.length;s<u;s++){if(this.replaceItem(r[s][0],r[s][1])===false){t=false;}}return t;},render:function(s){var u=this,r=u.CLASSES,t=u._rows;u.addClass(r.CAROUSEL);if(!u._clipEl){u._clipEl=u._createCarouselClip();u._clipEl.appendChild(u._carouselEl);}if(s){u.appendChild(u._clipEl);u.appendTo(s);}else{if(!e.inDocument(u.get("element"))){return false;}u.appendChild(u._clipEl);}if(t){e.addClass(u._clipEl,r.MULTI_ROW);}if(u.get("isVertical")){u.addClass(r.VERTICAL);}else{u.addClass(r.HORIZONTAL);}if(u.get("numItems")<1){return false;}u._refreshUi();return true;},scrollBackward:function(){var r=this;r.scrollTo(r._firstItem-r.get("scrollIncrement"));},scrollForward:function(){var r=this;r.scrollTo(r._firstItem+r.get("scrollIncrement"));},scrollPageBackward:function(){var t=this,u=t.get("isVertical"),s=t._cols,r=t._firstItem-t.get("numVisible");if(r<0){if(s){r=t._firstItem-s;}}if(t.get("selectOnScroll")){t._selectedItem=t._getSelectedItem(r);}t.scrollTo(r);},scrollPageForward:function(){var s=this,r=s._firstItem+s.get("numVisible");if(r>s.get("numItems")){r=0;}if(s.get("selectOnScroll")){s._selectedItem=s._getSelectedItem(r);}s.scrollTo(r);},scrollTo:function(AL,AI){var AH=this,u,AJ,z,AB,AC,AM,AN,AO,AD,AA,v,AF,s,w,t,x,AE,y,AP,AK=AH._itemsTable,AG=AK.items,r=AK.loading;if(p.isUndefined(AL)||AL==AH._firstItem||AH.isAnimating()){return;}AJ=AH.get("animation");z=AH.get("isCircular");AB=AH.get("isVertical");AA=AH._cols;v=AH._rows;AO=AH._firstItem;AF=AH.get("numItems");s=AH.get("numVisible");t=AH.get("currentPage");AP=function(){if(AH.isAutoPlayOn()){AH.stopAutoPlay();}};if(AL<0){if(z){AL=AF+AL;}else{AP.call(AH);return;}}else{if(AF>0&&AL>AF-1){if(AH.get("isCircular")){AL=AF-AL;}else{AP.call(AH);return;}}}if(isNaN(AL)){return;}AN=(AH._firstItem>AL)?"backward":"forward";AE=AO+s;AE=(AE>AF-1)?AF-1:AE;x=AH.fireEvent(i,{dir:AN,first:AO,last:AE});if(x===false){return;}AH.fireEvent(J,{page:t});AD=AL+s-1;AH._loadItems(AD>AF-1?AF-1:AD);AM=0-AL;if(v){if(AB){AM=parseInt(AM/AA,10);}else{AM=parseInt(AM/v,10);}}y=0;while(AM<0&&y<AL+s-1&&y<AF){if(!AG[y]&&!r[y]){AM++;}y+=v?v:1;}AH._firstItem=AL;AH.set("firstVisible",AL);AE=AL+s;AE=(AE>AF-1)?AF-1:AE;w=j.call(AH,AM);u=AJ.speed>0;if(u){AH._animateAndSetCarouselOffset(w,AL,AE,AI);}else{AH._setCarouselOffset(w);E.call(AH,AL,AE);}},getPageForItem:function(r){return Math.ceil((r+1)/parseInt(this.get("numVisible"),10));},getFirstVisibleOnPage:function(r){return(r-1)*this.get("numVisible"); +},selectPreviousItem:function(){var t=this,s=0,r=t.get("selectedItem");if(r==this._firstItem){s=r-t.get("numVisible");t._selectedItem=t._getSelectedItem(r-1);t.scrollTo(s);}else{s=t.get("selectedItem")-t.get("scrollIncrement");t.set("selectedItem",t._getSelectedItem(s));}},selectNextItem:function(){var s=this,r=0;r=s.get("selectedItem")+s.get("scrollIncrement");s.set("selectedItem",s._getSelectedItem(r));},show:function(){var s=this,r=s.CLASSES;if(s.fireEvent(Y)!==false){s.addClass(r.VISIBLE);s.fireEvent(V);}},startAutoPlay:function(){var r=this,s;if(p.isUndefined(r._autoPlayTimer)){s=r.get("autoPlayInterval");if(s<=0){return;}r._isAutoPlayInProgress=true;r.fireEvent(Z);r._autoPlayTimer=setTimeout(function(){r._autoScroll();},s);}},stopAutoPlay:function(){var r=this;if(!p.isUndefined(r._autoPlayTimer)){clearTimeout(r._autoPlayTimer);delete r._autoPlayTimer;r._isAutoPlayInProgress=false;r.fireEvent(q);}},updatePagination:function(){var z=this,x=z._pagination;if(!x.el){return false;}var w=z.get("numItems"),AA=z.get("numVisible"),u=z.get("firstVisible")+1,v=z.get("currentPage")+1,r=z.get("numPages"),t={"numVisible":AA,"numPages":r,"numItems":w,"selectedItem":z.get("selectedItem")+1,"currentPage":v,"firstVisible":u,"lastVisible":z.get("lastVisible")+1},s=x.callback||{},y=s.scope&&s.obj?s.obj:z;x.el.innerHTML=p.isFunction(s.fn)?s.fn.apply(y,[x.template,t]):YAHOO.lang.substitute(x.template,t);},registerPagination:function(s,u,r){var t=this;t._pagination.template=s;t._pagination.callback=r||{};if(!t._pagination.el){t._pagination.el=W("DIV",{className:t.CLASSES.PAGINATION});if(u=="before"){t._navEl.insertBefore(t._pagination.el,t._navEl.firstChild);}else{t._navEl.appendChild(t._pagination.el);}t.on("itemSelected",t.updatePagination);t.on("pageChange",t.updatePagination);}t.updatePagination();},toString:function(){return P+(this.get?" (#"+this.get("id")+")":"");},_animateAndSetCarouselOffset:function(w,u,s){var v=this,t=v.get("animation"),r=null;if(v.get("isVertical")){r=new YAHOO.util.Motion(v._carouselEl,{top:{to:w}},t.speed,t.effect);}else{r=new YAHOO.util.Motion(v._carouselEl,{left:{to:w}},t.speed,t.effect);}v._isAnimationInProgress=true;r.onComplete.subscribe(v._animationCompleteHandler,{scope:v,item:u,last:s});r.animate();},_animationCompleteHandler:function(r,s,t){t.scope._isAnimationInProgress=false;E.call(t.scope,t.item,t.last);},_autoScroll:function(){var s=this,t=s._firstItem,r;if(t>=s.get("numItems")-1){if(s.get("isCircular")){r=0;}else{s.stopAutoPlay();}}else{r=t+s.get("numVisible");}s._selectedItem=s._getSelectedItem(r);s.scrollTo.call(s,r);},_createCarousel:function(s){var u=this,r=u.CLASSES,t=e.get(s);if(!t){t=W("DIV",{className:r.CAROUSEL,id:s});}if(!u._carouselEl){u._carouselEl=W(u.get("carouselEl"),{className:r.CAROUSEL_EL});}return t;},_createCarouselClip:function(){return W("DIV",{className:this.CLASSES.CONTENT});},_createCarouselItem:function(u){var r,t=this,s=m.call(t,u.pos);return W(t.get("carouselItemEl"),{className:u.className,styles:u.styles,content:u.content,id:u.id});},_getValidIndex:function(t){var w=this,r=w.get("isCircular"),u=w.get("numItems"),v=w.get("numVisible"),s=u-1;if(t<0){t=r?Math.ceil(u/v)*v+t:0;}else{if(t>s){t=r?0:s;}}return t;},_getSelectedItem:function(v){var u=this,r=u.get("isCircular"),t=u.get("numItems"),s=t-1;if(v<0){if(r){v=t+v;}else{v=u.get("selectedItem");}}else{if(v>s){if(r){v=v-t;}else{v=u.get("selectedItem");}}}return v;},_itemClickHandler:function(v){var y=this,w=y.get("carouselItemEl"),s=y.get("element"),t,u,x=c.getTarget(v),r=x.tagName.toUpperCase();if(r==="INPUT"||r==="SELECT"||r==="TEXTAREA"){return;}while(x&&x!=s&&x.id!=y._carouselEl){t=x.nodeName;if(t.toUpperCase()==w){break;}x=x.parentNode;}if((u=y.getItemPositionById(x.id))>=0){y.set("selectedItem",y._getSelectedItem(u));y.focus();}},_keyboardEventHandler:function(t){var v=this,s=c.getCharCode(t),u=c.getTarget(t),r=false;if(v.isAnimating()||u.tagName.toUpperCase()==="SELECT"){return;}switch(s){case 37:case 38:v.selectPreviousItem();r=true;break;case 39:case 40:v.selectNextItem();r=true;break;case 33:v.scrollPageBackward();r=true;break;case 34:v.scrollPageForward();r=true;break;}if(r){if(v.isAutoPlayOn()){v.stopAutoPlay();}c.preventDefault(t);}},_loadItems:function(t){var w=this,s=w.get("numItems"),u=w.get("numVisible"),v=w.get("revealAmount"),x=w._itemsTable.items.length,r=w.get("lastVisible");if(x>t&&t+1>=u){x=t%u||t==r?t-t%u:t-u+1;}if(v&&t<s-1){t++;}if(t>=x&&(!w.getItem(x)||!w.getItem(t))){w.fireEvent(L,{ev:L,first:x,last:t,num:t-x+1});}},_pagerChangeHandler:function(s){var v=this,u=c.getTarget(s),t=u.value,r;if(t){r=v.getFirstVisibleOnPage(t);v._selectedItem=r;v.scrollTo(r);v.focus();}},_pagerClickHandler:function(x){var z=this,t=z.CLASSES,u=c.getTarget(x),s=u.nodeName.toUpperCase(),r,w,v,y;if(e.hasClass(u,t.PAGER_ITEM)||e.hasClass(u.parentNode,t.PAGER_ITEM)){if(s=="EM"){u=u.parentNode;}r=u.href;w=r.lastIndexOf("#");v=parseInt(r.substring(w+1),10);if(v!=-1){y=z.getFirstVisibleOnPage(v);z._selectedItem=y;z.scrollTo(y);z.focus();}c.preventDefault(x);}},_parseCarousel:function(t){var w=this,x,r,s,v,u;r=w.CLASSES;s=w.get("carouselEl");v=false;for(x=t.firstChild;x;x=x.nextSibling){if(x.nodeType==1){u=x.nodeName;if(u.toUpperCase()==s){w._carouselEl=x;e.addClass(w._carouselEl,w.CLASSES.CAROUSEL_EL);v=true;}}}return v;},_parseCarouselItems:function(){var y=this,AA=y.CLASSES,v=0,z,r,t,u,s,w=y.get("firstVisible"),x=y._carouselEl;z=y._rows;t=y.get("carouselItemEl");for(r=x.firstChild;r;r=r.nextSibling){if(r.nodeType==1){s=r.nodeName;if(s.toUpperCase()==t){if(r.id){u=r.id;}else{u=e.generateId();r.setAttribute("id",u);}y.addItem(r,w);w++;}}}},_parseCarouselNavigation:function(x){var y=this,w,z=y.CLASSES,s,v,u,r,t=false;r=e.getElementsByClassName(z.PREV_PAGE,"*",x);if(r.length>0){for(v in r){if(r.hasOwnProperty(v)){s=r[v];if(s.nodeName=="INPUT"||s.nodeName=="BUTTON"||s.nodeName=="A"){y._navBtns.prev.push(s);}else{u=s.getElementsByTagName("INPUT");if(p.isArray(u)&&u.length>0){y._navBtns.prev.push(u[0]); +}else{u=s.getElementsByTagName("BUTTON");if(p.isArray(u)&&u.length>0){y._navBtns.prev.push(u[0]);}}}}}w={prev:r};}r=e.getElementsByClassName(z.NEXT_PAGE,"*",x);if(r.length>0){for(v in r){if(r.hasOwnProperty(v)){s=r[v];if(s.nodeName=="INPUT"||s.nodeName=="BUTTON"||s.nodeName=="A"){y._navBtns.next.push(s);}else{u=s.getElementsByTagName("INPUT");if(p.isArray(u)&&u.length>0){y._navBtns.next.push(u[0]);}else{u=s.getElementsByTagName("BUTTON");if(p.isArray(u)&&u.length>0){y._navBtns.next.push(u[0]);}}}}}if(w){w.next=r;}else{w={next:r};}}if(w){y.set("navigation",w);t=true;}return t;},_refreshUi:function(){var v=this,s,w=v.get("isVertical"),y=v.get("firstVisible"),t,x,r,u;if(v._itemsTable.numItems<1){return;}u=O.call(v,w?"height":"width");t=v._itemsTable.items[y].id;u=w?d(t,"width"):d(t,"height");e.setStyle(v._carouselEl,w?"width":"height",u+"px");v._hasRendered=true;v.fireEvent(H);},_setCarouselOffset:function(t){var r=this,s;s=r.get("isVertical")?"top":"left";e.setStyle(r._carouselEl,s,t+"px");},_setupCarouselNavigation:function(){var w=this,u,s,r,y,v,x,t;r=w.CLASSES;v=e.getElementsByClassName(r.NAVIGATION,"DIV",w.get("element"));if(v.length===0){v=W("DIV",{className:r.NAVIGATION});w.insertBefore(v,e.getFirstChild(w.get("element")));}else{v=v[0];}w._pages.el=W("UL");v.appendChild(w._pages.el);y=w.get("navigation");if(p.isString(y.prev)||p.isArray(y.prev)){if(p.isString(y.prev)){y.prev=[y.prev];}for(u in y.prev){if(y.prev.hasOwnProperty(u)){w._navBtns.prev.push(e.get(y.prev[u]));}}}else{t=W("SPAN",{className:r.BUTTON+r.FIRST_NAV});e.setStyle(t,"visibility","visible");u=e.generateId();t.innerHTML='<button type="button" '+'id="'+u+'" name="'+w.STRINGS.PREVIOUS_BUTTON_TEXT+'">'+w.STRINGS.PREVIOUS_BUTTON_TEXT+"</button>";v.appendChild(t);u=e.get(u);w._navBtns.prev=[u];s={prev:[t]};}if(p.isString(y.next)||p.isArray(y.next)){if(p.isString(y.next)){y.next=[y.next];}for(u in y.next){if(y.next.hasOwnProperty(u)){w._navBtns.next.push(e.get(y.next[u]));}}}else{x=W("SPAN",{className:r.BUTTON+r.NEXT_NAV});e.setStyle(x,"visibility","visible");u=e.generateId();x.innerHTML='<button type="button" '+'id="'+u+'" name="'+w.STRINGS.NEXT_BUTTON_TEXT+'">'+w.STRINGS.NEXT_BUTTON_TEXT+"</button>";v.appendChild(x);u=e.get(u);w._navBtns.next=[u];if(s){s.next=[x];}else{s={next:[x]};}}if(s){w.set("navigation",s);}return v;},_setClipContainerSize:function(r,t){var z=this,x=z.get("isVertical"),AB=z._rows,v=z._cols,y=z.get("revealAmount"),s=O.call(z,"height"),u=O.call(z,"width"),AA,w;r=r||z._clipEl;if(AB){AA=s*AB;w=u*v;}else{t=t||z.get("numVisible");if(x){AA=s*t;}else{w=u*t;}}z._recomputeSize=(AA===0);if(z._recomputeSize){z._hasRendered=false;return;}y=N.call(z);if(x){AA+=(y*2);}else{w+=(y*2);}if(x){AA+=M(z._carouselEl,"height");e.setStyle(r,"height",AA+"px");if(v){w+=M(z._carouselEl,"width");e.setStyle(r,"width",w+(0)+"px");}}else{w+=M(z._carouselEl,"width");e.setStyle(r,"width",w+"px");if(AB){AA+=M(z._carouselEl,"height");e.setStyle(r,"height",AA+"px");}}z._setContainerSize(r);},_setContainerSize:function(s,t){var w=this,r=w.CONFIG,z=w.CLASSES,v,y,u,x;v=w.get("isVertical");y=w._rows;u=w._cols;s=s||w._clipEl;t=t||(v?"height":"width");x=parseFloat(e.getStyle(s,t),10);x=p.isNumber(x)?x:0;if(v){x+=M(w._carouselEl,"height")+d(w._navEl,"height");}else{x+=M(w._carouselEl,"width");}if(!v){if(x<r.HORZ_MIN_WIDTH){x=r.HORZ_MIN_WIDTH;w.addClass(z.MIN_WIDTH);}}w.setStyle(t,x+"px");if(v){x=O.call(w,"width");if(u){x=x*u;}e.setStyle(w._carouselEl,"width",x+"px");if(x<r.VERT_MIN_WIDTH){x=r.VERT_MIN_WIDTH;w.addClass(z.MIN_WIDTH);}w.setStyle("width",x+"px");}else{if(y){x=O.call(w,"height");x=x*y;e.setStyle(w._carouselEl,"height",x+"px");}}},_setFirstVisible:function(s){var r=this;if(s>=0&&s<r.get("numItems")){r.scrollTo(s);}else{s=r.get("firstVisible");}return s;},_setNavigation:function(r){var s=this;if(r.prev){c.on(r.prev,"click",f,s);}if(r.next){c.on(r.next,"click",k,s);}},_setNumVisible:function(s){var r=this;r._setClipContainerSize(r._clipEl,s);},_numVisibleSetter:function(t){var s=this,r=t;if(p.isArray(t)){s._cols=t[0];s._rows=t[1];r=t[0]*t[1];}return r;},_selectedItemSetter:function(s){var r=this;return(s<r.get("numItems"))?s:0;},_setNumItems:function(t){var s=this,r=s._itemsTable.numItems;if(p.isArray(s._itemsTable.items)){if(s._itemsTable.items.length!=r){r=s._itemsTable.items.length;s._itemsTable.numItems=r;}}if(t<r){while(r>t){s.removeItem(r-1);r--;}}return t;},_setOrientation:function(t){var s=this,r=s.CLASSES;if(t){s.replaceClass(r.HORIZONTAL,r.VERTICAL);}else{s.replaceClass(r.VERTICAL,r.HORIZONTAL);}this._itemAttrCache={};return t;},_setRevealAmount:function(s){var r=this;if(s>=0&&s<=100){s=parseInt(s,10);s=p.isNumber(s)?s:0;r._setClipContainerSize();}else{s=r.get("revealAmount");}return s;},_setSelectedItem:function(r){this._selectedItem=r;},_getNumPages:function(){return Math.ceil(parseInt(this.get("numItems"),10)/parseInt(this.get("numVisible"),10));},_getLastVisible:function(){var r=this;return r.get("currentPage")+1==r.get("numPages")?r.get("numItems")-1:r.get("firstVisible")+r.get("numVisible")-1;},_syncUiForItemAdd:function(u){var v,AA=this,x=AA._carouselEl,r,AB,t=AA._itemsTable,s,w,y,z;w=p.isUndefined(u.pos)?u.newPos||t.numItems-1:u.pos;if(!s){AB=t.items[w]||{};r=AA._createCarouselItem({className:AB.className,styles:AB.styles,content:AB.item,id:AB.id,pos:w});if(p.isUndefined(u.pos)){if(!p.isUndefined(t.loading[w])){s=t.loading[w];}if(s){x.replaceChild(r,s);delete t.loading[w];}else{x.appendChild(r);}}else{if(!p.isUndefined(t.items[u.pos+1])){y=e.get(t.items[u.pos+1].id);}if(y){x.insertBefore(r,y);}else{}}}else{if(p.isUndefined(u.pos)){if(!e.isAncestor(AA._carouselEl,s)){x.appendChild(s);}}else{if(!e.isAncestor(x,s)){if(!p.isUndefined(t.items[u.pos+1])){x.insertBefore(s,e.get(t.items[u.pos+1].id));}}}}if(!AA._hasRendered){AA._refreshUi();}if(AA.get("selectedItem")<0){AA.set("selectedItem",AA.get("firstVisible"));}AA._syncUiItems();},_syncUiForItemReplace:function(x){var w=this,t=w._carouselEl,r=w._itemsTable,y=x.pos,v=x.newItem,s=x.oldItem,u; +u=w._createCarouselItem({className:v.className,styles:v.styles,content:v.item,id:v.id,pos:y});if(u&&s){c.purgeElement(s,true);t.replaceChild(u,e.get(s.id));if(!p.isUndefined(r.loading[y])){r.numItems++;delete r.loading[y];}}if(!w._hasRendered){w._refreshUi();}w._syncUiItems();},_syncUiForItemRemove:function(w){var v=this,r=v._carouselEl,t,u,s,x;s=v.get("numItems");u=w.item;x=w.pos;if(u&&(t=e.get(u.id))){if(t&&e.isAncestor(r,t)){c.purgeElement(t,true);r.removeChild(t);}if(v.get("selectedItem")==x){x=x>=s?s-1:x;}}else{}v._syncUiItems();},_syncUiForLazyLoading:function(v){var z=this,x=z._carouselEl,t=z._itemsTable,w=t.items.length,y=t.items[v.last+1],r,s;if(!y&&v.last<w){s=v.first;do{y=t.items[s];s++;}while(s<w&&!y);}for(var u=v.first;u<=v.last;u++){if(p.isUndefined(t.loading[u])&&p.isUndefined(t.items[u])){r=z._createCarouselItem({className:z.CLASSES.ITEM_LOADING,content:z.STRINGS.ITEM_LOADING_CONTENT,id:e.generateId(),pos:u});if(r){if(y){y=e.get(y.id);if(y){x.insertBefore(r,y);}else{}}else{x.appendChild(r);}}t.loading[u]=r;}}z._syncUiItems();},_syncUiItems:function(){var u,y=this,w=y.get("numItems"),t,s=y._itemsTable,v=s.items,r=s.loading,z,x;for(t=0;t<w;t++){z=v[t]||r[t];if(z&&z.id){x=m.call(y,t);z.styles=z.styles||{};for(u in x){if(x.hasOwnProperty(u)){z.styles[u]=x[u];}}G(e.get(z.id),x);}}},_updateNavButtons:function(v,s){var t,r=this.CLASSES,w,u=v.parentNode;if(!u){return;}w=u.parentNode;if(v.nodeName.toUpperCase()=="BUTTON"&&e.hasClass(u,r.BUTTON)){if(s){if(w){t=e.getChildren(w);if(t){e.removeClass(t,r.FOCUSSED_BUTTON);}}e.addClass(u,r.FOCUSSED_BUTTON);}else{e.removeClass(u,r.FOCUSSED_BUTTON);}}},_updatePagerButtons:function(){var z=this,x=z.CLASSES,y=z._pages.cur,r,w,u,AA,s=z.get("numVisible"),v=z._pages.num,t=z._pages.el;if(v===0||!t){return;}e.setStyle(t,"visibility","hidden");while(t.firstChild){t.removeChild(t.firstChild);}for(u=0;u<v;u++){r=document.createElement("LI");if(u===0){e.addClass(r,x.FIRST_PAGE);}if(u==y){e.addClass(r,x.SELECTED_NAV);}w="<a class="+x.PAGER_ITEM+' href="#'+(u+1)+'" tabindex="0"><em>'+z.STRINGS.PAGER_PREFIX_TEXT+" "+(u+1)+"</em></a>";r.innerHTML=w;t.appendChild(r);}e.setStyle(t,"visibility","visible");},_updatePagerMenu:function(){var z=this,x=z.CLASSES,y=z._pages.cur,s,v,AA,t=z.get("numVisible"),w=z._pages.num,u=z._pages.el,r;if(w===0){return;}r=document.createElement("SELECT");if(!r){return;}e.setStyle(u,"visibility","hidden");while(u.firstChild){u.removeChild(u.firstChild);}for(v=0;v<w;v++){s=document.createElement("OPTION");s.value=v+1;s.innerHTML=z.STRINGS.PAGER_PREFIX_TEXT+" "+(v+1);if(v==y){s.setAttribute("selected","selected");}r.appendChild(s);}s=document.createElement("FORM");if(!s){}else{s.appendChild(r);u.appendChild(s);}c.addListener(r,"change",z._pagerChangeHandler,this,true);e.setStyle(u,"visibility","visible");},_updateTabIndex:function(r){var s=this;if(r){if(s._focusableItemEl){s._focusableItemEl.tabIndex=-1;}s._focusableItemEl=r;r.tabIndex=0;}},_validateAnimation:function(r){var s=true;if(p.isObject(r)){if(r.speed){s=s&&p.isNumber(r.speed);}if(r.effect){s=s&&p.isFunction(r.effect);}else{if(!p.isUndefined(YAHOO.util.Easing)){r.effect=YAHOO.util.Easing.easeOut;}}}else{s=false;}return s;},_validateFirstVisible:function(t){var s=this,r=s.get("numItems");if(p.isNumber(t)){if(r===0&&t==r){return true;}else{return(t>=0&&t<r);}}return false;},_validateNavigation:function(r){var s;if(!p.isObject(r)){return false;}if(r.prev){if(!p.isArray(r.prev)){return false;}for(s in r.prev){if(r.prev.hasOwnProperty(s)){if(!p.isString(r.prev[s].nodeName)){return false;}}}}if(r.next){if(!p.isArray(r.next)){return false;}for(s in r.next){if(r.next.hasOwnProperty(s)){if(!p.isString(r.next[s].nodeName)){return false;}}}}return true;},_validateNumItems:function(r){return p.isNumber(r)&&(r>=0);},_validateNumVisible:function(r){var s=false;if(p.isNumber(r)){s=r>0&&r<=this.get("numItems");}else{if(p.isArray(r)){if(p.isNumber(r[0])&&p.isNumber(r[1])){s=r[0]*r[1]>0&&r.length==2;}}}return s;},_validateRevealAmount:function(r){var s=false;if(p.isNumber(r)){s=r>=0&&r<100;}return s;},_validateScrollIncrement:function(r){var s=false;if(p.isNumber(r)){s=(r>0&&r<this.get("numItems"));}return s;}});})();YAHOO.register("carousel",YAHOO.widget.Carousel,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/charts/charts-min.js b/js/yui/charts/charts-min.js new file mode 100644 index 0000000000000000000000000000000000000000..3ecdd588735987a5707aacaea4851e2db08a7635 --- /dev/null +++ b/js/yui/charts/charts-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.widget.Chart=function(I,F,A,J){this._type=I;this._dataSource=A;var B={align:"",allowNetworking:"",allowScriptAccess:"",base:"",bgcolor:"",menu:"",name:"",quality:"",salign:"",scale:"",tabindex:"",wmode:""};var D={fixedAttributes:{allowScriptAccess:"always"},flashVars:{allowedDomain:document.location.hostname},backgroundColor:"#ffffff",host:this,version:9.045};for(var E in J){if(B.hasOwnProperty(E)){D.fixedAttributes[E]=J[E];}else{D[E]=J[E];}}this._id=D.id=D.id||YAHOO.util.Dom.generateId(null,"yuigen");if(D.version&&D.version!=null&&D.version!=undefined&&D.version!="undefined"){var H=(/\w*.\w*/.exec(((D.version).toString()).replace(/.0./g,"."))).toString();var C=H.split(".");H=C[0]+".";switch((C[1].toString()).length){case 1:H+="00";break;case 2:H+="0";break;}H+=C[1];D.version=parseFloat(H);}this._swfURL=YAHOO.widget.Chart.SWFURL;this._containerID=F;this._attributes=D;this._swfEmbed=new YAHOO.widget.SWF(F,YAHOO.widget.Chart.SWFURL,D);this._swf=this._swfEmbed.swf;this._swfEmbed.subscribe("swfReady",this._eventHandler,this,true);try{this.createEvent("contentReady");}catch(G){}this.createEvent("itemMouseOverEvent");this.createEvent("itemMouseOutEvent");this.createEvent("itemClickEvent");this.createEvent("itemDoubleClickEvent");this.createEvent("itemDragStartEvent");this.createEvent("itemDragEvent");this.createEvent("itemDragEndEvent");};YAHOO.extend(YAHOO.widget.Chart,YAHOO.util.AttributeProvider,{_type:null,_pollingID:null,_pollingInterval:null,_dataTipFunction:null,_legendLabelFunction:null,_seriesFunctions:null,toString:function(){return"Chart "+this._id;},setStyle:function(A,B){B=YAHOO.lang.JSON.stringify(B);this._swf.setStyle(A,B);},setStyles:function(A){A=YAHOO.lang.JSON.stringify(A);this._swf.setStyles(A);},setSeriesStyles:function(B){for(var A=0;A<B.length;A++){B[A]=YAHOO.lang.JSON.stringify(B[A]);}this._swf.setSeriesStyles(B);},destroy:function(){if(this._dataSource!==null){if(this._pollingID!==null){this._dataSource.clearInterval(this._pollingID);this._pollingID=null;}}if(this._dataTipFunction){YAHOO.widget.Chart.removeProxyFunction(this._dataTipFunction);}if(this._legendLabelFunction){YAHOO.widget.Chart.removeProxyFunction(this._legendLabelFunction);}if(this._swf){var B=YAHOO.util.Dom.get(this._containerID);B.removeChild(this._swf);}var A=this._id;for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}},_initAttributes:function(A){this.setAttributeConfig("altText",{method:this._setAltText,getter:this._getAltText});this.setAttributeConfig("swfURL",{getter:this._getSWFURL});this.setAttributeConfig("request",{method:this._setRequest,getter:this._getRequest});this.setAttributeConfig("dataSource",{method:this._setDataSource,getter:this._getDataSource});this.setAttributeConfig("series",{method:this._setSeriesDefs,getter:this._getSeriesDefs});this.setAttributeConfig("categoryNames",{validator:YAHOO.lang.isArray,method:this._setCategoryNames,getter:this._getCategoryNames});this.setAttributeConfig("dataTipFunction",{method:this._setDataTipFunction,getter:this._getDataTipFunction});this.setAttributeConfig("legendLabelFunction",{method:this._setLegendLabelFunction,getter:this._legendLabelFunction});this.setAttributeConfig("polling",{method:this._setPolling,getter:this._getPolling});},_eventHandler:function(A){if(A.type=="swfReady"){this._swf=this._swfEmbed._swf;this._loadHandler();this.fireEvent("contentReady");}},_loadHandler:function(){if(!this._swf||!this._swf.setType){return;}this._swf.setType(this._type);if(this._attributes.style){var A=this._attributes.style;this.setStyles(A);}this._initialized=false;this._initAttributes(this._attributes);this.setAttributes(this._attributes,true);this._initialized=true;if(this._dataSource){this.set("dataSource",this._dataSource);}},refreshData:function(){if(!this._initialized){return;}if(this._dataSource!==null){if(this._pollingID!==null){this._dataSource.clearInterval(this._pollingID);this._pollingID=null;}if(this._pollingInterval>0){this._pollingID=this._dataSource.setInterval(this._pollingInterval,this._request,this._loadDataHandler,this);}this._dataSource.sendRequest(this._request,this._loadDataHandler,this);}},_loadDataHandler:function(D,C,K){if(this._swf){if(K){}else{var H;if(this._seriesFunctions){var I=this._seriesFunctions.length;for(H=0;H<I;H++){YAHOO.widget.Chart.removeProxyFunction(this._seriesFunctions[H]);}this._seriesFunctions=null;}this._seriesFunctions=[];var F=[];var E=0;var L=null;if(this._seriesDefs!==null){E=this._seriesDefs.length;for(H=0;H<E;H++){L=this._seriesDefs[H];var B={};for(var A in L){if(YAHOO.lang.hasOwnProperty(L,A)){if(A=="style"){if(L.style!==null){B.style=YAHOO.lang.JSON.stringify(L.style);}}else{if(A=="labelFunction"){if(L.labelFunction!==null){B.labelFunction=YAHOO.widget.Chart.getFunctionReference(L.labelFunction);this._seriesFunctions.push(B.labelFunction);}}else{if(A=="dataTipFunction"){if(L.dataTipFunction!==null){B.dataTipFunction=YAHOO.widget.Chart.getFunctionReference(L.dataTipFunction);this._seriesFunctions.push(B.dataTipFunction);}}else{if(A=="legendLabelFunction"){if(L.legendLabelFunction!==null){B.legendLabelFunction=YAHOO.widget.Chart.getFunctionReference(L.legendLabelFunction);this._seriesFunctions.push(B.legendLabelFunction);}}else{B[A]=L[A];}}}}}}F.push(B);}}if(E>0){for(H=0;H<E;H++){L=F[H];if(!L.type){L.type=this._type;}L.dataProvider=C.results;}}else{var G={type:this._type,dataProvider:C.results};F.push(G);}try{if(this._swf.setDataProvider){this._swf.setDataProvider(F);}}catch(J){this._swf.setDataProvider(F);}}}},_request:"",_getRequest:function(){return this._request;},_setRequest:function(A){this._request=A;this.refreshData();},_dataSource:null,_getDataSource:function(){return this._dataSource;},_setDataSource:function(A){this._dataSource=A;this.refreshData();},_seriesDefs:null,_getSeriesDefs:function(){return this._seriesDefs;},_setSeriesDefs:function(A){this._seriesDefs=A;this.refreshData();},_getCategoryNames:function(){return this._swf.getCategoryNames();},_setCategoryNames:function(A){this._swf.setCategoryNames(A); +},_setDataTipFunction:function(A){if(this._dataTipFunction){YAHOO.widget.Chart.removeProxyFunction(this._dataTipFunction);}if(A){this._dataTipFunction=A=YAHOO.widget.Chart.getFunctionReference(A);}this._swf.setDataTipFunction(A);},_setLegendLabelFunction:function(A){if(this._legendLabelFunction){YAHOO.widget.Chart.removeProxyFunction(this._legendLabelFunction);}if(A){this._legendLabelFunction=A=YAHOO.widget.Chart.getFunctionReference(A);}this._swf.setLegendLabelFunction(A);},_getPolling:function(){return this._pollingInterval;},_setPolling:function(A){this._pollingInterval=A;this.refreshData();},_swfEmbed:null,_swfURL:null,_containerID:null,_swf:null,_id:null,_initialized:false,_attributes:null,set:function(A,B){this._attributes[A]=B;YAHOO.widget.Chart.superclass.set.call(this,A,B);},_getSWFURL:function(){return this._swfURL;},_getAltText:function(){return this._swf.getAltText();},_setAltText:function(A){this._swf.setAltText(A);}});YAHOO.widget.Chart.proxyFunctionCount=0;YAHOO.widget.Chart.createProxyFunction=function(C,B){var B=B||null;var A=YAHOO.widget.Chart.proxyFunctionCount;YAHOO.widget.Chart["proxyFunction"+A]=function(){return C.apply(B,arguments);};YAHOO.widget.Chart.proxyFunctionCount++;return"YAHOO.widget.Chart.proxyFunction"+A.toString();};YAHOO.widget.Chart.getFunctionReference=function(B){if(typeof B=="function"){B=YAHOO.widget.Chart.createProxyFunction(B);}else{if(B.func&&typeof B.func=="function"){var A=[B.func];if(B.scope&&typeof B.scope=="object"){A.push(B.scope);}B=YAHOO.widget.Chart.createProxyFunction.apply(this,A);}}return B;};YAHOO.widget.Chart.removeProxyFunction=function(A){if(!A||A.indexOf("YAHOO.widget.Chart.proxyFunction")<0){return;}A=A.substr(26);YAHOO.widget.Chart[A]=null;};YAHOO.widget.Chart.SWFURL="assets/charts.swf";YAHOO.widget.PieChart=function(A,C,B){YAHOO.widget.PieChart.superclass.constructor.call(this,"pie",A,C,B);};YAHOO.lang.extend(YAHOO.widget.PieChart,YAHOO.widget.Chart,{_initAttributes:function(A){YAHOO.widget.PieChart.superclass._initAttributes.call(this,A);this.setAttributeConfig("dataField",{validator:YAHOO.lang.isString,method:this._setDataField,getter:this._getDataField});this.setAttributeConfig("categoryField",{validator:YAHOO.lang.isString,method:this._setCategoryField,getter:this._getCategoryField});},_getDataField:function(){return this._swf.getDataField();},_setDataField:function(A){this._swf.setDataField(A);},_getCategoryField:function(){return this._swf.getCategoryField();},_setCategoryField:function(A){this._swf.setCategoryField(A);}});YAHOO.widget.CartesianChart=function(C,A,D,B){YAHOO.widget.CartesianChart.superclass.constructor.call(this,C,A,D,B);};YAHOO.lang.extend(YAHOO.widget.CartesianChart,YAHOO.widget.Chart,{_xAxisLabelFunctions:[],_yAxisLabelFunctions:[],destroy:function(){this._removeAxisFunctions(this._xAxisLabelFunctions);this._removeAxisFunctions(this._yAxisLabelFunctions);YAHOO.widget.CartesianChart.superclass.destroy.call(this);},_initAttributes:function(A){YAHOO.widget.CartesianChart.superclass._initAttributes.call(this,A);this.setAttributeConfig("xField",{validator:YAHOO.lang.isString,method:this._setXField,getter:this._getXField});this.setAttributeConfig("yField",{validator:YAHOO.lang.isString,method:this._setYField,getter:this._getYField});this.setAttributeConfig("xAxis",{method:this._setXAxis});this.setAttributeConfig("xAxes",{method:this._setXAxes});this.setAttributeConfig("yAxis",{method:this._setYAxis});this.setAttributeConfig("yAxes",{method:this._setYAxes});this.setAttributeConfig("constrainViewport",{method:this._setConstrainViewport});},_getXField:function(){return this._swf.getHorizontalField();},_setXField:function(A){this._swf.setHorizontalField(A);},_getYField:function(){return this._swf.getVerticalField();},_setYField:function(A){this._swf.setVerticalField(A);},_getClonedAxis:function(A){var B={};for(var C in A){if(C=="labelFunction"){if(A.labelFunction&&A.labelFunction!==null){B.labelFunction=YAHOO.widget.Chart.getFunctionReference(A.labelFunction);}}else{B[C]=A[C];}}return B;},_removeAxisFunctions:function(C){if(C&&C.length>0){var A=C.length;for(var B=0;B<A;B++){if(C[B]!==null){YAHOO.widget.Chart.removeProxyFunction(C[B]);}}C=[];}},_setXAxis:function(A){if(A.position!="bottom"&&A.position!="top"){A.position="bottom";}this._removeAxisFunctions(this._xAxisLabelFunctions);A=this._getClonedAxis(A);this._xAxisLabelFunctions.push(A.labelFunction);this._swf.setHorizontalAxis(A);},_setXAxes:function(C){this._removeAxisFunctions(this._xAxisLabelFunctions);var A=C.length;for(var B=0;B<A;B++){if(C[B].position=="left"){C[B].position="bottom";}C[B]=this._getClonedAxis(C[B]);if(C[B].labelFunction){this._xAxisLabelFunctions.push(C[B].labelFunction);}this._swf.setHorizontalAxis(C[B]);}},_setYAxis:function(A){this._removeAxisFunctions(this._yAxisLabelFunctions);A=this._getClonedAxis(A);this._yAxisLabelFunctions.push(A.labelFunction);this._swf.setVerticalAxis(A);},_setYAxes:function(C){this._removeAxisFunctions(this._yAxisLabelFunctions);var A=C.length;for(var B=0;B<A;B++){C[B]=this._getClonedAxis(C[B]);if(C[B].labelFunction){this._yAxisLabelFunctions.push(C[B].labelFunction);}this._swf.setVerticalAxis(C[B]);}},_setConstrainViewport:function(A){this._swf.setConstrainViewport(A);},setSeriesStylesByIndex:function(A,B){B=YAHOO.lang.JSON.stringify(B);if(this._swf&&this._swf.setSeriesStylesByIndex){this._swf.setSeriesStylesByIndex(A,B);}}});YAHOO.widget.LineChart=function(A,C,B){YAHOO.widget.LineChart.superclass.constructor.call(this,"line",A,C,B);};YAHOO.lang.extend(YAHOO.widget.LineChart,YAHOO.widget.CartesianChart);YAHOO.widget.ColumnChart=function(A,C,B){YAHOO.widget.ColumnChart.superclass.constructor.call(this,"column",A,C,B);};YAHOO.lang.extend(YAHOO.widget.ColumnChart,YAHOO.widget.CartesianChart);YAHOO.widget.BarChart=function(A,C,B){YAHOO.widget.BarChart.superclass.constructor.call(this,"bar",A,C,B);};YAHOO.lang.extend(YAHOO.widget.BarChart,YAHOO.widget.CartesianChart);YAHOO.widget.StackedColumnChart=function(A,C,B){YAHOO.widget.StackedColumnChart.superclass.constructor.call(this,"stackcolumn",A,C,B); +};YAHOO.lang.extend(YAHOO.widget.StackedColumnChart,YAHOO.widget.CartesianChart);YAHOO.widget.StackedBarChart=function(A,C,B){YAHOO.widget.StackedBarChart.superclass.constructor.call(this,"stackbar",A,C,B);};YAHOO.lang.extend(YAHOO.widget.StackedBarChart,YAHOO.widget.CartesianChart);YAHOO.widget.Axis=function(){};YAHOO.widget.Axis.prototype={type:null,reverse:false,labelFunction:null,labelSpacing:2,title:null};YAHOO.widget.NumericAxis=function(){YAHOO.widget.NumericAxis.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.NumericAxis,YAHOO.widget.Axis,{type:"numeric",minimum:NaN,maximum:NaN,majorUnit:NaN,minorUnit:NaN,snapToUnits:true,stackingEnabled:false,alwaysShowZero:true,scale:"linear",roundMajorUnit:true,calculateByLabelSize:true,position:"left",adjustMaximumByMajorUnit:true,adjustMinimumByMajorUnit:true});YAHOO.widget.TimeAxis=function(){YAHOO.widget.TimeAxis.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.TimeAxis,YAHOO.widget.Axis,{type:"time",minimum:null,maximum:null,majorUnit:NaN,majorTimeUnit:null,minorUnit:NaN,minorTimeUnit:null,snapToUnits:true,stackingEnabled:false,calculateByLabelSize:true});YAHOO.widget.CategoryAxis=function(){YAHOO.widget.CategoryAxis.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.CategoryAxis,YAHOO.widget.Axis,{type:"category",categoryNames:null,calculateCategoryCount:false});YAHOO.widget.Series=function(){};YAHOO.widget.Series.prototype={type:null,displayName:null};YAHOO.widget.CartesianSeries=function(){YAHOO.widget.CartesianSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.CartesianSeries,YAHOO.widget.Series,{xField:null,yField:null,axis:"primary",showInLegend:true});YAHOO.widget.ColumnSeries=function(){YAHOO.widget.ColumnSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.ColumnSeries,YAHOO.widget.CartesianSeries,{type:"column"});YAHOO.widget.LineSeries=function(){YAHOO.widget.LineSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.LineSeries,YAHOO.widget.CartesianSeries,{type:"line"});YAHOO.widget.BarSeries=function(){YAHOO.widget.BarSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.BarSeries,YAHOO.widget.CartesianSeries,{type:"bar"});YAHOO.widget.PieSeries=function(){YAHOO.widget.PieSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.PieSeries,YAHOO.widget.Series,{type:"pie",dataField:null,categoryField:null,labelFunction:null});YAHOO.widget.StackedBarSeries=function(){YAHOO.widget.StackedBarSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.StackedBarSeries,YAHOO.widget.CartesianSeries,{type:"stackbar"});YAHOO.widget.StackedColumnSeries=function(){YAHOO.widget.StackedColumnSeries.superclass.constructor.call(this);};YAHOO.lang.extend(YAHOO.widget.StackedColumnSeries,YAHOO.widget.CartesianSeries,{type:"stackcolumn"});YAHOO.register("charts",YAHOO.widget.Chart,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/colorpicker/colorpicker-min.js b/js/yui/colorpicker/colorpicker-min.js new file mode 100644 index 0000000000000000000000000000000000000000..8f1099b079924a74eeeaf46e3c9b8a4bd3116ebe --- /dev/null +++ b/js/yui/colorpicker/colorpicker-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Color=function(){var A="0",B=YAHOO.lang.isArray,C=YAHOO.lang.isNumber;return{real2dec:function(D){return Math.min(255,Math.round(D*256));},hsv2rgb:function(H,O,M){if(B(H)){return this.hsv2rgb.call(this,H[0],H[1],H[2]);}var D,I,L,G=Math.floor((H/60)%6),J=(H/60)-G,F=M*(1-O),E=M*(1-J*O),N=M*(1-(1-J)*O),K;switch(G){case 0:D=M;I=N;L=F;break;case 1:D=E;I=M;L=F;break;case 2:D=F;I=M;L=N;break;case 3:D=F;I=E;L=M;break;case 4:D=N;I=F;L=M;break;case 5:D=M;I=F;L=E;break;}K=this.real2dec;return[K(D),K(I),K(L)];},rgb2hsv:function(D,H,I){if(B(D)){return this.rgb2hsv.apply(this,D);}D/=255;H/=255;I/=255;var G,L,E=Math.min(Math.min(D,H),I),J=Math.max(Math.max(D,H),I),K=J-E,F;switch(J){case E:G=0;break;case D:G=60*(H-I)/K;if(H<I){G+=360;}break;case H:G=(60*(I-D)/K)+120;break;case I:G=(60*(D-H)/K)+240;break;}L=(J===0)?0:1-(E/J);F=[Math.round(G),L,J];return F;},rgb2hex:function(F,E,D){if(B(F)){return this.rgb2hex.apply(this,F);}var G=this.dec2hex;return G(F)+G(E)+G(D);},dec2hex:function(D){D=parseInt(D,10)|0;D=(D>255||D<0)?0:D;return(A+D.toString(16)).slice(-2).toUpperCase();},hex2dec:function(D){return parseInt(D,16);},hex2rgb:function(D){var E=this.hex2dec;return[E(D.slice(0,2)),E(D.slice(2,4)),E(D.slice(4,6))];},websafe:function(F,E,D){if(B(F)){return this.websafe.apply(this,F);}var G=function(H){if(C(H)){H=Math.min(Math.max(0,H),255);var I,J;for(I=0;I<256;I=I+51){J=I+51;if(H>=I&&H<=J){return(H-I>25)?J:I;}}}return H;};return[G(F),G(E),G(D)];}};}();(function(){var J=0,F=YAHOO.util,C=YAHOO.lang,D=YAHOO.widget.Slider,B=F.Color,E=F.Dom,I=F.Event,A=C.substitute,H="yui-picker";function G(L,K){J=J+1;K=K||{};if(arguments.length===1&&!YAHOO.lang.isString(L)&&!L.nodeName){K=L;L=K.element||null;}if(!L&&!K.element){L=this._createHostElement(K);}G.superclass.constructor.call(this,L,K);this.initPicker();}YAHOO.extend(G,YAHOO.util.Element,{ID:{R:H+"-r",R_HEX:H+"-rhex",G:H+"-g",G_HEX:H+"-ghex",B:H+"-b",B_HEX:H+"-bhex",H:H+"-h",S:H+"-s",V:H+"-v",PICKER_BG:H+"-bg",PICKER_THUMB:H+"-thumb",HUE_BG:H+"-hue-bg",HUE_THUMB:H+"-hue-thumb",HEX:H+"-hex",SWATCH:H+"-swatch",WEBSAFE_SWATCH:H+"-websafe-swatch",CONTROLS:H+"-controls",RGB_CONTROLS:H+"-rgb-controls",HSV_CONTROLS:H+"-hsv-controls",HEX_CONTROLS:H+"-hex-controls",HEX_SUMMARY:H+"-hex-summary",CONTROLS_LABEL:H+"-controls-label"},TXT:{ILLEGAL_HEX:"Illegal hex value entered",SHOW_CONTROLS:"Show color details",HIDE_CONTROLS:"Hide color details",CURRENT_COLOR:"Currently selected color: {rgb}",CLOSEST_WEBSAFE:"Closest websafe color: {rgb}. Click to select.",R:"R",G:"G",B:"B",H:"H",S:"S",V:"V",HEX:"#",DEG:"\u00B0",PERCENT:"%"},IMAGE:{PICKER_THUMB:"../../build/colorpicker/assets/picker_thumb.png",HUE_THUMB:"../../build/colorpicker/assets/hue_thumb.png"},DEFAULT:{PICKER_SIZE:180},OPT:{HUE:"hue",SATURATION:"saturation",VALUE:"value",RED:"red",GREEN:"green",BLUE:"blue",HSV:"hsv",RGB:"rgb",WEBSAFE:"websafe",HEX:"hex",PICKER_SIZE:"pickersize",SHOW_CONTROLS:"showcontrols",SHOW_RGB_CONTROLS:"showrgbcontrols",SHOW_HSV_CONTROLS:"showhsvcontrols",SHOW_HEX_CONTROLS:"showhexcontrols",SHOW_HEX_SUMMARY:"showhexsummary",SHOW_WEBSAFE:"showwebsafe",CONTAINER:"container",IDS:"ids",ELEMENTS:"elements",TXT:"txt",IMAGES:"images",ANIMATE:"animate"},skipAnim:true,_createHostElement:function(){var K=document.createElement("div");if(this.CSS.BASE){K.className=this.CSS.BASE;}return K;},_updateHueSlider:function(){var K=this.get(this.OPT.PICKER_SIZE),L=this.get(this.OPT.HUE);L=K-Math.round(L/360*K);if(L===K){L=0;}this.hueSlider.setValue(L,this.skipAnim);},_updatePickerSlider:function(){var L=this.get(this.OPT.PICKER_SIZE),M=this.get(this.OPT.SATURATION),K=this.get(this.OPT.VALUE);M=Math.round(M*L/100);K=Math.round(L-(K*L/100));this.pickerSlider.setRegionValue(M,K,this.skipAnim);},_updateSliders:function(){this._updateHueSlider();this._updatePickerSlider();},setValue:function(L,K){K=(K)||false;this.set(this.OPT.RGB,L,K);this._updateSliders();},hueSlider:null,pickerSlider:null,_getH:function(){var K=this.get(this.OPT.PICKER_SIZE),L=(K-this.hueSlider.getValue())/K;L=Math.round(L*360);return(L===360)?0:L;},_getS:function(){return this.pickerSlider.getXValue()/this.get(this.OPT.PICKER_SIZE);},_getV:function(){var K=this.get(this.OPT.PICKER_SIZE);return(K-this.pickerSlider.getYValue())/K;},_updateSwatch:function(){var M=this.get(this.OPT.RGB),O=this.get(this.OPT.WEBSAFE),N=this.getElement(this.ID.SWATCH),L=M.join(","),K=this.get(this.OPT.TXT);E.setStyle(N,"background-color","rgb("+L+")");N.title=A(K.CURRENT_COLOR,{"rgb":"#"+this.get(this.OPT.HEX)});N=this.getElement(this.ID.WEBSAFE_SWATCH);L=O.join(",");E.setStyle(N,"background-color","rgb("+L+")");N.title=A(K.CLOSEST_WEBSAFE,{"rgb":"#"+B.rgb2hex(O)});},_getValuesFromSliders:function(){this.set(this.OPT.RGB,B.hsv2rgb(this._getH(),this._getS(),this._getV()));},_updateFormFields:function(){this.getElement(this.ID.H).value=this.get(this.OPT.HUE);this.getElement(this.ID.S).value=this.get(this.OPT.SATURATION);this.getElement(this.ID.V).value=this.get(this.OPT.VALUE);this.getElement(this.ID.R).value=this.get(this.OPT.RED);this.getElement(this.ID.R_HEX).innerHTML=B.dec2hex(this.get(this.OPT.RED));this.getElement(this.ID.G).value=this.get(this.OPT.GREEN);this.getElement(this.ID.G_HEX).innerHTML=B.dec2hex(this.get(this.OPT.GREEN));this.getElement(this.ID.B).value=this.get(this.OPT.BLUE);this.getElement(this.ID.B_HEX).innerHTML=B.dec2hex(this.get(this.OPT.BLUE));this.getElement(this.ID.HEX).value=this.get(this.OPT.HEX);},_onHueSliderChange:function(N){var L=this._getH(),K=B.hsv2rgb(L,1,1),M="rgb("+K.join(",")+")";this.set(this.OPT.HUE,L,true);E.setStyle(this.getElement(this.ID.PICKER_BG),"background-color",M);if(this.hueSlider.valueChangeSource!==D.SOURCE_SET_VALUE){this._getValuesFromSliders();}this._updateFormFields();this._updateSwatch();},_onPickerSliderChange:function(M){var L=this._getS(),K=this._getV();this.set(this.OPT.SATURATION,Math.round(L*100),true);this.set(this.OPT.VALUE,Math.round(K*100),true);if(this.pickerSlider.valueChangeSource!==D.SOURCE_SET_VALUE){this._getValuesFromSliders(); +}this._updateFormFields();this._updateSwatch();},_getCommand:function(K){var L=I.getCharCode(K);if(L===38){return 3;}else{if(L===13){return 6;}else{if(L===40){return 4;}else{if(L>=48&&L<=57){return 1;}else{if(L>=97&&L<=102){return 2;}else{if(L>=65&&L<=70){return 2;}else{if("8, 9, 13, 27, 37, 39".indexOf(L)>-1||K.ctrlKey||K.metaKey){return 5;}else{return 0;}}}}}}}},_useFieldValue:function(L,K,N){var M=K.value;if(N!==this.OPT.HEX){M=parseInt(M,10);}if(M!==this.get(N)){this.set(N,M);}},_rgbFieldKeypress:function(M,K,O){var N=this._getCommand(M),L=(M.shiftKey)?10:1;switch(N){case 6:this._useFieldValue.apply(this,arguments);break;case 3:this.set(O,Math.min(this.get(O)+L,255));this._updateFormFields();break;case 4:this.set(O,Math.max(this.get(O)-L,0));this._updateFormFields();break;default:}},_hexFieldKeypress:function(L,K,N){var M=this._getCommand(L);if(M===6){this._useFieldValue.apply(this,arguments);}},_hexOnly:function(L,K){var M=this._getCommand(L);switch(M){case 6:case 5:case 1:break;case 2:if(K!==true){break;}default:I.stopEvent(L);return false;}},_numbersOnly:function(K){return this._hexOnly(K,true);},getElement:function(K){return this.get(this.OPT.ELEMENTS)[this.get(this.OPT.IDS)[K]];},_createElements:function(){var N,M,P,O,L,K=this.get(this.OPT.IDS),Q=this.get(this.OPT.TXT),S=this.get(this.OPT.IMAGES),R=function(U,V){var W=document.createElement(U);if(V){C.augmentObject(W,V,true);}return W;},T=function(U,V){var W=C.merge({autocomplete:"off",value:"0",size:3,maxlength:3},V);W.name=W.id;return new R(U,W);};L=this.get("element");N=new R("div",{id:K[this.ID.PICKER_BG],className:"yui-picker-bg",tabIndex:-1,hideFocus:true});M=new R("div",{id:K[this.ID.PICKER_THUMB],className:"yui-picker-thumb"});P=new R("img",{src:S.PICKER_THUMB});M.appendChild(P);N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.HUE_BG],className:"yui-picker-hue-bg",tabIndex:-1,hideFocus:true});M=new R("div",{id:K[this.ID.HUE_THUMB],className:"yui-picker-hue-thumb"});P=new R("img",{src:S.HUE_THUMB});M.appendChild(P);N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.CONTROLS],className:"yui-picker-controls"});L.appendChild(N);L=N;N=new R("div",{className:"hd"});M=new R("a",{id:K[this.ID.CONTROLS_LABEL],href:"#"});N.appendChild(M);L.appendChild(N);N=new R("div",{className:"bd"});L.appendChild(N);L=N;N=new R("ul",{id:K[this.ID.RGB_CONTROLS],className:"yui-picker-rgb-controls"});M=new R("li");M.appendChild(document.createTextNode(Q.R+" "));O=new T("input",{id:K[this.ID.R],className:"yui-picker-r"});M.appendChild(O);N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.G+" "));O=new T("input",{id:K[this.ID.G],className:"yui-picker-g"});M.appendChild(O);N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.B+" "));O=new T("input",{id:K[this.ID.B],className:"yui-picker-b"});M.appendChild(O);N.appendChild(M);L.appendChild(N);N=new R("ul",{id:K[this.ID.HSV_CONTROLS],className:"yui-picker-hsv-controls"});M=new R("li");M.appendChild(document.createTextNode(Q.H+" "));O=new T("input",{id:K[this.ID.H],className:"yui-picker-h"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.DEG));N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.S+" "));O=new T("input",{id:K[this.ID.S],className:"yui-picker-s"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.PERCENT));N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.V+" "));O=new T("input",{id:K[this.ID.V],className:"yui-picker-v"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.PERCENT));N.appendChild(M);L.appendChild(N);N=new R("ul",{id:K[this.ID.HEX_SUMMARY],className:"yui-picker-hex_summary"});M=new R("li",{id:K[this.ID.R_HEX]});N.appendChild(M);M=new R("li",{id:K[this.ID.G_HEX]});N.appendChild(M);M=new R("li",{id:K[this.ID.B_HEX]});N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.HEX_CONTROLS],className:"yui-picker-hex-controls"});N.appendChild(document.createTextNode(Q.HEX+" "));M=new T("input",{id:K[this.ID.HEX],className:"yui-picker-hex",size:6,maxlength:6});N.appendChild(M);L.appendChild(N);L=this.get("element");N=new R("div",{id:K[this.ID.SWATCH],className:"yui-picker-swatch"});L.appendChild(N);N=new R("div",{id:K[this.ID.WEBSAFE_SWATCH],className:"yui-picker-websafe-swatch"});L.appendChild(N);},_attachRGBHSV:function(L,K){I.on(this.getElement(L),"keydown",function(N,M){M._rgbFieldKeypress(N,this,K);},this);I.on(this.getElement(L),"keypress",this._numbersOnly,this,true);I.on(this.getElement(L),"blur",function(N,M){M._useFieldValue(N,this,K);},this);},_updateRGB:function(){var K=[this.get(this.OPT.RED),this.get(this.OPT.GREEN),this.get(this.OPT.BLUE)];this.set(this.OPT.RGB,K);this._updateSliders();},_initElements:function(){var O=this.OPT,N=this.get(O.IDS),L=this.get(O.ELEMENTS),K,M,P;for(K in this.ID){if(C.hasOwnProperty(this.ID,K)){N[this.ID[K]]=N[K];}}M=E.get(N[this.ID.PICKER_BG]);if(!M){this._createElements();}else{}for(K in N){if(C.hasOwnProperty(N,K)){M=E.get(N[K]);P=E.generateId(M);N[K]=P;N[N[K]]=P;L[P]=M;}}},initPicker:function(){this._initSliders();this._bindUI();this.syncUI(true);},_initSliders:function(){var K=this.ID,L=this.get(this.OPT.PICKER_SIZE);this.hueSlider=D.getVertSlider(this.getElement(K.HUE_BG),this.getElement(K.HUE_THUMB),0,L);this.pickerSlider=D.getSliderRegion(this.getElement(K.PICKER_BG),this.getElement(K.PICKER_THUMB),0,L,0,L);this.set(this.OPT.ANIMATE,this.get(this.OPT.ANIMATE));},_bindUI:function(){var K=this.ID,L=this.OPT;this.hueSlider.subscribe("change",this._onHueSliderChange,this,true);this.pickerSlider.subscribe("change",this._onPickerSliderChange,this,true);I.on(this.getElement(K.WEBSAFE_SWATCH),"click",function(M){this.setValue(this.get(L.WEBSAFE));},this,true);I.on(this.getElement(K.CONTROLS_LABEL),"click",function(M){this.set(L.SHOW_CONTROLS,!this.get(L.SHOW_CONTROLS));I.preventDefault(M);},this,true);this._attachRGBHSV(K.R,L.RED);this._attachRGBHSV(K.G,L.GREEN);this._attachRGBHSV(K.B,L.BLUE);this._attachRGBHSV(K.H,L.HUE); +this._attachRGBHSV(K.S,L.SATURATION);this._attachRGBHSV(K.V,L.VALUE);I.on(this.getElement(K.HEX),"keydown",function(N,M){M._hexFieldKeypress(N,this,L.HEX);},this);I.on(this.getElement(this.ID.HEX),"keypress",this._hexOnly,this,true);I.on(this.getElement(this.ID.HEX),"blur",function(N,M){M._useFieldValue(N,this,L.HEX);},this);},syncUI:function(K){this.skipAnim=K;this._updateRGB();this.skipAnim=false;},_updateRGBFromHSV:function(){var L=[this.get(this.OPT.HUE),this.get(this.OPT.SATURATION)/100,this.get(this.OPT.VALUE)/100],K=B.hsv2rgb(L);this.set(this.OPT.RGB,K);this._updateSliders();},_updateHex:function(){var N=this.get(this.OPT.HEX),K=N.length,O,M,L;if(K===3){O=N.split("");for(M=0;M<K;M=M+1){O[M]=O[M]+O[M];}N=O.join("");}if(N.length!==6){return false;}L=B.hex2rgb(N);this.setValue(L);},_hideShowEl:function(M,K){var L=(C.isString(M)?this.getElement(M):M);E.setStyle(L,"display",(K)?"":"none");},initAttributes:function(K){K=K||{};G.superclass.initAttributes.call(this,K);this.setAttributeConfig(this.OPT.PICKER_SIZE,{value:K.size||this.DEFAULT.PICKER_SIZE});this.setAttributeConfig(this.OPT.HUE,{value:K.hue||0,validator:C.isNumber});this.setAttributeConfig(this.OPT.SATURATION,{value:K.saturation||0,validator:C.isNumber});this.setAttributeConfig(this.OPT.VALUE,{value:C.isNumber(K.value)?K.value:100,validator:C.isNumber});this.setAttributeConfig(this.OPT.RED,{value:C.isNumber(K.red)?K.red:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.GREEN,{value:C.isNumber(K.green)?K.green:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.BLUE,{value:C.isNumber(K.blue)?K.blue:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.HEX,{value:K.hex||"FFFFFF",validator:C.isString});this.setAttributeConfig(this.OPT.RGB,{value:K.rgb||[255,255,255],method:function(O){this.set(this.OPT.RED,O[0],true);this.set(this.OPT.GREEN,O[1],true);this.set(this.OPT.BLUE,O[2],true);var Q=B.websafe(O),P=B.rgb2hex(O),N=B.rgb2hsv(O);this.set(this.OPT.WEBSAFE,Q,true);this.set(this.OPT.HEX,P,true);if(N[1]){this.set(this.OPT.HUE,N[0],true);}this.set(this.OPT.SATURATION,Math.round(N[1]*100),true);this.set(this.OPT.VALUE,Math.round(N[2]*100),true);},readonly:true});this.setAttributeConfig(this.OPT.CONTAINER,{value:null,method:function(N){if(N){N.showEvent.subscribe(function(){this.pickerSlider.focus();},this,true);}}});this.setAttributeConfig(this.OPT.WEBSAFE,{value:K.websafe||[255,255,255]});var M=K.ids||C.merge({},this.ID),L;if(!K.ids&&J>1){for(L in M){if(C.hasOwnProperty(M,L)){M[L]=M[L]+J;}}}this.setAttributeConfig(this.OPT.IDS,{value:M,writeonce:true});this.setAttributeConfig(this.OPT.TXT,{value:K.txt||this.TXT,writeonce:true});this.setAttributeConfig(this.OPT.IMAGES,{value:K.images||this.IMAGE,writeonce:true});this.setAttributeConfig(this.OPT.ELEMENTS,{value:{},readonly:true});this.setAttributeConfig(this.OPT.SHOW_CONTROLS,{value:C.isBoolean(K.showcontrols)?K.showcontrols:true,method:function(N){var O=E.getElementsByClassName("bd","div",this.getElement(this.ID.CONTROLS))[0];this._hideShowEl(O,N);this.getElement(this.ID.CONTROLS_LABEL).innerHTML=(N)?this.get(this.OPT.TXT).HIDE_CONTROLS:this.get(this.OPT.TXT).SHOW_CONTROLS;}});this.setAttributeConfig(this.OPT.SHOW_RGB_CONTROLS,{value:C.isBoolean(K.showrgbcontrols)?K.showrgbcontrols:true,method:function(N){this._hideShowEl(this.ID.RGB_CONTROLS,N);}});this.setAttributeConfig(this.OPT.SHOW_HSV_CONTROLS,{value:C.isBoolean(K.showhsvcontrols)?K.showhsvcontrols:false,method:function(N){this._hideShowEl(this.ID.HSV_CONTROLS,N);if(N&&this.get(this.OPT.SHOW_HEX_SUMMARY)){this.set(this.OPT.SHOW_HEX_SUMMARY,false);}}});this.setAttributeConfig(this.OPT.SHOW_HEX_CONTROLS,{value:C.isBoolean(K.showhexcontrols)?K.showhexcontrols:false,method:function(N){this._hideShowEl(this.ID.HEX_CONTROLS,N);}});this.setAttributeConfig(this.OPT.SHOW_WEBSAFE,{value:C.isBoolean(K.showwebsafe)?K.showwebsafe:true,method:function(N){this._hideShowEl(this.ID.WEBSAFE_SWATCH,N);}});this.setAttributeConfig(this.OPT.SHOW_HEX_SUMMARY,{value:C.isBoolean(K.showhexsummary)?K.showhexsummary:true,method:function(N){this._hideShowEl(this.ID.HEX_SUMMARY,N);if(N&&this.get(this.OPT.SHOW_HSV_CONTROLS)){this.set(this.OPT.SHOW_HSV_CONTROLS,false);}}});this.setAttributeConfig(this.OPT.ANIMATE,{value:C.isBoolean(K.animate)?K.animate:true,method:function(N){if(this.pickerSlider){this.pickerSlider.animate=N;this.hueSlider.animate=N;}}});this.on(this.OPT.HUE+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.SATURATION+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.VALUE+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.RED+"Change",this._updateRGB,this,true);this.on(this.OPT.GREEN+"Change",this._updateRGB,this,true);this.on(this.OPT.BLUE+"Change",this._updateRGB,this,true);this.on(this.OPT.HEX+"Change",this._updateHex,this,true);this._initElements();}});YAHOO.widget.ColorPicker=G;})();YAHOO.register("colorpicker",YAHOO.widget.ColorPicker,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/connection/connection-min.js b/js/yui/connection/connection-min.js new file mode 100644 index 0000000000000000000000000000000000000000..3108a64098c2c7f1700ebbc7b72e42c3f5ea9502 --- /dev/null +++ b/js/yui/connection/connection-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var D,A,B;try{A=new XMLHttpRequest();D={conn:A,tId:F,xhr:true};}catch(C){for(B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:F,xhr:true};break;}catch(E){}}}finally{return D;}},getConnectionObject:function(A){var C,D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={tId:D};if(A==="xdr"){C.conn=this._transport;C.xdr=true;}else{if(A==="upload"){C.upload=true;}}}if(C){this._transaction_id++;}}catch(B){}return C;},asyncRequest:function(G,D,F,A){var E,C,B=(F&&F.argument)?F.argument:null;if(this._isFileUpload){C="upload";}else{if(F.xdr){C="xdr";}}E=this.getConnectionObject(C);if(!E){return null;}else{if(F&&F.customevents){this.initCustomEvents(E,F);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(E,F,D,A);return E;}if(G.toUpperCase()=="GET"){if(this._sFormData.length!==0){D+=((D.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(G.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(G.toUpperCase()=="GET"&&(F&&F.cache===false)){D+=((D.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((G.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(E.xdr){this.xdr(E,G,D,F,A);return E;}E.conn.open(G,D,true);if(this._has_default_headers||this._has_http_headers){this.setHeader(E);}this.handleReadyState(E,F);E.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(E,B);if(E.startEvent){E.startEvent.fire(E,B);}return E;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this,A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(B,I,D){var E,A,G=(I&&I.argument)?I.argument:null,C=(B.r&&B.r.statusText==="xdr:success")?true:false,H=(B.r&&B.r.statusText==="xdr:failure")?true:false,J=D;try{if((B.conn.status!==undefined&&B.conn.status!==0)||C){E=B.conn.status;}else{if(H&&!J){E=0;}else{E=13030;}}}catch(F){E=13030;}if((E>=200&&E<300)||E===1223||C){A=B.xdr?B.r:this.createResponseObject(B,G);if(I&&I.success){if(!I.scope){I.success(A);}else{I.success.apply(I.scope,[A]);}}this.successEvent.fire(A);if(B.successEvent){B.successEvent.fire(A);}}else{switch(E){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:A=this.createExceptionObject(B.tId,G,(D?D:false));if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}break;default:A=(B.xdr)?B.response:this.createResponseObject(B,G);if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}}this.failureEvent.fire(A);if(B.failureEvent){B.failureEvent.fire(A);}}this.releaseObject(B);A=null;},createResponseObject:function(A,G){var D={},I={},E,C,F,B;try{C=A.conn.getAllResponseHeaders();F=C.split("\n");for(E=0;E<F.length;E++){B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=YAHOO.lang.trim(F[E].substring(B+2));}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0,G="communication failure",C=-1,B="transaction aborted",E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]); +}}this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){this._default_headers={};this._has_default_headers=false;},abort:function(E,G,A){var D,B=(G&&G.argument)?G.argument:null;E=E||{};if(E.conn){if(E.xhr){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E.xdr){E.conn.abort(E.tId);D=true;}}}else{if(E.upload){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(A){A=A||{};if(A.xhr&&A.conn){return A.conn.readyState!==4&&A.conn.readyState!==0;}else{if(A.xdr&&A.conn){return A.conn.isCallInProgress(A.tId);}else{if(A.upload===true){return document.getElementById("yuiIO"+A.tId)?true:false;}else{return false;}}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};(function(){var G=YAHOO.util.Connect,H={};function D(I){var J='<object id="YUIConnectionSwf" type="application/x-shockwave-flash" data="'+I+'" width="0" height="0">'+'<param name="movie" value="'+I+'">'+'<param name="allowScriptAccess" value="always">'+"</object>",K=document.createElement("div");document.body.appendChild(K);K.innerHTML=J;}function B(L,I,J,M,K){H[parseInt(L.tId)]={"o":L,"c":M};if(K){M.method=I;M.data=K;}L.conn.send(J,M,L.tId);}function E(I){D(I);G._transport=document.getElementById("YUIConnectionSwf");}function C(){G.xdrReadyEvent.fire();}function A(J,I){if(J){G.startEvent.fire(J,I.argument);if(J.startEvent){J.startEvent.fire(J,I.argument);}}}function F(J){var K=H[J.tId].o,I=H[J.tId].c;if(J.statusText==="xdr:start"){A(K,I);return;}J.responseText=decodeURI(J.responseText);K.r=J;if(I.argument){K.r.argument=I.argument;}this.handleTransactionResponse(K,I,J.statusText==="xdr:abort"?true:false);delete H[J.tId];}G.xdr=B;G.swf=D;G.transport=E;G.xdrReadyEvent=new YAHOO.util.CustomEvent("xdrReady");G.xdrReady=C;G.handleXdrResponse=F;})();(function(){var D=YAHOO.util.Connect,F=YAHOO.util.Event;D._isFormSubmit=false;D._isFileUpload=false;D._formNode=null;D._sFormData=null;D._submitElementValue=null;D.uploadEvent=new YAHOO.util.CustomEvent("upload"),D._hasSubmitListener=function(){if(F){F.addListener(document,"click",function(J){var I=F.getTarget(J),H=I.nodeName.toLowerCase();if((H==="input"||H==="button")&&(I.type&&I.type.toLowerCase()=="submit")){D._submitElementValue=encodeURIComponent(I.name)+"="+encodeURIComponent(I.value);}});return true;}return false;}();function G(T,O,J){var S,I,R,P,W,Q=false,M=[],V=0,L,N,K,U,H;this.resetFormState();if(typeof T=="string"){S=(document.getElementById(T)||document.forms[T]);}else{if(typeof T=="object"){S=T;}else{return;}}if(O){this.createFrame(J?J:null);this._isFormSubmit=true;this._isFileUpload=true;this._formNode=S;return;}for(L=0,N=S.elements.length;L<N;++L){I=S.elements[L];W=I.disabled;R=I.name;if(!W&&R){R=encodeURIComponent(R)+"=";P=encodeURIComponent(I.value);switch(I.type){case"select-one":if(I.selectedIndex>-1){H=I.options[I.selectedIndex];M[V++]=R+encodeURIComponent((H.attributes.value&&H.attributes.value.specified)?H.value:H.text);}break;case"select-multiple":if(I.selectedIndex>-1){for(K=I.selectedIndex,U=I.options.length;K<U;++K){H=I.options[K];if(H.selected){M[V++]=R+encodeURIComponent((H.attributes.value&&H.attributes.value.specified)?H.value:H.text);}}}break;case"radio":case"checkbox":if(I.checked){M[V++]=R+P;}break;case"file":case undefined:case"reset":case"button":break;case"submit":if(Q===false){if(this._hasSubmitListener&&this._submitElementValue){M[V++]=this._submitElementValue;}Q=true;}break;default:M[V++]=R+P;}}}this._isFormSubmit=true;this._sFormData=M.join("&");this.initHeader("Content-Type",this._default_form_header);return this._sFormData;}function C(){this._isFormSubmit=false;this._isFileUpload=false;this._formNode=null;this._sFormData="";}function B(H){var I="yuiIO"+this._transaction_id,J;if(YAHOO.env.ua.ie){J=document.createElement('<iframe id="'+I+'" name="'+I+'" />');if(typeof H=="boolean"){J.src="javascript:false";}}else{J=document.createElement("iframe");J.id=I;J.name=I;}J.style.position="absolute";J.style.top="-1000px";J.style.left="-1000px";document.body.appendChild(J);}function E(H){var K=[],I=H.split("&"),J,L;for(J=0;J<I.length;J++){L=I[J].indexOf("=");if(L!=-1){K[J]=document.createElement("input");K[J].type="hidden";K[J].name=decodeURIComponent(I[J].substring(0,L));K[J].value=decodeURIComponent(I[J].substring(L+1));this._formNode.appendChild(K[J]);}}return K;}function A(K,V,L,J){var Q="yuiIO"+K.tId,R="multipart/form-data",T=document.getElementById(Q),M=(document.documentMode&&document.documentMode===8)?true:false,W=this,S=(V&&V.argument)?V.argument:null,U,P,I,O,H,N;H={action:this._formNode.getAttribute("action"),method:this._formNode.getAttribute("method"),target:this._formNode.getAttribute("target")};this._formNode.setAttribute("action",L);this._formNode.setAttribute("method","POST");this._formNode.setAttribute("target",Q);if(YAHOO.env.ua.ie&&!M){this._formNode.setAttribute("encoding",R);}else{this._formNode.setAttribute("enctype",R);}if(J){U=this.appendPostData(J);}this._formNode.submit();this.startEvent.fire(K,S);if(K.startEvent){K.startEvent.fire(K,S);}if(V&&V.timeout){this._timeOut[K.tId]=window.setTimeout(function(){W.abort(K,V,true);},V.timeout);}if(U&&U.length>0){for(P=0;P<U.length;P++){this._formNode.removeChild(U[P]);}}for(I in H){if(YAHOO.lang.hasOwnProperty(H,I)){if(H[I]){this._formNode.setAttribute(I,H[I]);}else{this._formNode.removeAttribute(I);}}}this.resetFormState();N=function(){if(V&&V.timeout){window.clearTimeout(W._timeOut[K.tId]);delete W._timeOut[K.tId];}W.completeEvent.fire(K,S);if(K.completeEvent){K.completeEvent.fire(K,S); +}O={tId:K.tId,argument:V.argument};try{O.responseText=T.contentWindow.document.body?T.contentWindow.document.body.innerHTML:T.contentWindow.document.documentElement.textContent;O.responseXML=T.contentWindow.document.XMLDocument?T.contentWindow.document.XMLDocument:T.contentWindow.document;}catch(X){}if(V&&V.upload){if(!V.scope){V.upload(O);}else{V.upload.apply(V.scope,[O]);}}W.uploadEvent.fire(O);if(K.uploadEvent){K.uploadEvent.fire(O);}F.removeListener(T,"load",N);setTimeout(function(){document.body.removeChild(T);W.releaseObject(K);},100);};F.addListener(T,"load",N);}D.setForm=G;D.resetFormState=C;D.createFrame=B;D.appendPostData=E;D.uploadFile=A;})();YAHOO.register("connection",YAHOO.util.Connect,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/connection/connection.swf b/js/yui/connection/connection.swf new file mode 100644 index 0000000000000000000000000000000000000000..c33a7fe2748316e549cc345836942ce4d4331df1 Binary files /dev/null and b/js/yui/connection/connection.swf differ diff --git a/js/yui/connection/connection_core-min.js b/js/yui/connection/connection_core-min.js new file mode 100644 index 0000000000000000000000000000000000000000..dde14cd5b4d1d938287282ef470d96f12db6657b --- /dev/null +++ b/js/yui/connection/connection_core-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Connect={_msxml_progid:["Microsoft.XMLHTTP","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP"],_http_headers:{},_has_http_headers:false,_use_default_post_header:true,_default_post_header:"application/x-www-form-urlencoded; charset=UTF-8",_default_form_header:"application/x-www-form-urlencoded",_use_default_xhr_header:true,_default_xhr_header:"XMLHttpRequest",_has_default_headers:true,_default_headers:{},_poll:{},_timeOut:{},_polling_interval:50,_transaction_id:0,startEvent:new YAHOO.util.CustomEvent("start"),completeEvent:new YAHOO.util.CustomEvent("complete"),successEvent:new YAHOO.util.CustomEvent("success"),failureEvent:new YAHOO.util.CustomEvent("failure"),abortEvent:new YAHOO.util.CustomEvent("abort"),_customEvents:{onStart:["startEvent","start"],onComplete:["completeEvent","complete"],onSuccess:["successEvent","success"],onFailure:["failureEvent","failure"],onUpload:["uploadEvent","upload"],onAbort:["abortEvent","abort"]},setProgId:function(A){this._msxml_progid.unshift(A);},setDefaultPostHeader:function(A){if(typeof A=="string"){this._default_post_header=A;}else{if(typeof A=="boolean"){this._use_default_post_header=A;}}},setDefaultXhrHeader:function(A){if(typeof A=="string"){this._default_xhr_header=A;}else{this._use_default_xhr_header=A;}},setPollingInterval:function(A){if(typeof A=="number"&&isFinite(A)){this._polling_interval=A;}},createXhrObject:function(F){var D,A,B;try{A=new XMLHttpRequest();D={conn:A,tId:F,xhr:true};}catch(C){for(B=0;B<this._msxml_progid.length;++B){try{A=new ActiveXObject(this._msxml_progid[B]);D={conn:A,tId:F,xhr:true};break;}catch(E){}}}finally{return D;}},getConnectionObject:function(A){var C,D=this._transaction_id;try{if(!A){C=this.createXhrObject(D);}else{C={tId:D};if(A==="xdr"){C.conn=this._transport;C.xdr=true;}else{if(A==="upload"){C.upload=true;}}}if(C){this._transaction_id++;}}catch(B){}return C;},asyncRequest:function(G,D,F,A){var E,C,B=(F&&F.argument)?F.argument:null;if(this._isFileUpload){C="upload";}else{if(F.xdr){C="xdr";}}E=this.getConnectionObject(C);if(!E){return null;}else{if(F&&F.customevents){this.initCustomEvents(E,F);}if(this._isFormSubmit){if(this._isFileUpload){this.uploadFile(E,F,D,A);return E;}if(G.toUpperCase()=="GET"){if(this._sFormData.length!==0){D+=((D.indexOf("?")==-1)?"?":"&")+this._sFormData;}}else{if(G.toUpperCase()=="POST"){A=A?this._sFormData+"&"+A:this._sFormData;}}}if(G.toUpperCase()=="GET"&&(F&&F.cache===false)){D+=((D.indexOf("?")==-1)?"?":"&")+"rnd="+new Date().valueOf().toString();}if(this._use_default_xhr_header){if(!this._default_headers["X-Requested-With"]){this.initHeader("X-Requested-With",this._default_xhr_header,true);}}if((G.toUpperCase()==="POST"&&this._use_default_post_header)&&this._isFormSubmit===false){this.initHeader("Content-Type",this._default_post_header);}if(E.xdr){this.xdr(E,G,D,F,A);return E;}E.conn.open(G,D,true);if(this._has_default_headers||this._has_http_headers){this.setHeader(E);}this.handleReadyState(E,F);E.conn.send(A||"");if(this._isFormSubmit===true){this.resetFormState();}this.startEvent.fire(E,B);if(E.startEvent){E.startEvent.fire(E,B);}return E;}},initCustomEvents:function(A,C){var B;for(B in C.customevents){if(this._customEvents[B][0]){A[this._customEvents[B][0]]=new YAHOO.util.CustomEvent(this._customEvents[B][1],(C.scope)?C.scope:null);A[this._customEvents[B][0]].subscribe(C.customevents[B]);}}},handleReadyState:function(C,D){var B=this,A=(D&&D.argument)?D.argument:null;if(D&&D.timeout){this._timeOut[C.tId]=window.setTimeout(function(){B.abort(C,D,true);},D.timeout);}this._poll[C.tId]=window.setInterval(function(){if(C.conn&&C.conn.readyState===4){window.clearInterval(B._poll[C.tId]);delete B._poll[C.tId];if(D&&D.timeout){window.clearTimeout(B._timeOut[C.tId]);delete B._timeOut[C.tId];}B.completeEvent.fire(C,A);if(C.completeEvent){C.completeEvent.fire(C,A);}B.handleTransactionResponse(C,D);}},this._polling_interval);},handleTransactionResponse:function(B,I,D){var E,A,G=(I&&I.argument)?I.argument:null,C=(B.r&&B.r.statusText==="xdr:success")?true:false,H=(B.r&&B.r.statusText==="xdr:failure")?true:false,J=D;try{if((B.conn.status!==undefined&&B.conn.status!==0)||C){E=B.conn.status;}else{if(H&&!J){E=0;}else{E=13030;}}}catch(F){E=13030;}if((E>=200&&E<300)||E===1223||C){A=B.xdr?B.r:this.createResponseObject(B,G);if(I&&I.success){if(!I.scope){I.success(A);}else{I.success.apply(I.scope,[A]);}}this.successEvent.fire(A);if(B.successEvent){B.successEvent.fire(A);}}else{switch(E){case 12002:case 12029:case 12030:case 12031:case 12152:case 13030:A=this.createExceptionObject(B.tId,G,(D?D:false));if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}break;default:A=(B.xdr)?B.response:this.createResponseObject(B,G);if(I&&I.failure){if(!I.scope){I.failure(A);}else{I.failure.apply(I.scope,[A]);}}}this.failureEvent.fire(A);if(B.failureEvent){B.failureEvent.fire(A);}}this.releaseObject(B);A=null;},createResponseObject:function(A,G){var D={},I={},E,C,F,B;try{C=A.conn.getAllResponseHeaders();F=C.split("\n");for(E=0;E<F.length;E++){B=F[E].indexOf(":");if(B!=-1){I[F[E].substring(0,B)]=YAHOO.lang.trim(F[E].substring(B+2));}}}catch(H){}D.tId=A.tId;D.status=(A.conn.status==1223)?204:A.conn.status;D.statusText=(A.conn.status==1223)?"No Content":A.conn.statusText;D.getResponseHeader=I;D.getAllResponseHeaders=C;D.responseText=A.conn.responseText;D.responseXML=A.conn.responseXML;if(G){D.argument=G;}return D;},createExceptionObject:function(H,D,A){var F=0,G="communication failure",C=-1,B="transaction aborted",E={};E.tId=H;if(A){E.status=C;E.statusText=B;}else{E.status=F;E.statusText=G;}if(D){E.argument=D;}return E;},initHeader:function(A,D,C){var B=(C)?this._default_headers:this._http_headers;B[A]=D;if(C){this._has_default_headers=true;}else{this._has_http_headers=true;}},setHeader:function(A){var B;if(this._has_default_headers){for(B in this._default_headers){if(YAHOO.lang.hasOwnProperty(this._default_headers,B)){A.conn.setRequestHeader(B,this._default_headers[B]);}}}if(this._has_http_headers){for(B in this._http_headers){if(YAHOO.lang.hasOwnProperty(this._http_headers,B)){A.conn.setRequestHeader(B,this._http_headers[B]); +}}this._http_headers={};this._has_http_headers=false;}},resetDefaultHeaders:function(){this._default_headers={};this._has_default_headers=false;},abort:function(E,G,A){var D,B=(G&&G.argument)?G.argument:null;E=E||{};if(E.conn){if(E.xhr){if(this.isCallInProgress(E)){E.conn.abort();window.clearInterval(this._poll[E.tId]);delete this._poll[E.tId];if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{if(E.xdr){E.conn.abort(E.tId);D=true;}}}else{if(E.upload){var C="yuiIO"+E.tId;var F=document.getElementById(C);if(F){YAHOO.util.Event.removeListener(F,"load");document.body.removeChild(F);if(A){window.clearTimeout(this._timeOut[E.tId]);delete this._timeOut[E.tId];}D=true;}}else{D=false;}}if(D===true){this.abortEvent.fire(E,B);if(E.abortEvent){E.abortEvent.fire(E,B);}this.handleTransactionResponse(E,G,true);}return D;},isCallInProgress:function(A){A=A||{};if(A.xhr&&A.conn){return A.conn.readyState!==4&&A.conn.readyState!==0;}else{if(A.xdr&&A.conn){return A.conn.isCallInProgress(A.tId);}else{if(A.upload===true){return document.getElementById("yuiIO"+A.tId)?true:false;}else{return false;}}}},releaseObject:function(A){if(A&&A.conn){A.conn=null;A=null;}}};YAHOO.register("connection_core",YAHOO.util.Connect,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/container/container-min.js b/js/yui/container/container-min.js new file mode 100644 index 0000000000000000000000000000000000000000..d2976d06057bf9fac1d680fa6245b698504d78c4 --- /dev/null +++ b/js/yui/container/container-min.js @@ -0,0 +1,19 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F=this.config,G,E;for(G in F){if(B.hasOwnProperty(F,G)){E=F[G];if(E&&E.event){D[G]=E.value;}}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){if(B.hasOwnProperty(this.config,D)){this.refireEvent(D);}}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.eventQueue[E]=null;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(D,E,G,H){var F=this.config[D.toLowerCase()];if(F&&F.event){if(!A.alreadySubscribed(F.event,E,G)){F.event.subscribe(E,G,H);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(R,Q){if(R){this.init(R,Q);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,N=YAHOO.util.Event,M=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,I=YAHOO.env.ua,H,P,O,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTROY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},J={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.RESIZE_MONITOR_BUFFER=1;G.textResizeEvent=new M("textResize");G.forceDocumentRedraw=function(){var Q=document.documentElement;if(Q){Q.className+=" ";Q.className=YAHOO.lang.trim(Q.className);}};function L(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');P=H.firstChild;O=P.nextSibling;E=O.nextSibling;}return H;}function K(){if(!P){L();}return(P.cloneNode(false));}function B(){if(!O){L();}return(O.cloneNode(false));}function C(){if(!E){L();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var Q=M.LIST; +this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=Q;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=Q;this.appendEvent=this.createEvent(A.APPEND);this.appendEvent.signature=Q;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=Q;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=Q;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=Q;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=Q;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=Q;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=Q;this.destroyEvent=this.createEvent(A.DESTROY);this.destroyEvent.signature=Q;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=Q;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=Q;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=Q;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=Q;},platform:function(){var Q=navigator.userAgent.toLowerCase();if(Q.indexOf("windows")!=-1||Q.indexOf("win32")!=-1){return"windows";}else{if(Q.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var Q=navigator.userAgent.toLowerCase();if(Q.indexOf("opera")!=-1){return"opera";}else{if(Q.indexOf("msie 7")!=-1){return"ie7";}else{if(Q.indexOf("msie")!=-1){return"ie";}else{if(Q.indexOf("safari")!=-1){return"safari";}else{if(Q.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(J.VISIBLE.key,{handler:this.configVisible,value:J.VISIBLE.value,validator:J.VISIBLE.validator});this.cfg.addProperty(J.EFFECT.key,{suppressEvent:J.EFFECT.suppressEvent,supercedes:J.EFFECT.supercedes});this.cfg.addProperty(J.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:J.MONITOR_RESIZE.value});this.cfg.addProperty(J.APPEND_TO_DOCUMENT_BODY.key,{value:J.APPEND_TO_DOCUMENT_BODY.value});},init:function(V,U){var S,W;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof V=="string"){S=V;V=document.getElementById(V);if(!V){V=(L()).cloneNode(false);V.id=S;}}this.id=F.generateId(V);this.element=V;W=this.element.firstChild;if(W){var R=false,Q=false,T=false;do{if(1==W.nodeType){if(!R&&F.hasClass(W,G.CSS_HEADER)){this.header=W;R=true;}else{if(!Q&&F.hasClass(W,G.CSS_BODY)){this.body=W;Q=true;}else{if(!T&&F.hasClass(W,G.CSS_FOOTER)){this.footer=W;T=true;}}}}}while((W=W.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(U){this.cfg.applyConfig(U,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var R=(I.gecko&&this.platform=="windows");if(R){var Q=this;setTimeout(function(){Q._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var Q,S,U;function W(){G.textResizeEvent.fire();}if(!I.opera){S=F.get("_yuiResizeMonitor");var V=this._supportsCWResize();if(!S){S=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&I.ie){S.src=G.RESIZE_MONITOR_SECURE_URL;}if(!V){U=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");S.src="data:text/html;charset=utf-8,"+encodeURIComponent(U);}S.id="_yuiResizeMonitor";S.title="Text Resize Monitor";S.style.position="absolute";S.style.visibility="hidden";var R=document.body,T=R.firstChild;if(T){R.insertBefore(S,T);}else{R.appendChild(S);}S.style.backgroundColor="transparent";S.style.borderWidth="0";S.style.width="2em";S.style.height="2em";S.style.left="0";S.style.top=(-1*(S.offsetHeight+G.RESIZE_MONITOR_BUFFER))+"px";S.style.visibility="visible";if(I.webkit){Q=S.contentWindow.document;Q.open();Q.close();}}if(S&&S.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(V){if(!N.on(S.contentWindow,"resize",W)){N.on(S,"resize",W);}}G.textResizeInitialized=true;}this.resizeMonitor=S;}}},_supportsCWResize:function(){var Q=true;if(I.gecko&&I.gecko<=1.8){Q=false;}return Q;},onDomResize:function(S,R){var Q=-1*(this.resizeMonitor.offsetHeight+G.RESIZE_MONITOR_BUFFER);this.resizeMonitor.style.top=Q+"px";this.resizeMonitor.style.left="0";},setHeader:function(R){var Q=this.header||(this.header=K());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderHeader();}this.changeHeaderEvent.fire(R);this.changeContentEvent.fire();},appendToHeader:function(R){var Q=this.header||(this.header=K());Q.appendChild(R);this.changeHeaderEvent.fire(R);this.changeContentEvent.fire();},setBody:function(R){var Q=this.body||(this.body=B());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderBody();}this.changeBodyEvent.fire(R);this.changeContentEvent.fire();},appendToBody:function(R){var Q=this.body||(this.body=B());Q.appendChild(R);this.changeBodyEvent.fire(R);this.changeContentEvent.fire();},setFooter:function(R){var Q=this.footer||(this.footer=C());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderFooter();}this.changeFooterEvent.fire(R);this.changeContentEvent.fire();},appendToFooter:function(R){var Q=this.footer||(this.footer=C());Q.appendChild(R);this.changeFooterEvent.fire(R);this.changeContentEvent.fire();},render:function(S,Q){var T=this;function R(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){T._addToParent(U,T.element);T.appendEvent.fire();}}this.beforeRenderEvent.fire(); +if(!Q){Q=this.element;}if(S){R(S);}else{if(!F.inDocument(this.element)){return false;}}this._renderHeader(Q);this._renderBody(Q);this._renderFooter(Q);this._rendered=true;this.renderEvent.fire();return true;},_renderHeader:function(Q){Q=Q||this.element;if(this.header&&!F.inDocument(this.header)){var R=Q.firstChild;if(R){Q.insertBefore(this.header,R);}else{Q.appendChild(this.header);}}},_renderBody:function(Q){Q=Q||this.element;if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(Q,this.footer)){Q.insertBefore(this.body,this.footer);}else{Q.appendChild(this.body);}}},_renderFooter:function(Q){Q=Q||this.element;if(this.footer&&!F.inDocument(this.footer)){Q.appendChild(this.footer);}},destroy:function(){var Q;if(this.element){N.purgeElement(this.element,true);Q=this.element.parentNode;}if(Q){Q.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(R,Q,S){var T=Q[0];if(T){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(S,R,T){var Q=R[0];if(Q){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(Q,R){if(!this.cfg.getProperty("appendtodocumentbody")&&Q===document.body&&Q.firstChild){Q.insertBefore(R,Q.firstChild);}else{Q.appendChild(R);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(P,O){YAHOO.widget.Overlay.superclass.constructor.call(this,P,O);};var I=YAHOO.lang,M=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,N=YAHOO.util.Event,F=YAHOO.util.Dom,D=YAHOO.util.Config,K=YAHOO.env.ua,B=YAHOO.widget.Overlay,H="subscribe",E="unsubscribe",C="contained",J,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},L={"X":{key:"x",validator:I.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:I.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"AUTO_FILL_HEIGHT":{key:"autofillheight",supercedes:["height"],value:"body"},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:I.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(K.ie==6?true:false),validator:I.isBoolean,supercedes:["zindex"]},"PREVENT_CONTEXT_OVERLAP":{key:"preventcontextoverlap",value:false,validator:I.isBoolean,supercedes:["constraintoviewport"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.PREVENT_OVERLAP_X={"tltr":true,"blbr":true,"brbl":true,"trtl":true};B.PREVENT_OVERLAP_Y={"trbr":true,"tlbl":true,"bltl":true,"brtr":true};B.CSS_OVERLAY="yui-overlay";B.CSS_HIDDEN="yui-overlay-hidden";B.CSS_IFRAME="yui-overlay-iframe";B.STD_MOD_RE=/^\s*?(body|footer|header)\s*?$/i;B.windowScrollEvent=new M("windowScroll");B.windowResizeEvent=new M("windowResize");B.windowScrollHandler=function(P){var O=N.getTarget(P);if(!O||O===window||O===window.document){if(K.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}}};B.windowResizeHandler=function(O){if(K.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){N.on(window,"scroll",B.windowScrollHandler);N.on(window,"resize",B.windowResizeHandler);B._initialized=true;}B._TRIGGER_MAP={"windowScroll":B.windowScrollEvent,"windowResize":B.windowResizeEvent,"textResize":G.textResizeEvent};YAHOO.extend(B,G,{CONTEXT_TRIGGERS:[],init:function(P,O){B.superclass.init.call(this,P);this.beforeInitEvent.fire(B);F.addClass(this.element,B.CSS_OVERLAY);if(O){this.cfg.applyConfig(O,true);}if(this.platform=="mac"&&K.gecko){if(!D.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!D.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var O=M.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=O;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=O;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);var O=this.cfg;O.addProperty(L.X.key,{handler:this.configX,validator:L.X.validator,suppressEvent:L.X.suppressEvent,supercedes:L.X.supercedes});O.addProperty(L.Y.key,{handler:this.configY,validator:L.Y.validator,suppressEvent:L.Y.suppressEvent,supercedes:L.Y.supercedes});O.addProperty(L.XY.key,{handler:this.configXY,suppressEvent:L.XY.suppressEvent,supercedes:L.XY.supercedes});O.addProperty(L.CONTEXT.key,{handler:this.configContext,suppressEvent:L.CONTEXT.suppressEvent,supercedes:L.CONTEXT.supercedes});O.addProperty(L.FIXED_CENTER.key,{handler:this.configFixedCenter,value:L.FIXED_CENTER.value,validator:L.FIXED_CENTER.validator,supercedes:L.FIXED_CENTER.supercedes});O.addProperty(L.WIDTH.key,{handler:this.configWidth,suppressEvent:L.WIDTH.suppressEvent,supercedes:L.WIDTH.supercedes}); +O.addProperty(L.HEIGHT.key,{handler:this.configHeight,suppressEvent:L.HEIGHT.suppressEvent,supercedes:L.HEIGHT.supercedes});O.addProperty(L.AUTO_FILL_HEIGHT.key,{handler:this.configAutoFillHeight,value:L.AUTO_FILL_HEIGHT.value,validator:this._validateAutoFill,supercedes:L.AUTO_FILL_HEIGHT.supercedes});O.addProperty(L.ZINDEX.key,{handler:this.configzIndex,value:L.ZINDEX.value});O.addProperty(L.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:L.CONSTRAIN_TO_VIEWPORT.value,validator:L.CONSTRAIN_TO_VIEWPORT.validator,supercedes:L.CONSTRAIN_TO_VIEWPORT.supercedes});O.addProperty(L.IFRAME.key,{handler:this.configIframe,value:L.IFRAME.value,validator:L.IFRAME.validator,supercedes:L.IFRAME.supercedes});O.addProperty(L.PREVENT_CONTEXT_OVERLAP.key,{value:L.PREVENT_CONTEXT_OVERLAP.value,validator:L.PREVENT_CONTEXT_OVERLAP.validator,supercedes:L.PREVENT_CONTEXT_OVERLAP.supercedes});},moveTo:function(O,P){this.cfg.setProperty("xy",[O,P]);},hideMacGeckoScrollbars:function(){F.replaceClass(this.element,"show-scrollbars","hide-scrollbars");},showMacGeckoScrollbars:function(){F.replaceClass(this.element,"hide-scrollbars","show-scrollbars");},_setDomVisibility:function(O){F.setStyle(this.element,"visibility",(O)?"visible":"hidden");var P=B.CSS_HIDDEN;if(O){F.removeClass(this.element,P);}else{F.addClass(this.element,P);}},configVisible:function(R,O,X){var Q=O[0],S=F.getStyle(this.element,"visibility"),Y=this.cfg.getProperty("effect"),V=[],U=(this.platform=="mac"&&K.gecko),g=D.alreadySubscribed,W,P,f,c,b,a,d,Z,T;if(S=="inherit"){f=this.element.parentNode;while(f.nodeType!=9&&f.nodeType!=11){S=F.getStyle(f,"visibility");if(S!="inherit"){break;}f=f.parentNode;}if(S=="inherit"){S="visible";}}if(Y){if(Y instanceof Array){Z=Y.length;for(c=0;c<Z;c++){W=Y[c];V[V.length]=W.effect(this,W.duration);}}else{V[V.length]=Y.effect(this,Y.duration);}}if(Q){if(U){this.showMacGeckoScrollbars();}if(Y){if(Q){if(S!="visible"||S===""){this.beforeShowEvent.fire();T=V.length;for(b=0;b<T;b++){P=V[b];if(b===0&&!g(P.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){P.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}P.animateIn();}}}}else{if(S!="visible"||S===""){this.beforeShowEvent.fire();this._setDomVisibility(true);this.cfg.refireEvent("iframe");this.showEvent.fire();}else{this._setDomVisibility(true);}}}else{if(U){this.hideMacGeckoScrollbars();}if(Y){if(S=="visible"){this.beforeHideEvent.fire();T=V.length;for(a=0;a<T;a++){d=V[a];if(a===0&&!g(d.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){d.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}d.animateOut();}}else{if(S===""){this._setDomVisibility(false);}}}else{if(S=="visible"||S===""){this.beforeHideEvent.fire();this._setDomVisibility(false);this.hideEvent.fire();}else{this._setDomVisibility(false);}}}},doCenterOnDOMEvent:function(){var O=this.cfg,P=O.getProperty("fixedcenter");if(O.getProperty("visible")){if(P&&(P!==C||this.fitsInViewport())){this.center();}}},fitsInViewport:function(){var S=B.VIEWPORT_OFFSET,Q=this.element,T=Q.offsetWidth,R=Q.offsetHeight,O=F.getViewportWidth(),P=F.getViewportHeight();return((T+S<O)&&(R+S<P));},configFixedCenter:function(S,Q,T){var U=Q[0],P=D.alreadySubscribed,R=B.windowResizeEvent,O=B.windowScrollEvent;if(U){this.center();if(!P(this.beforeShowEvent,this.center)){this.beforeShowEvent.subscribe(this.center);}if(!P(R,this.doCenterOnDOMEvent,this)){R.subscribe(this.doCenterOnDOMEvent,this,true);}if(!P(O,this.doCenterOnDOMEvent,this)){O.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);R.unsubscribe(this.doCenterOnDOMEvent,this);O.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(R,P,S){var O=P[0],Q=this.element;F.setStyle(Q,"height",O);this.cfg.refireEvent("iframe");},configAutoFillHeight:function(T,S,P){var V=S[0],Q=this.cfg,U="autofillheight",W="height",R=Q.getProperty(U),O=this._autoFillOnHeightChange;Q.unsubscribeFromConfigEvent(W,O);G.textResizeEvent.unsubscribe(O);this.changeContentEvent.unsubscribe(O);if(R&&V!==R&&this[R]){F.setStyle(this[R],W,"");}if(V){V=I.trim(V.toLowerCase());Q.subscribeToConfigEvent(W,O,this[V],this);G.textResizeEvent.subscribe(O,this[V],this);this.changeContentEvent.subscribe(O,this[V],this);Q.setProperty(U,V,true);}},configWidth:function(R,O,S){var Q=O[0],P=this.element;F.setStyle(P,"width",Q);this.cfg.refireEvent("iframe");},configzIndex:function(Q,O,R){var S=O[0],P=this.element;if(!S){S=F.getStyle(P,"zIndex");if(!S||isNaN(S)){S=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(S<=0){S=1;}}F.setStyle(P,"zIndex",S);this.cfg.setProperty("zIndex",S,true);if(this.iframe){this.stackIframe();}},configXY:function(Q,P,R){var T=P[0],O=T[0],S=T[1];this.cfg.setProperty("x",O);this.cfg.setProperty("y",S);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},configX:function(Q,P,R){var O=P[0],S=this.cfg.getProperty("y");this.cfg.setProperty("x",O,true);this.cfg.setProperty("y",S,true);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");F.setX(this.element,O,true);this.cfg.setProperty("xy",[O,S],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},configY:function(Q,P,R){var O=this.cfg.getProperty("x"),S=P[0];this.cfg.setProperty("x",O,true);this.cfg.setProperty("y",S,true);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");F.setY(this.element,S,true);this.cfg.setProperty("xy",[O,S],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},showIframe:function(){var P=this.iframe,O;if(P){O=this.element.parentNode;if(O!=P.parentNode){this._addToParent(O,P);}P.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var O=this.iframe,Q=this.element,S=B.IFRAME_OFFSET,P=(S*2),R;if(O){O.style.width=(Q.offsetWidth+P+"px"); +O.style.height=(Q.offsetHeight+P+"px");R=this.cfg.getProperty("xy");if(!I.isArray(R)||(isNaN(R[0])||isNaN(R[1]))){this.syncPosition();R=this.cfg.getProperty("xy");}F.setXY(O,[(R[0]-S),(R[1]-S)]);}},stackIframe:function(){if(this.iframe){var O=F.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(O)&&!isNaN(O)){F.setStyle(this.iframe,"zIndex",(O-1));}}},configIframe:function(R,Q,S){var O=Q[0];function T(){var V=this.iframe,W=this.element,X;if(!V){if(!J){J=document.createElement("iframe");if(this.isSecure){J.src=B.IFRAME_SRC;}if(K.ie){J.style.filter="alpha(opacity=0)";J.frameBorder=0;}else{J.style.opacity="0";}J.style.position="absolute";J.style.border="none";J.style.margin="0";J.style.padding="0";J.style.display="none";J.tabIndex=-1;J.className=B.CSS_IFRAME;}V=J.cloneNode(false);V.id=this.id+"_f";X=W.parentNode;var U=X||document.body;this._addToParent(U,V);this.iframe=V;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function P(){T.call(this);this.beforeShowEvent.unsubscribe(P);this._iframeDeferred=false;}if(O){if(this.cfg.getProperty("visible")){T.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(P);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(P,O,Q){var R=O[0];if(R){if(!D.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!D.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(U,T,Q){var X=T[0],R,O,V,S,P,W=this.CONTEXT_TRIGGERS;if(X){R=X[0];O=X[1];V=X[2];S=X[3];P=X[4];if(W&&W.length>0){S=(S||[]).concat(W);}if(R){if(typeof R=="string"){this.cfg.setProperty("context",[document.getElementById(R),O,V,S,P],true);}if(O&&V){this.align(O,V,P);}if(this._contextTriggers){this._processTriggers(this._contextTriggers,E,this._alignOnTrigger);}if(S){this._processTriggers(S,H,this._alignOnTrigger);this._contextTriggers=S;}}}},_alignOnTrigger:function(P,O){this.align();},_findTriggerCE:function(O){var P=null;if(O instanceof M){P=O;}else{if(B._TRIGGER_MAP[O]){P=B._TRIGGER_MAP[O];}}return P;},_processTriggers:function(S,U,R){var Q,T;for(var P=0,O=S.length;P<O;++P){Q=S[P];T=this._findTriggerCE(Q);if(T){T[U](R,this,true);}else{this[U](Q,R);}}},align:function(P,W,S){var V=this.cfg.getProperty("context"),T=this,O,Q,U;function R(Z,a){var Y=null,X=null;switch(P){case B.TOP_LEFT:Y=a;X=Z;break;case B.TOP_RIGHT:Y=a-Q.offsetWidth;X=Z;break;case B.BOTTOM_LEFT:Y=a;X=Z-Q.offsetHeight;break;case B.BOTTOM_RIGHT:Y=a-Q.offsetWidth;X=Z-Q.offsetHeight;break;}if(Y!==null&&X!==null){if(S){Y+=S[0];X+=S[1];}T.moveTo(Y,X);}}if(V){O=V[0];Q=this.element;T=this;if(!P){P=V[1];}if(!W){W=V[2];}if(!S&&V[4]){S=V[4];}if(Q&&O){U=F.getRegion(O);switch(W){case B.TOP_LEFT:R(U.top,U.left);break;case B.TOP_RIGHT:R(U.top,U.right);break;case B.BOTTOM_LEFT:R(U.bottom,U.left);break;case B.BOTTOM_RIGHT:R(U.bottom,U.right);break;}}}},enforceConstraints:function(P,O,Q){var S=O[0];var R=this.getConstrainedXY(S[0],S[1]);this.cfg.setProperty("x",R[0],true);this.cfg.setProperty("y",R[1],true);this.cfg.setProperty("xy",R,true);},_getConstrainedPos:function(X,P){var T=this.element,R=B.VIEWPORT_OFFSET,Z=(X=="x"),Y=(Z)?T.offsetWidth:T.offsetHeight,S=(Z)?F.getViewportWidth():F.getViewportHeight(),c=(Z)?F.getDocumentScrollLeft():F.getDocumentScrollTop(),b=(Z)?B.PREVENT_OVERLAP_X:B.PREVENT_OVERLAP_Y,O=this.cfg.getProperty("context"),U=(Y+R<S),W=this.cfg.getProperty("preventcontextoverlap")&&O&&b[(O[1]+O[2])],V=c+R,a=c+S-Y-R,Q=P;if(P<V||P>a){if(W){Q=this._preventOverlap(X,O[0],Y,S,c);}else{if(U){if(P<V){Q=V;}else{if(P>a){Q=a;}}}else{Q=V;}}}return Q;},_preventOverlap:function(X,W,Y,U,b){var Z=(X=="x"),T=B.VIEWPORT_OFFSET,S=this,Q=((Z)?F.getX(W):F.getY(W))-b,O=(Z)?W.offsetWidth:W.offsetHeight,P=Q-T,R=(U-(Q+O))-T,c=false,V=function(){var d;if((S.cfg.getProperty(X)-b)>Q){d=(Q-Y);}else{d=(Q+O);}S.cfg.setProperty(X,(d+b),true);return d;},a=function(){var e=((S.cfg.getProperty(X)-b)>Q)?R:P,d;if(Y>e){if(c){V();}else{V();c=true;d=a();}}return d;};a();return this.cfg.getProperty(X);},getConstrainedX:function(O){return this._getConstrainedPos("x",O);},getConstrainedY:function(O){return this._getConstrainedPos("y",O);},getConstrainedXY:function(O,P){return[this.getConstrainedX(O),this.getConstrainedY(P)];},center:function(){var R=B.VIEWPORT_OFFSET,S=this.element.offsetWidth,Q=this.element.offsetHeight,P=F.getViewportWidth(),T=F.getViewportHeight(),O,U;if(S<P){O=(P/2)-(S/2)+F.getDocumentScrollLeft();}else{O=R+F.getDocumentScrollLeft();}if(Q<T){U=(T/2)-(Q/2)+F.getDocumentScrollTop();}else{U=R+F.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(O,10),parseInt(U,10)]);this.cfg.refireEvent("iframe");if(K.webkit){this.forceContainerRedraw();}},syncPosition:function(){var O=F.getXY(this.element);this.cfg.setProperty("x",O[0],true);this.cfg.setProperty("y",O[1],true);this.cfg.setProperty("xy",O,true);},onDomResize:function(Q,P){var O=this;B.superclass.onDomResize.call(this,Q,P);setTimeout(function(){O.syncPosition();O.cfg.refireEvent("iframe");O.cfg.refireEvent("context");},0);},_getComputedHeight:(function(){if(document.defaultView&&document.defaultView.getComputedStyle){return function(P){var O=null; +if(P.ownerDocument&&P.ownerDocument.defaultView){var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){O=parseInt(Q.height,10);}}return(I.isNumber(O))?O:null;};}else{return function(P){var O=null;if(P.style.pixelHeight){O=P.style.pixelHeight;}return(I.isNumber(O))?O:null;};}})(),_validateAutoFillHeight:function(O){return(!O)||(I.isString(O)&&B.STD_MOD_RE.test(O));},_autoFillOnHeightChange:function(R,P,Q){var O=this.cfg.getProperty("height");if((O&&O!=="auto")||(O===0)){this.fillHeight(Q);}},_getPreciseHeight:function(P){var O=P.offsetHeight;if(P.getBoundingClientRect){var Q=P.getBoundingClientRect();O=Q.bottom-Q.top;}return O;},fillHeight:function(R){if(R){var P=this.innerElement||this.element,O=[this.header,this.body,this.footer],V,W=0,X=0,T=0,Q=false;for(var U=0,S=O.length;U<S;U++){V=O[U];if(V){if(R!==V){X+=this._getPreciseHeight(V);}else{Q=true;}}}if(Q){if(K.ie||K.opera){F.setStyle(R,"height",0+"px");}W=this._getComputedHeight(P);if(W===null){F.addClass(P,"yui-override-padding");W=P.clientHeight;F.removeClass(P,"yui-override-padding");}T=Math.max(W-X,0);F.setStyle(R,"height",T+"px");if(R.offsetHeight!=T){T=Math.max(T-(R.offsetHeight-T),0);}F.setStyle(R,"height",T+"px");}}},bringToTop:function(){var S=[],R=this.element;function V(Z,Y){var b=F.getStyle(Z,"zIndex"),a=F.getStyle(Y,"zIndex"),X=(!b||isNaN(b))?0:parseInt(b,10),W=(!a||isNaN(a))?0:parseInt(a,10);if(X>W){return -1;}else{if(X<W){return 1;}else{return 0;}}}function Q(Y){var X=F.hasClass(Y,B.CSS_OVERLAY),W=YAHOO.widget.Panel;if(X&&!F.isAncestor(R,Y)){if(W&&F.hasClass(Y,W.CSS_PANEL)){S[S.length]=Y.parentNode;}else{S[S.length]=Y;}}}F.getElementsBy(Q,"DIV",document.body);S.sort(V);var O=S[0],U;if(O){U=F.getStyle(O,"zIndex");if(!isNaN(U)){var T=false;if(O!=R){T=true;}else{if(S.length>1){var P=F.getStyle(S[1],"zIndex");if(!isNaN(P)&&(U==P)){T=true;}}}if(T){this.cfg.setProperty("zindex",(parseInt(U,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);G.textResizeEvent.unsubscribe(this._autoFillOnHeightChange);if(this._contextTriggers){this._processTriggers(this._contextTriggers,E,this._alignOnTrigger);}B.superclass.destroy.call(this);},forceContainerRedraw:function(){var O=this;F.addClass(O.element,"yui-force-redraw");setTimeout(function(){F.removeClass(O.element,"yui-force-redraw");},0);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){K.focus();}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);M.focusEvent.unsubscribe(this._onOverlayFocusHandler,M);M.blurEvent.unsubscribe(this._onOverlayBlurHandler,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}if(M.focusEvent._managed){M.focusEvent=null;}if(M.blurEvent._managed){M.blurEvent=null;}if(M.focus._managed){M.focus=null;}if(M.blur._managed){M.blur=null;}}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._manageBlur=function(J){var K=false;if(H==J){E.removeClass(H.element,A.CSS_FOCUSED);H=null;K=true;}return K;};this._manageFocus=function(J){var K=false;if(H!=J){if(H){H.blur();}H=J;this.bringToTop(H);E.addClass(H.element,A.CSS_FOCUSED);K=true;}return K;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},_onOverlayFocusHandler:function(H,G,I){this._manageFocus(I);},_onOverlayBlurHandler:function(H,G,I){this._manageBlur(I);},_bindFocus:function(G){var H=this;if(!G.focusEvent){G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.focusEvent._managed=true;}else{G.focusEvent.subscribe(H._onOverlayFocusHandler,G,H);}if(!G.focus){C.on(G.element,H.cfg.getProperty("focusevent"),H._onOverlayElementFocus,null,G);G.focus=function(){if(H._manageFocus(this)){if(this.cfg.getProperty("visible")&&this.focusFirst){this.focusFirst();}this.focusEvent.fire();}};G.focus._managed=true;}},_bindBlur:function(G){var H=this;if(!G.blurEvent){G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focusEvent._managed=true;}else{G.blurEvent.subscribe(H._onOverlayBlurHandler,G,H);}if(!G.blur){G.blur=function(){if(H._manageBlur(this)){this.blurEvent.fire();}};G.blur._managed=true;}G.hideEvent.subscribe(G.blur);},_bindDestroy:function(G){var H=this;G.destroyEvent.subscribe(H._onOverlayDestroy,G,H);},_syncZIndex:function(G){var H=E.getStyle(G.element,"zIndex");if(!isNaN(H)){G.cfg.setProperty("zIndex",parseInt(H,10));}else{G.cfg.setProperty("zIndex",0);}},register:function(G){var J=false,H,I;if(G instanceof D){G.cfg.addProperty("manager",{value:this});this._bindFocus(G);this._bindBlur(G);this._bindDestroy(G); +this._syncZIndex(G);this.overlays.push(G);this.bringToTop(G);J=true;}else{if(G instanceof Array){for(H=0,I=G.length;H<I;H++){J=this.register(G[H])||J;}}}return J;},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var K=G instanceof D,I=this.overlays,M=I.length,J=null,L,H;if(K||typeof G=="string"){for(H=M-1;H>=0;H--){L=I[H];if((K&&(L===G))||(L.id==G)){J=L;break;}}}return J;},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;for(G=I-1;G>=0;G--){H[G].show();}},hideAll:function(){var H=this.overlays,I=H.length,G;for(G=I-1;G>=0;G--){H[G].hide();}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.Tooltip=function(P,O){YAHOO.widget.Tooltip.superclass.constructor.call(this,P,O);};var E=YAHOO.lang,N=YAHOO.util.Event,M=YAHOO.util.CustomEvent,C=YAHOO.util.Dom,J=YAHOO.widget.Tooltip,H=YAHOO.env.ua,G=(H.ie&&(H.ie<=6||document.compatMode=="BackCompat")),F,I={"PREVENT_OVERLAP":{key:"preventoverlap",value:true,validator:E.isBoolean,supercedes:["x","y","xy"]},"SHOW_DELAY":{key:"showdelay",value:200,validator:E.isNumber},"AUTO_DISMISS_DELAY":{key:"autodismissdelay",value:5000,validator:E.isNumber},"HIDE_DELAY":{key:"hidedelay",value:250,validator:E.isNumber},"TEXT":{key:"text",suppressEvent:true},"CONTAINER":{key:"container"},"DISABLED":{key:"disabled",value:false,suppressEvent:true},"XY_OFFSET":{key:"xyoffset",value:[0,25],suppressEvent:true}},A={"CONTEXT_MOUSE_OVER":"contextMouseOver","CONTEXT_MOUSE_OUT":"contextMouseOut","CONTEXT_TRIGGER":"contextTrigger"};J.CSS_TOOLTIP="yui-tt";function K(Q,O){var P=this.cfg,R=P.getProperty("width");if(R==O){P.setProperty("width",Q);}}function D(P,O){if("_originalWidth" in this){K.call(this,this._originalWidth,this._forcedWidth);}var Q=document.body,U=this.cfg,T=U.getProperty("width"),R,S;if((!T||T=="auto")&&(U.getProperty("container")!=Q||U.getProperty("x")>=C.getViewportWidth()||U.getProperty("y")>=C.getViewportHeight())){S=this.element.cloneNode(true);S.style.visibility="hidden";S.style.top="0px";S.style.left="0px";Q.appendChild(S);R=(S.offsetWidth+"px");Q.removeChild(S);S=null;U.setProperty("width",R);U.refireEvent("xy");this._originalWidth=T||"";this._forcedWidth=R;}}function B(P,O,Q){this.render(Q);}function L(){N.onDOMReady(B,this.cfg.getProperty("container"),this);}YAHOO.extend(J,YAHOO.widget.Overlay,{init:function(P,O){J.superclass.init.call(this,P);this.beforeInitEvent.fire(J);C.addClass(this.element,J.CSS_TOOLTIP);if(O){this.cfg.applyConfig(O,true);}this.cfg.queueProperty("visible",false);this.cfg.queueProperty("constraintoviewport",true);this.setBody("");this.subscribe("changeContent",D);this.subscribe("init",L);this.subscribe("render",this.onRender);this.initEvent.fire(J);},initEvents:function(){J.superclass.initEvents.call(this);var O=M.LIST;this.contextMouseOverEvent=this.createEvent(A.CONTEXT_MOUSE_OVER);this.contextMouseOverEvent.signature=O;this.contextMouseOutEvent=this.createEvent(A.CONTEXT_MOUSE_OUT);this.contextMouseOutEvent.signature=O;this.contextTriggerEvent=this.createEvent(A.CONTEXT_TRIGGER);this.contextTriggerEvent.signature=O;},initDefaultConfig:function(){J.superclass.initDefaultConfig.call(this);this.cfg.addProperty(I.PREVENT_OVERLAP.key,{value:I.PREVENT_OVERLAP.value,validator:I.PREVENT_OVERLAP.validator,supercedes:I.PREVENT_OVERLAP.supercedes});this.cfg.addProperty(I.SHOW_DELAY.key,{handler:this.configShowDelay,value:200,validator:I.SHOW_DELAY.validator});this.cfg.addProperty(I.AUTO_DISMISS_DELAY.key,{handler:this.configAutoDismissDelay,value:I.AUTO_DISMISS_DELAY.value,validator:I.AUTO_DISMISS_DELAY.validator});this.cfg.addProperty(I.HIDE_DELAY.key,{handler:this.configHideDelay,value:I.HIDE_DELAY.value,validator:I.HIDE_DELAY.validator});this.cfg.addProperty(I.TEXT.key,{handler:this.configText,suppressEvent:I.TEXT.suppressEvent});this.cfg.addProperty(I.CONTAINER.key,{handler:this.configContainer,value:document.body});this.cfg.addProperty(I.DISABLED.key,{handler:this.configContainer,value:I.DISABLED.value,supressEvent:I.DISABLED.suppressEvent});this.cfg.addProperty(I.XY_OFFSET.key,{value:I.XY_OFFSET.value.concat(),supressEvent:I.XY_OFFSET.suppressEvent});},configText:function(P,O,Q){var R=O[0];if(R){this.setBody(R);}},configContainer:function(Q,P,R){var O=P[0];if(typeof O=="string"){this.cfg.setProperty("container",document.getElementById(O),true);}},_removeEventListeners:function(){var R=this._context,O,Q,P;if(R){O=R.length;if(O>0){P=O-1;do{Q=R[P];N.removeListener(Q,"mouseover",this.onContextMouseOver);N.removeListener(Q,"mousemove",this.onContextMouseMove);N.removeListener(Q,"mouseout",this.onContextMouseOut);}while(P--);}}},configContext:function(T,P,U){var S=P[0],V,O,R,Q;if(S){if(!(S instanceof Array)){if(typeof S=="string"){this.cfg.setProperty("context",[document.getElementById(S)],true);}else{this.cfg.setProperty("context",[S],true);}S=this.cfg.getProperty("context");}this._removeEventListeners();this._context=S;V=this._context;if(V){O=V.length;if(O>0){Q=O-1;do{R=V[Q];N.on(R,"mouseover",this.onContextMouseOver,this);N.on(R,"mousemove",this.onContextMouseMove,this);N.on(R,"mouseout",this.onContextMouseOut,this);}while(Q--);}}}},onContextMouseMove:function(P,O){O.pageX=N.getPageX(P);O.pageY=N.getPageY(P);},onContextMouseOver:function(Q,P){var O=this;if(O.title){P._tempTitle=O.title;O.title="";}if(P.fireEvent("contextMouseOver",O,Q)!==false&&!P.cfg.getProperty("disabled")){if(P.hideProcId){clearTimeout(P.hideProcId); +P.hideProcId=null;}N.on(O,"mousemove",P.onContextMouseMove,P);P.showProcId=P.doShow(Q,O);}},onContextMouseOut:function(Q,P){var O=this;if(P._tempTitle){O.title=P._tempTitle;P._tempTitle=null;}if(P.showProcId){clearTimeout(P.showProcId);P.showProcId=null;}if(P.hideProcId){clearTimeout(P.hideProcId);P.hideProcId=null;}P.fireEvent("contextMouseOut",O,Q);P.hideProcId=setTimeout(function(){P.hide();},P.cfg.getProperty("hidedelay"));},doShow:function(R,O){var T=this.cfg.getProperty("xyoffset"),P=T[0],S=T[1],Q=this;if(H.opera&&O.tagName&&O.tagName.toUpperCase()=="A"){S+=12;}return setTimeout(function(){var U=Q.cfg.getProperty("text");if(Q._tempTitle&&(U===""||YAHOO.lang.isUndefined(U)||YAHOO.lang.isNull(U))){Q.setBody(Q._tempTitle);}else{Q.cfg.refireEvent("text");}Q.moveTo(Q.pageX+P,Q.pageY+S);if(Q.cfg.getProperty("preventoverlap")){Q.preventOverlap(Q.pageX,Q.pageY);}N.removeListener(O,"mousemove",Q.onContextMouseMove);Q.contextTriggerEvent.fire(O);Q.show();Q.hideProcId=Q.doHide();},this.cfg.getProperty("showdelay"));},doHide:function(){var O=this;return setTimeout(function(){O.hide();},this.cfg.getProperty("autodismissdelay"));},preventOverlap:function(S,R){var O=this.element.offsetHeight,Q=new YAHOO.util.Point(S,R),P=C.getRegion(this.element);P.top-=5;P.left-=5;P.right+=5;P.bottom+=5;if(P.contains(Q)){this.cfg.setProperty("y",(R-O-5));}},onRender:function(S,R){function T(){var W=this.element,V=this.underlay;if(V){V.style.width=(W.offsetWidth+6)+"px";V.style.height=(W.offsetHeight+1)+"px";}}function P(){C.addClass(this.underlay,"yui-tt-shadow-visible");if(H.ie){this.forceUnderlayRedraw();}}function O(){C.removeClass(this.underlay,"yui-tt-shadow-visible");}function U(){var X=this.underlay,W,V,Z,Y;if(!X){W=this.element;V=YAHOO.widget.Module;Z=H.ie;Y=this;if(!F){F=document.createElement("div");F.className="yui-tt-shadow";}X=F.cloneNode(false);W.appendChild(X);this.underlay=X;this._shadow=this.underlay;P.call(this);this.subscribe("beforeShow",P);this.subscribe("hide",O);if(G){window.setTimeout(function(){T.call(Y);},0);this.cfg.subscribeToConfigEvent("width",T);this.cfg.subscribeToConfigEvent("height",T);this.subscribe("changeContent",T);V.textResizeEvent.subscribe(T,this,true);this.subscribe("destroy",function(){V.textResizeEvent.unsubscribe(T,this);});}}}function Q(){U.call(this);this.unsubscribe("beforeShow",Q);}if(this.cfg.getProperty("visible")){U.call(this);}else{this.subscribe("beforeShow",Q);}},forceUnderlayRedraw:function(){var O=this;C.addClass(O.underlay,"yui-force-redraw");setTimeout(function(){C.removeClass(O.underlay,"yui-force-redraw");},0);},destroy:function(){this._removeEventListeners();J.superclass.destroy.call(this);},toString:function(){return"Tooltip "+this.id;}});}());(function(){YAHOO.widget.Panel=function(V,U){YAHOO.widget.Panel.superclass.constructor.call(this,V,U);};var S=null;var E=YAHOO.lang,F=YAHOO.util,A=F.Dom,T=F.Event,M=F.CustomEvent,K=YAHOO.util.KeyListener,I=F.Config,H=YAHOO.widget.Overlay,O=YAHOO.widget.Panel,L=YAHOO.env.ua,P=(L.ie&&(L.ie<=6||document.compatMode=="BackCompat")),G,Q,C,D={"SHOW_MASK":"showMask","HIDE_MASK":"hideMask","DRAG":"drag"},N={"CLOSE":{key:"close",value:true,validator:E.isBoolean,supercedes:["visible"]},"DRAGGABLE":{key:"draggable",value:(F.DD?true:false),validator:E.isBoolean,supercedes:["visible"]},"DRAG_ONLY":{key:"dragonly",value:false,validator:E.isBoolean,supercedes:["draggable"]},"UNDERLAY":{key:"underlay",value:"shadow",supercedes:["visible"]},"MODAL":{key:"modal",value:false,validator:E.isBoolean,supercedes:["visible","zindex"]},"KEY_LISTENERS":{key:"keylisteners",suppressEvent:true,supercedes:["visible"]},"STRINGS":{key:"strings",supercedes:["close"],validator:E.isObject,value:{close:"Close"}}};O.CSS_PANEL="yui-panel";O.CSS_PANEL_CONTAINER="yui-panel-container";O.FOCUSABLE=["a","button","select","textarea","input","iframe"];function J(V,U){if(!this.header&&this.cfg.getProperty("draggable")){this.setHeader(" ");}}function R(V,U,W){var Z=W[0],X=W[1],Y=this.cfg,a=Y.getProperty("width");if(a==X){Y.setProperty("width",Z);}this.unsubscribe("hide",R,W);}function B(V,U){var Y,X,W;if(P){Y=this.cfg;X=Y.getProperty("width");if(!X||X=="auto"){W=(this.element.offsetWidth+"px");Y.setProperty("width",W);this.subscribe("hide",R,[(X||""),W]);}}}YAHOO.extend(O,H,{init:function(V,U){O.superclass.init.call(this,V);this.beforeInitEvent.fire(O);A.addClass(this.element,O.CSS_PANEL);this.buildWrapper();if(U){this.cfg.applyConfig(U,true);}this.subscribe("showMask",this._addFocusHandlers);this.subscribe("hideMask",this._removeFocusHandlers);this.subscribe("beforeRender",J);this.subscribe("render",function(){this.setFirstLastFocusable();this.subscribe("changeContent",this.setFirstLastFocusable);});this.subscribe("show",this.focusFirst);this.initEvent.fire(O);},_onElementFocus:function(Z){if(S===this){var Y=T.getTarget(Z),X=document.documentElement,V=(Y!==X&&Y!==window);if(V&&Y!==this.element&&Y!==this.mask&&!A.isAncestor(this.element,Y)){try{if(this.firstElement){this.firstElement.focus();}else{if(this._modalFocus){this._modalFocus.focus();}else{this.innerElement.focus();}}}catch(W){try{if(V&&Y!==document.body){Y.blur();}}catch(U){}}}}},_addFocusHandlers:function(V,U){if(!this.firstElement){if(L.webkit||L.opera){if(!this._modalFocus){this._createHiddenFocusElement();}}else{this.innerElement.tabIndex=0;}}this.setTabLoop(this.firstElement,this.lastElement);T.onFocus(document.documentElement,this._onElementFocus,this,true);S=this;},_createHiddenFocusElement:function(){var U=document.createElement("button");U.style.height="1px";U.style.width="1px";U.style.position="absolute";U.style.left="-10000em";U.style.opacity=0;U.tabIndex=-1;this.innerElement.appendChild(U);this._modalFocus=U;},_removeFocusHandlers:function(V,U){T.removeFocusListener(document.documentElement,this._onElementFocus,this);if(S==this){S=null;}},focusFirst:function(W,U,Y){var V=this.firstElement;if(U&&U[1]){T.stopEvent(U[1]);}if(V){try{V.focus();}catch(X){}}},focusLast:function(W,U,Y){var V=this.lastElement; +if(U&&U[1]){T.stopEvent(U[1]);}if(V){try{V.focus();}catch(X){}}},setTabLoop:function(X,Z){var V=this.preventBackTab,W=this.preventTabOut,U=this.showEvent,Y=this.hideEvent;if(V){V.disable();U.unsubscribe(V.enable,V);Y.unsubscribe(V.disable,V);V=this.preventBackTab=null;}if(W){W.disable();U.unsubscribe(W.enable,W);Y.unsubscribe(W.disable,W);W=this.preventTabOut=null;}if(X){this.preventBackTab=new K(X,{shift:true,keys:9},{fn:this.focusLast,scope:this,correctScope:true});V=this.preventBackTab;U.subscribe(V.enable,V,true);Y.subscribe(V.disable,V,true);}if(Z){this.preventTabOut=new K(Z,{shift:false,keys:9},{fn:this.focusFirst,scope:this,correctScope:true});W=this.preventTabOut;U.subscribe(W.enable,W,true);Y.subscribe(W.disable,W,true);}},getFocusableElements:function(U){U=U||this.innerElement;var X={};for(var W=0;W<O.FOCUSABLE.length;W++){X[O.FOCUSABLE[W]]=true;}function V(Y){if(Y.focus&&Y.type!=="hidden"&&!Y.disabled&&X[Y.tagName.toLowerCase()]){return true;}return false;}return A.getElementsBy(V,null,U);},setFirstLastFocusable:function(){this.firstElement=null;this.lastElement=null;var U=this.getFocusableElements();this.focusableElements=U;if(U.length>0){this.firstElement=U[0];this.lastElement=U[U.length-1];}if(this.cfg.getProperty("modal")){this.setTabLoop(this.firstElement,this.lastElement);}},initEvents:function(){O.superclass.initEvents.call(this);var U=M.LIST;this.showMaskEvent=this.createEvent(D.SHOW_MASK);this.showMaskEvent.signature=U;this.hideMaskEvent=this.createEvent(D.HIDE_MASK);this.hideMaskEvent.signature=U;this.dragEvent=this.createEvent(D.DRAG);this.dragEvent.signature=U;},initDefaultConfig:function(){O.superclass.initDefaultConfig.call(this);this.cfg.addProperty(N.CLOSE.key,{handler:this.configClose,value:N.CLOSE.value,validator:N.CLOSE.validator,supercedes:N.CLOSE.supercedes});this.cfg.addProperty(N.DRAGGABLE.key,{handler:this.configDraggable,value:(F.DD)?true:false,validator:N.DRAGGABLE.validator,supercedes:N.DRAGGABLE.supercedes});this.cfg.addProperty(N.DRAG_ONLY.key,{value:N.DRAG_ONLY.value,validator:N.DRAG_ONLY.validator,supercedes:N.DRAG_ONLY.supercedes});this.cfg.addProperty(N.UNDERLAY.key,{handler:this.configUnderlay,value:N.UNDERLAY.value,supercedes:N.UNDERLAY.supercedes});this.cfg.addProperty(N.MODAL.key,{handler:this.configModal,value:N.MODAL.value,validator:N.MODAL.validator,supercedes:N.MODAL.supercedes});this.cfg.addProperty(N.KEY_LISTENERS.key,{handler:this.configKeyListeners,suppressEvent:N.KEY_LISTENERS.suppressEvent,supercedes:N.KEY_LISTENERS.supercedes});this.cfg.addProperty(N.STRINGS.key,{value:N.STRINGS.value,handler:this.configStrings,validator:N.STRINGS.validator,supercedes:N.STRINGS.supercedes});},configClose:function(X,V,Y){var Z=V[0],W=this.close,U=this.cfg.getProperty("strings");if(Z){if(!W){if(!C){C=document.createElement("a");C.className="container-close";C.href="#";}W=C.cloneNode(true);this.innerElement.appendChild(W);W.innerHTML=(U&&U.close)?U.close:" ";T.on(W,"click",this._doClose,this,true);this.close=W;}else{W.style.display="block";}}else{if(W){W.style.display="none";}}},_doClose:function(U){T.preventDefault(U);this.hide();},configDraggable:function(V,U,W){var X=U[0];if(X){if(!F.DD){this.cfg.setProperty("draggable",false);return;}if(this.header){A.setStyle(this.header,"cursor","move");this.registerDragDrop();}this.subscribe("beforeShow",B);}else{if(this.dd){this.dd.unreg();}if(this.header){A.setStyle(this.header,"cursor","auto");}this.unsubscribe("beforeShow",B);}},configUnderlay:function(d,c,Z){var b=(this.platform=="mac"&&L.gecko),e=c[0].toLowerCase(),V=this.underlay,W=this.element;function X(){var f=false;if(!V){if(!Q){Q=document.createElement("div");Q.className="underlay";}V=Q.cloneNode(false);this.element.appendChild(V);this.underlay=V;if(P){this.sizeUnderlay();this.cfg.subscribeToConfigEvent("width",this.sizeUnderlay);this.cfg.subscribeToConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.subscribe(this.sizeUnderlay);YAHOO.widget.Module.textResizeEvent.subscribe(this.sizeUnderlay,this,true);}if(L.webkit&&L.webkit<420){this.changeContentEvent.subscribe(this.forceUnderlayRedraw);}f=true;}}function a(){var f=X.call(this);if(!f&&P){this.sizeUnderlay();}this._underlayDeferred=false;this.beforeShowEvent.unsubscribe(a);}function Y(){if(this._underlayDeferred){this.beforeShowEvent.unsubscribe(a);this._underlayDeferred=false;}if(V){this.cfg.unsubscribeFromConfigEvent("width",this.sizeUnderlay);this.cfg.unsubscribeFromConfigEvent("height",this.sizeUnderlay);this.changeContentEvent.unsubscribe(this.sizeUnderlay);this.changeContentEvent.unsubscribe(this.forceUnderlayRedraw);YAHOO.widget.Module.textResizeEvent.unsubscribe(this.sizeUnderlay,this,true);this.element.removeChild(V);this.underlay=null;}}switch(e){case"shadow":A.removeClass(W,"matte");A.addClass(W,"shadow");break;case"matte":if(!b){Y.call(this);}A.removeClass(W,"shadow");A.addClass(W,"matte");break;default:if(!b){Y.call(this);}A.removeClass(W,"shadow");A.removeClass(W,"matte");break;}if((e=="shadow")||(b&&!V)){if(this.cfg.getProperty("visible")){var U=X.call(this);if(!U&&P){this.sizeUnderlay();}}else{if(!this._underlayDeferred){this.beforeShowEvent.subscribe(a);this._underlayDeferred=true;}}}},configModal:function(V,U,X){var W=U[0];if(W){if(!this._hasModalityEventListeners){this.subscribe("beforeShow",this.buildMask);this.subscribe("beforeShow",this.bringToTop);this.subscribe("beforeShow",this.showMask);this.subscribe("hide",this.hideMask);H.windowResizeEvent.subscribe(this.sizeMask,this,true);this._hasModalityEventListeners=true;}}else{if(this._hasModalityEventListeners){if(this.cfg.getProperty("visible")){this.hideMask();this.removeMask();}this.unsubscribe("beforeShow",this.buildMask);this.unsubscribe("beforeShow",this.bringToTop);this.unsubscribe("beforeShow",this.showMask);this.unsubscribe("hide",this.hideMask);H.windowResizeEvent.unsubscribe(this.sizeMask,this);this._hasModalityEventListeners=false;}}},removeMask:function(){var V=this.mask,U;if(V){this.hideMask();U=V.parentNode; +if(U){U.removeChild(V);}this.mask=null;}},configKeyListeners:function(X,U,a){var W=U[0],Z,Y,V;if(W){if(W instanceof Array){Y=W.length;for(V=0;V<Y;V++){Z=W[V];if(!I.alreadySubscribed(this.showEvent,Z.enable,Z)){this.showEvent.subscribe(Z.enable,Z,true);}if(!I.alreadySubscribed(this.hideEvent,Z.disable,Z)){this.hideEvent.subscribe(Z.disable,Z,true);this.destroyEvent.subscribe(Z.disable,Z,true);}}}else{if(!I.alreadySubscribed(this.showEvent,W.enable,W)){this.showEvent.subscribe(W.enable,W,true);}if(!I.alreadySubscribed(this.hideEvent,W.disable,W)){this.hideEvent.subscribe(W.disable,W,true);this.destroyEvent.subscribe(W.disable,W,true);}}}},configStrings:function(V,U,W){var X=E.merge(N.STRINGS.value,U[0]);this.cfg.setProperty(N.STRINGS.key,X,true);},configHeight:function(X,V,Y){var U=V[0],W=this.innerElement;A.setStyle(W,"height",U);this.cfg.refireEvent("iframe");},_autoFillOnHeightChange:function(X,V,W){O.superclass._autoFillOnHeightChange.apply(this,arguments);if(P){var U=this;setTimeout(function(){U.sizeUnderlay();},0);}},configWidth:function(X,U,Y){var W=U[0],V=this.innerElement;A.setStyle(V,"width",W);this.cfg.refireEvent("iframe");},configzIndex:function(V,U,X){O.superclass.configzIndex.call(this,V,U,X);if(this.mask||this.cfg.getProperty("modal")===true){var W=A.getStyle(this.element,"zIndex");if(!W||isNaN(W)){W=0;}if(W===0){this.cfg.setProperty("zIndex",1);}else{this.stackMask();}}},buildWrapper:function(){var W=this.element.parentNode,U=this.element,V=document.createElement("div");V.className=O.CSS_PANEL_CONTAINER;V.id=U.id+"_c";if(W){W.insertBefore(V,U);}V.appendChild(U);this.element=V;this.innerElement=U;A.setStyle(this.innerElement,"visibility","inherit");},sizeUnderlay:function(){var V=this.underlay,U;if(V){U=this.element;V.style.width=U.offsetWidth+"px";V.style.height=U.offsetHeight+"px";}},registerDragDrop:function(){var V=this;if(this.header){if(!F.DD){return;}var U=(this.cfg.getProperty("dragonly")===true);this.dd=new F.DD(this.element.id,this.id,{dragOnly:U});if(!this.header.id){this.header.id=this.id+"_h";}this.dd.startDrag=function(){var X,Z,W,c,b,a;if(YAHOO.env.ua.ie==6){A.addClass(V.element,"drag");}if(V.cfg.getProperty("constraintoviewport")){var Y=H.VIEWPORT_OFFSET;X=V.element.offsetHeight;Z=V.element.offsetWidth;W=A.getViewportWidth();c=A.getViewportHeight();b=A.getDocumentScrollLeft();a=A.getDocumentScrollTop();if(X+Y<c){this.minY=a+Y;this.maxY=a+c-X-Y;}else{this.minY=a+Y;this.maxY=a+Y;}if(Z+Y<W){this.minX=b+Y;this.maxX=b+W-Z-Y;}else{this.minX=b+Y;this.maxX=b+Y;}this.constrainX=true;this.constrainY=true;}else{this.constrainX=false;this.constrainY=false;}V.dragEvent.fire("startDrag",arguments);};this.dd.onDrag=function(){V.syncPosition();V.cfg.refireEvent("iframe");if(this.platform=="mac"&&YAHOO.env.ua.gecko){this.showMacGeckoScrollbars();}V.dragEvent.fire("onDrag",arguments);};this.dd.endDrag=function(){if(YAHOO.env.ua.ie==6){A.removeClass(V.element,"drag");}V.dragEvent.fire("endDrag",arguments);V.moveEvent.fire(V.cfg.getProperty("xy"));};this.dd.setHandleElId(this.header.id);this.dd.addInvalidHandleType("INPUT");this.dd.addInvalidHandleType("SELECT");this.dd.addInvalidHandleType("TEXTAREA");}},buildMask:function(){var U=this.mask;if(!U){if(!G){G=document.createElement("div");G.className="mask";G.innerHTML=" ";}U=G.cloneNode(true);U.id=this.id+"_mask";document.body.insertBefore(U,document.body.firstChild);this.mask=U;if(YAHOO.env.ua.gecko&&this.platform=="mac"){A.addClass(this.mask,"block-scrollbars");}this.stackMask();}},hideMask:function(){if(this.cfg.getProperty("modal")&&this.mask){this.mask.style.display="none";A.removeClass(document.body,"masked");this.hideMaskEvent.fire();}},showMask:function(){if(this.cfg.getProperty("modal")&&this.mask){A.addClass(document.body,"masked");this.sizeMask();this.mask.style.display="block";this.showMaskEvent.fire();}},sizeMask:function(){if(this.mask){var V=this.mask,W=A.getViewportWidth(),U=A.getViewportHeight();if(V.offsetHeight>U){V.style.height=U+"px";}if(V.offsetWidth>W){V.style.width=W+"px";}V.style.height=A.getDocumentHeight()+"px";V.style.width=A.getDocumentWidth()+"px";}},stackMask:function(){if(this.mask){var U=A.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(U)&&!isNaN(U)){A.setStyle(this.mask,"zIndex",U-1);}}},render:function(U){return O.superclass.render.call(this,U,this.innerElement);},_renderHeader:function(U){U=U||this.innerElement;O.superclass._renderHeader.call(this,U);},_renderBody:function(U){U=U||this.innerElement;O.superclass._renderBody.call(this,U);},_renderFooter:function(U){U=U||this.innerElement;O.superclass._renderFooter.call(this,U);},destroy:function(){H.windowResizeEvent.unsubscribe(this.sizeMask,this);this.removeMask();if(this.close){T.purgeElement(this.close);}O.superclass.destroy.call(this);},forceUnderlayRedraw:function(){var U=this.underlay;A.addClass(U,"yui-force-redraw");setTimeout(function(){A.removeClass(U,"yui-force-redraw");},0);},toString:function(){return"Panel "+this.id;}});}());(function(){YAHOO.widget.Dialog=function(J,I){YAHOO.widget.Dialog.superclass.constructor.call(this,J,I);};var B=YAHOO.util.Event,G=YAHOO.util.CustomEvent,E=YAHOO.util.Dom,A=YAHOO.widget.Dialog,F=YAHOO.lang,H={"BEFORE_SUBMIT":"beforeSubmit","SUBMIT":"submit","MANUAL_SUBMIT":"manualSubmit","ASYNC_SUBMIT":"asyncSubmit","FORM_SUBMIT":"formSubmit","CANCEL":"cancel"},C={"POST_METHOD":{key:"postmethod",value:"async"},"POST_DATA":{key:"postdata",value:null},"BUTTONS":{key:"buttons",value:"none",supercedes:["visible"]},"HIDEAFTERSUBMIT":{key:"hideaftersubmit",value:true}};A.CSS_DIALOG="yui-dialog";function D(){var L=this._aButtons,J,K,I;if(F.isArray(L)){J=L.length;if(J>0){I=J-1;do{K=L[I];if(YAHOO.widget.Button&&K instanceof YAHOO.widget.Button){K.destroy();}else{if(K.tagName.toUpperCase()=="BUTTON"){B.purgeElement(K);B.purgeElement(K,false);}}}while(I--);}}}YAHOO.extend(A,YAHOO.widget.Panel,{form:null,initDefaultConfig:function(){A.superclass.initDefaultConfig.call(this);this.callback={success:null,failure:null,argument:null}; +this.cfg.addProperty(C.POST_METHOD.key,{handler:this.configPostMethod,value:C.POST_METHOD.value,validator:function(I){if(I!="form"&&I!="async"&&I!="none"&&I!="manual"){return false;}else{return true;}}});this.cfg.addProperty(C.POST_DATA.key,{value:C.POST_DATA.value});this.cfg.addProperty(C.HIDEAFTERSUBMIT.key,{value:C.HIDEAFTERSUBMIT.value});this.cfg.addProperty(C.BUTTONS.key,{handler:this.configButtons,value:C.BUTTONS.value,supercedes:C.BUTTONS.supercedes});},initEvents:function(){A.superclass.initEvents.call(this);var I=G.LIST;this.beforeSubmitEvent=this.createEvent(H.BEFORE_SUBMIT);this.beforeSubmitEvent.signature=I;this.submitEvent=this.createEvent(H.SUBMIT);this.submitEvent.signature=I;this.manualSubmitEvent=this.createEvent(H.MANUAL_SUBMIT);this.manualSubmitEvent.signature=I;this.asyncSubmitEvent=this.createEvent(H.ASYNC_SUBMIT);this.asyncSubmitEvent.signature=I;this.formSubmitEvent=this.createEvent(H.FORM_SUBMIT);this.formSubmitEvent.signature=I;this.cancelEvent=this.createEvent(H.CANCEL);this.cancelEvent.signature=I;},init:function(J,I){A.superclass.init.call(this,J);this.beforeInitEvent.fire(A);E.addClass(this.element,A.CSS_DIALOG);this.cfg.setProperty("visible",false);if(I){this.cfg.applyConfig(I,true);}this.showEvent.subscribe(this.focusFirst,this,true);this.beforeHideEvent.subscribe(this.blurButtons,this,true);this.subscribe("changeBody",this.registerForm);this.initEvent.fire(A);},doSubmit:function(){var P=YAHOO.util.Connect,Q=this.form,K=false,N=false,R,M,L,I;switch(this.cfg.getProperty("postmethod")){case"async":R=Q.elements;M=R.length;if(M>0){L=M-1;do{if(R[L].type=="file"){K=true;break;}}while(L--);}if(K&&YAHOO.env.ua.ie&&this.isSecure){N=true;}I=this._getFormAttributes(Q);P.setForm(Q,K,N);var J=this.cfg.getProperty("postdata");var O=P.asyncRequest(I.method,I.action,this.callback,J);this.asyncSubmitEvent.fire(O);break;case"form":Q.submit();this.formSubmitEvent.fire();break;case"none":case"manual":this.manualSubmitEvent.fire();break;}},_getFormAttributes:function(K){var I={method:null,action:null};if(K){if(K.getAttributeNode){var J=K.getAttributeNode("action");var L=K.getAttributeNode("method");if(J){I.action=J.value;}if(L){I.method=L.value;}}else{I.action=K.getAttribute("action");I.method=K.getAttribute("method");}}I.method=(F.isString(I.method)?I.method:"POST").toUpperCase();I.action=F.isString(I.action)?I.action:"";return I;},registerForm:function(){var I=this.element.getElementsByTagName("form")[0];if(this.form){if(this.form==I&&E.isAncestor(this.element,this.form)){return;}else{B.purgeElement(this.form);this.form=null;}}if(!I){I=document.createElement("form");I.name="frm_"+this.id;this.body.appendChild(I);}if(I){this.form=I;B.on(I,"submit",this._submitHandler,this,true);}},_submitHandler:function(I){B.stopEvent(I);this.submit();this.form.blur();},setTabLoop:function(I,J){I=I||this.firstButton;J=this.lastButton||J;A.superclass.setTabLoop.call(this,I,J);},setFirstLastFocusable:function(){A.superclass.setFirstLastFocusable.call(this);var J,I,K,L=this.focusableElements;this.firstFormElement=null;this.lastFormElement=null;if(this.form&&L&&L.length>0){I=L.length;for(J=0;J<I;++J){K=L[J];if(this.form===K.form){this.firstFormElement=K;break;}}for(J=I-1;J>=0;--J){K=L[J];if(this.form===K.form){this.lastFormElement=K;break;}}}},configClose:function(J,I,K){A.superclass.configClose.apply(this,arguments);},_doClose:function(I){B.preventDefault(I);this.cancel();},configButtons:function(S,R,M){var N=YAHOO.widget.Button,U=R[0],K=this.innerElement,T,P,J,Q,O,I,L;D.call(this);this._aButtons=null;if(F.isArray(U)){O=document.createElement("span");O.className="button-group";Q=U.length;this._aButtons=[];this.defaultHtmlButton=null;for(L=0;L<Q;L++){T=U[L];if(N){J=new N({label:T.text});J.appendTo(O);P=J.get("element");if(T.isDefault){J.addClass("default");this.defaultHtmlButton=P;}if(F.isFunction(T.handler)){J.set("onclick",{fn:T.handler,obj:this,scope:this});}else{if(F.isObject(T.handler)&&F.isFunction(T.handler.fn)){J.set("onclick",{fn:T.handler.fn,obj:((!F.isUndefined(T.handler.obj))?T.handler.obj:this),scope:(T.handler.scope||this)});}}this._aButtons[this._aButtons.length]=J;}else{P=document.createElement("button");P.setAttribute("type","button");if(T.isDefault){P.className="default";this.defaultHtmlButton=P;}P.innerHTML=T.text;if(F.isFunction(T.handler)){B.on(P,"click",T.handler,this,true);}else{if(F.isObject(T.handler)&&F.isFunction(T.handler.fn)){B.on(P,"click",T.handler.fn,((!F.isUndefined(T.handler.obj))?T.handler.obj:this),(T.handler.scope||this));}}O.appendChild(P);this._aButtons[this._aButtons.length]=P;}T.htmlButton=P;if(L===0){this.firstButton=P;}if(L==(Q-1)){this.lastButton=P;}}this.setFooter(O);I=this.footer;if(E.inDocument(this.element)&&!E.isAncestor(K,I)){K.appendChild(I);}this.buttonSpan=O;}else{O=this.buttonSpan;I=this.footer;if(O&&I){I.removeChild(O);this.buttonSpan=null;this.firstButton=null;this.lastButton=null;this.defaultHtmlButton=null;}}this.changeContentEvent.fire();},getButtons:function(){return this._aButtons||null;},focusFirst:function(K,I,M){var J=this.firstFormElement;if(I&&I[1]){B.stopEvent(I[1]);}if(J){try{J.focus();}catch(L){}}else{if(this.defaultHtmlButton){this.focusDefaultButton();}else{this.focusFirstButton();}}},focusLast:function(K,I,M){var N=this.cfg.getProperty("buttons"),J=this.lastFormElement;if(I&&I[1]){B.stopEvent(I[1]);}if(N&&F.isArray(N)){this.focusLastButton();}else{if(J){try{J.focus();}catch(L){}}}},_getButton:function(J){var I=YAHOO.widget.Button;if(I&&J&&J.nodeName&&J.id){J=I.getButton(J.id)||J;}return J;},focusDefaultButton:function(){var I=this._getButton(this.defaultHtmlButton);if(I){try{I.focus();}catch(J){}}},blurButtons:function(){var N=this.cfg.getProperty("buttons"),K,M,J,I;if(N&&F.isArray(N)){K=N.length;if(K>0){I=(K-1);do{M=N[I];if(M){J=this._getButton(M.htmlButton);if(J){try{J.blur();}catch(L){}}}}while(I--);}}},focusFirstButton:function(){var L=this.cfg.getProperty("buttons"),K,I;if(L&&F.isArray(L)){K=L[0];if(K){I=this._getButton(K.htmlButton); +if(I){try{I.focus();}catch(J){}}}}},focusLastButton:function(){var M=this.cfg.getProperty("buttons"),J,L,I;if(M&&F.isArray(M)){J=M.length;if(J>0){L=M[(J-1)];if(L){I=this._getButton(L.htmlButton);if(I){try{I.focus();}catch(K){}}}}}},configPostMethod:function(J,I,K){this.registerForm();},validate:function(){return true;},submit:function(){if(this.validate()){if(this.beforeSubmitEvent.fire()){this.doSubmit();this.submitEvent.fire();if(this.cfg.getProperty("hideaftersubmit")){this.hide();}return true;}else{return false;}}else{return false;}},cancel:function(){this.cancelEvent.fire();this.hide();},getData:function(){var Y=this.form,J,R,U,L,S,P,O,I,V,K,W,Z,N,a,M,X,T;function Q(c){var b=c.tagName.toUpperCase();return((b=="INPUT"||b=="TEXTAREA"||b=="SELECT")&&c.name==L);}if(Y){J=Y.elements;R=J.length;U={};for(X=0;X<R;X++){L=J[X].name;S=E.getElementsBy(Q,"*",Y);P=S.length;if(P>0){if(P==1){S=S[0];O=S.type;I=S.tagName.toUpperCase();switch(I){case"INPUT":if(O=="checkbox"){U[L]=S.checked;}else{if(O!="radio"){U[L]=S.value;}}break;case"TEXTAREA":U[L]=S.value;break;case"SELECT":V=S.options;K=V.length;W=[];for(T=0;T<K;T++){Z=V[T];if(Z.selected){M=Z.attributes.value;W[W.length]=(M&&M.specified)?Z.value:Z.text;}}U[L]=W;break;}}else{O=S[0].type;switch(O){case"radio":for(T=0;T<P;T++){N=S[T];if(N.checked){U[L]=N.value;break;}}break;case"checkbox":W=[];for(T=0;T<P;T++){a=S[T];if(a.checked){W[W.length]=a.value;}}U[L]=W;break;}}}}}return U;},destroy:function(){D.call(this);this._aButtons=null;var I=this.element.getElementsByTagName("form"),J;if(I.length>0){J=I[0];if(J){B.purgeElement(J);if(J.parentNode){J.parentNode.removeChild(J);}this.form=null;}}A.superclass.destroy.call(this);},toString:function(){return"Dialog "+this.id;}});}());(function(){YAHOO.widget.SimpleDialog=function(E,D){YAHOO.widget.SimpleDialog.superclass.constructor.call(this,E,D);};var C=YAHOO.util.Dom,B=YAHOO.widget.SimpleDialog,A={"ICON":{key:"icon",value:"none",suppressEvent:true},"TEXT":{key:"text",value:"",suppressEvent:true,supercedes:["icon"]}};B.ICON_BLOCK="blckicon";B.ICON_ALARM="alrticon";B.ICON_HELP="hlpicon";B.ICON_INFO="infoicon";B.ICON_WARN="warnicon";B.ICON_TIP="tipicon";B.ICON_CSS_CLASSNAME="yui-icon";B.CSS_SIMPLEDIALOG="yui-simple-dialog";YAHOO.extend(B,YAHOO.widget.Dialog,{initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);this.cfg.addProperty(A.ICON.key,{handler:this.configIcon,value:A.ICON.value,suppressEvent:A.ICON.suppressEvent});this.cfg.addProperty(A.TEXT.key,{handler:this.configText,value:A.TEXT.value,suppressEvent:A.TEXT.suppressEvent,supercedes:A.TEXT.supercedes});},init:function(E,D){B.superclass.init.call(this,E);this.beforeInitEvent.fire(B);C.addClass(this.element,B.CSS_SIMPLEDIALOG);this.cfg.queueProperty("postmethod","manual");if(D){this.cfg.applyConfig(D,true);}this.beforeRenderEvent.subscribe(function(){if(!this.body){this.setBody("");}},this,true);this.initEvent.fire(B);},registerForm:function(){B.superclass.registerForm.call(this);this.form.innerHTML+='<input type="hidden" name="'+this.id+'" value=""/>';},configIcon:function(K,J,H){var D=J[0],E=this.body,F=B.ICON_CSS_CLASSNAME,L,I,G;if(D&&D!="none"){L=C.getElementsByClassName(F,"*",E);if(L.length===1){I=L[0];G=I.parentNode;if(G){G.removeChild(I);I=null;}}if(D.indexOf(".")==-1){I=document.createElement("span");I.className=(F+" "+D);I.innerHTML=" ";}else{I=document.createElement("img");I.src=(this.imageRoot+D);I.className=F;}if(I){E.insertBefore(I,E.firstChild);}}},configText:function(E,D,F){var G=D[0];if(G){this.setBody(G);this.cfg.refireEvent("icon");}},toString:function(){return"SimpleDialog "+this.id;}});}());(function(){YAHOO.widget.ContainerEffect=function(E,H,G,D,F){if(!F){F=YAHOO.util.Anim;}this.overlay=E;this.attrIn=H;this.attrOut=G;this.targetElement=D||E.element;this.animClass=F;};var B=YAHOO.util.Dom,C=YAHOO.util.CustomEvent,A=YAHOO.widget.ContainerEffect;A.FADE=function(D,F){var G=YAHOO.util.Easing,I={attributes:{opacity:{from:0,to:1}},duration:F,method:G.easeIn},E={attributes:{opacity:{to:0}},duration:F,method:G.easeOut},H=new A(D,I,E,D.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(D.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(D.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();L.overlay._setDomVisibility(true);B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.overlay._setDomVisibility(false);B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(F,D){var I=YAHOO.util.Easing,L=F.cfg.getProperty("x")||B.getX(F.element),K=F.cfg.getProperty("y")||B.getY(F.element),M=B.getClientWidth(),H=F.element.offsetWidth,J={attributes:{points:{to:[L,K]}},duration:D,method:I.easeIn},E={attributes:{points:{to:[(M+25),K]}},duration:D,method:I.easeOut},G=new A(F,J,E,F.element,YAHOO.util.Motion);G.handleStartAnimateIn=function(O,N,P){P.overlay.element.style.left=((-25)-H)+"px";P.overlay.element.style.top=K+"px";};G.handleTweenAnimateIn=function(Q,P,R){var S=B.getXY(R.overlay.element),O=S[0],N=S[1];if(B.getStyle(R.overlay.element,"visibility")=="hidden"&&O<L){R.overlay._setDomVisibility(true); +}R.overlay.cfg.setProperty("xy",[O,N],true);R.overlay.cfg.refireEvent("iframe");};G.handleCompleteAnimateIn=function(O,N,P){P.overlay.cfg.setProperty("xy",[L,K],true);P.startX=L;P.startY=K;P.overlay.cfg.refireEvent("iframe");P.animateInCompleteEvent.fire();};G.handleStartAnimateOut=function(O,N,R){var P=B.getViewportWidth(),S=B.getXY(R.overlay.element),Q=S[1];R.animOut.attributes.points.to=[(P+25),Q];};G.handleTweenAnimateOut=function(P,O,Q){var S=B.getXY(Q.overlay.element),N=S[0],R=S[1];Q.overlay.cfg.setProperty("xy",[N,R],true);Q.overlay.cfg.refireEvent("iframe");};G.handleCompleteAnimateOut=function(O,N,P){P.overlay._setDomVisibility(false);P.overlay.cfg.setProperty("xy",[L,K]);P.animateOutCompleteEvent.fire();};G.init();return G;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=C.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=C.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=C.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=C.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(E,D,F){},handleTweenAnimateIn:function(E,D,F){},handleCompleteAnimateIn:function(E,D,F){},handleStartAnimateOut:function(E,D,F){},handleTweenAnimateOut:function(E,D,F){},handleCompleteAnimateOut:function(E,D,F){},toString:function(){var D="ContainerEffect";if(this.overlay){D+=" ["+this.overlay.toString()+"]";}return D;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);})();YAHOO.register("container",YAHOO.widget.Module,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/container/container_core-min.js b/js/yui/container/container_core-min.js new file mode 100644 index 0000000000000000000000000000000000000000..c3626e5863fa53c5c5c5f2e976a538d7afcc38a9 --- /dev/null +++ b/js/yui/container/container_core-min.js @@ -0,0 +1,14 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){YAHOO.util.Config=function(D){if(D){this.init(D);}};var B=YAHOO.lang,C=YAHOO.util.CustomEvent,A=YAHOO.util.Config;A.CONFIG_CHANGED_EVENT="configChanged";A.BOOLEAN_TYPE="boolean";A.prototype={owner:null,queueInProgress:false,config:null,initialConfig:null,eventQueue:null,configChangedEvent:null,init:function(D){this.owner=D;this.configChangedEvent=this.createEvent(A.CONFIG_CHANGED_EVENT);this.configChangedEvent.signature=C.LIST;this.queueInProgress=false;this.config={};this.initialConfig={};this.eventQueue=[];},checkBoolean:function(D){return(typeof D==A.BOOLEAN_TYPE);},checkNumber:function(D){return(!isNaN(D));},fireEvent:function(D,F){var E=this.config[D];if(E&&E.event){E.event.fire(F);}},addProperty:function(E,D){E=E.toLowerCase();this.config[E]=D;D.event=this.createEvent(E,{scope:this.owner});D.event.signature=C.LIST;D.key=E;if(D.handler){D.event.subscribe(D.handler,this.owner);}this.setProperty(E,D.value,true);if(!D.suppressEvent){this.queueProperty(E,D.value);}},getConfig:function(){var D={},F=this.config,G,E;for(G in F){if(B.hasOwnProperty(F,G)){E=F[G];if(E&&E.event){D[G]=E.value;}}}return D;},getProperty:function(D){var E=this.config[D.toLowerCase()];if(E&&E.event){return E.value;}else{return undefined;}},resetProperty:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event){if(this.initialConfig[D]&&!B.isUndefined(this.initialConfig[D])){this.setProperty(D,this.initialConfig[D]);return true;}}else{return false;}},setProperty:function(E,G,D){var F;E=E.toLowerCase();if(this.queueInProgress&&!D){this.queueProperty(E,G);return true;}else{F=this.config[E];if(F&&F.event){if(F.validator&&!F.validator(G)){return false;}else{F.value=G;if(!D){this.fireEvent(E,G);this.configChangedEvent.fire([E,G]);}return true;}}else{return false;}}},queueProperty:function(S,P){S=S.toLowerCase();var R=this.config[S],K=false,J,G,H,I,O,Q,F,M,N,D,L,T,E;if(R&&R.event){if(!B.isUndefined(P)&&R.validator&&!R.validator(P)){return false;}else{if(!B.isUndefined(P)){R.value=P;}else{P=R.value;}K=false;J=this.eventQueue.length;for(L=0;L<J;L++){G=this.eventQueue[L];if(G){H=G[0];I=G[1];if(H==S){this.eventQueue[L]=null;this.eventQueue.push([S,(!B.isUndefined(P)?P:I)]);K=true;break;}}}if(!K&&!B.isUndefined(P)){this.eventQueue.push([S,P]);}}if(R.supercedes){O=R.supercedes.length;for(T=0;T<O;T++){Q=R.supercedes[T];F=this.eventQueue.length;for(E=0;E<F;E++){M=this.eventQueue[E];if(M){N=M[0];D=M[1];if(N==Q.toLowerCase()){this.eventQueue.push([N,D]);this.eventQueue[E]=null;break;}}}}}return true;}else{return false;}},refireEvent:function(D){D=D.toLowerCase();var E=this.config[D];if(E&&E.event&&!B.isUndefined(E.value)){if(this.queueInProgress){this.queueProperty(D);}else{this.fireEvent(D,E.value);}}},applyConfig:function(D,G){var F,E;if(G){E={};for(F in D){if(B.hasOwnProperty(D,F)){E[F.toLowerCase()]=D[F];}}this.initialConfig=E;}for(F in D){if(B.hasOwnProperty(D,F)){this.queueProperty(F,D[F]);}}},refresh:function(){var D;for(D in this.config){if(B.hasOwnProperty(this.config,D)){this.refireEvent(D);}}},fireQueue:function(){var E,H,D,G,F;this.queueInProgress=true;for(E=0;E<this.eventQueue.length;E++){H=this.eventQueue[E];if(H){D=H[0];G=H[1];F=this.config[D];F.value=G;this.eventQueue[E]=null;this.fireEvent(D,G);}}this.queueInProgress=false;this.eventQueue=[];},subscribeToConfigEvent:function(D,E,G,H){var F=this.config[D.toLowerCase()];if(F&&F.event){if(!A.alreadySubscribed(F.event,E,G)){F.event.subscribe(E,G,H);}return true;}else{return false;}},unsubscribeFromConfigEvent:function(D,E,G){var F=this.config[D.toLowerCase()];if(F&&F.event){return F.event.unsubscribe(E,G);}else{return false;}},toString:function(){var D="Config";if(this.owner){D+=" ["+this.owner.toString()+"]";}return D;},outputEventQueue:function(){var D="",G,E,F=this.eventQueue.length;for(E=0;E<F;E++){G=this.eventQueue[E];if(G){D+=G[0]+"="+G[1]+", ";}}return D;},destroy:function(){var E=this.config,D,F;for(D in E){if(B.hasOwnProperty(E,D)){F=E[D];F.event.unsubscribeAll();F.event=null;}}this.configChangedEvent.unsubscribeAll();this.configChangedEvent=null;this.owner=null;this.config=null;this.initialConfig=null;this.eventQueue=null;}};A.alreadySubscribed=function(E,H,I){var F=E.subscribers.length,D,G;if(F>0){G=F-1;do{D=E.subscribers[G];if(D&&D.obj==I&&D.fn==H){return true;}}while(G--);}return false;};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Module=function(R,Q){if(R){this.init(R,Q);}else{}};var F=YAHOO.util.Dom,D=YAHOO.util.Config,N=YAHOO.util.Event,M=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,I=YAHOO.env.ua,H,P,O,E,A={"BEFORE_INIT":"beforeInit","INIT":"init","APPEND":"append","BEFORE_RENDER":"beforeRender","RENDER":"render","CHANGE_HEADER":"changeHeader","CHANGE_BODY":"changeBody","CHANGE_FOOTER":"changeFooter","CHANGE_CONTENT":"changeContent","DESTROY":"destroy","BEFORE_SHOW":"beforeShow","SHOW":"show","BEFORE_HIDE":"beforeHide","HIDE":"hide"},J={"VISIBLE":{key:"visible",value:true,validator:YAHOO.lang.isBoolean},"EFFECT":{key:"effect",suppressEvent:true,supercedes:["visible"]},"MONITOR_RESIZE":{key:"monitorresize",value:true},"APPEND_TO_DOCUMENT_BODY":{key:"appendtodocumentbody",value:false}};G.IMG_ROOT=null;G.IMG_ROOT_SSL=null;G.CSS_MODULE="yui-module";G.CSS_HEADER="hd";G.CSS_BODY="bd";G.CSS_FOOTER="ft";G.RESIZE_MONITOR_SECURE_URL="javascript:false;";G.RESIZE_MONITOR_BUFFER=1;G.textResizeEvent=new M("textResize");G.forceDocumentRedraw=function(){var Q=document.documentElement;if(Q){Q.className+=" ";Q.className=YAHOO.lang.trim(Q.className);}};function L(){if(!H){H=document.createElement("div");H.innerHTML=('<div class="'+G.CSS_HEADER+'"></div>'+'<div class="'+G.CSS_BODY+'"></div><div class="'+G.CSS_FOOTER+'"></div>');P=H.firstChild;O=P.nextSibling;E=O.nextSibling;}return H;}function K(){if(!P){L();}return(P.cloneNode(false));}function B(){if(!O){L();}return(O.cloneNode(false));}function C(){if(!E){L();}return(E.cloneNode(false));}G.prototype={constructor:G,element:null,header:null,body:null,footer:null,id:null,imageRoot:G.IMG_ROOT,initEvents:function(){var Q=M.LIST; +this.beforeInitEvent=this.createEvent(A.BEFORE_INIT);this.beforeInitEvent.signature=Q;this.initEvent=this.createEvent(A.INIT);this.initEvent.signature=Q;this.appendEvent=this.createEvent(A.APPEND);this.appendEvent.signature=Q;this.beforeRenderEvent=this.createEvent(A.BEFORE_RENDER);this.beforeRenderEvent.signature=Q;this.renderEvent=this.createEvent(A.RENDER);this.renderEvent.signature=Q;this.changeHeaderEvent=this.createEvent(A.CHANGE_HEADER);this.changeHeaderEvent.signature=Q;this.changeBodyEvent=this.createEvent(A.CHANGE_BODY);this.changeBodyEvent.signature=Q;this.changeFooterEvent=this.createEvent(A.CHANGE_FOOTER);this.changeFooterEvent.signature=Q;this.changeContentEvent=this.createEvent(A.CHANGE_CONTENT);this.changeContentEvent.signature=Q;this.destroyEvent=this.createEvent(A.DESTROY);this.destroyEvent.signature=Q;this.beforeShowEvent=this.createEvent(A.BEFORE_SHOW);this.beforeShowEvent.signature=Q;this.showEvent=this.createEvent(A.SHOW);this.showEvent.signature=Q;this.beforeHideEvent=this.createEvent(A.BEFORE_HIDE);this.beforeHideEvent.signature=Q;this.hideEvent=this.createEvent(A.HIDE);this.hideEvent.signature=Q;},platform:function(){var Q=navigator.userAgent.toLowerCase();if(Q.indexOf("windows")!=-1||Q.indexOf("win32")!=-1){return"windows";}else{if(Q.indexOf("macintosh")!=-1){return"mac";}else{return false;}}}(),browser:function(){var Q=navigator.userAgent.toLowerCase();if(Q.indexOf("opera")!=-1){return"opera";}else{if(Q.indexOf("msie 7")!=-1){return"ie7";}else{if(Q.indexOf("msie")!=-1){return"ie";}else{if(Q.indexOf("safari")!=-1){return"safari";}else{if(Q.indexOf("gecko")!=-1){return"gecko";}else{return false;}}}}}}(),isSecure:function(){if(window.location.href.toLowerCase().indexOf("https")===0){return true;}else{return false;}}(),initDefaultConfig:function(){this.cfg.addProperty(J.VISIBLE.key,{handler:this.configVisible,value:J.VISIBLE.value,validator:J.VISIBLE.validator});this.cfg.addProperty(J.EFFECT.key,{suppressEvent:J.EFFECT.suppressEvent,supercedes:J.EFFECT.supercedes});this.cfg.addProperty(J.MONITOR_RESIZE.key,{handler:this.configMonitorResize,value:J.MONITOR_RESIZE.value});this.cfg.addProperty(J.APPEND_TO_DOCUMENT_BODY.key,{value:J.APPEND_TO_DOCUMENT_BODY.value});},init:function(V,U){var S,W;this.initEvents();this.beforeInitEvent.fire(G);this.cfg=new D(this);if(this.isSecure){this.imageRoot=G.IMG_ROOT_SSL;}if(typeof V=="string"){S=V;V=document.getElementById(V);if(!V){V=(L()).cloneNode(false);V.id=S;}}this.id=F.generateId(V);this.element=V;W=this.element.firstChild;if(W){var R=false,Q=false,T=false;do{if(1==W.nodeType){if(!R&&F.hasClass(W,G.CSS_HEADER)){this.header=W;R=true;}else{if(!Q&&F.hasClass(W,G.CSS_BODY)){this.body=W;Q=true;}else{if(!T&&F.hasClass(W,G.CSS_FOOTER)){this.footer=W;T=true;}}}}}while((W=W.nextSibling));}this.initDefaultConfig();F.addClass(this.element,G.CSS_MODULE);if(U){this.cfg.applyConfig(U,true);}if(!D.alreadySubscribed(this.renderEvent,this.cfg.fireQueue,this.cfg)){this.renderEvent.subscribe(this.cfg.fireQueue,this.cfg,true);}this.initEvent.fire(G);},initResizeMonitor:function(){var R=(I.gecko&&this.platform=="windows");if(R){var Q=this;setTimeout(function(){Q._initResizeMonitor();},0);}else{this._initResizeMonitor();}},_initResizeMonitor:function(){var Q,S,U;function W(){G.textResizeEvent.fire();}if(!I.opera){S=F.get("_yuiResizeMonitor");var V=this._supportsCWResize();if(!S){S=document.createElement("iframe");if(this.isSecure&&G.RESIZE_MONITOR_SECURE_URL&&I.ie){S.src=G.RESIZE_MONITOR_SECURE_URL;}if(!V){U=["<html><head><script ",'type="text/javascript">',"window.onresize=function(){window.parent.","YAHOO.widget.Module.textResizeEvent.","fire();};<","/script></head>","<body></body></html>"].join("");S.src="data:text/html;charset=utf-8,"+encodeURIComponent(U);}S.id="_yuiResizeMonitor";S.title="Text Resize Monitor";S.style.position="absolute";S.style.visibility="hidden";var R=document.body,T=R.firstChild;if(T){R.insertBefore(S,T);}else{R.appendChild(S);}S.style.backgroundColor="transparent";S.style.borderWidth="0";S.style.width="2em";S.style.height="2em";S.style.left="0";S.style.top=(-1*(S.offsetHeight+G.RESIZE_MONITOR_BUFFER))+"px";S.style.visibility="visible";if(I.webkit){Q=S.contentWindow.document;Q.open();Q.close();}}if(S&&S.contentWindow){G.textResizeEvent.subscribe(this.onDomResize,this,true);if(!G.textResizeInitialized){if(V){if(!N.on(S.contentWindow,"resize",W)){N.on(S,"resize",W);}}G.textResizeInitialized=true;}this.resizeMonitor=S;}}},_supportsCWResize:function(){var Q=true;if(I.gecko&&I.gecko<=1.8){Q=false;}return Q;},onDomResize:function(S,R){var Q=-1*(this.resizeMonitor.offsetHeight+G.RESIZE_MONITOR_BUFFER);this.resizeMonitor.style.top=Q+"px";this.resizeMonitor.style.left="0";},setHeader:function(R){var Q=this.header||(this.header=K());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderHeader();}this.changeHeaderEvent.fire(R);this.changeContentEvent.fire();},appendToHeader:function(R){var Q=this.header||(this.header=K());Q.appendChild(R);this.changeHeaderEvent.fire(R);this.changeContentEvent.fire();},setBody:function(R){var Q=this.body||(this.body=B());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderBody();}this.changeBodyEvent.fire(R);this.changeContentEvent.fire();},appendToBody:function(R){var Q=this.body||(this.body=B());Q.appendChild(R);this.changeBodyEvent.fire(R);this.changeContentEvent.fire();},setFooter:function(R){var Q=this.footer||(this.footer=C());if(R.nodeName){Q.innerHTML="";Q.appendChild(R);}else{Q.innerHTML=R;}if(this._rendered){this._renderFooter();}this.changeFooterEvent.fire(R);this.changeContentEvent.fire();},appendToFooter:function(R){var Q=this.footer||(this.footer=C());Q.appendChild(R);this.changeFooterEvent.fire(R);this.changeContentEvent.fire();},render:function(S,Q){var T=this;function R(U){if(typeof U=="string"){U=document.getElementById(U);}if(U){T._addToParent(U,T.element);T.appendEvent.fire();}}this.beforeRenderEvent.fire(); +if(!Q){Q=this.element;}if(S){R(S);}else{if(!F.inDocument(this.element)){return false;}}this._renderHeader(Q);this._renderBody(Q);this._renderFooter(Q);this._rendered=true;this.renderEvent.fire();return true;},_renderHeader:function(Q){Q=Q||this.element;if(this.header&&!F.inDocument(this.header)){var R=Q.firstChild;if(R){Q.insertBefore(this.header,R);}else{Q.appendChild(this.header);}}},_renderBody:function(Q){Q=Q||this.element;if(this.body&&!F.inDocument(this.body)){if(this.footer&&F.isAncestor(Q,this.footer)){Q.insertBefore(this.body,this.footer);}else{Q.appendChild(this.body);}}},_renderFooter:function(Q){Q=Q||this.element;if(this.footer&&!F.inDocument(this.footer)){Q.appendChild(this.footer);}},destroy:function(){var Q;if(this.element){N.purgeElement(this.element,true);Q=this.element.parentNode;}if(Q){Q.removeChild(this.element);}this.element=null;this.header=null;this.body=null;this.footer=null;G.textResizeEvent.unsubscribe(this.onDomResize,this);this.cfg.destroy();this.cfg=null;this.destroyEvent.fire();},show:function(){this.cfg.setProperty("visible",true);},hide:function(){this.cfg.setProperty("visible",false);},configVisible:function(R,Q,S){var T=Q[0];if(T){this.beforeShowEvent.fire();F.setStyle(this.element,"display","block");this.showEvent.fire();}else{this.beforeHideEvent.fire();F.setStyle(this.element,"display","none");this.hideEvent.fire();}},configMonitorResize:function(S,R,T){var Q=R[0];if(Q){this.initResizeMonitor();}else{G.textResizeEvent.unsubscribe(this.onDomResize,this,true);this.resizeMonitor=null;}},_addToParent:function(Q,R){if(!this.cfg.getProperty("appendtodocumentbody")&&Q===document.body&&Q.firstChild){Q.insertBefore(R,Q.firstChild);}else{Q.appendChild(R);}},toString:function(){return"Module "+this.id;}};YAHOO.lang.augmentProto(G,YAHOO.util.EventProvider);}());(function(){YAHOO.widget.Overlay=function(P,O){YAHOO.widget.Overlay.superclass.constructor.call(this,P,O);};var I=YAHOO.lang,M=YAHOO.util.CustomEvent,G=YAHOO.widget.Module,N=YAHOO.util.Event,F=YAHOO.util.Dom,D=YAHOO.util.Config,K=YAHOO.env.ua,B=YAHOO.widget.Overlay,H="subscribe",E="unsubscribe",C="contained",J,A={"BEFORE_MOVE":"beforeMove","MOVE":"move"},L={"X":{key:"x",validator:I.isNumber,suppressEvent:true,supercedes:["iframe"]},"Y":{key:"y",validator:I.isNumber,suppressEvent:true,supercedes:["iframe"]},"XY":{key:"xy",suppressEvent:true,supercedes:["iframe"]},"CONTEXT":{key:"context",suppressEvent:true,supercedes:["iframe"]},"FIXED_CENTER":{key:"fixedcenter",value:false,supercedes:["iframe","visible"]},"WIDTH":{key:"width",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"HEIGHT":{key:"height",suppressEvent:true,supercedes:["context","fixedcenter","iframe"]},"AUTO_FILL_HEIGHT":{key:"autofillheight",supercedes:["height"],value:"body"},"ZINDEX":{key:"zindex",value:null},"CONSTRAIN_TO_VIEWPORT":{key:"constraintoviewport",value:false,validator:I.isBoolean,supercedes:["iframe","x","y","xy"]},"IFRAME":{key:"iframe",value:(K.ie==6?true:false),validator:I.isBoolean,supercedes:["zindex"]},"PREVENT_CONTEXT_OVERLAP":{key:"preventcontextoverlap",value:false,validator:I.isBoolean,supercedes:["constraintoviewport"]}};B.IFRAME_SRC="javascript:false;";B.IFRAME_OFFSET=3;B.VIEWPORT_OFFSET=10;B.TOP_LEFT="tl";B.TOP_RIGHT="tr";B.BOTTOM_LEFT="bl";B.BOTTOM_RIGHT="br";B.PREVENT_OVERLAP_X={"tltr":true,"blbr":true,"brbl":true,"trtl":true};B.PREVENT_OVERLAP_Y={"trbr":true,"tlbl":true,"bltl":true,"brtr":true};B.CSS_OVERLAY="yui-overlay";B.CSS_HIDDEN="yui-overlay-hidden";B.CSS_IFRAME="yui-overlay-iframe";B.STD_MOD_RE=/^\s*?(body|footer|header)\s*?$/i;B.windowScrollEvent=new M("windowScroll");B.windowResizeEvent=new M("windowResize");B.windowScrollHandler=function(P){var O=N.getTarget(P);if(!O||O===window||O===window.document){if(K.ie){if(!window.scrollEnd){window.scrollEnd=-1;}clearTimeout(window.scrollEnd);window.scrollEnd=setTimeout(function(){B.windowScrollEvent.fire();},1);}else{B.windowScrollEvent.fire();}}};B.windowResizeHandler=function(O){if(K.ie){if(!window.resizeEnd){window.resizeEnd=-1;}clearTimeout(window.resizeEnd);window.resizeEnd=setTimeout(function(){B.windowResizeEvent.fire();},100);}else{B.windowResizeEvent.fire();}};B._initialized=null;if(B._initialized===null){N.on(window,"scroll",B.windowScrollHandler);N.on(window,"resize",B.windowResizeHandler);B._initialized=true;}B._TRIGGER_MAP={"windowScroll":B.windowScrollEvent,"windowResize":B.windowResizeEvent,"textResize":G.textResizeEvent};YAHOO.extend(B,G,{CONTEXT_TRIGGERS:[],init:function(P,O){B.superclass.init.call(this,P);this.beforeInitEvent.fire(B);F.addClass(this.element,B.CSS_OVERLAY);if(O){this.cfg.applyConfig(O,true);}if(this.platform=="mac"&&K.gecko){if(!D.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)){this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);}if(!D.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)){this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);}}this.initEvent.fire(B);},initEvents:function(){B.superclass.initEvents.call(this);var O=M.LIST;this.beforeMoveEvent=this.createEvent(A.BEFORE_MOVE);this.beforeMoveEvent.signature=O;this.moveEvent=this.createEvent(A.MOVE);this.moveEvent.signature=O;},initDefaultConfig:function(){B.superclass.initDefaultConfig.call(this);var O=this.cfg;O.addProperty(L.X.key,{handler:this.configX,validator:L.X.validator,suppressEvent:L.X.suppressEvent,supercedes:L.X.supercedes});O.addProperty(L.Y.key,{handler:this.configY,validator:L.Y.validator,suppressEvent:L.Y.suppressEvent,supercedes:L.Y.supercedes});O.addProperty(L.XY.key,{handler:this.configXY,suppressEvent:L.XY.suppressEvent,supercedes:L.XY.supercedes});O.addProperty(L.CONTEXT.key,{handler:this.configContext,suppressEvent:L.CONTEXT.suppressEvent,supercedes:L.CONTEXT.supercedes});O.addProperty(L.FIXED_CENTER.key,{handler:this.configFixedCenter,value:L.FIXED_CENTER.value,validator:L.FIXED_CENTER.validator,supercedes:L.FIXED_CENTER.supercedes});O.addProperty(L.WIDTH.key,{handler:this.configWidth,suppressEvent:L.WIDTH.suppressEvent,supercedes:L.WIDTH.supercedes}); +O.addProperty(L.HEIGHT.key,{handler:this.configHeight,suppressEvent:L.HEIGHT.suppressEvent,supercedes:L.HEIGHT.supercedes});O.addProperty(L.AUTO_FILL_HEIGHT.key,{handler:this.configAutoFillHeight,value:L.AUTO_FILL_HEIGHT.value,validator:this._validateAutoFill,supercedes:L.AUTO_FILL_HEIGHT.supercedes});O.addProperty(L.ZINDEX.key,{handler:this.configzIndex,value:L.ZINDEX.value});O.addProperty(L.CONSTRAIN_TO_VIEWPORT.key,{handler:this.configConstrainToViewport,value:L.CONSTRAIN_TO_VIEWPORT.value,validator:L.CONSTRAIN_TO_VIEWPORT.validator,supercedes:L.CONSTRAIN_TO_VIEWPORT.supercedes});O.addProperty(L.IFRAME.key,{handler:this.configIframe,value:L.IFRAME.value,validator:L.IFRAME.validator,supercedes:L.IFRAME.supercedes});O.addProperty(L.PREVENT_CONTEXT_OVERLAP.key,{value:L.PREVENT_CONTEXT_OVERLAP.value,validator:L.PREVENT_CONTEXT_OVERLAP.validator,supercedes:L.PREVENT_CONTEXT_OVERLAP.supercedes});},moveTo:function(O,P){this.cfg.setProperty("xy",[O,P]);},hideMacGeckoScrollbars:function(){F.replaceClass(this.element,"show-scrollbars","hide-scrollbars");},showMacGeckoScrollbars:function(){F.replaceClass(this.element,"hide-scrollbars","show-scrollbars");},_setDomVisibility:function(O){F.setStyle(this.element,"visibility",(O)?"visible":"hidden");var P=B.CSS_HIDDEN;if(O){F.removeClass(this.element,P);}else{F.addClass(this.element,P);}},configVisible:function(R,O,X){var Q=O[0],S=F.getStyle(this.element,"visibility"),Y=this.cfg.getProperty("effect"),V=[],U=(this.platform=="mac"&&K.gecko),g=D.alreadySubscribed,W,P,f,c,b,a,d,Z,T;if(S=="inherit"){f=this.element.parentNode;while(f.nodeType!=9&&f.nodeType!=11){S=F.getStyle(f,"visibility");if(S!="inherit"){break;}f=f.parentNode;}if(S=="inherit"){S="visible";}}if(Y){if(Y instanceof Array){Z=Y.length;for(c=0;c<Z;c++){W=Y[c];V[V.length]=W.effect(this,W.duration);}}else{V[V.length]=Y.effect(this,Y.duration);}}if(Q){if(U){this.showMacGeckoScrollbars();}if(Y){if(Q){if(S!="visible"||S===""){this.beforeShowEvent.fire();T=V.length;for(b=0;b<T;b++){P=V[b];if(b===0&&!g(P.animateInCompleteEvent,this.showEvent.fire,this.showEvent)){P.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true);}P.animateIn();}}}}else{if(S!="visible"||S===""){this.beforeShowEvent.fire();this._setDomVisibility(true);this.cfg.refireEvent("iframe");this.showEvent.fire();}else{this._setDomVisibility(true);}}}else{if(U){this.hideMacGeckoScrollbars();}if(Y){if(S=="visible"){this.beforeHideEvent.fire();T=V.length;for(a=0;a<T;a++){d=V[a];if(a===0&&!g(d.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)){d.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true);}d.animateOut();}}else{if(S===""){this._setDomVisibility(false);}}}else{if(S=="visible"||S===""){this.beforeHideEvent.fire();this._setDomVisibility(false);this.hideEvent.fire();}else{this._setDomVisibility(false);}}}},doCenterOnDOMEvent:function(){var O=this.cfg,P=O.getProperty("fixedcenter");if(O.getProperty("visible")){if(P&&(P!==C||this.fitsInViewport())){this.center();}}},fitsInViewport:function(){var S=B.VIEWPORT_OFFSET,Q=this.element,T=Q.offsetWidth,R=Q.offsetHeight,O=F.getViewportWidth(),P=F.getViewportHeight();return((T+S<O)&&(R+S<P));},configFixedCenter:function(S,Q,T){var U=Q[0],P=D.alreadySubscribed,R=B.windowResizeEvent,O=B.windowScrollEvent;if(U){this.center();if(!P(this.beforeShowEvent,this.center)){this.beforeShowEvent.subscribe(this.center);}if(!P(R,this.doCenterOnDOMEvent,this)){R.subscribe(this.doCenterOnDOMEvent,this,true);}if(!P(O,this.doCenterOnDOMEvent,this)){O.subscribe(this.doCenterOnDOMEvent,this,true);}}else{this.beforeShowEvent.unsubscribe(this.center);R.unsubscribe(this.doCenterOnDOMEvent,this);O.unsubscribe(this.doCenterOnDOMEvent,this);}},configHeight:function(R,P,S){var O=P[0],Q=this.element;F.setStyle(Q,"height",O);this.cfg.refireEvent("iframe");},configAutoFillHeight:function(T,S,P){var V=S[0],Q=this.cfg,U="autofillheight",W="height",R=Q.getProperty(U),O=this._autoFillOnHeightChange;Q.unsubscribeFromConfigEvent(W,O);G.textResizeEvent.unsubscribe(O);this.changeContentEvent.unsubscribe(O);if(R&&V!==R&&this[R]){F.setStyle(this[R],W,"");}if(V){V=I.trim(V.toLowerCase());Q.subscribeToConfigEvent(W,O,this[V],this);G.textResizeEvent.subscribe(O,this[V],this);this.changeContentEvent.subscribe(O,this[V],this);Q.setProperty(U,V,true);}},configWidth:function(R,O,S){var Q=O[0],P=this.element;F.setStyle(P,"width",Q);this.cfg.refireEvent("iframe");},configzIndex:function(Q,O,R){var S=O[0],P=this.element;if(!S){S=F.getStyle(P,"zIndex");if(!S||isNaN(S)){S=0;}}if(this.iframe||this.cfg.getProperty("iframe")===true){if(S<=0){S=1;}}F.setStyle(P,"zIndex",S);this.cfg.setProperty("zIndex",S,true);if(this.iframe){this.stackIframe();}},configXY:function(Q,P,R){var T=P[0],O=T[0],S=T[1];this.cfg.setProperty("x",O);this.cfg.setProperty("y",S);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},configX:function(Q,P,R){var O=P[0],S=this.cfg.getProperty("y");this.cfg.setProperty("x",O,true);this.cfg.setProperty("y",S,true);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");F.setX(this.element,O,true);this.cfg.setProperty("xy",[O,S],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},configY:function(Q,P,R){var O=this.cfg.getProperty("x"),S=P[0];this.cfg.setProperty("x",O,true);this.cfg.setProperty("y",S,true);this.beforeMoveEvent.fire([O,S]);O=this.cfg.getProperty("x");S=this.cfg.getProperty("y");F.setY(this.element,S,true);this.cfg.setProperty("xy",[O,S],true);this.cfg.refireEvent("iframe");this.moveEvent.fire([O,S]);},showIframe:function(){var P=this.iframe,O;if(P){O=this.element.parentNode;if(O!=P.parentNode){this._addToParent(O,P);}P.style.display="block";}},hideIframe:function(){if(this.iframe){this.iframe.style.display="none";}},syncIframe:function(){var O=this.iframe,Q=this.element,S=B.IFRAME_OFFSET,P=(S*2),R;if(O){O.style.width=(Q.offsetWidth+P+"px"); +O.style.height=(Q.offsetHeight+P+"px");R=this.cfg.getProperty("xy");if(!I.isArray(R)||(isNaN(R[0])||isNaN(R[1]))){this.syncPosition();R=this.cfg.getProperty("xy");}F.setXY(O,[(R[0]-S),(R[1]-S)]);}},stackIframe:function(){if(this.iframe){var O=F.getStyle(this.element,"zIndex");if(!YAHOO.lang.isUndefined(O)&&!isNaN(O)){F.setStyle(this.iframe,"zIndex",(O-1));}}},configIframe:function(R,Q,S){var O=Q[0];function T(){var V=this.iframe,W=this.element,X;if(!V){if(!J){J=document.createElement("iframe");if(this.isSecure){J.src=B.IFRAME_SRC;}if(K.ie){J.style.filter="alpha(opacity=0)";J.frameBorder=0;}else{J.style.opacity="0";}J.style.position="absolute";J.style.border="none";J.style.margin="0";J.style.padding="0";J.style.display="none";J.tabIndex=-1;J.className=B.CSS_IFRAME;}V=J.cloneNode(false);V.id=this.id+"_f";X=W.parentNode;var U=X||document.body;this._addToParent(U,V);this.iframe=V;}this.showIframe();this.syncIframe();this.stackIframe();if(!this._hasIframeEventListeners){this.showEvent.subscribe(this.showIframe);this.hideEvent.subscribe(this.hideIframe);this.changeContentEvent.subscribe(this.syncIframe);this._hasIframeEventListeners=true;}}function P(){T.call(this);this.beforeShowEvent.unsubscribe(P);this._iframeDeferred=false;}if(O){if(this.cfg.getProperty("visible")){T.call(this);}else{if(!this._iframeDeferred){this.beforeShowEvent.subscribe(P);this._iframeDeferred=true;}}}else{this.hideIframe();if(this._hasIframeEventListeners){this.showEvent.unsubscribe(this.showIframe);this.hideEvent.unsubscribe(this.hideIframe);this.changeContentEvent.unsubscribe(this.syncIframe);this._hasIframeEventListeners=false;}}},_primeXYFromDOM:function(){if(YAHOO.lang.isUndefined(this.cfg.getProperty("xy"))){this.syncPosition();this.cfg.refireEvent("xy");this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);}},configConstrainToViewport:function(P,O,Q){var R=O[0];if(R){if(!D.alreadySubscribed(this.beforeMoveEvent,this.enforceConstraints,this)){this.beforeMoveEvent.subscribe(this.enforceConstraints,this,true);}if(!D.alreadySubscribed(this.beforeShowEvent,this._primeXYFromDOM)){this.beforeShowEvent.subscribe(this._primeXYFromDOM);}}else{this.beforeShowEvent.unsubscribe(this._primeXYFromDOM);this.beforeMoveEvent.unsubscribe(this.enforceConstraints,this);}},configContext:function(U,T,Q){var X=T[0],R,O,V,S,P,W=this.CONTEXT_TRIGGERS;if(X){R=X[0];O=X[1];V=X[2];S=X[3];P=X[4];if(W&&W.length>0){S=(S||[]).concat(W);}if(R){if(typeof R=="string"){this.cfg.setProperty("context",[document.getElementById(R),O,V,S,P],true);}if(O&&V){this.align(O,V,P);}if(this._contextTriggers){this._processTriggers(this._contextTriggers,E,this._alignOnTrigger);}if(S){this._processTriggers(S,H,this._alignOnTrigger);this._contextTriggers=S;}}}},_alignOnTrigger:function(P,O){this.align();},_findTriggerCE:function(O){var P=null;if(O instanceof M){P=O;}else{if(B._TRIGGER_MAP[O]){P=B._TRIGGER_MAP[O];}}return P;},_processTriggers:function(S,U,R){var Q,T;for(var P=0,O=S.length;P<O;++P){Q=S[P];T=this._findTriggerCE(Q);if(T){T[U](R,this,true);}else{this[U](Q,R);}}},align:function(P,W,S){var V=this.cfg.getProperty("context"),T=this,O,Q,U;function R(Z,a){var Y=null,X=null;switch(P){case B.TOP_LEFT:Y=a;X=Z;break;case B.TOP_RIGHT:Y=a-Q.offsetWidth;X=Z;break;case B.BOTTOM_LEFT:Y=a;X=Z-Q.offsetHeight;break;case B.BOTTOM_RIGHT:Y=a-Q.offsetWidth;X=Z-Q.offsetHeight;break;}if(Y!==null&&X!==null){if(S){Y+=S[0];X+=S[1];}T.moveTo(Y,X);}}if(V){O=V[0];Q=this.element;T=this;if(!P){P=V[1];}if(!W){W=V[2];}if(!S&&V[4]){S=V[4];}if(Q&&O){U=F.getRegion(O);switch(W){case B.TOP_LEFT:R(U.top,U.left);break;case B.TOP_RIGHT:R(U.top,U.right);break;case B.BOTTOM_LEFT:R(U.bottom,U.left);break;case B.BOTTOM_RIGHT:R(U.bottom,U.right);break;}}}},enforceConstraints:function(P,O,Q){var S=O[0];var R=this.getConstrainedXY(S[0],S[1]);this.cfg.setProperty("x",R[0],true);this.cfg.setProperty("y",R[1],true);this.cfg.setProperty("xy",R,true);},_getConstrainedPos:function(X,P){var T=this.element,R=B.VIEWPORT_OFFSET,Z=(X=="x"),Y=(Z)?T.offsetWidth:T.offsetHeight,S=(Z)?F.getViewportWidth():F.getViewportHeight(),c=(Z)?F.getDocumentScrollLeft():F.getDocumentScrollTop(),b=(Z)?B.PREVENT_OVERLAP_X:B.PREVENT_OVERLAP_Y,O=this.cfg.getProperty("context"),U=(Y+R<S),W=this.cfg.getProperty("preventcontextoverlap")&&O&&b[(O[1]+O[2])],V=c+R,a=c+S-Y-R,Q=P;if(P<V||P>a){if(W){Q=this._preventOverlap(X,O[0],Y,S,c);}else{if(U){if(P<V){Q=V;}else{if(P>a){Q=a;}}}else{Q=V;}}}return Q;},_preventOverlap:function(X,W,Y,U,b){var Z=(X=="x"),T=B.VIEWPORT_OFFSET,S=this,Q=((Z)?F.getX(W):F.getY(W))-b,O=(Z)?W.offsetWidth:W.offsetHeight,P=Q-T,R=(U-(Q+O))-T,c=false,V=function(){var d;if((S.cfg.getProperty(X)-b)>Q){d=(Q-Y);}else{d=(Q+O);}S.cfg.setProperty(X,(d+b),true);return d;},a=function(){var e=((S.cfg.getProperty(X)-b)>Q)?R:P,d;if(Y>e){if(c){V();}else{V();c=true;d=a();}}return d;};a();return this.cfg.getProperty(X);},getConstrainedX:function(O){return this._getConstrainedPos("x",O);},getConstrainedY:function(O){return this._getConstrainedPos("y",O);},getConstrainedXY:function(O,P){return[this.getConstrainedX(O),this.getConstrainedY(P)];},center:function(){var R=B.VIEWPORT_OFFSET,S=this.element.offsetWidth,Q=this.element.offsetHeight,P=F.getViewportWidth(),T=F.getViewportHeight(),O,U;if(S<P){O=(P/2)-(S/2)+F.getDocumentScrollLeft();}else{O=R+F.getDocumentScrollLeft();}if(Q<T){U=(T/2)-(Q/2)+F.getDocumentScrollTop();}else{U=R+F.getDocumentScrollTop();}this.cfg.setProperty("xy",[parseInt(O,10),parseInt(U,10)]);this.cfg.refireEvent("iframe");if(K.webkit){this.forceContainerRedraw();}},syncPosition:function(){var O=F.getXY(this.element);this.cfg.setProperty("x",O[0],true);this.cfg.setProperty("y",O[1],true);this.cfg.setProperty("xy",O,true);},onDomResize:function(Q,P){var O=this;B.superclass.onDomResize.call(this,Q,P);setTimeout(function(){O.syncPosition();O.cfg.refireEvent("iframe");O.cfg.refireEvent("context");},0);},_getComputedHeight:(function(){if(document.defaultView&&document.defaultView.getComputedStyle){return function(P){var O=null; +if(P.ownerDocument&&P.ownerDocument.defaultView){var Q=P.ownerDocument.defaultView.getComputedStyle(P,"");if(Q){O=parseInt(Q.height,10);}}return(I.isNumber(O))?O:null;};}else{return function(P){var O=null;if(P.style.pixelHeight){O=P.style.pixelHeight;}return(I.isNumber(O))?O:null;};}})(),_validateAutoFillHeight:function(O){return(!O)||(I.isString(O)&&B.STD_MOD_RE.test(O));},_autoFillOnHeightChange:function(R,P,Q){var O=this.cfg.getProperty("height");if((O&&O!=="auto")||(O===0)){this.fillHeight(Q);}},_getPreciseHeight:function(P){var O=P.offsetHeight;if(P.getBoundingClientRect){var Q=P.getBoundingClientRect();O=Q.bottom-Q.top;}return O;},fillHeight:function(R){if(R){var P=this.innerElement||this.element,O=[this.header,this.body,this.footer],V,W=0,X=0,T=0,Q=false;for(var U=0,S=O.length;U<S;U++){V=O[U];if(V){if(R!==V){X+=this._getPreciseHeight(V);}else{Q=true;}}}if(Q){if(K.ie||K.opera){F.setStyle(R,"height",0+"px");}W=this._getComputedHeight(P);if(W===null){F.addClass(P,"yui-override-padding");W=P.clientHeight;F.removeClass(P,"yui-override-padding");}T=Math.max(W-X,0);F.setStyle(R,"height",T+"px");if(R.offsetHeight!=T){T=Math.max(T-(R.offsetHeight-T),0);}F.setStyle(R,"height",T+"px");}}},bringToTop:function(){var S=[],R=this.element;function V(Z,Y){var b=F.getStyle(Z,"zIndex"),a=F.getStyle(Y,"zIndex"),X=(!b||isNaN(b))?0:parseInt(b,10),W=(!a||isNaN(a))?0:parseInt(a,10);if(X>W){return -1;}else{if(X<W){return 1;}else{return 0;}}}function Q(Y){var X=F.hasClass(Y,B.CSS_OVERLAY),W=YAHOO.widget.Panel;if(X&&!F.isAncestor(R,Y)){if(W&&F.hasClass(Y,W.CSS_PANEL)){S[S.length]=Y.parentNode;}else{S[S.length]=Y;}}}F.getElementsBy(Q,"DIV",document.body);S.sort(V);var O=S[0],U;if(O){U=F.getStyle(O,"zIndex");if(!isNaN(U)){var T=false;if(O!=R){T=true;}else{if(S.length>1){var P=F.getStyle(S[1],"zIndex");if(!isNaN(P)&&(U==P)){T=true;}}}if(T){this.cfg.setProperty("zindex",(parseInt(U,10)+2));}}}},destroy:function(){if(this.iframe){this.iframe.parentNode.removeChild(this.iframe);}this.iframe=null;B.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent,this);B.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent,this);G.textResizeEvent.unsubscribe(this._autoFillOnHeightChange);if(this._contextTriggers){this._processTriggers(this._contextTriggers,E,this._alignOnTrigger);}B.superclass.destroy.call(this);},forceContainerRedraw:function(){var O=this;F.addClass(O.element,"yui-force-redraw");setTimeout(function(){F.removeClass(O.element,"yui-force-redraw");},0);},toString:function(){return"Overlay "+this.id;}});}());(function(){YAHOO.widget.OverlayManager=function(G){this.init(G);};var D=YAHOO.widget.Overlay,C=YAHOO.util.Event,E=YAHOO.util.Dom,B=YAHOO.util.Config,F=YAHOO.util.CustomEvent,A=YAHOO.widget.OverlayManager;A.CSS_FOCUSED="focused";A.prototype={constructor:A,overlays:null,initDefaultConfig:function(){this.cfg.addProperty("overlays",{suppressEvent:true});this.cfg.addProperty("focusevent",{value:"mousedown"});},init:function(I){this.cfg=new B(this);this.initDefaultConfig();if(I){this.cfg.applyConfig(I,true);}this.cfg.fireQueue();var H=null;this.getActive=function(){return H;};this.focus=function(J){var K=this.find(J);if(K){K.focus();}};this.remove=function(K){var M=this.find(K),J;if(M){if(H==M){H=null;}var L=(M.element===null&&M.cfg===null)?true:false;if(!L){J=E.getStyle(M.element,"zIndex");M.cfg.setProperty("zIndex",-1000,true);}this.overlays.sort(this.compareZIndexDesc);this.overlays=this.overlays.slice(0,(this.overlays.length-1));M.hideEvent.unsubscribe(M.blur);M.destroyEvent.unsubscribe(this._onOverlayDestroy,M);M.focusEvent.unsubscribe(this._onOverlayFocusHandler,M);M.blurEvent.unsubscribe(this._onOverlayBlurHandler,M);if(!L){C.removeListener(M.element,this.cfg.getProperty("focusevent"),this._onOverlayElementFocus);M.cfg.setProperty("zIndex",J,true);M.cfg.setProperty("manager",null);}if(M.focusEvent._managed){M.focusEvent=null;}if(M.blurEvent._managed){M.blurEvent=null;}if(M.focus._managed){M.focus=null;}if(M.blur._managed){M.blur=null;}}};this.blurAll=function(){var K=this.overlays.length,J;if(K>0){J=K-1;do{this.overlays[J].blur();}while(J--);}};this._manageBlur=function(J){var K=false;if(H==J){E.removeClass(H.element,A.CSS_FOCUSED);H=null;K=true;}return K;};this._manageFocus=function(J){var K=false;if(H!=J){if(H){H.blur();}H=J;this.bringToTop(H);E.addClass(H.element,A.CSS_FOCUSED);K=true;}return K;};var G=this.cfg.getProperty("overlays");if(!this.overlays){this.overlays=[];}if(G){this.register(G);this.overlays.sort(this.compareZIndexDesc);}},_onOverlayElementFocus:function(I){var G=C.getTarget(I),H=this.close;if(H&&(G==H||E.isAncestor(H,G))){this.blur();}else{this.focus();}},_onOverlayDestroy:function(H,G,I){this.remove(I);},_onOverlayFocusHandler:function(H,G,I){this._manageFocus(I);},_onOverlayBlurHandler:function(H,G,I){this._manageBlur(I);},_bindFocus:function(G){var H=this;if(!G.focusEvent){G.focusEvent=G.createEvent("focus");G.focusEvent.signature=F.LIST;G.focusEvent._managed=true;}else{G.focusEvent.subscribe(H._onOverlayFocusHandler,G,H);}if(!G.focus){C.on(G.element,H.cfg.getProperty("focusevent"),H._onOverlayElementFocus,null,G);G.focus=function(){if(H._manageFocus(this)){if(this.cfg.getProperty("visible")&&this.focusFirst){this.focusFirst();}this.focusEvent.fire();}};G.focus._managed=true;}},_bindBlur:function(G){var H=this;if(!G.blurEvent){G.blurEvent=G.createEvent("blur");G.blurEvent.signature=F.LIST;G.focusEvent._managed=true;}else{G.blurEvent.subscribe(H._onOverlayBlurHandler,G,H);}if(!G.blur){G.blur=function(){if(H._manageBlur(this)){this.blurEvent.fire();}};G.blur._managed=true;}G.hideEvent.subscribe(G.blur);},_bindDestroy:function(G){var H=this;G.destroyEvent.subscribe(H._onOverlayDestroy,G,H);},_syncZIndex:function(G){var H=E.getStyle(G.element,"zIndex");if(!isNaN(H)){G.cfg.setProperty("zIndex",parseInt(H,10));}else{G.cfg.setProperty("zIndex",0);}},register:function(G){var J=false,H,I;if(G instanceof D){G.cfg.addProperty("manager",{value:this});this._bindFocus(G);this._bindBlur(G);this._bindDestroy(G); +this._syncZIndex(G);this.overlays.push(G);this.bringToTop(G);J=true;}else{if(G instanceof Array){for(H=0,I=G.length;H<I;H++){J=this.register(G[H])||J;}}}return J;},bringToTop:function(M){var I=this.find(M),L,G,J;if(I){J=this.overlays;J.sort(this.compareZIndexDesc);G=J[0];if(G){L=E.getStyle(G.element,"zIndex");if(!isNaN(L)){var K=false;if(G!==I){K=true;}else{if(J.length>1){var H=E.getStyle(J[1].element,"zIndex");if(!isNaN(H)&&(L==H)){K=true;}}}if(K){I.cfg.setProperty("zindex",(parseInt(L,10)+2));}}J.sort(this.compareZIndexDesc);}}},find:function(G){var K=G instanceof D,I=this.overlays,M=I.length,J=null,L,H;if(K||typeof G=="string"){for(H=M-1;H>=0;H--){L=I[H];if((K&&(L===G))||(L.id==G)){J=L;break;}}}return J;},compareZIndexDesc:function(J,I){var H=(J.cfg)?J.cfg.getProperty("zIndex"):null,G=(I.cfg)?I.cfg.getProperty("zIndex"):null;if(H===null&&G===null){return 0;}else{if(H===null){return 1;}else{if(G===null){return -1;}else{if(H>G){return -1;}else{if(H<G){return 1;}else{return 0;}}}}}},showAll:function(){var H=this.overlays,I=H.length,G;for(G=I-1;G>=0;G--){H[G].show();}},hideAll:function(){var H=this.overlays,I=H.length,G;for(G=I-1;G>=0;G--){H[G].hide();}},toString:function(){return"OverlayManager";}};}());(function(){YAHOO.widget.ContainerEffect=function(E,H,G,D,F){if(!F){F=YAHOO.util.Anim;}this.overlay=E;this.attrIn=H;this.attrOut=G;this.targetElement=D||E.element;this.animClass=F;};var B=YAHOO.util.Dom,C=YAHOO.util.CustomEvent,A=YAHOO.widget.ContainerEffect;A.FADE=function(D,F){var G=YAHOO.util.Easing,I={attributes:{opacity:{from:0,to:1}},duration:F,method:G.easeIn},E={attributes:{opacity:{to:0}},duration:F,method:G.easeOut},H=new A(D,I,E,D.element);H.handleUnderlayStart=function(){var K=this.overlay.underlay;if(K&&YAHOO.env.ua.ie){var J=(K.filters&&K.filters.length>0);if(J){B.addClass(D.element,"yui-effect-fade");}}};H.handleUnderlayComplete=function(){var J=this.overlay.underlay;if(J&&YAHOO.env.ua.ie){B.removeClass(D.element,"yui-effect-fade");}};H.handleStartAnimateIn=function(K,J,L){B.addClass(L.overlay.element,"hide-select");if(!L.overlay.underlay){L.overlay.cfg.refireEvent("underlay");}L.handleUnderlayStart();L.overlay._setDomVisibility(true);B.setStyle(L.overlay.element,"opacity",0);};H.handleCompleteAnimateIn=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateInCompleteEvent.fire();};H.handleStartAnimateOut=function(K,J,L){B.addClass(L.overlay.element,"hide-select");L.handleUnderlayStart();};H.handleCompleteAnimateOut=function(K,J,L){B.removeClass(L.overlay.element,"hide-select");if(L.overlay.element.style.filter){L.overlay.element.style.filter=null;}L.overlay._setDomVisibility(false);B.setStyle(L.overlay.element,"opacity",1);L.handleUnderlayComplete();L.overlay.cfg.refireEvent("iframe");L.animateOutCompleteEvent.fire();};H.init();return H;};A.SLIDE=function(F,D){var I=YAHOO.util.Easing,L=F.cfg.getProperty("x")||B.getX(F.element),K=F.cfg.getProperty("y")||B.getY(F.element),M=B.getClientWidth(),H=F.element.offsetWidth,J={attributes:{points:{to:[L,K]}},duration:D,method:I.easeIn},E={attributes:{points:{to:[(M+25),K]}},duration:D,method:I.easeOut},G=new A(F,J,E,F.element,YAHOO.util.Motion);G.handleStartAnimateIn=function(O,N,P){P.overlay.element.style.left=((-25)-H)+"px";P.overlay.element.style.top=K+"px";};G.handleTweenAnimateIn=function(Q,P,R){var S=B.getXY(R.overlay.element),O=S[0],N=S[1];if(B.getStyle(R.overlay.element,"visibility")=="hidden"&&O<L){R.overlay._setDomVisibility(true);}R.overlay.cfg.setProperty("xy",[O,N],true);R.overlay.cfg.refireEvent("iframe");};G.handleCompleteAnimateIn=function(O,N,P){P.overlay.cfg.setProperty("xy",[L,K],true);P.startX=L;P.startY=K;P.overlay.cfg.refireEvent("iframe");P.animateInCompleteEvent.fire();};G.handleStartAnimateOut=function(O,N,R){var P=B.getViewportWidth(),S=B.getXY(R.overlay.element),Q=S[1];R.animOut.attributes.points.to=[(P+25),Q];};G.handleTweenAnimateOut=function(P,O,Q){var S=B.getXY(Q.overlay.element),N=S[0],R=S[1];Q.overlay.cfg.setProperty("xy",[N,R],true);Q.overlay.cfg.refireEvent("iframe");};G.handleCompleteAnimateOut=function(O,N,P){P.overlay._setDomVisibility(false);P.overlay.cfg.setProperty("xy",[L,K]);P.animateOutCompleteEvent.fire();};G.init();return G;};A.prototype={init:function(){this.beforeAnimateInEvent=this.createEvent("beforeAnimateIn");this.beforeAnimateInEvent.signature=C.LIST;this.beforeAnimateOutEvent=this.createEvent("beforeAnimateOut");this.beforeAnimateOutEvent.signature=C.LIST;this.animateInCompleteEvent=this.createEvent("animateInComplete");this.animateInCompleteEvent.signature=C.LIST;this.animateOutCompleteEvent=this.createEvent("animateOutComplete");this.animateOutCompleteEvent.signature=C.LIST;this.animIn=new this.animClass(this.targetElement,this.attrIn.attributes,this.attrIn.duration,this.attrIn.method);this.animIn.onStart.subscribe(this.handleStartAnimateIn,this);this.animIn.onTween.subscribe(this.handleTweenAnimateIn,this);this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn,this);this.animOut=new this.animClass(this.targetElement,this.attrOut.attributes,this.attrOut.duration,this.attrOut.method);this.animOut.onStart.subscribe(this.handleStartAnimateOut,this);this.animOut.onTween.subscribe(this.handleTweenAnimateOut,this);this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut,this);},animateIn:function(){this.beforeAnimateInEvent.fire();this.animIn.animate();},animateOut:function(){this.beforeAnimateOutEvent.fire();this.animOut.animate();},handleStartAnimateIn:function(E,D,F){},handleTweenAnimateIn:function(E,D,F){},handleCompleteAnimateIn:function(E,D,F){},handleStartAnimateOut:function(E,D,F){},handleTweenAnimateOut:function(E,D,F){},handleCompleteAnimateOut:function(E,D,F){},toString:function(){var D="ContainerEffect";if(this.overlay){D+=" ["+this.overlay.toString()+"]";}return D;}};YAHOO.lang.augmentProto(A,YAHOO.util.EventProvider); +})();YAHOO.register("containercore",YAHOO.widget.Module,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/cookie.js b/js/yui/cookie.js deleted file mode 100644 index 0e020ebdbedcce1700b1aae4bc5b1ed456828b7c..0000000000000000000000000000000000000000 --- a/js/yui/cookie.js +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2008, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.6.0 -*/ -YAHOO.namespace("util");YAHOO.util.Cookie={_createCookieString:function(B,D,C,A){var F=YAHOO.lang;var E=encodeURIComponent(B)+"="+(C?encodeURIComponent(D):D);if(F.isObject(A)){if(A.expires instanceof Date){E+="; expires="+A.expires.toGMTString();}if(F.isString(A.path)&&A.path!=""){E+="; path="+A.path;}if(F.isString(A.domain)&&A.domain!=""){E+="; domain="+A.domain;}if(A.secure===true){E+="; secure";}}return E;},_createCookieHashString:function(B){var D=YAHOO.lang;if(!D.isObject(B)){throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.");}var C=new Array();for(var A in B){if(D.hasOwnProperty(B,A)&&!D.isFunction(B[A])&&!D.isUndefined(B[A])){C.push(encodeURIComponent(A)+"="+encodeURIComponent(String(B[A])));}}return C.join("&");},_parseCookieHash:function(E){var D=E.split("&"),F=null,C=new Object();if(E.length>0){for(var B=0,A=D.length;B<A;B++){F=D[B].split("=");C[decodeURIComponent(F[0])]=decodeURIComponent(F[1]);}}return C;},_parseCookieString:function(I,A){var J=new Object();if(YAHOO.lang.isString(I)&&I.length>0){var B=(A===false?function(K){return K;}:decodeURIComponent);if(/[^=]+=[^=;]?(?:; [^=]+=[^=]?)?/.test(I)){var G=I.split(/;\s/g);var H=null;var C=null;var E=null;for(var D=0,F=G.length;D<F;D++){E=G[D].match(/([^=]+)=/i);if(E instanceof Array){H=decodeURIComponent(E[1]);C=B(G[D].substring(E[1].length+1));}else{H=decodeURIComponent(G[D]);C=H;}J[H]=C;}}}return J;},get:function(A,B){var D=YAHOO.lang;var C=this._parseCookieString(document.cookie);if(!D.isString(A)||A===""){throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.");}if(D.isUndefined(C[A])){return null;}if(!D.isFunction(B)){return C[A];}else{return B(C[A]);}},getSub:function(A,C,B){var E=YAHOO.lang;var D=this.getSubs(A);if(D!==null){if(!E.isString(C)||C===""){throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.");}if(E.isUndefined(D[C])){return null;}if(!E.isFunction(B)){return D[C];}else{return B(D[C]);}}else{return null;}},getSubs:function(A){if(!YAHOO.lang.isString(A)||A===""){throw new TypeError("Cookie.getSubs(): Cookie name must be a non-empty string.");}var B=this._parseCookieString(document.cookie,false);if(YAHOO.lang.isString(B[A])){return this._parseCookieHash(B[A]);}return null;},remove:function(B,A){if(!YAHOO.lang.isString(B)||B===""){throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.");}A=A||{};A.expires=new Date(0);return this.set(B,"",A);},removeSub:function(B,D,A){if(!YAHOO.lang.isString(B)||B===""){throw new TypeError("Cookie.removeSub(): Cookie name must be a non-empty string.");}if(!YAHOO.lang.isString(D)||D===""){throw new TypeError("Cookie.removeSub(): Subcookie name must be a non-empty string.");}var C=this.getSubs(B);if(YAHOO.lang.isObject(C)&&YAHOO.lang.hasOwnProperty(C,D)){delete C[D];return this.setSubs(B,C,A);}else{return"";}},set:function(B,C,A){var E=YAHOO.lang;if(!E.isString(B)){throw new TypeError("Cookie.set(): Cookie name must be a string.");}if(E.isUndefined(C)){throw new TypeError("Cookie.set(): Value cannot be undefined.");}var D=this._createCookieString(B,C,true,A);document.cookie=D;return D;},setSub:function(B,D,C,A){var F=YAHOO.lang;if(!F.isString(B)||B===""){throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.");}if(!F.isString(D)||D===""){throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.");}if(F.isUndefined(C)){throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.");}var E=this.getSubs(B);if(!F.isObject(E)){E=new Object();}E[D]=C;return this.setSubs(B,E,A);},setSubs:function(B,C,A){var E=YAHOO.lang;if(!E.isString(B)){throw new TypeError("Cookie.setSubs(): Cookie name must be a string.");}if(!E.isObject(C)){throw new TypeError("Cookie.setSubs(): Cookie value must be an object.");}var D=this._createCookieString(B,this._createCookieHashString(C),false,A);document.cookie=D;return D;}};YAHOO.register("cookie",YAHOO.util.Cookie,{version:"2.6.0",build:"1321"}); \ No newline at end of file diff --git a/js/yui/cookie/cookie-min.js b/js/yui/cookie/cookie-min.js new file mode 100644 index 0000000000000000000000000000000000000000..db1eddd93a9b7f7a7bca5ca5dcef2f02ed2c5a60 --- /dev/null +++ b/js/yui/cookie/cookie-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("util");YAHOO.util.Cookie={_createCookieString:function(B,D,C,A){var F=YAHOO.lang,E=encodeURIComponent(B)+"="+(C?encodeURIComponent(D):D);if(F.isObject(A)){if(A.expires instanceof Date){E+="; expires="+A.expires.toUTCString();}if(F.isString(A.path)&&A.path!==""){E+="; path="+A.path;}if(F.isString(A.domain)&&A.domain!==""){E+="; domain="+A.domain;}if(A.secure===true){E+="; secure";}}return E;},_createCookieHashString:function(B){var D=YAHOO.lang;if(!D.isObject(B)){throw new TypeError("Cookie._createCookieHashString(): Argument must be an object.");}var C=[];for(var A in B){if(D.hasOwnProperty(B,A)&&!D.isFunction(B[A])&&!D.isUndefined(B[A])){C.push(encodeURIComponent(A)+"="+encodeURIComponent(String(B[A])));}}return C.join("&");},_parseCookieHash:function(E){var D=E.split("&"),F=null,C={};if(E.length>0){for(var B=0,A=D.length;B<A;B++){F=D[B].split("=");C[decodeURIComponent(F[0])]=decodeURIComponent(F[1]);}}return C;},_parseCookieString:function(J,A){var K={};if(YAHOO.lang.isString(J)&&J.length>0){var B=(A===false?function(L){return L;}:decodeURIComponent);var H=J.split(/;\s/g),I=null,C=null,E=null;for(var D=0,F=H.length;D<F;D++){E=H[D].match(/([^=]+)=/i);if(E instanceof Array){try{I=decodeURIComponent(E[1]);C=B(H[D].substring(E[1].length+1));}catch(G){}}else{I=decodeURIComponent(H[D]);C="";}K[I]=C;}}return K;},exists:function(A){if(!YAHOO.lang.isString(A)||A===""){throw new TypeError("Cookie.exists(): Cookie name must be a non-empty string.");}var B=this._parseCookieString(document.cookie,true);return B.hasOwnProperty(A);},get:function(B,A){var E=YAHOO.lang,C;if(E.isFunction(A)){C=A;A={};}else{if(E.isObject(A)){C=A.converter;}else{A={};}}var D=this._parseCookieString(document.cookie,!A.raw);if(!E.isString(B)||B===""){throw new TypeError("Cookie.get(): Cookie name must be a non-empty string.");}if(E.isUndefined(D[B])){return null;}if(!E.isFunction(C)){return D[B];}else{return C(D[B]);}},getSub:function(A,C,B){var E=YAHOO.lang,D=this.getSubs(A);if(D!==null){if(!E.isString(C)||C===""){throw new TypeError("Cookie.getSub(): Subcookie name must be a non-empty string.");}if(E.isUndefined(D[C])){return null;}if(!E.isFunction(B)){return D[C];}else{return B(D[C]);}}else{return null;}},getSubs:function(B){var A=YAHOO.lang.isString;if(!A(B)||B===""){throw new TypeError("Cookie.getSubs(): Cookie name must be a non-empty string.");}var C=this._parseCookieString(document.cookie,false);if(A(C[B])){return this._parseCookieHash(C[B]);}return null;},remove:function(B,A){if(!YAHOO.lang.isString(B)||B===""){throw new TypeError("Cookie.remove(): Cookie name must be a non-empty string.");}A=YAHOO.lang.merge(A||{},{expires:new Date(0)});return this.set(B,"",A);},removeSub:function(B,E,A){var F=YAHOO.lang;A=A||{};if(!F.isString(B)||B===""){throw new TypeError("Cookie.removeSub(): Cookie name must be a non-empty string.");}if(!F.isString(E)||E===""){throw new TypeError("Cookie.removeSub(): Subcookie name must be a non-empty string.");}var D=this.getSubs(B);if(F.isObject(D)&&F.hasOwnProperty(D,E)){delete D[E];if(!A.removeIfEmpty){return this.setSubs(B,D,A);}else{for(var C in D){if(F.hasOwnProperty(D,C)&&!F.isFunction(D[C])&&!F.isUndefined(D[C])){return this.setSubs(B,D,A);}}return this.remove(B,A);}}else{return"";}},set:function(B,C,A){var E=YAHOO.lang;A=A||{};if(!E.isString(B)){throw new TypeError("Cookie.set(): Cookie name must be a string.");}if(E.isUndefined(C)){throw new TypeError("Cookie.set(): Value cannot be undefined.");}var D=this._createCookieString(B,C,!A.raw,A);document.cookie=D;return D;},setSub:function(B,D,C,A){var F=YAHOO.lang;if(!F.isString(B)||B===""){throw new TypeError("Cookie.setSub(): Cookie name must be a non-empty string.");}if(!F.isString(D)||D===""){throw new TypeError("Cookie.setSub(): Subcookie name must be a non-empty string.");}if(F.isUndefined(C)){throw new TypeError("Cookie.setSub(): Subcookie value cannot be undefined.");}var E=this.getSubs(B);if(!F.isObject(E)){E={};}E[D]=C;return this.setSubs(B,E,A);},setSubs:function(B,C,A){var E=YAHOO.lang;if(!E.isString(B)){throw new TypeError("Cookie.setSubs(): Cookie name must be a string.");}if(!E.isObject(C)){throw new TypeError("Cookie.setSubs(): Cookie value must be an object.");}var D=this._createCookieString(B,this._createCookieHashString(C),false,A);document.cookie=D;return D;}};YAHOO.register("cookie",YAHOO.util.Cookie,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/datasource/datasource-min.js b/js/yui/datasource/datasource-min.js new file mode 100644 index 0000000000000000000000000000000000000000..9214c079518b2d4870b1c5d894ac47d7c1e196dc --- /dev/null +++ b/js/yui/datasource/datasource-min.js @@ -0,0 +1,12 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var lang=YAHOO.lang,util=YAHOO.util,Ev=util.Event;util.DataSourceBase=function(oLiveData,oConfigs){if(oLiveData===null||oLiveData===undefined){return;}this.liveData=oLiveData;this._oQueue={interval:null,conn:null,requests:[]};this.responseSchema={};if(oConfigs&&(oConfigs.constructor==Object)){for(var sConfig in oConfigs){if(sConfig){this[sConfig]=oConfigs[sConfig];}}}var maxCacheEntries=this.maxCacheEntries;if(!lang.isNumber(maxCacheEntries)||(maxCacheEntries<0)){maxCacheEntries=0;}this._aIntervals=[];this.createEvent("cacheRequestEvent");this.createEvent("cacheResponseEvent");this.createEvent("requestEvent");this.createEvent("responseEvent");this.createEvent("responseParseEvent");this.createEvent("responseCacheEvent");this.createEvent("dataErrorEvent");this.createEvent("cacheFlushEvent");var DS=util.DataSourceBase;this._sName="DataSource instance"+DS._nIndex;DS._nIndex++;};var DS=util.DataSourceBase;lang.augmentObject(DS,{TYPE_UNKNOWN:-1,TYPE_JSARRAY:0,TYPE_JSFUNCTION:1,TYPE_XHR:2,TYPE_JSON:3,TYPE_XML:4,TYPE_TEXT:5,TYPE_HTMLTABLE:6,TYPE_SCRIPTNODE:7,TYPE_LOCAL:8,ERROR_DATAINVALID:"Invalid data",ERROR_DATANULL:"Null data",_nIndex:0,_nTransactionId:0,_getLocationValue:function(field,context){var locator=field.locator||field.key||field,xmldoc=context.ownerDocument||context,result,res,value=null;try{if(!lang.isUndefined(xmldoc.evaluate)){result=xmldoc.evaluate(locator,context,xmldoc.createNSResolver(!context.ownerDocument?context.documentElement:context.ownerDocument.documentElement),0,null);while(res=result.iterateNext()){value=res.textContent;}}else{xmldoc.setProperty("SelectionLanguage","XPath");result=context.selectNodes(locator)[0];value=result.value||result.text||null;}return value;}catch(e){}},issueCallback:function(callback,params,error,scope){if(lang.isFunction(callback)){callback.apply(scope,params);}else{if(lang.isObject(callback)){scope=callback.scope||scope||window;var callbackFunc=callback.success;if(error){callbackFunc=callback.failure;}if(callbackFunc){callbackFunc.apply(scope,params.concat([callback.argument]));}}}},parseString:function(oData){if(!lang.isValue(oData)){return null;}var string=oData+"";if(lang.isString(string)){return string;}else{return null;}},parseNumber:function(oData){if(!lang.isValue(oData)||(oData==="")){return null;}var number=oData*1;if(lang.isNumber(number)){return number;}else{return null;}},convertNumber:function(oData){return DS.parseNumber(oData);},parseDate:function(oData){var date=null;if(!(oData instanceof Date)){date=new Date(oData);}else{return oData;}if(date instanceof Date){return date;}else{return null;}},convertDate:function(oData){return DS.parseDate(oData);}});DS.Parser={string:DS.parseString,number:DS.parseNumber,date:DS.parseDate};DS.prototype={_sName:null,_aCache:null,_oQueue:null,_aIntervals:null,maxCacheEntries:0,liveData:null,dataType:DS.TYPE_UNKNOWN,responseType:DS.TYPE_UNKNOWN,responseSchema:null,useXPath:false,toString:function(){return this._sName;},getCachedResponse:function(oRequest,oCallback,oCaller){var aCache=this._aCache;if(this.maxCacheEntries>0){if(!aCache){this._aCache=[];}else{var nCacheLength=aCache.length;if(nCacheLength>0){var oResponse=null;this.fireEvent("cacheRequestEvent",{request:oRequest,callback:oCallback,caller:oCaller});for(var i=nCacheLength-1;i>=0;i--){var oCacheElem=aCache[i];if(this.isCacheHit(oRequest,oCacheElem.request)){oResponse=oCacheElem.response;this.fireEvent("cacheResponseEvent",{request:oRequest,response:oResponse,callback:oCallback,caller:oCaller});if(i<nCacheLength-1){aCache.splice(i,1);this.addToCache(oRequest,oResponse);}oResponse.cached=true;break;}}return oResponse;}}}else{if(aCache){this._aCache=null;}}return null;},isCacheHit:function(oRequest,oCachedRequest){return(oRequest===oCachedRequest);},addToCache:function(oRequest,oResponse){var aCache=this._aCache;if(!aCache){return;}while(aCache.length>=this.maxCacheEntries){aCache.shift();}var oCacheElem={request:oRequest,response:oResponse};aCache[aCache.length]=oCacheElem;this.fireEvent("responseCacheEvent",{request:oRequest,response:oResponse});},flushCache:function(){if(this._aCache){this._aCache=[];this.fireEvent("cacheFlushEvent");}},setInterval:function(nMsec,oRequest,oCallback,oCaller){if(lang.isNumber(nMsec)&&(nMsec>=0)){var oSelf=this;var nId=setInterval(function(){oSelf.makeConnection(oRequest,oCallback,oCaller);},nMsec);this._aIntervals.push(nId);return nId;}else{}},clearInterval:function(nId){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){if(tracker[i]===nId){tracker.splice(i,1);clearInterval(nId);}}},clearAllIntervals:function(){var tracker=this._aIntervals||[];for(var i=tracker.length-1;i>-1;i--){clearInterval(tracker[i]);}tracker=[];},sendRequest:function(oRequest,oCallback,oCaller){var oCachedResponse=this.getCachedResponse(oRequest,oCallback,oCaller);if(oCachedResponse){DS.issueCallback(oCallback,[oRequest,oCachedResponse],false,oCaller);return null;}return this.makeConnection(oRequest,oCallback,oCaller);},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=this.liveData;this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;},handleResponse:function(oRequest,oRawResponse,oCallback,oCaller,tId){this.fireEvent("responseEvent",{tId:tId,request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller});var xhr=(this.dataType==DS.TYPE_XHR)?true:false;var oParsedResponse=null;var oFullResponse=oRawResponse;if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oRawResponse&&oRawResponse.getResponseHeader)?oRawResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}else{if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY; +}else{if(oRawResponse&&oRawResponse.nodeType&&(oRawResponse.nodeType===9||oRawResponse.nodeType===1||oRawResponse.nodeType===11)){this.responseType=DS.TYPE_XML;}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}}switch(this.responseType){case DS.TYPE_JSARRAY:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}try{if(lang.isString(oFullResponse)){var parseArgs=[oFullResponse].concat(this.parseJSONArgs);if(lang.JSON){oFullResponse=lang.JSON.parse.apply(lang.JSON,parseArgs);}else{if(window.JSON&&JSON.parse){oFullResponse=JSON.parse.apply(JSON,parseArgs);}else{if(oFullResponse.parseJSON){oFullResponse=oFullResponse.parseJSON.apply(oFullResponse,parseArgs.slice(1));}else{while(oFullResponse.length>0&&(oFullResponse.charAt(0)!="{")&&(oFullResponse.charAt(0)!="[")){oFullResponse=oFullResponse.substring(1,oFullResponse.length);}if(oFullResponse.length>0){var arrayEnd=Math.max(oFullResponse.lastIndexOf("]"),oFullResponse.lastIndexOf("}"));oFullResponse=oFullResponse.substring(0,arrayEnd+1);oFullResponse=eval("("+oFullResponse+")");}}}}}}catch(e1){}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseArrayData(oRequest,oFullResponse);break;case DS.TYPE_JSON:if(xhr&&oRawResponse&&oRawResponse.responseText){oFullResponse=oRawResponse.responseText;}try{if(lang.isString(oFullResponse)){var parseArgs=[oFullResponse].concat(this.parseJSONArgs);if(lang.JSON){oFullResponse=lang.JSON.parse.apply(lang.JSON,parseArgs);}else{if(window.JSON&&JSON.parse){oFullResponse=JSON.parse.apply(JSON,parseArgs);}else{if(oFullResponse.parseJSON){oFullResponse=oFullResponse.parseJSON.apply(oFullResponse,parseArgs.slice(1));}else{while(oFullResponse.length>0&&(oFullResponse.charAt(0)!="{")&&(oFullResponse.charAt(0)!="[")){oFullResponse=oFullResponse.substring(1,oFullResponse.length);}if(oFullResponse.length>0){var objEnd=Math.max(oFullResponse.lastIndexOf("]"),oFullResponse.lastIndexOf("}"));oFullResponse=oFullResponse.substring(0,objEnd+1);oFullResponse=eval("("+oFullResponse+")");}}}}}}catch(e){}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseJSONData(oRequest,oFullResponse);break;case DS.TYPE_HTMLTABLE:if(xhr&&oRawResponse.responseText){var el=document.createElement("div");el.innerHTML=oRawResponse.responseText;oFullResponse=el.getElementsByTagName("table")[0];}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseHTMLTableData(oRequest,oFullResponse);break;case DS.TYPE_XML:if(xhr&&oRawResponse.responseXML){oFullResponse=oRawResponse.responseXML;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseXMLData(oRequest,oFullResponse);break;case DS.TYPE_TEXT:if(xhr&&lang.isString(oRawResponse.responseText)){oFullResponse=oRawResponse.responseText;}oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseTextData(oRequest,oFullResponse);break;default:oFullResponse=this.doBeforeParseData(oRequest,oFullResponse,oCallback);oParsedResponse=this.parseData(oRequest,oFullResponse);break;}oParsedResponse=oParsedResponse||{};if(!oParsedResponse.results){oParsedResponse.results=[];}if(!oParsedResponse.meta){oParsedResponse.meta={};}if(!oParsedResponse.error){oParsedResponse=this.doBeforeCallback(oRequest,oFullResponse,oParsedResponse,oCallback);this.fireEvent("responseParseEvent",{request:oRequest,response:oParsedResponse,callback:oCallback,caller:oCaller});this.addToCache(oRequest,oParsedResponse);}else{oParsedResponse.error=true;this.fireEvent("dataErrorEvent",{request:oRequest,response:oRawResponse,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});}oParsedResponse.tId=tId;DS.issueCallback(oCallback,[oRequest,oParsedResponse],oParsedResponse.error,oCaller);},doBeforeParseData:function(oRequest,oFullResponse,oCallback){return oFullResponse;},doBeforeCallback:function(oRequest,oFullResponse,oParsedResponse,oCallback){return oParsedResponse;},parseData:function(oRequest,oFullResponse){if(lang.isValue(oFullResponse)){var oParsedResponse={results:oFullResponse,meta:{}};return oParsedResponse;}return null;},parseArrayData:function(oRequest,oFullResponse){if(lang.isArray(oFullResponse)){var results=[],i,j,rec,field,data;if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(i=fields.length-1;i>=0;--i){if(typeof fields[i]!=="object"){fields[i]={key:fields[i]};}}var parsers={},p;for(i=fields.length-1;i>=0;--i){p=(typeof fields[i].parser==="function"?fields[i].parser:DS.Parser[fields[i].parser+""])||fields[i].converter;if(p){parsers[fields[i].key]=p;}}var arrType=lang.isArray(oFullResponse[0]);for(i=oFullResponse.length-1;i>-1;i--){var oResult={};rec=oFullResponse[i];if(typeof rec==="object"){for(j=fields.length-1;j>-1;j--){field=fields[j];data=arrType?rec[j]:rec[field.key];if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}else{if(lang.isString(rec)){for(j=fields.length-1;j>-1;j--){field=fields[j];data=rec;if(parsers[field.key]){data=parsers[field.key].call(this,data);}if(data===undefined){data=null;}oResult[field.key]=data;}}}results[i]=oResult;}}else{results=oFullResponse;}var oParsedResponse={results:results};return oParsedResponse;}return null;},parseTextData:function(oRequest,oFullResponse){if(lang.isString(oFullResponse)){if(lang.isString(this.responseSchema.recordDelim)&&lang.isString(this.responseSchema.fieldDelim)){var oParsedResponse={results:[]};var recDelim=this.responseSchema.recordDelim;var fieldDelim=this.responseSchema.fieldDelim;if(oFullResponse.length>0){var newLength=oFullResponse.length-recDelim.length;if(oFullResponse.substr(newLength)==recDelim){oFullResponse=oFullResponse.substr(0,newLength); +}if(oFullResponse.length>0){var recordsarray=oFullResponse.split(recDelim);for(var i=0,len=recordsarray.length,recIdx=0;i<len;++i){var bError=false,sRecord=recordsarray[i];if(lang.isString(sRecord)&&(sRecord.length>0)){var fielddataarray=recordsarray[i].split(fieldDelim);var oResult={};if(lang.isArray(this.responseSchema.fields)){var fields=this.responseSchema.fields;for(var j=fields.length-1;j>-1;j--){try{var data=fielddataarray[j];if(lang.isString(data)){if(data.charAt(0)=='"'){data=data.substr(1);}if(data.charAt(data.length-1)=='"'){data=data.substr(0,data.length-1);}var field=fields[j];var key=(lang.isValue(field.key))?field.key:field;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}else{bError=true;}}catch(e){bError=true;}}}else{oResult=fielddataarray;}if(!bError){oParsedResponse.results[recIdx++]=oResult;}}}}}return oParsedResponse;}}return null;},parseXMLResult:function(result){var oResult={},schema=this.responseSchema;try{for(var m=schema.fields.length-1;m>=0;m--){var field=schema.fields[m];var key=(lang.isValue(field.key))?field.key:field;var data=null;if(this.useXPath){data=YAHOO.util.DataSource._getLocationValue(field,result);}else{var xmlAttr=result.attributes.getNamedItem(key);if(xmlAttr){data=xmlAttr.value;}else{var xmlNode=result.getElementsByTagName(key);if(xmlNode&&xmlNode.item(0)){var item=xmlNode.item(0);data=(item)?((item.text)?item.text:(item.textContent)?item.textContent:null):null;if(!data){var datapieces=[];for(var j=0,len=item.childNodes.length;j<len;j++){if(item.childNodes[j].nodeValue){datapieces[datapieces.length]=item.childNodes[j].nodeValue;}}if(datapieces.length>0){data=datapieces.join("");}}}}}if(data===null){data="";}if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}}catch(e){}return oResult;},parseXMLData:function(oRequest,oFullResponse){var bError=false,schema=this.responseSchema,oParsedResponse={meta:{}},xmlList=null,metaNode=schema.metaNode,metaLocators=schema.metaFields||{},i,k,loc,v;try{if(this.useXPath){for(k in metaLocators){oParsedResponse.meta[k]=YAHOO.util.DataSource._getLocationValue(metaLocators[k],oFullResponse);}}else{metaNode=metaNode?oFullResponse.getElementsByTagName(metaNode)[0]:oFullResponse;if(metaNode){for(k in metaLocators){if(lang.hasOwnProperty(metaLocators,k)){loc=metaLocators[k];v=metaNode.getElementsByTagName(loc)[0];if(v){v=v.firstChild.nodeValue;}else{v=metaNode.attributes.getNamedItem(loc);if(v){v=v.value;}}if(lang.isValue(v)){oParsedResponse.meta[k]=v;}}}}}xmlList=(schema.resultNode)?oFullResponse.getElementsByTagName(schema.resultNode):null;}catch(e){}if(!xmlList||!lang.isArray(schema.fields)){bError=true;}else{oParsedResponse.results=[];for(i=xmlList.length-1;i>=0;--i){var oResult=this.parseXMLResult(xmlList.item(i));oParsedResponse.results[i]=oResult;}}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;},parseJSONData:function(oRequest,oFullResponse){var oParsedResponse={results:[],meta:{}};if(lang.isObject(oFullResponse)&&this.responseSchema.resultsList){var schema=this.responseSchema,fields=schema.fields,resultsList=oFullResponse,results=[],metaFields=schema.metaFields||{},fieldParsers=[],fieldPaths=[],simpleFields=[],bError=false,i,len,j,v,key,parser,path;var buildPath=function(needle){var path=null,keys=[],i=0;if(needle){needle=needle.replace(/\[(['"])(.*?)\1\]/g,function(x,$1,$2){keys[i]=$2;return".@"+(i++);}).replace(/\[(\d+)\]/g,function(x,$1){keys[i]=parseInt($1,10)|0;return".@"+(i++);}).replace(/^\./,"");if(!/[^\w\.\$@]/.test(needle)){path=needle.split(".");for(i=path.length-1;i>=0;--i){if(path[i].charAt(0)==="@"){path[i]=keys[parseInt(path[i].substr(1),10)];}}}else{}}return path;};var walkPath=function(path,origin){var v=origin,i=0,len=path.length;for(;i<len&&v;++i){v=v[path[i]];}return v;};path=buildPath(schema.resultsList);if(path){resultsList=walkPath(path,oFullResponse);if(resultsList===undefined){bError=true;}}else{bError=true;}if(!resultsList){resultsList=[];}if(!lang.isArray(resultsList)){resultsList=[resultsList];}if(!bError){if(schema.fields){var field;for(i=0,len=fields.length;i<len;i++){field=fields[i];key=field.key||field;parser=((typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""])||field.converter;path=buildPath(key);if(parser){fieldParsers[fieldParsers.length]={key:key,parser:parser};}if(path){if(path.length>1){fieldPaths[fieldPaths.length]={key:key,path:path};}else{simpleFields[simpleFields.length]={key:key,path:path[0]};}}else{}}for(i=resultsList.length-1;i>=0;--i){var r=resultsList[i],rec={};if(r){for(j=simpleFields.length-1;j>=0;--j){rec[simpleFields[j].key]=(r[simpleFields[j].path]!==undefined)?r[simpleFields[j].path]:r[j];}for(j=fieldPaths.length-1;j>=0;--j){rec[fieldPaths[j].key]=walkPath(fieldPaths[j].path,r);}for(j=fieldParsers.length-1;j>=0;--j){var p=fieldParsers[j].key;rec[p]=fieldParsers[j].parser(rec[p]);if(rec[p]===undefined){rec[p]=null;}}}results[i]=rec;}}else{results=resultsList;}for(key in metaFields){if(lang.hasOwnProperty(metaFields,key)){path=buildPath(metaFields[key]);if(path){v=walkPath(path,oFullResponse);oParsedResponse.meta[key]=v;}}}}else{oParsedResponse.error=true;}oParsedResponse.results=results;}else{oParsedResponse.error=true;}return oParsedResponse;},parseHTMLTableData:function(oRequest,oFullResponse){var bError=false;var elTable=oFullResponse;var fields=this.responseSchema.fields;var oParsedResponse={results:[]};if(lang.isArray(fields)){for(var i=0;i<elTable.tBodies.length;i++){var elTbody=elTable.tBodies[i];for(var j=elTbody.rows.length-1;j>-1;j--){var elRow=elTbody.rows[j];var oResult={};for(var k=fields.length-1;k>-1;k--){var field=fields[k];var key=(lang.isValue(field.key))?field.key:field; +var data=elRow.cells[k].innerHTML;if(!field.parser&&field.converter){field.parser=field.converter;}var parser=(typeof field.parser==="function")?field.parser:DS.Parser[field.parser+""];if(parser){data=parser.call(this,data);}if(data===undefined){data=null;}oResult[key]=data;}oParsedResponse.results[j]=oResult;}}}else{bError=true;}if(bError){oParsedResponse.error=true;}else{}return oParsedResponse;}};lang.augmentProto(DS,util.EventProvider);util.LocalDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_LOCAL;if(oLiveData){if(YAHOO.lang.isArray(oLiveData)){this.responseType=DS.TYPE_JSARRAY;}else{if(oLiveData.nodeType&&oLiveData.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oLiveData.nodeName&&(oLiveData.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;oLiveData=oLiveData.cloneNode(true);}else{if(YAHOO.lang.isString(oLiveData)){this.responseType=DS.TYPE_TEXT;}else{if(YAHOO.lang.isObject(oLiveData)){this.responseType=DS.TYPE_JSON;}}}}}}else{oLiveData=[];this.responseType=DS.TYPE_JSARRAY;}util.LocalDataSource.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.LocalDataSource,DS);lang.augmentObject(util.LocalDataSource,DS);util.FunctionDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_JSFUNCTION;oLiveData=oLiveData||function(){};util.FunctionDataSource.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.FunctionDataSource,DS,{scope:null,makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oRawResponse=(this.scope)?this.liveData.call(this.scope,oRequest,this):this.liveData(oRequest);if(this.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){this.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse&&oRawResponse.nodeType&&oRawResponse.nodeType==9){this.responseType=DS.TYPE_XML;}else{if(oRawResponse&&oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){this.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){this.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){this.responseType=DS.TYPE_TEXT;}}}}}}this.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);return tId;}});lang.augmentObject(util.FunctionDataSource,DS);util.ScriptNodeDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_SCRIPTNODE;oLiveData=oLiveData||"";util.ScriptNodeDataSource.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.ScriptNodeDataSource,DS,{getUtility:util.Get,asyncMode:"allowAll",scriptCallbackParam:"callback",generateRequestCallback:function(id){return"&"+this.scriptCallbackParam+"=YAHOO.util.ScriptNodeDataSource.callbacks["+id+"]";},doBeforeGetScriptNode:function(sUri){return sUri;},makeConnection:function(oRequest,oCallback,oCaller){var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});if(util.ScriptNodeDataSource._nPending===0){util.ScriptNodeDataSource.callbacks=[];util.ScriptNodeDataSource._nId=0;}var id=util.ScriptNodeDataSource._nId;util.ScriptNodeDataSource._nId++;var oSelf=this;util.ScriptNodeDataSource.callbacks[id]=function(oRawResponse){if((oSelf.asyncMode!=="ignoreStaleResponses")||(id===util.ScriptNodeDataSource.callbacks.length-1)){if(oSelf.responseType===DS.TYPE_UNKNOWN){if(YAHOO.lang.isArray(oRawResponse)){oSelf.responseType=DS.TYPE_JSARRAY;}else{if(oRawResponse.nodeType&&oRawResponse.nodeType==9){oSelf.responseType=DS.TYPE_XML;}else{if(oRawResponse.nodeName&&(oRawResponse.nodeName.toLowerCase()=="table")){oSelf.responseType=DS.TYPE_HTMLTABLE;}else{if(YAHOO.lang.isObject(oRawResponse)){oSelf.responseType=DS.TYPE_JSON;}else{if(YAHOO.lang.isString(oRawResponse)){oSelf.responseType=DS.TYPE_TEXT;}}}}}}oSelf.handleResponse(oRequest,oRawResponse,oCallback,oCaller,tId);}else{}delete util.ScriptNodeDataSource.callbacks[id];};util.ScriptNodeDataSource._nPending++;var sUri=this.liveData+oRequest+this.generateRequestCallback(id);sUri=this.doBeforeGetScriptNode(sUri);this.getUtility.script(sUri,{autopurge:true,onsuccess:util.ScriptNodeDataSource._bumpPendingDown,onfail:util.ScriptNodeDataSource._bumpPendingDown});return tId;}});lang.augmentObject(util.ScriptNodeDataSource,DS);lang.augmentObject(util.ScriptNodeDataSource,{_nId:0,_nPending:0,callbacks:[]});util.XHRDataSource=function(oLiveData,oConfigs){this.dataType=DS.TYPE_XHR;this.connMgr=this.connMgr||util.Connect;oLiveData=oLiveData||"";util.XHRDataSource.superclass.constructor.call(this,oLiveData,oConfigs);};lang.extend(util.XHRDataSource,DS,{connMgr:null,connXhrMode:"allowAll",connMethodPost:false,connTimeout:0,makeConnection:function(oRequest,oCallback,oCaller){var oRawResponse=null;var tId=DS._nTransactionId++;this.fireEvent("requestEvent",{tId:tId,request:oRequest,callback:oCallback,caller:oCaller});var oSelf=this;var oConnMgr=this.connMgr;var oQueue=this._oQueue;var _xhrSuccess=function(oResponse){if(oResponse&&(this.connXhrMode=="ignoreStaleResponses")&&(oResponse.tId!=oQueue.conn.tId)){return null;}else{if(!oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,response:null,callback:oCallback,caller:oCaller,message:DS.ERROR_DATANULL});DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);return null;}else{if(this.responseType===DS.TYPE_UNKNOWN){var ctype=(oResponse.getResponseHeader)?oResponse.getResponseHeader["Content-Type"]:null;if(ctype){if(ctype.indexOf("text/xml")>-1){this.responseType=DS.TYPE_XML;}else{if(ctype.indexOf("application/json")>-1){this.responseType=DS.TYPE_JSON;}else{if(ctype.indexOf("text/plain")>-1){this.responseType=DS.TYPE_TEXT;}}}}}this.handleResponse(oRequest,oResponse,oCallback,oCaller,tId);}}};var _xhrFailure=function(oResponse){this.fireEvent("dataErrorEvent",{request:oRequest,response:oResponse,callback:oCallback,caller:oCaller,message:DS.ERROR_DATAINVALID});if(lang.isString(this.liveData)&&lang.isString(oRequest)&&(this.liveData.lastIndexOf("?")!==this.liveData.length-1)&&(oRequest.indexOf("?")!==0)){}oResponse=oResponse||{}; +oResponse.error=true;DS.issueCallback(oCallback,[oRequest,oResponse],true,oCaller);return null;};var _xhrCallback={success:_xhrSuccess,failure:_xhrFailure,scope:this};if(lang.isNumber(this.connTimeout)){_xhrCallback.timeout=this.connTimeout;}if(this.connXhrMode=="cancelStaleRequests"){if(oQueue.conn){if(oConnMgr.abort){oConnMgr.abort(oQueue.conn);oQueue.conn=null;}else{}}}if(oConnMgr&&oConnMgr.asyncRequest){var sLiveData=this.liveData;var isPost=this.connMethodPost;var sMethod=(isPost)?"POST":"GET";var sUri=(isPost||!lang.isValue(oRequest))?sLiveData:sLiveData+oRequest;var sRequest=(isPost)?oRequest:null;if(this.connXhrMode!="queueRequests"){oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}else{if(oQueue.conn){var allRequests=oQueue.requests;allRequests.push({request:oRequest,callback:_xhrCallback});if(!oQueue.interval){oQueue.interval=setInterval(function(){if(oConnMgr.isCallInProgress(oQueue.conn)){return;}else{if(allRequests.length>0){sUri=(isPost||!lang.isValue(allRequests[0].request))?sLiveData:sLiveData+allRequests[0].request;sRequest=(isPost)?allRequests[0].request:null;oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,allRequests[0].callback,sRequest);allRequests.shift();}else{clearInterval(oQueue.interval);oQueue.interval=null;}}},50);}}else{oQueue.conn=oConnMgr.asyncRequest(sMethod,sUri,_xhrCallback,sRequest);}}}else{DS.issueCallback(oCallback,[oRequest,{error:true}],true,oCaller);}return tId;}});lang.augmentObject(util.XHRDataSource,DS);util.DataSource=function(oLiveData,oConfigs){oConfigs=oConfigs||{};var dataType=oConfigs.dataType;if(dataType){if(dataType==DS.TYPE_LOCAL){lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_XHR){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_SCRIPTNODE){lang.augmentObject(util.DataSource,util.ScriptNodeDataSource);return new util.ScriptNodeDataSource(oLiveData,oConfigs);}else{if(dataType==DS.TYPE_JSFUNCTION){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}}}}}if(YAHOO.lang.isString(oLiveData)){lang.augmentObject(util.DataSource,util.XHRDataSource);return new util.XHRDataSource(oLiveData,oConfigs);}else{if(YAHOO.lang.isFunction(oLiveData)){lang.augmentObject(util.DataSource,util.FunctionDataSource);return new util.FunctionDataSource(oLiveData,oConfigs);}else{lang.augmentObject(util.DataSource,util.LocalDataSource);return new util.LocalDataSource(oLiveData,oConfigs);}}};lang.augmentObject(util.DataSource,DS);})();YAHOO.util.Number={format:function(B,E){if(!isFinite(+B)){return"";}B=!isFinite(+B)?0:+B;E=YAHOO.lang.merge(YAHOO.util.Number.format.defaults,(E||{}));var C=B<0,F=Math.abs(B),A=E.decimalPlaces,I=E.thousandsSeparator,H,G,D;if(A<0){H=F-(F%1)+"";D=H.length+A;if(D>0){H=Number("."+H).toFixed(D).slice(2)+new Array(H.length-D+1).join("0");}else{H="0";}}else{H=F<1&&F>=0.5&&!A?"1":F.toFixed(A);}if(F>1000){G=H.split(/\D/);D=G[0].length%3||3;G[0]=G[0].slice(0,D)+G[0].slice(D).replace(/(\d{3})/g,I+"$1");H=G.join(E.decimalSeparator);}H=E.prefix+H+E.suffix;return C?E.negativeFormat.replace(/#/,H):H;}};YAHOO.util.Number.format.defaults={decimalSeparator:".",decimalPlaces:null,thousandsSeparator:"",prefix:"",suffix:"",negativeFormat:"-#"};(function(){var A=function(C,E,D){if(typeof D==="undefined"){D=10;}for(;parseInt(C,10)<D&&D>1;D/=10){C=E.toString()+C;}return C.toString();};var B={formats:{a:function(D,C){return C.a[D.getDay()];},A:function(D,C){return C.A[D.getDay()];},b:function(D,C){return C.b[D.getMonth()];},B:function(D,C){return C.B[D.getMonth()];},C:function(C){return A(parseInt(C.getFullYear()/100,10),0);},d:["getDate","0"],e:["getDate"," "],g:function(C){return A(parseInt(B.formats.G(C)%100,10),0);},G:function(E){var F=E.getFullYear();var D=parseInt(B.formats.V(E),10);var C=parseInt(B.formats.W(E),10);if(C>D){F++;}else{if(C===0&&D>=52){F--;}}return F;},H:["getHours","0"],I:function(D){var C=D.getHours()%12;return A(C===0?12:C,0);},j:function(G){var F=new Date(""+G.getFullYear()+"/1/1 GMT");var D=new Date(""+G.getFullYear()+"/"+(G.getMonth()+1)+"/"+G.getDate()+" GMT");var C=D-F;var E=parseInt(C/60000/60/24,10)+1;return A(E,0,100);},k:["getHours"," "],l:function(D){var C=D.getHours()%12;return A(C===0?12:C," ");},m:function(C){return A(C.getMonth()+1,0);},M:["getMinutes","0"],p:function(D,C){return C.p[D.getHours()>=12?1:0];},P:function(D,C){return C.P[D.getHours()>=12?1:0];},s:function(D,C){return parseInt(D.getTime()/1000,10);},S:["getSeconds","0"],u:function(C){var D=C.getDay();return D===0?7:D;},U:function(F){var C=parseInt(B.formats.j(F),10);var E=6-F.getDay();var D=parseInt((C+E)/7,10);return A(D,0);},V:function(F){var E=parseInt(B.formats.W(F),10);var C=(new Date(""+F.getFullYear()+"/1/1")).getDay();var D=E+(C>4||C<=1?0:1);if(D===53&&(new Date(""+F.getFullYear()+"/12/31")).getDay()<4){D=1;}else{if(D===0){D=B.formats.V(new Date(""+(F.getFullYear()-1)+"/12/31"));}}return A(D,0);},w:"getDay",W:function(F){var C=parseInt(B.formats.j(F),10);var E=7-B.formats.u(F);var D=parseInt((C+E)/7,10);return A(D,0,10);},y:function(C){return A(C.getFullYear()%100,0);},Y:"getFullYear",z:function(E){var D=E.getTimezoneOffset();var C=A(parseInt(Math.abs(D/60),10),0);var F=A(Math.abs(D%60),0);return(D>0?"-":"+")+C+F;},Z:function(C){var D=C.toString().replace(/^.*:\d\d( GMT[+-]\d+)? \(?([A-Za-z ]+)\)?\d*$/,"$2").replace(/[a-z ]/g,"");if(D.length>4){D=B.formats.z(C);}return D;},"%":function(C){return"%";}},aggregates:{c:"locale",D:"%m/%d/%y",F:"%Y-%m-%d",h:"%b",n:"\n",r:"locale",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"},format:function(G,F,D){F=F||{};if(!(G instanceof Date)){return YAHOO.lang.isValue(G)?G:"";}var H=F.format||"%m/%d/%Y";if(H==="YYYY/MM/DD"){H="%Y/%m/%d";}else{if(H==="DD/MM/YYYY"){H="%d/%m/%Y";}else{if(H==="MM/DD/YYYY"){H="%m/%d/%Y";}}}D=D||"en";if(!(D in YAHOO.util.DateLocale)){if(D.replace(/-[a-zA-Z]+$/,"") in YAHOO.util.DateLocale){D=D.replace(/-[a-zA-Z]+$/,""); +}else{D="en";}}var J=YAHOO.util.DateLocale[D];var C=function(L,K){var M=B.aggregates[K];return(M==="locale"?J[K]:M);};var E=function(L,K){var M=B.formats[K];if(typeof M==="string"){return G[M]();}else{if(typeof M==="function"){return M.call(G,G,J);}else{if(typeof M==="object"&&typeof M[0]==="string"){return A(G[M[0]](),M[1]);}else{return K;}}}};while(H.match(/%[cDFhnrRtTxX]/)){H=H.replace(/%([cDFhnrRtTxX])/g,C);}var I=H.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g,E);C=E=undefined;return I;}};YAHOO.namespace("YAHOO.util");YAHOO.util.Date=B;YAHOO.util.DateLocale={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],r:"%I:%M:%S %p",x:"%d/%m/%y",X:"%T"};YAHOO.util.DateLocale["en"]=YAHOO.lang.merge(YAHOO.util.DateLocale,{});YAHOO.util.DateLocale["en-US"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{c:"%a %d %b %Y %I:%M:%S %p %Z",x:"%m/%d/%Y",X:"%I:%M:%S %p"});YAHOO.util.DateLocale["en-GB"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"],{r:"%l:%M:%S %P %Z"});YAHOO.util.DateLocale["en-AU"]=YAHOO.lang.merge(YAHOO.util.DateLocale["en"]);})();YAHOO.register("datasource",YAHOO.util.DataSource,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/datatable/datatable-min.js b/js/yui/datatable/datatable-min.js new file mode 100644 index 0000000000000000000000000000000000000000..f9b59920a06af94af87b0550d8b3f694edfbe73f --- /dev/null +++ b/js/yui/datatable/datatable-min.js @@ -0,0 +1,29 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Chain=function(){this.q=[].slice.call(arguments);this.createEvent("end");};YAHOO.util.Chain.prototype={id:0,run:function(){var F=this.q[0],C;if(!F){this.fireEvent("end");return this;}else{if(this.id){return this;}}C=F.method||F;if(typeof C==="function"){var E=F.scope||{},B=F.argument||[],A=F.timeout||0,D=this;if(!(B instanceof Array)){B=[B];}if(A<0){this.id=A;if(F.until){for(;!F.until();){C.apply(E,B);}}else{if(F.iterations){for(;F.iterations-->0;){C.apply(E,B);}}else{C.apply(E,B);}}this.q.shift();this.id=0;return this.run();}else{if(F.until){if(F.until()){this.q.shift();return this.run();}}else{if(!F.iterations||!--F.iterations){this.q.shift();}}this.id=setTimeout(function(){C.apply(E,B);if(D.id){D.id=0;D.run();}},A);}}return this;},add:function(A){this.q.push(A);return this;},pause:function(){if(this.id>0){clearTimeout(this.id);}this.id=0;return this;},stop:function(){this.pause();this.q=[];return this;}};YAHOO.lang.augmentProto(YAHOO.util.Chain,YAHOO.util.EventProvider);YAHOO.widget.ColumnSet=function(A){this._sId="yui-cs"+YAHOO.widget.ColumnSet._nCount;A=YAHOO.widget.DataTable._cloneObject(A);this._init(A);YAHOO.widget.ColumnSet._nCount++;};YAHOO.widget.ColumnSet._nCount=0;YAHOO.widget.ColumnSet.prototype={_sId:null,_aDefinitions:null,tree:null,flat:null,keys:null,headers:null,_init:function(I){var J=[];var A=[];var G=[];var E=[];var C=-1;var B=function(M,S){C++;if(!J[C]){J[C]=[];}for(var O=0;O<M.length;O++){var K=M[O];var Q=new YAHOO.widget.Column(K);K.yuiColumnId=Q._sId;A.push(Q);if(S){Q._oParent=S;}if(YAHOO.lang.isArray(K.children)){Q.children=K.children;var R=0;var P=function(V){var W=V.children;for(var U=0;U<W.length;U++){if(YAHOO.lang.isArray(W[U].children)){P(W[U]);}else{R++;}}};P(K);Q._nColspan=R;var T=K.children;for(var N=0;N<T.length;N++){var L=T[N];if(Q.className&&(L.className===undefined)){L.className=Q.className;}if(Q.editor&&(L.editor===undefined)){L.editor=Q.editor;}if(Q.editorOptions&&(L.editorOptions===undefined)){L.editorOptions=Q.editorOptions;}if(Q.formatter&&(L.formatter===undefined)){L.formatter=Q.formatter;}if(Q.resizeable&&(L.resizeable===undefined)){L.resizeable=Q.resizeable;}if(Q.sortable&&(L.sortable===undefined)){L.sortable=Q.sortable;}if(Q.hidden){L.hidden=true;}if(Q.width&&(L.width===undefined)){L.width=Q.width;}if(Q.minWidth&&(L.minWidth===undefined)){L.minWidth=Q.minWidth;}if(Q.maxAutoWidth&&(L.maxAutoWidth===undefined)){L.maxAutoWidth=Q.maxAutoWidth;}if(Q.type&&(L.type===undefined)){L.type=Q.type;}if(Q.type&&!Q.formatter){Q.formatter=Q.type;}if(Q.text&&!YAHOO.lang.isValue(Q.label)){Q.label=Q.text;}if(Q.parser){}if(Q.sortOptions&&((Q.sortOptions.ascFunction)||(Q.sortOptions.descFunction))){}}if(!J[C+1]){J[C+1]=[];}B(T,Q);}else{Q._nKeyIndex=G.length;Q._nColspan=1;G.push(Q);}J[C].push(Q);}C--;};if(YAHOO.lang.isArray(I)){B(I);this._aDefinitions=I;}else{return null;}var F;var D=function(L){var M=1;var O;var N;var P=function(T,S){S=S||1;for(var U=0;U<T.length;U++){var R=T[U];if(YAHOO.lang.isArray(R.children)){S++;P(R.children,S);S--;}else{if(S>M){M=S;}}}};for(var K=0;K<L.length;K++){O=L[K];P(O);for(var Q=0;Q<O.length;Q++){N=O[Q];if(!YAHOO.lang.isArray(N.children)){N._nRowspan=M;}else{N._nRowspan=1;}}M=1;}};D(J);for(F=0;F<J[0].length;F++){J[0][F]._nTreeIndex=F;}var H=function(K,L){E[K].push(L.getSanitizedKey());if(L._oParent){H(K,L._oParent);}};for(F=0;F<G.length;F++){E[F]=[];H(F,G[F]);E[F]=E[F].reverse();}this.tree=J;this.flat=A;this.keys=G;this.headers=E;},getId:function(){return this._sId;},toString:function(){return"ColumnSet instance "+this._sId;},getDefinitions:function(){var A=this._aDefinitions;var B=function(E,G){for(var D=0;D<E.length;D++){var F=E[D];var I=G.getColumnById(F.yuiColumnId);if(I){var H=I.getDefinition();for(var C in H){if(YAHOO.lang.hasOwnProperty(H,C)){F[C]=H[C];}}}if(YAHOO.lang.isArray(F.children)){B(F.children,G);}}};B(A,this);this._aDefinitions=A;return A;},getColumnById:function(C){if(YAHOO.lang.isString(C)){var A=this.flat;for(var B=A.length-1;B>-1;B--){if(A[B]._sId===C){return A[B];}}}return null;},getColumn:function(C){if(YAHOO.lang.isNumber(C)&&this.keys[C]){return this.keys[C];}else{if(YAHOO.lang.isString(C)){var A=this.flat;var D=[];for(var B=0;B<A.length;B++){if(A[B].key===C){D.push(A[B]);}}if(D.length===1){return D[0];}else{if(D.length>1){return D;}}}}return null;},getDescendants:function(D){var B=this;var C=[];var A;var E=function(F){C.push(F);if(F.children){for(A=0;A<F.children.length;A++){E(B.getColumn(F.children[A].key));}}};E(D);return C;}};YAHOO.widget.Column=function(B){this._sId="yui-col"+YAHOO.widget.Column._nCount;if(B&&YAHOO.lang.isObject(B)){for(var A in B){if(A){this[A]=B[A];}}}if(!YAHOO.lang.isValue(this.key)){this.key="yui-dt-col"+YAHOO.widget.Column._nCount;}if(!YAHOO.lang.isValue(this.field)){this.field=this.key;}YAHOO.widget.Column._nCount++;if(this.width&&!YAHOO.lang.isNumber(this.width)){this.width=null;}if(this.editor&&YAHOO.lang.isString(this.editor)){this.editor=new YAHOO.widget.CellEditor(this.editor,this.editorOptions);}};YAHOO.lang.augmentObject(YAHOO.widget.Column,{_nCount:0,formatCheckbox:function(B,A,C,D){YAHOO.widget.DataTable.formatCheckbox(B,A,C,D);},formatCurrency:function(B,A,C,D){YAHOO.widget.DataTable.formatCurrency(B,A,C,D);},formatDate:function(B,A,C,D){YAHOO.widget.DataTable.formatDate(B,A,C,D);},formatEmail:function(B,A,C,D){YAHOO.widget.DataTable.formatEmail(B,A,C,D);},formatLink:function(B,A,C,D){YAHOO.widget.DataTable.formatLink(B,A,C,D);},formatNumber:function(B,A,C,D){YAHOO.widget.DataTable.formatNumber(B,A,C,D);},formatSelect:function(B,A,C,D){YAHOO.widget.DataTable.formatDropdown(B,A,C,D);}});YAHOO.widget.Column.prototype={_sId:null,_nKeyIndex:null,_nTreeIndex:null,_nColspan:1,_nRowspan:1,_oParent:null,_elTh:null,_elThLiner:null,_elThLabel:null,_elResizer:null,_nWidth:null,_dd:null,_ddResizer:null,key:null,field:null,label:null,abbr:null,children:null,width:null,minWidth:null,maxAutoWidth:null,hidden:false,selected:false,className:null,formatter:null,currencyOptions:null,dateOptions:null,dropdownOptions:null,editor:null,resizeable:false,sortable:false,sortOptions:null,getId:function(){return this._sId; +},toString:function(){return"Column instance "+this._sId;},getDefinition:function(){var A={};A.abbr=this.abbr;A.className=this.className;A.editor=this.editor;A.editorOptions=this.editorOptions;A.field=this.field;A.formatter=this.formatter;A.hidden=this.hidden;A.key=this.key;A.label=this.label;A.minWidth=this.minWidth;A.maxAutoWidth=this.maxAutoWidth;A.resizeable=this.resizeable;A.selected=this.selected;A.sortable=this.sortable;A.sortOptions=this.sortOptions;A.width=this.width;return A;},getKey:function(){return this.key;},getField:function(){return this.field;},getSanitizedKey:function(){return this.getKey().replace(/[^\w\-]/g,"");},getKeyIndex:function(){return this._nKeyIndex;},getTreeIndex:function(){return this._nTreeIndex;},getParent:function(){return this._oParent;},getColspan:function(){return this._nColspan;},getColSpan:function(){return this.getColspan();},getRowspan:function(){return this._nRowspan;},getThEl:function(){return this._elTh;},getThLinerEl:function(){return this._elThLiner;},getResizerEl:function(){return this._elResizer;},getColEl:function(){return this.getThEl();},getIndex:function(){return this.getKeyIndex();},format:function(){}};YAHOO.util.Sort={compare:function(B,A,C){if((B===null)||(typeof B=="undefined")){if((A===null)||(typeof A=="undefined")){return 0;}else{return 1;}}else{if((A===null)||(typeof A=="undefined")){return -1;}}if(B.constructor==String){B=B.toLowerCase();}if(A.constructor==String){A=A.toLowerCase();}if(B<A){return(C)?1:-1;}else{if(B>A){return(C)?-1:1;}else{return 0;}}}};YAHOO.widget.ColumnDD=function(D,A,C,B){if(D&&A&&C&&B){this.datatable=D;this.table=D.getTableEl();this.column=A;this.headCell=C;this.pointer=B;this.newIndex=null;this.init(C);this.initFrame();this.invalidHandleTypes={};this.setPadding(10,0,(this.datatable.getTheadEl().offsetHeight+10),0);YAHOO.util.Event.on(window,"resize",function(){this.initConstraints();},this,true);}else{}};if(YAHOO.util.DDProxy){YAHOO.extend(YAHOO.widget.ColumnDD,YAHOO.util.DDProxy,{initConstraints:function(){var G=YAHOO.util.Dom.getRegion(this.table),D=this.getEl(),F=YAHOO.util.Dom.getXY(D),C=parseInt(YAHOO.util.Dom.getStyle(D,"width"),10),A=parseInt(YAHOO.util.Dom.getStyle(D,"height"),10),E=((F[0]-G.left)+15),B=((G.right-F[0]-C)+15);this.setXConstraint(E,B);this.setYConstraint(10,10);},_resizeProxy:function(){YAHOO.widget.ColumnDD.superclass._resizeProxy.apply(this,arguments);var A=this.getDragEl(),B=this.getEl();YAHOO.util.Dom.setStyle(this.pointer,"height",(this.table.parentNode.offsetHeight+10)+"px");YAHOO.util.Dom.setStyle(this.pointer,"display","block");var C=YAHOO.util.Dom.getXY(B);YAHOO.util.Dom.setXY(this.pointer,[C[0],(C[1]-5)]);YAHOO.util.Dom.setStyle(A,"height",this.datatable.getContainerEl().offsetHeight+"px");YAHOO.util.Dom.setStyle(A,"width",(parseInt(YAHOO.util.Dom.getStyle(A,"width"),10)+4)+"px");YAHOO.util.Dom.setXY(this.dragEl,C);},onMouseDown:function(){this.initConstraints();this.resetConstraints();},clickValidator:function(B){if(!this.column.hidden){var A=YAHOO.util.Event.getTarget(B);return(this.isValidHandleChild(A)&&(this.id==this.handleElId||this.DDM.handleWasClicked(A,this.id)));}},onDragOver:function(H,A){var F=this.datatable.getColumn(A);if(F){var C=F.getTreeIndex();while((C===null)&&F.getParent()){F=F.getParent();C=F.getTreeIndex();}if(C!==null){var B=F.getThEl();var K=C;var D=YAHOO.util.Event.getPageX(H),I=YAHOO.util.Dom.getX(B),J=I+((YAHOO.util.Dom.get(B).offsetWidth)/2),E=this.column.getTreeIndex();if(D<J){YAHOO.util.Dom.setX(this.pointer,I);}else{var G=parseInt(B.offsetWidth,10);YAHOO.util.Dom.setX(this.pointer,(I+G));K++;}if(C>E){K--;}if(K<0){K=0;}else{if(K>this.datatable.getColumnSet().tree[0].length){K=this.datatable.getColumnSet().tree[0].length;}}this.newIndex=K;}}},onDragDrop:function(){this.datatable.reorderColumn(this.column,this.newIndex);},endDrag:function(){this.newIndex=null;YAHOO.util.Dom.setStyle(this.pointer,"display","none");}});}YAHOO.util.ColumnResizer=function(E,C,D,A,B){if(E&&C&&D&&A){this.datatable=E;this.column=C;this.headCell=D;this.headCellLiner=C.getThLinerEl();this.resizerLiner=D.firstChild;this.init(A,A,{dragOnly:true,dragElId:B.id});this.initFrame();this.resetResizerEl();this.setPadding(0,1,0,0);}else{}};if(YAHOO.util.DD){YAHOO.extend(YAHOO.util.ColumnResizer,YAHOO.util.DDProxy,{resetResizerEl:function(){var A=YAHOO.util.Dom.get(this.handleElId).style;A.left="auto";A.right=0;A.top="auto";A.bottom=0;A.height=this.headCell.offsetHeight+"px";},onMouseUp:function(G){var E=this.datatable.getColumnSet().keys,B;for(var C=0,A=E.length;C<A;C++){B=E[C];if(B._ddResizer){B._ddResizer.resetResizerEl();}}this.resetResizerEl();var D=this.headCellLiner;var F=D.offsetWidth-(parseInt(YAHOO.util.Dom.getStyle(D,"paddingLeft"),10)|0)-(parseInt(YAHOO.util.Dom.getStyle(D,"paddingRight"),10)|0);this.datatable.fireEvent("columnResizeEvent",{column:this.column,target:this.headCell,width:F});},onMouseDown:function(A){this.startWidth=this.headCellLiner.offsetWidth;this.startX=YAHOO.util.Event.getXY(A)[0];this.nLinerPadding=(parseInt(YAHOO.util.Dom.getStyle(this.headCellLiner,"paddingLeft"),10)|0)+(parseInt(YAHOO.util.Dom.getStyle(this.headCellLiner,"paddingRight"),10)|0);},clickValidator:function(B){if(!this.column.hidden){var A=YAHOO.util.Event.getTarget(B);return(this.isValidHandleChild(A)&&(this.id==this.handleElId||this.DDM.handleWasClicked(A,this.id)));}},startDrag:function(){var E=this.datatable.getColumnSet().keys,D=this.column.getKeyIndex(),B;for(var C=0,A=E.length;C<A;C++){B=E[C];if(B._ddResizer){YAHOO.util.Dom.get(B._ddResizer.handleElId).style.height="1em";}}},onDrag:function(C){var D=YAHOO.util.Event.getXY(C)[0];if(D>YAHOO.util.Dom.getX(this.headCellLiner)){var A=D-this.startX;var B=this.startWidth+A-this.nLinerPadding;if(B>0){this.datatable.setColumnWidth(this.column,B);}}}});}(function(){var G=YAHOO.lang,A=YAHOO.util,E=YAHOO.widget,C=A.Dom,F=A.Event,D=E.DataTable;YAHOO.widget.RecordSet=function(H){this._sId="yui-rs"+E.RecordSet._nCount;E.RecordSet._nCount++;this._records=[]; +if(H){if(G.isArray(H)){this.addRecords(H);}else{if(G.isObject(H)){this.addRecord(H);}}}};var B=E.RecordSet;B._nCount=0;B.prototype={_sId:null,_addRecord:function(J,H){var I=new YAHOO.widget.Record(J);if(YAHOO.lang.isNumber(H)&&(H>-1)){this._records.splice(H,0,I);}else{this._records[this._records.length]=I;}return I;},_setRecord:function(I,H){if(!G.isNumber(H)||H<0){H=this._records.length;}return(this._records[H]=new E.Record(I));},_deleteRecord:function(I,H){if(!G.isNumber(H)||(H<0)){H=1;}this._records.splice(I,H);},getId:function(){return this._sId;},toString:function(){return"RecordSet instance "+this._sId;},getLength:function(){return this._records.length;},getRecord:function(H){var I;if(H instanceof E.Record){for(I=0;I<this._records.length;I++){if(this._records[I]&&(this._records[I]._sId===H._sId)){return H;}}}else{if(G.isNumber(H)){if((H>-1)&&(H<this.getLength())){return this._records[H];}}else{if(G.isString(H)){for(I=0;I<this._records.length;I++){if(this._records[I]&&(this._records[I]._sId===H)){return this._records[I];}}}}}return null;},getRecords:function(I,H){if(!G.isNumber(I)){return this._records;}if(!G.isNumber(H)){return this._records.slice(I);}return this._records.slice(I,I+H);},hasRecords:function(I,H){var K=this.getRecords(I,H);for(var J=0;J<H;++J){if(typeof K[J]==="undefined"){return false;}}return true;},getRecordIndex:function(I){if(I){for(var H=this._records.length-1;H>-1;H--){if(this._records[H]&&I.getId()===this._records[H].getId()){return H;}}}return null;},addRecord:function(J,H){if(G.isObject(J)){var I=this._addRecord(J,H);this.fireEvent("recordAddEvent",{record:I,data:J});return I;}else{return null;}},addRecords:function(L,K){if(G.isArray(L)){var O=[],I,M,H;K=G.isNumber(K)?K:this._records.length;I=K;for(M=0,H=L.length;M<H;++M){if(G.isObject(L[M])){var J=this._addRecord(L[M],I++);O.push(J);}}this.fireEvent("recordsAddEvent",{records:O,data:L});return O;}else{if(G.isObject(L)){var N=this._addRecord(L);this.fireEvent("recordsAddEvent",{records:[N],data:L});return N;}else{return null;}}},setRecord:function(J,H){if(G.isObject(J)){var I=this._setRecord(J,H);this.fireEvent("recordSetEvent",{record:I,data:J});return I;}else{return null;}},setRecords:function(L,K){var O=E.Record,I=G.isArray(L)?L:[L],N=[],M=0,H=I.length,J=0;K=parseInt(K,10)|0;for(;M<H;++M){if(typeof I[M]==="object"&&I[M]){N[J++]=this._records[K+M]=new O(I[M]);}}this.fireEvent("recordsSetEvent",{records:N,data:L});this.fireEvent("recordsSet",{records:N,data:L});if(I.length&&!N.length){}return N.length>1?N:N[0];},updateRecord:function(H,L){var J=this.getRecord(H);if(J&&G.isObject(L)){var K={};for(var I in J._oData){if(G.hasOwnProperty(J._oData,I)){K[I]=J._oData[I];}}J._oData=L;this.fireEvent("recordUpdateEvent",{record:J,newData:L,oldData:K});return J;}else{return null;}},updateKey:function(H,I,J){this.updateRecordValue(H,I,J);},updateRecordValue:function(H,K,N){var J=this.getRecord(H);if(J){var M=null;var L=J._oData[K];if(L&&G.isObject(L)){M={};for(var I in L){if(G.hasOwnProperty(L,I)){M[I]=L[I];}}}else{M=L;}J._oData[K]=N;this.fireEvent("keyUpdateEvent",{record:J,key:K,newData:N,oldData:M});this.fireEvent("recordValueUpdateEvent",{record:J,key:K,newData:N,oldData:M});}else{}},replaceRecords:function(H){this.reset();return this.addRecords(H);},sortRecords:function(H,J,I){return this._records.sort(function(L,K){return H(L,K,J,I);});},reverseRecords:function(){return this._records.reverse();},deleteRecord:function(H){if(G.isNumber(H)&&(H>-1)&&(H<this.getLength())){var I=E.DataTable._cloneObject(this.getRecord(H).getData());this._deleteRecord(H);this.fireEvent("recordDeleteEvent",{data:I,index:H});return I;}else{return null;}},deleteRecords:function(J,H){if(!G.isNumber(H)){H=1;}if(G.isNumber(J)&&(J>-1)&&(J<this.getLength())){var L=this.getRecords(J,H);var I=[];for(var K=0;K<L.length;K++){I[I.length]=E.DataTable._cloneObject(L[K]);}this._deleteRecord(J,H);this.fireEvent("recordsDeleteEvent",{data:I,index:J});return I;}else{return null;}},reset:function(){this._records=[];this.fireEvent("resetEvent");}};G.augmentProto(B,A.EventProvider);YAHOO.widget.Record=function(H){this._nCount=E.Record._nCount;this._sId="yui-rec"+this._nCount;E.Record._nCount++;this._oData={};if(G.isObject(H)){for(var I in H){if(G.hasOwnProperty(H,I)){this._oData[I]=H[I];}}}};YAHOO.widget.Record._nCount=0;YAHOO.widget.Record.prototype={_nCount:null,_sId:null,_oData:null,getCount:function(){return this._nCount;},getId:function(){return this._sId;},getData:function(H){if(G.isString(H)){return this._oData[H];}else{return this._oData;}},setData:function(H,I){this._oData[H]=I;}};})();(function(){var H=YAHOO.lang,A=YAHOO.util,E=YAHOO.widget,B=YAHOO.env.ua,C=A.Dom,G=A.Event,F=A.DataSourceBase;YAHOO.widget.DataTable=function(I,M,O,K){var L=E.DataTable;if(K&&K.scrollable){return new YAHOO.widget.ScrollingDataTable(I,M,O,K);}this._nIndex=L._nCount;this._sId="yui-dt"+this._nIndex;this._oChainRender=new YAHOO.util.Chain();this._oChainRender.subscribe("end",this._onRenderChainEnd,this,true);this._initConfigs(K);this._initDataSource(O);if(!this._oDataSource){return;}this._initColumnSet(M);if(!this._oColumnSet){return;}this._initRecordSet();if(!this._oRecordSet){}L.superclass.constructor.call(this,I,this.configs);var Q=this._initDomElements(I);if(!Q){return;}this.showTableMessage(this.get("MSG_LOADING"),L.CLASS_LOADING);this._initEvents();L._nCount++;L._nCurrentCount++;var N={success:this.onDataReturnSetRows,failure:this.onDataReturnSetRows,scope:this,argument:this.getState()};var P=this.get("initialLoad");if(P===true){this._oDataSource.sendRequest(this.get("initialRequest"),N);}else{if(P===false){this.showTableMessage(this.get("MSG_EMPTY"),L.CLASS_EMPTY);}else{var J=P||{};N.argument=J.argument||{};this._oDataSource.sendRequest(J.request,N);}}};var D=E.DataTable;H.augmentObject(D,{CLASS_DATATABLE:"yui-dt",CLASS_LINER:"yui-dt-liner",CLASS_LABEL:"yui-dt-label",CLASS_MESSAGE:"yui-dt-message",CLASS_MASK:"yui-dt-mask",CLASS_DATA:"yui-dt-data",CLASS_COLTARGET:"yui-dt-coltarget",CLASS_RESIZER:"yui-dt-resizer",CLASS_RESIZERLINER:"yui-dt-resizerliner",CLASS_RESIZERPROXY:"yui-dt-resizerproxy",CLASS_EDITOR:"yui-dt-editor",CLASS_PAGINATOR:"yui-dt-paginator",CLASS_PAGE:"yui-dt-page",CLASS_DEFAULT:"yui-dt-default",CLASS_PREVIOUS:"yui-dt-previous",CLASS_NEXT:"yui-dt-next",CLASS_FIRST:"yui-dt-first",CLASS_LAST:"yui-dt-last",CLASS_EVEN:"yui-dt-even",CLASS_ODD:"yui-dt-odd",CLASS_SELECTED:"yui-dt-selected",CLASS_HIGHLIGHTED:"yui-dt-highlighted",CLASS_HIDDEN:"yui-dt-hidden",CLASS_DISABLED:"yui-dt-disabled",CLASS_EMPTY:"yui-dt-empty",CLASS_LOADING:"yui-dt-loading",CLASS_ERROR:"yui-dt-error",CLASS_EDITABLE:"yui-dt-editable",CLASS_DRAGGABLE:"yui-dt-draggable",CLASS_RESIZEABLE:"yui-dt-resizeable",CLASS_SCROLLABLE:"yui-dt-scrollable",CLASS_SORTABLE:"yui-dt-sortable",CLASS_ASC:"yui-dt-asc",CLASS_DESC:"yui-dt-desc",CLASS_BUTTON:"yui-dt-button",CLASS_CHECKBOX:"yui-dt-checkbox",CLASS_DROPDOWN:"yui-dt-dropdown",CLASS_RADIO:"yui-dt-radio",_nCount:0,_nCurrentCount:0,_elDynStyleNode:null,_bDynStylesFallback:(B.ie)?true:false,_oDynStyles:{},_elColumnDragTarget:null,_elColumnResizerProxy:null,_cloneObject:function(L){if(!H.isValue(L)){return L; +}var N={};if(L instanceof YAHOO.widget.BaseCellEditor){N=L;}else{if(H.isFunction(L)){N=L;}else{if(H.isArray(L)){var M=[];for(var K=0,J=L.length;K<J;K++){M[K]=D._cloneObject(L[K]);}N=M;}else{if(H.isObject(L)){for(var I in L){if(H.hasOwnProperty(L,I)){if(H.isValue(L[I])&&H.isObject(L[I])||H.isArray(L[I])){N[I]=D._cloneObject(L[I]);}else{N[I]=L[I];}}}}else{N=L;}}}}return N;},_destroyColumnDragTargetEl:function(){if(D._elColumnDragTarget){var I=D._elColumnDragTarget;YAHOO.util.Event.purgeElement(I);I.parentNode.removeChild(I);D._elColumnDragTarget=null;}},_initColumnDragTargetEl:function(){if(!D._elColumnDragTarget){var I=document.createElement("div");I.className=D.CLASS_COLTARGET;I.style.display="none";document.body.insertBefore(I,document.body.firstChild);D._elColumnDragTarget=I;}return D._elColumnDragTarget;},_destroyColumnResizerProxyEl:function(){if(D._elColumnResizerProxy){var I=D._elColumnResizerProxy;YAHOO.util.Event.purgeElement(I);I.parentNode.removeChild(I);D._elColumnResizerProxy=null;}},_initColumnResizerProxyEl:function(){if(!D._elColumnResizerProxy){var I=document.createElement("div");I.id="yui-dt-colresizerproxy";I.className=D.CLASS_RESIZERPROXY;document.body.insertBefore(I,document.body.firstChild);D._elColumnResizerProxy=I;}return D._elColumnResizerProxy;},formatButton:function(I,J,K,M){var L=H.isValue(M)?M:"Click";I.innerHTML='<button type="button" class="'+D.CLASS_BUTTON+'">'+L+"</button>";},formatCheckbox:function(I,J,K,M){var L=M;L=(L)?' checked="checked"':"";I.innerHTML='<input type="checkbox"'+L+' class="'+D.CLASS_CHECKBOX+'" />';},formatCurrency:function(I,J,K,L){I.innerHTML=A.Number.format(L,K.currencyOptions||this.get("currencyOptions"));},formatDate:function(I,K,L,M){var J=L.dateOptions||this.get("dateOptions");I.innerHTML=A.Date.format(M,J,J.locale);},formatDropdown:function(K,R,P,I){var Q=(H.isValue(I))?I:R.getData(P.field),S=(H.isArray(P.dropdownOptions))?P.dropdownOptions:null,J,O=K.getElementsByTagName("select");if(O.length===0){J=document.createElement("select");J.className=D.CLASS_DROPDOWN;J=K.appendChild(J);G.addListener(J,"change",this._onDropdownChange,this);}J=O[0];if(J){J.innerHTML="";if(S){for(var M=0;M<S.length;M++){var N=S[M];var L=document.createElement("option");L.value=(H.isValue(N.value))?N.value:N;L.innerHTML=(H.isValue(N.text))?N.text:(H.isValue(N.label))?N.label:N;L=J.appendChild(L);if(L.value==Q){L.selected=true;}}}else{J.innerHTML='<option selected value="'+Q+'">'+Q+"</option>";}}else{K.innerHTML=H.isValue(I)?I:"";}},formatEmail:function(I,J,K,L){if(H.isString(L)){I.innerHTML='<a href="mailto:'+L+'">'+L+"</a>";}else{I.innerHTML=H.isValue(L)?L:"";}},formatLink:function(I,J,K,L){if(H.isString(L)){I.innerHTML='<a href="'+L+'">'+L+"</a>";}else{I.innerHTML=H.isValue(L)?L:"";}},formatNumber:function(I,J,K,L){I.innerHTML=A.Number.format(L,K.numberOptions||this.get("numberOptions"));},formatRadio:function(I,J,K,M){var L=M;L=(L)?' checked="checked"':"";I.innerHTML='<input type="radio"'+L+' name="'+this.getId()+"-col-"+K.getSanitizedKey()+'"'+' class="'+D.CLASS_RADIO+'" />';},formatText:function(I,J,L,M){var K=(H.isValue(M))?M:"";I.innerHTML=K.toString().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");},formatTextarea:function(J,K,M,N){var L=(H.isValue(N))?N:"",I="<textarea>"+L+"</textarea>";J.innerHTML=I;},formatTextbox:function(J,K,M,N){var L=(H.isValue(N))?N:"",I='<input type="text" value="'+L+'" />';J.innerHTML=I;},formatDefault:function(I,J,K,L){I.innerHTML=L===undefined||L===null||(typeof L==="number"&&isNaN(L))?" ":L.toString();},validateNumber:function(J){var I=J*1;if(H.isNumber(I)){return I;}else{return undefined;}}});D.Formatter={button:D.formatButton,checkbox:D.formatCheckbox,currency:D.formatCurrency,"date":D.formatDate,dropdown:D.formatDropdown,email:D.formatEmail,link:D.formatLink,"number":D.formatNumber,radio:D.formatRadio,text:D.formatText,textarea:D.formatTextarea,textbox:D.formatTextbox,defaultFormatter:D.formatDefault};H.extend(D,A.Element,{initAttributes:function(I){I=I||{};D.superclass.initAttributes.call(this,I);this.setAttributeConfig("summary",{value:"",validator:H.isString,method:function(J){if(this._elTable){this._elTable.summary=J;}}});this.setAttributeConfig("selectionMode",{value:"standard",validator:H.isString});this.setAttributeConfig("sortedBy",{value:null,validator:function(J){if(J){return(H.isObject(J)&&J.key);}else{return(J===null);}},method:function(K){var R=this.get("sortedBy");this._configs.sortedBy.value=K;var J,O,M,Q;if(this._elThead){if(R&&R.key&&R.dir){J=this._oColumnSet.getColumn(R.key);O=J.getKeyIndex();var U=J.getThEl();C.removeClass(U,R.dir);this.formatTheadCell(J.getThLinerEl().firstChild,J,K);}if(K){M=(K.column)?K.column:this._oColumnSet.getColumn(K.key);Q=M.getKeyIndex();var V=M.getThEl();if(K.dir&&((K.dir=="asc")||(K.dir=="desc"))){var P=(K.dir=="desc")?D.CLASS_DESC:D.CLASS_ASC;C.addClass(V,P);}else{var L=K.dir||D.CLASS_ASC;C.addClass(V,L);}this.formatTheadCell(M.getThLinerEl().firstChild,M,K);}}if(this._elTbody){this._elTbody.style.display="none";var S=this._elTbody.rows,T;for(var N=S.length-1;N>-1;N--){T=S[N].childNodes;if(T[O]){C.removeClass(T[O],R.dir);}if(T[Q]){C.addClass(T[Q],K.dir);}}this._elTbody.style.display="";}this._clearTrTemplateEl();}});this.setAttributeConfig("paginator",{value:null,validator:function(J){return J===null||J instanceof E.Paginator;},method:function(){this._updatePaginator.apply(this,arguments);}});this.setAttributeConfig("caption",{value:null,validator:H.isString,method:function(J){this._initCaptionEl(J);}});this.setAttributeConfig("draggableColumns",{value:false,validator:H.isBoolean,method:function(J){if(this._elThead){if(J){this._initDraggableColumns();}else{this._destroyDraggableColumns();}}}});this.setAttributeConfig("renderLoopSize",{value:0,validator:H.isNumber});this.setAttributeConfig("formatRow",{value:null,validator:H.isFunction});this.setAttributeConfig("generateRequest",{value:function(K,N){K=K||{pagination:null,sortedBy:null};var M=encodeURIComponent((K.sortedBy)?K.sortedBy.key:N.getColumnSet().keys[0].getKey()); +var J=(K.sortedBy&&K.sortedBy.dir===YAHOO.widget.DataTable.CLASS_DESC)?"desc":"asc";var O=(K.pagination)?K.pagination.recordOffset:0;var L=(K.pagination)?K.pagination.rowsPerPage:null;return"sort="+M+"&dir="+J+"&startIndex="+O+((L!==null)?"&results="+L:"");},validator:H.isFunction});this.setAttributeConfig("initialRequest",{value:null});this.setAttributeConfig("initialLoad",{value:true});this.setAttributeConfig("dynamicData",{value:false,validator:H.isBoolean});this.setAttributeConfig("MSG_EMPTY",{value:"No records found.",validator:H.isString});this.setAttributeConfig("MSG_LOADING",{value:"Loading...",validator:H.isString});this.setAttributeConfig("MSG_ERROR",{value:"Data error.",validator:H.isString});this.setAttributeConfig("MSG_SORTASC",{value:"Click to sort ascending",validator:H.isString,method:function(K){if(this._elThead){for(var L=0,M=this.getColumnSet().keys,J=M.length;L<J;L++){if(M[L].sortable&&this.getColumnSortDir(M[L])===D.CLASS_ASC){M[L]._elThLabel.firstChild.title=K;}}}}});this.setAttributeConfig("MSG_SORTDESC",{value:"Click to sort descending",validator:H.isString,method:function(K){if(this._elThead){for(var L=0,M=this.getColumnSet().keys,J=M.length;L<J;L++){if(M[L].sortable&&this.getColumnSortDir(M[L])===D.CLASS_DESC){M[L]._elThLabel.firstChild.title=K;}}}}});this.setAttributeConfig("currencySymbol",{value:"$",validator:H.isString});this.setAttributeConfig("currencyOptions",{value:{prefix:this.get("currencySymbol"),decimalPlaces:2,decimalSeparator:".",thousandsSeparator:","}});this.setAttributeConfig("dateOptions",{value:{format:"%m/%d/%Y",locale:"en"}});this.setAttributeConfig("numberOptions",{value:{decimalPlaces:0,thousandsSeparator:","}});},_bInit:true,_nIndex:null,_nTrCount:0,_nTdCount:0,_sId:null,_oChainRender:null,_elContainer:null,_elMask:null,_elTable:null,_elCaption:null,_elColgroup:null,_elThead:null,_elTbody:null,_elMsgTbody:null,_elMsgTr:null,_elMsgTd:null,_oDataSource:null,_oColumnSet:null,_oRecordSet:null,_oCellEditor:null,_sFirstTrId:null,_sLastTrId:null,_elTrTemplate:null,_aDynFunctions:[],clearTextSelection:function(){var I;if(window.getSelection){I=window.getSelection();}else{if(document.getSelection){I=document.getSelection();}else{if(document.selection){I=document.selection;}}}if(I){if(I.empty){I.empty();}else{if(I.removeAllRanges){I.removeAllRanges();}else{if(I.collapse){I.collapse();}}}}},_focusEl:function(I){I=I||this._elTbody;setTimeout(function(){try{I.focus();}catch(J){}},0);},_repaintGecko:(B.gecko)?function(J){J=J||this._elContainer;var I=J.parentNode;var K=J.nextSibling;I.insertBefore(I.removeChild(J),K);}:function(){},_repaintOpera:(B.opera)?function(){if(B.opera){document.documentElement.className+=" ";document.documentElement.className=YAHOO.lang.trim(document.documentElement.className);}}:function(){},_repaintWebkit:(B.webkit)?function(J){J=J||this._elContainer;var I=J.parentNode;var K=J.nextSibling;I.insertBefore(I.removeChild(J),K);}:function(){},_initConfigs:function(I){if(!I||!H.isObject(I)){I={};}this.configs=I;},_initColumnSet:function(M){var L,J,I;if(this._oColumnSet){for(J=0,I=this._oColumnSet.keys.length;J<I;J++){L=this._oColumnSet.keys[J];D._oDynStyles["."+this.getId()+"-col-"+L.getSanitizedKey()+" ."+D.CLASS_LINER]=undefined;if(L.editor&&L.editor.unsubscribeAll){L.editor.unsubscribeAll();}}this._oColumnSet=null;this._clearTrTemplateEl();}if(H.isArray(M)){this._oColumnSet=new YAHOO.widget.ColumnSet(M);}else{if(M instanceof YAHOO.widget.ColumnSet){this._oColumnSet=M;}}var K=this._oColumnSet.keys;for(J=0,I=K.length;J<I;J++){L=K[J];if(L.editor&&L.editor.subscribe){L.editor.subscribe("showEvent",this._onEditorShowEvent,this,true);L.editor.subscribe("keydownEvent",this._onEditorKeydownEvent,this,true);L.editor.subscribe("revertEvent",this._onEditorRevertEvent,this,true);L.editor.subscribe("saveEvent",this._onEditorSaveEvent,this,true);L.editor.subscribe("cancelEvent",this._onEditorCancelEvent,this,true);L.editor.subscribe("blurEvent",this._onEditorBlurEvent,this,true);L.editor.subscribe("blockEvent",this._onEditorBlockEvent,this,true);L.editor.subscribe("unblockEvent",this._onEditorUnblockEvent,this,true);}}},_initDataSource:function(I){this._oDataSource=null;if(I&&(H.isFunction(I.sendRequest))){this._oDataSource=I;}else{var J=null;var N=this._elContainer;var K=0;if(N.hasChildNodes()){var M=N.childNodes;for(K=0;K<M.length;K++){if(M[K].nodeName&&M[K].nodeName.toLowerCase()=="table"){J=M[K];break;}}if(J){var L=[];for(;K<this._oColumnSet.keys.length;K++){L.push({key:this._oColumnSet.keys[K].key});}this._oDataSource=new F(J);this._oDataSource.responseType=F.TYPE_HTMLTABLE;this._oDataSource.responseSchema={fields:L};}}}},_initRecordSet:function(){if(this._oRecordSet){this._oRecordSet.reset();}else{this._oRecordSet=new YAHOO.widget.RecordSet();}},_initDomElements:function(I){this._initContainerEl(I);this._initTableEl(this._elContainer);this._initColgroupEl(this._elTable);this._initTheadEl(this._elTable);this._initMsgTbodyEl(this._elTable);this._initTbodyEl(this._elTable);if(!this._elContainer||!this._elTable||!this._elColgroup||!this._elThead||!this._elTbody||!this._elMsgTbody){return false;}else{return true;}},_destroyContainerEl:function(I){C.removeClass(I,D.CLASS_DATATABLE);G.purgeElement(I,true);I.innerHTML="";this._elContainer=null;this._elColgroup=null;this._elThead=null;this._elTbody=null;},_initContainerEl:function(J){J=C.get(J);if(J&&J.nodeName&&(J.nodeName.toLowerCase()=="div")){this._destroyContainerEl(J);C.addClass(J,D.CLASS_DATATABLE);G.addListener(J,"focus",this._onTableFocus,this);G.addListener(J,"dblclick",this._onTableDblclick,this);this._elContainer=J;var I=document.createElement("div");I.className=D.CLASS_MASK;I.style.display="none";this._elMask=J.appendChild(I);}},_destroyTableEl:function(){var I=this._elTable;if(I){G.purgeElement(I,true);I.parentNode.removeChild(I);this._elCaption=null;this._elColgroup=null;this._elThead=null;this._elTbody=null;}},_initCaptionEl:function(I){if(this._elTable&&I){if(!this._elCaption){this._elCaption=this._elTable.createCaption(); +}this._elCaption.innerHTML=I;}else{if(this._elCaption){this._elCaption.parentNode.removeChild(this._elCaption);}}},_initTableEl:function(I){if(I){this._destroyTableEl();this._elTable=I.appendChild(document.createElement("table"));this._elTable.summary=this.get("summary");if(this.get("caption")){this._initCaptionEl(this.get("caption"));}}},_destroyColgroupEl:function(){var I=this._elColgroup;if(I){var J=I.parentNode;G.purgeElement(I,true);J.removeChild(I);this._elColgroup=null;}},_initColgroupEl:function(R){if(R){this._destroyColgroupEl();var K=this._aColIds||[],Q=this._oColumnSet.keys,L=0,O=K.length,I,N,P=document.createDocumentFragment(),M=document.createElement("col");for(L=0,O=Q.length;L<O;L++){N=Q[L];I=P.appendChild(M.cloneNode(false));}var J=R.insertBefore(document.createElement("colgroup"),R.firstChild);J.appendChild(P);this._elColgroup=J;}},_insertColgroupColEl:function(I){if(H.isNumber(I)&&this._elColgroup){var J=this._elColgroup.childNodes[I]||null;this._elColgroup.insertBefore(document.createElement("col"),J);}},_removeColgroupColEl:function(I){if(H.isNumber(I)&&this._elColgroup&&this._elColgroup.childNodes[I]){this._elColgroup.removeChild(this._elColgroup.childNodes[I]);}},_reorderColgroupColEl:function(K,J){if(H.isArray(K)&&H.isNumber(J)&&this._elColgroup&&(this._elColgroup.childNodes.length>K[K.length-1])){var I,M=[];for(I=K.length-1;I>-1;I--){M.push(this._elColgroup.removeChild(this._elColgroup.childNodes[K[I]]));}var L=this._elColgroup.childNodes[J]||null;for(I=M.length-1;I>-1;I--){this._elColgroup.insertBefore(M[I],L);}}},_destroyTheadEl:function(){var J=this._elThead;if(J){var I=J.parentNode;G.purgeElement(J,true);this._destroyColumnHelpers();I.removeChild(J);this._elThead=null;}},_initTheadEl:function(S){S=S||this._elTable;if(S){this._destroyTheadEl();var N=(this._elColgroup)?S.insertBefore(document.createElement("thead"),this._elColgroup.nextSibling):S.appendChild(document.createElement("thead"));G.addListener(N,"focus",this._onTheadFocus,this);G.addListener(N,"keydown",this._onTheadKeydown,this);G.addListener(N,"mouseover",this._onTableMouseover,this);G.addListener(N,"mouseout",this._onTableMouseout,this);G.addListener(N,"mousedown",this._onTableMousedown,this);G.addListener(N,"mouseup",this._onTableMouseup,this);G.addListener(N,"click",this._onTheadClick,this);var U=this._oColumnSet,Q,O,M,K;var T=U.tree;var L;for(O=0;O<T.length;O++){var J=N.appendChild(document.createElement("tr"));for(M=0;M<T[O].length;M++){Q=T[O][M];L=J.appendChild(document.createElement("th"));this._initThEl(L,Q);}if(O===0){C.addClass(J,D.CLASS_FIRST);}if(O===(T.length-1)){C.addClass(J,D.CLASS_LAST);}}var I=U.headers[0]||[];for(O=0;O<I.length;O++){C.addClass(C.get(this.getId()+"-th-"+I[O]),D.CLASS_FIRST);}var P=U.headers[U.headers.length-1]||[];for(O=0;O<P.length;O++){C.addClass(C.get(this.getId()+"-th-"+P[O]),D.CLASS_LAST);}if(B.webkit&&B.webkit<420){var R=this;setTimeout(function(){N.style.display="";},0);N.style.display="none";}this._elThead=N;this._initColumnHelpers();}},_initThEl:function(M,L){M.id=this.getId()+"-th-"+L.getSanitizedKey();M.innerHTML="";M.rowSpan=L.getRowspan();M.colSpan=L.getColspan();L._elTh=M;var I=M.appendChild(document.createElement("div"));I.id=M.id+"-liner";I.className=D.CLASS_LINER;L._elThLiner=I;var J=I.appendChild(document.createElement("span"));J.className=D.CLASS_LABEL;if(L.abbr){M.abbr=L.abbr;}if(L.hidden){this._clearMinWidth(L);}M.className=this._getColumnClassNames(L);if(L.width){var K=(L.minWidth&&(L.width<L.minWidth))?L.minWidth:L.width;if(D._bDynStylesFallback){M.firstChild.style.overflow="hidden";M.firstChild.style.width=K+"px";}else{this._setColumnWidthDynStyles(L,K+"px","hidden");}}this.formatTheadCell(J,L,this.get("sortedBy"));L._elThLabel=J;},formatTheadCell:function(I,M,K){var Q=M.getKey();var P=H.isValue(M.label)?M.label:Q;if(M.sortable){var N=this.getColumnSortDir(M,K);var J=(N===D.CLASS_DESC);if(K&&(M.key===K.key)){J=!(K.dir===D.CLASS_DESC);}var L=this.getId()+"-href-"+M.getSanitizedKey();var O=(J)?this.get("MSG_SORTDESC"):this.get("MSG_SORTASC");I.innerHTML='<a href="'+L+'" title="'+O+'" class="'+D.CLASS_SORTABLE+'">'+P+"</a>";}else{I.innerHTML=P;}},_destroyDraggableColumns:function(){var K,L;for(var J=0,I=this._oColumnSet.tree[0].length;J<I;J++){K=this._oColumnSet.tree[0][J];if(K._dd){K._dd=K._dd.unreg();C.removeClass(K.getThEl(),D.CLASS_DRAGGABLE);}}},_initDraggableColumns:function(){this._destroyDraggableColumns();if(A.DD){var L,M,J;for(var K=0,I=this._oColumnSet.tree[0].length;K<I;K++){L=this._oColumnSet.tree[0][K];M=L.getThEl();C.addClass(M,D.CLASS_DRAGGABLE);J=D._initColumnDragTargetEl();L._dd=new YAHOO.widget.ColumnDD(this,L,M,J);}}else{}},_destroyResizeableColumns:function(){var J=this._oColumnSet.keys;for(var K=0,I=J.length;K<I;K++){if(J[K]._ddResizer){J[K]._ddResizer=J[K]._ddResizer.unreg();C.removeClass(J[K].getThEl(),D.CLASS_RESIZEABLE);}}},_initResizeableColumns:function(){this._destroyResizeableColumns();if(A.DD){var O,J,M,P,I,Q,L;for(var K=0,N=this._oColumnSet.keys.length;K<N;K++){O=this._oColumnSet.keys[K];if(O.resizeable){J=O.getThEl();C.addClass(J,D.CLASS_RESIZEABLE);M=O.getThLinerEl();P=J.appendChild(document.createElement("div"));P.className=D.CLASS_RESIZERLINER;P.appendChild(M);I=P.appendChild(document.createElement("div"));I.id=J.id+"-resizer";I.className=D.CLASS_RESIZER;O._elResizer=I;Q=D._initColumnResizerProxyEl();O._ddResizer=new YAHOO.util.ColumnResizer(this,O,J,I,Q);L=function(R){G.stopPropagation(R);};G.addListener(I,"click",L);}}}else{}},_destroyColumnHelpers:function(){this._destroyDraggableColumns();this._destroyResizeableColumns();},_initColumnHelpers:function(){if(this.get("draggableColumns")){this._initDraggableColumns();}this._initResizeableColumns();},_destroyTbodyEl:function(){var I=this._elTbody;if(I){var J=I.parentNode;G.purgeElement(I,true);J.removeChild(I);this._elTbody=null;}},_initTbodyEl:function(J){if(J){this._destroyTbodyEl();var I=J.appendChild(document.createElement("tbody"));I.tabIndex=0;I.className=D.CLASS_DATA; +G.addListener(I,"focus",this._onTbodyFocus,this);G.addListener(I,"mouseover",this._onTableMouseover,this);G.addListener(I,"mouseout",this._onTableMouseout,this);G.addListener(I,"mousedown",this._onTableMousedown,this);G.addListener(I,"mouseup",this._onTableMouseup,this);G.addListener(I,"keydown",this._onTbodyKeydown,this);G.addListener(I,"keypress",this._onTableKeypress,this);G.addListener(I,"click",this._onTbodyClick,this);if(B.ie){I.hideFocus=true;}this._elTbody=I;}},_destroyMsgTbodyEl:function(){var I=this._elMsgTbody;if(I){var J=I.parentNode;G.purgeElement(I,true);J.removeChild(I);this._elTbody=null;}},_initMsgTbodyEl:function(L){if(L){var K=document.createElement("tbody");K.className=D.CLASS_MESSAGE;var J=K.appendChild(document.createElement("tr"));J.className=D.CLASS_FIRST+" "+D.CLASS_LAST;this._elMsgTr=J;var M=J.appendChild(document.createElement("td"));M.colSpan=this._oColumnSet.keys.length||1;M.className=D.CLASS_FIRST+" "+D.CLASS_LAST;this._elMsgTd=M;K=L.insertBefore(K,this._elTbody);var I=M.appendChild(document.createElement("div"));I.className=D.CLASS_LINER;this._elMsgTbody=K;G.addListener(K,"focus",this._onTbodyFocus,this);G.addListener(K,"mouseover",this._onTableMouseover,this);G.addListener(K,"mouseout",this._onTableMouseout,this);G.addListener(K,"mousedown",this._onTableMousedown,this);G.addListener(K,"mouseup",this._onTableMouseup,this);G.addListener(K,"keydown",this._onTbodyKeydown,this);G.addListener(K,"keypress",this._onTableKeypress,this);G.addListener(K,"click",this._onTbodyClick,this);}},_initEvents:function(){this._initColumnSort();YAHOO.util.Event.addListener(document,"click",this._onDocumentClick,this);this.subscribe("paginatorChange",function(){this._handlePaginatorChange.apply(this,arguments);});this.subscribe("initEvent",function(){this.renderPaginator();});this._initCellEditing();},_initColumnSort:function(){this.subscribe("theadCellClickEvent",this.onEventSortColumn);var I=this.get("sortedBy");if(I){if(I.dir=="desc"){this._configs.sortedBy.value.dir=D.CLASS_DESC;}else{if(I.dir=="asc"){this._configs.sortedBy.value.dir=D.CLASS_ASC;}}}},_initCellEditing:function(){this.subscribe("editorBlurEvent",function(){this.onEditorBlurEvent.apply(this,arguments);});this.subscribe("editorBlockEvent",function(){this.onEditorBlockEvent.apply(this,arguments);});this.subscribe("editorUnblockEvent",function(){this.onEditorUnblockEvent.apply(this,arguments);});},_getColumnClassNames:function(L,K){var I;if(H.isString(L.className)){I=[L.className];}else{if(H.isArray(L.className)){I=L.className;}else{I=[];}}I[I.length]=this.getId()+"-col-"+L.getSanitizedKey();I[I.length]="yui-dt-col-"+L.getSanitizedKey();var J=this.get("sortedBy")||{};if(L.key===J.key){I[I.length]=J.dir||"";}if(L.hidden){I[I.length]=D.CLASS_HIDDEN;}if(L.selected){I[I.length]=D.CLASS_SELECTED;}if(L.sortable){I[I.length]=D.CLASS_SORTABLE;}if(L.resizeable){I[I.length]=D.CLASS_RESIZEABLE;}if(L.editor){I[I.length]=D.CLASS_EDITABLE;}if(K){I=I.concat(K);}return I.join(" ");},_clearTrTemplateEl:function(){this._elTrTemplate=null;},_getTrTemplateEl:function(T,N){if(this._elTrTemplate){return this._elTrTemplate;}else{var P=document,R=P.createElement("tr"),K=P.createElement("td"),J=P.createElement("div");K.appendChild(J);var S=document.createDocumentFragment(),Q=this._oColumnSet.keys,M;var O;for(var L=0,I=Q.length;L<I;L++){M=K.cloneNode(true);M=this._formatTdEl(Q[L],M,L,(L===I-1));S.appendChild(M);}R.appendChild(S);this._elTrTemplate=R;return R;}},_formatTdEl:function(M,O,P,L){var S=this._oColumnSet;var I=S.headers,J=I[P],N="",U;for(var K=0,T=J.length;K<T;K++){U=this._sId+"-th-"+J[K]+" ";N+=U;}O.headers=N;var R=[];if(P===0){R[R.length]=D.CLASS_FIRST;}if(L){R[R.length]=D.CLASS_LAST;}O.className=this._getColumnClassNames(M,R);O.firstChild.className=D.CLASS_LINER;if(M.width&&D._bDynStylesFallback){var Q=(M.minWidth&&(M.width<M.minWidth))?M.minWidth:M.width;O.firstChild.style.overflow="hidden";O.firstChild.style.width=Q+"px";}return O;},_addTrEl:function(K){var J=this._getTrTemplateEl();var I=J.cloneNode(true);return this._updateTrEl(I,K);},_updateTrEl:function(J,N){var M=this.get("formatRow")?this.get("formatRow").call(this,J,N):true;if(M){J.style.display="none";var O=J.childNodes,K;for(var L=0,I=O.length;L<I;++L){K=O[L];this.formatCell(O[L].firstChild,N,this._oColumnSet.keys[L]);}J.style.display="";}J.id=N.getId();return J;},_deleteTrEl:function(I){var J;if(!H.isNumber(I)){J=C.get(I).sectionRowIndex;}else{J=I;}if(H.isNumber(J)&&(J>-2)&&(J<this._elTbody.rows.length)){return this._elTbody.removeChild(this.getTrEl(I));}else{return null;}},_unsetFirstRow:function(){if(this._sFirstTrId){C.removeClass(this._sFirstTrId,D.CLASS_FIRST);this._sFirstTrId=null;}},_setFirstRow:function(){this._unsetFirstRow();var I=this.getFirstTrEl();if(I){C.addClass(I,D.CLASS_FIRST);this._sFirstTrId=I.id;}},_unsetLastRow:function(){if(this._sLastTrId){C.removeClass(this._sLastTrId,D.CLASS_LAST);this._sLastTrId=null;}},_setLastRow:function(){this._unsetLastRow();var I=this.getLastTrEl();if(I){C.addClass(I,D.CLASS_LAST);this._sLastTrId=I.id;}},_setRowStripes:function(S,K){var L=this._elTbody.rows,P=0,R=L.length,O=[],Q=0,M=[],I=0;if((S!==null)&&(S!==undefined)){var N=this.getTrEl(S);if(N){P=N.sectionRowIndex;if(H.isNumber(K)&&(K>1)){R=P+K;}}}for(var J=P;J<R;J++){if(J%2){O[Q++]=L[J];}else{M[I++]=L[J];}}if(O.length){C.replaceClass(O,D.CLASS_EVEN,D.CLASS_ODD);}if(M.length){C.replaceClass(M,D.CLASS_ODD,D.CLASS_EVEN);}},_setSelections:function(){var K=this.getSelectedRows();var M=this.getSelectedCells();if((K.length>0)||(M.length>0)){var L=this._oColumnSet,J;for(var I=0;I<K.length;I++){J=C.get(K[I]);if(J){C.addClass(J,D.CLASS_SELECTED);}}for(I=0;I<M.length;I++){J=C.get(M[I].recordId);if(J){C.addClass(J.childNodes[L.getColumn(M[I].columnKey).getKeyIndex()],D.CLASS_SELECTED);}}}},_onRenderChainEnd:function(){this.hideTableMessage();if(this._elTbody.rows.length===0){this.showTableMessage(this.get("MSG_EMPTY"),D.CLASS_EMPTY);}var I=this;setTimeout(function(){if((I instanceof D)&&I._sId){if(I._bInit){I._bInit=false; +I.fireEvent("initEvent");}I.fireEvent("renderEvent");I.fireEvent("refreshEvent");I.validateColumnWidths();I.fireEvent("postRenderEvent");}},0);},_onDocumentClick:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();if(!C.isAncestor(J._elContainer,M)){J.fireEvent("tableBlurEvent");if(J._oCellEditor){if(J._oCellEditor.getContainerEl){var K=J._oCellEditor.getContainerEl();if(!C.isAncestor(K,M)&&(K.id!==M.id)){J._oCellEditor.fireEvent("blurEvent",{editor:J._oCellEditor});}}else{if(J._oCellEditor.isActive){if(!C.isAncestor(J._oCellEditor.container,M)&&(J._oCellEditor.container.id!==M.id)){J.fireEvent("editorBlurEvent",{editor:J._oCellEditor});}}}}}},_onTableFocus:function(J,I){I.fireEvent("tableFocusEvent");},_onTheadFocus:function(J,I){I.fireEvent("theadFocusEvent");I.fireEvent("tableFocusEvent");},_onTbodyFocus:function(J,I){I.fireEvent("tbodyFocusEvent");I.fireEvent("tableFocusEvent");},_onTableMouseover:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"a":break;case"td":K=J.fireEvent("cellMouseoverEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelMouseoverEvent",{target:M,event:L});K=J.fireEvent("headerLabelMouseoverEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellMouseoverEvent",{target:M,event:L});K=J.fireEvent("headerCellMouseoverEvent",{target:M,event:L});break;case"tr":if(M.parentNode.nodeName.toLowerCase()=="thead"){K=J.fireEvent("theadRowMouseoverEvent",{target:M,event:L});K=J.fireEvent("headerRowMouseoverEvent",{target:M,event:L});}else{K=J.fireEvent("rowMouseoverEvent",{target:M,event:L});}break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableMouseoverEvent",{target:(M||J._elContainer),event:L});},_onTableMouseout:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"a":break;case"td":K=J.fireEvent("cellMouseoutEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelMouseoutEvent",{target:M,event:L});K=J.fireEvent("headerLabelMouseoutEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellMouseoutEvent",{target:M,event:L});K=J.fireEvent("headerCellMouseoutEvent",{target:M,event:L});break;case"tr":if(M.parentNode.nodeName.toLowerCase()=="thead"){K=J.fireEvent("theadRowMouseoutEvent",{target:M,event:L});K=J.fireEvent("headerRowMouseoutEvent",{target:M,event:L});}else{K=J.fireEvent("rowMouseoutEvent",{target:M,event:L});}break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableMouseoutEvent",{target:(M||J._elContainer),event:L});},_onTableMousedown:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"a":break;case"td":K=J.fireEvent("cellMousedownEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelMousedownEvent",{target:M,event:L});K=J.fireEvent("headerLabelMousedownEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellMousedownEvent",{target:M,event:L});K=J.fireEvent("headerCellMousedownEvent",{target:M,event:L});break;case"tr":if(M.parentNode.nodeName.toLowerCase()=="thead"){K=J.fireEvent("theadRowMousedownEvent",{target:M,event:L});K=J.fireEvent("headerRowMousedownEvent",{target:M,event:L});}else{K=J.fireEvent("rowMousedownEvent",{target:M,event:L});}break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableMousedownEvent",{target:(M||J._elContainer),event:L});},_onTableMouseup:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"a":break;case"td":K=J.fireEvent("cellMouseupEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelMouseupEvent",{target:M,event:L});K=J.fireEvent("headerLabelMouseupEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellMouseupEvent",{target:M,event:L});K=J.fireEvent("headerCellMouseupEvent",{target:M,event:L});break;case"tr":if(M.parentNode.nodeName.toLowerCase()=="thead"){K=J.fireEvent("theadRowMouseupEvent",{target:M,event:L});K=J.fireEvent("headerRowMouseupEvent",{target:M,event:L});}else{K=J.fireEvent("rowMouseupEvent",{target:M,event:L});}break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableMouseupEvent",{target:(M||J._elContainer),event:L});},_onTableDblclick:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"td":K=J.fireEvent("cellDblclickEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelDblclickEvent",{target:M,event:L});K=J.fireEvent("headerLabelDblclickEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellDblclickEvent",{target:M,event:L});K=J.fireEvent("headerCellDblclickEvent",{target:M,event:L});break;case"tr":if(M.parentNode.nodeName.toLowerCase()=="thead"){K=J.fireEvent("theadRowDblclickEvent",{target:M,event:L});K=J.fireEvent("headerRowDblclickEvent",{target:M,event:L});}else{K=J.fireEvent("rowDblclickEvent",{target:M,event:L});}break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableDblclickEvent",{target:(M||J._elContainer),event:L});},_onTheadKeydown:function(L,J){var M=G.getTarget(L);var I=M.nodeName.toLowerCase();var K=true;while(M&&(I!="table")){switch(I){case"body":return;case"input":case"textarea":break;case"thead":K=J.fireEvent("theadKeyEvent",{target:M,event:L});break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableKeyEvent",{target:(M||J._elContainer),event:L}); +},_onTbodyKeydown:function(M,K){var J=K.get("selectionMode");if(J=="standard"){K._handleStandardSelectionByKey(M);}else{if(J=="single"){K._handleSingleSelectionByKey(M);}else{if(J=="cellblock"){K._handleCellBlockSelectionByKey(M);}else{if(J=="cellrange"){K._handleCellRangeSelectionByKey(M);}else{if(J=="singlecell"){K._handleSingleCellSelectionByKey(M);}}}}}if(K._oCellEditor){if(K._oCellEditor.fireEvent){K._oCellEditor.fireEvent("blurEvent",{editor:K._oCellEditor});}else{if(K._oCellEditor.isActive){K.fireEvent("editorBlurEvent",{editor:K._oCellEditor});}}}var N=G.getTarget(M);var I=N.nodeName.toLowerCase();var L=true;while(N&&(I!="table")){switch(I){case"body":return;case"tbody":L=K.fireEvent("tbodyKeyEvent",{target:N,event:M});break;default:break;}if(L===false){return;}else{N=N.parentNode;if(N){I=N.nodeName.toLowerCase();}}}K.fireEvent("tableKeyEvent",{target:(N||K._elContainer),event:M});},_onTableKeypress:function(K,J){if(B.opera||(navigator.userAgent.toLowerCase().indexOf("mac")!==-1)&&(B.webkit<420)){var I=G.getCharCode(K);if(I==40){G.stopEvent(K);}else{if(I==38){G.stopEvent(K);}}}},_onTheadClick:function(L,J){if(J._oCellEditor){if(J._oCellEditor.fireEvent){J._oCellEditor.fireEvent("blurEvent",{editor:J._oCellEditor});}else{if(J._oCellEditor.isActive){J.fireEvent("editorBlurEvent",{editor:J._oCellEditor});}}}var M=G.getTarget(L),I=M.nodeName.toLowerCase(),K=true;while(M&&(I!="table")){switch(I){case"body":return;case"input":var N=M.type.toLowerCase();if(N=="checkbox"){K=J.fireEvent("theadCheckboxClickEvent",{target:M,event:L});}else{if(N=="radio"){K=J.fireEvent("theadRadioClickEvent",{target:M,event:L});}else{if((N=="button")||(N=="image")||(N=="submit")||(N=="reset")){K=J.fireEvent("theadButtonClickEvent",{target:M,event:L});}}}break;case"a":K=J.fireEvent("theadLinkClickEvent",{target:M,event:L});break;case"button":K=J.fireEvent("theadButtonClickEvent",{target:M,event:L});break;case"span":if(C.hasClass(M,D.CLASS_LABEL)){K=J.fireEvent("theadLabelClickEvent",{target:M,event:L});K=J.fireEvent("headerLabelClickEvent",{target:M,event:L});}break;case"th":K=J.fireEvent("theadCellClickEvent",{target:M,event:L});K=J.fireEvent("headerCellClickEvent",{target:M,event:L});break;case"tr":K=J.fireEvent("theadRowClickEvent",{target:M,event:L});K=J.fireEvent("headerRowClickEvent",{target:M,event:L});break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableClickEvent",{target:(M||J._elContainer),event:L});},_onTbodyClick:function(L,J){if(J._oCellEditor){if(J._oCellEditor.fireEvent){J._oCellEditor.fireEvent("blurEvent",{editor:J._oCellEditor});}else{if(J._oCellEditor.isActive){J.fireEvent("editorBlurEvent",{editor:J._oCellEditor});}}}var M=G.getTarget(L),I=M.nodeName.toLowerCase(),K=true;while(M&&(I!="table")){switch(I){case"body":return;case"input":var N=M.type.toLowerCase();if(N=="checkbox"){K=J.fireEvent("checkboxClickEvent",{target:M,event:L});}else{if(N=="radio"){K=J.fireEvent("radioClickEvent",{target:M,event:L});}else{if((N=="button")||(N=="image")||(N=="submit")||(N=="reset")){K=J.fireEvent("buttonClickEvent",{target:M,event:L});}}}break;case"a":K=J.fireEvent("linkClickEvent",{target:M,event:L});break;case"button":K=J.fireEvent("buttonClickEvent",{target:M,event:L});break;case"td":K=J.fireEvent("cellClickEvent",{target:M,event:L});break;case"tr":K=J.fireEvent("rowClickEvent",{target:M,event:L});break;default:break;}if(K===false){return;}else{M=M.parentNode;if(M){I=M.nodeName.toLowerCase();}}}J.fireEvent("tableClickEvent",{target:(M||J._elContainer),event:L});},_onDropdownChange:function(J,I){var K=G.getTarget(J);I.fireEvent("dropdownChangeEvent",{event:J,target:K});},configs:null,getId:function(){return this._sId;},toString:function(){return"DataTable instance "+this._sId;},getDataSource:function(){return this._oDataSource;},getColumnSet:function(){return this._oColumnSet;},getRecordSet:function(){return this._oRecordSet;},getState:function(){return{totalRecords:this.get("paginator")?this.get("paginator").get("totalRecords"):this._oRecordSet.getLength(),pagination:this.get("paginator")?this.get("paginator").getState():null,sortedBy:this.get("sortedBy"),selectedRows:this.getSelectedRows(),selectedCells:this.getSelectedCells()};},getContainerEl:function(){return this._elContainer;},getTableEl:function(){return this._elTable;},getTheadEl:function(){return this._elThead;},getTbodyEl:function(){return this._elTbody;},getMsgTbodyEl:function(){return this._elMsgTbody;},getMsgTdEl:function(){return this._elMsgTd;},getTrEl:function(K){if(K instanceof YAHOO.widget.Record){return document.getElementById(K.getId());}else{if(H.isNumber(K)){var J=this._elTbody.rows;return((K>-1)&&(K<J.length))?J[K]:null;}else{var I=(H.isString(K))?document.getElementById(K):K;if(I&&(I.ownerDocument==document)){if(I.nodeName.toLowerCase()!="tr"){I=C.getAncestorByTagName(I,"tr");}return I;}}}return null;},getFirstTrEl:function(){return this._elTbody.rows[0]||null;},getLastTrEl:function(){var I=this._elTbody.rows;if(I.length>0){return I[I.length-1]||null;}},getNextTrEl:function(K){var I=this.getTrIndex(K);if(I!==null){var J=this._elTbody.rows;if(I<J.length-1){return J[I+1];}}return null;},getPreviousTrEl:function(K){var I=this.getTrIndex(K);if(I!==null){var J=this._elTbody.rows;if(I>0){return J[I-1];}}return null;},getTdLinerEl:function(I){var J=this.getTdEl(I);return J.firstChild||null;},getTdEl:function(I){var N;var L=C.get(I);if(L&&(L.ownerDocument==document)){if(L.nodeName.toLowerCase()!="td"){N=C.getAncestorByTagName(L,"td");}else{N=L;}if(N&&((N.parentNode.parentNode==this._elTbody)||(N.parentNode.parentNode===null))){return N;}}else{if(I){var M,K;if(H.isString(I.columnKey)&&H.isString(I.recordId)){M=this.getRecord(I.recordId);var O=this.getColumn(I.columnKey);if(O){K=O.getKeyIndex();}}if(I.record&&I.column&&I.column.getKeyIndex){M=I.record;K=I.column.getKeyIndex();}var J=this.getTrEl(M);if((K!==null)&&J&&J.cells&&J.cells.length>0){return J.cells[K]||null;}}}return null; +},getFirstTdEl:function(J){var I=this.getTrEl(J)||this.getFirstTrEl();if(I&&(I.cells.length>0)){return I.cells[0];}return null;},getLastTdEl:function(J){var I=this.getTrEl(J)||this.getLastTrEl();if(I&&(I.cells.length>0)){return I.cells[I.cells.length-1];}return null;},getNextTdEl:function(I){var M=this.getTdEl(I);if(M){var K=M.cellIndex;var J=this.getTrEl(M);if(K<J.cells.length-1){return J.cells[K+1];}else{var L=this.getNextTrEl(J);if(L){return L.cells[0];}}}return null;},getPreviousTdEl:function(I){var M=this.getTdEl(I);if(M){var K=M.cellIndex;var J=this.getTrEl(M);if(K>0){return J.cells[K-1];}else{var L=this.getPreviousTrEl(J);if(L){return this.getLastTdEl(L);}}}return null;},getAboveTdEl:function(I){var K=this.getTdEl(I);if(K){var J=this.getPreviousTrEl(K);if(J){return J.cells[K.cellIndex];}}return null;},getBelowTdEl:function(I){var K=this.getTdEl(I);if(K){var J=this.getNextTrEl(K);if(J){return J.cells[K.cellIndex];}}return null;},getThLinerEl:function(J){var I=this.getColumn(J);return(I)?I.getThLinerEl():null;},getThEl:function(K){var L;if(K instanceof YAHOO.widget.Column){var J=K;L=J.getThEl();if(L){return L;}}else{var I=C.get(K);if(I&&(I.ownerDocument==document)){if(I.nodeName.toLowerCase()!="th"){L=C.getAncestorByTagName(I,"th");}else{L=I;}return L;}}return null;},getTrIndex:function(M){var L;if(M instanceof YAHOO.widget.Record){L=this._oRecordSet.getRecordIndex(M);if(L===null){return null;}}else{if(H.isNumber(M)){L=M;}}if(H.isNumber(L)){if((L>-1)&&(L<this._oRecordSet.getLength())){var K=this.get("paginator");if(K){var J=K.getPageRecords();if(J&&L>=J[0]&&L<=J[1]){return L-J[0];}else{return null;}}else{return L;}}else{return null;}}else{var I=this.getTrEl(M);if(I&&(I.ownerDocument==document)&&(I.parentNode==this._elTbody)){return I.sectionRowIndex;}}return null;},initializeTable:function(){this._bInit=true;this._oRecordSet.reset();var I=this.get("paginator");if(I){I.set("totalRecords",0);}this._unselectAllTrEls();this._unselectAllTdEls();this._aSelections=null;this._oAnchorRecord=null;this._oAnchorCell=null;this.set("sortedBy",null);},_runRenderChain:function(){this._oChainRender.run();},render:function(){this._oChainRender.stop();this.fireEvent("beforeRenderEvent");var O,M,L,P,I;var R=this.get("paginator");if(R){I=this._oRecordSet.getRecords(R.getStartIndex(),R.getRowsPerPage());}else{I=this._oRecordSet.getRecords();}var J=this._elTbody,N=this.get("renderLoopSize"),Q=I.length;if(Q>0){J.style.display="none";while(J.lastChild){J.removeChild(J.lastChild);}J.style.display="";this._oChainRender.add({method:function(U){if((this instanceof D)&&this._sId){var T=U.nCurrentRecord,W=((U.nCurrentRecord+U.nLoopLength)>Q)?Q:(U.nCurrentRecord+U.nLoopLength),S,V;J.style.display="none";for(;T<W;T++){S=C.get(I[T].getId());S=S||this._addTrEl(I[T]);V=J.childNodes[T]||null;J.insertBefore(S,V);}J.style.display="";U.nCurrentRecord=T;}},scope:this,iterations:(N>0)?Math.ceil(Q/N):1,argument:{nCurrentRecord:0,nLoopLength:(N>0)?N:Q},timeout:(N>0)?0:-1});this._oChainRender.add({method:function(S){if((this instanceof D)&&this._sId){while(J.rows.length>Q){J.removeChild(J.lastChild);}this._setFirstRow();this._setLastRow();this._setRowStripes();this._setSelections();}},scope:this,timeout:(N>0)?0:-1});}else{var K=J.rows.length;if(K>0){this._oChainRender.add({method:function(T){if((this instanceof D)&&this._sId){var S=T.nCurrent,V=T.nLoopLength,U=(S-V<0)?-1:S-V;J.style.display="none";for(;S>U;S--){J.deleteRow(-1);}J.style.display="";T.nCurrent=S;}},scope:this,iterations:(N>0)?Math.ceil(K/N):1,argument:{nCurrent:K,nLoopLength:(N>0)?N:K},timeout:(N>0)?0:-1});}}this._runRenderChain();},disable:function(){var I=this._elTable;var J=this._elMask;J.style.width=I.offsetWidth+"px";J.style.height=I.offsetHeight+"px";J.style.display="";this.fireEvent("disableEvent");},undisable:function(){this._elMask.style.display="none";this.fireEvent("undisableEvent");},destroy:function(){var J=this.toString();this._oChainRender.stop();D._destroyColumnDragTargetEl();D._destroyColumnResizerProxyEl();this._destroyColumnHelpers();var L;for(var K=0,I=this._oColumnSet.flat.length;K<I;K++){L=this._oColumnSet.flat[K].editor;if(L&&L.destroy){L.destroy();this._oColumnSet.flat[K].editor=null;}}this._destroyPaginator();this._oRecordSet.unsubscribeAll();this.unsubscribeAll();G.removeListener(document,"click",this._onDocumentClick);this._destroyContainerEl(this._elContainer);for(var M in this){if(H.hasOwnProperty(this,M)){this[M]=null;}}D._nCurrentCount--;if(D._nCurrentCount<1){if(D._elDynStyleNode){document.getElementsByTagName("head")[0].removeChild(D._elDynStyleNode);D._elDynStyleNode=null;}}},showTableMessage:function(J,I){var K=this._elMsgTd;if(H.isString(J)){K.firstChild.innerHTML=J;}if(H.isString(I)){K.className=I;}this._elMsgTbody.style.display="";this.fireEvent("tableMsgShowEvent",{html:J,className:I});},hideTableMessage:function(){if(this._elMsgTbody.style.display!="none"){this._elMsgTbody.style.display="none";this._elMsgTbody.parentNode.style.width="";this.fireEvent("tableMsgHideEvent");}},focus:function(){this.focusTbodyEl();},focusTheadEl:function(){this._focusEl(this._elThead);},focusTbodyEl:function(){this._focusEl(this._elTbody);},onShow:function(){this.validateColumnWidths();for(var L=this._oColumnSet.keys,K=0,I=L.length,J;K<I;K++){J=L[K];if(J._ddResizer){J._ddResizer.resetResizerEl();}}},getRecordIndex:function(L){var K;if(!H.isNumber(L)){if(L instanceof YAHOO.widget.Record){return this._oRecordSet.getRecordIndex(L);}else{var J=this.getTrEl(L);if(J){K=J.sectionRowIndex;}}}else{K=L;}if(H.isNumber(K)){var I=this.get("paginator");if(I){return I.get("recordOffset")+K;}else{return K;}}return null;},getRecord:function(K){var J=this._oRecordSet.getRecord(K);if(!J){var I=this.getTrEl(K);if(I){J=this._oRecordSet.getRecord(I.id);}}if(J instanceof YAHOO.widget.Record){return this._oRecordSet.getRecord(J);}else{return null;}},getColumn:function(L){var N=this._oColumnSet.getColumn(L);if(!N){var M=this.getTdEl(L);if(M){N=this._oColumnSet.getColumn(M.cellIndex); +}else{M=this.getThEl(L);if(M){var J=this._oColumnSet.flat;for(var K=0,I=J.length;K<I;K++){if(J[K].getThEl().id===M.id){N=J[K];}}}}}if(!N){}return N;},getColumnById:function(I){return this._oColumnSet.getColumnById(I);},getColumnSortDir:function(K,L){if(K.sortOptions&&K.sortOptions.defaultOrder){if(K.sortOptions.defaultOrder=="asc"){K.sortOptions.defaultDir=D.CLASS_ASC;}else{if(K.sortOptions.defaultOrder=="desc"){K.sortOptions.defaultDir=D.CLASS_DESC;}}}var J=(K.sortOptions&&K.sortOptions.defaultDir)?K.sortOptions.defaultDir:D.CLASS_ASC;var I=false;L=L||this.get("sortedBy");if(L&&(L.key===K.key)){I=true;if(L.dir){J=(L.dir===D.CLASS_ASC)?D.CLASS_DESC:D.CLASS_ASC;}else{J=(J===D.CLASS_ASC)?D.CLASS_DESC:D.CLASS_ASC;}}return J;},doBeforeSortColumn:function(J,I){this.showTableMessage(this.get("MSG_LOADING"),D.CLASS_LOADING);return true;},sortColumn:function(N,K){if(N&&(N instanceof YAHOO.widget.Column)){if(!N.sortable){C.addClass(this.getThEl(N),D.CLASS_SORTABLE);}if(K&&(K!==D.CLASS_ASC)&&(K!==D.CLASS_DESC)){K=null;}var O=K||this.getColumnSortDir(N);var M=this.get("sortedBy")||{};var U=(M.key===N.key)?true:false;var Q=this.doBeforeSortColumn(N,O);if(Q){if(this.get("dynamicData")){var T=this.getState();if(T.pagination){T.pagination.recordOffset=0;}T.sortedBy={key:N.key,dir:O};var L=this.get("generateRequest")(T,this);this.unselectAllRows();this.unselectAllCells();var S={success:this.onDataReturnSetRows,failure:this.onDataReturnSetRows,argument:T,scope:this};this._oDataSource.sendRequest(L,S);}else{var I=(N.sortOptions&&H.isFunction(N.sortOptions.sortFunction))?N.sortOptions.sortFunction:null;if(!U||K||I){var J=YAHOO.util.Sort.compare;I=I||function(W,V,Z,Y){var X=J(W.getData(Y),V.getData(Y),Z);if(X===0){return J(W.getCount(),V.getCount(),Z);}else{return X;}};var R=(N.sortOptions&&N.sortOptions.field)?N.sortOptions.field:N.field;this._oRecordSet.sortRecords(I,((O==D.CLASS_DESC)?true:false),R);}else{this._oRecordSet.reverseRecords();}var P=this.get("paginator");if(P){P.setPage(1,true);}this.render();this.set("sortedBy",{key:N.key,dir:O,column:N});}this.fireEvent("columnSortEvent",{column:N,dir:O});return;}}},setColumnWidth:function(J,I){if(!(J instanceof YAHOO.widget.Column)){J=this.getColumn(J);}if(J){if(H.isNumber(I)){I=(I>J.minWidth)?I:J.minWidth;J.width=I;this._setColumnWidth(J,I+"px");this.fireEvent("columnSetWidthEvent",{column:J,width:I});}else{if(I===null){J.width=I;this._setColumnWidth(J,"auto");this.validateColumnWidths(J);this.fireEvent("columnUnsetWidthEvent",{column:J});}}this._clearTrTemplateEl();}else{}},_setColumnWidth:function(J,I,K){if(J&&(J.getKeyIndex()!==null)){K=K||(((I==="")||(I==="auto"))?"visible":"hidden");if(!D._bDynStylesFallback){this._setColumnWidthDynStyles(J,I,K);}else{this._setColumnWidthDynFunction(J,I,K);}}else{}},_setColumnWidthDynStyles:function(M,L,N){var J=D._elDynStyleNode,K;if(!J){J=document.createElement("style");J.type="text/css";J=document.getElementsByTagName("head").item(0).appendChild(J);D._elDynStyleNode=J;}if(J){var I="."+this.getId()+"-col-"+M.getSanitizedKey()+" ."+D.CLASS_LINER;if(this._elTbody){this._elTbody.style.display="none";}K=D._oDynStyles[I];if(!K){if(J.styleSheet&&J.styleSheet.addRule){J.styleSheet.addRule(I,"overflow:"+N);J.styleSheet.addRule(I,"width:"+L);K=J.styleSheet.rules[J.styleSheet.rules.length-1];D._oDynStyles[I]=K;}else{if(J.sheet&&J.sheet.insertRule){J.sheet.insertRule(I+" {overflow:"+N+";width:"+L+";}",J.sheet.cssRules.length);K=J.sheet.cssRules[J.sheet.cssRules.length-1];D._oDynStyles[I]=K;}}}else{K.style.overflow=N;K.style.width=L;}if(this._elTbody){this._elTbody.style.display="";}}if(!K){D._bDynStylesFallback=true;this._setColumnWidthDynFunction(M,L);}},_setColumnWidthDynFunction:function(O,J,P){if(J=="auto"){J="";}var I=this._elTbody?this._elTbody.rows.length:0;if(!this._aDynFunctions[I]){var N,M,L;var Q=["var colIdx=oColumn.getKeyIndex();","oColumn.getThLinerEl().style.overflow="];for(N=I-1,M=2;N>=0;--N){Q[M++]="this._elTbody.rows[";Q[M++]=N;Q[M++]="].cells[colIdx].firstChild.style.overflow=";}Q[M]="sOverflow;";Q[M+1]="oColumn.getThLinerEl().style.width=";for(N=I-1,L=M+2;N>=0;--N){Q[L++]="this._elTbody.rows[";Q[L++]=N;Q[L++]="].cells[colIdx].firstChild.style.width=";}Q[L]="sWidth;";this._aDynFunctions[I]=new Function("oColumn","sWidth","sOverflow",Q.join(""));}var K=this._aDynFunctions[I];if(K){K.call(this,O,J,P);}},validateColumnWidths:function(N){var K=this._elColgroup;var P=K.cloneNode(true);var O=false;var M=this._oColumnSet.keys;var J;if(N&&!N.hidden&&!N.width&&(N.getKeyIndex()!==null)){J=N.getThLinerEl();if((N.minWidth>0)&&(J.offsetWidth<N.minWidth)){P.childNodes[N.getKeyIndex()].style.width=N.minWidth+(parseInt(C.getStyle(J,"paddingLeft"),10)|0)+(parseInt(C.getStyle(J,"paddingRight"),10)|0)+"px";O=true;}else{if((N.maxAutoWidth>0)&&(J.offsetWidth>N.maxAutoWidth)){this._setColumnWidth(N,N.maxAutoWidth+"px","hidden");}}}else{for(var L=0,I=M.length;L<I;L++){N=M[L];if(!N.hidden&&!N.width){J=N.getThLinerEl();if((N.minWidth>0)&&(J.offsetWidth<N.minWidth)){P.childNodes[L].style.width=N.minWidth+(parseInt(C.getStyle(J,"paddingLeft"),10)|0)+(parseInt(C.getStyle(J,"paddingRight"),10)|0)+"px";O=true;}else{if((N.maxAutoWidth>0)&&(J.offsetWidth>N.maxAutoWidth)){this._setColumnWidth(N,N.maxAutoWidth+"px","hidden");}}}}}if(O){K.parentNode.replaceChild(P,K);this._elColgroup=P;}},_clearMinWidth:function(I){if(I.getKeyIndex()!==null){this._elColgroup.childNodes[I.getKeyIndex()].style.width="";}},_restoreMinWidth:function(I){if(I.minWidth&&(I.getKeyIndex()!==null)){this._elColgroup.childNodes[I.getKeyIndex()].style.width=I.minWidth+"px";}},hideColumn:function(N){if(!(N instanceof YAHOO.widget.Column)){N=this.getColumn(N);}if(N&&!N.hidden&&N.getTreeIndex()!==null){var O=this.getTbodyEl().rows;var I=O.length;var M=this._oColumnSet.getDescendants(N);for(var L=0;L<M.length;L++){var K=M[L];K.hidden=true;C.addClass(K.getThEl(),D.CLASS_HIDDEN);var P=K.getKeyIndex();if(P!==null){this._clearMinWidth(N);for(var J=0;J<I;J++){C.addClass(O[J].cells[P],D.CLASS_HIDDEN); +}}this.fireEvent("columnHideEvent",{column:K});}this._repaintOpera();this._clearTrTemplateEl();}else{}},showColumn:function(N){if(!(N instanceof YAHOO.widget.Column)){N=this.getColumn(N);}if(N&&N.hidden&&(N.getTreeIndex()!==null)){var O=this.getTbodyEl().rows;var I=O.length;var M=this._oColumnSet.getDescendants(N);for(var L=0;L<M.length;L++){var K=M[L];K.hidden=false;C.removeClass(K.getThEl(),D.CLASS_HIDDEN);var P=K.getKeyIndex();if(P!==null){this._restoreMinWidth(N);for(var J=0;J<I;J++){C.removeClass(O[J].cells[P],D.CLASS_HIDDEN);}}this.fireEvent("columnShowEvent",{column:K});}this._clearTrTemplateEl();}else{}},removeColumn:function(O){if(!(O instanceof YAHOO.widget.Column)){O=this.getColumn(O);}if(O){var L=O.getTreeIndex();if(L!==null){var N,Q,P=O.getKeyIndex();if(P===null){var T=[];var I=this._oColumnSet.getDescendants(O);for(N=0,Q=I.length;N<Q;N++){var R=I[N].getKeyIndex();if(R!==null){T[T.length]=R;}}if(T.length>0){P=T;}}else{P=[P];}if(P!==null){P.sort(function(V,U){return YAHOO.util.Sort.compare(V,U);});this._destroyTheadEl();var J=this._oColumnSet.getDefinitions();O=J.splice(L,1)[0];this._initColumnSet(J);this._initTheadEl();for(N=P.length-1;N>-1;N--){this._removeColgroupColEl(P[N]);}var S=this._elTbody.rows;if(S.length>0){var M=this.get("renderLoopSize"),K=S.length;this._oChainRender.add({method:function(X){if((this instanceof D)&&this._sId){var W=X.nCurrentRow,U=M>0?Math.min(W+M,S.length):S.length,Y=X.aIndexes,V;for(;W<U;++W){for(V=Y.length-1;V>-1;V--){S[W].removeChild(S[W].childNodes[Y[V]]);}}X.nCurrentRow=W;}},iterations:(M>0)?Math.ceil(K/M):1,argument:{nCurrentRow:0,aIndexes:P},scope:this,timeout:(M>0)?0:-1});this._runRenderChain();}this.fireEvent("columnRemoveEvent",{column:O});return O;}}}},insertColumn:function(Q,R){if(Q instanceof YAHOO.widget.Column){Q=Q.getDefinition();}else{if(Q.constructor!==Object){return;}}var W=this._oColumnSet;if(!H.isValue(R)||!H.isNumber(R)){R=W.tree[0].length;}this._destroyTheadEl();var Y=this._oColumnSet.getDefinitions();Y.splice(R,0,Q);this._initColumnSet(Y);this._initTheadEl();W=this._oColumnSet;var M=W.tree[0][R];var O,S,V=[];var K=W.getDescendants(M);for(O=0,S=K.length;O<S;O++){var T=K[O].getKeyIndex();if(T!==null){V[V.length]=T;}}if(V.length>0){var X=V.sort(function(c,Z){return YAHOO.util.Sort.compare(c,Z);})[0];for(O=V.length-1;O>-1;O--){this._insertColgroupColEl(V[O]);}var U=this._elTbody.rows;if(U.length>0){var N=this.get("renderLoopSize"),L=U.length;var J=[],P;for(O=0,S=V.length;O<S;O++){var I=V[O];P=this._getTrTemplateEl().childNodes[O].cloneNode(true);P=this._formatTdEl(this._oColumnSet.keys[I],P,I,(I===this._oColumnSet.keys.length-1));J[I]=P;}this._oChainRender.add({method:function(c){if((this instanceof D)&&this._sId){var b=c.nCurrentRow,a,e=c.descKeyIndexes,Z=N>0?Math.min(b+N,U.length):U.length,d;for(;b<Z;++b){d=U[b].childNodes[X]||null;for(a=e.length-1;a>-1;a--){U[b].insertBefore(c.aTdTemplates[e[a]].cloneNode(true),d);}}c.nCurrentRow=b;}},iterations:(N>0)?Math.ceil(L/N):1,argument:{nCurrentRow:0,aTdTemplates:J,descKeyIndexes:V},scope:this,timeout:(N>0)?0:-1});this._runRenderChain();}this.fireEvent("columnInsertEvent",{column:Q,index:R});return M;}},reorderColumn:function(P,Q){if(!(P instanceof YAHOO.widget.Column)){P=this.getColumn(P);}if(P&&YAHOO.lang.isNumber(Q)){var Y=P.getTreeIndex();if((Y!==null)&&(Y!==Q)){var O,R,K=P.getKeyIndex(),J,U=[],S;if(K===null){J=this._oColumnSet.getDescendants(P);for(O=0,R=J.length;O<R;O++){S=J[O].getKeyIndex();if(S!==null){U[U.length]=S;}}if(U.length>0){K=U;}}else{K=[K];}if(K!==null){K.sort(function(c,Z){return YAHOO.util.Sort.compare(c,Z);});this._destroyTheadEl();var V=this._oColumnSet.getDefinitions();var I=V.splice(Y,1)[0];V.splice(Q,0,I);this._initColumnSet(V);this._initTheadEl();var M=this._oColumnSet.tree[0][Q];var X=M.getKeyIndex();if(X===null){U=[];J=this._oColumnSet.getDescendants(M);for(O=0,R=J.length;O<R;O++){S=J[O].getKeyIndex();if(S!==null){U[U.length]=S;}}if(U.length>0){X=U;}}else{X=[X];}var W=X.sort(function(c,Z){return YAHOO.util.Sort.compare(c,Z);})[0];this._reorderColgroupColEl(K,W);var T=this._elTbody.rows;if(T.length>0){var N=this.get("renderLoopSize"),L=T.length;this._oChainRender.add({method:function(c){if((this instanceof D)&&this._sId){var b=c.nCurrentRow,a,e,d,Z=N>0?Math.min(b+N,T.length):T.length,g=c.aIndexes,f;for(;b<Z;++b){e=[];f=T[b];for(a=g.length-1;a>-1;a--){e.push(f.removeChild(f.childNodes[g[a]]));}d=f.childNodes[W]||null;for(a=e.length-1;a>-1;a--){f.insertBefore(e[a],d);}}c.nCurrentRow=b;}},iterations:(N>0)?Math.ceil(L/N):1,argument:{nCurrentRow:0,aIndexes:K},scope:this,timeout:(N>0)?0:-1});this._runRenderChain();}this.fireEvent("columnReorderEvent",{column:M});return M;}}}},selectColumn:function(K){K=this.getColumn(K);if(K&&!K.selected){if(K.getKeyIndex()!==null){K.selected=true;var L=K.getThEl();C.addClass(L,D.CLASS_SELECTED);var J=this.getTbodyEl().rows;var I=this._oChainRender;I.add({method:function(M){if((this instanceof D)&&this._sId&&J[M.rowIndex]&&J[M.rowIndex].cells[M.cellIndex]){C.addClass(J[M.rowIndex].cells[M.cellIndex],D.CLASS_SELECTED);}M.rowIndex++;},scope:this,iterations:J.length,argument:{rowIndex:0,cellIndex:K.getKeyIndex()}});this._clearTrTemplateEl();this._elTbody.style.display="none";this._runRenderChain();this._elTbody.style.display="";this.fireEvent("columnSelectEvent",{column:K});}else{}}},unselectColumn:function(K){K=this.getColumn(K);if(K&&K.selected){if(K.getKeyIndex()!==null){K.selected=false;var L=K.getThEl();C.removeClass(L,D.CLASS_SELECTED);var J=this.getTbodyEl().rows;var I=this._oChainRender;I.add({method:function(M){if((this instanceof D)&&this._sId&&J[M.rowIndex]&&J[M.rowIndex].cells[M.cellIndex]){C.removeClass(J[M.rowIndex].cells[M.cellIndex],D.CLASS_SELECTED);}M.rowIndex++;},scope:this,iterations:J.length,argument:{rowIndex:0,cellIndex:K.getKeyIndex()}});this._clearTrTemplateEl();this._elTbody.style.display="none";this._runRenderChain();this._elTbody.style.display="";this.fireEvent("columnUnselectEvent",{column:K});}else{}}},getSelectedColumns:function(M){var J=[]; +var K=this._oColumnSet.keys;for(var L=0,I=K.length;L<I;L++){if(K[L].selected){J[J.length]=K[L];}}return J;},highlightColumn:function(I){var L=this.getColumn(I);if(L&&(L.getKeyIndex()!==null)){var M=L.getThEl();C.addClass(M,D.CLASS_HIGHLIGHTED);var K=this.getTbodyEl().rows;var J=this._oChainRender;J.add({method:function(N){if((this instanceof D)&&this._sId&&K[N.rowIndex]&&K[N.rowIndex].cells[N.cellIndex]){C.addClass(K[N.rowIndex].cells[N.cellIndex],D.CLASS_HIGHLIGHTED);}N.rowIndex++;},scope:this,iterations:K.length,argument:{rowIndex:0,cellIndex:L.getKeyIndex()},timeout:-1});this._elTbody.style.display="none";this._runRenderChain();this._elTbody.style.display="";this.fireEvent("columnHighlightEvent",{column:L});}else{}},unhighlightColumn:function(I){var L=this.getColumn(I);if(L&&(L.getKeyIndex()!==null)){var M=L.getThEl();C.removeClass(M,D.CLASS_HIGHLIGHTED);var K=this.getTbodyEl().rows;var J=this._oChainRender;J.add({method:function(N){if((this instanceof D)&&this._sId&&K[N.rowIndex]&&K[N.rowIndex].cells[N.cellIndex]){C.removeClass(K[N.rowIndex].cells[N.cellIndex],D.CLASS_HIGHLIGHTED);}N.rowIndex++;},scope:this,iterations:K.length,argument:{rowIndex:0,cellIndex:L.getKeyIndex()},timeout:-1});this._elTbody.style.display="none";this._runRenderChain();this._elTbody.style.display="";this.fireEvent("columnUnhighlightEvent",{column:L});}else{}},addRow:function(O,K){if(H.isNumber(K)&&(K<0||K>this._oRecordSet.getLength())){return;}if(O&&H.isObject(O)){var M=this._oRecordSet.addRecord(O,K);if(M){var I;var J=this.get("paginator");if(J){var N=J.get("totalRecords");if(N!==E.Paginator.VALUE_UNLIMITED){J.set("totalRecords",N+1);}I=this.getRecordIndex(M);var L=(J.getPageRecords())[1];if(I<=L){this.render();}this.fireEvent("rowAddEvent",{record:M});return;}else{I=this.getTrIndex(M);if(H.isNumber(I)){this._oChainRender.add({method:function(R){if((this instanceof D)&&this._sId){var S=R.record;var P=R.recIndex;var T=this._addTrEl(S);if(T){var Q=(this._elTbody.rows[P])?this._elTbody.rows[P]:null;this._elTbody.insertBefore(T,Q);if(P===0){this._setFirstRow();}if(Q===null){this._setLastRow();}this._setRowStripes();this.hideTableMessage();this.fireEvent("rowAddEvent",{record:S});}}},argument:{record:M,recIndex:I},scope:this,timeout:(this.get("renderLoopSize")>0)?0:-1});this._runRenderChain();return;}}}}},addRows:function(K,N){if(H.isNumber(N)&&(N<0||N>this._oRecordSet.getLength())){return;}if(H.isArray(K)){var O=this._oRecordSet.addRecords(K,N);if(O){var S=this.getRecordIndex(O[0]);var R=this.get("paginator");if(R){var P=R.get("totalRecords");if(P!==E.Paginator.VALUE_UNLIMITED){R.set("totalRecords",P+O.length);}var Q=(R.getPageRecords())[1];if(S<=Q){this.render();}this.fireEvent("rowsAddEvent",{records:O});return;}else{var M=this.get("renderLoopSize");var J=S+K.length;var I=(J-S);var L=(S>=this._elTbody.rows.length);this._oChainRender.add({method:function(X){if((this instanceof D)&&this._sId){var Y=X.aRecords,W=X.nCurrentRow,V=X.nCurrentRecord,T=M>0?Math.min(W+M,J):J,Z=document.createDocumentFragment(),U=(this._elTbody.rows[W])?this._elTbody.rows[W]:null;for(;W<T;W++,V++){Z.appendChild(this._addTrEl(Y[V]));}this._elTbody.insertBefore(Z,U);X.nCurrentRow=W;X.nCurrentRecord=V;}},iterations:(M>0)?Math.ceil(J/M):1,argument:{nCurrentRow:S,nCurrentRecord:0,aRecords:O},scope:this,timeout:(M>0)?0:-1});this._oChainRender.add({method:function(U){var T=U.recIndex;if(T===0){this._setFirstRow();}if(U.isLast){this._setLastRow();}this._setRowStripes();this.fireEvent("rowsAddEvent",{records:O});},argument:{recIndex:S,isLast:L},scope:this,timeout:-1});this._runRenderChain();this.hideTableMessage();return;}}}},updateRow:function(T,J){var Q=T;if(!H.isNumber(Q)){Q=this.getRecordIndex(T);}if(H.isNumber(Q)&&(Q>=0)){var R=this._oRecordSet,P=R.getRecord(Q);if(P){var N=this._oRecordSet.setRecord(J,Q),I=this.getTrEl(P),O=P?P.getData():null;if(N){var S=this._aSelections||[],M=0,K=P.getId(),L=N.getId();for(;M<S.length;M++){if((S[M]===K)){S[M]=L;}else{if(S[M].recordId===K){S[M].recordId=L;}}}this._oChainRender.add({method:function(){if((this instanceof D)&&this._sId){var V=this.get("paginator");if(V){var U=(V.getPageRecords())[0],W=(V.getPageRecords())[1];if((Q>=U)||(Q<=W)){this.render();}}else{if(I){this._updateTrEl(I,N);}else{this.getTbodyEl().appendChild(this._addTrEl(N));}}this.fireEvent("rowUpdateEvent",{record:N,oldData:O});}},scope:this,timeout:(this.get("renderLoopSize")>0)?0:-1});this._runRenderChain();return;}}}return;},updateRows:function(V,K){if(H.isArray(K)){var O=V,J=this._oRecordSet;if(!H.isNumber(V)){O=this.getRecordIndex(V);}if(H.isNumber(O)&&(O>=0)&&(O<J.getLength())){var Z=O+K.length,W=J.getRecords(O,K.length),b=J.setRecords(K,O);if(b){var Q=this._aSelections||[],Y=0,X,T,U;for(;Y<Q.length;Y++){for(X=0;X<W.length;X++){U=W[X].getId();if((Q[Y]===U)){Q[Y]=b[X].getId();}else{if(Q[Y].recordId===U){Q[Y].recordId=b[X].getId();}}}}var a=this.get("paginator");if(a){var P=(a.getPageRecords())[0],M=(a.getPageRecords())[1];if((O>=P)||(Z<=M)){this.render();}this.fireEvent("rowsAddEvent",{newRecords:b,oldRecords:W});return;}else{var I=this.get("renderLoopSize"),R=K.length,L=this._elTbody.rows.length,S=(Z>=L),N=(Z>L);this._oChainRender.add({method:function(f){if((this instanceof D)&&this._sId){var g=f.aRecords,e=f.nCurrentRow,d=f.nDataPointer,c=I>0?Math.min(e+I,O+g.length):O+g.length;for(;e<c;e++,d++){if(N&&(e>=L)){this._elTbody.appendChild(this._addTrEl(g[d]));}else{this._updateTrEl(this._elTbody.rows[e],g[d]);}}f.nCurrentRow=e;f.nDataPointer=d;}},iterations:(I>0)?Math.ceil(R/I):1,argument:{nCurrentRow:O,aRecords:b,nDataPointer:0,isAdding:N},scope:this,timeout:(I>0)?0:-1});this._oChainRender.add({method:function(d){var c=d.recIndex;if(c===0){this._setFirstRow();}if(d.isLast){this._setLastRow();}this._setRowStripes();this.fireEvent("rowsAddEvent",{newRecords:b,oldRecords:W});},argument:{recIndex:O,isLast:S},scope:this,timeout:-1});this._runRenderChain();this.hideTableMessage();return;}}}}},deleteRow:function(R){var J=(H.isNumber(R))?R:this.getRecordIndex(R); +if(H.isNumber(J)){var S=this.getRecord(J);if(S){var L=this.getTrIndex(J);var O=S.getId();var Q=this._aSelections||[];for(var M=Q.length-1;M>-1;M--){if((H.isString(Q[M])&&(Q[M]===O))||(H.isObject(Q[M])&&(Q[M].recordId===O))){Q.splice(M,1);}}var K=this._oRecordSet.deleteRecord(J);if(K){var P=this.get("paginator");if(P){var N=P.get("totalRecords"),I=P.getPageRecords();if(N!==E.Paginator.VALUE_UNLIMITED){P.set("totalRecords",N-1);}if(!I||J<=I[1]){this.render();}this._oChainRender.add({method:function(){if((this instanceof D)&&this._sId){this.fireEvent("rowDeleteEvent",{recordIndex:J,oldData:K,trElIndex:L});}},scope:this,timeout:(this.get("renderLoopSize")>0)?0:-1});this._runRenderChain();}else{if(H.isNumber(L)){this._oChainRender.add({method:function(){if((this instanceof D)&&this._sId){var T=(J===this._oRecordSet.getLength());this._deleteTrEl(L);if(this._elTbody.rows.length>0){if(L===0){this._setFirstRow();}if(T){this._setLastRow();}if(L!=this._elTbody.rows.length){this._setRowStripes(L);}}this.fireEvent("rowDeleteEvent",{recordIndex:J,oldData:K,trElIndex:L});}},scope:this,timeout:(this.get("renderLoopSize")>0)?0:-1});this._runRenderChain();return;}}}}}return null;},deleteRows:function(X,R){var K=(H.isNumber(X))?X:this.getRecordIndex(X);if(H.isNumber(K)){var Y=this.getRecord(K);if(Y){var L=this.getTrIndex(K);var T=Y.getId();var W=this._aSelections||[];for(var P=W.length-1;P>-1;P--){if((H.isString(W[P])&&(W[P]===T))||(H.isObject(W[P])&&(W[P].recordId===T))){W.splice(P,1);}}var M=K;var V=K;if(R&&H.isNumber(R)){M=(R>0)?K+R-1:K;V=(R>0)?K:K+R+1;R=(R>0)?R:R*-1;if(V<0){V=0;R=M-V+1;}}else{R=1;}var O=this._oRecordSet.deleteRecords(V,R);if(O){var U=this.get("paginator"),Q=this.get("renderLoopSize");if(U){var S=U.get("totalRecords"),J=U.getPageRecords();if(S!==E.Paginator.VALUE_UNLIMITED){U.set("totalRecords",S-O.length);}if(!J||V<=J[1]){this.render();}this._oChainRender.add({method:function(Z){if((this instanceof D)&&this._sId){this.fireEvent("rowsDeleteEvent",{recordIndex:V,oldData:O,count:R});}},scope:this,timeout:(Q>0)?0:-1});this._runRenderChain();return;}else{if(H.isNumber(L)){var N=V;var I=R;this._oChainRender.add({method:function(b){if((this instanceof D)&&this._sId){var a=b.nCurrentRow,Z=(Q>0)?(Math.max(a-Q,N)-1):N-1;for(;a>Z;--a){this._deleteTrEl(a);}b.nCurrentRow=a;}},iterations:(Q>0)?Math.ceil(R/Q):1,argument:{nCurrentRow:M},scope:this,timeout:(Q>0)?0:-1});this._oChainRender.add({method:function(){if(this._elTbody.rows.length>0){this._setFirstRow();this._setLastRow();this._setRowStripes();}this.fireEvent("rowsDeleteEvent",{recordIndex:V,oldData:O,count:R});},scope:this,timeout:-1});this._runRenderChain();return;}}}}}return null;},formatCell:function(J,L,M){if(!L){L=this.getRecord(J);}if(!M){M=this.getColumn(J.parentNode.cellIndex);}if(L&&M){var I=M.field;var N=L.getData(I);var K=typeof M.formatter==="function"?M.formatter:D.Formatter[M.formatter+""]||D.Formatter.defaultFormatter;if(K){K.call(this,J,L,M,N);}else{J.innerHTML=N;}this.fireEvent("cellFormatEvent",{record:L,column:M,key:M.key,el:J});}else{}},updateCell:function(J,L,N){L=(L instanceof YAHOO.widget.Column)?L:this.getColumn(L);if(L&&L.getField()&&(J instanceof YAHOO.widget.Record)){var K=L.getField(),M=J.getData(K);this._oRecordSet.updateRecordValue(J,K,N);var I=this.getTdEl({record:J,column:L});if(I){this._oChainRender.add({method:function(){if((this instanceof D)&&this._sId){this.formatCell(I.firstChild);this.fireEvent("cellUpdateEvent",{record:J,column:L,oldData:M});}},scope:this,timeout:(this.get("renderLoopSize")>0)?0:-1});this._runRenderChain();}else{this.fireEvent("cellUpdateEvent",{record:J,column:L,oldData:M});}}},_updatePaginator:function(J){var I=this.get("paginator");if(I&&J!==I){I.unsubscribe("changeRequest",this.onPaginatorChangeRequest,this,true);}if(J){J.subscribe("changeRequest",this.onPaginatorChangeRequest,this,true);}},_handlePaginatorChange:function(K){if(K.prevValue===K.newValue){return;}var M=K.newValue,L=K.prevValue,J=this._defaultPaginatorContainers();if(L){if(L.getContainerNodes()[0]==J[0]){L.set("containers",[]);}L.destroy();if(J[0]){if(M&&!M.getContainerNodes().length){M.set("containers",J);}else{for(var I=J.length-1;I>=0;--I){if(J[I]){J[I].parentNode.removeChild(J[I]);}}}}}if(!this._bInit){this.render();}if(M){this.renderPaginator();}},_defaultPaginatorContainers:function(L){var J=this._sId+"-paginator0",K=this._sId+"-paginator1",I=C.get(J),M=C.get(K);if(L&&(!I||!M)){if(!I){I=document.createElement("div");I.id=J;C.addClass(I,D.CLASS_PAGINATOR);this._elContainer.insertBefore(I,this._elContainer.firstChild);}if(!M){M=document.createElement("div");M.id=K;C.addClass(M,D.CLASS_PAGINATOR);this._elContainer.appendChild(M);}}return[I,M];},_destroyPaginator:function(){var I=this.get("paginator");if(I){I.destroy();}},renderPaginator:function(){var I=this.get("paginator");if(!I){return;}if(!I.getContainerNodes().length){I.set("containers",this._defaultPaginatorContainers(true));}I.render();},doBeforePaginatorChange:function(I){this.showTableMessage(this.get("MSG_LOADING"),D.CLASS_LOADING);return true;},onPaginatorChangeRequest:function(L){var J=this.doBeforePaginatorChange(L);if(J){if(this.get("dynamicData")){var I=this.getState();I.pagination=L;var K=this.get("generateRequest")(I,this);this.unselectAllRows();this.unselectAllCells();var M={success:this.onDataReturnSetRows,failure:this.onDataReturnSetRows,argument:I,scope:this};this._oDataSource.sendRequest(K,M);}else{L.paginator.setStartIndex(L.recordOffset,true);L.paginator.setRowsPerPage(L.rowsPerPage,true);this.render();}}else{}},_elLastHighlightedTd:null,_aSelections:null,_oAnchorRecord:null,_oAnchorCell:null,_unselectAllTrEls:function(){var I=C.getElementsByClassName(D.CLASS_SELECTED,"tr",this._elTbody);C.removeClass(I,D.CLASS_SELECTED);},_getSelectionTrigger:function(){var L=this.get("selectionMode");var K={};var O,I,J,N,M;if((L=="cellblock")||(L=="cellrange")||(L=="singlecell")){O=this.getLastSelectedCell();if(!O){return null;}else{I=this.getRecord(O.recordId); +J=this.getRecordIndex(I);N=this.getTrEl(I);M=this.getTrIndex(N);if(M===null){return null;}else{K.record=I;K.recordIndex=J;K.el=this.getTdEl(O);K.trIndex=M;K.column=this.getColumn(O.columnKey);K.colKeyIndex=K.column.getKeyIndex();K.cell=O;return K;}}}else{I=this.getLastSelectedRecord();if(!I){return null;}else{I=this.getRecord(I);J=this.getRecordIndex(I);N=this.getTrEl(I);M=this.getTrIndex(N);if(M===null){return null;}else{K.record=I;K.recordIndex=J;K.el=N;K.trIndex=M;return K;}}}},_getSelectionAnchor:function(K){var J=this.get("selectionMode");var L={};var M,O,I;if((J=="cellblock")||(J=="cellrange")||(J=="singlecell")){var N=this._oAnchorCell;if(!N){if(K){N=this._oAnchorCell=K.cell;}else{return null;}}M=this._oAnchorCell.record;O=this._oRecordSet.getRecordIndex(M);I=this.getTrIndex(M);if(I===null){if(O<this.getRecordIndex(this.getFirstTrEl())){I=0;}else{I=this.getRecordIndex(this.getLastTrEl());}}L.record=M;L.recordIndex=O;L.trIndex=I;L.column=this._oAnchorCell.column;L.colKeyIndex=L.column.getKeyIndex();L.cell=N;return L;}else{M=this._oAnchorRecord;if(!M){if(K){M=this._oAnchorRecord=K.record;}else{return null;}}O=this.getRecordIndex(M);I=this.getTrIndex(M);if(I===null){if(O<this.getRecordIndex(this.getFirstTrEl())){I=0;}else{I=this.getRecordIndex(this.getLastTrEl());}}L.record=M;L.recordIndex=O;L.trIndex=I;return L;}},_handleStandardSelectionByMouse:function(J){var I=J.target;var L=this.getTrEl(I);if(L){var O=J.event;var R=O.shiftKey;var N=O.ctrlKey||((navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&O.metaKey);var Q=this.getRecord(L);var K=this._oRecordSet.getRecordIndex(Q);var P=this._getSelectionAnchor();var M;if(R&&N){if(P){if(this.isSelected(P.record)){if(P.recordIndex<K){for(M=P.recordIndex+1;M<=K;M++){if(!this.isSelected(M)){this.selectRow(M);}}}else{for(M=P.recordIndex-1;M>=K;M--){if(!this.isSelected(M)){this.selectRow(M);}}}}else{if(P.recordIndex<K){for(M=P.recordIndex+1;M<=K-1;M++){if(this.isSelected(M)){this.unselectRow(M);}}}else{for(M=K+1;M<=P.recordIndex-1;M++){if(this.isSelected(M)){this.unselectRow(M);}}}this.selectRow(Q);}}else{this._oAnchorRecord=Q;if(this.isSelected(Q)){this.unselectRow(Q);}else{this.selectRow(Q);}}}else{if(R){this.unselectAllRows();if(P){if(P.recordIndex<K){for(M=P.recordIndex;M<=K;M++){this.selectRow(M);}}else{for(M=P.recordIndex;M>=K;M--){this.selectRow(M);}}}else{this._oAnchorRecord=Q;this.selectRow(Q);}}else{if(N){this._oAnchorRecord=Q;if(this.isSelected(Q)){this.unselectRow(Q);}else{this.selectRow(Q);}}else{this._handleSingleSelectionByMouse(J);return;}}}}},_handleStandardSelectionByKey:function(M){var I=G.getCharCode(M);if((I==38)||(I==40)){var K=M.shiftKey;var J=this._getSelectionTrigger();if(!J){return null;}G.stopEvent(M);var L=this._getSelectionAnchor(J);if(K){if((I==40)&&(L.recordIndex<=J.trIndex)){this.selectRow(this.getNextTrEl(J.el));}else{if((I==38)&&(L.recordIndex>=J.trIndex)){this.selectRow(this.getPreviousTrEl(J.el));}else{this.unselectRow(J.el);}}}else{this._handleSingleSelectionByKey(M);}}},_handleSingleSelectionByMouse:function(K){var L=K.target;var J=this.getTrEl(L);if(J){var I=this.getRecord(J);this._oAnchorRecord=I;this.unselectAllRows();this.selectRow(I);}},_handleSingleSelectionByKey:function(L){var I=G.getCharCode(L);if((I==38)||(I==40)){var J=this._getSelectionTrigger();if(!J){return null;}G.stopEvent(L);var K;if(I==38){K=this.getPreviousTrEl(J.el);if(K===null){K=this.getFirstTrEl();}}else{if(I==40){K=this.getNextTrEl(J.el);if(K===null){K=this.getLastTrEl();}}}this.unselectAllRows();this.selectRow(K);this._oAnchorRecord=this.getRecord(K);}},_handleCellBlockSelectionByMouse:function(Y){var Z=Y.target;var J=this.getTdEl(Z);if(J){var X=Y.event;var O=X.shiftKey;var K=X.ctrlKey||((navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&X.metaKey);var Q=this.getTrEl(J);var P=this.getTrIndex(Q);var T=this.getColumn(J);var U=T.getKeyIndex();var S=this.getRecord(Q);var b=this._oRecordSet.getRecordIndex(S);var N={record:S,column:T};var R=this._getSelectionAnchor();var M=this.getTbodyEl().rows;var L,I,a,W,V;if(O&&K){if(R){if(this.isSelected(R.cell)){if(R.recordIndex===b){if(R.colKeyIndex<U){for(W=R.colKeyIndex+1;W<=U;W++){this.selectCell(Q.cells[W]);}}else{if(U<R.colKeyIndex){for(W=U;W<R.colKeyIndex;W++){this.selectCell(Q.cells[W]);}}}}else{if(R.recordIndex<b){L=Math.min(R.colKeyIndex,U);I=Math.max(R.colKeyIndex,U);for(W=R.trIndex;W<=P;W++){for(V=L;V<=I;V++){this.selectCell(M[W].cells[V]);}}}else{L=Math.min(R.trIndex,U);I=Math.max(R.trIndex,U);for(W=R.trIndex;W>=P;W--){for(V=I;V>=L;V--){this.selectCell(M[W].cells[V]);}}}}}else{if(R.recordIndex===b){if(R.colKeyIndex<U){for(W=R.colKeyIndex+1;W<U;W++){this.unselectCell(Q.cells[W]);}}else{if(U<R.colKeyIndex){for(W=U+1;W<R.colKeyIndex;W++){this.unselectCell(Q.cells[W]);}}}}if(R.recordIndex<b){for(W=R.trIndex;W<=P;W++){a=M[W];for(V=0;V<a.cells.length;V++){if(a.sectionRowIndex===R.trIndex){if(V>R.colKeyIndex){this.unselectCell(a.cells[V]);}}else{if(a.sectionRowIndex===P){if(V<U){this.unselectCell(a.cells[V]);}}else{this.unselectCell(a.cells[V]);}}}}}else{for(W=P;W<=R.trIndex;W++){a=M[W];for(V=0;V<a.cells.length;V++){if(a.sectionRowIndex==P){if(V>U){this.unselectCell(a.cells[V]);}}else{if(a.sectionRowIndex==R.trIndex){if(V<R.colKeyIndex){this.unselectCell(a.cells[V]);}}else{this.unselectCell(a.cells[V]);}}}}}this.selectCell(J);}}else{this._oAnchorCell=N;if(this.isSelected(N)){this.unselectCell(N);}else{this.selectCell(N);}}}else{if(O){this.unselectAllCells();if(R){if(R.recordIndex===b){if(R.colKeyIndex<U){for(W=R.colKeyIndex;W<=U;W++){this.selectCell(Q.cells[W]);}}else{if(U<R.colKeyIndex){for(W=U;W<=R.colKeyIndex;W++){this.selectCell(Q.cells[W]);}}}}else{if(R.recordIndex<b){L=Math.min(R.colKeyIndex,U);I=Math.max(R.colKeyIndex,U);for(W=R.trIndex;W<=P;W++){for(V=L;V<=I;V++){this.selectCell(M[W].cells[V]);}}}else{L=Math.min(R.colKeyIndex,U);I=Math.max(R.colKeyIndex,U);for(W=P;W<=R.trIndex;W++){for(V=L;V<=I;V++){this.selectCell(M[W].cells[V]);}}}}}else{this._oAnchorCell=N;this.selectCell(N); +}}else{if(K){this._oAnchorCell=N;if(this.isSelected(N)){this.unselectCell(N);}else{this.selectCell(N);}}else{this._handleSingleCellSelectionByMouse(Y);}}}}},_handleCellBlockSelectionByKey:function(N){var I=G.getCharCode(N);var S=N.shiftKey;if((I==9)||!S){this._handleSingleCellSelectionByKey(N);return;}if((I>36)&&(I<41)){var T=this._getSelectionTrigger();if(!T){return null;}G.stopEvent(N);var Q=this._getSelectionAnchor(T);var J,R,K,P,L;var O=this.getTbodyEl().rows;var M=T.el.parentNode;if(I==40){if(Q.recordIndex<=T.recordIndex){L=this.getNextTrEl(T.el);if(L){R=Q.colKeyIndex;K=T.colKeyIndex;if(R>K){for(J=R;J>=K;J--){P=L.cells[J];this.selectCell(P);}}else{for(J=R;J<=K;J++){P=L.cells[J];this.selectCell(P);}}}}else{R=Math.min(Q.colKeyIndex,T.colKeyIndex);K=Math.max(Q.colKeyIndex,T.colKeyIndex);for(J=R;J<=K;J++){this.unselectCell(M.cells[J]);}}}else{if(I==38){if(Q.recordIndex>=T.recordIndex){L=this.getPreviousTrEl(T.el);if(L){R=Q.colKeyIndex;K=T.colKeyIndex;if(R>K){for(J=R;J>=K;J--){P=L.cells[J];this.selectCell(P);}}else{for(J=R;J<=K;J++){P=L.cells[J];this.selectCell(P);}}}}else{R=Math.min(Q.colKeyIndex,T.colKeyIndex);K=Math.max(Q.colKeyIndex,T.colKeyIndex);for(J=R;J<=K;J++){this.unselectCell(M.cells[J]);}}}else{if(I==39){if(Q.colKeyIndex<=T.colKeyIndex){if(T.colKeyIndex<M.cells.length-1){R=Q.trIndex;K=T.trIndex;if(R>K){for(J=R;J>=K;J--){P=O[J].cells[T.colKeyIndex+1];this.selectCell(P);}}else{for(J=R;J<=K;J++){P=O[J].cells[T.colKeyIndex+1];this.selectCell(P);}}}}else{R=Math.min(Q.trIndex,T.trIndex);K=Math.max(Q.trIndex,T.trIndex);for(J=R;J<=K;J++){this.unselectCell(O[J].cells[T.colKeyIndex]);}}}else{if(I==37){if(Q.colKeyIndex>=T.colKeyIndex){if(T.colKeyIndex>0){R=Q.trIndex;K=T.trIndex;if(R>K){for(J=R;J>=K;J--){P=O[J].cells[T.colKeyIndex-1];this.selectCell(P);}}else{for(J=R;J<=K;J++){P=O[J].cells[T.colKeyIndex-1];this.selectCell(P);}}}}else{R=Math.min(Q.trIndex,T.trIndex);K=Math.max(Q.trIndex,T.trIndex);for(J=R;J<=K;J++){this.unselectCell(O[J].cells[T.colKeyIndex]);}}}}}}}},_handleCellRangeSelectionByMouse:function(W){var X=W.target;var I=this.getTdEl(X);if(I){var V=W.event;var M=V.shiftKey;var J=V.ctrlKey||((navigator.userAgent.toLowerCase().indexOf("mac")!=-1)&&V.metaKey);var O=this.getTrEl(I);var N=this.getTrIndex(O);var R=this.getColumn(I);var S=R.getKeyIndex();var Q=this.getRecord(O);var Z=this._oRecordSet.getRecordIndex(Q);var L={record:Q,column:R};var P=this._getSelectionAnchor();var K=this.getTbodyEl().rows;var Y,U,T;if(M&&J){if(P){if(this.isSelected(P.cell)){if(P.recordIndex===Z){if(P.colKeyIndex<S){for(U=P.colKeyIndex+1;U<=S;U++){this.selectCell(O.cells[U]);}}else{if(S<P.colKeyIndex){for(U=S;U<P.colKeyIndex;U++){this.selectCell(O.cells[U]);}}}}else{if(P.recordIndex<Z){for(U=P.colKeyIndex+1;U<O.cells.length;U++){this.selectCell(O.cells[U]);}for(U=P.trIndex+1;U<N;U++){for(T=0;T<K[U].cells.length;T++){this.selectCell(K[U].cells[T]);}}for(U=0;U<=S;U++){this.selectCell(O.cells[U]);}}else{for(U=S;U<O.cells.length;U++){this.selectCell(O.cells[U]);}for(U=N+1;U<P.trIndex;U++){for(T=0;T<K[U].cells.length;T++){this.selectCell(K[U].cells[T]);}}for(U=0;U<P.colKeyIndex;U++){this.selectCell(O.cells[U]);}}}}else{if(P.recordIndex===Z){if(P.colKeyIndex<S){for(U=P.colKeyIndex+1;U<S;U++){this.unselectCell(O.cells[U]);}}else{if(S<P.colKeyIndex){for(U=S+1;U<P.colKeyIndex;U++){this.unselectCell(O.cells[U]);}}}}if(P.recordIndex<Z){for(U=P.trIndex;U<=N;U++){Y=K[U];for(T=0;T<Y.cells.length;T++){if(Y.sectionRowIndex===P.trIndex){if(T>P.colKeyIndex){this.unselectCell(Y.cells[T]);}}else{if(Y.sectionRowIndex===N){if(T<S){this.unselectCell(Y.cells[T]);}}else{this.unselectCell(Y.cells[T]);}}}}}else{for(U=N;U<=P.trIndex;U++){Y=K[U];for(T=0;T<Y.cells.length;T++){if(Y.sectionRowIndex==N){if(T>S){this.unselectCell(Y.cells[T]);}}else{if(Y.sectionRowIndex==P.trIndex){if(T<P.colKeyIndex){this.unselectCell(Y.cells[T]);}}else{this.unselectCell(Y.cells[T]);}}}}}this.selectCell(I);}}else{this._oAnchorCell=L;if(this.isSelected(L)){this.unselectCell(L);}else{this.selectCell(L);}}}else{if(M){this.unselectAllCells();if(P){if(P.recordIndex===Z){if(P.colKeyIndex<S){for(U=P.colKeyIndex;U<=S;U++){this.selectCell(O.cells[U]);}}else{if(S<P.colKeyIndex){for(U=S;U<=P.colKeyIndex;U++){this.selectCell(O.cells[U]);}}}}else{if(P.recordIndex<Z){for(U=P.trIndex;U<=N;U++){Y=K[U];for(T=0;T<Y.cells.length;T++){if(Y.sectionRowIndex==P.trIndex){if(T>=P.colKeyIndex){this.selectCell(Y.cells[T]);}}else{if(Y.sectionRowIndex==N){if(T<=S){this.selectCell(Y.cells[T]);}}else{this.selectCell(Y.cells[T]);}}}}}else{for(U=N;U<=P.trIndex;U++){Y=K[U];for(T=0;T<Y.cells.length;T++){if(Y.sectionRowIndex==N){if(T>=S){this.selectCell(Y.cells[T]);}}else{if(Y.sectionRowIndex==P.trIndex){if(T<=P.colKeyIndex){this.selectCell(Y.cells[T]);}}else{this.selectCell(Y.cells[T]);}}}}}}}else{this._oAnchorCell=L;this.selectCell(L);}}else{if(J){this._oAnchorCell=L;if(this.isSelected(L)){this.unselectCell(L);}else{this.selectCell(L);}}else{this._handleSingleCellSelectionByMouse(W);}}}}},_handleCellRangeSelectionByKey:function(M){var I=G.getCharCode(M);var Q=M.shiftKey;if((I==9)||!Q){this._handleSingleCellSelectionByKey(M);return;}if((I>36)&&(I<41)){var R=this._getSelectionTrigger();if(!R){return null;}G.stopEvent(M);var P=this._getSelectionAnchor(R);var J,K,O;var N=this.getTbodyEl().rows;var L=R.el.parentNode;if(I==40){K=this.getNextTrEl(R.el);if(P.recordIndex<=R.recordIndex){for(J=R.colKeyIndex+1;J<L.cells.length;J++){O=L.cells[J];this.selectCell(O);}if(K){for(J=0;J<=R.colKeyIndex;J++){O=K.cells[J];this.selectCell(O);}}}else{for(J=R.colKeyIndex;J<L.cells.length;J++){this.unselectCell(L.cells[J]);}if(K){for(J=0;J<R.colKeyIndex;J++){this.unselectCell(K.cells[J]);}}}}else{if(I==38){K=this.getPreviousTrEl(R.el);if(P.recordIndex>=R.recordIndex){for(J=R.colKeyIndex-1;J>-1;J--){O=L.cells[J];this.selectCell(O);}if(K){for(J=L.cells.length-1;J>=R.colKeyIndex;J--){O=K.cells[J];this.selectCell(O);}}}else{for(J=R.colKeyIndex;J>-1;J--){this.unselectCell(L.cells[J]);}if(K){for(J=L.cells.length-1;J>R.colKeyIndex; +J--){this.unselectCell(K.cells[J]);}}}}else{if(I==39){K=this.getNextTrEl(R.el);if(P.recordIndex<R.recordIndex){if(R.colKeyIndex<L.cells.length-1){O=L.cells[R.colKeyIndex+1];this.selectCell(O);}else{if(K){O=K.cells[0];this.selectCell(O);}}}else{if(P.recordIndex>R.recordIndex){this.unselectCell(L.cells[R.colKeyIndex]);if(R.colKeyIndex<L.cells.length-1){}else{}}else{if(P.colKeyIndex<=R.colKeyIndex){if(R.colKeyIndex<L.cells.length-1){O=L.cells[R.colKeyIndex+1];this.selectCell(O);}else{if(R.trIndex<N.length-1){O=K.cells[0];this.selectCell(O);}}}else{this.unselectCell(L.cells[R.colKeyIndex]);}}}}else{if(I==37){K=this.getPreviousTrEl(R.el);if(P.recordIndex<R.recordIndex){this.unselectCell(L.cells[R.colKeyIndex]);if(R.colKeyIndex>0){}else{}}else{if(P.recordIndex>R.recordIndex){if(R.colKeyIndex>0){O=L.cells[R.colKeyIndex-1];this.selectCell(O);}else{if(R.trIndex>0){O=K.cells[K.cells.length-1];this.selectCell(O);}}}else{if(P.colKeyIndex>=R.colKeyIndex){if(R.colKeyIndex>0){O=L.cells[R.colKeyIndex-1];this.selectCell(O);}else{if(R.trIndex>0){O=K.cells[K.cells.length-1];this.selectCell(O);}}}else{this.unselectCell(L.cells[R.colKeyIndex]);if(R.colKeyIndex>0){}else{}}}}}}}}}},_handleSingleCellSelectionByMouse:function(N){var O=N.target;var K=this.getTdEl(O);if(K){var J=this.getTrEl(K);var I=this.getRecord(J);var M=this.getColumn(K);var L={record:I,column:M};this._oAnchorCell=L;this.unselectAllCells();this.selectCell(L);}},_handleSingleCellSelectionByKey:function(M){var I=G.getCharCode(M);if((I==9)||((I>36)&&(I<41))){var K=M.shiftKey;var J=this._getSelectionTrigger();if(!J){return null;}var L;if(I==40){L=this.getBelowTdEl(J.el);if(L===null){L=J.el;}}else{if(I==38){L=this.getAboveTdEl(J.el);if(L===null){L=J.el;}}else{if((I==39)||(!K&&(I==9))){L=this.getNextTdEl(J.el);if(L===null){return;}}else{if((I==37)||(K&&(I==9))){L=this.getPreviousTdEl(J.el);if(L===null){return;}}}}}G.stopEvent(M);this.unselectAllCells();this.selectCell(L);this._oAnchorCell={record:this.getRecord(L),column:this.getColumn(L)};}},getSelectedTrEls:function(){return C.getElementsByClassName(D.CLASS_SELECTED,"tr",this._elTbody);},selectRow:function(O){var N,I;if(O instanceof YAHOO.widget.Record){N=this._oRecordSet.getRecord(O);I=this.getTrEl(N);}else{if(H.isNumber(O)){N=this.getRecord(O);I=this.getTrEl(N);}else{I=this.getTrEl(O);N=this.getRecord(I);}}if(N){var M=this._aSelections||[];var L=N.getId();var K=-1;if(M.indexOf){K=M.indexOf(L);}else{for(var J=M.length-1;J>-1;J--){if(M[J]===L){K=J;break;}}}if(K>-1){M.splice(K,1);}M.push(L);this._aSelections=M;if(!this._oAnchorRecord){this._oAnchorRecord=N;}if(I){C.addClass(I,D.CLASS_SELECTED);}this.fireEvent("rowSelectEvent",{record:N,el:I});}else{}},unselectRow:function(O){var I=this.getTrEl(O);var N;if(O instanceof YAHOO.widget.Record){N=this._oRecordSet.getRecord(O);}else{if(H.isNumber(O)){N=this.getRecord(O);}else{N=this.getRecord(I);}}if(N){var M=this._aSelections||[];var L=N.getId();var K=-1;if(M.indexOf){K=M.indexOf(L);}else{for(var J=M.length-1;J>-1;J--){if(M[J]===L){K=J;break;}}}if(K>-1){M.splice(K,1);this._aSelections=M;C.removeClass(I,D.CLASS_SELECTED);this.fireEvent("rowUnselectEvent",{record:N,el:I});return;}}},unselectAllRows:function(){var J=this._aSelections||[],L,K=[];for(var I=J.length-1;I>-1;I--){if(H.isString(J[I])){L=J.splice(I,1);K[K.length]=this.getRecord(H.isArray(L)?L[0]:L);}}this._aSelections=J;this._unselectAllTrEls();this.fireEvent("unselectAllRowsEvent",{records:K});},_unselectAllTdEls:function(){var I=C.getElementsByClassName(D.CLASS_SELECTED,"td",this._elTbody);C.removeClass(I,D.CLASS_SELECTED);},getSelectedTdEls:function(){return C.getElementsByClassName(D.CLASS_SELECTED,"td",this._elTbody);},selectCell:function(I){var O=this.getTdEl(I);if(O){var N=this.getRecord(O);var L=this.getColumn(O.cellIndex).getKey();if(N&&L){var M=this._aSelections||[];var K=N.getId();for(var J=M.length-1;J>-1;J--){if((M[J].recordId===K)&&(M[J].columnKey===L)){M.splice(J,1);break;}}M.push({recordId:K,columnKey:L});this._aSelections=M;if(!this._oAnchorCell){this._oAnchorCell={record:N,column:this.getColumn(L)};}C.addClass(O,D.CLASS_SELECTED);this.fireEvent("cellSelectEvent",{record:N,column:this.getColumn(O.cellIndex),key:this.getColumn(O.cellIndex).getKey(),el:O});return;}}},unselectCell:function(I){var N=this.getTdEl(I);if(N){var M=this.getRecord(N);var K=this.getColumn(N.cellIndex).getKey();if(M&&K){var L=this._aSelections||[];var O=M.getId();for(var J=L.length-1;J>-1;J--){if((L[J].recordId===O)&&(L[J].columnKey===K)){L.splice(J,1);this._aSelections=L;C.removeClass(N,D.CLASS_SELECTED);this.fireEvent("cellUnselectEvent",{record:M,column:this.getColumn(N.cellIndex),key:this.getColumn(N.cellIndex).getKey(),el:N});return;}}}}},unselectAllCells:function(){var J=this._aSelections||[];for(var I=J.length-1;I>-1;I--){if(H.isObject(J[I])){J.splice(I,1);}}this._aSelections=J;this._unselectAllTdEls();this.fireEvent("unselectAllCellsEvent");},isSelected:function(N){if(N&&(N.ownerDocument==document)){return(C.hasClass(this.getTdEl(N),D.CLASS_SELECTED)||C.hasClass(this.getTrEl(N),D.CLASS_SELECTED));}else{var M,J,I;var L=this._aSelections;if(L&&L.length>0){if(N instanceof YAHOO.widget.Record){M=N;}else{if(H.isNumber(N)){M=this.getRecord(N);}}if(M){J=M.getId();if(L.indexOf){if(L.indexOf(J)>-1){return true;}}else{for(I=L.length-1;I>-1;I--){if(L[I]===J){return true;}}}}else{if(N.record&&N.column){J=N.record.getId();var K=N.column.getKey();for(I=L.length-1;I>-1;I--){if((L[I].recordId===J)&&(L[I].columnKey===K)){return true;}}}}}}return false;},getSelectedRows:function(){var I=[];var K=this._aSelections||[];for(var J=0;J<K.length;J++){if(H.isString(K[J])){I.push(K[J]);}}return I;},getSelectedCells:function(){var J=[];var K=this._aSelections||[];for(var I=0;I<K.length;I++){if(K[I]&&H.isObject(K[I])){J.push(K[I]);}}return J;},getLastSelectedRecord:function(){var J=this._aSelections;if(J&&J.length>0){for(var I=J.length-1;I>-1;I--){if(H.isString(J[I])){return J[I];}}}},getLastSelectedCell:function(){var J=this._aSelections; +if(J&&J.length>0){for(var I=J.length-1;I>-1;I--){if(J[I].recordId&&J[I].columnKey){return J[I];}}}},highlightRow:function(K){var I=this.getTrEl(K);if(I){var J=this.getRecord(I);C.addClass(I,D.CLASS_HIGHLIGHTED);this.fireEvent("rowHighlightEvent",{record:J,el:I});return;}},unhighlightRow:function(K){var I=this.getTrEl(K);if(I){var J=this.getRecord(I);C.removeClass(I,D.CLASS_HIGHLIGHTED);this.fireEvent("rowUnhighlightEvent",{record:J,el:I});return;}},highlightCell:function(I){var L=this.getTdEl(I);if(L){if(this._elLastHighlightedTd){this.unhighlightCell(this._elLastHighlightedTd);}var K=this.getRecord(L);var J=this.getColumn(L.cellIndex).getKey();C.addClass(L,D.CLASS_HIGHLIGHTED);this._elLastHighlightedTd=L;this.fireEvent("cellHighlightEvent",{record:K,column:this.getColumn(L.cellIndex),key:this.getColumn(L.cellIndex).getKey(),el:L});return;}},unhighlightCell:function(I){var K=this.getTdEl(I);if(K){var J=this.getRecord(K);C.removeClass(K,D.CLASS_HIGHLIGHTED);this._elLastHighlightedTd=null;this.fireEvent("cellUnhighlightEvent",{record:J,column:this.getColumn(K.cellIndex),key:this.getColumn(K.cellIndex).getKey(),el:K});return;}},getCellEditor:function(){return this._oCellEditor;},showCellEditor:function(P,Q,L){P=this.getTdEl(P);if(P){L=this.getColumn(P);if(L&&L.editor){var J=this._oCellEditor;if(J){if(this._oCellEditor.cancel){this._oCellEditor.cancel();}else{if(J.isActive){this.cancelCellEditor();}}}if(L.editor instanceof YAHOO.widget.BaseCellEditor){J=L.editor;var N=J.attach(this,P);if(N){J.move();N=this.doBeforeShowCellEditor(J);if(N){J.show();this._oCellEditor=J;}}}else{if(!Q||!(Q instanceof YAHOO.widget.Record)){Q=this.getRecord(P);}if(!L||!(L instanceof YAHOO.widget.Column)){L=this.getColumn(P);}if(Q&&L){if(!this._oCellEditor||this._oCellEditor.container){this._initCellEditorEl();}J=this._oCellEditor;J.cell=P;J.record=Q;J.column=L;J.validator=(L.editorOptions&&H.isFunction(L.editorOptions.validator))?L.editorOptions.validator:null;J.value=Q.getData(L.key);J.defaultValue=null;var K=J.container;var O=C.getX(P);var M=C.getY(P);if(isNaN(O)||isNaN(M)){O=P.offsetLeft+C.getX(this._elTbody.parentNode)-this._elTbody.scrollLeft;M=P.offsetTop+C.getY(this._elTbody.parentNode)-this._elTbody.scrollTop+this._elThead.offsetHeight;}K.style.left=O+"px";K.style.top=M+"px";this.doBeforeShowCellEditor(this._oCellEditor);K.style.display="";G.addListener(K,"keydown",function(S,R){if((S.keyCode==27)){R.cancelCellEditor();R.focusTbodyEl();}else{R.fireEvent("editorKeydownEvent",{editor:R._oCellEditor,event:S});}},this);var I;if(H.isString(L.editor)){switch(L.editor){case"checkbox":I=D.editCheckbox;break;case"date":I=D.editDate;break;case"dropdown":I=D.editDropdown;break;case"radio":I=D.editRadio;break;case"textarea":I=D.editTextarea;break;case"textbox":I=D.editTextbox;break;default:I=null;}}else{if(H.isFunction(L.editor)){I=L.editor;}}if(I){I(this._oCellEditor,this);if(!L.editorOptions||!L.editorOptions.disableBtns){this.showCellEditorBtns(K);}J.isActive=true;this.fireEvent("editorShowEvent",{editor:J});return;}}}}}},_initCellEditorEl:function(){var I=document.createElement("div");I.id=this._sId+"-celleditor";I.style.display="none";I.tabIndex=0;C.addClass(I,D.CLASS_EDITOR);var K=C.getFirstChild(document.body);if(K){I=C.insertBefore(I,K);}else{I=document.body.appendChild(I);}var J={};J.container=I;J.value=null;J.isActive=false;this._oCellEditor=J;},doBeforeShowCellEditor:function(I){return true;},saveCellEditor:function(){if(this._oCellEditor){if(this._oCellEditor.save){this._oCellEditor.save();}else{if(this._oCellEditor.isActive){var I=this._oCellEditor.value;var J=this._oCellEditor.record.getData(this._oCellEditor.column.key);if(this._oCellEditor.validator){I=this._oCellEditor.value=this._oCellEditor.validator.call(this,I,J,this._oCellEditor);if(I===null){this.resetCellEditor();this.fireEvent("editorRevertEvent",{editor:this._oCellEditor,oldData:J,newData:I});return;}}this._oRecordSet.updateRecordValue(this._oCellEditor.record,this._oCellEditor.column.key,this._oCellEditor.value);this.formatCell(this._oCellEditor.cell.firstChild);this._oChainRender.add({method:function(){this.validateColumnWidths();},scope:this});this._oChainRender.run();this.resetCellEditor();this.fireEvent("editorSaveEvent",{editor:this._oCellEditor,oldData:J,newData:I});}}}},cancelCellEditor:function(){if(this._oCellEditor){if(this._oCellEditor.cancel){this._oCellEditor.cancel();}else{if(this._oCellEditor.isActive){this.resetCellEditor();this.fireEvent("editorCancelEvent",{editor:this._oCellEditor});}}}},destroyCellEditor:function(){if(this._oCellEditor){this._oCellEditor.destroy();this._oCellEditor=null;}},_onEditorShowEvent:function(I){this.fireEvent("editorShowEvent",I);},_onEditorKeydownEvent:function(I){this.fireEvent("editorKeydownEvent",I);},_onEditorRevertEvent:function(I){this.fireEvent("editorRevertEvent",I);},_onEditorSaveEvent:function(I){this.fireEvent("editorSaveEvent",I);},_onEditorCancelEvent:function(I){this.fireEvent("editorCancelEvent",I);},_onEditorBlurEvent:function(I){this.fireEvent("editorBlurEvent",I);},_onEditorBlockEvent:function(I){this.fireEvent("editorBlockEvent",I);},_onEditorUnblockEvent:function(I){this.fireEvent("editorUnblockEvent",I);},onEditorBlurEvent:function(I){if(I.editor.disableBtns){if(I.editor.save){I.editor.save();}}else{if(I.editor.cancel){I.editor.cancel();}}},onEditorBlockEvent:function(I){this.disable();},onEditorUnblockEvent:function(I){this.undisable();},doBeforeLoadData:function(I,J,K){return true;},onEventSortColumn:function(K){var I=K.event;var M=K.target;var J=this.getThEl(M)||this.getTdEl(M);if(J){var L=this.getColumn(J);if(L.sortable){G.stopEvent(I);this.sortColumn(L);}}else{}},onEventSelectColumn:function(I){this.selectColumn(I.target);},onEventHighlightColumn:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.highlightColumn(I.target);}},onEventUnhighlightColumn:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.unhighlightColumn(I.target);}},onEventSelectRow:function(J){var I=this.get("selectionMode"); +if(I=="single"){this._handleSingleSelectionByMouse(J);}else{this._handleStandardSelectionByMouse(J);}},onEventSelectCell:function(J){var I=this.get("selectionMode");if(I=="cellblock"){this._handleCellBlockSelectionByMouse(J);}else{if(I=="cellrange"){this._handleCellRangeSelectionByMouse(J);}else{this._handleSingleCellSelectionByMouse(J);}}},onEventHighlightRow:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.highlightRow(I.target);}},onEventUnhighlightRow:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.unhighlightRow(I.target);}},onEventHighlightCell:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.highlightCell(I.target);}},onEventUnhighlightCell:function(I){if(!C.isAncestor(I.target,G.getRelatedTarget(I.event))){this.unhighlightCell(I.target);}},onEventFormatCell:function(I){var L=I.target;var J=this.getTdEl(L);if(J){var K=this.getColumn(J.cellIndex);this.formatCell(J.firstChild,this.getRecord(J),K);}else{}},onEventShowCellEditor:function(I){this.showCellEditor(I.target);},onEventSaveCellEditor:function(I){if(this._oCellEditor){if(this._oCellEditor.save){this._oCellEditor.save();}else{this.saveCellEditor();}}},onEventCancelCellEditor:function(I){if(this._oCellEditor){if(this._oCellEditor.cancel){this._oCellEditor.cancel();}else{this.cancelCellEditor();}}},onDataReturnInitializeTable:function(I,J,K){if((this instanceof D)&&this._sId){this.initializeTable();this.onDataReturnSetRows(I,J,K);}},onDataReturnReplaceRows:function(M,L,N){if((this instanceof D)&&this._sId){this.fireEvent("dataReturnEvent",{request:M,response:L,payload:N});var J=this.doBeforeLoadData(M,L,N),K=this.get("paginator"),I=0;if(J&&L&&!L.error&&H.isArray(L.results)){this._oRecordSet.reset();if(this.get("dynamicData")){if(N&&N.pagination&&H.isNumber(N.pagination.recordOffset)){I=N.pagination.recordOffset;}else{if(K){I=K.getStartIndex();}}}this._oRecordSet.setRecords(L.results,I|0);this._handleDataReturnPayload(M,L,N);this.render();}else{if(J&&L.error){this.showTableMessage(this.get("MSG_ERROR"),D.CLASS_ERROR);}}}},onDataReturnAppendRows:function(J,K,L){if((this instanceof D)&&this._sId){this.fireEvent("dataReturnEvent",{request:J,response:K,payload:L});var I=this.doBeforeLoadData(J,K,L);if(I&&K&&!K.error&&H.isArray(K.results)){this.addRows(K.results);this._handleDataReturnPayload(J,K,L);}else{if(I&&K.error){this.showTableMessage(this.get("MSG_ERROR"),D.CLASS_ERROR);}}}},onDataReturnInsertRows:function(J,K,L){if((this instanceof D)&&this._sId){this.fireEvent("dataReturnEvent",{request:J,response:K,payload:L});var I=this.doBeforeLoadData(J,K,L);if(I&&K&&!K.error&&H.isArray(K.results)){this.addRows(K.results,(L?L.insertIndex:0));this._handleDataReturnPayload(J,K,L);}else{if(I&&K.error){this.showTableMessage(this.get("MSG_ERROR"),D.CLASS_ERROR);}}}},onDataReturnUpdateRows:function(J,K,L){if((this instanceof D)&&this._sId){this.fireEvent("dataReturnEvent",{request:J,response:K,payload:L});var I=this.doBeforeLoadData(J,K,L);if(I&&K&&!K.error&&H.isArray(K.results)){this.updateRows((L?L.updateIndex:0),K.results);this._handleDataReturnPayload(J,K,L);}else{if(I&&K.error){this.showTableMessage(this.get("MSG_ERROR"),D.CLASS_ERROR);}}}},onDataReturnSetRows:function(M,L,N){if((this instanceof D)&&this._sId){this.fireEvent("dataReturnEvent",{request:M,response:L,payload:N});var J=this.doBeforeLoadData(M,L,N),K=this.get("paginator"),I=0;if(J&&L&&!L.error&&H.isArray(L.results)){if(this.get("dynamicData")){if(N&&N.pagination&&H.isNumber(N.pagination.recordOffset)){I=N.pagination.recordOffset;}else{if(K){I=K.getStartIndex();}}this._oRecordSet.reset();}this._oRecordSet.setRecords(L.results,I|0);this._handleDataReturnPayload(M,L,N);this.render();}else{if(J&&L.error){this.showTableMessage(this.get("MSG_ERROR"),D.CLASS_ERROR);}}}else{}},handleDataReturnPayload:function(J,I,K){return K;},_handleDataReturnPayload:function(K,J,L){L=this.handleDataReturnPayload(K,J,L);if(L){var I=this.get("paginator");if(I){if(this.get("dynamicData")){if(E.Paginator.isNumeric(L.totalRecords)){I.set("totalRecords",L.totalRecords);}}else{I.set("totalRecords",this._oRecordSet.getLength());}if(H.isObject(L.pagination)){I.set("rowsPerPage",L.pagination.rowsPerPage);I.set("recordOffset",L.pagination.recordOffset);}}if(L.sortedBy){this.set("sortedBy",L.sortedBy);}else{if(L.sorting){this.set("sortedBy",L.sorting);}}}},showCellEditorBtns:function(K){var L=K.appendChild(document.createElement("div"));C.addClass(L,D.CLASS_BUTTON);var J=L.appendChild(document.createElement("button"));C.addClass(J,D.CLASS_DEFAULT);J.innerHTML="OK";G.addListener(J,"click",function(N,M){M.onEventSaveCellEditor(N,M);M.focusTbodyEl();},this,true);var I=L.appendChild(document.createElement("button"));I.innerHTML="Cancel";G.addListener(I,"click",function(N,M){M.onEventCancelCellEditor(N,M);M.focusTbodyEl();},this,true);},resetCellEditor:function(){var I=this._oCellEditor.container;I.style.display="none";G.purgeElement(I,true);I.innerHTML="";this._oCellEditor.value=null;this._oCellEditor.isActive=false;},getBody:function(){return this.getTbodyEl();},getCell:function(I){return this.getTdEl(I);},getRow:function(I){return this.getTrEl(I);},refreshView:function(){this.render();},select:function(J){if(!H.isArray(J)){J=[J];}for(var I=0;I<J.length;I++){this.selectRow(J[I]);}},onEventEditCell:function(I){this.onEventShowCellEditor(I);},_syncColWidths:function(){this.validateColumnWidths();}});D.prototype.onDataReturnSetRecords=D.prototype.onDataReturnSetRows;D.prototype.onPaginatorChange=D.prototype.onPaginatorChangeRequest;D.formatTheadCell=function(){};D.editCheckbox=function(){};D.editDate=function(){};D.editDropdown=function(){};D.editRadio=function(){};D.editTextarea=function(){};D.editTextbox=function(){};})();(function(){var C=YAHOO.lang,F=YAHOO.util,E=YAHOO.widget,A=YAHOO.env.ua,D=F.Dom,J=F.Event,I=F.DataSourceBase,G=E.DataTable,B=E.Paginator;E.ScrollingDataTable=function(N,M,K,L){L=L||{};if(L.scrollable){L.scrollable=false;}E.ScrollingDataTable.superclass.constructor.call(this,N,M,K,L); +this.subscribe("columnShowEvent",this._onColumnChange);};var H=E.ScrollingDataTable;C.augmentObject(H,{CLASS_HEADER:"yui-dt-hd",CLASS_BODY:"yui-dt-bd"});C.extend(H,G,{_elHdContainer:null,_elHdTable:null,_elBdContainer:null,_elBdThead:null,_elTmpContainer:null,_elTmpTable:null,_bScrollbarX:null,initAttributes:function(K){K=K||{};H.superclass.initAttributes.call(this,K);this.setAttributeConfig("width",{value:null,validator:C.isString,method:function(L){if(this._elHdContainer&&this._elBdContainer){this._elHdContainer.style.width=L;this._elBdContainer.style.width=L;this._syncScrollX();this._syncScrollOverhang();}}});this.setAttributeConfig("height",{value:null,validator:C.isString,method:function(L){if(this._elHdContainer&&this._elBdContainer){this._elBdContainer.style.height=L;this._syncScrollX();this._syncScrollY();this._syncScrollOverhang();}}});this.setAttributeConfig("COLOR_COLUMNFILLER",{value:"#F2F2F2",validator:C.isString,method:function(L){this._elHdContainer.style.backgroundColor=L;}});},_initDomElements:function(K){this._initContainerEl(K);if(this._elContainer&&this._elHdContainer&&this._elBdContainer){this._initTableEl();if(this._elHdTable&&this._elTable){this._initColgroupEl(this._elHdTable);this._initTheadEl(this._elHdTable,this._elTable);this._initTbodyEl(this._elTable);this._initMsgTbodyEl(this._elTable);}}if(!this._elContainer||!this._elTable||!this._elColgroup||!this._elThead||!this._elTbody||!this._elMsgTbody||!this._elHdTable||!this._elBdThead){return false;}else{return true;}},_destroyContainerEl:function(K){D.removeClass(K,G.CLASS_SCROLLABLE);H.superclass._destroyContainerEl.call(this,K);this._elHdContainer=null;this._elBdContainer=null;},_initContainerEl:function(L){H.superclass._initContainerEl.call(this,L);if(this._elContainer){L=this._elContainer;D.addClass(L,G.CLASS_SCROLLABLE);var K=document.createElement("div");K.style.width=this.get("width")||"";K.style.backgroundColor=this.get("COLOR_COLUMNFILLER");D.addClass(K,H.CLASS_HEADER);this._elHdContainer=K;L.appendChild(K);var M=document.createElement("div");M.style.width=this.get("width")||"";M.style.height=this.get("height")||"";D.addClass(M,H.CLASS_BODY);J.addListener(M,"scroll",this._onScroll,this);this._elBdContainer=M;L.appendChild(M);}},_initCaptionEl:function(K){},_destroyHdTableEl:function(){var K=this._elHdTable;if(K){J.purgeElement(K,true);K.parentNode.removeChild(K);this._elBdThead=null;}},_initTableEl:function(){if(this._elHdContainer){this._destroyHdTableEl();this._elHdTable=this._elHdContainer.appendChild(document.createElement("table"));}H.superclass._initTableEl.call(this,this._elBdContainer);},_initTheadEl:function(L,K){L=L||this._elHdTable;K=K||this._elTable;this._initBdTheadEl(K);H.superclass._initTheadEl.call(this,L);},_initThEl:function(L,K){H.superclass._initThEl.call(this,L,K);L.id=this.getId()+"-fixedth-"+K.getSanitizedKey();},_destroyBdTheadEl:function(){var K=this._elBdThead;if(K){var L=K.parentNode;J.purgeElement(K,true);L.removeChild(K);this._elBdThead=null;this._destroyColumnHelpers();}},_initBdTheadEl:function(S){if(S){this._destroyBdTheadEl();var O=S.insertBefore(document.createElement("thead"),S.firstChild);var U=this._oColumnSet,T=U.tree,N,K,R,P,M,L,Q;for(P=0,L=T.length;P<L;P++){K=O.appendChild(document.createElement("tr"));for(M=0,Q=T[P].length;M<Q;M++){R=T[P][M];N=K.appendChild(document.createElement("th"));this._initBdThEl(N,R,P,M);}}this._elBdThead=O;}},_initBdThEl:function(N,M){N.id=this.getId()+"-th-"+M.getSanitizedKey();N.rowSpan=M.getRowspan();N.colSpan=M.getColspan();if(M.abbr){N.abbr=M.abbr;}var L=M.getKey();var K=C.isValue(M.label)?M.label:L;N.innerHTML=K;},_initTbodyEl:function(K){H.superclass._initTbodyEl.call(this,K);K.style.marginTop=(this._elTbody.offsetTop>0)?"-"+this._elTbody.offsetTop+"px":0;},_focusEl:function(L){L=L||this._elTbody;var K=this;this._storeScrollPositions();setTimeout(function(){setTimeout(function(){try{L.focus();K._restoreScrollPositions();}catch(M){}},0);},0);},_runRenderChain:function(){this._storeScrollPositions();this._oChainRender.run();},_storeScrollPositions:function(){this._nScrollTop=this._elBdContainer.scrollTop;this._nScrollLeft=this._elBdContainer.scrollLeft;},clearScrollPositions:function(){this._nScrollTop=0;this._nScrollLeft=0;},_restoreScrollPositions:function(){if(this._nScrollTop){this._elBdContainer.scrollTop=this._nScrollTop;this._nScrollTop=null;}if(this._nScrollLeft){this._elBdContainer.scrollLeft=this._nScrollLeft;this._nScrollLeft=null;}},_validateColumnWidth:function(N,K){if(!N.width&&!N.hidden){var P=N.getThEl();if(N._calculatedWidth){this._setColumnWidth(N,"auto","visible");}if(P.offsetWidth!==K.offsetWidth){var M=(P.offsetWidth>K.offsetWidth)?N.getThLinerEl():K.firstChild;var L=Math.max(0,(M.offsetWidth-(parseInt(D.getStyle(M,"paddingLeft"),10)|0)-(parseInt(D.getStyle(M,"paddingRight"),10)|0)),N.minWidth);var O="visible";if((N.maxAutoWidth>0)&&(L>N.maxAutoWidth)){L=N.maxAutoWidth;O="hidden";}this._elTbody.style.display="none";this._setColumnWidth(N,L+"px",O);N._calculatedWidth=L;this._elTbody.style.display="";}}},validateColumnWidths:function(S){var U=this._oColumnSet.keys,W=U.length,L=this.getFirstTrEl();if(A.ie){this._setOverhangValue(1);}if(U&&L&&(L.childNodes.length===W)){var M=this.get("width");if(M){this._elHdContainer.style.width="";this._elBdContainer.style.width="";}this._elContainer.style.width="";if(S&&C.isNumber(S.getKeyIndex())){this._validateColumnWidth(S,L.childNodes[S.getKeyIndex()]);}else{var T,K=[],O,Q,R;for(Q=0;Q<W;Q++){S=U[Q];if(!S.width&&!S.hidden&&S._calculatedWidth){K[K.length]=S;}}this._elTbody.style.display="none";for(Q=0,R=K.length;Q<R;Q++){this._setColumnWidth(K[Q],"auto","visible");}this._elTbody.style.display="";K=[];for(Q=0;Q<W;Q++){S=U[Q];T=L.childNodes[Q];if(!S.width&&!S.hidden){var N=S.getThEl();if(N.offsetWidth!==T.offsetWidth){var V=(N.offsetWidth>T.offsetWidth)?S.getThLinerEl():T.firstChild;var P=Math.max(0,(V.offsetWidth-(parseInt(D.getStyle(V,"paddingLeft"),10)|0)-(parseInt(D.getStyle(V,"paddingRight"),10)|0)),S.minWidth); +var X="visible";if((S.maxAutoWidth>0)&&(P>S.maxAutoWidth)){P=S.maxAutoWidth;X="hidden";}K[K.length]=[S,P,X];}}}this._elTbody.style.display="none";for(Q=0,R=K.length;Q<R;Q++){O=K[Q];this._setColumnWidth(O[0],O[1]+"px",O[2]);O[0]._calculatedWidth=O[1];}this._elTbody.style.display="";}if(M){this._elHdContainer.style.width=M;this._elBdContainer.style.width=M;}}this._syncScroll();this._restoreScrollPositions();},_syncScroll:function(){this._syncScrollX();this._syncScrollY();this._syncScrollOverhang();if(A.opera){this._elHdContainer.scrollLeft=this._elBdContainer.scrollLeft;if(!this.get("width")){document.body.style+="";}}},_syncScrollY:function(){var K=this._elTbody,L=this._elBdContainer;if(!this.get("width")){this._elContainer.style.width=(L.scrollHeight>L.clientHeight)?(K.parentNode.clientWidth+19)+"px":(K.parentNode.clientWidth+2)+"px";}},_syncScrollX:function(){var K=this._elTbody,L=this._elBdContainer;if(!this.get("height")&&(A.ie)){L.style.height=(L.scrollWidth>L.offsetWidth)?(K.parentNode.offsetHeight+18)+"px":K.parentNode.offsetHeight+"px";}if(this._elTbody.rows.length===0){this._elMsgTbody.parentNode.style.width=this.getTheadEl().parentNode.offsetWidth+"px";}else{this._elMsgTbody.parentNode.style.width="";}},_syncScrollOverhang:function(){var L=this._elBdContainer,K=1;if((L.scrollHeight>L.clientHeight)&&(L.scrollWidth>L.clientWidth)){K=18;}this._setOverhangValue(K);},_setOverhangValue:function(N){var P=this._oColumnSet.headers[this._oColumnSet.headers.length-1]||[],L=P.length,K=this._sId+"-fixedth-",O=N+"px solid "+this.get("COLOR_COLUMNFILLER");this._elThead.style.display="none";for(var M=0;M<L;M++){D.get(K+P[M]).style.borderRight=O;}this._elThead.style.display="";},getHdContainerEl:function(){return this._elHdContainer;},getBdContainerEl:function(){return this._elBdContainer;},getHdTableEl:function(){return this._elHdTable;},getBdTableEl:function(){return this._elTable;},disable:function(){var K=this._elMask;K.style.width=this._elBdContainer.offsetWidth+"px";K.style.height=this._elHdContainer.offsetHeight+this._elBdContainer.offsetHeight+"px";K.style.display="";this.fireEvent("disableEvent");},removeColumn:function(M){var K=this._elHdContainer.scrollLeft;var L=this._elBdContainer.scrollLeft;M=H.superclass.removeColumn.call(this,M);this._elHdContainer.scrollLeft=K;this._elBdContainer.scrollLeft=L;return M;},insertColumn:function(N,L){var K=this._elHdContainer.scrollLeft;var M=this._elBdContainer.scrollLeft;var O=H.superclass.insertColumn.call(this,N,L);this._elHdContainer.scrollLeft=K;this._elBdContainer.scrollLeft=M;return O;},reorderColumn:function(N,L){var K=this._elHdContainer.scrollLeft;var M=this._elBdContainer.scrollLeft;var O=H.superclass.reorderColumn.call(this,N,L);this._elHdContainer.scrollLeft=K;this._elBdContainer.scrollLeft=M;return O;},setColumnWidth:function(L,K){L=this.getColumn(L);if(L){this._storeScrollPositions();if(C.isNumber(K)){K=(K>L.minWidth)?K:L.minWidth;L.width=K;this._setColumnWidth(L,K+"px");this._syncScroll();this.fireEvent("columnSetWidthEvent",{column:L,width:K});}else{if(K===null){L.width=K;this._setColumnWidth(L,"auto");this.validateColumnWidths(L);this.fireEvent("columnUnsetWidthEvent",{column:L});}}this._clearTrTemplateEl();}else{}},scrollTo:function(M){var L=this.getTdEl(M);if(L){this.clearScrollPositions();this.getBdContainerEl().scrollLeft=L.offsetLeft;this.getBdContainerEl().scrollTop=L.parentNode.offsetTop;}else{var K=this.getTrEl(M);if(K){this.clearScrollPositions();this.getBdContainerEl().scrollTop=K.offsetTop;}}},showTableMessage:function(O,K){var P=this._elMsgTd;if(C.isString(O)){P.firstChild.innerHTML=O;}if(C.isString(K)){D.addClass(P.firstChild,K);}var N=this.getTheadEl();var L=N.parentNode;var M=L.offsetWidth;this._elMsgTbody.parentNode.style.width=this.getTheadEl().parentNode.offsetWidth+"px";this._elMsgTbody.style.display="";this.fireEvent("tableMsgShowEvent",{html:O,className:K});},_onColumnChange:function(K){var L=(K.column)?K.column:(K.editor)?K.editor.column:null;this._storeScrollPositions();this.validateColumnWidths(L);},_onScroll:function(M,L){L._elHdContainer.scrollLeft=L._elBdContainer.scrollLeft;if(L._oCellEditor&&L._oCellEditor.isActive){L.fireEvent("editorBlurEvent",{editor:L._oCellEditor});L.cancelCellEditor();}var N=J.getTarget(M);var K=N.nodeName.toLowerCase();L.fireEvent("tableScrollEvent",{event:M,target:N});},_onTheadKeydown:function(N,L){if(J.getCharCode(N)===9){setTimeout(function(){if((L instanceof H)&&L._sId){L._elBdContainer.scrollLeft=L._elHdContainer.scrollLeft;}},0);}var O=J.getTarget(N);var K=O.nodeName.toLowerCase();var M=true;while(O&&(K!="table")){switch(K){case"body":return;case"input":case"textarea":break;case"thead":M=L.fireEvent("theadKeyEvent",{target:O,event:N});break;default:break;}if(M===false){return;}else{O=O.parentNode;if(O){K=O.nodeName.toLowerCase();}}}L.fireEvent("tableKeyEvent",{target:(O||L._elContainer),event:N});}});})();(function(){var C=YAHOO.lang,F=YAHOO.util,E=YAHOO.widget,B=YAHOO.env.ua,D=F.Dom,I=F.Event,H=E.DataTable;E.BaseCellEditor=function(K,J){this._sId=this._sId||"yui-ceditor"+YAHOO.widget.BaseCellEditor._nCount++;this._sType=K;this._initConfigs(J);this._initEvents();this.render();};var A=E.BaseCellEditor;C.augmentObject(A,{_nCount:0,CLASS_CELLEDITOR:"yui-ceditor"});A.prototype={_sId:null,_sType:null,_oDataTable:null,_oColumn:null,_oRecord:null,_elTd:null,_elContainer:null,_elCancelBtn:null,_elSaveBtn:null,_initConfigs:function(K){if(K&&YAHOO.lang.isObject(K)){for(var J in K){if(J){this[J]=K[J];}}}},_initEvents:function(){this.createEvent("showEvent");this.createEvent("keydownEvent");this.createEvent("invalidDataEvent");this.createEvent("revertEvent");this.createEvent("saveEvent");this.createEvent("cancelEvent");this.createEvent("blurEvent");this.createEvent("blockEvent");this.createEvent("unblockEvent");},asyncSubmitter:null,value:null,defaultValue:null,validator:null,resetInvalidData:true,isActive:false,LABEL_SAVE:"Save",LABEL_CANCEL:"Cancel",disableBtns:false,toString:function(){return"CellEditor instance "+this._sId; +},getId:function(){return this._sId;},getDataTable:function(){return this._oDataTable;},getColumn:function(){return this._oColumn;},getRecord:function(){return this._oRecord;},getTdEl:function(){return this._elTd;},getContainerEl:function(){return this._elContainer;},destroy:function(){this.unsubscribeAll();var K=this.getColumn();if(K){K.editor=null;}var J=this.getContainerEl();I.purgeElement(J,true);J.parentNode.removeChild(J);},render:function(){if(this._elContainer){YAHOO.util.Event.purgeElement(this._elContainer,true);this._elContainer.innerHTML="";}var J=document.createElement("div");J.id=this.getId()+"-container";J.style.display="none";J.tabIndex=0;J.className=H.CLASS_EDITOR;document.body.insertBefore(J,document.body.firstChild);this._elContainer=J;I.addListener(J,"keydown",function(M,K){if((M.keyCode==27)){var L=I.getTarget(M);if(L.nodeName&&L.nodeName.toLowerCase()==="select"){L.blur();}K.cancel();}K.fireEvent("keydownEvent",{editor:this,event:M});},this);this.renderForm();if(!this.disableBtns){this.renderBtns();}this.doAfterRender();},renderBtns:function(){var L=this.getContainerEl().appendChild(document.createElement("div"));L.className=H.CLASS_BUTTON;var K=L.appendChild(document.createElement("button"));K.className=H.CLASS_DEFAULT;K.innerHTML=this.LABEL_SAVE;I.addListener(K,"click",function(M){this.save();},this,true);this._elSaveBtn=K;var J=L.appendChild(document.createElement("button"));J.innerHTML=this.LABEL_CANCEL;I.addListener(J,"click",function(M){this.cancel();},this,true);this._elCancelBtn=J;},attach:function(N,L){if(N instanceof YAHOO.widget.DataTable){this._oDataTable=N;L=N.getTdEl(L);if(L){this._elTd=L;var M=N.getColumn(L);if(M){this._oColumn=M;var J=N.getRecord(L);if(J){this._oRecord=J;var K=J.getData(this.getColumn().getField());this.value=(K!==undefined)?K:this.defaultValue;return true;}}}}return false;},move:function(){var M=this.getContainerEl(),L=this.getTdEl(),J=D.getX(L),N=D.getY(L);if(isNaN(J)||isNaN(N)){var K=this.getDataTable().getTbodyEl();J=L.offsetLeft+D.getX(K.parentNode)-K.scrollLeft;N=L.offsetTop+D.getY(K.parentNode)-K.scrollTop+this.getDataTable().getTheadEl().offsetHeight;}M.style.left=J+"px";M.style.top=N+"px";},show:function(){this.resetForm();this.isActive=true;this.getContainerEl().style.display="";this.focus();this.fireEvent("showEvent",{editor:this});},block:function(){this.fireEvent("blockEvent",{editor:this});},unblock:function(){this.fireEvent("unblockEvent",{editor:this});},save:function(){var K=this.getInputValue();var L=K;if(this.validator){L=this.validator.call(this.getDataTable(),K,this.value,this);if(L===undefined){if(this.resetInvalidData){this.resetForm();}this.fireEvent("invalidDataEvent",{editor:this,oldData:this.value,newData:K});return;}}var M=this;var J=function(O,N){var P=M.value;if(O){M.value=N;M.getDataTable().updateCell(M.getRecord(),M.getColumn(),N);M.getContainerEl().style.display="none";M.isActive=false;M.getDataTable()._oCellEditor=null;M.fireEvent("saveEvent",{editor:M,oldData:P,newData:M.value});}else{M.resetForm();M.fireEvent("revertEvent",{editor:M,oldData:P,newData:N});}M.unblock();};this.block();if(C.isFunction(this.asyncSubmitter)){this.asyncSubmitter.call(this,J,L);}else{J(true,L);}},cancel:function(){if(this.isActive){this.getContainerEl().style.display="none";this.isActive=false;this.getDataTable()._oCellEditor=null;this.fireEvent("cancelEvent",{editor:this});}else{}},renderForm:function(){},doAfterRender:function(){},handleDisabledBtns:function(){},resetForm:function(){},focus:function(){},getInputValue:function(){}};C.augmentProto(A,F.EventProvider);E.CheckboxCellEditor=function(J){this._sId="yui-checkboxceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.CheckboxCellEditor.superclass.constructor.call(this,"checkbox",J);};C.extend(E.CheckboxCellEditor,A,{checkboxOptions:null,checkboxes:null,value:null,renderForm:function(){if(C.isArray(this.checkboxOptions)){var M,N,P,K,L,J;for(L=0,J=this.checkboxOptions.length;L<J;L++){M=this.checkboxOptions[L];N=C.isValue(M.value)?M.value:M;P=this.getId()+"-chk"+L;this.getContainerEl().innerHTML+='<input type="checkbox"'+' id="'+P+'"'+' value="'+N+'" />';K=this.getContainerEl().appendChild(document.createElement("label"));K.htmlFor=P;K.innerHTML=C.isValue(M.label)?M.label:M;}var O=[];for(L=0;L<J;L++){O[O.length]=this.getContainerEl().childNodes[L*2];}this.checkboxes=O;if(this.disableBtns){this.handleDisabledBtns();}}else{}},handleDisabledBtns:function(){I.addListener(this.getContainerEl(),"click",function(J){if(I.getTarget(J).tagName.toLowerCase()==="input"){this.save();}},this,true);},resetForm:function(){var N=C.isArray(this.value)?this.value:[this.value];for(var M=0,L=this.checkboxes.length;M<L;M++){this.checkboxes[M].checked=false;for(var K=0,J=N.length;K<J;K++){if(this.checkboxes[M].value===N[K]){this.checkboxes[M].checked=true;}}}},focus:function(){this.checkboxes[0].focus();},getInputValue:function(){var J=[];for(var L=0,K=this.checkboxes.length;L<K;L++){if(this.checkboxes[L].checked){J[J.length]=this.checkboxes[L].value;}}return J;}});C.augmentObject(E.CheckboxCellEditor,A);E.DateCellEditor=function(J){this._sId="yui-dateceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.DateCellEditor.superclass.constructor.call(this,"date",J);};C.extend(E.DateCellEditor,A,{calendar:null,calendarOptions:null,defaultValue:new Date(),renderForm:function(){if(YAHOO.widget.Calendar){var K=this.getContainerEl().appendChild(document.createElement("div"));K.id=this.getId()+"-dateContainer";var L=new YAHOO.widget.Calendar(this.getId()+"-date",K.id,this.calendarOptions);L.render();K.style.cssFloat="none";if(B.ie){var J=this.getContainerEl().appendChild(document.createElement("div"));J.style.clear="both";}this.calendar=L;if(this.disableBtns){this.handleDisabledBtns();}}else{}},handleDisabledBtns:function(){this.calendar.selectEvent.subscribe(function(J){this.save();},this,true);},resetForm:function(){var K=this.value;var J=(K.getMonth()+1)+"/"+K.getDate()+"/"+K.getFullYear();this.calendar.cfg.setProperty("selected",J,false); +this.calendar.render();},focus:function(){},getInputValue:function(){return this.calendar.getSelectedDates()[0];}});C.augmentObject(E.DateCellEditor,A);E.DropdownCellEditor=function(J){this._sId="yui-dropdownceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.DropdownCellEditor.superclass.constructor.call(this,"dropdown",J);};C.extend(E.DropdownCellEditor,A,{dropdownOptions:null,dropdown:null,multiple:false,size:null,renderForm:function(){var M=this.getContainerEl().appendChild(document.createElement("select"));M.style.zoom=1;if(this.multiple){M.multiple="multiple";}if(C.isNumber(this.size)){M.size=this.size;}this.dropdown=M;if(C.isArray(this.dropdownOptions)){var N,L;for(var K=0,J=this.dropdownOptions.length;K<J;K++){N=this.dropdownOptions[K];L=document.createElement("option");L.value=(C.isValue(N.value))?N.value:N;L.innerHTML=(C.isValue(N.label))?N.label:N;L=M.appendChild(L);}if(this.disableBtns){this.handleDisabledBtns();}}},handleDisabledBtns:function(){if(this.multiple){I.addListener(this.dropdown,"blur",function(J){this.save();},this,true);}else{I.addListener(this.dropdown,"change",function(J){this.save();},this,true);}},resetForm:function(){var P=this.dropdown.options,M=0,L=P.length;if(C.isArray(this.value)){var K=this.value,J=0,O=K.length,N={};for(;M<L;M++){P[M].selected=false;N[P[M].value]=P[M];}for(;J<O;J++){if(N[K[J]]){N[K[J]].selected=true;}}}else{for(;M<L;M++){if(this.value===P[M].value){P[M].selected=true;}}}},focus:function(){this.getDataTable()._focusEl(this.dropdown);},getInputValue:function(){var M=this.dropdown.options;if(this.multiple){var J=[],L=0,K=M.length;for(;L<K;L++){if(M[L].selected){J.push(M[L].value);}}return J;}else{return M[M.selectedIndex].value;}}});C.augmentObject(E.DropdownCellEditor,A);E.RadioCellEditor=function(J){this._sId="yui-radioceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.RadioCellEditor.superclass.constructor.call(this,"radio",J);};C.extend(E.RadioCellEditor,A,{radios:null,radioOptions:null,renderForm:function(){if(C.isArray(this.radioOptions)){var J,K,Q,N;for(var M=0,O=this.radioOptions.length;M<O;M++){J=this.radioOptions[M];K=C.isValue(J.value)?J.value:J;Q=this.getId()+"-radio"+M;this.getContainerEl().innerHTML+='<input type="radio"'+' name="'+this.getId()+'"'+' value="'+K+'"'+' id="'+Q+'" />';N=this.getContainerEl().appendChild(document.createElement("label"));N.htmlFor=Q;N.innerHTML=(C.isValue(J.label))?J.label:J;}var P=[],R;for(var L=0;L<O;L++){R=this.getContainerEl().childNodes[L*2];P[P.length]=R;}this.radios=P;if(this.disableBtns){this.handleDisabledBtns();}}else{}},handleDisabledBtns:function(){I.addListener(this.getContainerEl(),"click",function(J){if(I.getTarget(J).tagName.toLowerCase()==="input"){this.save();}},this,true);},resetForm:function(){for(var L=0,K=this.radios.length;L<K;L++){var J=this.radios[L];if(this.value===J.value){J.checked=true;return;}}},focus:function(){for(var K=0,J=this.radios.length;K<J;K++){if(this.radios[K].checked){this.radios[K].focus();return;}}},getInputValue:function(){for(var K=0,J=this.radios.length;K<J;K++){if(this.radios[K].checked){return this.radios[K].value;}}}});C.augmentObject(E.RadioCellEditor,A);E.TextareaCellEditor=function(J){this._sId="yui-textareaceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.TextareaCellEditor.superclass.constructor.call(this,"textarea",J);};C.extend(E.TextareaCellEditor,A,{textarea:null,renderForm:function(){var J=this.getContainerEl().appendChild(document.createElement("textarea"));this.textarea=J;if(this.disableBtns){this.handleDisabledBtns();}},handleDisabledBtns:function(){I.addListener(this.textarea,"blur",function(J){this.save();},this,true);},move:function(){this.textarea.style.width=this.getTdEl().offsetWidth+"px";this.textarea.style.height="3em";YAHOO.widget.TextareaCellEditor.superclass.move.call(this);},resetForm:function(){this.textarea.value=this.value;},focus:function(){this.getDataTable()._focusEl(this.textarea);this.textarea.select();},getInputValue:function(){return this.textarea.value;}});C.augmentObject(E.TextareaCellEditor,A);E.TextboxCellEditor=function(J){this._sId="yui-textboxceditor"+YAHOO.widget.BaseCellEditor._nCount++;E.TextboxCellEditor.superclass.constructor.call(this,"textbox",J);};C.extend(E.TextboxCellEditor,A,{textbox:null,renderForm:function(){var J;if(B.webkit>420){J=this.getContainerEl().appendChild(document.createElement("form")).appendChild(document.createElement("input"));}else{J=this.getContainerEl().appendChild(document.createElement("input"));}J.type="text";this.textbox=J;I.addListener(J,"keypress",function(K){if((K.keyCode===13)){YAHOO.util.Event.preventDefault(K);this.save();}},this,true);if(this.disableBtns){this.handleDisabledBtns();}},move:function(){this.textbox.style.width=this.getTdEl().offsetWidth+"px";E.TextboxCellEditor.superclass.move.call(this);},resetForm:function(){this.textbox.value=C.isValue(this.value)?this.value.toString():"";},focus:function(){this.getDataTable()._focusEl(this.textbox);this.textbox.select();},getInputValue:function(){return this.textbox.value;}});C.augmentObject(E.TextboxCellEditor,A);H.Editors={checkbox:E.CheckboxCellEditor,"date":E.DateCellEditor,dropdown:E.DropdownCellEditor,radio:E.RadioCellEditor,textarea:E.TextareaCellEditor,textbox:E.TextboxCellEditor};E.CellEditor=function(K,J){if(K&&H.Editors[K]){C.augmentObject(A,H.Editors[K]);return new H.Editors[K](J);}else{return new A(null,J);}};var G=E.CellEditor;C.augmentObject(G,A);})();YAHOO.register("datatable",YAHOO.widget.DataTable,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/datemath/datemath-min.js b/js/yui/datemath/datemath-min.js new file mode 100644 index 0000000000000000000000000000000000000000..2c09d8e333b30988a1bd2aff5d5b9c8b6b824777 --- /dev/null +++ b/js/yui/datemath/datemath-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.widget.DateMath={DAY:"D",WEEK:"W",YEAR:"Y",MONTH:"M",ONE_DAY_MS:1000*60*60*24,WEEK_ONE_JAN_DATE:1,add:function(A,D,C){var F=new Date(A.getTime());switch(D){case this.MONTH:var E=A.getMonth()+C;var B=0;if(E<0){while(E<0){E+=12;B-=1;}}else{if(E>11){while(E>11){E-=12;B+=1;}}}F.setMonth(E);F.setFullYear(A.getFullYear()+B);break;case this.DAY:this._addDays(F,C);break;case this.YEAR:F.setFullYear(A.getFullYear()+C);break;case this.WEEK:this._addDays(F,(C*7));break;}return F;},_addDays:function(D,C){if(YAHOO.env.ua.webkit&&YAHOO.env.ua.webkit<420){if(C<0){for(var B=-128;C<B;C-=B){D.setDate(D.getDate()+B);}}else{for(var A=96;C>A;C-=A){D.setDate(D.getDate()+A);}}}D.setDate(D.getDate()+C);},subtract:function(A,C,B){return this.add(A,C,(B*-1));},before:function(C,B){var A=B.getTime();if(C.getTime()<A){return true;}else{return false;}},after:function(C,B){var A=B.getTime();if(C.getTime()>A){return true;}else{return false;}},between:function(B,A,C){if(this.after(B,A)&&this.before(B,C)){return true;}else{return false;}},getJan1:function(A){return this.getDate(A,0,1);},getDayOffset:function(B,D){var C=this.getJan1(D);var A=Math.ceil((B.getTime()-C.getTime())/this.ONE_DAY_MS);return A;},getWeekNumber:function(D,B,G){B=B||0;G=G||this.WEEK_ONE_JAN_DATE;var H=this.clearTime(D),L,M;if(H.getDay()===B){L=H;}else{L=this.getFirstDayOfWeek(H,B);}var I=L.getFullYear();M=new Date(L.getTime()+6*this.ONE_DAY_MS);var F;if(I!==M.getFullYear()&&M.getDate()>=G){F=1;}else{var E=this.clearTime(this.getDate(I,0,G)),A=this.getFirstDayOfWeek(E,B);var J=Math.round((H.getTime()-A.getTime())/this.ONE_DAY_MS);var K=J%7;var C=(J-K)/7;F=C+1;}return F;},getFirstDayOfWeek:function(D,A){A=A||0;var B=D.getDay(),C=(B-A+7)%7;return this.subtract(D,this.DAY,C);},isYearOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getFullYear()!=A.getFullYear()){C=true;}return C;},isMonthOverlapWeek:function(A){var C=false;var B=this.add(A,this.DAY,6);if(B.getMonth()!=A.getMonth()){C=true;}return C;},findMonthStart:function(A){var B=this.getDate(A.getFullYear(),A.getMonth(),1);return B;},findMonthEnd:function(B){var D=this.findMonthStart(B);var C=this.add(D,this.MONTH,1);var A=this.subtract(C,this.DAY,1);return A;},clearTime:function(A){A.setHours(12,0,0,0);return A;},getDate:function(D,A,C){var B=null;if(YAHOO.lang.isUndefined(C)){C=1;}if(D>=100){B=new Date(D,A,C);}else{B=new Date();B.setFullYear(D);B.setMonth(A);B.setDate(C);B.setHours(0,0,0,0);}return B;}};YAHOO.register("datemath",YAHOO.widget.DateMath,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/dom/dom-min.js b/js/yui/dom/dom-min.js new file mode 100644 index 0000000000000000000000000000000000000000..648648ff6a695e5cce1553f3f579ba2a1242dbfa --- /dev/null +++ b/js/yui/dom/dom-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},DOT_ATTRIBUTES:{},get:function(z){var AB,x,AA,y,Y,G;if(z){if(z[l]||z.item){return z;}if(typeof z==="string"){AB=z;z=K.getElementById(z);G=(z)?z.attributes:null;if(z&&G&&G.id&&G.id.value===AB){return z;}else{if(z&&K.all){z=null;x=K.all[AB];for(y=0,Y=x.length;y<Y;++y){if(x[y].id===AB){return x[y];}}}}return z;}if(YAHOO.util.Element&&z instanceof YAHOO.util.Element){z=z.get("element");}if("length" in z){AA=[];for(y=0,Y=z.length;y<Y;++y){AA[AA.length]=E.Dom.get(z[y]);}return AA;}return z;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC===c)){G=S(AF[v],q);x=S(AF[v],R);if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(var y=0,AA=G.length;y<AA;++y){if(z(G[y],AB)){Y[Y.length]=G[y];}}if(AE){E.Dom.batch(Y,AE,x,AD);}return Y;},hasClass:function(Y,G){return E.Dom.batch(Y,E.Dom._hasClass,G);},_hasClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(Y.exec){G=Y.test(y);}else{G=Y&&(B+y+B).indexOf(B+Y+B)>-1;}}else{}return G;},addClass:function(Y,G){return E.Dom.batch(Y,E.Dom._addClass,G);},_addClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(!E.Dom._hasClass(x,Y)){E.Dom.setAttribute(x,F,A(y+B+Y));G=true;}}else{}return G;},removeClass:function(Y,G){return E.Dom.batch(Y,E.Dom._removeClass,G);},_removeClass:function(y,x){var Y=false,AA,z,G;if(y&&x){AA=E.Dom._getAttribute(y,F)||J;E.Dom.setAttribute(y,F,AA.replace(E.Dom._getClassRegex(x),J));z=E.Dom._getAttribute(y,F);if(AA!==z){E.Dom.setAttribute(y,F,A(z));Y=true;if(E.Dom._getAttribute(y,F)===""){G=(y.hasAttribute&&y.hasAttribute(g))?g:F; +y.removeAttribute(G);}}}else{}return Y;},replaceClass:function(x,Y,G){return E.Dom.batch(x,E.Dom._replaceClass,{from:Y,to:G});},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom._getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e]&&y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){E.Dom.batch(Y,E.Dom._setAttribute,{attr:G,val:x});},_setAttribute:function(x,Y){var G=E.Dom._toCamel(Y.attr),y=Y.val;if(x&&x.setAttribute){if(E.Dom.DOT_ATTRIBUTES[G]){x[G]=y;}else{G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;x.setAttribute(G,y);}}else{}},getAttribute:function(Y,G){return E.Dom.batch(Y,E.Dom._getAttribute,G);},_getAttribute:function(Y,G){var x;G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;if(Y&&Y.getAttribute){x=Y.getAttribute(G,2);}else{}return x;},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:function(x,y){var Y=parseInt(E.Dom[w](x,R),10)||0,G=parseInt(E.Dom[w](x,q),10)||0;if(H){if(N.test(x[C])){Y=0;G=0;}}y[0]+=G;y[1]+=Y;return y;}};var S=E.Dom[w];if(m.opera){E.Dom[w]=function(Y,G){var x=S(Y,G);if(X.test(G)){x=E.Dom.Color.toRGB(x);}return x;};}if(m.webkit){E.Dom[w]=function(Y,G){var x=S(Y,G);if(x==="rgba(0, 0, 0, 0)"){x="transparent";}return x;};}if(m.ie&&m.ie>=8&&K.documentElement.hasAttribute){E.Dom.DOT_ATTRIBUTES.type=true;}})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this.y=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this.x=B;this[0]=B; +this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top),D=Math.min(this.right,E.right),A=Math.min(this.bottom,E.bottom),B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/dragdrop/dragdrop-min.js b/js/yui/dragdrop/dragdrop-min.js new file mode 100644 index 0000000000000000000000000000000000000000..6e8ac999a78c2d2110d7e6a7a46071452700d6d0 --- /dev/null +++ b/js/yui/dragdrop/dragdrop-min.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event,B=YAHOO.util.Dom;return{useShim:false,_shimActive:false,_shimState:false,_debugShim:false,_createShim:function(){var C=document.createElement("div");C.id="yui-ddm-shim";if(document.body.firstChild){document.body.insertBefore(C,document.body.firstChild);}else{document.body.appendChild(C);}C.style.display="none";C.style.backgroundColor="red";C.style.position="absolute";C.style.zIndex="99999";B.setStyle(C,"opacity","0");this._shim=C;A.on(C,"mouseup",this.handleMouseUp,this,true);A.on(C,"mousemove",this.handleMouseMove,this,true);A.on(window,"scroll",this._sizeShim,this,true);},_sizeShim:function(){if(this._shimActive){var C=this._shim;C.style.height=B.getDocumentHeight()+"px";C.style.width=B.getDocumentWidth()+"px";C.style.top="0";C.style.left="0";}},_activateShim:function(){if(this.useShim){if(!this._shim){this._createShim();}this._shimActive=true;var C=this._shim,D="0";if(this._debugShim){D=".5";}B.setStyle(C,"opacity",D);this._sizeShim();C.style.display="block";}},_deactivateShim:function(){this._shim.style.display="none";this._shimActive=false;},_shim:null,ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(E,D){for(var F in this.ids){for(var C in this.ids[F]){var G=this.ids[F][C];if(!this.isTypeOfDD(G)){continue;}G[E].apply(G,D);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(C){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(D,C){if(!this.initialized){this.init();}if(!this.ids[C]){this.ids[C]={};}this.ids[C][D.id]=D;},removeDDFromGroup:function(E,C){if(!this.ids[C]){this.ids[C]={};}var D=this.ids[C];if(D&&D[E.id]){delete D[E.id];}},_remove:function(E){for(var D in E.groups){if(D){var C=this.ids[D];if(C&&C[E.id]){delete C[E.id];}}}delete this.handleIds[E.id];},regHandle:function(D,C){if(!this.handleIds[D]){this.handleIds[D]={};}this.handleIds[D][C]=C;},isDragDrop:function(C){return(this.getDDById(C))?true:false;},getRelated:function(H,D){var G=[];for(var F in H.groups){for(var E in this.ids[F]){var C=this.ids[F][E];if(!this.isTypeOfDD(C)){continue;}if(!D||C.isTarget){G[G.length]=C;}}}return G;},isLegalTarget:function(G,F){var D=this.getRelated(G,true);for(var E=0,C=D.length;E<C;++E){if(D[E].id==F.id){return true;}}return false;},isTypeOfDD:function(C){return(C&&C.__ygDragDrop);},isHandle:function(D,C){return(this.handleIds[D]&&this.handleIds[D][C]);},getDDById:function(D){for(var C in this.ids){if(this.ids[C][D]){return this.ids[C][D];}}return null;},handleMouseDown:function(E,D){this.currentTarget=YAHOO.util.Event.getTarget(E);this.dragCurrent=D;var C=D.getEl();this.startX=YAHOO.util.Event.getPageX(E);this.startY=YAHOO.util.Event.getPageY(E);this.deltaX=this.startX-C.offsetLeft;this.deltaY=this.startY-C.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var F=YAHOO.util.DDM;F.startDrag(F.startX,F.startY);F.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(C,E){if(this.dragCurrent&&this.dragCurrent.useShim){this._shimState=this.useShim;this.useShim=true;}this._activateShim();clearTimeout(this.clickTimeout);var D=this.dragCurrent;if(D&&D.events.b4StartDrag){D.b4StartDrag(C,E);D.fireEvent("b4StartDragEvent",{x:C,y:E});}if(D&&D.events.startDrag){D.startDrag(C,E);D.fireEvent("startDragEvent",{x:C,y:E});}this.dragThreshMet=true;},handleMouseUp:function(C){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.fromTimeout=false;this.handleMouseMove(C);}this.fromTimeout=false;this.fireEvents(C,true);}else{}this.stopDrag(C);this.stopEvent(C);}},stopEvent:function(C){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(C);}if(this.preventDefault){YAHOO.util.Event.preventDefault(C);}},stopDrag:function(E,D){var C=this.dragCurrent;if(C&&!D){if(this.dragThreshMet){if(C.events.b4EndDrag){C.b4EndDrag(E);C.fireEvent("b4EndDragEvent",{e:E});}if(C.events.endDrag){C.endDrag(E);C.fireEvent("endDragEvent",{e:E});}}if(C.events.mouseUp){C.onMouseUp(E);C.fireEvent("mouseUpEvent",{e:E});}}if(this._shimActive){this._deactivateShim();if(this.dragCurrent&&this.dragCurrent.useShim){this.useShim=this._shimState;this._shimState=false;}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(F){var C=this.dragCurrent;if(C){if(YAHOO.util.Event.isIE&&!F.button){this.stopEvent(F);return this.handleMouseUp(F);}else{if(F.clientX<0||F.clientY<0){}}if(!this.dragThreshMet){var E=Math.abs(this.startX-YAHOO.util.Event.getPageX(F));var D=Math.abs(this.startY-YAHOO.util.Event.getPageY(F));if(E>this.clickPixelThresh||D>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(C&&C.events.b4Drag){C.b4Drag(F);C.fireEvent("b4DragEvent",{e:F});}if(C&&C.events.drag){C.onDrag(F);C.fireEvent("dragEvent",{e:F});}if(C){this.fireEvents(F,false);}}this.stopEvent(F);}},fireEvents:function(V,L){var a=this.dragCurrent;if(!a||a.isLocked()||a.dragOnly){return;}var N=YAHOO.util.Event.getPageX(V),M=YAHOO.util.Event.getPageY(V),P=new YAHOO.util.Point(N,M),K=a.getTargetCoord(P.x,P.y),F=a.getDragEl(),E=["out","over","drop","enter"],U=new YAHOO.util.Region(K.y,K.x+F.offsetWidth,K.y+F.offsetHeight,K.x),I=[],D={},Q=[],c={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var S in this.dragOvers){var d=this.dragOvers[S];if(!this.isTypeOfDD(d)){continue; +}if(!this.isOverTarget(P,d,this.mode,U)){c.outEvts.push(d);}I[S]=true;delete this.dragOvers[S];}for(var R in a.groups){if("string"!=typeof R){continue;}for(S in this.ids[R]){var G=this.ids[R][S];if(!this.isTypeOfDD(G)){continue;}if(G.isTarget&&!G.isLocked()&&G!=a){if(this.isOverTarget(P,G,this.mode,U)){D[R]=true;if(L){c.dropEvts.push(G);}else{if(!I[G.id]){c.enterEvts.push(G);}else{c.overEvts.push(G);}this.dragOvers[G.id]=G;}}}}}this.interactionInfo={out:c.outEvts,enter:c.enterEvts,over:c.overEvts,drop:c.dropEvts,point:P,draggedRegion:U,sourceRegion:this.locationCache[a.id],validDrop:L};for(var C in D){Q.push(C);}if(L&&!c.dropEvts.length){this.interactionInfo.validDrop=false;if(a.events.invalidDrop){a.onInvalidDrop(V);a.fireEvent("invalidDropEvent",{e:V});}}for(S=0;S<E.length;S++){var Y=null;if(c[E[S]+"Evts"]){Y=c[E[S]+"Evts"];}if(Y&&Y.length){var H=E[S].charAt(0).toUpperCase()+E[S].substr(1),X="onDrag"+H,J="b4Drag"+H,O="drag"+H+"Event",W="drag"+H;if(this.mode){if(a.events[J]){a[J](V,Y,Q);a.fireEvent(J+"Event",{event:V,info:Y,group:Q});}if(a.events[W]){a[X](V,Y,Q);a.fireEvent(O,{event:V,info:Y,group:Q});}}else{for(var Z=0,T=Y.length;Z<T;++Z){if(a.events[J]){a[J](V,Y[Z].id,Q[0]);a.fireEvent(J+"Event",{event:V,info:Y[Z].id,group:Q[0]});}if(a.events[W]){a[X](V,Y[Z].id,Q[0]);a.fireEvent(O,{event:V,info:Y[Z].id,group:Q[0]});}}}}}},getBestMatch:function(E){var G=null;var D=E.length;if(D==1){G=E[0];}else{for(var F=0;F<D;++F){var C=E[F];if(this.mode==this.INTERSECT&&C.cursorIsOver){G=C;break;}else{if(!G||!G.overlap||(C.overlap&&G.overlap.getArea()<C.overlap.getArea())){G=C;}}}}return G;},refreshCache:function(D){var F=D||this.ids;for(var C in F){if("string"!=typeof C){continue;}for(var E in this.ids[C]){var G=this.ids[C][E];if(this.isTypeOfDD(G)){var H=this.getLocation(G);if(H){this.locationCache[G.id]=H;}else{delete this.locationCache[G.id];}}}}},verifyEl:function(D){try{if(D){var C=D.offsetParent;if(C){return true;}}}catch(E){}return false;},getLocation:function(H){if(!this.isTypeOfDD(H)){return null;}var F=H.getEl(),K,E,D,M,L,N,C,J,G;try{K=YAHOO.util.Dom.getXY(F);}catch(I){}if(!K){return null;}E=K[0];D=E+F.offsetWidth;M=K[1];L=M+F.offsetHeight;N=M-H.padding[0];C=D+H.padding[1];J=L+H.padding[2];G=E-H.padding[3];return new YAHOO.util.Region(N,C,J,G);},isOverTarget:function(K,C,E,F){var G=this.locationCache[C.id];if(!G||!this.useCache){G=this.getLocation(C);this.locationCache[C.id]=G;}if(!G){return false;}C.cursorIsOver=G.contains(K);var J=this.dragCurrent;if(!J||(!E&&!J.constrainX&&!J.constrainY)){return C.cursorIsOver;}C.overlap=null;if(!F){var H=J.getTargetCoord(K.x,K.y);var D=J.getDragEl();F=new YAHOO.util.Region(H.y,H.x+D.offsetWidth,H.y+D.offsetHeight,H.x);}var I=F.intersect(G);if(I){C.overlap=I;return(E)?true:C.cursorIsOver;}else{return false;}},_onUnload:function(D,C){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(D){var C=this.elementCache[D];if(!C||!C.el){C=this.elementCache[D]=new this.ElementWrapper(YAHOO.util.Dom.get(D));}return C;},getElement:function(C){return YAHOO.util.Dom.get(C);},getCss:function(D){var C=YAHOO.util.Dom.get(D);return(C)?C.style:null;},ElementWrapper:function(C){this.el=C||null;this.id=this.el&&C.id;this.css=this.el&&C.style;},getPosX:function(C){return YAHOO.util.Dom.getX(C);},getPosY:function(C){return YAHOO.util.Dom.getY(C);},swapNode:function(E,C){if(E.swapNode){E.swapNode(C);}else{var F=C.parentNode;var D=C.nextSibling;if(D==E){F.insertBefore(E,C);}else{if(C==E.nextSibling){F.insertBefore(C,E);}else{E.parentNode.replaceChild(C,E);F.insertBefore(E,D);}}}},getScroll:function(){var E,C,F=document.documentElement,D=document.body;if(F&&(F.scrollTop||F.scrollLeft)){E=F.scrollTop;C=F.scrollLeft;}else{if(D){E=D.scrollTop;C=D.scrollLeft;}else{}}return{top:E,left:C};},getStyle:function(D,C){return YAHOO.util.Dom.getStyle(D,C);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(C,E){var D=YAHOO.util.Dom.getXY(E);YAHOO.util.Dom.setXY(C,D);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(D,C){return(D-C);},_timeoutCount:0,_addListeners:function(){var C=YAHOO.util.DDM;if(YAHOO.util.Event&&document){C._onLoad();}else{if(C._timeoutCount>2000){}else{setTimeout(C._addListeners,10);if(document&&document.body){C._timeoutCount+=1;}}}},handleWasClicked:function(C,E){if(this.isHandle(E,C.id)){return true;}else{var D=C.parentNode;while(D){if(this.isHandle(E,D.id)){return true;}else{D=D.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,useShim:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id); +}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);this.useShim=((this.config.useShim===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(J,I){var D=J.which||J.button;if(this.primaryButtonOnly&&D>1){return;}if(this.isLocked()){return;}var C=this.b4MouseDown(J),F=true;if(this.events.b4MouseDown){F=this.fireEvent("b4MouseDownEvent",J);}var E=this.onMouseDown(J),H=true;if(this.events.mouseDown){H=this.fireEvent("mouseDownEvent",J);}if((C===false)||(E===false)||(F===false)||(H===false)){return;}this.DDM.refreshCache(this.groups);var G=new YAHOO.util.Point(A.getPageX(J),A.getPageY(J));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(G,this)){}else{if(this.clickValidator(J)){this.setStartPosition();this.DDM.handleMouseDown(J,this);this.DDM.stopEvent(J);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D); +}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return;}var F=this.getDragEl(),E=YAHOO.util.Dom;if(!F){F=document.createElement("div");F.id=this.dragElId;var D=F.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");F.appendChild(C);A.insertBefore(F,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/element-delegate/element-delegate-min.js b/js/yui/element-delegate/element-delegate-min.js new file mode 100644 index 0000000000000000000000000000000000000000..1817a0aef1d5cdc6be43303de832da58d38bc589 --- /dev/null +++ b/js/yui/element-delegate/element-delegate-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var A=YAHOO.util.Event,B=[],C={mouseenter:true,mouseleave:true};YAHOO.lang.augmentObject(YAHOO.util.Element.prototype,{delegate:function(J,L,F,H,I){if(YAHOO.lang.isString(F)&&!YAHOO.util.Selector){return false;}if(!A._createDelegate){return false;}var E=A._getType(J),G=this.get("element"),M,K,D=function(N){return M.call(G,N);};if(C[J]){if(!A._createMouseDelegate){return false;}K=A._createMouseDelegate(L,H,I);M=A._createDelegate(function(P,O,N){return K.call(O,P,N);},F,H,I);}else{M=A._createDelegate(L,F,H,I);}B.push([G,E,L,D]);return this.on(E,D);},removeDelegate:function(H,G){var I=A._getType(H),E=A._getCacheIndex(B,this.get("element"),I,G),F,D;if(E>=0){D=B[E];}if(D){F=this.removeListener(D[1],D[3]);if(F){delete B[E][2];delete B[E][3];B.splice(E,1);}}return F;}});}());YAHOO.register("element-delegate",YAHOO.util.Element,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/element/element-min.js b/js/yui/element/element-min.js new file mode 100644 index 0000000000000000000000000000000000000000..07ede28abefeb6483b42ec05b875356a128ea61e --- /dev/null +++ b/js/yui/element/element-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,setter:null,getter:null,validator:null,getValue:function(){var A=this.value;if(this.getter){A=this.getter.call(this.owner,this.name,A);}return A;},setValue:function(F,B){var E,A=this.owner,C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.setter){F=this.setter.call(A,F,this.name);if(F===undefined){}}if(this.method){this.method.call(A,F,this.name);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};if(C){this._written=false;}this._initialConfig=this._initialConfig||{};for(var A in B){if(B.hasOwnProperty(A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig,true);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B||!this._configs.hasOwnProperty(C)){return null;}return B.getValue();},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var C=[],B;for(B in this._configs){if(A.hasOwnProperty(this._configs,B)&&!A.isUndefined(this._configs[B])){C[C.length]=B;}}return C;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs||{};var F=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(F.hasOwnProperty(E[D])){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var B=YAHOO.util.Dom,D=YAHOO.util.AttributeProvider,C={mouseenter:true,mouseleave:true};var A=function(E,F){this.init.apply(this,arguments);};A.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"mouseenter":true,"mouseleave":true,"focus":true,"blur":true,"submit":true,"change":true};A.prototype={DOM_EVENTS:null,DEFAULT_HTML_SETTER:function(G,E){var F=this.get("element");if(F){F[E]=G;}return G;},DEFAULT_HTML_GETTER:function(E){var F=this.get("element"),G;if(F){G=F[E];}return G;},appendChild:function(E){E=E.get?E.get("element"):E;return this.get("element").appendChild(E);},getElementsByTagName:function(E){return this.get("element").getElementsByTagName(E);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(E,F){E=E.get?E.get("element"):E;F=(F&&F.get)?F.get("element"):F;return this.get("element").insertBefore(E,F);},removeChild:function(E){E=E.get?E.get("element"):E;return this.get("element").removeChild(E);},replaceChild:function(E,F){E=E.get?E.get("element"):E;F=F.get?F.get("element"):F;return this.get("element").replaceChild(E,F);},initAttributes:function(E){},addListener:function(J,I,K,H){H=H||this;var E=YAHOO.util.Event,G=this.get("element")||this.get("id"),F=this;if(C[J]&&!E._createMouseDelegate){return false;}if(!this._events[J]){if(G&&this.DOM_EVENTS[J]){E.on(G,J,function(M,L){if(M.srcElement&&!M.target){M.target=M.srcElement;}if((M.toElement&&!M.relatedTarget)||(M.fromElement&&!M.relatedTarget)){M.relatedTarget=E.getRelatedTarget(M);}if(!M.currentTarget){M.currentTarget=G;}F.fireEvent(J,M,L);},K,H);}this.createEvent(J,{scope:this});}return YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){return this.addListener.apply(this,arguments);},subscribe:function(){return this.addListener.apply(this,arguments);},removeListener:function(F,E){return this.unsubscribe.apply(this,arguments);},addClass:function(E){B.addClass(this.get("element"),E);},getElementsByClassName:function(F,E){return B.getElementsByClassName(F,E,this.get("element"));},hasClass:function(E){return B.hasClass(this.get("element"),E);},removeClass:function(E){return B.removeClass(this.get("element"),E);},replaceClass:function(F,E){return B.replaceClass(this.get("element"),F,E);},setStyle:function(F,E){return B.setStyle(this.get("element"),F,E); +},getStyle:function(E){return B.getStyle(this.get("element"),E);},fireQueue:function(){var F=this._queue;for(var G=0,E=F.length;G<E;++G){this[F[G][0]].apply(this,F[G][1]);}},appendTo:function(F,G){F=(F.get)?F.get("element"):B.get(F);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:F});G=(G&&G.get)?G.get("element"):B.get(G);var E=this.get("element");if(!E){return false;}if(!F){return false;}if(E.parent!=F){if(G){F.insertBefore(E,G);}else{F.appendChild(E);}}this.fireEvent("appendTo",{type:"appendTo",target:F});return E;},get:function(E){var G=this._configs||{},F=G.element;if(F&&!G[E]&&!YAHOO.lang.isUndefined(F.value[E])){this._setHTMLAttrConfig(E);}return D.prototype.get.call(this,E);},setAttributes:function(K,H){var F={},I=this._configOrder;for(var J=0,E=I.length;J<E;++J){if(K[I[J]]!==undefined){F[I[J]]=true;this.set(I[J],K[I[J]],H);}}for(var G in K){if(K.hasOwnProperty(G)&&!F[G]){this.set(G,K[G],H);}}},set:function(F,H,E){var G=this.get("element");if(!G){this._queue[this._queue.length]=["set",arguments];if(this._configs[F]){this._configs[F].value=H;}return;}if(!this._configs[F]&&!YAHOO.lang.isUndefined(G[F])){this._setHTMLAttrConfig(F);}return D.prototype.set.apply(this,arguments);},setAttributeConfig:function(E,F,G){this._configOrder.push(E);D.prototype.setAttributeConfig.apply(this,arguments);},createEvent:function(F,E){this._events[F]=true;return D.prototype.createEvent.apply(this,arguments);},init:function(F,E){this._initElement(F,E);},destroy:function(){var E=this.get("element");YAHOO.util.Event.purgeElement(E,true);this.unsubscribeAll();if(E&&E.parentNode){E.parentNode.removeChild(E);}this._queue=[];this._events={};this._configs={};this._configOrder=[];},_initElement:function(G,F){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];F=F||{};F.element=F.element||G||null;var I=false;var E=A.DOM_EVENTS;this.DOM_EVENTS=this.DOM_EVENTS||{};for(var H in E){if(E.hasOwnProperty(H)){this.DOM_EVENTS[H]=E[H];}}if(typeof F.element==="string"){this._setHTMLAttrConfig("id",{value:F.element});}if(B.get(F.element)){I=true;this._initHTMLElement(F);this._initContent(F);}YAHOO.util.Event.onAvailable(F.element,function(){if(!I){this._initHTMLElement(F);}this.fireEvent("available",{type:"available",target:B.get(F.element)});},this,true);YAHOO.util.Event.onContentReady(F.element,function(){if(!I){this._initContent(F);}this.fireEvent("contentReady",{type:"contentReady",target:B.get(F.element)});},this,true);},_initHTMLElement:function(E){this.setAttributeConfig("element",{value:B.get(E.element),readOnly:true});},_initContent:function(E){this.initAttributes(E);this.setAttributes(E,true);this.fireQueue();},_setHTMLAttrConfig:function(E,G){var F=this.get("element");G=G||{};G.name=E;G.setter=G.setter||this.DEFAULT_HTML_SETTER;G.getter=G.getter||this.DEFAULT_HTML_GETTER;G.value=G.value||F[E];this._configs[E]=new YAHOO.util.Attribute(G,this);}};YAHOO.augment(A,D);YAHOO.util.Element=A;})();YAHOO.register("element",YAHOO.util.Element,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/event-delegate/event-delegate-min.js b/js/yui/event-delegate/event-delegate-min.js new file mode 100644 index 0000000000000000000000000000000000000000..5d5e5f793bd7d8f861026177bad7b324a9d3b7b9 --- /dev/null +++ b/js/yui/event-delegate/event-delegate-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var A=YAHOO.util.Event,C=YAHOO.lang,B=[],D=function(H,E,F){var G;if(!H||H===F){G=false;}else{G=YAHOO.util.Selector.test(H,E)?H:D(H.parentNode,E,F);}return G;};C.augmentObject(A,{_createDelegate:function(F,E,G,H){return function(I){var J=this,N=A.getTarget(I),L=E,P=(J.nodeType===9),Q,K,O,M;if(C.isFunction(E)){Q=E(N);}else{if(C.isString(E)){if(!P){O=J.id;if(!O){O=A.generateId(J);}M=("#"+O+" ");L=(M+E).replace(/,/gi,(","+M));}if(YAHOO.util.Selector.test(N,L)){Q=N;}else{if(YAHOO.util.Selector.test(N,((L.replace(/,/gi," *,"))+" *"))){Q=D(N,L,J);}}}}if(Q){K=Q;if(H){if(H===true){K=G;}else{K=H;}}return F.call(K,I,Q,J,G);}};},delegate:function(F,J,L,G,H,I){var E=J,K,M;if(C.isString(G)&&!YAHOO.util.Selector){return false;}if(J=="mouseenter"||J=="mouseleave"){if(!A._createMouseDelegate){return false;}E=A._getType(J);K=A._createMouseDelegate(L,H,I);M=A._createDelegate(function(P,O,N){return K.call(O,P,N);},G,H,I);}else{M=A._createDelegate(L,G,H,I);}B.push([F,E,L,M]);return A.on(F,E,M);},removeDelegate:function(F,J,I){var K=J,H=false,G,E;if(J=="mouseenter"||J=="mouseleave"){K=A._getType(J);}G=A._getCacheIndex(B,F,K,I);if(G>=0){E=B[G];}if(F&&E){H=A.removeListener(E[0],E[1],E[3]);if(H){delete B[G][2];delete B[G][3];B.splice(G,1);}}return H;}});}());YAHOO.register("event-delegate",YAHOO.util.Event,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/event-mouseenter/event-mouseenter-min.js b/js/yui/event-mouseenter/event-mouseenter-min.js new file mode 100644 index 0000000000000000000000000000000000000000..6943074a82d89e40a4e1fd0627af3f3533de48e7 --- /dev/null +++ b/js/yui/event-mouseenter/event-mouseenter-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var B=YAHOO.util.Event,G=YAHOO.lang,E=B.addListener,F=B.removeListener,C=B.getListeners,D=[],H={mouseenter:"mouseover",mouseleave:"mouseout"},A=function(N,M,L){var J=B._getCacheIndex(D,N,M,L),I,K;if(J>=0){I=D[J];}if(N&&I){K=F.call(B,I[0],M,I[3]);if(K){delete D[J][2];delete D[J][3];D.splice(J,1);}}return K;};G.augmentObject(B._specialTypes,H);G.augmentObject(B,{_createMouseDelegate:function(I,J,K){return function(Q,M){var P=this,L=B.getRelatedTarget(Q),O,N;if(P!=L&&!YAHOO.util.Dom.isAncestor(P,L)){O=P;if(K){if(K===true){O=J;}else{O=K;}}N=[Q,P,J];if(M){N.splice(2,0,M);}return I.apply(O,N);}};},addListener:function(M,L,K,N,O){var I,J;if(H[L]){I=B._createMouseDelegate(K,N,O);I.mouseDelegate=true;D.push([M,L,K,I]);J=E.call(B,M,L,I);}else{J=E.apply(B,arguments);}return J;},removeListener:function(L,K,J){var I;if(H[K]){I=A.apply(B,arguments);}else{I=F.apply(B,arguments);}return I;},getListeners:function(N,M){var L=[],P,K=(M==="mouseover"||M==="mouseout"),O,J,I;if(M&&(K||H[M])){P=C.call(B,N,this._getType(M));if(P){for(J=P.length-1;J>-1;J--){I=P[J];O=I.fn.mouseDelegate;if((H[M]&&O)||(K&&!O)){L.push(I);}}}}else{L=C.apply(B,arguments);}return(L&&L.length)?L:null;}},true);B.on=B.addListener;}());YAHOO.register("event-mouseenter",YAHOO.util.Event,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/event-simulate/event-simulate-min.js b/js/yui/event-simulate/event-simulate-min.js new file mode 100644 index 0000000000000000000000000000000000000000..86894834ea96f107564b7209ad480d09d58733d4 --- /dev/null +++ b/js/yui/event-simulate/event-simulate-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.UserAction={simulateKeyEvent:function(F,J,E,C,L,B,A,K,H,N,M){F=YAHOO.util.Dom.get(F);if(!F){throw new Error("simulateKeyEvent(): Invalid target.");}if(YAHOO.lang.isString(J)){J=J.toLowerCase();switch(J){case"keyup":case"keydown":case"keypress":break;case"textevent":J="keypress";break;default:throw new Error("simulateKeyEvent(): Event type '"+J+"' not supported.");}}else{throw new Error("simulateKeyEvent(): Event type must be a string.");}if(!YAHOO.lang.isBoolean(E)){E=true;}if(!YAHOO.lang.isBoolean(C)){C=true;}if(!YAHOO.lang.isObject(L)){L=window;}if(!YAHOO.lang.isBoolean(B)){B=false;}if(!YAHOO.lang.isBoolean(A)){A=false;}if(!YAHOO.lang.isBoolean(K)){K=false;}if(!YAHOO.lang.isBoolean(H)){H=false;}if(!YAHOO.lang.isNumber(N)){N=0;}if(!YAHOO.lang.isNumber(M)){M=0;}var I=null;if(YAHOO.lang.isFunction(document.createEvent)){try{I=document.createEvent("KeyEvents");I.initKeyEvent(J,E,C,L,B,A,K,H,N,M);}catch(G){try{I=document.createEvent("Events");}catch(D){I=document.createEvent("UIEvents");}finally{I.initEvent(J,E,C);I.view=L;I.altKey=A;I.ctrlKey=B;I.shiftKey=K;I.metaKey=H;I.keyCode=N;I.charCode=M;}}F.dispatchEvent(I);}else{if(YAHOO.lang.isObject(document.createEventObject)){I=document.createEventObject();I.bubbles=E;I.cancelable=C;I.view=L;I.ctrlKey=B;I.altKey=A;I.shiftKey=K;I.metaKey=H;I.keyCode=(M>0)?M:N;F.fireEvent("on"+J,I);}else{throw new Error("simulateKeyEvent(): No event simulation framework present.");}}},simulateMouseEvent:function(K,P,H,E,Q,J,G,F,D,B,C,A,O,M,I,L){K=YAHOO.util.Dom.get(K);if(!K){throw new Error("simulateMouseEvent(): Invalid target.");}if(YAHOO.lang.isString(P)){P=P.toLowerCase();switch(P){case"mouseover":case"mouseout":case"mousedown":case"mouseup":case"click":case"dblclick":case"mousemove":break;default:throw new Error("simulateMouseEvent(): Event type '"+P+"' not supported.");}}else{throw new Error("simulateMouseEvent(): Event type must be a string.");}if(!YAHOO.lang.isBoolean(H)){H=true;}if(!YAHOO.lang.isBoolean(E)){E=(P!="mousemove");}if(!YAHOO.lang.isObject(Q)){Q=window;}if(!YAHOO.lang.isNumber(J)){J=1;}if(!YAHOO.lang.isNumber(G)){G=0;}if(!YAHOO.lang.isNumber(F)){F=0;}if(!YAHOO.lang.isNumber(D)){D=0;}if(!YAHOO.lang.isNumber(B)){B=0;}if(!YAHOO.lang.isBoolean(C)){C=false;}if(!YAHOO.lang.isBoolean(A)){A=false;}if(!YAHOO.lang.isBoolean(O)){O=false;}if(!YAHOO.lang.isBoolean(M)){M=false;}if(!YAHOO.lang.isNumber(I)){I=0;}var N=null;if(YAHOO.lang.isFunction(document.createEvent)){N=document.createEvent("MouseEvents");if(N.initMouseEvent){N.initMouseEvent(P,H,E,Q,J,G,F,D,B,C,A,O,M,I,L);}else{N=document.createEvent("UIEvents");N.initEvent(P,H,E);N.view=Q;N.detail=J;N.screenX=G;N.screenY=F;N.clientX=D;N.clientY=B;N.ctrlKey=C;N.altKey=A;N.metaKey=M;N.shiftKey=O;N.button=I;N.relatedTarget=L;}if(L&&!N.relatedTarget){if(P=="mouseout"){N.toElement=L;}else{if(P=="mouseover"){N.fromElement=L;}}}K.dispatchEvent(N);}else{if(YAHOO.lang.isObject(document.createEventObject)){N=document.createEventObject();N.bubbles=H;N.cancelable=E;N.view=Q;N.detail=J;N.screenX=G;N.screenY=F;N.clientX=D;N.clientY=B;N.ctrlKey=C;N.altKey=A;N.metaKey=M;N.shiftKey=O;switch(I){case 0:N.button=1;break;case 1:N.button=4;break;case 2:break;default:N.button=0;}N.relatedTarget=L;K.fireEvent("on"+P,N);}else{throw new Error("simulateMouseEvent(): No event simulation framework present.");}}},fireMouseEvent:function(C,B,A){A=A||{};this.simulateMouseEvent(C,B,A.bubbles,A.cancelable,A.view,A.detail,A.screenX,A.screenY,A.clientX,A.clientY,A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.button,A.relatedTarget);},click:function(B,A){this.fireMouseEvent(B,"click",A);},dblclick:function(B,A){this.fireMouseEvent(B,"dblclick",A);},mousedown:function(B,A){this.fireMouseEvent(B,"mousedown",A);},mousemove:function(B,A){this.fireMouseEvent(B,"mousemove",A);},mouseout:function(B,A){this.fireMouseEvent(B,"mouseout",A);},mouseover:function(B,A){this.fireMouseEvent(B,"mouseover",A);},mouseup:function(B,A){this.fireMouseEvent(B,"mouseup",A);},fireKeyEvent:function(B,C,A){A=A||{};this.simulateKeyEvent(C,B,A.bubbles,A.cancelable,A.view,A.ctrlKey,A.altKey,A.shiftKey,A.metaKey,A.keyCode,A.charCode);},keydown:function(B,A){this.fireKeyEvent("keydown",B,A);},keypress:function(B,A){this.fireKeyEvent("keypress",B,A);},keyup:function(B,A){this.fireKeyEvent("keyup",B,A);}};YAHOO.register("event-simulate",YAHOO.util.UserAction,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/event/event-min.js b/js/yui/event/event-min.js new file mode 100644 index 0000000000000000000000000000000000000000..5c9bf0852c4bae3ed773a6e2b6108f1784f17e15 --- /dev/null +++ b/js/yui/event/event-min.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.CustomEvent=function(D,C,B,A,E){this.type=D;this.scope=C||window;this.silent=B;this.fireOnce=E;this.fired=false;this.firedWith=null;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var F="_YUICEOnSubscribe";if(D!==F){this.subscribeEvent=new YAHOO.util.CustomEvent(F,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,D){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,D);}var A=new YAHOO.util.Subscriber(B,C,D);if(this.fireOnce&&this.fired){this.notify(A,this.firedWith);}else{this.subscribers.push(A);}},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var H=[],A=this.subscribers.length;var D=[].slice.call(arguments,0),C=true,F,B=false;if(this.fireOnce){if(this.fired){return true;}else{this.firedWith=D;}}this.fired=true;if(!A&&this.silent){return true;}if(!this.silent){}var E=this.subscribers.slice();for(F=0;F<A;++F){var G=E[F];if(!G){B=true;}else{C=this.notify(G,D);if(false===C){if(!this.silent){}break;}}}return(C!==false);},notify:function(F,C){var B,H=null,E=F.getScope(this.scope),A=YAHOO.util.Event.throwErrors;if(!this.silent){}if(this.signature==YAHOO.util.CustomEvent.FLAT){if(C.length>0){H=C[0];}try{B=F.fn.call(E,H,F.obj);}catch(G){this.lastError=G;if(A){throw G;}}}else{try{B=F.fn.call(E,this.type,C,F.obj);}catch(D){this.lastError=D;if(A){throw D;}}}return B;},unsubscribeAll:function(){var A=this.subscribers.length,B;for(B=A-1;B>-1;B--){this._delete(B);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(A,B,C){this.fn=A;this.obj=YAHOO.lang.isUndefined(B)?null:B;this.overrideContext=C;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var G=false,H=[],J=[],A=0,E=[],B=0,C={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9},D=YAHOO.env.ua.ie,F="focusin",I="focusout";return{POLL_RETRYS:500,POLL_INTERVAL:40,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:D,_interval:null,_dri:null,_specialTypes:{focusin:(D?"focusin":"focus"),focusout:(D?"focusout":"blur")},DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){this._interval=YAHOO.lang.later(this.POLL_INTERVAL,this,this._tryPreloadAttach,null,true);}},onAvailable:function(Q,M,O,P,N){var K=(YAHOO.lang.isString(Q))?[Q]:Q;for(var L=0;L<K.length;L=L+1){E.push({id:K[L],fn:M,obj:O,overrideContext:P,checkReady:N});}A=this.POLL_RETRYS;this.startInterval();},onContentReady:function(N,K,L,M){this.onAvailable(N,K,L,M,true);},onDOMReady:function(){this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent,arguments);},_addListener:function(M,K,V,P,T,Y){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var Q=0,S=M.length;Q<S;++Q){W=this.on(M[Q],K,V,P,T)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var O=this.getEl(M);if(O){M=O;}else{this.onAvailable(M,function(){YAHOO.util.Event._addListener(M,K,V,P,T,Y);});return true;}}}if(!M){return false;}if("unload"==K&&P!==this){J[J.length]=[M,K,V,P,T];return true;}var L=M;if(T){if(T===true){L=P;}else{L=T;}}var N=function(Z){return V.call(L,YAHOO.util.Event.getEvent(Z,M),P);};var X=[M,K,V,N,L,P,T,Y];var R=H.length;H[R]=X;try{this._simpleAdd(M,K,N,Y);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}return true;},_getType:function(K){return this._specialTypes[K]||K;},addListener:function(M,P,L,N,O){var K=((P==F||P==I)&&!YAHOO.env.ua.ie)?true:false;return this._addListener(M,this._getType(P),L,N,O,K);},addFocusListener:function(L,K,M,N){return this.on(L,F,K,M,N);},removeFocusListener:function(L,K){return this.removeListener(L,F,K);},addBlurListener:function(L,K,M,N){return this.on(L,I,K,M,N);},removeBlurListener:function(L,K){return this.removeListener(L,I,K);},removeListener:function(L,K,R){var M,P,U;K=this._getType(K);if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var S=true;for(M=L.length-1;M>-1;M--){S=(this.removeListener(L[M],K,R)&&S);}return S;}}if(!R||!R.call){return this.purgeElement(L,false,K);}if("unload"==K){for(M=J.length-1;M>-1;M--){U=J[M];if(U&&U[0]==L&&U[1]==K&&U[2]==R){J.splice(M,1);return true;}}return false;}var N=null;var O=arguments[3];if("undefined"===typeof O){O=this._getCacheIndex(H,L,K,R);}if(O>=0){N=H[O];}if(!L||!N){return false;}var T=N[this.CAPTURE]===true?true:false;try{this._simpleRemove(L,K,N[this.WFN],T);}catch(Q){this.lastError=Q;return false;}delete H[O][this.WFN];delete H[O][this.FN];H.splice(O,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement; +}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in C)){K=C[K];}return K;},_getCacheIndex:function(M,P,Q,O){for(var N=0,L=M.length;N<L;N=N+1){var K=M[N];if(K&&K[this.FN]==O&&K[this.EL]==P&&K[this.TYPE]==Q){return N;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+B;++B;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",YAHOO,0,0,1),_load:function(L){if(!G){G=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(E.length===0){A=0;if(this._interval){this._interval.cancel();this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var Q=!G;if(!Q){Q=(A>0&&E.length>0);}var P=[];var R=function(T,U){var S=T;if(U.overrideContext){if(U.overrideContext===true){S=U.obj;}else{S=U.overrideContext;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=E.length;L<K;L=L+1){O=E[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(G||N.nextSibling||!Q){M.push(O);E[L]=null;}}else{R(N,O);E[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}A--;if(Q){for(L=E.length-1;L>-1;L--){O=E[L];if(!O||!O.id){E.splice(L,1);}}this.startInterval();}else{if(this._interval){this._interval.cancel();this._interval=null;}}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[H,J];}else{if(K==="unload"){L=[J];}else{K=this._getType(K);L=[H];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(R){var L=YAHOO.util.Event,O,N,M,Q,P,S=J.slice(),K;for(O=0,Q=J.length;O<Q;++O){M=S[O];if(M){K=window;if(M[L.ADJ_SCOPE]){if(M[L.ADJ_SCOPE]===true){K=M[L.UNLOAD_OBJ];}else{K=M[L.ADJ_SCOPE];}}M[L.FN].call(K,L.getEvent(R,M[L.EL]),M[L.UNLOAD_OBJ]);S[O]=null;}}M=null;K=null;J=null;if(H){for(N=H.length-1;N>-1;N--){M=H[N];if(M){L.removeListener(M[L.EL],M[L.TYPE],M[L.FN],N);}}M=null;}L._simpleRemove(window,"unload",L._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener; +/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */ +if(EU.isIE){if(self!==self.top){document.onreadystatechange=function(){if(document.readyState=="complete"){document.onreadystatechange=null;EU._ready();}};}else{YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A); +},createEvent:function(B,G){this.__yui_events=this.__yui_events||{};var E=G||{},D=this.__yui_events,F;if(D[B]){}else{F=new YAHOO.util.CustomEvent(B,E.scope||this,E.silent,YAHOO.util.CustomEvent.FLAT,E.fireOnce);D[B]=F;if(E.onSubscribeCallback){F.subscribeEvent.subscribe(E.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var A=this.__yui_subscribers[B];if(A){for(var C=0;C<A.length;++C){F.subscribe(A[C].fn,A[C].obj,A[C].overrideContext);}}}return D[B];},fireEvent:function(B){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[B];if(!D){return null;}var A=[];for(var C=1;C<arguments.length;++C){A.push(arguments[C]);}return D.fire.apply(D,A);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/fonts/fonts-min.css b/js/yui/fonts/fonts-min.css new file mode 100644 index 0000000000000000000000000000000000000000..6309e9b21cc2b8498026e7114ce28d765583d3f6 --- /dev/null +++ b/js/yui/fonts/fonts-min.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;} \ No newline at end of file diff --git a/js/yui/fonts/fonts.css b/js/yui/fonts/fonts.css new file mode 100644 index 0000000000000000000000000000000000000000..f7991e763dd7e972cd0d711642a30c4fdf3f7cb6 --- /dev/null +++ b/js/yui/fonts/fonts.css @@ -0,0 +1,56 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +/** + * YUI Fonts + * @module fonts + * @namespace yui- + * @requires + */ + +/** + * Percents could work for IE, but for backCompat purposes, we are using keywords. + * x-small is for IE6/7 quirks mode. + */ +body { + font:13px/1.231 arial,helvetica,clean,sans-serif; + /* for IE6/7 */ + *font-size:small; + /* for IE Quirks Mode */ + *font:x-small; +} + +/** + * Nudge down to get to 13px equivalent for these form elements + */ +select, +input, +button, +textarea, +button { + font:99% arial,helvetica,clean,sans-serif; +} + +/** + * To help tables remember to inherit + */ +table { + font-size:inherit; + font:100%; +} + +/** + * Bump up IE to get to 13px equivalent for these fixed-width elements + */ +pre, +code, +kbd, +samp, +tt { + font-family:monospace; + *font-size:108%; + line-height:100%; +} diff --git a/js/yui/get/get-min.js b/js/yui/get/get-min.js new file mode 100644 index 0000000000000000000000000000000000000000..bc3f7c86efd67d662ab2888c3b3c311c3ed804c8 --- /dev/null +++ b/js/yui/get/get-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.Get=function(){var M={},L=0,R=0,E=false,N=YAHOO.env.ua,S=YAHOO.lang;var J=function(W,T,X){var U=X||window,Y=U.document,Z=Y.createElement(W);for(var V in T){if(T[V]&&YAHOO.lang.hasOwnProperty(T,V)){Z.setAttribute(V,T[V]);}}return Z;};var I=function(U,V,T){var W={id:"yui__dyn_"+(R++),type:"text/css",rel:"stylesheet",href:U};if(T){S.augmentObject(W,T);}return J("link",W,V);};var P=function(U,V,T){var W={id:"yui__dyn_"+(R++),type:"text/javascript",src:U};if(T){S.augmentObject(W,T);}return J("script",W,V);};var A=function(T,U){return{tId:T.tId,win:T.win,data:T.data,nodes:T.nodes,msg:U,purge:function(){D(this.tId);}};};var B=function(T,W){var U=M[W],V=(S.isString(T))?U.win.document.getElementById(T):T;if(!V){Q(W,"target node not found: "+T);}return V;};var Q=function(W,V){var T=M[W];if(T.onFailure){var U=T.scope||T.win;T.onFailure.call(U,A(T,V));}};var C=function(W){var T=M[W];T.finished=true;if(T.aborted){var V="transaction "+W+" was aborted";Q(W,V);return;}if(T.onSuccess){var U=T.scope||T.win;T.onSuccess.call(U,A(T));}};var O=function(V){var T=M[V];if(T.onTimeout){var U=T.scope||T;T.onTimeout.call(U,A(T));}};var G=function(V,Z){var U=M[V];if(U.timer){U.timer.cancel();}if(U.aborted){var X="transaction "+V+" was aborted";Q(V,X);return;}if(Z){U.url.shift();if(U.varName){U.varName.shift();}}else{U.url=(S.isString(U.url))?[U.url]:U.url;if(U.varName){U.varName=(S.isString(U.varName))?[U.varName]:U.varName;}}var c=U.win,b=c.document,a=b.getElementsByTagName("head")[0],W;if(U.url.length===0){if(U.type==="script"&&N.webkit&&N.webkit<420&&!U.finalpass&&!U.varName){var Y=P(null,U.win,U.attributes);Y.innerHTML='YAHOO.util.Get._finalize("'+V+'");';U.nodes.push(Y);a.appendChild(Y);}else{C(V);}return;}var T=U.url[0];if(!T){U.url.shift();return G(V);}if(U.timeout){U.timer=S.later(U.timeout,U,O,V);}if(U.type==="script"){W=P(T,c,U.attributes);}else{W=I(T,c,U.attributes);}F(U.type,W,V,T,c,U.url.length);U.nodes.push(W);if(U.insertBefore){var e=B(U.insertBefore,V);if(e){e.parentNode.insertBefore(W,e);}}else{a.appendChild(W);}if((N.webkit||N.gecko)&&U.type==="css"){G(V,T);}};var K=function(){if(E){return;}E=true;for(var T in M){var U=M[T];if(U.autopurge&&U.finished){D(U.tId);delete M[T];}}E=false;};var D=function(Z){if(M[Z]){var T=M[Z],U=T.nodes,X=U.length,c=T.win.document,a=c.getElementsByTagName("head")[0],V,Y,W,b;if(T.insertBefore){V=B(T.insertBefore,Z);if(V){a=V.parentNode;}}for(Y=0;Y<X;Y=Y+1){W=U[Y];if(W.clearAttributes){W.clearAttributes();}else{for(b in W){delete W[b];}}a.removeChild(W);}T.nodes=[];}};var H=function(U,T,V){var X="q"+(L++);V=V||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[X]=S.merge(V,{tId:X,type:U,url:T,finished:false,aborted:false,nodes:[]});var W=M[X];W.win=W.win||window;W.scope=W.scope||W.win;W.autopurge=("autopurge" in W)?W.autopurge:(U==="script")?true:false;if(V.charset){W.attributes=W.attributes||{};W.attributes.charset=V.charset;}S.later(0,W,G,X);return{tId:X};};var F=function(c,X,W,U,Y,Z,b){var a=b||G;if(N.ie){X.onreadystatechange=function(){var d=this.readyState;if("loaded"===d||"complete"===d){X.onreadystatechange=null;a(W,U);}};}else{if(N.webkit){if(c==="script"){if(N.webkit>=420){X.addEventListener("load",function(){a(W,U);});}else{var T=M[W];if(T.varName){var V=YAHOO.util.Get.POLL_FREQ;T.maxattempts=YAHOO.util.Get.TIMEOUT/V;T.attempts=0;T._cache=T.varName[0].split(".");T.timer=S.later(V,T,function(j){var f=this._cache,e=f.length,d=this.win,g;for(g=0;g<e;g=g+1){d=d[f[g]];if(!d){this.attempts++;if(this.attempts++>this.maxattempts){var h="Over retry limit, giving up";T.timer.cancel();Q(W,h);}else{}return;}}T.timer.cancel();a(W,U);},null,true);}else{S.later(YAHOO.util.Get.POLL_FREQ,null,a,[W,U]);}}}}else{X.onload=function(){a(W,U);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(T){S.later(0,null,C,T);},abort:function(U){var V=(S.isString(U))?U:U.tId;var T=M[V];if(T){T.aborted=true;}},script:function(T,U){return H("script",T,U);},css:function(T,U){return H("css",T,U);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/grids/grids-min.css b/js/yui/grids/grids-min.css new file mode 100644 index 0000000000000000000000000000000000000000..322ca3c59edc87521775cf2181f1f197c552b778 --- /dev/null +++ b/js/yui/grids/grids-min.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} \ No newline at end of file diff --git a/js/yui/grids/grids.css b/js/yui/grids/grids.css new file mode 100644 index 0000000000000000000000000000000000000000..88053b2fb37233e45b5cf39767b0b927288f37fb --- /dev/null +++ b/js/yui/grids/grids.css @@ -0,0 +1,467 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +/** + * YUI Grids + * @module grids + * @namespace yui- + * @requires reset, fonts + */ + +/** + * Note: Throughout this file, the *property (star-property) filter is used + * to give a value to IE that other browsers do not see. _property is only seen + * by IE7, so the combo of *prop and _prop can target between IE6 and IE7. + * + * More information on these filters and related validation errors: + * http://tech.groups.yahoo.com/group/ydn-javascript/message/40059 + */ + +/** + * Section: General Rules + */ + +body { + text-align: center; +} + +/** + * Section: Page Width Rules (#doc, #doc2, #doc3, #doc4) + */ + +#doc,#doc2,#doc3,#doc4, +.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7 { + margin: auto; + text-align: left; + width: 57.69em; + *width: 56.25em; +} + +/* 950 Centered (doc2) */ +#doc2 { + width: 73.076em; + *width: 71.25em; +} + +/* 100% (doc3) */ +#doc3 { +/** + * Left and Right margins are not a structural part of Grids. Without them + * Grids works fine, but content bleeds to the very edge of the document, which + * often impairs readability and usability. They are provided because they + * prevent the content from "bleeding" into the browser's chrome. + */ + margin: auto 10px; + width: auto; +} + +/* 974 Centered (doc4) */ +#doc4 { + width: 74.923em; + *width: 73.05em; +} + +/** + * Section: Preset Template Rules (.yui-t[1-6]) + */ + + +.yui-b { + /* to preserve source-order independence for Gecko */ + position: relative; +} + +.yui-b { + /* to preserve source-order independence for IE */ + _position: static; +} + +#yui-main .yui-b { + /* to preserve source-order independence for Gecko */ + position: static; +} + +#yui-main, +.yui-g .yui-u .yui-g { + width: 100%; +} + +.yui-t1 #yui-main, +.yui-t2 #yui-main, +.yui-t3 #yui-main { + float: right; + /* IE: preserve layout at narrow widths */ + margin-left: -25em; +} + +.yui-t4 #yui-main, +.yui-t5 #yui-main, +.yui-t6 #yui-main { + float: left; + /* IE: preserve layout at narrow widths */ + margin-right: -25em; +} + +/** + * For Specific Template Presets + */ + +.yui-t1 .yui-b { + float: left; + width: 12.30769em; + *width: 12.00em; +} + +.yui-t1 #yui-main .yui-b { + margin-left: 13.30769em; + *margin-left: 13.05em; +} + +.yui-t2 .yui-b { + float: left; + width: 13.8461em; + *width: 13.50em; +} + +.yui-t2 #yui-main .yui-b { + margin-left: 14.8461em; + *margin-left: 14.55em; +} + +.yui-t3 .yui-b { + float: left; + width: 23.0769em; + *width: 22.50em; +} + +.yui-t3 #yui-main .yui-b { + margin-left: 24.0769em; + *margin-left: 23.62em; +} + +.yui-t4 .yui-b { + float: right; + width: 13.8456em; + *width: 13.50em; +} + +.yui-t4 #yui-main .yui-b { + margin-right: 14.8456em; + *margin-right: 14.55em; +} + +.yui-t5 .yui-b { + float: right; + width: 18.4615em; + *width: 18.00em; +} + +.yui-t5 #yui-main .yui-b { + margin-right: 19.4615em; + *margin-right: 19.125em; +} + +.yui-t6 .yui-b { + float: right; + width: 23.0769em; + *width: 22.50em; +} + +.yui-t6 #yui-main .yui-b { + margin-right: 24.0769em; + *margin-right: 23.62em; +} + +.yui-t7 #yui-main .yui-b { + display: block; + margin: 0 0 1em 0; +} + +#yui-main .yui-b { + float: none; + width: auto; +} + +/** + * Section: Grids and Nesting Grids + */ + +/* Children generally take half the available space */ +.yui-gb .yui-u, +.yui-g .yui-gb .yui-u, +.yui-gb .yui-g, +.yui-gb .yui-gb, +.yui-gb .yui-gc, +.yui-gb .yui-gd, +.yui-gb .yui-ge, +.yui-gb .yui-gf, +.yui-gc .yui-u, +.yui-gc .yui-g, +.yui-gd .yui-u { + float: left; +} + +/* Float units (and sub grids) to the right */ +.yui-g .yui-u, +.yui-g .yui-g, +.yui-g .yui-gb, +.yui-g .yui-gc, +.yui-g .yui-gd, +.yui-g .yui-ge, +.yui-g .yui-gf, +.yui-gc .yui-u, +.yui-gd .yui-g, +.yui-g .yui-gc .yui-u, +.yui-ge .yui-u, +.yui-ge .yui-g, +.yui-gf .yui-g, +.yui-gf .yui-u { + float: right; +} + +/*Float units (and sub grids) to the left */ +.yui-g div.first, +.yui-gb div.first, +.yui-gc div.first, +.yui-gd div.first, +.yui-ge div.first, +.yui-gf div.first, +.yui-g .yui-gc div.first, +.yui-g .yui-ge div.first, +.yui-gc div.first div.first { + float: left; +} + +.yui-g .yui-u, +.yui-g .yui-g, +.yui-g .yui-gb, +.yui-g .yui-gc, +.yui-g .yui-gd, +.yui-g .yui-ge, +.yui-g .yui-gf { + width: 49.1%; +} + +.yui-gb .yui-u, +.yui-g .yui-gb .yui-u, +.yui-gb .yui-g, +.yui-gb .yui-gb, +.yui-gb .yui-gc, +.yui-gb .yui-gd, +.yui-gb .yui-ge, +.yui-gb .yui-gf, +.yui-gc .yui-u, +.yui-gc .yui-g, +.yui-gd .yui-u { + width: 32%; + margin-left: 1.99%; +} + +/* Give IE some extra breathing room for 1/3-based rounding issues */ +.yui-gb .yui-u { + *margin-left: 1.9%; + *width: 31.9%; +} + +.yui-gc div.first, + .yui-gd .yui-u { + width: 66%; +} + +.yui-gd div.first { + width: 32%; +} + +.yui-ge div.first, + .yui-gf .yui-u { + width: 74.2%; +} + +.yui-ge .yui-u, + .yui-gf div.first { + width: 24%; +} + +.yui-g .yui-gb div.first, +.yui-gb div.first, +.yui-gc div.first, +.yui-gd div.first { + margin-left: 0; +} + +/** + * Section: Deep Nesting + */ + +.yui-g .yui-g .yui-u, +.yui-gb .yui-g .yui-u, +.yui-gc .yui-g .yui-u, +.yui-gd .yui-g .yui-u, +.yui-ge .yui-g .yui-u, +.yui-gf .yui-g .yui-u { + width: 49%; + *width: 48.1%; + *margin-left: 0; +} + +.yui-g .yui-g .yui-u { + width: 48.1%; +} + +/*YUILibrary bug #1927599 from 1.14 to 2.6.0*/ +.yui-g .yui-gb div.first, + .yui-gb .yui-gb div.first { + *margin-right: 0; + *width: 32%; + _width: 31.7%; +} + +.yui-g .yui-gc div.first, + .yui-gd .yui-g { + width: 66%; +} + +.yui-gb .yui-g div.first { + *margin-right: 4%; + _margin-right: 1.3%; +} + +.yui-gb .yui-gc div.first, + .yui-gb .yui-gd div.first { + *margin-right: 0; +} + +.yui-gb .yui-gb .yui-u, + .yui-gb .yui-gc .yui-u { + *margin-left: 1.8%; + _margin-left: 4%; +} + +.yui-g .yui-gb .yui-u { + _margin-left: 1.0%; +} + +.yui-gb .yui-gd .yui-u { + *width: 66%; + _width: 61.2%; +} + +.yui-gb .yui-gd div.first { + *width: 31%; + _width: 29.5%; +} + +.yui-g .yui-gc .yui-u, + .yui-gb .yui-gc .yui-u { + width: 32%; + _float: right; + margin-right: 0; + _margin-left: 0; +} + +.yui-gb .yui-gc div.first { + width: 66%; + *float: left; + *margin-left: 0; +} + +.yui-gb .yui-ge .yui-u, + .yui-gb .yui-gf .yui-u { + margin: 0; +} + +.yui-gb .yui-gb .yui-u { + _margin-left: .7%; +} + +.yui-gb .yui-g div.first, + .yui-gb .yui-gb div.first { + *margin-left: 0; +} + +.yui-gc .yui-g .yui-u, + .yui-gd .yui-g .yui-u { + *width: 48.1%; + *margin-left: 0; +} + +.yui-gb .yui-gd div.first { + width: 32%; +} + +.yui-g .yui-gd div.first { + _width: 29.9%; +} + +.yui-ge .yui-g { + width: 24%; +} + +.yui-gf .yui-g { + width: 74.2%; +} + +.yui-gb .yui-ge div.yui-u, + .yui-gb .yui-gf div.yui-u { + float: right; +} + +.yui-gb .yui-ge div.first, + .yui-gb .yui-gf div.first { + float: left; +} + +/* Width Accommodation for Nested Contexts */ +.yui-gb .yui-ge .yui-u, + .yui-gb .yui-gf div.first { + *width: 24%; + _width: 20%; +} + +/* Width Accommodation for Nested Contexts */ +.yui-gb .yui-ge div.first, + .yui-gb .yui-gf .yui-u { + *width: 73.5%; + _width: 65.5%; +} + +/* Patch for GD within GE */ +.yui-ge div.first .yui-gd .yui-u { + width: 65%; +} + +.yui-ge div.first .yui-gd div.first { + width: 32%; +} + +/* @group Clearing */ +#hd:after, +#bd:after, +#ft:after, +.yui-g:after, +.yui-gb:after, +.yui-gc:after, +.yui-gd:after, +.yui-ge:after, +.yui-gf:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +#hd, +#bd, +#ft, +.yui-g, +.yui-gb, +.yui-gc, +.yui-gd, +.yui-ge, +.yui-gf { + zoom: 1; +} diff --git a/js/yui/history/history-min.js b/js/yui/history/history-min.js new file mode 100644 index 0000000000000000000000000000000000000000..f2bf63d8d121b17e1d526698623d942450073f37 --- /dev/null +++ b/js/yui/history/history-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.History=(function(){var C=null;var K=null;var F=false;var D=[];var B=[];function I(){var M,L;L=top.location.href;M=L.indexOf("#");return M>=0?L.substr(M+1):null;}function A(){var M,N,O=[],L=[];for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){N=D[M];O.push(M+"="+N.initialState);L.push(M+"="+N.currentState);}}K.value=O.join("&")+"|"+L.join("&");if(YAHOO.env.ua.webkit){K.value+="|"+B.join(",");}}function H(L){var Q,R,M,O,P,T,S,N;if(!L){for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];O.currentState=O.initialState;O.onStateChange(unescape(O.currentState));}}return;}P=[];T=L.split("&");for(Q=0,R=T.length;Q<R;Q++){S=T[Q].split("=");if(S.length===2){M=S[0];N=S[1];P[M]=N;}}for(M in D){if(YAHOO.lang.hasOwnProperty(D,M)){O=D[M];N=P[M];if(!N||O.currentState!==N){O.currentState=N||O.initialState;O.onStateChange(unescape(O.currentState));}}}}function J(O){var L,N;L='<html><body><div id="state">'+O.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")+"</div></body></html>";try{N=C.contentWindow.document;N.open();N.write(L);N.close();return true;}catch(M){return false;}}function G(){var O,L,N,M;if(!C.contentWindow||!C.contentWindow.document){setTimeout(G,10);return;}O=C.contentWindow.document;L=O.getElementById("state");N=L?L.innerText:null;M=I();setInterval(function(){var U,Q,R,S,T,P;O=C.contentWindow.document;L=O.getElementById("state");U=L?L.innerText:null;T=I();if(U!==N){N=U;H(N);if(!N){Q=[];for(R in D){if(YAHOO.lang.hasOwnProperty(D,R)){S=D[R];Q.push(R+"="+S.initialState);}}T=Q.join("&");}else{T=N;}top.location.hash=T;M=T;A();}else{if(T!==M){M=T;J(T);}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}function E(){var S,U,Q,W,M,O,V,P,T,N,L,R;Q=K.value.split("|");if(Q.length>1){V=Q[0].split("&");for(S=0,U=V.length;S<U;S++){W=V[S].split("=");if(W.length===2){M=W[0];P=W[1];O=D[M];if(O){O.initialState=P;}}}T=Q[1].split("&");for(S=0,U=T.length;S<U;S++){W=T[S].split("=");if(W.length>=2){M=W[0];N=W[1];O=D[M];if(O){O.currentState=N;}}}}if(Q.length>2){B=Q[2].split(",");}if(YAHOO.env.ua.ie){if(typeof document.documentMode==="undefined"||document.documentMode<8){G();}else{YAHOO.util.Event.on(top,"hashchange",function(){var X=I();H(X);A();});F=true;YAHOO.util.History.onLoadEvent.fire();}}else{L=history.length;R=I();setInterval(function(){var Z,X,Y;X=I();Y=history.length;if(X!==R){R=X;L=Y;H(R);A();}else{if(Y!==L&&YAHOO.env.ua.webkit){R=X;L=Y;Z=B[L-1];H(Z);A();}}},50);F=true;YAHOO.util.History.onLoadEvent.fire();}}return{onLoadEvent:new YAHOO.util.CustomEvent("onLoad"),onReady:function(L,M,N){if(F){setTimeout(function(){var O=window;if(N){if(N===true){O=M;}else{O=N;}}L.call(O,"onLoad",[],M);},0);}else{YAHOO.util.History.onLoadEvent.subscribe(L,M,N);}},register:function(N,L,P,Q,R){var O,M;if(typeof N!=="string"||YAHOO.lang.trim(N)===""||typeof L!=="string"||typeof P!=="function"){throw new Error("Missing or invalid argument");}if(D[N]){return;}if(F){throw new Error("All modules must be registered before calling YAHOO.util.History.initialize");}N=escape(N);L=escape(L);O=null;if(R===true){O=Q;}else{O=R;}M=function(S){return P.call(O,S,Q);};D[N]={name:N,initialState:L,currentState:L,onStateChange:M};},initialize:function(L,M){if(F){return;}if(YAHOO.env.ua.opera&&typeof history.navigationMode!=="undefined"){history.navigationMode="compatible";}if(typeof L==="string"){L=document.getElementById(L);}if(!L||L.tagName.toUpperCase()!=="TEXTAREA"&&(L.tagName.toUpperCase()!=="INPUT"||L.type!=="hidden"&&L.type!=="text")){throw new Error("Missing or invalid argument");}K=L;if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){if(typeof M==="string"){M=document.getElementById(M);}if(!M||M.tagName.toUpperCase()!=="IFRAME"){throw new Error("Missing or invalid argument");}C=M;}YAHOO.util.Event.onDOMReady(E);},navigate:function(M,N){var L;if(typeof M!=="string"||typeof N!=="string"){throw new Error("Missing or invalid argument");}L={};L[M]=N;return YAHOO.util.History.multiNavigate(L);},multiNavigate:function(M){var L,N,P,O,Q;if(typeof M!=="object"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}for(N in M){if(!D[N]){throw new Error("The following module has not been registered: "+N);}}L=[];for(N in D){if(YAHOO.lang.hasOwnProperty(D,N)){P=D[N];if(YAHOO.lang.hasOwnProperty(M,N)){O=M[unescape(N)];}else{O=unescape(P.currentState);}N=escape(N);O=escape(O);L.push(N+"="+O);}}Q=L.join("&");if(YAHOO.env.ua.ie&&(typeof document.documentMode==="undefined"||document.documentMode<8)){return J(Q);}else{top.location.hash=Q;if(YAHOO.env.ua.webkit){B[history.length]=Q;A();}return true;}},getCurrentState:function(L){var M;if(typeof L!=="string"){throw new Error("Missing or invalid argument");}if(!F){throw new Error("The Browser History Manager is not initialized");}M=D[L];if(!M){throw new Error("No such registered module: "+L);}return unescape(M.currentState);},getBookmarkedState:function(Q){var P,M,L,S,N,R,O;if(typeof Q!=="string"){throw new Error("Missing or invalid argument");}L=top.location.href.indexOf("#");if(L>=0){S=top.location.href.substr(L+1);N=S.split("&");for(P=0,M=N.length;P<M;P++){R=N[P].split("=");if(R.length===2){O=R[0];if(O===Q){return unescape(R[1]);}}}}return null;},getQueryStringParameter:function(Q,N){var O,M,L,S,R,P;N=N||top.location.href;L=N.indexOf("?");S=L>=0?N.substr(L+1):N;L=S.lastIndexOf("#");S=L>=0?S.substr(0,L):S;R=S.split("&");for(O=0,M=R.length;O<M;O++){P=R[O].split("=");if(P.length>=2){if(P[0]===Q){return unescape(P[1]);}}}return null;}};})();YAHOO.register("history",YAHOO.util.History,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/imagecropper/imagecropper-min.js b/js/yui/imagecropper/imagecropper-min.js new file mode 100644 index 0000000000000000000000000000000000000000..dd35a83ab7eae34c4aa322624df1b28abd0011c9 --- /dev/null +++ b/js/yui/imagecropper/imagecropper-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var C=YAHOO.util.Dom,A=YAHOO.util.Event,D=YAHOO.lang;var B=function(F,E){var G={element:F,attributes:E||{}};B.superclass.constructor.call(this,G.element,G.attributes);};B._instances={};B.getCropperById=function(E){if(B._instances[E]){return B._instances[E];}return false;};YAHOO.extend(B,YAHOO.util.Element,{CSS_MAIN:"yui-crop",CSS_MASK:"yui-crop-mask",CSS_RESIZE_MASK:"yui-crop-resize-mask",_image:null,_active:null,_resize:null,_resizeEl:null,_resizeMaskEl:null,_wrap:null,_mask:null,_createWrap:function(){this._wrap=document.createElement("div");this._wrap.id=this.get("element").id+"_wrap";this._wrap.className=this.CSS_MAIN;var F=this.get("element");this._wrap.style.width=F.width?F.width+"px":C.getStyle(F,"width");this._wrap.style.height=F.height?F.height+"px":C.getStyle(F,"height");var E=this.get("element").parentNode;E.replaceChild(this._wrap,this.get("element"));this._wrap.appendChild(this.get("element"));A.on(this._wrap,"mouseover",this._handleMouseOver,this,true);A.on(this._wrap,"mouseout",this._handleMouseOut,this,true);A.on(this._wrap,"click",function(G){A.stopEvent(G);},this,true);},_createMask:function(){this._mask=document.createElement("div");this._mask.className=this.CSS_MASK;this._wrap.appendChild(this._mask);},_createResize:function(){this._resizeEl=document.createElement("div");this._resizeEl.className=YAHOO.util.Resize.prototype.CSS_RESIZE;this._resizeEl.style.position="absolute";this._resizeEl.innerHTML='<div class="'+this.CSS_RESIZE_MASK+'"></div>';this._resizeMaskEl=this._resizeEl.firstChild;this._wrap.appendChild(this._resizeEl);this._resizeEl.style.top=this.get("initialXY")[1]+"px";this._resizeEl.style.left=this.get("initialXY")[0]+"px";this._resizeMaskEl.style.height=Math.floor(this.get("initHeight"))+"px";this._resizeMaskEl.style.width=Math.floor(this.get("initWidth"))+"px";this._resize=new YAHOO.util.Resize(this._resizeEl,{knobHandles:true,handles:"all",draggable:true,status:this.get("status"),minWidth:this.get("minWidth"),minHeight:this.get("minHeight"),ratio:this.get("ratio"),autoRatio:this.get("autoRatio"),height:this.get("initHeight"),width:this.get("initWidth")});this._setBackgroundImage(this.get("element").getAttribute("src",2));this._setBackgroundPosition(-(this.get("initialXY")[0]),-(this.get("initialXY")[1]));this._resize.on("startResize",this._handleStartResizeEvent,this,true);this._resize.on("endResize",this._handleEndResizeEvent,this,true);this._resize.on("dragEvent",this._handleDragEvent,this,true);this._resize.on("beforeResize",this._handleBeforeResizeEvent,this,true);this._resize.on("resize",this._handleResizeEvent,this,true);this._resize.dd.on("b4StartDragEvent",this._handleB4DragEvent,this,true);},_handleMouseOver:function(F){var E="keydown";if(YAHOO.env.ua.gecko||YAHOO.env.ua.opera){E="keypress";}if(!this._active){this._active=true;if(this.get("useKeys")){A.on(document,E,this._handleKeyPress,this,true);}}},_handleMouseOut:function(F){var E="keydown";if(YAHOO.env.ua.gecko||YAHOO.env.ua.opera){E="keypress";}this._active=false;if(this.get("useKeys")){A.removeListener(document,E,this._handleKeyPress);}},_moveEl:function(G,J){var H=0,E=0,I=this._setConstraints(),F=true;switch(G){case"down":H=-(J);if((I.bottom-J)<0){F=false;this._resizeEl.style.top=(I.top+I.bottom)+"px";}break;case"up":H=(J);if((I.top-J)<0){F=false;this._resizeEl.style.top="0px";}break;case"right":E=-(J);if((I.right-J)<0){F=false;this._resizeEl.style.left=(I.left+I.right)+"px";}break;case"left":E=J;if((I.left-J)<0){F=false;this._resizeEl.style.left="0px";}break;}if(F){this._resizeEl.style.left=(parseInt(this._resizeEl.style.left,10)-E)+"px";this._resizeEl.style.top=(parseInt(this._resizeEl.style.top,10)-H)+"px";this.fireEvent("moveEvent",{target:"keypress"});}else{this._setConstraints();}this._syncBackgroundPosition();},_handleKeyPress:function(G){var E=A.getCharCode(G),F=false,H=((G.shiftKey)?this.get("shiftKeyTick"):this.get("keyTick"));switch(E){case 37:this._moveEl("left",H);F=true;break;case 38:this._moveEl("up",H);F=true;break;case 39:this._moveEl("right",H);F=true;break;case 40:this._moveEl("down",H);F=true;break;default:}if(F){A.preventDefault(G);}},_handleB4DragEvent:function(){this._setConstraints();},_handleDragEvent:function(){this._syncBackgroundPosition();this.fireEvent("dragEvent",arguments);this.fireEvent("moveEvent",{target:"dragevent"});},_handleBeforeResizeEvent:function(F){var I=C.getRegion(this.get("element")),J=this._resize._cache,H=this._resize._currentHandle,G=0,E=0;if(F.top&&(F.top<I.top)){G=(J.height+J.top)-I.top;C.setY(this._resize.getWrapEl(),I.top);this._resize.getWrapEl().style.height=G+"px";this._resize._cache.height=G;this._resize._cache.top=I.top;this._syncBackgroundPosition();return false;}if(F.left&&(F.left<I.left)){E=(J.width+J.left)-I.left;C.setX(this._resize.getWrapEl(),I.left);this._resize._cache.left=I.left;this._resize.getWrapEl().style.width=E+"px";this._resize._cache.width=E;this._syncBackgroundPosition();return false;}if(H!="tl"&&H!="l"&&H!="bl"){if(J.left&&F.width&&((J.left+F.width)>I.right)){E=(I.right-J.left);C.setX(this._resize.getWrapEl(),(I.right-E));this._resize.getWrapEl().style.width=E+"px";this._resize._cache.left=(I.right-E);this._resize._cache.width=E;this._syncBackgroundPosition();return false;}}if(H!="t"&&H!="tr"&&H!="tl"){if(J.top&&F.height&&((J.top+F.height)>I.bottom)){G=(I.bottom-J.top);C.setY(this._resize.getWrapEl(),(I.bottom-G));this._resize.getWrapEl().style.height=G+"px";this._resize._cache.height=G;this._resize._cache.top=(I.bottom-G);this._syncBackgroundPosition();return false;}}},_handleResizeMaskEl:function(){var E=this._resize._cache;this._resizeMaskEl.style.height=Math.floor(E.height)+"px";this._resizeMaskEl.style.width=Math.floor(E.width)+"px";},_handleResizeEvent:function(E){this._setConstraints(true);this._syncBackgroundPosition();this.fireEvent("resizeEvent",arguments);this.fireEvent("moveEvent",{target:"resizeevent"});},_syncBackgroundPosition:function(){this._handleResizeMaskEl();this._setBackgroundPosition(-(parseInt(this._resizeEl.style.left,10)),-(parseInt(this._resizeEl.style.top,10))); +},_setBackgroundPosition:function(F,H){var J=parseInt(C.getStyle(this._resize.get("element"),"borderLeftWidth"),10);var G=parseInt(C.getStyle(this._resize.get("element"),"borderTopWidth"),10);if(isNaN(J)){J=0;}if(isNaN(G)){G=0;}var E=this._resize.getWrapEl().firstChild;var I=(F-J)+"px "+(H-G)+"px";this._resizeMaskEl.style.backgroundPosition=I;},_setBackgroundImage:function(F){var E=this._resize.getWrapEl().firstChild;this._image=F;E.style.backgroundImage="url("+F+"#)";},_handleEndResizeEvent:function(){this._setConstraints(true);},_handleStartResizeEvent:function(){this._setConstraints(true);var I=this._resize._cache.height,F=this._resize._cache.width,H=parseInt(this._resize.getWrapEl().style.top,10),E=parseInt(this._resize.getWrapEl().style.left,10),G=0,J=0;switch(this._resize._currentHandle){case"b":G=(I+this._resize.dd.bottomConstraint);break;case"l":J=(F+this._resize.dd.leftConstraint);break;case"r":G=(I+H);J=(F+this._resize.dd.rightConstraint);break;case"br":G=(I+this._resize.dd.bottomConstraint);J=(F+this._resize.dd.rightConstraint);break;case"tr":G=(I+H);J=(F+this._resize.dd.rightConstraint);break;}if(G){}if(J){}this.fireEvent("startResizeEvent",arguments);},_setConstraints:function(J){var H=this._resize;H.dd.resetConstraints();var N=parseInt(H.get("height"),10),F=parseInt(H.get("width"),10);if(J){N=H._cache.height;F=H._cache.width;}var L=C.getRegion(this.get("element"));var G=H.getWrapEl();var O=C.getXY(G);var I=O[0]-L.left;var M=L.right-O[0]-F;var K=O[1]-L.top;var E=L.bottom-O[1]-N;if(K<0){K=0;}H.dd.setXConstraint(I,M);H.dd.setYConstraint(K,E);return{top:K,right:M,bottom:E,left:I};},getCropCoords:function(){var E={top:parseInt(this._resize.getWrapEl().style.top,10),left:parseInt(this._resize.getWrapEl().style.left,10),height:this._resize._cache.height,width:this._resize._cache.width,image:this._image};return E;},reset:function(){this._resize.resize(null,this.get("initHeight"),this.get("initWidth"),0,0,true);this._resizeEl.style.top=this.get("initialXY")[1]+"px";this._resizeEl.style.left=this.get("initialXY")[0]+"px";this._syncBackgroundPosition();return this;},getEl:function(){return this.get("element");},getResizeEl:function(){return this._resizeEl;},getWrapEl:function(){return this._wrap;},getMaskEl:function(){return this._mask;},getResizeMaskEl:function(){return this._resizeMaskEl;},getResizeObject:function(){return this._resize;},init:function(G,E){B.superclass.init.call(this,G,E);var H=G;if(!D.isString(H)){if(H.tagName&&(H.tagName.toLowerCase()=="img")){H=C.generateId(H);}else{return false;}}else{var F=C.get(H);if(F.tagName&&F.tagName.toLowerCase()=="img"){}else{return false;}}B._instances[H]=this;this._createWrap();this._createMask();this._createResize();this._setConstraints();},initAttributes:function(E){B.superclass.initAttributes.call(this,E);this.setAttributeConfig("initialXY",{writeOnce:true,validator:YAHOO.lang.isArray,value:E.initialXY||[10,10]});this.setAttributeConfig("keyTick",{validator:YAHOO.lang.isNumber,value:E.keyTick||1});this.setAttributeConfig("shiftKeyTick",{validator:YAHOO.lang.isNumber,value:E.shiftKeyTick||10});this.setAttributeConfig("useKeys",{validator:YAHOO.lang.isBoolean,value:((E.useKeys===false)?false:true)});this.setAttributeConfig("status",{validator:YAHOO.lang.isBoolean,value:((E.status===false)?false:true),method:function(F){if(this._resize){this._resize.set("status",F);}}});this.setAttributeConfig("minHeight",{validator:YAHOO.lang.isNumber,value:E.minHeight||50,method:function(F){if(this._resize){this._resize.set("minHeight",F);}}});this.setAttributeConfig("minWidth",{validator:YAHOO.lang.isNumber,value:E.minWidth||50,method:function(F){if(this._resize){this._resize.set("minWidth",F);}}});this.setAttributeConfig("ratio",{validator:YAHOO.lang.isBoolean,value:E.ratio||false,method:function(F){if(this._resize){this._resize.set("ratio",F);}}});this.setAttributeConfig("autoRatio",{validator:YAHOO.lang.isBoolean,value:((E.autoRatio===false)?false:true),method:function(F){if(this._resize){this._resize.set("autoRatio",F);}}});this.setAttributeConfig("initHeight",{writeOnce:true,validator:YAHOO.lang.isNumber,value:E.initHeight||(this.get("element").height/4)});this.setAttributeConfig("initWidth",{validator:YAHOO.lang.isNumber,writeOnce:true,value:E.initWidth||(this.get("element").width/4)});},destroy:function(){this._resize.destroy();this._resizeEl.parentNode.removeChild(this._resizeEl);this._mask.parentNode.removeChild(this._mask);A.purgeElement(this._wrap);this._wrap.parentNode.replaceChild(this.get("element"),this._wrap);for(var E in this){if(D.hasOwnProperty(this,E)){this[E]=null;}}},toString:function(){if(this.get){return"ImageCropper (#"+this.get("id")+")";}return"Image Cropper";}});YAHOO.widget.ImageCropper=B;})();YAHOO.register("imagecropper",YAHOO.widget.ImageCropper,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/imageloader/imageloader-min.js b/js/yui/imageloader/imageloader-min.js new file mode 100644 index 0000000000000000000000000000000000000000..f077949f9c277bf2f70f89ae3d45335175c64087 --- /dev/null +++ b/js/yui/imageloader/imageloader-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(typeof(YAHOO.util.ImageLoader)=="undefined"){YAHOO.util.ImageLoader={};}YAHOO.util.ImageLoader.group=function(A,B,C){this.name="unnamed";this._imgObjs={};this.timeoutLen=C;this._timeout=null;this._triggers=[];this._customTriggers=[];this.foldConditional=false;this.className=null;this._classImageEls=null;YAHOO.util.Event.addListener(window,"load",this._onloadTasks,this,true);this.addTrigger(A,B);};YAHOO.util.ImageLoader.group.prototype.addTrigger=function(B,C){if(!B||!C){return;}var A=function(){this.fetch();};this._triggers.push([B,C,A]);YAHOO.util.Event.addListener(B,C,A,this,true);};YAHOO.util.ImageLoader.group.prototype.addCustomTrigger=function(B){if(!B||!B instanceof YAHOO.util.CustomEvent){return;}var A=function(){this.fetch();};this._customTriggers.push([B,A]);B.subscribe(A,this,true);};YAHOO.util.ImageLoader.group.prototype._onloadTasks=function(){if(this.timeoutLen&&typeof(this.timeoutLen)=="number"&&this.timeoutLen>0){this._timeout=setTimeout(this._getFetchTimeout(),this.timeoutLen*1000);}if(this.foldConditional){this._foldCheck();}};YAHOO.util.ImageLoader.group.prototype._getFetchTimeout=function(){var A=this;return function(){A.fetch();};};YAHOO.util.ImageLoader.group.prototype.registerBgImage=function(B,A){this._imgObjs[B]=new YAHOO.util.ImageLoader.bgImgObj(B,A);return this._imgObjs[B];};YAHOO.util.ImageLoader.group.prototype.registerSrcImage=function(D,B,C,A){this._imgObjs[D]=new YAHOO.util.ImageLoader.srcImgObj(D,B,C,A);return this._imgObjs[D];};YAHOO.util.ImageLoader.group.prototype.registerPngBgImage=function(C,B,A){this._imgObjs[C]=new YAHOO.util.ImageLoader.pngBgImgObj(C,B,A);return this._imgObjs[C];};YAHOO.util.ImageLoader.group.prototype.fetch=function(){clearTimeout(this._timeout);for(var B=0,A=this._triggers.length;B<A;B++){YAHOO.util.Event.removeListener(this._triggers[B][0],this._triggers[B][1],this._triggers[B][2]);}for(var B=0,A=this._customTriggers.length;B<A;B++){this._customTriggers[B][0].unsubscribe(this._customTriggers[B][1],this);}this._fetchByClass();for(var C in this._imgObjs){if(YAHOO.lang.hasOwnProperty(this._imgObjs,C)){this._imgObjs[C].fetch();}}};YAHOO.util.ImageLoader.group.prototype._foldCheck=function(){var C=(document.compatMode!="CSS1Compat")?document.body.scrollTop:document.documentElement.scrollTop;var D=YAHOO.util.Dom.getViewportHeight();var A=C+D;var E=(document.compatMode!="CSS1Compat")?document.body.scrollLeft:document.documentElement.scrollLeft;var G=YAHOO.util.Dom.getViewportWidth();var I=E+G;for(var B in this._imgObjs){if(YAHOO.lang.hasOwnProperty(this._imgObjs,B)){var J=YAHOO.util.Dom.getXY(this._imgObjs[B].domId);if(J[1]<A&&J[0]<I){this._imgObjs[B].fetch();}}}if(this.className){this._classImageEls=YAHOO.util.Dom.getElementsByClassName(this.className);for(var F=0,H=this._classImageEls.length;F<H;F++){var J=YAHOO.util.Dom.getXY(this._classImageEls[F]);if(J[1]<A&&J[0]<I){YAHOO.util.Dom.removeClass(this._classImageEls[F],this.className);}}}};YAHOO.util.ImageLoader.group.prototype._fetchByClass=function(){if(!this.className){return;}if(this._classImageEls===null){this._classImageEls=YAHOO.util.Dom.getElementsByClassName(this.className);}YAHOO.util.Dom.removeClass(this._classImageEls,this.className);};YAHOO.util.ImageLoader.imgObj=function(B,A){this.domId=B;this.url=A;this.width=null;this.height=null;this.setVisible=false;this._fetched=false;};YAHOO.util.ImageLoader.imgObj.prototype.fetch=function(){if(this._fetched){return;}var A=document.getElementById(this.domId);if(!A){return;}this._applyUrl(A);if(this.setVisible){A.style.visibility="visible";}if(this.width){A.width=this.width;}if(this.height){A.height=this.height;}this._fetched=true;};YAHOO.util.ImageLoader.imgObj.prototype._applyUrl=function(A){};YAHOO.util.ImageLoader.bgImgObj=function(B,A){YAHOO.util.ImageLoader.bgImgObj.superclass.constructor.call(this,B,A);};YAHOO.lang.extend(YAHOO.util.ImageLoader.bgImgObj,YAHOO.util.ImageLoader.imgObj);YAHOO.util.ImageLoader.bgImgObj.prototype._applyUrl=function(A){A.style.backgroundImage="url('"+this.url+"')";};YAHOO.util.ImageLoader.srcImgObj=function(D,B,C,A){YAHOO.util.ImageLoader.srcImgObj.superclass.constructor.call(this,D,B);this.width=C;this.height=A;};YAHOO.lang.extend(YAHOO.util.ImageLoader.srcImgObj,YAHOO.util.ImageLoader.imgObj);YAHOO.util.ImageLoader.srcImgObj.prototype._applyUrl=function(A){A.src=this.url;};YAHOO.util.ImageLoader.pngBgImgObj=function(C,B,A){YAHOO.util.ImageLoader.pngBgImgObj.superclass.constructor.call(this,C,B);this.props=A||{};};YAHOO.lang.extend(YAHOO.util.ImageLoader.pngBgImgObj,YAHOO.util.ImageLoader.imgObj);YAHOO.util.ImageLoader.pngBgImgObj.prototype._applyUrl=function(B){if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=6){var C=(YAHOO.lang.isUndefined(this.props.sizingMethod))?"scale":this.props.sizingMethod;var A=(YAHOO.lang.isUndefined(this.props.enabled))?"true":this.props.enabled;B.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+this.url+'", sizingMethod="'+C+'", enabled="'+A+'")';}else{B.style.backgroundImage="url('"+this.url+"')";}};YAHOO.register("imageloader",YAHOO.util.ImageLoader,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/json/json-min.js b/js/yui/json/json-min.js new file mode 100644 index 0000000000000000000000000000000000000000..cada55753c3c936c2d3b53ec0a56eebb035434c9 --- /dev/null +++ b/js/yui/json/json-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var l=YAHOO.lang,isFunction=l.isFunction,isObject=l.isObject,isArray=l.isArray,_toStr=Object.prototype.toString,Native=(YAHOO.env.ua.caja?window:this).JSON,_UNICODE_EXCEPTIONS=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,_ESCAPES=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,_VALUES=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,_BRACKETS=/(?:^|:|,)(?:\s*\[)+/g,_UNSAFE=/^[\],:{}\s]*$/,_SPECIAL_CHARS=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,_CHARS={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},UNDEFINED="undefined",OBJECT="object",NULL="null",STRING="string",NUMBER="number",BOOLEAN="boolean",DATE="date",_allowable={"undefined":UNDEFINED,"string":STRING,"[object String]":STRING,"number":NUMBER,"[object Number]":NUMBER,"boolean":BOOLEAN,"[object Boolean]":BOOLEAN,"[object Date]":DATE,"[object RegExp]":OBJECT},EMPTY="",OPEN_O="{",CLOSE_O="}",OPEN_A="[",CLOSE_A="]",COMMA=",",COMMA_CR=",\n",CR="\n",COLON=":",COLON_SP=": ",QUOTE='"';Native=_toStr.call(Native)==="[object JSON]"&&Native;function _char(c){if(!_CHARS[c]){_CHARS[c]="\\u"+("0000"+(+(c.charCodeAt(0))).toString(16)).slice(-4);}return _CHARS[c];}function _revive(data,reviver){var walk=function(o,key){var k,v,value=o[key];if(value&&typeof value==="object"){for(k in value){if(l.hasOwnProperty(value,k)){v=walk(value,k);if(v===undefined){delete value[k];}else{value[k]=v;}}}}return reviver.call(o,key,value);};return typeof reviver==="function"?walk({"":data},""):data;}function _prepare(s){return s.replace(_UNICODE_EXCEPTIONS,_char);}function _isSafe(str){return l.isString(str)&&_UNSAFE.test(str.replace(_ESCAPES,"@").replace(_VALUES,"]").replace(_BRACKETS,""));}function _parse(s,reviver){s=_prepare(s);if(_isSafe(s)){return _revive(eval("("+s+")"),reviver);}throw new SyntaxError("JSON.parse");}function _type(o){var t=typeof o;return _allowable[t]||_allowable[_toStr.call(o)]||(t===OBJECT?(o?OBJECT:NULL):UNDEFINED);}function _string(s){return QUOTE+s.replace(_SPECIAL_CHARS,_char)+QUOTE;}function _indent(s,space){return s.replace(/^/gm,space);}function _stringify(o,w,space){if(o===undefined){return undefined;}var replacer=isFunction(w)?w:null,format=_toStr.call(space).match(/String|Number/)||[],_date=YAHOO.lang.JSON.dateToString,stack=[],tmp,i,len;if(replacer||!isArray(w)){w=undefined;}if(w){tmp={};for(i=0,len=w.length;i<len;++i){tmp[w[i]]=true;}w=tmp;}space=format[0]==="Number"?new Array(Math.min(Math.max(0,space),10)+1).join(" "):(space||EMPTY).slice(0,10);function _serialize(h,key){var value=h[key],t=_type(value),a=[],colon=space?COLON_SP:COLON,arr,i,keys,k,v;if(isObject(value)&&isFunction(value.toJSON)){value=value.toJSON(key);}else{if(t===DATE){value=_date(value);}}if(isFunction(replacer)){value=replacer.call(h,key,value);}if(value!==h[key]){t=_type(value);}switch(t){case DATE:case OBJECT:break;case STRING:return _string(value);case NUMBER:return isFinite(value)?value+EMPTY:NULL;case BOOLEAN:return value+EMPTY;case NULL:return NULL;default:return undefined;}for(i=stack.length-1;i>=0;--i){if(stack[i]===value){throw new Error("JSON.stringify. Cyclical reference");}}arr=isArray(value);stack.push(value);if(arr){for(i=value.length-1;i>=0;--i){a[i]=_serialize(value,i)||NULL;}}else{keys=w||value;i=0;for(k in keys){if(keys.hasOwnProperty(k)){v=_serialize(value,k);if(v){a[i++]=_string(k)+colon+v;}}}}stack.pop();if(space&&a.length){return arr?OPEN_A+CR+_indent(a.join(COMMA_CR),space)+CR+CLOSE_A:OPEN_O+CR+_indent(a.join(COMMA_CR),space)+CR+CLOSE_O;}else{return arr?OPEN_A+a.join(COMMA)+CLOSE_A:OPEN_O+a.join(COMMA)+CLOSE_O;}}return _serialize({"":o},"");}YAHOO.lang.JSON={useNativeParse:!!Native,useNativeStringify:!!Native,isSafe:function(s){return _isSafe(_prepare(s));},parse:function(s,reviver){return Native&&YAHOO.lang.JSON.useNativeParse?Native.parse(s,reviver):_parse(s,reviver);},stringify:function(o,w,space){return Native&&YAHOO.lang.JSON.useNativeStringify?Native.stringify(o,w,space):_stringify(o,w,space);},dateToString:function(d){function _zeroPad(v){return v<10?"0"+v:v;}return d.getUTCFullYear()+"-"+_zeroPad(d.getUTCMonth()+1)+"-"+_zeroPad(d.getUTCDate())+"T"+_zeroPad(d.getUTCHours())+COLON+_zeroPad(d.getUTCMinutes())+COLON+_zeroPad(d.getUTCSeconds())+"Z";},stringToDate:function(str){var m=str.match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{3}))?Z$/);if(m){var d=new Date();d.setUTCFullYear(m[1],m[2]-1,m[3]);d.setUTCHours(m[4],m[5],m[6],(m[7]||0));return d;}return str;}};YAHOO.lang.JSON.isValid=YAHOO.lang.JSON.isSafe;})();YAHOO.register("json",YAHOO.lang.JSON,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/layout/layout-min.js b/js/yui/layout/layout-min.js new file mode 100644 index 0000000000000000000000000000000000000000..cbb6e9aa0c064ca43b6a499146058e80ab1126df --- /dev/null +++ b/js/yui/layout/layout-min.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var C=YAHOO.util.Dom,A=YAHOO.util.Event,D=YAHOO.lang;var B=function(F,E){if(D.isObject(F)&&!F.tagName){E=F;F=null;}if(D.isString(F)){if(C.get(F)){F=C.get(F);}}if(!F){F=document.body;}var G={element:F,attributes:E||{}};B.superclass.constructor.call(this,G.element,G.attributes);};B._instances={};B.getLayoutById=function(E){if(B._instances[E]){return B._instances[E];}return false;};YAHOO.extend(B,YAHOO.util.Element,{browser:function(){var E=YAHOO.env.ua;E.standardsMode=false;E.secure=false;return E;}(),_units:null,_rendered:null,_zIndex:null,_sizes:null,_setBodySize:function(G){var F=0,E=0;G=((G===false)?false:true);if(this._isBody){F=C.getClientHeight();E=C.getClientWidth();}else{F=parseInt(this.getStyle("height"),10);E=parseInt(this.getStyle("width"),10);if(isNaN(E)){E=this.get("element").clientWidth;}if(isNaN(F)){F=this.get("element").clientHeight;}}if(this.get("minWidth")){if(E<this.get("minWidth")){E=this.get("minWidth");}}if(this.get("minHeight")){if(F<this.get("minHeight")){F=this.get("minHeight");}}if(G){if(F<0){F=0;}if(E<0){E=0;}C.setStyle(this._doc,"height",F+"px");C.setStyle(this._doc,"width",E+"px");}this._sizes.doc={h:F,w:E};this._setSides(G);},_setSides:function(J){var H=((this._units.top)?this._units.top.get("height"):0),G=((this._units.bottom)?this._units.bottom.get("height"):0),I=this._sizes.doc.h,E=this._sizes.doc.w;J=((J===false)?false:true);this._sizes.top={h:H,w:((this._units.top)?E:0),t:0};this._sizes.bottom={h:G,w:((this._units.bottom)?E:0)};var F=(I-(H+G));this._sizes.left={h:F,w:((this._units.left)?this._units.left.get("width"):0)};this._sizes.right={h:F,w:((this._units.right)?this._units.right.get("width"):0),l:((this._units.right)?(E-this._units.right.get("width")):0),t:((this._units.top)?this._sizes.top.h:0)};if(this._units.right&&J){this._units.right.set("top",this._sizes.right.t);if(!this._units.right._collapsing){this._units.right.set("left",this._sizes.right.l);}this._units.right.set("height",this._sizes.right.h,true);}if(this._units.left){this._sizes.left.l=0;if(this._units.top){this._sizes.left.t=this._sizes.top.h;}else{this._sizes.left.t=0;}if(J){this._units.left.set("top",this._sizes.left.t);this._units.left.set("height",this._sizes.left.h,true);this._units.left.set("left",0);}}if(this._units.bottom){this._sizes.bottom.t=this._sizes.top.h+this._sizes.left.h;if(J){this._units.bottom.set("top",this._sizes.bottom.t);this._units.bottom.set("width",this._sizes.bottom.w,true);}}if(this._units.top){if(J){this._units.top.set("width",this._sizes.top.w,true);}}this._setCenter(J);},_setCenter:function(G){G=((G===false)?false:true);var F=this._sizes.left.h;var E=(this._sizes.doc.w-(this._sizes.left.w+this._sizes.right.w));if(G){this._units.center.set("height",F,true);this._units.center.set("width",E,true);this._units.center.set("top",this._sizes.top.h);this._units.center.set("left",this._sizes.left.w);}this._sizes.center={h:F,w:E,t:this._sizes.top.h,l:this._sizes.left.w};},getSizes:function(){return this._sizes;},getUnitById:function(E){return YAHOO.widget.LayoutUnit.getLayoutUnitById(E);},getUnitByPosition:function(E){if(E){E=E.toLowerCase();if(this._units[E]){return this._units[E];}return false;}return false;},removeUnit:function(E){delete this._units[E.get("position")];this.resize();},addUnit:function(G){if(!G.position){return false;}if(this._units[G.position]){return false;}var H=null,J=null;if(G.id){if(C.get(G.id)){H=C.get(G.id);delete G.id;}}if(G.element){H=G.element;}if(!J){J=document.createElement("div");var L=C.generateId();J.id=L;}if(!H){H=document.createElement("div");}C.addClass(H,"yui-layout-wrap");if(this.browser.ie&&!this.browser.standardsMode){J.style.zoom=1;H.style.zoom=1;}if(J.firstChild){J.insertBefore(H,J.firstChild);}else{J.appendChild(H);}this._doc.appendChild(J);var I=false,F=false;if(G.height){I=parseInt(G.height,10);}if(G.width){F=parseInt(G.width,10);}var E={};YAHOO.lang.augmentObject(E,G);E.parent=this;E.wrap=H;E.height=I;E.width=F;var K=new YAHOO.widget.LayoutUnit(J,E);K.on("heightChange",this.resize,{unit:K},this);K.on("widthChange",this.resize,{unit:K},this);K.on("gutterChange",this.resize,{unit:K},this);this._units[G.position]=K;if(this._rendered){this.resize();}return K;},_createUnits:function(){var E=this.get("units");for(var F in E){if(D.hasOwnProperty(E,F)){this.addUnit(E[F]);}}},resize:function(H,G){var E=H;if(E&&E.prevValue&&E.newValue){if(E.prevValue==E.newValue){if(G){if(G.unit){if(!G.unit.get("animate")){H=false;}}}}}H=((H===false)?false:true);if(H){var F=this.fireEvent("beforeResize");if(F===false){H=false;}if(this.browser.ie){if(this._isBody){C.removeClass(document.documentElement,"yui-layout");C.addClass(document.documentElement,"yui-layout");}else{this.removeClass("yui-layout");this.addClass("yui-layout");}}}this._setBodySize(H);if(H){this.fireEvent("resize",{target:this,sizes:this._sizes,event:E});}return this;},_setupBodyElements:function(){this._doc=C.get("layout-doc");if(!this._doc){this._doc=document.createElement("div");this._doc.id="layout-doc";if(document.body.firstChild){document.body.insertBefore(this._doc,document.body.firstChild);}else{document.body.appendChild(this._doc);}}this._createUnits();this._setBodySize();A.on(window,"resize",this.resize,this,true);C.addClass(this._doc,"yui-layout-doc");},_setupElements:function(){this._doc=this.getElementsByClassName("yui-layout-doc")[0];if(!this._doc){this._doc=document.createElement("div");this.get("element").appendChild(this._doc);}this._createUnits();this._setBodySize();C.addClass(this._doc,"yui-layout-doc");},_isBody:null,_doc:null,init:function(F,E){this._zIndex=0;B.superclass.init.call(this,F,E);if(this.get("parent")){this._zIndex=this.get("parent")._zIndex+10;}this._sizes={};this._units={};var G=F;if(!D.isString(G)){G=C.generateId(G);}B._instances[G]=this;},render:function(){this._stamp();var E=this.get("element");if(E&&E.tagName&&(E.tagName.toLowerCase()=="body")){this._isBody=true;C.addClass(document.body,"yui-layout");if(C.hasClass(document.body,"yui-skin-sam")){C.addClass(document.documentElement,"yui-skin-sam"); +C.removeClass(document.body,"yui-skin-sam");}this._setupBodyElements();}else{this._isBody=false;this.addClass("yui-layout");this._setupElements();}this.resize();this._rendered=true;this.fireEvent("render");return this;},_stamp:function(){if(document.compatMode=="CSS1Compat"){this.browser.standardsMode=true;}if(window.location.href.toLowerCase().indexOf("https")===0){C.addClass(document.documentElement,"secure");this.browser.secure=true;}},initAttributes:function(E){B.superclass.initAttributes.call(this,E);this.setAttributeConfig("units",{writeOnce:true,validator:YAHOO.lang.isArray,value:E.units||[]});this.setAttributeConfig("minHeight",{value:E.minHeight||false,validator:YAHOO.lang.isNumber});this.setAttributeConfig("minWidth",{value:E.minWidth||false,validator:YAHOO.lang.isNumber});this.setAttributeConfig("height",{value:E.height||false,validator:YAHOO.lang.isNumber,method:function(F){if(F<0){F=0;}this.setStyle("height",F+"px");}});this.setAttributeConfig("width",{value:E.width||false,validator:YAHOO.lang.isNumber,method:function(F){if(F<0){F=0;}this.setStyle("width",F+"px");}});this.setAttributeConfig("parent",{writeOnce:true,value:E.parent||false,method:function(F){if(F){F.on("resize",this.resize,this,true);}}});},destroy:function(){var G=this.get("parent");if(G){G.removeListener("resize",this.resize,this,true);}A.removeListener(window,"resize",this.resize,this,true);this.unsubscribeAll();for(var E in this._units){if(D.hasOwnProperty(this._units,E)){if(this._units[E]){this._units[E].destroy(true);}}}A.purgeElement(this.get("element"));this.get("parentNode").removeChild(this.get("element"));delete YAHOO.widget.Layout._instances[this.get("id")];for(var F in this){if(D.hasOwnProperty(this,F)){this[F]=null;delete this[F];}}if(G){G.resize();}},toString:function(){if(this.get){return"Layout #"+this.get("id");}return"Layout";}});YAHOO.widget.Layout=B;})();(function(){var D=YAHOO.util.Dom,C=YAHOO.util.Selector,A=YAHOO.util.Event,E=YAHOO.lang;var B=function(G,F){var H={element:G,attributes:F||{}};B.superclass.constructor.call(this,H.element,H.attributes);};B._instances={};B.getLayoutUnitById=function(F){if(B._instances[F]){return B._instances[F];}return false;};YAHOO.extend(B,YAHOO.util.Element,{STR_CLOSE:"Click to close this pane.",STR_COLLAPSE:"Click to collapse this pane.",STR_EXPAND:"Click to expand this pane.",LOADING_CLASSNAME:"loading",browser:null,_sizes:null,_anim:null,_resize:null,_clip:null,_gutter:null,header:null,body:null,footer:null,_collapsed:null,_collapsing:null,_lastWidth:null,_lastHeight:null,_lastTop:null,_lastLeft:null,_lastScroll:null,_lastCenterScroll:null,_lastScrollTop:null,resize:function(F){var G=this.fireEvent("beforeResize");if(G===false){return this;}if(!this._collapsing||(F===true)){var N=this.get("scroll");this.set("scroll",false);var K=this._getBoxSize(this.header),J=this._getBoxSize(this.footer),L=[this.get("height"),this.get("width")];var H=(L[0]-K[0]-J[0])-(this._gutter.top+this._gutter.bottom),M=L[1]-(this._gutter.left+this._gutter.right);var O=(H+(K[0]+J[0])),I=M;if(this._collapsed&&!this._collapsing){this._setHeight(this._clip,O);this._setWidth(this._clip,I);D.setStyle(this._clip,"top",this.get("top")+this._gutter.top+"px");D.setStyle(this._clip,"left",this.get("left")+this._gutter.left+"px");}else{if(!this._collapsed||(this._collapsed&&this._collapsing)){O=this._setHeight(this.get("wrap"),O);I=this._setWidth(this.get("wrap"),I);this._sizes.wrap.h=O;this._sizes.wrap.w=I;D.setStyle(this.get("wrap"),"top",this._gutter.top+"px");D.setStyle(this.get("wrap"),"left",this._gutter.left+"px");this._sizes.header.w=this._setWidth(this.header,I);this._sizes.header.h=K[0];this._sizes.footer.w=this._setWidth(this.footer,I);this._sizes.footer.h=J[0];D.setStyle(this.footer,"bottom","0px");this._sizes.body.h=this._setHeight(this.body,(O-(K[0]+J[0])));this._sizes.body.w=this._setWidth(this.body,I);D.setStyle(this.body,"top",K[0]+"px");this.set("scroll",N);this.fireEvent("resize");}}}return this;},_setWidth:function(H,G){if(H){var F=this._getBorderSizes(H);G=(G-(F[1]+F[3]));G=this._fixQuirks(H,G,"w");if(G<0){G=0;}D.setStyle(H,"width",G+"px");}return G;},_setHeight:function(H,G){if(H){var F=this._getBorderSizes(H);G=(G-(F[0]+F[2]));G=this._fixQuirks(H,G,"h");if(G<0){G=0;}D.setStyle(H,"height",G+"px");}return G;},_fixQuirks:function(I,L,G){var K=0,H=2;if(G=="w"){K=1;H=3;}if((this.browser.ie<8)&&!this.browser.standardsMode){var F=this._getBorderSizes(I),J=this._getBorderSizes(I.parentNode);if((F[K]===0)&&(F[H]===0)){if((J[K]!==0)&&(J[H]!==0)){L=(L-(J[K]+J[H]));}}else{if((J[K]===0)&&(J[H]===0)){L=(L+(F[K]+F[H]));}}}return L;},_getBoxSize:function(H){var G=[0,0];if(H){if(this.browser.ie&&!this.browser.standardsMode){H.style.zoom=1;}var F=this._getBorderSizes(H);G[0]=H.clientHeight+(F[0]+F[2]);G[1]=H.clientWidth+(F[1]+F[3]);}return G;},_getBorderSizes:function(H){var G=[];H=H||this.get("element");if(this.browser.ie&&!this.browser.standardsMode){H.style.zoom=1;}G[0]=parseInt(D.getStyle(H,"borderTopWidth"),10);G[1]=parseInt(D.getStyle(H,"borderRightWidth"),10);G[2]=parseInt(D.getStyle(H,"borderBottomWidth"),10);G[3]=parseInt(D.getStyle(H,"borderLeftWidth"),10);for(var F=0;F<G.length;F++){if(isNaN(G[F])){G[F]=0;}}return G;},_createClip:function(){if(!this._clip){this._clip=document.createElement("div");this._clip.className="yui-layout-clip yui-layout-clip-"+this.get("position");this._clip.innerHTML='<div class="collapse"></div>';var F=this._clip.firstChild;F.title=this.STR_EXPAND;A.on(F,"click",this.expand,this,true);this.get("element").parentNode.appendChild(this._clip);}},_toggleClip:function(){if(!this._collapsed){var J=this._getBoxSize(this.header),K=this._getBoxSize(this.footer),I=[this.get("height"),this.get("width")];var H=(I[0]-J[0]-K[0])-(this._gutter.top+this._gutter.bottom),F=I[1]-(this._gutter.left+this._gutter.right),G=(H+(J[0]+K[0]));switch(this.get("position")){case"top":case"bottom":this._setWidth(this._clip,F);this._setHeight(this._clip,this.get("collapseSize"));D.setStyle(this._clip,"left",(this._lastLeft+this._gutter.left)+"px"); +if(this.get("position")=="bottom"){D.setStyle(this._clip,"top",((this._lastTop+this._lastHeight)-(this.get("collapseSize")-this._gutter.top))+"px");}else{D.setStyle(this._clip,"top",this.get("top")+this._gutter.top+"px");}break;case"left":case"right":this._setWidth(this._clip,this.get("collapseSize"));this._setHeight(this._clip,G);D.setStyle(this._clip,"top",(this.get("top")+this._gutter.top)+"px");if(this.get("position")=="right"){D.setStyle(this._clip,"left",(((this._lastLeft+this._lastWidth)-this.get("collapseSize"))-this._gutter.left)+"px");}else{D.setStyle(this._clip,"left",(this.get("left")+this._gutter.left)+"px");}break;}D.setStyle(this._clip,"display","block");this.setStyle("display","none");}else{D.setStyle(this._clip,"display","none");}},getSizes:function(){return this._sizes;},toggle:function(){if(this._collapsed){this.expand();}else{this.collapse();}return this;},expand:function(){if(!this._collapsed){return this;}var L=this.fireEvent("beforeExpand");if(L===false){return this;}this._collapsing=true;this.setStyle("zIndex",this.get("parent")._zIndex+1);if(this._anim){this.setStyle("display","none");var F={},H;switch(this.get("position")){case"left":case"right":this.set("width",this._lastWidth,true);this.setStyle("width",this._lastWidth+"px");this.get("parent").resize(false);H=this.get("parent").getSizes()[this.get("position")];this.set("height",H.h,true);var K=H.l;F={left:{to:K}};if(this.get("position")=="left"){F.left.from=(K-H.w);this.setStyle("left",(K-H.w)+"px");}break;case"top":case"bottom":this.set("height",this._lastHeight,true);this.setStyle("height",this._lastHeight+"px");this.get("parent").resize(false);H=this.get("parent").getSizes()[this.get("position")];this.set("width",H.w,true);var J=H.t;F={top:{to:J}};if(this.get("position")=="top"){this.setStyle("top",(J-H.h)+"px");F.top.from=(J-H.h);}break;}this._anim.attributes=F;var I=function(){this.setStyle("display","block");this.resize(true);this._anim.onStart.unsubscribe(I,this,true);};var G=function(){this._collapsing=false;this.setStyle("zIndex",this.get("parent")._zIndex);this.set("width",this._lastWidth);this.set("height",this._lastHeight);this._collapsed=false;this.resize();this.set("scroll",this._lastScroll);if(this._lastScrollTop>0){this.body.scrollTop=this._lastScrollTop;}this._anim.onComplete.unsubscribe(G,this,true);this.fireEvent("expand");};this._anim.onStart.subscribe(I,this,true);this._anim.onComplete.subscribe(G,this,true);this._anim.animate();this._toggleClip();}else{this._collapsing=false;this._toggleClip();this._collapsed=false;this.setStyle("zIndex",this.get("parent")._zIndex);this.setStyle("display","block");this.set("width",this._lastWidth);this.set("height",this._lastHeight);this.resize();this.set("scroll",this._lastScroll);if(this._lastScrollTop>0){this.body.scrollTop=this._lastScrollTop;}this.fireEvent("expand");}return this;},collapse:function(){if(this._collapsed){return this;}var J=this.fireEvent("beforeCollapse");if(J===false){return this;}if(!this._clip){this._createClip();}this._collapsing=true;var G=this.get("width"),H=this.get("height"),F={};this._lastWidth=G;this._lastHeight=H;this._lastScroll=this.get("scroll");this._lastScrollTop=this.body.scrollTop;this.set("scroll",false,true);this._lastLeft=parseInt(this.get("element").style.left,10);this._lastTop=parseInt(this.get("element").style.top,10);if(isNaN(this._lastTop)){this._lastTop=0;this.set("top",0);}if(isNaN(this._lastLeft)){this._lastLeft=0;this.set("left",0);}this.setStyle("zIndex",this.get("parent")._zIndex+1);var K=this.get("position");switch(K){case"top":case"bottom":this.set("height",(this.get("collapseSize")+(this._gutter.top+this._gutter.bottom)));F={top:{to:(this.get("top")-H)}};if(K=="bottom"){F.top.to=(this.get("top")+H);}break;case"left":case"right":this.set("width",(this.get("collapseSize")+(this._gutter.left+this._gutter.right)));F={left:{to:-(this._lastWidth)}};if(K=="right"){F.left={to:(this.get("left")+G)};}break;}if(this._anim){this._anim.attributes=F;var I=function(){this._collapsing=false;this._toggleClip();this.setStyle("zIndex",this.get("parent")._zIndex);this._collapsed=true;this.get("parent").resize();this._anim.onComplete.unsubscribe(I,this,true);this.fireEvent("collapse");};this._anim.onComplete.subscribe(I,this,true);this._anim.animate();}else{this._collapsing=false;this.setStyle("display","none");this._toggleClip();this.setStyle("zIndex",this.get("parent")._zIndex);this.get("parent").resize();this._collapsed=true;this.fireEvent("collapse");}return this;},close:function(){this.setStyle("display","none");this.get("parent").removeUnit(this);this.fireEvent("close");if(this._clip){this._clip.parentNode.removeChild(this._clip);this._clip=null;}return this.get("parent");},loadHandler:{success:function(F){this.body.innerHTML=F.responseText;this.resize(true);},failure:function(F){}},dataConnection:null,_loading:false,loadContent:function(){if(YAHOO.util.Connect&&this.get("dataSrc")&&!this._loading&&!this.get("dataLoaded")){this._loading=true;D.addClass(this.body,this.LOADING_CLASSNAME);this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get("loadMethod"),this.get("dataSrc"),{success:function(F){this.loadHandler.success.call(this,F);this.set("dataLoaded",true);this.dataConnection=null;D.removeClass(this.body,this.LOADING_CLASSNAME);this._loading=false;this.fireEvent("load");},failure:function(F){this.loadHandler.failure.call(this,F);this.dataConnection=null;D.removeClass(this.body,this.LOADING_CLASSNAME);this._loading=false;this.fireEvent("loadError",{error:F});},scope:this,timeout:this.get("dataTimeout")});return this.dataConnection;}return false;},init:function(H,G){this._gutter={left:0,right:0,top:0,bottom:0};this._sizes={wrap:{h:0,w:0},header:{h:0,w:0},body:{h:0,w:0},footer:{h:0,w:0}};B.superclass.init.call(this,H,G);this.browser=this.get("parent").browser;var K=H;if(!E.isString(K)){K=D.generateId(K);}B._instances[K]=this;this.setStyle("position","absolute");this.addClass("yui-layout-unit");this.addClass("yui-layout-unit-"+this.get("position")); +var J=this.getElementsByClassName("yui-layout-hd","div")[0];if(J){this.header=J;}var F=this.getElementsByClassName("yui-layout-bd","div")[0];if(F){this.body=F;}var I=this.getElementsByClassName("yui-layout-ft","div")[0];if(I){this.footer=I;}this.on("contentChange",this.resize,this,true);this._lastScrollTop=0;this.set("animate",this.get("animate"));},initAttributes:function(F){B.superclass.initAttributes.call(this,F);this.setAttributeConfig("wrap",{value:F.wrap||null,method:function(G){if(G){var H=D.generateId(G);B._instances[H]=this;}}});this.setAttributeConfig("grids",{value:F.grids||false});this.setAttributeConfig("top",{value:F.top||0,validator:E.isNumber,method:function(G){if(!this._collapsing){this.setStyle("top",G+"px");}}});this.setAttributeConfig("left",{value:F.left||0,validator:E.isNumber,method:function(G){if(!this._collapsing){this.setStyle("left",G+"px");}}});this.setAttributeConfig("minWidth",{value:F.minWidth||false,method:function(G){if(this._resize){this._resize.set("minWidth",G);}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("maxWidth",{value:F.maxWidth||false,method:function(G){if(this._resize){this._resize.set("maxWidth",G);}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("minHeight",{value:F.minHeight||false,method:function(G){if(this._resize){this._resize.set("minHeight",G);}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("maxHeight",{value:F.maxHeight||false,method:function(G){if(this._resize){this._resize.set("maxHeight",G);}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("height",{value:F.height,validator:E.isNumber,method:function(G){if(!this._collapsing){if(G<0){G=0;}this.setStyle("height",G+"px");}}});this.setAttributeConfig("width",{value:F.width,validator:E.isNumber,method:function(G){if(!this._collapsing){if(G<0){G=0;}this.setStyle("width",G+"px");}}});this.setAttributeConfig("zIndex",{value:F.zIndex||false,method:function(G){this.setStyle("zIndex",G);}});this.setAttributeConfig("position",{value:F.position});this.setAttributeConfig("gutter",{value:F.gutter||0,validator:YAHOO.lang.isString,method:function(H){var G=H.split(" ");if(G.length){this._gutter.top=parseInt(G[0],10);if(G[1]){this._gutter.right=parseInt(G[1],10);}else{this._gutter.right=this._gutter.top;}if(G[2]){this._gutter.bottom=parseInt(G[2],10);}else{this._gutter.bottom=this._gutter.top;}if(G[3]){this._gutter.left=parseInt(G[3],10);}else{if(G[1]){this._gutter.left=this._gutter.right;}else{this._gutter.left=this._gutter.top;}}}}});this.setAttributeConfig("parent",{writeOnce:true,value:F.parent||false,method:function(G){if(G){G.on("resize",this.resize,this,true);}}});this.setAttributeConfig("collapseSize",{value:F.collapseSize||25,validator:YAHOO.lang.isNumber});this.setAttributeConfig("duration",{value:F.duration||0.5});this.setAttributeConfig("easing",{value:F.easing||((YAHOO.util&&YAHOO.util.Easing)?YAHOO.util.Easing.BounceIn:"false")});this.setAttributeConfig("animate",{value:((F.animate===false)?false:true),validator:function(){var G=false;if(YAHOO.util.Anim){G=true;}return G;},method:function(G){if(G){this._anim=new YAHOO.util.Anim(this.get("element"),{},this.get("duration"),this.get("easing"));}else{this._anim=false;}}});this.setAttributeConfig("header",{value:F.header||false,method:function(G){if(G===false){if(this.header){D.addClass(this.body,"yui-layout-bd-nohd");this.header.parentNode.removeChild(this.header);this.header=null;}}else{if(!this.header){var I=this.getElementsByClassName("yui-layout-hd","div")[0];if(!I){I=this._createHeader();}this.header=I;}var H=this.header.getElementsByTagName("h2")[0];if(!H){H=document.createElement("h2");this.header.appendChild(H);}H.innerHTML=G;if(this.body){D.removeClass(this.body,"yui-layout-bd-nohd");}}this.fireEvent("contentChange",{target:"header"});}});this.setAttributeConfig("proxy",{writeOnce:true,value:((F.proxy===false)?false:true)});this.setAttributeConfig("body",{value:F.body||false,method:function(I){if(!this.body){var G=this.getElementsByClassName("yui-layout-bd","div")[0];if(G){this.body=G;}else{G=document.createElement("div");G.className="yui-layout-bd";this.body=G;this.get("wrap").appendChild(G);}}if(!this.header){D.addClass(this.body,"yui-layout-bd-nohd");}D.addClass(this.body,"yui-layout-bd-noft");var H=null;if(E.isString(I)){H=D.get(I);}else{if(I&&I.tagName){H=I;}}if(H){var J=D.generateId(H);B._instances[J]=this;this.body.appendChild(H);}else{this.body.innerHTML=I;}this._cleanGrids();this.fireEvent("contentChange",{target:"body"});}});this.setAttributeConfig("footer",{value:F.footer||false,method:function(H){if(H===false){if(this.footer){D.addClass(this.body,"yui-layout-bd-noft");this.footer.parentNode.removeChild(this.footer);this.footer=null;}}else{if(!this.footer){var I=this.getElementsByClassName("yui-layout-ft","div")[0];if(!I){I=document.createElement("div");I.className="yui-layout-ft";this.footer=I;this.get("wrap").appendChild(I);}else{this.footer=I;}}var G=null;if(E.isString(H)){G=D.get(H);}else{if(H&&H.tagName){G=H;}}if(G){this.footer.appendChild(G);}else{this.footer.innerHTML=H;}D.removeClass(this.body,"yui-layout-bd-noft");}this.fireEvent("contentChange",{target:"footer"});}});this.setAttributeConfig("close",{value:F.close||false,method:function(G){if(this.get("position")=="center"){return false;}if(!this.header&&G){this._createHeader();}var H=D.getElementsByClassName("close","div",this.header)[0];if(G){if(!this.get("header")){this.set("header"," ");}if(!H){H=document.createElement("div");H.className="close";this.header.appendChild(H);A.on(H,"click",this.close,this,true);}H.title=this.STR_CLOSE;}else{if(H&&H.parentNode){A.purgeElement(H);H.parentNode.removeChild(H);}}this._configs.close.value=G;this.set("collapse",this.get("collapse"));}});this.setAttributeConfig("collapse",{value:F.collapse||false,method:function(G){if(this.get("position")=="center"){return false;}if(!this.header&&G){this._createHeader();}var H=D.getElementsByClassName("collapse","div",this.header)[0];if(G){if(!this.get("header")){this.set("header"," "); +}if(!H){H=document.createElement("div");this.header.appendChild(H);A.on(H,"click",this.collapse,this,true);}H.title=this.STR_COLLAPSE;H.className="collapse"+((this.get("close"))?" collapse-close":"");}else{if(H&&H.parentNode){A.purgeElement(H);H.parentNode.removeChild(H);}}}});this.setAttributeConfig("scroll",{value:(((F.scroll===true)||(F.scroll===false)||(F.scroll===null))?F.scroll:false),method:function(G){if((G===false)&&!this._collapsed){if(this.body){if(this.body.scrollTop>0){this._lastScrollTop=this.body.scrollTop;}}}if(G===true){this.addClass("yui-layout-scroll");this.removeClass("yui-layout-noscroll");if(this._lastScrollTop>0){if(this.body){this.body.scrollTop=this._lastScrollTop;}}}else{if(G===false){this.removeClass("yui-layout-scroll");this.addClass("yui-layout-noscroll");}else{if(G===null){this.removeClass("yui-layout-scroll");this.removeClass("yui-layout-noscroll");}}}}});this.setAttributeConfig("hover",{writeOnce:true,value:F.hover||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("useShim",{value:F.useShim||false,validator:YAHOO.lang.isBoolean,method:function(G){if(this._resize){this._resize.set("useShim",G);}}});this.setAttributeConfig("resize",{value:F.resize||false,validator:function(G){if(YAHOO.util&&YAHOO.util.Resize){return true;}return false;},method:function(G){if(G&&!this._resize){if(this.get("position")=="center"){return false;}var I=false;switch(this.get("position")){case"top":I="b";break;case"bottom":I="t";break;case"right":I="l";break;case"left":I="r";break;}this.setStyle("position","absolute");if(I){this._resize=new YAHOO.util.Resize(this.get("element"),{proxy:this.get("proxy"),hover:this.get("hover"),status:false,autoRatio:false,handles:[I],minWidth:this.get("minWidth"),maxWidth:this.get("maxWidth"),minHeight:this.get("minHeight"),maxHeight:this.get("maxHeight"),height:this.get("height"),width:this.get("width"),setSize:false,useShim:this.get("useShim"),wrap:false});this._resize._handles[I].innerHTML='<div class="yui-layout-resize-knob"></div>';if(this.get("proxy")){var H=this._resize.getProxyEl();H.innerHTML='<div class="yui-layout-handle-'+I+'"></div>';}this._resize.on("startResize",function(J){this._lastScroll=this.get("scroll");this.set("scroll",false);if(this.get("parent")){this.get("parent").fireEvent("startResize");var K=this.get("parent").getUnitByPosition("center");this._lastCenterScroll=K.get("scroll");K.addClass(this._resize.CSS_RESIZING);K.set("scroll",false);}this.fireEvent("startResize");},this,true);this._resize.on("resize",function(J){this.set("height",J.height);this.set("width",J.width);},this,true);this._resize.on("endResize",function(J){this.set("scroll",this._lastScroll);if(this.get("parent")){var K=this.get("parent").getUnitByPosition("center");K.set("scroll",this._lastCenterScroll);K.removeClass(this._resize.CSS_RESIZING);}this.resize();this.fireEvent("endResize");},this,true);}}else{if(this._resize){this._resize.destroy();}}}});this.setAttributeConfig("dataSrc",{value:F.dataSrc});this.setAttributeConfig("loadMethod",{value:F.loadMethod||"GET",validator:YAHOO.lang.isString});this.setAttributeConfig("dataLoaded",{value:false,validator:YAHOO.lang.isBoolean,writeOnce:true});this.setAttributeConfig("dataTimeout",{value:F.dataTimeout||null,validator:YAHOO.lang.isNumber});},_cleanGrids:function(){if(this.get("grids")){var F=C.query("div.yui-b",this.body,true);if(F){D.removeClass(F,"yui-b");}A.onAvailable("yui-main",function(){D.setStyle(C.query("#yui-main"),"margin-left","0");D.setStyle(C.query("#yui-main"),"margin-right","0");});}},_createHeader:function(){var F=document.createElement("div");F.className="yui-layout-hd";if(this.get("firstChild")){this.get("wrap").insertBefore(F,this.get("wrap").firstChild);}else{this.get("wrap").appendChild(F);}this.header=F;return F;},destroy:function(H){if(this._resize){this._resize.destroy();}var G=this.get("parent");this.setStyle("display","none");if(this._clip){this._clip.parentNode.removeChild(this._clip);this._clip=null;}if(!H){G.removeUnit(this);}if(G){G.removeListener("resize",this.resize,this,true);}this.unsubscribeAll();A.purgeElement(this.get("element"));this.get("parentNode").removeChild(this.get("element"));delete YAHOO.widget.LayoutUnit._instances[this.get("id")];for(var F in this){if(E.hasOwnProperty(this,F)){this[F]=null;delete this[F];}}return G;},toString:function(){if(this.get){return"LayoutUnit #"+this.get("id")+" ("+this.get("position")+")";}return"LayoutUnit";}});YAHOO.widget.LayoutUnit=B;})();YAHOO.register("layout",YAHOO.widget.Layout,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/logger/logger-min.js b/js/yui/logger/logger-min.js new file mode 100644 index 0000000000000000000000000000000000000000..9a92c7530bf8fc22610aa2fe423706abda8e244c --- /dev/null +++ b/js/yui/logger/logger-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.widget.LogMsg=function(A){this.msg=this.time=this.category=this.source=this.sourceDetail=null;if(A&&(A.constructor==Object)){for(var B in A){if(A.hasOwnProperty(B)){this[B]=A[B];}}}};YAHOO.widget.LogWriter=function(A){if(!A){YAHOO.log("Could not instantiate LogWriter due to invalid source.","error","LogWriter");return;}this._source=A;};YAHOO.widget.LogWriter.prototype.toString=function(){return"LogWriter "+this._sSource;};YAHOO.widget.LogWriter.prototype.log=function(A,B){YAHOO.widget.Logger.log(A,B,this._source);};YAHOO.widget.LogWriter.prototype.getSource=function(){return this._source;};YAHOO.widget.LogWriter.prototype.setSource=function(A){if(!A){YAHOO.log("Could not set source due to invalid source.","error",this.toString());return;}else{this._source=A;}};YAHOO.widget.LogWriter.prototype._source=null;if(!YAHOO.widget.Logger){YAHOO.widget.Logger={loggerEnabled:true,_browserConsoleEnabled:false,categories:["info","warn","error","time","window"],sources:["global"],_stack:[],maxStackEntries:2500,_startTime:new Date().getTime(),_lastTime:null,_windowErrorsHandled:false,_origOnWindowError:null};YAHOO.widget.Logger.log=function(B,F,G){if(this.loggerEnabled){if(!F){F="info";}else{F=F.toLocaleLowerCase();if(this._isNewCategory(F)){this._createNewCategory(F);}}var C="global";var A=null;if(G){var D=G.indexOf(" ");if(D>0){C=G.substring(0,D);A=G.substring(D,G.length);}else{C=G;}if(this._isNewSource(C)){this._createNewSource(C);}}var H=new Date();var J=new YAHOO.widget.LogMsg({msg:B,time:H,category:F,source:C,sourceDetail:A});var I=this._stack;var E=this.maxStackEntries;if(E&&!isNaN(E)&&(I.length>=E)){I.shift();}I.push(J);this.newLogEvent.fire(J);if(this._browserConsoleEnabled){this._printToBrowserConsole(J);}return true;}else{return false;}};YAHOO.widget.Logger.reset=function(){this._stack=[];this._startTime=new Date().getTime();this.loggerEnabled=true;this.log("Logger reset");this.logResetEvent.fire();};YAHOO.widget.Logger.getStack=function(){return this._stack;};YAHOO.widget.Logger.getStartTime=function(){return this._startTime;};YAHOO.widget.Logger.disableBrowserConsole=function(){YAHOO.log("Logger output to the function console.log() has been disabled.");this._browserConsoleEnabled=false;};YAHOO.widget.Logger.enableBrowserConsole=function(){this._browserConsoleEnabled=true;YAHOO.log("Logger output to the function console.log() has been enabled.");};YAHOO.widget.Logger.handleWindowErrors=function(){if(!YAHOO.widget.Logger._windowErrorsHandled){if(window.error){YAHOO.widget.Logger._origOnWindowError=window.onerror;}window.onerror=YAHOO.widget.Logger._onWindowError;YAHOO.widget.Logger._windowErrorsHandled=true;YAHOO.log("Logger handling of window.onerror has been enabled.");}else{YAHOO.log("Logger handling of window.onerror had already been enabled.");}};YAHOO.widget.Logger.unhandleWindowErrors=function(){if(YAHOO.widget.Logger._windowErrorsHandled){if(YAHOO.widget.Logger._origOnWindowError){window.onerror=YAHOO.widget.Logger._origOnWindowError;YAHOO.widget.Logger._origOnWindowError=null;}else{window.onerror=null;}YAHOO.widget.Logger._windowErrorsHandled=false;YAHOO.log("Logger handling of window.onerror has been disabled.");}else{YAHOO.log("Logger handling of window.onerror had already been disabled.");}};YAHOO.widget.Logger.categoryCreateEvent=new YAHOO.util.CustomEvent("categoryCreate",this,true);YAHOO.widget.Logger.sourceCreateEvent=new YAHOO.util.CustomEvent("sourceCreate",this,true);YAHOO.widget.Logger.newLogEvent=new YAHOO.util.CustomEvent("newLog",this,true);YAHOO.widget.Logger.logResetEvent=new YAHOO.util.CustomEvent("logReset",this,true);YAHOO.widget.Logger._createNewCategory=function(A){this.categories.push(A);this.categoryCreateEvent.fire(A);};YAHOO.widget.Logger._isNewCategory=function(B){for(var A=0;A<this.categories.length;A++){if(B==this.categories[A]){return false;}}return true;};YAHOO.widget.Logger._createNewSource=function(A){this.sources.push(A);this.sourceCreateEvent.fire(A);};YAHOO.widget.Logger._isNewSource=function(A){if(A){for(var B=0;B<this.sources.length;B++){if(A==this.sources[B]){return false;}}return true;}};YAHOO.widget.Logger._printToBrowserConsole=function(C){if(window.console&&console.log){var E=C.category;var D=C.category.substring(0,4).toUpperCase();var G=C.time;var F;if(G.toLocaleTimeString){F=G.toLocaleTimeString();}else{F=G.toString();}var H=G.getTime();var B=(YAHOO.widget.Logger._lastTime)?(H-YAHOO.widget.Logger._lastTime):0;YAHOO.widget.Logger._lastTime=H;var A=F+" ("+B+"ms): "+C.source+": ";if(YAHOO.env.ua.webkit){A+=C.msg;}console.log(A,C.msg);}};YAHOO.widget.Logger._onWindowError=function(A,C,B){try{YAHOO.widget.Logger.log(A+" ("+C+", line "+B+")","window");if(YAHOO.widget.Logger._origOnWindowError){YAHOO.widget.Logger._origOnWindowError();}}catch(D){return false;}};YAHOO.widget.Logger.log("Logger initialized");}(function(){var C=YAHOO.widget.Logger,D=YAHOO.util,E=D.Dom,A=D.Event,G=document;function B(I,H){I=G.createElement(I);if(H){for(var J in H){if(H.hasOwnProperty(J)){I[J]=H[J];}}}return I;}function F(I,H){this._sName=F._index;F._index++;this._init.apply(this,arguments);if(this.autoRender!==false){this.render();}}YAHOO.lang.augmentObject(F,{_index:0,ENTRY_TEMPLATE:(function(){return B("pre",{className:"yui-log-entry"});})(),VERBOSE_TEMPLATE:"<p><span class='{category}'>{label}</span> {totalTime}ms (+{elapsedTime}) {localTime}:</p><p>{sourceAndDetail}</p><p>{message}</p>",BASIC_TEMPLATE:"<p><span class='{category}'>{label}</span> {totalTime}ms (+{elapsedTime}) {localTime}: {sourceAndDetail}: {message}</p>"});F.prototype={logReaderEnabled:true,width:null,height:null,top:null,left:null,right:null,bottom:null,fontSize:null,footerEnabled:true,verboseOutput:true,entryFormat:null,newestOnTop:true,outputBuffer:100,thresholdMax:500,thresholdMin:100,isCollapsed:false,isPaused:false,draggable:true,toString:function(){return"LogReader instance"+this._sName;},pause:function(){this.isPaused=true;this._timeout=null;this.logReaderEnabled=false;if(this._btnPause){this._btnPause.value="Resume"; +}},resume:function(){this.isPaused=false;this.logReaderEnabled=true;this._printBuffer();if(this._btnPause){this._btnPause.value="Pause";}},render:function(){if(this.rendered){return;}this._initContainerEl();this._initHeaderEl();this._initConsoleEl();this._initFooterEl();this._initCategories();this._initSources();this._initDragDrop();C.newLogEvent.subscribe(this._onNewLog,this);C.logResetEvent.subscribe(this._onReset,this);C.categoryCreateEvent.subscribe(this._onCategoryCreate,this);C.sourceCreateEvent.subscribe(this._onSourceCreate,this);this.rendered=true;this._filterLogs();},destroy:function(){A.purgeElement(this._elContainer,true);this._elContainer.innerHTML="";this._elContainer.parentNode.removeChild(this._elContainer);this.rendered=false;},hide:function(){this._elContainer.style.display="none";},show:function(){this._elContainer.style.display="block";},collapse:function(){this._elConsole.style.display="none";if(this._elFt){this._elFt.style.display="none";}this._btnCollapse.value="Expand";this.isCollapsed=true;},expand:function(){this._elConsole.style.display="block";if(this._elFt){this._elFt.style.display="block";}this._btnCollapse.value="Collapse";this.isCollapsed=false;},getCheckbox:function(H){return this._filterCheckboxes[H];},getCategories:function(){return this._categoryFilters;},showCategory:function(I){var K=this._categoryFilters;if(K.indexOf){if(K.indexOf(I)>-1){return;}}else{for(var H=0;H<K.length;H++){if(K[H]===I){return;}}}this._categoryFilters.push(I);this._filterLogs();var J=this.getCheckbox(I);if(J){J.checked=true;}},hideCategory:function(I){var K=this._categoryFilters;for(var H=0;H<K.length;H++){if(I==K[H]){K.splice(H,1);break;}}this._filterLogs();var J=this.getCheckbox(I);if(J){J.checked=false;}},getSources:function(){return this._sourceFilters;},showSource:function(H){var K=this._sourceFilters;if(K.indexOf){if(K.indexOf(H)>-1){return;}}else{for(var I=0;I<K.length;I++){if(H==K[I]){return;}}}K.push(H);this._filterLogs();var J=this.getCheckbox(H);if(J){J.checked=true;}},hideSource:function(H){var K=this._sourceFilters;for(var I=0;I<K.length;I++){if(H==K[I]){K.splice(I,1);break;}}this._filterLogs();var J=this.getCheckbox(H);if(J){J.checked=false;}},clearConsole:function(){this._timeout=null;this._buffer=[];this._consoleMsgCount=0;var H=this._elConsole;H.innerHTML="";},setTitle:function(H){this._title.innerHTML=this.html2Text(H);},getLastTime:function(){return this._lastTime;},formatMsg:function(I){var H=this.entryFormat||(this.verboseOutput?F.VERBOSE_TEMPLATE:F.BASIC_TEMPLATE),J={category:I.category,label:I.category.substring(0,4).toUpperCase(),sourceAndDetail:I.sourceDetail?I.source+" "+I.sourceDetail:I.source,message:this.html2Text(I.msg||I.message||"")};if(I.time&&I.time.getTime){J.localTime=I.time.toLocaleTimeString?I.time.toLocaleTimeString():I.time.toString();J.elapsedTime=I.time.getTime()-this.getLastTime();J.totalTime=I.time.getTime()-C.getStartTime();}var K=F.ENTRY_TEMPLATE.cloneNode(true);if(this.verboseOutput){K.className+=" yui-log-verbose";}K.innerHTML=H.replace(/\{(\w+)\}/g,function(L,M){return(M in J)?J[M]:"";});return K;},html2Text:function(H){if(H){H+="";return H.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");}return"";},_sName:null,_buffer:null,_consoleMsgCount:0,_lastTime:null,_timeout:null,_filterCheckboxes:null,_categoryFilters:null,_sourceFilters:null,_elContainer:null,_elHd:null,_elCollapse:null,_btnCollapse:null,_title:null,_elConsole:null,_elFt:null,_elBtns:null,_elCategoryFilters:null,_elSourceFilters:null,_btnPause:null,_btnClear:null,_init:function(H,I){this._buffer=[];this._filterCheckboxes={};this._lastTime=C.getStartTime();if(I&&(I.constructor==Object)){for(var J in I){if(I.hasOwnProperty(J)){this[J]=I[J];}}}this._elContainer=E.get(H);YAHOO.log("LogReader initialized",null,this.toString());},_initContainerEl:function(){if(!this._elContainer||!/div$/i.test(this._elContainer.tagName)){this._elContainer=G.body.insertBefore(B("div"),G.body.firstChild);E.addClass(this._elContainer,"yui-log-container");}E.addClass(this._elContainer,"yui-log");var J=this._elContainer.style,H=["width","right","top","fontSize"],K,I;for(I=H.length-1;I>=0;--I){K=H[I];if(this[K]){J[K]=this[K];}}if(this.left){J.left=this.left;J.right="auto";}if(this.bottom){J.bottom=this.bottom;J.top="auto";}if(YAHOO.env.ua.opera){G.body.style+="";}},_initHeaderEl:function(){if(this._elHd){A.purgeElement(this._elHd,true);this._elHd.innerHTML="";}this._elHd=B("div",{id:"yui-log-hd"+this._sName,className:"yui-log-hd"});this._elCollapse=B("div",{className:"yui-log-btns"});this._btnCollapse=B("input",{type:"button",className:"yui-log-button",value:"Collapse"});A.on(this._btnCollapse,"click",this._onClickCollapseBtn,this);this._title=B("h4",{innerHTML:"Logger Console"});this._elCollapse.appendChild(this._btnCollapse);this._elHd.appendChild(this._elCollapse);this._elHd.appendChild(this._title);this._elContainer.appendChild(this._elHd);},_initConsoleEl:function(){if(this._elConsole){A.purgeElement(this._elConsole,true);this._elConsole.innerHTML="";}this._elConsole=B("div",{className:"yui-log-bd"});if(this.height){this._elConsole.style.height=this.height;}this._elContainer.appendChild(this._elConsole);},_initFooterEl:function(){if(this.footerEnabled){if(this._elFt){A.purgeElement(this._elFt,true);this._elFt.innerHTML="";}this._elFt=B("div",{className:"yui-log-ft"});this._elBtns=B("div",{className:"yui-log-btns"});this._btnPause=B("input",{type:"button",className:"yui-log-button",value:"Pause"});A.on(this._btnPause,"click",this._onClickPauseBtn,this);this._btnClear=B("input",{type:"button",className:"yui-log-button",value:"Clear"});A.on(this._btnClear,"click",this._onClickClearBtn,this);this._elCategoryFilters=B("div",{className:"yui-log-categoryfilters"});this._elSourceFilters=B("div",{className:"yui-log-sourcefilters"});this._elBtns.appendChild(this._btnPause);this._elBtns.appendChild(this._btnClear);this._elFt.appendChild(this._elBtns);this._elFt.appendChild(this._elCategoryFilters); +this._elFt.appendChild(this._elSourceFilters);this._elContainer.appendChild(this._elFt);}},_initDragDrop:function(){if(D.DD&&this.draggable&&this._elHd){var H=new D.DD(this._elContainer);H.setHandleElId(this._elHd.id);this._elHd.style.cursor="move";}},_initCategories:function(){this._categoryFilters=[];var J=C.categories;for(var H=0;H<J.length;H++){var I=J[H];this._categoryFilters.push(I);if(this._elCategoryFilters){this._createCategoryCheckbox(I);}}},_initSources:function(){this._sourceFilters=[];var J=C.sources;for(var I=0;I<J.length;I++){var H=J[I];this._sourceFilters.push(H);if(this._elSourceFilters){this._createSourceCheckbox(H);}}},_createCategoryCheckbox:function(K){if(this._elFt){var J=B("span",{className:"yui-log-filtergrp"}),H=B("input",{id:"yui-log-filter-"+K+this._sName,className:"yui-log-filter-"+K,type:"checkbox",category:K}),I=B("label",{htmlFor:H.id,className:K,innerHTML:K});A.on(H,"click",this._onCheckCategory,this);this._filterCheckboxes[K]=H;J.appendChild(H);J.appendChild(I);this._elCategoryFilters.appendChild(J);H.checked=true;}},_createSourceCheckbox:function(H){if(this._elFt){var K=B("span",{className:"yui-log-filtergrp"}),I=B("input",{id:"yui-log-filter-"+H+this._sName,className:"yui-log-filter-"+H,type:"checkbox",source:H}),J=B("label",{htmlFor:I.id,className:H,innerHTML:H});A.on(I,"click",this._onCheckSource,this);this._filterCheckboxes[H]=I;K.appendChild(I);K.appendChild(J);this._elSourceFilters.appendChild(K);I.checked=true;}},_filterLogs:function(){if(this._elConsole!==null){this.clearConsole();this._printToConsole(C.getStack());}},_printBuffer:function(){this._timeout=null;if(this._elConsole!==null){var I=this.thresholdMax;I=(I&&!isNaN(I))?I:500;if(this._consoleMsgCount<I){var H=[];for(var J=0;J<this._buffer.length;J++){H[J]=this._buffer[J];}this._buffer=[];this._printToConsole(H);}else{this._filterLogs();}if(!this.newestOnTop){this._elConsole.scrollTop=this._elConsole.scrollHeight;}}},_printToConsole:function(P){var I=P.length,T=G.createDocumentFragment(),W=[],X=this.thresholdMin,J=this._sourceFilters.length,U=this._categoryFilters.length,R,O,N,M,S;if(isNaN(X)||(X>this.thresholdMax)){X=0;}R=(I>X)?(I-X):0;for(O=R;O<I;O++){var L=false,Q=false,V=P[O],H=V.source,K=V.category;for(N=0;N<J;N++){if(H==this._sourceFilters[N]){Q=true;break;}}if(Q){for(N=0;N<U;N++){if(K==this._categoryFilters[N]){L=true;break;}}}if(L){if(this._consoleMsgCount===0){this._lastTime=V.time.getTime();}M=this.formatMsg(V);if(typeof M==="string"){W[W.length]=M;}else{T.insertBefore(M,this.newestOnTop?T.firstChild||null:null);}this._consoleMsgCount++;this._lastTime=V.time.getTime();}}if(W.length){W.splice(0,0,this._elConsole.innerHTML);this._elConsole.innerHTML=this.newestOnTop?W.reverse().join(""):W.join("");}else{if(T.firstChild){this._elConsole.insertBefore(T,this.newestOnTop?this._elConsole.firstChild||null:null);}}},_onCategoryCreate:function(K,J,H){var I=J[0];H._categoryFilters.push(I);if(H._elFt){H._createCategoryCheckbox(I);}},_onSourceCreate:function(K,J,H){var I=J[0];H._sourceFilters.push(I);if(H._elFt){H._createSourceCheckbox(I);}},_onCheckCategory:function(H,I){var J=this.category;if(!this.checked){I.hideCategory(J);}else{I.showCategory(J);}},_onCheckSource:function(H,I){var J=this.source;if(!this.checked){I.hideSource(J);}else{I.showSource(J);}},_onClickCollapseBtn:function(H,I){if(!I.isCollapsed){I.collapse();}else{I.expand();}},_onClickPauseBtn:function(H,I){if(!I.isPaused){I.pause();}else{I.resume();}},_onClickClearBtn:function(H,I){I.clearConsole();},_onNewLog:function(K,J,H){var I=J[0];H._buffer.push(I);if(H.logReaderEnabled===true&&H._timeout===null){H._timeout=setTimeout(function(){H._printBuffer();},H.outputBuffer);}},_onReset:function(J,I,H){H._filterLogs();}};YAHOO.widget.LogReader=F;})();YAHOO.register("logger",YAHOO.widget.Logger,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/menu/menu-min.js b/js/yui/menu/menu-min.js new file mode 100644 index 0000000000000000000000000000000000000000..4677ecf9eaf66a775cce8710c2ff65f58be9eba0 --- /dev/null +++ b/js/yui/menu/menu-min.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var K=YAHOO.env.ua,C=YAHOO.util.Dom,Z=YAHOO.util.Event,H=YAHOO.lang,T="DIV",P="hd",M="bd",O="ft",X="LI",A="disabled",D="mouseover",F="mouseout",U="mousedown",G="mouseup",V="click",B="keydown",N="keyup",I="keypress",L="clicktohide",S="position",Q="dynamic",Y="showdelay",J="selected",E="visible",W="UL",R="MenuManager";YAHOO.widget.MenuManager=function(){var l=false,d={},o={},h={},c={"click":"clickEvent","mousedown":"mouseDownEvent","mouseup":"mouseUpEvent","mouseover":"mouseOverEvent","mouseout":"mouseOutEvent","keydown":"keyDownEvent","keyup":"keyUpEvent","keypress":"keyPressEvent","focus":"focusEvent","focusin":"focusEvent","blur":"blurEvent","focusout":"blurEvent"},i=null;function b(r){var p,q;if(r&&r.tagName){switch(r.tagName.toUpperCase()){case T:p=r.parentNode;if((C.hasClass(r,P)||C.hasClass(r,M)||C.hasClass(r,O))&&p&&p.tagName&&p.tagName.toUpperCase()==T){q=p;}else{q=r;}break;case X:q=r;break;default:p=r.parentNode;if(p){q=b(p);}break;}}return q;}function e(t){var p=Z.getTarget(t),q=b(p),u=true,w=t.type,x,r,s,z,y;if(q){r=q.tagName.toUpperCase();if(r==X){s=q.id;if(s&&h[s]){z=h[s];y=z.parent;}}else{if(r==T){if(q.id){y=d[q.id];}}}}if(y){x=c[w];if(w=="click"&&(K.gecko&&y.platform!="mac")&&t.button>0){u=false;}if(u&&z&&!z.cfg.getProperty(A)){z[x].fire(t);}if(u){y[x].fire(t,z);}}else{if(w==U){for(var v in o){if(H.hasOwnProperty(o,v)){y=o[v];if(y.cfg.getProperty(L)&&!(y instanceof YAHOO.widget.MenuBar)&&y.cfg.getProperty(S)==Q){y.hide();if(K.ie&&p.focus){p.setActive();}}else{if(y.cfg.getProperty(Y)>0){y._cancelShowDelay();}if(y.activeItem){y.activeItem.blur();y.activeItem.cfg.setProperty(J,false);y.activeItem=null;}}}}}}}function n(q,p,r){if(d[r.id]){this.removeMenu(r);}}function k(q,p){var r=p[1];if(r){i=r;}}function f(q,p){i=null;}function a(r,q){var p=q[0],s=this.id;if(p){o[s]=this;}else{if(o[s]){delete o[s];}}}function j(q,p){m(this);}function m(q){var p=q.id;if(p&&h[p]){if(i==q){i=null;}delete h[p];q.destroyEvent.unsubscribe(j);}}function g(q,p){var s=p[0],r;if(s instanceof YAHOO.widget.MenuItem){r=s.id;if(!h[r]){h[r]=s;s.destroyEvent.subscribe(j);}}}return{addMenu:function(q){var p;if(q instanceof YAHOO.widget.Menu&&q.id&&!d[q.id]){d[q.id]=q;if(!l){p=document;Z.on(p,D,e,this,true);Z.on(p,F,e,this,true);Z.on(p,U,e,this,true);Z.on(p,G,e,this,true);Z.on(p,V,e,this,true);Z.on(p,B,e,this,true);Z.on(p,N,e,this,true);Z.on(p,I,e,this,true);Z.onFocus(p,e,this,true);Z.onBlur(p,e,this,true);l=true;}q.cfg.subscribeToConfigEvent(E,a);q.destroyEvent.subscribe(n,q,this);q.itemAddedEvent.subscribe(g);q.focusEvent.subscribe(k);q.blurEvent.subscribe(f);}},removeMenu:function(s){var q,p,r;if(s){q=s.id;if((q in d)&&(d[q]==s)){p=s.getItems();if(p&&p.length>0){r=p.length-1;do{m(p[r]);}while(r--);}delete d[q];if((q in o)&&(o[q]==s)){delete o[q];}if(s.cfg){s.cfg.unsubscribeFromConfigEvent(E,a);}s.destroyEvent.unsubscribe(n,s);s.itemAddedEvent.unsubscribe(g);s.focusEvent.unsubscribe(k);s.blurEvent.unsubscribe(f);}}},hideVisible:function(){var p;for(var q in o){if(H.hasOwnProperty(o,q)){p=o[q];if(!(p instanceof YAHOO.widget.MenuBar)&&p.cfg.getProperty(S)==Q){p.hide();}}}},getVisible:function(){return o;},getMenus:function(){return d;},getMenu:function(q){var p;if(q in d){p=d[q];}return p;},getMenuItem:function(q){var p;if(q in h){p=h[q];}return p;},getMenuItemGroup:function(t){var q=C.get(t),p,v,u,r,s;if(q&&q.tagName&&q.tagName.toUpperCase()==W){v=q.firstChild;if(v){p=[];do{r=v.id;if(r){u=this.getMenuItem(r);if(u){p[p.length]=u;}}}while((v=v.nextSibling));if(p.length>0){s=p;}}}return s;},getFocusedMenuItem:function(){return i;},getFocusedMenu:function(){var p;if(i){p=i.parent.getRoot();}return p;},toString:function(){return R;}};}();})();(function(){var AM=YAHOO.lang,Aq="Menu",G="DIV",K="div",Am="id",AH="SELECT",e="xy",R="y",Ax="UL",L="ul",AJ="first-of-type",k="LI",h="OPTGROUP",Az="OPTION",Ah="disabled",AY="none",y="selected",At="groupindex",i="index",O="submenu",Au="visible",AX="hidedelay",Ac="position",AD="dynamic",C="static",An=AD+","+C,Q="url",M="#",V="target",AU="maxheight",T="topscrollbar",x="bottomscrollbar",d="_",P=T+d+Ah,E=x+d+Ah,b="mousemove",Av="showdelay",c="submenuhidedelay",AF="iframe",w="constraintoviewport",A4="preventcontextoverlap",AO="submenualignment",Z="autosubmenudisplay",AC="clicktohide",g="container",j="scrollincrement",Aj="minscrollheight",A2="classname",Ag="shadow",Ar="keepopen",A0="hd",D="hastitle",p="context",u="",Ak="mousedown",Ae="keydown",Ao="height",U="width",AQ="px",Ay="effect",AE="monitorresize",AW="display",AV="block",J="visibility",z="absolute",AS="zindex",l="yui-menu-body-scrolled",AK=" ",A1=" ",Ai="mouseover",H="mouseout",AR="itemAdded",n="itemRemoved",AL="hidden",s="yui-menu-shadow",AG=s+"-visible",m=s+A1+AG;YAHOO.widget.Menu=function(A6,A5){if(A5){this.parent=A5.parent;this.lazyLoad=A5.lazyLoad||A5.lazyload;this.itemData=A5.itemData||A5.itemdata;}YAHOO.widget.Menu.superclass.constructor.call(this,A6,A5);};function B(A6){var A5=false;if(AM.isString(A6)){A5=(An.indexOf((A6.toLowerCase()))!=-1);}return A5;}var f=YAHOO.util.Dom,AA=YAHOO.util.Event,Aw=YAHOO.widget.Module,AB=YAHOO.widget.Overlay,r=YAHOO.widget.Menu,A3=YAHOO.widget.MenuManager,F=YAHOO.util.CustomEvent,As=YAHOO.env.ua,Ap,AT=false,Ad,Ab=[["mouseOverEvent",Ai],["mouseOutEvent",H],["mouseDownEvent",Ak],["mouseUpEvent","mouseup"],["clickEvent","click"],["keyPressEvent","keypress"],["keyDownEvent",Ae],["keyUpEvent","keyup"],["focusEvent","focus"],["blurEvent","blur"],["itemAddedEvent",AR],["itemRemovedEvent",n]],AZ={key:Au,value:false,validator:AM.isBoolean},AP={key:w,value:true,validator:AM.isBoolean,supercedes:[AF,"x",R,e]},AI={key:A4,value:true,validator:AM.isBoolean,supercedes:[w]},S={key:Ac,value:AD,validator:B,supercedes:[Au,AF]},A={key:AO,value:["tl","tr"]},t={key:Z,value:true,validator:AM.isBoolean,suppressEvent:true},Y={key:Av,value:250,validator:AM.isNumber,suppressEvent:true},q={key:AX,value:0,validator:AM.isNumber,suppressEvent:true},v={key:c,value:250,validator:AM.isNumber,suppressEvent:true},o={key:AC,value:true,validator:AM.isBoolean,suppressEvent:true},AN={key:g,suppressEvent:true},Af={key:j,value:1,validator:AM.isNumber,supercedes:[AU],suppressEvent:true},N={key:Aj,value:90,validator:AM.isNumber,supercedes:[AU],suppressEvent:true},X={key:AU,value:0,validator:AM.isNumber,supercedes:[AF],suppressEvent:true},W={key:A2,value:null,validator:AM.isString,suppressEvent:true},a={key:Ah,value:false,validator:AM.isBoolean,suppressEvent:true},I={key:Ag,value:true,validator:AM.isBoolean,suppressEvent:true,supercedes:[Au]},Al={key:Ar,value:false,validator:AM.isBoolean}; +function Aa(A5){Ad=AA.getTarget(A5);}YAHOO.lang.extend(r,AB,{CSS_CLASS_NAME:"yuimenu",ITEM_TYPE:null,GROUP_TITLE_TAG_NAME:"h6",OFF_SCREEN_POSITION:"-999em",_useHideDelay:false,_bHandledMouseOverEvent:false,_bHandledMouseOutEvent:false,_aGroupTitleElements:null,_aItemGroups:null,_aListElements:null,_nCurrentMouseX:0,_bStopMouseEventHandlers:false,_sClassName:null,lazyLoad:false,itemData:null,activeItem:null,parent:null,srcElement:null,init:function(A7,A6){this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuItem;}var A5;if(AM.isString(A7)){A5=f.get(A7);}else{if(A7.tagName){A5=A7;}}if(A5&&A5.tagName){switch(A5.tagName.toUpperCase()){case G:this.srcElement=A5;if(!A5.id){A5.setAttribute(Am,f.generateId());}r.superclass.init.call(this,A5);this.beforeInitEvent.fire(r);break;case AH:this.srcElement=A5;r.superclass.init.call(this,f.generateId());this.beforeInitEvent.fire(r);break;}}else{r.superclass.init.call(this,A7);this.beforeInitEvent.fire(r);}if(this.element){f.addClass(this.element,this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit);this.beforeRenderEvent.subscribe(this._onBeforeRender);this.renderEvent.subscribe(this._onRender);this.beforeShowEvent.subscribe(this._onBeforeShow);this.hideEvent.subscribe(this._onHide);this.showEvent.subscribe(this._onShow);this.beforeHideEvent.subscribe(this._onBeforeHide);this.mouseOverEvent.subscribe(this._onMouseOver);this.mouseOutEvent.subscribe(this._onMouseOut);this.clickEvent.subscribe(this._onClick);this.keyDownEvent.subscribe(this._onKeyDown);this.keyPressEvent.subscribe(this._onKeyPress);this.blurEvent.subscribe(this._onBlur);if(!AT){AA.onFocus(document,Aa);AT=true;}if((As.gecko&&As.gecko<1.9)||As.webkit){this.cfg.subscribeToConfigEvent(R,this._onYChange);}if(A6){this.cfg.applyConfig(A6,true);}A3.addMenu(this);this.initEvent.fire(r);}},_initSubTree:function(){var A6=this.srcElement,A5,A8,BB,BC,BA,A9,A7;if(A6){A5=(A6.tagName&&A6.tagName.toUpperCase());if(A5==G){BC=this.body.firstChild;if(BC){A8=0;BB=this.GROUP_TITLE_TAG_NAME.toUpperCase();do{if(BC&&BC.tagName){switch(BC.tagName.toUpperCase()){case BB:this._aGroupTitleElements[A8]=BC;break;case Ax:this._aListElements[A8]=BC;this._aItemGroups[A8]=[];A8++;break;}}}while((BC=BC.nextSibling));if(this._aListElements[0]){f.addClass(this._aListElements[0],AJ);}}}BC=null;if(A5){switch(A5){case G:BA=this._aListElements;A9=BA.length;if(A9>0){A7=A9-1;do{BC=BA[A7].firstChild;if(BC){do{if(BC&&BC.tagName&&BC.tagName.toUpperCase()==k){this.addItem(new this.ITEM_TYPE(BC,{parent:this}),A7);}}while((BC=BC.nextSibling));}}while(A7--);}break;case AH:BC=A6.firstChild;do{if(BC&&BC.tagName){switch(BC.tagName.toUpperCase()){case h:case Az:this.addItem(new this.ITEM_TYPE(BC,{parent:this}));break;}}}while((BC=BC.nextSibling));break;}}}},_getFirstEnabledItem:function(){var A5=this.getItems(),A9=A5.length,A8,A7;for(var A6=0;A6<A9;A6++){A8=A5[A6];if(A8&&!A8.cfg.getProperty(Ah)&&A8.element.style.display!=AY){A7=A8;break;}}return A7;},_addItemToGroup:function(BA,BB,BF){var BD,BG,A8,BE,A9,A6,A7,BC;function A5(BH,BI){return(BH[BI]||A5(BH,(BI+1)));}if(BB instanceof this.ITEM_TYPE){BD=BB;BD.parent=this;}else{if(AM.isString(BB)){BD=new this.ITEM_TYPE(BB,{parent:this});}else{if(AM.isObject(BB)){BB.parent=this;BD=new this.ITEM_TYPE(BB.text,BB);}}}if(BD){if(BD.cfg.getProperty(y)){this.activeItem=BD;}BG=AM.isNumber(BA)?BA:0;A8=this._getItemGroup(BG);if(!A8){A8=this._createItemGroup(BG);}if(AM.isNumber(BF)){A9=(BF>=A8.length);if(A8[BF]){A8.splice(BF,0,BD);}else{A8[BF]=BD;}BE=A8[BF];if(BE){if(A9&&(!BE.element.parentNode||BE.element.parentNode.nodeType==11)){this._aListElements[BG].appendChild(BE.element);}else{A6=A5(A8,(BF+1));if(A6&&(!BE.element.parentNode||BE.element.parentNode.nodeType==11)){this._aListElements[BG].insertBefore(BE.element,A6.element);}}BE.parent=this;this._subscribeToItemEvents(BE);this._configureSubmenu(BE);this._updateItemProperties(BG);this.itemAddedEvent.fire(BE);this.changeContentEvent.fire();BC=BE;}}else{A7=A8.length;A8[A7]=BD;BE=A8[A7];if(BE){if(!f.isAncestor(this._aListElements[BG],BE.element)){this._aListElements[BG].appendChild(BE.element);}BE.element.setAttribute(At,BG);BE.element.setAttribute(i,A7);BE.parent=this;BE.index=A7;BE.groupIndex=BG;this._subscribeToItemEvents(BE);this._configureSubmenu(BE);if(A7===0){f.addClass(BE.element,AJ);}this.itemAddedEvent.fire(BE);this.changeContentEvent.fire();BC=BE;}}}return BC;},_removeItemFromGroupByIndex:function(A8,A6){var A7=AM.isNumber(A8)?A8:0,A9=this._getItemGroup(A7),BB,BA,A5;if(A9){BB=A9.splice(A6,1);BA=BB[0];if(BA){this._updateItemProperties(A7);if(A9.length===0){A5=this._aListElements[A7];if(this.body&&A5){this.body.removeChild(A5);}this._aItemGroups.splice(A7,1);this._aListElements.splice(A7,1);A5=this._aListElements[0];if(A5){f.addClass(A5,AJ);}}this.itemRemovedEvent.fire(BA);this.changeContentEvent.fire();}}return BA;},_removeItemFromGroupByValue:function(A8,A5){var BA=this._getItemGroup(A8),BB,A9,A7,A6;if(BA){BB=BA.length;A9=-1;if(BB>0){A6=BB-1;do{if(BA[A6]==A5){A9=A6;break;}}while(A6--);if(A9>-1){A7=this._removeItemFromGroupByIndex(A8,A9);}}}return A7;},_updateItemProperties:function(A6){var A7=this._getItemGroup(A6),BA=A7.length,A9,A8,A5;if(BA>0){A5=BA-1;do{A9=A7[A5];if(A9){A8=A9.element;A9.index=A5;A9.groupIndex=A6;A8.setAttribute(At,A6);A8.setAttribute(i,A5);f.removeClass(A8,AJ);}}while(A5--);if(A8){f.addClass(A8,AJ);}}},_createItemGroup:function(A7){var A5,A6;if(!this._aItemGroups[A7]){this._aItemGroups[A7]=[];A5=document.createElement(L);this._aListElements[A7]=A5;A6=this._aItemGroups[A7];}return A6;},_getItemGroup:function(A7){var A5=AM.isNumber(A7)?A7:0,A8=this._aItemGroups,A6;if(A5 in A8){A6=A8[A5];}return A6;},_configureSubmenu:function(A5){var A6=A5.cfg.getProperty(O);if(A6){this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,A6,true);this.renderEvent.subscribe(this._onParentMenuRender,A6,true);}},_subscribeToItemEvents:function(A5){A5.destroyEvent.subscribe(this._onMenuItemDestroy,A5,this); +A5.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,A5,this);},_onVisibleChange:function(A7,A6){var A5=A6[0];if(A5){f.addClass(this.element,Au);}else{f.removeClass(this.element,Au);}},_cancelHideDelay:function(){var A5=this.getRoot()._hideDelayTimer;if(A5){A5.cancel();}},_execHideDelay:function(){this._cancelHideDelay();var A5=this.getRoot();A5._hideDelayTimer=AM.later(A5.cfg.getProperty(AX),this,function(){if(A5.activeItem){if(A5.hasFocus()){A5.activeItem.focus();}A5.clearActiveItem();}if(A5==this&&!(this instanceof YAHOO.widget.MenuBar)&&this.cfg.getProperty(Ac)==AD){this.hide();}});},_cancelShowDelay:function(){var A5=this.getRoot()._showDelayTimer;if(A5){A5.cancel();}},_execSubmenuHideDelay:function(A7,A6,A5){A7._submenuHideDelayTimer=AM.later(50,this,function(){if(this._nCurrentMouseX>(A6+10)){A7._submenuHideDelayTimer=AM.later(A5,A7,function(){this.hide();});}else{A7.hide();}});},_disableScrollHeader:function(){if(!this._bHeaderDisabled){f.addClass(this.header,P);this._bHeaderDisabled=true;}},_disableScrollFooter:function(){if(!this._bFooterDisabled){f.addClass(this.footer,E);this._bFooterDisabled=true;}},_enableScrollHeader:function(){if(this._bHeaderDisabled){f.removeClass(this.header,P);this._bHeaderDisabled=false;}},_enableScrollFooter:function(){if(this._bFooterDisabled){f.removeClass(this.footer,E);this._bFooterDisabled=false;}},_onMouseOver:function(BH,BA){var BI=BA[0],BE=BA[1],A5=AA.getTarget(BI),A9=this.getRoot(),BG=this._submenuHideDelayTimer,A6,A8,BD,A7,BC,BB;var BF=function(){if(this.parent.cfg.getProperty(y)){this.show();}};if(!this._bStopMouseEventHandlers){if(!this._bHandledMouseOverEvent&&(A5==this.element||f.isAncestor(this.element,A5))){if(this._useHideDelay){this._cancelHideDelay();}this._nCurrentMouseX=0;AA.on(this.element,b,this._onMouseMove,this,true);if(!(BE&&f.isAncestor(BE.element,AA.getRelatedTarget(BI)))){this.clearActiveItem();}if(this.parent&&BG){BG.cancel();this.parent.cfg.setProperty(y,true);A6=this.parent.parent;A6._bHandledMouseOutEvent=true;A6._bHandledMouseOverEvent=false;}this._bHandledMouseOverEvent=true;this._bHandledMouseOutEvent=false;}if(BE&&!BE.handledMouseOverEvent&&!BE.cfg.getProperty(Ah)&&(A5==BE.element||f.isAncestor(BE.element,A5))){A8=this.cfg.getProperty(Av);BD=(A8>0);if(BD){this._cancelShowDelay();}A7=this.activeItem;if(A7){A7.cfg.setProperty(y,false);}BC=BE.cfg;BC.setProperty(y,true);if(this.hasFocus()||A9._hasFocus){BE.focus();A9._hasFocus=false;}if(this.cfg.getProperty(Z)){BB=BC.getProperty(O);if(BB){if(BD){A9._showDelayTimer=AM.later(A9.cfg.getProperty(Av),BB,BF);}else{BB.show();}}}BE.handledMouseOverEvent=true;BE.handledMouseOutEvent=false;}}},_onMouseOut:function(BD,A7){var BE=A7[0],BB=A7[1],A8=AA.getRelatedTarget(BE),BC=false,BA,A9,A5,A6;if(!this._bStopMouseEventHandlers){if(BB&&!BB.cfg.getProperty(Ah)){BA=BB.cfg;A9=BA.getProperty(O);if(A9&&(A8==A9.element||f.isAncestor(A9.element,A8))){BC=true;}if(!BB.handledMouseOutEvent&&((A8!=BB.element&&!f.isAncestor(BB.element,A8))||BC)){if(!BC){BB.cfg.setProperty(y,false);if(A9){A5=this.cfg.getProperty(c);A6=this.cfg.getProperty(Av);if(!(this instanceof YAHOO.widget.MenuBar)&&A5>0&&A6>=A5){this._execSubmenuHideDelay(A9,AA.getPageX(BE),A5);}else{A9.hide();}}}BB.handledMouseOutEvent=true;BB.handledMouseOverEvent=false;}}if(!this._bHandledMouseOutEvent&&((A8!=this.element&&!f.isAncestor(this.element,A8))||BC)){if(this._useHideDelay){this._execHideDelay();}AA.removeListener(this.element,b,this._onMouseMove);this._nCurrentMouseX=AA.getPageX(BE);this._bHandledMouseOutEvent=true;this._bHandledMouseOverEvent=false;}}},_onMouseMove:function(A6,A5){if(!this._bStopMouseEventHandlers){this._nCurrentMouseX=AA.getPageX(A6);}},_onClick:function(BG,A7){var BH=A7[0],BB=A7[1],BD=false,A9,BE,A6,A5,BA,BC,BF;var A8=function(){A6=this.getRoot();if(A6 instanceof YAHOO.widget.MenuBar||A6.cfg.getProperty(Ac)==C){A6.clearActiveItem();}else{A6.hide();}};if(BB){if(BB.cfg.getProperty(Ah)){AA.preventDefault(BH);A8.call(this);}else{A9=BB.cfg.getProperty(O);BA=BB.cfg.getProperty(Q);if(BA){BC=BA.indexOf(M);BF=BA.length;if(BC!=-1){BA=BA.substr(BC,BF);BF=BA.length;if(BF>1){A5=BA.substr(1,BF);BE=YAHOO.widget.MenuManager.getMenu(A5);if(BE){BD=(this.getRoot()===BE.getRoot());}}else{if(BF===1){BD=true;}}}}if(BD&&!BB.cfg.getProperty(V)){AA.preventDefault(BH);if(As.webkit){BB.focus();}else{BB.focusEvent.fire();}}if(!A9&&!this.cfg.getProperty(Ar)){A8.call(this);}}}},_onKeyDown:function(BK,BE){var BH=BE[0],BG=BE[1],BD,BI,A6,BA,BL,A5,BO,A9,BJ,A8,BF,BN,BB,BC;if(this._useHideDelay){this._cancelHideDelay();}function A7(){this._bStopMouseEventHandlers=true;AM.later(10,this,function(){this._bStopMouseEventHandlers=false;});}if(BG&&!BG.cfg.getProperty(Ah)){BI=BG.cfg;A6=this.parent;switch(BH.keyCode){case 38:case 40:BL=(BH.keyCode==38)?BG.getPreviousEnabledSibling():BG.getNextEnabledSibling();if(BL){this.clearActiveItem();BL.cfg.setProperty(y,true);BL.focus();if(this.cfg.getProperty(AU)>0){A5=this.body;BO=A5.scrollTop;A9=A5.offsetHeight;BJ=this.getItems();A8=BJ.length-1;BF=BL.element.offsetTop;if(BH.keyCode==40){if(BF>=(A9+BO)){A5.scrollTop=BF-A9;}else{if(BF<=BO){A5.scrollTop=0;}}if(BL==BJ[A8]){A5.scrollTop=BL.element.offsetTop;}}else{if(BF<=BO){A5.scrollTop=BF-BL.element.offsetHeight;}else{if(BF>=(BO+A9)){A5.scrollTop=BF;}}if(BL==BJ[0]){A5.scrollTop=0;}}BO=A5.scrollTop;BN=A5.scrollHeight-A5.offsetHeight;if(BO===0){this._disableScrollHeader();this._enableScrollFooter();}else{if(BO==BN){this._enableScrollHeader();this._disableScrollFooter();}else{this._enableScrollHeader();this._enableScrollFooter();}}}}AA.preventDefault(BH);A7();break;case 39:BD=BI.getProperty(O);if(BD){if(!BI.getProperty(y)){BI.setProperty(y,true);}BD.show();BD.setInitialFocus();BD.setInitialSelection();}else{BA=this.getRoot();if(BA instanceof YAHOO.widget.MenuBar){BL=BA.activeItem.getNextEnabledSibling();if(BL){BA.clearActiveItem();BL.cfg.setProperty(y,true);BD=BL.cfg.getProperty(O);if(BD){BD.show();BD.setInitialFocus();}else{BL.focus();}}}}AA.preventDefault(BH); +A7();break;case 37:if(A6){BB=A6.parent;if(BB instanceof YAHOO.widget.MenuBar){BL=BB.activeItem.getPreviousEnabledSibling();if(BL){BB.clearActiveItem();BL.cfg.setProperty(y,true);BD=BL.cfg.getProperty(O);if(BD){BD.show();BD.setInitialFocus();}else{BL.focus();}}}else{this.hide();A6.focus();}}AA.preventDefault(BH);A7();break;}}if(BH.keyCode==27){if(this.cfg.getProperty(Ac)==AD){this.hide();if(this.parent){this.parent.focus();}else{BC=this._focusedElement;if(BC&&BC.focus){try{BC.focus();}catch(BM){}}}}else{if(this.activeItem){BD=this.activeItem.cfg.getProperty(O);if(BD&&BD.cfg.getProperty(Au)){BD.hide();this.activeItem.focus();}else{this.activeItem.blur();this.activeItem.cfg.setProperty(y,false);}}}AA.preventDefault(BH);}},_onKeyPress:function(A7,A6){var A5=A6[0];if(A5.keyCode==40||A5.keyCode==38){AA.preventDefault(A5);}},_onBlur:function(A6,A5){if(this._hasFocus){this._hasFocus=false;}},_onYChange:function(A6,A5){var A8=this.parent,BA,A7,A9;if(A8){BA=A8.parent.body.scrollTop;if(BA>0){A9=(this.cfg.getProperty(R)-BA);f.setY(this.element,A9);A7=this.iframe;if(A7){f.setY(A7,A9);}this.cfg.setProperty(R,A9,true);}}},_onScrollTargetMouseOver:function(BB,BE){var BD=this._bodyScrollTimer;if(BD){BD.cancel();}this._cancelHideDelay();var A7=AA.getTarget(BB),A9=this.body,A8=this.cfg.getProperty(j),A5,A6;function BC(){var BF=A9.scrollTop;if(BF<A5){A9.scrollTop=(BF+A8);this._enableScrollHeader();}else{A9.scrollTop=A5;this._bodyScrollTimer.cancel();this._disableScrollFooter();}}function BA(){var BF=A9.scrollTop;if(BF>0){A9.scrollTop=(BF-A8);this._enableScrollFooter();}else{A9.scrollTop=0;this._bodyScrollTimer.cancel();this._disableScrollHeader();}}if(f.hasClass(A7,A0)){A6=BA;}else{A5=A9.scrollHeight-A9.offsetHeight;A6=BC;}this._bodyScrollTimer=AM.later(10,this,A6,null,true);},_onScrollTargetMouseOut:function(A7,A5){var A6=this._bodyScrollTimer;if(A6){A6.cancel();}this._cancelHideDelay();},_onInit:function(A6,A5){this.cfg.subscribeToConfigEvent(Au,this._onVisibleChange);var A7=!this.parent,A8=this.lazyLoad;if(((A7&&!A8)||(A7&&(this.cfg.getProperty(Au)||this.cfg.getProperty(Ac)==C))||(!A7&&!A8))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){this.addItems(this.itemData);}}else{if(A8){this.cfg.fireQueue();}}},_onBeforeRender:function(A8,A7){var A9=this.element,BC=this._aListElements.length,A6=true,BB=0,A5,BA;if(BC>0){do{A5=this._aListElements[BB];if(A5){if(A6){f.addClass(A5,AJ);A6=false;}if(!f.isAncestor(A9,A5)){this.appendToBody(A5);}BA=this._aGroupTitleElements[BB];if(BA){if(!f.isAncestor(A9,BA)){A5.parentNode.insertBefore(BA,A5);}f.addClass(A5,D);}}BB++;}while(BB<BC);}},_onRender:function(A6,A5){if(this.cfg.getProperty(Ac)==AD){if(!this.cfg.getProperty(Au)){this.positionOffScreen();}}},_onBeforeShow:function(A7,A6){var A9,BC,A8,BA=this.cfg.getProperty(g);if(this.lazyLoad&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){if(this.parent&&this.parent.parent&&this.parent.parent.srcElement&&this.parent.parent.srcElement.tagName.toUpperCase()==AH){A9=this.itemData.length;for(BC=0;BC<A9;BC++){if(this.itemData[BC].tagName){this.addItem((new this.ITEM_TYPE(this.itemData[BC])));}}}else{this.addItems(this.itemData);}}A8=this.srcElement;if(A8){if(A8.tagName.toUpperCase()==AH){if(f.inDocument(A8)){this.render(A8.parentNode);}else{this.render(BA);}}else{this.render();}}else{if(this.parent){this.render(this.parent.element);}else{this.render(BA);}}}var BB=this.parent,A5;if(!BB&&this.cfg.getProperty(Ac)==AD){this.cfg.refireEvent(e);}if(BB){A5=BB.parent.cfg.getProperty(AO);this.cfg.setProperty(p,[BB.element,A5[0],A5[1]]);this.align();}},getConstrainedY:function(BH){var BS=this,BO=BS.cfg.getProperty(p),BV=BS.cfg.getProperty(AU),BR,BG={"trbr":true,"tlbl":true,"bltl":true,"brtr":true},BA=(BO&&BG[BO[1]+BO[2]]),BC=BS.element,BW=BC.offsetHeight,BQ=AB.VIEWPORT_OFFSET,BL=f.getViewportHeight(),BP=f.getDocumentScrollTop(),BM=(BS.cfg.getProperty(Aj)+BQ<BL),BU,BD,BJ,BK,BF=false,BE,A7,BI=BP+BQ,A9=BP+BL-BW-BQ,A5=BH;var BB=function(){var BX;if((BS.cfg.getProperty(R)-BP)>BJ){BX=(BJ-BW);}else{BX=(BJ+BK);}BS.cfg.setProperty(R,(BX+BP),true);return BX;};var A8=function(){if((BS.cfg.getProperty(R)-BP)>BJ){return(A7-BQ);}else{return(BE-BQ);}};var BN=function(){var BX;if((BS.cfg.getProperty(R)-BP)>BJ){BX=(BJ+BK);}else{BX=(BJ-BC.offsetHeight);}BS.cfg.setProperty(R,(BX+BP),true);};var A6=function(){BS._setScrollHeight(this.cfg.getProperty(AU));BS.hideEvent.unsubscribe(A6);};var BT=function(){var Ba=A8(),BX=(BS.getItems().length>0),BZ,BY;if(BW>Ba){BZ=BX?BS.cfg.getProperty(Aj):BW;if((Ba>BZ)&&BX){BR=Ba;}else{BR=BV;}BS._setScrollHeight(BR);BS.hideEvent.subscribe(A6);BN();if(Ba<BZ){if(BF){BB();}else{BB();BF=true;BY=BT();}}}else{if(BR&&(BR!==BV)){BS._setScrollHeight(BV);BS.hideEvent.subscribe(A6);BN();}}return BY;};if(BH<BI||BH>A9){if(BM){if(BS.cfg.getProperty(A4)&&BA){BD=BO[0];BK=BD.offsetHeight;BJ=(f.getY(BD)-BP);BE=BJ;A7=(BL-(BJ+BK));BT();A5=BS.cfg.getProperty(R);}else{if(!(BS instanceof YAHOO.widget.MenuBar)&&BW>=BL){BU=(BL-(BQ*2));if(BU>BS.cfg.getProperty(Aj)){BS._setScrollHeight(BU);BS.hideEvent.subscribe(A6);BN();A5=BS.cfg.getProperty(R);}}else{if(BH<BI){A5=BI;}else{if(BH>A9){A5=A9;}}}}}else{A5=BQ+BP;}}return A5;},_onHide:function(A6,A5){if(this.cfg.getProperty(Ac)===AD){this.positionOffScreen();}},_onShow:function(BD,BB){var A5=this.parent,A7,A8,BA,A6;function A9(BF){var BE;if(BF.type==Ak||(BF.type==Ae&&BF.keyCode==27)){BE=AA.getTarget(BF);if(BE!=A7.element||!f.isAncestor(A7.element,BE)){A7.cfg.setProperty(Z,false);AA.removeListener(document,Ak,A9);AA.removeListener(document,Ae,A9);}}}function BC(BF,BE,BG){this.cfg.setProperty(U,u);this.hideEvent.unsubscribe(BC,BG);}if(A5){A7=A5.parent;if(!A7.cfg.getProperty(Z)&&(A7 instanceof YAHOO.widget.MenuBar||A7.cfg.getProperty(Ac)==C)){A7.cfg.setProperty(Z,true);AA.on(document,Ak,A9);AA.on(document,Ae,A9);}if((this.cfg.getProperty("x")<A7.cfg.getProperty("x"))&&(As.gecko&&As.gecko<1.9)&&!this.cfg.getProperty(U)){A8=this.element; +BA=A8.offsetWidth;A8.style.width=BA+AQ;A6=(BA-(A8.offsetWidth-BA))+AQ;this.cfg.setProperty(U,A6);this.hideEvent.subscribe(BC,A6);}}if(this===this.getRoot()&&this.cfg.getProperty(Ac)===AD){this._focusedElement=Ad;this.focus();}},_onBeforeHide:function(A7,A6){var A5=this.activeItem,A9=this.getRoot(),BA,A8;if(A5){BA=A5.cfg;BA.setProperty(y,false);A8=BA.getProperty(O);if(A8){A8.hide();}}if(As.ie&&this.cfg.getProperty(Ac)===AD&&this.parent){A9._hasFocus=this.hasFocus();}if(A9==this){A9.blur();}},_onParentMenuConfigChange:function(A6,A5,A9){var A7=A5[0][0],A8=A5[0][1];switch(A7){case AF:case w:case AX:case Av:case c:case AC:case Ay:case A2:case j:case AU:case Aj:case AE:case Ag:case A4:case Ar:A9.cfg.setProperty(A7,A8);break;case AO:if(!(this.parent.parent instanceof YAHOO.widget.MenuBar)){A9.cfg.setProperty(A7,A8);}break;}},_onParentMenuRender:function(A6,A5,BB){var A8=BB.parent.parent,A7=A8.cfg,A9={constraintoviewport:A7.getProperty(w),xy:[0,0],clicktohide:A7.getProperty(AC),effect:A7.getProperty(Ay),showdelay:A7.getProperty(Av),hidedelay:A7.getProperty(AX),submenuhidedelay:A7.getProperty(c),classname:A7.getProperty(A2),scrollincrement:A7.getProperty(j),maxheight:A7.getProperty(AU),minscrollheight:A7.getProperty(Aj),iframe:A7.getProperty(AF),shadow:A7.getProperty(Ag),preventcontextoverlap:A7.getProperty(A4),monitorresize:A7.getProperty(AE),keepopen:A7.getProperty(Ar)},BA;if(!(A8 instanceof YAHOO.widget.MenuBar)){A9[AO]=A7.getProperty(AO);}BB.cfg.applyConfig(A9);if(!this.lazyLoad){BA=this.parent.element;if(this.element.parentNode==BA){this.render();}else{this.render(BA);}}},_onMenuItemDestroy:function(A7,A6,A5){this._removeItemFromGroupByValue(A5.groupIndex,A5);},_onMenuItemConfigChange:function(A7,A6,A5){var A9=A6[0][0],BA=A6[0][1],A8;switch(A9){case y:if(BA===true){this.activeItem=A5;}break;case O:A8=A6[0][1];if(A8){this._configureSubmenu(A5);}break;}},configVisible:function(A7,A6,A8){var A5,A9;if(this.cfg.getProperty(Ac)==AD){r.superclass.configVisible.call(this,A7,A6,A8);}else{A5=A6[0];A9=f.getStyle(this.element,AW);f.setStyle(this.element,J,Au);if(A5){if(A9!=AV){this.beforeShowEvent.fire();f.setStyle(this.element,AW,AV);this.showEvent.fire();}}else{if(A9==AV){this.beforeHideEvent.fire();f.setStyle(this.element,AW,AY);this.hideEvent.fire();}}}},configPosition:function(A7,A6,BA){var A9=this.element,A8=A6[0]==C?C:z,BB=this.cfg,A5;f.setStyle(A9,Ac,A8);if(A8==C){f.setStyle(A9,AW,AV);BB.setProperty(Au,true);}else{f.setStyle(A9,J,AL);}if(A8==z){A5=BB.getProperty(AS);if(!A5||A5===0){BB.setProperty(AS,1);}}},configIframe:function(A6,A5,A7){if(this.cfg.getProperty(Ac)==AD){r.superclass.configIframe.call(this,A6,A5,A7);}},configHideDelay:function(A6,A5,A7){var A8=A5[0];this._useHideDelay=(A8>0);},configContainer:function(A6,A5,A8){var A7=A5[0];if(AM.isString(A7)){this.cfg.setProperty(g,f.get(A7),true);}},_clearSetWidthFlag:function(){this._widthSetForScroll=false;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);},_setScrollHeight:function(BG){var BC=BG,BB=false,BH=false,A8,A9,BF,A6,BE,BI,A5,BD,BA,A7;if(this.getItems().length>0){A8=this.element;A9=this.body;BF=this.header;A6=this.footer;BE=this._onScrollTargetMouseOver;BI=this._onScrollTargetMouseOut;A5=this.cfg.getProperty(Aj);if(BC>0&&BC<A5){BC=A5;}f.setStyle(A9,Ao,u);f.removeClass(A9,l);A9.scrollTop=0;BH=((As.gecko&&As.gecko<1.9)||As.ie);if(BC>0&&BH&&!this.cfg.getProperty(U)){BA=A8.offsetWidth;A8.style.width=BA+AQ;A7=(BA-(A8.offsetWidth-BA))+AQ;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);this.cfg.setProperty(U,A7);this._widthSetForScroll=true;this.cfg.subscribeToConfigEvent(U,this._clearSetWidthFlag);}if(BC>0&&(!BF&&!A6)){this.setHeader(AK);this.setFooter(AK);BF=this.header;A6=this.footer;f.addClass(BF,T);f.addClass(A6,x);A8.insertBefore(BF,A9);A8.appendChild(A6);}BD=BC;if(BF&&A6){BD=(BD-(BF.offsetHeight+A6.offsetHeight));}if((BD>0)&&(A9.offsetHeight>BC)){f.addClass(A9,l);f.setStyle(A9,Ao,(BD+AQ));if(!this._hasScrollEventHandlers){AA.on(BF,Ai,BE,this,true);AA.on(BF,H,BI,this,true);AA.on(A6,Ai,BE,this,true);AA.on(A6,H,BI,this,true);this._hasScrollEventHandlers=true;}this._disableScrollHeader();this._enableScrollFooter();BB=true;}else{if(BF&&A6){if(this._widthSetForScroll){this._widthSetForScroll=false;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);this.cfg.setProperty(U,u);}this._enableScrollHeader();this._enableScrollFooter();if(this._hasScrollEventHandlers){AA.removeListener(BF,Ai,BE);AA.removeListener(BF,H,BI);AA.removeListener(A6,Ai,BE);AA.removeListener(A6,H,BI);this._hasScrollEventHandlers=false;}A8.removeChild(BF);A8.removeChild(A6);this.header=null;this.footer=null;BB=true;}}if(BB){this.cfg.refireEvent(AF);this.cfg.refireEvent(Ag);}}},_setMaxHeight:function(A6,A5,A7){this._setScrollHeight(A7);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight:function(A6,A5,A7){var A8=A5[0];if(this.lazyLoad&&!this.body&&A8>0){this.renderEvent.subscribe(this._setMaxHeight,A8,this);}else{this._setScrollHeight(A8);}},configClassName:function(A7,A6,A8){var A5=A6[0];if(this._sClassName){f.removeClass(this.element,this._sClassName);}f.addClass(this.element,A5);this._sClassName=A5;},_onItemAdded:function(A6,A5){var A7=A5[0];if(A7){A7.cfg.setProperty(Ah,true);}},configDisabled:function(A7,A6,BA){var A9=A6[0],A5=this.getItems(),BB,A8;if(AM.isArray(A5)){BB=A5.length;if(BB>0){A8=BB-1;do{A5[A8].cfg.setProperty(Ah,A9);}while(A8--);}if(A9){this.clearActiveItem(true);f.addClass(this.element,Ah);this.itemAddedEvent.subscribe(this._onItemAdded);}else{f.removeClass(this.element,Ah);this.itemAddedEvent.unsubscribe(this._onItemAdded);}}},configShadow:function(BD,A7,BC){var BB=function(){var BG=this.element,BF=this._shadow;if(BF&&BG){if(BF.style.width&&BF.style.height){BF.style.width=u;BF.style.height=u;}BF.style.width=(BG.offsetWidth+6)+AQ;BF.style.height=(BG.offsetHeight+1)+AQ;}};var BE=function(){this.element.appendChild(this._shadow);};var A9=function(){f.addClass(this._shadow,AG);};var BA=function(){f.removeClass(this._shadow,AG); +};var A6=function(){var BG=this._shadow,BF;if(!BG){BF=this.element;if(!Ap){Ap=document.createElement(K);Ap.className=m;}BG=Ap.cloneNode(false);BF.appendChild(BG);this._shadow=BG;this.beforeShowEvent.subscribe(A9);this.beforeHideEvent.subscribe(BA);if(As.ie){AM.later(0,this,function(){BB.call(this);this.syncIframe();});this.cfg.subscribeToConfigEvent(U,BB);this.cfg.subscribeToConfigEvent(Ao,BB);this.cfg.subscribeToConfigEvent(AU,BB);this.changeContentEvent.subscribe(BB);Aw.textResizeEvent.subscribe(BB,this,true);this.destroyEvent.subscribe(function(){Aw.textResizeEvent.unsubscribe(BB,this);});}this.cfg.subscribeToConfigEvent(AU,BE);}};var A8=function(){if(this._shadow){BE.call(this);if(As.ie){BB.call(this);}}else{A6.call(this);}this.beforeShowEvent.unsubscribe(A8);};var A5=A7[0];if(A5&&this.cfg.getProperty(Ac)==AD){if(this.cfg.getProperty(Au)){if(this._shadow){BE.call(this);if(As.ie){BB.call(this);}}else{A6.call(this);}}else{this.beforeShowEvent.subscribe(A8);}}},initEvents:function(){r.superclass.initEvents.call(this);var A6=Ab.length-1,A7,A5;do{A7=Ab[A6];A5=this.createEvent(A7[1]);A5.signature=F.LIST;this[A7[0]]=A5;}while(A6--);},positionOffScreen:function(){var A6=this.iframe,A7=this.element,A5=this.OFF_SCREEN_POSITION;A7.style.top=u;A7.style.left=u;if(A6){A6.style.top=A5;A6.style.left=A5;}},getRoot:function(){var A7=this.parent,A6,A5;if(A7){A6=A7.parent;A5=A6?A6.getRoot():this;}else{A5=this;}return A5;},toString:function(){var A6=Aq,A5=this.id;if(A5){A6+=(A1+A5);}return A6;},setItemGroupTitle:function(BA,A9){var A8,A7,A6,A5;if(AM.isString(BA)&&BA.length>0){A8=AM.isNumber(A9)?A9:0;A7=this._aGroupTitleElements[A8];if(A7){A7.innerHTML=BA;}else{A7=document.createElement(this.GROUP_TITLE_TAG_NAME);A7.innerHTML=BA;this._aGroupTitleElements[A8]=A7;}A6=this._aGroupTitleElements.length-1;do{if(this._aGroupTitleElements[A6]){f.removeClass(this._aGroupTitleElements[A6],AJ);A5=A6;}}while(A6--);if(A5!==null){f.addClass(this._aGroupTitleElements[A5],AJ);}this.changeContentEvent.fire();}},addItem:function(A5,A6){return this._addItemToGroup(A6,A5);},addItems:function(A9,A8){var BB,A5,BA,A6,A7;if(AM.isArray(A9)){BB=A9.length;A5=[];for(A6=0;A6<BB;A6++){BA=A9[A6];if(BA){if(AM.isArray(BA)){A5[A5.length]=this.addItems(BA,A6);}else{A5[A5.length]=this._addItemToGroup(A8,BA);}}}if(A5.length){A7=A5;}}return A7;},insertItem:function(A5,A6,A7){return this._addItemToGroup(A7,A5,A6);},removeItem:function(A5,A7){var A8,A6;if(!AM.isUndefined(A5)){if(A5 instanceof YAHOO.widget.MenuItem){A8=this._removeItemFromGroupByValue(A7,A5);}else{if(AM.isNumber(A5)){A8=this._removeItemFromGroupByIndex(A7,A5);}}if(A8){A8.destroy();A6=A8;}}return A6;},getItems:function(){var A8=this._aItemGroups,A6,A7,A5=[];if(AM.isArray(A8)){A6=A8.length;A7=((A6==1)?A8[0]:(Array.prototype.concat.apply(A5,A8)));}return A7;},getItemGroups:function(){return this._aItemGroups;},getItem:function(A6,A7){var A8,A5;if(AM.isNumber(A6)){A8=this._getItemGroup(A7);if(A8){A5=A8[A6];}}return A5;},getSubmenus:function(){var A6=this.getItems(),BA=A6.length,A5,A7,A9,A8;if(BA>0){A5=[];for(A8=0;A8<BA;A8++){A9=A6[A8];if(A9){A7=A9.cfg.getProperty(O);if(A7){A5[A5.length]=A7;}}}}return A5;},clearContent:function(){var A9=this.getItems(),A6=A9.length,A7=this.element,A8=this.body,BD=this.header,A5=this.footer,BC,BB,BA;if(A6>0){BA=A6-1;do{BC=A9[BA];if(BC){BB=BC.cfg.getProperty(O);if(BB){this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange,BB);this.renderEvent.unsubscribe(this._onParentMenuRender,BB);}this.removeItem(BC,BC.groupIndex);}}while(BA--);}if(BD){AA.purgeElement(BD);A7.removeChild(BD);}if(A5){AA.purgeElement(A5);A7.removeChild(A5);}if(A8){AA.purgeElement(A8);A8.innerHTML=u;}this.activeItem=null;this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];this.cfg.setProperty(U,null);},destroy:function(){this.clearContent();this._aItemGroups=null;this._aListElements=null;this._aGroupTitleElements=null;r.superclass.destroy.call(this);},setInitialFocus:function(){var A5=this._getFirstEnabledItem();if(A5){A5.focus();}},setInitialSelection:function(){var A5=this._getFirstEnabledItem();if(A5){A5.cfg.setProperty(y,true);}},clearActiveItem:function(A7){if(this.cfg.getProperty(Av)>0){this._cancelShowDelay();}var A5=this.activeItem,A8,A6;if(A5){A8=A5.cfg;if(A7){A5.blur();this.getRoot()._hasFocus=true;}A8.setProperty(y,false);A6=A8.getProperty(O);if(A6){A6.hide();}this.activeItem=null;}},focus:function(){if(!this.hasFocus()){this.setInitialFocus();}},blur:function(){var A5;if(this.hasFocus()){A5=A3.getFocusedMenuItem();if(A5){A5.blur();}}},hasFocus:function(){return(A3.getFocusedMenu()==this.getRoot());},_doItemSubmenuSubscribe:function(A6,A5,A8){var A9=A5[0],A7=A9.cfg.getProperty(O);if(A7){A7.subscribe.apply(A7,A8);}},_doSubmenuSubscribe:function(A6,A5,A8){var A7=this.cfg.getProperty(O);if(A7){A7.subscribe.apply(A7,A8);}},subscribe:function(){r.superclass.subscribe.apply(this,arguments);r.superclass.subscribe.call(this,AR,this._doItemSubmenuSubscribe,arguments);var A5=this.getItems(),A9,A8,A6,A7;if(A5){A9=A5.length;if(A9>0){A7=A9-1;do{A8=A5[A7];A6=A8.cfg.getProperty(O);if(A6){A6.subscribe.apply(A6,arguments);}else{A8.cfg.subscribeToConfigEvent(O,this._doSubmenuSubscribe,arguments);}}while(A7--);}}},unsubscribe:function(){r.superclass.unsubscribe.apply(this,arguments);r.superclass.unsubscribe.call(this,AR,this._doItemSubmenuSubscribe,arguments);var A5=this.getItems(),A9,A8,A6,A7;if(A5){A9=A5.length;if(A9>0){A7=A9-1;do{A8=A5[A7];A6=A8.cfg.getProperty(O);if(A6){A6.unsubscribe.apply(A6,arguments);}else{A8.cfg.unsubscribeFromConfigEvent(O,this._doSubmenuSubscribe,arguments);}}while(A7--);}}},initDefaultConfig:function(){r.superclass.initDefaultConfig.call(this);var A5=this.cfg;A5.addProperty(AZ.key,{handler:this.configVisible,value:AZ.value,validator:AZ.validator});A5.addProperty(AP.key,{handler:this.configConstrainToViewport,value:AP.value,validator:AP.validator,supercedes:AP.supercedes});A5.addProperty(AI.key,{value:AI.value,validator:AI.validator,supercedes:AI.supercedes}); +A5.addProperty(S.key,{handler:this.configPosition,value:S.value,validator:S.validator,supercedes:S.supercedes});A5.addProperty(A.key,{value:A.value,suppressEvent:A.suppressEvent});A5.addProperty(t.key,{value:t.value,validator:t.validator,suppressEvent:t.suppressEvent});A5.addProperty(Y.key,{value:Y.value,validator:Y.validator,suppressEvent:Y.suppressEvent});A5.addProperty(q.key,{handler:this.configHideDelay,value:q.value,validator:q.validator,suppressEvent:q.suppressEvent});A5.addProperty(v.key,{value:v.value,validator:v.validator,suppressEvent:v.suppressEvent});A5.addProperty(o.key,{value:o.value,validator:o.validator,suppressEvent:o.suppressEvent});A5.addProperty(AN.key,{handler:this.configContainer,value:document.body,suppressEvent:AN.suppressEvent});A5.addProperty(Af.key,{value:Af.value,validator:Af.validator,supercedes:Af.supercedes,suppressEvent:Af.suppressEvent});A5.addProperty(N.key,{value:N.value,validator:N.validator,supercedes:N.supercedes,suppressEvent:N.suppressEvent});A5.addProperty(X.key,{handler:this.configMaxHeight,value:X.value,validator:X.validator,suppressEvent:X.suppressEvent,supercedes:X.supercedes});A5.addProperty(W.key,{handler:this.configClassName,value:W.value,validator:W.validator,supercedes:W.supercedes});A5.addProperty(a.key,{handler:this.configDisabled,value:a.value,validator:a.validator,suppressEvent:a.suppressEvent});A5.addProperty(I.key,{handler:this.configShadow,value:I.value,validator:I.validator});A5.addProperty(Al.key,{value:Al.value,validator:Al.validator});}});})();(function(){YAHOO.widget.MenuItem=function(AS,AR){if(AS){if(AR){this.parent=AR.parent;this.value=AR.value;this.id=AR.id;}this.init(AS,AR);}};var x=YAHOO.util.Dom,j=YAHOO.widget.Module,AB=YAHOO.widget.Menu,c=YAHOO.widget.MenuItem,AK=YAHOO.util.CustomEvent,k=YAHOO.env.ua,AQ=YAHOO.lang,AL="text",O="#",Q="-",L="helptext",n="url",AH="target",A="emphasis",N="strongemphasis",b="checked",w="submenu",H="disabled",B="selected",P="hassubmenu",U="checked-disabled",AI="hassubmenu-disabled",AD="hassubmenu-selected",T="checked-selected",q="onclick",J="classname",AJ="",i="OPTION",v="OPTGROUP",K="LI",AE="href",r="SELECT",X="DIV",AN='<em class="helptext">',a="<em>",I="</em>",W="<strong>",y="</strong>",Y="preventcontextoverlap",h="obj",AG="scope",t="none",V="visible",E=" ",m="MenuItem",AA="click",D="show",M="hide",S="li",AF='<a href="#"></a>',p=[["mouseOverEvent","mouseover"],["mouseOutEvent","mouseout"],["mouseDownEvent","mousedown"],["mouseUpEvent","mouseup"],["clickEvent",AA],["keyPressEvent","keypress"],["keyDownEvent","keydown"],["keyUpEvent","keyup"],["focusEvent","focus"],["blurEvent","blur"],["destroyEvent","destroy"]],o={key:AL,value:AJ,validator:AQ.isString,suppressEvent:true},s={key:L,supercedes:[AL],suppressEvent:true},G={key:n,value:O,suppressEvent:true},AO={key:AH,suppressEvent:true},AP={key:A,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL]},d={key:N,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL]},l={key:b,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[H,B]},F={key:w,suppressEvent:true,supercedes:[H,B]},AM={key:H,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL,B]},f={key:B,value:false,validator:AQ.isBoolean,suppressEvent:true},u={key:q,suppressEvent:true},AC={key:J,value:null,validator:AQ.isString,suppressEvent:true},z={key:"keylistener",value:null,suppressEvent:true},C=null,e={};var Z=function(AU,AT){var AR=e[AU];if(!AR){e[AU]={};AR=e[AU];}var AS=AR[AT];if(!AS){AS=AU+Q+AT;AR[AT]=AS;}return AS;};var g=function(AR){x.addClass(this.element,Z(this.CSS_CLASS_NAME,AR));x.addClass(this._oAnchor,Z(this.CSS_LABEL_CLASS_NAME,AR));};var R=function(AR){x.removeClass(this.element,Z(this.CSS_CLASS_NAME,AR));x.removeClass(this._oAnchor,Z(this.CSS_LABEL_CLASS_NAME,AR));};c.prototype={CSS_CLASS_NAME:"yuimenuitem",CSS_LABEL_CLASS_NAME:"yuimenuitemlabel",SUBMENU_TYPE:null,_oAnchor:null,_oHelpTextEM:null,_oSubmenu:null,_oOnclickAttributeValue:null,_sClassName:null,constructor:c,index:null,groupIndex:null,parent:null,element:null,srcElement:null,value:null,browser:j.prototype.browser,id:null,init:function(AR,Ab){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=AB;}this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var AX=this.cfg,AY=O,AT,Aa,AZ,AS,AV,AU,AW;if(AQ.isString(AR)){this._createRootNodeStructure();AX.queueProperty(AL,AR);}else{if(AR&&AR.tagName){switch(AR.tagName.toUpperCase()){case i:this._createRootNodeStructure();AX.queueProperty(AL,AR.text);AX.queueProperty(H,AR.disabled);this.value=AR.value;this.srcElement=AR;break;case v:this._createRootNodeStructure();AX.queueProperty(AL,AR.label);AX.queueProperty(H,AR.disabled);this.srcElement=AR;this._initSubTree();break;case K:AZ=x.getFirstChild(AR);if(AZ){AY=AZ.getAttribute(AE,2);AS=AZ.getAttribute(AH);AV=AZ.innerHTML;}this.srcElement=AR;this.element=AR;this._oAnchor=AZ;AX.setProperty(AL,AV,true);AX.setProperty(n,AY,true);AX.setProperty(AH,AS,true);this._initSubTree();break;}}}if(this.element){AU=(this.srcElement||this.element).id;if(!AU){AU=this.id||x.generateId();this.element.id=AU;}this.id=AU;x.addClass(this.element,this.CSS_CLASS_NAME);x.addClass(this._oAnchor,this.CSS_LABEL_CLASS_NAME);AW=p.length-1;do{Aa=p[AW];AT=this.createEvent(Aa[1]);AT.signature=AK.LIST;this[Aa[0]]=AT;}while(AW--);if(Ab){AX.applyConfig(Ab);}AX.fireQueue();}},_createRootNodeStructure:function(){var AR,AS;if(!C){C=document.createElement(S);C.innerHTML=AF;}AR=C.cloneNode(true);AR.className=this.CSS_CLASS_NAME;AS=AR.firstChild;AS.className=this.CSS_LABEL_CLASS_NAME;this.element=AR;this._oAnchor=AS;},_initSubTree:function(){var AX=this.srcElement,AT=this.cfg,AV,AU,AS,AR,AW;if(AX.childNodes.length>0){if(this.parent.lazyLoad&&this.parent.srcElement&&this.parent.srcElement.tagName.toUpperCase()==r){AT.setProperty(w,{id:x.generateId(),itemdata:AX.childNodes});}else{AV=AX.firstChild;AU=[];do{if(AV&&AV.tagName){switch(AV.tagName.toUpperCase()){case X:AT.setProperty(w,AV);break;case i:AU[AU.length]=AV;break;}}}while((AV=AV.nextSibling)); +AS=AU.length;if(AS>0){AR=new this.SUBMENU_TYPE(x.generateId());AT.setProperty(w,AR);for(AW=0;AW<AS;AW++){AR.addItem((new AR.ITEM_TYPE(AU[AW])));}}}}},configText:function(Aa,AT,AV){var AS=AT[0],AU=this.cfg,AY=this._oAnchor,AR=AU.getProperty(L),AZ=AJ,AW=AJ,AX=AJ;if(AS){if(AR){AZ=AN+AR+I;}if(AU.getProperty(A)){AW=a;AX=I;}if(AU.getProperty(N)){AW=W;AX=y;}AY.innerHTML=(AW+AS+AX+AZ);}},configHelpText:function(AT,AS,AR){this.cfg.refireEvent(AL);},configURL:function(AT,AS,AR){var AV=AS[0];if(!AV){AV=O;}var AU=this._oAnchor;if(k.opera){AU.removeAttribute(AE);}AU.setAttribute(AE,AV);},configTarget:function(AU,AT,AS){var AR=AT[0],AV=this._oAnchor;if(AR&&AR.length>0){AV.setAttribute(AH,AR);}else{AV.removeAttribute(AH);}},configEmphasis:function(AT,AS,AR){var AV=AS[0],AU=this.cfg;if(AV&&AU.getProperty(N)){AU.setProperty(N,false);}AU.refireEvent(AL);},configStrongEmphasis:function(AU,AT,AS){var AR=AT[0],AV=this.cfg;if(AR&&AV.getProperty(A)){AV.setProperty(A,false);}AV.refireEvent(AL);},configChecked:function(AT,AS,AR){var AV=AS[0],AU=this.cfg;if(AV){g.call(this,b);}else{R.call(this,b);}AU.refireEvent(AL);if(AU.getProperty(H)){AU.refireEvent(H);}if(AU.getProperty(B)){AU.refireEvent(B);}},configDisabled:function(AT,AS,AR){var AV=AS[0],AW=this.cfg,AU=AW.getProperty(w),AX=AW.getProperty(b);if(AV){if(AW.getProperty(B)){AW.setProperty(B,false);}g.call(this,H);if(AU){g.call(this,AI);}if(AX){g.call(this,U);}}else{R.call(this,H);if(AU){R.call(this,AI);}if(AX){R.call(this,U);}}},configSelected:function(AT,AS,AR){var AX=this.cfg,AW=this._oAnchor,AV=AS[0],AY=AX.getProperty(b),AU=AX.getProperty(w);if(k.opera){AW.blur();}if(AV&&!AX.getProperty(H)){g.call(this,B);if(AU){g.call(this,AD);}if(AY){g.call(this,T);}}else{R.call(this,B);if(AU){R.call(this,AD);}if(AY){R.call(this,T);}}if(this.hasFocus()&&k.opera){AW.focus();}},_onSubmenuBeforeHide:function(AU,AT){var AV=this.parent,AR;function AS(){AV._oAnchor.blur();AR.beforeHideEvent.unsubscribe(AS);}if(AV.hasFocus()){AR=AV.parent;AR.beforeHideEvent.subscribe(AS);}},configSubmenu:function(AY,AT,AW){var AV=AT[0],AU=this.cfg,AS=this.parent&&this.parent.lazyLoad,AX,AZ,AR;if(AV){if(AV instanceof AB){AX=AV;AX.parent=this;AX.lazyLoad=AS;}else{if(AQ.isObject(AV)&&AV.id&&!AV.nodeType){AZ=AV.id;AR=AV;AR.lazyload=AS;AR.parent=this;AX=new this.SUBMENU_TYPE(AZ,AR);AU.setProperty(w,AX,true);}else{AX=new this.SUBMENU_TYPE(AV,{lazyload:AS,parent:this});AU.setProperty(w,AX,true);}}if(AX){AX.cfg.setProperty(Y,true);g.call(this,P);if(AU.getProperty(n)===O){AU.setProperty(n,(O+AX.id));}this._oSubmenu=AX;if(k.opera){AX.beforeHideEvent.subscribe(this._onSubmenuBeforeHide);}}}else{R.call(this,P);if(this._oSubmenu){this._oSubmenu.destroy();}}if(AU.getProperty(H)){AU.refireEvent(H);}if(AU.getProperty(B)){AU.refireEvent(B);}},configOnClick:function(AT,AS,AR){var AU=AS[0];if(this._oOnclickAttributeValue&&(this._oOnclickAttributeValue!=AU)){this.clickEvent.unsubscribe(this._oOnclickAttributeValue.fn,this._oOnclickAttributeValue.obj);this._oOnclickAttributeValue=null;}if(!this._oOnclickAttributeValue&&AQ.isObject(AU)&&AQ.isFunction(AU.fn)){this.clickEvent.subscribe(AU.fn,((h in AU)?AU.obj:this),((AG in AU)?AU.scope:null));this._oOnclickAttributeValue=AU;}},configClassName:function(AU,AT,AS){var AR=AT[0];if(this._sClassName){x.removeClass(this.element,this._sClassName);}x.addClass(this.element,AR);this._sClassName=AR;},_dispatchClickEvent:function(){var AT=this,AS,AR;if(!AT.cfg.getProperty(H)){AS=x.getFirstChild(AT.element);if(k.ie){AS.fireEvent(q);}else{if((k.gecko&&k.gecko>=1.9)||k.opera||k.webkit){AR=document.createEvent("HTMLEvents");AR.initEvent(AA,true,true);}else{AR=document.createEvent("MouseEvents");AR.initMouseEvent(AA,true,true,window,0,0,0,0,0,false,false,false,false,0,null);}AS.dispatchEvent(AR);}}},_createKeyListener:function(AU,AT,AW){var AV=this,AS=AV.parent;var AR=new YAHOO.util.KeyListener(AS.element.ownerDocument,AW,{fn:AV._dispatchClickEvent,scope:AV,correctScope:true});if(AS.cfg.getProperty(V)){AR.enable();}AS.subscribe(D,AR.enable,null,AR);AS.subscribe(M,AR.disable,null,AR);AV._keyListener=AR;AS.unsubscribe(D,AV._createKeyListener,AW);},configKeyListener:function(AT,AS){var AV=AS[0],AU=this,AR=AU.parent;if(AU._keyData){AR.unsubscribe(D,AU._createKeyListener,AU._keyData);AU._keyData=null;}if(AU._keyListener){AR.unsubscribe(D,AU._keyListener.enable);AR.unsubscribe(M,AU._keyListener.disable);AU._keyListener.disable();AU._keyListener=null;}if(AV){AU._keyData=AV;AR.subscribe(D,AU._createKeyListener,AV,AU);}},initDefaultConfig:function(){var AR=this.cfg;AR.addProperty(o.key,{handler:this.configText,value:o.value,validator:o.validator,suppressEvent:o.suppressEvent});AR.addProperty(s.key,{handler:this.configHelpText,supercedes:s.supercedes,suppressEvent:s.suppressEvent});AR.addProperty(G.key,{handler:this.configURL,value:G.value,suppressEvent:G.suppressEvent});AR.addProperty(AO.key,{handler:this.configTarget,suppressEvent:AO.suppressEvent});AR.addProperty(AP.key,{handler:this.configEmphasis,value:AP.value,validator:AP.validator,suppressEvent:AP.suppressEvent,supercedes:AP.supercedes});AR.addProperty(d.key,{handler:this.configStrongEmphasis,value:d.value,validator:d.validator,suppressEvent:d.suppressEvent,supercedes:d.supercedes});AR.addProperty(l.key,{handler:this.configChecked,value:l.value,validator:l.validator,suppressEvent:l.suppressEvent,supercedes:l.supercedes});AR.addProperty(AM.key,{handler:this.configDisabled,value:AM.value,validator:AM.validator,suppressEvent:AM.suppressEvent});AR.addProperty(f.key,{handler:this.configSelected,value:f.value,validator:f.validator,suppressEvent:f.suppressEvent});AR.addProperty(F.key,{handler:this.configSubmenu,supercedes:F.supercedes,suppressEvent:F.suppressEvent});AR.addProperty(u.key,{handler:this.configOnClick,suppressEvent:u.suppressEvent});AR.addProperty(AC.key,{handler:this.configClassName,value:AC.value,validator:AC.validator,suppressEvent:AC.suppressEvent});AR.addProperty(z.key,{handler:this.configKeyListener,value:z.value,suppressEvent:z.suppressEvent}); +},getNextSibling:function(){var AR=function(AX){return(AX.nodeName.toLowerCase()==="ul");},AV=this.element,AU=x.getNextSibling(AV),AT,AS,AW;if(!AU){AT=AV.parentNode;AS=x.getNextSiblingBy(AT,AR);if(AS){AW=AS;}else{AW=x.getFirstChildBy(AT.parentNode,AR);}AU=x.getFirstChild(AW);}return YAHOO.widget.MenuManager.getMenuItem(AU.id);},getNextEnabledSibling:function(){var AR=this.getNextSibling();return(AR.cfg.getProperty(H)||AR.element.style.display==t)?AR.getNextEnabledSibling():AR;},getPreviousSibling:function(){var AR=function(AX){return(AX.nodeName.toLowerCase()==="ul");},AV=this.element,AU=x.getPreviousSibling(AV),AT,AS,AW;if(!AU){AT=AV.parentNode;AS=x.getPreviousSiblingBy(AT,AR);if(AS){AW=AS;}else{AW=x.getLastChildBy(AT.parentNode,AR);}AU=x.getLastChild(AW);}return YAHOO.widget.MenuManager.getMenuItem(AU.id);},getPreviousEnabledSibling:function(){var AR=this.getPreviousSibling();return(AR.cfg.getProperty(H)||AR.element.style.display==t)?AR.getPreviousEnabledSibling():AR;},focus:function(){var AU=this.parent,AT=this._oAnchor,AR=AU.activeItem;function AS(){try{if(!(k.ie&&!document.hasFocus())){if(AR){AR.blurEvent.fire();}AT.focus();this.focusEvent.fire();}}catch(AV){}}if(!this.cfg.getProperty(H)&&AU&&AU.cfg.getProperty(V)&&this.element.style.display!=t){AQ.later(0,this,AS);}},blur:function(){var AR=this.parent;if(!this.cfg.getProperty(H)&&AR&&AR.cfg.getProperty(V)){AQ.later(0,this,function(){try{this._oAnchor.blur();this.blurEvent.fire();}catch(AS){}},0);}},hasFocus:function(){return(YAHOO.widget.MenuManager.getFocusedMenuItem()==this);},destroy:function(){var AT=this.element,AS,AR,AV,AU;if(AT){AS=this.cfg.getProperty(w);if(AS){AS.destroy();}AR=AT.parentNode;if(AR){AR.removeChild(AT);this.destroyEvent.fire();}AU=p.length-1;do{AV=p[AU];this[AV[0]].unsubscribeAll();}while(AU--);this.cfg.configChangedEvent.unsubscribeAll();}},toString:function(){var AS=m,AR=this.id;if(AR){AS+=(E+AR);}return AS;}};AQ.augmentProto(c,YAHOO.util.EventProvider);})();(function(){var B="xy",C="mousedown",F="ContextMenu",J=" ";YAHOO.widget.ContextMenu=function(L,K){YAHOO.widget.ContextMenu.superclass.constructor.call(this,L,K);};var I=YAHOO.util.Event,E=YAHOO.env.ua,G=YAHOO.widget.ContextMenu,A={"TRIGGER_CONTEXT_MENU":"triggerContextMenu","CONTEXT_MENU":(E.opera?C:"contextmenu"),"CLICK":"click"},H={key:"trigger",suppressEvent:true};function D(L,K,M){this.cfg.setProperty(B,M);this.beforeShowEvent.unsubscribe(D,M);}YAHOO.lang.extend(G,YAHOO.widget.Menu,{_oTrigger:null,_bCancelled:false,contextEventTarget:null,triggerContextMenuEvent:null,init:function(L,K){G.superclass.init.call(this,L);this.beforeInitEvent.fire(G);if(K){this.cfg.applyConfig(K,true);}this.initEvent.fire(G);},initEvents:function(){G.superclass.initEvents.call(this);this.triggerContextMenuEvent=this.createEvent(A.TRIGGER_CONTEXT_MENU);this.triggerContextMenuEvent.signature=YAHOO.util.CustomEvent.LIST;},cancel:function(){this._bCancelled=true;},_removeEventHandlers:function(){var K=this._oTrigger;if(K){I.removeListener(K,A.CONTEXT_MENU,this._onTriggerContextMenu);if(E.opera){I.removeListener(K,A.CLICK,this._onTriggerClick);}}},_onTriggerClick:function(L,K){if(L.ctrlKey){I.stopEvent(L);}},_onTriggerContextMenu:function(M,K){var L;if(!(M.type==C&&!M.ctrlKey)){this.contextEventTarget=I.getTarget(M);this.triggerContextMenuEvent.fire(M);if(!this._bCancelled){I.stopEvent(M);YAHOO.widget.MenuManager.hideVisible();L=I.getXY(M);if(!YAHOO.util.Dom.inDocument(this.element)){this.beforeShowEvent.subscribe(D,L);}else{this.cfg.setProperty(B,L);}this.show();}this._bCancelled=false;}},toString:function(){var L=F,K=this.id;if(K){L+=(J+K);}return L;},initDefaultConfig:function(){G.superclass.initDefaultConfig.call(this);this.cfg.addProperty(H.key,{handler:this.configTrigger,suppressEvent:H.suppressEvent});},destroy:function(){this._removeEventHandlers();G.superclass.destroy.call(this);},configTrigger:function(L,K,N){var M=K[0];if(M){if(this._oTrigger){this._removeEventHandlers();}this._oTrigger=M;I.on(M,A.CONTEXT_MENU,this._onTriggerContextMenu,this,true);if(E.opera){I.on(M,A.CLICK,this._onTriggerClick,this,true);}}else{this._removeEventHandlers();}}});}());YAHOO.widget.ContextMenuItem=YAHOO.widget.MenuItem;(function(){var D=YAHOO.lang,N="static",M="dynamic,"+N,A="disabled",F="selected",B="autosubmenudisplay",G="submenu",C="visible",Q=" ",H="submenutoggleregion",P="MenuBar";YAHOO.widget.MenuBar=function(T,S){YAHOO.widget.MenuBar.superclass.constructor.call(this,T,S);};function O(T){var S=false;if(D.isString(T)){S=(M.indexOf((T.toLowerCase()))!=-1);}return S;}var R=YAHOO.util.Event,L=YAHOO.widget.MenuBar,K={key:"position",value:N,validator:O,supercedes:[C]},E={key:"submenualignment",value:["tl","bl"]},J={key:B,value:false,validator:D.isBoolean,suppressEvent:true},I={key:H,value:false,validator:D.isBoolean};D.extend(L,YAHOO.widget.Menu,{init:function(T,S){if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuBarItem;}L.superclass.init.call(this,T);this.beforeInitEvent.fire(L);if(S){this.cfg.applyConfig(S,true);}this.initEvent.fire(L);},CSS_CLASS_NAME:"yuimenubar",SUBMENU_TOGGLE_REGION_WIDTH:20,_onKeyDown:function(U,T,Y){var S=T[0],Z=T[1],W,X,V;if(Z&&!Z.cfg.getProperty(A)){X=Z.cfg;switch(S.keyCode){case 37:case 39:if(Z==this.activeItem&&!X.getProperty(F)){X.setProperty(F,true);}else{V=(S.keyCode==37)?Z.getPreviousEnabledSibling():Z.getNextEnabledSibling();if(V){this.clearActiveItem();V.cfg.setProperty(F,true);W=V.cfg.getProperty(G);if(W){W.show();W.setInitialFocus();}else{V.focus();}}}R.preventDefault(S);break;case 40:if(this.activeItem!=Z){this.clearActiveItem();X.setProperty(F,true);Z.focus();}W=X.getProperty(G);if(W){if(W.cfg.getProperty(C)){W.setInitialSelection();W.setInitialFocus();}else{W.show();W.setInitialFocus();}}R.preventDefault(S);break;}}if(S.keyCode==27&&this.activeItem){W=this.activeItem.cfg.getProperty(G);if(W&&W.cfg.getProperty(C)){W.hide();this.activeItem.focus();}else{this.activeItem.cfg.setProperty(F,false);this.activeItem.blur();}R.preventDefault(S);}},_onClick:function(e,Y,b){L.superclass._onClick.call(this,e,Y,b); +var d=Y[1],T=true,S,f,U,W,Z,a,c,V;var X=function(){if(a.cfg.getProperty(C)){a.hide();}else{a.show();}};if(d&&!d.cfg.getProperty(A)){f=Y[0];U=R.getTarget(f);W=this.activeItem;Z=this.cfg;if(W&&W!=d){this.clearActiveItem();}d.cfg.setProperty(F,true);a=d.cfg.getProperty(G);if(a){S=d.element;c=YAHOO.util.Dom.getX(S);V=c+(S.offsetWidth-this.SUBMENU_TOGGLE_REGION_WIDTH);if(Z.getProperty(H)){if(R.getPageX(f)>V){X();R.preventDefault(f);T=false;}}else{X();}}}return T;},configSubmenuToggle:function(U,T){var S=T[0];if(S){this.cfg.setProperty(B,false);}},toString:function(){var T=P,S=this.id;if(S){T+=(Q+S);}return T;},initDefaultConfig:function(){L.superclass.initDefaultConfig.call(this);var S=this.cfg;S.addProperty(K.key,{handler:this.configPosition,value:K.value,validator:K.validator,supercedes:K.supercedes});S.addProperty(E.key,{value:E.value,suppressEvent:E.suppressEvent});S.addProperty(J.key,{value:J.value,validator:J.validator,suppressEvent:J.suppressEvent});S.addProperty(I.key,{value:I.value,validator:I.validator,handler:this.configSubmenuToggle});}});}());YAHOO.widget.MenuBarItem=function(B,A){YAHOO.widget.MenuBarItem.superclass.constructor.call(this,B,A);};YAHOO.lang.extend(YAHOO.widget.MenuBarItem,YAHOO.widget.MenuItem,{init:function(B,A){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=YAHOO.widget.Menu;}YAHOO.widget.MenuBarItem.superclass.init.call(this,B);var C=this.cfg;if(A){C.applyConfig(A,true);}C.fireQueue();},CSS_CLASS_NAME:"yuimenubaritem",CSS_LABEL_CLASS_NAME:"yuimenubaritemlabel",toString:function(){var A="MenuBarItem";if(this.cfg&&this.cfg.getProperty("text")){A+=(": "+this.cfg.getProperty("text"));}return A;}});YAHOO.register("menu",YAHOO.widget.Menu,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/paginator/paginator-min.js b/js/yui/paginator/paginator-min.js new file mode 100644 index 0000000000000000000000000000000000000000..6402369594087c54eecca04125cc228b5eb90839 --- /dev/null +++ b/js/yui/paginator/paginator-min.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var D=YAHOO.util.Dom,F=YAHOO.lang,B=F.isObject,E=F.isFunction,C=F.isArray,A=F.isString;function G(K){var N=G.VALUE_UNLIMITED,L,H,I,J,M;K=B(K)?K:{};this.initConfig();this.initEvents();this.set("rowsPerPage",K.rowsPerPage,true);if(G.isNumeric(K.totalRecords)){this.set("totalRecords",K.totalRecords,true);}this.initUIComponents();for(L in K){if(K.hasOwnProperty(L)){this.set(L,K[L],true);}}H=this.get("initialPage");I=this.get("totalRecords");J=this.get("rowsPerPage");if(H>1&&J!==N){M=(H-1)*J;if(I===N||M<I){this.set("recordOffset",M,true);}}}F.augmentObject(G,{id:0,ID_BASE:"yui-pg",VALUE_UNLIMITED:-1,TEMPLATE_DEFAULT:"{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}",TEMPLATE_ROWS_PER_PAGE:"{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}",ui:{},isNumeric:function(H){return isFinite(+H);},toNumber:function(H){return isFinite(+H)?+H:null;}},true);G.prototype={_containers:[],_batch:false,_pageChanged:false,_state:null,initConfig:function(){var H=G.VALUE_UNLIMITED;this.setAttributeConfig("rowsPerPage",{value:0,validator:G.isNumeric,setter:G.toNumber});this.setAttributeConfig("containers",{value:null,validator:function(K){if(!C(K)){K=[K];}for(var J=0,I=K.length;J<I;++J){if(A(K[J])||(B(K[J])&&K[J].nodeType===1)){continue;}return false;}return true;},method:function(I){I=D.get(I);if(!C(I)){I=[I];}this._containers=I;}});this.setAttributeConfig("totalRecords",{value:0,validator:G.isNumeric,setter:G.toNumber});this.setAttributeConfig("recordOffset",{value:0,validator:function(J){var I=this.get("totalRecords");if(G.isNumeric(J)){J=+J;return I===H||I>J||(I===0&&J===0);}return false;},setter:G.toNumber});this.setAttributeConfig("initialPage",{value:1,validator:G.isNumeric,setter:G.toNumber});this.setAttributeConfig("template",{value:G.TEMPLATE_DEFAULT,validator:A});this.setAttributeConfig("containerClass",{value:"yui-pg-container",validator:A});this.setAttributeConfig("alwaysVisible",{value:true,validator:F.isBoolean});this.setAttributeConfig("updateOnChange",{value:false,validator:F.isBoolean});this.setAttributeConfig("id",{value:G.id++,readOnly:true});this.setAttributeConfig("rendered",{value:false,readOnly:true});},initUIComponents:function(){var J=G.ui,I,H;for(I in J){if(J.hasOwnProperty(I)){H=J[I];if(B(H)&&E(H.init)){H.init(this);}}}},initEvents:function(){this.createEvent("render");this.createEvent("rendered");this.createEvent("changeRequest");this.createEvent("pageChange");this.createEvent("beforeDestroy");this.createEvent("destroy");this._selfSubscribe();},_selfSubscribe:function(){this.subscribe("totalRecordsChange",this.updateVisibility,this,true);this.subscribe("alwaysVisibleChange",this.updateVisibility,this,true);this.subscribe("totalRecordsChange",this._handleStateChange,this,true);this.subscribe("recordOffsetChange",this._handleStateChange,this,true);this.subscribe("rowsPerPageChange",this._handleStateChange,this,true);this.subscribe("totalRecordsChange",this._syncRecordOffset,this,true);},_syncRecordOffset:function(K){var H=K.newValue,J,I;if(K.prevValue!==H){if(H!==G.VALUE_UNLIMITED){J=this.get("rowsPerPage");if(J&&this.get("recordOffset")>=H){I=this.getState({totalRecords:K.prevValue,recordOffset:this.get("recordOffset")});this.set("recordOffset",I.before.recordOffset);this._firePageChange(I);}}}},_handleStateChange:function(I){if(I.prevValue!==I.newValue){var J=this._state||{},H;J[I.type.replace(/Change$/,"")]=I.prevValue;H=this.getState(J);if(H.page!==H.before.page){if(this._batch){this._pageChanged=true;}else{this._firePageChange(H);}}}},_firePageChange:function(H){if(B(H)){var I=H.before;delete H.before;this.fireEvent("pageChange",{type:"pageChange",prevValue:H.page,newValue:I.page,prevState:H,newState:I});}},render:function(){if(this.get("rendered")){return this;}var K=this.get("template"),L=this.getState(),J=G.ID_BASE+this.get("id")+"-",I,H;for(I=0,H=this._containers.length;I<H;++I){this._renderTemplate(this._containers[I],K,J+I,true);}this.updateVisibility();if(this._containers.length){this.setAttributeConfig("rendered",{value:true});this.fireEvent("render",L);this.fireEvent("rendered",L);}return this;},_renderTemplate:function(I,M,L,K){var O=this.get("containerClass"),N,J,H;if(!I){return;}D.setStyle(I,"display","none");D.addClass(I,O);I.innerHTML=M.replace(/\{([a-z0-9_ \-]+)\}/gi,'<span class="yui-pg-ui yui-pg-ui-$1"></span>');N=D.getElementsByClassName("yui-pg-ui","span",I);for(J=0,H=N.length;J<H;++J){this.renderUIComponent(N[J],L);}if(!K){D.setStyle(I,"display","");}},renderUIComponent:function(H,M){var L=H.parentNode,K=/yui-pg-ui-(\w+)/.exec(H.className),J=K&&G.ui[K[1]],I;if(E(J)){I=new J(this);if(E(I.render)){L.replaceChild(I.render(M),H);}}},destroy:function(){this.fireEvent("beforeDestroy");this.fireEvent("destroy");this.setAttributeConfig("rendered",{value:false});this.unsubscribeAll();},updateVisibility:function(M){var I=this.get("alwaysVisible"),O,N,K,L,J,H;if(!M||M.type==="alwaysVisibleChange"||!I){O=this.get("totalRecords");N=true;K=this.get("rowsPerPage");L=this.get("rowsPerPageOptions");if(C(L)){for(J=0,H=L.length;J<H;++J){K=Math.min(K,L[J]);}}if(O!==G.VALUE_UNLIMITED&&O<=K){N=false;}N=N||I;for(J=0,H=this._containers.length;J<H;++J){D.setStyle(this._containers[J],"display",N?"":"none");}}},getContainerNodes:function(){return this._containers;},getTotalPages:function(){var H=this.get("totalRecords"),I=this.get("rowsPerPage");if(!I){return null;}if(H===G.VALUE_UNLIMITED){return G.VALUE_UNLIMITED;}return Math.ceil(H/I);},hasPage:function(I){if(!F.isNumber(I)||I<1){return false;}var H=this.getTotalPages();return(H===G.VALUE_UNLIMITED||H>=I);},getCurrentPage:function(){var H=this.get("rowsPerPage");if(!H||!this.get("totalRecords")){return 0;}return Math.floor(this.get("recordOffset")/H)+1;},hasNextPage:function(){var H=this.getCurrentPage(),I=this.getTotalPages();return H&&(I===G.VALUE_UNLIMITED||H<I);},getNextPage:function(){return this.hasNextPage()?this.getCurrentPage()+1:null;},hasPreviousPage:function(){return(this.getCurrentPage()>1); +},getPreviousPage:function(){return(this.hasPreviousPage()?this.getCurrentPage()-1:1);},getPageRecords:function(K){if(!F.isNumber(K)){K=this.getCurrentPage();}var J=this.get("rowsPerPage"),I=this.get("totalRecords"),L,H;if(!K||!J){return null;}L=(K-1)*J;if(I!==G.VALUE_UNLIMITED){if(L>=I){return null;}H=Math.min(L+J,I)-1;}else{H=L+J-1;}return[L,H];},setPage:function(I,H){if(this.hasPage(I)&&I!==this.getCurrentPage()){if(this.get("updateOnChange")||H){this.set("recordOffset",(I-1)*this.get("rowsPerPage"));}else{this.fireEvent("changeRequest",this.getState({"page":I}));}}},getRowsPerPage:function(){return this.get("rowsPerPage");},setRowsPerPage:function(I,H){if(G.isNumeric(I)&&+I>0&&+I!==this.get("rowsPerPage")){if(this.get("updateOnChange")||H){this.set("rowsPerPage",I);}else{this.fireEvent("changeRequest",this.getState({"rowsPerPage":+I}));}}},getTotalRecords:function(){return this.get("totalRecords");},setTotalRecords:function(I,H){if(G.isNumeric(I)&&+I>=0&&+I!==this.get("totalRecords")){if(this.get("updateOnChange")||H){this.set("totalRecords",I);}else{this.fireEvent("changeRequest",this.getState({"totalRecords":+I}));}}},getStartIndex:function(){return this.get("recordOffset");},setStartIndex:function(I,H){if(G.isNumeric(I)&&+I>=0&&+I!==this.get("recordOffset")){if(this.get("updateOnChange")||H){this.set("recordOffset",I);}else{this.fireEvent("changeRequest",this.getState({"recordOffset":+I}));}}},getState:function(O){var Q=G.VALUE_UNLIMITED,L=Math,N=L.max,P=L.ceil,J,H,K;function I(S,M,R){if(S<=0||M===0){return 0;}if(M===Q||M>S){return S-(S%R);}return M-(M%R||R);}J={paginator:this,totalRecords:this.get("totalRecords"),rowsPerPage:this.get("rowsPerPage"),records:this.getPageRecords()};J.recordOffset=I(this.get("recordOffset"),J.totalRecords,J.rowsPerPage);J.page=P(J.recordOffset/J.rowsPerPage)+1;if(!O){return J;}H={paginator:this,before:J,rowsPerPage:O.rowsPerPage||J.rowsPerPage,totalRecords:(G.isNumeric(O.totalRecords)?N(O.totalRecords,Q):+J.totalRecords)};if(H.totalRecords===0){H.recordOffset=H.page=0;}else{K=G.isNumeric(O.page)?(O.page-1)*H.rowsPerPage:G.isNumeric(O.recordOffset)?+O.recordOffset:J.recordOffset;H.recordOffset=I(K,H.totalRecords,H.rowsPerPage);H.page=P(H.recordOffset/H.rowsPerPage)+1;}H.records=[H.recordOffset,H.recordOffset+H.rowsPerPage-1];if(H.totalRecords!==Q&&H.recordOffset<H.totalRecords&&H.records&&H.records[1]>H.totalRecords-1){H.records[1]=H.totalRecords-1;}return H;},setState:function(I){if(B(I)){this._state=this.getState({});I={page:I.page,rowsPerPage:I.rowsPerPage,totalRecords:I.totalRecords,recordOffset:I.recordOffset};if(I.page&&I.recordOffset===undefined){I.recordOffset=(I.page-1)*(I.rowsPerPage||this.get("rowsPerPage"));}this._batch=true;this._pageChanged=false;for(var H in I){if(I.hasOwnProperty(H)&&this._configs.hasOwnProperty(H)){this.set(H,I[H]);}}this._batch=false;if(this._pageChanged){this._pageChanged=false;this._firePageChange(this.getState(this._state));}}}};F.augmentProto(G,YAHOO.util.AttributeProvider);YAHOO.widget.Paginator=G;})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.CurrentPageReport=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("pageReportTemplateChange",this.update,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("pageReportClassChange",this.update,this,true);};B.ui.CurrentPageReport.init=function(C){C.setAttributeConfig("pageReportClass",{value:"yui-pg-current",validator:A.isString});C.setAttributeConfig("pageReportTemplate",{value:"({currentPage} of {totalPages})",validator:A.isString});C.setAttributeConfig("pageReportValueGenerator",{value:function(F){var E=F.getCurrentPage(),D=F.getPageRecords();return{"currentPage":D?E:0,"totalPages":F.getTotalPages(),"startIndex":D?D[0]:0,"endIndex":D?D[1]:0,"startRecord":D?D[0]+1:0,"endRecord":D?D[1]+1:0,"totalRecords":F.get("totalRecords")};},validator:A.isFunction});};B.ui.CurrentPageReport.sprintf=function(D,C){return D.replace(/\{([\w\s\-]+)\}/g,function(E,F){return(F in C)?C[F]:"";});};B.ui.CurrentPageReport.prototype={span:null,render:function(C){this.span=document.createElement("span");this.span.id=C+"-page-report";this.span.className=this.paginator.get("pageReportClass");this.update();return this.span;},update:function(C){if(C&&C.prevValue===C.newValue){return;}this.span.innerHTML=B.ui.CurrentPageReport.sprintf(this.paginator.get("pageReportTemplate"),this.paginator.get("pageReportValueGenerator")(this.paginator));},destroy:function(){this.span.parentNode.removeChild(this.span);this.span=null;}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.PageLinks=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("pageLinksChange",this.rebuild,this,true);C.subscribe("pageLinkClassChange",this.rebuild,this,true);C.subscribe("currentPageClassChange",this.rebuild,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("pageLinksContainerClassChange",this.rebuild,this,true);};B.ui.PageLinks.init=function(C){C.setAttributeConfig("pageLinkClass",{value:"yui-pg-page",validator:A.isString});C.setAttributeConfig("currentPageClass",{value:"yui-pg-current-page",validator:A.isString});C.setAttributeConfig("pageLinksContainerClass",{value:"yui-pg-pages",validator:A.isString});C.setAttributeConfig("pageLinks",{value:10,validator:B.isNumeric});C.setAttributeConfig("pageLabelBuilder",{value:function(D,E){return D;},validator:A.isFunction});};B.ui.PageLinks.calculateRange=function(E,F,D){var I=B.VALUE_UNLIMITED,H,C,G;if(!E||D===0||F===0||(F===I&&D===I)){return[0,-1];}if(F!==I){D=D===I?F:Math.min(D,F);}H=Math.max(1,Math.ceil(E-(D/2)));if(F===I){C=H+D-1;}else{C=Math.min(F,H+D-1);}G=D-(C-H+1);H=Math.max(1,H-G);return[H,C];};B.ui.PageLinks.prototype={current:0,container:null,render:function(C){var D=this.paginator; +this.container=document.createElement("span");this.container.id=C+"-pages";this.container.className=D.get("pageLinksContainerClass");YAHOO.util.Event.on(this.container,"click",this.onClick,this,true);this.update({newValue:null,rebuild:true});return this.container;},update:function(J){if(J&&J.prevValue===J.newValue){return;}var E=this.paginator,I=E.getCurrentPage();if(this.current!==I||!I||J.rebuild){var L=E.get("pageLabelBuilder"),H=B.ui.PageLinks.calculateRange(I,E.getTotalPages(),E.get("pageLinks")),D=H[0],F=H[1],K="",C,G;C='<a href="#" class="'+E.get("pageLinkClass")+'" page="';for(G=D;G<=F;++G){if(G===I){K+='<span class="'+E.get("currentPageClass")+" "+E.get("pageLinkClass")+'">'+L(G,E)+"</span>";}else{K+=C+G+'">'+L(G,E)+"</a>";}}this.container.innerHTML=K;}},rebuild:function(C){C.rebuild=true;this.update(C);},destroy:function(){YAHOO.util.Event.purgeElement(this.container,true);this.container.parentNode.removeChild(this.container);this.container=null;},onClick:function(D){var C=YAHOO.util.Event.getTarget(D);if(C&&YAHOO.util.Dom.hasClass(C,this.paginator.get("pageLinkClass"))){YAHOO.util.Event.stopEvent(D);this.paginator.setPage(parseInt(C.getAttribute("page"),10));}}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.FirstPageLink=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("firstPageLinkLabelChange",this.update,this,true);C.subscribe("firstPageLinkClassChange",this.update,this,true);};B.ui.FirstPageLink.init=function(C){C.setAttributeConfig("firstPageLinkLabel",{value:"<< first",validator:A.isString});C.setAttributeConfig("firstPageLinkClass",{value:"yui-pg-first",validator:A.isString});};B.ui.FirstPageLink.prototype={current:null,link:null,span:null,render:function(D){var E=this.paginator,F=E.get("firstPageLinkClass"),C=E.get("firstPageLinkLabel");this.link=document.createElement("a");this.span=document.createElement("span");this.link.id=D+"-first-link";this.link.href="#";this.link.className=F;this.link.innerHTML=C;YAHOO.util.Event.on(this.link,"click",this.onClick,this,true);this.span.id=D+"-first-span";this.span.className=F;this.span.innerHTML=C;this.current=E.getCurrentPage()>1?this.link:this.span;return this.current;},update:function(D){if(D&&D.prevValue===D.newValue){return;}var C=this.current?this.current.parentNode:null;if(this.paginator.getCurrentPage()>1){if(C&&this.current===this.span){C.replaceChild(this.link,this.current);this.current=this.link;}}else{if(C&&this.current===this.link){C.replaceChild(this.span,this.current);this.current=this.span;}}},destroy:function(){YAHOO.util.Event.purgeElement(this.link);this.current.parentNode.removeChild(this.current);this.link=this.span=null;},onClick:function(C){YAHOO.util.Event.stopEvent(C);this.paginator.setPage(1);}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.LastPageLink=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("lastPageLinkLabelChange",this.update,this,true);C.subscribe("lastPageLinkClassChange",this.update,this,true);};B.ui.LastPageLink.init=function(C){C.setAttributeConfig("lastPageLinkLabel",{value:"last >>",validator:A.isString});C.setAttributeConfig("lastPageLinkClass",{value:"yui-pg-last",validator:A.isString});};B.ui.LastPageLink.prototype={current:null,link:null,span:null,na:null,render:function(D){var F=this.paginator,G=F.get("lastPageLinkClass"),C=F.get("lastPageLinkLabel"),E=F.getTotalPages();this.link=document.createElement("a");this.span=document.createElement("span");this.na=this.span.cloneNode(false);this.link.id=D+"-last-link";this.link.href="#";this.link.className=G;this.link.innerHTML=C;YAHOO.util.Event.on(this.link,"click",this.onClick,this,true);this.span.id=D+"-last-span";this.span.className=G;this.span.innerHTML=C;this.na.id=D+"-last-na";switch(E){case B.VALUE_UNLIMITED:this.current=this.na;break;case F.getCurrentPage():this.current=this.span;break;default:this.current=this.link;}return this.current;},update:function(D){if(D&&D.prevValue===D.newValue){return;}var C=this.current?this.current.parentNode:null,E=this.link;if(C){switch(this.paginator.getTotalPages()){case B.VALUE_UNLIMITED:E=this.na;break;case this.paginator.getCurrentPage():E=this.span;break;}if(this.current!==E){C.replaceChild(E,this.current);this.current=E;}}},destroy:function(){YAHOO.util.Event.purgeElement(this.link);this.current.parentNode.removeChild(this.current);this.link=this.span=null;},onClick:function(C){YAHOO.util.Event.stopEvent(C);this.paginator.setPage(this.paginator.getTotalPages());}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.NextPageLink=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("nextPageLinkLabelChange",this.update,this,true);C.subscribe("nextPageLinkClassChange",this.update,this,true);};B.ui.NextPageLink.init=function(C){C.setAttributeConfig("nextPageLinkLabel",{value:"next >",validator:A.isString});C.setAttributeConfig("nextPageLinkClass",{value:"yui-pg-next",validator:A.isString});};B.ui.NextPageLink.prototype={current:null,link:null,span:null,render:function(D){var F=this.paginator,G=F.get("nextPageLinkClass"),C=F.get("nextPageLinkLabel"),E=F.getTotalPages();this.link=document.createElement("a");this.span=document.createElement("span");this.link.id=D+"-next-link";this.link.href="#";this.link.className=G;this.link.innerHTML=C;YAHOO.util.Event.on(this.link,"click",this.onClick,this,true);this.span.id=D+"-next-span";this.span.className=G; +this.span.innerHTML=C;this.current=F.getCurrentPage()===E?this.span:this.link;return this.current;},update:function(E){if(E&&E.prevValue===E.newValue){return;}var D=this.paginator.getTotalPages(),C=this.current?this.current.parentNode:null;if(this.paginator.getCurrentPage()!==D){if(C&&this.current===this.span){C.replaceChild(this.link,this.current);this.current=this.link;}}else{if(this.current===this.link){if(C){C.replaceChild(this.span,this.current);this.current=this.span;}}}},destroy:function(){YAHOO.util.Event.purgeElement(this.link);this.current.parentNode.removeChild(this.current);this.link=this.span=null;},onClick:function(C){YAHOO.util.Event.stopEvent(C);this.paginator.setPage(this.paginator.getNextPage());}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.PreviousPageLink=function(C){this.paginator=C;C.subscribe("recordOffsetChange",this.update,this,true);C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("totalRecordsChange",this.update,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("previousPageLinkLabelChange",this.update,this,true);C.subscribe("previousPageLinkClassChange",this.update,this,true);};B.ui.PreviousPageLink.init=function(C){C.setAttributeConfig("previousPageLinkLabel",{value:"< prev",validator:A.isString});C.setAttributeConfig("previousPageLinkClass",{value:"yui-pg-previous",validator:A.isString});};B.ui.PreviousPageLink.prototype={current:null,link:null,span:null,render:function(D){var E=this.paginator,F=E.get("previousPageLinkClass"),C=E.get("previousPageLinkLabel");this.link=document.createElement("a");this.span=document.createElement("span");this.link.id=D+"-prev-link";this.link.href="#";this.link.className=F;this.link.innerHTML=C;YAHOO.util.Event.on(this.link,"click",this.onClick,this,true);this.span.id=D+"-prev-span";this.span.className=F;this.span.innerHTML=C;this.current=E.getCurrentPage()>1?this.link:this.span;return this.current;},update:function(D){if(D&&D.prevValue===D.newValue){return;}var C=this.current?this.current.parentNode:null;if(this.paginator.getCurrentPage()>1){if(C&&this.current===this.span){C.replaceChild(this.link,this.current);this.current=this.link;}}else{if(C&&this.current===this.link){C.replaceChild(this.span,this.current);this.current=this.span;}}},destroy:function(){YAHOO.util.Event.purgeElement(this.link);this.current.parentNode.removeChild(this.current);this.link=this.span=null;},onClick:function(C){YAHOO.util.Event.stopEvent(C);this.paginator.setPage(this.paginator.getPreviousPage());}};})();(function(){var B=YAHOO.widget.Paginator,A=YAHOO.lang;B.ui.RowsPerPageDropdown=function(C){this.paginator=C;C.subscribe("rowsPerPageChange",this.update,this,true);C.subscribe("rowsPerPageOptionsChange",this.rebuild,this,true);C.subscribe("totalRecordsChange",this._handleTotalRecordsChange,this,true);C.subscribe("destroy",this.destroy,this,true);C.subscribe("rowsPerPageDropdownClassChange",this.rebuild,this,true);};B.ui.RowsPerPageDropdown.init=function(C){C.setAttributeConfig("rowsPerPageOptions",{value:[],validator:A.isArray});C.setAttributeConfig("rowsPerPageDropdownClass",{value:"yui-pg-rpp-options",validator:A.isString});};B.ui.RowsPerPageDropdown.prototype={select:null,all:null,render:function(C){this.select=document.createElement("select");this.select.id=C+"-rpp";this.select.className=this.paginator.get("rowsPerPageDropdownClass");this.select.title="Rows per page";YAHOO.util.Event.on(this.select,"change",this.onChange,this,true);this.rebuild();return this.select;},rebuild:function(J){var C=this.paginator,E=this.select,K=C.get("rowsPerPageOptions"),D,I,F,G,H;this.all=null;for(G=0,H=K.length;G<H;++G){I=K[G];D=E.options[G]||E.appendChild(document.createElement("option"));F=A.isValue(I.value)?I.value:I;D.innerHTML=A.isValue(I.text)?I.text:I;if(A.isString(F)&&F.toLowerCase()==="all"){this.all=D;D.value=C.get("totalRecords");}else{D.value=F;}}while(E.options.length>K.length){E.removeChild(E.firstChild);}this.update();},update:function(G){if(G&&G.prevValue===G.newValue){return;}var F=this.paginator.get("rowsPerPage")+"",D=this.select.options,E,C;for(E=0,C=D.length;E<C;++E){if(D[E].value===F){D[E].selected=true;break;}}},onChange:function(C){this.paginator.setRowsPerPage(parseInt(this.select.options[this.select.selectedIndex].value,10));},_handleTotalRecordsChange:function(C){if(!this.all||(C&&C.prevValue===C.newValue)){return;}this.all.value=C.newValue;if(this.all.selected){this.paginator.set("rowsPerPage",C.newValue);}},destroy:function(){YAHOO.util.Event.purgeElement(this.select);this.select.parentNode.removeChild(this.select);this.select=null;}};})();YAHOO.register("paginator",YAHOO.widget.Paginator,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/profiler/profiler-min.js b/js/yui/profiler/profiler-min.js new file mode 100644 index 0000000000000000000000000000000000000000..0335f88ec6b14977858f69e3e7880925846b7eb1 --- /dev/null +++ b/js/yui/profiler/profiler-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("tool");YAHOO.tool.Profiler=function(){var container={},report={},stopwatches={},WATCH_STARTED=0,WATCH_STOPPED=1,WATCH_PAUSED=2,lang=YAHOO.lang;function createReport(name){report[name]={calls:0,max:0,min:0,avg:0,points:[]};}function saveDataPoint(name,duration){var functionData=report[name];if(!functionData){functionData=createReport(name);}functionData.calls++;functionData.points.push(duration);if(functionData.calls>1){functionData.avg=((functionData.avg*(functionData.calls-1))+duration)/functionData.calls;functionData.min=Math.min(functionData.min,duration);functionData.max=Math.max(functionData.max,duration);}else{functionData.avg=duration;functionData.min=duration;functionData.max=duration;}}return{clear:function(name){if(lang.isString(name)){delete report[name];delete stopwatches[name];}else{report={};stopwatches={};}},getOriginal:function(name){return container[name];},instrument:function(name,method){var newMethod=function(){var start=new Date(),retval=method.apply(this,arguments),stop=new Date();saveDataPoint(name,stop-start);return retval;};lang.augmentObject(newMethod,method);newMethod.__yuiProfiled=true;newMethod.prototype=method.prototype;container[name]=method;container[name].__yuiFuncName=name;createReport(name);return newMethod;},pause:function(name){var now=new Date(),stopwatch=stopwatches[name];if(stopwatch&&stopwatch.state==WATCH_STARTED){stopwatch.total+=(now-stopwatch.start);stopwatch.start=0;stopwatch.state=WATCH_PAUSED;}},start:function(name){if(container[name]){throw new Error("Cannot use '"+name+"' for profiling through start(), name is already in use.");}else{if(!report[name]){createReport(name);}if(!stopwatches[name]){stopwatches[name]={state:WATCH_STOPPED,start:0,total:0};}if(stopwatches[name].state==WATCH_STOPPED){stopwatches[name].state=WATCH_STARTED;stopwatches[name].start=new Date();}}},stop:function(name){var now=new Date(),stopwatch=stopwatches[name];if(stopwatch){if(stopwatch.state==WATCH_STARTED){saveDataPoint(name,stopwatch.total+(now-stopwatch.start));}else{if(stopwatch.state==WATCH_PAUSED){saveDataPoint(name,stopwatch.total);}}stopwatch.start=0;stopwatch.total=0;stopwatch.state=WATCH_STOPPED;}},getAverage:function(name){return report[name].avg;},getCallCount:function(name){return report[name].calls;},getMax:function(name){return report[name].max;},getMin:function(name){return report[name].min;},getFunctionReport:function(name){return report[name];},getReport:function(name){return report[name];},getFullReport:function(filter){filter=filter||function(){return true;};if(lang.isFunction(filter)){var fullReport={};for(var name in report){if(filter(report[name])){fullReport[name]=report[name];}}return fullReport;}},registerConstructor:function(name,owner){this.registerFunction(name,owner,true);},registerFunction:function(name,owner,registerPrototype){var funcName=(name.indexOf(".")>-1?name.substring(name.lastIndexOf(".")+1):name),method,prototype;if(!lang.isObject(owner)){owner=eval(name.substring(0,name.lastIndexOf(".")));}method=owner[funcName];prototype=method.prototype;if(lang.isFunction(method)&&!method.__yuiProfiled){owner[funcName]=this.instrument(name,method);container[name].__yuiOwner=owner;container[name].__yuiFuncName=funcName;if(registerPrototype){this.registerObject(name+".prototype",prototype);}}},registerObject:function(name,object,recurse){object=(lang.isObject(object)?object:eval(name));container[name]=object;for(var prop in object){if(typeof object[prop]=="function"){if(prop!="constructor"&&prop!="superclass"){this.registerFunction(name+"."+prop,object);}}else{if(typeof object[prop]=="object"&&recurse){this.registerObject(name+"."+prop,object[prop],recurse);}}}},unregisterConstructor:function(name){if(lang.isFunction(container[name])){this.unregisterFunction(name,true);}},unregisterFunction:function(name,unregisterPrototype){if(lang.isFunction(container[name])){if(unregisterPrototype){this.unregisterObject(name+".prototype",container[name].prototype);}var owner=container[name].__yuiOwner,funcName=container[name].__yuiFuncName;delete container[name].__yuiOwner;delete container[name].__yuiFuncName;owner[funcName]=container[name];delete container[name];}},unregisterObject:function(name,recurse){if(lang.isObject(container[name])){var object=container[name];for(var prop in object){if(typeof object[prop]=="function"){this.unregisterFunction(name+"."+prop);}else{if(typeof object[prop]=="object"&&recurse){this.unregisterObject(name+"."+prop,recurse);}}}delete container[name];}}};}();YAHOO.register("profiler",YAHOO.tool.Profiler,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/profilerviewer/profilerviewer-min.js b/js/yui/profilerviewer/profilerviewer-min.js new file mode 100644 index 0000000000000000000000000000000000000000..bede2c3e79e1eb92b89f09b6647ec5a7807f4f9a --- /dev/null +++ b/js/yui/profilerviewer/profilerviewer-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){YAHOO.widget.ProfilerViewer=function(H,G){G=G||{};if(arguments.length==1&&!YAHOO.lang.isString(H)&&!H.nodeName){G=H;H=G.element||null;}if(!H&&!G.element){H=this._createProfilerViewerElement();}YAHOO.widget.ProfilerViewer.superclass.constructor.call(this,H,G);this._init();};YAHOO.extend(YAHOO.widget.ProfilerViewer,YAHOO.util.Element);YAHOO.lang.augmentObject(YAHOO.widget.ProfilerViewer,{CLASS:"yui-pv",CLASS_DASHBOARD:"yui-pv-dashboard",CLASS_REFRESH:"yui-pv-refresh",CLASS_BUSY:"yui-pv-busy",CLASS_CHART_CONTAINER:"yui-pv-chartcontainer",CLASS_CHART:"yui-pv-chart",CLASS_CHART_LEGEND:"yui-pv-chartlegend",CLASS_TABLE:"yui-pv-table",STRINGS:{title:"YUI Profiler (beta)",buttons:{viewprofiler:"View Profiler Data",hideprofiler:"Hide Profiler Report",showchart:"Show Chart",hidechart:"Hide Chart",refreshdata:"Refresh Data"},colHeads:{fn:["Function/Method",null],calls:["Calls",40],avg:["Average",80],min:["Shortest",70],max:["Longest",70],total:["Total Time",70],pct:["Percent",70]},millisecondsAbbrev:"ms",initMessage:"initialiazing chart...",installFlashMessage:"Unable to load Flash content. The YUI Charts Control requires Flash Player 9.0.45 or higher. You can download the latest version of Flash Player from the <a href='http://www.adobe.com/go/getflashplayer'>Adobe Flash Player Download Center</a>."},timeAxisLabelFunction:function(H){var G=(H===Math.floor(H))?H:(Math.round(H*1000))/1000;return(G+" "+YAHOO.widget.ProfilerViewer.STRINGS.millisecondsAbbrev);},percentAxisLabelFunction:function(H){var G=(H===Math.floor(H))?H:(Math.round(H*100))/100;return(G+"%");}},true);var C=YAHOO.util.Dom;var A=YAHOO.util.Event;var B=YAHOO.tool.Profiler;var E=YAHOO.widget.ProfilerViewer;var D=E.prototype;D.refreshData=function(){this.fireEvent("dataRefreshEvent");};D.getHeadEl=function(){return(this._headEl)?C.get(this._headEl):false;};D.getBodyEl=function(){return(this._bodyEl)?C.get(this._bodyEl):false;};D.getChartEl=function(){return(this._chartEl)?C.get(this._chartEl):false;};D.getTableEl=function(){return(this._tableEl)?C.get(this._tableEl):false;};D.getDataTable=function(){return this._dataTable;};D.getChart=function(){return this._chart;};D._rendered=false;D._headEl=null;D._bodyEl=null;D._toggleVisibleEl=null;D._busyEl=null;D._busy=false;D._tableEl=null;D._dataTable=null;D._chartEl=null;D._chartLegendEl=null;D._chartElHeight=250;D._chart=null;D._chartInitialized=false;D._init=function(){this.createEvent("dataRefreshEvent");this.createEvent("renderEvent");this.on("dataRefreshEvent",this._refreshDataTable,this,true);this._initLauncherDOM();if(this.get("showChart")){this.on("sortedByChange",this._refreshChart);}};D._createProfilerViewerElement=function(){var G=document.createElement("div");document.body.insertBefore(G,document.body.firstChild);C.addClass(G,this.SKIN_CLASS);C.addClass(G,E.CLASS);return G;};D.toString=function(){return"ProfilerViewer "+(this.get("id")||this.get("tagName"));};D._toggleVisible=function(){var G=(this.get("visible"))?false:true;this.set("visible",G);};D._show=function(){if(!this._busy){this._setBusyState(true);if(!this._rendered){var G=new YAHOO.util.YUILoader();if(this.get("base")){G.base=this.get("base");}var H=["datatable"];if(this.get("showChart")){H.push("charts");}G.insert({require:H,onSuccess:function(){this._render();},scope:this});}else{var I=this.get("element");C.removeClass(I,"yui-pv-minimized");this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.hideprofiler;C.addClass(I,"yui-pv-null");C.removeClass(I,"yui-pv-null");this.refreshData();}}};D._hide=function(){this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.viewprofiler;C.addClass(this.get("element"),"yui-pv-minimized");};D._render=function(){C.removeClass(this.get("element"),"yui-pv-minimized");this._initViewerDOM();this._initDataTable();if(this.get("showChart")){this._initChartDOM();this._initChart();}this._rendered=true;this._toggleVisibleEl.innerHTML=E.STRINGS.buttons.hideprofiler;this.fireEvent("renderEvent");};D._initLauncherDOM=function(){var I=this.get("element");C.addClass(I,E.CLASS);C.addClass(I,"yui-pv-minimized");this._headEl=document.createElement("div");C.addClass(this._headEl,"hd");var H=E.STRINGS.buttons;var G=(this.get("visible"))?H.hideprofiler:H.viewprofiler;this._toggleVisibleEl=this._createButton(G,this._headEl);this._refreshEl=this._createButton(H.refreshdata,this._headEl);C.addClass(this._refreshEl,E.CLASS_REFRESH);this._busyEl=document.createElement("span");this._headEl.appendChild(this._busyEl);var J=document.createElement("h4");J.innerHTML=E.STRINGS.title;this._headEl.appendChild(J);I.appendChild(this._headEl);A.on(this._toggleVisibleEl,"click",this._toggleVisible,this,true);A.on(this._refreshEl,"click",function(){if(!this._busy){this._setBusyState(true);this.fireEvent("dataRefreshEvent");}},this,true);};D._initViewerDOM=function(){var G=this.get("element");this._bodyEl=document.createElement("div");C.addClass(this._bodyEl,"bd");this._tableEl=document.createElement("div");C.addClass(this._tableEl,E.CLASS_TABLE);this._bodyEl.appendChild(this._tableEl);G.appendChild(this._bodyEl);};D._initChartDOM=function(){this._chartContainer=document.createElement("div");C.addClass(this._chartContainer,E.CLASS_CHART_CONTAINER);var H=document.createElement("div");C.addClass(H,E.CLASS_CHART_LEGEND);var G=document.createElement("div");this._chartLegendEl=document.createElement("dl");this._chartLegendEl.innerHTML="<dd>"+E.STRINGS.initMessage+"</dd>";this._chartEl=document.createElement("div");C.addClass(this._chartEl,E.CLASS_CHART);var I=document.createElement("p");I.innerHTML=E.STRINGS.installFlashMessage;this._chartEl.appendChild(I);this._chartContainer.appendChild(H);H.appendChild(G);G.appendChild(this._chartLegendEl);this._chartContainer.appendChild(this._chartEl);this._bodyEl.insertBefore(this._chartContainer,this._tableEl);};D._createButton=function(I,J,H){var G=document.createElement("a");G.innerHTML=G.title=I;if(J){if(!H){J.appendChild(G);}else{J.insertBefore(G,J.firstChild);}}return G;};D._setBusyState=function(G){if(G){C.addClass(this._busyEl,E.CLASS_BUSY); +this._busy=true;}else{C.removeClass(this._busyEl,E.CLASS_BUSY);this._busy=false;}};D._genSortFunction=function(H,G){var J=H;var I=G;return function(L,K){if(I==YAHOO.widget.DataTable.CLASS_ASC){return L[J]-K[J];}else{return((L[J]-K[J])*-1);}};};var F=function(G){var I=0;for(var H=0;H<G.length;I+=G[H++]){}return I;};D._getProfilerData=function(){var L=B.getFullReport();var N=[];var H=0;for(name in L){if(YAHOO.lang.hasOwnProperty(L,name)){var G=L[name];var I={};I.fn=name;I.points=G.points.slice();I.calls=G.calls;I.min=G.min;I.max=G.max;I.avg=G.avg;I.total=F(I.points);I.points=G.points;var P=this.get("filter");if((!P)||(P(I))){N.push(I);H+=I.total;}}}for(var M=0,K=N.length;M<K;M++){N[M].pct=(H)?(N[M].total*100)/H:0;}var O=this.get("sortedBy");var Q=O.key;var J=O.dir;N.sort(this._genSortFunction(Q,J));return N;};D._initDataTable=function(){var P=this;this._dataSource=new YAHOO.util.DataSource(function(){return P._getProfilerData.call(P);},{responseType:YAHOO.util.DataSource.TYPE_JSARRAY,maxCacheEntries:0});var H=this._dataSource;H.responseSchema={fields:["fn","avg","calls","max","min","total","pct","points"]};var O=function(S,R,T,U){var Q=(U===Math.floor(U))?U:(Math.round(U*1000))/1000;S.innerHTML=Q+" "+E.STRINGS.millisecondsAbbrev;};var N=function(S,R,T,U){var Q=(U===Math.floor(U))?U:(Math.round(U*100))/100;S.innerHTML=Q+"%";};var M=YAHOO.widget.DataTable.CLASS_ASC;var J=YAHOO.widget.DataTable.CLASS_DESC;var K=E.STRINGS.colHeads;var I=O;var L=[{key:"fn",sortable:true,label:K.fn[0],sortOptions:{defaultDir:M},resizeable:(YAHOO.util.DragDrop)?true:false,minWidth:K.fn[1]},{key:"calls",sortable:true,label:K.calls[0],sortOptions:{defaultDir:J},width:K.calls[1]},{key:"avg",sortable:true,label:K.avg[0],sortOptions:{defaultDir:J},formatter:I,width:K.avg[1]},{key:"min",sortable:true,label:K.min[0],sortOptions:{defaultDir:M},formatter:I,width:K.min[1]},{key:"max",sortable:true,label:K.max[0],sortOptions:{defaultDir:J},formatter:I,width:K.max[1]},{key:"total",sortable:true,label:K.total[0],sortOptions:{defaultDir:J},formatter:I,width:K.total[1]},{key:"pct",sortable:true,label:K.pct[0],sortOptions:{defaultDir:J},formatter:N,width:K.pct[1]}];this._dataTable=new YAHOO.widget.DataTable(this._tableEl,L,H,{scrollable:true,height:this.get("tableHeight"),initialRequest:null,sortedBy:{key:"total",dir:YAHOO.widget.DataTable.CLASS_DESC}});var G=this._dataTable;G.subscribe("sortedByChange",this._sortedByChange,this,true);G.subscribe("renderEvent",this._dataTableRenderHandler,this,true);G.subscribe("initEvent",this._dataTableRenderHandler,this,true);A.on(this._tableEl.getElementsByTagName("th"),"click",this._thClickHandler,this,true);};D._sortedByChange=function(G){if(G.newValue&&G.newValue.key){this.set("sortedBy",{key:G.newValue.key,dir:G.newValue.dir});}};D._dataTableRenderHandler=function(G){this._setBusyState(false);};D._thClickHandler=function(G){this._setBusyState(true);};D._refreshDataTable=function(G){var H=this._dataTable;H.getDataSource().sendRequest("",H.onDataReturnInitializeTable,H);};D._refreshChart=function(){switch(this.get("sortedBy").key){case"fn":this._chart.set("dataSource",this._chart.get("dataSource"));return;case"calls":this._chart.set("xAxis",this._chartAxisDefinitionPlain);break;case"pct":this._chart.set("xAxis",this._chartAxisDefinitionPercent);break;default:this._chart.set("xAxis",this._chartAxisDefinitionTime);break;}this._drawChartLegend();this._chart.set("series",this._getSeriesDef(this.get("sortedBy").key));};D._getChartData=function(){var H=this._dataTable.getRecordSet().getRecords(0,this.get("maxChartFunctions"));var G=[];for(var J=0,I=H.length;J<I;J++){G.push(H[J].getData());}return G;};D._getSeriesDef=function(K){var J=this.get("chartSeriesDefinitions")[K];var G=[];for(var I=0,H=J.group.length;I<H;I++){var L=this.get("chartSeriesDefinitions")[J.group[I]];G.push({displayName:L.displayName,xField:L.xField,style:{color:L.style.color,size:L.style.size}});}return G;};D._initChart=function(){this._sizeChartCanvas();YAHOO.widget.Chart.SWFURL=this.get("swfUrl");var G=this;var H=new YAHOO.util.DataSource(function(){return G._getChartData.call(G);},{responseType:YAHOO.util.DataSource.TYPE_JSARRAY,maxCacheEntries:0});H.responseSchema={fields:["fn","avg","calls","max","min","total","pct"]};H.subscribe("responseEvent",this._sizeChartCanvas,this,true);this._chartAxisDefinitionTime=new YAHOO.widget.NumericAxis();this._chartAxisDefinitionTime.labelFunction="YAHOO.widget.ProfilerViewer.timeAxisLabelFunction";this._chartAxisDefinitionPercent=new YAHOO.widget.NumericAxis();this._chartAxisDefinitionPercent.labelFunction="YAHOO.widget.ProfilerViewer.percentAxisLabelFunction";this._chartAxisDefinitionPlain=new YAHOO.widget.NumericAxis();this._chart=new YAHOO.widget.BarChart(this._chartEl,H,{yField:"fn",series:this._getSeriesDef(this.get("sortedBy").key),style:this.get("chartStyle"),xAxis:this._chartAxisDefinitionTime});this._drawChartLegend();this._chartInitialized=true;this._dataTable.unsubscribe("initEvent",this._initChart,this);this._dataTable.subscribe("initEvent",this._refreshChart,this,true);};D._drawChartLegend=function(){var M=this.get("chartSeriesDefinitions");var I=M[this.get("sortedBy").key];var H=this._chartLegendEl;H.innerHTML="";for(var K=0,J=I.group.length;K<J;K++){var N=M[I.group[K]];var L=document.createElement("dt");C.setStyle(L,"backgroundColor","#"+N.style.color);var G=document.createElement("dd");G.innerHTML=N.displayName;H.appendChild(L);H.appendChild(G);}};D._sizeChartCanvas=function(I){var G=(I)?I.response.length:this.get("maxChartFunctions");var H=(G*36)+34;if(H!=parseInt(this._chartElHeight,10)){this._chartElHeight=H;C.setStyle(this._chartEl,"height",H+"px");}};D.initAttributes=function(G){YAHOO.widget.ProfilerViewer.superclass.initAttributes.call(this,G);this.setAttributeConfig("base",{value:G.base});this.setAttributeConfig("tableHeight",{value:G.tableHeight||"15em",method:function(H){if(this._dataTable){this._dataTable.set("height",H);}}});this.setAttributeConfig("sortedBy",{value:G.sortedBy||{key:"total",dir:"yui-dt-desc"}}); +this.setAttributeConfig("filter",{value:G.filter||null,validator:YAHOO.lang.isFunction});this.setAttributeConfig("swfUrl",{value:G.swfUrl||"http://yui.yahooapis.com/2.5.0/build/charts/assets/charts.swf"});this.setAttributeConfig("maxChartFunctions",{value:G.maxChartFunctions||6,method:function(H){if(this._rendered){this._sizeChartCanvas();}},validator:YAHOO.lang.isNumber});this.setAttributeConfig("chartStyle",{value:G.chartStyle||{font:{name:"Arial",color:15658588,size:12},background:{color:"6e6e63"}},method:function(){if(this._rendered&&this.get("showChart")){this._refreshChart();}}});this.setAttributeConfig("chartSeriesDefinitions",{value:G.chartSeriesDefinitions||{total:{displayName:E.STRINGS.colHeads.total[0],xField:"total",style:{color:"4d95dd",size:20},group:["total"]},calls:{displayName:E.STRINGS.colHeads.calls[0],xField:"calls",style:{color:"edff9f",size:20},group:["calls"]},avg:{displayName:E.STRINGS.colHeads.avg[0],xField:"avg",style:{color:"209daf",size:9},group:["avg","min","max"]},min:{displayName:E.STRINGS.colHeads.min[0],xField:"min",style:{color:"b6ecf4",size:9},group:["avg","min","max"]},max:{displayName:E.STRINGS.colHeads.max[0],xField:"max",style:{color:"29c7de",size:9},group:["avg","min","max"]},pct:{displayName:E.STRINGS.colHeads.pct[0],xField:"pct",style:{color:"C96EDB",size:20},group:["pct"]}},method:function(){if(this._rendered&&this.get("showChart")){this._refreshChart();}}});this.setAttributeConfig("visible",{value:G.visible||false,validator:YAHOO.lang.isBoolean,method:function(H){if(H){this._show();}else{if(this._rendered){this._hide();}}}});this.setAttributeConfig("showChart",{value:G.showChart||true,validator:YAHOO.lang.isBoolean,writeOnce:true});YAHOO.widget.ProfilerViewer.superclass.initAttributes.call(this,G);};})();YAHOO.register("profilerviewer",YAHOO.widget.ProfilerViewer,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/progressbar/progressbar-min.js b/js/yui/progressbar/progressbar-min.js new file mode 100644 index 0000000000000000000000000000000000000000..d5ba6f784a75a7cf16a1b7e11bd5b4d2ae509533 --- /dev/null +++ b/js/yui/progressbar/progressbar-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var B=YAHOO.util.Dom,H=YAHOO.lang,X="yui-pb",Z=X+"-mask",W=X+"-bar",V=X+"-anim",M=X+"-tl",K=X+"-tr",J=X+"-bl",F=X+"-br",G="width",S="height",L="minValue",U="maxValue",I="value",A="anim",T="direction",D="ltr",P="rtl",d="ttb",O="btt",E="barEl",C="maskEl",R="ariaTextTemplate",Y="start",c="progress",Q="complete";var N=function(b){N.superclass.constructor.call(this,document.createElement("div"),b);this._init(b);};YAHOO.widget.ProgressBar=N;N.MARKUP=['<div class="',W,'"></div><div class="',Z,'"><div class="',M,'"></div><div class="',K,'"></div><div class="',J,'"></div><div class="',F,'"></div></div>'].join("");H.extend(N,YAHOO.util.Element,{_init:function(b){},initAttributes:function(f){N.superclass.initAttributes.call(this,f);this.set("innerHTML",N.MARKUP);this.addClass(X);var e,b=["id",G,S,"class","style"];while((e=b.pop())){if(e in f){this.set(e,f[e]);}}this.setAttributeConfig(E,{readOnly:true,value:this.getElementsByClassName(W)[0]});this.setAttributeConfig(C,{readOnly:true,value:this.getElementsByClassName(Z)[0]});this.setAttributeConfig(T,{value:D,validator:function(g){if(this._rendered){return false;}switch(g){case D:case P:case d:case O:return true;default:return false;}},method:function(g){this._barSizeFunction=this._barSizeFunctions[this.get(A)?1:0][g];}});this.setAttributeConfig(U,{value:100,validator:H.isNumber,method:function(g){this.get("element").setAttribute("aria-valuemax",g);if(this.get(I)>g){this.set(I,g);}}});this.setAttributeConfig(L,{value:0,validator:H.isNumber,method:function(g){this.get("element").setAttribute("aria-valuemin",g);if(this.get(I)<g){this.set(I,g);}}});this.setAttributeConfig(G,{getter:function(){return this.getStyle(G);},method:this._widthChange});this.setAttributeConfig(S,{getter:function(){return this.getStyle(S);},method:this._heightChange});this.setAttributeConfig(R,{value:"{value}"});this.setAttributeConfig(I,{value:0,validator:function(g){return H.isNumber(g)&&g>=this.get(L)&&g<=this.get(U);},method:this._valueChange});this.setAttributeConfig(A,{validator:function(g){return !!YAHOO.util.Anim;},setter:this._animSetter});},render:function(e,f){if(this._rendered){return;}this._rendered=true;var g=this.get(T);this.addClass(X);this.addClass(X+"-"+g);var b=this.get("element");b.tabIndex=0;b.setAttribute("role","progressbar");b.setAttribute("aria-valuemin",this.get(L));b.setAttribute("aria-valuemax",this.get(U));this.appendTo(e,f);this._barSizeFunction=this._barSizeFunctions[0][g];this.redraw();this._previousValue=this.get(I);this._fixEdges();if(this.get(A)){this._barSizeFunction=this._barSizeFunctions[1][g];}this.on("minValueChange",this.redraw);this.on("maxValueChange",this.redraw);return this;},redraw:function(){this._recalculateConstants();this._valueChange(this.get(I));},destroy:function(){this.set(A,false);this.unsubscribeAll();var b=this.get("element");if(b.parentNode){b.parentNode.removeChild(b);}},_previousValue:0,_barSpace:100,_barFactor:1,_rendered:false,_barSizeFunction:null,_heightChange:function(b){if(H.isNumber(b)){b+="px";}this.setStyle(S,b);this._fixEdges();this.redraw();},_widthChange:function(b){if(H.isNumber(b)){b+="px";}this.setStyle(G,b);this._fixEdges();this.redraw();},_fixEdges:function(){if(!this._rendered||YAHOO.env.ua.ie||YAHOO.env.ua.gecko){return;}var g=this.get(C),i=B.getElementsByClassName(M,undefined,g)[0],f=B.getElementsByClassName(K,undefined,g)[0],h=B.getElementsByClassName(J,undefined,g)[0],e=B.getElementsByClassName(F,undefined,g)[0],b=(parseInt(B.getStyle(g,S),10)-parseInt(B.getStyle(i,S),10))+"px";B.setStyle(h,S,b);B.setStyle(e,S,b);b=(parseInt(B.getStyle(g,G),10)-parseInt(B.getStyle(i,G),10))+"px";B.setStyle(f,G,b);B.setStyle(e,G,b);},_recalculateConstants:function(){var b=this.get(E);switch(this.get(T)){case D:case P:this._barSpace=parseInt(this.get(G),10)-(parseInt(B.getStyle(b,"marginLeft"),10)||0)-(parseInt(B.getStyle(b,"marginRight"),10)||0);break;case d:case O:this._barSpace=parseInt(this.get(S),10)-(parseInt(B.getStyle(b,"marginTop"),10)||0)-(parseInt(B.getStyle(b,"marginBottom"),10)||0);break;}this._barFactor=this._barSpace/(this.get(U)-(this.get(L)||0))||1;},_animSetter:function(g){var f,b=this.get(E);if(g){if(g instanceof YAHOO.util.Anim){f=g;}else{f=new YAHOO.util.Anim(b);}f.onTween.subscribe(this._animOnTween,this,true);f.onComplete.subscribe(this._animComplete,this,true);var h=f.setAttribute,e=this;switch(this.get(T)){case O:f.setAttribute=function(i,k,j){k=Math.round(k);h.call(this,i,k,j);B.setStyle(b,"top",(e._barSpace-k)+"px");};break;case P:f.setAttribute=function(i,k,j){k=Math.round(k);h.call(this,i,k,j);B.setStyle(b,"left",(e._barSpace-k)+"px");};break;}}else{f=this.get(A);if(f){f.onTween.unsubscribeAll();f.onComplete.unsubscribeAll();}f=null;}this._barSizeFunction=this._barSizeFunctions[f?1:0][this.get(T)];return f;},_animComplete:function(){var b=this.get(I);this._previousValue=b;this.fireEvent(c,b);this.fireEvent(Q,b);B.removeClass(this.get(E),V);},_animOnTween:function(b,e){var f=Math.floor(this._tweenFactor*e[0].currentFrame+this._previousValue);this.fireEvent(c,f);},_valueChange:function(g){var f=this.get(A),b=Math.floor((g-this.get(L))*this._barFactor),e=this.get(E);this._setAriaText(g);if(this._rendered){if(f){f.stop();if(f.isAnimated()){f._onComplete.fire();}}this.fireEvent(Y,this._previousValue);this._barSizeFunction(g,b,e,f);}},_setAriaText:function(e){var b=this.get("element"),f=H.substitute(this.get(R),{value:e,minValue:this.get(L),maxValue:this.get(U)});b.setAttribute("aria-valuenow",e);b.setAttribute("aria-valuetext",f);}});var a=[{},{}];N.prototype._barSizeFunctions=a;a[0][D]=function(g,b,e,f){B.setStyle(e,G,b+"px");this.fireEvent(c,g);this.fireEvent(Q,g);};a[0][P]=function(g,b,e,f){B.setStyle(e,G,b+"px");B.setStyle(e,"left",(this._barSpace-b)+"px");this.fireEvent(c,g);this.fireEvent(Q,g);};a[0][d]=function(g,b,e,f){B.setStyle(e,S,b+"px");this.fireEvent(c,g);this.fireEvent(Q,g);};a[0][O]=function(g,b,e,f){B.setStyle(e,S,b+"px");B.setStyle(e,"top",(this._barSpace-b)+"px"); +this.fireEvent(c,g);this.fireEvent(Q,g);};a[1][D]=function(g,b,e,f){B.addClass(e,V);this._tweenFactor=(g-this._previousValue)/f.totalFrames/f.duration;f.attributes={width:{to:b}};f.animate();};a[1][P]=a[1][D];a[1][d]=function(g,b,e,f){B.addClass(e,V);this._tweenFactor=(g-this._previousValue)/f.totalFrames/f.duration;f.attributes={height:{to:b}};f.animate();};a[1][O]=a[1][d];})();YAHOO.register("progressbar",YAHOO.widget.ProgressBar,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/reset-fonts-grids/reset-fonts-grids.css b/js/yui/reset-fonts-grids/reset-fonts-grids.css new file mode 100644 index 0000000000000000000000000000000000000000..03c7d9d85210f489431a59625a75e610718f7a93 --- /dev/null +++ b/js/yui/reset-fonts-grids/reset-fonts-grids.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto 10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 #yui-main,.yui-t2 #yui-main,.yui-t3 #yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 #yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 .yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main .yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 .yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main .yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 .yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main .yui-b{margin-left:24.0769em;*margin-left:23.62em;}.yui-t4 .yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main .yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 .yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main .yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 .yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main .yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main .yui-b{display:block;margin:0 0 1em 0;}#yui-main .yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc .yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf .yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first,.yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g .yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb .yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb .yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{width:32%;margin-left:1.99%;}.yui-gb .yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd .yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf .yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g .yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g .yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb div.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb .yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb .yui-u{_margin-left:1.0%;}.yui-gb .yui-gd .yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc .yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb .yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g .yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge .yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-ge div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb .yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb .yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd .yui-u{width:65%;}.yui-ge div.first .yui-gd div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;} \ No newline at end of file diff --git a/js/yui/reset-fonts/reset-fonts.css b/js/yui/reset-fonts/reset-fonts.css new file mode 100644 index 0000000000000000000000000000000000000000..7daacaf3c978f9beec3e4f6bb1e2339bd305e445 --- /dev/null +++ b/js/yui/reset-fonts/reset-fonts.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99% arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;} \ No newline at end of file diff --git a/js/yui/reset/reset-min.css b/js/yui/reset/reset-min.css new file mode 100644 index 0000000000000000000000000000000000000000..0d1757b928c83ba8d2b7d09851bab7e0412c3ecf --- /dev/null +++ b/js/yui/reset/reset-min.css @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;} \ No newline at end of file diff --git a/js/yui/reset/reset.css b/js/yui/reset/reset.css new file mode 100644 index 0000000000000000000000000000000000000000..60d6a2a8be77b5f20b7e6cd13560f62001a0a60b --- /dev/null +++ b/js/yui/reset/reset.css @@ -0,0 +1,142 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +/** + * YUI Reset + * @module reset + * @namespace + * @requires + */ +html { + color: #000; + background: #FFF; +} + +body, +div, +dl, +dt, +dd, +ul, +ol, +li, +h1, +h2, +h3, +h4, +h5, +h6, +pre, +code, +form, +fieldset, +legend, +input, +button, +textarea, +p, +blockquote, +th, +td { + margin: 0; + padding: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +fieldset, +img { + border: 0; +} + +address, +caption, +cite, +code, +dfn, +em, +strong, +th, +var, +optgroup { + font-style: inherit; + font-weight: inherit; +} + +del, +ins { + text-decoration: none; +} + +li { + list-style: none; +} + +caption, +th { + text-align: left; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; +} + +q:before, +q:after { + content: ''; +} + +abbr, +acronym { + border: 0; + font-variant: normal; +} + +sup { + vertical-align: baseline; +} + +sub { + vertical-align: baseline; +} + +/*because legend doesn't inherit in IE */ +legend { + color: #000; +} + +input, +button, +textarea, +select, +optgroup, +option { + font-family: inherit; + font-size: inherit; + font-style: inherit; + font-weight: inherit; +} + +/*@purpose To enable resizing for IE */ +/*@branch For IE6-Win, IE7-Win */ +input, +button, +textarea, +select { + *font-size: 100%; +} + + + diff --git a/js/yui/resize/resize-min.js b/js/yui/resize/resize-min.js new file mode 100644 index 0000000000000000000000000000000000000000..1cf7bab5d1056a9b2f1054e8a5d9b8eee0965d34 --- /dev/null +++ b/js/yui/resize/resize-min.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var E=YAHOO.util.Dom,A=YAHOO.util.Event,C=YAHOO.lang;var B=function(F,D){var G={element:F,attributes:D||{}};B.superclass.constructor.call(this,G.element,G.attributes);};B._instances={};B.getResizeById=function(D){if(B._instances[D]){return B._instances[D];}return false;};YAHOO.extend(B,YAHOO.util.Element,{CSS_RESIZE:"yui-resize",CSS_DRAG:"yui-draggable",CSS_HOVER:"yui-resize-hover",CSS_PROXY:"yui-resize-proxy",CSS_WRAP:"yui-resize-wrap",CSS_KNOB:"yui-resize-knob",CSS_HIDDEN:"yui-resize-hidden",CSS_HANDLE:"yui-resize-handle",CSS_STATUS:"yui-resize-status",CSS_GHOST:"yui-resize-ghost",CSS_RESIZING:"yui-resize-resizing",_resizeEvent:null,dd:null,browser:YAHOO.env.ua,_locked:null,_positioned:null,_dds:null,_wrap:null,_proxy:null,_handles:null,_currentHandle:null,_currentDD:null,_cache:null,_active:null,_createProxy:function(){if(this.get("proxy")){this._proxy=document.createElement("div");this._proxy.className=this.CSS_PROXY;this._proxy.style.height=this.get("element").clientHeight+"px";this._proxy.style.width=this.get("element").clientWidth+"px";this._wrap.parentNode.appendChild(this._proxy);}else{this.set("animate",false);}},_createWrap:function(){this._positioned=false;if(this.get("wrap")===false){switch(this.get("element").tagName.toLowerCase()){case"img":case"textarea":case"input":case"iframe":case"select":this.set("wrap",true);break;}}if(this.get("wrap")===true){this._wrap=document.createElement("div");this._wrap.id=this.get("element").id+"_wrap";this._wrap.className=this.CSS_WRAP;if(this.get("element").tagName.toLowerCase()=="textarea"){E.addClass(this._wrap,"yui-resize-textarea");}E.setStyle(this._wrap,"width",this.get("width")+"px");E.setStyle(this._wrap,"height",this.get("height")+"px");E.setStyle(this._wrap,"z-index",this.getStyle("z-index"));this.setStyle("z-index",0);var F=E.getStyle(this.get("element"),"position");E.setStyle(this._wrap,"position",((F=="static")?"relative":F));E.setStyle(this._wrap,"top",E.getStyle(this.get("element"),"top"));E.setStyle(this._wrap,"left",E.getStyle(this.get("element"),"left"));if(E.getStyle(this.get("element"),"position")=="absolute"){this._positioned=true;E.setStyle(this.get("element"),"position","relative");E.setStyle(this.get("element"),"top","0");E.setStyle(this.get("element"),"left","0");}var D=this.get("element").parentNode;D.replaceChild(this._wrap,this.get("element"));this._wrap.appendChild(this.get("element"));}else{this._wrap=this.get("element");if(E.getStyle(this._wrap,"position")=="absolute"){this._positioned=true;}}if(this.get("draggable")){this._setupDragDrop();}if(this.get("hover")){E.addClass(this._wrap,this.CSS_HOVER);}if(this.get("knobHandles")){E.addClass(this._wrap,this.CSS_KNOB);}if(this.get("hiddenHandles")){E.addClass(this._wrap,this.CSS_HIDDEN);}E.addClass(this._wrap,this.CSS_RESIZE);},_setupDragDrop:function(){E.addClass(this._wrap,this.CSS_DRAG);this.dd=new YAHOO.util.DD(this._wrap,this.get("id")+"-resize",{dragOnly:true,useShim:this.get("useShim")});this.dd.on("dragEvent",function(){this.fireEvent("dragEvent",arguments);},this,true);},_createHandles:function(){this._handles={};this._dds={};var G=this.get("handles");for(var F=0;F<G.length;F++){this._handles[G[F]]=document.createElement("div");this._handles[G[F]].id=E.generateId(this._handles[G[F]]);this._handles[G[F]].className=this.CSS_HANDLE+" "+this.CSS_HANDLE+"-"+G[F];var D=document.createElement("div");D.className=this.CSS_HANDLE+"-inner-"+G[F];this._handles[G[F]].appendChild(D);this._wrap.appendChild(this._handles[G[F]]);A.on(this._handles[G[F]],"mouseover",this._handleMouseOver,this,true);A.on(this._handles[G[F]],"mouseout",this._handleMouseOut,this,true);this._dds[G[F]]=new YAHOO.util.DragDrop(this._handles[G[F]],this.get("id")+"-handle-"+G,{useShim:this.get("useShim")});this._dds[G[F]].setPadding(15,15,15,15);this._dds[G[F]].on("startDragEvent",this._handleStartDrag,this._dds[G[F]],this);this._dds[G[F]].on("mouseDownEvent",this._handleMouseDown,this._dds[G[F]],this);}this._status=document.createElement("span");this._status.className=this.CSS_STATUS;document.body.insertBefore(this._status,document.body.firstChild);},_ieSelectFix:function(){return false;},_ieSelectBack:null,_setAutoRatio:function(D){if(this.get("autoRatio")){if(D&&D.shiftKey){this.set("ratio",true);}else{this.set("ratio",this._configs.ratio._initialConfig.value);}}},_handleMouseDown:function(D){if(this._locked){return false;}if(E.getStyle(this._wrap,"position")=="absolute"){this._positioned=true;}if(D){this._setAutoRatio(D);}if(this.browser.ie){this._ieSelectBack=document.body.onselectstart;document.body.onselectstart=this._ieSelectFix;}},_handleMouseOver:function(G){if(this._locked){return false;}E.removeClass(this._wrap,this.CSS_RESIZE);if(this.get("hover")){E.removeClass(this._wrap,this.CSS_HOVER);}var D=A.getTarget(G);if(!E.hasClass(D,this.CSS_HANDLE)){D=D.parentNode;}if(E.hasClass(D,this.CSS_HANDLE)&&!this._active){E.addClass(D,this.CSS_HANDLE+"-active");for(var F in this._handles){if(C.hasOwnProperty(this._handles,F)){if(this._handles[F]==D){E.addClass(D,this.CSS_HANDLE+"-"+F+"-active");break;}}}}E.addClass(this._wrap,this.CSS_RESIZE);},_handleMouseOut:function(G){E.removeClass(this._wrap,this.CSS_RESIZE);if(this.get("hover")&&!this._active){E.addClass(this._wrap,this.CSS_HOVER);}var D=A.getTarget(G);if(!E.hasClass(D,this.CSS_HANDLE)){D=D.parentNode;}if(E.hasClass(D,this.CSS_HANDLE)&&!this._active){E.removeClass(D,this.CSS_HANDLE+"-active");for(var F in this._handles){if(C.hasOwnProperty(this._handles,F)){if(this._handles[F]==D){E.removeClass(D,this.CSS_HANDLE+"-"+F+"-active");break;}}}}E.addClass(this._wrap,this.CSS_RESIZE);},_handleStartDrag:function(G,F){var D=F.getDragEl();if(E.hasClass(D,this.CSS_HANDLE)){if(E.getStyle(this._wrap,"position")=="absolute"){this._positioned=true;}this._active=true;this._currentDD=F;if(this._proxy){this._proxy.style.visibility="visible";this._proxy.style.zIndex="1000";this._proxy.style.height=this.get("element").clientHeight+"px";this._proxy.style.width=this.get("element").clientWidth+"px"; +}for(var H in this._handles){if(C.hasOwnProperty(this._handles,H)){if(this._handles[H]==D){this._currentHandle=H;var I="_handle_for_"+H;E.addClass(D,this.CSS_HANDLE+"-"+H+"-active");F.on("dragEvent",this[I],this,true);F.on("mouseUpEvent",this._handleMouseUp,this,true);break;}}}E.addClass(D,this.CSS_HANDLE+"-active");if(this.get("proxy")){var J=E.getXY(this.get("element"));E.setXY(this._proxy,J);if(this.get("ghost")){this.addClass(this.CSS_GHOST);}}E.addClass(this._wrap,this.CSS_RESIZING);this._setCache();this._updateStatus(this._cache.height,this._cache.width,this._cache.top,this._cache.left);this.fireEvent("startResize",{type:"startresize",target:this});}},_setCache:function(){this._cache.xy=E.getXY(this._wrap);E.setXY(this._wrap,this._cache.xy);this._cache.height=this.get("clientHeight");this._cache.width=this.get("clientWidth");this._cache.start.height=this._cache.height;this._cache.start.width=this._cache.width;this._cache.start.top=this._cache.xy[1];this._cache.start.left=this._cache.xy[0];this._cache.top=this._cache.xy[1];this._cache.left=this._cache.xy[0];this.set("height",this._cache.height,true);this.set("width",this._cache.width,true);},_handleMouseUp:function(F){this._active=false;var G="_handle_for_"+this._currentHandle;this._currentDD.unsubscribe("dragEvent",this[G],this,true);this._currentDD.unsubscribe("mouseUpEvent",this._handleMouseUp,this,true);if(this._proxy){this._proxy.style.visibility="hidden";this._proxy.style.zIndex="-1";if(this.get("setSize")){this.resize(F,this._cache.height,this._cache.width,this._cache.top,this._cache.left,true);}else{this.fireEvent("resize",{ev:"resize",target:this,height:this._cache.height,width:this._cache.width,top:this._cache.top,left:this._cache.left});}if(this.get("ghost")){this.removeClass(this.CSS_GHOST);}}if(this.get("hover")){E.addClass(this._wrap,this.CSS_HOVER);}if(this._status){E.setStyle(this._status,"display","none");}if(this.browser.ie){document.body.onselectstart=this._ieSelectBack;}if(this.browser.ie){E.removeClass(this._wrap,this.CSS_RESIZE);}for(var D in this._handles){if(C.hasOwnProperty(this._handles,D)){E.removeClass(this._handles[D],this.CSS_HANDLE+"-active");}}if(this.get("hover")&&!this._active){E.addClass(this._wrap,this.CSS_HOVER);}E.removeClass(this._wrap,this.CSS_RESIZING);E.removeClass(this._handles[this._currentHandle],this.CSS_HANDLE+"-"+this._currentHandle+"-active");E.removeClass(this._handles[this._currentHandle],this.CSS_HANDLE+"-active");if(this.browser.ie){E.addClass(this._wrap,this.CSS_RESIZE);}this._resizeEvent=null;this._currentHandle=null;if(!this.get("animate")){this.set("height",this._cache.height,true);this.set("width",this._cache.width,true);}this.fireEvent("endResize",{ev:"endResize",target:this,height:this._cache.height,width:this._cache.width,top:this._cache.top,left:this._cache.left});},_setRatio:function(K,N,Q,I){var O=K,G=N;if(this.get("ratio")){var P=this._cache.height,H=this._cache.width,F=parseInt(this.get("height"),10),L=parseInt(this.get("width"),10),M=this.get("maxHeight"),R=this.get("minHeight"),D=this.get("maxWidth"),J=this.get("minWidth");switch(this._currentHandle){case"l":K=F*(N/L);K=Math.min(Math.max(R,K),M);N=L*(K/F);Q=(this._cache.start.top-(-((F-K)/2)));I=(this._cache.start.left-(-((L-N))));break;case"r":K=F*(N/L);K=Math.min(Math.max(R,K),M);N=L*(K/F);Q=(this._cache.start.top-(-((F-K)/2)));break;case"t":N=L*(K/F);K=F*(N/L);I=(this._cache.start.left-(-((L-N)/2)));Q=(this._cache.start.top-(-((F-K))));break;case"b":N=L*(K/F);K=F*(N/L);I=(this._cache.start.left-(-((L-N)/2)));break;case"bl":K=F*(N/L);N=L*(K/F);I=(this._cache.start.left-(-((L-N))));break;case"br":K=F*(N/L);N=L*(K/F);break;case"tl":K=F*(N/L);N=L*(K/F);I=(this._cache.start.left-(-((L-N))));Q=(this._cache.start.top-(-((F-K))));break;case"tr":K=F*(N/L);N=L*(K/F);I=(this._cache.start.left);Q=(this._cache.start.top-(-((F-K))));break;}O=this._checkHeight(K);G=this._checkWidth(N);if((O!=K)||(G!=N)){Q=0;I=0;if(O!=K){G=this._cache.width;}if(G!=N){O=this._cache.height;}}}return[O,G,Q,I];},_updateStatus:function(K,G,J,F){if(this._resizeEvent&&(!C.isString(this._resizeEvent))){K=((K===0)?this._cache.start.height:K);G=((G===0)?this._cache.start.width:G);var I=parseInt(this.get("height"),10),D=parseInt(this.get("width"),10);if(isNaN(I)){I=parseInt(K,10);}if(isNaN(D)){D=parseInt(G,10);}var L=(parseInt(K,10)-I);var H=(parseInt(G,10)-D);this._cache.offsetHeight=L;this._cache.offsetWidth=H;if(this.get("status")){E.setStyle(this._status,"display","inline");this._status.innerHTML="<strong>"+parseInt(K,10)+" x "+parseInt(G,10)+"</strong><em>"+((L>0)?"+":"")+L+" x "+((H>0)?"+":"")+H+"</em>";E.setXY(this._status,[A.getPageX(this._resizeEvent)+12,A.getPageY(this._resizeEvent)+12]);}}},lock:function(D){this._locked=true;if(D&&this.dd){E.removeClass(this._wrap,"yui-draggable");this.dd.lock();}return this;},unlock:function(D){this._locked=false;if(D&&this.dd){E.addClass(this._wrap,"yui-draggable");this.dd.unlock();}return this;},isLocked:function(){return this._locked;},reset:function(){this.resize(null,this._cache.start.height,this._cache.start.width,this._cache.start.top,this._cache.start.left,true);return this;},resize:function(M,J,P,Q,H,F,K){if(this._locked){return false;}this._resizeEvent=M;var G=this._wrap,I=this.get("animate"),O=true;if(this._proxy&&!F){G=this._proxy;I=false;}this._setAutoRatio(M);if(this._positioned){if(this._proxy){Q=this._cache.top-Q;H=this._cache.left-H;}}var L=this._setRatio(J,P,Q,H);J=parseInt(L[0],10);P=parseInt(L[1],10);Q=parseInt(L[2],10);H=parseInt(L[3],10);if(Q==0){Q=E.getY(G);}if(H==0){H=E.getX(G);}if(this._positioned){if(this._proxy&&F){if(!I){G.style.top=this._proxy.style.top;G.style.left=this._proxy.style.left;}else{Q=this._proxy.style.top;H=this._proxy.style.left;}}else{if(!this.get("ratio")&&!this._proxy){Q=this._cache.top+-(Q);H=this._cache.left+-(H);}if(Q){if(this.get("minY")){if(Q<this.get("minY")){Q=this.get("minY");}}if(this.get("maxY")){if(Q>this.get("maxY")){Q=this.get("maxY");}}}if(H){if(this.get("minX")){if(H<this.get("minX")){H=this.get("minX"); +}}if(this.get("maxX")){if((H+P)>this.get("maxX")){H=(this.get("maxX")-P);}}}}}if(!K){var N=this.fireEvent("beforeResize",{ev:"beforeResize",target:this,height:J,width:P,top:Q,left:H});if(N===false){return false;}}this._updateStatus(J,P,Q,H);if(this._positioned){if(this._proxy&&F){}else{if(Q){E.setY(G,Q);this._cache.top=Q;}if(H){E.setX(G,H);this._cache.left=H;}}}if(J){if(!I){O=true;if(this._proxy&&F){if(!this.get("setSize")){O=false;}}if(O){G.style.height=J+"px";}if((this._proxy&&F)||!this._proxy){if(this._wrap!=this.get("element")){this.get("element").style.height=J+"px";}}}this._cache.height=J;}if(P){this._cache.width=P;if(!I){O=true;if(this._proxy&&F){if(!this.get("setSize")){O=false;}}if(O){G.style.width=P+"px";}if((this._proxy&&F)||!this._proxy){if(this._wrap!=this.get("element")){this.get("element").style.width=P+"px";}}}}if(I){if(YAHOO.util.Anim){var D=new YAHOO.util.Anim(G,{height:{to:this._cache.height},width:{to:this._cache.width}},this.get("animateDuration"),this.get("animateEasing"));if(this._positioned){if(Q){D.attributes.top={to:parseInt(Q,10)};}if(H){D.attributes.left={to:parseInt(H,10)};}}if(this._wrap!=this.get("element")){D.onTween.subscribe(function(){this.get("element").style.height=G.style.height;this.get("element").style.width=G.style.width;},this,true);}D.onComplete.subscribe(function(){this.set("height",J);this.set("width",P);this.fireEvent("resize",{ev:"resize",target:this,height:J,width:P,top:Q,left:H});},this,true);D.animate();}}else{if(this._proxy&&!F){this.fireEvent("proxyResize",{ev:"proxyresize",target:this,height:J,width:P,top:Q,left:H});}else{this.fireEvent("resize",{ev:"resize",target:this,height:J,width:P,top:Q,left:H});}}return this;},_handle_for_br:function(F){var G=this._setWidth(F.e);var D=this._setHeight(F.e);this.resize(F.e,D,G,0,0);},_handle_for_bl:function(G){var H=this._setWidth(G.e,true);var F=this._setHeight(G.e);var D=(H-this._cache.width);this.resize(G.e,F,H,0,D);},_handle_for_tl:function(G){var I=this._setWidth(G.e,true);var F=this._setHeight(G.e,true);var H=(F-this._cache.height);var D=(I-this._cache.width);this.resize(G.e,F,I,H,D);},_handle_for_tr:function(F){var H=this._setWidth(F.e);var D=this._setHeight(F.e,true);var G=(D-this._cache.height);this.resize(F.e,D,H,G,0);},_handle_for_r:function(D){this._dds.r.setYConstraint(0,0);var F=this._setWidth(D.e);this.resize(D.e,0,F,0,0);},_handle_for_l:function(F){this._dds.l.setYConstraint(0,0);var G=this._setWidth(F.e,true);var D=(G-this._cache.width);this.resize(F.e,0,G,0,D);},_handle_for_b:function(F){this._dds.b.setXConstraint(0,0);var D=this._setHeight(F.e);this.resize(F.e,D,0,0,0);},_handle_for_t:function(F){this._dds.t.setXConstraint(0,0);var D=this._setHeight(F.e,true);var G=(D-this._cache.height);this.resize(F.e,D,0,G,0);},_setWidth:function(H,J){var I=this._cache.xy[0],G=this._cache.width,D=A.getPageX(H),F=(D-I);if(J){F=(I-D)+parseInt(this.get("width"),10);}F=this._snapTick(F,this.get("xTicks"));F=this._checkWidth(F);return F;},_checkWidth:function(D){if(this.get("minWidth")){if(D<=this.get("minWidth")){D=this.get("minWidth");}}if(this.get("maxWidth")){if(D>=this.get("maxWidth")){D=this.get("maxWidth");}}return D;},_checkHeight:function(D){if(this.get("minHeight")){if(D<=this.get("minHeight")){D=this.get("minHeight");}}if(this.get("maxHeight")){if(D>=this.get("maxHeight")){D=this.get("maxHeight");}}return D;},_setHeight:function(G,I){var H=this._cache.xy[1],F=this._cache.height,J=A.getPageY(G),D=(J-H);if(I){D=(H-J)+parseInt(this.get("height"),10);}D=this._snapTick(D,this.get("yTicks"));D=this._checkHeight(D);return D;},_snapTick:function(G,F){if(!G||!F){return G;}var H=G;var D=G%F;if(D>0){if(D>(F/2)){H=G+(F-D);}else{H=G-D;}}return H;},init:function(H,F){this._locked=false;this._cache={xy:[],height:0,width:0,top:0,left:0,offsetHeight:0,offsetWidth:0,start:{height:0,width:0,top:0,left:0}};B.superclass.init.call(this,H,F);this.set("setSize",this.get("setSize"));if(F.height){this.set("height",parseInt(F.height,10));}else{var G=this.getStyle("height");if(G=="auto"){this.set("height",parseInt(this.get("element").offsetHeight,10));}}if(F.width){this.set("width",parseInt(F.width,10));}else{var D=this.getStyle("width");if(D=="auto"){this.set("width",parseInt(this.get("element").offsetWidth,10));}}var I=H;if(!C.isString(I)){I=E.generateId(I);}B._instances[I]=this;this._active=false;this._createWrap();this._createProxy();this._createHandles();},getProxyEl:function(){return this._proxy;},getWrapEl:function(){return this._wrap;},getStatusEl:function(){return this._status;},getActiveHandleEl:function(){return this._handles[this._currentHandle];},isActive:function(){return((this._active)?true:false);},initAttributes:function(D){B.superclass.initAttributes.call(this,D);this.setAttributeConfig("useShim",{value:((D.useShim===true)?true:false),validator:YAHOO.lang.isBoolean,method:function(F){for(var G in this._dds){if(C.hasOwnProperty(this._dds,G)){this._dds[G].useShim=F;}}if(this.dd){this.dd.useShim=F;}}});this.setAttributeConfig("setSize",{value:((D.setSize===false)?false:true),validator:YAHOO.lang.isBoolean});this.setAttributeConfig("wrap",{writeOnce:true,validator:YAHOO.lang.isBoolean,value:D.wrap||false});this.setAttributeConfig("handles",{writeOnce:true,value:D.handles||["r","b","br"],validator:function(F){if(C.isString(F)&&F.toLowerCase()=="all"){F=["t","b","r","l","bl","br","tl","tr"];}if(!C.isArray(F)){F=F.replace(/, /g,",");F=F.split(",");}this._configs.handles.value=F;}});this.setAttributeConfig("width",{value:D.width||parseInt(this.getStyle("width"),10),validator:YAHOO.lang.isNumber,method:function(F){F=parseInt(F,10);if(F>0){if(this.get("setSize")){this.setStyle("width",F+"px");}this._cache.width=F;this._configs.width.value=F;}}});this.setAttributeConfig("height",{value:D.height||parseInt(this.getStyle("height"),10),validator:YAHOO.lang.isNumber,method:function(F){F=parseInt(F,10);if(F>0){if(this.get("setSize")){this.setStyle("height",F+"px");}this._cache.height=F;this._configs.height.value=F; +}}});this.setAttributeConfig("minWidth",{value:D.minWidth||15,validator:YAHOO.lang.isNumber});this.setAttributeConfig("minHeight",{value:D.minHeight||15,validator:YAHOO.lang.isNumber});this.setAttributeConfig("maxWidth",{value:D.maxWidth||10000,validator:YAHOO.lang.isNumber});this.setAttributeConfig("maxHeight",{value:D.maxHeight||10000,validator:YAHOO.lang.isNumber});this.setAttributeConfig("minY",{value:D.minY||false});this.setAttributeConfig("minX",{value:D.minX||false});this.setAttributeConfig("maxY",{value:D.maxY||false});this.setAttributeConfig("maxX",{value:D.maxX||false});this.setAttributeConfig("animate",{value:D.animate||false,validator:function(G){var F=true;if(!YAHOO.util.Anim){F=false;}return F;}});this.setAttributeConfig("animateEasing",{value:D.animateEasing||function(){var F=false;if(YAHOO.util.Easing&&YAHOO.util.Easing.easeOut){F=YAHOO.util.Easing.easeOut;}return F;}()});this.setAttributeConfig("animateDuration",{value:D.animateDuration||0.5});this.setAttributeConfig("proxy",{value:D.proxy||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("ratio",{value:D.ratio||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("ghost",{value:D.ghost||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("draggable",{value:D.draggable||false,validator:YAHOO.lang.isBoolean,method:function(F){if(F&&this._wrap){this._setupDragDrop();}else{if(this.dd){E.removeClass(this._wrap,this.CSS_DRAG);this.dd.unreg();}}}});this.setAttributeConfig("hover",{value:D.hover||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("hiddenHandles",{value:D.hiddenHandles||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("knobHandles",{value:D.knobHandles||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("xTicks",{value:D.xTicks||false});this.setAttributeConfig("yTicks",{value:D.yTicks||false});this.setAttributeConfig("status",{value:D.status||false,validator:YAHOO.lang.isBoolean});this.setAttributeConfig("autoRatio",{value:D.autoRatio||false,validator:YAHOO.lang.isBoolean});},destroy:function(){for(var F in this._handles){if(C.hasOwnProperty(this._handles,F)){A.purgeElement(this._handles[F]);this._handles[F].parentNode.removeChild(this._handles[F]);}}if(this._proxy){this._proxy.parentNode.removeChild(this._proxy);}if(this._status){this._status.parentNode.removeChild(this._status);}if(this.dd){this.dd.unreg();E.removeClass(this._wrap,this.CSS_DRAG);}if(this._wrap!=this.get("element")){this.setStyle("position","");this.setStyle("top","");this.setStyle("left","");this._wrap.parentNode.replaceChild(this.get("element"),this._wrap);}this.removeClass(this.CSS_RESIZE);delete YAHOO.util.Resize._instances[this.get("id")];for(var D in this){if(C.hasOwnProperty(this,D)){this[D]=null;delete this[D];}}},toString:function(){if(this.get){return"Resize (#"+this.get("id")+")";}return"Resize Utility";}});YAHOO.util.Resize=B;})();YAHOO.register("resize",YAHOO.util.Resize,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/selector/selector-min.js b/js/yui/selector/selector-min.js new file mode 100644 index 0000000000000000000000000000000000000000..a536469e16e56c58ee6e39afae8854c4f26eba20 --- /dev/null +++ b/js/yui/selector/selector-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var A=YAHOO.util;A.Selector={_foundCache:[],_regexCache:{},_re:{nth:/^(?:([-]?\d*)(n){1}|(odd|even)$)*([-+]?\d*)$/,attr:/(\[.*\])/g,urls:/^(?:href|src)/},document:window.document,attrAliases:{},shorthand:{"\\#(-?[_a-z]+[-\\w]*)":"[id=$1]","\\.(-?[_a-z]+[-\\w]*)":"[class~=$1]"},operators:{"=":function(B,C){return B===C;},"!=":function(B,C){return B!==C;},"~=":function(B,D){var C=" ";return(C+B+C).indexOf((C+D+C))>-1;},"|=":function(B,C){return B===C||B.slice(0,C.length+1)===C+"-";},"^=":function(B,C){return B.indexOf(C)===0;},"$=":function(B,C){return B.slice(-C.length)===C;},"*=":function(B,C){return B.indexOf(C)>-1;},"":function(B,C){return B;}},pseudos:{"root":function(B){return B===B.ownerDocument.documentElement;},"nth-child":function(B,C){return A.Selector._getNth(B,C);},"nth-last-child":function(B,C){return A.Selector._getNth(B,C,null,true);},"nth-of-type":function(B,C){return A.Selector._getNth(B,C,B.tagName);},"nth-last-of-type":function(B,C){return A.Selector._getNth(B,C,B.tagName,true);},"first-child":function(B){return A.Selector._getChildren(B.parentNode)[0]===B;},"last-child":function(C){var B=A.Selector._getChildren(C.parentNode);return B[B.length-1]===C;},"first-of-type":function(B,C){return A.Selector._getChildren(B.parentNode,B.tagName)[0];},"last-of-type":function(C,D){var B=A.Selector._getChildren(C.parentNode,C.tagName);return B[B.length-1];},"only-child":function(C){var B=A.Selector._getChildren(C.parentNode);return B.length===1&&B[0]===C;},"only-of-type":function(B){return A.Selector._getChildren(B.parentNode,B.tagName).length===1;},"empty":function(B){return B.childNodes.length===0;},"not":function(B,C){return !A.Selector.test(B,C);},"contains":function(B,D){var C=B.innerText||B.textContent||"";return C.indexOf(D)>-1;},"checked":function(B){return B.checked===true;}},test:function(F,D){F=A.Selector.document.getElementById(F)||F;if(!F){return false;}var C=D?D.split(","):[];if(C.length){for(var E=0,B=C.length;E<B;++E){if(A.Selector._test(F,C[E])){return true;}}return false;}return A.Selector._test(F,D);},_test:function(D,G,F,E){F=F||A.Selector._tokenize(G).pop()||{};if(!D.tagName||(F.tag!=="*"&&D.tagName!==F.tag)||(E&&D._found)){return false;}if(F.attributes.length){var B,H,C=A.Selector._re.urls;if(!D.attributes||!D.attributes.length){return false;}for(var I=0,K;K=F.attributes[I++];){H=(C.test(K[0]))?2:0;B=D.getAttribute(K[0],H);if(B===null||B===undefined){return false;}if(A.Selector.operators[K[1]]&&!A.Selector.operators[K[1]](B,K[2])){return false;}}}if(F.pseudos.length){for(var I=0,J=F.pseudos.length;I<J;++I){if(A.Selector.pseudos[F.pseudos[I][0]]&&!A.Selector.pseudos[F.pseudos[I][0]](D,F.pseudos[I][1])){return false;}}}return(F.previous&&F.previous.combinator!==",")?A.Selector._combinators[F.previous.combinator](D,F):true;},filter:function(E,D){E=E||[];var G,C=[],H=A.Selector._tokenize(D);if(!E.item){for(var F=0,B=E.length;F<B;++F){if(!E[F].tagName){G=A.Selector.document.getElementById(E[F]);if(G){E[F]=G;}else{}}}}C=A.Selector._filter(E,A.Selector._tokenize(D)[0]);return C;},_filter:function(E,G,H,D){var C=H?null:[],I=A.Selector._foundCache;for(var F=0,B=E.length;F<B;F++){if(!A.Selector._test(E[F],"",G,D)){continue;}if(H){return E[F];}if(D){if(E[F]._found){continue;}E[F]._found=true;I[I.length]=E[F];}C[C.length]=E[F];}return C;},query:function(C,D,E){var B=A.Selector._query(C,D,E);return B;},_query:function(H,M,N,F){var P=(N)?null:[],E;if(!H){return P;}var D=H.split(",");if(D.length>1){var O;for(var I=0,J=D.length;I<J;++I){O=A.Selector._query(D[I],M,N,true);P=N?O:P.concat(O);}A.Selector._clearFoundCache();return P;}if(M&&!M.nodeName){M=A.Selector.document.getElementById(M);if(!M){return P;}}M=M||A.Selector.document;if(M.nodeName!=="#document"){A.Dom.generateId(M);H=M.tagName+"#"+M.id+" "+H;E=M;M=M.ownerDocument;}var L=A.Selector._tokenize(H);var K=L[A.Selector._getIdTokenIndex(L)],B=[],C,G=L.pop()||{};if(K){C=A.Selector._getId(K.attributes);}if(C){E=E||A.Selector.document.getElementById(C);if(E&&(M.nodeName==="#document"||A.Dom.isAncestor(M,E))){if(A.Selector._test(E,null,K)){if(K===G){B=[E];}else{if(K.combinator===" "||K.combinator===">"){M=E;}}}}else{return P;}}if(M&&!B.length){B=M.getElementsByTagName(G.tag);}if(B.length){P=A.Selector._filter(B,G,N,F);}return P;},_clearFoundCache:function(){var E=A.Selector._foundCache;for(var C=0,B=E.length;C<B;++C){try{delete E[C]._found;}catch(D){E[C].removeAttribute("_found");}}E=[];},_getRegExp:function(D,B){var C=A.Selector._regexCache;B=B||"";if(!C[D+B]){C[D+B]=new RegExp(D,B);}return C[D+B];},_getChildren:function(){if(document.documentElement.children&&document.documentElement.children.tags){return function(C,B){return(B)?C.children.tags(B):C.children||[];};}else{return function(F,C){var E=[],G=F.childNodes;for(var D=0,B=G.length;D<B;++D){if(G[D].tagName){if(!C||G[D].tagName===C){E.push(G[D]);}}}return E;};}}(),_combinators:{" ":function(C,B){while((C=C.parentNode)){if(A.Selector._test(C,"",B.previous)){return true;}}return false;},">":function(C,B){return A.Selector._test(C.parentNode,null,B.previous);},"+":function(D,C){var B=D.previousSibling;while(B&&B.nodeType!==1){B=B.previousSibling;}if(B&&A.Selector._test(B,null,C.previous)){return true;}return false;},"~":function(D,C){var B=D.previousSibling;while(B){if(B.nodeType===1&&A.Selector._test(B,null,C.previous)){return true;}B=B.previousSibling;}return false;}},_getNth:function(C,L,N,G){A.Selector._re.nth.test(L);var K=parseInt(RegExp.$1,10),B=RegExp.$2,H=RegExp.$3,I=parseInt(RegExp.$4,10)||0,M=[],E;var J=A.Selector._getChildren(C.parentNode,N);if(H){K=2;E="+";B="n";I=(H==="odd")?1:0;}else{if(isNaN(K)){K=(B)?1:0;}}if(K===0){if(G){I=J.length-I+1;}if(J[I-1]===C){return true;}else{return false;}}else{if(K<0){G=!!G;K=Math.abs(K);}}if(!G){for(var D=I-1,F=J.length;D<F;D+=K){if(D>=0&&J[D]===C){return true;}}}else{for(var D=J.length-I,F=J.length;D>=0;D-=K){if(D<F&&J[D]===C){return true;}}}return false;},_getId:function(C){for(var D=0,B=C.length;D<B;++D){if(C[D][0]=="id"&&C[D][1]==="="){return C[D][2]; +}}},_getIdTokenIndex:function(D){for(var C=0,B=D.length;C<B;++C){if(A.Selector._getId(D[C].attributes)){return C;}}return -1;},_patterns:{tag:/^((?:-?[_a-z]+[\w-]*)|\*)/i,attributes:/^\[([a-z]+\w*)+([~\|\^\$\*!=]=?)?['"]?([^\]]*?)['"]?\]/i,pseudos:/^:([-\w]+)(?:\(['"]?(.+)['"]?\))*/i,combinator:/^\s*([>+~]|\s)\s*/},_tokenize:function(B){var D={},H=[],I,G=false,F=A.Selector._patterns,C;B=A.Selector._replaceShorthand(B);do{G=false;for(var E in F){if(YAHOO.lang.hasOwnProperty(F,E)){if(E!="tag"&&E!="combinator"){D[E]=D[E]||[];}if((C=F[E].exec(B))){G=true;if(E!="tag"&&E!="combinator"){if(E==="attributes"&&C[1]==="id"){D.id=C[3];}D[E].push(C.slice(1));}else{D[E]=C[1];}B=B.replace(C[0],"");if(E==="combinator"||!B.length){D.attributes=A.Selector._fixAttributes(D.attributes);D.pseudos=D.pseudos||[];D.tag=D.tag?D.tag.toUpperCase():"*";H.push(D);D={previous:D};}}}}}while(G);return H;},_fixAttributes:function(C){var D=A.Selector.attrAliases;C=C||[];for(var E=0,B=C.length;E<B;++E){if(D[C[E][0]]){C[E][0]=D[C[E][0]];}if(!C[E][1]){C[E][1]="";}}return C;},_replaceShorthand:function(C){var D=A.Selector.shorthand;var E=C.match(A.Selector._re.attr);if(E){C=C.replace(A.Selector._re.attr,"REPLACED_ATTRIBUTE");}for(var G in D){if(YAHOO.lang.hasOwnProperty(D,G)){C=C.replace(A.Selector._getRegExp(G,"gi"),D[G]);}}if(E){for(var F=0,B=E.length;F<B;++F){C=C.replace("REPLACED_ATTRIBUTE",E[F]);}}return C;}};if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<8){A.Selector.attrAliases["class"]="className";A.Selector.attrAliases["for"]="htmlFor";}})();YAHOO.register("selector",YAHOO.util.Selector,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/slider/slider-min.js b/js/yui/slider/slider-min.js new file mode 100644 index 0000000000000000000000000000000000000000..f4b5038af5528a54f82a49cf61bc6781065b242a --- /dev/null +++ b/js/yui/slider/slider-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var B=YAHOO.util.Dom.getXY,A=YAHOO.util.Event,D=Array.prototype.slice;function C(G,E,F,H){C.ANIM_AVAIL=(!YAHOO.lang.isUndefined(YAHOO.util.Anim));if(G){this.init(G,E,true);this.initSlider(H);this.initThumb(F);}}YAHOO.lang.augmentObject(C,{getHorizSlider:function(F,G,I,H,E){return new C(F,F,new YAHOO.widget.SliderThumb(G,F,I,H,0,0,E),"horiz");},getVertSlider:function(G,H,E,I,F){return new C(G,G,new YAHOO.widget.SliderThumb(H,G,0,0,E,I,F),"vert");},getSliderRegion:function(G,H,J,I,E,K,F){return new C(G,G,new YAHOO.widget.SliderThumb(H,G,J,I,E,K,F),"region");},SOURCE_UI_EVENT:1,SOURCE_SET_VALUE:2,SOURCE_KEY_EVENT:3,ANIM_AVAIL:false},true);YAHOO.extend(C,YAHOO.util.DragDrop,{_mouseDown:false,dragOnly:true,initSlider:function(E){this.type=E;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=C.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;this.SOURCE_UI_EVENT=1;this.SOURCE_SET_VALUE=2;this.valueChangeSource=0;this._silent=false;this.lastOffset=[0,0];},initThumb:function(F){var E=this;this.thumb=F;F.cacheBetweenDrags=true;if(F._isHoriz&&F.xTicks&&F.xTicks.length){this.tickPause=Math.round(360/F.xTicks.length);}else{if(F.yTicks&&F.yTicks.length){this.tickPause=Math.round(360/F.yTicks.length);}}F.onAvailable=function(){return E.setStartSliderState();};F.onMouseDown=function(){E._mouseDown=true;return E.focus();};F.startDrag=function(){E._slideStart();};F.onDrag=function(){E.fireEvents(true);};F.onMouseUp=function(){E.thumbMouseUp();};},onAvailable:function(){this._bindKeyEvents();},_bindKeyEvents:function(){A.on(this.id,"keydown",this.handleKeyDown,this,true);A.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(F){if(this.enableKeys){var E=A.getCharCode(F);switch(E){case 37:case 38:case 39:case 40:case 36:case 35:A.preventDefault(F);break;default:}}},handleKeyDown:function(J){if(this.enableKeys){var G=A.getCharCode(J),F=this.thumb,H=this.getXValue(),E=this.getYValue(),I=true;switch(G){case 37:H-=this.keyIncrement;break;case 38:E-=this.keyIncrement;break;case 39:H+=this.keyIncrement;break;case 40:E+=this.keyIncrement;break;case 36:H=F.leftConstraint;E=F.topConstraint;break;case 35:H=F.rightConstraint;E=F.bottomConstraint;break;default:I=false;}if(I){if(F._isRegion){this._setRegionValue(C.SOURCE_KEY_EVENT,H,E,true);}else{this._setValue(C.SOURCE_KEY_EVENT,(F._isHoriz?H:E),true);}A.stopEvent(J);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=B(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this._setRegionValue.apply(this,this.deferredSetRegionValue);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true,true);}}else{if(this.deferredSetValue){this._setValue.apply(this,this.deferredSetValue);this.deferredSetValue=null;}else{this.setValue(0,true,true,true);}}},setThumbCenterPoint:function(){var E=this.thumb.getEl();if(E){this.thumbCenterPoint={x:parseInt(E.offsetWidth/2,10),y:parseInt(E.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){this._mouseDown=false;if(!this.isLocked()){this.endMove();}},onMouseUp:function(){this._mouseDown=false;if(this.backgroundEnabled&&!this.isLocked()){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){this.valueChangeSource=C.SOURCE_UI_EVENT;var E=this.getEl();if(E.focus){try{E.focus();}catch(F){}}this.verifyOffset();return !this.isLocked();},onChange:function(E,F){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},setValue:function(){var E=D.call(arguments);E.unshift(C.SOURCE_SET_VALUE);return this._setValue.apply(this,E);},_setValue:function(I,L,G,H,E){var F=this.thumb,K,J;if(!F.available){this.deferredSetValue=arguments;return false;}if(this.isLocked()&&!H){return false;}if(isNaN(L)){return false;}if(F._isRegion){return false;}this._silent=E;this.valueChangeSource=I||C.SOURCE_SET_VALUE;F.lastOffset=[L,L];this.verifyOffset();this._slideStart();if(F._isHoriz){K=F.initPageX+L+this.thumbCenterPoint.x;this.moveThumb(K,F.initPageY,G);}else{J=F.initPageY+L+this.thumbCenterPoint.y;this.moveThumb(F.initPageX,J,G);}return true;},setRegionValue:function(){var E=D.call(arguments);E.unshift(C.SOURCE_SET_VALUE);return this._setRegionValue.apply(this,E);},_setRegionValue:function(F,J,H,I,G,K){var L=this.thumb,E,M;if(!L.available){this.deferredSetRegionValue=arguments;return false;}if(this.isLocked()&&!G){return false;}if(isNaN(J)){return false;}if(!L._isRegion){return false;}this._silent=K;this.valueChangeSource=F||C.SOURCE_SET_VALUE;L.lastOffset=[J,H];this.verifyOffset();this._slideStart();E=L.initPageX+J+this.thumbCenterPoint.x;M=L.initPageY+H+this.thumbCenterPoint.y;this.moveThumb(E,M,I);return true;},verifyOffset:function(){var F=B(this.getEl()),E=this.thumb;if(!this.thumbCenterPoint||!this.thumbCenterPoint.x){this.setThumbCenterPoint();}if(F){if(F[0]!=this.baselinePos[0]||F[1]!=this.baselinePos[1]){this.setInitPosition();this.baselinePos=F;E.initPageX=this.initPageX+E.startOffset[0];E.initPageY=this.initPageY+E.startOffset[1];E.deltaSetXY=null;this.resetThumbConstraints();return false;}}return true;},moveThumb:function(K,J,I,G){var L=this.thumb,M=this,F,E,H;if(!L.available){return;}L.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);E=L.getTargetCoord(K,J);F=[Math.round(E.x),Math.round(E.y)];if(this.animate&&L._graduated&&!I){this.lock();this.curCoord=B(this.thumb.getEl());this.curCoord=[Math.round(this.curCoord[0]),Math.round(this.curCoord[1])];setTimeout(function(){M.moveOneTick(F);},this.tickPause);}else{if(this.animate&&C.ANIM_AVAIL&&!I){this.lock(); +H=new YAHOO.util.Motion(L.id,{points:{to:F}},this.animationDuration,YAHOO.util.Easing.easeOut);H.onComplete.subscribe(function(){M.unlock();if(!M._mouseDown){M.endMove();}});H.animate();}else{L.setDragElPos(K,J);if(!G&&!this._mouseDown){this.endMove();}}}},_slideStart:function(){if(!this._sliding){if(!this._silent){this.onSlideStart();this.fireEvent("slideStart");}this._sliding=true;this.moveComplete=false;}},_slideEnd:function(){if(this._sliding){var E=this._silent;this._sliding=false;this.moveComplete=true;this._silent=false;if(!E){this.onSlideEnd();this.fireEvent("slideEnd");}}},moveOneTick:function(F){var H=this.thumb,G=this,I=null,E,J;if(H._isRegion){I=this._getNextX(this.curCoord,F);E=(I!==null)?I[0]:this.curCoord[0];I=this._getNextY(this.curCoord,F);J=(I!==null)?I[1]:this.curCoord[1];I=E!==this.curCoord[0]||J!==this.curCoord[1]?[E,J]:null;}else{if(H._isHoriz){I=this._getNextX(this.curCoord,F);}else{I=this._getNextY(this.curCoord,F);}}if(I){this.curCoord=I;this.thumb.alignElWithMouse(H.getEl(),I[0]+this.thumbCenterPoint.x,I[1]+this.thumbCenterPoint.y);if(!(I[0]==F[0]&&I[1]==F[1])){setTimeout(function(){G.moveOneTick(F);},this.tickPause);}else{this.unlock();if(!this._mouseDown){this.endMove();}}}else{this.unlock();if(!this._mouseDown){this.endMove();}}},_getNextX:function(E,F){var H=this.thumb,J,G=[],I=null;if(E[0]>F[0]){J=H.tickSize-this.thumbCenterPoint.x;G=H.getTargetCoord(E[0]-J,E[1]);I=[G.x,G.y];}else{if(E[0]<F[0]){J=H.tickSize+this.thumbCenterPoint.x;G=H.getTargetCoord(E[0]+J,E[1]);I=[G.x,G.y];}else{}}return I;},_getNextY:function(E,F){var H=this.thumb,J,G=[],I=null;if(E[1]>F[1]){J=H.tickSize-this.thumbCenterPoint.y;G=H.getTargetCoord(E[0],E[1]-J);I=[G.x,G.y];}else{if(E[1]<F[1]){J=H.tickSize+this.thumbCenterPoint.y;G=H.getTargetCoord(E[0],E[1]+J);I=[G.x,G.y];}else{}}return I;},b4MouseDown:function(E){if(!this.backgroundEnabled){return false;}this.thumb.autoOffset();this.baselinePos=[];},onMouseDown:function(F){if(!this.backgroundEnabled||this.isLocked()){return false;}this._mouseDown=true;var E=A.getPageX(F),G=A.getPageY(F);this.focus();this._slideStart();this.moveThumb(E,G);},onDrag:function(F){if(this.backgroundEnabled&&!this.isLocked()){var E=A.getPageX(F),G=A.getPageY(F);this.moveThumb(E,G,true,true);this.fireEvents();}},endMove:function(){this.unlock();this.fireEvents();this._slideEnd();},resetThumbConstraints:function(){var E=this.thumb;E.setXConstraint(E.leftConstraint,E.rightConstraint,E.xTickSize);E.setYConstraint(E.topConstraint,E.bottomConstraint,E.xTickSize);},fireEvents:function(G){var F=this.thumb,I,H,E;if(!G){F.cachePosition();}if(!this.isLocked()){if(F._isRegion){I=F.getXValue();H=F.getYValue();if(I!=this.previousX||H!=this.previousY){if(!this._silent){this.onChange(I,H);this.fireEvent("change",{x:I,y:H});}}this.previousX=I;this.previousY=H;}else{E=F.getValue();if(E!=this.previousVal){if(!this._silent){this.onChange(E);this.fireEvent("change",E);}}this.previousVal=E;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.lang.augmentProto(C,YAHOO.util.EventProvider);YAHOO.widget.Slider=C;})();YAHOO.widget.SliderThumb=function(G,B,E,D,A,F,C){if(G){YAHOO.widget.SliderThumb.superclass.constructor.call(this,G,B);this.parentElId=B;}this.isTarget=false;this.tickSize=C;this.maintainOffset=true;this.initSlider(E,D,A,F,C);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,dragOnly:true,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(C){var A=YAHOO.util.Dom.getXY(this.getEl()),B=C||YAHOO.util.Dom.getXY(this.parentElId);return[(A[0]-B[0]),(A[1]-B[1])];},getOffsetFromParent:function(H){var A=this.getEl(),E,I,F,B,K,D,C,J,G;if(!this.deltaOffset){I=YAHOO.util.Dom.getXY(A);F=H||YAHOO.util.Dom.getXY(this.parentElId);E=[(I[0]-F[0]),(I[1]-F[1])];B=parseInt(YAHOO.util.Dom.getStyle(A,"left"),10);K=parseInt(YAHOO.util.Dom.getStyle(A,"top"),10);D=B-E[0];C=K-E[1];if(isNaN(D)||isNaN(C)){}else{this.deltaOffset=[D,C];}}else{J=parseInt(YAHOO.util.Dom.getStyle(A,"left"),10);G=parseInt(YAHOO.util.Dom.getStyle(A,"top"),10);E=[J+this.deltaOffset[0],G+this.deltaOffset[1]];}return E;},initSlider:function(D,C,A,E,B){this.initLeft=D;this.initRight=C;this.initUp=A;this.initDown=E;this.setXConstraint(D,C,B);this.setYConstraint(A,E,B);if(B&&B>1){this._graduated=true;}this._isHoriz=(D||C);this._isVert=(A||E);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){return(this._isHoriz)?this.getXValue():this.getYValue();},getXValue:function(){if(!this.available){return 0;}var A=this.getOffsetFromParent();if(YAHOO.lang.isNumber(A[0])){this.lastOffset=A;return(A[0]-this.startOffset[0]);}else{return(this.lastOffset[0]-this.startOffset[0]);}},getYValue:function(){if(!this.available){return 0;}var A=this.getOffsetFromParent();if(YAHOO.lang.isNumber(A[1])){this.lastOffset=A;return(A[1]-this.startOffset[1]);}else{return(this.lastOffset[1]-this.startOffset[1]);}},toString:function(){return"SliderThumb "+this.id;},onChange:function(A,B){}});(function(){var A=YAHOO.util.Event,B=YAHOO.widget;function C(I,F,H,D){var G=this,J={min:false,max:false},E,K;this.minSlider=I;this.maxSlider=F;this.activeSlider=I;this.isHoriz=I.thumb._isHoriz;E=this.minSlider.thumb.onMouseDown;K=this.maxSlider.thumb.onMouseDown;this.minSlider.thumb.onMouseDown=function(){G.activeSlider=G.minSlider;E.apply(this,arguments);};this.maxSlider.thumb.onMouseDown=function(){G.activeSlider=G.maxSlider;K.apply(this,arguments);};this.minSlider.thumb.onAvailable=function(){I.setStartSliderState();J.min=true;if(J.max){G.fireEvent("ready",G);}};this.maxSlider.thumb.onAvailable=function(){F.setStartSliderState();J.max=true;if(J.min){G.fireEvent("ready",G);}};I.onMouseDown=F.onMouseDown=function(L){return this.backgroundEnabled&&G._handleMouseDown(L);};I.onDrag=F.onDrag=function(L){G._handleDrag(L);};I.onMouseUp=F.onMouseUp=function(L){G._handleMouseUp(L); +};I._bindKeyEvents=function(){G._bindKeyEvents(this);};F._bindKeyEvents=function(){};I.subscribe("change",this._handleMinChange,I,this);I.subscribe("slideStart",this._handleSlideStart,I,this);I.subscribe("slideEnd",this._handleSlideEnd,I,this);F.subscribe("change",this._handleMaxChange,F,this);F.subscribe("slideStart",this._handleSlideStart,F,this);F.subscribe("slideEnd",this._handleSlideEnd,F,this);this.createEvent("ready",this);this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);D=YAHOO.lang.isArray(D)?D:[0,H];D[0]=Math.min(Math.max(parseInt(D[0],10)|0,0),H);D[1]=Math.max(Math.min(parseInt(D[1],10)|0,H),0);if(D[0]>D[1]){D.splice(0,2,D[1],D[0]);}this.minVal=D[0];this.maxVal=D[1];this.minSlider.setValue(this.minVal,true,true,true);this.maxSlider.setValue(this.maxVal,true,true,true);}C.prototype={minVal:-1,maxVal:-1,minRange:0,_handleSlideStart:function(E,D){this.fireEvent("slideStart",D);},_handleSlideEnd:function(E,D){this.fireEvent("slideEnd",D);},_handleDrag:function(D){B.Slider.prototype.onDrag.call(this.activeSlider,D);},_handleMinChange:function(){this.activeSlider=this.minSlider;this.updateValue();},_handleMaxChange:function(){this.activeSlider=this.maxSlider;this.updateValue();},_bindKeyEvents:function(D){A.on(D.id,"keydown",this._handleKeyDown,this,true);A.on(D.id,"keypress",this._handleKeyPress,this,true);},_handleKeyDown:function(D){this.activeSlider.handleKeyDown.apply(this.activeSlider,arguments);},_handleKeyPress:function(D){this.activeSlider.handleKeyPress.apply(this.activeSlider,arguments);},setValues:function(H,K,I,E,J){var F=this.minSlider,M=this.maxSlider,D=F.thumb,L=M.thumb,N=this,G={min:false,max:false};if(D._isHoriz){D.setXConstraint(D.leftConstraint,L.rightConstraint,D.tickSize);L.setXConstraint(D.leftConstraint,L.rightConstraint,L.tickSize);}else{D.setYConstraint(D.topConstraint,L.bottomConstraint,D.tickSize);L.setYConstraint(D.topConstraint,L.bottomConstraint,L.tickSize);}this._oneTimeCallback(F,"slideEnd",function(){G.min=true;if(G.max){N.updateValue(J);setTimeout(function(){N._cleanEvent(F,"slideEnd");N._cleanEvent(M,"slideEnd");},0);}});this._oneTimeCallback(M,"slideEnd",function(){G.max=true;if(G.min){N.updateValue(J);setTimeout(function(){N._cleanEvent(F,"slideEnd");N._cleanEvent(M,"slideEnd");},0);}});F.setValue(H,I,E,false);M.setValue(K,I,E,false);},setMinValue:function(F,H,I,E){var G=this.minSlider,D=this;this.activeSlider=G;D=this;this._oneTimeCallback(G,"slideEnd",function(){D.updateValue(E);setTimeout(function(){D._cleanEvent(G,"slideEnd");},0);});G.setValue(F,H,I);},setMaxValue:function(D,H,I,F){var G=this.maxSlider,E=this;this.activeSlider=G;this._oneTimeCallback(G,"slideEnd",function(){E.updateValue(F);setTimeout(function(){E._cleanEvent(G,"slideEnd");},0);});G.setValue(D,H,I);},updateValue:function(J){var E=this.minSlider.getValue(),K=this.maxSlider.getValue(),F=false,D,M,H,I,L,G;if(E!=this.minVal||K!=this.maxVal){F=true;D=this.minSlider.thumb;M=this.maxSlider.thumb;H=this.isHoriz?"x":"y";G=this.minSlider.thumbCenterPoint[H]+this.maxSlider.thumbCenterPoint[H];I=Math.max(K-G-this.minRange,0);L=Math.min(-E-G-this.minRange,0);if(this.isHoriz){I=Math.min(I,M.rightConstraint);D.setXConstraint(D.leftConstraint,I,D.tickSize);M.setXConstraint(L,M.rightConstraint,M.tickSize);}else{I=Math.min(I,M.bottomConstraint);D.setYConstraint(D.leftConstraint,I,D.tickSize);M.setYConstraint(L,M.bottomConstraint,M.tickSize);}}this.minVal=E;this.maxVal=K;if(F&&!J){this.fireEvent("change",this);}},selectActiveSlider:function(H){var E=this.minSlider,D=this.maxSlider,J=E.isLocked()||!E.backgroundEnabled,G=D.isLocked()||!E.backgroundEnabled,F=YAHOO.util.Event,I;if(J||G){this.activeSlider=J?D:E;}else{if(this.isHoriz){I=F.getPageX(H)-E.thumb.initPageX-E.thumbCenterPoint.x;}else{I=F.getPageY(H)-E.thumb.initPageY-E.thumbCenterPoint.y;}this.activeSlider=I*2>D.getValue()+E.getValue()?D:E;}},_handleMouseDown:function(D){if(!D._handled&&!this.minSlider._sliding&&!this.maxSlider._sliding){D._handled=true;this.selectActiveSlider(D);return B.Slider.prototype.onMouseDown.call(this.activeSlider,D);}else{return false;}},_handleMouseUp:function(D){B.Slider.prototype.onMouseUp.apply(this.activeSlider,arguments);},_oneTimeCallback:function(G,D,F){var E=function(){G.unsubscribe(D,E);F.apply({},arguments);};G.subscribe(D,E);},_cleanEvent:function(K,E){var J,I,D,G,H,F;if(K.__yui_events&&K.events[E]){for(I=K.__yui_events.length;I>=0;--I){if(K.__yui_events[I].type===E){J=K.__yui_events[I];break;}}if(J){H=J.subscribers;F=[];G=0;for(I=0,D=H.length;I<D;++I){if(H[I]){F[G++]=H[I];}}J.subscribers=F;}}}};YAHOO.lang.augmentProto(C,YAHOO.util.EventProvider);B.Slider.getHorizDualSlider=function(H,J,K,G,F,D){var I=new B.SliderThumb(J,H,0,G,0,0,F),E=new B.SliderThumb(K,H,0,G,0,0,F);return new C(new B.Slider(H,H,I,"horiz"),new B.Slider(H,H,E,"horiz"),G,D);};B.Slider.getVertDualSlider=function(H,J,K,G,F,D){var I=new B.SliderThumb(J,H,0,0,0,G,F),E=new B.SliderThumb(K,H,0,0,0,G,F);return new B.DualSlider(new B.Slider(H,H,I,"vert"),new B.Slider(H,H,E,"vert"),G,D);};YAHOO.widget.DualSlider=C;})();YAHOO.register("slider",YAHOO.widget.Slider,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/storage/storage-min.js b/js/yui/storage/storage-min.js new file mode 100644 index 0000000000000000000000000000000000000000..c598db5aabae95cf84de0359e07eb43b45ab8ece --- /dev/null +++ b/js/yui/storage/storage-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var D=YAHOO,B=D.util,A=D.lang,C;if(!B.Storage){C=function(E){D.log("Exception in YAHOO.util.Storage.?? - must be extended by a storage engine".replace("??",E).replace("??",this.getName?this.getName():"Unknown"),"error");};B.Storage=function(E,G,F){var H=this;D.env._id_counter+=1;H._cfg=A.isObject(F)?F:{};H._location=E;H._name=G;H.isReady=false;H.createEvent(H.CE_READY,{scope:H});H.createEvent(H.CE_CHANGE,{scope:H});H.subscribe(H.CE_READY,function(){H.isReady=true;});};B.Storage.prototype={CE_READY:"YUIStorageReady",CE_CHANGE:"YUIStorageChange",DELIMITER:"__",_cfg:"",_name:"",_location:"",length:0,isReady:false,clear:function(){this._clear();this.length=0;},getItem:function(E){D.log("Fetching item at "+E);var F=this._getItem(E);return A.isValue(F)?this._getValue(F):null;},getName:function(){return this._name;},hasKey:function(E){return A.isString(E)&&this._hasKey(E);},key:function(E){D.log("Fetching key at "+E);if(A.isNumber(E)&&-1<E&&this.length>E){var F=this._key(E);if(F){return F;}}throw ("INDEX_SIZE_ERR - Storage.setItem - The provided index ("+E+") is not available");},removeItem:function(F){D.log("removing "+F);if(this.hasKey(F)){var E=this._getItem(F);if(!E){E=null;}this._removeItem(F);this.fireEvent(this.CE_CHANGE,new B.StorageEvent(this,F,E,null,B.StorageEvent.TYPE_REMOVE_ITEM));}else{}},setItem:function(G,H){D.log("SETTING "+H+" to "+G);if(A.isString(G)){var F=this.hasKey(G)?B.StorageEvent.TYPE_UPDATE_ITEM:B.StorageEvent.TYPE_ADD_ITEM,E=this._getItem(G);if(!E){E=null;}if(this._setItem(G,this._createValue(H))){this.fireEvent(this.CE_CHANGE,new B.StorageEvent(this,G,E,H,F));}else{throw ("QUOTA_EXCEEDED_ERROR - Storage.setItem - The choosen storage method ("+this.getName()+") has exceeded capacity");}}else{}},_clear:function(){C("_clear");return"";},_createValue:function(F){var E=(A.isNull(F)||A.isUndefined(F))?(""+F):typeof F;return"string"===E?F:E+this.DELIMITER+F;},_getItem:function(E){C("_getItem");return"";},_getValue:function(F){var E=F?F.split(this.DELIMITER):[];if(1==E.length){return F;}switch(E[0]){case"boolean":return"true"===E[1];case"number":return parseFloat(E[1]);case"null":return null;default:return E[1];}},_key:function(E){C("_key");return"";},_hasKey:function(E){return null!==this._getItem(E);},_removeItem:function(E){C("_removeItem");return"";},_setItem:function(E,F){C("_setItem");return"";}};A.augmentProto(B.Storage,B.EventProvider);}}());(function(){var H=YAHOO.util,B=YAHOO.lang,E={},G=[],F={},C=function(I){return(I&&I.isAvailable())?I:null;},A=function(J,I,K){var L=E[J+I.ENGINE_NAME];if(!L){L=new I(J,K);E[J+I.ENGINE_NAME]=L;}return L;},D=function(I){switch(I){case H.StorageManager.LOCATION_LOCAL:case H.StorageManager.LOCATION_SESSION:return I;default:return H.StorageManager.LOCATION_SESSION;}};H.StorageManager={LOCATION_SESSION:"sessionStorage",LOCATION_LOCAL:"localStorage",get:function(O,J,M){var K=B.isObject(M)?M:{},I=C(F[O]);if(!I&&!K.force){var N,L;if(K.order){L=K.order.length;for(N=0;N<L&&!I;N+=1){I=C(K.order[N]);}}if(!I){L=G.length;for(N=0;N<L&&!I;N+=1){I=C(G[N]);}}}if(I){return A(D(J),I,K.engine);}throw ("YAHOO.util.StorageManager.get - No engine available, please include an engine before calling this function.");},getByteSize:function(I){return encodeURIComponent(""+I).length;},register:function(I){if(B.isFunction(I)&&B.isFunction(I.isAvailable)&&B.isString(I.ENGINE_NAME)){F[I.ENGINE_NAME]=I;G.push(I);return true;}return false;}};YAHOO.register("StorageManager",H.SWFStore,{version:"2.8.1",build:"19"});}());(function(){YAHOO.util.StorageEvent=function(D,B,A,E,C){this.key=B;this.oldValue=A;this.newValue=E;this.url=window.location.href;this.window=window;this.storageArea=D;this.type=C;};YAHOO.lang.augmentObject(YAHOO.util.StorageEvent,{TYPE_ADD_ITEM:"addItem",TYPE_REMOVE_ITEM:"removeItem",TYPE_UPDATE_ITEM:"updateItem"});YAHOO.util.StorageEvent.prototype={key:null,newValue:null,oldValue:null,source:null,storageArea:null,type:null,url:null};}());(function(){var B=YAHOO.util,A=YAHOO.lang;B.StorageEngineKeyed=function(){B.StorageEngineKeyed.superclass.constructor.apply(this,arguments);this._keys=[];this._keyMap={};};A.extend(B.StorageEngineKeyed,B.Storage,{_keys:null,_keyMap:null,_addKey:function(C){this._keyMap[C]=this.length;this._keys.push(C);this.length=this._keys.length;},_indexOfKey:function(D){var C=this._keyMap[D];return undefined===C?-1:C;},_removeKey:function(E){var D=this._indexOfKey(E),F=this._keys.slice(D+1);delete this._keyMap[E];for(var C in this._keyMap){if(D<this._keyMap[C]){this._keyMap[C]-=1;}}this._keys.length=D;this._keys=this._keys.concat(F);this.length=this._keys.length;}});}());(function(){var D=YAHOO.util,B=YAHOO.lang,A=function(E){if(E.begin){E.begin();}},C=function(E){if(E.commit){E.commit();}};D.StorageEngineHTML5=function(E,F){var G=this;D.StorageEngineHTML5.superclass.constructor.call(G,E,D.StorageEngineHTML5.ENGINE_NAME,F);G._engine=window[E];G.length=G._engine.length;B.later(250,G,function(){G.fireEvent(G.CE_READY);});};YAHOO.lang.extend(D.StorageEngineHTML5,D.Storage,{_engine:null,_clear:function(){var G=this;if(G._engine.clear){G._engine.clear();}else{for(var F=G.length,E;0<=F;F-=1){E=G._key(F);G._removeItem(E);}}},_getItem:function(E){var F=this._engine.getItem(E);return B.isObject(F)?F.value:F;},_key:function(E){return this._engine.key(E);},_removeItem:function(E){var F=this;A(F._engine);F._engine.removeItem(E);C(F._engine);F.length=F._engine.length;},_setItem:function(E,F){var H=this;try{A(H._engine);H._engine.setItem(E,F);C(H._engine);H.length=H._engine.length;return true;}catch(G){return false;}}},true);D.StorageEngineHTML5.ENGINE_NAME="html5";D.StorageEngineHTML5.isAvailable=function(){return window.localStorage;};D.StorageManager.register(D.StorageEngineHTML5);}());(function(){var G=YAHOO.util,B=YAHOO.lang,D=9948,C="YUIStorageEngine",F=null,E=encodeURIComponent,A=decodeURIComponent;G.StorageEngineGears=function(I,L){var O=this;G.StorageEngineGears.superclass.constructor.call(O,I,G.StorageEngineGears.ENGINE_NAME,L); +if(!F){F=google.gears.factory.create(G.StorageEngineGears.GEARS);F.open(window.location.host+"-"+G.StorageEngineGears.DATABASE);F.execute("CREATE TABLE IF NOT EXISTS "+C+" (key TEXT, location TEXT, value TEXT)");}var K=G.StorageManager.LOCATION_SESSION===O._location,H=G.Cookie.get("sessionKey"+G.StorageEngineGears.ENGINE_NAME);if(!H){F.execute("BEGIN");F.execute("DELETE FROM "+C+' WHERE location="'+E(G.StorageManager.LOCATION_SESSION)+'"');F.execute("COMMIT");}var J=F.execute("SELECT key FROM "+C+' WHERE location="'+E(O._location)+'"'),N={};try{while(J.isValidRow()){var M=A(J.field(0));if(!N[M]){N[M]=true;O._addKey(M);}J.next();}}finally{J.close();}if(K){G.Cookie.set("sessionKey"+G.StorageEngineGears.ENGINE_NAME,true);}O.length=O._keys.length;B.later(250,O,function(){O.fireEvent(O.CE_READY);});};B.extend(G.StorageEngineGears,G.StorageEngineKeyed,{_clear:function(){F.execute("BEGIN");F.execute("DELETE FROM "+C+' WHERE location="'+E(this._location)+'"');F.execute("COMMIT");this._keys=[];this.length=0;},_getItem:function(J){var I=F.execute("SELECT value FROM "+C+' WHERE key="'+E(J)+'" AND location="'+E(this._location)+'"'),K="";try{while(I.isValidRow()){var H=I.field(0);K+=I.field(0);I.next();}}finally{I.close();}return K?A(K):null;},_key:function(H){return this._keys[H];},_removeItem:function(H){F.execute("BEGIN");F.execute("DELETE FROM "+C+' WHERE key="'+E(H)+'" AND location="'+E(this._location)+'"');F.execute("COMMIT");this._removeKey(H);},_setItem:function(P,M){if(!this.hasKey(P)){this._addKey(P);}var H=E(P),Q=E(this._location),R=E(M),K=[],O=D-(H+Q).length;if(O<R.length){for(var N=0,L=R.length;N<L;N+=O){K.push(R.substr(N,O));}}else{K.push(R);}F.execute("BEGIN");F.execute("DELETE FROM "+C+' WHERE key="'+E(P)+'" AND location="'+E(this._location)+'"');for(var J=0,I=K.length;J<I;J+=1){F.execute("INSERT INTO "+C+' VALUES ("'+H+'", "'+Q+'", "'+K[J]+'")');}F.execute("COMMIT");return true;}});G.Event.on("unload",function(){if(F){F.close();}});G.StorageEngineGears.ENGINE_NAME="gears";G.StorageEngineGears.GEARS="beta.database";G.StorageEngineGears.DATABASE="yui.database";G.StorageEngineGears.isAvailable=function(){if(window.google&&window.google.gears){try{google.gears.factory.create(G.StorageEngineGears.GEARS);return true;}catch(H){}}return false;};G.StorageManager.register(G.StorageEngineGears);}());(function(){var G=YAHOO.util,B=YAHOO.lang,H=G.Dom,C=215,E=138,F=null,D=function(J,I){return J._location+J.DELIMITER+I;},A=function(J){if(!F){if(!B.isString(J.swfURL)){J.swfURL=G.StorageEngineSWF.SWFURL;}if(!J.containerID){var K=document.getElementsByTagName("body")[0],I=K.appendChild(document.createElement("div"));J.containerID=H.generateId(I);}if(!J.attributes){J.attributes={};}if(!J.attributes.flashVars){J.attributes.flashVars={};}J.attributes.flashVars.useCompression="true";J.attributes.version=9.115;F=new YAHOO.widget.SWF(J.containerID,J.swfURL,J.attributes);}};G.StorageEngineSWF=function(I,J){var K=this;G.StorageEngineSWF.superclass.constructor.call(K,I,G.StorageEngineSWF.ENGINE_NAME,J);A(K._cfg);F.unsubscribe("contentReady");F.addListener("contentReady",function(){K._swf=F._swf;F.initialized=true;var N=G.StorageManager.LOCATION_SESSION===K._location,M=G.Cookie.get("sessionKey"+G.StorageEngineSWF.ENGINE_NAME);for(var P=F.callSWF("getLength",[])-1;0<=P;P-=1){var O=F.callSWF("getNameAt",[P]),L=-1<O.indexOf(G.StorageManager.LOCATION_SESSION+K.DELIMITER);if(N&&!M){F.callSWF("removeItem",[O]);}else{if(N===L){K._addKey(O);}}}if(N){G.Cookie.set("sessionKey"+G.StorageEngineSWF.ENGINE_NAME,true);}K.length=K._keys.length;K.fireEvent(K.CE_READY);});if(F.initialized){F.fireEvent("contentReady");}};B.extend(G.StorageEngineSWF,G.StorageEngineKeyed,{_swf:null,_clear:function(){for(var J=this._keys.length-1;0<=J;J-=1){var I=this._keys[J];F.callSWF("removeItem",[I]);}this._keys=[];this.length=0;},_getItem:function(I){var J=D(this,I);return F.callSWF("getValueOf",[J]);},_key:function(I){return(this._keys[I]||"").replace(/^.*?__/,"");},_removeItem:function(I){var J=D(this,I);F.callSWF("removeItem",[J]);this._removeKey(J);},_setItem:function(I,K){var J=D(this,I),L;if(F.callSWF("getValueOf",[J])){this._removeItem(I);}this._addKey(J);if(F.callSWF("setItem",[J,K])){return true;}else{L=H.get(F._id);if(C>H.getStyle(L,"width").replace(/\D+/g,"")){H.setStyle(L,"width",C+"px");}if(E>H.getStyle(L,"height").replace(/\D+/g,"")){H.setStyle(L,"height",E+"px");}return F.callSWF("displaySettings",[]);}}});G.StorageEngineSWF.SWFURL="swfstore.swf";G.StorageEngineSWF.ENGINE_NAME="swf";G.StorageEngineSWF.isAvailable=function(){return(6<=YAHOO.env.ua.flash&&YAHOO.widget.SWF);};G.StorageManager.register(G.StorageEngineSWF);}());YAHOO.register("storage",YAHOO.util.Storage,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/stylesheet/stylesheet-min.js b/js/yui/stylesheet/stylesheet-min.js new file mode 100644 index 0000000000000000000000000000000000000000..0cf6083a24bd9c77b40e6e086f44cb7a33d06518 --- /dev/null +++ b/js/yui/stylesheet/stylesheet-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var I=document,B=I.createElement("p"),D=B.style,C=YAHOO.lang,L={},H={},E=0,J=("cssFloat" in D)?"cssFloat":"styleFloat",F,A,K;A=("opacity" in D)?function(M){M.opacity="";}:function(M){M.filter="";};D.border="1px solid red";D.border="";K=D.borderLeft?function(M,O){var N;if(O!==J&&O.toLowerCase().indexOf("float")!=-1){O=J;}if(typeof M[O]==="string"){switch(O){case"opacity":case"filter":A(M);break;case"font":M.font=M.fontStyle=M.fontVariant=M.fontWeight=M.fontSize=M.lineHeight=M.fontFamily="";break;default:for(N in M){if(N.indexOf(O)===0){M[N]="";}}}}}:function(M,N){if(N!==J&&N.toLowerCase().indexOf("float")!=-1){N=J;}if(C.isString(M[N])){if(N==="opacity"){A(M);}else{M[N]="";}}};function G(T,O){var W,R,V,U={},N,X,Q,S,M,P;if(!(this instanceof G)){return new G(T,O);}R=T&&(T.nodeName?T:I.getElementById(T));if(T&&H[T]){return H[T];}else{if(R&&R.yuiSSID&&H[R.yuiSSID]){return H[R.yuiSSID];}}if(!R||!/^(?:style|link)$/i.test(R.nodeName)){R=I.createElement("style");R.type="text/css";}if(C.isString(T)){if(T.indexOf("{")!=-1){if(R.styleSheet){R.styleSheet.cssText=T;}else{R.appendChild(I.createTextNode(T));}}else{if(!O){O=T;}}}if(!R.parentNode||R.parentNode.nodeName.toLowerCase()!=="head"){W=(R.ownerDocument||I).getElementsByTagName("head")[0];W.appendChild(R);}V=R.sheet||R.styleSheet;N=V&&("cssRules" in V)?"cssRules":"rules";Q=("deleteRule" in V)?function(Y){V.deleteRule(Y);}:function(Y){V.removeRule(Y);};X=("insertRule" in V)?function(a,Z,Y){V.insertRule(a+" {"+Z+"}",Y);}:function(a,Z,Y){V.addRule(a,Z,Y);};for(S=V[N].length-1;S>=0;--S){M=V[N][S];P=M.selectorText;if(U[P]){U[P].style.cssText+=";"+M.style.cssText;Q(S);}else{U[P]=M;}}R.yuiSSID="yui-stylesheet-"+(E++);G.register(R.yuiSSID,this);if(O){G.register(O,this);}C.augmentObject(this,{getId:function(){return R.yuiSSID;},node:R,enable:function(){V.disabled=false;return this;},disable:function(){V.disabled=true;return this;},isEnabled:function(){return !V.disabled;},set:function(b,a){var d=U[b],c=b.split(/\s*,\s*/),Z,Y;if(c.length>1){for(Z=c.length-1;Z>=0;--Z){this.set(c[Z],a);}return this;}if(!G.isValidSelector(b)){return this;}if(d){d.style.cssText=G.toCssText(a,d.style.cssText);}else{Y=V[N].length;a=G.toCssText(a);if(a){X(b,a,Y);U[b]=V[N][Y];}}return this;},unset:function(b,a){var d=U[b],c=b.split(/\s*,\s*/),Y=!a,e,Z;if(c.length>1){for(Z=c.length-1;Z>=0;--Z){this.unset(c[Z],a);}return this;}if(d){if(!Y){if(!C.isArray(a)){a=[a];}D.cssText=d.style.cssText;for(Z=a.length-1;Z>=0;--Z){K(D,a[Z]);}if(D.cssText){d.style.cssText=D.cssText;}else{Y=true;}}if(Y){e=V[N];for(Z=e.length-1;Z>=0;--Z){if(e[Z]===d){delete U[b];Q(Z);break;}}}}return this;},getCssText:function(Z){var a,Y;if(C.isString(Z)){a=U[Z.split(/\s*,\s*/)[0]];return a?a.style.cssText:null;}else{Y=[];for(Z in U){if(U.hasOwnProperty(Z)){a=U[Z];Y.push(a.selectorText+" {"+a.style.cssText+"}");}}return Y.join("\n");}}},true);}F=function(M,O){var N=M.styleFloat||M.cssFloat||M["float"],Q;D.cssText=O||"";if(C.isString(M)){D.cssText+=";"+M;}else{if(N&&!M[J]){M=C.merge(M);delete M.styleFloat;delete M.cssFloat;delete M["float"];M[J]=N;}for(Q in M){if(M.hasOwnProperty(Q)){try{D[Q]=C.trim(M[Q]);}catch(P){}}}}return D.cssText;};C.augmentObject(G,{toCssText:(("opacity" in D)?F:function(M,N){if(C.isObject(M)&&"opacity" in M){M=C.merge(M,{filter:"alpha(opacity="+(M.opacity*100)+")"});delete M.opacity;}return F(M,N);}),register:function(M,N){return !!(M&&N instanceof G&&!H[M]&&(H[M]=N));},isValidSelector:function(N){var M=false;if(N&&C.isString(N)){if(!L.hasOwnProperty(N)){L[N]=!/\S/.test(N.replace(/\s+|\s*[+~>]\s*/g," ").replace(/([^ ])\[.*?\]/g,"$1").replace(/([^ ])::?[a-z][a-z\-]+[a-z](?:\(.*?\))?/ig,"$1").replace(/(?:^| )[a-z0-6]+/ig," ").replace(/\\./g,"").replace(/[.#]\w[\w\-]*/g,""));}M=L[N];}return M;}},true);YAHOO.util.StyleSheet=G;})();YAHOO.register("stylesheet",YAHOO.util.StyleSheet,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/swf/swf-min.js b/js/yui/swf/swf-min.js new file mode 100644 index 0000000000000000000000000000000000000000..870de0b373455157bfb9495101f7bc606aca93d4 --- /dev/null +++ b/js/yui/swf/swf-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("widget");(function(){var M=0;var L=YAHOO.env.ua;var P="ShockwaveFlash";if(L.gecko||L.webkit||L.opera){if((mF=navigator.mimeTypes["application/x-shockwave-flash"])){if((eP=mF.enabledPlugin)){var F=[];F=eP.description.replace(/\s[rd]/g,".").replace(/[A-Za-z\s]+/g,"").split(".");M=F[0]+".";switch((F[2].toString()).length){case 1:M+="00";break;case 2:M+="0";break;}M+=F[2];M=parseFloat(M);}}}else{if(L.ie){try{var Q=new ActiveXObject(P+"."+P+".6");Q.AllowScriptAccess="always";}catch(K){if(Q!=null){M=6;}}if(M==0){try{var B=new ActiveXObject(P+"."+P);var F=[];F=B.GetVariable("$version").replace(/[A-Za-z\s]+/g,"").split(",");M=F[0]+".";switch((F[2].toString()).length){case 1:M+="00";break;case 2:M+="0";break;}M+=F[2];M=parseFloat(M);}catch(K){}}}}L.flash=M;YAHOO.util.SWFDetect={getFlashVersion:function(){return M;},isFlashVersionAtLeast:function(R){return M>=R;}};var H=YAHOO.util.Dom,O=YAHOO.util.Event,I=YAHOO.util.SWFDetect,J=YAHOO.lang,G="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",E="application/x-shockwave-flash",D="10.22",A="http://fpdownload.macromedia.com/pub/flashplayer/update/current/swf/autoUpdater.swf?"+Math.random(),C="YAHOO.widget.SWF.eventHandler",N={align:"",allowNetworking:"",allowScriptAccess:"",base:"",bgcolor:"",menu:"",name:"",quality:"",salign:"",scale:"",tabindex:"",wmode:""};YAHOO.widget.SWF=function(R,i,c){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._id=H.generateId(null,"yuiswf");if(c.host){this._host=c.host;}var e=this._id;var U=H.get(R);var S=(c["version"]||D);var b=I.isFlashVersionAtLeast(S);var a=(L.flash>=8);var V=a&&!b&&c["useExpressInstall"];var Z=(V)?A:i;var Y="<object ";var f,X;var g="YUISwfId="+e+"&YUIBridgeCallback="+C;YAHOO.widget.SWF._instances[e]=this;if(U&&(b||V)&&Z){Y+='id="'+e+'" ';if(L.ie){Y+='classid="'+G+'" ';}else{Y+='type="'+E+'" data="'+Z+'" ';}f="100%";X="100%";Y+='width="'+f+'" height="'+X+'">';if(L.ie){Y+='<param name="movie" value="'+Z+'"/>';}for(var T in c.fixedAttributes){if(N.hasOwnProperty(T)){Y+='<param name="'+T+'" value="'+c.fixedAttributes[T]+'"/>';}}for(var d in c.flashVars){var W=c.flashVars[d];if(J.isString(W)){g+="&"+d+"="+encodeURIComponent(W);}}if(g){Y+='<param name="flashVars" value="'+g+'"/>';}Y+="</object>";U.innerHTML=Y;}YAHOO.widget.SWF.superclass.constructor.call(this,H.get(e));this._swf=H.get(e);};YAHOO.widget.SWF._instances=YAHOO.widget.SWF._instances||{};YAHOO.widget.SWF.eventHandler=function(R,S){YAHOO.widget.SWF._instances[R]._eventHandler(S);};YAHOO.extend(YAHOO.widget.SWF,YAHOO.util.Element,{_eventHandler:function(R){if(R.type=="swfReady"){this.createEvent("swfReady",{fireOnce:true});this.fireEvent("swfReady",R);}else{if(R.type=="log"){}else{if(this._host&&this._host.fireEvent){this._host.fireEvent(R.type,R);}else{this.fireEvent(R.type,R);}}}},callSWF:function(S,R){if(!R){R=[];}if(this._swf[S]){return(this._swf[S].apply(this._swf,R));}else{return null;}},toString:function(){return"SWF "+this._id;}});})();YAHOO.register("swf",YAHOO.widget.SWF,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/swfdetect/swfdetect-min.js b/js/yui/swfdetect/swfdetect-min.js new file mode 100644 index 0000000000000000000000000000000000000000..b76b7e549f891a4c0d60bc4318037618c11f7039 --- /dev/null +++ b/js/yui/swfdetect/swfdetect-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("util");(function(){var A=0;var B=YAHOO.env.ua;var C="ShockwaveFlash";if(B.gecko||B.webkit||B.opera){if((mF=navigator.mimeTypes["application/x-shockwave-flash"])){if((eP=mF.enabledPlugin)){var G=[];G=eP.description.replace(/\s[rd]/g,".").replace(/[A-Za-z\s]+/g,"").split(".");A=G[0]+".";switch((G[2].toString()).length){case 1:A+="00";break;case 2:A+="0";break;}A+=G[2];A=parseFloat(A);}}}else{if(B.ie){try{var D=new ActiveXObject(C+"."+C+".6");D.AllowScriptAccess="always";}catch(F){if(D!=null){A=6;}}if(A==0){try{var E=new ActiveXObject(C+"."+C);var G=[];G=E.GetVariable("$version").replace(/[A-Za-z\s]+/g,"").split(",");A=G[0]+".";switch((G[2].toString()).length){case 1:A+="00";break;case 2:A+="0";break;}A+=G[2];A=parseFloat(A);}catch(F){}}}}B.flash=A;YAHOO.util.SWFDetect={getFlashVersion:function(){return A;},isFlashVersionAtLeast:function(H){return A>=H;}};})();YAHOO.register("swfdetect",YAHOO.util.SWFDetect,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/swfstore/swfstore-min.js b/js/yui/swfstore/swfstore-min.js new file mode 100644 index 0000000000000000000000000000000000000000..749730f1163187480273d568166f4962b7112631 --- /dev/null +++ b/js/yui/swfstore/swfstore-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.util.SWFStore=function(A,C,D){var B;var E;C=C.toString();D=D.toString();if(YAHOO.env.ua.ie){B="ie";}else{if(YAHOO.env.ua.gecko){B="gecko";}else{if(YAHOO.env.ua.webkit){B="webkit";}else{if(YAHOO.env.ua.caja){B="caja";}else{if(YAHOO.env.ua.opera){B="opera";}else{B="other";}}}}}if(YAHOO.util.Cookie.get("swfstore")==null||YAHOO.util.Cookie.get("swfstore")=="null"||YAHOO.util.Cookie.get("swfstore")==""){E=Math.round(Math.random()*Math.PI*100000);YAHOO.util.Cookie.set("swfstore",E);}else{E=YAHOO.util.Cookie.get("swfstore");}var F={version:9.115,useExpressInstall:false,fixedAttributes:{allowScriptAccess:"always",allowNetworking:"all",scale:"noScale"},flashVars:{shareData:C,browser:E,useCompression:D}};this.embeddedSWF=new YAHOO.widget.SWF(A,YAHOO.util.SWFStore.SWFURL,F);this.createEvent("error");this.createEvent("quotaExceededError");this.createEvent("securityError");this.createEvent("save");this.createEvent("clear");this.createEvent("pending");this.createEvent("openingDialog");this.createEvent("inadequateDimensions");};YAHOO.extend(YAHOO.util.SWFStore,YAHOO.util.AttributeProvider,{on:function(A,B){this.embeddedSWF.addListener(A,B);},addListener:function(A,B){this.embeddedSWF.addListener(A,B);},toString:function(){return"SWFStore "+this._id;},getShareData:function(){return this.embeddedSWF.callSWF("getShareData");},setShareData:function(A){this.embeddedSWF.callSWF("setShareData",[A]);},hasAdequateDimensions:function(){return this.embeddedSWF.callSWF("hasAdequateDimensions");},getUseCompression:function(){return this.embeddedSWF.callSWF("getUseCompression");},setUseCompression:function(A){this.embeddedSWF.callSWF("setUseCompression",[A]);},setItem:function(A,B){return this.embeddedSWF.callSWF("setItem",[A,B]);},getValueAt:function(A){return this.embeddedSWF.callSWF("getValueAt",[A]);},getNameAt:function(A){return this.embeddedSWF.callSWF("getNameAt",[A]);},getValueOf:function(A){return this.embeddedSWF.callSWF("getValueOf",[A]);},getTypeOf:function(A){return this.embeddedSWF.callSWF("getTypeOf",[A]);},getTypeAt:function(A){return this.embeddedSWF.callSWF("getTypeAt",[A]);},getItems:function(){return this.embeddedSWF.callSWF("getItems",[]);},removeItem:function(A){return this.embeddedSWF.callSWF("removeItem",[A]);},removeItemAt:function(A){return this.embeddedSWF.callSWF("removeItemAt",[A]);},getLength:function(){return this.embeddedSWF.callSWF("getLength",[]);},clear:function(){return this.embeddedSWF.callSWF("clear",[]);},calculateCurrentSize:function(){return this.embeddedSWF.callSWF("calculateCurrentSize",[]);},getModificationDate:function(){return this.embeddedSWF.callSWF("getModificationDate",[]);},setSize:function(B){var A=this.embeddedSWF.callSWF("setSize",[B]);return A;},displaySettings:function(){this.embeddedSWF.callSWF("displaySettings",[]);}});YAHOO.util.SWFStore.SWFURL="swfstore.swf";YAHOO.register("swfstore",YAHOO.util.SWFStore,{version:"2.8.1",build:"19"});YAHOO.register("swfstore",YAHOO.util.SWFStore,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/swfstore/swfstore.swf b/js/yui/swfstore/swfstore.swf new file mode 100644 index 0000000000000000000000000000000000000000..1d2f5012985047b0d7b644b380ebfb57ce3a9123 Binary files /dev/null and b/js/yui/swfstore/swfstore.swf differ diff --git a/js/yui/tabview/tabview-min.js b/js/yui/tabview/tabview-min.js new file mode 100644 index 0000000000000000000000000000000000000000..167c32d1da4728b5f134862d6a55af266573ad6c --- /dev/null +++ b/js/yui/tabview/tabview-min.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var B=YAHOO.util,C=B.Dom,H=B.Event,F=window.document,J="active",D="activeIndex",E="activeTab",A="contentEl",G="element",I=function(L,K){K=K||{};if(arguments.length==1&&!YAHOO.lang.isString(L)&&!L.nodeName){K=L;L=K.element||null;}if(!L&&!K.element){L=this._createTabViewElement(K);}I.superclass.constructor.call(this,L,K);};YAHOO.extend(I,B.Element,{CLASSNAME:"yui-navset",TAB_PARENT_CLASSNAME:"yui-nav",CONTENT_PARENT_CLASSNAME:"yui-content",_tabParent:null,_contentParent:null,addTab:function(P,L){var N=this.get("tabs"),Q=this.getTab(L),R=this._tabParent,K=this._contentParent,M=P.get(G),O=P.get(A);if(!N){this._queue[this._queue.length]=["addTab",arguments];return false;}L=(L===undefined)?N.length:L;N.splice(L,0,P);if(Q){R.insertBefore(M,Q.get(G));}else{R.appendChild(M);}if(O&&!C.isAncestor(K,O)){K.appendChild(O);}if(!P.get(J)){P.set("contentVisible",false,true);}else{this.set(E,P,true);this.set("activeIndex",L,true);}this._initTabEvents(P);},_initTabEvents:function(K){K.addListener(K.get("activationEvent"),K._onActivate,this,K);K.addListener(K.get("activationEventChange"),K._onActivationEventChange,this,K);},_removeTabEvents:function(K){K.removeListener(K.get("activationEvent"),K._onActivate,this,K);K.removeListener("activationEventChange",K._onActivationEventChange,this,K);},DOMEventHandler:function(P){var Q=H.getTarget(P),S=this._tabParent,R=this.get("tabs"),M,L,K;if(C.isAncestor(S,Q)){for(var N=0,O=R.length;N<O;N++){L=R[N].get(G);K=R[N].get(A);if(Q==L||C.isAncestor(L,Q)){M=R[N];break;}}if(M){M.fireEvent(P.type,P);}}},getTab:function(K){return this.get("tabs")[K];},getTabIndex:function(O){var L=null,N=this.get("tabs");for(var M=0,K=N.length;M<K;++M){if(O==N[M]){L=M;break;}}return L;},removeTab:function(M){var L=this.get("tabs").length,K=this.getTabIndex(M);if(M===this.get(E)){if(L>1){if(K+1===L){this.set(D,K-1);}else{this.set(D,K+1);}}else{this.set(E,null);}}this._removeTabEvents(M);this._tabParent.removeChild(M.get(G));this._contentParent.removeChild(M.get(A));this._configs.tabs.value.splice(K,1);M.fireEvent("remove",{type:"remove",tabview:this});},toString:function(){var K=this.get("id")||this.get("tagName");return"TabView "+K;},contentTransition:function(L,K){if(L){L.set("contentVisible",true);}if(K){K.set("contentVisible",false);}},initAttributes:function(K){I.superclass.initAttributes.call(this,K);if(!K.orientation){K.orientation="top";}var M=this.get(G);if(!C.hasClass(M,this.CLASSNAME)){C.addClass(M,this.CLASSNAME);}this.setAttributeConfig("tabs",{value:[],readOnly:true});this._tabParent=this.getElementsByClassName(this.TAB_PARENT_CLASSNAME,"ul")[0]||this._createTabParent();this._contentParent=this.getElementsByClassName(this.CONTENT_PARENT_CLASSNAME,"div")[0]||this._createContentParent();this.setAttributeConfig("orientation",{value:K.orientation,method:function(N){var O=this.get("orientation");this.addClass("yui-navset-"+N);if(O!=N){this.removeClass("yui-navset-"+O);}if(N==="bottom"){this.appendChild(this._tabParent);}}});this.setAttributeConfig(D,{value:K.activeIndex,validator:function(O){var N=true;if(O&&this.getTab(O).get("disabled")){N=false;}return N;}});this.setAttributeConfig(E,{value:K.activeTab,method:function(O){var N=this.get(E);if(O){O.set(J,true);}if(N&&N!==O){N.set(J,false);}if(N&&O!==N){this.contentTransition(O,N);}else{if(O){O.set("contentVisible",true);}}},validator:function(O){var N=true;if(O&&O.get("disabled")){N=false;}return N;}});this.on("activeTabChange",this._onActiveTabChange);this.on("activeIndexChange",this._onActiveIndexChange);if(this._tabParent){this._initTabs();}this.DOM_EVENTS.submit=false;this.DOM_EVENTS.focus=false;this.DOM_EVENTS.blur=false;for(var L in this.DOM_EVENTS){if(YAHOO.lang.hasOwnProperty(this.DOM_EVENTS,L)){this.addListener.call(this,L,this.DOMEventHandler);}}},deselectTab:function(K){if(this.getTab(K)===this.get("activeTab")){this.set("activeTab",null);}},selectTab:function(K){this.set("activeTab",this.getTab(K));},_onActiveTabChange:function(M){var K=this.get(D),L=this.getTabIndex(M.newValue);if(K!==L){if(!(this.set(D,L))){this.set(E,M.prevValue);}}},_onActiveIndexChange:function(K){if(K.newValue!==this.getTabIndex(this.get(E))){if(!(this.set(E,this.getTab(K.newValue)))){this.set(D,K.prevValue);}}},_initTabs:function(){var P=C.getChildren(this._tabParent),N=C.getChildren(this._contentParent),M=this.get(D),Q,L,R;for(var O=0,K=P.length;O<K;++O){L={};if(N[O]){L.contentEl=N[O];}Q=new YAHOO.widget.Tab(P[O],L);this.addTab(Q);if(Q.hasClass(Q.ACTIVE_CLASSNAME)){R=Q;}}if(M){this.set(E,this.getTab(M));}else{this._configs.activeTab.value=R;this._configs.activeIndex.value=this.getTabIndex(R);}},_createTabViewElement:function(K){var L=F.createElement("div");if(this.CLASSNAME){L.className=this.CLASSNAME;}return L;},_createTabParent:function(K){var L=F.createElement("ul");if(this.TAB_PARENT_CLASSNAME){L.className=this.TAB_PARENT_CLASSNAME;}this.get(G).appendChild(L);return L;},_createContentParent:function(K){var L=F.createElement("div");if(this.CONTENT_PARENT_CLASSNAME){L.className=this.CONTENT_PARENT_CLASSNAME;}this.get(G).appendChild(L);return L;}});YAHOO.widget.TabView=I;})();(function(){var D=YAHOO.util,I=D.Dom,L=YAHOO.lang,M="activeTab",J="label",G="labelEl",Q="content",C="contentEl",O="element",P="cacheData",B="dataSrc",H="dataLoaded",A="dataTimeout",N="loadMethod",F="postData",K="disabled",E=function(S,R){R=R||{};if(arguments.length==1&&!L.isString(S)&&!S.nodeName){R=S;S=R.element;}if(!S&&!R.element){S=this._createTabElement(R);}this.loadHandler={success:function(T){this.set(Q,T.responseText);},failure:function(T){}};E.superclass.constructor.call(this,S,R);this.DOM_EVENTS={};};YAHOO.extend(E,YAHOO.util.Element,{LABEL_TAGNAME:"em",ACTIVE_CLASSNAME:"selected",HIDDEN_CLASSNAME:"yui-hidden",ACTIVE_TITLE:"active",DISABLED_CLASSNAME:K,LOADING_CLASSNAME:"loading",dataConnection:null,loadHandler:null,_loading:false,toString:function(){var R=this.get(O),S=R.id||R.tagName;return"Tab "+S;},initAttributes:function(R){R=R||{};E.superclass.initAttributes.call(this,R); +this.setAttributeConfig("activationEvent",{value:R.activationEvent||"click"});this.setAttributeConfig(G,{value:R[G]||this._getLabelEl(),method:function(S){S=I.get(S);var T=this.get(G);if(T){if(T==S){return false;}T.parentNode.replaceChild(S,T);this.set(J,S.innerHTML);}}});this.setAttributeConfig(J,{value:R.label||this._getLabel(),method:function(T){var S=this.get(G);if(!S){this.set(G,this._createLabelEl());}S.innerHTML=T;}});this.setAttributeConfig(C,{value:R[C]||document.createElement("div"),method:function(S){S=I.get(S);var T=this.get(C);if(T){if(T===S){return false;}if(!this.get("selected")){I.addClass(S,this.HIDDEN_CLASSNAME);}T.parentNode.replaceChild(S,T);this.set(Q,S.innerHTML);}}});this.setAttributeConfig(Q,{value:R[Q],method:function(S){this.get(C).innerHTML=S;}});this.setAttributeConfig(B,{value:R.dataSrc});this.setAttributeConfig(P,{value:R.cacheData||false,validator:L.isBoolean});this.setAttributeConfig(N,{value:R.loadMethod||"GET",validator:L.isString});this.setAttributeConfig(H,{value:false,validator:L.isBoolean,writeOnce:true});this.setAttributeConfig(A,{value:R.dataTimeout||null,validator:L.isNumber});this.setAttributeConfig(F,{value:R.postData||null});this.setAttributeConfig("active",{value:R.active||this.hasClass(this.ACTIVE_CLASSNAME),method:function(S){if(S===true){this.addClass(this.ACTIVE_CLASSNAME);this.set("title",this.ACTIVE_TITLE);}else{this.removeClass(this.ACTIVE_CLASSNAME);this.set("title","");}},validator:function(S){return L.isBoolean(S)&&!this.get(K);}});this.setAttributeConfig(K,{value:R.disabled||this.hasClass(this.DISABLED_CLASSNAME),method:function(S){if(S===true){I.addClass(this.get(O),this.DISABLED_CLASSNAME);}else{I.removeClass(this.get(O),this.DISABLED_CLASSNAME);}},validator:L.isBoolean});this.setAttributeConfig("href",{value:R.href||this.getElementsByTagName("a")[0].getAttribute("href",2)||"#",method:function(S){this.getElementsByTagName("a")[0].href=S;},validator:L.isString});this.setAttributeConfig("contentVisible",{value:R.contentVisible,method:function(S){if(S){I.removeClass(this.get(C),this.HIDDEN_CLASSNAME);if(this.get(B)){if(!this._loading&&!(this.get(H)&&this.get(P))){this._dataConnect();}}}else{I.addClass(this.get(C),this.HIDDEN_CLASSNAME);}},validator:L.isBoolean});},_dataConnect:function(){if(!D.Connect){return false;}I.addClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=true;this.dataConnection=D.Connect.asyncRequest(this.get(N),this.get(B),{success:function(R){this.loadHandler.success.call(this,R);this.set(H,true);this.dataConnection=null;I.removeClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=false;},failure:function(R){this.loadHandler.failure.call(this,R);this.dataConnection=null;I.removeClass(this.get(C).parentNode,this.LOADING_CLASSNAME);this._loading=false;},scope:this,timeout:this.get(A)},this.get(F));},_createTabElement:function(R){var V=document.createElement("li"),S=document.createElement("a"),U=R.label||null,T=R.labelEl||null;S.href=R.href||"#";V.appendChild(S);if(T){if(!U){U=this._getLabel();}}else{T=this._createLabelEl();}S.appendChild(T);return V;},_getLabelEl:function(){return this.getElementsByTagName(this.LABEL_TAGNAME)[0];},_createLabelEl:function(){var R=document.createElement(this.LABEL_TAGNAME);return R;},_getLabel:function(){var R=this.get(G);if(!R){return undefined;}return R.innerHTML;},_onActivate:function(U,T){var S=this,R=false;D.Event.preventDefault(U);if(S===T.get(M)){R=true;}T.set(M,S,R);},_onActivationEventChange:function(S){var R=this;if(S.prevValue!=S.newValue){R.removeListener(S.prevValue,R._onActivate);R.addListener(S.newValue,R._onActivate,this,R);}}});YAHOO.widget.Tab=E;})();YAHOO.register("tabview",YAHOO.widget.TabView,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/treeview/treeview-min.js b/js/yui/treeview/treeview-min.js new file mode 100644 index 0000000000000000000000000000000000000000..1806c1721c0142e3222400a46e13179bc0f98426 --- /dev/null +++ b/js/yui/treeview/treeview-min.js @@ -0,0 +1,12 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +(function(){var D=YAHOO.util.Dom,B=YAHOO.util.Event,F=YAHOO.lang,E=YAHOO.widget;YAHOO.widget.TreeView=function(H,G){if(H){this.init(H);}if(G){this.buildTreeFromObject(G);}else{if(F.trim(this._el.innerHTML)){this.buildTreeFromMarkup(H);}}};var C=E.TreeView;C.prototype={id:null,_el:null,_nodes:null,locked:false,_expandAnim:null,_collapseAnim:null,_animCount:0,maxAnim:2,_hasDblClickSubscriber:false,_dblClickTimer:null,currentFocus:null,singleNodeHighlight:false,_currentlyHighlighted:null,setExpandAnim:function(G){this._expandAnim=(E.TVAnim.isValid(G))?G:null;},setCollapseAnim:function(G){this._collapseAnim=(E.TVAnim.isValid(G))?G:null;},animateExpand:function(I,J){if(this._expandAnim&&this._animCount<this.maxAnim){var G=this;var H=E.TVAnim.getAnim(this._expandAnim,I,function(){G.expandComplete(J);});if(H){++this._animCount;this.fireEvent("animStart",{"node":J,"type":"expand"});H.animate();}return true;}return false;},animateCollapse:function(I,J){if(this._collapseAnim&&this._animCount<this.maxAnim){var G=this;var H=E.TVAnim.getAnim(this._collapseAnim,I,function(){G.collapseComplete(J);});if(H){++this._animCount;this.fireEvent("animStart",{"node":J,"type":"collapse"});H.animate();}return true;}return false;},expandComplete:function(G){--this._animCount;this.fireEvent("animComplete",{"node":G,"type":"expand"});},collapseComplete:function(G){--this._animCount;this.fireEvent("animComplete",{"node":G,"type":"collapse"});},init:function(I){this._el=D.get(I);this.id=D.generateId(this._el,"yui-tv-auto-id-");this.createEvent("animStart",this);this.createEvent("animComplete",this);this.createEvent("collapse",this);this.createEvent("collapseComplete",this);this.createEvent("expand",this);this.createEvent("expandComplete",this);this.createEvent("enterKeyPressed",this);this.createEvent("clickEvent",this);this.createEvent("focusChanged",this);var G=this;this.createEvent("dblClickEvent",{scope:this,onSubscribeCallback:function(){G._hasDblClickSubscriber=true;}});this.createEvent("labelClick",this);this.createEvent("highlightEvent",this);this._nodes=[];C.trees[this.id]=this;this.root=new E.RootNode(this);var H=E.LogWriter;if(this._initEditor){this._initEditor();}},buildTreeFromObject:function(G){var H=function(P,M){var L,Q,K,J,O,I,N;for(L=0;L<M.length;L++){Q=M[L];if(F.isString(Q)){K=new E.TextNode(Q,P);}else{if(F.isObject(Q)){J=Q.children;delete Q.children;O=Q.type||"text";delete Q.type;switch(F.isString(O)&&O.toLowerCase()){case"text":K=new E.TextNode(Q,P);break;case"menu":K=new E.MenuNode(Q,P);break;case"html":K=new E.HTMLNode(Q,P);break;default:if(F.isString(O)){I=E[O];}else{I=O;}if(F.isObject(I)){for(N=I;N&&N!==E.Node;N=N.superclass.constructor){}if(N){K=new I(Q,P);}else{}}else{}}if(J){H(K,J);}}else{}}}};if(!F.isArray(G)){G=[G];}H(this.root,G);},buildTreeFromMarkup:function(I){var H=function(J){var N,Q,M=[],L={},K,O;for(N=D.getFirstChild(J);N;N=D.getNextSibling(N)){switch(N.tagName.toUpperCase()){case"LI":K="";L={expanded:D.hasClass(N,"expanded"),title:N.title||N.alt||null,className:F.trim(N.className.replace(/\bexpanded\b/,""))||null};Q=N.firstChild;if(Q.nodeType==3){K=F.trim(Q.nodeValue.replace(/[\n\t\r]*/g,""));if(K){L.type="text";L.label=K;}else{Q=D.getNextSibling(Q);}}if(!K){if(Q.tagName.toUpperCase()=="A"){L.type="text";L.label=Q.innerHTML;L.href=Q.href;L.target=Q.target;L.title=Q.title||Q.alt||L.title;}else{L.type="html";var P=document.createElement("div");P.appendChild(Q.cloneNode(true));L.html=P.innerHTML;L.hasIcon=true;}}Q=D.getNextSibling(Q);switch(Q&&Q.tagName.toUpperCase()){case"UL":case"OL":L.children=H(Q);break;}if(YAHOO.lang.JSON){O=N.getAttribute("yuiConfig");if(O){O=YAHOO.lang.JSON.parse(O);L=YAHOO.lang.merge(L,O);}}M.push(L);break;case"UL":case"OL":L={type:"text",label:"",children:H(Q)};M.push(L);break;}}return M;};var G=D.getChildrenBy(D.get(I),function(K){var J=K.tagName.toUpperCase();return J=="UL"||J=="OL";});if(G.length){this.buildTreeFromObject(H(G[0]));}else{}},_getEventTargetTdEl:function(H){var I=B.getTarget(H);while(I&&!(I.tagName.toUpperCase()=="TD"&&D.hasClass(I.parentNode,"ygtvrow"))){I=D.getAncestorByTagName(I,"td");}if(F.isNull(I)){return null;}if(/\bygtv(blank)?depthcell/.test(I.className)){return null;}if(I.id){var G=I.id.match(/\bygtv([^\d]*)(.*)/);if(G&&G[2]&&this._nodes[G[2]]){return I;}}return null;},_onClickEvent:function(J){var H=this,L=this._getEventTargetTdEl(J),I,K,G=function(M){I.focus();if(M||!I.href){I.toggle();try{B.preventDefault(J);}catch(N){}}};if(!L){return;}I=this.getNodeByElement(L);if(!I){return;}K=B.getTarget(J);if(D.hasClass(K,I.labelStyle)||D.getAncestorByClassName(K,I.labelStyle)){this.fireEvent("labelClick",I);}if(/\bygtv[tl][mp]h?h?/.test(L.className)){G(true);}else{if(this._dblClickTimer){window.clearTimeout(this._dblClickTimer);this._dblClickTimer=null;}else{if(this._hasDblClickSubscriber){this._dblClickTimer=window.setTimeout(function(){H._dblClickTimer=null;if(H.fireEvent("clickEvent",{event:J,node:I})!==false){G();}},200);}else{if(H.fireEvent("clickEvent",{event:J,node:I})!==false){G();}}}}},_onDblClickEvent:function(G){if(!this._hasDblClickSubscriber){return;}var H=this._getEventTargetTdEl(G);if(!H){return;}if(!(/\bygtv[tl][mp]h?h?/.test(H.className))){this.fireEvent("dblClickEvent",{event:G,node:this.getNodeByElement(H)});if(this._dblClickTimer){window.clearTimeout(this._dblClickTimer);this._dblClickTimer=null;}}},_onMouseOverEvent:function(G){var H;if((H=this._getEventTargetTdEl(G))&&(H=this.getNodeByElement(H))&&(H=H.getToggleEl())){H.className=H.className.replace(/\bygtv([lt])([mp])\b/gi,"ygtv$1$2h");}},_onMouseOutEvent:function(G){var H;if((H=this._getEventTargetTdEl(G))&&(H=this.getNodeByElement(H))&&(H=H.getToggleEl())){H.className=H.className.replace(/\bygtv([lt])([mp])h\b/gi,"ygtv$1$2");}},_onKeyDownEvent:function(L){var N=B.getTarget(L),K=this.getNodeByElement(N),J=K,G=YAHOO.util.KeyListener.KEY;switch(L.keyCode){case G.UP:do{if(J.previousSibling){J=J.previousSibling;}else{J=J.parent;}}while(J&&!J._canHaveFocus());if(J){J.focus(); +}B.preventDefault(L);break;case G.DOWN:do{if(J.nextSibling){J=J.nextSibling;}else{J.expand();J=(J.children.length||null)&&J.children[0];}}while(J&&!J._canHaveFocus);if(J){J.focus();}B.preventDefault(L);break;case G.LEFT:do{if(J.parent){J=J.parent;}else{J=J.previousSibling;}}while(J&&!J._canHaveFocus());if(J){J.focus();}B.preventDefault(L);break;case G.RIGHT:var I=this,M,H=function(O){I.unsubscribe("expandComplete",H);M(O);};M=function(O){do{if(O.isDynamic()&&!O.childrenRendered){I.subscribe("expandComplete",H);O.expand();O=null;break;}else{O.expand();if(O.children.length){O=O.children[0];}else{O=O.nextSibling;}}}while(O&&!O._canHaveFocus());if(O){O.focus();}};M(J);B.preventDefault(L);break;case G.ENTER:if(K.href){if(K.target){window.open(K.href,K.target);}else{window.location(K.href);}}else{K.toggle();}this.fireEvent("enterKeyPressed",K);B.preventDefault(L);break;case G.HOME:J=this.getRoot();if(J.children.length){J=J.children[0];}if(J._canHaveFocus()){J.focus();}B.preventDefault(L);break;case G.END:J=J.parent.children;J=J[J.length-1];if(J._canHaveFocus()){J.focus();}B.preventDefault(L);break;case 107:if(L.shiftKey){K.parent.expandAll();}else{K.expand();}break;case 109:if(L.shiftKey){K.parent.collapseAll();}else{K.collapse();}break;default:break;}},render:function(){var G=this.root.getHtml(),H=this.getEl();H.innerHTML=G;if(!this._hasEvents){B.on(H,"click",this._onClickEvent,this,true);B.on(H,"dblclick",this._onDblClickEvent,this,true);B.on(H,"mouseover",this._onMouseOverEvent,this,true);B.on(H,"mouseout",this._onMouseOutEvent,this,true);B.on(H,"keydown",this._onKeyDownEvent,this,true);}this._hasEvents=true;},getEl:function(){if(!this._el){this._el=D.get(this.id);}return this._el;},regNode:function(G){this._nodes[G.index]=G;},getRoot:function(){return this.root;},setDynamicLoad:function(G,H){this.root.setDynamicLoad(G,H);},expandAll:function(){if(!this.locked){this.root.expandAll();}},collapseAll:function(){if(!this.locked){this.root.collapseAll();}},getNodeByIndex:function(H){var G=this._nodes[H];return(G)?G:null;},getNodeByProperty:function(I,H){for(var G in this._nodes){if(this._nodes.hasOwnProperty(G)){var J=this._nodes[G];if((I in J&&J[I]==H)||(J.data&&H==J.data[I])){return J;}}}return null;},getNodesByProperty:function(J,I){var G=[];for(var H in this._nodes){if(this._nodes.hasOwnProperty(H)){var K=this._nodes[H];if((J in K&&K[J]==I)||(K.data&&I==K.data[J])){G.push(K);}}}return(G.length)?G:null;},getNodesBy:function(I){var G=[];for(var H in this._nodes){if(this._nodes.hasOwnProperty(H)){var J=this._nodes[H];if(I(J)){G.push(J);}}}return(G.length)?G:null;},getNodeByElement:function(I){var J=I,G,H=/ygtv([^\d]*)(.*)/;do{if(J&&J.id){G=J.id.match(H);if(G&&G[2]){return this.getNodeByIndex(G[2]);}}J=J.parentNode;if(!J||!J.tagName){break;}}while(J.id!==this.id&&J.tagName.toLowerCase()!=="body");return null;},getHighlightedNode:function(){return this._currentlyHighlighted;},removeNode:function(H,G){if(H.isRoot()){return false;}var I=H.parent;if(I.parent){I=I.parent;}this._deleteNode(H);if(G&&I&&I.childrenRendered){I.refresh();}return true;},_removeChildren_animComplete:function(G){this.unsubscribe(this._removeChildren_animComplete);this.removeChildren(G.node);},removeChildren:function(G){if(G.expanded){if(this._collapseAnim){this.subscribe("animComplete",this._removeChildren_animComplete,this,true);E.Node.prototype.collapse.call(G);return;}G.collapse();}while(G.children.length){this._deleteNode(G.children[0]);}if(G.isRoot()){E.Node.prototype.expand.call(G);}G.childrenRendered=false;G.dynamicLoadComplete=false;G.updateIcon();},_deleteNode:function(G){this.removeChildren(G);this.popNode(G);},popNode:function(J){var K=J.parent;var H=[];for(var I=0,G=K.children.length;I<G;++I){if(K.children[I]!=J){H[H.length]=K.children[I];}}K.children=H;K.childrenRendered=false;if(J.previousSibling){J.previousSibling.nextSibling=J.nextSibling;}if(J.nextSibling){J.nextSibling.previousSibling=J.previousSibling;}if(this.currentFocus==J){this.currentFocus=null;}if(this._currentlyHighlighted==J){this._currentlyHighlighted=null;}J.parent=null;J.previousSibling=null;J.nextSibling=null;J.tree=null;delete this._nodes[J.index];},destroy:function(){if(this._destroyEditor){this._destroyEditor();}var H=this.getEl();B.removeListener(H,"click");B.removeListener(H,"dblclick");B.removeListener(H,"mouseover");B.removeListener(H,"mouseout");B.removeListener(H,"keydown");for(var G=0;G<this._nodes.length;G++){var I=this._nodes[G];if(I&&I.destroy){I.destroy();}}H.innerHTML="";this._hasEvents=false;},toString:function(){return"TreeView "+this.id;},getNodeCount:function(){return this.getRoot().getNodeCount();},getTreeDefinition:function(){return this.getRoot().getNodeDefinition();},onExpand:function(G){},onCollapse:function(G){},setNodesProperty:function(G,I,H){this.root.setNodesProperty(G,I);if(H){this.root.refresh();}},onEventToggleHighlight:function(H){var G;if("node" in H&&H.node instanceof E.Node){G=H.node;}else{if(H instanceof E.Node){G=H;}else{return false;}}G.toggleHighlight();return false;}};var A=C.prototype;A.draw=A.render;YAHOO.augment(C,YAHOO.util.EventProvider);C.nodeCount=0;C.trees=[];C.getTree=function(H){var G=C.trees[H];return(G)?G:null;};C.getNode=function(H,I){var G=C.getTree(H);return(G)?G.getNodeByIndex(I):null;};C.FOCUS_CLASS_NAME="ygtvfocus";})();(function(){var B=YAHOO.util.Dom,C=YAHOO.lang,A=YAHOO.util.Event;YAHOO.widget.Node=function(F,E,D){if(F){this.init(F,E,D);}};YAHOO.widget.Node.prototype={index:0,children:null,tree:null,data:null,parent:null,depth:-1,expanded:false,multiExpand:true,renderHidden:false,childrenRendered:false,dynamicLoadComplete:false,previousSibling:null,nextSibling:null,_dynLoad:false,dataLoader:null,isLoading:false,hasIcon:true,iconMode:0,nowrap:false,isLeaf:false,contentStyle:"",contentElId:null,enableHighlight:true,highlightState:0,propagateHighlightUp:false,propagateHighlightDown:false,className:null,_type:"Node",init:function(G,F,D){this.data={};this.children=[];this.index=YAHOO.widget.TreeView.nodeCount; +++YAHOO.widget.TreeView.nodeCount;this.contentElId="ygtvcontentel"+this.index;if(C.isObject(G)){for(var E in G){if(G.hasOwnProperty(E)){if(E.charAt(0)!="_"&&!C.isUndefined(this[E])&&!C.isFunction(this[E])){this[E]=G[E];}else{this.data[E]=G[E];}}}}if(!C.isUndefined(D)){this.expanded=D;}this.createEvent("parentChange",this);if(F){F.appendChild(this);}},applyParent:function(E){if(!E){return false;}this.tree=E.tree;this.parent=E;this.depth=E.depth+1;this.tree.regNode(this);E.childrenRendered=false;for(var F=0,D=this.children.length;F<D;++F){this.children[F].applyParent(this);}this.fireEvent("parentChange");return true;},appendChild:function(E){if(this.hasChildren()){var D=this.children[this.children.length-1];D.nextSibling=E;E.previousSibling=D;}this.children[this.children.length]=E;E.applyParent(this);if(this.childrenRendered&&this.expanded){this.getChildrenEl().style.display="";}return E;},appendTo:function(D){return D.appendChild(this);},insertBefore:function(D){var F=D.parent;if(F){if(this.tree){this.tree.popNode(this);}var E=D.isChildOf(F);F.children.splice(E,0,this);if(D.previousSibling){D.previousSibling.nextSibling=this;}this.previousSibling=D.previousSibling;this.nextSibling=D;D.previousSibling=this;this.applyParent(F);}return this;},insertAfter:function(D){var F=D.parent;if(F){if(this.tree){this.tree.popNode(this);}var E=D.isChildOf(F);if(!D.nextSibling){this.nextSibling=null;return this.appendTo(F);}F.children.splice(E+1,0,this);D.nextSibling.previousSibling=this;this.previousSibling=D;this.nextSibling=D.nextSibling;D.nextSibling=this;this.applyParent(F);}return this;},isChildOf:function(E){if(E&&E.children){for(var F=0,D=E.children.length;F<D;++F){if(E.children[F]===this){return F;}}}return -1;},getSiblings:function(){var D=this.parent.children.slice(0);for(var E=0;E<D.length&&D[E]!=this;E++){}D.splice(E,1);if(D.length){return D;}return null;},showChildren:function(){if(!this.tree.animateExpand(this.getChildrenEl(),this)){if(this.hasChildren()){this.getChildrenEl().style.display="";}}},hideChildren:function(){if(!this.tree.animateCollapse(this.getChildrenEl(),this)){this.getChildrenEl().style.display="none";}},getElId:function(){return"ygtv"+this.index;},getChildrenElId:function(){return"ygtvc"+this.index;},getToggleElId:function(){return"ygtvt"+this.index;},getEl:function(){return B.get(this.getElId());},getChildrenEl:function(){return B.get(this.getChildrenElId());},getToggleEl:function(){return B.get(this.getToggleElId());},getContentEl:function(){return B.get(this.contentElId);},collapse:function(){if(!this.expanded){return;}var D=this.tree.onCollapse(this);if(false===D){return;}D=this.tree.fireEvent("collapse",this);if(false===D){return;}if(!this.getEl()){this.expanded=false;}else{this.hideChildren();this.expanded=false;this.updateIcon();}D=this.tree.fireEvent("collapseComplete",this);},expand:function(F){if(this.isLoading||(this.expanded&&!F)){return;}var D=true;if(!F){D=this.tree.onExpand(this);if(false===D){return;}D=this.tree.fireEvent("expand",this);}if(false===D){return;}if(!this.getEl()){this.expanded=true;return;}if(!this.childrenRendered){this.getChildrenEl().innerHTML=this.renderChildren();}else{}this.expanded=true;this.updateIcon();if(this.isLoading){this.expanded=false;return;}if(!this.multiExpand){var G=this.getSiblings();for(var E=0;G&&E<G.length;++E){if(G[E]!=this&&G[E].expanded){G[E].collapse();}}}this.showChildren();D=this.tree.fireEvent("expandComplete",this);},updateIcon:function(){if(this.hasIcon){var D=this.getToggleEl();if(D){D.className=D.className.replace(/\bygtv(([tl][pmn]h?)|(loading))\b/gi,this.getStyle());}}},getStyle:function(){if(this.isLoading){return"ygtvloading";}else{var E=(this.nextSibling)?"t":"l";var D="n";if(this.hasChildren(true)||(this.isDynamic()&&!this.getIconMode())){D=(this.expanded)?"m":"p";}return"ygtv"+E+D;}},getHoverStyle:function(){var D=this.getStyle();if(this.hasChildren(true)&&!this.isLoading){D+="h";}return D;},expandAll:function(){var D=this.children.length;for(var E=0;E<D;++E){var F=this.children[E];if(F.isDynamic()){break;}else{if(!F.multiExpand){break;}else{F.expand();F.expandAll();}}}},collapseAll:function(){for(var D=0;D<this.children.length;++D){this.children[D].collapse();this.children[D].collapseAll();}},setDynamicLoad:function(D,E){if(D){this.dataLoader=D;this._dynLoad=true;}else{this.dataLoader=null;this._dynLoad=false;}if(E){this.iconMode=E;}},isRoot:function(){return(this==this.tree.root);},isDynamic:function(){if(this.isLeaf){return false;}else{return(!this.isRoot()&&(this._dynLoad||this.tree.root._dynLoad));}},getIconMode:function(){return(this.iconMode||this.tree.root.iconMode);},hasChildren:function(D){if(this.isLeaf){return false;}else{return(this.children.length>0||(D&&this.isDynamic()&&!this.dynamicLoadComplete));}},toggle:function(){if(!this.tree.locked&&(this.hasChildren(true)||this.isDynamic())){if(this.expanded){this.collapse();}else{this.expand();}}},getHtml:function(){this.childrenRendered=false;return['<div class="ygtvitem" id="',this.getElId(),'">',this.getNodeHtml(),this.getChildrenHtml(),"</div>"].join("");},getChildrenHtml:function(){var D=[];D[D.length]='<div class="ygtvchildren" id="'+this.getChildrenElId()+'"';if(!this.expanded||!this.hasChildren()){D[D.length]=' style="display:none;"';}D[D.length]=">";if((this.hasChildren(true)&&this.expanded)||(this.renderHidden&&!this.isDynamic())){D[D.length]=this.renderChildren();}D[D.length]="</div>";return D.join("");},renderChildren:function(){var D=this;if(this.isDynamic()&&!this.dynamicLoadComplete){this.isLoading=true;this.tree.locked=true;if(this.dataLoader){setTimeout(function(){D.dataLoader(D,function(){D.loadComplete();});},10);}else{if(this.tree.root.dataLoader){setTimeout(function(){D.tree.root.dataLoader(D,function(){D.loadComplete();});},10);}else{return"Error: data loader not found or not specified.";}}return"";}else{return this.completeRender();}},completeRender:function(){var E=[];for(var D=0;D<this.children.length;++D){E[E.length]=this.children[D].getHtml(); +}this.childrenRendered=true;return E.join("");},loadComplete:function(){this.getChildrenEl().innerHTML=this.completeRender();if(this.propagateHighlightDown){if(this.highlightState===1&&!this.tree.singleNodeHighlight){for(var D=0;D<this.children.length;D++){this.children[D].highlight(true);}}else{if(this.highlightState===0||this.tree.singleNodeHighlight){for(D=0;D<this.children.length;D++){this.children[D].unhighlight(true);}}}}this.dynamicLoadComplete=true;this.isLoading=false;this.expand(true);this.tree.locked=false;},getAncestor:function(E){if(E>=this.depth||E<0){return null;}var D=this.parent;while(D.depth>E){D=D.parent;}return D;},getDepthStyle:function(D){return(this.getAncestor(D).nextSibling)?"ygtvdepthcell":"ygtvblankdepthcell";},getNodeHtml:function(){var E=[];E[E.length]='<table id="ygtvtableel'+this.index+'" border="0" cellpadding="0" cellspacing="0" class="ygtvtable ygtvdepth'+this.depth;if(this.enableHighlight){E[E.length]=" ygtv-highlight"+this.highlightState;}if(this.className){E[E.length]=" "+this.className;}E[E.length]='"><tr class="ygtvrow">';for(var D=0;D<this.depth;++D){E[E.length]='<td class="ygtvcell '+this.getDepthStyle(D)+'"><div class="ygtvspacer"></div></td>';}if(this.hasIcon){E[E.length]='<td id="'+this.getToggleElId();E[E.length]='" class="ygtvcell ';E[E.length]=this.getStyle();E[E.length]='"><a href="#" class="ygtvspacer"> </a></td>';}E[E.length]='<td id="'+this.contentElId;E[E.length]='" class="ygtvcell ';E[E.length]=this.contentStyle+' ygtvcontent" ';E[E.length]=(this.nowrap)?' nowrap="nowrap" ':"";E[E.length]=" >";E[E.length]=this.getContentHtml();E[E.length]="</td></tr></table>";return E.join("");},getContentHtml:function(){return"";},refresh:function(){this.getChildrenEl().innerHTML=this.completeRender();if(this.hasIcon){var D=this.getToggleEl();if(D){D.className=D.className.replace(/\bygtv[lt][nmp]h*\b/gi,this.getStyle());}}},toString:function(){return this._type+" ("+this.index+")";},_focusHighlightedItems:[],_focusedItem:null,_canHaveFocus:function(){return this.getEl().getElementsByTagName("a").length>0;},_removeFocus:function(){if(this._focusedItem){A.removeListener(this._focusedItem,"blur");this._focusedItem=null;}var D;while((D=this._focusHighlightedItems.shift())){B.removeClass(D,YAHOO.widget.TreeView.FOCUS_CLASS_NAME);}},focus:function(){var F=false,D=this;if(this.tree.currentFocus){this.tree.currentFocus._removeFocus();}var E=function(G){if(G.parent){E(G.parent);G.parent.expand();}};E(this);B.getElementsBy(function(G){return(/ygtv(([tl][pmn]h?)|(content))/).test(G.className);},"td",D.getEl().firstChild,function(H){B.addClass(H,YAHOO.widget.TreeView.FOCUS_CLASS_NAME);if(!F){var G=H.getElementsByTagName("a");if(G.length){G=G[0];G.focus();D._focusedItem=G;A.on(G,"blur",function(){D.tree.fireEvent("focusChanged",{oldNode:D.tree.currentFocus,newNode:null});D.tree.currentFocus=null;D._removeFocus();});F=true;}}D._focusHighlightedItems.push(H);});if(F){this.tree.fireEvent("focusChanged",{oldNode:this.tree.currentFocus,newNode:this});this.tree.currentFocus=this;}else{this.tree.fireEvent("focusChanged",{oldNode:D.tree.currentFocus,newNode:null});this.tree.currentFocus=null;this._removeFocus();}return F;},getNodeCount:function(){for(var D=0,E=0;D<this.children.length;D++){E+=this.children[D].getNodeCount();}return E+1;},getNodeDefinition:function(){if(this.isDynamic()){return false;}var G,D=C.merge(this.data),F=[];if(this.expanded){D.expanded=this.expanded;}if(!this.multiExpand){D.multiExpand=this.multiExpand;}if(!this.renderHidden){D.renderHidden=this.renderHidden;}if(!this.hasIcon){D.hasIcon=this.hasIcon;}if(this.nowrap){D.nowrap=this.nowrap;}if(this.className){D.className=this.className;}if(this.editable){D.editable=this.editable;}if(this.enableHighlight){D.enableHighlight=this.enableHighlight;}if(this.highlightState){D.highlightState=this.highlightState;}if(this.propagateHighlightUp){D.propagateHighlightUp=this.propagateHighlightUp;}if(this.propagateHighlightDown){D.propagateHighlightDown=this.propagateHighlightDown;}D.type=this._type;for(var E=0;E<this.children.length;E++){G=this.children[E].getNodeDefinition();if(G===false){return false;}F.push(G);}if(F.length){D.children=F;}return D;},getToggleLink:function(){return"return false;";},setNodesProperty:function(D,G,F){if(D.charAt(0)!="_"&&!C.isUndefined(this[D])&&!C.isFunction(this[D])){this[D]=G;}else{this.data[D]=G;}for(var E=0;E<this.children.length;E++){this.children[E].setNodesProperty(D,G);}if(F){this.refresh();}},toggleHighlight:function(){if(this.enableHighlight){if(this.highlightState==1){this.unhighlight();}else{this.highlight();}}},highlight:function(E){if(this.enableHighlight){if(this.tree.singleNodeHighlight){if(this.tree._currentlyHighlighted){this.tree._currentlyHighlighted.unhighlight(E);}this.tree._currentlyHighlighted=this;}this.highlightState=1;this._setHighlightClassName();if(!this.tree.singleNodeHighlight){if(this.propagateHighlightDown){for(var D=0;D<this.children.length;D++){this.children[D].highlight(true);}}if(this.propagateHighlightUp){if(this.parent){this.parent._childrenHighlighted();}}}if(!E){this.tree.fireEvent("highlightEvent",this);}}},unhighlight:function(E){if(this.enableHighlight){this.tree._currentlyHighlighted=null;this.highlightState=0;this._setHighlightClassName();if(!this.tree.singleNodeHighlight){if(this.propagateHighlightDown){for(var D=0;D<this.children.length;D++){this.children[D].unhighlight(true);}}if(this.propagateHighlightUp){if(this.parent){this.parent._childrenHighlighted();}}}if(!E){this.tree.fireEvent("highlightEvent",this);}}},_childrenHighlighted:function(){var F=false,E=false;if(this.enableHighlight){for(var D=0;D<this.children.length;D++){switch(this.children[D].highlightState){case 0:E=true;break;case 1:F=true;break;case 2:F=E=true;break;}}if(F&&E){this.highlightState=2;}else{if(F){this.highlightState=1;}else{this.highlightState=0;}}this._setHighlightClassName();if(this.propagateHighlightUp){if(this.parent){this.parent._childrenHighlighted(); +}}}},_setHighlightClassName:function(){var D=B.get("ygtvtableel"+this.index);if(D){D.className=D.className.replace(/\bygtv-highlight\d\b/gi,"ygtv-highlight"+this.highlightState);}}};YAHOO.augment(YAHOO.widget.Node,YAHOO.util.EventProvider);})();YAHOO.widget.RootNode=function(A){this.init(null,null,true);this.tree=A;};YAHOO.extend(YAHOO.widget.RootNode,YAHOO.widget.Node,{_type:"RootNode",getNodeHtml:function(){return"";},toString:function(){return this._type;},loadComplete:function(){this.tree.draw();},getNodeCount:function(){for(var A=0,B=0;A<this.children.length;A++){B+=this.children[A].getNodeCount();}return B;},getNodeDefinition:function(){for(var C,A=[],B=0;B<this.children.length;B++){C=this.children[B].getNodeDefinition();if(C===false){return false;}A.push(C);}return A;},collapse:function(){},expand:function(){},getSiblings:function(){return null;},focus:function(){}});(function(){var B=YAHOO.util.Dom,C=YAHOO.lang,A=YAHOO.util.Event;YAHOO.widget.TextNode=function(F,E,D){if(F){if(C.isString(F)){F={label:F};}this.init(F,E,D);this.setUpLabel(F);}};YAHOO.extend(YAHOO.widget.TextNode,YAHOO.widget.Node,{labelStyle:"ygtvlabel",labelElId:null,label:null,title:null,href:null,target:"_self",_type:"TextNode",setUpLabel:function(D){if(C.isString(D)){D={label:D};}else{if(D.style){this.labelStyle=D.style;}}this.label=D.label;this.labelElId="ygtvlabelel"+this.index;},getLabelEl:function(){return B.get(this.labelElId);},getContentHtml:function(){var D=[];D[D.length]=this.href?"<a":"<span";D[D.length]=' id="'+this.labelElId+'"';D[D.length]=' class="'+this.labelStyle+'"';if(this.href){D[D.length]=' href="'+this.href+'"';D[D.length]=' target="'+this.target+'"';}if(this.title){D[D.length]=' title="'+this.title+'"';}D[D.length]=" >";D[D.length]=this.label;D[D.length]=this.href?"</a>":"</span>";return D.join("");},getNodeDefinition:function(){var D=YAHOO.widget.TextNode.superclass.getNodeDefinition.call(this);if(D===false){return false;}D.label=this.label;if(this.labelStyle!="ygtvlabel"){D.style=this.labelStyle;}if(this.title){D.title=this.title;}if(this.href){D.href=this.href;}if(this.target!="_self"){D.target=this.target;}return D;},toString:function(){return YAHOO.widget.TextNode.superclass.toString.call(this)+": "+this.label;},onLabelClick:function(){return false;},refresh:function(){YAHOO.widget.TextNode.superclass.refresh.call(this);var D=this.getLabelEl();D.innerHTML=this.label;if(D.tagName.toUpperCase()=="A"){D.href=this.href;D.target=this.target;}}});})();YAHOO.widget.MenuNode=function(C,B,A){YAHOO.widget.MenuNode.superclass.constructor.call(this,C,B,A);this.multiExpand=false;};YAHOO.extend(YAHOO.widget.MenuNode,YAHOO.widget.TextNode,{_type:"MenuNode"});(function(){var B=YAHOO.util.Dom,C=YAHOO.lang,A=YAHOO.util.Event;YAHOO.widget.HTMLNode=function(G,F,E,D){if(G){this.init(G,F,E);this.initContent(G,D);}};YAHOO.extend(YAHOO.widget.HTMLNode,YAHOO.widget.Node,{contentStyle:"ygtvhtml",html:null,_type:"HTMLNode",initContent:function(E,D){this.setHtml(E);this.contentElId="ygtvcontentel"+this.index;if(!C.isUndefined(D)){this.hasIcon=D;}},setHtml:function(E){this.html=(typeof E==="string")?E:E.html;var D=this.getContentEl();if(D){D.innerHTML=this.html;}},getContentHtml:function(){return this.html;},getNodeDefinition:function(){var D=YAHOO.widget.HTMLNode.superclass.getNodeDefinition.call(this);if(D===false){return false;}D.html=this.html;return D;}});})();(function(){var B=YAHOO.util.Dom,C=YAHOO.lang,A=YAHOO.util.Event,D=YAHOO.widget.Calendar;YAHOO.widget.DateNode=function(G,F,E){YAHOO.widget.DateNode.superclass.constructor.call(this,G,F,E);};YAHOO.extend(YAHOO.widget.DateNode,YAHOO.widget.TextNode,{_type:"DateNode",calendarConfig:null,fillEditorContainer:function(G){var H,F=G.inputContainer;if(C.isUndefined(D)){B.replaceClass(G.editorPanel,"ygtv-edit-DateNode","ygtv-edit-TextNode");YAHOO.widget.DateNode.superclass.fillEditorContainer.call(this,G);return;}if(G.nodeType!=this._type){G.nodeType=this._type;G.saveOnEnter=false;G.node.destroyEditorContents(G);G.inputObject=H=new D(F.appendChild(document.createElement("div")));if(this.calendarConfig){H.cfg.applyConfig(this.calendarConfig,true);H.cfg.fireQueue();}H.selectEvent.subscribe(function(){this.tree._closeEditor(true);},this,true);}else{H=G.inputObject;}G.oldValue=this.label;H.cfg.setProperty("selected",this.label,false);var I=H.cfg.getProperty("DATE_FIELD_DELIMITER");var E=this.label.split(I);H.cfg.setProperty("pagedate",E[H.cfg.getProperty("MDY_MONTH_POSITION")-1]+I+E[H.cfg.getProperty("MDY_YEAR_POSITION")-1]);H.cfg.fireQueue();H.render();H.oDomContainer.focus();},getEditorValue:function(F){if(C.isUndefined(D)){return F.inputElement.value;}else{var H=F.inputObject,G=H.getSelectedDates()[0],E=[];E[H.cfg.getProperty("MDY_DAY_POSITION")-1]=G.getDate();E[H.cfg.getProperty("MDY_MONTH_POSITION")-1]=G.getMonth()+1;E[H.cfg.getProperty("MDY_YEAR_POSITION")-1]=G.getFullYear();return E.join(H.cfg.getProperty("DATE_FIELD_DELIMITER"));}},displayEditedValue:function(G,E){var F=E.node;F.label=G;F.getLabelEl().innerHTML=G;},getNodeDefinition:function(){var E=YAHOO.widget.DateNode.superclass.getNodeDefinition.call(this);if(E===false){return false;}if(this.calendarConfig){E.calendarConfig=this.calendarConfig;}return E;}});})();(function(){var E=YAHOO.util.Dom,F=YAHOO.lang,B=YAHOO.util.Event,D=YAHOO.widget.TreeView,C=D.prototype;D.editorData={active:false,whoHasIt:null,nodeType:null,editorPanel:null,inputContainer:null,buttonsContainer:null,node:null,saveOnEnter:true,oldValue:undefined};C.validator=null;C._initEditor=function(){this.createEvent("editorSaveEvent",this);this.createEvent("editorCancelEvent",this);};C._nodeEditing=function(M){if(M.fillEditorContainer&&M.editable){var I,K,L,J,H=D.editorData;H.active=true;H.whoHasIt=this;if(!H.nodeType){H.editorPanel=I=document.body.appendChild(document.createElement("div"));E.addClass(I,"ygtv-label-editor");L=H.buttonsContainer=I.appendChild(document.createElement("div"));E.addClass(L,"ygtv-button-container");J=L.appendChild(document.createElement("button")); +E.addClass(J,"ygtvok");J.innerHTML=" ";J=L.appendChild(document.createElement("button"));E.addClass(J,"ygtvcancel");J.innerHTML=" ";B.on(L,"click",function(O){var P=B.getTarget(O);var N=D.editorData.node;if(E.hasClass(P,"ygtvok")){B.stopEvent(O);this._closeEditor(true);}if(E.hasClass(P,"ygtvcancel")){B.stopEvent(O);this._closeEditor(false);}},this,true);H.inputContainer=I.appendChild(document.createElement("div"));E.addClass(H.inputContainer,"ygtv-input");B.on(I,"keydown",function(P){var O=D.editorData,N=YAHOO.util.KeyListener.KEY;switch(P.keyCode){case N.ENTER:B.stopEvent(P);if(O.saveOnEnter){this._closeEditor(true);}break;case N.ESCAPE:B.stopEvent(P);this._closeEditor(false);break;}},this,true);}else{I=H.editorPanel;}H.node=M;if(H.nodeType){E.removeClass(I,"ygtv-edit-"+H.nodeType);}E.addClass(I," ygtv-edit-"+M._type);K=E.getXY(M.getContentEl());E.setStyle(I,"left",K[0]+"px");E.setStyle(I,"top",K[1]+"px");E.setStyle(I,"display","block");I.focus();M.fillEditorContainer(H);return true;}};C.onEventEditNode=function(H){if(H instanceof YAHOO.widget.Node){H.editNode();}else{if(H.node instanceof YAHOO.widget.Node){H.node.editNode();}}};C._closeEditor=function(J){var H=D.editorData,I=H.node,K=true;if(J){K=H.node.saveEditorValue(H)!==false;}else{this.fireEvent("editorCancelEvent",I);}if(K){E.setStyle(H.editorPanel,"display","none");H.active=false;I.focus();}};C._destroyEditor=function(){var H=D.editorData;if(H&&H.nodeType&&(!H.active||H.whoHasIt===this)){B.removeListener(H.editorPanel,"keydown");B.removeListener(H.buttonContainer,"click");H.node.destroyEditorContents(H);document.body.removeChild(H.editorPanel);H.nodeType=H.editorPanel=H.inputContainer=H.buttonsContainer=H.whoHasIt=H.node=null;H.active=false;}};var G=YAHOO.widget.Node.prototype;G.editable=false;G.editNode=function(){this.tree._nodeEditing(this);};G.fillEditorContainer=null;G.destroyEditorContents=function(H){B.purgeElement(H.inputContainer,true);H.inputContainer.innerHTML="";};G.saveEditorValue=function(H){var J=H.node,K,I=J.tree.validator;K=this.getEditorValue(H);if(F.isFunction(I)){K=I(K,H.oldValue,J);if(F.isUndefined(K)){return false;}}if(this.tree.fireEvent("editorSaveEvent",{newValue:K,oldValue:H.oldValue,node:J})!==false){this.displayEditedValue(K,H);}};G.getEditorValue=function(H){};G.displayEditedValue=function(I,H){};var A=YAHOO.widget.TextNode.prototype;A.fillEditorContainer=function(I){var H;if(I.nodeType!=this._type){I.nodeType=this._type;I.saveOnEnter=true;I.node.destroyEditorContents(I);I.inputElement=H=I.inputContainer.appendChild(document.createElement("input"));}else{H=I.inputElement;}I.oldValue=this.label;H.value=this.label;H.focus();H.select();};A.getEditorValue=function(H){return H.inputElement.value;};A.displayEditedValue=function(J,H){var I=H.node;I.label=J;I.getLabelEl().innerHTML=J;};A.destroyEditorContents=function(H){H.inputContainer.innerHTML="";};})();YAHOO.widget.TVAnim=function(){return{FADE_IN:"TVFadeIn",FADE_OUT:"TVFadeOut",getAnim:function(B,A,C){if(YAHOO.widget[B]){return new YAHOO.widget[B](A,C);}else{return null;}},isValid:function(A){return(YAHOO.widget[A]);}};}();YAHOO.widget.TVFadeIn=function(A,B){this.el=A;this.callback=B;};YAHOO.widget.TVFadeIn.prototype={animate:function(){var D=this;var C=this.el.style;C.opacity=0.1;C.filter="alpha(opacity=10)";C.display="";var B=0.4;var A=new YAHOO.util.Anim(this.el,{opacity:{from:0.1,to:1,unit:""}},B);A.onComplete.subscribe(function(){D.onComplete();});A.animate();},onComplete:function(){this.callback();},toString:function(){return"TVFadeIn";}};YAHOO.widget.TVFadeOut=function(A,B){this.el=A;this.callback=B;};YAHOO.widget.TVFadeOut.prototype={animate:function(){var C=this;var B=0.4;var A=new YAHOO.util.Anim(this.el,{opacity:{from:1,to:0.1,unit:""}},B);A.onComplete.subscribe(function(){C.onComplete();});A.animate();},onComplete:function(){var A=this.el.style;A.display="none";A.opacity=1;A.filter="alpha(opacity=100)";this.callback();},toString:function(){return"TVFadeOut";}};YAHOO.register("treeview",YAHOO.widget.TreeView,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/uploader/uploader-min.js b/js/yui/uploader/uploader-min.js new file mode 100644 index 0000000000000000000000000000000000000000..32ea6e617de4e9a2ad6381f0d9ddf870cdf3f3c5 --- /dev/null +++ b/js/yui/uploader/uploader-min.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +/* + * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * @namespace YAHOO + */ +YAHOO.namespace("deconcept");YAHOO.deconcept=YAHOO.deconcept||{};if(typeof YAHOO.deconcept.util=="undefined"||!YAHOO.deconcept.util){YAHOO.deconcept.util={};}if(typeof YAHOO.deconcept.SWFObjectUtil=="undefined"||!YAHOO.deconcept.SWFObjectUtil){YAHOO.deconcept.SWFObjectUtil={};}YAHOO.deconcept.SWFObject=function(E,C,K,F,H,J,L,G,A,D){if(!document.getElementById){return;}this.DETECT_KEY=D?D:"detectflash";this.skipDetect=YAHOO.deconcept.util.getRequestParameter(this.DETECT_KEY);this.params={};this.variables={};this.attributes=[];if(E){this.setAttribute("swf",E);}if(C){this.setAttribute("id",C);}if(K){this.setAttribute("width",K);}if(F){this.setAttribute("height",F);}if(H){this.setAttribute("version",new YAHOO.deconcept.PlayerVersion(H.toString().split(".")));}this.installedVer=YAHOO.deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){YAHOO.deconcept.SWFObject.doPrepUnload=true;}if(J){this.addParam("bgcolor",J);}var B=L?L:"high";this.addParam("quality",B);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var I=(G)?G:window.location;this.setAttribute("xiRedirectUrl",I);this.setAttribute("redirectUrl","");if(A){this.setAttribute("redirectUrl",A);}};YAHOO.deconcept.SWFObject.prototype={useExpressInstall:function(A){this.xiSWFPath=!A?"expressinstall.swf":A;this.setAttribute("useExpressInstall",true);},setAttribute:function(A,B){this.attributes[A]=B;},getAttribute:function(A){return this.attributes[A];},addParam:function(A,B){this.params[A]=B;},getParams:function(){return this.params;},addVariable:function(A,B){this.variables[A]=B;},getVariable:function(A){return this.variables[A];},getVariables:function(){return this.variables;},getVariablePairs:function(){var A=[];var B;var C=this.getVariables();for(B in C){if(C.hasOwnProperty(B)){A[A.length]=B+"="+C[B];}}return A;},getSWFHTML:function(){var D="";var C={};var A="";var B="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}D='<embed type="application/x-shockwave-flash" src="'+this.getAttribute("swf")+'" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'"';D+=' id="'+this.getAttribute("id")+'" name="'+this.getAttribute("id")+'" ';C=this.getParams();for(A in C){if(C.hasOwnProperty(A)){D+=[A]+'="'+C[A]+'" ';}}B=this.getVariablePairs().join("&");if(B.length>0){D+='flashvars="'+B+'"';}D+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}D='<object id="'+this.getAttribute("id")+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute("width")+'" height="'+this.getAttribute("height")+'" style="'+this.getAttribute("style")+'">';D+='<param name="movie" value="'+this.getAttribute("swf")+'" />';C=this.getParams();for(A in C){if(C.hasOwnProperty(A)){D+='<param name="'+A+'" value="'+C[A]+'" />';}}B=this.getVariablePairs().join("&");if(B.length>0){D+='<param name="flashvars" value="'+B+'" />';}D+="</object>";}return D;},write:function(A){if(this.getAttribute("useExpressInstall")){var B=new YAHOO.deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(B)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var C=(typeof A=="string")?document.getElementById(A):A;C.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!==""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};YAHOO.deconcept.SWFObjectUtil.getPlayerVersion=function(){var D=null;var C=new YAHOO.deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var A=navigator.plugins["Shockwave Flash"];if(A&&A.description){C=new YAHOO.deconcept.PlayerVersion(A.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var B=3;while(D){try{B++;D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+B);C=new YAHOO.deconcept.PlayerVersion([B,0,0]);}catch(E){D=null;}}}else{try{D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(E){try{D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");C=new YAHOO.deconcept.PlayerVersion([6,0,21]);D.AllowScriptAccess="always";}catch(E){if(C.major==6){return C;}}try{D=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(E){}}if(D!==null){C=new YAHOO.deconcept.PlayerVersion(D.GetVariable("$version").split(" ")[1].split(","));}}}return C;};YAHOO.deconcept.PlayerVersion=function(A){this.major=A[0]!==null?parseInt(A[0],0):0;this.minor=A[1]!==null?parseInt(A[1],0):0;this.rev=A[2]!==null?parseInt(A[2],0):0;};YAHOO.deconcept.PlayerVersion.prototype.versionIsValid=function(A){if(this.major<A.major){return false;}if(this.major>A.major){return true;}if(this.minor<A.minor){return false;}if(this.minor>A.minor){return true;}if(this.rev<A.rev){return false;}return true;};YAHOO.deconcept.util={getRequestParameter:function(D){var C=document.location.search||document.location.hash;if(D===null){return C;}if(C){var B=C.substring(1).split("&");for(var A=0;A<B.length;A++){if(B[A].substring(0,B[A].indexOf("="))==D){return B[A].substring((B[A].indexOf("=")+1));}}}return""; +}};YAHOO.deconcept.SWFObjectUtil.cleanupSWFs=function(){var C=document.getElementsByTagName("OBJECT");for(var B=C.length-1;B>=0;B--){C[B].style.display="none";for(var A in C[B]){if(typeof C[B][A]=="function"){C[B][A]=function(){};}}}};if(YAHOO.deconcept.SWFObject.doPrepUnload){if(!YAHOO.deconcept.unloadSet){YAHOO.deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",YAHOO.deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",YAHOO.deconcept.SWFObjectUtil.prepUnload);YAHOO.deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(A){return document.all[A];};}YAHOO.widget.FlashAdapter=function(E,A,B,C){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};B=B||{};this._id=B.id=B.id||YAHOO.util.Dom.generateId(null,"yuigen");B.version=B.version||"9.0.45";B.backgroundColor=B.backgroundColor||"#ffffff";this._attributes=B;this._swfURL=E;this._containerID=A;this._embedSWF(this._swfURL,this._containerID,B.id,B.version,B.backgroundColor,B.expressInstall,B.wmode,C);try{this.createEvent("contentReady");}catch(D){}};YAHOO.widget.FlashAdapter.owners=YAHOO.widget.FlashAdapter.owners||{};YAHOO.extend(YAHOO.widget.FlashAdapter,YAHOO.util.AttributeProvider,{_swfURL:null,_containerID:null,_swf:null,_id:null,_initialized:false,_attributes:null,toString:function(){return"FlashAdapter "+this._id;},destroy:function(){if(this._swf){var B=YAHOO.util.Dom.get(this._containerID);B.removeChild(this._swf);}var A=this._id;for(var C in this){if(YAHOO.lang.hasOwnProperty(this,C)){this[C]=null;}}},_embedSWF:function(J,I,E,C,F,G,B,H){var D=new YAHOO.deconcept.SWFObject(J,E,"100%","100%",C,F);if(G){D.useExpressInstall(G);}D.addParam("allowScriptAccess","always");if(B){D.addParam("wmode",B);}D.addParam("menu","false");D.addVariable("allowedDomain",document.location.hostname);D.addVariable("YUISwfId",E);D.addVariable("YUIBridgeCallback","YAHOO.widget.FlashAdapter.eventHandler");if(H){D.addVariable("buttonSkin",H);}var A=YAHOO.util.Dom.get(I);var K=D.write(A);if(K){this._swf=YAHOO.util.Dom.get(E);YAHOO.widget.FlashAdapter.owners[E]=this;}else{}},_eventHandler:function(B){var A=B.type;switch(A){case"swfReady":this._loadHandler();return;case"log":return;}this.fireEvent(A,B);},_loadHandler:function(){this._initialized=false;this._initAttributes(this._attributes);this.setAttributes(this._attributes,true);this._initialized=true;this.fireEvent("contentReady");},set:function(A,B){this._attributes[A]=B;YAHOO.widget.FlashAdapter.superclass.set.call(this,A,B);},_initAttributes:function(A){this.getAttributeConfig("altText",{method:this._getAltText});this.setAttributeConfig("altText",{method:this._setAltText});this.getAttributeConfig("swfURL",{method:this._getSWFURL});},_getSWFURL:function(){return this._swfURL;},_getAltText:function(){return this._swf.getAltText();},_setAltText:function(A){return this._swf.setAltText(A);}});YAHOO.widget.FlashAdapter.eventHandler=function(A,B){if(!YAHOO.widget.FlashAdapter.owners[A]){setTimeout(function(){YAHOO.widget.FlashAdapter.eventHandler(A,B);},0);}else{YAHOO.widget.FlashAdapter.owners[A]._eventHandler(B);}};YAHOO.widget.FlashAdapter.proxyFunctionCount=0;YAHOO.widget.FlashAdapter.createProxyFunction=function(B){var A=YAHOO.widget.FlashAdapter.proxyFunctionCount;YAHOO.widget.FlashAdapter["proxyFunction"+A]=function(){return B.apply(null,arguments);};YAHOO.widget.FlashAdapter.proxyFunctionCount++;return"YAHOO.widget.FlashAdapter.proxyFunction"+A.toString();};YAHOO.widget.FlashAdapter.removeProxyFunction=function(A){if(!A||A.indexOf("YAHOO.widget.FlashAdapter.proxyFunction")<0){return;}A=A.substr(26);YAHOO.widget.FlashAdapter[A]=null;};YAHOO.widget.Uploader=function(A,B,D){var C="window";if(!(B)||(B&&D)){C="transparent";}YAHOO.widget.Uploader.superclass.constructor.call(this,YAHOO.widget.Uploader.SWFURL,A,{wmode:C},B);this.createEvent("mouseDown");this.createEvent("mouseUp");this.createEvent("rollOver");this.createEvent("rollOut");this.createEvent("click");this.createEvent("fileSelect");this.createEvent("uploadStart");this.createEvent("uploadProgress");this.createEvent("uploadCancel");this.createEvent("uploadComplete");this.createEvent("uploadCompleteData");this.createEvent("uploadError");};YAHOO.widget.Uploader.SWFURL="assets/uploader.swf";YAHOO.extend(YAHOO.widget.Uploader,YAHOO.widget.FlashAdapter,{upload:function(A,B,E,C,D){this._swf.upload(A,B,E,C,D);},uploadThese:function(B,A,E,C,D){this._swf.uploadThese(B,A,E,C,D);},uploadAll:function(A,D,B,C){this._swf.uploadAll(A,D,B,C);},cancel:function(A){this._swf.cancel(A);},clearFileList:function(){this._swf.clearFileList();},removeFile:function(A){this._swf.removeFile(A);},setAllowLogging:function(A){this._swf.setAllowLogging(A);},setSimUploadLimit:function(A){this._swf.setSimUploadLimit(A);},setAllowMultipleFiles:function(A){this._swf.setAllowMultipleFiles(A);},setFileFilters:function(A){this._swf.setFileFilters(A);},enable:function(){this._swf.enable();},disable:function(){this._swf.disable();}});YAHOO.register("uploader",YAHOO.widget.Uploader,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/js/yui/yahoo-dom-event.js b/js/yui/yahoo-dom-event.js deleted file mode 100644 index 2465a2a70c3a035d8f2b870b54011ea548c30849..0000000000000000000000000000000000000000 --- a/js/yui/yahoo-dom-event.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2008, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.6.0 -*/ -if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=A[C].split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules;if(!I[A]){I[A]={versions:[],builds:[]};}var B=I[A],H=D.version,G=D.build,F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(var C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};var B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var A=YAHOO.lang,C=["toString","valueOf"],B={isArray:function(D){if(D){return A.isNumber(D.length)&&A.isFunction(D.splice);}return false;},isBoolean:function(D){return typeof D==="boolean";},isFunction:function(D){return typeof D==="function";},isNull:function(D){return D===null;},isNumber:function(D){return typeof D==="number"&&isFinite(D);},isObject:function(D){return(D&&(typeof D==="object"||A.isFunction(D)))||false;},isString:function(D){return typeof D==="string";},isUndefined:function(D){return typeof D==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(F,E){for(var D=0;D<C.length;D=D+1){var H=C[D],G=E[H];if(A.isFunction(G)&&G!=Object.prototype[H]){F[H]=G;}}}:function(){},extend:function(H,I,G){if(!I||!H){throw new Error("extend failed, please check that "+"all dependencies are included.");}var E=function(){};E.prototype=I.prototype;H.prototype=new E();H.prototype.constructor=H;H.superclass=I.prototype;if(I.prototype.constructor==Object.prototype.constructor){I.prototype.constructor=I;}if(G){for(var D in G){if(A.hasOwnProperty(G,D)){H.prototype[D]=G[D];}}A._IEEnumFix(H.prototype,G);}},augmentObject:function(H,G){if(!G||!H){throw new Error("Absorb failed, verify dependencies.");}var D=arguments,F,I,E=D[2];if(E&&E!==true){for(F=2;F<D.length;F=F+1){H[D[F]]=G[D[F]];}}else{for(I in G){if(E||!(I in H)){H[I]=G[I];}}A._IEEnumFix(H,G);}},augmentProto:function(G,F){if(!F||!G){throw new Error("Augment failed, verify dependencies.");}var D=[G.prototype,F.prototype];for(var E=2;E<arguments.length;E=E+1){D.push(arguments[E]);}A.augmentObject.apply(this,D);},dump:function(D,I){var F,H,K=[],L="{...}",E="f(){...}",J=", ",G=" => ";if(!A.isObject(D)){return D+"";}else{if(D instanceof Date||("nodeType" in D&&"tagName" in D)){return D;}else{if(A.isFunction(D)){return E;}}}I=(A.isNumber(I))?I:3;if(A.isArray(D)){K.push("[");for(F=0,H=D.length;F<H;F=F+1){if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}if(K.length>1){K.pop();}K.push("]");}else{K.push("{");for(F in D){if(A.hasOwnProperty(D,F)){K.push(F+G);if(A.isObject(D[F])){K.push((I>0)?A.dump(D[F],I-1):L);}else{K.push(D[F]);}K.push(J);}}if(K.length>1){K.pop();}K.push("}");}return K.join("");},substitute:function(S,E,L){var I,H,G,O,P,R,N=[],F,J="dump",M=" ",D="{",Q="}";for(;;){I=S.lastIndexOf(D);if(I<0){break;}H=S.indexOf(Q,I);if(I+1>=H){break;}F=S.substring(I+1,H);O=F;R=null;G=O.indexOf(M);if(G>-1){R=O.substring(G+1);O=O.substring(0,G);}P=E[O];if(L){P=L(O,P,R);}if(A.isObject(P)){if(A.isArray(P)){P=A.dump(P,parseInt(R,10));}else{R=R||"";var K=R.indexOf(J);if(K>-1){R=R.substring(4);}if(P.toString===Object.prototype.toString||K>-1){P=A.dump(P,parseInt(R,10));}else{P=P.toString();}}}else{if(!A.isString(P)&&!A.isNumber(P)){P="~-"+N.length+"-~";N[N.length]=F;}}S=S.substring(0,I)+P+S.substring(H+1);}for(I=N.length-1;I>=0;I=I-1){S=S.replace(new RegExp("~-"+I+"-~"),"{"+N[I]+"}","g");}return S;},trim:function(D){try{return D.replace(/^\s+|\s+$/g,"");}catch(E){return D;}},merge:function(){var G={},E=arguments;for(var F=0,D=E.length;F<D;F=F+1){A.augmentObject(G,E[F],true);}return G;},later:function(K,E,L,G,H){K=K||0;E=E||{};var F=L,J=G,I,D;if(A.isString(L)){F=E[L];}if(!F){throw new TypeError("method undefined");}if(!A.isArray(J)){J=[G];}I=function(){F.apply(E,J);};D=(H)?setInterval(I,K):setTimeout(I,K);return{interval:H,cancel:function(){if(this.interval){clearInterval(D);}else{clearTimeout(D);}}};},isValue:function(D){return(A.isObject(D)||A.isString(D)||A.isNumber(D)||A.isBoolean(D));}};A.hasOwnProperty=(Object.prototype.hasOwnProperty)?function(D,E){return D&&D.hasOwnProperty(E);}:function(D,E){return !A.isUndefined(D[E])&&D.constructor.prototype[E]!==D[E];};B.augmentObject(A,B,true);YAHOO.util.Lang=A;A.augment=A.augmentProto;YAHOO.augment=A.augmentProto;YAHOO.extend=A.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.6.0",build:"1321"});(function(){var B=YAHOO.util,F=YAHOO.lang,L,J,K={},G={},N=window.document;YAHOO.env._id_counter=YAHOO.env._id_counter||0;var C=YAHOO.env.ua.opera,M=YAHOO.env.ua.webkit,A=YAHOO.env.ua.gecko,H=YAHOO.env.ua.ie;var E={HYPHEN:/(-[a-z])/i,ROOT_TAG:/^body|html$/i,OP_SCROLL:/^(?:inline|table-row)$/i};var O=function(Q){if(!E.HYPHEN.test(Q)){return Q;}if(K[Q]){return K[Q];}var R=Q;while(E.HYPHEN.exec(R)){R=R.replace(RegExp.$1,RegExp.$1.substr(1).toUpperCase());}K[Q]=R;return R;};var P=function(R){var Q=G[R];if(!Q){Q=new RegExp("(?:^|\\s+)"+R+"(?:\\s+|$)");G[R]=Q;}return Q;};if(N.defaultView&&N.defaultView.getComputedStyle){L=function(Q,T){var S=null;if(T=="float"){T="cssFloat";}var R=Q.ownerDocument.defaultView.getComputedStyle(Q,"");if(R){S=R[O(T)];}return Q.style[T]||S;};}else{if(N.documentElement.currentStyle&&H){L=function(Q,S){switch(O(S)){case"opacity":var U=100;try{U=Q.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(T){try{U=Q.filters("alpha").opacity;}catch(T){}}return U/100;case"float":S="styleFloat";default:var R=Q.currentStyle?Q.currentStyle[S]:null;return(Q.style[S]||R);}};}else{L=function(Q,R){return Q.style[R];};}}if(H){J=function(Q,R,S){switch(R){case"opacity":if(F.isString(Q.style.filter)){Q.style.filter="alpha(opacity="+S*100+")";if(!Q.currentStyle||!Q.currentStyle.hasLayout){Q.style.zoom=1;}}break;case"float":R="styleFloat";default:Q.style[R]=S;}};}else{J=function(Q,R,S){if(R=="float"){R="cssFloat";}Q.style[R]=S;};}var D=function(Q,R){return Q&&Q.nodeType==1&&(!R||R(Q));};YAHOO.util.Dom={get:function(S){if(S){if(S.nodeType||S.item){return S;}if(typeof S==="string"){return N.getElementById(S);}if("length" in S){var T=[];for(var R=0,Q=S.length;R<Q;++R){T[T.length]=B.Dom.get(S[R]);}return T;}return S;}return null;},getStyle:function(Q,S){S=O(S);var R=function(T){return L(T,S);};return B.Dom.batch(Q,R,B.Dom,true);},setStyle:function(Q,S,T){S=O(S);var R=function(U){J(U,S,T);};B.Dom.batch(Q,R,B.Dom,true);},getXY:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}return I(S);};return B.Dom.batch(Q,R,B.Dom,true);},getX:function(Q){var R=function(S){return B.Dom.getXY(S)[0];};return B.Dom.batch(Q,R,B.Dom,true);},getY:function(Q){var R=function(S){return B.Dom.getXY(S)[1];};return B.Dom.batch(Q,R,B.Dom,true);},setXY:function(Q,T,S){var R=function(W){var V=this.getStyle(W,"position");if(V=="static"){this.setStyle(W,"position","relative");V="relative";}var Y=this.getXY(W);if(Y===false){return false;}var X=[parseInt(this.getStyle(W,"left"),10),parseInt(this.getStyle(W,"top"),10)];if(isNaN(X[0])){X[0]=(V=="relative")?0:W.offsetLeft;}if(isNaN(X[1])){X[1]=(V=="relative")?0:W.offsetTop;}if(T[0]!==null){W.style.left=T[0]-Y[0]+X[0]+"px";}if(T[1]!==null){W.style.top=T[1]-Y[1]+X[1]+"px";}if(!S){var U=this.getXY(W);if((T[0]!==null&&U[0]!=T[0])||(T[1]!==null&&U[1]!=T[1])){this.setXY(W,T,true);}}};B.Dom.batch(Q,R,B.Dom,true);},setX:function(R,Q){B.Dom.setXY(R,[Q,null]);},setY:function(Q,R){B.Dom.setXY(Q,[null,R]);},getRegion:function(Q){var R=function(S){if((S.parentNode===null||S.offsetParent===null||this.getStyle(S,"display")=="none")&&S!=S.ownerDocument.body){return false;}var T=B.Region.getRegion(S);return T;};return B.Dom.batch(Q,R,B.Dom,true);},getClientWidth:function(){return B.Dom.getViewportWidth();},getClientHeight:function(){return B.Dom.getViewportHeight();},getElementsByClassName:function(U,Y,V,W){U=F.trim(U);Y=Y||"*";V=(V)?B.Dom.get(V):null||N;if(!V){return[];}var R=[],Q=V.getElementsByTagName(Y),X=P(U);for(var S=0,T=Q.length;S<T;++S){if(X.test(Q[S].className)){R[R.length]=Q[S];if(W){W.call(Q[S],Q[S]);}}}return R;},hasClass:function(S,R){var Q=P(R);var T=function(U){return Q.test(U.className);};return B.Dom.batch(S,T,B.Dom,true);},addClass:function(R,Q){var S=function(T){if(this.hasClass(T,Q)){return false;}T.className=F.trim([T.className,Q].join(" "));return true;};return B.Dom.batch(R,S,B.Dom,true);},removeClass:function(S,R){var Q=P(R);var T=function(W){var V=false,X=W.className;if(R&&X&&this.hasClass(W,R)){W.className=X.replace(Q," ");if(this.hasClass(W,R)){this.removeClass(W,R);}W.className=F.trim(W.className);if(W.className===""){var U=(W.hasAttribute)?"class":"className";W.removeAttribute(U);}V=true;}return V;};return B.Dom.batch(S,T,B.Dom,true);},replaceClass:function(T,R,Q){if(!Q||R===Q){return false;}var S=P(R);var U=function(V){if(!this.hasClass(V,R)){this.addClass(V,Q);return true;}V.className=V.className.replace(S," "+Q+" ");if(this.hasClass(V,R)){this.removeClass(V,R);}V.className=F.trim(V.className);return true;};return B.Dom.batch(T,U,B.Dom,true);},generateId:function(Q,S){S=S||"yui-gen";var R=function(T){if(T&&T.id){return T.id;}var U=S+YAHOO.env._id_counter++;if(T){T.id=U;}return U;};return B.Dom.batch(Q,R,B.Dom,true)||R.apply(B.Dom,arguments);},isAncestor:function(R,S){R=B.Dom.get(R);S=B.Dom.get(S);var Q=false;if((R&&S)&&(R.nodeType&&S.nodeType)){if(R.contains&&R!==S){Q=R.contains(S);}else{if(R.compareDocumentPosition){Q=!!(R.compareDocumentPosition(S)&16);}}}else{}return Q;},inDocument:function(Q){return this.isAncestor(N.documentElement,Q);},getElementsBy:function(X,R,S,U){R=R||"*";S=(S)?B.Dom.get(S):null||N;if(!S){return[];}var T=[],W=S.getElementsByTagName(R);for(var V=0,Q=W.length;V<Q;++V){if(X(W[V])){T[T.length]=W[V];if(U){U(W[V]);}}}return T;},batch:function(U,X,W,S){U=(U&&(U.tagName||U.item))?U:B.Dom.get(U);if(!U||!X){return false;}var T=(S)?W:window;if(U.tagName||U.length===undefined){return X.call(T,U,W);}var V=[];for(var R=0,Q=U.length;R<Q;++R){V[V.length]=X.call(T,U[R],W);}return V;},getDocumentHeight:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollHeight:N.documentElement.scrollHeight;var Q=Math.max(R,B.Dom.getViewportHeight());return Q;},getDocumentWidth:function(){var R=(N.compatMode!="CSS1Compat")?N.body.scrollWidth:N.documentElement.scrollWidth;var Q=Math.max(R,B.Dom.getViewportWidth());return Q;},getViewportHeight:function(){var Q=self.innerHeight; -var R=N.compatMode;if((R||H)&&!C){Q=(R=="CSS1Compat")?N.documentElement.clientHeight:N.body.clientHeight;}return Q;},getViewportWidth:function(){var Q=self.innerWidth;var R=N.compatMode;if(R||H){Q=(R=="CSS1Compat")?N.documentElement.clientWidth:N.body.clientWidth;}return Q;},getAncestorBy:function(Q,R){while((Q=Q.parentNode)){if(D(Q,R)){return Q;}}return null;},getAncestorByClassName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return B.Dom.hasClass(T,Q);};return B.Dom.getAncestorBy(R,S);},getAncestorByTagName:function(R,Q){R=B.Dom.get(R);if(!R){return null;}var S=function(T){return T.tagName&&T.tagName.toUpperCase()==Q.toUpperCase();};return B.Dom.getAncestorBy(R,S);},getPreviousSiblingBy:function(Q,R){while(Q){Q=Q.previousSibling;if(D(Q,R)){return Q;}}return null;},getPreviousSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getPreviousSiblingBy(Q);},getNextSiblingBy:function(Q,R){while(Q){Q=Q.nextSibling;if(D(Q,R)){return Q;}}return null;},getNextSibling:function(Q){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getNextSiblingBy(Q);},getFirstChildBy:function(Q,S){var R=(D(Q.firstChild,S))?Q.firstChild:null;return R||B.Dom.getNextSiblingBy(Q.firstChild,S);},getFirstChild:function(Q,R){Q=B.Dom.get(Q);if(!Q){return null;}return B.Dom.getFirstChildBy(Q);},getLastChildBy:function(Q,S){if(!Q){return null;}var R=(D(Q.lastChild,S))?Q.lastChild:null;return R||B.Dom.getPreviousSiblingBy(Q.lastChild,S);},getLastChild:function(Q){Q=B.Dom.get(Q);return B.Dom.getLastChildBy(Q);},getChildrenBy:function(R,T){var S=B.Dom.getFirstChildBy(R,T);var Q=S?[S]:[];B.Dom.getNextSiblingBy(S,function(U){if(!T||T(U)){Q[Q.length]=U;}return false;});return Q;},getChildren:function(Q){Q=B.Dom.get(Q);if(!Q){}return B.Dom.getChildrenBy(Q);},getDocumentScrollLeft:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollLeft,Q.body.scrollLeft);},getDocumentScrollTop:function(Q){Q=Q||N;return Math.max(Q.documentElement.scrollTop,Q.body.scrollTop);},insertBefore:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}return Q.parentNode.insertBefore(R,Q);},insertAfter:function(R,Q){R=B.Dom.get(R);Q=B.Dom.get(Q);if(!R||!Q||!Q.parentNode){return null;}if(Q.nextSibling){return Q.parentNode.insertBefore(R,Q.nextSibling);}else{return Q.parentNode.appendChild(R);}},getClientRegion:function(){var S=B.Dom.getDocumentScrollTop(),R=B.Dom.getDocumentScrollLeft(),T=B.Dom.getViewportWidth()+R,Q=B.Dom.getViewportHeight()+S;return new B.Region(S,T,Q,R);}};var I=function(){if(N.documentElement.getBoundingClientRect){return function(S){var T=S.getBoundingClientRect(),R=Math.round;var Q=S.ownerDocument;return[R(T.left+B.Dom.getDocumentScrollLeft(Q)),R(T.top+B.Dom.getDocumentScrollTop(Q))];};}else{return function(S){var T=[S.offsetLeft,S.offsetTop];var R=S.offsetParent;var Q=(M&&B.Dom.getStyle(S,"position")=="absolute"&&S.offsetParent==S.ownerDocument.body);if(R!=S){while(R){T[0]+=R.offsetLeft;T[1]+=R.offsetTop;if(!Q&&M&&B.Dom.getStyle(R,"position")=="absolute"){Q=true;}R=R.offsetParent;}}if(Q){T[0]-=S.ownerDocument.body.offsetLeft;T[1]-=S.ownerDocument.body.offsetTop;}R=S.parentNode;while(R.tagName&&!E.ROOT_TAG.test(R.tagName)){if(R.scrollTop||R.scrollLeft){T[0]-=R.scrollLeft;T[1]-=R.scrollTop;}R=R.parentNode;}return T;};}}();})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this[0]=B;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top);var D=Math.min(this.right,E.right);var A=Math.min(this.bottom,E.bottom);var B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top);var D=Math.max(this.right,E.right);var A=Math.max(this.bottom,E.bottom);var B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D);var C=F[1];var E=F[0]+D.offsetWidth;var A=F[1]+D.offsetHeight;var B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}this.x=this.right=this.left=this[0]=A;this.y=this.top=this.bottom=this[1]=B;};YAHOO.util.Point.prototype=new YAHOO.util.Region();YAHOO.register("dom",YAHOO.util.Dom,{version:"2.6.0",build:"1321"});YAHOO.util.CustomEvent=function(D,B,C,A){this.type=D;this.scope=B||window;this.silent=C;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,A){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,A);}this.subscribers.push(new YAHOO.util.Subscriber(B,C,A));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){for(var A=this.subscribers.length-1;A>-1;A--){this._delete(A);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"scope: "+this.scope;}};YAHOO.util.Subscriber=function(B,C,A){this.fn=B;this.obj=YAHOO.lang.isUndefined(C)?null:C;this.override=A;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.override){if(this.override===true){return this.obj;}else{return this.override;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", override: "+(this.override||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};var K=YAHOO.env.ua.ie?"focusin":"focus";var L=YAHOO.env.ua.ie?"focusout":"blur";return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var M=this;var N=function(){M._tryPreloadAttach();};this._interval=setInterval(N,this.POLL_INTERVAL);}},onAvailable:function(R,O,S,Q,P){var M=(YAHOO.lang.isString(R))?[R]:R;for(var N=0;N<M.length;N=N+1){F.push({id:M[N],fn:O,obj:S,override:Q,checkReady:P});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(O,M,P,N){this.onAvailable(O,M,P,N,true);},onDOMReady:function(M,O,N){if(this.DOMReady){setTimeout(function(){var P=window;if(N){if(N===true){P=O;}else{P=N;}}M.call(P,"DOMReady",[],O);},0);}else{this.DOMReadyEvent.subscribe(M,O,N);}},_addListener:function(O,M,X,S,N,a){if(!X||!X.call){return false;}if(this._isValidCollection(O)){var Y=true;for(var T=0,V=O.length;T<V;++T){Y=this._addListener(O[T],M,X,S,N,a)&&Y;}return Y;}else{if(YAHOO.lang.isString(O)){var R=this.getEl(O);if(R){O=R;}else{this.onAvailable(O,function(){YAHOO.util.Event._addListener(O,M,X,S,N,a);});return true;}}}if(!O){return false;}if("unload"==M&&S!==this){J[J.length]=[O,M,X,S,N,a];return true;}var b=O;if(N){if(N===true){b=S;}else{b=N;}}var P=function(c){return X.call(b,YAHOO.util.Event.getEvent(c,O),S);};var Z=[O,M,X,P,b,S,N,a];var U=I.length;I[U]=Z;if(this.useLegacyEvent(O,M)){var Q=this.getLegacyIndex(O,M);if(Q==-1||O!=G[Q][0]){Q=G.length;B[O.id+M]=Q;G[Q]=[O,M,O["on"+M]];E[Q]=[];O["on"+M]=function(c){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c),Q);};}E[Q].push(Z);}else{try{this._simpleAdd(O,M,P,a);}catch(W){this.lastError=W;this._removeListener(O,M,X,a);return false;}}return true;},addListener:function(O,Q,N,P,M){return this._addListener(O,Q,N,P,M,false);},addFocusListener:function(O,N,P,M){return this._addListener(O,K,N,P,M,true);},removeFocusListener:function(N,M){return this._removeListener(N,K,M,true);},addBlurListener:function(O,N,P,M){return this._addListener(O,L,N,P,M,true);},removeBlurListener:function(N,M){return this._removeListener(N,L,M,true);},fireLegacyEvent:function(Q,O){var S=true,M,U,T,V,R;U=E[O].slice();for(var N=0,P=U.length;N<P;++N){T=U[N];if(T&&T[this.WFN]){V=T[this.ADJ_SCOPE];R=T[this.WFN].call(V,Q);S=(S&&R);}}M=G[O];if(M&&M[2]){M[2](Q);}return S;},getLegacyIndex:function(N,O){var M=this.generateId(N)+O;if(typeof B[M]=="undefined"){return -1;}else{return B[M];}},useLegacyEvent:function(M,N){return(this.webkit&&this.webkit<419&&("click"==N||"dblclick"==N));},_removeListener:function(N,M,V,Y){var Q,T,X;if(typeof N=="string"){N=this.getEl(N);}else{if(this._isValidCollection(N)){var W=true;for(Q=N.length-1;Q>-1;Q--){W=(this._removeListener(N[Q],M,V,Y)&&W);}return W;}}if(!V||!V.call){return this.purgeElement(N,false,M);}if("unload"==M){for(Q=J.length-1;Q>-1;Q--){X=J[Q];if(X&&X[0]==N&&X[1]==M&&X[2]==V){J.splice(Q,1);return true;}}return false;}var R=null;var S=arguments[4];if("undefined"===typeof S){S=this._getCacheIndex(N,M,V);}if(S>=0){R=I[S];}if(!N||!R){return false;}if(this.useLegacyEvent(N,M)){var P=this.getLegacyIndex(N,M);var O=E[P];if(O){for(Q=0,T=O.length;Q<T;++Q){X=O[Q];if(X&&X[this.EL]==N&&X[this.TYPE]==M&&X[this.FN]==V){O.splice(Q,1);break;}}}}else{try{this._simpleRemove(N,M,R[this.WFN],Y);}catch(U){this.lastError=U;return false;}}delete I[S][this.WFN];delete I[S][this.FN]; -I.splice(S,1);return true;},removeListener:function(N,O,M){return this._removeListener(N,O,M,false);},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;clearInterval(this._interval);this._interval=null;return ;}if(this.locked){return ;}if(this.isIE){if(!this.DOMReady){this.startInterval();return ;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.override){if(W.override===true){U=W.obj;}else{U=W.override;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{clearInterval(this._interval);this._interval=null;}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this._removeListener(O,N.type,N.fn,N.capture);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],capture:P[this.CAPTURE],index:S});}}}}return(R.length)?R:null;},_unload:function(S){var M=YAHOO.util.Event,P,O,N,R,Q,T=J.slice();for(P=0,R=J.length;P<R;++P){N=T[P];if(N){var U=window;if(N[M.ADJ_SCOPE]){if(N[M.ADJ_SCOPE]===true){U=N[M.UNLOAD_OBJ];}else{U=N[M.ADJ_SCOPE];}}N[M.FN].call(U,M.getEvent(S,N[M.EL]),N[M.UNLOAD_OBJ]);T[P]=null;N=null;U=null;}}J=null;if(I){for(O=I.length-1;O>-1;O--){N=I[O];if(N){M._removeListener(N[M.EL],N[M.TYPE],N[M.FN],N[M.CAPTURE],O);}}N=null;}G=null;M._simpleRemove(window,"unload",M._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener; -/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */ -if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{}; -var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,override:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].override);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};YAHOO.util.KeyListener=function(A,F,B,C){if(!A){}else{if(!F){}else{if(!B){}}}if(!C){C=YAHOO.util.KeyListener.KEYDOWN;}var D=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(typeof A=="string"){A=document.getElementById(A);}if(typeof B=="function"){D.subscribe(B);}else{D.subscribe(B.fn,B.scope,B.correctScope);}function E(J,I){if(!F.shift){F.shift=false;}if(!F.alt){F.alt=false;}if(!F.ctrl){F.ctrl=false;}if(J.shiftKey==F.shift&&J.altKey==F.alt&&J.ctrlKey==F.ctrl){var G;if(F.keys instanceof Array){for(var H=0;H<F.keys.length;H++){G=F.keys[H];if(G==J.charCode){D.fire(J.charCode,J);break;}else{if(G==J.keyCode){D.fire(J.keyCode,J);break;}}}}else{G=F.keys;if(G==J.charCode){D.fire(J.charCode,J);}else{if(G==J.keyCode){D.fire(J.keyCode,J);}}}}}this.enable=function(){if(!this.enabled){YAHOO.util.Event.addListener(A,C,E);this.enabledEvent.fire(F);}this.enabled=true;};this.disable=function(){if(this.enabled){YAHOO.util.Event.removeListener(A,C,E);this.disabledEvent.fire(F);}this.enabled=false;};this.toString=function(){return"KeyListener ["+F.keys+"] "+A.tagName+(A.id?"["+A.id+"]":"");};};YAHOO.util.KeyListener.KEYDOWN="keydown";YAHOO.util.KeyListener.KEYUP="keyup";YAHOO.util.KeyListener.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};YAHOO.register("event",YAHOO.util.Event,{version:"2.6.0",build:"1321"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.6.0", build: "1321"}); diff --git a/js/yui/yahoo-dom-event/yahoo-dom-event.js b/js/yui/yahoo-dom-event/yahoo-dom-event.js new file mode 100644 index 0000000000000000000000000000000000000000..05af8a6e19fa94fdbe8abb8b7654cc28d9b67001 --- /dev/null +++ b/js/yui/yahoo-dom-event/yahoo-dom-event.js @@ -0,0 +1,14 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var D=function(H){var I=0;return parseFloat(H.replace(/\./g,function(){return(I++==1)?"":".";}));},G=navigator,F={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:G.cajaVersion,secure:false,os:null},C=navigator&&navigator.userAgent,E=window&&window.location,B=E&&E.href,A;F.secure=B&&(B.toLowerCase().indexOf("https")===0);if(C){if((/windows|win32/i).test(C)){F.os="windows";}else{if((/macintosh/i).test(C)){F.os="macintosh";}}if((/KHTML/).test(C)){F.webkit=1;}A=C.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){F.webkit=D(A[1]);if(/ Mobile\//.test(C)){F.mobile="Apple";}else{A=C.match(/NokiaN[^\/]*/);if(A){F.mobile=A[0];}}A=C.match(/AdobeAIR\/([^\s]*)/);if(A){F.air=A[0];}}if(!F.webkit){A=C.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){F.opera=D(A[1]);A=C.match(/Opera Mini[^;]*/);if(A){F.mobile=A[0];}}else{A=C.match(/MSIE\s([^;]*)/);if(A&&A[1]){F.ie=D(A[1]);}else{A=C.match(/Gecko\/([^\s]*)/);if(A){F.gecko=1;A=C.match(/rv:([^\s\)]*)/);if(A&&A[1]){F.gecko=D(A[1]);}}}}}}return F;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C++){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,A=Object.prototype,H="[object Array]",C="[object Function]",G="[object Object]",E=[],F=["toString","valueOf"],D={isArray:function(I){return A.toString.apply(I)===H;},isBoolean:function(I){return typeof I==="boolean";},isFunction:function(I){return(typeof I==="function")||A.toString.apply(I)===C;},isNull:function(I){return I===null;},isNumber:function(I){return typeof I==="number"&&isFinite(I);},isObject:function(I){return(I&&(typeof I==="object"||B.isFunction(I)))||false;},isString:function(I){return typeof I==="string";},isUndefined:function(I){return typeof I==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(K,J){var I,M,L;for(I=0;I<F.length;I=I+1){M=F[I];L=J[M];if(B.isFunction(L)&&L!=A[M]){K[M]=L;}}}:function(){},extend:function(L,M,K){if(!M||!L){throw new Error("extend failed, please check that "+"all dependencies are included.");}var J=function(){},I;J.prototype=M.prototype;L.prototype=new J();L.prototype.constructor=L;L.superclass=M.prototype;if(M.prototype.constructor==A.constructor){M.prototype.constructor=M;}if(K){for(I in K){if(B.hasOwnProperty(K,I)){L.prototype[I]=K[I];}}B._IEEnumFix(L.prototype,K);}},augmentObject:function(M,L){if(!L||!M){throw new Error("Absorb failed, verify dependencies.");}var I=arguments,K,N,J=I[2];if(J&&J!==true){for(K=2;K<I.length;K=K+1){M[I[K]]=L[I[K]];}}else{for(N in L){if(J||!(N in M)){M[N]=L[N];}}B._IEEnumFix(M,L);}},augmentProto:function(L,K){if(!K||!L){throw new Error("Augment failed, verify dependencies.");}var I=[L.prototype,K.prototype],J;for(J=2;J<arguments.length;J=J+1){I.push(arguments[J]);}B.augmentObject.apply(this,I);},dump:function(I,N){var K,M,P=[],Q="{...}",J="f(){...}",O=", ",L=" => ";if(!B.isObject(I)){return I+"";}else{if(I instanceof Date||("nodeType" in I&&"tagName" in I)){return I;}else{if(B.isFunction(I)){return J;}}}N=(B.isNumber(N))?N:3;if(B.isArray(I)){P.push("[");for(K=0,M=I.length;K<M;K=K+1){if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}if(P.length>1){P.pop();}P.push("]");}else{P.push("{");for(K in I){if(B.hasOwnProperty(I,K)){P.push(K+L);if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}}if(P.length>1){P.pop();}P.push("}");}return P.join("");},substitute:function(Y,J,R){var N,M,L,U,V,X,T=[],K,O="dump",S=" ",I="{",W="}",Q,P;for(;;){N=Y.lastIndexOf(I);if(N<0){break;}M=Y.indexOf(W,N);if(N+1>=M){break;}K=Y.substring(N+1,M);U=K;X=null;L=U.indexOf(S);if(L>-1){X=U.substring(L+1);U=U.substring(0,L);}V=J[U];if(R){V=R(U,V,X);}if(B.isObject(V)){if(B.isArray(V)){V=B.dump(V,parseInt(X,10));}else{X=X||"";Q=X.indexOf(O);if(Q>-1){X=X.substring(4);}P=V.toString();if(P===G||Q>-1){V=B.dump(V,parseInt(X,10));}else{V=P;}}}else{if(!B.isString(V)&&!B.isNumber(V)){V="~-"+T.length+"-~";T[T.length]=K;}}Y=Y.substring(0,N)+V+Y.substring(M+1);}for(N=T.length-1;N>=0;N=N-1){Y=Y.replace(new RegExp("~-"+N+"-~"),"{"+T[N]+"}","g");}return Y;},trim:function(I){try{return I.replace(/^\s+|\s+$/g,"");}catch(J){return I;}},merge:function(){var L={},J=arguments,I=J.length,K;for(K=0;K<I;K=K+1){B.augmentObject(L,J[K],true);}return L;},later:function(P,J,Q,L,M){P=P||0;J=J||{};var K=Q,O=L,N,I;if(B.isString(Q)){K=J[Q];}if(!K){throw new TypeError("method undefined");}if(O&&!B.isArray(O)){O=[L];}N=function(){K.apply(J,O||E);};I=(M)?setInterval(N,P):setTimeout(N,P);return{interval:M,cancel:function(){if(this.interval){clearInterval(I);}else{clearTimeout(I);}}};},isValue:function(I){return(B.isObject(I)||B.isString(I)||B.isNumber(I)||B.isBoolean(I));}};B.hasOwnProperty=(A.hasOwnProperty)?function(I,J){return I&&I.hasOwnProperty(J);}:function(I,J){return !B.isUndefined(I[J])&&I.constructor.prototype[J]!==I[J];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.8.1",build:"19"}); +(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},DOT_ATTRIBUTES:{},get:function(z){var AB,x,AA,y,Y,G;if(z){if(z[l]||z.item){return z;}if(typeof z==="string"){AB=z;z=K.getElementById(z);G=(z)?z.attributes:null;if(z&&G&&G.id&&G.id.value===AB){return z;}else{if(z&&K.all){z=null;x=K.all[AB];for(y=0,Y=x.length;y<Y;++y){if(x[y].id===AB){return x[y];}}}}return z;}if(YAHOO.util.Element&&z instanceof YAHOO.util.Element){z=z.get("element");}if("length" in z){AA=[];for(y=0,Y=z.length;y<Y;++y){AA[AA.length]=E.Dom.get(z[y]);}return AA;}return z;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC===c)){G=S(AF[v],q);x=S(AF[v],R);if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(var y=0,AA=G.length;y<AA;++y){if(z(G[y],AB)){Y[Y.length]=G[y];}}if(AE){E.Dom.batch(Y,AE,x,AD);}return Y;},hasClass:function(Y,G){return E.Dom.batch(Y,E.Dom._hasClass,G);},_hasClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(Y.exec){G=Y.test(y);}else{G=Y&&(B+y+B).indexOf(B+Y+B)>-1;}}else{}return G;},addClass:function(Y,G){return E.Dom.batch(Y,E.Dom._addClass,G);},_addClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom._getAttribute(x,F)||J;if(!E.Dom._hasClass(x,Y)){E.Dom.setAttribute(x,F,A(y+B+Y));G=true;}}else{}return G;},removeClass:function(Y,G){return E.Dom.batch(Y,E.Dom._removeClass,G);},_removeClass:function(y,x){var Y=false,AA,z,G;if(y&&x){AA=E.Dom._getAttribute(y,F)||J;E.Dom.setAttribute(y,F,AA.replace(E.Dom._getClassRegex(x),J));z=E.Dom._getAttribute(y,F);if(AA!==z){E.Dom.setAttribute(y,F,A(z));Y=true;if(E.Dom._getAttribute(y,F)===""){G=(y.hasAttribute&&y.hasAttribute(g))?g:F; +y.removeAttribute(G);}}}else{}return Y;},replaceClass:function(x,Y,G){return E.Dom.batch(x,E.Dom._replaceClass,{from:Y,to:G});},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom._getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e]&&y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){E.Dom.batch(Y,E.Dom._setAttribute,{attr:G,val:x});},_setAttribute:function(x,Y){var G=E.Dom._toCamel(Y.attr),y=Y.val;if(x&&x.setAttribute){if(E.Dom.DOT_ATTRIBUTES[G]){x[G]=y;}else{G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;x.setAttribute(G,y);}}else{}},getAttribute:function(Y,G){return E.Dom.batch(Y,E.Dom._getAttribute,G);},_getAttribute:function(Y,G){var x;G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;if(Y&&Y.getAttribute){x=Y.getAttribute(G,2);}else{}return x;},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}\\])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:function(x,y){var Y=parseInt(E.Dom[w](x,R),10)||0,G=parseInt(E.Dom[w](x,q),10)||0;if(H){if(N.test(x[C])){Y=0;G=0;}}y[0]+=G;y[1]+=Y;return y;}};var S=E.Dom[w];if(m.opera){E.Dom[w]=function(Y,G){var x=S(Y,G);if(X.test(G)){x=E.Dom.Color.toRGB(x);}return x;};}if(m.webkit){E.Dom[w]=function(Y,G){var x=S(Y,G);if(x==="rgba(0, 0, 0, 0)"){x="transparent";}return x;};}if(m.ie&&m.ie>=8&&K.documentElement.hasAttribute){E.Dom.DOT_ATTRIBUTES.type=true;}})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this.y=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this.x=B;this[0]=B; +this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top),D=Math.min(this.right,E.right),A=Math.min(this.bottom,E.bottom),B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.8.1",build:"19"});YAHOO.util.CustomEvent=function(D,C,B,A,E){this.type=D;this.scope=C||window;this.silent=B;this.fireOnce=E;this.fired=false;this.firedWith=null;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var F="_YUICEOnSubscribe";if(D!==F){this.subscribeEvent=new YAHOO.util.CustomEvent(F,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(B,C,D){if(!B){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(B,C,D);}var A=new YAHOO.util.Subscriber(B,C,D);if(this.fireOnce&&this.fired){this.notify(A,this.firedWith);}else{this.subscribers.push(A);}},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var H=[],A=this.subscribers.length;var D=[].slice.call(arguments,0),C=true,F,B=false;if(this.fireOnce){if(this.fired){return true;}else{this.firedWith=D;}}this.fired=true;if(!A&&this.silent){return true;}if(!this.silent){}var E=this.subscribers.slice();for(F=0;F<A;++F){var G=E[F];if(!G){B=true;}else{C=this.notify(G,D);if(false===C){if(!this.silent){}break;}}}return(C!==false);},notify:function(F,C){var B,H=null,E=F.getScope(this.scope),A=YAHOO.util.Event.throwErrors;if(!this.silent){}if(this.signature==YAHOO.util.CustomEvent.FLAT){if(C.length>0){H=C[0];}try{B=F.fn.call(E,H,F.obj);}catch(G){this.lastError=G;if(A){throw G;}}}else{try{B=F.fn.call(E,this.type,C,F.obj);}catch(D){this.lastError=D;if(A){throw D;}}}return B;},unsubscribeAll:function(){var A=this.subscribers.length,B;for(B=A-1;B>-1;B--){this._delete(B);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(A,B,C){this.fn=A;this.obj=YAHOO.lang.isUndefined(B)?null:B;this.overrideContext=C;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var G=false,H=[],J=[],A=0,E=[],B=0,C={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9},D=YAHOO.env.ua.ie,F="focusin",I="focusout";return{POLL_RETRYS:500,POLL_INTERVAL:40,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,CAPTURE:7,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:D,_interval:null,_dri:null,_specialTypes:{focusin:(D?"focusin":"focus"),focusout:(D?"focusout":"blur")},DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){this._interval=YAHOO.lang.later(this.POLL_INTERVAL,this,this._tryPreloadAttach,null,true);}},onAvailable:function(Q,M,O,P,N){var K=(YAHOO.lang.isString(Q))?[Q]:Q;for(var L=0;L<K.length;L=L+1){E.push({id:K[L],fn:M,obj:O,overrideContext:P,checkReady:N});}A=this.POLL_RETRYS;this.startInterval();},onContentReady:function(N,K,L,M){this.onAvailable(N,K,L,M,true);},onDOMReady:function(){this.DOMReadyEvent.subscribe.apply(this.DOMReadyEvent,arguments);},_addListener:function(M,K,V,P,T,Y){if(!V||!V.call){return false;}if(this._isValidCollection(M)){var W=true;for(var Q=0,S=M.length;Q<S;++Q){W=this.on(M[Q],K,V,P,T)&&W;}return W;}else{if(YAHOO.lang.isString(M)){var O=this.getEl(M);if(O){M=O;}else{this.onAvailable(M,function(){YAHOO.util.Event._addListener(M,K,V,P,T,Y);});return true;}}}if(!M){return false;}if("unload"==K&&P!==this){J[J.length]=[M,K,V,P,T];return true;}var L=M;if(T){if(T===true){L=P;}else{L=T;}}var N=function(Z){return V.call(L,YAHOO.util.Event.getEvent(Z,M),P);};var X=[M,K,V,N,L,P,T,Y];var R=H.length;H[R]=X;try{this._simpleAdd(M,K,N,Y);}catch(U){this.lastError=U;this.removeListener(M,K,V);return false;}return true;},_getType:function(K){return this._specialTypes[K]||K;},addListener:function(M,P,L,N,O){var K=((P==F||P==I)&&!YAHOO.env.ua.ie)?true:false;return this._addListener(M,this._getType(P),L,N,O,K);},addFocusListener:function(L,K,M,N){return this.on(L,F,K,M,N);},removeFocusListener:function(L,K){return this.removeListener(L,F,K);},addBlurListener:function(L,K,M,N){return this.on(L,I,K,M,N);},removeBlurListener:function(L,K){return this.removeListener(L,I,K);},removeListener:function(L,K,R){var M,P,U;K=this._getType(K);if(typeof L=="string"){L=this.getEl(L);}else{if(this._isValidCollection(L)){var S=true;for(M=L.length-1;M>-1;M--){S=(this.removeListener(L[M],K,R)&&S);}return S;}}if(!R||!R.call){return this.purgeElement(L,false,K);}if("unload"==K){for(M=J.length-1;M>-1;M--){U=J[M];if(U&&U[0]==L&&U[1]==K&&U[2]==R){J.splice(M,1);return true;}}return false;}var N=null;var O=arguments[3];if("undefined"===typeof O){O=this._getCacheIndex(H,L,K,R);}if(O>=0){N=H[O];}if(!L||!N){return false;}var T=N[this.CAPTURE]===true?true:false;try{this._simpleRemove(L,K,N[this.WFN],T);}catch(Q){this.lastError=Q;return false;}delete H[O][this.WFN];delete H[O][this.FN];H.splice(O,1);return true;},getTarget:function(M,L){var K=M.target||M.srcElement;return this.resolveTextNode(K);},resolveTextNode:function(L){try{if(L&&3==L.nodeType){return L.parentNode;}}catch(K){}return L;},getPageX:function(L){var K=L.pageX;if(!K&&0!==K){K=L.clientX||0;if(this.isIE){K+=this._getScrollLeft();}}return K;},getPageY:function(K){var L=K.pageY;if(!L&&0!==L){L=K.clientY||0;if(this.isIE){L+=this._getScrollTop();}}return L;},getXY:function(K){return[this.getPageX(K),this.getPageY(K)];},getRelatedTarget:function(L){var K=L.relatedTarget;if(!K){if(L.type=="mouseout"){K=L.toElement; +}else{if(L.type=="mouseover"){K=L.fromElement;}}}return this.resolveTextNode(K);},getTime:function(M){if(!M.time){var L=new Date().getTime();try{M.time=L;}catch(K){this.lastError=K;return L;}}return M.time;},stopEvent:function(K){this.stopPropagation(K);this.preventDefault(K);},stopPropagation:function(K){if(K.stopPropagation){K.stopPropagation();}else{K.cancelBubble=true;}},preventDefault:function(K){if(K.preventDefault){K.preventDefault();}else{K.returnValue=false;}},getEvent:function(M,K){var L=M||window.event;if(!L){var N=this.getEvent.caller;while(N){L=N.arguments[0];if(L&&Event==L.constructor){break;}N=N.caller;}}return L;},getCharCode:function(L){var K=L.keyCode||L.charCode||0;if(YAHOO.env.ua.webkit&&(K in C)){K=C[K];}return K;},_getCacheIndex:function(M,P,Q,O){for(var N=0,L=M.length;N<L;N=N+1){var K=M[N];if(K&&K[this.FN]==O&&K[this.EL]==P&&K[this.TYPE]==Q){return N;}}return -1;},generateId:function(K){var L=K.id;if(!L){L="yuievtautoid-"+B;++B;K.id=L;}return L;},_isValidCollection:function(L){try{return(L&&typeof L!=="string"&&L.length&&!L.tagName&&!L.alert&&typeof L[0]!=="undefined");}catch(K){return false;}},elCache:{},getEl:function(K){return(typeof K==="string")?document.getElementById(K):K;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",YAHOO,0,0,1),_load:function(L){if(!G){G=true;var K=YAHOO.util.Event;K._ready();K._tryPreloadAttach();}},_ready:function(L){var K=YAHOO.util.Event;if(!K.DOMReady){K.DOMReady=true;K.DOMReadyEvent.fire();K._simpleRemove(document,"DOMContentLoaded",K._ready);}},_tryPreloadAttach:function(){if(E.length===0){A=0;if(this._interval){this._interval.cancel();this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var Q=!G;if(!Q){Q=(A>0&&E.length>0);}var P=[];var R=function(T,U){var S=T;if(U.overrideContext){if(U.overrideContext===true){S=U.obj;}else{S=U.overrideContext;}}U.fn.call(S,U.obj);};var L,K,O,N,M=[];for(L=0,K=E.length;L<K;L=L+1){O=E[L];if(O){N=this.getEl(O.id);if(N){if(O.checkReady){if(G||N.nextSibling||!Q){M.push(O);E[L]=null;}}else{R(N,O);E[L]=null;}}else{P.push(O);}}}for(L=0,K=M.length;L<K;L=L+1){O=M[L];R(this.getEl(O.id),O);}A--;if(Q){for(L=E.length-1;L>-1;L--){O=E[L];if(!O||!O.id){E.splice(L,1);}}this.startInterval();}else{if(this._interval){this._interval.cancel();this._interval=null;}}this.locked=false;},purgeElement:function(O,P,R){var M=(YAHOO.lang.isString(O))?this.getEl(O):O;var Q=this.getListeners(M,R),N,K;if(Q){for(N=Q.length-1;N>-1;N--){var L=Q[N];this.removeListener(M,L.type,L.fn);}}if(P&&M&&M.childNodes){for(N=0,K=M.childNodes.length;N<K;++N){this.purgeElement(M.childNodes[N],P,R);}}},getListeners:function(M,K){var P=[],L;if(!K){L=[H,J];}else{if(K==="unload"){L=[J];}else{K=this._getType(K);L=[H];}}var R=(YAHOO.lang.isString(M))?this.getEl(M):M;for(var O=0;O<L.length;O=O+1){var T=L[O];if(T){for(var Q=0,S=T.length;Q<S;++Q){var N=T[Q];if(N&&N[this.EL]===R&&(!K||K===N[this.TYPE])){P.push({type:N[this.TYPE],fn:N[this.FN],obj:N[this.OBJ],adjust:N[this.OVERRIDE],scope:N[this.ADJ_SCOPE],index:Q});}}}}return(P.length)?P:null;},_unload:function(R){var L=YAHOO.util.Event,O,N,M,Q,P,S=J.slice(),K;for(O=0,Q=J.length;O<Q;++O){M=S[O];if(M){K=window;if(M[L.ADJ_SCOPE]){if(M[L.ADJ_SCOPE]===true){K=M[L.UNLOAD_OBJ];}else{K=M[L.ADJ_SCOPE];}}M[L.FN].call(K,L.getEvent(R,M[L.EL]),M[L.UNLOAD_OBJ]);S[O]=null;}}M=null;K=null;J=null;if(H){for(N=H.length-1;N>-1;N--){M=H[N];if(M){L.removeListener(M[L.EL],M[L.TYPE],M[L.FN],N);}}M=null;}L._simpleRemove(window,"unload",L._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var K=document.documentElement,L=document.body;if(K&&(K.scrollTop||K.scrollLeft)){return[K.scrollTop,K.scrollLeft];}else{if(L){return[L.scrollTop,L.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(M,N,L,K){M.addEventListener(N,L,(K));};}else{if(window.attachEvent){return function(M,N,L,K){M.attachEvent("on"+N,L);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(M,N,L,K){M.removeEventListener(N,L,(K));};}else{if(window.detachEvent){return function(L,M,K){L.detachEvent("on"+M,K);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener; +/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller/Diego Perini */ +if(EU.isIE){if(self!==self.top){document.onreadystatechange=function(){if(document.readyState=="complete"){document.onreadystatechange=null;EU._ready();}};}else{YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A); +},createEvent:function(B,G){this.__yui_events=this.__yui_events||{};var E=G||{},D=this.__yui_events,F;if(D[B]){}else{F=new YAHOO.util.CustomEvent(B,E.scope||this,E.silent,YAHOO.util.CustomEvent.FLAT,E.fireOnce);D[B]=F;if(E.onSubscribeCallback){F.subscribeEvent.subscribe(E.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var A=this.__yui_subscribers[B];if(A){for(var C=0;C<A.length;++C){F.subscribe(A[C].fn,A[C].obj,A[C].overrideContext);}}}return D[B];},fireEvent:function(B){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[B];if(!D){return null;}var A=[];for(var C=1;C<arguments.length;++C){A.push(arguments[C]);}return D.fire.apply(D,A);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.8.1",build:"19"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.8.1", build: "19"}); \ No newline at end of file diff --git a/js/yui/yahoo/yahoo-min.js b/js/yui/yahoo/yahoo-min.js new file mode 100644 index 0000000000000000000000000000000000000000..3909ef81712b239239c2ee3893fd40f7351d0546 --- /dev/null +++ b/js/yui/yahoo/yahoo-min.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var D=function(H){var I=0;return parseFloat(H.replace(/\./g,function(){return(I++==1)?"":".";}));},G=navigator,F={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:G.cajaVersion,secure:false,os:null},C=navigator&&navigator.userAgent,E=window&&window.location,B=E&&E.href,A;F.secure=B&&(B.toLowerCase().indexOf("https")===0);if(C){if((/windows|win32/i).test(C)){F.os="windows";}else{if((/macintosh/i).test(C)){F.os="macintosh";}}if((/KHTML/).test(C)){F.webkit=1;}A=C.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){F.webkit=D(A[1]);if(/ Mobile\//.test(C)){F.mobile="Apple";}else{A=C.match(/NokiaN[^\/]*/);if(A){F.mobile=A[0];}}A=C.match(/AdobeAIR\/([^\s]*)/);if(A){F.air=A[0];}}if(!F.webkit){A=C.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){F.opera=D(A[1]);A=C.match(/Opera Mini[^;]*/);if(A){F.mobile=A[0];}}else{A=C.match(/MSIE\s([^;]*)/);if(A&&A[1]){F.ie=D(A[1]);}else{A=C.match(/Gecko\/([^\s]*)/);if(A){F.gecko=1;A=C.match(/rv:([^\s\)]*)/);if(A&&A[1]){F.gecko=D(A[1]);}}}}}}return F;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C++){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,A=Object.prototype,H="[object Array]",C="[object Function]",G="[object Object]",E=[],F=["toString","valueOf"],D={isArray:function(I){return A.toString.apply(I)===H;},isBoolean:function(I){return typeof I==="boolean";},isFunction:function(I){return(typeof I==="function")||A.toString.apply(I)===C;},isNull:function(I){return I===null;},isNumber:function(I){return typeof I==="number"&&isFinite(I);},isObject:function(I){return(I&&(typeof I==="object"||B.isFunction(I)))||false;},isString:function(I){return typeof I==="string";},isUndefined:function(I){return typeof I==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(K,J){var I,M,L;for(I=0;I<F.length;I=I+1){M=F[I];L=J[M];if(B.isFunction(L)&&L!=A[M]){K[M]=L;}}}:function(){},extend:function(L,M,K){if(!M||!L){throw new Error("extend failed, please check that "+"all dependencies are included.");}var J=function(){},I;J.prototype=M.prototype;L.prototype=new J();L.prototype.constructor=L;L.superclass=M.prototype;if(M.prototype.constructor==A.constructor){M.prototype.constructor=M;}if(K){for(I in K){if(B.hasOwnProperty(K,I)){L.prototype[I]=K[I];}}B._IEEnumFix(L.prototype,K);}},augmentObject:function(M,L){if(!L||!M){throw new Error("Absorb failed, verify dependencies.");}var I=arguments,K,N,J=I[2];if(J&&J!==true){for(K=2;K<I.length;K=K+1){M[I[K]]=L[I[K]];}}else{for(N in L){if(J||!(N in M)){M[N]=L[N];}}B._IEEnumFix(M,L);}},augmentProto:function(L,K){if(!K||!L){throw new Error("Augment failed, verify dependencies.");}var I=[L.prototype,K.prototype],J;for(J=2;J<arguments.length;J=J+1){I.push(arguments[J]);}B.augmentObject.apply(this,I);},dump:function(I,N){var K,M,P=[],Q="{...}",J="f(){...}",O=", ",L=" => ";if(!B.isObject(I)){return I+"";}else{if(I instanceof Date||("nodeType" in I&&"tagName" in I)){return I;}else{if(B.isFunction(I)){return J;}}}N=(B.isNumber(N))?N:3;if(B.isArray(I)){P.push("[");for(K=0,M=I.length;K<M;K=K+1){if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}if(P.length>1){P.pop();}P.push("]");}else{P.push("{");for(K in I){if(B.hasOwnProperty(I,K)){P.push(K+L);if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}}if(P.length>1){P.pop();}P.push("}");}return P.join("");},substitute:function(Y,J,R){var N,M,L,U,V,X,T=[],K,O="dump",S=" ",I="{",W="}",Q,P;for(;;){N=Y.lastIndexOf(I);if(N<0){break;}M=Y.indexOf(W,N);if(N+1>=M){break;}K=Y.substring(N+1,M);U=K;X=null;L=U.indexOf(S);if(L>-1){X=U.substring(L+1);U=U.substring(0,L);}V=J[U];if(R){V=R(U,V,X);}if(B.isObject(V)){if(B.isArray(V)){V=B.dump(V,parseInt(X,10));}else{X=X||"";Q=X.indexOf(O);if(Q>-1){X=X.substring(4);}P=V.toString();if(P===G||Q>-1){V=B.dump(V,parseInt(X,10));}else{V=P;}}}else{if(!B.isString(V)&&!B.isNumber(V)){V="~-"+T.length+"-~";T[T.length]=K;}}Y=Y.substring(0,N)+V+Y.substring(M+1);}for(N=T.length-1;N>=0;N=N-1){Y=Y.replace(new RegExp("~-"+N+"-~"),"{"+T[N]+"}","g");}return Y;},trim:function(I){try{return I.replace(/^\s+|\s+$/g,"");}catch(J){return I;}},merge:function(){var L={},J=arguments,I=J.length,K;for(K=0;K<I;K=K+1){B.augmentObject(L,J[K],true);}return L;},later:function(P,J,Q,L,M){P=P||0;J=J||{};var K=Q,O=L,N,I;if(B.isString(Q)){K=J[Q];}if(!K){throw new TypeError("method undefined");}if(O&&!B.isArray(O)){O=[L];}N=function(){K.apply(J,O||E);};I=(M)?setInterval(N,P):setTimeout(N,P);return{interval:M,cancel:function(){if(this.interval){clearInterval(I);}else{clearTimeout(I);}}};},isValue:function(I){return(B.isObject(I)||B.isString(I)||B.isNumber(I)||B.isBoolean(I));}};B.hasOwnProperty=(A.hasOwnProperty)?function(I,J){return I&&I.hasOwnProperty(J);}:function(I,J){return !B.isUndefined(I[J])&&I.constructor.prototype[J]!==I[J];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.8.1",build:"19"}); diff --git a/js/yui/yuiloader/yuiloader-min.js b/js/yui/yuiloader/yuiloader-min.js new file mode 100644 index 0000000000000000000000000000000000000000..0d320f7673857a796788354042f520ab655fb47b --- /dev/null +++ b/js/yui/yuiloader/yuiloader-min.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var D=function(H){var I=0;return parseFloat(H.replace(/\./g,function(){return(I++==1)?"":".";}));},G=navigator,F={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:G.cajaVersion,secure:false,os:null},C=navigator&&navigator.userAgent,E=window&&window.location,B=E&&E.href,A;F.secure=B&&(B.toLowerCase().indexOf("https")===0);if(C){if((/windows|win32/i).test(C)){F.os="windows";}else{if((/macintosh/i).test(C)){F.os="macintosh";}}if((/KHTML/).test(C)){F.webkit=1;}A=C.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){F.webkit=D(A[1]);if(/ Mobile\//.test(C)){F.mobile="Apple";}else{A=C.match(/NokiaN[^\/]*/);if(A){F.mobile=A[0];}}A=C.match(/AdobeAIR\/([^\s]*)/);if(A){F.air=A[0];}}if(!F.webkit){A=C.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){F.opera=D(A[1]);A=C.match(/Opera Mini[^;]*/);if(A){F.mobile=A[0];}}else{A=C.match(/MSIE\s([^;]*)/);if(A&&A[1]){F.ie=D(A[1]);}else{A=C.match(/Gecko\/([^\s]*)/);if(A){F.gecko=1;A=C.match(/rv:([^\s\)]*)/);if(A&&A[1]){F.gecko=D(A[1]);}}}}}}return F;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C++){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,A=Object.prototype,H="[object Array]",C="[object Function]",G="[object Object]",E=[],F=["toString","valueOf"],D={isArray:function(I){return A.toString.apply(I)===H;},isBoolean:function(I){return typeof I==="boolean";},isFunction:function(I){return(typeof I==="function")||A.toString.apply(I)===C;},isNull:function(I){return I===null;},isNumber:function(I){return typeof I==="number"&&isFinite(I);},isObject:function(I){return(I&&(typeof I==="object"||B.isFunction(I)))||false;},isString:function(I){return typeof I==="string";},isUndefined:function(I){return typeof I==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(K,J){var I,M,L;for(I=0;I<F.length;I=I+1){M=F[I];L=J[M];if(B.isFunction(L)&&L!=A[M]){K[M]=L;}}}:function(){},extend:function(L,M,K){if(!M||!L){throw new Error("extend failed, please check that "+"all dependencies are included.");}var J=function(){},I;J.prototype=M.prototype;L.prototype=new J();L.prototype.constructor=L;L.superclass=M.prototype;if(M.prototype.constructor==A.constructor){M.prototype.constructor=M;}if(K){for(I in K){if(B.hasOwnProperty(K,I)){L.prototype[I]=K[I];}}B._IEEnumFix(L.prototype,K);}},augmentObject:function(M,L){if(!L||!M){throw new Error("Absorb failed, verify dependencies.");}var I=arguments,K,N,J=I[2];if(J&&J!==true){for(K=2;K<I.length;K=K+1){M[I[K]]=L[I[K]];}}else{for(N in L){if(J||!(N in M)){M[N]=L[N];}}B._IEEnumFix(M,L);}},augmentProto:function(L,K){if(!K||!L){throw new Error("Augment failed, verify dependencies.");}var I=[L.prototype,K.prototype],J;for(J=2;J<arguments.length;J=J+1){I.push(arguments[J]);}B.augmentObject.apply(this,I);},dump:function(I,N){var K,M,P=[],Q="{...}",J="f(){...}",O=", ",L=" => ";if(!B.isObject(I)){return I+"";}else{if(I instanceof Date||("nodeType" in I&&"tagName" in I)){return I;}else{if(B.isFunction(I)){return J;}}}N=(B.isNumber(N))?N:3;if(B.isArray(I)){P.push("[");for(K=0,M=I.length;K<M;K=K+1){if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}if(P.length>1){P.pop();}P.push("]");}else{P.push("{");for(K in I){if(B.hasOwnProperty(I,K)){P.push(K+L);if(B.isObject(I[K])){P.push((N>0)?B.dump(I[K],N-1):Q);}else{P.push(I[K]);}P.push(O);}}if(P.length>1){P.pop();}P.push("}");}return P.join("");},substitute:function(Y,J,R){var N,M,L,U,V,X,T=[],K,O="dump",S=" ",I="{",W="}",Q,P;for(;;){N=Y.lastIndexOf(I);if(N<0){break;}M=Y.indexOf(W,N);if(N+1>=M){break;}K=Y.substring(N+1,M);U=K;X=null;L=U.indexOf(S);if(L>-1){X=U.substring(L+1);U=U.substring(0,L);}V=J[U];if(R){V=R(U,V,X);}if(B.isObject(V)){if(B.isArray(V)){V=B.dump(V,parseInt(X,10));}else{X=X||"";Q=X.indexOf(O);if(Q>-1){X=X.substring(4);}P=V.toString();if(P===G||Q>-1){V=B.dump(V,parseInt(X,10));}else{V=P;}}}else{if(!B.isString(V)&&!B.isNumber(V)){V="~-"+T.length+"-~";T[T.length]=K;}}Y=Y.substring(0,N)+V+Y.substring(M+1);}for(N=T.length-1;N>=0;N=N-1){Y=Y.replace(new RegExp("~-"+N+"-~"),"{"+T[N]+"}","g");}return Y;},trim:function(I){try{return I.replace(/^\s+|\s+$/g,"");}catch(J){return I;}},merge:function(){var L={},J=arguments,I=J.length,K;for(K=0;K<I;K=K+1){B.augmentObject(L,J[K],true);}return L;},later:function(P,J,Q,L,M){P=P||0;J=J||{};var K=Q,O=L,N,I;if(B.isString(Q)){K=J[Q];}if(!K){throw new TypeError("method undefined");}if(O&&!B.isArray(O)){O=[L];}N=function(){K.apply(J,O||E);};I=(M)?setInterval(N,P):setTimeout(N,P);return{interval:M,cancel:function(){if(this.interval){clearInterval(I);}else{clearTimeout(I);}}};},isValue:function(I){return(B.isObject(I)||B.isString(I)||B.isNumber(I)||B.isBoolean(I));}};B.hasOwnProperty=(A.hasOwnProperty)?function(I,J){return I&&I.hasOwnProperty(J);}:function(I,J){return !B.isUndefined(I[J])&&I.constructor.prototype[J]!==I[J];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.8.1",build:"19"}); +YAHOO.util.Get=function(){var M={},L=0,R=0,E=false,N=YAHOO.env.ua,S=YAHOO.lang;var J=function(W,T,X){var U=X||window,Y=U.document,Z=Y.createElement(W);for(var V in T){if(T[V]&&YAHOO.lang.hasOwnProperty(T,V)){Z.setAttribute(V,T[V]);}}return Z;};var I=function(U,V,T){var W={id:"yui__dyn_"+(R++),type:"text/css",rel:"stylesheet",href:U};if(T){S.augmentObject(W,T);}return J("link",W,V);};var P=function(U,V,T){var W={id:"yui__dyn_"+(R++),type:"text/javascript",src:U};if(T){S.augmentObject(W,T);}return J("script",W,V);};var A=function(T,U){return{tId:T.tId,win:T.win,data:T.data,nodes:T.nodes,msg:U,purge:function(){D(this.tId);}};};var B=function(T,W){var U=M[W],V=(S.isString(T))?U.win.document.getElementById(T):T;if(!V){Q(W,"target node not found: "+T);}return V;};var Q=function(W,V){var T=M[W];if(T.onFailure){var U=T.scope||T.win;T.onFailure.call(U,A(T,V));}};var C=function(W){var T=M[W];T.finished=true;if(T.aborted){var V="transaction "+W+" was aborted";Q(W,V);return;}if(T.onSuccess){var U=T.scope||T.win;T.onSuccess.call(U,A(T));}};var O=function(V){var T=M[V];if(T.onTimeout){var U=T.scope||T;T.onTimeout.call(U,A(T));}};var G=function(V,Z){var U=M[V];if(U.timer){U.timer.cancel();}if(U.aborted){var X="transaction "+V+" was aborted";Q(V,X);return;}if(Z){U.url.shift();if(U.varName){U.varName.shift();}}else{U.url=(S.isString(U.url))?[U.url]:U.url;if(U.varName){U.varName=(S.isString(U.varName))?[U.varName]:U.varName;}}var c=U.win,b=c.document,a=b.getElementsByTagName("head")[0],W;if(U.url.length===0){if(U.type==="script"&&N.webkit&&N.webkit<420&&!U.finalpass&&!U.varName){var Y=P(null,U.win,U.attributes);Y.innerHTML='YAHOO.util.Get._finalize("'+V+'");';U.nodes.push(Y);a.appendChild(Y);}else{C(V);}return;}var T=U.url[0];if(!T){U.url.shift();return G(V);}if(U.timeout){U.timer=S.later(U.timeout,U,O,V);}if(U.type==="script"){W=P(T,c,U.attributes);}else{W=I(T,c,U.attributes);}F(U.type,W,V,T,c,U.url.length);U.nodes.push(W);if(U.insertBefore){var e=B(U.insertBefore,V);if(e){e.parentNode.insertBefore(W,e);}}else{a.appendChild(W);}if((N.webkit||N.gecko)&&U.type==="css"){G(V,T);}};var K=function(){if(E){return;}E=true;for(var T in M){var U=M[T];if(U.autopurge&&U.finished){D(U.tId);delete M[T];}}E=false;};var D=function(Z){if(M[Z]){var T=M[Z],U=T.nodes,X=U.length,c=T.win.document,a=c.getElementsByTagName("head")[0],V,Y,W,b;if(T.insertBefore){V=B(T.insertBefore,Z);if(V){a=V.parentNode;}}for(Y=0;Y<X;Y=Y+1){W=U[Y];if(W.clearAttributes){W.clearAttributes();}else{for(b in W){delete W[b];}}a.removeChild(W);}T.nodes=[];}};var H=function(U,T,V){var X="q"+(L++);V=V||{};if(L%YAHOO.util.Get.PURGE_THRESH===0){K();}M[X]=S.merge(V,{tId:X,type:U,url:T,finished:false,aborted:false,nodes:[]});var W=M[X];W.win=W.win||window;W.scope=W.scope||W.win;W.autopurge=("autopurge" in W)?W.autopurge:(U==="script")?true:false;if(V.charset){W.attributes=W.attributes||{};W.attributes.charset=V.charset;}S.later(0,W,G,X);return{tId:X};};var F=function(c,X,W,U,Y,Z,b){var a=b||G;if(N.ie){X.onreadystatechange=function(){var d=this.readyState;if("loaded"===d||"complete"===d){X.onreadystatechange=null;a(W,U);}};}else{if(N.webkit){if(c==="script"){if(N.webkit>=420){X.addEventListener("load",function(){a(W,U);});}else{var T=M[W];if(T.varName){var V=YAHOO.util.Get.POLL_FREQ;T.maxattempts=YAHOO.util.Get.TIMEOUT/V;T.attempts=0;T._cache=T.varName[0].split(".");T.timer=S.later(V,T,function(j){var f=this._cache,e=f.length,d=this.win,g;for(g=0;g<e;g=g+1){d=d[f[g]];if(!d){this.attempts++;if(this.attempts++>this.maxattempts){var h="Over retry limit, giving up";T.timer.cancel();Q(W,h);}else{}return;}}T.timer.cancel();a(W,U);},null,true);}else{S.later(YAHOO.util.Get.POLL_FREQ,null,a,[W,U]);}}}}else{X.onload=function(){a(W,U);};}}};return{POLL_FREQ:10,PURGE_THRESH:20,TIMEOUT:2000,_finalize:function(T){S.later(0,null,C,T);},abort:function(U){var V=(S.isString(U))?U:U.tId;var T=M[V];if(T){T.aborted=true;}},script:function(T,U){return H("script",T,U);},css:function(T,U){return H("css",T,U);}};}();YAHOO.register("get",YAHOO.util.Get,{version:"2.8.1",build:"19"});(function(){var Y=YAHOO,util=Y.util,lang=Y.lang,env=Y.env,PROV="_provides",SUPER="_supersedes",REQ="expanded",AFTER="_after";var YUI={dupsAllowed:{"yahoo":true,"get":true},info:{"root":"2.8.1/build/","base":"http://yui.yahooapis.com/2.8.1/build/","comboBase":"http://yui.yahooapis.com/combo?","skin":{"defaultSkin":"sam","base":"assets/skins/","path":"skin.css","after":["reset","fonts","grids","base"],"rollup":3},dupsAllowed:["yahoo","get"],"moduleInfo":{"animation":{"type":"js","path":"animation/animation-min.js","requires":["dom","event"]},"autocomplete":{"type":"js","path":"autocomplete/autocomplete-min.js","requires":["dom","event","datasource"],"optional":["connection","animation"],"skinnable":true},"base":{"type":"css","path":"base/base-min.css","after":["reset","fonts","grids"]},"button":{"type":"js","path":"button/button-min.js","requires":["element"],"optional":["menu"],"skinnable":true},"calendar":{"type":"js","path":"calendar/calendar-min.js","requires":["event","dom"],supersedes:["datemeth"],"skinnable":true},"carousel":{"type":"js","path":"carousel/carousel-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"charts":{"type":"js","path":"charts/charts-min.js","requires":["element","json","datasource","swf"]},"colorpicker":{"type":"js","path":"colorpicker/colorpicker-min.js","requires":["slider","element"],"optional":["animation"],"skinnable":true},"connection":{"type":"js","path":"connection/connection-min.js","requires":["event"],"supersedes":["connectioncore"]},"connectioncore":{"type":"js","path":"connection/connection_core-min.js","requires":["event"],"pkg":"connection"},"container":{"type":"js","path":"container/container-min.js","requires":["dom","event"],"optional":["dragdrop","animation","connection"],"supersedes":["containercore"],"skinnable":true},"containercore":{"type":"js","path":"container/container_core-min.js","requires":["dom","event"],"pkg":"container"},"cookie":{"type":"js","path":"cookie/cookie-min.js","requires":["yahoo"]},"datasource":{"type":"js","path":"datasource/datasource-min.js","requires":["event"],"optional":["connection"]},"datatable":{"type":"js","path":"datatable/datatable-min.js","requires":["element","datasource"],"optional":["calendar","dragdrop","paginator"],"skinnable":true},datemath:{"type":"js","path":"datemath/datemath-min.js","requires":["yahoo"]},"dom":{"type":"js","path":"dom/dom-min.js","requires":["yahoo"]},"dragdrop":{"type":"js","path":"dragdrop/dragdrop-min.js","requires":["dom","event"]},"editor":{"type":"js","path":"editor/editor-min.js","requires":["menu","element","button"],"optional":["animation","dragdrop"],"supersedes":["simpleeditor"],"skinnable":true},"element":{"type":"js","path":"element/element-min.js","requires":["dom","event"],"optional":["event-mouseenter","event-delegate"]},"element-delegate":{"type":"js","path":"element-delegate/element-delegate-min.js","requires":["element"]},"event":{"type":"js","path":"event/event-min.js","requires":["yahoo"]},"event-simulate":{"type":"js","path":"event-simulate/event-simulate-min.js","requires":["event"]},"event-delegate":{"type":"js","path":"event-delegate/event-delegate-min.js","requires":["event"],"optional":["selector"]},"event-mouseenter":{"type":"js","path":"event-mouseenter/event-mouseenter-min.js","requires":["dom","event"]},"fonts":{"type":"css","path":"fonts/fonts-min.css"},"get":{"type":"js","path":"get/get-min.js","requires":["yahoo"]},"grids":{"type":"css","path":"grids/grids-min.css","requires":["fonts"],"optional":["reset"]},"history":{"type":"js","path":"history/history-min.js","requires":["event"]},"imagecropper":{"type":"js","path":"imagecropper/imagecropper-min.js","requires":["dragdrop","element","resize"],"skinnable":true},"imageloader":{"type":"js","path":"imageloader/imageloader-min.js","requires":["event","dom"]},"json":{"type":"js","path":"json/json-min.js","requires":["yahoo"]},"layout":{"type":"js","path":"layout/layout-min.js","requires":["element"],"optional":["animation","dragdrop","resize","selector"],"skinnable":true},"logger":{"type":"js","path":"logger/logger-min.js","requires":["event","dom"],"optional":["dragdrop"],"skinnable":true},"menu":{"type":"js","path":"menu/menu-min.js","requires":["containercore"],"skinnable":true},"paginator":{"type":"js","path":"paginator/paginator-min.js","requires":["element"],"skinnable":true},"profiler":{"type":"js","path":"profiler/profiler-min.js","requires":["yahoo"]},"profilerviewer":{"type":"js","path":"profilerviewer/profilerviewer-min.js","requires":["profiler","yuiloader","element"],"skinnable":true},"progressbar":{"type":"js","path":"progressbar/progressbar-min.js","requires":["element"],"optional":["animation"],"skinnable":true},"reset":{"type":"css","path":"reset/reset-min.css"},"reset-fonts-grids":{"type":"css","path":"reset-fonts-grids/reset-fonts-grids.css","supersedes":["reset","fonts","grids","reset-fonts"],"rollup":4},"reset-fonts":{"type":"css","path":"reset-fonts/reset-fonts.css","supersedes":["reset","fonts"],"rollup":2},"resize":{"type":"js","path":"resize/resize-min.js","requires":["dragdrop","element"],"optional":["animation"],"skinnable":true},"selector":{"type":"js","path":"selector/selector-min.js","requires":["yahoo","dom"]},"simpleeditor":{"type":"js","path":"editor/simpleeditor-min.js","requires":["element"],"optional":["containercore","menu","button","animation","dragdrop"],"skinnable":true,"pkg":"editor"},"slider":{"type":"js","path":"slider/slider-min.js","requires":["dragdrop"],"optional":["animation"],"skinnable":true},"storage":{"type":"js","path":"storage/storage-min.js","requires":["yahoo","event","cookie"],"optional":["swfstore"]},"stylesheet":{"type":"js","path":"stylesheet/stylesheet-min.js","requires":["yahoo"]},"swf":{"type":"js","path":"swf/swf-min.js","requires":["element"],"supersedes":["swfdetect"]},"swfdetect":{"type":"js","path":"swfdetect/swfdetect-min.js","requires":["yahoo"]},"swfstore":{"type":"js","path":"swfstore/swfstore-min.js","requires":["element","cookie","swf"]},"tabview":{"type":"js","path":"tabview/tabview-min.js","requires":["element"],"optional":["connection"],"skinnable":true},"treeview":{"type":"js","path":"treeview/treeview-min.js","requires":["event","dom"],"optional":["json","animation","calendar"],"skinnable":true},"uploader":{"type":"js","path":"uploader/uploader-min.js","requires":["element"]},"utilities":{"type":"js","path":"utilities/utilities.js","supersedes":["yahoo","event","dragdrop","animation","dom","connection","element","yahoo-dom-event","get","yuiloader","yuiloader-dom-event"],"rollup":8},"yahoo":{"type":"js","path":"yahoo/yahoo-min.js"},"yahoo-dom-event":{"type":"js","path":"yahoo-dom-event/yahoo-dom-event.js","supersedes":["yahoo","event","dom"],"rollup":3},"yuiloader":{"type":"js","path":"yuiloader/yuiloader-min.js","supersedes":["yahoo","get"]},"yuiloader-dom-event":{"type":"js","path":"yuiloader-dom-event/yuiloader-dom-event.js","supersedes":["yahoo","dom","event","get","yuiloader","yahoo-dom-event"],"rollup":5},"yuitest":{"type":"js","path":"yuitest/yuitest-min.js","requires":["logger"],"optional":["event-simulate"],"skinnable":true}}},ObjectUtil:{appendArray:function(o,a){if(a){for(var i=0; +i<a.length;i=i+1){o[a[i]]=true;}}},keys:function(o,ordered){var a=[],i;for(i in o){if(lang.hasOwnProperty(o,i)){a.push(i);}}return a;}},ArrayUtil:{appendArray:function(a1,a2){Array.prototype.push.apply(a1,a2);},indexOf:function(a,val){for(var i=0;i<a.length;i=i+1){if(a[i]===val){return i;}}return -1;},toObject:function(a){var o={};for(var i=0;i<a.length;i=i+1){o[a[i]]=true;}return o;},uniq:function(a){return YUI.ObjectUtil.keys(YUI.ArrayUtil.toObject(a));}}};YAHOO.util.YUILoader=function(o){this._internalCallback=null;this._useYahooListener=false;this.onSuccess=null;this.onFailure=Y.log;this.onProgress=null;this.onTimeout=null;this.scope=this;this.data=null;this.insertBefore=null;this.charset=null;this.varName=null;this.base=YUI.info.base;this.comboBase=YUI.info.comboBase;this.combine=false;this.root=YUI.info.root;this.timeout=0;this.ignore=null;this.force=null;this.allowRollup=true;this.filter=null;this.required={};this.moduleInfo=lang.merge(YUI.info.moduleInfo);this.rollups=null;this.loadOptional=false;this.sorted=[];this.loaded={};this.dirty=true;this.inserted={};var self=this;env.listeners.push(function(m){if(self._useYahooListener){self.loadNext(m.name);}});this.skin=lang.merge(YUI.info.skin);this._config(o);};Y.util.YUILoader.prototype={FILTERS:{RAW:{"searchExp":"-min\\.js","replaceStr":".js"},DEBUG:{"searchExp":"-min\\.js","replaceStr":"-debug.js"}},SKIN_PREFIX:"skin-",_config:function(o){if(o){for(var i in o){if(lang.hasOwnProperty(o,i)){if(i=="require"){this.require(o[i]);}else{this[i]=o[i];}}}}var f=this.filter;if(lang.isString(f)){f=f.toUpperCase();if(f==="DEBUG"){this.require("logger");}if(!Y.widget.LogWriter){Y.widget.LogWriter=function(){return Y;};}this.filter=this.FILTERS[f];}},addModule:function(o){if(!o||!o.name||!o.type||(!o.path&&!o.fullpath)){return false;}o.ext=("ext" in o)?o.ext:true;o.requires=o.requires||[];this.moduleInfo[o.name]=o;this.dirty=true;return true;},require:function(what){var a=(typeof what==="string")?arguments:what;this.dirty=true;YUI.ObjectUtil.appendArray(this.required,a);},_addSkin:function(skin,mod){var name=this.formatSkin(skin),info=this.moduleInfo,sinf=this.skin,ext=info[mod]&&info[mod].ext;if(!info[name]){this.addModule({"name":name,"type":"css","path":sinf.base+skin+"/"+sinf.path,"after":sinf.after,"rollup":sinf.rollup,"ext":ext});}if(mod){name=this.formatSkin(skin,mod);if(!info[name]){var mdef=info[mod],pkg=mdef.pkg||mod;this.addModule({"name":name,"type":"css","after":sinf.after,"path":pkg+"/"+sinf.base+skin+"/"+mod+".css","ext":ext});}}return name;},getRequires:function(mod){if(!mod){return[];}if(!this.dirty&&mod.expanded){return mod.expanded;}mod.requires=mod.requires||[];var i,d=[],r=mod.requires,o=mod.optional,info=this.moduleInfo,m;for(i=0;i<r.length;i=i+1){d.push(r[i]);m=info[r[i]];YUI.ArrayUtil.appendArray(d,this.getRequires(m));}if(o&&this.loadOptional){for(i=0;i<o.length;i=i+1){d.push(o[i]);YUI.ArrayUtil.appendArray(d,this.getRequires(info[o[i]]));}}mod.expanded=YUI.ArrayUtil.uniq(d);return mod.expanded;},getProvides:function(name,notMe){var addMe=!(notMe),ckey=(addMe)?PROV:SUPER,m=this.moduleInfo[name],o={};if(!m){return o;}if(m[ckey]){return m[ckey];}var s=m.supersedes,done={},me=this;var add=function(mm){if(!done[mm]){done[mm]=true;lang.augmentObject(o,me.getProvides(mm));}};if(s){for(var i=0;i<s.length;i=i+1){add(s[i]);}}m[SUPER]=o;m[PROV]=lang.merge(o);m[PROV][name]=true;return m[ckey];},calculate:function(o){if(o||this.dirty){this._config(o);this._setup();this._explode();if(this.allowRollup){this._rollup();}this._reduce();this._sort();this.dirty=false;}},_setup:function(){var info=this.moduleInfo,name,i,j;for(name in info){if(lang.hasOwnProperty(info,name)){var m=info[name];if(m&&m.skinnable){var o=this.skin.overrides,smod;if(o&&o[name]){for(i=0;i<o[name].length;i=i+1){smod=this._addSkin(o[name][i],name);}}else{smod=this._addSkin(this.skin.defaultSkin,name);}m.requires.push(smod);}}}var l=lang.merge(this.inserted);if(!this._sandbox){l=lang.merge(l,env.modules);}if(this.ignore){YUI.ObjectUtil.appendArray(l,this.ignore);}if(this.force){for(i=0;i<this.force.length;i=i+1){if(this.force[i] in l){delete l[this.force[i]];}}}for(j in l){if(lang.hasOwnProperty(l,j)){lang.augmentObject(l,this.getProvides(j));}}this.loaded=l;},_explode:function(){var r=this.required,i,mod;for(i in r){if(lang.hasOwnProperty(r,i)){mod=this.moduleInfo[i];if(mod){var req=this.getRequires(mod);if(req){YUI.ObjectUtil.appendArray(r,req);}}}}},_skin:function(){},formatSkin:function(skin,mod){var s=this.SKIN_PREFIX+skin;if(mod){s=s+"-"+mod;}return s;},parseSkin:function(mod){if(mod.indexOf(this.SKIN_PREFIX)===0){var a=mod.split("-");return{skin:a[1],module:a[2]};}return null;},_rollup:function(){var i,j,m,s,rollups={},r=this.required,roll,info=this.moduleInfo;if(this.dirty||!this.rollups){for(i in info){if(lang.hasOwnProperty(info,i)){m=info[i];if(m&&m.rollup){rollups[i]=m;}}}this.rollups=rollups;}for(;;){var rolled=false;for(i in rollups){if(!r[i]&&!this.loaded[i]){m=info[i];s=m.supersedes;roll=false;if(!m.rollup){continue;}var skin=(m.ext)?false:this.parseSkin(i),c=0;if(skin){for(j in r){if(lang.hasOwnProperty(r,j)){if(i!==j&&this.parseSkin(j)){c++;roll=(c>=m.rollup);if(roll){break;}}}}}else{for(j=0;j<s.length;j=j+1){if(this.loaded[s[j]]&&(!YUI.dupsAllowed[s[j]])){roll=false;break;}else{if(r[s[j]]){c++;roll=(c>=m.rollup);if(roll){break;}}}}}if(roll){r[i]=true;rolled=true;this.getRequires(m);}}}if(!rolled){break;}}},_reduce:function(){var i,j,s,m,r=this.required;for(i in r){if(i in this.loaded){delete r[i];}else{var skinDef=this.parseSkin(i);if(skinDef){if(!skinDef.module){var skin_pre=this.SKIN_PREFIX+skinDef.skin;for(j in r){if(lang.hasOwnProperty(r,j)){m=this.moduleInfo[j];var ext=m&&m.ext;if(!ext&&j!==i&&j.indexOf(skin_pre)>-1){delete r[j];}}}}}else{m=this.moduleInfo[i];s=m&&m.supersedes;if(s){for(j=0;j<s.length;j=j+1){if(s[j] in r){delete r[s[j]];}}}}}}},_onFailure:function(msg){YAHOO.log("Failure","info","loader");var f=this.onFailure;if(f){f.call(this.scope,{msg:"failure: "+msg,data:this.data,success:false}); +}},_onTimeout:function(){YAHOO.log("Timeout","info","loader");var f=this.onTimeout;if(f){f.call(this.scope,{msg:"timeout",data:this.data,success:false});}},_sort:function(){var s=[],info=this.moduleInfo,loaded=this.loaded,checkOptional=!this.loadOptional,me=this;var requires=function(aa,bb){var mm=info[aa];if(loaded[bb]||!mm){return false;}var ii,rr=mm.expanded,after=mm.after,other=info[bb],optional=mm.optional;if(rr&&YUI.ArrayUtil.indexOf(rr,bb)>-1){return true;}if(after&&YUI.ArrayUtil.indexOf(after,bb)>-1){return true;}if(checkOptional&&optional&&YUI.ArrayUtil.indexOf(optional,bb)>-1){return true;}var ss=info[bb]&&info[bb].supersedes;if(ss){for(ii=0;ii<ss.length;ii=ii+1){if(requires(aa,ss[ii])){return true;}}}if(mm.ext&&mm.type=="css"&&!other.ext&&other.type=="css"){return true;}return false;};for(var i in this.required){if(lang.hasOwnProperty(this.required,i)){s.push(i);}}var p=0;for(;;){var l=s.length,a,b,j,k,moved=false;for(j=p;j<l;j=j+1){a=s[j];for(k=j+1;k<l;k=k+1){if(requires(a,s[k])){b=s.splice(k,1);s.splice(j,0,b[0]);moved=true;break;}}if(moved){break;}else{p=p+1;}}if(!moved){break;}}this.sorted=s;},toString:function(){var o={type:"YUILoader",base:this.base,filter:this.filter,required:this.required,loaded:this.loaded,inserted:this.inserted};lang.dump(o,1);},_combine:function(){this._combining=[];var self=this,s=this.sorted,len=s.length,js=this.comboBase,css=this.comboBase,target,startLen=js.length,i,m,type=this.loadType;YAHOO.log("type "+type);for(i=0;i<len;i=i+1){m=this.moduleInfo[s[i]];if(m&&!m.ext&&(!type||type===m.type)){target=this.root+m.path;target+="&";if(m.type=="js"){js+=target;}else{css+=target;}this._combining.push(s[i]);}}if(this._combining.length){YAHOO.log("Attempting to combine: "+this._combining,"info","loader");var callback=function(o){var c=this._combining,len=c.length,i,m;for(i=0;i<len;i=i+1){this.inserted[c[i]]=true;}this.loadNext(o.data);},loadScript=function(){if(js.length>startLen){YAHOO.util.Get.script(self._filter(js),{data:self._loading,onSuccess:callback,onFailure:self._onFailure,onTimeout:self._onTimeout,insertBefore:self.insertBefore,charset:self.charset,timeout:self.timeout,scope:self});}};if(css.length>startLen){YAHOO.util.Get.css(this._filter(css),{data:this._loading,onSuccess:loadScript,onFailure:this._onFailure,onTimeout:this._onTimeout,insertBefore:this.insertBefore,charset:this.charset,timeout:this.timeout,scope:self});}else{loadScript();}return;}else{this.loadNext(this._loading);}},insert:function(o,type){this.calculate(o);this._loading=true;this.loadType=type;if(this.combine){return this._combine();}if(!type){var self=this;this._internalCallback=function(){self._internalCallback=null;self.insert(null,"js");};this.insert(null,"css");return;}this.loadNext();},sandbox:function(o,type){this._config(o);if(!this.onSuccess){throw new Error("You must supply an onSuccess handler for your sandbox");}this._sandbox=true;var self=this;if(!type||type!=="js"){this._internalCallback=function(){self._internalCallback=null;self.sandbox(null,"js");};this.insert(null,"css");return;}if(!util.Connect){var ld=new YAHOO.util.YUILoader();ld.insert({base:this.base,filter:this.filter,require:"connection",insertBefore:this.insertBefore,charset:this.charset,onSuccess:function(){this.sandbox(null,"js");},scope:this},"js");return;}this._scriptText=[];this._loadCount=0;this._stopCount=this.sorted.length;this._xhr=[];this.calculate();var s=this.sorted,l=s.length,i,m,url;for(i=0;i<l;i=i+1){m=this.moduleInfo[s[i]];if(!m){this._onFailure("undefined module "+m);for(var j=0;j<this._xhr.length;j=j+1){this._xhr[j].abort();}return;}if(m.type!=="js"){this._loadCount++;continue;}url=m.fullpath;url=(url)?this._filter(url):this._url(m.path);var xhrData={success:function(o){var idx=o.argument[0],name=o.argument[2];this._scriptText[idx]=o.responseText;if(this.onProgress){this.onProgress.call(this.scope,{name:name,scriptText:o.responseText,xhrResponse:o,data:this.data});}this._loadCount++;if(this._loadCount>=this._stopCount){var v=this.varName||"YAHOO";var t="(function() {\n";var b="\nreturn "+v+";\n})();";var ref=eval(t+this._scriptText.join("\n")+b);this._pushEvents(ref);if(ref){this.onSuccess.call(this.scope,{reference:ref,data:this.data});}else{this._onFailure.call(this.varName+" reference failure");}}},failure:function(o){this.onFailure.call(this.scope,{msg:"XHR failure",xhrResponse:o,data:this.data});},scope:this,argument:[i,url,s[i]]};this._xhr.push(util.Connect.asyncRequest("GET",url,xhrData));}},loadNext:function(mname){if(!this._loading){return;}if(mname){if(mname!==this._loading){return;}this.inserted[mname]=true;if(this.onProgress){this.onProgress.call(this.scope,{name:mname,data:this.data});}}var s=this.sorted,len=s.length,i,m;for(i=0;i<len;i=i+1){if(s[i] in this.inserted){continue;}if(s[i]===this._loading){return;}m=this.moduleInfo[s[i]];if(!m){this.onFailure.call(this.scope,{msg:"undefined module "+m,data:this.data});return;}if(!this.loadType||this.loadType===m.type){this._loading=s[i];var fn=(m.type==="css")?util.Get.css:util.Get.script,url=m.fullpath,self=this,c=function(o){self.loadNext(o.data);};url=(url)?this._filter(url):this._url(m.path);if(env.ua.webkit&&env.ua.webkit<420&&m.type==="js"&&!m.varName){c=null;this._useYahooListener=true;}fn(url,{data:s[i],onSuccess:c,onFailure:this._onFailure,onTimeout:this._onTimeout,insertBefore:this.insertBefore,charset:this.charset,timeout:this.timeout,varName:m.varName,scope:self});return;}}this._loading=null;if(this._internalCallback){var f=this._internalCallback;this._internalCallback=null;f.call(this);}else{if(this.onSuccess){this._pushEvents();this.onSuccess.call(this.scope,{data:this.data});}}},_pushEvents:function(ref){var r=ref||YAHOO;if(r.util&&r.util.Event){r.util.Event._load();}},_filter:function(str){var f=this.filter;return(f)?str.replace(new RegExp(f.searchExp,"g"),f.replaceStr):str;},_url:function(path){return this._filter((this.base||"")+path);}};})();YAHOO.register("yuiloader",YAHOO.util.YUILoader,{version:"2.8.1",build:"19"}); diff --git a/js/yui/yuitest/yuitest-min.js b/js/yui/yuitest/yuitest-min.js new file mode 100644 index 0000000000000000000000000000000000000000..9f90bf690de4c24f24bb73243ab03e8adac7b2db --- /dev/null +++ b/js/yui/yuitest/yuitest-min.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("tool");(function(){var A=0;YAHOO.tool.TestCase=function(B){this._should={};for(var C in B){this[C]=B[C];}if(!YAHOO.lang.isString(this.name)){this.name="testCase"+(A++);}};YAHOO.tool.TestCase.prototype={resume:function(B){YAHOO.tool.TestRunner.resume(B);},wait:function(D,C){var B=arguments;if(YAHOO.lang.isFunction(B[0])){throw new YAHOO.tool.TestCase.Wait(B[0],B[1]);}else{throw new YAHOO.tool.TestCase.Wait(function(){YAHOO.util.Assert.fail("Timeout: wait() called but resume() never called.");},(YAHOO.lang.isNumber(B[0])?B[0]:10000));}},setUp:function(){},tearDown:function(){}};YAHOO.tool.TestCase.Wait=function(C,B){this.segment=(YAHOO.lang.isFunction(C)?C:null);this.delay=(YAHOO.lang.isNumber(B)?B:0);};})();YAHOO.namespace("tool");YAHOO.tool.TestSuite=function(A){this.name="";this.items=[];if(YAHOO.lang.isString(A)){this.name=A;}else{if(YAHOO.lang.isObject(A)){YAHOO.lang.augmentObject(this,A,true);}}if(this.name===""){this.name=YAHOO.util.Dom.generateId(null,"testSuite");}};YAHOO.tool.TestSuite.prototype={add:function(A){if(A instanceof YAHOO.tool.TestSuite||A instanceof YAHOO.tool.TestCase){this.items.push(A);}},setUp:function(){},tearDown:function(){}};YAHOO.namespace("tool");YAHOO.tool.TestRunner=(function(){function B(C){this.testObject=C;this.firstChild=null;this.lastChild=null;this.parent=null;this.next=null;this.results={passed:0,failed:0,total:0,ignored:0};if(C instanceof YAHOO.tool.TestSuite){this.results.type="testsuite";this.results.name=C.name;}else{if(C instanceof YAHOO.tool.TestCase){this.results.type="testcase";this.results.name=C.name;}}}B.prototype={appendChild:function(C){var D=new B(C);if(this.firstChild===null){this.firstChild=this.lastChild=D;}else{this.lastChild.next=D;this.lastChild=D;}D.parent=this;return D;}};function A(){A.superclass.constructor.apply(this,arguments);this.masterSuite=new YAHOO.tool.TestSuite("YUI Test Results");this._cur=null;this._root=null;var D=[this.TEST_CASE_BEGIN_EVENT,this.TEST_CASE_COMPLETE_EVENT,this.TEST_SUITE_BEGIN_EVENT,this.TEST_SUITE_COMPLETE_EVENT,this.TEST_PASS_EVENT,this.TEST_FAIL_EVENT,this.TEST_IGNORE_EVENT,this.COMPLETE_EVENT,this.BEGIN_EVENT];for(var C=0;C<D.length;C++){this.createEvent(D[C],{scope:this});}}YAHOO.lang.extend(A,YAHOO.util.EventProvider,{TEST_CASE_BEGIN_EVENT:"testcasebegin",TEST_CASE_COMPLETE_EVENT:"testcasecomplete",TEST_SUITE_BEGIN_EVENT:"testsuitebegin",TEST_SUITE_COMPLETE_EVENT:"testsuitecomplete",TEST_PASS_EVENT:"pass",TEST_FAIL_EVENT:"fail",TEST_IGNORE_EVENT:"ignore",COMPLETE_EVENT:"complete",BEGIN_EVENT:"begin",_addTestCaseToTestTree:function(C,D){var E=C.appendChild(D);for(var F in D){if(F.indexOf("test")===0&&YAHOO.lang.isFunction(D[F])){E.appendChild(F);}}},_addTestSuiteToTestTree:function(C,F){var E=C.appendChild(F);for(var D=0;D<F.items.length;D++){if(F.items[D] instanceof YAHOO.tool.TestSuite){this._addTestSuiteToTestTree(E,F.items[D]);}else{if(F.items[D] instanceof YAHOO.tool.TestCase){this._addTestCaseToTestTree(E,F.items[D]);}}}},_buildTestTree:function(){this._root=new B(this.masterSuite);this._cur=this._root;for(var C=0;C<this.masterSuite.items.length;C++){if(this.masterSuite.items[C] instanceof YAHOO.tool.TestSuite){this._addTestSuiteToTestTree(this._root,this.masterSuite.items[C]);}else{if(this.masterSuite.items[C] instanceof YAHOO.tool.TestCase){this._addTestCaseToTestTree(this._root,this.masterSuite.items[C]);}}}},_handleTestObjectComplete:function(C){if(YAHOO.lang.isObject(C.testObject)){C.parent.results.passed+=C.results.passed;C.parent.results.failed+=C.results.failed;C.parent.results.total+=C.results.total;C.parent.results.ignored+=C.results.ignored;C.parent.results[C.testObject.name]=C.results;if(C.testObject instanceof YAHOO.tool.TestSuite){C.testObject.tearDown();this.fireEvent(this.TEST_SUITE_COMPLETE_EVENT,{testSuite:C.testObject,results:C.results});}else{if(C.testObject instanceof YAHOO.tool.TestCase){this.fireEvent(this.TEST_CASE_COMPLETE_EVENT,{testCase:C.testObject,results:C.results});}}}},_next:function(){if(this._cur.firstChild){this._cur=this._cur.firstChild;}else{if(this._cur.next){this._cur=this._cur.next;}else{while(this._cur&&!this._cur.next&&this._cur!==this._root){this._handleTestObjectComplete(this._cur);this._cur=this._cur.parent;}if(this._cur==this._root){this._cur.results.type="report";this._cur.results.timestamp=(new Date()).toLocaleString();this._cur.results.duration=(new Date())-this._cur.results.duration;this.fireEvent(this.COMPLETE_EVENT,{results:this._cur.results});this._cur=null;}else{this._handleTestObjectComplete(this._cur);this._cur=this._cur.next;}}}return this._cur;},_run:function(){var E=false;var D=this._next();if(D!==null){var C=D.testObject;if(YAHOO.lang.isObject(C)){if(C instanceof YAHOO.tool.TestSuite){this.fireEvent(this.TEST_SUITE_BEGIN_EVENT,{testSuite:C});C.setUp();}else{if(C instanceof YAHOO.tool.TestCase){this.fireEvent(this.TEST_CASE_BEGIN_EVENT,{testCase:C});}}if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}}else{this._runTest(D);}}},_resumeTest:function(G){var C=this._cur;var H=C.testObject;var E=C.parent.testObject;if(E.__yui_wait){clearTimeout(E.__yui_wait);delete E.__yui_wait;}var K=(E._should.fail||{})[H];var D=(E._should.error||{})[H];var F=false;var I=null;try{G.apply(E);if(K){I=new YAHOO.util.ShouldFail();F=true;}else{if(D){I=new YAHOO.util.ShouldError();F=true;}}}catch(J){if(J instanceof YAHOO.util.AssertionError){if(!K){I=J;F=true;}}else{if(J instanceof YAHOO.tool.TestCase.Wait){if(YAHOO.lang.isFunction(J.segment)){if(YAHOO.lang.isNumber(J.delay)){if(typeof setTimeout!="undefined"){E.__yui_wait=setTimeout(function(){YAHOO.tool.TestRunner._resumeTest(J.segment);},J.delay);}else{throw new Error("Asynchronous tests not supported in this environment.");}}}return;}else{if(!D){I=new YAHOO.util.UnexpectedError(J);F=true;}else{if(YAHOO.lang.isString(D)){if(J.message!=D){I=new YAHOO.util.UnexpectedError(J);F=true;}}else{if(YAHOO.lang.isFunction(D)){if(!(J instanceof D)){I=new YAHOO.util.UnexpectedError(J); +F=true;}}else{if(YAHOO.lang.isObject(D)){if(!(J instanceof D.constructor)||J.message!=D.message){I=new YAHOO.util.UnexpectedError(J);F=true;}}}}}}}}if(F){this.fireEvent(this.TEST_FAIL_EVENT,{testCase:E,testName:H,error:I});}else{this.fireEvent(this.TEST_PASS_EVENT,{testCase:E,testName:H});}E.tearDown();C.parent.results[H]={result:F?"fail":"pass",message:I?I.getMessage():"Test passed",type:"test",name:H};if(F){C.parent.results.failed++;}else{C.parent.results.passed++;}C.parent.results.total++;if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}},_runTest:function(F){var C=F.testObject;var D=F.parent.testObject;var G=D[C];var E=(D._should.ignore||{})[C];if(E){F.parent.results[C]={result:"ignore",message:"Test ignored",type:"test",name:C};F.parent.results.ignored++;F.parent.results.total++;this.fireEvent(this.TEST_IGNORE_EVENT,{testCase:D,testName:C});if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}}else{D.setUp();this._resumeTest(G);}},fireEvent:function(C,D){D=D||{};D.type=C;A.superclass.fireEvent.call(this,C,D);},add:function(C){this.masterSuite.add(C);},clear:function(){this.masterSuite.items=[];},resume:function(C){this._resumeTest(C||function(){});},run:function(C){var D=YAHOO.tool.TestRunner;D._buildTestTree();D._root.results.duration=(new Date()).getTime();D.fireEvent(D.BEGIN_EVENT);D._run();}});return new A();})();YAHOO.namespace("util");YAHOO.util.Assert={_formatMessage:function(B,A){var C=B;if(YAHOO.lang.isString(B)&&B.length>0){return YAHOO.lang.substitute(B,{message:A});}else{return A;}},fail:function(A){throw new YAHOO.util.AssertionError(this._formatMessage(A,"Test force-failed."));},areEqual:function(B,C,A){if(B!=C){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Values should be equal."),B,C);}},areNotEqual:function(A,C,B){if(A==C){throw new YAHOO.util.UnexpectedValue(this._formatMessage(B,"Values should not be equal."),A);}},areNotSame:function(A,C,B){if(A===C){throw new YAHOO.util.UnexpectedValue(this._formatMessage(B,"Values should not be the same."),A);}},areSame:function(B,C,A){if(B!==C){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Values should be the same."),B,C);}},isFalse:function(B,A){if(false!==B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be false."),false,B);}},isTrue:function(B,A){if(true!==B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be true."),true,B);}},isNaN:function(B,A){if(!isNaN(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be NaN."),NaN,B);}},isNotNaN:function(B,A){if(isNaN(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Values should not be NaN."),NaN);}},isNotNull:function(B,A){if(YAHOO.lang.isNull(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Values should not be null."),null);}},isNotUndefined:function(B,A){if(YAHOO.lang.isUndefined(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should not be undefined."),undefined);}},isNull:function(B,A){if(!YAHOO.lang.isNull(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be null."),null,B);}},isUndefined:function(B,A){if(!YAHOO.lang.isUndefined(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be undefined."),undefined,B);}},isArray:function(B,A){if(!YAHOO.lang.isArray(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be an array."),B);}},isBoolean:function(B,A){if(!YAHOO.lang.isBoolean(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a Boolean."),B);}},isFunction:function(B,A){if(!YAHOO.lang.isFunction(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a function."),B);}},isInstanceOf:function(B,C,A){if(!(C instanceof B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value isn't an instance of expected type."),B,C);}},isNumber:function(B,A){if(!YAHOO.lang.isNumber(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a number."),B);}},isObject:function(B,A){if(!YAHOO.lang.isObject(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be an object."),B);}},isString:function(B,A){if(!YAHOO.lang.isString(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a string."),B);}},isTypeOf:function(B,C,A){if(typeof C!=B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be of type "+B+"."),B,typeof C);}}};YAHOO.util.AssertionError=function(A){this.message=A;this.name="AssertionError";};YAHOO.lang.extend(YAHOO.util.AssertionError,Object,{getMessage:function(){return this.message;},toString:function(){return this.name+": "+this.getMessage();}});YAHOO.util.ComparisonFailure=function(B,A,C){YAHOO.util.AssertionError.call(this,B);this.expected=A;this.actual=C;this.name="ComparisonFailure";};YAHOO.lang.extend(YAHOO.util.ComparisonFailure,YAHOO.util.AssertionError,{getMessage:function(){return this.message+"\nExpected: "+this.expected+" ("+(typeof this.expected)+")"+"\nActual:"+this.actual+" ("+(typeof this.actual)+")";}});YAHOO.util.UnexpectedValue=function(B,A){YAHOO.util.AssertionError.call(this,B);this.unexpected=A;this.name="UnexpectedValue";};YAHOO.lang.extend(YAHOO.util.UnexpectedValue,YAHOO.util.AssertionError,{getMessage:function(){return this.message+"\nUnexpected: "+this.unexpected+" ("+(typeof this.unexpected)+") ";}});YAHOO.util.ShouldFail=function(A){YAHOO.util.AssertionError.call(this,A||"This test should fail but didn't.");this.name="ShouldFail";};YAHOO.lang.extend(YAHOO.util.ShouldFail,YAHOO.util.AssertionError);YAHOO.util.ShouldError=function(A){YAHOO.util.AssertionError.call(this,A||"This test should have thrown an error but didn't.");this.name="ShouldError";};YAHOO.lang.extend(YAHOO.util.ShouldError,YAHOO.util.AssertionError);YAHOO.util.UnexpectedError=function(A){YAHOO.util.AssertionError.call(this,"Unexpected error: "+A.message); +this.cause=A;this.name="UnexpectedError";this.stack=A.stack;};YAHOO.lang.extend(YAHOO.util.UnexpectedError,YAHOO.util.AssertionError);YAHOO.util.ArrayAssert={contains:function(E,D,B){var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(D[A]===E){C=true;}}if(!C){F.fail(F._formatMessage(B,"Value "+E+" ("+(typeof E)+") not found in array ["+D+"]."));}},containsItems:function(C,D,B){for(var A=0;A<C.length;A++){this.contains(C[A],D,B);}},containsMatch:function(E,D,B){if(typeof E!="function"){throw new TypeError("ArrayAssert.containsMatch(): First argument must be a function.");}var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(E(D[A])){C=true;}}if(!C){F.fail(F._formatMessage(B,"No match found in array ["+D+"]."));}},doesNotContain:function(E,D,B){var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(D[A]===E){C=true;}}if(C){F.fail(F._formatMessage(B,"Value found in array ["+D+"]."));}},doesNotContainItems:function(C,D,B){for(var A=0;A<C.length;A++){this.doesNotContain(C[A],D,B);}},doesNotContainMatch:function(E,D,B){if(typeof E!="function"){throw new TypeError("ArrayAssert.doesNotContainMatch(): First argument must be a function.");}var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(E(D[A])){C=true;}}if(C){F.fail(F._formatMessage(B,"Value found in array ["+D+"]."));}},indexOf:function(E,D,A,C){for(var B=0;B<D.length;B++){if(D[B]===E){YAHOO.util.Assert.areEqual(A,B,C||"Value exists at index "+B+" but should be at index "+A+".");return;}}var F=YAHOO.util.Assert;F.fail(F._formatMessage(C,"Value doesn't exist in array ["+D+"]."));},itemsAreEqual:function(D,F,C){var A=Math.max(D.length,F.length||0);var E=YAHOO.util.Assert;for(var B=0;B<A;B++){E.areEqual(D[B],F[B],E._formatMessage(C,"Values in position "+B+" are not equal."));}},itemsAreEquivalent:function(E,F,B,D){if(typeof B!="function"){throw new TypeError("ArrayAssert.itemsAreEquivalent(): Third argument must be a function.");}var A=Math.max(E.length,F.length||0);for(var C=0;C<A;C++){if(!B(E[C],F[C])){throw new YAHOO.util.ComparisonFailure(YAHOO.util.Assert._formatMessage(D,"Values in position "+C+" are not equivalent."),E[C],F[C]);}}},isEmpty:function(C,A){if(C.length>0){var B=YAHOO.util.Assert;B.fail(B._formatMessage(A,"Array should be empty."));}},isNotEmpty:function(C,A){if(C.length===0){var B=YAHOO.util.Assert;B.fail(B._formatMessage(A,"Array should not be empty."));}},itemsAreSame:function(D,F,C){var A=Math.max(D.length,F.length||0);var E=YAHOO.util.Assert;for(var B=0;B<A;B++){E.areSame(D[B],F[B],E._formatMessage(C,"Values in position "+B+" are not the same."));}},lastIndexOf:function(E,D,A,C){var F=YAHOO.util.Assert;for(var B=D.length;B>=0;B--){if(D[B]===E){F.areEqual(A,B,F._formatMessage(C,"Value exists at index "+B+" but should be at index "+A+"."));return;}}F.fail(F._formatMessage(C,"Value doesn't exist in array."));}};YAHOO.namespace("util");YAHOO.util.ObjectAssert={propertiesAreEqual:function(D,G,C){var F=YAHOO.util.Assert;var B=[];for(var E in D){B.push(E);}for(var A=0;A<B.length;A++){F.isNotUndefined(G[B[A]],F._formatMessage(C,"Property '"+B[A]+"' expected."));}},hasProperty:function(A,B,C){if(!(A in B)){var D=YAHOO.util.Assert;D.fail(D._formatMessage(C,"Property '"+A+"' not found on object."));}},hasOwnProperty:function(A,B,C){if(!YAHOO.lang.hasOwnProperty(B,A)){var D=YAHOO.util.Assert;D.fail(D._formatMessage(C,"Property '"+A+"' not found on object instance."));}}};YAHOO.util.DateAssert={datesAreEqual:function(B,D,A){if(B instanceof Date&&D instanceof Date){var C=YAHOO.util.Assert;C.areEqual(B.getFullYear(),D.getFullYear(),C._formatMessage(A,"Years should be equal."));C.areEqual(B.getMonth(),D.getMonth(),C._formatMessage(A,"Months should be equal."));C.areEqual(B.getDate(),D.getDate(),C._formatMessage(A,"Day of month should be equal."));}else{throw new TypeError("DateAssert.datesAreEqual(): Expected and actual values must be Date objects.");}},timesAreEqual:function(B,D,A){if(B instanceof Date&&D instanceof Date){var C=YAHOO.util.Assert;C.areEqual(B.getHours(),D.getHours(),C._formatMessage(A,"Hours should be equal."));C.areEqual(B.getMinutes(),D.getMinutes(),C._formatMessage(A,"Minutes should be equal."));C.areEqual(B.getSeconds(),D.getSeconds(),C._formatMessage(A,"Seconds should be equal."));}else{throw new TypeError("DateAssert.timesAreEqual(): Expected and actual values must be Date objects.");}}};YAHOO.namespace("tool");YAHOO.tool.TestManager={TEST_PAGE_BEGIN_EVENT:"testpagebegin",TEST_PAGE_COMPLETE_EVENT:"testpagecomplete",TEST_MANAGER_BEGIN_EVENT:"testmanagerbegin",TEST_MANAGER_COMPLETE_EVENT:"testmanagercomplete",_curPage:null,_frame:null,_logger:null,_timeoutId:0,_pages:[],_results:null,_handleTestRunnerComplete:function(A){this.fireEvent(this.TEST_PAGE_COMPLETE_EVENT,{page:this._curPage,results:A.results});this._processResults(this._curPage,A.results);this._logger.clearTestRunner();if(this._pages.length){this._timeoutId=setTimeout(function(){YAHOO.tool.TestManager._run();},1000);}else{this.fireEvent(this.TEST_MANAGER_COMPLETE_EVENT,this._results);}},_processResults:function(C,A){var B=this._results;B.passed+=A.passed;B.failed+=A.failed;B.ignored+=A.ignored;B.total+=A.total;B.duration+=A.duration;if(A.failed){B.failedPages.push(C);}else{B.passedPages.push(C);}A.name=C;A.type="page";B[C]=A;},_run:function(){this._curPage=this._pages.shift();this.fireEvent(this.TEST_PAGE_BEGIN_EVENT,this._curPage);this._frame.location.replace(this._curPage);},load:function(){if(parent.YAHOO.tool.TestManager!==this){parent.YAHOO.tool.TestManager.load();}else{if(this._frame){var A=this._frame.YAHOO.tool.TestRunner;this._logger.setTestRunner(A);A.subscribe(A.COMPLETE_EVENT,this._handleTestRunnerComplete,this,true);A.run();}}},setPages:function(A){this._pages=A;},start:function(){if(!this._initialized){this.createEvent(this.TEST_PAGE_BEGIN_EVENT);this.createEvent(this.TEST_PAGE_COMPLETE_EVENT);this.createEvent(this.TEST_MANAGER_BEGIN_EVENT);this.createEvent(this.TEST_MANAGER_COMPLETE_EVENT); +if(!this._frame){var A=document.createElement("iframe");A.style.visibility="hidden";A.style.position="absolute";document.body.appendChild(A);this._frame=A.contentWindow||A.contentDocument.parentWindow;}if(!this._logger){this._logger=new YAHOO.tool.TestLogger();}this._initialized=true;}this._results={passed:0,failed:0,ignored:0,total:0,type:"report",name:"YUI Test Results",duration:0,failedPages:[],passedPages:[]};this.fireEvent(this.TEST_MANAGER_BEGIN_EVENT,null);this._run();},stop:function(){clearTimeout(this._timeoutId);}};YAHOO.lang.augmentObject(YAHOO.tool.TestManager,YAHOO.util.EventProvider.prototype);YAHOO.namespace("tool");YAHOO.tool.TestLogger=function(B,A){YAHOO.tool.TestLogger.superclass.constructor.call(this,B,A);this.init();};YAHOO.lang.extend(YAHOO.tool.TestLogger,YAHOO.widget.LogReader,{footerEnabled:true,newestOnTop:false,formatMsg:function(B){var A=B.category;var C=this.html2Text(B.msg);return'<pre><p><span class="'+A+'">'+A.toUpperCase()+"</span> "+C+"</p></pre>";},init:function(){if(YAHOO.tool.TestRunner){this.setTestRunner(YAHOO.tool.TestRunner);}this.hideSource("global");this.hideSource("LogReader");this.hideCategory("warn");this.hideCategory("window");this.hideCategory("time");this.clearConsole();},clearTestRunner:function(){if(this._runner){this._runner.unsubscribeAll();this._runner=null;}},setTestRunner:function(A){if(this._runner){this.clearTestRunner();}this._runner=A;A.subscribe(A.TEST_PASS_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_FAIL_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_IGNORE_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.BEGIN_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.COMPLETE_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_SUITE_BEGIN_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_SUITE_COMPLETE_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_CASE_BEGIN_EVENT,this._handleTestRunnerEvent,this,true);A.subscribe(A.TEST_CASE_COMPLETE_EVENT,this._handleTestRunnerEvent,this,true);},_handleTestRunnerEvent:function(D){var A=YAHOO.tool.TestRunner;var C="";var B="";switch(D.type){case A.BEGIN_EVENT:C="Testing began at "+(new Date()).toString()+".";B="info";break;case A.COMPLETE_EVENT:C="Testing completed at "+(new Date()).toString()+".\nPassed:"+D.results.passed+" Failed:"+D.results.failed+" Total:"+D.results.total;B="info";break;case A.TEST_FAIL_EVENT:C=D.testName+": "+D.error.getMessage();B="fail";break;case A.TEST_IGNORE_EVENT:C=D.testName+": ignored.";B="ignore";break;case A.TEST_PASS_EVENT:C=D.testName+": passed.";B="pass";break;case A.TEST_SUITE_BEGIN_EVENT:C='Test suite "'+D.testSuite.name+'" started.';B="info";break;case A.TEST_SUITE_COMPLETE_EVENT:C='Test suite "'+D.testSuite.name+'" completed.\nPassed:'+D.results.passed+" Failed:"+D.results.failed+" Total:"+D.results.total;B="info";break;case A.TEST_CASE_BEGIN_EVENT:C='Test case "'+D.testCase.name+'" started.';B="info";break;case A.TEST_CASE_COMPLETE_EVENT:C='Test case "'+D.testCase.name+'" completed.\nPassed:'+D.results.passed+" Failed:"+D.results.failed+" Total:"+D.results.total;B="info";break;default:C="Unexpected event "+D.type;C="info";}YAHOO.log(C,B,"TestRunner");}});YAHOO.namespace("tool.TestFormat");YAHOO.tool.TestFormat.JSON=function(A){return YAHOO.lang.JSON.stringify(A);};YAHOO.tool.TestFormat.XML=function(C){var A=YAHOO.lang;var B="<"+C.type+' name="'+C.name.replace(/"/g,""").replace(/'/g,"'")+'"';if(A.isNumber(C.duration)){B+=' duration="'+C.duration+'"';}if(C.type=="test"){B+=' result="'+C.result+'" message="'+C.message+'">';}else{B+=' passed="'+C.passed+'" failed="'+C.failed+'" ignored="'+C.ignored+'" total="'+C.total+'">';for(var D in C){if(A.hasOwnProperty(C,D)&&A.isObject(C[D])&&!A.isArray(C[D])){B+=arguments.callee(C[D]);}}}B+="</"+C.type+">";return B;};YAHOO.namespace("tool");YAHOO.tool.TestReporter=function(A,B){this.url=A;this.format=B||YAHOO.tool.TestFormat.XML;this._fields=new Object();this._form=null;this._iframe=null;};YAHOO.tool.TestReporter.prototype={constructor:YAHOO.tool.TestReporter,_convertToISOString:function(A){function B(C){return C<10?"0"+C:C;}return A.getUTCFullYear()+"-"+B(A.getUTCMonth()+1)+"-"+B(A.getUTCDate())+"T"+B(A.getUTCHours())+":"+B(A.getUTCMinutes())+":"+B(A.getUTCSeconds())+"Z";},addField:function(A,B){this._fields[A]=B;},clearFields:function(){this._fields=new Object();},destroy:function(){if(this._form){this._form.parentNode.removeChild(this._form);this._form=null;}if(this._iframe){this._iframe.parentNode.removeChild(this._iframe);this._iframe=null;}this._fields=null;},report:function(A){if(!this._form){this._form=document.createElement("form");this._form.method="post";this._form.style.visibility="hidden";this._form.style.position="absolute";this._form.style.top=0;document.body.appendChild(this._form);if(YAHOO.env.ua.ie){this._iframe=document.createElement('<iframe name="yuiTestTarget" />');}else{this._iframe=document.createElement("iframe");this._iframe.name="yuiTestTarget";}this._iframe.src="javascript:false";this._iframe.style.visibility="hidden";this._iframe.style.position="absolute";this._iframe.style.top=0;document.body.appendChild(this._iframe);this._form.target="yuiTestTarget";}this._form.action=this.url;while(this._form.hasChildNodes()){this._form.removeChild(this._form.lastChild);}this._fields.results=this.format(A);this._fields.useragent=navigator.userAgent;this._fields.timestamp=this._convertToISOString(new Date());for(var B in this._fields){if(YAHOO.lang.hasOwnProperty(this._fields,B)&&typeof this._fields[B]!="function"){if(YAHOO.env.ua.ie){input=document.createElement('<input name="'+B+'" >');}else{input=document.createElement("input");input.name=B;}input.type="hidden";input.value=this._fields[B];this._form.appendChild(input);}}delete this._fields.results;delete this._fields.useragent;delete this._fields.timestamp;if(arguments[1]!==false){this._form.submit();}}};YAHOO.register("yuitest",YAHOO.tool.TestRunner,{version:"2.8.1",build:"19"}); diff --git a/js/yui/yuitest/yuitest_core-min.js b/js/yui/yuitest/yuitest_core-min.js new file mode 100644 index 0000000000000000000000000000000000000000..c23c590db0e8be54a153640a16e693872ff436bb --- /dev/null +++ b/js/yui/yuitest/yuitest_core-min.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2010, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.8.1 +*/ +YAHOO.namespace("tool");(function(){var A=0;YAHOO.tool.TestCase=function(B){this._should={};for(var C in B){this[C]=B[C];}if(!YAHOO.lang.isString(this.name)){this.name="testCase"+(A++);}};YAHOO.tool.TestCase.prototype={resume:function(B){YAHOO.tool.TestRunner.resume(B);},wait:function(D,C){var B=arguments;if(YAHOO.lang.isFunction(B[0])){throw new YAHOO.tool.TestCase.Wait(B[0],B[1]);}else{throw new YAHOO.tool.TestCase.Wait(function(){YAHOO.util.Assert.fail("Timeout: wait() called but resume() never called.");},(YAHOO.lang.isNumber(B[0])?B[0]:10000));}},setUp:function(){},tearDown:function(){}};YAHOO.tool.TestCase.Wait=function(C,B){this.segment=(YAHOO.lang.isFunction(C)?C:null);this.delay=(YAHOO.lang.isNumber(B)?B:0);};})();YAHOO.namespace("tool");YAHOO.tool.TestSuite=function(A){this.name="";this.items=[];if(YAHOO.lang.isString(A)){this.name=A;}else{if(YAHOO.lang.isObject(A)){YAHOO.lang.augmentObject(this,A,true);}}if(this.name===""){this.name=YAHOO.util.Dom.generateId(null,"testSuite");}};YAHOO.tool.TestSuite.prototype={add:function(A){if(A instanceof YAHOO.tool.TestSuite||A instanceof YAHOO.tool.TestCase){this.items.push(A);}},setUp:function(){},tearDown:function(){}};YAHOO.namespace("tool");YAHOO.tool.TestRunner=(function(){function B(C){this.testObject=C;this.firstChild=null;this.lastChild=null;this.parent=null;this.next=null;this.results={passed:0,failed:0,total:0,ignored:0};if(C instanceof YAHOO.tool.TestSuite){this.results.type="testsuite";this.results.name=C.name;}else{if(C instanceof YAHOO.tool.TestCase){this.results.type="testcase";this.results.name=C.name;}}}B.prototype={appendChild:function(C){var D=new B(C);if(this.firstChild===null){this.firstChild=this.lastChild=D;}else{this.lastChild.next=D;this.lastChild=D;}D.parent=this;return D;}};function A(){A.superclass.constructor.apply(this,arguments);this.masterSuite=new YAHOO.tool.TestSuite("YUI Test Results");this._cur=null;this._root=null;var D=[this.TEST_CASE_BEGIN_EVENT,this.TEST_CASE_COMPLETE_EVENT,this.TEST_SUITE_BEGIN_EVENT,this.TEST_SUITE_COMPLETE_EVENT,this.TEST_PASS_EVENT,this.TEST_FAIL_EVENT,this.TEST_IGNORE_EVENT,this.COMPLETE_EVENT,this.BEGIN_EVENT];for(var C=0;C<D.length;C++){this.createEvent(D[C],{scope:this});}}YAHOO.lang.extend(A,YAHOO.util.EventProvider,{TEST_CASE_BEGIN_EVENT:"testcasebegin",TEST_CASE_COMPLETE_EVENT:"testcasecomplete",TEST_SUITE_BEGIN_EVENT:"testsuitebegin",TEST_SUITE_COMPLETE_EVENT:"testsuitecomplete",TEST_PASS_EVENT:"pass",TEST_FAIL_EVENT:"fail",TEST_IGNORE_EVENT:"ignore",COMPLETE_EVENT:"complete",BEGIN_EVENT:"begin",_addTestCaseToTestTree:function(C,D){var E=C.appendChild(D);for(var F in D){if(F.indexOf("test")===0&&YAHOO.lang.isFunction(D[F])){E.appendChild(F);}}},_addTestSuiteToTestTree:function(C,F){var E=C.appendChild(F);for(var D=0;D<F.items.length;D++){if(F.items[D] instanceof YAHOO.tool.TestSuite){this._addTestSuiteToTestTree(E,F.items[D]);}else{if(F.items[D] instanceof YAHOO.tool.TestCase){this._addTestCaseToTestTree(E,F.items[D]);}}}},_buildTestTree:function(){this._root=new B(this.masterSuite);this._cur=this._root;for(var C=0;C<this.masterSuite.items.length;C++){if(this.masterSuite.items[C] instanceof YAHOO.tool.TestSuite){this._addTestSuiteToTestTree(this._root,this.masterSuite.items[C]);}else{if(this.masterSuite.items[C] instanceof YAHOO.tool.TestCase){this._addTestCaseToTestTree(this._root,this.masterSuite.items[C]);}}}},_handleTestObjectComplete:function(C){if(YAHOO.lang.isObject(C.testObject)){C.parent.results.passed+=C.results.passed;C.parent.results.failed+=C.results.failed;C.parent.results.total+=C.results.total;C.parent.results.ignored+=C.results.ignored;C.parent.results[C.testObject.name]=C.results;if(C.testObject instanceof YAHOO.tool.TestSuite){C.testObject.tearDown();this.fireEvent(this.TEST_SUITE_COMPLETE_EVENT,{testSuite:C.testObject,results:C.results});}else{if(C.testObject instanceof YAHOO.tool.TestCase){this.fireEvent(this.TEST_CASE_COMPLETE_EVENT,{testCase:C.testObject,results:C.results});}}}},_next:function(){if(this._cur.firstChild){this._cur=this._cur.firstChild;}else{if(this._cur.next){this._cur=this._cur.next;}else{while(this._cur&&!this._cur.next&&this._cur!==this._root){this._handleTestObjectComplete(this._cur);this._cur=this._cur.parent;}if(this._cur==this._root){this._cur.results.type="report";this._cur.results.timestamp=(new Date()).toLocaleString();this._cur.results.duration=(new Date())-this._cur.results.duration;this.fireEvent(this.COMPLETE_EVENT,{results:this._cur.results});this._cur=null;}else{this._handleTestObjectComplete(this._cur);this._cur=this._cur.next;}}}return this._cur;},_run:function(){var E=false;var D=this._next();if(D!==null){var C=D.testObject;if(YAHOO.lang.isObject(C)){if(C instanceof YAHOO.tool.TestSuite){this.fireEvent(this.TEST_SUITE_BEGIN_EVENT,{testSuite:C});C.setUp();}else{if(C instanceof YAHOO.tool.TestCase){this.fireEvent(this.TEST_CASE_BEGIN_EVENT,{testCase:C});}}if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}}else{this._runTest(D);}}},_resumeTest:function(G){var C=this._cur;var H=C.testObject;var E=C.parent.testObject;if(E.__yui_wait){clearTimeout(E.__yui_wait);delete E.__yui_wait;}var K=(E._should.fail||{})[H];var D=(E._should.error||{})[H];var F=false;var I=null;try{G.apply(E);if(K){I=new YAHOO.util.ShouldFail();F=true;}else{if(D){I=new YAHOO.util.ShouldError();F=true;}}}catch(J){if(J instanceof YAHOO.util.AssertionError){if(!K){I=J;F=true;}}else{if(J instanceof YAHOO.tool.TestCase.Wait){if(YAHOO.lang.isFunction(J.segment)){if(YAHOO.lang.isNumber(J.delay)){if(typeof setTimeout!="undefined"){E.__yui_wait=setTimeout(function(){YAHOO.tool.TestRunner._resumeTest(J.segment);},J.delay);}else{throw new Error("Asynchronous tests not supported in this environment.");}}}return;}else{if(!D){I=new YAHOO.util.UnexpectedError(J);F=true;}else{if(YAHOO.lang.isString(D)){if(J.message!=D){I=new YAHOO.util.UnexpectedError(J);F=true;}}else{if(YAHOO.lang.isFunction(D)){if(!(J instanceof D)){I=new YAHOO.util.UnexpectedError(J); +F=true;}}else{if(YAHOO.lang.isObject(D)){if(!(J instanceof D.constructor)||J.message!=D.message){I=new YAHOO.util.UnexpectedError(J);F=true;}}}}}}}}if(F){this.fireEvent(this.TEST_FAIL_EVENT,{testCase:E,testName:H,error:I});}else{this.fireEvent(this.TEST_PASS_EVENT,{testCase:E,testName:H});}E.tearDown();C.parent.results[H]={result:F?"fail":"pass",message:I?I.getMessage():"Test passed",type:"test",name:H};if(F){C.parent.results.failed++;}else{C.parent.results.passed++;}C.parent.results.total++;if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}},_runTest:function(F){var C=F.testObject;var D=F.parent.testObject;var G=D[C];var E=(D._should.ignore||{})[C];if(E){F.parent.results[C]={result:"ignore",message:"Test ignored",type:"test",name:C};F.parent.results.ignored++;F.parent.results.total++;this.fireEvent(this.TEST_IGNORE_EVENT,{testCase:D,testName:C});if(typeof setTimeout!="undefined"){setTimeout(function(){YAHOO.tool.TestRunner._run();},0);}else{this._run();}}else{D.setUp();this._resumeTest(G);}},fireEvent:function(C,D){D=D||{};D.type=C;A.superclass.fireEvent.call(this,C,D);},add:function(C){this.masterSuite.add(C);},clear:function(){this.masterSuite.items=[];},resume:function(C){this._resumeTest(C||function(){});},run:function(C){var D=YAHOO.tool.TestRunner;D._buildTestTree();D._root.results.duration=(new Date()).getTime();D.fireEvent(D.BEGIN_EVENT);D._run();}});return new A();})();YAHOO.namespace("util");YAHOO.util.Assert={_formatMessage:function(B,A){var C=B;if(YAHOO.lang.isString(B)&&B.length>0){return YAHOO.lang.substitute(B,{message:A});}else{return A;}},fail:function(A){throw new YAHOO.util.AssertionError(this._formatMessage(A,"Test force-failed."));},areEqual:function(B,C,A){if(B!=C){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Values should be equal."),B,C);}},areNotEqual:function(A,C,B){if(A==C){throw new YAHOO.util.UnexpectedValue(this._formatMessage(B,"Values should not be equal."),A);}},areNotSame:function(A,C,B){if(A===C){throw new YAHOO.util.UnexpectedValue(this._formatMessage(B,"Values should not be the same."),A);}},areSame:function(B,C,A){if(B!==C){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Values should be the same."),B,C);}},isFalse:function(B,A){if(false!==B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be false."),false,B);}},isTrue:function(B,A){if(true!==B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be true."),true,B);}},isNaN:function(B,A){if(!isNaN(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be NaN."),NaN,B);}},isNotNaN:function(B,A){if(isNaN(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Values should not be NaN."),NaN);}},isNotNull:function(B,A){if(YAHOO.lang.isNull(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Values should not be null."),null);}},isNotUndefined:function(B,A){if(YAHOO.lang.isUndefined(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should not be undefined."),undefined);}},isNull:function(B,A){if(!YAHOO.lang.isNull(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be null."),null,B);}},isUndefined:function(B,A){if(!YAHOO.lang.isUndefined(B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be undefined."),undefined,B);}},isArray:function(B,A){if(!YAHOO.lang.isArray(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be an array."),B);}},isBoolean:function(B,A){if(!YAHOO.lang.isBoolean(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a Boolean."),B);}},isFunction:function(B,A){if(!YAHOO.lang.isFunction(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a function."),B);}},isInstanceOf:function(B,C,A){if(!(C instanceof B)){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value isn't an instance of expected type."),B,C);}},isNumber:function(B,A){if(!YAHOO.lang.isNumber(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a number."),B);}},isObject:function(B,A){if(!YAHOO.lang.isObject(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be an object."),B);}},isString:function(B,A){if(!YAHOO.lang.isString(B)){throw new YAHOO.util.UnexpectedValue(this._formatMessage(A,"Value should be a string."),B);}},isTypeOf:function(B,C,A){if(typeof C!=B){throw new YAHOO.util.ComparisonFailure(this._formatMessage(A,"Value should be of type "+B+"."),B,typeof C);}}};YAHOO.util.AssertionError=function(A){this.message=A;this.name="AssertionError";};YAHOO.lang.extend(YAHOO.util.AssertionError,Object,{getMessage:function(){return this.message;},toString:function(){return this.name+": "+this.getMessage();}});YAHOO.util.ComparisonFailure=function(B,A,C){YAHOO.util.AssertionError.call(this,B);this.expected=A;this.actual=C;this.name="ComparisonFailure";};YAHOO.lang.extend(YAHOO.util.ComparisonFailure,YAHOO.util.AssertionError,{getMessage:function(){return this.message+"\nExpected: "+this.expected+" ("+(typeof this.expected)+")"+"\nActual:"+this.actual+" ("+(typeof this.actual)+")";}});YAHOO.util.UnexpectedValue=function(B,A){YAHOO.util.AssertionError.call(this,B);this.unexpected=A;this.name="UnexpectedValue";};YAHOO.lang.extend(YAHOO.util.UnexpectedValue,YAHOO.util.AssertionError,{getMessage:function(){return this.message+"\nUnexpected: "+this.unexpected+" ("+(typeof this.unexpected)+") ";}});YAHOO.util.ShouldFail=function(A){YAHOO.util.AssertionError.call(this,A||"This test should fail but didn't.");this.name="ShouldFail";};YAHOO.lang.extend(YAHOO.util.ShouldFail,YAHOO.util.AssertionError);YAHOO.util.ShouldError=function(A){YAHOO.util.AssertionError.call(this,A||"This test should have thrown an error but didn't.");this.name="ShouldError";};YAHOO.lang.extend(YAHOO.util.ShouldError,YAHOO.util.AssertionError);YAHOO.util.UnexpectedError=function(A){YAHOO.util.AssertionError.call(this,"Unexpected error: "+A.message); +this.cause=A;this.name="UnexpectedError";this.stack=A.stack;};YAHOO.lang.extend(YAHOO.util.UnexpectedError,YAHOO.util.AssertionError);YAHOO.util.ArrayAssert={contains:function(E,D,B){var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(D[A]===E){C=true;}}if(!C){F.fail(F._formatMessage(B,"Value "+E+" ("+(typeof E)+") not found in array ["+D+"]."));}},containsItems:function(C,D,B){for(var A=0;A<C.length;A++){this.contains(C[A],D,B);}},containsMatch:function(E,D,B){if(typeof E!="function"){throw new TypeError("ArrayAssert.containsMatch(): First argument must be a function.");}var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(E(D[A])){C=true;}}if(!C){F.fail(F._formatMessage(B,"No match found in array ["+D+"]."));}},doesNotContain:function(E,D,B){var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(D[A]===E){C=true;}}if(C){F.fail(F._formatMessage(B,"Value found in array ["+D+"]."));}},doesNotContainItems:function(C,D,B){for(var A=0;A<C.length;A++){this.doesNotContain(C[A],D,B);}},doesNotContainMatch:function(E,D,B){if(typeof E!="function"){throw new TypeError("ArrayAssert.doesNotContainMatch(): First argument must be a function.");}var C=false;var F=YAHOO.util.Assert;for(var A=0;A<D.length&&!C;A++){if(E(D[A])){C=true;}}if(C){F.fail(F._formatMessage(B,"Value found in array ["+D+"]."));}},indexOf:function(E,D,A,C){for(var B=0;B<D.length;B++){if(D[B]===E){YAHOO.util.Assert.areEqual(A,B,C||"Value exists at index "+B+" but should be at index "+A+".");return;}}var F=YAHOO.util.Assert;F.fail(F._formatMessage(C,"Value doesn't exist in array ["+D+"]."));},itemsAreEqual:function(D,F,C){var A=Math.max(D.length,F.length||0);var E=YAHOO.util.Assert;for(var B=0;B<A;B++){E.areEqual(D[B],F[B],E._formatMessage(C,"Values in position "+B+" are not equal."));}},itemsAreEquivalent:function(E,F,B,D){if(typeof B!="function"){throw new TypeError("ArrayAssert.itemsAreEquivalent(): Third argument must be a function.");}var A=Math.max(E.length,F.length||0);for(var C=0;C<A;C++){if(!B(E[C],F[C])){throw new YAHOO.util.ComparisonFailure(YAHOO.util.Assert._formatMessage(D,"Values in position "+C+" are not equivalent."),E[C],F[C]);}}},isEmpty:function(C,A){if(C.length>0){var B=YAHOO.util.Assert;B.fail(B._formatMessage(A,"Array should be empty."));}},isNotEmpty:function(C,A){if(C.length===0){var B=YAHOO.util.Assert;B.fail(B._formatMessage(A,"Array should not be empty."));}},itemsAreSame:function(D,F,C){var A=Math.max(D.length,F.length||0);var E=YAHOO.util.Assert;for(var B=0;B<A;B++){E.areSame(D[B],F[B],E._formatMessage(C,"Values in position "+B+" are not the same."));}},lastIndexOf:function(E,D,A,C){var F=YAHOO.util.Assert;for(var B=D.length;B>=0;B--){if(D[B]===E){F.areEqual(A,B,F._formatMessage(C,"Value exists at index "+B+" but should be at index "+A+"."));return;}}F.fail(F._formatMessage(C,"Value doesn't exist in array."));}};YAHOO.namespace("util");YAHOO.util.ObjectAssert={propertiesAreEqual:function(D,G,C){var F=YAHOO.util.Assert;var B=[];for(var E in D){B.push(E);}for(var A=0;A<B.length;A++){F.isNotUndefined(G[B[A]],F._formatMessage(C,"Property '"+B[A]+"' expected."));}},hasProperty:function(A,B,C){if(!(A in B)){var D=YAHOO.util.Assert;D.fail(D._formatMessage(C,"Property '"+A+"' not found on object."));}},hasOwnProperty:function(A,B,C){if(!YAHOO.lang.hasOwnProperty(B,A)){var D=YAHOO.util.Assert;D.fail(D._formatMessage(C,"Property '"+A+"' not found on object instance."));}}};YAHOO.util.DateAssert={datesAreEqual:function(B,D,A){if(B instanceof Date&&D instanceof Date){var C=YAHOO.util.Assert;C.areEqual(B.getFullYear(),D.getFullYear(),C._formatMessage(A,"Years should be equal."));C.areEqual(B.getMonth(),D.getMonth(),C._formatMessage(A,"Months should be equal."));C.areEqual(B.getDate(),D.getDate(),C._formatMessage(A,"Day of month should be equal."));}else{throw new TypeError("DateAssert.datesAreEqual(): Expected and actual values must be Date objects.");}},timesAreEqual:function(B,D,A){if(B instanceof Date&&D instanceof Date){var C=YAHOO.util.Assert;C.areEqual(B.getHours(),D.getHours(),C._formatMessage(A,"Hours should be equal."));C.areEqual(B.getMinutes(),D.getMinutes(),C._formatMessage(A,"Minutes should be equal."));C.areEqual(B.getSeconds(),D.getSeconds(),C._formatMessage(A,"Seconds should be equal."));}else{throw new TypeError("DateAssert.timesAreEqual(): Expected and actual values must be Date objects.");}}};YAHOO.register("yuitest_core",YAHOO.tool.TestRunner,{version:"2.8.1",build:"19"}); \ No newline at end of file diff --git a/lib/CVS/Entries b/lib/CVS/Entries deleted file mode 100644 index 5a4c0b9ab5dd01f8530a848c8256d016259645ce..0000000000000000000000000000000000000000 --- a/lib/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/README/1.1/Fri Oct 19 06:46:19 2007//TBUGZILLA-3_6_1 -D diff --git a/lib/CVS/Repository b/lib/CVS/Repository deleted file mode 100644 index 17e12f4f8fd5cbcae44f0fb4ebe5c15c93b06770..0000000000000000000000000000000000000000 --- a/lib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/lib diff --git a/lib/CVS/Root b/lib/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/lib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/lib/CVS/Tag b/lib/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/lib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/migrate.pl b/migrate.pl old mode 100644 new mode 100755 diff --git a/mod_perl.pl b/mod_perl.pl old mode 100755 new mode 100644 diff --git a/page.cgi b/page.cgi index 9326229a5d074fa70d25d777e04c5d4fb3fa55b0..5464789e7f1707c83a39c2f1396b3ab494a37b22 100755 --- a/page.cgi +++ b/page.cgi @@ -43,7 +43,7 @@ use Bugzilla::Search::Quicksearch; # For quicksearch.html. sub quicksearch_field_names { - my $fields = Bugzilla::Search::Quicksearch::FIELD_MAP; + my $fields = Bugzilla::Search::Quicksearch->FIELD_MAP; my %fields_reverse; # Put longer names before shorter names. my @nicknames = sort { length($b) <=> length($a) } (keys %$fields); diff --git a/post_bug.cgi b/post_bug.cgi index f0771195b821c3f782ad882f643943b7723dbafd..c097a96ce259cbd5ed5c8a218ca6890e16dd861e 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -103,13 +103,6 @@ if (defined $cgi->param('maketemplate')) { umask 0; -# Group Validation -my @selected_groups; -foreach my $group (grep(/^bit-\d+$/, $cgi->param())) { - $group =~ /^bit-(\d+)$/; - push(@selected_groups, $1); -} - # The format of the initial comment can be structured by adding fields to the # enter_bug template and then referencing them in the comment template. my $comment; @@ -158,7 +151,7 @@ foreach my $field (@bug_fields) { $bug_params{$field} = $cgi->param($field); } $bug_params{'cc'} = [$cgi->param('cc')]; -$bug_params{'groups'} = \@selected_groups; +$bug_params{'groups'} = [$cgi->param('groups')]; $bug_params{'comment'} = $comment; my @multi_selects = grep {$_->type == FIELD_TYPE_MULTI_SELECT && $_->enter_bug} @@ -224,7 +217,8 @@ if (defined($cgi->upload('data')) || $cgi->param('attachurl')) { $attachment->set_flags($flags, $new_flags); $attachment->update($timestamp); my $comment = $bug->comments->[0]; - $comment->set_type(CMT_ATTACHMENT_CREATED, $attachment->id); + $comment->set_all({ type => CMT_ATTACHMENT_CREATED, + extra_data => $attachment->id }); $comment->update(); } else { @@ -251,7 +245,7 @@ if ($token) { ("createbug:$id", $token)); } -my $recipients = { changer => $user->login }; +my $recipients = { changer => $user }; my $bug_sent = Bugzilla::BugMail::Send($id, $recipients); $bug_sent->{type} = 'created'; $bug_sent->{id} = $id; diff --git a/process_bug.cgi b/process_bug.cgi index 32f8e4a066bca0faa79218d89e86c269899c9bf2..7759d03dcf385442312c84c7fac8ef58c65d3a69 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -61,6 +61,7 @@ use Bugzilla::Flag; use Bugzilla::Status; use Bugzilla::Token; +use List::MoreUtils qw(firstidx); use Storable qw(dclone); my $user = Bugzilla->login(LOGIN_REQUIRED); @@ -74,19 +75,6 @@ my $vars = {}; # Subroutines ###################################################################### -# Used to send email when an update is done. -sub send_results { - my ($bug_id, $vars) = @_; - my $template = Bugzilla->template; - $vars->{'sent_bugmail'} = - Bugzilla::BugMail::Send($bug_id, $vars->{'mailrecipients'}); - if (Bugzilla->usage_mode != USAGE_MODE_EMAIL) { - $template->process("bug/process/results.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - } - $vars->{'header_done'} = 1; -} - # Tells us whether or not a field should be changed by process_bug. sub should_set { # check_defined is used for fields where there's another field @@ -208,12 +196,12 @@ if (defined $cgi->param('id')) { if ($cgi->cookie("BUGLIST")) { @bug_list = split(/:/, $cgi->cookie("BUGLIST")); } - my $cur = lsearch(\@bug_list, $cgi->param('id')); + my $cur = firstidx { $_ eq $cgi->param('id') } @bug_list; if ($cur >= 0 && $cur < $#bug_list) { my $next_bug_id = $bug_list[$cur + 1]; detaint_natural($next_bug_id); if ($next_bug_id and $user->can_see_bug($next_bug_id)) { - # We create an object here so that send_results can use it + # We create an object here so that $bug->send_changes can use it # when displaying the header. $vars->{'bug'} = new Bugzilla::Bug($next_bug_id); } @@ -238,187 +226,90 @@ foreach my $bug (@bug_objects) { } } -# For security purposes, and because lots of other checks depend on it, -# we set the product first before anything else. -my $product_change; # Used only for strict_isolation checks, right now. -if (should_set('product')) { - foreach my $b (@bug_objects) { - my $changed = $b->set_product(scalar $cgi->param('product'), - { component => scalar $cgi->param('component'), - version => scalar $cgi->param('version'), - target_milestone => scalar $cgi->param('target_milestone'), - change_confirmed => scalar $cgi->param('confirm_product_change'), - other_bugs => \@bug_objects, - }); - $product_change ||= $changed; - } -} - -# strict_isolation checks mean that we should set the groups -# immediately after changing the product. -foreach my $b (@bug_objects) { - foreach my $group (@{$b->product_obj->groups_valid}) { - my $gid = $group->id; - if (should_set("bit-$gid", 1)) { - # Check ! first to avoid having to check defined below. - if (!$cgi->param("bit-$gid")) { - $b->remove_group($gid); - } - # "== 1" is important because mass-change uses -1 to mean - # "don't change this restriction" - elsif ($cgi->param("bit-$gid") == 1) { - $b->add_group($gid); - } - } - } -} - -# Flags should be set AFTER the bug has been moved into another product/component. -if ($cgi->param('id')) { - my ($flags, $new_flags) = Bugzilla::Flag->extract_flags_from_cgi($first_bug, undef, $vars); - $first_bug->set_flags($flags, $new_flags); -} - -if ($cgi->param('id') && (defined $cgi->param('dependson') - || defined $cgi->param('blocked')) ) -{ - $first_bug->set_dependencies(scalar $cgi->param('dependson'), - scalar $cgi->param('blocked')); -} -elsif (should_set('dependson') || should_set('blocked')) { - foreach my $bug (@bug_objects) { - my %temp_deps; - foreach my $type (qw(dependson blocked)) { - $temp_deps{$type} = { map { $_ => 1 } @{$bug->$type} }; - if (should_set($type) && $cgi->param($type . '_action') =~ /^(add|remove)$/) { - foreach my $id (split(/[,\s]+/, $cgi->param($type))) { - if ($cgi->param($type . '_action') eq 'remove') { - delete $temp_deps{$type}{$id}; - } - else { - $temp_deps{$type}{$id} = 1; - } - } - } - } - $bug->set_dependencies([ keys %{$temp_deps{'dependson'}} ], [ keys %{$temp_deps{'blocked'}} ]); - } -} - -my $any_keyword_changes; -if (defined $cgi->param('keywords')) { - foreach my $b (@bug_objects) { - my $return = - $b->modify_keywords(scalar $cgi->param('keywords'), - scalar $cgi->param('keywordaction')); - $any_keyword_changes ||= $return; - } -} - # Component, target_milestone, and version are in here just in case # the 'product' field wasn't defined in the CGI. It doesn't hurt to set # them twice. my @set_fields = qw(op_sys rep_platform priority bug_severity component target_milestone version bug_file_loc status_whiteboard short_desc - deadline remaining_time estimated_time); + deadline remaining_time estimated_time + work_time set_default_assignee set_default_qa_contact + cclist_accessible reporter_accessible + product confirm_product_change + bug_status resolution dup_id); push(@set_fields, 'assigned_to') if !$cgi->param('set_default_assignee'); push(@set_fields, 'qa_contact') if !$cgi->param('set_default_qa_contact'); -my @custom_fields = Bugzilla->active_custom_fields; - -my %methods = ( - bug_severity => 'set_severity', - rep_platform => 'set_platform', - short_desc => 'set_summary', - bug_file_loc => 'set_url', +my %field_translation = ( + bug_severity => 'severity', + rep_platform => 'platform', + short_desc => 'summary', + bug_file_loc => 'url', + set_default_assignee => 'reset_assigned_to', + set_default_qa_contact => 'reset_qa_contact', + confirm_product_change => 'product_change_confirmed', ); -foreach my $b (@bug_objects) { - if (should_set('comment') || $cgi->param('work_time')) { - # Add a comment as needed to each bug. This is done early because - # there are lots of things that want to check if we added a comment. - $b->add_comment(scalar($cgi->param('comment')), - { isprivate => scalar $cgi->param('commentprivacy'), - work_time => scalar $cgi->param('work_time') }); - } - foreach my $field_name (@set_fields) { - if (should_set($field_name)) { - my $method = $methods{$field_name}; - $method ||= "set_" . $field_name; - $b->$method($cgi->param($field_name)); - } - } - $b->reset_assigned_to if $cgi->param('set_default_assignee'); - $b->reset_qa_contact if $cgi->param('set_default_qa_contact'); - if (should_set('see_also')) { - my @see_also = split(',', $cgi->param('see_also')); - $b->add_see_also($_) foreach @see_also; - } - if (should_set('remove_see_also')) { - $b->remove_see_also($_) foreach $cgi->param('remove_see_also') - } - - # And set custom fields. - foreach my $field (@custom_fields) { - my $fname = $field->name; - if (should_set($fname, 1)) { - $b->set_custom_field($field, [$cgi->param($fname)]); - } +my %set_all_fields = ( other_bugs => \@bug_objects ); +foreach my $field_name (@set_fields) { + if (should_set($field_name, 1)) { + my $param_name = $field_translation{$field_name} || $field_name; + $set_all_fields{$param_name} = $cgi->param($field_name); } } -# Certain changes can only happen on individual bugs, never on mass-changes. -if (defined $cgi->param('id')) { - # Since aliases are unique (like bug numbers), they can only be changed - # for one bug at a time. - if (Bugzilla->params->{"usebugaliases"} && defined $cgi->param('alias')) { - $first_bug->set_alias($cgi->param('alias')); - } - - # reporter_accessible and cclist_accessible--these are only set if - # the user can change them and they appear on the page. - if (should_set('cclist_accessible', 1)) { - $first_bug->set_cclist_accessible($cgi->param('cclist_accessible')) - } - if (should_set('reporter_accessible', 1)) { - $first_bug->set_reporter_accessible($cgi->param('reporter_accessible')) - } - - # You can only mark/unmark comments as private on single bugs. If - # you're not in the insider group, this code won't do anything. - foreach my $field (grep(/^defined_isprivate/, $cgi->param())) { - $field =~ /(\d+)$/; - my $comment_id = $1; - $first_bug->set_comment_is_private($comment_id, - $cgi->param("isprivate_$comment_id")); +if (should_set('keywords')) { + my $action = $cgi->param('keywordaction'); + $action = 'remove' if $action eq 'delete'; + $action = 'set' if $action eq 'makeexact'; + $set_all_fields{keywords}->{$action} = $cgi->param('keywords'); +} +if (should_set('comment')) { + $set_all_fields{comment} = { + body => scalar $cgi->param('comment'), + is_private => scalar $cgi->param('commentprivacy'), + }; +} +if (should_set('see_also')) { + $set_all_fields{'see_also'}->{add} = + [split(/[\s,]+/, $cgi->param('see_also'))]; +} +if (should_set('remove_see_also')) { + $set_all_fields{'see_also'}->{remove} = [$cgi->param('remove_see_also')]; +} +foreach my $dep_field (qw(dependson blocked)) { + if (should_set($dep_field)) { + if (my $dep_action = $cgi->param("${dep_field}_action")) { + $set_all_fields{$dep_field}->{$dep_action} = + [split(/\s,/, $cgi->param($dep_field))]; + } + else { + $set_all_fields{$dep_field}->{set} = $cgi->param($dep_field); + } } } - -# We need to check the addresses involved in a CC change before we touch -# any bugs. What we'll do here is formulate the CC data into two arrays of -# users involved in this CC change. Then those arrays can be used later -# on for the actual change. +# Formulate the CC data into two arrays of users involved in this CC change. my (@cc_add, @cc_remove); if (defined $cgi->param('newcc') - || defined $cgi->param('addselfcc') - || defined $cgi->param('removecc') - || defined $cgi->param('masscc')) { - + or defined $cgi->param('addselfcc') + or defined $cgi->param('removecc') + or defined $cgi->param('masscc')) +{ + # If masscc is defined, then we came from buglist and need to either add or - # remove cc's... otherwise, we came from bugform and may need to do both. + # remove cc's... otherwise, we came from show_bug and may need to do both. my ($cc_add, $cc_remove) = ""; if (defined $cgi->param('masscc')) { if ($cgi->param('ccaction') eq 'add') { - $cc_add = join(' ',$cgi->param('masscc')); + $cc_add = $cgi->param('masscc'); } elsif ($cgi->param('ccaction') eq 'remove') { - $cc_remove = join(' ',$cgi->param('masscc')); + $cc_remove = $cgi->param('masscc'); } } else { - $cc_add = join(' ',$cgi->param('newcc')); + $cc_add = $cgi->param('newcc'); # We came from bug_form which uses a select box to determine what cc's # need to be removed... - if (defined $cgi->param('removecc') && $cgi->param('cc')) { - $cc_remove = join (",", $cgi->param('cc')); + if ($cgi->param('removecc') && $cgi->param('cc')) { + $cc_remove = join(",", $cgi->param('cc')); } } @@ -427,134 +318,76 @@ if (defined $cgi->param('newcc') push(@cc_remove, split(/[\s,]+/, $cc_remove)) if $cc_remove; } +$set_all_fields{cc} = { add => \@cc_add, remove => \@cc_remove }; -foreach my $b (@bug_objects) { - $b->remove_cc($_) foreach @cc_remove; - $b->add_cc($_) foreach @cc_add; - # Theoretically you could move a product without ever specifying - # a new assignee or qa_contact, or adding/removing any CCs. So, - # we have to check that the current assignee, qa, and CCs are still - # valid if we've switched products, under strict_isolation. We can only - # do that here. There ought to be some better way to do this, - # architecturally, but I haven't come up with it. - if ($product_change) { - $b->_check_strict_isolation(); +# Fields that can only be set on one bug at a time. +if (defined $cgi->param('id')) { + # Since aliases are unique (like bug numbers), they can only be changed + # for one bug at a time. + if (Bugzilla->params->{"usebugaliases"} && defined $cgi->param('alias')) { + $set_all_fields{alias} = $cgi->param('alias'); } } -my $move_action = $cgi->param('action') || ''; -if ($move_action eq Bugzilla->params->{'move-button-text'}) { - Bugzilla->params->{'move-enabled'} || ThrowUserError("move_bugs_disabled"); - - $user->is_mover || ThrowUserError("auth_failure", {action => 'move', - object => 'bugs'}); - - $dbh->bz_start_transaction(); - - # First update all moved bugs. - foreach my $bug (@bug_objects) { - $bug->add_comment('', { type => CMT_MOVED_TO, extra_data => $user->login }); - } - # Don't export the new status and resolution. We want the current ones. - local $Storable::forgive_me = 1; - my $bugs = dclone(\@bug_objects); - - my $new_status = Bugzilla->params->{'duplicate_or_move_bug_status'}; - foreach my $bug (@bug_objects) { - $bug->set_status($new_status, {resolution => 'MOVED', moving => 1}); - } - $_->update() foreach @bug_objects; - $dbh->bz_commit_transaction(); - - # Now send emails. - foreach my $bug (@bug_objects) { - $vars->{'mailrecipients'} = { 'changer' => $user->login }; - $vars->{'id'} = $bug->id; - $vars->{'type'} = "move"; - send_results($bug->id, $vars); - } - # Prepare and send all data about these bugs to the new database - my $to = Bugzilla->params->{'move-to-address'}; - $to =~ s/@/\@/; - my $from = Bugzilla->params->{'moved-from-address'}; - $from =~ s/@/\@/; - my $msg = "To: $to\n"; - $msg .= "From: Bugzilla <" . $from . ">\n"; - $msg .= "Subject: Moving bug(s) " . join(', ', map($_->id, @bug_objects)) - . "\n\n"; - - my @fieldlist = (Bugzilla::Bug->fields, 'group', 'long_desc', - 'attachment', 'attachmentdata'); - my %displayfields; - foreach (@fieldlist) { - $displayfields{$_} = 1; +my %is_private; +foreach my $field (grep(/^defined_isprivate/, $cgi->param())) { + $field =~ /(\d+)$/; + my $comment_id = $1; + $is_private{$comment_id} = $cgi->param("isprivate_$comment_id"); +} +$set_all_fields{comment_is_private} = \%is_private; + +my %groups = ( add => [], remove => [] ); +my %checked_bit; # Used to avoid adding groups twice (defined_ + actual bit-) +foreach my $param_name (grep(/bit-\d+$/, $cgi->param())) { + $param_name =~ /bit-(\d+)$/; + my $gid = $1; + next if $checked_bit{$gid}; + my $bit_param = "bit-$gid"; + if (should_set($bit_param, 1)) { + # Check ! first to avoid having to check defined below. + if (!$cgi->param($bit_param)) { + push(@{ $groups{remove} }, $gid); + } + # "== 1" is important because mass-change uses -1 to mean + # "don't change this restriction" + elsif ($cgi->param($bit_param) == 1) { + push(@{ $groups{add} }, $gid); + } } + $checked_bit{$gid} = 1; +} +$set_all_fields{groups} = \%groups; - $template->process("bug/show.xml.tmpl", { bugs => $bugs, - displayfields => \%displayfields, - }, \$msg) - || ThrowTemplateError($template->error()); - - $msg .= "\n"; - MessageToMTA($msg); - - # End the response page. - unless (Bugzilla->usage_mode == USAGE_MODE_EMAIL) { - $template->process("bug/navigate.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - $template->process("global/footer.html.tmpl", $vars) - || ThrowTemplateError($template->error()); +my @custom_fields = Bugzilla->active_custom_fields; +foreach my $field (@custom_fields) { + my $fname = $field->name; + if (should_set($fname, 1)) { + $set_all_fields{$fname} = [$cgi->param($fname)]; } - exit; } - -# You cannot mark bugs as duplicates when changing several bugs at once -# (because currently there is no way to check for duplicate loops in that -# situation). -if (!$cgi->param('id') && $cgi->param('dup_id')) { - ThrowUserError('dupe_not_allowed'); +foreach my $b (@bug_objects) { + $b->set_all(\%set_all_fields); } -# Set the status, resolution, and dupe_of (if needed). This has to be done -# down here, because the validity of status changes depends on other fields, -# such as Target Milestone. -foreach my $b (@bug_objects) { - if (should_set('bug_status')) { - $b->set_status( - scalar $cgi->param('bug_status'), - {resolution => scalar $cgi->param('resolution'), - dupe_of => scalar $cgi->param('dup_id')} - ); - } - elsif (should_set('resolution')) { - $b->set_resolution(scalar $cgi->param('resolution'), - {dupe_of => scalar $cgi->param('dup_id')}); - } - elsif (should_set('dup_id')) { - $b->set_dup_id(scalar $cgi->param('dup_id')); - } +if (defined $cgi->param('id')) { + # Flags should be set AFTER the bug has been moved into another + # product/component. The structure of flags code doesn't currently + # allow them to be set using set_all. + my ($flags, $new_flags) = Bugzilla::Flag->extract_flags_from_cgi( + $first_bug, undef, $vars); + $first_bug->set_flags($flags, $new_flags); } ############################## # Do Actual Database Updates # ############################## foreach my $bug (@bug_objects) { - $dbh->bz_start_transaction(); - - my $timestamp = $dbh->selectrow_array(q{SELECT LOCALTIMESTAMP(0)}); - my $changes = $bug->update($timestamp); + my $changes = $bug->update(); - my %notify_deps; if ($changes->{'bug_status'}) { - my ($old_status, $new_status) = @{ $changes->{'bug_status'} }; - - # If this bug has changed from opened to closed or vice-versa, - # then all of the bugs we block need to be notified. - if (is_open_state($old_status) ne is_open_state($new_status)) { - $notify_deps{$_} = 1 foreach (@{$bug->blocked}); - } - + my $new_status = $changes->{'bug_status'}->[1]; # We may have zeroed the remaining time, if we moved into a closed # status, so we should inform the user about that. if (!is_open_state($new_status) && $changes->{'remaining_time'}) { @@ -563,81 +396,7 @@ foreach my $bug (@bug_objects) { } } - # To get a list of all changed dependencies, convert the "changes" arrays - # into a long string, then collapse that string into unique numbers in - # a hash. - my $all_changed_deps = join(', ', @{ $changes->{'dependson'} || [] }); - $all_changed_deps = join(', ', @{ $changes->{'blocked'} || [] }, - $all_changed_deps); - my %changed_deps = map { $_ => 1 } split(', ', $all_changed_deps); - # When clearning one field (say, blocks) and filling in the other - # (say, dependson), an empty string can get into the hash and cause - # an error later. - delete $changed_deps{''}; - - # @msgs will store emails which have to be sent to voters, if any. - my @msgs; - if ($changes->{'product'}) { - # If some votes have been removed, RemoveVotes() returns - # a list of messages to send to voters. - # We delay the sending of these messages till changes are committed. - @msgs = RemoveVotes($bug->id, 0, 'votes_bug_moved'); - CheckIfVotedConfirmed($bug->id); - } - - $dbh->bz_commit_transaction(); - - ############### - # Send Emails # - ############### - - # Now is a good time to send email to voters. - foreach my $msg (@msgs) { - MessageToMTA($msg); - } - - my $old_qa = $changes->{'qa_contact'} ? $changes->{'qa_contact'}->[0] : ''; - my $old_own = $changes->{'assigned_to'} ? $changes->{'assigned_to'}->[0] : ''; - my $old_cc = $changes->{cc} ? $changes->{cc}->[0] : ''; - $vars->{'mailrecipients'} = { - cc => [split(/[\s,]+/, $old_cc)], - owner => $old_own, - qacontact => $old_qa, - changer => Bugzilla->user->login }; - - $vars->{'id'} = $bug->id; - $vars->{'type'} = "bug"; - - # Let the user know the bug was changed and who did and didn't - # receive email about the change. - send_results($bug->id, $vars); - - # If the bug was marked as a duplicate, we need to notify users on the - # other bug of any changes to that bug. - my $new_dup_id = $changes->{'dup_id'} ? $changes->{'dup_id'}->[1] : undef; - if ($new_dup_id) { - $vars->{'mailrecipients'} = { 'changer' => Bugzilla->user->login }; - - $vars->{'id'} = $new_dup_id; - $vars->{'type'} = "dupe"; - - # Let the user know a duplication notation was added to the - # original bug. - send_results($new_dup_id, $vars); - } - - my %all_dep_changes = (%notify_deps, %changed_deps); - foreach my $id (sort { $a <=> $b } (keys %all_dep_changes)) { - $vars->{'mailrecipients'} = { 'changer' => Bugzilla->user->login }; - $vars->{'id'} = $id; - $vars->{'type'} = "dep"; - - # Let the user (if he is able to see the bug) know we checked to - # see if we should email notice of this change to users with a - # relationship to the dependent bug and who did and didn't - # receive email about it. - send_results($id, $vars); - } + $bug->send_changes($changes, $vars); } if (Bugzilla->usage_mode == USAGE_MODE_EMAIL) { diff --git a/query.cgi b/query.cgi index 1cbcf0a60b1680420500d8d71ece1a8f9f14cc57..d45a950b28688191af6c361f5a851cbdcea8e252 100755 --- a/query.cgi +++ b/query.cgi @@ -49,44 +49,6 @@ my $buffer = $cgi->query_string(); my $user = Bugzilla->login(); my $userid = $user->id; -# Backwards compatibility hack -- if there are any of the old QUERY_* -# cookies around, and we are logged in, then move them into the database -# and nuke the cookie. This is required for Bugzilla 2.8 and earlier. -if ($userid) { - my @oldquerycookies; - foreach my $i ($cgi->cookie()) { - if ($i =~ /^QUERY_(.*)$/) { - push(@oldquerycookies, [$1, $i, $cgi->cookie($i)]); - } - } - if (defined $cgi->cookie('DEFAULTQUERY')) { - push(@oldquerycookies, [DEFAULT_QUERY_NAME, 'DEFAULTQUERY', - $cgi->cookie('DEFAULTQUERY')]); - } - if (@oldquerycookies) { - foreach my $ref (@oldquerycookies) { - my ($name, $cookiename, $value) = (@$ref); - if ($value) { - # If the query name contains invalid characters, don't import. - $name =~ /[<>&]/ && next; - trick_taint($name); - $dbh->bz_start_transaction(); - my $query = $dbh->selectrow_array( - "SELECT query FROM namedqueries " . - "WHERE userid = ? AND name = ?", - undef, ($userid, $name)); - if (!$query) { - $dbh->do("INSERT INTO namedqueries " . - "(userid, name, query) VALUES " . - "(?, ?, ?)", undef, ($userid, $name, $value)); - } - $dbh->bz_commit_transaction(); - } - $cgi->remove_cookie($cookiename); - } - } -} - if ($cgi->param('nukedefaultquery')) { if ($userid) { $dbh->do("DELETE FROM namedqueries" . @@ -127,7 +89,7 @@ sub PrefillForm { "email", "emailtype", "emailreporter", "emailassigned_to", "emailcc", "emailqa_contact", "emaillongdesc", "content", - "changedin", "votes", "short_desc", "short_desc_type", + "changedin", "short_desc", "short_desc_type", "longdesc", "longdesc_type", "bug_file_loc", "bug_file_loc_type", "status_whiteboard", "status_whiteboard_type", "bug_id", diff --git a/relogin.cgi b/relogin.cgi index 40e15ac7e60d0e1856861a4f03dbb36e82d36a73..7dcbde6250f7ee7ffa6a938816c64fe5a8763e04 100755 --- a/relogin.cgi +++ b/relogin.cgi @@ -164,7 +164,6 @@ elsif ($action eq 'begin-sudo') { my $message; my $mail_template = Bugzilla->template_inner($target_user->settings->{'lang'}->{'value'}); $mail_template->process('email/sudo.txt.tmpl', { reason => $reason }, \$message); - Bugzilla->template_inner(""); MessageToMTA($message); $vars->{'message'} = 'sudo_started'; @@ -191,7 +190,7 @@ elsif ($action eq 'end-sudo') { # No valid action found else { Bugzilla->login(LOGIN_OPTIONAL); - ThrowCodeError('unknown_action', {action => $action}); + ThrowUserError('unknown_action', {action => $action}); } # Display the template diff --git a/report.cgi b/report.cgi index c88396ab07ec58d1b448c85e15b2ea0c123d64b5..0537235fe78e9861a1266397124f94da86b5a92b 100755 --- a/report.cgi +++ b/report.cgi @@ -111,10 +111,8 @@ my @columns = qw( assigned_to reporter qa_contact - component classification version - votes keywords target_milestone ); @@ -291,7 +289,7 @@ elsif ($action eq "plot") { $vars->{'data'} = \@image_data; } else { - ThrowCodeError("unknown_action", {action => $cgi->param('action')}); + ThrowUserError('unknown_action', {action => $action}); } my $format = $template->get_format("reports/report", $formatparam, @@ -351,7 +349,9 @@ sub get_names { # the normal order. # # This is O(n^2) but it shouldn't matter for short lists. - @sorted = map {lsearch(\@unsorted, $_) == -1 ? () : $_} @{$field_list}; + foreach my $item (@$field_list) { + push(@sorted, $item) if grep { $_ eq $item } @unsorted; + } } elsif ($isnumeric) { # It's not a field we are preserving the order of, so sort it diff --git a/request.cgi b/request.cgi index b54477cb19097189a96192778e77a74f38bba182..2dd12c49b98c9139b895710a926dbb9b118c2ce4 100755 --- a/request.cgi +++ b/request.cgi @@ -113,7 +113,7 @@ sub queue { products.name, components.name, flags.attach_id, attachments.description, requesters.realname, requesters.login_name, - requestees.realname, requestees.login_name, + requestees.realname, requestees.login_name, COUNT(privs.group_id), " . $dbh->sql_date_format('flags.modification_date', '%Y.%m.%d %H:%i') . # Use the flags and flagtypes tables for information about the flags, # the bugs and attachments tables for target info, the profiles tables @@ -141,6 +141,8 @@ sub queue { ON bgmap.bug_id = bugs.bug_id AND bgmap.group_id NOT IN (" . $user->groups_as_string . ") + LEFT JOIN bug_group_map AS privs + ON privs.bug_id = bugs.bug_id LEFT JOIN cc AS ccmap ON ccmap.who = $userid AND ccmap.bug_id = bugs.bug_id @@ -292,7 +294,8 @@ sub queue { 'attach_summary' => $data[8] , 'requester' => ($data[9] ? "$data[9] <$data[10]>" : $data[10]) , 'requestee' => ($data[11] ? "$data[11] <$data[12]>" : $data[12]) , - 'created' => $data[13] + 'restricted' => $data[13] ? 1 : 0, + 'created' => $data[14] }; push(@requests, $request); } @@ -329,8 +332,7 @@ sub validateStatus { return if !defined $status; grep($status eq $_, qw(? +- + - all)) - || ThrowCodeError("flag_status_invalid", - { status => $status }); + || ThrowUserError("flag_status_invalid", { status => $status }); trick_taint($status); return $status; } @@ -340,8 +342,7 @@ sub validateGroup { return if !defined $group; grep($group eq $_, qw(requester requestee category type)) - || ThrowCodeError("request_queue_group_invalid", - { group => $group }); + || ThrowUserError("request_queue_group_invalid", { group => $group }); trick_taint($group); return $group; } diff --git a/sanitycheck.cgi b/sanitycheck.cgi index 036286454836380ecf33e5a6c2292e5839d2c9b6..63872bd499789677cd65ab5cf7ec5d39b139c562 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.cgi @@ -88,7 +88,6 @@ print $cgi->header() unless Bugzilla->usage_mode == USAGE_MODE_CMDLINE; # As this script can now alter the group_control_map table, we no longer # let users with editbugs privs run it anymore. $user->in_group("editcomponents") - || ($user->in_group('editkeywords') && $cgi->param('rebuildkeywordcache')) || ThrowUserError("auth_failure", {group => "editcomponents", action => "run", object => "sanity_check"}); @@ -98,39 +97,6 @@ unless (Bugzilla->usage_mode == USAGE_MODE_CMDLINE) { || ThrowTemplateError($template->error()); } -########################################################################### -# Users with 'editkeywords' privs only can only check keywords. -########################################################################### -unless ($user->in_group('editcomponents')) { - check_votes_or_keywords('keywords'); - Status('checks_completed'); - - $template->process('global/footer.html.tmpl', $vars) - || ThrowTemplateError($template->error()); - exit; -} - -########################################################################### -# Fix vote cache -########################################################################### - -if ($cgi->param('rebuildvotecache')) { - Status('vote_cache_rebuild_start'); - $dbh->bz_start_transaction(); - $dbh->do(q{UPDATE bugs SET votes = 0}); - my $sth_update = $dbh->prepare(q{UPDATE bugs - SET votes = ? - WHERE bug_id = ?}); - my $sth = $dbh->prepare(q{SELECT bug_id, SUM(vote_count) - FROM votes }. $dbh->sql_group_by('bug_id')); - $sth->execute(); - while (my ($id, $v) = $sth->fetchrow_array) { - $sth_update->execute($v, $id); - } - $dbh->bz_commit_transaction(); - Status('vote_cache_rebuild_end'); -} - ########################################################################### # Create missing group_control_map entries ########################################################################### @@ -282,7 +248,7 @@ if ($cgi->param('rescanallBugMail')) { # and so choosing this user as being the last one having done a change # for the bug may be problematic. So the best we can do at this point # is to choose the currently logged in user for email notification. - $vars->{'changer'} = Bugzilla->user->login; + $vars->{'changer'} = Bugzilla->user; foreach my $bugid (@$list) { Bugzilla::BugMail::Send($bugid, $vars); @@ -310,7 +276,7 @@ if ($cgi->param('remove_invalid_bug_references')) { 'bugs_fulltext/', 'cc/', 'dependencies/blocked', 'dependencies/dependson', 'duplicates/dupe', 'duplicates/dupe_of', - 'flags/', 'keywords/', 'longdescs/', 'votes/') { + 'flags/', 'keywords/', 'longdescs/') { my ($table, $field) = split('/', $pair); $field ||= "bug_id"; @@ -489,7 +455,6 @@ CrossCheck("bugs", "bug_id", ["dependencies", "blocked"], ["dependencies", "dependson"], ['flags', 'bug_id'], - ["votes", "bug_id"], ["keywords", "bug_id"], ["duplicates", "dupe_of", "dupe"], ["duplicates", "dupe", "dupe_of"]); @@ -524,7 +489,6 @@ CrossCheck("profiles", "userid", ["bugs_activity", "who", "bug_id"], ["cc", "who", "bug_id"], ['quips', 'userid'], - ["votes", "who", "bug_id"], ["longdescs", "who", "bug_id"], ["logincookies", "userid"], ["namedqueries", "userid"], @@ -681,75 +645,14 @@ while (my ($id, $email) = $sth->fetchrow_array) { } ########################################################################### -# Perform vote/keyword cache checks +# Perform keyword checks ########################################################################### -check_votes_or_keywords(); - -sub check_votes_or_keywords { - my $check = shift || 'all'; - +sub check_keywords { my $dbh = Bugzilla->dbh; - my $sth = $dbh->prepare(q{SELECT bug_id, votes, keywords - FROM bugs - WHERE votes != 0 OR keywords != ''}); - $sth->execute; - - my %votes; - my %keyword; - - while (my ($id, $v, $k) = $sth->fetchrow_array) { - if ($v != 0) { - $votes{$id} = $v; - } - if ($k) { - $keyword{$id} = $k; - } - } - - # If we only want to check keywords, skip checks about votes. - _check_votes(\%votes) unless ($check eq 'keywords'); - # If we only want to check votes, skip checks about keywords. - _check_keywords(\%keyword) unless ($check eq 'votes'); -} - -sub _check_votes { - my $votes = shift; - - Status('vote_count_start'); - my $dbh = Bugzilla->dbh; - my $sth = $dbh->prepare(q{SELECT bug_id, SUM(vote_count) - FROM votes }. - $dbh->sql_group_by('bug_id')); - $sth->execute; - - my $offer_votecache_rebuild = 0; - - while (my ($id, $v) = $sth->fetchrow_array) { - if ($v <= 0) { - Status('vote_count_alert', {id => $id}, 'alert'); - } else { - if (!defined $votes->{$id} || $votes->{$id} != $v) { - Status('vote_cache_alert', {id => $id}, 'alert'); - $offer_votecache_rebuild = 1; - } - delete $votes->{$id}; - } - } - foreach my $id (keys %$votes) { - Status('vote_cache_alert', {id => $id}, 'alert'); - $offer_votecache_rebuild = 1; - } - - Status('vote_cache_rebuild_fix') if $offer_votecache_rebuild; -} - -sub _check_keywords { - my $keyword = shift; + my $cgi = Bugzilla->cgi; Status('keyword_check_start'); - my $dbh = Bugzilla->dbh; - my $cgi = Bugzilla->cgi; my %keywordids; my $keywords = $dbh->selectall_arrayref(q{SELECT id, name @@ -782,79 +685,6 @@ sub _check_keywords { $lastid = $id; $lastk = $k; } - - Status('keyword_cache_start'); - - if ($cgi->param('rebuildkeywordcache')) { - $dbh->bz_start_transaction(); - } - - my $query = q{SELECT keywords.bug_id, keyworddefs.name - FROM keywords - INNER JOIN keyworddefs - ON keyworddefs.id = keywords.keywordid - INNER JOIN bugs - ON keywords.bug_id = bugs.bug_id - ORDER BY keywords.bug_id, keyworddefs.name}; - - $sth = $dbh->prepare($query); - $sth->execute; - - my $lastb = 0; - my @list; - my %realk; - while (1) { - my ($b, $k) = $sth->fetchrow_array; - if (!defined $b || $b != $lastb) { - if (@list) { - $realk{$lastb} = join(', ', @list); - } - last unless $b; - - $lastb = $b; - @list = (); - } - push(@list, $k); - } - - my @badbugs = (); - - foreach my $b (keys(%$keyword)) { - if (!exists $realk{$b} || $realk{$b} ne $keyword->{$b}) { - push(@badbugs, $b); - } - } - foreach my $b (keys(%realk)) { - if (!exists $keyword->{$b}) { - push(@badbugs, $b); - } - } - if (@badbugs) { - @badbugs = sort {$a <=> $b} @badbugs; - - if ($cgi->param('rebuildkeywordcache')) { - my $sth_update = $dbh->prepare(q{UPDATE bugs - SET keywords = ? - WHERE bug_id = ?}); - - Status('keyword_cache_fixing'); - foreach my $b (@badbugs) { - my $k = ''; - if (exists($realk{$b})) { - $k = $realk{$b}; - } - $sth_update->execute($k, $b); - } - Status('keyword_cache_fixed'); - } else { - Status('keyword_cache_alert', {badbugs => \@badbugs}, 'alert'); - Status('keyword_cache_rebuild'); - } - } - - if ($cgi->param('rebuildkeywordcache')) { - $dbh->bz_commit_transaction(); - } } ########################################################################### @@ -973,13 +803,6 @@ my $confirmed_open_states = join(', ', map {$dbh->quote($_)} @confirmed_open_sta BugCheck("bugs WHERE bug_status IN ($confirmed_open_states) AND everconfirmed = 0", 'bug_check_status_everconfirmed_error_text2', 'repair_everconfirmed'); -Status('bug_check_votes_everconfirmed'); - -BugCheck("bugs INNER JOIN products ON bugs.product_id = products.id " . - "WHERE everconfirmed = 0 AND votestoconfirm > 0 - AND votestoconfirm <= votes", - 'bug_check_votes_everconfirmed_error_text'); - ########################################################################### # Control Values ########################################################################### diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi index e73b1f6335fadbd35ab53e00d0d5e873c4dfe383..a036ee0c9231ddcbe489ce3014f90a26b3ea9418 100755 --- a/showdependencygraph.cgi +++ b/showdependencygraph.cgi @@ -101,7 +101,7 @@ my @valid_rankdirs = ('LR', 'RL', 'TB', 'BT'); my $rankdir = $cgi->param('rankdir') || 'TB'; # Make sure the submitted 'rankdir' value is valid. -if (lsearch(\@valid_rankdirs, $rankdir) < 0) { +if (!grep { $_ eq $rankdir } @valid_rankdirs) { $rankdir = 'TB'; } diff --git a/skins/.cvsignore b/skins/.cvsignore deleted file mode 100644 index 0d82d79c85ddd508d1887e8a65e37c86cb72985d..0000000000000000000000000000000000000000 --- a/skins/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -custom diff --git a/skins/CVS/Entries b/skins/CVS/Entries deleted file mode 100644 index 7ca984f674ee826e620ab4cf80cdb8ed43dfa9ce..0000000000000000000000000000000000000000 --- a/skins/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/.cvsignore/1.2/Tue Aug 14 21:54:35 2007//TBUGZILLA-3_6_1 -D/contrib//// -D/standard//// diff --git a/skins/CVS/Repository b/skins/CVS/Repository deleted file mode 100644 index 75689a7153df9fc69e703dd15901e39606e7dc92..0000000000000000000000000000000000000000 --- a/skins/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins diff --git a/skins/CVS/Root b/skins/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/CVS/Tag b/skins/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/contrib/CVS/Entries b/skins/contrib/CVS/Entries deleted file mode 100644 index b943e584454ab6fca75269203a5acb064dc81eda..0000000000000000000000000000000000000000 --- a/skins/contrib/CVS/Entries +++ /dev/null @@ -1 +0,0 @@ -D/Dusk//// diff --git a/skins/contrib/CVS/Repository b/skins/contrib/CVS/Repository deleted file mode 100644 index 0756094cb35d8ea29d79eda3a128397fa52c68f2..0000000000000000000000000000000000000000 --- a/skins/contrib/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/contrib diff --git a/skins/contrib/CVS/Root b/skins/contrib/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/contrib/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/contrib/CVS/Tag b/skins/contrib/CVS/Tag deleted file mode 100644 index d417e78be16e0435276b5b95c2f68f9014836e00..0000000000000000000000000000000000000000 --- a/skins/contrib/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -TBUGZILLA-3_6_1 diff --git a/skins/contrib/Dusk/.cvsignore b/skins/contrib/Dusk/.cvsignore deleted file mode 100644 index 0cbfb97f0fcf4261f556dc9232e206dfbb9fffb6..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/.cvsignore +++ /dev/null @@ -1,17 +0,0 @@ -IE-fixes.css -admin.css -attachment.css -create_attachment.css -dependency-tree.css -duplicates.css -editusers.css -help.css -panel.css -params.css -release-notes.css -reports.css -show_bug.css -show_multiple.css -summarize-time.css -voting.css -yui diff --git a/skins/contrib/Dusk/CVS/Entries b/skins/contrib/Dusk/CVS/Entries deleted file mode 100644 index dc0c7b857dd840d74bb076848df154992a4c1050..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/.cvsignore/1.5/Sat Dec 12 21:48:11 2009//TBUGZILLA-3_6_1 -/buglist.css/1.2/Tue Aug 19 10:03:18 2008//TBUGZILLA-3_6_1 -/global.css/1.8/Wed Sep 30 08:58:49 2009//TBUGZILLA-3_6_1 -/index.css/1.1/Thu Feb 12 02:17:56 2009//TBUGZILLA-3_6_1 -D/index//// diff --git a/skins/contrib/Dusk/CVS/Repository b/skins/contrib/Dusk/CVS/Repository deleted file mode 100644 index 1bbce8c87060ffbe181dd83df15d38e684a6669e..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/contrib/Dusk diff --git a/skins/contrib/Dusk/CVS/Root b/skins/contrib/Dusk/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/contrib/Dusk/CVS/Tag b/skins/contrib/Dusk/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/contrib/Dusk/index/CVS/Entries b/skins/contrib/Dusk/index/CVS/Entries deleted file mode 100644 index fc6397b3063cbf57904e384a8d75456d63c0b780..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/index/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/account.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_6_1 -/bug.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_6_1 -/search.gif/1.1/Thu Feb 12 01:11:24 2009/-kb/TBUGZILLA-3_6_1 -D diff --git a/skins/contrib/Dusk/index/CVS/Repository b/skins/contrib/Dusk/index/CVS/Repository deleted file mode 100644 index f78bd562305080e2aa3402e4b662b6dbad41f771..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/index/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/contrib/Dusk/index diff --git a/skins/contrib/Dusk/index/CVS/Root b/skins/contrib/Dusk/index/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/index/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/contrib/Dusk/index/CVS/Tag b/skins/contrib/Dusk/index/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/contrib/Dusk/index/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/CVS/Entries b/skins/standard/CVS/Entries deleted file mode 100644 index 688ad55c186ff55e3bfc7b7eda23775495ef2736..0000000000000000000000000000000000000000 --- a/skins/standard/CVS/Entries +++ /dev/null @@ -1,22 +0,0 @@ -/IE-fixes.css/1.3/Sat Dec 12 21:48:12 2009//TBUGZILLA-3_6_1 -/admin.css/1.7/Mon Sep 8 20:37:50 2008//TBUGZILLA-3_6_1 -/buglist.css/1.18.2.1/Wed Apr 7 03:47:53 2010//TBUGZILLA-3_6_1 -/create_attachment.css/1.3/Fri Oct 23 21:32:06 2009//TBUGZILLA-3_6_1 -/dependency-tree.css/1.3/Sat Jan 6 19:48:10 2007//TBUGZILLA-3_6_1 -/duplicates.css/1.3/Mon Feb 1 23:57:08 2010//TBUGZILLA-3_6_1 -/editusers.css/1.3/Sun May 13 18:58:26 2007//TBUGZILLA-3_6_1 -/global.css/1.72.2.1/Sun Mar 28 21:51:04 2010//TBUGZILLA-3_6_1 -/help.css/1.1/Sun Apr 15 18:43:26 2007//TBUGZILLA-3_6_1 -/index.css/1.12/Fri Oct 9 04:38:13 2009//TBUGZILLA-3_6_1 -/page.css/1.1.2.2/Sun Feb 7 23:47:21 2010//TBUGZILLA-3_6_1 -/panel.css/1.1/Wed Dec 12 22:41:11 2001//TBUGZILLA-3_6_1 -/params.css/1.4/Thu Aug 2 22:38:45 2007//TBUGZILLA-3_6_1 -/reports.css/1.1/Sat Dec 12 21:48:12 2009//TBUGZILLA-3_6_1 -/show_bug.css/1.13/Sun Dec 13 22:52:18 2009//TBUGZILLA-3_6_1 -/show_multiple.css/1.4/Sun Jun 18 23:11:59 2006//TBUGZILLA-3_6_1 -/summarize-time.css/1.1/Mon Feb 28 17:52:57 2005//TBUGZILLA-3_6_1 -/voting.css/1.1/Tue Feb 8 15:49:57 2005//TBUGZILLA-3_6_1 -D/dependency-tree//// -D/global//// -D/index//// -D/yui//// diff --git a/skins/standard/CVS/Repository b/skins/standard/CVS/Repository deleted file mode 100644 index b29987f3ed92b82961b8b68614557038f2a79c15..0000000000000000000000000000000000000000 --- a/skins/standard/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/standard diff --git a/skins/standard/CVS/Root b/skins/standard/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/standard/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/standard/CVS/Tag b/skins/standard/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/standard/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/IE-fixes.css b/skins/standard/IE-fixes.css index f7e95f990336a8e4e2cfb61bb0e198adf77b7d28..1b6b9929f8661c807016384206bea68df33a2a35 100644 --- a/skins/standard/IE-fixes.css +++ b/skins/standard/IE-fixes.css @@ -22,6 +22,10 @@ margin-top: .5em; } +form#Create #comp_desc { + margin: .5em 1em; +} + #footer #useful-links li { padding-bottom: 0.8ex; } @@ -40,3 +44,9 @@ #footer .links { display: inline; } + +#bug_id_container, .search_field_grid, +.search_email_fields, ul.bug_changes li { + zoom: 1; + display: inline; +} \ No newline at end of file diff --git a/skins/standard/admin.css b/skins/standard/admin.css index 184c4961af513cbb10c124892a7fda927accc9ed..6b330ef6d4ae45a63dc676e97d15a6a34c03e5ae 100644 --- a/skins/standard/admin.css +++ b/skins/standard/admin.css @@ -113,3 +113,15 @@ th.title { text-align: center; vertical-align: middle; } + +#edit_custom_field tr { + vertical-align: top; +} + +#edit_custom_field th { + text-align: right; +} + +#edit_custom_field th.narrow_label { + white-space: normal; +} diff --git a/skins/standard/create_attachment.css b/skins/standard/attachment.css similarity index 61% rename from skins/standard/create_attachment.css rename to skins/standard/attachment.css index 0d8a2b886bac63dbebd379b4be471ff492e6bb8d..f12d9b68244999bd28fea8348907b1c731f3bd5f 100644 --- a/skins/standard/create_attachment.css +++ b/skins/standard/attachment.css @@ -14,6 +14,7 @@ * Joel Peshkin <bugreport@peshkin.net> * Erik Stambaugh <erik@dasbistro.com> * Marc Schumann <wurblzap@gmail.com> + * Guy Pyrzak <guy.pyrzak@gmail.com> */ table.attachment_entry th { @@ -121,10 +122,6 @@ table.attachment_info td { vertical-align: middle; } -#attachment_attributes { - width: 25%; -} - #attachment_attributes div { padding-bottom: 0.4em; } @@ -140,6 +137,105 @@ table.attachment_info td { display: block; } -#attachment_attributes table#flags { - padding-top: 1em; +#smallCommentFrame, #attachment_flags { + float: left; +} + +#smallCommentFrame { + margin-right: 1.5em; +} + +#attachment_comments_and_flags, #attachment_actions { + clear: both; + margin-bottom: 1ex; +} + +#attachment_information_read_only .title { + font-weight: bold; + font-size: 1.5em; + padding: 0; + margin: 0; +} + +#attachment_information_read_only .title #bz_edit { + font-size: 0.7em; +} + +#attachment_information_read_only .details { + font-family: monospace; +} + +#attachment_info.read #attachment_information_edit { + display: none; +} + +#attachment_info.edit #attachment_information_read_only { + display: none; +} + +#attachment_info.edit #attachment_view_window { + float: left; + width: 80%; +} + +#attachment_info.edit #attachment_information_edit { + width: 20%; } + +#attachment_info.edit #attachment_information_edit input.text, +#attachment_info.edit #attachment_information_edit textarea { + width: 90%; +} + +#attachment_isobsolete { + padding-right: 1em; +} + +#attachment_information_edit { + float: left; +} + +#smallCommentFrame textarea { + display: block; +} + +textarea.bz_private { + border: 1px solid #F8C8BA; +} + +#update { + clear: both; + display: block; +} + +textarea { + font-family: monospace; +} + +div#update_container { + clear: both; + padding: 1.5em 0; +} + +#attachment_flags { + margin-bottom: 1em; +} + +#attachment_flags p { + padding-bottom: 0; + margin-bottom: 0; +} + +#editFrame, #viewDiffFrame, #viewFrame { + height: 400px; + width: 100%; +} + +.details span.bz_private{ + border-left: 1px solid darkred; + padding-left: 0.5em; +} + +.no_javascript .bz_hide, .no_javascript .bz_edit { + display: none; +} \ No newline at end of file diff --git a/skins/standard/buglist.css b/skins/standard/buglist.css index a1937bc1e75696e555bb78c0d17e89f26dae12cf..46c5f608a42f4abdbaffb3fd20bf22a812c3e622 100644 --- a/skins/standard/buglist.css +++ b/skins/standard/buglist.css @@ -73,14 +73,14 @@ table.bz_buglist td, table.bz_buglist th { /* we use a first-child class and not the pseudo-class because IE * doesn't support it :-( */ -tr.bz_secure td.first-child { +tr.bz_secure td.first-child, a.bz_secure { background-image: url("../../images/padlock.png"); background-position: center left; background-repeat: no-repeat; background-color: inherit; } -th.first-child, td.first-child { +th.first-child, td.first-child, a.bz_secure { padding-left: 20px; } diff --git a/skins/standard/dependency-tree/CVS/Entries b/skins/standard/dependency-tree/CVS/Entries deleted file mode 100644 index 451df249936884ab75b04d94edc56fddfe0fc353..0000000000000000000000000000000000000000 --- a/skins/standard/dependency-tree/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/bug-item.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_6_1 -/tree-closed.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_6_1 -/tree-open.png/1.1/Fri Feb 24 01:31:13 2006/-kb/TBUGZILLA-3_6_1 -/tree.png/1.1/Tue May 23 00:31:35 2006/-kb/TBUGZILLA-3_6_1 -D diff --git a/skins/standard/dependency-tree/CVS/Repository b/skins/standard/dependency-tree/CVS/Repository deleted file mode 100644 index 0dfc16f1f5986141913187063d9fc70fdcb6e2fe..0000000000000000000000000000000000000000 --- a/skins/standard/dependency-tree/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/standard/dependency-tree diff --git a/skins/standard/dependency-tree/CVS/Root b/skins/standard/dependency-tree/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/standard/dependency-tree/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/standard/dependency-tree/CVS/Tag b/skins/standard/dependency-tree/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/standard/dependency-tree/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/enter_bug.css b/skins/standard/enter_bug.css new file mode 100644 index 0000000000000000000000000000000000000000..2fd79baa4902294f62a764dd8096c687b9a5118f --- /dev/null +++ b/skins/standard/enter_bug.css @@ -0,0 +1,65 @@ +/* The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Bugzilla Bug Tracking System. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. + * + * Contributor(s): Byron Jones <bugzilla@glob.com.au> + * Christian Reis <kiko@async.com.br> + * Vitaly Harisov <vitaly@rathedg.com> + * Svetlana Harisova <light@rathedg.com> + * Marc Schumann <wurblzap@gmail.com> + * Pascal Held <paheld@gmail.com> + * Max Kanat-Alexander <mkanat@bugzilla.org> + */ + +/* These are specified using the class instead of the id so that they + don't override the YUI CSS. */ +.enter_bug_form table { + border-spacing: 0; + border-width: 0; +} +.enter_bug_form td, .enter_bug_form th { padding: .25em; } +.enter_bug_form th { text-align: right; } + +/* This makes the "component" column as small as possible (since it + * contains only fixed-width content) and the Reporter column + * as large as possible, which makes the form not jump around + * when the Component Description changes size. This works + * pretty well on all browsers except IE 8. + */ +#Create #field_container_component { width: 1px; } +#Create #field_container_reporter { width: 100%; } + +#Create .comment { + vertical-align: top; + overflow: auto; + color: green; +} +#Create #comp_desc_container td { padding: 0; } +#Create #comp_desc { height: 11ex; } +#Create #os_guess_note { + padding-top: 0; +} +#Create #os_guess_note div { + max-width: 35em; +} + +/* The Possible Duplicates table on enter_bug. */ +#possible_duplicates th { + text-align: center; + background: none; + border-collapse: collapse; +} +/* Make the Add Me to CC button never wrap. */ +#possible_duplicates .yui-dt-col-update_token { white-space: nowrap; } diff --git a/skins/standard/global.css b/skins/standard/global.css index a9b406a89f5093a54860f626a91026816a3bc7f2..5cc71ef533ef52fa4cb6307ccf3043518795f6a4 100644 --- a/skins/standard/global.css +++ b/skins/standard/global.css @@ -452,6 +452,10 @@ div.user_match { display: none; } + div.bz_query_buttons { + display: none; + } + body { background-image: none; background-color: #fff; @@ -463,6 +467,9 @@ div.user_match { vertical-align: top; font-weight: bold; } +.field_help_link { + cursor: help; +} .field_value, form#Create th, form#Create td { vertical-align: top; } @@ -497,19 +504,6 @@ input.required, select.required, span.required_explanation { list-style-type: none; } -form#Create th { - text-align: right; -} - -form#Create .comment { - vertical-align: top; - overflow: auto; - color: green; - margin: 0 0.5em; - padding: 0.3em; - height: 8ex; -} - .image_button { background-repeat: no-repeat; background-position: center center; @@ -532,3 +526,8 @@ form#Create .comment { #down_button { background-image: url(global/down.png); } + +/* custom styles for inline instances of autocomplete input fields*/ +.yui-skin-sam .yui-ac-input { position:static !important; + vertical-align:middle !important;} +.yui-skin-sam .yui-ac-container { left:0px !important;} diff --git a/skins/standard/global/CVS/Entries b/skins/standard/global/CVS/Entries deleted file mode 100644 index eb707330516483a1bd6324398699e9b21646b139..0000000000000000000000000000000000000000 --- a/skins/standard/global/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/body-back.gif/1.1/Fri Mar 11 03:07:18 2005/-kb/TBUGZILLA-3_6_1 -/calendar.png/1.1/Thu Nov 29 02:20:30 2007/-kb/TBUGZILLA-3_6_1 -/down.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_6_1 -/header.png/1.1/Thu Feb 3 19:23:17 2005/-kb/TBUGZILLA-3_6_1 -/left.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_6_1 -/right.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_6_1 -/up.png/1.1/Wed Sep 10 19:07:07 2008/-kb/TBUGZILLA-3_6_1 -D diff --git a/skins/standard/global/CVS/Repository b/skins/standard/global/CVS/Repository deleted file mode 100644 index 2b7d15120315c11a18dfa053abc4f0017306a396..0000000000000000000000000000000000000000 --- a/skins/standard/global/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/standard/global diff --git a/skins/standard/global/CVS/Root b/skins/standard/global/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/standard/global/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/standard/global/CVS/Tag b/skins/standard/global/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/standard/global/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/index/CVS/Entries b/skins/standard/index/CVS/Entries deleted file mode 100644 index 28d8dbe6375066b77acea429252c75aa40140d76..0000000000000000000000000000000000000000 --- a/skins/standard/index/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/account.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_6_1 -/bug.gif/1.3/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_6_1 -/search.gif/1.1/Thu Feb 12 01:11:26 2009/-kb/TBUGZILLA-3_6_1 -D diff --git a/skins/standard/index/CVS/Repository b/skins/standard/index/CVS/Repository deleted file mode 100644 index a5573ea501a7e81f38f9513f759b3fb99cb740b6..0000000000000000000000000000000000000000 --- a/skins/standard/index/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/standard/index diff --git a/skins/standard/index/CVS/Root b/skins/standard/index/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/standard/index/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/standard/index/CVS/Tag b/skins/standard/index/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/standard/index/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/page.css b/skins/standard/page.css index 47869bb5844454645cd2cc59605201de11fa4513..da0c3be8d84f144d70e01e38c399e81a506cf12b 100644 --- a/skins/standard/page.css +++ b/skins/standard/page.css @@ -68,3 +68,36 @@ width: 10em; } +/***************/ +/* fields.html */ +/***************/ + +table.field_value_explanation { + table-layout: fixed; + border-collapse: collapse; +} + +.field_value_explanation thead h2 { + margin: 0; +} + +.field_value_explanation .header_row td { + text-align: center; + font-size: 120%; + font-weight: bold; +} + +.field_value_explanation tbody td { + border: 1px solid black; + padding: 1em; +} + +.field_value_explanation dt, +.field_descriptions dt +{ + margin-top: 1em; +} + +.field_descriptions dt { + font-size: 120%; +} diff --git a/skins/standard/search_form.css b/skins/standard/search_form.css new file mode 100644 index 0000000000000000000000000000000000000000..9e123ab54c9c2a25f22382a1d3d42e9b7b8a1519 --- /dev/null +++ b/skins/standard/search_form.css @@ -0,0 +1,133 @@ +/* The contents of this file are subject to the Mozilla Public + * License Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS + * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + * implied. See the License for the specific language governing + * rights and limitations under the License. + * + * The Original Code is the Bugzilla Bug Tracking System. + * + * The Initial Developer of the Original Code is Guy Pyrzak + * Portions created by the Initial Developer are Copyright (C) 2010 the + * Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Guy Pyrzak <guy.pyrzak@gmail.com> + */ + +#bug_id_container { + display: inline-block; + vertical-align: middle; +} + +.search_field_grid { + margin-top: 1em; + display: inline-block; +} + +.search_field_grid .field_help_link, +.history_query .field_help_link +{ + display: block; + text-align: left; +} + +#chart .section_help { + font-size: 0.8em; + font-weight: normal +} + +#bug_id_container .field_help { + font-size: 0.75em +} + +.search_field_row { + display: block; + padding: 0.5ex 0; + vertical-align: top; +} + +.search_field_grid label { + display: block; +} + +.search_field_grid select { + width: 17em; + height: 15ex; +} + +.search_field_grid, .search_field_row { + padding-left: 1.5em; +} + +.search_email_fields { + display: inline-block; + width: 14.5em; + padding-left: 1.5em; +} + +ul.bug_changes { + margin: 0; + padding: 0; +} + +ul.bug_changes li { + display: inline-block; + width: 14.5em; + vertical-align: top; + padding-left: 1.5em; +} + +ul.bug_changes select { + width: 15em; +} + +ul.bug_changes li label { + display: block; +} + +div.bz_section_title { + display: block; + margin-top: 2em; + font-size: 1.2em; +} + +div.bz_section_title a { + font-weight: bold; +} + +div.bz_section_title span { + font-size: 0.75em; + margin-left: 1em; +} + +#summary_field { + margin: 0; + padding: 0; +} + +#summary_field label { + margin-right: 2em; + font-weight: bold; + display: inline; +} + +.hide_people_filter #people_filter_section, +.hide_history_filter #history_filter_section, +.hide_detailed_information #detailed_information_section +{ + display: none; +} + +.arrow { + display: inline; + width: 16px; + height: 16px; +} + +.bz_search_section, ul.bz_search_section { + margin-top: 1em; +} \ No newline at end of file diff --git a/skins/standard/show_bug.css b/skins/standard/show_bug.css index 3e330a169a4c0ebca37409ea676bc3fbc327e093..1768ddc42551271ddca3f59e8b373bb0deb18b39 100644 --- a/skins/standard/show_bug.css +++ b/skins/standard/show_bug.css @@ -54,9 +54,8 @@ table#flags { height: 1em; } -#duplicate_settings, #votes_container { +#duplicate_settings { white-space: nowrap; - } #bz_big_form_parts td { @@ -99,6 +98,9 @@ table#flags { .bz_time_tracking_table .bz_summarize_time { text-align: right; } +.bz_time_tracking_table #deadline { + width: 7em; +} #summary tr td { vertical-align:top; diff --git a/skins/standard/yui/CVS/Entries b/skins/standard/yui/CVS/Entries deleted file mode 100644 index d7223e6a8c9c366081adb4390f338820ca211688..0000000000000000000000000000000000000000 --- a/skins/standard/yui/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/calendar.css/1.2/Thu Jan 15 01:01:25 2009//TBUGZILLA-3_6_1 -/sprite.png/1.2/Thu Jan 15 01:01:26 2009/-kb/TBUGZILLA-3_6_1 -D diff --git a/skins/standard/yui/CVS/Repository b/skins/standard/yui/CVS/Repository deleted file mode 100644 index 3b77e6c3e820237cc0e57a5d5c91e70a69a0d780..0000000000000000000000000000000000000000 --- a/skins/standard/yui/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/skins/standard/yui diff --git a/skins/standard/yui/CVS/Root b/skins/standard/yui/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/skins/standard/yui/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/skins/standard/yui/CVS/Tag b/skins/standard/yui/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/skins/standard/yui/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/skins/standard/yui/calendar.css b/skins/standard/yui/calendar.css deleted file mode 100644 index aad17821a300944dfdbdd6eb377c47bd2e411d22..0000000000000000000000000000000000000000 --- a/skins/standard/yui/calendar.css +++ /dev/null @@ -1,7 +0,0 @@ -/* -Copyright (c) 2008, Yahoo! Inc. All rights reserved. -Code licensed under the BSD License: -http://developer.yahoo.net/yui/license.txt -version: 2.6.0 -*/ -.yui-calcontainer{position:relative;float:left;_overflow:hidden;}.yui-calcontainer iframe{position:absolute;border:none;margin:0;padding:0;z-index:0;width:100%;height:100%;left:0px;top:0px;}.yui-calcontainer iframe.fixedsize{width:50em;height:50em;top:-1px;left:-1px;}.yui-calcontainer.multi .groupcal{z-index:1;float:left;position:relative;}.yui-calcontainer .title{position:relative;z-index:1;}.yui-calcontainer .close-icon{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar{position:relative;}.yui-calendar .calnavleft{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calnavright{position:absolute;z-index:1;text-indent:-10000em;overflow:hidden;}.yui-calendar .calheader{position:relative;width:100%;text-align:center;}.yui-calcontainer .yui-cal-nav-mask{position:absolute;z-index:2;margin:0;padding:0;width:100%;height:100%;_width:0;_height:0;left:0;top:0;display:none;}.yui-calcontainer .yui-cal-nav{position:absolute;z-index:3;top:0;display:none;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{display:-moz-inline-box;display:inline-block;}.yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{display:block;*display:inline-block;*overflow:visible;border:none;background-color:transparent;cursor:pointer;}.yui-calendar .calbody a:hover{background:inherit;}p#clear{clear:left;padding-top:10px;}.yui-skin-sam .yui-calcontainer{background-color:#f2f2f2;border:1px solid #808080;padding:10px;}.yui-skin-sam .yui-calcontainer.multi{padding:0 5px 0 5px;}.yui-skin-sam .yui-calcontainer.multi .groupcal{background-color:transparent;border:none;padding:10px 5px 10px 5px;margin:0;}.yui-skin-sam .yui-calcontainer .title{background:url(sprite.png) repeat-x 0 0;border-bottom:1px solid #cccccc;font:100% sans-serif;color:#000;font-weight:bold;height:auto;padding:.4em;margin:0 -10px 10px -10px;top:0;left:0;text-align:left;}.yui-skin-sam .yui-calcontainer.multi .title{margin:0 -5px 0 -5px;}.yui-skin-sam .yui-calcontainer.withtitle{padding-top:0;}.yui-skin-sam .yui-calcontainer .calclose{background:url(sprite.png) no-repeat 0 -300px;width:25px;height:15px;top:.4em;right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar{border-spacing:0;border-collapse:collapse;font:100% sans-serif;text-align:center;margin:0;}.yui-skin-sam .yui-calendar .calhead{background:transparent;border:none;vertical-align:middle;padding:0;}.yui-skin-sam .yui-calendar .calheader{background:transparent;font-weight:bold;padding:0 0 .6em 0;text-align:center;}.yui-skin-sam .yui-calendar .calheader img{border:none;}.yui-skin-sam .yui-calendar .calnavleft{background:url(sprite.png) no-repeat 0 -450px;width:25px;height:15px;top:0;bottom:0;left:-10px;margin-left:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calnavright{background:url(sprite.png) no-repeat 0 -500px;width:25px;height:15px;top:0;bottom:0;right:-10px;margin-right:.4em;cursor:pointer;}.yui-skin-sam .yui-calendar .calweekdayrow{height:2em;}.yui-skin-sam .yui-calendar .calweekdayrow th{padding:0;border:none;}.yui-skin-sam .yui-calendar .calweekdaycell{color:#000;font-weight:bold;text-align:center;width:2em;}.yui-skin-sam .yui-calendar .calfoot{background-color:#f2f2f2;}.yui-skin-sam .yui-calendar .calrowhead,.yui-skin-sam .yui-calendar .calrowfoot{color:#a6a6a6;font-size:85%;font-style:normal;font-weight:normal;border:none;}.yui-skin-sam .yui-calendar .calrowhead{text-align:right;padding:0 2px 0 0;}.yui-skin-sam .yui-calendar .calrowfoot{text-align:left;padding:0 0 0 2px;}.yui-skin-sam .yui-calendar td.calcell{border:1px solid #cccccc;background:#fff;padding:1px;height:1.6em;line-height:1.6em;text-align:center;white-space:nowrap;}.yui-skin-sam .yui-calendar td.calcell a{color:#0066cc;display:block;height:100%;text-decoration:none;}.yui-skin-sam .yui-calendar td.calcell.today{background-color:#000;}.yui-skin-sam .yui-calendar td.calcell.today a{background-color:#fff;}.yui-skin-sam .yui-calendar td.calcell.oom{background-color:#cccccc;color:#a6a6a6;cursor:default;}.yui-skin-sam .yui-calendar td.calcell.selected{background-color:#fff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.selected a{background-color:#b3d4ff;color:#000;}.yui-skin-sam .yui-calendar td.calcell.calcellhover{background-color:#426fd9;color:#fff;cursor:pointer;}.yui-skin-sam .yui-calendar td.calcell.calcellhover a{background-color:#426fd9;color:#fff;}.yui-skin-sam .yui-calendar td.calcell.previous{color:#e0e0e0;}.yui-skin-sam .yui-calendar td.calcell.restricted{text-decoration:line-through;}.yui-skin-sam .yui-calendar td.calcell.highlight1{background-color:#ccff99;}.yui-skin-sam .yui-calendar td.calcell.highlight2{background-color:#99ccff;}.yui-skin-sam .yui-calendar td.calcell.highlight3{background-color:#ffcccc;}.yui-skin-sam .yui-calendar td.calcell.highlight4{background-color:#ccff99;}.yui-skin-sam .yui-calendar a.calnav{border:1px solid #f2f2f2;padding:0 4px;text-decoration:none;color:#000;zoom:1;}.yui-skin-sam .yui-calendar a.calnav:hover{background:url(sprite.png) repeat-x 0 0;border-color:#A0A0A0;cursor:pointer;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-mask{background-color:#000;opacity:0.25;*filter:alpha(opacity=25);}.yui-skin-sam .yui-calcontainer .yui-cal-nav{font-family:arial,helvetica,clean,sans-serif;font-size:93%;border:1px solid #808080;left:50%;margin-left:-7em;width:14em;padding:0;top:2.5em;background-color:#f2f2f2;}.yui-skin-sam .yui-calcontainer.withtitle .yui-cal-nav{top:4.5em;}.yui-skin-sam .yui-calcontainer.multi .yui-cal-nav{width:16em;margin-left:-8em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y,.yui-skin-sam .yui-calcontainer .yui-cal-nav-m,.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{padding:5px 10px 5px 10px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-b{text-align:center;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-e{margin-top:5px;padding:5px;background-color:#EDF5FF;border-top:1px solid black;display:none;}.yui-skin-sam .yui-calcontainer .yui-cal-nav label{display:block;font-weight:bold;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-mc{width:100%;_width:auto;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-y input.yui-invalid{background-color:#FFEE69;border:1px solid #000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav-yc{width:4em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn{border:1px solid #808080;background:url(sprite.png) repeat-x 0 0;background-color:#ccc;margin:auto .15em;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn button{padding:0 8px;font-size:93%;line-height:2;*line-height:1.7;min-height:2em;*min-height:auto;color:#000;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default{border:1px solid #304369;background-color:#426fd9;background:url(sprite.png) repeat-x 0 -1400px;}.yui-skin-sam .yui-calcontainer .yui-cal-nav .yui-cal-nav-btn.yui-default button{color:#fff;} diff --git a/t/.cvsignore b/t/.cvsignore deleted file mode 100644 index 03c88fd7a391ed2c4dd8b179016cd9b95923df88..0000000000000000000000000000000000000000 --- a/t/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.htaccess diff --git a/t/007util.t b/t/007util.t index af36e94acde669319fc8f6507ea3cfb11bff6926..742c2b2d220eca1c64c131d325568d770b3af079 100644 --- a/t/007util.t +++ b/t/007util.t @@ -26,7 +26,7 @@ use lib 't'; use Support::Files; -use Test::More tests => 16; +use Test::More tests => 13; BEGIN { use_ok(Bugzilla); @@ -50,12 +50,6 @@ is(html_quote("<lala&@>"),"<lala&@>",'html_quote'); #url_quote(): is(url_quote("<lala&>gaa\"'[]{\\"),"%3Clala%26%3Egaa%22%27%5B%5D%7B%5C",'url_quote'); -#lsearch(): -my @list = ('apple','pear','plum','<"\\%'); -is(lsearch(\@list,'pear'),1,'lsearch 1'); -is(lsearch(\@list,'<"\\%'),3,'lsearch 2'); -is(lsearch(\@list,'kiwi'),-1,'lsearch 3 (missing item)'); - #trim(): is(trim(" fg<*\$%>+=~~ "),'fg<*$%>+=~~','trim()'); diff --git a/t/008filter.t b/t/008filter.t index e6ae4c13af8be1a443db50a5e3246421f8fbf4cb..5a5b223c8a22982f2845f51300ceb4f712df98a0 100644 --- a/t/008filter.t +++ b/t/008filter.t @@ -226,7 +226,7 @@ sub directive_ok { return 1 if $directive =~ /FILTER\ (html|csv|js|base64|url_quote|css_class_quote| ics|quoteUrls|time|uri|xml|lower|html_light| obsolete|inactive|closed|unitconvert| - txt|none)\b/x; + txt|html_linebreak|none)\b/x; return 0; } diff --git a/t/010dependencies.t b/t/010dependencies.t index 977c8aa67d463a909a2fcc3fb9641277bf0cef10..3289d098e754d00f713bfdcf8aad31fc08cb9ac4 100644 --- a/t/010dependencies.t +++ b/t/010dependencies.t @@ -21,8 +21,7 @@ ## dependencies ## use strict; - -use lib 't'; +use lib qw(. lib t); use Support::Files; use Test::More qw(no_plan); @@ -30,6 +29,16 @@ use Test::More qw(no_plan); my %mods; my %deps; +use constant MODULE_REGEX => qr/ + (?:(?:^\s*use) + | + (?:^require) + )\s+ + ['"]? + ([\w:\.\\]+) +/x; +use constant BASE_REGEX => qr/^use base qw\(([^\)]+)/; + # Extract all Perl modules. foreach my $file (@Support::Files::testitems) { if ($file =~ /^(.*)\.pm$/) { @@ -58,18 +67,19 @@ foreach my $module (keys %mods) { if ($line =~ /^package\s+([^;]);/) { $module = $1; } - elsif ($line =~ /^\s*(?:use|^require) *"?(Bugzilla.*?)"?(?:;|\s+qw[\(\{]|\s+\(\))/) { - my $used = $1; - $used =~ s#/#::#g; - $used =~ s#\.pm$##; - $used =~ s#\$module#[^:]+#; - $used =~ s#\${[^}]+}#[^:]+#; - $used =~ s#[" ]##g; - my $exclude = ""; - if ($used eq 'Bugzilla::Auth::Login::[^:]+' ) { $exclude = 'Bugzilla::Auth::Login::Stack' } - elsif ($used eq 'Bugzilla::Auth::Verify::[^:]+') { $exclude = 'Bugzilla::Auth::Verify::Stack' } - elsif ($used eq 'Bugzilla::Config::[^:]+' ) { $exclude = 'Bugzilla::Config::Common' } - push(@use, grep(/^$used$/, grep(!/^$exclude$/, keys %mods))); + elsif ($line =~ BASE_REGEX or $line =~ MODULE_REGEX) { + my $used_string = $1; + # "use base" can have multiple modules + my @used_array = split(/\s+/, $used_string); + foreach my $used (@used_array) { + next if $used !~ /^Bugzilla/; + $used =~ s#/#::#g; + $used =~ s#\.pm$##; + $used =~ s#\$module#[^:]+#; + $used =~ s#\${[^}]+}#[^:]+#; + $used =~ s#[" ]##g; + push(@use, grep(/^\Q$used\E$/, keys %mods)); + } } } close (SOURCE); diff --git a/t/CVS/Entries b/t/CVS/Entries deleted file mode 100644 index a3dc380f763dc85057f829a9ffe40c2b888df954..0000000000000000000000000000000000000000 --- a/t/CVS/Entries +++ /dev/null @@ -1,14 +0,0 @@ -/.cvsignore/1.1/Mon Feb 1 00:33:38 2010//TBUGZILLA-3_6_1 -/001compile.t/1.20.2.1/Fri Feb 12 05:33:05 2010//TBUGZILLA-3_6_1 -/002goodperl.t/1.15/Wed Sep 8 22:46:34 2004//TBUGZILLA-3_6_1 -/003safesys.t/1.6/Sun Dec 5 14:13:27 2004//TBUGZILLA-3_6_1 -/004template.t/1.40/Wed Mar 5 17:19:48 2008//TBUGZILLA-3_6_1 -/005whitespace.t/1.15/Mon Mar 2 21:24:28 2009//TBUGZILLA-3_6_1 -/006spellcheck.t/1.6/Wed Jul 25 14:47:20 2007//TBUGZILLA-3_6_1 -/007util.t/1.13/Thu Jul 16 01:30:52 2009//TBUGZILLA-3_6_1 -/008filter.t/1.32/Wed Nov 25 05:02:56 2009//TBUGZILLA-3_6_1 -/009bugwords.t/1.8/Wed Feb 25 19:24:46 2009//TBUGZILLA-3_6_1 -/010dependencies.t/1.1/Tue Sep 5 17:02:45 2006//TBUGZILLA-3_6_1 -/011pod.t/1.1/Tue Jul 26 14:23:50 2005//TBUGZILLA-3_6_1 -/012throwables.t/1.6/Fri Sep 4 21:08:52 2009//TBUGZILLA-3_6_1 -D/Support//// diff --git a/t/CVS/Repository b/t/CVS/Repository deleted file mode 100644 index a54a8bb946be1ade404a1daf900652844deac048..0000000000000000000000000000000000000000 --- a/t/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/t diff --git a/t/CVS/Root b/t/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/t/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/t/CVS/Tag b/t/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/t/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/t/Support/CVS/Entries b/t/Support/CVS/Entries deleted file mode 100644 index 0e4fe031ae7de7da19a6880638789a10c6fbd508..0000000000000000000000000000000000000000 --- a/t/Support/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/Files.pm/1.26/Wed Nov 25 05:02:56 2009//TBUGZILLA-3_6_1 -/Systemexec.pm/1.2/Fri Oct 19 22:39:51 2001//TBUGZILLA-3_6_1 -/Templates.pm/1.15/Tue Jul 4 22:25:47 2006//TBUGZILLA-3_6_1 -D diff --git a/t/Support/CVS/Repository b/t/Support/CVS/Repository deleted file mode 100644 index 28d73d728804a05b9d21d0c5c67072ea2e01d8c3..0000000000000000000000000000000000000000 --- a/t/Support/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/t/Support diff --git a/t/Support/CVS/Root b/t/Support/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/t/Support/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/t/Support/CVS/Tag b/t/Support/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/t/Support/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/.cvsignore b/template/.cvsignore deleted file mode 100644 index 2e42e128777a87d4191ac9c9666f6fc6ba3f918c..0000000000000000000000000000000000000000 --- a/template/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -.htaccess -de -es diff --git a/template/CVS/Entries b/template/CVS/Entries deleted file mode 100644 index db9fdb27b2a5a91ab4b6c58dc9e6ea8d57149660..0000000000000000000000000000000000000000 --- a/template/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.cvsignore/1.3/Tue May 7 21:33:53 2002//TBUGZILLA-3_6_1 -D/en//// diff --git a/template/CVS/Repository b/template/CVS/Repository deleted file mode 100644 index 02f5728384e6884c466f95b47edbdfae109d2eb5..0000000000000000000000000000000000000000 --- a/template/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template diff --git a/template/CVS/Root b/template/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/CVS/Tag b/template/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/.cvsignore b/template/en/.cvsignore deleted file mode 100644 index 73b23521a435f70e1d7a4f131a9e893f0c05a437..0000000000000000000000000000000000000000 --- a/template/en/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -.htaccess -custom diff --git a/template/en/CVS/Entries b/template/en/CVS/Entries deleted file mode 100644 index f86ef0ca9dfe31457ce27603c128952e01b11893..0000000000000000000000000000000000000000 --- a/template/en/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/.cvsignore/1.1/Wed Apr 24 07:29:49 2002//TBUGZILLA-3_6_1 -D/default//// diff --git a/template/en/CVS/Repository b/template/en/CVS/Repository deleted file mode 100644 index 96dbd4788fa16004b7dcf6ae6f5c9659811ea403..0000000000000000000000000000000000000000 --- a/template/en/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en diff --git a/template/en/CVS/Root b/template/en/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/CVS/Tag b/template/en/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/CVS/Entries b/template/en/default/CVS/Entries deleted file mode 100644 index f195e6a8371d609fb11c959b344b902b95973052..0000000000000000000000000000000000000000 --- a/template/en/default/CVS/Entries +++ /dev/null @@ -1,21 +0,0 @@ -/config.js.tmpl/1.12/Wed Sep 24 02:55:22 2008//TBUGZILLA-3_6_1 -/config.rdf.tmpl/1.17.4.1/Thu Mar 18 14:02:54 2010//TBUGZILLA-3_6_1 -/filterexceptions.pl/1.133/Mon Feb 1 23:57:09 2010//TBUGZILLA-3_6_1 -/index.html.tmpl/1.48/Thu Dec 31 12:37:51 2009//TBUGZILLA-3_6_1 -/sidebar.xul.tmpl/1.27/Sun Mar 1 23:42:53 2009//TBUGZILLA-3_6_1 -/welcome-admin.html.tmpl/1.6/Thu Dec 31 12:37:51 2009//TBUGZILLA-3_6_1 -D/account//// -D/admin//// -D/attachment//// -D/bug//// -D/email//// -D/extensions//// -D/flag//// -D/global//// -D/list//// -D/pages//// -D/reports//// -D/request//// -D/search//// -D/setup//// -D/whine//// diff --git a/template/en/default/CVS/Repository b/template/en/default/CVS/Repository deleted file mode 100644 index dc3d17b5a712f9aa3c362bebcbaa10d19405b735..0000000000000000000000000000000000000000 --- a/template/en/default/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default diff --git a/template/en/default/CVS/Root b/template/en/default/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/CVS/Tag b/template/en/default/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/CVS/Entries b/template/en/default/account/CVS/Entries deleted file mode 100644 index b3bc1d485a3b387f7598b6d60ff2b2e9a4d09f51..0000000000000000000000000000000000000000 --- a/template/en/default/account/CVS/Entries +++ /dev/null @@ -1,8 +0,0 @@ -/cancel-token.txt.tmpl/1.16/Thu Jan 8 16:09:56 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.13/Tue Oct 28 21:27:20 2008//TBUGZILLA-3_6_1 -/created.html.tmpl/1.9/Mon Aug 20 18:24:40 2007//TBUGZILLA-3_6_1 -/profile-activity.html.tmpl/1.6/Mon Jul 20 04:17:40 2009//TBUGZILLA-3_6_1 -D/auth//// -D/email//// -D/password//// -D/prefs//// diff --git a/template/en/default/account/CVS/Repository b/template/en/default/account/CVS/Repository deleted file mode 100644 index 83af88fb483851706c1683bec1cc6f3cd396eb57..0000000000000000000000000000000000000000 --- a/template/en/default/account/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/account diff --git a/template/en/default/account/CVS/Root b/template/en/default/account/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/account/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/account/CVS/Tag b/template/en/default/account/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/account/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/auth/CVS/Entries b/template/en/default/account/auth/CVS/Entries deleted file mode 100644 index 50904423e54e5b58f113ec16b1ea9c33f92086d1..0000000000000000000000000000000000000000 --- a/template/en/default/account/auth/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/login-small.html.tmpl/1.21.2.1/Sun Mar 28 06:32:59 2010//TBUGZILLA-3_6_1 -/login.html.tmpl/1.23/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/account/auth/CVS/Repository b/template/en/default/account/auth/CVS/Repository deleted file mode 100644 index 46aa56142d96d8a82da9c02bd86d6ed541d61ff1..0000000000000000000000000000000000000000 --- a/template/en/default/account/auth/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/account/auth diff --git a/template/en/default/account/auth/CVS/Root b/template/en/default/account/auth/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/account/auth/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/account/auth/CVS/Tag b/template/en/default/account/auth/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/account/auth/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/auth/login.html.tmpl b/template/en/default/account/auth/login.html.tmpl index 9a043e4f43564d70fefeb0b5eb43be2fb5df5cd9..80dd1215376257ccc1f8075f032a4a864c8d8455 100644 --- a/template/en/default/account/auth/login.html.tmpl +++ b/template/en/default/account/auth/login.html.tmpl @@ -107,8 +107,7 @@ [% IF user.authorizer.can_change_password %] <hr> - <a name="forgot"></a> - <form method="get" action="token.cgi"> + <form id="forgot" method="get" action="token.cgi"> <input type="hidden" name="a" value="reqpw"> If you have an account, but have forgotten your password, enter your login name below and submit a request diff --git a/template/en/default/account/email/CVS/Entries b/template/en/default/account/email/CVS/Entries deleted file mode 100644 index 6a4c47ec15e4e6192370e73b98183215d9d320c3..0000000000000000000000000000000000000000 --- a/template/en/default/account/email/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/change-new.txt.tmpl/1.13/Thu Jan 8 16:10:00 2009//TBUGZILLA-3_6_1 -/change-old.txt.tmpl/1.14/Thu Jan 8 16:10:00 2009//TBUGZILLA-3_6_1 -/confirm-new.html.tmpl/1.6/Thu Jan 8 16:10:00 2009//TBUGZILLA-3_6_1 -/confirm.html.tmpl/1.11/Mon Aug 20 18:24:41 2007//TBUGZILLA-3_6_1 -/request-new.txt.tmpl/1.7/Thu Jan 8 16:10:00 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/account/email/CVS/Repository b/template/en/default/account/email/CVS/Repository deleted file mode 100644 index 1b7bcd50b35e2120904419e1759060eba827ba84..0000000000000000000000000000000000000000 --- a/template/en/default/account/email/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/account/email diff --git a/template/en/default/account/email/CVS/Root b/template/en/default/account/email/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/account/email/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/account/email/CVS/Tag b/template/en/default/account/email/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/account/email/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/password/CVS/Entries b/template/en/default/account/password/CVS/Entries deleted file mode 100644 index d3408deecad971ff374ed500170cd5bcd59537be..0000000000000000000000000000000000000000 --- a/template/en/default/account/password/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/forgotten-password.txt.tmpl/1.11/Thu Jan 8 16:10:04 2009//TBUGZILLA-3_6_1 -/set-forgotten-password.html.tmpl/1.8/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/account/password/CVS/Repository b/template/en/default/account/password/CVS/Repository deleted file mode 100644 index c0b31c7d79ba8bb5229112ed10ea2f2b0f83bf7e..0000000000000000000000000000000000000000 --- a/template/en/default/account/password/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/account/password diff --git a/template/en/default/account/password/CVS/Root b/template/en/default/account/password/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/account/password/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/account/password/CVS/Tag b/template/en/default/account/password/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/account/password/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/prefs/CVS/Entries b/template/en/default/account/prefs/CVS/Entries deleted file mode 100644 index 2ac7b622c05fce84eb72cbbf0a5181b638b00d3b..0000000000000000000000000000000000000000 --- a/template/en/default/account/prefs/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/account.html.tmpl/1.10.4.1/Mon Mar 29 21:47:39 2010//TBUGZILLA-3_6_1 -/email.html.tmpl/1.32/Wed Dec 10 18:26:55 2008//TBUGZILLA-3_6_1 -/permissions.html.tmpl/1.14/Fri Aug 8 01:26:38 2008//TBUGZILLA-3_6_1 -/prefs.html.tmpl/1.31/Mon Feb 2 19:21:10 2009//TBUGZILLA-3_6_1 -/saved-searches.html.tmpl/1.21/Tue Sep 15 16:52:09 2009//TBUGZILLA-3_6_1 -/settings.html.tmpl/1.6/Mon Aug 20 18:24:42 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/account/prefs/CVS/Repository b/template/en/default/account/prefs/CVS/Repository deleted file mode 100644 index 271c63d9006b942ad724303f7d8f6c447a5e32c1..0000000000000000000000000000000000000000 --- a/template/en/default/account/prefs/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/account/prefs diff --git a/template/en/default/account/prefs/CVS/Root b/template/en/default/account/prefs/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/account/prefs/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/account/prefs/CVS/Tag b/template/en/default/account/prefs/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/account/prefs/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/account/prefs/email.html.tmpl b/template/en/default/account/prefs/email.html.tmpl index a4d22db73297766edc9b6748b058f434093ee3df..291cd5dc3a70e179b227458fd0800f34adc2a562 100644 --- a/template/en/default/account/prefs/email.html.tmpl +++ b/template/en/default/account/prefs/email.html.tmpl @@ -35,9 +35,6 @@ [% PROCESS global/variables.none.tmpl %] -[% useqacontact = Param('useqacontact') %] -[% usevotes = Param('usevotes') %] - <p> If you don't like getting a notification for "trivial" changes to [% terms.bugs %], you can use the settings below to @@ -80,8 +77,8 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% prefname = "email-$constants.REL_ANY-$constants.EVT_FLAG_REQUESTED" %] <input type="checkbox" name="[% prefname %]" id="[% prefname %]" value="1" - [% " checked" IF - mail.${constants.REL_ANY}.${constants.EVT_FLAG_REQUESTED} %]> + [% " checked" + IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_FLAG_REQUESTED} %]> <label for="[% prefname %]">Email me when someone asks me to set a flag</label> <br> </td> @@ -92,8 +89,8 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% prefname = "email-$constants.REL_ANY-$constants.EVT_REQUESTED_FLAG" %] <input type="checkbox" name="[% prefname %]" id="[% prefname %]" value="1" - [% " checked" IF - mail.${constants.REL_ANY}.${constants.EVT_REQUESTED_FLAG} %]> + [% " checked" + IF user.mail_settings.${constants.REL_ANY}.${constants.EVT_REQUESTED_FLAG} %]> <label for="[% prefname %]">Email me when someone sets a flag I asked for</label> <br> </td> @@ -150,21 +147,28 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% relationships = [ { id = constants.REL_ASSIGNEE, description = "Assignee" }, - { id = constants.REL_QA, - description = "QA Contact" }, { id = constants.REL_REPORTER, description = "Reporter" }, { id = constants.REL_CC, description = "CCed" }, - { id = constants.REL_VOTER, - description = "Voter" }, ] %] +[% IF Param('useqacontact') %] + [% relationships.push({ id = constants.REL_QA, + description = "QA Contact" }) %] +[% END %] + + +[%# This is up here so that the "relationships" hook can modify it. %] +[% no_added_removed = [constants.REL_REPORTER] %] + +[% Hook.process('relationships') %] + +[% num_columns = relationships.size %] + <table class="bz_emailprefs" border="1"> <tr> - <td colspan="[% (useqacontact AND usevotes) ? '5' : - ((useqacontact OR usevotes) ? '4' : '3') %]" - align="center" width="50%"> + <td colspan="[% num_columns FILTER html %]" align="center" width="50%"> <b>When my relationship to this [% terms.bug %] is:</b> </td> <td rowspan="2" width="40%"> @@ -174,8 +178,6 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb <tr> [% FOREACH relationship = relationships %] - [% NEXT IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] <th align="center" width="9%"> [% relationship.description FILTER html %] </th> @@ -186,18 +188,16 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% count = loop.count() %] <tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]"> [% FOREACH relationship = relationships %] - [% NEXT IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] <td align="center"> <input type="checkbox" name="email-[% relationship.id %]-[% event.id %]" value="1" [%# The combinations don't always make sense; disable a couple %] [% IF event.id == constants.EVT_ADDED_REMOVED AND - (relationship.id == constants.REL_REPORTER OR - relationship.id == constants.REL_VOTER) %] + no_added_removed.contains(relationship.id) + %] disabled - [% ELSIF mail.${relationship.id}.${event.id} %] + [% ELSIF user.mail_settings.${relationship.id}.${event.id} %] checked [% END %]> </td> @@ -209,8 +209,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% END %] <tr> - <td colspan="[% (useqacontact AND usevotes) ? '5' : - ((useqacontact OR usevotes) ? '4' : '3') %]" + <td colspan="[% num_columns FILTER html %]" align="center" width="50%"> </td> @@ -223,13 +222,11 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb [% count = loop.count() %] <tr class="bz_row_[% count % 2 == 1 ? "odd" : "even" %]"> [% FOREACH relationship = relationships %] - [% NEXT IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] <td align="center"> <input type="checkbox" name="neg-email-[% relationship.id %]-[% event.id %]" value="1" - [% " checked" IF NOT mail.${relationship.id}.${event.id} %]> + [% " checked" IF NOT user.mail_settings.${relationship.id}.${event.id} %]> </td> [% END %] <td> @@ -240,29 +237,6 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb </table> -[%# Add hidden form fields for fields not used %] -[% FOREACH event = events %] - [% FOREACH relationship = relationships %] - [% IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] - <input type="hidden" - name="email-[% relationship.id %]-[% event.id %]" - value="[% mail.${relationship.id}.${event.id} ? "1" : "0" %]"> - [% END %] - [% END %] -[% END %] - -[% FOREACH event = neg_events %] - [% FOREACH relationship = relationships %] - [% IF (relationship.id == constants.REL_QA AND NOT useqacontact) OR - (relationship.id == constants.REL_VOTER AND NOT usevotes) %] - <input type="hidden" - name="neg-email-[% relationship.id %]-[% event.id %]" - value="[% mail.${relationship.id}.${event.id} ? "0" : "1" %]"> - [% END %] - [% END %] -[% END %] - <hr> <b>User Watching</b> @@ -290,11 +264,11 @@ You are currently not watching any users. [% END %] </p> -<p><a name="new_watched_by_you" id="new_watched_by_you">Add users to my watch list (comma separated list)</a>: +<p id="new_watched_by_you">Add users to my watch list (comma separated list): <input size="60" name="new_watchedusers" value=""> </p> -<p><a name="watching_you" id="watching_you">Users watching you</a>:<br> +<p id="watching_you">Users watching you:<br> [% IF watchers.size %] [% FOREACH watcher = watchers %] [% watcher FILTER html %] <br> diff --git a/template/en/default/account/prefs/prefs.html.tmpl b/template/en/default/account/prefs/prefs.html.tmpl index 71e411d8640f80f27ee8bd7933f70410c741f953..328eb5091712431cd3346b3496874adef7f18e67 100644 --- a/template/en/default/account/prefs/prefs.html.tmpl +++ b/template/en/default/account/prefs/prefs.html.tmpl @@ -50,7 +50,7 @@ link => "userprefs.cgi?tab=email", saveable => "1" }, { name => "saved-searches", label => "Saved Searches", link => "userprefs.cgi?tab=saved-searches", saveable => "1" }, - { name => "account", label => "Name and Password", + { name => "account", label => "Account Information", link => "userprefs.cgi?tab=account", saveable => "1" }, { name => "permissions", label => "Permissions", link => "userprefs.cgi?tab=permissions", saveable => "0" } ] %] diff --git a/template/en/default/admin/CVS/Entries b/template/en/default/admin/CVS/Entries deleted file mode 100644 index 0582240b586943a1812453d95ba3897f8619476d..0000000000000000000000000000000000000000 --- a/template/en/default/admin/CVS/Entries +++ /dev/null @@ -1,19 +0,0 @@ -/admin.html.tmpl/1.7.4.3/Mon Mar 29 12:48:55 2010//TBUGZILLA-3_6_1 -/confirm-action.html.tmpl/1.3/Mon Feb 2 18:34:38 2009//TBUGZILLA-3_6_1 -/sudo.html.tmpl/1.8/Wed Nov 19 22:08:09 2008//TBUGZILLA-3_6_1 -/table.html.tmpl/1.11/Thu Jun 25 01:01:18 2009//TBUGZILLA-3_6_1 -D/classifications//// -D/components//// -D/custom_fields//// -D/fieldvalues//// -D/flag-type//// -D/groups//// -D/keywords//// -D/milestones//// -D/params//// -D/products//// -D/sanitycheck//// -D/settings//// -D/users//// -D/versions//// -D/workflow//// diff --git a/template/en/default/admin/CVS/Repository b/template/en/default/admin/CVS/Repository deleted file mode 100644 index 7f721fe47f008506cdfe5e16b0a5c69e2f98c9ce..0000000000000000000000000000000000000000 --- a/template/en/default/admin/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin diff --git a/template/en/default/admin/CVS/Root b/template/en/default/admin/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/CVS/Tag b/template/en/default/admin/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/classifications/CVS/Entries b/template/en/default/admin/classifications/CVS/Entries deleted file mode 100644 index 7505878f3028dc7f594c12ec8612caff51e1e4f3..0000000000000000000000000000000000000000 --- a/template/en/default/admin/classifications/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/add.html.tmpl/1.6/Sat May 30 13:26:12 2009//TBUGZILLA-3_6_1 -/del.html.tmpl/1.9/Sat May 30 13:26:12 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.13/Sat May 30 13:26:12 2009//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.1/Sat May 30 13:26:12 2009//TBUGZILLA-3_6_1 -/reclassify.html.tmpl/1.10/Sat May 30 13:26:12 2009//TBUGZILLA-3_6_1 -/select.html.tmpl/1.8/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/classifications/CVS/Repository b/template/en/default/admin/classifications/CVS/Repository deleted file mode 100644 index eca02637d73fa7d41aa92374c2807c086dc10d41..0000000000000000000000000000000000000000 --- a/template/en/default/admin/classifications/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/classifications diff --git a/template/en/default/admin/classifications/CVS/Root b/template/en/default/admin/classifications/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/classifications/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/classifications/CVS/Tag b/template/en/default/admin/classifications/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/classifications/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/classifications/add.html.tmpl b/template/en/default/admin/classifications/add.html.tmpl index cd949f257e341d67a4276dd508523501d97e600b..1a6941f67a9123f133d5be8d235b6ed40ba561c4 100644 --- a/template/en/default/admin/classifications/add.html.tmpl +++ b/template/en/default/admin/classifications/add.html.tmpl @@ -24,26 +24,9 @@ <form method=post action="editclassifications.cgi"> <table border=0 cellpadding=4 cellspacing=0> - <tr> - <th align="right">Classification:</th> - <td><input size=64 maxlength=64 name="classification"></td> - </tr> - <tr> - <th align="right">Description:</th> - <td> - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - %] - </td> - </tr> - <tr> - <th align="right"><label for="sortkey">Sortkey:</label></th> - <td><input id="sortkey" size="20" maxlength="20" name="sortkey" - value=""></td> - </tr> + + [% PROCESS "admin/classifications/edit-common.html.tmpl" %] + </table> <hr> <input type=submit value="Add"> diff --git a/template/en/default/admin/classifications/edit-common.html.tmpl b/template/en/default/admin/classifications/edit-common.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..e0db0089fc88b6c4c7e56def702e883452f21570 --- /dev/null +++ b/template/en/default/admin/classifications/edit-common.html.tmpl @@ -0,0 +1,47 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Tiago Rodrigues de Mello <timello@linux.vnet.ibm.com> + #%] + +[%# INTERFACE: + # classification: Bugzilla::Classifiation object. + #%] + +<tr> + <th align="right">Classification:</th> + <td><input size=64 maxlength=64 name="classification" + value="[% classification.name FILTER html %]"></td> +</tr> +<tr> + <th align="right">Description:</th> + <td> + [% INCLUDE global/textarea.html.tmpl + name = 'description' + minrows = 4 + cols = 64 + defaultcontent = classification.description + %] + </td> +</tr> +<tr> + <th align="right"><label for="sortkey">Sortkey:</label></th> + <td><input id="sortkey" size="20" maxlength="20" name="sortkey" + value="[%- classification.sortkey FILTER html %]"></td> +</tr> + +[% Hook.process('rows') %] diff --git a/template/en/default/admin/classifications/edit.html.tmpl b/template/en/default/admin/classifications/edit.html.tmpl index 80d7f9840c155a5d792041e1458e182a779a90f0..2ef1725f34ac20aa9c149e01e4e0f2a3eddb9f65 100644 --- a/template/en/default/admin/classifications/edit.html.tmpl +++ b/template/en/default/admin/classifications/edit.html.tmpl @@ -24,27 +24,9 @@ <form method=post action="editclassifications.cgi"> <table border=0 cellpadding=4 cellspacing=0> - <tr> - <th align="right">Classification:</th> - <td><input size=64 maxlength=64 name="classification" - value="[% classification.name FILTER html %]"></td> - </tr> - <tr> - <th align="right">Description:</th> - <td> - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - defaultcontent = classification.description - %] - </td> - </tr> - <tr> - <th align="right"><label for="sortkey">Sortkey:</label></th> - <td><input id="sortkey" size="20" maxlength="20" name="sortkey" value=" - [%- classification.sortkey FILTER html %]"></td> - </tr> + + [% PROCESS "admin/classifications/edit-common.html.tmpl" %] + <tr valign=top> <th align="right"> <a href="editproducts.cgi?classification=[% classification.name FILTER url_quote %]"> diff --git a/template/en/default/admin/components/CVS/Entries b/template/en/default/admin/components/CVS/Entries deleted file mode 100644 index c89f9064d35415dbb4fdebbc50b3c0b168d9f21f..0000000000000000000000000000000000000000 --- a/template/en/default/admin/components/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/confirm-delete.html.tmpl/1.13/Mon Jun 1 14:43:18 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.17/Tue Mar 17 16:22:52 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.16/Wed Nov 19 21:01:49 2008//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.7.2.1/Thu Jun 24 17:08:57 2010//TBUGZILLA-3_6_1 -/select-product.html.tmpl/1.4/Mon Aug 20 18:24:44 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/components/CVS/Repository b/template/en/default/admin/components/CVS/Repository deleted file mode 100644 index 1bd4abde31a5c4b27986a5be606c2268165a3e65..0000000000000000000000000000000000000000 --- a/template/en/default/admin/components/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/components diff --git a/template/en/default/admin/components/CVS/Root b/template/en/default/admin/components/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/components/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/components/CVS/Tag b/template/en/default/admin/components/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/components/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/components/create.html.tmpl b/template/en/default/admin/components/create.html.tmpl index 86411adad961e814b7d1dd2d94a6f22da5822a65..c3b691d838936663d7544247e6648ab9be595176 100644 --- a/template/en/default/admin/components/create.html.tmpl +++ b/template/en/default/admin/components/create.html.tmpl @@ -26,70 +26,16 @@ [% title = BLOCK %]Add component to the [% product.name FILTER html %] product[% END %] [% PROCESS global/header.html.tmpl + yui = [ 'autocomplete' ] + javascript_urls = [ "js/field.js" ] title = title %] <form method="post" action="editcomponents.cgi"> <table border="0" cellpadding="4" cellspacing="0"> - <tr> - <th align="right">Component:</th> - <td><input size="64" maxlength="64" name="component" value=""></td> - </tr> - <tr> - <th align="right">Description:</th> - <td> - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - %] - </td> - </tr> - <tr> - <th align="right"><label for="initialowner">Default Assignee:</label></th> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialowner" - id => "initialowner" - value => "" - size => 64 - %] - </td> - </tr> -[% IF Param('useqacontact') %] - <tr> - <th align="right"> - <label for="initialqacontact">Default QA Contact:</label></th> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialqacontact" - id => "initialqacontact" - value => "" - size => 64 - emptyok => 1 - %] - </td> - </tr> -[% END %] - <tr> - <th align="right"> - <label for="initialcc">Default CC List:</label> - </th> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialcc" - id => "initialcc" - value => "" - size => 64 - multiple => 5 - %] - <br> - [% IF !Param("usemenuforusers") %] - <em>Enter user names for the CC list as a comma-separated list.</em> - [% END %] - </td> - </tr> + + [% PROCESS "admin/components/edit-common.html.tmpl" %] + </table> <hr> <input type="submit" id="create" value="Add"> diff --git a/template/en/default/admin/components/edit-common.html.tmpl b/template/en/default/admin/components/edit-common.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..069b56cfdc2b10bc14318ff7800ed77b5483a358 --- /dev/null +++ b/template/en/default/admin/components/edit-common.html.tmpl @@ -0,0 +1,86 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Tiago Rodrigues de Mello <timello@linux.vnet.ibm.com> + #%] + +[%# INTERFACE: + # comp: object; Bugzilla::Component object. + #%] + +<tr> + <td valign="top">Component:</td> + <td><input size="64" maxlength="64" name="component" + value="[%- comp.name FILTER html %]"></td> +</tr> +<tr> + <td valign="top">Component Description:</td> + <td> + [% INCLUDE global/textarea.html.tmpl + name = 'description' + minrows = 4 + cols = 64 + wrap = 'virtual' + defaultcontent = comp.description + %] + </td> +</tr> +<tr> + <td valign="top"><label for="initialowner">Default Assignee:</label></td> + <td> + [% INCLUDE global/userselect.html.tmpl + name => "initialowner" + id => "initialowner" + value => comp.default_assignee.login + size => 64 + %] + </td> +</tr> +[% IF Param('useqacontact') %] + <tr> + <td valign="top"><label for="initialqacontact">Default QA contact:</label></td> + <td> + [% INCLUDE global/userselect.html.tmpl + name => "initialqacontact" + id => "initialqacontact" + value => comp.default_qa_contact.login + size => 64 + emptyok => 1 + %] + </td> + </tr> +[% END %] +<tr> + <td valign="top"> + <label for="initialcc">Default CC List:</label> + </td> + <td> + [% INCLUDE global/userselect.html.tmpl + name => "initialcc" + id => "initialcc" + value => initial_cc_names + size => 64 + multiple => 5 + %] + <br> + [% IF !Param("usemenuforusers") %] + <em>Enter user names for the CC list as a comma-separated list.</em> + [% END %] + </td> +</tr> + +[% Hook.process('rows') %] diff --git a/template/en/default/admin/components/edit.html.tmpl b/template/en/default/admin/components/edit.html.tmpl index 9ddb8ca3ecc2e55ee80e5d073e2e43ceabfb384e..be14be0541858e384a38a7055846620b70d5709d 100644 --- a/template/en/default/admin/components/edit.html.tmpl +++ b/template/en/default/admin/components/edit.html.tmpl @@ -33,73 +33,15 @@ [% END %] [% PROCESS global/header.html.tmpl title = title + yui = [ 'autocomplete' ] + javascript_urls = [ "js/field.js" ] %] <form method="post" action="editcomponents.cgi"> <table border="0" cellpadding="4" cellspacing="0"> - <tr> - <td valign="top">Component:</td> - <td><input size="64" maxlength="64" name="component" value=" - [%- comp.name FILTER html %]"></td> - </tr> - <tr> - <td valign="top">Component Description:</td> - <td> - [% INCLUDE global/textarea.html.tmpl - name = 'description' - minrows = 4 - cols = 64 - wrap = 'virtual' - defaultcontent = comp.description - %] - </td> - </tr> - <tr> - <td valign="top"><label for="initialowner">Default Assignee:</label></td> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialowner" - id => "initialowner" - value => comp.default_assignee.login - size => 64 - %] - </td> - -[% IF Param('useqacontact') %] - </tr> - <tr> - <td valign="top"><label for="initialqacontact">Default QA contact:</label></td> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialqacontact" - id => "initialqacontact" - value => comp.default_qa_contact.login - size => 64 - emptyok => 1 - %] - </td> -[% END %] - - </tr> - <tr> - <td valign="top"> - <label for="initialcc">Default CC List:</label> - </td> - <td> - [% INCLUDE global/userselect.html.tmpl - name => "initialcc" - id => "initialcc" - value => initial_cc_names - size => 64 - multiple => 5 - %] - <br> - [% IF !Param("usemenuforusers") %] - <em>Enter user names for the CC list as a comma-separated list.</em> - [% END %] - </td> - </tr> + [% PROCESS "admin/components/edit-common.html.tmpl" %] + <tr> <td>[% terms.Bugs %]:</td> <td> diff --git a/template/en/default/admin/custom_fields/CVS/Entries b/template/en/default/admin/custom_fields/CVS/Entries deleted file mode 100644 index b4d51b9c82b8d5752713b3a265139fabe39997b7..0000000000000000000000000000000000000000 --- a/template/en/default/admin/custom_fields/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/cf-js.js.tmpl/1.6/Wed Jul 8 09:22:14 2009//TBUGZILLA-3_6_1 -/confirm-delete.html.tmpl/1.1/Wed Feb 6 16:18:13 2008//TBUGZILLA-3_6_1 -/create.html.tmpl/1.12/Fri Nov 7 11:34:49 2008//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.12/Fri Nov 7 11:34:49 2008//TBUGZILLA-3_6_1 -/list.html.tmpl/1.8/Thu Jun 25 01:01:20 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/custom_fields/CVS/Repository b/template/en/default/admin/custom_fields/CVS/Repository deleted file mode 100644 index 9252b96affbaf6bdecbd1cc07cfad591f3866396..0000000000000000000000000000000000000000 --- a/template/en/default/admin/custom_fields/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/custom_fields diff --git a/template/en/default/admin/custom_fields/CVS/Root b/template/en/default/admin/custom_fields/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/custom_fields/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/custom_fields/CVS/Tag b/template/en/default/admin/custom_fields/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/custom_fields/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/custom_fields/cf-js.js.tmpl b/template/en/default/admin/custom_fields/cf-js.js.tmpl index 331d809f6d056f1a27e206f86e5bc6bf4b8b77fd..4c95a169087bf72788dd258904b116b153662439 100644 --- a/template/en/default/admin/custom_fields/cf-js.js.tmpl +++ b/template/en/default/admin/custom_fields/cf-js.js.tmpl @@ -28,7 +28,14 @@ var select_values = new Array(); [% FOREACH sel_field = Bugzilla.get_fields({ is_select => 1 }) %] select_values[[% sel_field.id FILTER js %]] = [ [% FOREACH legal_value = sel_field.legal_values %] - [[% legal_value.id FILTER js %], '[% legal_value.name FILTER js %]'][% ',' UNLESS loop.last %] + [%# Prefix components with the name of their product so that admins + know which component we're talking about. #%] + [% IF sel_field.name == 'component' %] + [% SET value_name = legal_value.product.name _ ': ' _ legal_value.name %] + [% ELSE %] + [% SET value_name = legal_value.name %] + [% END %] + [[% legal_value.id FILTER js %], '[% value_name FILTER js %]'][% ',' UNLESS loop.last %] [% END %] ]; [% END %] @@ -43,6 +50,16 @@ function onChangeType(type_field) { else { value_field.disabled = true; } + + var reverse_desc = document.getElementById('reverse_desc'); + if (type_field.value == [% constants.FIELD_TYPE_BUG_ID %]) + { + reverse_desc.disabled = false; + } + else { + reverse_desc.disabled = true; + reverse_desc.value = ''; + } } function onChangeVisibilityField() { diff --git a/template/en/default/admin/custom_fields/create.html.tmpl b/template/en/default/admin/custom_fields/create.html.tmpl index a2db4708be807e6c1fab2776a6aa56515f5b8988..fcdf73bc78df0ddb356f30220e6cf36cc6be5e3d 100644 --- a/template/en/default/admin/custom_fields/create.html.tmpl +++ b/template/en/default/admin/custom_fields/create.html.tmpl @@ -28,8 +28,14 @@ onload = "document.getElementById('new_bugmail').disabled = true;" javascript_urls = [ 'js/util.js' ] doc_section = "custom-fields.html#add-custom-fields" + style_urls = ['skins/standard/admin.css'] %] +[%# set initial editability of fields such as Reverse Relationship Description %] +<script type="text/javascript"> +YAHOO.util.Event.onDOMReady(function() {onChangeType(document.getElementById('type'))}); +</script> + <p> Adding custom fields can make the interface of [% terms.Bugzilla %] very complicated. Many admins who are new to [% terms.Bugzilla %] start off @@ -48,14 +54,14 @@ </ul> <form id="add_field" action="editfields.cgi" method="GET"> - <table border="0" cellspacing="0" cellpadding="5"> + <table border="0" cellspacing="0" cellpadding="5" id="edit_custom_field"> <tr> - <th align="right"><label for="name">Name:</label></th> + <th class="narrow_label"><label for="name">Name:</label></th> <td> <input type="text" id="name" name="name" value="cf_" size="40" maxlength="64"> </td> - <th align="right"> + <th> <label for="enter_bug">Can be set on [% terms.bug %] creation:</label> </th> <td> @@ -64,16 +70,16 @@ </td> </tr> <tr> - <th align="right"><label for="desc">Description:</label></th> + <th class="narrow_label"><label for="desc">Description:</label></th> <td><input type="text" id="desc" name="desc" value="" size="40"></td> - <th align="right"> + <th> <label for="new_bugmail">Displayed in [% terms.bug %]mail for new [% terms.bugs %]:</label> </th> <td><input type="checkbox" id="new_bugmail" name="new_bugmail" value="1"></td> </tr> <tr> - <th align="right"><label for="type">Type:</label></th> + <th class="narrow_label"><label for="type">Type:</label></th> <td> <select id="type" name="type" onchange="onChangeType(this)"> [% FOREACH type = field_types.keys %] @@ -83,16 +89,34 @@ </select> </td> - <th align="right"><label for="obsolete">Is obsolete:</label></th> + <th><label for="obsolete">Is obsolete:</label></th> <td><input type="checkbox" id="obsolete" name="obsolete" value="1"></td> </tr> <tr> - <th align="right"><label for="sortkey">Sortkey:</label></th> + <th class="narrow_label"><label for="sortkey">Sortkey:</label></th> <td> <input type="text" id="sortkey" name="sortkey" size="6" maxlength="6"> </td> - <th align="right"> + <th align="right"><label for="is_mandatory">Is mandatory:</label></th> + <td><input type="checkbox" id="is_mandatory" name="is_mandatory" value="1"></td> + </tr> + + <tr> + <th class="narrow_label"> + <label for="reverse_desc">Reverse Relationship Description:</label> + </th> + <td> + <input type="text" id="reverse_desc" name="reverse_desc" value="" size="40" disabled="disabled"> + <br/> + Use this label for the list of [% terms.bugs %] that link to + [%+ terms.abug %] with this + [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %] + field. For example, if the description is "Is a duplicate of", + the reverse description would be "Duplicates of this [% terms.bug %]". + Leave blank to disable the list for this field. + </td> + <th> <label for="visibility_field_id">Field only appears when:</label> </th> <td> diff --git a/template/en/default/admin/custom_fields/edit.html.tmpl b/template/en/default/admin/custom_fields/edit.html.tmpl index b6a8ae9bd789babb5d9641854791b71be01044a5..4c1bbbeb0a878ef7b031d96bdb241df0f52367b8 100644 --- a/template/en/default/admin/custom_fields/edit.html.tmpl +++ b/template/en/default/admin/custom_fields/edit.html.tmpl @@ -32,6 +32,7 @@ onload = "toggleCheckbox(document.getElementById('enter_bug'), 'new_bugmail');" javascript_urls = [ 'js/util.js' ] doc_section = "custom-fields.html#edit-custom-fields" + style_urls = ['skins/standard/admin.css'] %] <p> @@ -40,12 +41,12 @@ </p> <form id="edit_field" action="editfields.cgi" method="GET"> - <table border="0" cellspacing="0" cellpadding="5"> + <table border="0" cellspacing="0" cellpadding="5" id="edit_custom_field"> <tr> - <th align="right">Name:</th> + <th class="narrow_label">Name:</th> <td>[% field.name FILTER html %]</td> - <th align="right"> + <th> <label for="enter_bug">Can be set on [% terms.bug %] creation:</label> </th> <td><input type="checkbox" id="enter_bug" name="enter_bug" value="1" @@ -53,31 +54,54 @@ onchange="toggleCheckbox(this, 'new_bugmail');"></td> </tr> <tr> - <th align="right"><label for="desc">Description:</label></th> + <th class="narrow_label"><label for="desc">Description:</label></th> <td><input type="text" id="desc" name="desc" size="40" value="[% field.description FILTER html %]"></td> - <th align="right"> + <th> <label for="new_bugmail">Displayed in [% terms.bug %]mail for new [% terms.bugs %]:</label> </th> <td><input type="checkbox" id="new_bugmail" name="new_bugmail" value="1" [%- " checked" IF field.mailhead %]></td> </tr> <tr> - <th align="right">Type:</th> + <th class="narrow_label">Type:</th> <td>[% field_types.${field.type} FILTER html %]</td> - <th align="right"><label for="obsolete">Is obsolete:</label></th> + <th><label for="obsolete">Is obsolete:</label></th> <td><input type="checkbox" id="obsolete" name="obsolete" value="1" [%- " checked" IF field.obsolete %]></td> </tr> <tr> - <th align="right"><label for="sortkey">Sortkey:</label></th> + <th class="narrow_label"><label for="sortkey">Sortkey:</label></th> <td> <input type="text" id="sortkey" name="sortkey" size="6" maxlength="6" value="[% field.sortkey FILTER html %]"> </td> - <th align="right"> + <th align="right"><label for="is_mandatory">Is mandatory:</label></th> + <td><input type="checkbox" id="is_mandatory" name="is_mandatory" value="1" + [%- ' checked="checked"' IF field.is_mandatory %]></td> + </tr> + <tr> + [% IF field.type == constants.FIELD_TYPE_BUG_ID %] + <th class="narrow_label"> + <label for="reverse_desc">Reverse Relationship Description:</label> + </th> + <td> + <input type="text" id="reverse_desc" name="reverse_desc" size="40" + value="[% field.reverse_desc FILTER html %]"> + <br/> + Use this label for the list of [% terms.bugs %] that link to + [%+ terms.abug %] with this + [%+ field_types.${constants.FIELD_TYPE_BUG_ID} FILTER html %] field. + For example, if the description is "Is a duplicate of", + the reverse description would be "Duplicates of this [% terms.bug %]". + Leave blank to disable the list for this field. + </td> + [% ELSE %] + <td colspan="2"> </td> + [% END %] + <th> <label for="visibility_field_id">Field only appears when:</label> </th> <td> @@ -100,7 +124,10 @@ <option value="[% value.id FILTER html %]" [% ' selected="selected"' IF field.visibility_value.id == value.id %]> - [% value.name FILTER html %] + [% IF field.visibility_field.name == 'component' %] + [% value.product.name FILTER html %]: + [% END %] + [%+ value.name FILTER html %] </option> [% END %] </select> diff --git a/template/en/default/admin/custom_fields/list.html.tmpl b/template/en/default/admin/custom_fields/list.html.tmpl index dd266c759acbfb49066f721a723aa172580f0c95..385650a632272ef948d25de0ffdf64f198b23764 100644 --- a/template/en/default/admin/custom_fields/list.html.tmpl +++ b/template/en/default/admin/custom_fields/list.html.tmpl @@ -56,6 +56,10 @@ name => "obsolete" heading => "Is Obsolete" }, + { + name => "is_mandatory" + heading => "Is Mandatory" + }, { name => "action" heading => "Action" diff --git a/template/en/default/admin/fieldvalues/CVS/Entries b/template/en/default/admin/fieldvalues/CVS/Entries deleted file mode 100644 index 0ff902d0325169da525508558b59a1398c4897f0..0000000000000000000000000000000000000000 --- a/template/en/default/admin/fieldvalues/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/confirm-delete.html.tmpl/1.15/Tue Jan 5 23:51:57 2010//TBUGZILLA-3_6_1 -/create.html.tmpl/1.12/Fri Nov 7 11:34:50 2008//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.15/Fri Jul 17 22:40:09 2009//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.7/Fri Oct 3 01:40:18 2008//TBUGZILLA-3_6_1 -/list.html.tmpl/1.11/Fri Jul 17 22:40:10 2009//TBUGZILLA-3_6_1 -/select-field.html.tmpl/1.4/Mon Aug 20 18:24:46 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/fieldvalues/CVS/Repository b/template/en/default/admin/fieldvalues/CVS/Repository deleted file mode 100644 index 345fb06bbf5cc1bd92170255913c8e6500569d79..0000000000000000000000000000000000000000 --- a/template/en/default/admin/fieldvalues/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/fieldvalues diff --git a/template/en/default/admin/fieldvalues/CVS/Root b/template/en/default/admin/fieldvalues/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/fieldvalues/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/fieldvalues/CVS/Tag b/template/en/default/admin/fieldvalues/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/fieldvalues/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/fieldvalues/create.html.tmpl b/template/en/default/admin/fieldvalues/create.html.tmpl index f1eec1a5a4a7c24d307680b7618e0beb406e7608..0198314891857d4ea1ed038dcf456e3a7d1ad2f0 100644 --- a/template/en/default/admin/fieldvalues/create.html.tmpl +++ b/template/en/default/admin/fieldvalues/create.html.tmpl @@ -75,6 +75,9 @@ [% FOREACH field_value = field.value_field.legal_values %] [% NEXT IF field_value.name == '' %] <option value="[% field_value.id FILTER none %]"> + [% IF field.value_field.name == 'component' %] + [% field_value.product.name FILTER html %]: + [% END %] [%- field_value.name FILTER html -%] </option> [% END %] diff --git a/template/en/default/admin/fieldvalues/edit.html.tmpl b/template/en/default/admin/fieldvalues/edit.html.tmpl index 5650ee87b5bcf23f4f16682eb818a11ebb0ebe8f..9c42ce639c1d68932a21c7b74b6cf24b2b254651 100644 --- a/template/en/default/admin/fieldvalues/edit.html.tmpl +++ b/template/en/default/admin/fieldvalues/edit.html.tmpl @@ -73,7 +73,10 @@ <option value="[% field_value.id FILTER none %]" [% ' selected="selected"' IF field_value.id == value.visibility_value.id %]> - [%- field_value.name FILTER html -%] + [% IF field.value_field.name == 'component' %] + [% field_value.product.name FILTER html %]: + [% END %] + [% field_value.name FILTER html -%] </option> [% END %] </select> @@ -91,7 +94,11 @@ [% ELSIF value.is_static %] This value is non-deletable and cannot be disabled. [% END %] - </td> + [% IF !(value.is_default OR value.is_static) %] + <input id="defined_is_active" name="defined_is_active" + type="hidden" value="1"> + [% END %] + </td> </tr> </table> <input type="hidden" name="value" value="[% value.name FILTER html %]"> diff --git a/template/en/default/admin/flag-type/CVS/Entries b/template/en/default/admin/flag-type/CVS/Entries deleted file mode 100644 index 01ce2b0c64b82151f3159c00713ecc0afdeed35c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/flag-type/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/confirm-delete.html.tmpl/1.10/Mon Feb 2 18:59:18 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.26/Mon Oct 22 21:42:00 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.21/Fri Jul 31 15:57:22 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/flag-type/CVS/Repository b/template/en/default/admin/flag-type/CVS/Repository deleted file mode 100644 index 11e4fc5a432309a8d6b43440530632c1547d9665..0000000000000000000000000000000000000000 --- a/template/en/default/admin/flag-type/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/flag-type diff --git a/template/en/default/admin/flag-type/CVS/Root b/template/en/default/admin/flag-type/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/flag-type/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/flag-type/CVS/Tag b/template/en/default/admin/flag-type/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/flag-type/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/groups/CVS/Entries b/template/en/default/admin/groups/CVS/Entries deleted file mode 100644 index 6b11bffad929e7f9c55ccd4f117395113922c82f..0000000000000000000000000000000000000000 --- a/template/en/default/admin/groups/CVS/Entries +++ /dev/null @@ -1,6 +0,0 @@ -/confirm-remove.html.tmpl/1.5/Sun Dec 16 10:32:54 2007//TBUGZILLA-3_6_1 -/create.html.tmpl/1.14/Sat Oct 18 16:33:35 2008//TBUGZILLA-3_6_1 -/delete.html.tmpl/1.15.2.1/Wed Feb 17 21:48:46 2010//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.19/Mon Aug 10 11:09:33 2009//TBUGZILLA-3_6_1 -/list.html.tmpl/1.14/Thu Jun 25 01:01:23 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/groups/CVS/Repository b/template/en/default/admin/groups/CVS/Repository deleted file mode 100644 index e7869921f13d8037cf088ebaadcb33e55462150c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/groups/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/groups diff --git a/template/en/default/admin/groups/CVS/Root b/template/en/default/admin/groups/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/groups/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/groups/CVS/Tag b/template/en/default/admin/groups/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/groups/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/keywords/CVS/Entries b/template/en/default/admin/keywords/CVS/Entries deleted file mode 100644 index 7beae3d5893380072a5ed0ae42d1fad96ff5405c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/keywords/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/confirm-delete.html.tmpl/1.8/Mon Feb 2 18:59:19 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.9/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.10/Mon Aug 20 18:24:48 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.12/Mon Feb 2 18:59:20 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/keywords/CVS/Repository b/template/en/default/admin/keywords/CVS/Repository deleted file mode 100644 index 586a25db2240e0e96953e745a04cc0035a5f7fa4..0000000000000000000000000000000000000000 --- a/template/en/default/admin/keywords/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/keywords diff --git a/template/en/default/admin/keywords/CVS/Root b/template/en/default/admin/keywords/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/keywords/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/keywords/CVS/Tag b/template/en/default/admin/keywords/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/keywords/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/milestones/CVS/Entries b/template/en/default/admin/milestones/CVS/Entries deleted file mode 100644 index e50fa1f2f7c9ff824db86ed766ff802ceb4780d5..0000000000000000000000000000000000000000 --- a/template/en/default/admin/milestones/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/confirm-delete.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_6_1 -/create.html.tmpl/1.8/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.9/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.4/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.7.2.1/Thu Jun 24 17:08:57 2010//TBUGZILLA-3_6_1 -/select-product.html.tmpl/1.5/Mon Aug 20 18:24:49 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/milestones/CVS/Repository b/template/en/default/admin/milestones/CVS/Repository deleted file mode 100644 index e65b02fd1b031de716ba206a7b3df907f0df38da..0000000000000000000000000000000000000000 --- a/template/en/default/admin/milestones/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/milestones diff --git a/template/en/default/admin/milestones/CVS/Root b/template/en/default/admin/milestones/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/milestones/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/milestones/CVS/Tag b/template/en/default/admin/milestones/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/milestones/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/params/CVS/Entries b/template/en/default/admin/params/CVS/Entries deleted file mode 100644 index f364b843aa4cbf4c15b19d41728c7c208a4d5fe1..0000000000000000000000000000000000000000 --- a/template/en/default/admin/params/CVS/Entries +++ /dev/null @@ -1,22 +0,0 @@ -/admin.html.tmpl/1.5/Wed Dec 10 18:26:56 2008//TBUGZILLA-3_6_1 -/advanced.html.tmpl/1.2/Thu Dec 31 12:53:21 2009//TBUGZILLA-3_6_1 -/attachment.html.tmpl/1.8.2.1/Mon Apr 19 19:35:27 2010//TBUGZILLA-3_6_1 -/auth.html.tmpl/1.5/Sun Oct 18 23:35:01 2009//TBUGZILLA-3_6_1 -/bugchange.html.tmpl/1.8/Wed Dec 10 18:40:02 2008//TBUGZILLA-3_6_1 -/bugfields.html.tmpl/1.6/Fri Apr 17 22:27:39 2009//TBUGZILLA-3_6_1 -/bugmove.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_6_1 -/common.html.tmpl/1.8.2.1/Wed Feb 10 04:17:29 2010//TBUGZILLA-3_6_1 -/core.html.tmpl/1.14/Thu Dec 31 12:37:51 2009//TBUGZILLA-3_6_1 -/dependencygraph.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_6_1 -/editparams.html.tmpl/1.9.2.1/Thu Mar 18 00:15:46 2010//TBUGZILLA-3_6_1 -/general.html.tmpl/1.1/Thu Dec 31 12:37:51 2009//TBUGZILLA-3_6_1 -/groupsecurity.html.tmpl/1.7/Tue Mar 31 19:17:03 2009//TBUGZILLA-3_6_1 -/index.html.tmpl/1.3/Thu Jan 15 00:53:22 2009//TBUGZILLA-3_6_1 -/ldap.html.tmpl/1.8/Wed May 21 22:59:24 2008//TBUGZILLA-3_6_1 -/mta.html.tmpl/1.13/Wed Dec 24 03:43:48 2008//TBUGZILLA-3_6_1 -/patchviewer.html.tmpl/1.3/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_6_1 -/query.html.tmpl/1.7/Mon Jul 20 04:17:41 2009//TBUGZILLA-3_6_1 -/radius.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_6_1 -/shadowdb.html.tmpl/1.2/Mon Aug 20 18:24:50 2007//TBUGZILLA-3_6_1 -/usermatch.html.tmpl/1.4/Tue Mar 31 19:24:24 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/params/CVS/Repository b/template/en/default/admin/params/CVS/Repository deleted file mode 100644 index ca6eabb0882cab728b951c0b278f10df2e40d0e8..0000000000000000000000000000000000000000 --- a/template/en/default/admin/params/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/params diff --git a/template/en/default/admin/params/CVS/Root b/template/en/default/admin/params/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/params/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/params/CVS/Tag b/template/en/default/admin/params/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/params/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/params/bugfields.html.tmpl b/template/en/default/admin/params/bugfields.html.tmpl index 794f925b7853c93958ed13fc470e2d1cc7887fb8..58b08f6152f837aa5ff5a20c9dfc9c9a23889c6b 100644 --- a/template/en/default/admin/params/bugfields.html.tmpl +++ b/template/en/default/admin/params/bugfields.html.tmpl @@ -34,11 +34,6 @@ usestatuswhiteboard => "Do you wish to use the Status Whiteboard field?", - usevotes => "Do you wish to allow users to vote for ${terms.bugs}? Note that in order " _ - "for this to be effective, you will have to change the maximum " _ - "votes allowed in a product to be non-zero in " _ - "<a href=\"editproducts.cgi\">the product edit page</a>.", - usebugaliases => "Do you wish to use $terms.bug aliases, which allow you to assign " _ "$terms.bugs an easy-to-remember name by which you can refer to them?", diff --git a/template/en/default/admin/params/bugmove.html.tmpl b/template/en/default/admin/params/bugmove.html.tmpl deleted file mode 100644 index 911bc330a6a8cc53a2afb4da9333134c76cca893..0000000000000000000000000000000000000000 --- a/template/en/default/admin/params/bugmove.html.tmpl +++ /dev/null @@ -1,49 +0,0 @@ -[%# The contents of this file are subject to the Mozilla Public - # License Version 1.1 (the "License"); you may not use this file - # except in compliance with the License. You may obtain a copy of - # the License at http://www.mozilla.org/MPL/ - # - # Software distributed under the License is distributed on an "AS - # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - # implied. See the License for the specific language governing - # rights and limitations under the License. - # - # The Original Code is the Bugzilla Bug Tracking System. - # - # The Initial Developer of the Original Code is Netscape Communications - # Corporation. Portions created by Netscape are - # Copyright (C) 1998 Netscape Communications Corporation. All - # Rights Reserved. - # - # Contributor(s): Dave Miller <justdave@bugzilla.org> - # Frédéric Buclin <LpSolit@gmail.com> - #%] -[% - title = "$terms.Bug Moving" - desc = "Set up parameters to move $terms.bugs to/from another installation" -%] - -[% param_descs = { - "move-enabled" => "If this is on, $terms.Bugzilla will allow certain people " _ - "to move $terms.bugs to the defined database.", - - "move-button-text" => "The text written on the Move button. Explain where the $terms.bug is " _ - "being moved to.", - - "move-to-url" => "The URL of the database we allow some of our $terms.bugs to be moved to.", - - "move-to-address" => "To move ${terms.bugs}, an email is sent to the target database. This is " _ - "the email address that database uses to listen for incoming ${terms.bugs}.", - - "moved-from-address" => "To move ${terms.bugs}, an email is sent to the target database. This is " _ - "the email address from which this mail, and error messages are sent.", - - movers => "A list of people with permission to move $terms.bugs and reopen moved " _ - "${terms.bugs} (in case the move operation fails).", - - "moved-default-product" => "$terms.Bugs moved from other databases to here are assigned " _ - "to this product.", - - "moved-default-component" => "$terms.Bugs moved from other databases to here are assigned " _ - "to this component." } -%] diff --git a/template/en/default/admin/params/common.html.tmpl b/template/en/default/admin/params/common.html.tmpl index 18aa1fb695d207f2719f8fd3212e0fa86d718cf7..870451ebc8453052959221c12a5f174a8d70b7ee 100644 --- a/template/en/default/admin/params/common.html.tmpl +++ b/template/en/default/admin/params/common.html.tmpl @@ -28,7 +28,7 @@ <dl> [% FOREACH param = panel.param_list %] - <dt><a name="[% param.name FILTER html %]">[% param.name FILTER html %]</a></dt> + <dt id="[% param.name FILTER html %]">[% param.name FILTER html %]</dt> <dd>[% panel.param_descs.${param.name} FILTER none %] <p> [% IF param.type == "t" %] diff --git a/template/en/default/admin/params/mta.html.tmpl b/template/en/default/admin/params/mta.html.tmpl index 8533257f409b0710b799d0f8fd92092744902a36..872db801a624c361c9bc7ae6ff72f23050af5b61 100644 --- a/template/en/default/admin/params/mta.html.tmpl +++ b/template/en/default/admin/params/mta.html.tmpl @@ -55,14 +55,6 @@ _ " won't get sent). This affects all mail sent by $terms.Bugzilla," _ " not just $terms.bug updates.", - sendmailnow => "Sites using anything older than version 8.12 of 'sendmail' " _ - "can achieve a significant performance increase in the " _ - "UI -- at the cost of delaying the sending of mail -- by " _ - "disabling this parameter. Sites using 'sendmail' 8.12 or " _ - "higher should leave this on, as they will see no benefit from " _ - "turning it off. Sites using an MTA other than 'sendmail' " _ - "<b>must</b> leave it on, or no $terms.bug mail will be sent.", - smtpserver => "The SMTP server address (if using SMTP for mail delivery).", smtp_username => "The username to pass to the SMTP server for SMTP authentication. " _ diff --git a/template/en/default/admin/products/CVS/Entries b/template/en/default/admin/products/CVS/Entries deleted file mode 100644 index c130a47abfafe6a978b747fa2d1149e7b84e1da1..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/confirm-delete.html.tmpl/1.13/Mon Nov 23 22:46:48 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.9/Thu Dec 17 23:31:55 2009//TBUGZILLA-3_6_1 -/edit-common.html.tmpl/1.13/Thu Dec 17 23:31:55 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.15/Thu Dec 17 23:31:55 2009//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.13/Tue Nov 3 23:48:32 2009//TBUGZILLA-3_6_1 -/list-classifications.html.tmpl/1.4/Thu Sep 20 21:23:44 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.7.2.1/Thu Jun 24 17:08:58 2010//TBUGZILLA-3_6_1 -/updated.html.tmpl/1.11.2.1/Wed Apr 7 03:31:31 2010//TBUGZILLA-3_6_1 -D/groupcontrol//// diff --git a/template/en/default/admin/products/CVS/Repository b/template/en/default/admin/products/CVS/Repository deleted file mode 100644 index 9450a948f605a7f7659bcf1b233fd92db0a572fb..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/products diff --git a/template/en/default/admin/products/CVS/Root b/template/en/default/admin/products/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/products/CVS/Tag b/template/en/default/admin/products/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/products/create.html.tmpl b/template/en/default/admin/products/create.html.tmpl index f4a2161aad91e0d2133ea2cc847001fc0aab8ea4..6ae400e279925098f14fd39217d15676aefcaf1e 100644 --- a/template/en/default/admin/products/create.html.tmpl +++ b/template/en/default/admin/products/create.html.tmpl @@ -29,9 +29,6 @@ %] [% DEFAULT - product.votesperuser = "0", - product.maxvotesperbug = "10000", - product.votes_to_confirm = "0", product.is_active = 1, version = "unspecified", product.defaultmilestone = constants.DEFAULT_MILESTONE @@ -51,7 +48,9 @@ </tr> <tr> <th align="right">Create chart datasets for this product:</th> - <td><input type="checkbox" name="createseries" value="1"></td> + <td> + <input type="checkbox" name="createseries" value="1" checked="checked"> + </td> </tr> </table> diff --git a/template/en/default/admin/products/edit-common.html.tmpl b/template/en/default/admin/products/edit-common.html.tmpl index 2c94402d665bcf4fe17f1b1ae458829825269f3f..4812707cdbd9c05cf23a97e0c153403ca1f6d262 100644 --- a/template/en/default/admin/products/edit-common.html.tmpl +++ b/template/en/default/admin/products/edit-common.html.tmpl @@ -76,37 +76,8 @@ in this product:</label> </th> <td><input type="checkbox" id="allows_unconfirmed" name="allows_unconfirmed" - [% ' checked="checked"' IF product.allows_unconfirmed %] - [% IF Param('usevotes') %] - onchange="bz_toggleClass('votes_to_confirm_container', - 'bz_default_hidden')" - [% END %]> - [% IF Param('usevotes') %] - <span id="votes_to_confirm_container" - [% ' class="bz_default_hidden"' IF !product.allows_unconfirmed %]> - ...and automatically confirm [% terms.bugs %] if they get - <input size="3" maxlength="5" name="votestoconfirm" id="votestoconfirm" - value="[% product.votes_to_confirm FILTER html %]"> - votes. (Setting this to 0 disables auto-confirming [% terms.bugs %] - by vote.) - </span> - [% END %] + [% ' checked="checked"' IF product.allows_unconfirmed %]> </td> </tr> -[% IF Param('usevotes') %] - <tr> - <th align="right">Maximum votes per person:</th> - <td><input size="5" maxlength="5" name="votesperuser" id="votesperuser" - value="[% product.votesperuser FILTER html %]"> - </td> - </tr> - <tr> - <th align="right"> - Maximum votes a person can put on a single [% terms.bug %]: - </th> - <td><input size="5" maxlength="5" name="maxvotesperbug" id="maxvotesperbug" - value="[% product.maxvotesperbug FILTER html %]"> - </td> - </tr> -[% END %] +[% Hook.process('rows') %] diff --git a/template/en/default/admin/products/groupcontrol/CVS/Entries b/template/en/default/admin/products/groupcontrol/CVS/Entries deleted file mode 100644 index fca82d64015d93f457ad9908eb8bc4d00cc9fd5c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/groupcontrol/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/confirm-edit.html.tmpl/1.9/Mon Aug 20 18:24:52 2007//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.12/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_6_1 -/updated.html.tmpl/1.4/Thu Aug 14 16:36:11 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/products/groupcontrol/CVS/Repository b/template/en/default/admin/products/groupcontrol/CVS/Repository deleted file mode 100644 index ece33e1816e36379981539622766184a4ebc7d9c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/groupcontrol/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/products/groupcontrol diff --git a/template/en/default/admin/products/groupcontrol/CVS/Root b/template/en/default/admin/products/groupcontrol/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/groupcontrol/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/products/groupcontrol/CVS/Tag b/template/en/default/admin/products/groupcontrol/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/products/groupcontrol/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/products/list.html.tmpl b/template/en/default/admin/products/list.html.tmpl index 57d75d8868b5db4b1ac296ce0c8702837e946841..13f12780a7ab9b638924b400e6dc5a6b79d3e1ea 100644 --- a/template/en/default/admin/products/list.html.tmpl +++ b/template/en/default/admin/products/list.html.tmpl @@ -64,22 +64,7 @@ heading => "Open For New $terms.Bugs" yesno_field => 1 }, - { - name => "votesperuser" - heading => "Votes Per User" - align => 'right' - }, - { - name => "maxvotesperbug" - heading => "Maximum Votes Per $terms.Bug" - align => 'right' - }, - { - name => "votestoconfirm" - heading => "Votes To Confirm" - align => 'right' - } ] -%] +] %] [% IF showbugcounts %] diff --git a/template/en/default/admin/products/updated.html.tmpl b/template/en/default/admin/products/updated.html.tmpl index c6e87100bbaaa51f7b2d5f3cc46d1d3b09646e65..4140bab62820ef856c0d96f71f3408e1ada82e8e 100644 --- a/template/en/default/admin/products/updated.html.tmpl +++ b/template/en/default/admin/products/updated.html.tmpl @@ -75,33 +75,6 @@ '[% product.default_milestone FILTER html %]'. </p> [% END %] - -[% IF changes.votesperuser.defined %] - <p> - Updated votes per user from - [%+ changes.votesperuser.0 FILTER html %] to - [%+ product.votes_per_user FILTER html %]. - </p> - [% checkvotes = 1 %] -[% END %] - -[% IF changes.maxvotesperbug.defined %] - <p> - Updated maximum votes per [% terms.bug %] from - [%+ changes.maxvotesperbug.0 FILTER html %] to - [%+ product.max_votes_per_bug FILTER html %]. - </p> - [% checkvotes = 1 %] -[% END %] - -[% IF changes.votestoconfirm.defined %] - <p> - Updated number of votes needed to confirm a [% terms.bug %] from - [%+ changes.votestoconfirm.0 FILTER html %] to - [%+ product.votes_to_confirm FILTER html %]. - </p> - [% checkvotes = 1 %] -[% END %] [% IF changes.allows_unconfirmed.defined %] <p> @@ -121,65 +94,12 @@ </p> [% END %] +[% Hook.process('changes') %] + [% IF !changes.keys.size %] <p>Nothing changed for product '[% product.name FILTER html %]'.</p> [% END %] -[%# Note that this display of changed votes and/or confirmed bugs is - not very scalable. We could have a _lot_, and we just list them all. - One day we should limit this perhaps, or have a more scalable display %] - - -[% IF checkvotes %] - <hr> - - <p>Checking existing votes in this product for anybody who now - has too many votes for [% terms.abug %]...<br> - [% IF changes.too_many_votes.size %] - [% FOREACH detail = changes.too_many_votes %] - →removed votes for [% terms.bug %] <a href="show_bug.cgi?id= - [%- detail.id FILTER url_quote %]"> - [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br> - [% END %] - [% ELSE %] - →there were none. - [% END %] - </p> - - <p>Checking existing votes in this product for anybody - who now has too many total votes...<br> - [% IF changes.too_many_total_votes.size %] - [% FOREACH detail = changes.too_many_total_votes %] - →removed votes for [% terms.bug %] <a href="show_bug.cgi?id= - [%- detail.id FILTER url_quote %]"> - [%- detail.id FILTER html %]</a> from [% detail.name FILTER html %]<br> - [% END %] - [% ELSE %] - →there were none. - [% END %] - </p> - - <p>Checking unconfirmed [% terms.bugs %] in this product for any which now have - sufficient votes...<br> - [% IF changes.confirmed_bugs.size %] - [% FOREACH id = changes.confirmed_bugs %] - - [%# This is INCLUDED instead of PROCESSED to avoid variables getting - overwritten, which happens otherwise %] - [% INCLUDE bug/process/results.html.tmpl - type = 'votes' - header_done = 1 - sent_bugmail = changes.confirmed_bugs_sent_bugmail.$id - id = id - %] - [% END %] - [% ELSE %] - →there were none. - [% END %] - </p> - -[% END %] - [% PROCESS admin/products/footer.html.tmpl %] [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/sanitycheck/CVS/Entries b/template/en/default/admin/sanitycheck/CVS/Entries deleted file mode 100644 index db9d6551b01dd470783940fdbddbfdcd7914f076..0000000000000000000000000000000000000000 --- a/template/en/default/admin/sanitycheck/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/list.html.tmpl/1.2/Mon Aug 20 18:24:53 2007//TBUGZILLA-3_6_1 -/messages.html.tmpl/1.11/Mon Sep 21 22:10:18 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/sanitycheck/CVS/Repository b/template/en/default/admin/sanitycheck/CVS/Repository deleted file mode 100644 index bb951bbb2ff5917e6f3ffdd722b180467606daa3..0000000000000000000000000000000000000000 --- a/template/en/default/admin/sanitycheck/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/sanitycheck diff --git a/template/en/default/admin/sanitycheck/CVS/Root b/template/en/default/admin/sanitycheck/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/sanitycheck/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/sanitycheck/CVS/Tag b/template/en/default/admin/sanitycheck/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/sanitycheck/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/sanitycheck/messages.html.tmpl b/template/en/default/admin/sanitycheck/messages.html.tmpl index c3d5daacde234fad998e08a78f83a3cb41b6f9bc..5c2b2feb1b6b3d9cb173fea194eac45ef58dabe0 100644 --- a/template/en/default/admin/sanitycheck/messages.html.tmpl +++ b/template/en/default/admin/sanitycheck/messages.html.tmpl @@ -81,12 +81,6 @@ [% ELSIF san_tag == "bug_check_status_everconfirmed_error_text2" %] [% terms.Bugs %] with confirmed status but don't have everconfirmed set - [% ELSIF san_tag == "bug_check_votes_everconfirmed" %] - Checking votes/everconfirmed - - [% ELSIF san_tag == "bug_check_votes_everconfirmed_error_text" %] - [% terms.Bugs %] that have enough votes to be confirmed but haven't been - [% ELSIF san_tag == "bug_check_control_values" %] Checking for bad values in group_control_map @@ -228,23 +222,6 @@ [% ELSIF san_tag == "keyword_check_duplicated_ids" %] Duplicate keyword IDs found in [% PROCESS bug_link bug_id = id %]. - [% ELSIF san_tag == "keyword_cache_start" %] - Checking cached keywords. - - [% ELSIF san_tag == "keyword_cache_alert" %] - [% badbugs.size FILTER none %] [%+ terms.bugs %] found with - incorrect keyword cache: [% INCLUDE bug_list badbugs = badbugs %] - - [% ELSIF san_tag == "keyword_cache_fixing" %] - OK, now fixing keyword cache. - - [% ELSIF san_tag == "keyword_cache_fixed" %] - Keyword cache fixed. - - [% ELSIF san_tag == "keyword_cache_rebuild" %] - <a href="sanitycheck.cgi?rebuildkeywordcache=1">Click here to - rebuild the keyword cache</a>. - [% ELSIF san_tag == "profile_login_start" %] Checking profile logins. @@ -275,25 +252,6 @@ [% ELSIF san_tag == "unsent_bugmail_fix" %] <a href="sanitycheck.cgi?rescanallBugMail=1">Send these mails</a>. - [% ELSIF san_tag == "vote_cache_rebuild_start" %] - OK, now rebuilding vote cache. - - [% ELSIF san_tag == "vote_cache_rebuild_end" %] - Vote cache has been rebuilt. - - [% ELSIF san_tag == "vote_cache_rebuild_fix" %] - <a href="sanitycheck.cgi?rebuildvotecache=1">Click here to - rebuild the vote cache</a> - - [% ELSIF san_tag == "vote_cache_alert" %] - Bad vote cache for [% PROCESS bug_link bug_id = id %] - - [% ELSIF san_tag == "vote_count_start" %] - Checking cached vote counts. - - [% ELSIF san_tag == "vote_count_alert" %] - Bad vote sum for [% terms.bug %] [%+ id FILTER html %]. - [% ELSIF san_tag == "whines_obsolete_target_deletion_start" %] OK, now removing non-existent users/groups from whines. diff --git a/template/en/default/admin/settings/CVS/Entries b/template/en/default/admin/settings/CVS/Entries deleted file mode 100644 index d98f9465a204bac306c5ff8e1e618bd5174d352c..0000000000000000000000000000000000000000 --- a/template/en/default/admin/settings/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/edit.html.tmpl/1.9/Sun Jan 27 23:14:25 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/settings/CVS/Repository b/template/en/default/admin/settings/CVS/Repository deleted file mode 100644 index 71068b4492b63fd383aa8e769a96fceaeaa19804..0000000000000000000000000000000000000000 --- a/template/en/default/admin/settings/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/settings diff --git a/template/en/default/admin/settings/CVS/Root b/template/en/default/admin/settings/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/settings/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/settings/CVS/Tag b/template/en/default/admin/settings/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/settings/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/users/CVS/Entries b/template/en/default/admin/users/CVS/Entries deleted file mode 100644 index f305873e9c0d555e77bd1cbbe725232529172fb3..0000000000000000000000000000000000000000 --- a/template/en/default/admin/users/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/confirm-delete.html.tmpl/1.25/Fri Jan 23 22:22:12 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.5/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.15/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.7/Thu Jun 25 01:01:44 2009//TBUGZILLA-3_6_1 -/listselectvars.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_6_1 -/responsibilities.html.tmpl/1.2/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_6_1 -/search.html.tmpl/1.6/Mon Oct 22 21:42:01 2007//TBUGZILLA-3_6_1 -/userdata.html.tmpl/1.13/Fri Aug 8 01:26:58 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/users/CVS/Repository b/template/en/default/admin/users/CVS/Repository deleted file mode 100644 index 8e7009f9e8dda4155eefcdd7df4ae3762b24e505..0000000000000000000000000000000000000000 --- a/template/en/default/admin/users/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/users diff --git a/template/en/default/admin/users/CVS/Root b/template/en/default/admin/users/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/users/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/users/CVS/Tag b/template/en/default/admin/users/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/users/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl index b61a995411d281b72989e295b80c53c2a90237f6..4711376b0dd63d6ab2056e7135a0b43a5af763e1 100644 --- a/template/en/default/admin/users/confirm-delete.html.tmpl +++ b/template/en/default/admin/users/confirm-delete.html.tmpl @@ -33,7 +33,6 @@ # namedquery_group_map: number of named queries the user has shared # profiles_activity: number of changes made to other users' profiles # series: number of series the viewed user has created - # votes: number of bugs the viewed user has voted on # watch.watched: number of users the viewed user is being watched # by # watch.watcher: number of users the viewed user is watching @@ -226,8 +225,8 @@ [% END %] [% IF assignee_or_qa || cc || component_cc || email_setting || flags.requestee || - namedqueries || profile_setting || quips || series || votes || watch.watched || - watch.watcher || whine_events || whine_schedules %] + namedqueries || profile_setting || quips || series || watch.watched || + watch.watcher || whine_events || whine_schedules || other_safe %] <div class="warningmessages"> <p>The following deletions are <b>safe</b> and will not generate referential integrity inconsistencies.</p> @@ -372,23 +371,6 @@ will have no author anymore, but will remain available. </li> [% END %] - [% IF votes %] - <li> - [% otheruser.login FILTER html %] has voted on - [% IF votes == 1 %] - [%+ terms.abug %] - [% ELSE %] - [%+ votes %] [%+ terms.bugs %] - [% END %]. - If you delete the user account, - [% IF votes == 1 %] - this vote - [% ELSE %] - these votes - [% END %] - will be deleted along with the user account. - </li> - [% END %] [% IF watch.watched || watch.watcher %] <li> [% otheruser.login FILTER html %] @@ -445,6 +427,7 @@ but the whines themselves will be left unaltered. </li> [% END %] + [% Hook.process('warn_safe') %] </ul> </div> diff --git a/template/en/default/admin/versions/CVS/Entries b/template/en/default/admin/versions/CVS/Entries deleted file mode 100644 index d38310247777ac14332b0cd08a3a265e1d5bfd80..0000000000000000000000000000000000000000 --- a/template/en/default/admin/versions/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/confirm-delete.html.tmpl/1.8/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_6_1 -/create.html.tmpl/1.7/Mon Aug 20 18:24:54 2007//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.7/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_6_1 -/list.html.tmpl/1.5.6.1/Thu Jun 24 17:08:58 2010//TBUGZILLA-3_6_1 -/select-product.html.tmpl/1.4/Mon Aug 20 18:24:55 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/versions/CVS/Repository b/template/en/default/admin/versions/CVS/Repository deleted file mode 100644 index 2723c403c2f89284f2cb3dcd868d73fec1a58107..0000000000000000000000000000000000000000 --- a/template/en/default/admin/versions/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/versions diff --git a/template/en/default/admin/versions/CVS/Root b/template/en/default/admin/versions/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/versions/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/versions/CVS/Tag b/template/en/default/admin/versions/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/versions/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/admin/workflow/CVS/Entries b/template/en/default/admin/workflow/CVS/Entries deleted file mode 100644 index accbe69ecbe5e16712dcfedfc3ca693bedc5e100..0000000000000000000000000000000000000000 --- a/template/en/default/admin/workflow/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/comment.html.tmpl/1.5/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.8/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/admin/workflow/CVS/Repository b/template/en/default/admin/workflow/CVS/Repository deleted file mode 100644 index 9d423467c19d5b46960389c586cd2c1e35451817..0000000000000000000000000000000000000000 --- a/template/en/default/admin/workflow/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/admin/workflow diff --git a/template/en/default/admin/workflow/CVS/Root b/template/en/default/admin/workflow/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/admin/workflow/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/admin/workflow/CVS/Tag b/template/en/default/admin/workflow/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/admin/workflow/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/attachment/CVS/Entries b/template/en/default/attachment/CVS/Entries deleted file mode 100644 index fafa5b2ebb7bc6caa162ed52714057040f1a4594..0000000000000000000000000000000000000000 --- a/template/en/default/attachment/CVS/Entries +++ /dev/null @@ -1,17 +0,0 @@ -/cancel-create-dupe.html.tmpl/1.2/Fri Jun 27 19:56:25 2008//TBUGZILLA-3_6_1 -/choose.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_6_1 -/confirm-delete.html.tmpl/1.7/Mon Mar 9 22:10:17 2009//TBUGZILLA-3_6_1 -/content-types.html.tmpl/1.6/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_6_1 -/create.html.tmpl/1.46/Thu Dec 17 23:31:56 2009//TBUGZILLA-3_6_1 -/created.html.tmpl/1.25/Mon Dec 7 19:11:58 2009//TBUGZILLA-3_6_1 -/createformcontents.html.tmpl/1.4/Fri May 29 00:59:42 2009//TBUGZILLA-3_6_1 -/delete_reason.txt.tmpl/1.3/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_6_1 -/diff-file.html.tmpl/1.8/Thu Jul 9 15:46:56 2009//TBUGZILLA-3_6_1 -/diff-footer.html.tmpl/1.4/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_6_1 -/diff-header.html.tmpl/1.23/Sun Sep 27 16:19:02 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.64.2.1/Wed Feb 10 00:03:49 2010//TBUGZILLA-3_6_1 -/list.html.tmpl/1.43/Mon Nov 16 16:33:12 2009//TBUGZILLA-3_6_1 -/midair.html.tmpl/1.2/Fri Feb 8 23:19:10 2008//TBUGZILLA-3_6_1 -/show-multiple.html.tmpl/1.27/Fri Oct 23 21:32:07 2009//TBUGZILLA-3_6_1 -/updated.html.tmpl/1.23/Mon Dec 7 19:11:58 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/attachment/CVS/Repository b/template/en/default/attachment/CVS/Repository deleted file mode 100644 index c02ae519c8ce330177e08248d638580a5710cef5..0000000000000000000000000000000000000000 --- a/template/en/default/attachment/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/attachment diff --git a/template/en/default/attachment/CVS/Root b/template/en/default/attachment/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/attachment/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/attachment/CVS/Tag b/template/en/default/attachment/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/attachment/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/attachment/create.html.tmpl b/template/en/default/attachment/create.html.tmpl index f00a0ade42c48873af72c25ba103057171564589..f440f45833659c0913bdcc84524130db33e7eaef 100644 --- a/template/en/default/attachment/create.html.tmpl +++ b/template/en/default/attachment/create.html.tmpl @@ -33,7 +33,7 @@ title = title header = header subheader = subheader - style_urls = [ 'skins/standard/create_attachment.css' ] + style_urls = [ 'skins/standard/attachment.css' ] javascript_urls = [ "js/attachment.js", "js/util.js" ] doc_section = "attachments.html" %] diff --git a/template/en/default/attachment/diff-file.html.tmpl b/template/en/default/attachment/diff-file.html.tmpl index 9392ca1059f748bc00c4b5d5992272b7ad41fa53..a742a841ee40f0805e7f70f477ef441a83f8d59d 100644 --- a/template/en/default/attachment/diff-file.html.tmpl +++ b/template/en/default/attachment/diff-file.html.tmpl @@ -53,7 +53,7 @@ incremental_restore() [% FOREACH section = sections %] [% section_num = section_num + 1 %] <tr><th colspan="4" class="section_head"> - <table cellpadding="0" cellspacing="0"> + <table id="[% file.filename FILTER html %]_sec[% section_num %]" cellpadding="0" cellspacing="0"> <tr><th width="95%" align="left"> [% IF file.is_add %] Added @@ -79,7 +79,7 @@ incremental_restore() [% section.func_info FILTER html IF section.func_info %] [% END %] </th><th> - <a name="[% file.filename FILTER html %]_sec[% section_num %]" href="#[% file.filename FILTER html %]_sec[% section_num %]">Link Here</a> + <a href="#[% file.filename FILTER html %]_sec[% section_num %]">Link Here</a> </th></tr></table> </th></tr> [% current_line_old = section.old_start %] diff --git a/template/en/default/attachment/diff-header.html.tmpl b/template/en/default/attachment/diff-header.html.tmpl index 663d9b766790dd0e0792838ba63b4d47d845c807..30b8e98e9d56980d4a1b8f1f0f6cac7da009eec7 100644 --- a/template/en/default/attachment/diff-header.html.tmpl +++ b/template/en/default/attachment/diff-header.html.tmpl @@ -53,11 +53,11 @@ Interdiff of #[% oldid %] and #[% newid %] for [% terms.bug %] #[% bugid %] [% END %] [% PROCESS global/header.html.tmpl doc_section = "attachments.html#patchviewer" javascript_urls = "js/attachment.js" - style_urls = ['skins/standard/create_attachment.css'] %] + style_urls = ['skins/standard/attachment.css'] %] [% ELSE %] <html> <head> - <link href="skins/standard/create_attachment.css" rel="stylesheet" type="text/css"> + <link href="skins/standard/attachment.css" rel="stylesheet" type="text/css"> <script src="js/attachment.js" type="text/javascript"></script> </head> <body onload="[% onload FILTER html %]"> diff --git a/template/en/default/attachment/edit.html.tmpl b/template/en/default/attachment/edit.html.tmpl index fa8a53a4ae1baf603aa8145f8e075ffbf27d55cd..6a98a7f05105b0466cceccad917a8de9ea2259b4 100644 --- a/template/en/default/attachment/edit.html.tmpl +++ b/template/en/default/attachment/edit.html.tmpl @@ -17,6 +17,7 @@ # # Contributor(s): Myk Melez <myk@mozilla.org> # Frédéric Buclin <LpSolit@gmail.com> + # Guy Pyrzak <guy.pyrzak@gmail.com> #%] [% PROCESS global/variables.none.tmpl %] @@ -37,7 +38,8 @@ subheader = subheader doc_section = "attachments.html" javascript_urls = ['js/attachment.js'] - style_urls = ['skins/standard/create_attachment.css'] + style_urls = ['skins/standard/attachment.css'] + bodyclasses = "no_javascript" %] [%# No need to display the Diff button and iframe if the attachment is not a patch. %] @@ -54,12 +56,38 @@ <input type="hidden" name="token" value="[% issue_hash_token([attachment.id, attachment.modification_time]) FILTER html %]"> [% END %] - <table class="attachment_info" width="100%"> - - <tr> - <td id="attachment_attributes"> + <div id="attachment_info" class="attachment_info [% IF can_edit %] edit[% ELSE %] read[% END%]"> + <div id="attachment_attributes"> + <div id="attachment_information_read_only" class="[% "bz_private" IF attachment.isprivate %]"> + <div class="title"> + [% "[patch]" IF attachment.ispatch%] + <span class="[% "bz_obsolete" IF attachment.isobsolete %]" title="[% "obsolete" IF attachment.isobsolete %]"> + [% attachment.description FILTER html %] + </span> + [% IF can_edit %] + <span class="bz_edit">(<a href="javascript:toggle_attachment_details_visibility()">edit</a>)</span> + [% END %] + </div> + [% IF NOT attachment.isurl %] + <div class="details"> + [% attachment.filename FILTER html %] ([% attachment.contenttype FILTER html %]) + [% IF attachment.datasize %] + [%+ attachment.datasize FILTER unitconvert %] + [% ELSE %] + <em>deleted</em> + [% END %], created by [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] + [% IF attachment.isprivate %] + <span class="bz_private">Only visible to <strong>[% Param('insidergroup') FILTER html %]</strong></span> + [% END %] + </div> + [% END %] + </div> + <div id="attachment_information_edit"> + <span class="bz_hide"> + (<a href="javascript:toggle_attachment_details_visibility();">hide</a>) + </span> <div id="attachment_description"> - <label for="description">Description:</label> + <label for="description">Description:</label> [% INCLUDE global/textarea.html.tmpl id = 'description' name = 'description' @@ -68,38 +96,34 @@ wrap = 'soft' classes = 'block' _ editable_or_hide defaultcontent = attachment.description - %] - [% IF !can_edit %] - [%+ attachment.description FILTER wrap_comment(25) FILTER html %] - [% END %] + %] </div> [% IF attachment.isurl %] - <input type="hidden" name="filename" - value="[% attachment.filename FILTER html %]"> - <input type="hidden" name="contenttypeentry" - value="[% attachment.contenttype FILTER html %]"> + <input type="hidden" name="filename" + value="[% attachment.filename FILTER html %]"> + <input type="hidden" name="contenttypeentry" + value="[% attachment.contenttype FILTER html %]"> [% ELSE %] <div id="attachment_filename"> <label for="filename">Filename:</label> - <input type="text" size="20" class="block[% editable_or_hide %]" + <input type="text" size="20" class="text block[% editable_or_hide %]" id="filename" name="filename" - value="[% attachment.filename FILTER html %]"> - [% IF !can_edit %] - [%+ attachment.filename FILTER truncate(25) FILTER html %] - [% END %] + value="[% attachment.filename FILTER html %]"> </div> <div id="attachment_mimetype"> <label for="contenttypeentry">MIME Type:</label> - <input type="text" size="20" class="block[% editable_or_hide %]" + <input type="text" size="20" class="text block[% editable_or_hide %]" id="contenttypeentry" name="contenttypeentry" - value="[% attachment.contenttype FILTER html %]"> - [% IF !can_edit %] - [%+ attachment.contenttype FILTER truncate(25) FILTER html %] - [% END %] + value="[% attachment.contenttype FILTER html %]"> </div> - + + <div id="attachment_creator"> + <span class="label">Creator:</span> + [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] + </div> + <div id="attachment_size"> <span class="label">Size:</span> [% IF attachment.datasize %] @@ -109,154 +133,150 @@ [% END %] </div> - <div id="attachment_creator"> - <span class="label">Creator:</span> - [%+ INCLUDE global/user.html.tmpl who = attachment.attacher %] - </div> - <div id="attachment_ispatch"> <input type="checkbox" id="ispatch" name="ispatch" value="1" - [%+ IF !can_edit %]class="bz_hidden_option"[% END %] [%+ 'checked="checked"' IF attachment.ispatch %]> - [% IF can_edit %] - <label for="ispatch">patch</label> - [% ELSE %] - <span class="label">Is Patch:</span> - [%+ attachment.ispatch ? "yes" : "no" %] - [% END %] + <label for="ispatch">patch</label> </div> [% END %] + <div class="readonly"> + <div class="checkboxes"> + <div id="attachment_isobsolete"> + <input type="checkbox" id="isobsolete" name="isobsolete" value="1" + [%+ 'checked="checked"' IF attachment.isobsolete %]> + <label for="isobsolete">obsolete</label> + </div> - <div id="attachment_isobsolete"> - <input type="checkbox" id="isobsolete" name="isobsolete" value="1" - [%+ IF !can_edit %]class="bz_hidden_option"[% END %] - [%+ 'checked="checked"' IF attachment.isobsolete %]> - [% IF can_edit %] - <label for="isobsolete">obsolete</label> - [% ELSE %] - <span class="label">Is Obsolete:</span> - [%+ attachment.isobsolete ? "yes" : "no" %] - [% END %] - </div> - - [% IF user.is_insider %] - <div id="attachment_isprivate"> - <input type="checkbox" id="isprivate" name="isprivate" value="1" - [%+ IF !can_edit %]class="bz_hidden_option"[% END %] - [%+ 'checked="checked"' IF attachment.isprivate %]> - [% IF can_edit %] - <label for="isprivate">private (only visible to - <strong>[% Param('insidergroup') FILTER html %]</strong>) - </label> - [% ELSE %] - <span class="label">Is Private:</span> - [%+ attachment.isprivate ? "yes" : "no" %] + [% IF user.is_insider %] + <div id="attachment_isprivate"> + <input type="checkbox" id="isprivate" name="isprivate" value="1" + [%+ 'checked="checked"' IF attachment.isprivate %]> + [% IF can_edit %] + <label for="isprivate">private (only visible to + <strong>[% Param('insidergroup') FILTER html %]</strong>) + </label> + [% ELSE %] + <span class="label">Is Private:</span> + [%+ attachment.isprivate ? "yes" : "no" %] + [% END %] + </div> [% END %] </div> - [% END %] + </div> + </div> - [% IF attachment.flag_types.size > 0 %] - <div id="attachment_flags"> - [% PROCESS "flag/list.html.tmpl" bug_id = attachment.bug_id - attach_id = attachment.id - flag_types = attachment.flag_types - read_only_flags = !can_edit + <div id="attachment_view_window"> + [% IF !attachment.datasize %] + <div><b>The content of this attachment has been deleted.</b></div> + [% ELSIF attachment.isurl %] + <div> + <a href="[% attachment.data FILTER html %]"> + [% IF attachment.datasize < 120 %] + [% attachment.data FILTER html %] + [% ELSE %] + [% attachment.data FILTER truncate(80) FILTER html %] + ... + [% attachment.data.match(".*(.{20})$").0 FILTER html %] + [% END %] + </a> + </div> + [% ELSIF !Param("allow_attachment_display") %] + <div id="view_disabled" > + <p><b> + The attachment is not viewable in your browser due to security + restrictions enabled by your [% terms.Bugzilla %] administrator. + </b></p> + <p><b> + In order to view the attachment, you first have to + <a href="attachment.cgi?id=[% attachment.id %]">download it</a>. + </b></p> + </div> + [% ELSIF attachment.is_viewable %] + <div > + [% INCLUDE global/textarea.html.tmpl + id = 'editFrame' + name = 'comment' + classes = 'bz_default_hidden' + minrows = 10 + cols = 80 + wrap = 'soft' + defaultcontent = (attachment.contenttype.match('^text\/')) ? + attachment.data.replace('(.*\n|.+)', '>$1') : undef %] + <iframe id="viewFrame" src="attachment.cgi?id=[% attachment.id %]"> + <b>You cannot view the attachment while viewing its details because your browser does not support IFRAMEs. + <a href="attachment.cgi?id=[% attachment.id %]">View the attachment on a separate page</a>.</b> + </iframe> + <script type="text/javascript"> + <!-- + var patchviewerinstalled = 0; + var attachment_id = [% attachment.id %]; + if (typeof document.getElementById == "function") { + [% IF use_patchviewer %] + var patchviewerinstalled = 1; + document.write('<iframe id="viewDiffFrame" class="bz_default_hidden"><\/iframe>'); + [% END %] + [% IF user.id %] + document.write('<button type="button" id="editButton" onclick="editAsComment(patchviewerinstalled);">Edit Attachment As Comment<\/button>'); + document.write('<button type="button" id="undoEditButton" onclick="undoEditAsComment(patchviewerinstalled);" class="bz_default_hidden">Undo Edit As Comment<\/button>'); + document.write('<button type="button" id="redoEditButton" onclick="redoEditAsComment(patchviewerinstalled);" class="bz_default_hidden">Redo Edit As Comment<\/button>'); + [% END %] + [% IF use_patchviewer %] + document.write('<button type="button" id="viewDiffButton" onclick="viewDiff(attachment_id, patchviewerinstalled);">View Attachment As Diff<\/button>'); + [% END %] + document.write('<button type="button" id="viewRawButton" onclick="viewRaw(patchviewerinstalled);" class="bz_default_hidden">View Attachment As Raw<\/button>'); + } + //--> + </script> + </div> + [% ELSE %] + <div id="noview"> + <p><b> + Attachment is not viewable in your browser because its MIME type + ([% attachment.contenttype FILTER html %]) is not one that your browser is + able to display. + </b></p> + <p><b> + <a href="attachment.cgi?id=[% attachment.id %]">Download the attachment</a>. + </b></p> </div> [% END %] - + </div> + <div id="attachment_comments_and_flags"> [% IF user.id %] - <div id="smallCommentFrame"> + <div id="smallCommentFrame" > <label for="comment">Comment (on the [% terms.bug %]):</label> + [% classNames = 'block' %] + [% classNames = "$classes bz_private" IF attachment.isprivate %] [% INCLUDE global/textarea.html.tmpl id = 'comment' name = 'comment' - minrows = 5 - cols = 25 + minrows = 10 + cols = 80 wrap = 'soft' - classes = 'block' + classes = classNames %] </div> - - <input type="submit" value="Submit" id="update"><br><br> - [% END %] - </td> - - [% IF !attachment.datasize %] - <td width="75%"><b>The content of this attachment has been deleted.</b></td> - [% ELSIF attachment.isurl %] - <td width="75%"> - <a href="[% attachment.data FILTER html %]"> - [% IF attachment.datasize < 120 %] - [% attachment.data FILTER html %] - [% ELSE %] - [% attachment.data FILTER truncate(80) FILTER html %] - ... - [% attachment.data.match(".*(.{20})$").0 FILTER html %] - [% END %] - </a> - </td> - [% ELSIF !Param("allow_attachment_display") %] - <td id="view_disabled" width="50%"> - <p><b> - The attachment is not viewable in your browser due to security - restrictions enabled by [% terms.Bugzilla %]. - </b></p> - <p><b> - In order to view the attachment, you first have to - <a href="attachment.cgi?id=[% attachment.id %]">download it</a>. - </b></p> - </td> - [% ELSIF attachment.is_viewable %] - <td width="75%"> - [% INCLUDE global/textarea.html.tmpl - id = 'editFrame' - name = 'comment' - style = 'height: 400px; width: 100%; display: none' - minrows = 10 - cols = 80 - wrap = 'soft' - defaultcontent = (attachment.contenttype.match('^text\/')) ? - attachment.data.replace('(.*\n|.+)', '>$1') : undef - %] - <iframe id="viewFrame" src="attachment.cgi?id=[% attachment.id %]" style="height: 400px; width: 100%;"> - <b>You cannot view the attachment while viewing its details because your browser does not support IFRAMEs. - <a href="attachment.cgi?id=[% attachment.id %]">View the attachment on a separate page</a>.</b> - </iframe> - <script type="text/javascript"> - <!-- - var patchviewerinstalled = 0; - var attachment_id = [% attachment.id %]; - if (typeof document.getElementById == "function") { -[% IF use_patchviewer %] - var patchviewerinstalled = 1; - document.write('<iframe id="viewDiffFrame" style="height: 400px; width: 100%; display: none;"><\/iframe>'); -[% END %] - document.write('<button type="button" id="editButton" onclick="editAsComment(patchviewerinstalled);">Edit Attachment As Comment<\/button>'); - document.write('<button type="button" id="undoEditButton" onclick="undoEditAsComment(patchviewerinstalled);" style="display: none;">Undo Edit As Comment<\/button>'); - document.write('<button type="button" id="redoEditButton" onclick="redoEditAsComment(patchviewerinstalled);" style="display: none;">Redo Edit As Comment<\/button>'); -[% IF use_patchviewer %] - document.write('<button type="button" id="viewDiffButton" onclick="viewDiff(attachment_id, patchviewerinstalled);">View Attachment As Diff<\/button>'); -[% END %] - document.write('<button type="button" id="viewRawButton" onclick="viewRaw(patchviewerinstalled);" style="display: none;">View Attachment As Raw<\/button>'); - } - //--> - </script> - </td> - [% ELSE %] - <td id="noview" width="50%"> - <p><b> - Attachment is not viewable in your browser because its MIME type - ([% attachment.contenttype FILTER html %]) is not one that your browser is - able to display. - </b></p> - <p><b> - <a href="attachment.cgi?id=[% attachment.id %]">Download the attachment</a>. - </b></p> - </td> - [% END %] - </tr> - </table> + [% END %] + <div id="attachment_flags"> + [% IF attachment.flag_types.size > 0 %] + + [% PROCESS "flag/list.html.tmpl" bug_id = attachment.bug_id + attach_id = attachment.id + flag_types = attachment.flag_types + read_only_flags = !can_edit + %] + + [% END %] + </div> + [% IF user.id %] + <div id="update_container"> + <input type="submit" value="Submit" id="update"> + </div> + [% END %] + </div> + </div> + </div> </form> <div id="attachment_actions"> @@ -283,7 +303,14 @@ [% " |" UNLESS loop.last() %] [% END %] </div> - +[% IF can_edit %] + <script type="text/javascript"> + <!-- + YAHOO.util.Dom.removeClass( document.body, "no_javascript" ); + toggle_attachment_details_visibility( ); + --> + </script> +[% END %] [% Hook.process('end') %] [% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl index 6453b4e685ac1aa741668c4aa3ac42a2ece93736..89eef183692846ca391bd4bc0e247b435be1c449 100644 --- a/template/en/default/attachment/list.html.tmpl +++ b/template/en/default/attachment/list.html.tmpl @@ -19,6 +19,8 @@ # Frédéric Buclin <LpSolit@gmail.com> #%] +[% RETURN UNLESS attachments.size || Param("maxattachmentsize") %] + <script type="text/javascript"> <!-- function toggle_display(link) { @@ -50,9 +52,9 @@ function toggle_display(link) { <br> <table id="attachment_table" cellspacing="0" cellpadding="4"> - <tr> + <tr id="a0"> <th colspan="[% show_attachment_flags ? 3 : 2 %]" align="left"> - <a name="a0" id="a0">Attachments</a> + Attachments </th> </tr> @@ -65,7 +67,7 @@ function toggle_display(link) { [% IF attachment.isobsolete %] [% obsolete_attachments = obsolete_attachments + 1 %] [% END %] - <tr class="[% "bz_contenttype_" _ attachment.contenttype + <tr id="a[% count %]" class="[% "bz_contenttype_" _ attachment.contenttype FILTER css_class_quote UNLESS attachment.isurl %] [% " bz_patch" IF attachment.ispatch %] [% " bz_url" IF attachment.isurl %] @@ -74,7 +76,7 @@ function toggle_display(link) { IF attachment.isobsolete %]"> <td valign="top"> [% IF attachment.datasize %] - <a name="a[% count %]" href="attachment.cgi?id=[% attachment.id %]" + <a href="attachment.cgi?id=[% attachment.id %]" title="View the content of the attachment"> [% END %] <b>[% attachment.description FILTER html FILTER obsolete(attachment.isobsolete) %]</b> @@ -109,10 +111,22 @@ function toggle_display(link) { <i>no flags</i> [% ELSE %] [% FOREACH flag = attachment.flags %] - [% flag.setter.nick FILTER html %]: + [% IF user.id %] + <span title="[% flag.setter.identity FILTER html %]">[% flag.setter.nick FILTER html %]</span>: + [% ELSIF flag.setter.name %] + <span title="[% flag.setter.name FILTER html %]">[% flag.setter.nick FILTER html %]</span>: + [% ELSE %] + [% flag.setter.nick FILTER html %]: + [% END %] [%+ flag.type.name FILTER html FILTER no_break %][% flag.status %] [%+ IF flag.status == "?" && flag.requestee %] - ([% flag.requestee.nick FILTER html %]) + [% IF user.id %] + (<span title="[% flag.requestee.identity FILTER html %]">[% flag.requestee.nick FILTER html %]</span>) + [% ELSIF flag.requestee.name %] + (<span title="[% flag.requestee.name FILTER html %]">[% flag.requestee.nick FILTER html %]</span>) + [% ELSE %] + ([% flag.requestee.nick FILTER html %]) + [% END %] [% END %]<br> [% END %] [% END %] @@ -143,8 +157,10 @@ function toggle_display(link) { [% END %] </span> [% END %] - <a href="attachment.cgi?bugid=[% bugid %]&action=enter">Add an attachment</a> - (proposed patch, testcase, etc.) + [% IF Param("maxattachmentsize") %] + <a href="attachment.cgi?bugid=[% bugid %]&action=enter">Add an attachment</a> + (proposed patch, testcase, etc.) + [% END %] </td> </tr> </table> diff --git a/template/en/default/attachment/show-multiple.html.tmpl b/template/en/default/attachment/show-multiple.html.tmpl index bcc297713fd536e57a23ddfcf3976f70039262fc..15e20e894c5ff4d9a015ad784b65c644aa23f719 100644 --- a/template/en/default/attachment/show-multiple.html.tmpl +++ b/template/en/default/attachment/show-multiple.html.tmpl @@ -31,7 +31,7 @@ title = title header = header subheader = filtered_summary - style_urls = ['skins/standard/create_attachment.css'] + style_urls = ['skins/standard/attachment.css'] %] <br> diff --git a/template/en/default/bug/CVS/Entries b/template/en/default/bug/CVS/Entries deleted file mode 100644 index 1b08c58335623402156375ac4e75ef4c1dc32183..0000000000000000000000000000000000000000 --- a/template/en/default/bug/CVS/Entries +++ /dev/null @@ -1,20 +0,0 @@ -/choose.html.tmpl/1.8/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_6_1 -/comments.html.tmpl/1.46/Sun Dec 13 22:47:34 2009//TBUGZILLA-3_6_1 -/dependency-graph.html.tmpl/1.14/Mon Aug 20 18:24:57 2007//TBUGZILLA-3_6_1 -/dependency-tree.html.tmpl/1.32/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_6_1 -/edit.html.tmpl/1.174.2.2/Thu Feb 18 19:18:02 2010//TBUGZILLA-3_6_1 -/field-events.js.tmpl/1.2/Sun Jun 21 19:33:48 2009//TBUGZILLA-3_6_1 -/field.html.tmpl/1.33/Mon Nov 9 19:12:53 2009//TBUGZILLA-3_6_1 -/format_comment.txt.tmpl/1.7.2.1/Sat Feb 20 20:03:56 2010//TBUGZILLA-3_6_1 -/knob.html.tmpl/1.45/Sat Dec 12 21:55:15 2009//TBUGZILLA-3_6_1 -/navigate.html.tmpl/1.13/Wed Aug 12 01:46:01 2009//TBUGZILLA-3_6_1 -/show-header.html.tmpl/1.1/Mon Dec 7 19:11:59 2009//TBUGZILLA-3_6_1 -/show-multiple.html.tmpl/1.48/Wed Nov 18 07:04:58 2009//TBUGZILLA-3_6_1 -/show.html.tmpl/1.29/Mon Dec 7 19:11:59 2009//TBUGZILLA-3_6_1 -/show.xml.tmpl/1.37/Fri Dec 4 14:28:49 2009//TBUGZILLA-3_6_1 -/summarize-time.html.tmpl/1.16/Wed Sep 30 22:35:27 2009//TBUGZILLA-3_6_1 -/time.html.tmpl/1.3/Mon Aug 20 18:24:58 2007//TBUGZILLA-3_6_1 -D/activity//// -D/create//// -D/process//// -D/votes//// diff --git a/template/en/default/bug/CVS/Repository b/template/en/default/bug/CVS/Repository deleted file mode 100644 index a46334b523219d21b3d53f77413cfbeda193b919..0000000000000000000000000000000000000000 --- a/template/en/default/bug/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/bug diff --git a/template/en/default/bug/CVS/Root b/template/en/default/bug/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/bug/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/bug/CVS/Tag b/template/en/default/bug/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/bug/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/bug/activity/CVS/Entries b/template/en/default/bug/activity/CVS/Entries deleted file mode 100644 index 7809c6fdc9425acef53599897464c630012cbfb4..0000000000000000000000000000000000000000 --- a/template/en/default/bug/activity/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/show.html.tmpl/1.11/Thu Aug 6 15:02:57 2009//TBUGZILLA-3_6_1 -/table.html.tmpl/1.21.2.1/Sun Mar 28 04:33:12 2010//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/bug/activity/CVS/Repository b/template/en/default/bug/activity/CVS/Repository deleted file mode 100644 index 315cc7c92d3d9400ac1b4855debacad4904b4662..0000000000000000000000000000000000000000 --- a/template/en/default/bug/activity/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/bug/activity diff --git a/template/en/default/bug/activity/CVS/Root b/template/en/default/bug/activity/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/bug/activity/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/bug/activity/CVS/Tag b/template/en/default/bug/activity/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/bug/activity/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/bug/activity/table.html.tmpl b/template/en/default/bug/activity/table.html.tmpl index 249253476adff0b03cd595e69f7088bff5f4d8dc..a9aca0a648a450281f64bb9da4ad3a0cb64c71d6 100644 --- a/template/en/default/bug/activity/table.html.tmpl +++ b/template/en/default/bug/activity/table.html.tmpl @@ -73,7 +73,13 @@ <a href="attachment.cgi?id=[% change.attachid %]"> Attachment #[% change.attachid %]</a> [% END %] - [%+ field_descs.${change.fieldname} FILTER html %] + [% IF change.comment.defined %] + [% comment_desc = field_descs.${change.fieldname} %] + [% comment_num = "Comment $change.comment.count" FILTER bug_link(bug.bug_id, comment_num => change.comment.count) %] + [% comment_desc.replace('^(Comment )?', "$comment_num ") FILTER none %] + [% ELSE %] + [%+ field_descs.${change.fieldname} FILTER html %] + [% END %] </td> [% PROCESS change_column change_type = change.removed %] [% PROCESS change_column change_type = change.added %] diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl index 41b91d79aa2614c0e6a2766a99814fd8f5b00de1..af6cc2191117d83c8ae23b4cba7bce3d6f9400fd 100644 --- a/template/en/default/bug/comments.html.tmpl +++ b/template/en/default/bug/comments.html.tmpl @@ -22,76 +22,8 @@ [% PROCESS bug/time.html.tmpl %] - <script type="text/javascript"> - <!-- - function updateCommentPrivacy(checkbox, id) { - var comment_elem = document.getElementById('comment_text_'+id).parentNode; - if (checkbox.checked) { - if (!comment_elem.className.match('bz_private')) { - comment_elem.className = comment_elem.className.concat(' bz_private'); - } - } - else { - comment_elem.className = - comment_elem.className.replace(/(\s*|^)bz_private(\s*|$)/, '$2'); - } - } - - /* The functions below expand and collapse comments */ - - function toggle_comment_display(link, comment_id) { - var comment = document.getElementById('comment_text_' + comment_id); - var re = new RegExp(/\bcollapsed\b/); - if (comment.className.match(re)) - expand_comment(link, comment); - else - collapse_comment(link, comment); - } - - function toggle_all_comments(action) { - var num_comments = [% comments.size FILTER html %]; - - // If for some given ID the comment doesn't exist, this doesn't mean - // there are no more comments, but that the comment is private and - // the user is not allowed to view it. - - for (var id = 0; id < num_comments; id++) { - var comment = document.getElementById('comment_text_' + id); - if (!comment) - continue; - - var link = document.getElementById('comment_link_' + id); - if (action == 'collapse') - collapse_comment(link, comment); - else - expand_comment(link, comment); - } - } - - function collapse_comment(link, comment) { - link.innerHTML = "[+]"; - link.title = "Expand the comment."; - YAHOO.util.Dom.addClass(comment, 'collapsed'); - } - - function expand_comment(link, comment) { - link.innerHTML = "[-]"; - link.title = "Collapse the comment"; - YAHOO.util.Dom.removeClass(comment, 'collapsed'); - } - - /* This way, we are sure that browsers which do not support JS - * won't display this link */ - - function addCollapseLink(count) { - document.write(' <a href="#" class="bz_collapse_comment"' + - ' id="comment_link_' + count + - '" onclick="toggle_comment_display(this, ' + count + - '); return false;" title="Collapse the comment.">[-]<\/a> '); - } - //--> - </script> - +<script src="js/comments.js" type="text/javascript"> +</script> [% DEFAULT start_at = 0 mode = "show" %] [% sort_order = user.settings.comment_sort_order.value %] @@ -142,9 +74,9 @@ <td> [% IF mode == "edit" %] <ul class="bz_collapse_expand_comments"> - <li><a href="#" onclick="toggle_all_comments('collapse'); + <li><a href="#" onclick="toggle_all_comments('collapse', [% comments.size %]); return false;">Collapse All Comments</a></li> - <li><a href="#" onclick="toggle_all_comments('expand'); + <li><a href="#" onclick="toggle_all_comments('expand', [% comments.size %]); return false;">Expand All Comments</a></li> </ul> [% END %] @@ -157,8 +89,9 @@ [% BLOCK a_comment %] [% RETURN IF comment.is_private AND ! user.is_insider %] + [% RETURN IF comment.body == '' AND comment.work_time != 0 AND !user.is_timetracker %] - <div class="bz_comment[% " bz_private" IF comment.is_private %] + <div id="c[% count %]" class="bz_comment[% " bz_private" IF comment.is_private %] [% " bz_comment_hilite" IF marks.$count %] [% " bz_first_comment" IF count == description %]"> [% IF count == description %] @@ -194,7 +127,7 @@ [% END %] <span class="bz_comment_number"> - <a name="c[% count %]" + <a href="show_bug.cgi?id=[% bug.bug_id %]#c[% count %]"> [%- comment_label FILTER html %]</a> </span> diff --git a/template/en/default/bug/create/CVS/Entries b/template/en/default/bug/create/CVS/Entries deleted file mode 100644 index c2eb2cd385e96fa843343e9a3d7697ade04eb303..0000000000000000000000000000000000000000 --- a/template/en/default/bug/create/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/comment-guided.txt.tmpl/1.7/Thu Jan 1 23:11:59 2009//TBUGZILLA-3_6_1 -/comment.txt.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_6_1 -/confirm-create-dupe.html.tmpl/1.4/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_6_1 -/create-guided.html.tmpl/1.45/Sun Feb 8 14:21:26 2009//TBUGZILLA-3_6_1 -/create.html.tmpl/1.103/Thu Dec 31 12:31:39 2009//TBUGZILLA-3_6_1 -/created.html.tmpl/1.18.2.1/Wed Apr 7 03:31:32 2010//TBUGZILLA-3_6_1 -/make-template.html.tmpl/1.10/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_6_1 -/user-message.html.tmpl/1.5/Mon Aug 20 18:25:00 2007//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/bug/create/CVS/Repository b/template/en/default/bug/create/CVS/Repository deleted file mode 100644 index bf9e5171048a2469ee2c5330cb28611fc6e4cbcf..0000000000000000000000000000000000000000 --- a/template/en/default/bug/create/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/bug/create diff --git a/template/en/default/bug/create/CVS/Root b/template/en/default/bug/create/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/bug/create/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/bug/create/CVS/Tag b/template/en/default/bug/create/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/bug/create/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/bug/create/create-guided.html.tmpl b/template/en/default/bug/create/create-guided.html.tmpl index 9f2a21b71cb3617fa79bdb267fd8b16a47a153cb..86bdb86214fb489bc1a41c7a7f460e13961eabc2 100644 --- a/template/en/default/bug/create/create-guided.html.tmpl +++ b/template/en/default/bug/create/create-guided.html.tmpl @@ -67,8 +67,7 @@ function PutDescription() { } </script> -<a name="step1"></a> -<h3>Step 1 of 3 - has your [% terms.bug %] already been reported?</h3> +<h3 id="step1">Step 1 of 3 - has your [% terms.bug %] already been reported?</h3> <p> <font color="red">Please don't skip this step - half of all @@ -136,8 +135,7 @@ function PutDescription() { </p> -<a name="step2"></a> -<h3>Step 2 of 3 - give information</h3> +<h3 id="step2">Step 2 of 3 - give information</h3> <p> If you've tried a few searches and your [% terms.bug %] really isn't in @@ -474,8 +472,7 @@ function PutDescription() { </table> -<a name="step3"></a> -<h3>Step 3 of 3 - submit the [% terms.bug %] report</h3> +<h3 id="step3">Step 3 of 3 - submit the [% terms.bug %] report</h3> <p> <input type="submit" id="report" value=" Submit [% terms.Bug %] Report " diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl index 4b1745757a16a9f4d7006eda323058891fd9890a..0733de02a06f4244bba737484ccca9bf861b3591 100644 --- a/template/en/default/bug/create/create.html.tmpl +++ b/template/en/default/bug/create/create.html.tmpl @@ -30,10 +30,11 @@ [% PROCESS global/header.html.tmpl title = title - style_urls = [ 'skins/standard/create_attachment.css', - 'skins/standard/yui/calendar.css' ] - javascript_urls = [ "js/attachment.js", "js/util.js", "js/yui/calendar.js", - "js/field.js", "js/TUI.js" ] + yui = [ 'autocomplete', 'calendar', 'datatable' ] + style_urls = [ 'skins/standard/attachment.css', + 'skins/standard/enter_bug.css' ] + javascript_urls = [ "js/attachment.js", "js/util.js", + "js/field.js", "js/TUI.js", "js/bug.js" ] onload = 'set_assign_to();' %] @@ -168,20 +169,12 @@ TUI_hide_default('expert_fields'); --> </script> -[% USE Bugzilla %] -[% SET select_fields = {} %] -[% FOREACH field = Bugzilla.get_fields( - { type => constants.FIELD_TYPE_SINGLE_SELECT, custom => 0 }) -%] - [% select_fields.${field.name} = field %] -[% END %] - <form name="Create" id="Create" method="post" action="post_bug.cgi" - enctype="multipart/form-data"> + class="enter_bug_form" enctype="multipart/form-data"> <input type="hidden" name="product" value="[% product.name FILTER html %]"> <input type="hidden" name="token" value="[% token FILTER html %]"> -<table cellspacing="4" cellpadding="2" border="0"> +<table> <tbody> <tr> <td colspan="4"> @@ -210,22 +203,26 @@ TUI_hide_default('expert_fields'); </tr> <tr> - <th>Product:</th> - <td width="10%">[% product.name FILTER html %]</td> - - <th>Reporter:</th> - <td width="100%">[% user.login FILTER html %]</td> + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.product, editable = 0, + value = product.name %] + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.reporter, editable = 0, + value = user.login %] </tr> [%# We can't use the select block in these two cases for various reasons. %] <tr> - <th class="required"> - <a href="describecomponents.cgi?product=[% product.name FILTER url_quote %]"> - Component</a>: - </th> - <td> - <select name="component" onchange="set_assign_to();" size="7" - aria-required="true" class="required"> + [% component_desc_url = BLOCK -%] + describecomponents.cgi?product=[% product.name FILTER url_quote %] + [% END %] + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.component editable = 1 + desc_url = component_desc_url + %] + <td id="field_container_component"> + <select name="component" id="component" onchange="set_assign_to();" + size="7" aria-required="true" class="required"> [%# Build the lists of assignees and QA contacts if "usemenuforusers" is enabled. %] [% IF Param("usemenuforusers") %] [% assignees_list = user.get_userlist.clone %] @@ -234,7 +231,13 @@ TUI_hide_default('expert_fields'); [%- FOREACH c = product.components %] <option value="[% c.name FILTER html %]" - [% " selected=\"selected\"" IF c.name == default.component_ %]> + id="v[% c.id FILTER html %]_component" + [% IF c.name == default.component_ %] + [%# This is for bug/field.html.tmpl, for visibility-related + # controls. %] + [% default.component_id = c.id %] + selected="selected" + [% END %]> [% c.name FILTER html -%] </option> [% IF Param("usemenuforusers") %] @@ -245,9 +248,16 @@ TUI_hide_default('expert_fields'); [% END %] [%- END %] </select> + + <script type="text/javascript"> + <!-- + [%+ INCLUDE "bug/field-events.js.tmpl" + field = bug_fields.component %] + //--> + </script> </td> - <td colspan="2"> + <td colspan="2" id="comp_desc_container"> [%# Enclose the fieldset in a nested table so that its width changes based # on the length on the component description. %] <table> @@ -264,7 +274,9 @@ TUI_hide_default('expert_fields'); </tr> <tr> - <th rowspan="3">Version:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.version editable = 1 rowspan = 3 + %] <td rowspan="3"> <select name="version" size="5"> [%- FOREACH v = version %] @@ -276,35 +288,50 @@ TUI_hide_default('expert_fields'); </td> [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.bug_severity, editable = 1, + bug = default, field = bug_fields.bug_severity, editable = 1, value = default.bug_severity %] </tr> <tr> [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.rep_platform, editable = 1, + bug = default, field = bug_fields.rep_platform, editable = 1, value = default.rep_platform %] </tr> <tr> [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.op_sys, editable = 1, + bug = default, field = bug_fields.op_sys, editable = 1, value = default.op_sys %] </tr> + [% IF !Param('defaultplatform') || !Param('defaultopsys') %] + <tr> + <td colspan="3"> </th> + <td id="os_guess_note" class="comment"> + <div>We've made a guess at your + [% IF Param('defaultplatform') %] + operating system. Please check it + [% ELSIF Param('defaultopsys') %] + platform. Please check it + [% ELSE %] + operating system and platform. Please check them + [% END %] + and make any corrections if necessary.</div> + </td> + </tr> + [% END %] </tbody> <tbody class="expert_fields"> <tr> [% IF Param('usetargetmilestone') && Param('letsubmitterchoosemilestone') %] - [% sel = { description => 'Target Milestone', name => 'target_milestone' } %] - [% INCLUDE select %] + [% INCLUDE select field = bug_fields.target_milestone %] [% ELSE %] <td colspan="2"> </td> [% END %] [% IF Param('letsubmitterchoosepriority') %] [% INCLUDE bug/field.html.tmpl - bug = default, field = select_fields.priority, editable = 1, + bug = default, field = bug_fields.priority, editable = 1, value = default.priority %] [% ELSE %] <td colspan="2"> </td> @@ -312,40 +339,16 @@ TUI_hide_default('expert_fields'); </tr> </tbody> -[% IF !Param('defaultplatform') || !Param('defaultopsys') %] - <tbody> - <tr> - <th> </th> - <td colspan="3" class="comment"> - We've made a guess at your - [% IF Param('defaultplatform') %] - operating system. Please check it - [% ELSIF Param('defaultopsys') %] - platform. Please check it - [% ELSE %] - operating system and platform. Please check them - [% END %] - and make any corrections if necessary. - </td> - </tr> - </tbody> -[% END %] - <tbody class="expert_fields"> <tr> <td colspan="4"> </td> </tr> <tr> -[% IF bug_status.size <= 1 %] - <input type="hidden" name="bug_status" - value="[% default.bug_status FILTER html %]"> - <th>Initial State:</th> - <td>[% display_value("bug_status", default.bug_status) FILTER html %]</td> -[% ELSE %] - [% sel = { description => 'Initial State', name => 'bug_status' } %] - [% INCLUDE select %] -[% END %] + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.bug_status, + editable = (bug_status.size > 1), value = default.bug_status + override_legal_values = bug_status %] <td> </td> [%# Calculate the number of rows we can use for flags %] @@ -376,9 +379,12 @@ TUI_hide_default('expert_fields'); </tr> <tr> - <th><a href="page.cgi?id=fields.html#assigned_to">Assign To</a>:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.assigned_to editable = 1 + %] <td colspan="2"> [% INCLUDE global/userselect.html.tmpl + id => "assigned_to" name => "assigned_to" value => assigned_to disabled => assigned_to_disabled @@ -392,9 +398,12 @@ TUI_hide_default('expert_fields'); [% IF Param("useqacontact") %] <tr> - <th>QA Contact:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.qa_contact editable = 1 + %] <td colspan="2"> [% INCLUDE global/userselect.html.tmpl + id => "qa_contact" name => "qa_contact" value => qa_contact disabled => qa_contact_disabled @@ -408,9 +417,12 @@ TUI_hide_default('expert_fields'); [% END %] <tr> - <th>CC:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.cc editable = 1 + %] <td colspan="2"> [% INCLUDE global/userselect.html.tmpl + id => "cc" name => "cc" value => cc disabled => cc_disabled @@ -421,7 +433,7 @@ TUI_hide_default('expert_fields'); </tr> <tr> - <th>Default CC:</th> + <th>Default [% field_descs.cc FILTER html %]:</th> <td colspan="2"> <div id="initial_cc"> </div> @@ -434,17 +446,17 @@ TUI_hide_default('expert_fields'); [% IF user.is_timetracker %] <tr> - <th>Estimated Hours:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.estimated_time editable = 1 + %] <td colspan="2"> <input name="estimated_time" size="6" maxlength="6" value="[% estimated_time FILTER html %]"> </td> </tr> <tr> - <th>Deadline:</th> - <td colspan="2"> - <input name="deadline" size="10" maxlength="10" value="[% deadline FILTER html %]"> - <small>(YYYY-MM-DD)</small> - </td> + [% INCLUDE bug/field.html.tmpl + bug = default, field = bug_fields.deadline, value = deadline, + editable = 1, value_span = 2 %] </tr> <tr> @@ -454,7 +466,9 @@ TUI_hide_default('expert_fields'); [% IF Param("usebugaliases") %] <tr> - <th>Alias:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.alias editable = 1 + %] <td colspan="2"> <input name="alias" size="20" value="[% alias FILTER html %]"> </td> @@ -462,7 +476,9 @@ TUI_hide_default('expert_fields'); [% END %] <tr> - <th>URL:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.bug_file_loc editable = 1 + %] <td colspan="2"> <input name="bug_file_loc" size="40" value="[% bug_file_loc FILTER html %]"> @@ -470,13 +486,13 @@ TUI_hide_default('expert_fields'); </tr> </tbody> -<tbody class="expert_fields"> +<tbody> [% USE Bugzilla %] [% FOREACH field = Bugzilla.active_custom_fields %] [% NEXT UNLESS field.enter_bug %] [% SET value = ${field.name}.defined ? ${field.name} : "" %] - <tr> + <tr [% 'class="expert_fields"' IF !field.is_mandatory %]> [% INCLUDE bug/field.html.tmpl bug = default, field = field, value = value, editable = 1, value_span = 3 %] @@ -487,17 +503,54 @@ TUI_hide_default('expert_fields'); <tbody> <tr> - <th class="required">Summary:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.short_desc editable = 1 + %] <td colspan="3"> <input name="short_desc" size="70" value="[% short_desc FILTER html %]" maxlength="255" spellcheck="true" aria-required="true" - class="required"> + class="required" id="short_desc"> </td> </tr> + [% IF feature_enabled('jsonrpc') AND !cloned_bug_id %] + <tr id="possible_duplicates_container" class="bz_default_hidden"> + <th>Possible<br>Duplicates:</th> + <td colspan="3"> + <div id="possible_duplicates"></div> + <script type="text/javascript"> + var dt_columns = [ + { key: "id", label: "[% field_descs.bug_id FILTER js %]", + formatter: YAHOO.bugzilla.dupTable.formatBugLink }, + { key: "summary", + label: "[% field_descs.short_desc FILTER js %]" }, + { key: "status", + label: "[% field_descs.bug_status FILTER js %]", + formatter: YAHOO.bugzilla.dupTable.formatStatus }, + { key: "update_token", label: '', + formatter: YAHOO.bugzilla.dupTable.formatCcButton } + ]; + YAHOO.bugzilla.dupTable.addCcMessage = "Add Me to the CC List"; + YAHOO.bugzilla.dupTable.init({ + container: 'possible_duplicates', + columns: dt_columns, + product_name: '[% product.name FILTER js %]', + summary_field: 'short_desc', + options: { + MSG_LOADING: 'Searching for possible duplicates...', + MSG_EMPTY: 'No possible duplicates found.', + SUMMARY: 'Possible Duplicates' + }, + }); + </script> + </td> + </tr> + [% END %] + <tr> <th>Description:</th> <td colspan="3"> + [% defaultcontent = BLOCK %] [% IF cloned_bug_id %] +++ This [% terms.bug %] was initially created as a clone of [% terms.Bug %] #[% cloned_bug_id %] +++ @@ -535,6 +588,7 @@ TUI_hide_default('expert_fields'); </tr> [% END %] + [% IF Param("maxattachmentsize") %] <tr> <th>Attachment:</th> <td colspan="3"> @@ -569,13 +623,17 @@ TUI_hide_default('expert_fields'); </script> </td> </tr> + [% END %] </tbody> <tbody class="expert_fields"> [% IF user.in_group('editbugs', product.id) %] [% IF use_keywords %] <tr> - <th><a href="describekeywords.cgi">Keywords</a>:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.keywords editable = 1 + desc_url = "describekeywords.cgi" + %] <td colspan="3"> <input id="keywords" name="keywords" size="40" value="[% keywords FILTER html %]"> (optional) @@ -584,13 +642,17 @@ TUI_hide_default('expert_fields'); [% END %] <tr> - <th>Depends on:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.dependson editable = 1 + %] <td colspan="3"> <input name="dependson" accesskey="d" value="[% dependson FILTER html %]"> </td> </tr> <tr> - <th>Blocks:</th> + [% INCLUDE "bug/field-label.html.tmpl" + field = bug_fields.blocked editable = 1 + %] <td colspan="3"> <input name="blocked" accesskey="b" value="[% blocked FILTER html %]"> </td> @@ -599,13 +661,14 @@ TUI_hide_default('expert_fields'); </tbody> <tbody class="expert_fields"> - [% IF group.size %] + [% IF product.groups_available.size %] <tr> <th> </th> <td colspan="3"> <br> <strong> - Only users in all of the selected groups can view this [% terms.bug %]: + Only users in all of the selected groups can view this + [%+ terms.bug %]: </strong> <br> <font size="-1"> @@ -615,12 +678,13 @@ TUI_hide_default('expert_fields'); <br> <!-- Checkboxes --> - [% FOREACH g = group %] - - <input type="checkbox" id="bit-[% g.bit %]" - name="bit-[% g.bit %]" value="1" - [% " checked=\"checked\"" IF g.checked %]> - <label for="bit-[% g.bit %]">[% g.description FILTER html_light %]</label><br> + [% FOREACH group = product.groups_available %] + <input type="checkbox" id="groups_[% group.id FILTER html %]" + name="groups" value="[% group.name FILTER html %]" + [% ' checked="checked"' IF default.groups.contains(group.name) + OR group.is_default %]> + <label for="groups_[% group.id FILTER html %]"> + [%- group.description FILTER html_light %]</label><br> [% END %] </td> </tr> @@ -659,30 +723,20 @@ TUI_hide_default('expert_fields'); [%############################################################################%] [% BLOCK select %] - [% IF sel.description %] - <th> - <a href="page.cgi?id=fields.html#[% sel.name %]">[% sel.description %]</a>: - </th> - [% END %] + [% INCLUDE "bug/field-label.html.tmpl" + field = field editable = 1 + %] <td> - <select name="[% sel.name %]" id="[% sel.name %]"> - [%- FOREACH x = ${sel.name} %] + <select name="[% field.name FILTER html %]" + id="[% field.name FILTER html %]"> + [%- FOREACH x = ${field.name} %] <option value="[% x FILTER html %]" - [% " selected=\"selected\"" IF x == default.${sel.name} %]> - [% display_value(sel.name, x) FILTER html %] + [% " selected=\"selected\"" IF x == default.${field.name} %]> + [% display_value(field.name, x) FILTER html %] </option> [% END %] </select> - - [% IF sel.name == "bug_status" %] - <script type="text/javascript"> - <!-- - [%+ INCLUDE "bug/field-events.js.tmpl" - field = select_fields.bug_status %] - //--> - </script> - [% END %] </td> [% END %] diff --git a/template/en/default/bug/dependency-tree.html.tmpl b/template/en/default/bug/dependency-tree.html.tmpl index c42c3c4d126329a61e2587e50b4f20a0bc66ab89..627c89d6002ea365461ba2b701de93aa4bfb4203 100644 --- a/template/en/default/bug/dependency-tree.html.tmpl +++ b/template/en/default/bug/dependency-tree.html.tmpl @@ -129,7 +129,7 @@ [% extra_class = " b_open" %] [% extra_args = 'onclick="return doToggle(this, event)"' %] [% END %] - <a name="b[% bugid %]" + <a id="b[% bugid %]" class="b [%+ extra_class FILTER none %]" title="Click to expand or contract this portion of the tree. Hold down the Ctrl key while clicking to expand or contract all subtrees." [% extra_args FILTER none %]> </a> diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index 80c6fcd67b0fecd58309561dd092118ea0b1676b..479e67c1e8776289d9fb25135de58d99f59aac1c 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -30,14 +30,6 @@ [% PROCESS bug/time.html.tmpl %] -[% USE Bugzilla %] -[% SET select_fields = {} %] -[% FOREACH field = Bugzilla.get_fields( - { type => constants.FIELD_TYPE_SINGLE_SELECT, custom => 0 }) -%] - [% select_fields.${field.name} = field %] -[% END %] - <script type="text/javascript"> <!-- @@ -226,7 +218,9 @@ show_attachment_flags = bug.show_attachment_flags %] - [% PROCESS comment_box %] + [% IF user.settings.comment_box_position.value == 'before_comments' %] + [% PROCESS comment_box %] + [% END %] </td> <td> [% PROCESS section_restrict_visibility %] @@ -241,6 +235,11 @@ %] </div> + [% IF user.settings.comment_box_position.value == 'after_comments' %] + <hr> + [% PROCESS comment_box %] + [% END %] + </form> [%############################################################################%] @@ -323,7 +322,7 @@ <tr> [% INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.product, + bug = bug, field = bug_fields.product, override_legal_values = bug.choices.product desc_url = 'describecomponents.cgi', value = bug.product editable = bug.check_can_change_field('product', 0, 1) %] @@ -332,14 +331,12 @@ [%# Component #%] [%###############%] <tr> - <td class="field_label"> - <label for="component" accesskey="m"> - <b><a href="describecomponents.cgi?product=[% bug.product FILTER url_quote %]"> - Co<u>m</u>ponent</a>: - </b> - </label> - </td> - [% PROCESS select selname => "component" %] + [% INCLUDE bug/field.html.tmpl + bug = bug, field = bug_fields.component, value = bug.component + override_legal_values = bug.choices.component + desc_url = "describecomponents.cgi?product=$bug.product" + editable = bug.check_can_change_field('component', 0, 1) + %] </tr> <tr> <td class="field_label"> @@ -357,11 +354,11 @@ </td> <td class="field_value"> [% INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.rep_platform, + bug = bug, field = bug_fields.rep_platform, no_tds = 1, value = bug.rep_platform editable = bug.check_can_change_field('rep_platform', 0, 1) %] [%+ INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.op_sys, + bug = bug, field = bug_fields.op_sys, no_tds = 1, value = bug.op_sys editable = bug.check_can_change_field('op_sys', 0, 1) %] <script type="text/javascript"> @@ -408,7 +405,7 @@ [% BLOCK section_details2 %] [%###############################################################%] - [%# Importance (priority, severity and votes) #%] + [%# Importance (priority and severity) #%] [%###############################################################%] <tr> <td class="field_label"> @@ -417,29 +414,14 @@ </td> <td> [% INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.priority, + bug = bug, field = bug_fields.priority, no_tds = 1, value = bug.priority editable = bug.check_can_change_field('priority', 0, 1) %] [%+ INCLUDE bug/field.html.tmpl - bug = bug, field = select_fields.bug_severity, + bug = bug, field = bug_fields.bug_severity, no_tds = 1, value = bug.bug_severity editable = bug.check_can_change_field('bug_severity', 0, 1) %] - [% IF bug.use_votes %] - <span id="votes_container"> - [% IF bug.votes %] - with - <a href="votes.cgi?action=show_bug&bug_id=[% bug.bug_id %]"> - [% bug.votes %] - [% IF bug.votes == 1 %] - vote - [% ELSE %] - votes - [% END %]</a> - [% END %] - (<a href="votes.cgi?action=show_user&bug_id= - [% bug.bug_id %]#vote_[% bug.bug_id %]">vote</a>) - </span> - [% END %] + [% Hook.process('after_importance', 'bug/edit.html.tmpl') %] </td> </tr> @@ -895,13 +877,19 @@ [% BLOCK section_customfields %] [%# *** Custom Fields *** %] - + [% USE Bugzilla %] [% FOREACH field = Bugzilla.active_custom_fields %] <tr> - [% PROCESS bug/field.html.tmpl value=bug.${field.name} + [% PROCESS bug/field.html.tmpl value = bug.${field.name} editable = bug.check_can_change_field(field.name, 0, 1) value_span = 2 %] </tr> + [% IF extra_field_item %] + <tr> + <th class="field_label">[% extra_field_item.header FILTER none %]</th> + <td>[% extra_field_item.data FILTER none %]</td> + </tr> + [% END %] [% END %] [% END %] @@ -1018,9 +1006,9 @@ [% PROCESS formattimeunit time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %] </td> <td> - <input name="deadline" id="deadline" value="[% bug.deadline %]" - size="10" maxlength="10"><br /> - <small>(YYYY-MM-DD)</small> + [% INCLUDE bug/field.html.tmpl + field = bug_fields.deadline, value = bug.deadline, no_tds = 1 + editable = bug.check_can_change_field('deadline', 0, 1) %] </td> </tr> <tr> @@ -1038,8 +1026,7 @@ [%############################################################################%] [% BLOCK comment_box %] - <div class="bz_section_additional_comments"> - <a name="add_comment"></a> + <div id="add_comment" class="bz_section_additional_comments"> [% IF user.id %] <label for="comment" accesskey="c"><b>Additional <u>C</u>omments</b></label>: @@ -1067,13 +1054,13 @@ <br> [% PROCESS commit_button id=""%] - <table class="status" cellspacing="0" cellpadding="0"> + <table id="bug_status_bottom" + class="status" cellspacing="0" cellpadding="0"> <tr> <td class="field_label"> <b><a href="page.cgi?id=fields.html#status">Status</a></b>: </td> <td> - <a name="bug_status_bottom"></a> [% PROCESS bug/knob.html.tmpl %] </td> </tr> @@ -1153,9 +1140,6 @@ <div class="knob-buttons"> <input type="submit" value="Save Changes" id="commit[% id FILTER css_class_quote %]"> - [% IF bug.user.canmove %] - <input type="submit" name="action" id="action[% id FILTER css_class_quote %]" value="[% Param("move-button-text") %]"> - [% END %] </div> [% END %] [% END %] diff --git a/template/en/default/bug/field-events.js.tmpl b/template/en/default/bug/field-events.js.tmpl index 06fba12450e5671407bd65e59705cabd0a794dbf..763687e06c87075fbb6a0898376c4ae6a7f93dbe 100644 --- a/template/en/default/bug/field-events.js.tmpl +++ b/template/en/default/bug/field-events.js.tmpl @@ -32,6 +32,7 @@ [% FOREACH val = legal_value.controlled_values.$controlled_field %] [% cont_ids.push(val.id) %] [% END %] + [% NEXT IF !cont_ids.size %] showValueWhen('[% controlled_field FILTER js %]', [[% cont_ids.join(',') FILTER js %]], '[% field.name FILTER js %]', diff --git a/template/en/default/bug/field-help.none.tmpl b/template/en/default/bug/field-help.none.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..558cad6c64a44ceae0d726a1dbaf4974315066fe --- /dev/null +++ b/template/en/default/bug/field-help.none.tmpl @@ -0,0 +1,239 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham <gerv@gerv.net> + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[%# This file describes both bug fields and search fields. %] + +[% PROCESS "global/field-descs.none.tmpl" %] + +[% help_html = { + +# Note that all these keys here are in alphabetical order, though +# search-specific fields are at the bottom. + +############## +# Bug Fields # +############## + +alias => + "A short, unique name assigned to $terms.abug in order to assist with + looking it up and referring to it in other places in ${terms.Bugzilla}.", + +assigned_to => + "The person in charge of resolving the ${terms.bug}.", + +blocked => + "This $terms.bug must be resolved before the $terms.bugs listed in this + field can be resolved.", + +bug_file_loc => + "$terms.Bugs can have a URL associated with them - for example, a" + _ " pointer to a web site where the problem is seen.", + +bug_id => + "The numeric id of $terms.abug, unique within this entire installation" + _ " of ${terms.Bugzilla}.", + +bug_severity => + "How severe the $terms.bug is, or whether it's an enhancement.", + +bug_status => + "$terms.Abug may be in any of a number of states.", + +cc => + "Users who may not have a direct role to play on this $terms.bug, but who + are interested in its progress.", + +classification => + "$terms.Bugs are categorised into Classifications, Products and" + _ " Components. classifications is the top-level categorisation.", + +component => + "Components are second-level categories; each belongs to a" + _ " particular Product. Select a Product to narrow down this list.", + +creation_ts => + "When the $terms.bug was filed.", + +deadline => + "The date that this $terms.bug must be resolved by, entered in YYYY-MM-DD + format.", + +delta_ts => + "When this $terms.bug was last updated.", + +dependson => + "The $terms.bugs listed here must be resolved before this $terms.bug + can be resolved.", + +estimated_time => + "The amount of time that has been estimated it will take to resolve + this ${terms.bug}.", + +keywords => + "You can add keywords from a defined list to $terms.bugs, in order" + _ " to tag and group them.", + +longdesc => + "$terms.Bugs have comments added to them by $terms.Bugzilla users." + _ "You can search for some text in those comments.", + +op_sys => + "The operating system the $terms.bug was observed on.", + +percentage_complete => + "How close to 100% done this $terms.bug is, by comparing its + $field_descs.work_time to its ${field_descs.estimated_time}.", + +priority => + "Engineers prioritize their $terms.bugs using this field.", + +# Note that this has extra text added below if useclassification is on. +product => + "$terms.Bugs are categorised into Products and Components.", + +qa_contact => + "The person responsible for confirming this $terms.bug if it is" + _ " unconfirmed, and for verifying the fix once the $terms.bug" + _ " has been resolved.", + +remaining_time => + "The number of hours of work left on this $terms.bug, calculated by + subtracting the $field_descs.work_time from the + ${field_descs.estimated_time}.", + +rep_platform => + "The hardware platform the $terms.bug was observed on.", + +reporter => + "The person who filed this ${terms.bug}.", + +resolution => + "If $terms.abug is in a resolved state, then one of these reasons" + _ " will be given for its resolution.", + +see_also => + "This allows you to refer to $terms.bugs in other installations. + You can enter a URL to $terms.abug in the 'Add $terms.Bug URLs' + field to note that that $terms.bug is related to this one. You can + enter multiple URLs at once by separating them with a comma. + + <p>You should normally use this field to refer to $terms.bugs in + <em>other</em> installations. For $terms.bugs in this + installation, it is better to use the $field_descs.dependson and + $field_descs.blocked fields.</p>", + +short_desc => + "The $terms.bug summary is a short sentence which succinctly" + _ " describes what the $terms.bug is about.", + +status_whiteboard => + "Each $terms.bug has a free-form single line text entry box for" + _ " adding tags and status information.", + +target_milestone => + "The $field_descs.target_milestone field is used to define when the" + _ " engineer the $terms.bug is assigned to expects to fix it.", + +version => + "The version field defines the version of the software the" + _ " $terms.bug was found in.", + +votes => + "Some $terms.bugs can be voted for, and you can limit your search to" + _ " $terms.bugs with more than a certain number of votes.", + +work_time => + "The total amount of time spent on this $terms.bug so far.", + +########################## +# Search-specific fields # +########################## + +chfield => + "You can search for specific types of change - this field defines" + _" which field you are interested in changes for.", + +# Duplicated to chfieldto below, also. +chfieldfrom => + "Specify the start and end dates either in YYYY-MM-DD format + optionally followed by HH:mm, in 24 hour clock), or in relative + dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour, + two days, three weeks, four months, or five years ago. 0d is last + midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week, + month, or year.", + +chfieldvalue => + "The value the field defined above changed to during that time.", + +content => + "This is a field available in searches that does a Google-like + 'full-text' search on the $field_descs.short_desc and + $field_descs.longdesc fields.", + +# Duplicated to email2 below, also. +email1 => + "Every $terms.bug has people associated with it in different" + _ " roles. Here, you can search on what people are in what role.", + +} %] + +[% help_html.email2 = help_html.email1 %] +[% help_html.chfieldto = help_html.chfieldfrom %] +[% help_html.deadlinefrom = help_html.deadline %] +[% help_html.deadlineto = help_html.deadline %] + +[% help_all_note = BLOCK %] + <strong>Note:</strong> When searching, selecting the option "All" + only finds [% terms.bugs %] whose value for this field is literally + the word "All". +[% END %] +[% FOREACH all_field = ['op_sys', 'rep_platform'] %] + [% help_html.$all_field = help_html.$all_field _ ' ' _ help_all_note %] +[% END %] + +[% IF Param('useclassification') %] + [% help_html.product = help_html.product + _ " Select a Classification to narrow down this list." %] +[% END %] + +[% FOREACH help_field = bug_fields.keys %] + + [%# Add help for custom fields. %] + [% IF !help_html.${help_field}.defined %] + [% SET field_type = bug_fields.${help_field}.type %] + [% field_type_desc = BLOCK -%] + [% field_types.$field_type FILTER html %] + [%- END %] + [% help_html.${help_field} = + "A custom $field_type_desc field in this installation" + _ " of ${terms.Bugzilla}." %] + [% END %] + + [%# Add help for the search types, for query.cgi. %] + [% type_desc = BLOCK %] + The type of [% field_descs.${help_field} FILTER html %] search you + would like. + [% END %] + [% SET type_name = help_field _ '_type' %] + [% help_html.$type_name = type_desc %] +[% END %] + +[% Hook.process("end") %] diff --git a/template/en/default/bug/field-label.html.tmpl b/template/en/default/bug/field-label.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..0b794f82a0b13a8458ef3c25b17fb5f9a40cc60a --- /dev/null +++ b/template/en/default/bug/field-label.html.tmpl @@ -0,0 +1,53 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 the + # Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[%# INTERFACE: + # field: a Bugzilla::Field object + # desc_url: An alternate link to help for the field. + # hidden: True if the field label should start hidden. + # rowspan: a "rowspan" value for the label's <th>. + # tag_name: the tag to use to surround the label + #%] + +[% PROCESS "bug/field-help.none.tmpl" %] +[% DEFAULT tag_name = "th" %] +<[% tag_name FILTER html %] class="field_label [% ' bz_hidden_field' IF hidden %] + [%- ' required' IF field.is_mandatory && NOT bug.id %]" + id="field_label_[% field.name FILTER html %]" + [% IF rowspan %] rowspan="[% rowspan FILTER html %]"[% END %]> + + [% IF editable %] + <label for="[% field.name FILTER html %]"> + [% END %] + + <a + [% IF help_html.${field.name}.defined %] + title="[% help_html.${field.name} FILTER txt FILTER collapse FILTER html %]" + class="field_help_link" + [% END %] + [% IF desc_url %] + href="[% desc_url FILTER html %]" + [% ELSE %] + href="page.cgi?id=fields.html#[% field.name FILTER url_quote %]" + [% END %] + >[%- field_descs.${field.name} FILTER html %]:</a> + + [% '</label>' IF editable %] +</[% tag_name FILTER html %]> diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl index bb678d79dfc97ee35635cf4319c19280a70cb597..97d38661c2e5d5ca6fedac987c0003e33d0bcd08 100644 --- a/template/en/default/bug/field.html.tmpl +++ b/template/en/default/bug/field.html.tmpl @@ -40,35 +40,17 @@ #%] [% SET hidden = 0 %] -[% IF field.visibility_field.defined %] - [% IF !bug.${field.visibility_field.name} - .contains(field.visibility_value.name) - %] - [% SET hidden = 1 %] - [% END %] -[% END %] - -[% IF NOT no_tds %] - <th class="field_label [% ' bz_hidden_field' IF hidden %]" - id="field_label_[% field.name FILTER html %]"> - [% IF editable %] - <label for="[% field.name FILTER html %]"> - [% END %] - [% IF desc_url %] - <a href="[% desc_url FILTER html %]"> - [% ELSIF !field.custom %] - <a href="page.cgi?id=fields.html#[% field.name FILTER url_quote %]"> - [% END -%] - [% field_descs.${field.name} FILTER html %]: - [%- '</a>' IF (!field.custom || desc_url) %] - [% '</label>' IF editable %] - </th> +[% IF field.visibility_field.defined AND bug + AND !field.visibility_value.is_set_on_bug(bug) +%] + [% SET hidden = 1 %] [% END %] [% IF NOT no_tds %] -<td class="field_value [% ' bz_hidden_field' IF hidden %]" - id="field_container_[% field.name FILTER html %]" - [% " colspan=\"$value_span\"" FILTER none IF value_span %]> + [% PROCESS "bug/field-label.html.tmpl" %] + <td class="field_value [% ' bz_hidden_field' IF hidden %]" + id="field_container_[% field.name FILTER html %]" + [% " colspan=\"$value_span\"" FILTER none IF value_span %]> [% END %] [% Hook.process('start_field_column') %] [% IF editable %] @@ -77,11 +59,13 @@ <input id="[% field.name FILTER html %]" class="text_input" name="[% field.name FILTER html %]" value="[% value FILTER html %]" size="40" - maxlength="[% constants.MAX_FREETEXT_LENGTH FILTER none %]"> + maxlength="[% constants.MAX_FREETEXT_LENGTH FILTER none %]" + [% ' aria-required="true"' IF field.is_mandatory %]> [% CASE constants.FIELD_TYPE_DATETIME %] <input name="[% field.name FILTER html %]" size="20" id="[% field.name FILTER html %]" value="[% value FILTER html %]" + [% ' aria-required="true"' IF field.is_mandatory %] onchange="updateCalendarFromField(this)"> <button type="button" class="calendar_button" id="button_calendar_[% field.name FILTER html %]" @@ -89,8 +73,7 @@ <span>Calendar</span> </button> - <div id="con_calendar_[% field.name FILTER html %]" - class="yui-skin-sam"></div> + <div id="con_calendar_[% field.name FILTER html %]"></div> <script type="text/javascript"> createCalendar('[% field.name FILTER js %]') @@ -98,11 +81,13 @@ [% CASE constants.FIELD_TYPE_BUG_ID %] <span id="[% field.name FILTER html %]_input_area"> <input name="[% field.name FILTER html %]" id="[% field.name FILTER html %]" - value="[% value FILTER html %]" size="7"> + value="[% value FILTER html %]" size="7" + [% ' aria-required="true"' IF field.is_mandatory %]> + </span> - [% IF bug.${field.name} %] - [% bug.${field.name} FILTER bug_link(bug.${field.name}) FILTER none %] + [% IF value %] + [% value FILTER bug_link(value, use_alias => 1) FILTER none %] [% END %] <span id="[% field.name FILTER html %]_edit_container" class="edit_me bz_default_hidden"> (<a href="#" id="[% field.name FILTER html %]_edit_action">edit</a>) @@ -112,7 +97,7 @@ '[% field.name FILTER js %]_input_area', '[% field.name FILTER js %]_edit_action', '[% field.name FILTER js %]', - "[% bug.${field.name} FILTER js %]"); + "[% value FILTER js %]"); </script> [% CASE [ constants.FIELD_TYPE_SINGLE_SELECT constants.FIELD_TYPE_MULTI_SELECT ] %] @@ -124,6 +109,7 @@ [% SET field_size = field.legal_values.size %] [% END %] size="[% field_size FILTER html %]" multiple="multiple" + [% ' aria-required="true"' IF field.is_mandatory %] [% END %] > [% IF allow_dont_change %] @@ -138,8 +124,6 @@ [% legal_values = field.legal_values %] [% END %] [% FOREACH legal_value = legal_values %] - [% SET control_value = legal_value.visibility_value %] - [% SET control_field = field.value_field %] <option value="[% legal_value.name FILTER html %]" id="v[% legal_value.id FILTER html %]_ [%- field.name FILTER html %]" @@ -147,10 +131,7 @@ # hidden %] [% IF value.contains(legal_value.name).size %] selected="selected" - [% ELSIF (control_field && control_value - && !bug.${control_field.name}.contains(control_value.name)) - || !legal_value.is_active - %] + [% ELSIF bug AND !legal_value.is_visible_on_bug(bug) %] class="bz_hidden_option" disabled="disabled" [% END %]> [%- display_value(field.name, legal_value.name) FILTER html ~%] @@ -178,7 +159,7 @@ [% CASE constants.FIELD_TYPE_TEXTAREA %] [% INCLUDE global/textarea.html.tmpl id = field.name name = field.name minrows = 4 maxrows = 8 - cols = 60 defaultcontent = value %] + cols = 60 defaultcontent = value mandatory = field.is_mandatory %] [% CASE constants.FIELD_TYPE_BUG_URLS %] [% '<ul class="bug_urls">' IF value.size %] [% FOREACH url = value %] @@ -205,11 +186,24 @@ <div class="uneditable_textarea">[% value FILTER wrap_comment(60) FILTER html %]</div> [% ELSIF field.type == constants.FIELD_TYPE_BUG_ID %] - [% IF bug.${field.name} %] - [% bug.${field.name} FILTER bug_link(bug.${field.name}) FILTER none %] + [% IF value %] + [% value FILTER bug_link(value, use_alias => 1) FILTER none %] [% END %] [% ELSE %] [% value.join(', ') FILTER html %] [% END %] [% Hook.process('end_field_column') %] [% '</td>' IF NOT no_tds %] + +[%# for reverse relationships, we show this pseudo-field after the main field %] +[% IF bug.id && field.is_relationship %] + [% extra_field_item = {} %] + [% extra_field_item.header = field.reverse_desc _ ":" FILTER html %] + [% extra_field_item.data = BLOCK %] + [% FOREACH depbug = bug.related_bugs(field) %] + [% depbug.id FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %] + [% END %] + [% END %] +[% ELSE %] + [% extra_field_item = '' %] +[% END %] diff --git a/template/en/default/bug/format_comment.txt.tmpl b/template/en/default/bug/format_comment.txt.tmpl index 7d33c23b30ec0e512bc5d5430a70a7ffeb7bca57..ed89188a623f6298dc7f1047a0d1758cd11bedd4 100644 --- a/template/en/default/bug/format_comment.txt.tmpl +++ b/template/en/default/bug/format_comment.txt.tmpl @@ -39,16 +39,6 @@ X[% comment_body %] *** This [% terms.bug %] has been marked as a duplicate of [% terms.bug %] [%+ comment.extra_data %] *** [% ELSIF comment.type == constants.CMT_HAS_DUPE %] *** [% terms.Bug %] [%+ comment.extra_data %] has been marked as a duplicate of this [% terms.bug %]. *** -[% ELSIF comment.type == constants.CMT_POPULAR_VOTES %] -*** This [% terms.bug %] has been confirmed by popular vote. *** -[% ELSIF comment.type == constants.CMT_MOVED_TO %] -X[% comment_body %] - -[%+ terms.Bug %] moved to [% Param("move-to-url") %]. -If the move succeeded, [% comment.extra_data %] will receive a mail containing -the number of the new [% terms.bug %] in the other database. -If all went well, please paste in a link to the new [% terms.bug %]. -Otherwise, reopen this [% terms.bug %]. [% ELSIF comment.type == constants.CMT_ATTACHMENT_CREATED %] Created attachment [% comment.extra_data %] [% IF is_bugmail %] @@ -65,4 +55,6 @@ Comment on attachment [% comment.extra_data %] [%+ comment.attachment.description %] [%+ comment.body %] +[% ELSE %] +X[% Hook.process('type') %] [% END %] diff --git a/template/en/default/bug/navigate.html.tmpl b/template/en/default/bug/navigate.html.tmpl index 4a3d063af8f3f4119de24c2073bd620e5ca5ef69..19af18ade81a4225f99041e9b5274ceaace7f6c2 100644 --- a/template/en/default/bug/navigate.html.tmpl +++ b/template/en/default/bug/navigate.html.tmpl @@ -16,8 +16,11 @@ # Rights Reserved. # # Contributor(s): Gervase Markham <gerv@gerv.net> + # Max Kanat-Alexander <mkanat@bugzilla.org> #%] +[% RETURN IF !bug %] + [% PROCESS global/variables.none.tmpl %] [% IF bottom_navigator == 1 %] <ul class="related_actions"> @@ -36,45 +39,41 @@ <div class="navigation"> -[% IF last_bug_list.size > 0 %] - [% this_bug_idx = lsearch(last_bug_list, bug.id) %] +[% SET my_search = user.recent_search_for(bug) %] +[% IF my_search %] + [% SET last_bug_list = my_search.bug_list %] + [% SET this_bug_idx = lsearch(last_bug_list, bug.id) %] <b>[% terms.Bug %] List:</b> - [% IF this_bug_idx != -1 %] - ([% this_bug_idx + 1 %] of [% last_bug_list.size %]) - [% END %] - [% IF this_bug_idx != -1 %] - <a href="show_bug.cgi?id= - [%- last_bug_list.first FILTER url_quote %]">First</a> + ([% this_bug_idx + 1 %] of [% last_bug_list.size %]) + + <a href="show_bug.cgi?id= + [%- last_bug_list.first FILTER url_quote %]&list_id= + [%- my_search.id FILTER url_quote %]">First</a> + <a href="show_bug.cgi?id= + [%- last_bug_list.last FILTER url_quote %]&list_id= + [%- my_search.id FILTER url_quote %]">Last</a> + + [% IF this_bug_idx > 0 %] + [% prev_bug = this_bug_idx - 1 %] <a href="show_bug.cgi?id= - [%- last_bug_list.last FILTER url_quote %]">Last</a> + [%- last_bug_list.$prev_bug FILTER url_quote %]&list_id= + [%- my_search.id FILTER url_quote %]">Prev</a> + [% ELSE %] + <i><font color="#777777">Prev</font></i> [% END %] - [% IF bug.bug_id %] - [% IF this_bug_idx != -1 %] - [% IF this_bug_idx > 0 %] - [% prev_bug = this_bug_idx - 1 %] - <a href="show_bug.cgi?id= - [%- last_bug_list.$prev_bug FILTER url_quote %]">Prev</a> - [% ELSE %] - <i><font color="#777777">Prev</font></i> - [% END %] - - [% IF this_bug_idx + 1 < last_bug_list.size %] - [% next_bug = this_bug_idx + 1 %] - <a href="show_bug.cgi?id= - [%- last_bug_list.$next_bug FILTER url_quote %]">Next</a> - [% ELSE %] - <i><font color="#777777">Next</font></i> - [% END %] - [% ELSE %] - (This [% terms.bug %] is not in your last search results) - [% END %] + [% IF this_bug_idx + 1 < last_bug_list.size %] + [% next_bug = this_bug_idx + 1 %] + <a href="show_bug.cgi?id= + [%- last_bug_list.$next_bug FILTER url_quote %]&list_id= + [%- my_search.id FILTER url_quote %]">Next</a> [% ELSE %] - + <i><font color="#777777">Next</font></i> [% END %] - <a href="buglist.cgi?regetlastlist=1">Show last search results</a> + <a href="buglist.cgi?regetlastlist= + [%- my_search.id FILTER url_quote %]">Show last search results</a> [% ELSE %] [%# With no list, don't show link to search results %] <i><font color="#777777">First</font></i> @@ -82,6 +81,7 @@ <i><font color="#777777">Prev</font></i> <i><font color="#777777">Next</font></i> - <i><font color="#777777">No search results available</font></i> + <i><font color="#777777">This [% terms.bug %] is not in your last + search results.</font></i> [% END %] </div> diff --git a/template/en/default/bug/process/CVS/Entries b/template/en/default/bug/process/CVS/Entries deleted file mode 100644 index c1c9a04cc5efc63e4e869839def6cfc606b15903..0000000000000000000000000000000000000000 --- a/template/en/default/bug/process/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/bugmail.html.tmpl/1.8.6.1/Wed Apr 7 03:31:33 2010//TBUGZILLA-3_6_1 -/confirm-duplicate.html.tmpl/1.12/Mon Aug 20 18:25:01 2007//TBUGZILLA-3_6_1 -/header.html.tmpl/1.16/Thu Dec 10 22:13:11 2009//TBUGZILLA-3_6_1 -/midair.html.tmpl/1.25/Tue Sep 22 19:18:32 2009//TBUGZILLA-3_6_1 -/results.html.tmpl/1.14.2.1/Wed Apr 7 03:31:33 2010//TBUGZILLA-3_6_1 -/verify-new-product.html.tmpl/1.28/Wed Nov 18 07:18:54 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/bug/process/CVS/Repository b/template/en/default/bug/process/CVS/Repository deleted file mode 100644 index be654f07bdcf31a1a0b5afb8f6379b65025e9590..0000000000000000000000000000000000000000 --- a/template/en/default/bug/process/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/bug/process diff --git a/template/en/default/bug/process/CVS/Root b/template/en/default/bug/process/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/bug/process/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/bug/process/CVS/Tag b/template/en/default/bug/process/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/bug/process/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/bug/process/header.html.tmpl b/template/en/default/bug/process/header.html.tmpl index 79f0126d4f41385111a57b84bdab16fa930803f9..6b608b9ed2e49e2795dfb96e55d9efdce07dc20a 100644 --- a/template/en/default/bug/process/header.html.tmpl +++ b/template/en/default/bug/process/header.html.tmpl @@ -39,8 +39,8 @@ [% END %] [% ELSIF title_tag == "mid_air" %] [% title = "Mid-air collision!" %] -[% ELSIF title_tag == "change_votes" %] - [% title = "Change Votes" %] [% END %] +[% Hook.process('title') %] + [% PROCESS global/header.html.tmpl %] diff --git a/template/en/default/bug/process/results.html.tmpl b/template/en/default/bug/process/results.html.tmpl index ee218d421da827b971c7cd432711f5f74b9e9b00..c62a7a597213acd46e2ef173040fa59b79810d67 100644 --- a/template/en/default/bug/process/results.html.tmpl +++ b/template/en/default/bug/process/results.html.tmpl @@ -42,12 +42,13 @@ 'bug' => "Changes submitted for $link" , 'dupe' => "Duplicate notation added to $link" , 'dep' => "Checking for dependency changes on $link" , - 'votes' => "$Link confirmed by number of votes" , 'created' => "$Link has been added to the database" , 'move' => "$Link has been moved to another database" , } %] +[% Hook.process('title') %] + <dl> <dt>[% title.$type %]</dt> <dd> diff --git a/template/en/default/bug/show-header.html.tmpl b/template/en/default/bug/show-header.html.tmpl index 3f81e5738cdbd9e12fee6996056da0e7afaaadee..a17c3201a7eaabc4c51811be890b51dbd49f702f 100644 --- a/template/en/default/bug/show-header.html.tmpl +++ b/template/en/default/bug/show-header.html.tmpl @@ -34,11 +34,10 @@ [% title = "$terms.Bug $bug.bug_id – $filtered_desc" %] [% header = "$terms.Bug $bug.bug_id" %] [% header_addl_info = "Last modified: $filtered_timestamp" %] -[% javascript_urls = [ "js/util.js", "js/field.js", "js/yui/calendar.js" ] %] -[% style_urls = [ "skins/standard/yui/calendar.css", - "skins/standard/show_bug.css" ] %] +[% yui = ['autocomplete', 'calendar'] %] +[% javascript_urls = [ "js/util.js", "js/field.js" ] %] +[% style_urls = [ "skins/standard/show_bug.css" ] %] [% doc_section = "bug_page.html" %] - [% bodyclasses = ['bz_bug', "bz_status_$bug.bug_status", "bz_product_$bug.product", diff --git a/template/en/default/bug/show-multiple.html.tmpl b/template/en/default/bug/show-multiple.html.tmpl index 177bea14f0c66ce6dddf864f2b65cbbfcfdc8616..0949ffc2069490bbd307cd6c42da73d583372a34 100644 --- a/template/en/default/bug/show-multiple.html.tmpl +++ b/template/en/default/bug/show-multiple.html.tmpl @@ -186,6 +186,13 @@ [% PROCESS bug/field.html.tmpl value=bug.${field.name} editable=0 %] [%# Even-numbered fields get a closing <tr> %] [% '</tr>' IF !(field_counter % 2) %] + [% IF extra_field_item %] + [% field_counter = field_counter + 1 %] + [% '<tr>' IF field_counter % 2 %] + <th>[% extra_field_item.header FILTER none %]</th> + <td>[% extra_field_item.data FILTER none %]</td> + [% '</tr>' IF !(field_counter % 2) %] + [% END %] [% END %] [%# And we have to finish the row if we ended on an odd number. %] [% '<th></th><td></td></tr>' IF field_counter % 2 %] diff --git a/template/en/default/bug/votes/CVS/Entries b/template/en/default/bug/votes/CVS/Entries deleted file mode 100644 index 67fc6ed97178a1fa5b1a68ae8af1dd9065cba545..0000000000000000000000000000000000000000 --- a/template/en/default/bug/votes/CVS/Entries +++ /dev/null @@ -1,4 +0,0 @@ -/delete-all.html.tmpl/1.8/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_6_1 -/list-for-bug.html.tmpl/1.13/Thu Jan 29 21:22:32 2009//TBUGZILLA-3_6_1 -/list-for-user.html.tmpl/1.29/Thu Aug 6 15:02:59 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/bug/votes/CVS/Repository b/template/en/default/bug/votes/CVS/Repository deleted file mode 100644 index c3729ce96c779b76a7d2929568363229d55b5cbb..0000000000000000000000000000000000000000 --- a/template/en/default/bug/votes/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/bug/votes diff --git a/template/en/default/bug/votes/CVS/Root b/template/en/default/bug/votes/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/bug/votes/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/bug/votes/CVS/Tag b/template/en/default/bug/votes/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/bug/votes/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/email/CVS/Entries b/template/en/default/email/CVS/Entries deleted file mode 100644 index 19dbe459b0bdb74e58f8ee22ffd32a18774369c2..0000000000000000000000000000000000000000 --- a/template/en/default/email/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/lockout.txt.tmpl/1.1/Sun Dec 13 20:46:27 2009//TBUGZILLA-3_6_1 -/newchangedmail.txt.tmpl/1.18/Tue Jan 5 07:06:00 2010//TBUGZILLA-3_6_1 -/sanitycheck.txt.tmpl/1.4/Tue Jan 20 20:22:11 2009//TBUGZILLA-3_6_1 -/sudo.txt.tmpl/1.5/Mon Aug 20 18:25:02 2007//TBUGZILLA-3_6_1 -/votes-removed.txt.tmpl/1.5/Wed Apr 2 17:42:29 2008//TBUGZILLA-3_6_1 -/whine.txt.tmpl/1.9/Sun Dec 27 14:32:52 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/email/CVS/Repository b/template/en/default/email/CVS/Repository deleted file mode 100644 index 35c83ce03054809c092923d01d95925218b2f00d..0000000000000000000000000000000000000000 --- a/template/en/default/email/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/email diff --git a/template/en/default/email/CVS/Root b/template/en/default/email/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/email/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/email/CVS/Tag b/template/en/default/email/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/email/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/email/newchangedmail.txt.tmpl b/template/en/default/email/newchangedmail.txt.tmpl index 1bcc2e40d1082a7e859d51e161588dae724965c4..4163306f47c8e9729c2b0b44e846639a91db2912 100644 --- a/template/en/default/email/newchangedmail.txt.tmpl +++ b/template/en/default/email/newchangedmail.txt.tmpl @@ -19,28 +19,30 @@ #%] [% PROCESS "global/variables.none.tmpl" %] +[% PROCESS "global/reason-descs.none.tmpl" %] + From: [% Param('mailfrom') %] To: [% to_user.email %] -Subject: [[% terms.Bug %] [%+ bugid %]] [% 'New: ' IF isnew %][%+ summary %] +Subject: [[% terms.Bug %] [%+ bug.id %]] [% 'New: ' IF isnew %][%+ bug.short_desc %] X-Bugzilla-Reason: [% reasonsheader %] X-Bugzilla-Type: [% isnew ? 'new' : 'changed' %] X-Bugzilla-Watch-Reason: [% reasonswatchheader %] [% IF Param('useclassification') %] -X-Bugzilla-Classification: [% classification %] +X-Bugzilla-Classification: [% bug.classification %] [% END %] -X-Bugzilla-Product: [% product %] -X-Bugzilla-Component: [% comp %] -X-Bugzilla-Keywords: [% keywords %] -X-Bugzilla-Severity: [% severity %] -X-Bugzilla-Who: [% changer %] -X-Bugzilla-Status: [% status %] -X-Bugzilla-Priority: [% priority %] -X-Bugzilla-Assigned-To: [% assignedto %] -X-Bugzilla-Target-Milestone: [% targetmilestone %] +X-Bugzilla-Product: [% bug.product %] +X-Bugzilla-Component: [% bug.component %] +X-Bugzilla-Keywords: [% bug.keywords %] +X-Bugzilla-Severity: [% bug.bug_severity %] +X-Bugzilla-Who: [% changer.login %] +X-Bugzilla-Status: [% bug.bug_status %] +X-Bugzilla-Priority: [% bug.priority %] +X-Bugzilla-Assigned-To: [% bug.assigned_to.login %] +X-Bugzilla-Target-Milestone: [% bug.target_milestone %] X-Bugzilla-Changed-Fields: [% changedfields %] [%+ threadingmarker %] -[%+ urlbase %]show_bug.cgi?id=[% bugid %] +[%+ urlbase %]show_bug.cgi?id=[% bug.id %] [%- IF diffs %] [%+ diffs %] @@ -56,33 +58,12 @@ X-Bugzilla-Changed-Fields: [% changedfields %] -- [%# Protect the trailing space of the signature marker %] Configure [% terms.bug %]mail: [% urlbase %]userprefs.cgi?tab=email ------- You are receiving this mail because: ------- -[% FOREACH relationship = reasons %] - [% SWITCH relationship %] - [% CASE constants.REL_ASSIGNEE %] -You are the assignee for the [% terms.bug %]. - [% CASE constants.REL_REPORTER %] -You reported the [% terms.bug %]. - [% CASE constants.REL_QA %] -You are the QA contact for the [% terms.bug %]. - [% CASE constants.REL_CC %] -You are on the CC list for the [% terms.bug %]. - [% CASE constants.REL_VOTER %] -You are a voter for the [% terms.bug %]. - [% CASE constants.REL_GLOBAL_WATCHER %] -You are watching all [% terms.bug %] changes. - [% END %] +[% SET reason_lines = [] %] +[% FOREACH reason = reasons %] + [% reason_lines.push(reason_descs.$reason) IF reason_descs.$reason %] [% END %] -[% FOREACH relationship = reasons_watch %] - [% SWITCH relationship %] - [% CASE constants.REL_ASSIGNEE %] -You are watching the assignee of the [% terms.bug %]. - [% CASE constants.REL_REPORTER %] -You are watching the reporter. - [% CASE constants.REL_QA %] -You are watching the QA contact of the [% terms.bug %]. - [% CASE constants.REL_CC %] -You are watching someone on the CC list of the [% terms.bug %]. - [% CASE constants.REL_VOTER %] -You are watching a voter for the [% terms.bug %]. - [% END %] +[% FOREACH reason = reasons_watch %] + [% reason_lines.push(watch_reason_descs.$reason) + IF watch_reason_descs.$reason %] [% END %] +[%+ reason_lines.join("\n") %] diff --git a/template/en/default/extensions/CVS/Entries b/template/en/default/extensions/CVS/Entries deleted file mode 100644 index f41b9ce429eec819da1d5bc8c7ec5b6961cc993f..0000000000000000000000000000000000000000 --- a/template/en/default/extensions/CVS/Entries +++ /dev/null @@ -1,7 +0,0 @@ -/config.pm.tmpl/1.1/Wed Nov 25 05:02:57 2009//TBUGZILLA-3_6_1 -/extension.pm.tmpl/1.1/Wed Nov 25 05:02:57 2009//TBUGZILLA-3_6_1 -/hook-readme.txt.tmpl/1.1/Wed Nov 25 05:02:57 2009//TBUGZILLA-3_6_1 -/license.txt.tmpl/1.1/Wed Nov 25 05:02:57 2009//TBUGZILLA-3_6_1 -/name-readme.txt.tmpl/1.1/Wed Nov 25 05:02:57 2009//TBUGZILLA-3_6_1 -/util.pm.tmpl/1.2/Sun Jan 31 17:51:15 2010//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/extensions/CVS/Repository b/template/en/default/extensions/CVS/Repository deleted file mode 100644 index de8f9c3b6ac1ef270b56f5b9e9f32be8e4aea0f1..0000000000000000000000000000000000000000 --- a/template/en/default/extensions/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/extensions diff --git a/template/en/default/extensions/CVS/Root b/template/en/default/extensions/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/extensions/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/extensions/CVS/Tag b/template/en/default/extensions/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/extensions/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl index 2c096df73a5d4d197388e745633bac4181d63239..799371f63b7f6bc330107de3aff91bc8a52a22e0 100644 --- a/template/en/default/filterexceptions.pl +++ b/template/en/default/filterexceptions.pl @@ -59,7 +59,6 @@ 'search/boolean-charts.html.tmpl' => [ '"field${chartnum}-${rownum}-${colnum}"', - '"value${chartnum}-${rownum}-${colnum}"', 'field.name', '"${chartnum}-${rownum}-${newor}"', '"${chartnum}-${newand}-0"', @@ -70,10 +69,6 @@ 'search/form.html.tmpl' => [ 'qv.name', 'qv.description', - 'field.name', - 'field.description', - 'field.accesskey', - 'sel.name', ], 'search/search-specific.html.tmpl' => [ @@ -233,7 +228,6 @@ 'global/site-navigation.html.tmpl' => [ 'bug.bug_id', - 'bug.votes', ], 'bug/comments.html.tmpl' => [ @@ -260,11 +254,9 @@ ], 'bug/edit.html.tmpl' => [ - 'bug.deadline', 'bug.remaining_time', 'bug.delta_ts', 'bug.bug_id', - 'bug.votes', 'group.bit', 'dep.title', 'dep.fieldname', @@ -312,19 +304,6 @@ FILTER format("%d")', ], -'bug/votes/list-for-bug.html.tmpl' => [ - 'voter.vote_count', - 'total', -], - -'bug/votes/list-for-user.html.tmpl' => [ - 'product.maxperbug', - 'bug.id', - 'bug.count', - 'product.total', - 'product.maxvotes', -], - 'bug/process/results.html.tmpl' => [ 'title.$type', '"$terms.Bug $id" FILTER bug_link(id)', @@ -332,9 +311,6 @@ ], 'bug/create/create.html.tmpl' => [ - 'g.bit', - 'sel.name', - 'sel.description', 'cloned_bug_id', ], @@ -416,6 +392,7 @@ 'admin/custom_fields/cf-js.js.tmpl' => [ 'constants.FIELD_TYPE_SINGLE_SELECT', 'constants.FIELD_TYPE_MULTI_SELECT', + 'constants.FIELD_TYPE_BUG_ID', ], 'admin/params/common.html.tmpl' => [ @@ -481,7 +458,6 @@ 'flags.setter', 'longdescs', 'quips', - 'votes', 'series', 'watch.watched', 'watch.watcher', diff --git a/template/en/default/flag/CVS/Entries b/template/en/default/flag/CVS/Entries deleted file mode 100644 index 40d4462d0d42b60db12fd68b065ecde51f80f513..0000000000000000000000000000000000000000 --- a/template/en/default/flag/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/list.html.tmpl/1.39.2.3/Mon Mar 29 12:32:52 2010//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/flag/CVS/Repository b/template/en/default/flag/CVS/Repository deleted file mode 100644 index acc1a9c3db93f64a1fcc033e42b9a90ccbc966c2..0000000000000000000000000000000000000000 --- a/template/en/default/flag/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/flag diff --git a/template/en/default/flag/CVS/Root b/template/en/default/flag/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/flag/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/flag/CVS/Tag b/template/en/default/flag/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/flag/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/flag/list.html.tmpl b/template/en/default/flag/list.html.tmpl index 1110fb6b3e8f47c23648ee85a999a33391121575..661f37dd18a8adb5f191144a871e7d77531ea536 100644 --- a/template/en/default/flag/list.html.tmpl +++ b/template/en/default/flag/list.html.tmpl @@ -53,7 +53,7 @@ [% FOREACH flag = type.flags %] <tr> <td> - [% flag.setter.nick FILTER html %]: + <span title="[% flag.setter.identity FILTER html %]">[% flag.setter.nick FILTER html %]</span>: </td> <td> <label title="[% type.description FILTER html %]" @@ -147,10 +147,18 @@ <p><b>Flags:</b></p> [% header_displayed = 1 %] [% END %] - [% flag.setter.nick FILTER html %]: + [% IF flag.setter.name %] + <span title="[% flag.setter.name FILTER html %]">[% flag.setter.nick FILTER html %]</span>: + [% ELSE %] + [% flag.setter.nick FILTER html %]: + [% END %] [%+ type.name FILTER html FILTER no_break %][% flag.status %] [% IF flag.requestee %] - ([% flag.requestee.nick FILTER html %]) + [% IF flag.requestee.name %] + (<span title="[% flag.requestee.name FILTER html %]">[% flag.requestee.nick FILTER html %]</span>) + [% ELSE %] + ([% flag.requestee.nick FILTER html %]) + [% END %] [% END %]<br> [% END %] [% END %] diff --git a/template/en/default/global/CVS/Entries b/template/en/default/global/CVS/Entries deleted file mode 100644 index 2a90128fe3e11e4a9d9fbe7b2efa583ff8fb7d89..0000000000000000000000000000000000000000 --- a/template/en/default/global/CVS/Entries +++ /dev/null @@ -1,30 +0,0 @@ -/banner.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/choose-classification.html.tmpl/1.11/Wed Dec 10 18:43:36 2008//TBUGZILLA-3_6_1 -/choose-product.html.tmpl/1.19.2.1/Fri May 28 21:02:58 2010//TBUGZILLA-3_6_1 -/code-error.html.tmpl/1.127.2.2/Mon Mar 29 21:32:58 2010//TBUGZILLA-3_6_1 -/common-links.html.tmpl/1.25.2.1/Sun Feb 7 23:47:22 2010//TBUGZILLA-3_6_1 -/confirm-action.html.tmpl/1.1/Mon Feb 2 18:37:24 2009//TBUGZILLA-3_6_1 -/confirm-user-match.html.tmpl/1.21.2.1/Thu Feb 18 00:34:42 2010//TBUGZILLA-3_6_1 -/docslinks.html.tmpl/1.3/Thu Apr 3 19:05:50 2008//TBUGZILLA-3_6_1 -/field-descs.none.tmpl/1.38.2.2/Mon Mar 29 21:32:58 2010//TBUGZILLA-3_6_1 -/footer.html.tmpl/1.14/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/header.html.tmpl/1.65.2.1/Tue Jun 22 02:59:49 2010//TBUGZILLA-3_6_1 -/help.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/hidden-fields.html.tmpl/1.11/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/initialize.none.tmpl/1.2/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/js-products.html.tmpl/1.3/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/message.html.tmpl/1.8/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/message.txt.tmpl/1.4/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/messages.html.tmpl/1.94.2.1/Mon Mar 29 13:17:41 2010//TBUGZILLA-3_6_1 -/per-bug-queries.html.tmpl/1.14/Fri Aug 21 21:33:31 2009//TBUGZILLA-3_6_1 -/select-menu.html.tmpl/1.6/Mon Aug 20 18:25:04 2007//TBUGZILLA-3_6_1 -/setting-descs.none.tmpl/1.16/Wed Aug 19 21:40:07 2009//TBUGZILLA-3_6_1 -/site-navigation.html.tmpl/1.27/Wed Aug 12 01:43:13 2009//TBUGZILLA-3_6_1 -/tabs.html.tmpl/1.4.6.1/Wed Feb 24 15:16:22 2010//TBUGZILLA-3_6_1 -/textarea.html.tmpl/1.4/Fri Oct 23 21:32:08 2009//TBUGZILLA-3_6_1 -/useful-links.html.tmpl/1.60/Tue Feb 24 00:35:39 2009//TBUGZILLA-3_6_1 -/user-error.html.tmpl/1.296.2.3/Sun Mar 28 21:40:00 2010//TBUGZILLA-3_6_1 -/user.html.tmpl/1.1/Thu Jan 29 21:22:33 2009//TBUGZILLA-3_6_1 -/userselect.html.tmpl/1.10/Mon Dec 29 00:02:20 2008//TBUGZILLA-3_6_1 -/variables.none.tmpl/1.8/Wed Feb 25 19:24:49 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/global/CVS/Repository b/template/en/default/global/CVS/Repository deleted file mode 100644 index 1763962b653d09e736f578a293f75f4c58ee114f..0000000000000000000000000000000000000000 --- a/template/en/default/global/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/global diff --git a/template/en/default/global/CVS/Root b/template/en/default/global/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/global/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/global/CVS/Tag b/template/en/default/global/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/global/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl index 753695b2d5c4d58369bad1dc5794e0adf24e0808..177d47621de51e892f9f3ad17dc3c35b7409d095 100644 --- a/template/en/default/global/code-error.html.tmpl +++ b/template/en/default/global/code-error.html.tmpl @@ -37,17 +37,7 @@ [% DEFAULT title = "Internal Error" %] [% error_message = BLOCK %] - [% IF error == "action_unrecognized" %] - [% docslinks = {'query.html' => "Searching for $terms.bugs", - 'query.html#list' => "$terms.Bug lists"} %] - I don't recognize the value (<em>[% action FILTER html %]</em>) - of the <em>action</em> variable. - - [% ELSIF error == "attachment_already_obsolete" %] - Attachment #[% attach_id FILTER html %] ([% description FILTER html %]) - is already obsolete. - - [% ELSIF error == "attachment_local_storage_disabled" %] + [% IF error == "attachment_local_storage_disabled" %] [% title = "Local Storage Disabled" %] You cannot store attachments locally. This feature is disabled. @@ -216,10 +206,6 @@ [% ELSIF error == "illegal_field" %] A legal [% field FILTER html %] was not set. - [% ELSIF error == "inactive_group" %] - Attempted to add [% terms.bug %] to the '[% name FILTER html %]' - group, which is not used for [% terms.bugs %]. - [% ELSIF error == "invalid_attach_id_to_obsolete" %] The attachment number of one of the attachments you wanted to obsolete, [% attach_id FILTER html %], is invalid. @@ -281,13 +267,6 @@ You can't ask a specific person for <em>[% type.name FILTER html %]</em>. - [% ELSIF error == "flag_status_invalid" %] - The flag status <em>[% status FILTER html %]</em> - [% IF id %] - for flag ID #[% id FILTER html %] - [% END %] - is invalid. - [% ELSIF error == "flag_type_inactive" %] [% title = "Inactive Flag Type" %] The flag type [% type FILTER html %] is inactive and cannot be used @@ -370,14 +349,10 @@ [% ELSIF error == "need_quipid" %] A valid quipid is needed. - [% ELSIF error == "no_manual_moved" %] - You cannot set the resolution of [% terms.abug %] to [% display_value("resolution", "MOVED") FILTER html %] without - moving the [% terms.bug %]. - - [% ELSIF error == "no_open_bug_status" %] - [% title = "$terms.Bug Cannot Be Confirmed" %] - There is no valid transition from - [%+ display_value("bug_status", "UNCONFIRMED") FILTER html %] to an open state. + [% ELSIF error == "object_dep_sort_loop" %] + There is a loop in VALIDATOR_DEPENDENCIES involving + '[%+ field FILTER html %]'. Here are the fields we considered: + [%+ considered.join(', ') FILTER html %]. [% ELSIF error == "param_invalid" %] [% title = "Invalid Parameter" %] @@ -431,9 +406,6 @@ An error occurred while preparing for a RADIUS authentication request: <code>[% errstr FILTER html %]</code>. - [% ELSIF error == "request_queue_group_invalid" %] - The group field <em>[% group FILTER html %]</em> is invalid. - [% ELSIF error == "report_axis_invalid" %] <em>[% val FILTER html %]</em> is not a valid value for [%+ IF fld == "x" %]the horizontal axis @@ -473,13 +445,6 @@ [% ELSIF error == "undefined_field" %] Form field [% field FILTER html %] was not defined. - [% ELSIF error == "unknown_action" %] - [% IF action %] - Unknown action [% action FILTER html %]! - [% ELSE %] - I could not figure out what you wanted to do. - [% END %] - [% ELSIF error == "unknown_method" %] The requested method '[% method FILTER html %]' was not found. @@ -562,6 +527,9 @@ </tr> </table> +<p>Traceback:</p> +<pre>[% traceback FILTER html_linebreak %]</pre> + [% IF variables %] <pre> Variables: diff --git a/template/en/default/global/common-links.html.tmpl b/template/en/default/global/common-links.html.tmpl index 6ad638f723a9723b38cb8f85f267ceb12e3b5f42..fe665df67f8c5a3fc09b13b2e71f8852487971df 100644 --- a/template/en/default/global/common-links.html.tmpl +++ b/template/en/default/global/common-links.html.tmpl @@ -34,7 +34,8 @@ onsubmit="if (this.quicksearch.value == '') { alert('Please enter one or more search terms first.'); return false; } return true;"> - <input class="txt" type="text" id="quicksearch[% qs_suffix FILTER html %]" name="quicksearch"> + <input class="txt" type="text" id="quicksearch[% qs_suffix FILTER html %]" name="quicksearch" + value="[% quicksearch FILTER html %]"> <input class="btn" type="submit" value="Search" id="find[% qs_suffix FILTER html %]"> [%-# Work around FF bug: keep this on one line %]</form> diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index 0c17e570334c34d2fa7d27f41f1281aa2e950f9a..6b406431e40b980884752dce5fa869c3004536bf 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -73,8 +73,8 @@ "resolution" => { "" => "---", - # "FIXED" => "NO LONGER AN ISSUE", - # "MOVED" => "BYE-BYE", + # "FIXED" => "NO LONGER AN ISSUE", + # "WORKSFORME" => "NOTMYPROBLEM!", }, } %] @@ -157,7 +157,6 @@ "status_whiteboard" => "Whiteboard", "target_milestone" => "Target Milestone", "version" => "Version", - "votes" => "Votes" "work_time" => "Hours Worked", } %] diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl index 4837df5dedb637105a0bfd8f5d344c582dacfdbd..3485146c2c3a3dd81f0131777a0db1c5d6435743 100644 --- a/template/en/default/global/header.html.tmpl +++ b/template/en/default/global/header.html.tmpl @@ -46,8 +46,25 @@ header_addl_info = "" onload = "" style_urls = [] + yui = [] %] +[% SET yui_css = { + autocomplete => 1, + calendar => 1, + datatable => 1, +} %] + +[%# Note: This is simple dependency resolution--you can't have dependencies + # that depend on each other. You have to specify all of a module's deps, + # if that module is going to be specified in "yui". + #%] +[% SET yui_deps = { + autocomplete => ['json', 'connection', 'datasource'], + datatable => ['json', 'connection', 'datasource', 'element'], +} %] + + [%# We should be able to set the default value of the header variable # to the value of the title variable using the DEFAULT directive, # but that doesn't work if a caller sets header to the empty string @@ -71,6 +88,7 @@ [% PROCESS 'global/setting-descs.none.tmpl' %] [%# Set up the skin CSS cascade: + # 0. YUI CSS # 1. Standard Bugzilla stylesheet set (persistent) # 2. Standard Bugzilla stylesheet set (selectable) # 3. All third-party "skin" stylesheet sets (selectable) @@ -84,6 +102,27 @@ [% END %] [% style_urls.unshift('skins/standard/global.css') %] + [%# YUI dependency resolution %] + [%# We have to do this in a separate array, because modifying the + # existing array by unshift'ing dependencies confuses FOREACH. + #%] + [% SET yui_resolved = [] %] + [% FOREACH yui_name = yui %] + [% FOREACH yui_dep = yui_deps.${yui_name}.reverse %] + [% yui_resolved.push(yui_dep) IF NOT yui_resolved.contains(yui_dep) %] + [% END %] + [% yui_resolved.push(yui_name) IF NOT yui_resolved.contains(yui_name) %] + [% END %] + [% SET yui = yui_resolved %] + + [%# YUI CSS %] + [% FOREACH yui_name = yui %] + [% IF yui_css.$yui_name %] + <link rel="stylesheet" type="text/css" + href="js/yui/assets/skins/sam/[%- yui_name FILTER html %].css"> + [% END %] + [% END %] + [%# CSS cascade, part 1: Standard Bugzilla stylesheet set (persistent). # Always present. #%] @@ -191,9 +230,18 @@ type="text/css"> <![endif]--> - <script src="js/yui/yahoo-dom-event.js" type="text/javascript"></script> - <script src="js/yui/cookie.js" type="text/javascript"></script> + [%# YUI Scripts %] + <script src="js/yui/yahoo-dom-event/yahoo-dom-event.js" + type="text/javascript"></script> + <script src="js/yui/cookie/cookie-min.js" type="text/javascript"></script> + [% FOREACH yui_name = yui %] + <script type="text/javascript" + src="js/yui/[% yui_name FILTER html %]/ + [%- yui_name FILTER html %]-min.js"></script> + [% END %] + <script src="js/global.js" type="text/javascript"></script> + <script type="text/javascript"> <!-- YAHOO.namespace('bugzilla'); @@ -261,7 +309,7 @@ class="[% urlbase.replace('^https?://','').replace('/$','').replace('[-~@:/.]+','-') %] [% FOREACH class = bodyclasses %] [% ' ' %][% class FILTER css_class_quote %] - [% END %]"> + [% END %] yui-skin-sam"> [%# Migration note: the following file corresponds to the old Param # 'bannerhtml' diff --git a/template/en/default/global/help.html.tmpl b/template/en/default/global/help.html.tmpl index 36439bc07496beb08211ea51824bae253fc1b092..c0ff819cedb8c4a85072435d437c4eae3e54ee35 100644 --- a/template/en/default/global/help.html.tmpl +++ b/template/en/default/global/help.html.tmpl @@ -23,8 +23,9 @@ [% IF cgi.param("help") %] <script type="text/javascript"> <!-- - [% FOREACH h = help_html %] - g_helpTexts["[% h.id FILTER js %]"] = "[%- h.html FILTER js -%]"; + [% FOREACH help_name = help_html.keys %] + g_helpTexts["[% help_name FILTER js %]"] = + "[%- help_html.$help_name FILTER js -%]"; [% END %] // --> </script> diff --git a/template/en/default/global/hidden-fields.html.tmpl b/template/en/default/global/hidden-fields.html.tmpl index 24f15c4f5e6413725403bd5239849ec7f1ea4d69..c141c640974b76b59f8b3e5e35025038c9c6c78f 100644 --- a/template/en/default/global/hidden-fields.html.tmpl +++ b/template/en/default/global/hidden-fields.html.tmpl @@ -52,7 +52,7 @@ [% ELSE %] [% FOREACH mvalue = cgi.param(field).slice(0) %] <input type="hidden" name="[% field FILTER html %]" - value="[% mvalue FILTER html FILTER html_linebreak %]"> + value="[% mvalue FILTER html_linebreak %]"> [% END %] [% END %] [% END %] diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl index 24f193cf76fc9117a9c8a055faa3d42f1285e048..b45724b73482a236627309bc1455da78d5d2bf2f 100644 --- a/template/en/default/global/messages.html.tmpl +++ b/template/en/default/global/messages.html.tmpl @@ -144,7 +144,7 @@ [% ELSIF message_tag == "buglist_query_gone" %] [% title = "Search is gone" %] - [% link = "Go back to the search page." %] + [% link = "Un-forget the search" %] OK, the <b>[% namedcmd FILTER html %]</b> search is gone. [% ELSIF message_tag == "buglist_sorted_by_relevance" %] @@ -459,10 +459,6 @@ [% ELSIF message_tag == "keyword_deleted" %] [% title = "Keyword Deleted" %] The <em>[% keyword.name FILTER html %]</em> keyword has been deleted. - <b>After you have finished editing keywords, you need to - <a href="sanitycheck.cgi?rebuildkeywordcache=1">rebuild the keyword - cache</a></b> (on a very large installation of [% terms.Bugzilla %], - this can take several minutes). [% ELSIF message_tag == "keyword_updated" %] [% title = "Keyword Updated" %] @@ -471,13 +467,7 @@ been saved: <ul> [% IF changes.name.defined %] - <li> - Keyword renamed to <em>[% keyword.name FILTER html %]</em>. - <b>After you have finished editing keywords, you need to - <a href="sanitycheck.cgi?rebuildkeywordcache=1">rebuild - the keyword cache</a></b> (on a very large installation - of [% terms.Bugzilla %], this can take several minutes). - </li> + <li>Keyword renamed to <em>[% keyword.name FILTER html %]</em>.</li> [% END %] [% IF changes.description.defined %] <li>Description updated to <em>[% keyword.description FILTER html %]</em></li> diff --git a/template/en/default/global/reason-descs.none.tmpl b/template/en/default/global/reason-descs.none.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..4a39497b527b61c37bd4a54a5dcecf1fbe49918b --- /dev/null +++ b/template/en/default/global/reason-descs.none.tmpl @@ -0,0 +1,40 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Everything Solved, Inc. + # Portions created by the Initial Developer are Copyright (C) 2010 + # the Initial Developer. All Rights Reserved. + # + # Contributor(s): + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[% SET reason_descs = { + ${constants.REL_ASSIGNEE} => "You are the assignee for the ${terms.bug}.", + ${constants.REL_REPORTER} => "You reported the ${terms.bug}.", + ${constants.REL_QA} => "You are the QA Contact for the ${terms.bug}.", + ${constants.REL_CC} => "You are on the CC list for the ${terms.bug}.", + ${constants.REL_GLOBAL_WATCHER} => "You are watching all $terms.bug changes.", +} %] + +[% SET watch_reason_descs => { + ${constants.REL_ASSIGNEE} => + "You are the watching assignee of the ${terms.bug}.", + ${constants.REL_REPORTER} => + "You watching the reporter of the ${terms.bug}.", + ${constants.REL_QA} => + "You are watching the QA Contact of the ${terms.bug}.", + ${constants.REL_CC} => + "You are watching someone on the CC list of the ${terms.bug}.", +} %] + +[% Hook.process('end') %] diff --git a/template/en/default/global/setting-descs.none.tmpl b/template/en/default/global/setting-descs.none.tmpl index 661334c38deb57f97c638080f5aafc695dbb7acc..e96e3169d29333e3ea81bbc9ffd900a10c866f2f 100644 --- a/template/en/default/global/setting-descs.none.tmpl +++ b/template/en/default/global/setting-descs.none.tmpl @@ -43,6 +43,9 @@ "quote_replies" => "Quote the associated comment when you click on its reply link", "quoted_reply" => "Quote the full comment", "simple_reply" => "Reference the comment number only", + "comment_box_position" => "Position of the Additional Comments box", + "before_comments" => "Before other comments", + "after_comments" => "After other comments", "timezone" => "Timezone used to display dates and times", "local" => "Same as the server", } diff --git a/template/en/default/global/site-navigation.html.tmpl b/template/en/default/global/site-navigation.html.tmpl index df60b76387b48a19f3c1a02d70cee443c2b884cb..60a8ddf96b499d11e2f39594b6ea3eb8b839e7b4 100644 --- a/template/en/default/global/site-navigation.html.tmpl +++ b/template/en/default/global/site-navigation.html.tmpl @@ -37,7 +37,7 @@ [% END %] - [%# *** Dependencies, Votes, Activity, Print-version *** %] + [%# *** Dependencies, Activity, Print-version *** %] [% IF bug %] <link rel="Show" title="Dependency Tree" href="showdependencytree.cgi?id=[% bug.bug_id %]&hide_resolved=1"> @@ -46,11 +46,6 @@ href="showdependencygraph.cgi?id=[% bug.bug_id %]"> [% END %] - [% IF bug.use_votes %] - <link rel="Show" title="Votes ([% bug.votes %])" - href="votes.cgi?action=show_bug&bug_id=[% bug.bug_id %]"> - [% END %] - <link rel="Show" title="[% terms.Bug %] Activity" href="show_activity.cgi?id=[% bug.bug_id %]"> <link rel="Show" title="Printer-Friendly Version" @@ -65,12 +60,6 @@ href="[% Param('mybugstemplate').replace('%userid%', user_login) %]"> [% END %] - [% FOREACH q = user.queries %] - <link rel="Saved Searches" - title="[% q.name FILTER html %]" - href="buglist.cgi?cmdtype=runnamed&namedcmd=[% q.name FILTER url_quote %]"> - [% END %] - [% FOREACH q = user.queries_subscribed %] <link rel="Saved Search" title="[% q.name FILTER html %] ([% q.user.login FILTER html %])" diff --git a/template/en/default/global/textarea.html.tmpl b/template/en/default/global/textarea.html.tmpl index b762f1c4f2a38113e44dadec6bf61c6e07e61c21..1d8cacafbdc98871060ff3249fe810f793c84a59 100644 --- a/template/en/default/global/textarea.html.tmpl +++ b/template/en/default/global/textarea.html.tmpl @@ -31,6 +31,8 @@ # minrows will be used. # cols: (required) Number of columns the textarea shall have. # defaultcontent: (optional) Default content for the textarea. + # mandatory: (optional) Boolean specifying whether or not the textarea + # is mandatory. #%] <textarea [% IF name %]name="[% name FILTER html %]"[% END %] @@ -47,4 +49,7 @@ cols="[% cols FILTER html %]" [% IF maxrows && user.settings.zoom_textareas.value == 'on' %] onFocus="this.rows=[% maxrows FILTER html %]" + [% END %] + [% IF mandatory %] + aria-required="true" [% END %]>[% defaultcontent FILTER html %]</textarea> diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index a507416364d9decc340ab5651a487c310dbdff40..373a9dc312e71ce6ded9ffee3fb42377d798cf23 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/template/en/default/global/user-error.html.tmpl @@ -145,8 +145,6 @@ delete [% ELSIF action == "edit" %] add, modify or delete - [% ELSIF action == "move" %] - move [% ELSIF action == "run" %] run [% ELSIF action == "schedule" %] @@ -155,6 +153,8 @@ use [% ELSIF action == "approve" %] approve + [% ELSE %] + [% Hook.process('auth_failure_action') %] [% END %] [% IF object == "administrative_pages" %] @@ -505,7 +505,7 @@ it controls the visibility of the following fields: [%+ fields.join(', ') FILTER html %]. [% END %] - [% ' and ' IF fields.size AND vals.size %] + [% ' Also, ' IF fields.size AND vals.size %] [% IF vals.size %] it controls the visibility of the following field values: <ul> @@ -521,7 +521,8 @@ [% ELSIF error == "fieldvalue_is_default" %] [% title = "Specified Field Value Is Default" %] '[% value.name FILTER html %]' is the default value for - the '[% field.description FILTER html %]' field and cannot be deleted. + the '[% field.description FILTER html %]' field and cannot be deleted + or disabled. [% IF user.in_group('tweakparams') %] You have to <a href="editparams.cgi?section=bugfields# [%- param_name FILTER url_quote %]">change</a> the default value first. @@ -541,9 +542,9 @@ [% ELSIF error == "fieldvalue_not_deletable" %] [% title = "Field Value Not Deletable" %] - The value '[% value.name FILTER html %]' cannot be removed because - it plays some special role for the '[% field.description FILTER html %]' - field. + The value '[% value.name FILTER html %]' cannot be removed or + disabled, because it plays some special role for the + '[% field.description FILTER html %]' field. [% ELSIF error == "fieldvalue_reserved_word" %] [% title = "Reserved Word Not Allowed" %] @@ -625,6 +626,14 @@ and the user you asked isn't in that group. Please choose someone else to ask, or ask an administrator to add the user to the group. + [% ELSIF error == "flag_status_invalid" %] + [% title = "Flag Status Invalid" %] + The flag status <em>[% status FILTER html %]</em> + [% IF id %] + for flag ID #[% id FILTER html %] + [% END %] + is invalid. + [% ELSIF error == "flag_type_cc_list_invalid" %] [% title = "Flag Type CC List Invalid" %] [% admindocslinks = {'flags-overview.html#flags-admin' => 'Administering Flags'} %] @@ -741,11 +750,6 @@ The group [% name FILTER html %] does not exist. Please specify a valid group name. Create it first if necessary! - [% ELSIF error == "illegal_at_least_x_votes" %] - [% title = "Your Search Makes No Sense" %] - The <em>At least ___ votes</em> field must be a simple number. - You entered <tt>[% value FILTER html %]</tt>, which isn't. - [% ELSIF error == "illegal_attachment_edit" %] [% title = "Unauthorized Action" %] You are not authorized to edit attachment [% attach_id FILTER html %]. @@ -781,9 +785,9 @@ to <em>[% newvalue.join(', ') FILTER html %]</em> [% END %] , but only - [% IF privs < 3 %] + [% IF privs < constants.PRIVILEGES_REQUIRED_EMPOWERED %] the assignee - [% IF privs < 2 %] or reporter [% END %] + [% IF privs < constants.PRIVILEGES_REQUIRED_ASSIGNEE %] or reporter [% END %] of the [% terms.bug %], or [% END %] a user with the required permissions may change that field. @@ -984,9 +988,24 @@ [%+ constants.LOGIN_LOCKOUT_INTERVAL FILTER html %] minutes. [% END %] + [% ELSIF error == "json_rpc_get_method_required" %] + When using JSON-RPC over GET, you must specify a 'method' + parameter. See the documentation at + [%+ docs_urlbase FILTER html %]api/Bugzilla/WebService/Server/JSONRPC.html + + [% ELSIF error == "json_rpc_invalid_params" %] + Could not parse the 'params' argument as valid JSON. + Error: [% err_msg FILTER html %] + Value: [% params FILTER html %] + + [% ELSIF error == "json_rpc_invalid_callback" %] + You cannot use '[% callback FILTER html %]' as your 'callback' parameter. + For security reasons, only letters, numbers, and the following + characters are allowed in the 'callback' parameter: <code>[]._</code> + [% ELSIF error == "json_rpc_post_only" %] - For security reasons, you may only use JSON-RPC with the POST - HTTP method. + For security reasons, you may only call the '[% method FILTER html %]' + method via HTTP POST. [% ELSIF error == "keyword_already_exists" %] [% title = "Keyword Already Exists" %] @@ -1145,11 +1164,6 @@ A valid resolution is required to mark [% terms.bugs %] as [%+ status FILTER upper FILTER html %]. - [% ELSIF error == "move_bugs_disabled" %] - [% title = BLOCK %][% terms.Bug %] Moving Disabled[% END %] - Sorry, [% terms.bug %] moving has been disabled. If you need - to move [% terms.abug %], please contact [% Param("maintainer") %]. - [% ELSIF error == "missing_subcategory" %] [% title = "Missing Subcategory" %] You did not specify a subcategory for this series. @@ -1168,6 +1182,10 @@ to add a version to this product. [% END %] + [% ELSIF error == "multiple_alias_not_allowed" %] + You cannot set aliases when modifying multiple [% terms.bugs %] + at once. + [% ELSIF error == "need_quip" %] [% title = "Quip Required" %] [% docslinks = {'quips.html' => 'About quips'} %] @@ -1232,10 +1250,6 @@ Either no products have been defined to enter [% terms.bugs %] against or you have not been given access to any. - [% ELSIF error == "no_valid_action" %] - [% title = "No valid action specified" %] - Cannot edit [% field_descs.$field FILTER html %]: no valid action was specified. - [% ELSIF error == "number_not_numeric" %] [% title = "Numeric Value Required" %] The value '[% num FILTER html %]' in the @@ -1323,20 +1337,6 @@ [% group.name FILTER html %] is not an active [% terms.bug %] group and so you cannot edit group controls for it. - [% ELSIF error == "product_illegal_votes" %] - [% title = "Votes Must Be Non-negative" %] - [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] - '[% votes FILTER html %]' is an invalid value for the - <em> - [% IF field == "votesperuser" %] - Votes Per User - [% ELSIF field == "maxvotesperbug" %] - Maximum Votes Per [% terms.Bug %] - [% ELSIF field == "votestoconfirm" %] - Votes To Confirm - [% END %] - </em> field, which should contain a non-negative number. - [% ELSIF error == "product_name_already_in_use" %] [% title = "Product name already exists" %] [% admindocslinks = {'products.html' => 'Administering products'} %] @@ -1455,10 +1455,24 @@ To file this [% terms.bug %], you must first choose a component. If necessary, just guess. + [% ELSIF error == "relationship_loop_single" %] + [% title = "Relationship Loop Detected" %] + [% field_descs.$field_name FILTER html %] + for [% terms.bug %] [%+ bug_id FILTER html %] + has a circular dependency on [% terms.bug %] [%+ dep_id FILTER html %]. + + [% ELSIF error == "request_queue_group_invalid" %] + The group field <em>[% group FILTER html %]</em> is invalid. + [% ELSIF error == "require_new_password" %] [% title = "New Password Needed" %] You cannot change your password without choosing a new one. + [% ELSIF error == "required_field" %] + [% title = "Field Must Be Set" %] + A value must be set for the '[% field_descs.${field.name} FILTER html %]' + field. + [% ELSIF error == "require_summary" %] [% title = "Summary Needed" %] You must enter a summary for this [% terms.bug %]. @@ -1547,21 +1561,6 @@ [% title = "User Protected" %] The user [% login FILTER html %] may not be impersonated by sudoers. - [% ELSIF error == "too_many_votes_for_bug" %] - [% title = "Illegal Vote" %] - [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] - You may only use at most [% max FILTER html %] votes for a single - [%+ terms.bug %] in the - <tt>[% product FILTER html %]</tt> product, but you are trying to - use [% votes FILTER html %]. - - [% ELSIF error == "too_many_votes_for_product" %] - [% title = "Illegal Vote" %] - [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] - You tried to use [% votes FILTER html %] votes in the - <tt>[% product FILTER html %]</tt> product, which exceeds the maximum of - [%+ max FILTER html %] votes for this product. - [% ELSIF error == "token_does_not_exist" %] [% title = "Token Does Not Exist" %] The token you submitted does not exist, has expired, or has @@ -1577,6 +1576,13 @@ [% END %] token too recently to request another. Please wait a while and try again. + [% ELSIF error == "unknown_action" %] + [% IF action %] + Unknown action [% action FILTER html %]! + [% ELSE %] + I could not figure out what you wanted to do. + [% END %] + [% ELSIF error == "unknown_keyword" %] [% title = "Unknown Keyword" %] <code>[% keyword FILTER html %]</code> is not a known keyword. @@ -1649,11 +1655,6 @@ Sorry, but you are not allowed to (un)mark comments or attachments as private. - [% ELSIF error == "votes_must_be_nonnegative" %] - [% title = "Votes Must Be Non-negative" %] - [% admindocslinks = {'voting.html' => 'Setting up the voting feature'} %] - Only use non-negative numbers for your [% terms.bug %] votes. - [% ELSIF error == "wrong_token_for_cancelling_email_change" %] [% title = "Wrong Token" %] That token cannot be used to cancel an email address change. @@ -1781,6 +1782,8 @@ group [% ELSIF class == "Bugzilla::Product" %] product + [% ELSIF class == "Bugzilla::Search::Recent" %] + recent search [% ELSIF class == "Bugzilla::Search::Saved" %] saved search [% ELSIF ( matches = class.match('^Bugzilla::Field::Choice::(.+)') ) %] diff --git a/template/en/default/global/userselect.html.tmpl b/template/en/default/global/userselect.html.tmpl index 35075ef9de7b9fd8d5862babc88d511566126fed..2a2d2cd52de48322392e81cab734d9576cefd51f 100644 --- a/template/en/default/global/userselect.html.tmpl +++ b/template/en/default/global/userselect.html.tmpl @@ -12,6 +12,7 @@ # # Contributor(s): Byron Jones <bugzilla@glob.com.au> # Frédéric Buclin <LpSolit@gmail.com> + # Guy Pyrzak <guy.pyrzak@gmail.com> #%] [%# INTERFACE: @@ -69,15 +70,30 @@ [% END %] </select> [% ELSE %] -<input - name="[% name FILTER html %]" - value="[% value FILTER html %]" - [% IF onchange %] onchange="[% onchange FILTER html %]" [% END %] - [% IF disabled %] disabled="[% disabled FILTER html %]" [% END %] - [% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %] - [% IF size %] size="[% size FILTER html %]" [% END %] - [% IF id %] id="[% id FILTER html %]" [% END %] -> + [% IF id && feature_enabled('jsonrpc') %] + <div id="[% id FILTER html %]_autocomplete"> + [% END %] + <input + name="[% name FILTER html %]" + value="[% value FILTER html %]" + [% IF onchange %] onchange="[% onchange FILTER html %]" [% END %] + [% IF disabled %] disabled="[% disabled FILTER html %]" [% END %] + [% IF accesskey %] accesskey="[% accesskey FILTER html %]" [% END %] + [% IF size %] size="[% size FILTER html %]" [% END %] + [% IF id %] id="[% id FILTER html %]" [% END %] + > + [% IF id && feature_enabled('jsonrpc') %] + <div id="[% id FILTER html %]_autocomplete_container"></div> + </div> + <script type="text/javascript"> + if( typeof(YAHOO.bugzilla.userAutocomplete) !== 'undefined' + && YAHOO.bugzilla.userAutocomplete != null){ + YAHOO.bugzilla.userAutocomplete.init( "[% id FILTER js %]", + "[% id FILTER js %]_autocomplete_container" + [% IF multiple %], true[% END%]); + } + </script> + [% END %] [% END %] diff --git a/template/en/default/global/variables.none.tmpl b/template/en/default/global/variables.none.tmpl index dd7281e6856801b951af8ebaae27fa363de7e3d6..faf1a5427bffebd24abc5ff8da6de733228f6623 100644 --- a/template/en/default/global/variables.none.tmpl +++ b/template/en/default/global/variables.none.tmpl @@ -40,3 +40,5 @@ "Bugzilla" => "Bugzilla" } %] + +[% Hook.process("end") %] diff --git a/template/en/default/list/CVS/Entries b/template/en/default/list/CVS/Entries deleted file mode 100644 index 7563ca77120d61e7922fed57f9b8745b146965ab..0000000000000000000000000000000000000000 --- a/template/en/default/list/CVS/Entries +++ /dev/null @@ -1,13 +0,0 @@ -/change-columns.html.tmpl/1.20/Wed Feb 25 22:39:20 2009//TBUGZILLA-3_6_1 -/edit-multiple.html.tmpl/1.61/Fri Dec 4 14:40:05 2009//TBUGZILLA-3_6_1 -/list-simple.html.tmpl/1.12/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_6_1 -/list.atom.tmpl/1.7.2.2/Mon Mar 15 14:31:03 2010//TBUGZILLA-3_6_1 -/list.csv.tmpl/1.9/Wed Sep 30 22:35:40 2009//TBUGZILLA-3_6_1 -/list.html.tmpl/1.71.2.2/Mon Mar 29 21:32:58 2010//TBUGZILLA-3_6_1 -/list.ics.tmpl/1.11/Thu May 14 11:34:37 2009//TBUGZILLA-3_6_1 -/list.js.tmpl/1.3/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_6_1 -/list.rdf.tmpl/1.8/Wed Feb 11 15:45:27 2009//TBUGZILLA-3_6_1 -/quips.html.tmpl/1.24/Wed Nov 5 18:38:52 2008//TBUGZILLA-3_6_1 -/server-push.html.tmpl/1.7/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_6_1 -/table.html.tmpl/1.52.2.2/Wed May 19 17:35:40 2010//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/list/CVS/Repository b/template/en/default/list/CVS/Repository deleted file mode 100644 index 3db4437daaa55a3ba93ec09efb49ac827424b0eb..0000000000000000000000000000000000000000 --- a/template/en/default/list/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/list diff --git a/template/en/default/list/CVS/Root b/template/en/default/list/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/list/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/list/CVS/Tag b/template/en/default/list/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/list/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/list/change-columns.html.tmpl b/template/en/default/list/change-columns.html.tmpl index 36cd5dbb8f2a561b26519e12019b9b8a5c36045a..77deb503c7e3625f285830633f28c4004f26c981 100644 --- a/template/en/default/list/change-columns.html.tmpl +++ b/template/en/default/list/change-columns.html.tmpl @@ -34,10 +34,22 @@ [% PROCESS "global/field-descs.none.tmpl" %] [% field_descs.short_short_desc = "Summary (first 60 characters)" %] -[% field_descs.short_desc = "Full Summary" %] -[% field_descs.assigned_to_realname = "Assignee Realname" %] -[% field_descs.reporter_realname = "Reporter Realname" %] -[% field_descs.qa_contact_realname = "QA Contact Realname" %] +[% field_descs.short_desc = "Summary (Full)" %] +[% field_descs.assigned_to_realname = "$field_descs.assigned_to Real Name" %] +[% field_descs.reporter_realname = "$field_descs.reporter Real Name" %] +[% field_descs.qa_contact_realname = "$field_descs.qa_contact Real Name" %] + +[%# Create a mapping of field descriptions to field names, so that + # the "Available Columns" list can be sorted alphabetically by + # field description. + #%] +[% SET available_columns = {} %] +[% FOREACH column = columns.keys %] + [% NEXT IF collist.contains(column) %] + [%# We lowecase the keys so that the sort happens case-insensitively. %] + [% SET column_desc = field_descs.$column || column FILTER lower %] + [% available_columns.$column_desc = column %] +[% END %] <form name="changecolumns" action="colchange.cgi" onsubmit="change_submit();"> <input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]"> @@ -70,12 +82,13 @@ [% (field_descs.${column} || column) FILTER html %] </option> [% END %] - [% FOREACH column = masterlist %] - [% IF lsearch(collist, column) == -1 %] - <option value="[% column FILTER html %]"> - [% (field_descs.${column} || column) FILTER html %] - </option> - [% END %] + [% FOREACH key = available_columns.keys.sort %] + [% SET column = available_columns.$key %] + <option value="[% column FILTER html %]"> + [%# Don't display the lower-cased column description, + # display the correct-case one. %] + [% (field_descs.$column || column) FILTER html %] + </option> [% END %] </select> </td> diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl index 75f2f833b76d54e2101b09b5bca75cd4ad6d696d..c6bfbd336f53eb53ed252316b22fed3dae75d1e3 100644 --- a/template/en/default/list/edit-multiple.html.tmpl +++ b/template/en/default/list/edit-multiple.html.tmpl @@ -149,13 +149,9 @@ value="[% dontchange FILTER html %]" size="6"> </td> - <th><label for="deadline">Deadline (YYYY-MM-DD):</label></th> - <td> - <input id="deadline" - name="deadline" - value="[% dontchange FILTER html %]" - size="10"> - </td> + [% PROCESS bug/field.html.tmpl + field = bug_fields.deadline, value = dontchange + editable = 1, allow_dont_change = 1 %] </tr> <tr> <th><label for="remaining_time">Remaining Hours:</label></th> @@ -276,6 +272,8 @@ [% END %] [% USE Bugzilla %] + [%# Show all legal values and all fields, ignoring visibility controls. %] + [% bug = 0 %] [% FOREACH field = Bugzilla.active_custom_fields %] <tr> [% PROCESS bug/field.html.tmpl value = dontchange @@ -355,10 +353,6 @@ [% END %] <input type="submit" id="commit" value="Commit"> -[% IF Param('move-enabled') && user.is_mover %] - <input type="submit" name="action" id="action" value="[% Param('move-button-text') %]"> -[% END %] - [%############################################################################%] [%# Select Menu Block #%] [%############################################################################%] diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl index 696e868a49593d90aa4254d7ad181a4ebf092464..cbeb72cf890d6c98c40a2fb6ffeef6ba9c56cfb7 100644 --- a/template/en/default/list/list.html.tmpl +++ b/template/en/default/list/list.html.tmpl @@ -46,8 +46,9 @@ title = title style = style atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom" - javascript_urls = [ "js/util.js", "js/field.js", "js/yui/calendar.js" ] - style_urls = [ "skins/standard/buglist.css", "skins/standard/yui/calendar.css" ] + yui = [ 'autocomplete', 'calendar' ] + javascript_urls = [ "js/util.js", "js/field.js" ] + style_urls = [ "skins/standard/buglist.css" ] doc_section = "query.html#list" %] diff --git a/template/en/default/list/list.rdf.tmpl b/template/en/default/list/list.rdf.tmpl index 99c06c1ee44283fd65bd3e2256cadb020e0dd640..d7879a694d8ae25ac6586366561880fc06becc67 100644 --- a/template/en/default/list/list.rdf.tmpl +++ b/template/en/default/list/list.rdf.tmpl @@ -38,7 +38,7 @@ <bz:id nc:parseType="Integer">[% bug.bug_id %]</bz:id> [% FOREACH column = displaycolumns %] - <bz:[% column %][% ' nc:parseType="Integer"' IF column == "votes" %]>[% bug.$column FILTER html %]</bz:[% column %]> + <bz:[% column %]>[% bug.$column FILTER html %]</bz:[% column %]> [% END %] </bz:bug> diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl index 282ea51dd918af220c437f436b984bfbb71fe523..7e6eb5b99d94f530cb820a00c5bcf19d7955ecb4 100644 --- a/template/en/default/list/table.html.tmpl +++ b/template/en/default/list/table.html.tmpl @@ -64,6 +64,7 @@ "product" => { maxlength => 8 } , "version" => { maxlength => 5 , title => "Vers" } , "op_sys" => { maxlength => 4 } , + "bug_file_loc" => { maxlength => 30 } , "target_milestone" => { title => "TargetM" } , "percentage_complete" => { format_value => "%d %%" } , } @@ -169,7 +170,7 @@ [% FOREACH bug = bugs %] [% count = loop.count() %] - <tr class="bz_bugitem + <tr id="b[% bug.bug_id %]" class="bz_bugitem bz_[% bug.bug_severity FILTER css_class_quote -%] bz_[% bug.priority FILTER css_class_quote -%] bz_[% bug.bug_status FILTER css_class_quote -%] @@ -185,8 +186,7 @@ </td> [% END %] <td class="first-child bz_id_column"> - <a name="b[% bug.bug_id %]" - href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a> + <a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a> <span style="display: none">[%+ '[SEC]' IF bug.secure_mode %]</span> </td> diff --git a/template/en/default/pages/CVS/Entries b/template/en/default/pages/CVS/Entries deleted file mode 100644 index 4b50cc872fb3ac239d64a4fb8803e19e5c8221f2..0000000000000000000000000000000000000000 --- a/template/en/default/pages/CVS/Entries +++ /dev/null @@ -1,9 +0,0 @@ -/bug-writing.html.tmpl/1.10/Wed Nov 18 07:05:00 2009//TBUGZILLA-3_6_1 -/fields.html.tmpl/1.19.2.1/Wed Feb 17 22:49:02 2010//TBUGZILLA-3_6_1 -/linked.html.tmpl/1.10/Fri Feb 8 23:19:32 2008//TBUGZILLA-3_6_1 -/linkify.html.tmpl/1.9/Mon Aug 20 18:25:05 2007//TBUGZILLA-3_6_1 -/quicksearch.html.tmpl/1.4.2.4/Mon Apr 19 19:34:16 2010//TBUGZILLA-3_6_1 -/release-notes.html.tmpl/1.45.2.9/Tue Jun 22 04:20:31 2010//TBUGZILLA-3_6_1 -/sudo.html.tmpl/1.3/Fri Aug 8 01:27:20 2008//TBUGZILLA-3_6_1 -/voting.html.tmpl/1.5/Mon Sep 15 22:34:32 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/pages/CVS/Repository b/template/en/default/pages/CVS/Repository deleted file mode 100644 index 6108d2ed4bb410fb7280d729406215c4377e319a..0000000000000000000000000000000000000000 --- a/template/en/default/pages/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/pages diff --git a/template/en/default/pages/CVS/Root b/template/en/default/pages/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/pages/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/pages/CVS/Tag b/template/en/default/pages/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/pages/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/pages/fields.html.tmpl b/template/en/default/pages/fields.html.tmpl index 282b7b6f75c2247557cdb98229eae7488e5dddd1..de089ec11db84b2bb08b7465577c9e54c300871a 100644 --- a/template/en/default/pages/fields.html.tmpl +++ b/template/en/default/pages/fields.html.tmpl @@ -20,128 +20,140 @@ #%] [% PROCESS "global/field-descs.none.tmpl" %] -[% INCLUDE global/header.html.tmpl title = "A $terms.Bug's Life Cycle" %] +[% PROCESS global/header.html.tmpl + title = "$terms.Bug Fields" + style_urls = ['skins/standard/page.css'] +%] -<p> -The <b>status</b> and <b>resolution</b> fields define and track the life -cycle of [% terms.abug %]. -</p> +<p>This page describes the various fields that you see + on [% terms.abug %].</p> -<a name="status"></a> -<a name="resolution"></a> - -<table border="1" cellpadding="4"> - <tr align="center" valign="top"> - <td width="50%"> - <h1>STATUS</h1> +<table class="field_value_explanation"> + <thead> + <tr> + <td id="bug_status"> + <h2>[% field_descs.bug_status FILTER upper FILTER html %]</h2> </td> - <td> - <h1>RESOLUTION</h1> + <td id="resolution"> + <h2>[% field_descs.resolution FILTER upper FILTER html %]</h2> </td> </tr> - <tr valign="top"> - <td>The <b>status</b> field indicates the general health of a - [% terms.bug %]. Only certain status transitions are allowed.</td> + <tr> + <td>The [% field_descs.bug_status FILTER html %] field indicates the + current state of a [% terms.bug %]. Only certain status transitions + are allowed.</td> - <td>The <b>resolution</b> field indicates what happened to this - [%+ terms.bug %].</td> + <td>The [% field_descs.resolution FILTER html %] field indicates what + happened to this [%+ terms.bug %].</td> </tr> + </thead> - <tr valign="top"> + <tbody> + <tr class="header_row"> + <td colspan="2">Open [% terms.Bugs %]</td> + </tr> + <tr> <td> <dl> <dt> - <b>[% display_value("bug_status", "UNCONFIRMED") FILTER html %]</b> + [% display_value("bug_status", "UNCONFIRMED") FILTER html %] </dt> <dd> This [% terms.bug %] has recently been added to the database. - Nobody has validated that this [% terms.bug %] is true. Users + Nobody has confirmed that this [% terms.bug %] is valid. Users who have the "canconfirm" permission set may confirm - this [% terms.bug %], changing its state to [% display_value("bug_status", "NEW") FILTER html %]. Or, it may be - directly resolved and marked [% display_value("bug_status", "RESOLVED") FILTER html %]. + this [% terms.bug %], changing its state to + <b>[% display_value("bug_status", "NEW") FILTER html %]</b>. + Or, it may be directly resolved and marked + <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "NEW") FILTER html %]</b> + [% display_value("bug_status", "NEW") FILTER html %] </dt> <dd> - This [% terms.bug %] has recently been added to the assignee's - list of [% terms.bugs %] and must be processed. [% terms.Bugs %] in - this state may be accepted, and become <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b>, passed - on to someone else, and remain <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or resolved and marked + This [% terms.bug %] is valid and has recently been filed. + [%+ terms.Bugs %] in this state become + <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> when + somebody is working on them, or become resolved and marked <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> + [% display_value("bug_status", "ASSIGNED") FILTER html %] </dt> <dd> - This [% terms.bug %] is not yet resolved, but is assigned to the - proper person. From here [% terms.bugs %] can be given to another - person and become <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or - resolved and become <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. + This [% terms.bug %] is not yet resolved, but is assigned to the + proper person who is working on the [% terms.bug %]. From here, + [%+ terms.bugs %] can be given to another person and become + <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or + resolved and become + <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> + [% display_value("bug_status", "REOPENED") FILTER html %] </dt> <dd> - This [% terms.bug %] was once resolved, but the resolution was - deemed incorrect. For example, a <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> [% terms.bug %] is - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> when more information shows up and - the [% terms.bug %] is now reproducible. From here [% terms.bugs %] are - either marked <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> or + This [% terms.bug %] was once resolved, but the resolution was + deemed incorrect. For example, a + <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> + [%+ terms.bug %] is marked + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> when + more information shows up and the [% terms.bug %] is now + reproducible. From here, [% terms.bugs %] are either marked + <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> or <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> </dl> </td> <td> - <dl> - <dd> - No resolution yet. All [% terms.bugs %] which are in one of - these "open" states have the resolution set to blank. All - other [% terms.bugs %] will be marked with one of the following - resolutions. - </dd> - </dl> + No resolution yet. All [% terms.bugs %] which are in one of + these "open" states have no resolution set. </td> </tr> - <tr valign="top"> + <tr class="header_row"> + <td colspan="2">Closed [% terms.Bugs %]</td> + </tr> + + <tr> <td> <dl> <dt> - <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b> + [% display_value("bug_status", "RESOLVED") FILTER html %] </dt> <dd> - A resolution has been taken, and it is awaiting verification by - QA. From here [% terms.bugs %] are either re-opened and become - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>, are marked - <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b>, or are closed for - good and marked <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. + A resolution has been performed, and it is awaiting verification by + QA. From here [% terms.bugs %] are either re-opened and become + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>, are + marked <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b>, + or are closed for good and marked + <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b> + [% display_value("bug_status", "VERIFIED") FILTER html %] </dt> <dd> - QA has looked at the [% terms.bug %] and the resolution and - agrees that the appropriate resolution has been taken. [% terms.Bugs %] remain - in this state until the product they were reported - against actually ships, at which point they become + QA has looked at the [% terms.bug %] and the resolution and + agrees that the appropriate resolution has been taken. + [%+ terms.Bugs %] remain in this state until the product they were + reported against actually ships, at which point they become <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b> + [% display_value("bug_status", "CLOSED") FILTER html %] </dt> <dd> - The [% terms.bug %] is considered dead, the resolution is correct. - Any zombie [% terms.bugs %] who choose to walk the earth again must - do so by becoming <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>. + The [% terms.bug %] is considered dead, the resolution is correct. + Any zombie [% terms.bugs %] who choose to walk the earth again must + do so by becoming + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>. </dd> </dl> </td> @@ -149,7 +161,7 @@ cycle of [% terms.abug %]. <td> <dl> <dt> - <b>[% display_value("resolution", "FIXED") FILTER html %]</b> + [% display_value("resolution", "FIXED") FILTER html %] </dt> <dd> A fix for this [% terms.bug %] is checked into the tree and @@ -157,14 +169,14 @@ cycle of [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "INVALID") FILTER html %]</b> + [% display_value("resolution", "INVALID") FILTER html %] </dt> <dd> The problem described is not [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "WONTFIX") FILTER html %]</b> + [% display_value("resolution", "WONTFIX") FILTER html %] </dt> <dd> The problem described is [% terms.abug %] which will never be @@ -172,17 +184,18 @@ cycle of [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "DUPLICATE") FILTER html %]</b> + [% display_value("resolution", "DUPLICATE") FILTER html %] </dt> <dd> The problem is a duplicate of an existing [% terms.bug %]. - Marking [% terms.abug %] duplicate requires the [% terms.bug %]# - of the duplicating [% terms.bug %] and will at least put - that [% terms.bug %] number in the description field. + When [% terms.abug %] is marked as a + <b>[% display_value("resolution", "DUPLICATE") FILTER html %]</b>, + you will see which [% terms.bug %] it is a duplicate of, + next to the resolution. </dd> <dt> - <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> + [% display_value("resolution", "WORKSFORME") FILTER html %] </dt> <dd> All attempts at reproducing this [% terms.bug %] were futile, @@ -190,142 +203,61 @@ cycle of [% terms.abug %]. behavior would occur. If more information appears later, the [% terms.bug %] can be reopened. </dd> - - <dt> - <b>[% display_value("resolution", "MOVED") FILTER html %]</b> - </dt> - <dd> - The problem was specific to a related product - whose [% terms.bugs %] are tracked in - another [% terms.bug %] database. - The [% terms.bug %] has been moved to that database. - </dd> </dl> </td> </tr> + </tbody> </table> -<h2><a name="importance">Importance</a></h2> -The importance of [% terms.abug %] is described as the combination of -its <a href="#priority">priority</a> and <a href="#bug_severity">severity</a>, -as described below. - -<h2><a name="priority">Priority</a></h2> -This field describes the importance and order in which [% terms.abug %] -should be fixed compared to other [% terms.bugs %]. This field is utilized -by the programmers/engineers to prioritize their work to be done. +<h2>Other Fields</h2> -<h2><a name="bug_severity">Severity</a></h2> -This field describes the impact of [% terms.abug %]. - -<table> - <tr> - <th>[% display_value("bug_severity", "blocker") FILTER html %]</th> - - <td>Blocks development and/or testing work</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "critical") FILTER html %]</th> - - <td>crashes, loss of data, severe memory leak</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "major") FILTER html %]</th> +[% PROCESS "bug/field-help.none.tmpl" %] - <td>major loss of function</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "normal") FILTER html %]</th> - - <td>regular issue, some loss of functionality under specific circumstances</td> - </tr> - - - <tr> - <th>[% display_value("bug_severity", "minor") FILTER html %]</th> - - <td>minor loss of function, or other problem where easy - workaround is present</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "trivial") FILTER html %]</th> - - <td>cosmetic problem like misspelled words or misaligned - text</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "enhancement") FILTER html %]</th> - - <td>Request for enhancement</td> -</table> - -<h2><a name="rep_platform">Platform</a></h2> -This is the hardware platform against which the [% terms.bug %] was -reported. Legal platforms include: - -<ul> - <li>[% display_value("rep_platform", "All") FILTER html %] (happens on all platforms; cross-platform [% terms.bug %])</li> - - <li>[% display_value("rep_platform", "Macintosh") FILTER html %]</li> - - <li>[% display_value("rep_platform", "PC") FILTER html %]</li> -</ul> -<b>Note:</b> When searching, selecting the option -<em>[% display_value("rep_platform", "All") FILTER html %]</em> does not -select [% terms.bugs %] -assigned against any platform. It merely selects [% terms.bugs %] that are -marked as occurring on all platforms, i.e. are designated -<em>[% display_value("rep_platform", "All") FILTER html %]</em>. - -<h2><a name="op_sys">Operating System</a></h2> -This is the operating system against which the [% terms.bug %] was -reported. Legal operating systems include: - -<ul> - <li>[% display_value("op_sys", "All") FILTER html %] (happens on all operating systems; cross-platform - [% terms.bug %])</li> - - <li>Windows</li> - - <li>Mac OS</li> - - <li>Linux</li> -</ul> -Sometimes the operating system implies the platform, but not -always. For example, Linux can run on PC and Macintosh and -others. - -<h2><a name="assigned_to">Assigned To</a></h2> - -<p> -This is the person in charge of resolving the [% terms.bug %]. Every time -this field changes, the status changes to <b>[% display_value("bug_status", "NEW") FILTER html %]</b> to make it -easy to see which new [% terms.bugs %] have appeared on a person's list.</p> - -<p> -The default status for queries is set to [% display_value("bug_status", "NEW") FILTER html %], -[%+ display_value("bug_status", "ASSIGNED") FILTER html %] and [% display_value("bug_status", "REOPENED") FILTER html %]. -When searching for [% terms.bugs %] that have been resolved or -verified, remember to set the status field appropriately. -</p> - -[% IF Param("use_see_also") %] - <h2><a name="see_also"></a>See Also</h2> - - <p>This allows you to refer to [% terms.bugs %] in other installations. - You can enter a URL to a [%+ terms.bug %] in the "Add [% terms.Bug %] URLs" - field to note that that [% terms.bug %] is related to this one. You can - enter multiple URLs at once by separating them with a comma.</p> +[% SET field_help_map = {} %] +[% FOREACH field = bug_fields.keys %] + [% SET field_desc = field_descs.$field %] + [% field_help_map.$field_desc = { help => help_html.$field, + field => field } %] +[% END %] - <p>You should normally use this field to refer to [% terms.bugs %] in - <em>other</em> installations. For [% terms.bugs %] in this - installation, it is better to use the "Depends On" and "Blocks" - fields.</p> +[%# These are fields that don't need to be documented, either because + # they have docs somewhere else in the UI, or they don't show up on bugs. + # %] +[% SET skip_fields = [ + 'days_elapsed', + 'everconfirmed', + 'reporter_accessible', + 'cclist_accessible', + 'bug_group', + 'commenter', + 'owner_idle_time', + 'bug_status', + 'resolution', +] %] + +<dl class="field_descriptions"> +[% FOREACH field_desc = field_help_map.keys.sort %] + [% SET field = field_help_map.${field_desc}.field %] + [% SET field_object = bug_fields.$field %] + + [% NEXT IF field_object.obsolete %] + [% NEXT IF !user.is_timetracker AND field_object.is_timetracking %] + + [% NEXT IF field == 'status_whiteboard' AND !Param('usestatuswhiteboard') %] + [% NEXT IF field == 'target_milestone' AND !Param('usetargetmilestone') %] + [% NEXT IF field == 'alias' AND !Param('usebugaliases') %] + + [%# For now we don't have help for attachment fields and so on. %] + [% NEXT IF field.match('\.') %] + + [% NEXT IF skip_fields.contains(field) %] + + <dt id="[% field FILTER html %]">[% field_desc FILTER html %]</dt> + <dd> + [% SET help_text = field_help_map.${field_desc}.help %] + [% help_text FILTER none %] + </dd> [% END %] +</dl> -[% INCLUDE global/footer.html.tmpl %] +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/pages/quicksearch.html.tmpl b/template/en/default/pages/quicksearch.html.tmpl index 1f2d21b5f4399224118044d86b007d9c80977b12..1a630671d4e0d979c68a8fc28aeab5ddd121ed72 100644 --- a/template/en/default/pages/quicksearch.html.tmpl +++ b/template/en/default/pages/quicksearch.html.tmpl @@ -92,7 +92,7 @@ <p>You may also want to read up on the <a href="#advanced">Advanced Features</a>.</p> -<h2><a name="fields"></a>Fields You Can Search On</h2> +<h2 id="fields">Fields You Can Search On</h2> <p>You can specify any of these fields like <kbd>field:value</kbd> in the search box, to search on them. You can also abbreviate @@ -143,7 +143,7 @@ </tbody> </table> -<h2><a name="advanced"></a>Advanced Features</h2> +<h2 id="advanced">Advanced Features</h2> <ul class="qs_help"> <li>If you want to search for a <strong>phrase</strong> or something that @@ -189,7 +189,7 @@ </li> </ul> -<h2><a name="shortcuts"></a>Advanced Shortcuts</h2> +<h2 id="shortcuts">Advanced Shortcuts</h2> <p>In addition to using <a href="#fields">field names</a> to search specific fields, there are certain characters or words that you can diff --git a/template/en/default/reports/CVS/Entries b/template/en/default/reports/CVS/Entries deleted file mode 100644 index 27405feb48e9b1c25574d825bd627091fdceb65a..0000000000000000000000000000000000000000 --- a/template/en/default/reports/CVS/Entries +++ /dev/null @@ -1,24 +0,0 @@ -/chart.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_6_1 -/chart.html.tmpl/1.5/Wed Aug 27 02:32:26 2008//TBUGZILLA-3_6_1 -/chart.png.tmpl/1.6/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_6_1 -/components.html.tmpl/1.16/Sat Dec 12 21:48:13 2009//TBUGZILLA-3_6_1 -/create-chart.html.tmpl/1.19/Sun Oct 4 21:00:26 2009//TBUGZILLA-3_6_1 -/delete-series.html.tmpl/1.1/Sun Oct 4 21:00:26 2009//TBUGZILLA-3_6_1 -/duplicates-simple.html.tmpl/1.6.2.1/Thu Feb 4 22:01:32 2010//TBUGZILLA-3_6_1 -/duplicates-table.html.tmpl/1.17/Mon Feb 1 23:57:10 2010//TBUGZILLA-3_6_1 -/duplicates.html.tmpl/1.20/Mon Feb 1 23:57:10 2010//TBUGZILLA-3_6_1 -/edit-series.html.tmpl/1.8/Mon Oct 5 09:49:30 2009//TBUGZILLA-3_6_1 -/keywords.html.tmpl/1.10/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_6_1 -/menu.html.tmpl/1.10.2.2/Wed Feb 24 15:16:23 2010//TBUGZILLA-3_6_1 -/old-charts.html.tmpl/1.3/Sun Nov 11 22:03:19 2007//TBUGZILLA-3_6_1 -/report-bar.png.tmpl/1.10/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_6_1 -/report-line.png.tmpl/1.11/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_6_1 -/report-pie.png.tmpl/1.9/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_6_1 -/report-simple.html.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_6_1 -/report-table.csv.tmpl/1.14/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_6_1 -/report-table.html.tmpl/1.19/Wed Nov 18 07:05:01 2009//TBUGZILLA-3_6_1 -/report.csv.tmpl/1.3/Mon Aug 20 18:25:06 2007//TBUGZILLA-3_6_1 -/report.html.tmpl/1.16/Thu Jan 29 21:22:37 2009//TBUGZILLA-3_6_1 -/series-common.html.tmpl/1.6/Wed Aug 19 14:46:55 2009//TBUGZILLA-3_6_1 -/series.html.tmpl/1.10/Mon Mar 31 08:51:06 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/reports/CVS/Repository b/template/en/default/reports/CVS/Repository deleted file mode 100644 index 8992c85911f65d02190ca1181fdbd5497fbc703d..0000000000000000000000000000000000000000 --- a/template/en/default/reports/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/reports diff --git a/template/en/default/reports/CVS/Root b/template/en/default/reports/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/reports/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/reports/CVS/Tag b/template/en/default/reports/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/reports/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/reports/components.html.tmpl b/template/en/default/reports/components.html.tmpl index 35f656a5a83b03e15dc5e185830ca5bfe9fe1507..2b7d1516e0bb404167bfe9b74a3a0c7184de30f7 100644 --- a/template/en/default/reports/components.html.tmpl +++ b/template/en/default/reports/components.html.tmpl @@ -80,10 +80,9 @@ [%############################################################################%] [% BLOCK describe_comp %] - <tr> + <tr id="[% comp.name FILTER html %]"> <td rowspan="2" class="component_name"> - <a name="[% comp.name FILTER html %]" - href="buglist.cgi?product= + <a href="buglist.cgi?product= [%- product.name FILTER url_quote %]&component= [%- comp.name FILTER url_quote %]&resolution=---"> [% comp.name FILTER html %]</a> diff --git a/template/en/default/reports/duplicates.html.tmpl b/template/en/default/reports/duplicates.html.tmpl index 6b49a23c6a2bec816707747fdfbedf26023d6435..ff1c271fe7343c6c38418c42322238132c044c6e 100644 --- a/template/en/default/reports/duplicates.html.tmpl +++ b/template/en/default/reports/duplicates.html.tmpl @@ -58,7 +58,7 @@ [% bug_ids_string = bug_ids.join(',') %] -<h3><a name="params">Change Parameters</a></h3> +<h3 id="params">Change Parameters</h3> <form method="get" action="duplicates.cgi"> <input type="hidden" name="sortby" value="[% sortby FILTER html %]"> @@ -136,9 +136,9 @@ <hr> -<b> - <a name="explanation">What are "Most Frequently Reported [% terms.Bugs %]"?</a> -</b> +<h3 id="explanation"> + What are "Most Frequently Reported [% terms.Bugs %]"? +</h3> <p> The Most Frequent [% terms.Bugs %] page lists the known open diff --git a/template/en/default/reports/keywords.html.tmpl b/template/en/default/reports/keywords.html.tmpl index 10e6573b85034e60c5458c7aada52ca4939e3e0b..d6fe034253dad334a2a20f817c6ea6bc1e8ef149 100644 --- a/template/en/default/reports/keywords.html.tmpl +++ b/template/en/default/reports/keywords.html.tmpl @@ -49,10 +49,9 @@ </tr> [% END %] - <tr> + <tr id="[% keyword.name FILTER html %]"> <th> - <a name="[% keyword.name FILTER html %]"> - [% keyword.name FILTER html %]</a> + [% keyword.name FILTER html %] </th> <td>[% keyword.description FILTER html_light %]</td> <td align="center"> diff --git a/template/en/default/request/CVS/Entries b/template/en/default/request/CVS/Entries deleted file mode 100644 index b9dbec6da5bcad6a353a479ed882877a1890691c..0000000000000000000000000000000000000000 --- a/template/en/default/request/CVS/Entries +++ /dev/null @@ -1,3 +0,0 @@ -/email.txt.tmpl/1.23/Thu Sep 3 19:05:33 2009//TBUGZILLA-3_6_1 -/queue.html.tmpl/1.24.2.1/Tue Mar 30 22:07:01 2010//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/request/CVS/Repository b/template/en/default/request/CVS/Repository deleted file mode 100644 index b6058f90b83d5b3ea1535e33354001e9d7ab1810..0000000000000000000000000000000000000000 --- a/template/en/default/request/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/request diff --git a/template/en/default/request/CVS/Root b/template/en/default/request/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/request/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/request/CVS/Tag b/template/en/default/request/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/request/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/request/queue.html.tmpl b/template/en/default/request/queue.html.tmpl index 967bb417c6784b416f2ade5fe8eca5e8ca621368..8a36ab554fae0b2bef84969f8a083b9ebb7c4c43 100644 --- a/template/en/default/request/queue.html.tmpl +++ b/template/en/default/request/queue.html.tmpl @@ -31,6 +31,7 @@ " onload="var f = document.request_form; selectProduct(f.product, f.component, null, null, 'Any');" javascript_urls=["js/productform.js"] + style_urls = ['skins/standard/buglist.css'] %] <script type="text/javascript"> @@ -214,7 +215,8 @@ to some group are shown by default. [% END %] [% BLOCK display_bug %] - <a href="show_bug.cgi?id=[% request.bug_id %]"> + <a href="show_bug.cgi?id=[% request.bug_id %]" + [%- ' class="bz_secure"' IF request.restricted %]> [% request.bug_id %]: [%+ request.bug_summary FILTER html %]</a> [% END %] diff --git a/template/en/default/search/CVS/Entries b/template/en/default/search/CVS/Entries deleted file mode 100644 index 07ff999603c949cd4a54a532106b9f3ce924806e..0000000000000000000000000000000000000000 --- a/template/en/default/search/CVS/Entries +++ /dev/null @@ -1,14 +0,0 @@ -/boolean-charts.html.tmpl/1.19.4.1/Mon Mar 29 21:32:58 2010//TBUGZILLA-3_6_1 -/form.html.tmpl/1.67.2.1/Mon Feb 8 00:19:54 2010//TBUGZILLA-3_6_1 -/knob.html.tmpl/1.22/Tue Jul 14 03:59:58 2009//TBUGZILLA-3_6_1 -/search-advanced.html.tmpl/1.33/Thu Sep 11 22:09:21 2008//TBUGZILLA-3_6_1 -/search-create-series.html.tmpl/1.14/Sun Nov 11 22:03:21 2007//TBUGZILLA-3_6_1 -/search-help.html.tmpl/1.11/Tue Oct 27 16:55:35 2009//TBUGZILLA-3_6_1 -/search-plugin.xml.tmpl/1.5/Tue Dec 16 22:39:42 2008//TBUGZILLA-3_6_1 -/search-report-graph.html.tmpl/1.13/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_6_1 -/search-report-select.html.tmpl/1.8/Sat Jan 3 01:08:28 2009//TBUGZILLA-3_6_1 -/search-report-table.html.tmpl/1.14/Tue Aug 12 07:58:07 2008//TBUGZILLA-3_6_1 -/search-specific.html.tmpl/1.25/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_6_1 -/tabs.html.tmpl/1.8/Mon Jul 20 04:17:44 2009//TBUGZILLA-3_6_1 -/type-select.html.tmpl/1.2/Sat Dec 6 21:12:51 2008//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/search/CVS/Repository b/template/en/default/search/CVS/Repository deleted file mode 100644 index 13f16b4a00b82d2bdc6f3f369a943761f583b717..0000000000000000000000000000000000000000 --- a/template/en/default/search/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/search diff --git a/template/en/default/search/CVS/Root b/template/en/default/search/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/search/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/search/CVS/Tag b/template/en/default/search/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/search/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/search/boolean-charts.html.tmpl b/template/en/default/search/boolean-charts.html.tmpl index 1b79a45948568d63b00338b3f5a8cc96dd43fc23..404e77f07f03ced229eddba7e3cb92e690341c28 100644 --- a/template/en/default/search/boolean-charts.html.tmpl +++ b/template/en/default/search/boolean-charts.html.tmpl @@ -34,7 +34,9 @@ "regexp", "notregexp", "lessthan", + "lessthaneq", "greaterthan", + "greaterthaneq", "anywords", "allwords", "nowords", @@ -47,11 +49,11 @@ "notmatches", ] %] - <p> - <strong> - <a name="chart">Advanced Searching Using Boolean Charts</a>: - </strong> - </p> + <h3 id="chart"> + Custom Search <span class="section_help">Didn't find what + you're looking for above? This area allows for ANDs, ORs + and other more complex searches.</span> + </h3> [%# Whoever wrote the original version of boolean charts had a seriously twisted mind %] @@ -87,9 +89,8 @@ [% INCLUDE "search/type-select.html.tmpl" name = "type${chartnum}-${rownum}-${colnum}", types = types, selected = col.type %] - <input name="[% "value${chartnum}-${rownum}-${colnum}" %]" - value="[% col.value FILTER html %]"> + value="[% col.value FILTER html %]"> </td> [% UNLESS loop.last %] diff --git a/template/en/default/search/field.html.tmpl b/template/en/default/search/field.html.tmpl new file mode 100644 index 0000000000000000000000000000000000000000..50a2f0c066cd95e0ae435586937c014f8c6550ad --- /dev/null +++ b/template/en/default/search/field.html.tmpl @@ -0,0 +1,117 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Guy Pyrzak + # Portions created by the Initial Developer are Copyright (C) 2010 the + # Initial Developer. All Rights Reserved. + # + # Contributor(s): Guy Pyrzak <guy.pyrzak@gmail.com> + # + #%] +[%# INTERFACE: + # field: a Bugzilla::Field object + # value: the value or values that should be used to prepopulate the field + # accesskey: the access key used to access the field more quickly + # onchange: js to run when the change event fires on the field + # type_selected: used by the free text to indicate which type of text + # search was selected for a particular field + #%] + +[% SWITCH field.type %] + [% CASE [ constants.FIELD_TYPE_FREETEXT, + constants.FIELD_TYPE_TEXTAREA, + constants.FIELD_TYPE_UNKNOWN ] %] + [% INCLUDE "bug/field-label.html.tmpl" + field = field + tag_name = "span" + editable = 1 + %] + + [% INCLUDE "search/type-select.html.tmpl" + name = field.name _ "_type", + types = types, + selected = type_selected %] + + <input name="[% field.name FILTER html %]" + id="[% field.name FILTER html %]" size="40" + [% IF onchange %] onchange="[% onchange FILTER html %]"[% END %] + value="[% value FILTER html %]"> + [% CASE constants.FIELD_TYPE_DATETIME %] + [% INCLUDE "bug/field-label.html.tmpl" + field = field + tag_name = "span" + editable = 1 + %] + from <input name="[% field.name FILTER html %]from" + id="[% field.name FILTER html %]" + size="10" maxlength="10" + value="[% value.0 FILTER html %]" + onchange="updateCalendarFromField(this);[% onchange FILTER html %]"> + <button type="button" class="calendar_button" + id="button_calendar_[% field.name FILTER html %]" + onclick="showCalendar('[% field.name FILTER js %]')"> + <span>Calendar</span> + </button> + <div id="con_calendar_[% field.name FILTER html %]"></div> + to <input name="[% field.name FILTER html %]to" + id="[% field.name FILTER html %]to" size="10" maxlength="10" + value="[% value.1 FILTER html %]" + onchange="updateCalendarFromField(this);[% onchange FILTER html %]"> + <button type="button" class="calendar_button" + id="button_calendar_[% field.name FILTER html %]to" + onclick="showCalendar('[% field.name FILTER js %]to')"> + <span>Calendar</span> + </button> + <small>(YYYY-MM-DD or relative dates)</small> + + <div id="con_calendar_[% field.name FILTER html %]to"></div> + <script type="text/javascript"> + createCalendar('[% field.name FILTER js %]'); + createCalendar('[% field.name FILTER js %]to'); + </script> + [% CASE [ constants.FIELD_TYPE_SINGLE_SELECT, + constants.FIELD_TYPE_MULTI_SELECT ] %] + <div id="container_[% field.name FILTER html %]" class="search_field_grid"> + [% INCLUDE "bug/field-label.html.tmpl" + field = field + editable = 1 + tag_name = "span" + %] + <select name="[% field.name FILTER html%]" + id="[% field.name FILTER html %]" + [% IF onchange %] onchange="[% onchange FILTER html %]"[% END %] + multiple="multiple" size="7"> + [% legal_values = ${field.name} %] + [% IF field.name == "component" %] + [% legal_values = ${"component_"} %] + [% END %] + [% FOREACH current_value = legal_values %] + [% IF current_value.id %] + [%# current_value is a hash instead of a value which + only applies for Resolution really, everywhere else current_value + is just the value %] + [% v = current_value.name OR '---' -%] + <option value="[% v FILTER html %]" + [% ' selected="selected"' IF value.contains( v ) %]> + [% display_value(field.name, current_value.name) FILTER html %] + </option> + [% ELSE %] + <option value="[% current_value OR '---' FILTER html %]" + [% ' selected="selected"' IF value.contains( current_value ) %]> + [% display_value(field.name, current_value) FILTER html %] + </option> + [% END %] + [% END %] + </select> + </div> + [% END %] + \ No newline at end of file diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl index 2e2ae73d6651f85a9692628a20fe5cc795c73866..c2dfee4f7e8512a0f75c2ec16ee33f13af5298e7 100644 --- a/template/en/default/search/form.html.tmpl +++ b/template/en/default/search/form.html.tmpl @@ -18,6 +18,7 @@ # Contributor(s): Chris Lahey <clahey@ximian.com> [javascript fixes] # Christian Reis <kiko@async.com.br> [javascript rewrite] # Gervase Markham <gerv@gerv.net> + # Guy Pyrzak <guy.pyrzak@gmail.com> #%] [% PROCESS "global/field-descs.none.tmpl" %] @@ -103,6 +104,17 @@ function doOnSelectProduct(selectmode) { } } +// Hide the Advanced Fields by default, unless the user has a cookie +// that specifies otherwise. +// ▸ and ▾ are both utf8 escaped characters for right +// and down facing arrows respectivly. +TUI_alternates['history_query'] = '►'; +TUI_alternates['people_query'] = '►'; +TUI_alternates['information_query'] = '►'; + +TUI_hide_default('history_query'); +TUI_hide_default('people_query'); +TUI_hide_default('information_query'); </script> [% query_types = [ @@ -122,389 +134,203 @@ function doOnSelectProduct(selectmode) { [%# *** Summary *** %] -<table> - <tr> - <th align="right"> - <label for="short_desc" accesskey="s"><u>S</u>ummary</label>: - </th> - <td> - [% INCLUDE "search/type-select.html.tmpl" - name = "short_desc_type", - types = query_types, selected = default.short_desc_type.0 %] - </td> - <td> - <input name="short_desc" id="short_desc" size="40" - value="[% default.short_desc.0 FILTER html %]"> + <div class="search_field_row" id="summary_field"> + [% INCLUDE "search/field.html.tmpl" + field = bug_fields.short_desc + types = query_types + value = default.short_desc.0 + type_selected = default.short_desc_type.0 + accesskey = "s" + %] <script type="text/javascript"> <!-- document.forms[queryform].short_desc.focus(); // --> </script> - </td> - <td> + [% IF button_name %] <input type="submit" id="[% button_name FILTER css_class_quote %]_top" value="[% button_name FILTER html %]"> [% END %] - </td> - </tr> + </div> -[%# *** Classification Product Component Version Target *** %] - <tr> - <td colspan="4"> - <table> - <tr> - [% Hook.process('before_selects_top') %] - [% IF Param('useclassification') %] - <td valign="top"> - <table> - <tr valign="bottom"> - <th align="left"> - <label for="classification">Classification</label>: - </th> - </tr> - <tr valign="top"> - <td align="left"> - <select name="classification" multiple="multiple" size="5" id="classification" - onchange="doOnSelectProduct(1);"> - [% FOREACH cat = classification %] - <option value="[% cat.name FILTER html %]" - [% " selected" IF lsearch(default.classification, cat.name) != -1 %]> - [% cat.name FILTER html %] - </option> - [% END %] - </select> - </td> - </tr> - </table> - </td> - [% END %] - <td valign="top"> - <table> - <tr valign="bottom"> - <th align="left"> - <label for="product" accesskey="p"><u>P</u>roduct</label>: - </th> - </tr> - <tr valign="top"> - [%# Can't use the select block here because of the onChange %] - <td align="left"> - <select name="product" multiple="multiple" size="5" id="product" - onchange="doOnSelectProduct(2);"> - [% FOREACH p = product %] - [% IF p.components.size %] - <option value="[% p.name FILTER html %]" - [% " selected" IF lsearch(default.product, p.name) != -1 %]> - [% p.name FILTER html %]</option> - [% END %] - [% END %] - </select> - </td> - </tr> - </table> - </td> - <td valign="top"> - <table> - <tr valign="bottom"> - <th align="left"> - <label for="component" accesskey="m"><a href="describecomponents.cgi">Co<u>m</u>ponent</a></label>: - </th> - </tr> - <tr valign="top"> - [%# Can't use the select block here because 'component' is a toolkit - reserved word - we use 'component_' instead. %] - <td align="left"> - <select name="component" id="component" - multiple="multiple" size="5"> - [% FOREACH c = component_ %] - <option value="[% c FILTER html %]" - [% " selected" IF lsearch(default.component, c) != -1 %]> - [% c FILTER html %]</option> - [% END %] - </select> - </td> - </tr> - </table> - </td> - <td valign="top"> - <table> - <tr valign="bottom"> - <th align="left"> - <label for="version">Version</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'version', - size => 5 } %] - </tr> - </table> - </td> - [% IF Param('usetargetmilestone') %] - <td valign="top"> - <table> - <tr valign="bottom"> - <th align="left"> - <label for="target_milestone">Target</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'target_milestone', - size => 5 } %] - </tr> - </table> - </td> - [% END %] - [% Hook.process('after_selects_top') %] - </tr> - </table> - </td> - </tr> +[%# *** Classification Product Component *** %] + +[% Hook.process('before_selects_top') %] +[% IF Param('useclassification') %] + [% fake_classfication = { name => bug_fields.classification.name, + type => constants.FIELD_TYPE_SINGLE_SELECT } %] + [% INCLUDE "search/field.html.tmpl" + field => fake_classfication + accesskey => "c" + onchange => "doOnSelectProduct(1);" + value => default.classification + %] +[% END %] +[% INCLUDE "search/field.html.tmpl" + field => bug_fields.product + accesskey => "p" + onchange => "doOnSelectProduct(2);" + value => default.product +%] +[% INCLUDE "search/field.html.tmpl" + field => bug_fields.component + accesskey => "m" + onchange => "doOnSelectProduct(2);" + value => default.component +%] +[% INCLUDE "search/field.html.tmpl" + field => bug_fields.bug_status + accesskey => "a" + value => default.bug_status +%] +[% INCLUDE "search/field.html.tmpl" + field => bug_fields.resolution + accesskey => "r" + value => default.resolution +%] + +[% Hook.process('after_selects_top') %] + +<div id="detailed_information" class="bz_section_title"> + <div id="information_query_controller" class="arrow">▼</div> + <a href="javascript:TUI_toggle_class('information_query')"> + Detailed [% terms.Bug %] Information + </a> + <span class="section_help">Narrow results by the following fields: + [%+ field_descs.longdesc FILTER html %]s, [%+ field_descs.bug_file_loc FILTER html %], + [% IF Param('usestatuswhiteboard') %] [%+ field_descs.status_whiteboard FILTER html %], [%+ END %] + [% IF use_keywords %] [%+ field_descs.keywords FILTER html %], [%+ END %] + [% IF user.is_timetracker %] [%+ field_descs.deadline FILTER html %], [%+ END %] + [% terms.Bug %] Numbers, [%+ field_descs.version FILTER html %], + [% IF Param('usetargetmilestone') %] [%+ field_descs.target_milestone FILTER html %], [%+ END %] + [% field_descs.bug_severity FILTER html %], [%+ field_descs.priority FILTER html %], [%+ field_descs.rep_platform FILTER html %], + [%+ field_descs.op_sys FILTER html %] + </span> +</div> [%# *** Comment URL Whiteboard Keywords *** %] - +<div id="detailed_information_section" class="bz_search_section information_query"> [% SET freetext_fields = [ - { name => "longdesc", description => "A <u>C</u>omment", - accesskey => 'c' }, - { name => "bug_file_loc", description => "The <u>U</u>RL", - accesskey => 'u' }, - { name => "status_whiteboard", description => "<u>W</u>hiteboard", - accesskey => 'w' } + { field => bug_fields.longdesc, accesskey => 'c' }, + { field => bug_fields.bug_file_loc, accesskey => 'u' }, + { field => bug_fields.status_whiteboard, accesskey => 'w' }, + { field => bug_fields.keywords, accesskey => 'k', + qtypes => ['allwords', 'anywords', 'nowords', 'regexp', 'notregexp'] } ] %] - [% Hook.process('before_freetext_fields') %] - [% FOREACH field = freetext_fields %] - [% NEXT IF field.name == 'status_whiteboard' + + [%# loop through a bunch of free text fields and print out their text stuff %] + [% FOREACH field_container = freetext_fields %] + [% NEXT IF field_container.field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %] - <tr> - <th align="right"> - <label for="[% field.name %]" - accesskey="[% field.accesskey %]">[% field.description %]</label>: - </th> - <td> - [% type = field.name _ "_type" %] - [% INCLUDE "search/type-select.html.tmpl" - name = type, - types = query_types, selected = default.$type.0 %] - </td> - <td><input name="[% field.name %]" id="[% field.name %]" size="40" - value="[% default.${field.name}.0 FILTER html %]"> - </td> - <td></td> - </tr> - [% END %] - - [% IF use_keywords %] - <tr> - <th align="right"> - <label for="keywords" accesskey="k"><a href="describekeywords.cgi"><u>K</u>eywords</a></label>: - </th> - <td> - [% INCLUDE "search/type-select.html.tmpl" - name = "keywords_type", - types = ['allwords', 'anywords', 'nowords', 'regexp', 'notregexp'], - selected = default.keywords_type.0 %] - </td> - <td> - <input name="keywords" id="keywords" size="40" - value="[% default.keywords.0 FILTER html %]"> - </td> - </tr> + [% NEXT IF field_container.field.name == 'keywords' + AND NOT use_keywords + %] + <div class="search_field_row"> + [% type = field_container.field.name _ "_type" %] + [% INCLUDE "search/field.html.tmpl" + field => field_container.field + types => field_container.qtypes || query_types + accesskey => field_container.accesskey + value => default.${field_container.field.name}.0 + type_selected => default.$type.0 + %] + </div> [% END %] [%# Deadline %] [% IF user.is_timetracker %] - <tr> - <th align="right"> - <label for="deadlinefrom" accesskey="l">Dead<u>l</u>ine</label>: - </th> - <td> - from <input name="deadlinefrom" id="deadlinefrom" size="10" maxlength="10" - value="[% default.deadlinefrom.0 FILTER html %]"> - to <input name="deadlineto" size="10" maxlength="10" - value="[% default.deadlineto.0 FILTER html %]"> - </td> - <td> - <small>(YYYY-MM-DD or relative dates)</small> - </td> - </tr> + <div class="search_field_row"> + [% INCLUDE "search/field.html.tmpl" + field = bug_fields.deadline + accesskey = "l" + value = [ default.deadlinefrom.0, default.deadlineto.0 ] + %] + </div> [% END %] + <div class="search_field_row"> + <label for="bug_id">[% terms.Bugs %] numbered</label> + <div id="bug_id_container" > + <input type="text" name="bug_id" id="bug_id" + value="[% default.bug_id.0 FILTER html %]" size="20"> + <div class="field_help">(comma-separated list)</div> + </div> + should be + <select name="bug_id_type"> + <option value="anyexact"[% " selected" IF default.bug_id_type.0 == "anyexact" %]>only included in</option> + <option value="nowords"[% " selected" IF default.bug_id_type.0 == "nowords" %]>excluded from</option> + </select> the results + </div> + [% Hook.process('after_freetext_fields') %] -</table> - -<hr> - -[%# *** Status Resolution Severity Priority Hardware OS *** %] - -<table> - <tr> + [%# *** Status Resolution Severity Priority Hardware OS *** %] + <div> [% Hook.process('before_selects_bottom') %] - <td> - <table> - <tr> - <th align="left"> - <label for="bug_status" accesskey="a">St<u>a</u>tus</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'bug_status', - size => 7 } %] - </tr> - </table> - </td> - <td> - <table> - <tr> - <th align="left"> - <label for="resolution" accesskey="r"><u>R</u>esolution</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'resolution', - size => 7 } %] - </tr> - </table> - </td> - <td> - <table> - <tr> - <th align="left"> - <label for="bug_severity">Severity</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'bug_severity', - size => 7 }%] - </tr> - </table> - </td> - <td> - <table> - <tr> - <th align="left"> - <label for="priority" accesskey="i">Pr<u>i</u>ority</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'priority', - size => 7 } %] - </tr> - </table> - </td> - <td> - <table> - <tr> - <th align="left"> - <label for="rep_platform" accesskey="h"><u>H</u>ardware</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'rep_platform', - size => 7 } %] - </tr> - </table> - </td> - <td> - <table> - <tr> - <th align="left"> - <label for="op_sys" accesskey="o"><u>O</u>S</label>: - </th> - </tr> - <tr valign="top"> - [% PROCESS select sel = { name => 'op_sys', - size => 7 } %] - </tr> - </table> - </td> + [% fake_version_field = { name => bug_fields.version.name, + type => constants.FIELD_TYPE_SINGLE_SELECT }%] + [% INCLUDE "search/field.html.tmpl" + field => fake_version_field + value => default.version + %] + [% IF Param('usetargetmilestone') %] + [% fake_target_milestone_field = { name => bug_fields.target_milestone.name , + type => constants.FIELD_TYPE_SINGLE_SELECT } %] + [% INCLUDE "search/field.html.tmpl" + field => fake_target_milestone_field + value => default.target_milestone + %] + [% END %] + [% INCLUDE "search/field.html.tmpl" + field => bug_fields.bug_severity + accesskey=> "v" + value => default.bug_severity + %] + [% INCLUDE "search/field.html.tmpl" + field => bug_fields.priority + accesskey => "i" + value => default.priority + %] + [% INCLUDE "search/field.html.tmpl" + field => bug_fields.rep_platform + accesskey =>"h" + value => default.rep_platform + %] + [% INCLUDE "search/field.html.tmpl" + field => bug_fields.op_sys + accesskey =>"o" + value => default.op_sys + %] [% Hook.process('after_selects_bottom') %] - </tr> -</table> - -[%# *** Email Numbering Votes *** %] - -<table> - <tr> - <td> - <fieldset> - <legend> - <strong> - [% IF Param('usevotes') %] - Email Addresses, [% terms.Bug %] Numbers, and Votes - [% ELSE %] - Email Addresses and [% terms.Bug %] Numbers - [% END %] - </strong> - </legend> - - -<table> - <tr> - [% FOREACH n = [1, 2] %] - <td> - - -<table cellspacing="0" cellpadding="0"> - <tr> - <td> + </div> +</div> +[%# *** Email Numbering *** %] + <div class="bz_section_title" id="people_filter"> + <div id="people_query_controller" class="arrow">▼</div> + <a href="javascript:TUI_toggle_class('people_query')">Search By People</a> + <span>Narrow results to a role (ie. [% field_descs.assigned_to FILTER html %], + [% field_descs.reporter FILTER html %], [% field_descs.commenter FILTER html %], + etc.) a person has on [% terms.abug %] + </span> + </div> + <div id="people_filter_section" class="bz_search_section people_query"> + [% FOREACH n = [1, 2, 3] %] + <div class="search_email_fields"> Any of: - </td> - </tr> - <tr> - <td> - <input type="checkbox" name="emailassigned_to[% n %]" - id="emailassigned_to[% n %]" value="1" - [% " checked" IF default.emailassigned_to.$n %]> - <label for="emailassigned_to[% n %]"> - the [% terms.bug %] assignee - </label> - </td> - </tr> - <tr> - <td> - <input type="checkbox" name="emailreporter[% n %]" - id="emailreporter[% n %]" value="1" - [% " checked" IF default.emailreporter.$n %]> - <label for="emailreporter[% n %]"> - the reporter - </label> - </td> - </tr> - [% IF Param('useqacontact') %] - <tr> - <td> - <input type="checkbox" name="emailqa_contact[% n %]" - id="emailqa_contact[% n %]" value="1" - [% " checked" IF default.emailqa_contact.$n %]> - <label for="emailqa_contact[% n %]"> - the QA contact - </label> - </td> - </tr> - [% END %] - <tr> - <td> - <input type="checkbox" name="emailcc[% n %]" - id="emailcc[% n %]" value="1" - [% " checked" IF default.emailcc.$n %]> - <label for="emailcc[% n %]"> - a CC list member - </label> - </td> - </tr> - <tr> - <td> - <input type="checkbox" name="emaillongdesc[% n %]" - id="emaillongdesc[% n %]" value="1" - [% " checked" IF default.emaillongdesc.$n %]> - <label for="emaillongdesc[% n %]"> - a commenter - </label> - </td> - </tr> - <tr> - <td> + [% PROCESS role_types field = { count => n, name => "emailassigned_to", + label=> "the ${terms.Bug} ${field_descs.assigned_to}" } %] + [% PROCESS role_types field = { count => n, name => "emailreporter", + label=> "the ${field_descs.reporter}" } %] + [% IF Param('useqacontact') %] + [% PROCESS role_types field = { count => n, name => "emailqa_contact", + label=> "the ${field_descs.qa_contact}" } %] + [% END %] + [% PROCESS role_types field = { count => n, name => "emailcc", + label=> "a ${field_descs.cc} list member" } %] + [% PROCESS role_types field = { count => n, name => "emaillongdesc", + label=> " a ${field_descs.commenter}" } %] <select name="emailtype[% n %]"> [% FOREACH qv = [ { name => "substring", description => "contains" }, @@ -512,132 +338,75 @@ function doOnSelectProduct(selectmode) { { name => "notequals", description => "is not" }, { name => "regexp", description => "matches regexp" }, { name => "notregexp", description => "doesn't match regexp" } ] %] - <option value="[% qv.name %]" [% " selected" IF default.emailtype.$n == qv.name %]>[% qv.description %]</option> [% END %] </select> - </td> - </tr> - <tr> - <td> - <input name="email[% n %]" size="25" value="[% default.email.$n FILTER html %]"> - </td> - </tr> -</table> - - - </td> - [% END %] - </tr> -</table> -<hr> -<table> - <tr> - <td> - <select name="bug_id_type"> - <option value="anyexact"[% " selected" IF default.bug_id_type.0 == "anyexact" %]>Only include</option> - <option value="nowords"[% " selected" IF default.bug_id_type.0 == "nowords" %]>Exclude</option> - </select> - <label for="bug_id">[% terms.bugs %] numbered</label>: - </td> - <td> - <input type="text" name="bug_id" id="bug_id" - value="[% default.bug_id.0 FILTER html %]" size="20"> - </td> - </tr> - <tr> - <td></td> - <td>(comma-separated list)</td> - </tr> - [% IF Param('usevotes') %] - <tr> - <td align="right"> - <label for="votes">Only [% terms.bugs %] with at least</label>: - </td> - <td> - <input name="votes" id="votes" size="3" - value="[% default.votes.0 FILTER html %]"> - votes - </td> - </tr> + <input name="email[% n %]" class="email" id="email[% n %]" value="[% default.email.$n FILTER html %]"> + </div> [% END %] -</table> - - - </fieldset> - </td> - + [% Hook.process('email_numbering_end') %] + </div> [%# *** Bug Changes *** %] - - <td valign="top"> - <fieldset> - <legend><strong>[% terms.Bug %] Changes</strong></legend> - - -<dl class="bug_changes"> - <dt> - <label for="chfieldfrom">Only [% terms.bugs %] changed between</label>: - </dt> - <dd> - <input name="chfieldfrom" id="chfieldfrom" - size="10" value="[% default.chfieldfrom.0 FILTER html %]"> - and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]"> - <br>(YYYY-MM-DD or relative dates) - </dd> - <dt> - <label for="chfield">where one or more of the following changed</label>: - </dt> - <dd> +<div class="bz_section_title" id="history_filter"> + <div id="history_query_controller" class="arrow">▼</div> + <a href="javascript:TUI_toggle_class('history_query')" >Search By Change History</a> + <span>Narrow results to how fields have changed during a specific time period</span> +</div> +<ul class="bug_changes bz_search_section history_query" id="history_filter_section" > + <li> + <label for="chfield">where ANY of the fields:</label> [%# Create array, so we can sort it by description #%] [% chfields = [] %] [% FOREACH field = chfield %] [% chfields.push({value => field, desc => (field_descs.$field || field) }) %] [% END %] - <select name="chfield" id="chfield" multiple="multiple" size="4"> [% FOREACH field = chfields.sort('desc') %] <option value="[% field.value FILTER html %]" - [% " selected" IF lsearch(default.chfield, field.value) != -1 %]> + [% " selected" IF default.chfield.contains(field.value) %]> [% field.desc FILTER html %]</option> [% END %] </select> - </dd> - <dt>and <label for="chfieldvalue">the new value was</label>:</dt> - <dd> + </li> + <li> + <label for="chfieldvalue">[% search_descs.changedto FILTER html %]:</label> <input name="chfieldvalue" id="chfieldvalue" size="20" value="[% default.chfieldvalue.0 FILTER html %]"> - </dd> -</dl> - - </fieldset> - </td> - </tr> -</table> + </li> + <li> + <label for="chfieldfrom">Between:</label> + <input name="chfieldfrom" id="chfieldfrom" size="10" + value="[% default.chfieldfrom.0 FILTER html %]" onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_chfieldfrom" + onclick="showCalendar('chfieldfrom')"><span>Calendar</span></button> + and + <div id="con_calendar_chfieldfrom"></div> + <input name="chfieldto" size="10" id="chfieldto" + value="[% default.chfieldto.0 FILTER html %]" onchange="updateCalendarFromField(this)"> + <button type="button" class="calendar_button" + id="button_calendar_chfieldto" + onclick="showCalendar('chfieldto')"><span>Calendar</span></button> + <div id="con_calendar_chfieldto"></div> + (YYYY-MM-DD or relative dates) + <script type="text/javascript"> + createCalendar('chfieldfrom'); + createCalendar('chfieldto'); + </script> + </li> +</ul> [%############################################################################%] -[%# Block for SELECT fields #%] +[%# Block for email role type use to select which email to search through #%] [%############################################################################%] - -[% BLOCK select %] - <td align="left"> - <select name="[% sel.name %]" id="[% sel.name %]" - multiple="multiple" size="[% sel.size %]"> - [% FOREACH value = ${sel.name} %] - [% IF value.id %] - [%# This only applies for Resolution really %] - [% v = value.name OR '---' -%] - <option value="[% v FILTER html %]" - [% " selected" IF lsearch(default.${sel.name}, v) != -1 %]> - [% display_value(sel.name, value.name) FILTER html %] - </option> - [% ELSE %] - <option value="[% value OR '---' FILTER html %]" - [% " selected" IF lsearch(default.${sel.name}, value) != -1 %]> - [% display_value(sel.name, value) FILTER html %] - </option> - [% END %] - [% END %] - </select> - </td> +[% BLOCK role_types %] + <div class="role_type"> + <input type="checkbox" name="[% field.name _ field.count FILTER html %]" + id="[% field.name _ field.count FILTER html %]" value="1" + [% " checked" IF default.${field.name}.${field.count} %]> + <label for="[% field.name _ field.count FILTER html%]"> + [% field.label FILTER html%] + </label> + </div> [% END %] diff --git a/template/en/default/search/search-advanced.html.tmpl b/template/en/default/search/search-advanced.html.tmpl index cb0519a817b599ef5786fdcf95be7b4310136fc1..1e0cc9251de637ffe5d1ed4a4ec5ddc17a920fa6 100644 --- a/template/en/default/search/search-advanced.html.tmpl +++ b/template/en/default/search/search-advanced.html.tmpl @@ -38,8 +38,10 @@ var queryform = "queryform" title = "Search for $terms.bugs" onload = "doOnSelectProduct(0); enableHelp();" javascript = js_data - javascript_urls = [ "js/productform.js" "js/util.js" "js/help.js" ] - style_urls = [ "skins/standard/help.css" ] + yui = [ 'calendar' ] + javascript_urls = [ "js/productform.js", "js/util.js", + "js/help.js" , "js/TUI.js", "js/field.js"] + style_urls = [ "skins/standard/help.css" , "skins/standard/search_form.css" ] doc_section = "query.html" style = "dl.bug_changes dt { margin-top: 15px; @@ -55,7 +57,7 @@ var queryform = "queryform" [% IF NOT cgi.param("help") %] document.write("<p><a href='query.cgi?help=1&format=advanced'>Give me some help<\/a> (reloads page).<\/p>"); [% ELSE %] - [% PROCESS "search/search-help.html.tmpl" %] + [% PROCESS "bug/field-help.none.tmpl" %] if (generateHelp()) document.write("<p>For help, mouse over the page elements.<\/p>"); else diff --git a/template/en/default/search/search-create-series.html.tmpl b/template/en/default/search/search-create-series.html.tmpl index da1011e10c39f015ec117471c3eecb09e405ab1a..460a518a790de316510c83d964c42a2042b5f42f 100644 --- a/template/en/default/search/search-create-series.html.tmpl +++ b/template/en/default/search/search-create-series.html.tmpl @@ -33,8 +33,10 @@ [% PROCESS global/header.html.tmpl title = "Create New Data Set" onload = "doOnSelectProduct(0);" + yui = [ 'calendar' ] javascript = js_data - javascript_urls = [ "js/productform.js" ] + javascript_urls = [ "js/productform.js", "js/TUI.js", "js/field.js" ] + style_urls = [ "skins/standard/search_form.css" ] doc_section = "reporting.html#charts-new-series" %] diff --git a/template/en/default/search/search-help.html.tmpl b/template/en/default/search/search-help.html.tmpl deleted file mode 100644 index 12e82ba5e4bca5a77e6d8b5ce42f51af15e9b28f..0000000000000000000000000000000000000000 --- a/template/en/default/search/search-help.html.tmpl +++ /dev/null @@ -1,107 +0,0 @@ -[%# The contents of this file are subject to the Mozilla Public - # License Version 1.1 (the "License"); you may not use this file - # except in compliance with the License. You may obtain a copy of - # the License at http://www.mozilla.org/MPL/ - # - # Software distributed under the License is distributed on an "AS - # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - # implied. See the License for the specific language governing - # rights and limitations under the License. - # - # The Original Code is the Bugzilla Bug Tracking System. - # - # The Initial Developer of the Original Code is Netscape Communications - # Corporation. Portions created by Netscape are - # Copyright (C) 1998 Netscape Communications Corporation. All - # Rights Reserved. - # - # Contributor(s): Gervase Markham <gerv@gerv.net> - #%] - -[% help_html = [ -{ id => "short_desc_type", - html => "The type of summary search you would like" }, -{ id => "short_desc", - html => "The $terms.bug summary is a short sentence which succinctly - describes <br> what the $terms.bug is about." }, -{ id => "classification", - html => "$terms.Bugs are categorised into Classifications, Products and Components. classifications is the<br> - top-level categorisation." }, -{ id => "product", - html => Param('useclassification') ? - "$terms.Bugs are categorised into Products and Components. Select a Classification to narrow down this list" : - "$terms.Bugs are categorised into Products and Components. Product is - the<br>top-level categorisation." }, -{ id => "component", - html => "Components are second-level categories; each belongs to a<br> - particular Product. Select a Product to narrow down this list." }, -{ id => "version", - html => "The version field defines the version of the software the - $terms.bug<br>was found in." }, -{ id => "target_milestone", - html => "The target_milestone field is used to define when the engineer<br> - the $terms.bug is assigned to expects to fix it." }, -{ id => "longdesc", - html => "$terms.Bugs have comments added to them by $terms.Bugzilla users. - You can<br>search for some text in those comments." }, -{ id => "longdesc_type", - html => "The type of comment search you would like" }, -{ id => "bug_file_loc", - html => "$terms.Bugs can have a URL associated with them - for example, a - pointer<br>to a web site where the problem is seen." }, -{ id => "bug_file_loc_type", - html => "The type of URL search you would like" }, -{ id => "status_whiteboard", - html => "Each $terms.bug has a free-form single line text entry box for - adding<br>tags and status information." }, -{ id => "status_whiteboard_type", - html => "The type of whiteboard search you would like" }, -{ id => "keywords", - html => "You can add keywords from a defined list to $terms.bugs, in order - to<br>tag and group them." }, -{ id => "keywords_type", - html => "The type of keyword search you would like" }, -{ id => "bug_status", - html => "$terms.Abug may be in any of a number of states." }, -{ id => "resolution", - html => "If $terms.abug is in a resolved state, then one of these reasons - will<br>be given for its resolution." }, -{ id => "bug_severity", - html => "How severe the $terms.bug is, or whether it's an enhancement." }, -{ id => "priority", - html => "Engineers prioritize their $terms.bugs using this field." }, -{ id => "rep_platform", - html => "The hardware platform the $terms.bug was observed on." }, -{ id => "op_sys", - html => "The operating system the $terms.bug was observed on." }, -{ id => "email1", - html => "Every $terms.bug has people associated with it in different - roles.<br>Here, you can search on what people are in what role." }, -{ id => "email2", - html => "Every $terms.bug has people associated with it in different - roles.<br>Here, you can search on what people are in what role." }, -{ id => "bug_id", - html => "You can limit your search to a specific set of $terms.bugs ." }, -{ id => "votes", - html => "Some $terms.bugs can be voted for, and you can limit your search to - $terms.bugs<br>with more than a certain number of votes." }, -{ id => "chfield", - html => "You can search for specific types of change - this field define <br> - which field you are interested in changes for." }, -{ id => "chfieldfrom", - html => "Specify the start and end dates either in YYYY-MM-DD format<br> - (optionally followed by HH:mm, in 24 hour clock), or in relative<br> - dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour,<br> - two days, three weeks, four months, or five years ago. 0d is last<br> - midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week,<br> - month, or year." }, -{ id => "chfieldto", - html => "Specify the start and end dates either in YYYY-MM-DD format<br> - (optionally followed by HH:mm, in 24 hour clock), or in relative<br> - dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour,<br> - two days, three weeks, four months, or five years ago. 0d is last<br> - midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week,<br> - month, or year." }, -{ id => "chfieldvalue", - html => "The value the field defined above changed to during that time." }, -] %] diff --git a/template/en/default/search/search-report-graph.html.tmpl b/template/en/default/search/search-report-graph.html.tmpl index 61dd3b5df6bcca77e12e6087f970125203eb815f..34dccb6fdf17413731d5a538d6da8d91dad93ebe 100644 --- a/template/en/default/search/search-report-graph.html.tmpl +++ b/template/en/default/search/search-report-graph.html.tmpl @@ -32,8 +32,10 @@ var queryform = "reportform" [% PROCESS global/header.html.tmpl title = "Generate Graphical Report" onload = "doOnSelectProduct(0); chartTypeChanged()" + yui = [ 'calendar' ] javascript = js_data - javascript_urls = [ "js/productform.js" ] + javascript_urls = [ "js/productform.js", "js/TUI.js", "js/field.js" ] + style_urls = [ "skins/standard/search_form.css" ] doc_section = "reporting.html#reports" %] diff --git a/template/en/default/search/search-report-select.html.tmpl b/template/en/default/search/search-report-select.html.tmpl index de647871634d4d641e641f6208169628afa3c681..2ad7792487f36a176a15d9ab1c314f63af98da62 100644 --- a/template/en/default/search/search-report-select.html.tmpl +++ b/template/en/default/search/search-report-select.html.tmpl @@ -29,7 +29,8 @@ [% rep_fields = ["classification", "product", "component", "version", "rep_platform", "op_sys", "bug_status", "resolution", "bug_severity", "priority", "target_milestone", "assigned_to", - "reporter", "qa_contact", "votes" ] %] + "reporter", "qa_contact" ] %] + [% Hook.process('rep_fields', 'search/search-report-select.html.tmpl') %] <select name="[% name FILTER html %]"> <option value=""><none></option> @@ -38,7 +39,6 @@ [% NEXT IF field == "classification" AND !Param('useclassification') %] [% NEXT IF field == "target_milestone" AND !Param('usetargetmilestone') %] [% NEXT IF field == "qa_contact" AND !Param('useqacontact') %] - [% NEXT IF field == "votes" AND !Param('usevotes') %] <option value="[% field FILTER html %]" [% " selected" IF default.$name.0 == field %]> [% field_descs.$field || field FILTER html %]</option> diff --git a/template/en/default/search/search-report-table.html.tmpl b/template/en/default/search/search-report-table.html.tmpl index 55d62a1409845fab30b4e48bc36be486b7afe578..8947d193ba24bdef355f1ad1bfa56b33234c08d7 100644 --- a/template/en/default/search/search-report-table.html.tmpl +++ b/template/en/default/search/search-report-table.html.tmpl @@ -32,8 +32,10 @@ var queryform = "reportform" [% PROCESS global/header.html.tmpl title = "Generate Tabular Report" onload = "doOnSelectProduct(0)" + yui = [ 'calendar' ] javascript = js_data - javascript_urls = [ "js/productform.js" ] + javascript_urls = [ "js/productform.js", "js/TUI.js", "js/field.js" ] + style_urls = [ "skins/standard/search_form.css" ] doc_section = "reporting.html#reports" %] diff --git a/template/en/default/setup/CVS/Entries b/template/en/default/setup/CVS/Entries deleted file mode 100644 index 62c3892a2e5740f595123c5fc077fbbe760cfff3..0000000000000000000000000000000000000000 --- a/template/en/default/setup/CVS/Entries +++ /dev/null @@ -1,2 +0,0 @@ -/strings.txt.pl/1.18/Tue Nov 24 06:09:55 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/setup/CVS/Repository b/template/en/default/setup/CVS/Repository deleted file mode 100644 index 767a39c31971c0430f7f613bb59eda9a0fed5d02..0000000000000000000000000000000000000000 --- a/template/en/default/setup/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/setup diff --git a/template/en/default/setup/CVS/Root b/template/en/default/setup/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/setup/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/setup/CVS/Tag b/template/en/default/setup/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/setup/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/setup/strings.txt.pl b/template/en/default/setup/strings.txt.pl index eec0bd90eb4c55065970403d9d3aea4569a64129..20c5627c95e05a52625432cea023962e389f7e76 100644 --- a/template/en/default/setup/strings.txt.pl +++ b/template/en/default/setup/strings.txt.pl @@ -57,6 +57,7 @@ END feature_inbound_email => 'Inbound Email', feature_jobqueue => 'Mail Queueing', feature_jsonrpc => 'JSON-RPC Interface', + feature_jsonrpc_faster => 'Make JSON-RPC Faster', feature_new_charts => 'New Charts', feature_old_charts => 'Old Charts', feature_mod_perl => 'mod_perl', diff --git a/template/en/default/sidebar.xul.tmpl b/template/en/default/sidebar.xul.tmpl index 3df943e5cef783f114ffa8561dafcc2acb759d40..b2fa092ea5ec685cd80db73af7ff45c6e1f51cd5 100644 --- a/template/en/default/sidebar.xul.tmpl +++ b/template/en/default/sidebar.xul.tmpl @@ -105,9 +105,6 @@ function normal_keypress_handler( aEvent ) { [% filtered_username = user.login FILTER url_quote %] <text class="text-link" onclick="load_relative_url('[% Param('mybugstemplate').replace('%userid%', filtered_username) FILTER js FILTER html %]')" value="my [% terms.bugs %]"/> [%- END %] - [%- IF Param('usevotes') %] - <text class="text-link" onclick="load_relative_url('votes.cgi?action=show_user')" value="my votes"/> - [%- END %] [%- FOREACH q = user.queries %] <text class="text-link" onclick="load_relative_url('buglist.cgi?cmdtype=runnamed&namedcmd=[% q.name FILTER url_quote %]')" value="[% q.name FILTER html %]"/> diff --git a/template/en/default/whine/CVS/Entries b/template/en/default/whine/CVS/Entries deleted file mode 100644 index 63a4a0b156b05685b932e6a4e89c6603f326f00a..0000000000000000000000000000000000000000 --- a/template/en/default/whine/CVS/Entries +++ /dev/null @@ -1,5 +0,0 @@ -/mail.html.tmpl/1.10/Mon Dec 28 00:58:49 2009//TBUGZILLA-3_6_1 -/mail.txt.tmpl/1.10/Mon Dec 28 00:58:49 2009//TBUGZILLA-3_6_1 -/multipart-mime.txt.tmpl/1.7/Tue Apr 7 02:29:36 2009//TBUGZILLA-3_6_1 -/schedule.html.tmpl/1.14/Mon Apr 6 20:57:26 2009//TBUGZILLA-3_6_1 -D diff --git a/template/en/default/whine/CVS/Repository b/template/en/default/whine/CVS/Repository deleted file mode 100644 index 022c4a4955ff6ace9a7c450e81c1161aa61a44a8..0000000000000000000000000000000000000000 --- a/template/en/default/whine/CVS/Repository +++ /dev/null @@ -1 +0,0 @@ -mozilla/webtools/bugzilla/template/en/default/whine diff --git a/template/en/default/whine/CVS/Root b/template/en/default/whine/CVS/Root deleted file mode 100644 index cdb6f4a0739a0dc53e628026726036377dec3637..0000000000000000000000000000000000000000 --- a/template/en/default/whine/CVS/Root +++ /dev/null @@ -1 +0,0 @@ -:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot diff --git a/template/en/default/whine/CVS/Tag b/template/en/default/whine/CVS/Tag deleted file mode 100644 index dc6fb6f60199cd66fcfe1097f4f177a11dff4cfa..0000000000000000000000000000000000000000 --- a/template/en/default/whine/CVS/Tag +++ /dev/null @@ -1 +0,0 @@ -NBUGZILLA-3_6_1 diff --git a/template/en/default/whine/mail.html.tmpl b/template/en/default/whine/mail.html.tmpl index a4f0edeefef86b0138c80b505dcf19174b3a5aa5..ae4f00cfc4332d7b7d946a649d91efccd227a430 100644 --- a/template/en/default/whine/mail.html.tmpl +++ b/template/en/default/whine/mail.html.tmpl @@ -53,39 +53,42 @@ [% END %] </p> +[% IF queries.size %] + [% FOREACH query=queries %] -[% FOREACH query=queries %] + <h2>[%+ query.title FILTER html %]</h2> - <h2>[%+ query.title FILTER html %]</h2> - - <table width="100%"> - <tr> - <th align="left">ID</th> - <th align="left">Sev</th> - <th align="left">Pri</th> - <th align="left">Plt</th> - <th align="left">Assignee</th> - <th align="left">Status</th> - <th align="left">Resolution</th> - <th align="left">Summary</th> - </tr> - - [% FOREACH bug=query.bugs %] + <table width="100%"> <tr> - <td align="left"><a href="[%+ urlbase FILTER html %]show_bug.cgi?id= - [%- bug.bug_id %]">[% bug.bug_id %]</a></td> - <td align="left">[% display_value("bug_severity", bug.bug_severity) FILTER html %]</td> - <td align="left">[% display_value("priority", bug.priority) FILTER html %]</td> - <td align="left">[% display_value("rep_platform", bug.rep_platform) FILTER html %]</td> - <td align="left">[% bug.assigned_to FILTER html %]</td> - <td align="left">[% display_value("bug_status", bug.bug_status) FILTER html %]</td> - <td align="left">[% display_value("resolution", bug.resolution) FILTER html %]</td> - <td align="left">[% bug.short_desc FILTER html %]</td> + <th align="left">ID</th> + <th align="left">Sev</th> + <th align="left">Pri</th> + <th align="left">Plt</th> + <th align="left">Assignee</th> + <th align="left">Status</th> + <th align="left">Resolution</th> + <th align="left">Summary</th> </tr> - [% END %] - </table> -[% END %] + [% FOREACH bug=query.bugs %] + <tr> + <td align="left"><a href="[%+ urlbase FILTER html %]show_bug.cgi?id= + [%- bug.bug_id %]">[% bug.bug_id %]</a></td> + <td align="left">[% display_value("bug_severity", bug.bug_severity) FILTER html %]</td> + <td align="left">[% display_value("priority", bug.priority) FILTER html %]</td> + <td align="left">[% display_value("rep_platform", bug.rep_platform) FILTER html %]</td> + <td align="left">[% bug.assigned_to FILTER html %]</td> + <td align="left">[% display_value("bug_status", bug.bug_status) FILTER html %]</td> + <td align="left">[% display_value("resolution", bug.resolution) FILTER html %]</td> + <td align="left">[% bug.short_desc FILTER html %]</td> + </tr> + [% END %] + </table> + [% END %] +[% ELSE %] + + <h3>No [% terms.bugs %] were found that matched the search criteria.</h3> +[% END %] </body> </html> diff --git a/template/en/default/whine/mail.txt.tmpl b/template/en/default/whine/mail.txt.tmpl index 862ae26711bd9f6fa7fd17e6a75b20267d2c6774..13216d895e8ccb96184128304e956d2090b52ac0 100644 --- a/template/en/default/whine/mail.txt.tmpl +++ b/template/en/default/whine/mail.txt.tmpl @@ -40,13 +40,13 @@ This search was scheduled by [% author.login %]. [% END %] - -[% FOREACH query=queries %] +[% IF queries.size %] + [% FOREACH query=queries %] [%+ query.title +%] [%+ "-" FILTER repeat(query.title.length) %] - [% FOREACH bug=query.bugs %] + [% FOREACH bug=query.bugs %] [% terms.Bug +%] [%+ bug.bug_id %]: [%+ urlbase %]show_bug.cgi?id=[% bug.bug_id +%] Priority: [%+ display_value("priority", bug.priority) -%] @@ -55,11 +55,14 @@ Assignee: [%+ bug.assigned_to %] Status: [%+ display_value("bug_status", bug.bug_status) %] [%- IF bug.resolution -%] Resolution: [% display_value("resolution", bug.resolution) -%] - [%- END %] + [%- END %] Summary: [% bug.short_desc %] - [% END %] + [% END %] -[% END %] + [% END %] +[% ELSE %] + No [% terms.bugs %] were found that matched the search criteria. +[% END %] diff --git a/token.cgi b/token.cgi index d4298cde78882d729bf6ab675ba254f3345c7958..56093038562799ea11a86c747f239fd27e8ca051 100755 --- a/token.cgi +++ b/token.cgi @@ -56,7 +56,7 @@ Bugzilla->login(LOGIN_OPTIONAL); # Throw an error if the form does not contain an "action" field specifying # what the user wants to do. -$action || ThrowCodeError("unknown_action"); +$action || ThrowUserError('unknown_action'); # If a token was submitted, make sure it is a valid token that exists in the # database and is the correct type for the action being taken. @@ -163,10 +163,7 @@ if ($action eq 'reqpw') { } elsif ($action eq 'cancel_new_account') { cancel_create_account($token); } else { - # If the action that the user wants to take (specified in the "a" form field) - # is none of the above listed actions, display an error telling the user - # that we do not understand what they would like to do. - ThrowCodeError("unknown_action", { action => $action }); + ThrowUserError('unknown_action', {action => $action}); } exit; diff --git a/userprefs.cgi b/userprefs.cgi index d844645da1a69c3520f051e415be4a60d4a75637..d15bcd13a8a05f6b030fcb529d39882a804efe13 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -27,6 +27,7 @@ use strict; use lib qw(. lib); use Bugzilla; +use Bugzilla::BugMail; use Bugzilla::Constants; use Bugzilla::Search; use Bugzilla::Util; @@ -218,21 +219,6 @@ sub DoEmail { @watchers = sort { lc($a) cmp lc($b) } @watchers; $vars->{'watchers'} = \@watchers; - - ########################################################################### - # Role-based preferences - ########################################################################### - my $sth = $dbh->prepare("SELECT relationship, event " . - "FROM email_setting " . - "WHERE user_id = ?"); - $sth->execute($user->id); - - my %mail; - while (my ($relationship, $event) = $sth->fetchrow_array()) { - $mail{$relationship}{$event} = 1; - } - - $vars->{'mail'} = \%mail; } sub SaveEmail { @@ -247,53 +233,64 @@ sub SaveEmail { ########################################################################### $dbh->bz_start_transaction(); - # Delete all the user's current preferences - $dbh->do("DELETE FROM email_setting WHERE user_id = ?", undef, $user->id); + my $sth_insert = $dbh->prepare('INSERT INTO email_setting + (user_id, relationship, event) VALUES (?, ?, ?)'); - # Repopulate the table - first, with normal events in the + my $sth_delete = $dbh->prepare('DELETE FROM email_setting + WHERE user_id = ? AND relationship = ? AND event = ?'); + # Load current email preferences into memory before updating them. + my $settings = $user->mail_settings; + + # Update the table - first, with normal events in the # relationship/event matrix. - # Note: the database holds only "off" email preferences, as can be implied - # from the name of the table - profiles_nomail. - foreach my $rel (RELATIONSHIPS) { + my %relationships = Bugzilla::BugMail::relationships(); + foreach my $rel (keys %relationships) { + next if ($rel == REL_QA && !Bugzilla->params->{'useqacontact'}); # Positive events: a ticked box means "send me mail." foreach my $event (POS_EVENTS) { - if (defined($cgi->param("email-$rel-$event")) - && $cgi->param("email-$rel-$event") == 1) - { - $dbh->do("INSERT INTO email_setting " . - "(user_id, relationship, event) " . - "VALUES (?, ?, ?)", - undef, ($user->id, $rel, $event)); + my $is_set = $cgi->param("email-$rel-$event"); + if ($is_set xor $settings->{$rel}{$event}) { + if ($is_set) { + $sth_insert->execute($user->id, $rel, $event); + } + else { + $sth_delete->execute($user->id, $rel, $event); + } } } # Negative events: a ticked box means "don't send me mail." foreach my $event (NEG_EVENTS) { - if (!defined($cgi->param("neg-email-$rel-$event")) || - $cgi->param("neg-email-$rel-$event") != 1) - { - $dbh->do("INSERT INTO email_setting " . - "(user_id, relationship, event) " . - "VALUES (?, ?, ?)", - undef, ($user->id, $rel, $event)); + my $is_set = $cgi->param("neg-email-$rel-$event"); + if (!$is_set xor $settings->{$rel}{$event}) { + if (!$is_set) { + $sth_insert->execute($user->id, $rel, $event); + } + else { + $sth_delete->execute($user->id, $rel, $event); + } } } } # Global positive events: a ticked box means "send me mail." foreach my $event (GLOBAL_EVENTS) { - if (defined($cgi->param("email-" . REL_ANY . "-$event")) - && $cgi->param("email-" . REL_ANY . "-$event") == 1) - { - $dbh->do("INSERT INTO email_setting " . - "(user_id, relationship, event) " . - "VALUES (?, ?, ?)", - undef, ($user->id, REL_ANY, $event)); + my $is_set = $cgi->param("email-" . REL_ANY . "-$event"); + if ($is_set xor $settings->{+REL_ANY}{$event}) { + if ($is_set) { + $sth_insert->execute($user->id, REL_ANY, $event); + } + else { + $sth_delete->execute($user->id, REL_ANY, $event); + } } } $dbh->bz_commit_transaction(); + # We have to clear the cache about email preferences. + delete $user->{'mail_settings'}; + ########################################################################### # User watching ########################################################################### diff --git a/votes.cgi b/votes.cgi index b77a7a4f38410fa7d7016169f275a04d3bc76358..04589d4bca413aff3a099a17bf1f67781b6c0e68 100755 --- a/votes.cgi +++ b/votes.cgi @@ -13,353 +13,36 @@ # # The Original Code is the Bugzilla Bug Tracking System. # -# The Initial Developer of the Original Code is Netscape Communications -# Corporation. Portions created by Netscape are -# Copyright (C) 1998 Netscape Communications Corporation. All -# Rights Reserved. +# The Initial Developer of the Original Code is Everything Solved, Inc. +# Portions created by the Initial Developer are Copyright (C) 2010 the +# Initial Developer. All Rights Reserved. # -# Contributor(s): Terry Weissman <terry@mozilla.org> -# Stephan Niemz <st.n@gmx.net> -# Christopher Aillon <christopher@aillon.com> -# Gervase Markham <gerv@gerv.net> -# Frédéric Buclin <LpSolit@gmail.com> +# Contributor(s): +# Max Kanat-Alexander <mkanat@bugzilla.org> + +# This script remains as a backwards-compatibility URL for before +# the time that Voting was an extension. use strict; use lib qw(. lib); - use Bugzilla; -use Bugzilla::Constants; -use Bugzilla::Util; -use Bugzilla::Error; -use Bugzilla::Bug; -use Bugzilla::BugMail; -use Bugzilla::User; -use Bugzilla::Product; - -use List::Util qw(min); my $cgi = Bugzilla->cgi; -local our $vars = {}; - -# If the action is show_bug, you need a bug_id. -# If the action is show_user, you can supply a userid to show the votes for -# another user, otherwise you see your own. -# If the action is vote, your votes are set to those encoded in the URL as -# <bug_id>=<votes>. -# -# If no action is defined, we default to show_bug if a bug_id is given, -# otherwise to show_user. -my $bug_id = $cgi->param('bug_id'); -my $action = $cgi->param('action') || ($bug_id ? "show_bug" : "show_user"); -if ($action eq "show_bug" || - ($action eq "show_user" && defined $cgi->param('user_id'))) -{ - Bugzilla->login(); -} -else { - Bugzilla->login(LOGIN_REQUIRED); -} - -################################################################################ -# Begin Data/Security Validation -################################################################################ - -# Make sure the bug ID is a positive integer representing an existing -# bug that the user is authorized to access. - -if (defined $bug_id) { - my $bug = Bugzilla::Bug->check($bug_id); - $bug_id = $bug->id; -} - -################################################################################ -# End Data/Security Validation -################################################################################ +my $to_url; +my $action = $cgi->param('action'); if ($action eq "show_bug") { - show_bug($bug_id); + $cgi->delete('action'); + $cgi->param('id', 'voting/bug.html'); } -elsif ($action eq "show_user") { - show_user($bug_id); -} -elsif ($action eq "vote") { - record_votes() if Bugzilla->params->{'usevotes'}; - show_user($bug_id); +elsif ($action eq "show_user" or $action eq 'vote') { + $cgi->delete('action') unless $action eq 'vote'; + $cgi->param('id', 'voting/user.html'); } else { - ThrowCodeError("unknown_action", {action => $action}); + ThrowUserError('unknown_action', {action => $action}); } +print $cgi->redirect('page.cgi?' . $cgi->query_string); exit; - -# Display the names of all the people voting for this one bug. -sub show_bug { - my ($bug_id) = @_; - my $cgi = Bugzilla->cgi; - my $dbh = Bugzilla->dbh; - my $template = Bugzilla->template; - - ThrowCodeError("missing_bug_id") unless defined $bug_id; - - $vars->{'bug_id'} = $bug_id; - $vars->{'users'} = - $dbh->selectall_arrayref('SELECT profiles.login_name, - profiles.userid AS id, - votes.vote_count - FROM votes - INNER JOIN profiles - ON profiles.userid = votes.who - WHERE votes.bug_id = ?', - {'Slice' => {}}, $bug_id); - - print $cgi->header(); - $template->process("bug/votes/list-for-bug.html.tmpl", $vars) - || ThrowTemplateError($template->error()); -} - -# Display all the votes for a particular user. If it's the user -# doing the viewing, give them the option to edit them too. -sub show_user { - my ($bug_id) = @_; - my $cgi = Bugzilla->cgi; - my $dbh = Bugzilla->dbh; - my $user = Bugzilla->user; - my $template = Bugzilla->template; - - # If a bug_id is given, and we're editing, we'll add it to the votes list. - $bug_id ||= ""; - - my $who_id = $cgi->param('user_id') || $user->id; - my $who = Bugzilla::User->check({ id => $who_id }); - - my $canedit = (Bugzilla->params->{'usevotes'} && $user->id == $who->id) - ? 1 : 0; - - $dbh->bz_start_transaction(); - - if ($canedit && $bug_id) { - # Make sure there is an entry for this bug - # in the vote table, just so that things display right. - my $has_votes = $dbh->selectrow_array('SELECT vote_count FROM votes - WHERE bug_id = ? AND who = ?', - undef, ($bug_id, $who->id)); - if (!$has_votes) { - $dbh->do('INSERT INTO votes (who, bug_id, vote_count) - VALUES (?, ?, 0)', undef, ($who->id, $bug_id)); - } - } - - my @all_bug_ids; - my @products; - my $products = $user->get_selectable_products; - # Read the votes data for this user for each product. - foreach my $product (@$products) { - next unless ($product->votes_per_user > 0); - - my @bugs; - my @bug_ids; - my $total = 0; - my $onevoteonly = 0; - - my $vote_list = - $dbh->selectall_arrayref('SELECT votes.bug_id, votes.vote_count, - bugs.short_desc - FROM votes - INNER JOIN bugs - ON votes.bug_id = bugs.bug_id - WHERE votes.who = ? - AND bugs.product_id = ? - ORDER BY votes.bug_id', - undef, ($who->id, $product->id)); - - foreach (@$vote_list) { - my ($id, $count, $summary) = @$_; - $total += $count; - - # Next if user can't see this bug. So, the totals will be correct - # and they can see there are votes 'missing', but not on what bug - # they are. This seems a reasonable compromise; the alternative is - # to lie in the totals. - next if !$user->can_see_bug($id); - - push (@bugs, { id => $id, - summary => $summary, - count => $count }); - push (@bug_ids, $id); - push (@all_bug_ids, $id); - } - - $onevoteonly = 1 if (min($product->votes_per_user, - $product->max_votes_per_bug) == 1); - - # Only add the product for display if there are any bugs in it. - if ($#bugs > -1) { - push (@products, { name => $product->name, - bugs => \@bugs, - bug_ids => \@bug_ids, - onevoteonly => $onevoteonly, - total => $total, - maxvotes => $product->votes_per_user, - maxperbug => $product->max_votes_per_bug }); - } - } - - $dbh->do('DELETE FROM votes WHERE vote_count <= 0'); - $dbh->bz_commit_transaction(); - - $vars->{'canedit'} = $canedit; - $vars->{'voting_user'} = { "login" => $who->name }; - $vars->{'products'} = \@products; - $vars->{'bug_id'} = $bug_id; - $vars->{'all_bug_ids'} = \@all_bug_ids; - - print $cgi->header(); - $template->process("bug/votes/list-for-user.html.tmpl", $vars) - || ThrowTemplateError($template->error()); -} - -# Update the user's votes in the database. -sub record_votes { - ############################################################################ - # Begin Data/Security Validation - ############################################################################ - - my $cgi = Bugzilla->cgi; - my $dbh = Bugzilla->dbh; - my $template = Bugzilla->template; - - # Build a list of bug IDs for which votes have been submitted. Votes - # are submitted in form fields in which the field names are the bug - # IDs and the field values are the number of votes. - - my @buglist = grep {/^[1-9][0-9]*$/} $cgi->param(); - - # If no bugs are in the buglist, let's make sure the user gets notified - # that their votes will get nuked if they continue. - if (scalar(@buglist) == 0) { - if (!defined $cgi->param('delete_all_votes')) { - print $cgi->header(); - $template->process("bug/votes/delete-all.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - exit(); - } - elsif ($cgi->param('delete_all_votes') == 0) { - print $cgi->redirect("votes.cgi"); - exit(); - } - } - - # Call check() on each bug ID to make sure it is a positive - # integer representing an existing bug that the user is authorized - # to access, and make sure the number of votes submitted is also - # a non-negative integer (a series of digits not preceded by a - # minus sign). - my %votes; - foreach my $id (@buglist) { - my $bug = Bugzilla::Bug->check($id); - $id = $bug->id; - $votes{$id} = $cgi->param($id); - detaint_natural($votes{$id}) - || ThrowUserError("votes_must_be_nonnegative"); - } - - ############################################################################ - # End Data/Security Validation - ############################################################################ - my $who = Bugzilla->user->id; - - # If the user is voting for bugs, make sure they aren't overstuffing - # the ballot box. - if (scalar(@buglist)) { - my %prodcount; - my %products; - # XXX - We really need a $bug->product() method. - foreach my $bug_id (@buglist) { - my $bug = new Bugzilla::Bug($bug_id); - my $prod = $bug->product; - $products{$prod} ||= new Bugzilla::Product({name => $prod}); - $prodcount{$prod} ||= 0; - $prodcount{$prod} += $votes{$bug_id}; - - # Make sure we haven't broken the votes-per-bug limit - ($votes{$bug_id} <= $products{$prod}->max_votes_per_bug) - || ThrowUserError("too_many_votes_for_bug", - {max => $products{$prod}->max_votes_per_bug, - product => $prod, - votes => $votes{$bug_id}}); - } - - # Make sure we haven't broken the votes-per-product limit - foreach my $prod (keys(%prodcount)) { - ($prodcount{$prod} <= $products{$prod}->votes_per_user) - || ThrowUserError("too_many_votes_for_product", - {max => $products{$prod}->votes_per_user, - product => $prod, - votes => $prodcount{$prod}}); - } - } - - # Update the user's votes in the database. If the user did not submit - # any votes, they may be using a form with checkboxes to remove all their - # votes (checkboxes are not submitted along with other form data when - # they are not checked, and Bugzilla uses them to represent single votes - # for products that only allow one vote per bug). In that case, we still - # need to clear the user's votes from the database. - my %affected; - $dbh->bz_start_transaction(); - - # Take note of, and delete the user's old votes from the database. - my $bug_list = $dbh->selectcol_arrayref('SELECT bug_id FROM votes - WHERE who = ?', undef, $who); - - foreach my $id (@$bug_list) { - $affected{$id} = 1; - } - $dbh->do('DELETE FROM votes WHERE who = ?', undef, $who); - - my $sth_insertVotes = $dbh->prepare('INSERT INTO votes (who, bug_id, vote_count) - VALUES (?, ?, ?)'); - # Insert the new values in their place - foreach my $id (@buglist) { - if ($votes{$id} > 0) { - $sth_insertVotes->execute($who, $id, $votes{$id}); - } - $affected{$id} = 1; - } - - # Update the cached values in the bugs table - print $cgi->header(); - my @updated_bugs = (); - - my $sth_getVotes = $dbh->prepare("SELECT SUM(vote_count) FROM votes - WHERE bug_id = ?"); - - my $sth_updateVotes = $dbh->prepare("UPDATE bugs SET votes = ? - WHERE bug_id = ?"); - - foreach my $id (keys %affected) { - $sth_getVotes->execute($id); - my $v = $sth_getVotes->fetchrow_array || 0; - $sth_updateVotes->execute($v, $id); - - my $confirmed = CheckIfVotedConfirmed($id); - push (@updated_bugs, $id) if $confirmed; - } - $dbh->bz_commit_transaction(); - - $vars->{'type'} = "votes"; - $vars->{'title_tag'} = 'change_votes'; - - foreach my $bug_id (@updated_bugs) { - $vars->{'id'} = $bug_id; - $vars->{'sent_bugmail'} = Bugzilla::BugMail::Send($bug_id, - { 'changer' => Bugzilla->user->login }); - - $template->process("bug/process/results.html.tmpl", $vars) - || ThrowTemplateError($template->error()); - # Set header_done to 1 only after the first bug. - $vars->{'header_done'} = 1; - } - $vars->{'votes_recorded'} = 1; -} diff --git a/whine.pl b/whine.pl index 10e9a5e13e0c39d4e71fa100a65ac8b99fc618d1..1f22b65fc4fffd9acd7c472e2b1abd14859e2bb4 100755 --- a/whine.pl +++ b/whine.pl @@ -395,7 +395,6 @@ sub mail { $template->process("whine/multipart-mime.txt.tmpl", $args, \$msg) or die($template->error()); - Bugzilla->template_inner(""); MessageToMTA($msg); delete $args->{'boundary'}; diff --git a/whineatnews.pl b/whineatnews.pl index df9006230c1468812e80c1c910b6347d4895ea70..7be485d29e75a3cea674ff8f783c4ce20be3db20 100755 --- a/whineatnews.pl +++ b/whineatnews.pl @@ -89,7 +89,6 @@ foreach my $email (sort (keys %bugs)) { $template->process("email/whine.txt.tmpl", $vars, \$msg) or die($template->error()); - Bugzilla->template_inner(""); MessageToMTA($msg); print "$email " . join(" ", @{$bugs{$email}}) . "\n";