From 600295485aacd8358d3b8364d1d68a4f95cf6e41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 3 Sep 2015 10:15:53 +0200 Subject: [PATCH 01/12] The file name update when a new content is uploaded #438 --- README.md | 2 +- .../dmsf_files/_file_new_revision.html.erb | 24 ++++++++++++------- init.rb | 2 +- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index cfba5218..dc5e2cfa 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Redmine DMSF Plugin =================== -The current version of Redmine DMSF is **1.5.3** [![Build Status](https://api.travis-ci.org/danmunn/redmine_dmsf.png)](https://travis-ci.org/danmunn/redmine_dmsf) +The current version of Redmine DMSF is **1.5.4** [![Build Status](https://api.travis-ci.org/danmunn/redmine_dmsf.png)](https://travis-ci.org/danmunn/redmine_dmsf) Redmine DMSF is Document Management System Features plugin for Redmine issue tracking system; It is aimed to replace current Redmine's Documents module. diff --git a/app/views/dmsf_files/_file_new_revision.html.erb b/app/views/dmsf_files/_file_new_revision.html.erb index 24442574..38a85d9e 100644 --- a/app/views/dmsf_files/_file_new_revision.html.erb +++ b/app/views/dmsf_files/_file_new_revision.html.erb @@ -77,13 +77,21 @@

<%= label_tag('file_upload', "#{l(:label_new_content)}:") %>

-
- <%= file_field_tag('file_upload') %> -
- - (<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>) - -
+ + <%= file_field_tag 'file_upload', + :id => nil, + :class => 'file_selector', + :multiple => false, + :onchange => "$('#dmsf_file_revision_name').val(this.value)", + :data => { + :max_file_size => Setting.attachment_max_size.to_i.kilobytes, + :max_file_size_message => l(:error_attachment_too_big, :max_size => number_to_human_size(Setting.attachment_max_size.to_i.kilobytes)), + :max_concurrent_uploads => 1, + :upload_path => uploads_path(:format => 'js') + } + %> + (<%= l(:label_max_size) %>: <%= number_to_human_size(Setting.attachment_max_size.to_i.kilobytes) %>) +
@@ -106,4 +114,4 @@
-<%= wikitoolbar_for 'dmsf_file_revision_description' %> +<%= wikitoolbar_for 'dmsf_file_revision_description' %> \ No newline at end of file diff --git a/init.rb b/init.rb index 30568748..79c48dcb 100644 --- a/init.rb +++ b/init.rb @@ -28,7 +28,7 @@ Redmine::Plugin.register :redmine_dmsf do name 'DMSF' author 'Vit Jonas / Daniel Munn / Karel Picman' description 'Document Management System Features' - version '1.5.3' + version '1.5.4' url 'http://www.redmine.org/plugins/dmsf' author_url 'https://github.com/danmunn/redmine_dmsf/graphs/contributors' From da945b027921712f71785f4912d3864304d4dad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Fri, 4 Sep 2015 13:25:59 +0200 Subject: [PATCH 02/12] The indexer synced with Xapian plugin --- extra/xapian_indexer.rb | 545 ++++++++++++++++++---------------------- 1 file changed, 251 insertions(+), 294 deletions(-) diff --git a/extra/xapian_indexer.rb b/extra/xapian_indexer.rb index 3a818790..cc945d0a 100644 --- a/extra/xapian_indexer.rb +++ b/extra/xapian_indexer.rb @@ -1,7 +1,25 @@ #!/usr/bin/ruby -W0 -# encoding: UTF-8 -# Copied from https://github.com/xelkano/redmine_xapian +# encoding: utf-8 +# +# Redmine Xapian is a Redmine plugin to allow attachments searches by content. +# +# Copyright (C) 2010 Xabier Elkano +# Copyright (C) 2015 Karel Pičman +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ################################################################################################ # BEGIN Configuration parameters @@ -9,19 +27,19 @@ ################################################################################################ # Redmine installation directory -$redmine_root = "/var/www/redmine" +$redmine_root = '/opt/redmine' -# DMSF document location $redmine_root/$dmsf_root -$dmsf_root = 'files/dmsf' +# Files location +$files = 'files' # scriptindex binary path -$scriptindex = "/usr/bin/scriptindex" +$scriptindex = '/usr/bin/scriptindex' # omindex binary path -$omindex = "/usr/bin/omindex" +$omindex = '/usr/bin/omindex' # Directory containing xapian databases for omindex (Attachments indexing) -$dbrootpath = "/var/tmp/dmsf-index" +$dbrootpath = '/var/tmp/omindex' # Verbose output, values of 0 no verbose, greater than 0 verbose output $verbose = 0 @@ -31,35 +49,33 @@ $verbose = 0 # Available languages are danish dutch english finnish french german german2 hungarian italian kraaij_pohlmann lovins norwegian porter portuguese romanian russian spanish swedish turkish: $stem_langs = ['english'] -#Project identifiers that will be indexed Ej [ 'prj_id1', 'prj_id2' ] -$projects = [ 'prj_id1', 'prj_id2' ] +# Project identifiers that will be indexed eg. [ 'prj_id1', 'prj_id2' ] +projects = [ 'prj_id1', 'prj_id2' ] # Temporary directory for indexing, it can be tmpfs -$tempdir = "/tmp" +$tempdir = '/tmp' # Binaries for text conversion -$pdftotext = "/usr/bin/pdftotext -enc UTF-8" -$antiword = "/usr/bin/antiword" -$catdoc = "/usr/bin/catdoc" -$xls2csv = "/usr/bin/xls2csv" -$catppt = "/usr/bin/catppt" -$unzip = "/usr/bin/unzip -o" -$unrtf = "/usr/bin/unrtf -t text 2>/dev/null" - +$pdftotext = '/usr/bin/pdftotext -enc UTF-8' +$antiword = '/usr/bin/antiword' +$catdoc = '/usr/bin/catdoc' +$xls2csv = '/usr/bin/xls2csv' +$catppt = '/usr/bin/catppt' +$unzip = '/usr/bin/unzip -o' +$unrtf = '/usr/bin/unrtf -t text 2>/dev/null' ################################################################################################ # END Configuration parameters ################################################################################################ -$environment = File.join($redmine_root, "config/environment.rb") -$project=nil -$databasepath=nil -$repositories=nil -$onlyfiles=nil -$onlyrepos=nil -$env='production' -$userch=nil -$resetlog=nil +$environment = File.join($redmine_root, 'config/environment.rb') +$project = nil +$databasepath = nil +$repositories = nil +$onlyfiles = nil +$onlyrepos = nil +$env = 'production' +$resetlog = nil MIME_TYPES = { 'application/pdf' => 'pdf', @@ -94,116 +110,96 @@ FORMAT_HANDLERS = { require 'optparse' - -VERSION = "0.1" -SUPPORTED_SCM = %w( Subversion Darcs Mercurial Bazaar Git Filesystem ) - +VERSION = '0.1' +SUPPORTED_SCM = %w(Subversion Darcs Mercurial Bazaar Git Filesystem) optparse = OptionParser.new do |opts| - opts.banner = "Usage: xapian_indexer.rb [OPTIONS...]" - opts.separator("") - opts.separator("Index redmine files and repositories") - opts.separator("") - #opts.on("-k", "--key KEY", "use KEY as the Redmine repository key") { |k| $key = k} - opts.separator("") - opts.separator("Options:") - opts.on("-p", "--projects a,b,c",Array, "Comma separated list of projects to index") { |p| $projects=p } - opts.on("-s", "--stemming_lang a,b,c",Array,"Comma separated list of stemming languages for indexing") { |s| $stem_langs=s } - #opts.on("-t", "--test", "only show what should be done") {$test = true} - #opts.on("-f", "--force", "force reindex") {$force = true} - opts.on("-v", "--verbose", "verbose") {$verbose += 1} - opts.on("-f", "--files", "Only index Redmine attachments") {$onlyfiles = 1} - opts.on("-r", "--repositories", "Only index Redmine repositories") {$onlyrepos = 1} - opts.on("-e", "--environment ENV", "Rails ENVIRONMENT (development, testing or production), default production") {|e| $env = e} - opts.on("-t", "--temp-dir PATH", "Temporary directory for indexing"){ |t| $tempdir = t } - #opts.on("-c", "--revision REV", "Use revision as base"){ |c| $userch = c } - opts.on("-x", "--resetlog", "Reset index log"){ $resetlog = 1 } - opts.on("-V", "--version", "show version and exit") {puts VERSION; exit} - opts.on("-h", "--help", "show help and exit") {puts opts; exit } - #opts.on("-q", "--quiet", "no log") {$quiet = true} - opts.separator("") - opts.separator("Examples:") - opts.separator(" xapian_indexer.rb -f -s english,italian -v") - opts.separator(" xapian_indexer.rb -p project_id -x -t /tmpfs -v") - opts.separator("") - + opts.banner = 'Usage: xapian_indexer.rb [OPTIONS...]' + opts.separator('') + opts.separator('Index redmine files and repositories') + opts.separator('') + opts.separator('') + opts.separator('Options:') + opts.on('-p', '--projects a,b,c', Array, 'Comma separated list of projects to index') { |p| projects = p } + opts.on('-s', '--stemming_lang a,b,c', Array,'Comma separated list of stemming languages for indexing') { |s| $stem_langs = s } + opts.on('-v', '--verbose', 'verbose') {$verbose += 1} + opts.on('-f', '--files', 'Only index Redmine attachments') { $onlyfiles = 1 } + opts.on('-r', '--repositories', 'Only index Redmine repositories') { $onlyrepos = 1 } + opts.on('-e', '--environment ENV', 'Rails ENVIRONMENT (development, testing or production), default production') { |e| $env = e} + opts.on('-t', '--temp-dir PATH', 'Temporary directory for indexing'){ |t| $tempdir = t } + opts.on('-x', '--resetlog', 'Reset index log'){ $resetlog = 1 } + opts.on('-V', '--version', 'show version and exit') { puts VERSION; exit} + opts.on('-h', '--help', 'show help and exit') { puts opts; exit } + opts.separator('') + opts.separator('Examples:') + opts.separator(' xapian_indexer.rb -f -s english,italian -v') + opts.separator(' xapian_indexer.rb -p project_id -x -t /tmpfs -v') + opts.separator('') opts.summary_width = 25 end + optparse.parse! ENV['RAILS_ENV'] = $env - STATUS_SUCCESS = 1 STATUS_FAIL = -1 ADD_OR_UPDATE = 1 DELETE = 0 - -MAIN_REPOSITORY_IDENTIFIER = 'main' - - class IndexingError < StandardError; end - -#@rwdb = Xapian::WritableDatabase.new(databasepath, Xapian::DB_CREATE_OR_OVERWRITE) +def repo_name(repository) + repository.identifier.blank? ? 'main' : repository.identifier +end - -def indexing(repository) - $repository=repository - Rails.logger.info("Fetch changesets: %s - %s" % [$project.name,(repository.identifier or MAIN_REPOSITORY_IDENTIFIER)]) - log("- Fetch changesets: #{$project.name} - #{$repository.identifier}", :level=>1) - $repository.fetch_changesets - $repository.reload.changesets.reload +def indexing(databasepath, project, repository) + Rails.logger.info("Fetch changesets: #{project.name} - #{repo_name(repository)}") + log("- Fetch changesets: #{project.name} - #{repo_name(repository)}", :level => 1) + repository.fetch_changesets + repository.reload.changesets.reload - latest_changeset = $repository.changesets.find(:first) - return if not latest_changeset + latest_changeset = repository.changesets.first + return if not latest_changeset - Rails.logger.debug("Latest revision: %s - %s - %s" % [ - $project.name, - ($repository.identifier or MAIN_REPOSITORY_IDENTIFIER), - latest_changeset.revision]) - #latest_indexed = Indexinglog.find_by_repository_id_and_status( repository.id, STATUS_SUCCESS, :first) - latest_indexed = Indexinglog.where("repository_id=#{$repository.id} AND status=#{STATUS_SUCCESS}").last - Rails.logger.debug "Debug latest_indexed " + latest_indexed.inspect + Rails.logger.debug("Latest revision: #{project.name} - #{repo_name(repository)} - #{latest_changeset.revision}") + latest_indexed = Indexinglog.where(:repository_id => repository.id, :status => STATUS_SUCCESS).last + Rails.logger.debug "Debug latest_indexed #{latest_indexed.inspect}" begin - $indexconf = Tempfile.new( "index.conf", $tempdir ) - $indexconf.write "url : field boolean=Q unique=Q\n" - $indexconf.write "body : index truncate=400 field=sample\n" - $indexconf.write "date: field=date\n" - $indexconf.close + indexconf = Tempfile.new('index.conf', $tempdir) + indexconf.write "url : field boolean=Q unique=Q\n" + indexconf.write "body : index truncate=400 field=sample\n" + indexconf.write "date: field=date\n" + indexconf.close if not latest_indexed - Rails.logger.debug "DEBUG: repo #{$repository.identifier} not indexed, indexing all" - log("\t>repo #{$repository.identifier} not indexed, indexing all", :level=>1) - indexing_all($repository) + Rails.logger.debug "Repository #{repo_name(repository)} not indexed, indexing all" + log("\t>repo #{repo_name(repository)} not indexed, indexing all", :level => 1) + indexing_all(databasepath, indexconf, project, repository) else - Rails.logger.debug "DEBUG: repo #{$repository.identifier} indexed, indexing diff" - log("\t>repo #{$repository.identifier} already indexed, indexing only diff", :level=>1) - indexing_diff($repository, latest_indexed.changeset, latest_changeset) + Rails.logger.debug "Repository #{repo_name(repository)} indexed, indexing diff" + log("\t>repo #{repo_name(repository)} already indexed, indexing only diff", :level => 1) + indexing_diff(databasepath, indexconf, project, repository, + latest_indexed.changeset, latest_changeset) end - $indexconf.unlink + indexconf.unlink rescue IndexingError => e - add_log($repository, latest_changeset, STATUS_FAIL, e.message) + add_log(repository, latest_changeset, STATUS_FAIL, e.message) else - add_log($repository, latest_changeset, STATUS_SUCCESS) - Rails.logger.info("Successfully indexed: %s - %s - %s" % [ - $project.name, - ($repository.identifier or MAIN_REPOSITORY_IDENTIFIER), - latest_changeset.revision]) + add_log(repository, latest_changeset, STATUS_SUCCESS) + Rails.logger.info("Successfully indexed: #{project.name} - #{repo_name(repository)} - #{latest_changeset.revision}") end end def supported_mime_type(entry) - mtype=Redmine::MimeType.of(entry) + mtype = Redmine::MimeType.of(entry) included = false - included = MIME_TYPES.include?(mtype) || mtype.split('/').first.eql?("text") unless mtype.nil? - #puts "Mtype for #{entry} is #{mtype} returning: #{included.inspect}" + included = MIME_TYPES.include?(mtype) || mtype.split('/').first.eql?('text') unless mtype.nil? return included end -def add_log(repository, changeset, status, message=nil) - log = Indexinglog.where("repository_id=#{repository.id}").last +def add_log(repository, changeset, status, message = nil) + log = Indexinglog.where(:repository_id => repository.id).last if not log log = Indexinglog.new log.repository = repository @@ -211,80 +207,71 @@ def add_log(repository, changeset, status, message=nil) log.status = status log.message = message if message log.save! - Rails.logger.info("New log for repo %s saved!"% [repository.identifier] ) - log("\t>New log for repo #{repository.identifier} saved!", :level=>1) + Rails.logger.info "New log for repo #{repo_name(repository)} saved!" + log("\t>New log for repo #{repo_name(repository)} saved!", :level => 1) else log.changeset_id=changeset.id log.status=status log.message = message if message log.save! - Rails.logger.info("Log for repo %s updated!"% [repository.identifier] ) - log("\t>Log for repo #{repository.identifier} updated!", :level=>1) + Rails.logger.info "Log for repo #{repo_name(repository)} updated!" + log("\t>Log for repo #{repo_name(repository)} updated!", :level => 1) end end -def update_log(repository, changeset, status, message=nil) - log = Indexinglog.where("repository_id=#{repository.id}").last +def update_log(repository, changeset, status, message = nil) + log = Indexinglog.where(:repository_id => repository.id).last if log - log.changeset_id=changeset.id - log.status=status if status + log.changeset_id = changeset.id + log.status = status if status log.message = message if message log.save! - Rails.logger.info("Log for repo %s updated!"% [repository.identifier] ) - log("\t>Log for repo #{repository.identifier} updated!", :level=>1) + Rails.logger.info("Log for repo #{repo_name(repository)} updated!") + log("\t>Log for repo #{repo_name(repository)} updated!", :level => 1) end end def delete_log(repository) - Indexinglog.delete_all("repository_id=#{repository.id}") - Rails.logger.info("Log for repo %s removed!"% [repository.identifier] ) - log("\t>Log for repo #{repository.identifier} removed!", :level=>1) + Indexinglog.delete_all(:repository_id => repository.id) + Rails.logger.info("Log for repo #{repo_name(repository)} removed!") + log("\t>Log for repo #{repo_name(repository)} removed!", :level => 1) end - -def indexing_all(repository) - def walk(repository, identifier, entries) - Rails.logger.debug "DEBUG: walk entries size: " + entries.size.inspect - return if entries.size < 1 - entries.each do |entry| - Rails.logger.debug "DEBUG: walking into: " + entry.lastrev.time.inspect - if entry.is_dir? - walk(repository, identifier, repository.entries(entry.path, identifier)) - elsif entry.is_file? - add_or_update_index(repository, identifier, entry.path, entry.lastrev, ADD_OR_UPDATE, MIME_TYPES[Redmine::MimeType.of(entry.path)] ) if supported_mime_type(entry.path) - #if !Redmine::MimeType.is_type?('text', entry.path) then - # mtype=Redmine::MimeType.of(entry.path) - # log("Non text entry #{mtype.inspect} #{entry.path}", :level=>1) - #end - end +def walk(databasepath, indexconf, project, repository, identifier, entries) + return if entries.nil? || entries.size < 1 + Rails.logger.debug "Walk entries size: #{entries.size}" + entries.each do |entry| + Rails.logger.debug "Walking into: #{entry.lastrev.time}" + if entry.is_dir? + walk(databasepath, indexconf, project, repository, identifier, repository.entries(entry.path, identifier)) + elsif entry.is_file? + add_or_update_index(databasepath, indexconf, project, repository, identifier, entry.path, + entry.lastrev, ADD_OR_UPDATE, MIME_TYPES[Redmine::MimeType.of(entry.path)]) if supported_mime_type(entry.path) end end +end - Rails.logger.info("Indexing all: %s" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER)]) +def indexing_all(databasepath, indexconf, project, repository) + Rails.logger.info "Indexing all: #{repo_name(repository)}" if repository.branches repository.branches.each do |branch| - Rails.logger.debug("Walking in branch: %s - %s" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER), branch]) - walk(repository, branch, repository.entries(nil, branch)) + Rails.logger.debug "Walking in branch: #{repo_name(repository)} - #{branch}" + walk(databasepath, indexconf, project, repository, branch, repository.entries(nil, branch)) end else - Rails.logger.debug("Walking in branch: %s - %s" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER), "[NOBRANCH]"]) - walk(repository, nil, repository.entries(nil, nil)) + Rails.logger.debug "Walking in branch: #{repo_name(repository)} - [NOBRANCH]" + walk(databasepath, indexconf, project, repository, nil, repository.entries(nil, nil)) end if repository.tags repository.tags.each do |tag| - Rails.logger.debug("Walking in tag: %s - %s" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER), tag]) - walk(repository, tag, repository.entries(nil, tag)) + Rails.logger.debug "Walking in tag: #{repo_name(repository)} - #{tag}" + walk(databasepath, indexconf, project, repository, tag, repository.entries(nil, tag)) end end end -def indexing_diff(repository, diff_from, diff_to) - def walk(repository, identifier, changesets) - Rails.logger.debug "DEBUG: walking into " + changesets.inspect +def walkin(databasepath, indexconf, project, repository, identifier, changesets) + Rails.logger.debug "Walking into #{changesets.inspect}" return if not changesets or changesets.size <= 0 changesets.sort! { |a, b| a.id <=> b.id } @@ -295,69 +282,60 @@ def indexing_diff(repository, diff_from, diff_to) # * R - Replaced # * D - Deleted changesets.each do |changeset| - Rails.logger.debug "DEBUG: changeset changes for #{changeset.id} " + changeset.filechanges.inspect + Rails.logger.debug "Changeset changes for #{changeset.id} #{changeset.filechanges.inspect}" next unless changeset.filechanges - changeset.filechanges.each do |change| - if change.action == 'D' - actions[change.path] = DELETE - #entry = repository.entry(change.path, identifier) - #add_or_update_index(repository, identifier, entry, DELETE ) - else - actions[change.path] = ADD_OR_UPDATE - #entry = repository.entry(change.path, identifier) - #add_or_update_index(repository, identifier, entry, ADD_OR_UPDATE ) - end + changeset.filechanges.each do |change| + actions[change.path] = (change.action == 'D') ? DELETE : ADD_OR_UPDATE end end return unless actions actions.each do |path, action| entry = repository.entry(path, identifier) - if (!entry.nil? and entry.is_file?) or action == DELETE - log("Error indexing path: #{path.inspect}, action: #{action.inspect}, identifier: #{identifier.inspect}", :level=>1) if entry.nil? and action != DELETE - Rails.logger.debug "DEBUG: entry to index " + entry.inspect - lastrev=nil - lastrev=entry.lastrev unless entry.nil? - add_or_update_index(repository, identifier, path, lastrev, action, MIME_TYPES[Redmine::MimeType.of(path)] ) if supported_mime_type(path) or action == DELETE + if ((!entry.nil? && entry.is_file?) || action == DELETE) + log("Error indexing path: #{path.inspect}, action: #{action.inspect}, identifier: #{identifier.inspect}", + :level => 1) if (entry.nil? && action != DELETE) + Rails.logger.debug "Entry to index #{entry.inspect}" + lastrev = entry.lastrev unless entry.nil? + add_or_update_index(databasepath, indexconf, project, repository, + identifier, path, lastrev, action, MIME_TYPES[Redmine::MimeType.of(path)]) if(supported_mime_type(path) || action == DELETE) end end end +def indexing_diff(databasepath, indexconf, project, repository, diff_from, diff_to) if diff_from.id >= diff_to.id - Rails.logger.info("Already indexed: %s (from: %s to %s)" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER),diff_from.id, diff_to.id]) - log("\t>Already indexed: #{repository.identifier} (from #{diff_from.id} to #{diff_to.id})", :level=>1) + Rails.logger.info "Already indexed: #{repo_name(repository)} (from: #{diff_from.id} to #{diff_to.id})" + log("\t>Already indexed: #{repo_name(repository)} (from #{diff_from.id} to #{diff_to.id})", :level => 1) return end - Rails.logger.info("Indexing diff: %s (from: %s to %s)" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER),diff_from.id, diff_to.id]) - Rails.logger.info("Indexing all: %s" % [ - (repository.identifier or MAIN_REPOSITORY_IDENTIFIER)]) + Rails.logger.info "Indexing diff: #{repo_name(repository)} (from: #{diff_from.id} to #{diff_to.id})" + Rails.logger.info "Indexing all: #{repo_name(repository)}" + if repository.branches - repository.branches.each do |branch| - Rails.logger.debug("Walking in branch: %s - %s" % [(repository.identifier or MAIN_REPOSITORY_IDENTIFIER), branch]) - walk(repository, branch, repository.latest_changesets("", branch, diff_to.id - diff_from.id)\ - .select { |changeset| changeset.id > diff_from.id and changeset.id <= diff_to.id}) - + repository.branches.each do |branch| + Rails.logger.debug "Walking in branch: #{repo_name(repository)} - #{branch}" + walkin(databasepath, indexconf, project, repository, branch, repository.latest_changesets('', branch, diff_to.id - diff_from.id).select { |changeset| + changeset.id > diff_from.id and changeset.id <= diff_to.id}) end else - Rails.logger.debug("Walking in branch: %s - %s" % [(repository.identifier or MAIN_REPOSITORY_IDENTIFIER), "[NOBRANCH]"]) - walk(repository, nil, repository.latest_changesets("", nil, diff_to.id - diff_from.id)\ - .select { |changeset| changeset.id > diff_from.id and changeset.id <= diff_to.id}) + Rails.logger.debug "Walking in branch: #{repo_name(repository)} - [NOBRANCH]" + walkin(databasepath, indexconf, project, repository, nil, repository.latest_changesets('', nil, diff_to.id - diff_from.id).select { |changeset| + changeset.id > diff_from.id and changeset.id <= diff_to.id}) end if repository.tags - repository.tags.each do |tag| - Rails.logger.debug("Walking in tag: %s - %s" % [(repository.identifier or MAIN_REPOSITORY_IDENTIFIER), tag]) - walk(repository, tag, repository.latest_changesets("", tag, diff_to.id - diff_from.id)\ - .select { |changeset| changeset.id > diff_from.id and changeset.id <= diff_to.id}) - end + repository.tags.each do |tag| + Rails.logger.debug "Walking in tag: #{repo_name(repository)} - #{tag}" + walkin(databasepath, indexconf, project, repository, tag, repository.latest_changesets('', tag, diff_to.id - diff_from.id).select { |changeset| + changeset.id > diff_from.id and changeset.id <= diff_to.id}) + end end end -def generate_uri(repository, identifier, path) +def generate_uri(project, repository, identifier, path) return url_for(:controller => 'repositories', :action => 'entry', - :id => $project, + :id => project.identifier, :repository_id => repository.identifier, :rev => identifier, :path => repository.relative_path(path), @@ -369,42 +347,41 @@ def print_and_flush(str) $stdout.flush end - def convert_to_text(fpath, type) text = nil return text if !File.exists?(FORMAT_HANDLERS[type].split(' ').first) case type - when "pdf" - #fout=fpath.chomp(File.extname(fpath)) + ".txt" - text=`#{FORMAT_HANDLERS[type]} #{fpath} -` - #begin - # text=File.read(fout) - # File.unlink(fout) - #rescue Exception => e - # log("\tError: #{e.to_s} reading #{fout}", :level=>1) - #end - when /(xlsx|docx|odt|pptx)/i - system "#{$unzip} -d #{$tempdir}/temp #{fpath} > /dev/null", :out=>'/dev/null' - fout= "#{$tempdir}/temp/" + "xl/sharedStrings.xml" if type.eql?("xlsx") - fout= "#{$tempdir}/temp/" + "word/document.xml" if type.eql?("docx") - fout= "#{$tempdir}/temp/" + "content.xml" if type.eql?("odt") - fout= "#{$tempdir}/temp/" + "docProps/app.xml" if type.eql?("pptx") - begin - text=File.read(fout) - FileUtils.rm_rf("#{$tempdir}/temp") - rescue Exception => e - log("\tError: #{e.to_s} reading #{fout}", :level=>1) - end - else - text = `#{FORMAT_HANDLERS[type]} #{fpath}` + when 'pdf' + text = "#{FORMAT_HANDLERS[type]} #{fpath} -" + when /(xlsx|docx|odt|pptx)/i + system "#{$unzip} -d #{$tempdir}/temp #{fpath} > /dev/null", :out=>'/dev/null' + case type + when 'xlsx' + fout = "#{$tempdir}/temp/xl/sharedStrings.xml" + when 'docx' + fout = "#{$tempdir}/temp/word/document.xml" + when 'odt' + fout = "#{$tempdir}/temp/content.xml" + when 'pptx' + fout = "#{$tempdir}/temp/docProps/app.xml" + end + begin + text = File.read(fout) + FileUtils.rm_rf("#{$tempdir}/temp") + rescue Exception => e + log("\tError: #{e.to_s} reading #{fout}", :level => 1) + end + else + text = "#{FORMAT_HANDLERS[type]} #{fpath}" end return text end -def add_or_update_index(repository, identifier, path, lastrev, action, type) - uri = generate_uri(repository, identifier, path) +def add_or_update_index(databasepath, indexconf, project, repository, identifier, + path, lastrev, action, type) + uri = generate_uri(project, repository, identifier, path) return unless uri - text=nil + text = nil if Redmine::MimeType.is_type?('text', path) #type eq 'txt' text = repository.cat(path, identifier) else @@ -414,85 +391,76 @@ def add_or_update_index(repository, identifier, path, lastrev, action, type) File.open( "#{$tempdir}/#{fname}", 'wb+') do | bs | bs.write(bstr) end - text = convert_to_text( "#{$tempdir}/#{fname}", type) if File.exists?("#{$tempdir}/#{fname}") and !bstr.nil? + text = convert_to_text("#{$tempdir}/#{fname}", type) if File.exists?("#{$tempdir}/#{fname}") and !bstr.nil? File.unlink("#{$tempdir}/#{fname}") - end - #return delete_doc(uri) unless text - #return unless text - Rails.logger.debug "generated uri: " + uri.inspect - #log("\t>Generated uri: #{uri.inspect}", :level=>1) - Rails.logger.debug "Mime type text" if Redmine::MimeType.is_type?('text', path) - log("\t>Indexing: #{path}", :level=>1) + end + log "generated uri: #{uri}", :lebel => 1 + log('Mime type text', :level => 1) if Redmine::MimeType.is_type?('text', path) + log("\t>Indexing: #{path}", :level => 1) begin - itext = Tempfile.new( "filetoindex.tmp", $tempdir ) + itext = Tempfile.new('filetoindex.tmp', $tempdir) itext.write("url=#{uri.to_s}\n") if action != DELETE then sdate = lastrev.time || Time.at(0).in_time_zone itext.write("date=#{sdate.to_s}\n") - body=nil + body = nil text.force_encoding('UTF-8') - text.each_line do |line| - #Rails.logger.debug "inspecting line: " + line.inspect + text.each_line do |line| if body.blank? itext.write("body=#{line}") - body=1 + body = 1 else itext.write("=#{line}") end - end - #print_and_flush "A" if $verbose - else - #print_and_flush "D" if $verbose - Rails.logger.debug "DEBUG path: %s should be deleted" % [path] + end + else + log "Path: #{path} should be deleted", :level => 1 end - itext.close - Rails.logger.debug "TEXT #{itext.path} generated " - #@rwdb.close #Closing because of use of scriptindex - Rails.logger.debug "DEBUG index cmd: #{$scriptindex} -s #{$user_stem_lang} #{$databasepath} #{$indexconf.path} #{itext.path}" - system_or_raise("#{$scriptindex} -s english #{$databasepath} #{$indexconf.path} #{itext.path} " ) - itext.unlink - Rails.logger.info ("New doc added to xapian database") - rescue Exception => e - Rails.logger.error("ERROR text not indexed beacause an error #{e.to_s}") + itext.close + log "TEXT #{itext.path} generated", :level => 1 + log "Index command: #{$scriptindex} -s #{$user_stem_lang} #{databasepath} #{indexconf.path} #{itext.path}", :level => 1 + system_or_raise("#{$scriptindex} -s english #{databasepath} #{indexconf.path} #{itext.path}") + itext.unlink + log 'New doc added to xapian database' + rescue Exception => e + log "Text not indexed beacause an error #{e.message}" end end - - - -#include RepositoryIndexer def log(text, options={}) level = options[:level] || 0 - dtext=Time.now.asctime.to_s + ": #{text}" - puts dtext unless $quiet or level > $verbose + dtext = Time.now.asctime.to_s + ": #{text}" + puts dtext unless level > $verbose exit 1 if options[:exit] end def system_or_raise(command) - raise "\"#{command}\" failed" unless system command ,:out=>'/dev/null' + if $verbose > 0 + raise "\"#{command}\" failed" unless system command + else + raise "\"#{command}\" failed" unless system command, :out => '/dev/null' + end end -def find_project(prt) - #puts "find project for #{prt}" +def find_project(prt) scope = Project.active.has_module(:repository) project = nil project = scope.find_by_identifier(prt) - Rails.logger.debug "DEBUG: project found: #{project.inspect}" + Rails.logger.debug "Project found: #{project}" raise ActiveRecord::RecordNotFound unless project rescue ActiveRecord::RecordNotFound log("- ERROR project #{prt} not found", :level => 1) - @project=project + @project = project end -def create_dir(path) - $rdo=0 +def create_dir(path) begin - Dir.mkdir(path) + Dir.mkdir path sleep 1 rescue SystemCallError - $rdo=1 + return 1 end - $rdo + return 0 end log("- Trying to load Redmine environment <<#{$environment}>>...", :level => 1) @@ -509,12 +477,10 @@ include Rails.application.routes.url_helpers log("- Redmine environment [RAILS_ENV=#{$env}] correctly loaded ...", :level => 1) - if $test - log("- Running in test mode ...") + log('- Running in test mode ...') end - # Indexing files if not $onlyrepos then if not File.exist?($omindex) then @@ -522,65 +488,56 @@ if not $onlyrepos then exit 1 end $stem_langs.each do | lang | - $filespath=File.join($redmine_root, $dmsf_root) - if not File.directory?($filespath) then - log("- ERROR accessing #{$filespath}, exiting ...") + filespath = File.join($redmine_root, $files) + if not File.directory?(filespath) then + log("- ERROR accessing #{filespath}, exiting...") exit 1 end - dbpath=File.join($dbrootpath,lang) + dbpath = File.join($dbrootpath,lang) if not File.directory?(dbpath) - log("- ERROR! #{dbpath} does not exist, creating ...") + log("- #{dbpath} does not exist, creating ...") if not create_dir(dbpath) then - log("- ERROR! #{dbpath} can not be created!, exiting ...") + log("- ERROR! #{dbpath} can not be created!, exiting...") exit 1 end end - log("- Indexing files under #{$filespath} with omindex stemming in #{lang} ...", :level=>1) - system_or_raise ("#{$omindex} -s #{lang} --db #{dbpath} #{$filespath} --url / > /dev/null") + log("- Indexing files under #{filespath} with omindex stemming in #{lang} ...", :level => 1) + system_or_raise ("#{$omindex} -s #{lang} --db #{dbpath} #{filespath} --url / > /dev/null") end - log("- Redmine files indexed ...", :level=>1) + log('- Redmine files indexed ...', :level => 1) end # Indexing repositories -unless $onlyfiles - unless File.exist?($scriptindex) +if not $onlyfiles then + if not File.exist?($scriptindex) then log("- ERROR! #{$scriptindex} does not exist, exiting...") exit 1 end - $databasepath = File.join($dbrootpath.rstrip, 'repodb') - unless File.directory?($databasepath) - log("Db directory #{$databasepath} does not exist, creating...") + databasepath = File.join($dbrootpath.rstrip, 'repodb') + log(databasepath) + if not File.directory?(databasepath) + log("- Db directory #{databasepath} does not exist, creating...") begin - Dir.mkdir($databasepath) + Dir.mkdir(databasepath) sleep 1 rescue SystemCallError - log("ERROR! #{$databasepath} can not be created!, exiting ...") + log("- ERROR! #{databasepath} can not be created!, exiting ...") exit 1 end end - projects.each do |identifier| - begin - project = Project.active.find_by_identifier(identifier) + begin + project = Project.active.has_module(:repository).where(:identifier => identifier).preload(:repository).first raise ActiveRecord::RecordNotFound unless project - raise ActiveRecord::RecordNotFound unless project.has_module(:repository) - log("- Indexing repositories for #{project.name} ...", :level => 1) + log("- Indexing repositories for #{project.name}...", :level => 1) repositories = project.repositories.select { |repository| repository.supports_cat? } - repositories.each do |repository| - if repository.identifier.nil? then - log("\t>Ignoring repo id #{repository.id}, repo has undefined identifier", :level => 1) - else - if $userch - changeset = Changeset.where(:revision => $userch, :repository_id => repository.id).first - update_log(repository, changeset, nil, nil) if changeset - end - delete_log(repository) if ($resetlog) - indexing(repository) - end + repositories.each do |repository| + delete_log(repository) if ($resetlog) + indexing(databasepath, project, repository) end rescue ActiveRecord::RecordNotFound - log("- ERROR project identifier #{identifier} not found or repository module not enabled, ignoring...", :level => 1) - Rails.logger.error "Project identifier #{identifier} not found " + log("- WARNING project identifier #{identifier} not found or repository module not enabled, ignoring...", :level => 1) + Rails.logger.error "Project identifier #{identifier} not found" end end end From 9b06513941c13801bcd65e27e475ec15597b3b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Tue, 8 Sep 2015 09:55:56 +0200 Subject: [PATCH 03/12] Drag'n'drop save only picture thumbnails #441 --- app/views/dmsf_upload/_multi_upload.html.erb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/app/views/dmsf_upload/_multi_upload.html.erb b/app/views/dmsf_upload/_multi_upload.html.erb index 0c1ee706..85a32ac8 100644 --- a/app/views/dmsf_upload/_multi_upload.html.erb +++ b/app/views/dmsf_upload/_multi_upload.html.erb @@ -96,15 +96,7 @@ // Rename files by clicking on their titles rename: true, - - // Resize images on clientside if we can - resize : { - width : 200, - height : 200, - quality : 90, - crop: true // crop to exact dimensions - }, - + // Views to activate views: { list: true, From 95b2f0c7cec55c51f0a8476796235060218e09ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Tue, 8 Sep 2015 10:18:55 +0200 Subject: [PATCH 04/12] Can't move directories #442 --- app/controllers/dmsf_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/dmsf_controller.rb b/app/controllers/dmsf_controller.rb index f4560df0..8564dba4 100644 --- a/app/controllers/dmsf_controller.rb +++ b/app/controllers/dmsf_controller.rb @@ -309,6 +309,7 @@ class DmsfController < ApplicationController @pathfolder = copy_folder(@folder) @folder.title = params[:dmsf_folder][:title] @folder.description = params[:dmsf_folder][:description] + @folder.dmsf_folder_id = params[:dmsf_folder][:dmsf_folder_id] # Custom fields if params[:dmsf_folder][:custom_field_values].present? From f6fcb989200859f5f7240f9330f913afac0d3fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Tue, 8 Sep 2015 13:46:53 +0200 Subject: [PATCH 05/12] [Enhancement] - DMSF Macro to display inline Pictures in wiki #352 --- app/models/dmsf_file.rb | 4 ++++ init.rb | 40 +++++++++++++++++++++++++++------------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 26440f13..0dcd8a6e 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -402,5 +402,9 @@ class DmsfFile < ActiveRecord::Base end self.name end + + def image? + self.last_revision && !!(self.last_revision.disk_filename =~ /\.(bmp|gif|jpg|jpe|jpeg|png)$/i) + end end \ No newline at end of file diff --git a/init.rb b/init.rb index 79c48dcb..efff0613 100644 --- a/init.rb +++ b/init.rb @@ -108,7 +108,7 @@ Redmine::Plugin.register :redmine_dmsf do end end if User.current && User.current.allowed_to?(:view_dmsf_files, file.project) - file_view_url = url_for({:only_path => false, :controller => :dmsf_files, :action => 'view', :id => file, :download => args[2]}) + file_view_url = url_for(:controller => :dmsf_files, :action => 'view', :id => file, :download => args[2]) return link_to(h(args[1] ? args[1] : file.title), file_view_url, :target => '_blank', @@ -118,13 +118,10 @@ Redmine::Plugin.register :redmine_dmsf do raise l(:notice_not_authorized) end end - end - Redmine::WikiFormatting::Macros.register do desc "Wiki link to DMSF folder:\n\n" + "{{dmsff(folder_id [, title])}}\n\n" + - "_folder_id_ may be missing. _folder_id_ can be found in the link for folder opening." - + "_folder_id_ may be missing. _folder_id_ can be found in the link for folder opening." macro :dmsff do |obj, args| if args.length < 1 return link_to l(:link_documents), dmsf_folder_url(@project) @@ -137,14 +134,11 @@ Redmine::Plugin.register :redmine_dmsf do raise l(:notice_not_authorized) end end - end - end - - Redmine::WikiFormatting::Macros.register do + end + desc "Wiki link to DMSF document description:\n\n" + "{{dmsfd(file_id)}}\n\n" + "_file_id_ can be found in the link for file/revision download." - macro :dmsfd do |obj, args| raise ArgumentError if args.length < 1 # Requires file id file = DmsfFile.visible.find args[0].strip @@ -152,10 +146,30 @@ Redmine::Plugin.register :redmine_dmsf do return file.description else raise l(:notice_not_authorized) - end + end + end + + desc "Wiki DMSF image:\n\n" + + "{{dmsf_image(file_id)}}\n" + + "{{dmsf_image(file_id, size=300)}} -- with custom title and size\n" + + "{{dmsf_image(file_id, size=640x480)}}" + macro :dmsf_image do |obj, args| + args, options = extract_macro_options(args, :size, :title) + file_id = args.first + raise 'DMSF document ID required' unless file_id.present? + size = options[:size] + if file = DmsfFile.find_by_id(file_id) + unless User.current && User.current.allowed_to?(:view_dmsf_files, file.project) + raise l(:notice_not_authorized) + end + raise 'Not supported image format' unless file.image? + url = url_for(:controller => :dmsf_files, :action => 'view', :id => file) + image_tag(url, :alt => file.title, :size => size) + else + raise "Document ID #{file_id} not found" + end end - - end + end # Rubyzip configuration Zip.unicode_names = true From dd5cf37a5cbc36f09c1aab19bbb77e6762ee8c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 10 Sep 2015 15:44:56 +0200 Subject: [PATCH 06/12] Filename can't be blank by a new revision --- app/controllers/dmsf_files_controller.rb | 42 ++++++++++---------- app/models/dmsf_file_revision.rb | 6 +-- db/migrate/201500910153701_title_not_null.rb | 29 ++++++++++++++ 3 files changed, 53 insertions(+), 24 deletions(-) create mode 100644 db/migrate/201500910153701_title_not_null.rb diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index b46fc24b..7bed7c94 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -155,13 +155,11 @@ class DmsfFilesController < ApplicationController @file.name = revision.name - if revision.valid? && @file.valid? - revision.save! + if revision.save revision.assign_workflow(params[:dmsf_workflow_id]) if file_upload revision.copy_file_content(file_upload) end - if @file.locked? && !@file.locks.empty? begin @file.unlock! @@ -170,26 +168,30 @@ class DmsfFilesController < ApplicationController logger.error "Cannot unlock the file: #{e.message}" end end - @file.save! - @file.set_last_revision revision - - flash[:notice] = (flash[:notice].nil? ? '' : flash[:notice]) + l(:notice_file_revision_created) - log_activity('new revision') - begin - recipients = DmsfMailer.get_notify_users(@project, [@file]) - recipients.each do |u| - DmsfMailer.files_updated(u, @project, [@file]).deliver - end - if Setting.plugin_redmine_dmsf[:dmsf_display_notified_recipients] == '1' - unless recipients.empty? - to = recipients.collect{ |r| r.name }.first(DMSF_MAX_NOTIFICATION_RECEIVERS_INFO).join(', ') - to << ((recipients.count > DMSF_MAX_NOTIFICATION_RECEIVERS_INFO) ? ',...' : '.') - flash[:warning] = l(:warning_email_notifications, :to => to) + if @file.save + @file.set_last_revision revision + flash[:notice] = (flash[:notice].nil? ? '' : flash[:notice]) + l(:notice_file_revision_created) + log_activity('new revision') + begin + recipients = DmsfMailer.get_notify_users(@project, [@file]) + recipients.each do |u| + DmsfMailer.files_updated(u, @project, [@file]).deliver end + if Setting.plugin_redmine_dmsf[:dmsf_display_notified_recipients] == '1' + unless recipients.empty? + to = recipients.collect{ |r| r.name }.first(DMSF_MAX_NOTIFICATION_RECEIVERS_INFO).join(', ') + to << ((recipients.count > DMSF_MAX_NOTIFICATION_RECEIVERS_INFO) ? ',...' : '.') + flash[:warning] = l(:warning_email_notifications, :to => to) + end + end + rescue Exception => e + logger.error "Could not send email notifications: #{e.message}" end - rescue Exception => e - logger.error "Could not send email notifications: #{e.message}" + else + flash[:error] = @file.errors.full_messages.join(', ') end + else + flash[:error] = revision.errors.full_messages.join(', ') end end end diff --git a/app/models/dmsf_file_revision.rb b/app/models/dmsf_file_revision.rb index f71d27fe..d168db8d 100644 --- a/app/models/dmsf_file_revision.rb +++ b/app/models/dmsf_file_revision.rb @@ -28,9 +28,7 @@ class DmsfFileRevision < ActiveRecord::Base belongs_to :deleted_by_user, :class_name => 'User', :foreign_key => 'deleted_by_user_id' has_many :access, :class_name => 'DmsfFileRevisionAccess', :foreign_key => 'dmsf_file_revision_id', :dependent => :destroy has_many :dmsf_workflow_step_assignment, :dependent => :destroy - accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user - - attr_accessible :file, :title, :name, :description, :comment + accepts_nested_attributes_for :access, :dmsf_workflow_step_assignment, :file, :user # Returns a list of revisions that are not deleted here, or deleted at parent level either scope :visible, -> { where(deleted: false) } @@ -53,7 +51,7 @@ class DmsfFileRevision < ActiveRecord::Base "INNER JOIN #{Project.table_name} ON #{DmsfFile.table_name}.project_id = #{Project.table_name}.id"). where("#{DmsfFile.table_name}.deleted = :false", {:false => false}) - validates :title, :name, :presence => true + validates :title, :presence => true validates_format_of :name, :with => DmsfFolder.invalid_characters, :message => l(:error_contains_invalid_character) diff --git a/db/migrate/201500910153701_title_not_null.rb b/db/migrate/201500910153701_title_not_null.rb new file mode 100644 index 00000000..a91be7fd --- /dev/null +++ b/db/migrate/201500910153701_title_not_null.rb @@ -0,0 +1,29 @@ +# encoding: utf-8 +# +# Redmine plugin for Document Management System "Features" +# +# Copyright (C) 2011-15 Karel Pičman +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +class TitleNotNull < ActiveRecord::Migration + def up + change_column :dmsf_file_revisions, :title, :string, :null => false + end + + def down + change_column :dmsf_file_revisions, :title, :string, :null => true + end +end \ No newline at end of file From ee7d3ecb1e345ba44986f5eda994d817cbfd00a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Wed, 16 Sep 2015 11:46:14 +0200 Subject: [PATCH 07/12] Webdav: Filter Mac OS X 'resource forks' Files #54 --- app/models/dmsf_file.rb | 4 ++++ lib/redmine_dmsf/webdav/dmsf_resource.rb | 24 +++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 0dcd8a6e..5f3e8b7a 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -406,5 +406,9 @@ class DmsfFile < ActiveRecord::Base def image? self.last_revision && !!(self.last_revision.disk_filename =~ /\.(bmp|gif|jpg|jpe|jpeg|png)$/i) end + + def exist? + return self.last_revision && File.exist?(self.last_revision.disk_file) + end end \ No newline at end of file diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 064be154..4a77152b 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -482,15 +482,20 @@ module RedmineDmsf raise Forbidden end - # - # + # HTTP POST request. def put(request, response) - raise BadRequest if (collection?) - + raise BadRequest if collection? raise Forbidden unless User.current.admin? || User.current.allowed_to?(:file_manipulation, project) + + # Ignore Mac OS X resource forks and special Windows files. + if basename.match(/^\._/i) || basename.match(/^ThumbsT.db$/i) + Rails.logger.info "#{basename} ignored" + return NoContent + end new_revision = DmsfFileRevision.new - if exist? && file # We're over-writing something, so ultimately a new revision + + if exist? # We're over-writing something, so ultimately a new revision f = file last_revision = file.last_revision new_revision.source_revision = last_revision @@ -518,6 +523,7 @@ module RedmineDmsf new_revision.comment = nil new_revision.increase_version(1, true) new_revision.mime_type = Redmine::MimeType.of(new_revision.name) + # Phusion passenger does not have a method "length" in its model # however includes a size method - so we instead use reflection # to determine best approach to problem @@ -528,7 +534,15 @@ module RedmineDmsf else new_revision.size = request.content_length # Bad Guess end + + # Ignore Mac OS X resource forks and special Windows files. + unless request.body.length > 0 + Rails.logger.info "#{basename} #{request.body.length}b ignored" + return NoContent + end + raise InternalServerError unless new_revision.valid? && f.save + new_revision.disk_filename = new_revision.new_storage_filename if new_revision.save From 067d158b977b8d756fa8d3c7d3c708f35f5532c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Wed, 16 Sep 2015 12:01:18 +0200 Subject: [PATCH 08/12] Webdav: Filter Mac OS X 'resource forks' Files #54 --- app/models/dmsf_file.rb | 6 +----- lib/redmine_dmsf/webdav/dmsf_resource.rb | 11 +++++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/app/models/dmsf_file.rb b/app/models/dmsf_file.rb index 5f3e8b7a..6c535dae 100644 --- a/app/models/dmsf_file.rb +++ b/app/models/dmsf_file.rb @@ -406,9 +406,5 @@ class DmsfFile < ActiveRecord::Base def image? self.last_revision && !!(self.last_revision.disk_filename =~ /\.(bmp|gif|jpg|jpe|jpeg|png)$/i) end - - def exist? - return self.last_revision && File.exist?(self.last_revision.disk_file) - end - + end \ No newline at end of file diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 4a77152b..fa84f36a 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -179,7 +179,7 @@ module RedmineDmsf def etag filesize = file ? file.size : 4096; - fileino = (file && file.last_revision) ? File.stat(file.last_revision.disk_file).ino : 2; + fileino = (file && file.last_revision && File.exist?(file.last_revision.disk_file)) ? File.stat(file.last_revision.disk_file).ino : 2; sprintf('%x-%x-%x', fileino, filesize, last_modified.to_i) end @@ -488,7 +488,7 @@ module RedmineDmsf raise Forbidden unless User.current.admin? || User.current.allowed_to?(:file_manipulation, project) # Ignore Mac OS X resource forks and special Windows files. - if basename.match(/^\._/i) || basename.match(/^ThumbsT.db$/i) + if basename.match(/^\._/i) || basename.match(/^Thumbs.db$/i) Rails.logger.info "#{basename} ignored" return NoContent end @@ -538,7 +538,7 @@ module RedmineDmsf # Ignore Mac OS X resource forks and special Windows files. unless request.body.length > 0 Rails.logger.info "#{basename} #{request.body.length}b ignored" - return NoContent + return Created end raise InternalServerError unless new_revision.valid? && f.save @@ -560,6 +560,9 @@ module RedmineDmsf # for lock information to be presented def get_property(element) raise NotImplemented if (element[:ns_href] != 'DAV:') + unless folder? + return NotFound unless (file && file.last_revision && File.exist?(file.last_revision.disk_file)) + end case element[:name] when 'supportedlock' then supported_lock when 'lockdiscovery' then discover_lock @@ -580,7 +583,7 @@ module RedmineDmsf # implementation of service for request, which allows for us to pipe a single file through # also best-utilising DAV4Rack's implementation. def download - raise NotFound unless file && file.last_revision + raise NotFound unless (file && file.last_revision && file.last_revision.disk_file) # If there is no range (start of ranged download, or direct download) then we log the # file access, so we can properly keep logged information From 2f4a439545ded491a13e0fadd45c473ce982d835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Wed, 16 Sep 2015 12:07:16 +0200 Subject: [PATCH 09/12] Webdav: Filter Mac OS X 'resource forks' Files #54 --- lib/redmine_dmsf/webdav/dmsf_resource.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index fa84f36a..0ec53a96 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -536,7 +536,7 @@ module RedmineDmsf end # Ignore Mac OS X resource forks and special Windows files. - unless request.body.length > 0 + unless new_revision.size > 0 Rails.logger.info "#{basename} #{request.body.length}b ignored" return Created end From 2e415a747c8b58f552f42c5a8575b357887e9845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Wed, 16 Sep 2015 12:08:56 +0200 Subject: [PATCH 10/12] Webdav: Filter Mac OS X 'resource forks' Files #54 --- lib/redmine_dmsf/webdav/dmsf_resource.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/redmine_dmsf/webdav/dmsf_resource.rb b/lib/redmine_dmsf/webdav/dmsf_resource.rb index 0ec53a96..e2f2a7e9 100644 --- a/lib/redmine_dmsf/webdav/dmsf_resource.rb +++ b/lib/redmine_dmsf/webdav/dmsf_resource.rb @@ -537,7 +537,7 @@ module RedmineDmsf # Ignore Mac OS X resource forks and special Windows files. unless new_revision.size > 0 - Rails.logger.info "#{basename} #{request.body.length}b ignored" + Rails.logger.info "#{basename} #{new_revision.size}b ignored" return Created end From b4a07885af642cbf8a9f3121ea6abd172dc13c94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 17 Sep 2015 10:10:41 +0200 Subject: [PATCH 11/12] Doc update --- dmsf_user_guide.odt | Bin 978070 -> 975831 bytes extra/help_files_dmsf.diff | 474 ++++++++++++++++++++++++++++++------- 2 files changed, 385 insertions(+), 89 deletions(-) diff --git a/dmsf_user_guide.odt b/dmsf_user_guide.odt index 7cea4bf8266a5562008c1f659242db84b6c415d0..c078799c39e98c8ef94d819e748c747de7f318b3 100644 GIT binary patch delta 76695 zcmZsA1yCMO@MVDD8l2z`!QCMQcMIgu*? zcY6E1+1=`XHM7%`vdp(Q#D}6N1N9N}!w0wzA6}i9CE`(}KK*M;D#C^b|GNL3xTyp) zDEO(xx3C!TDW8C7DN*6?9$Dwv@Gh!MA~tcI(yCbeRu~R!nZy6W6+4dwN^rR`#+|NHwZ)UKqM++egclt zh_73p@Ziv*(@o7uahVY(PZZ-c#_1oecRmIlsGAqNhcyK9@Na>s+mQ)x$>S`vC4Ts? zZm=u{e(jXQk$`JJW6#W5?;{0NUi!q`^Alf(E{H|yG( zSSG!iYjVl*`{jTw#2dR%#xsidBkV$q`qe?Jy*xMoYD7A}Bpx{Kd)jrr zyEwi3tm6&O0AhQ8@o^OFa(-Oy>%3w;%pSR?#)w8oI)0nYJ}M%vo?z#=DWw$kidzh1 z3G{rRJdof03I$>^JcG~TiJ`kRTagqL3eDC3rklv~rR=S+W5!UZvl1|X-+aNs!vkMz zYQBE)^quhE4Kl1+5fvj{+ysQ#`|ooLn<7pymA~D|I>)Lm&a59f_?)^x$YVO4-iwk2 zeKVT~^So$2J{U?*oXAMMWQI?euOq(X{!}Y;q|aej>FQMl}@igTucOSvooc=aunwk#CuE3ras`Ao;)2iaCN< z%G|BlIARhh`-=I#{)g@_?Xo%nEx&&gM!}F)( zbB`4D&57tjyaA^fS=QeNqMd$}Nfv1n9TO&HcXjbd_MEtyD-ri52Q>Z{79V z38vTVopl8tAo4#FFj(sNpyRjPJX-x?P9@ZqoCpxl$OaxP%tR=CBg@tmF2Bj+4ns{T zv-;PIb+!kr!=`aXzYy<*pVN1x8w8ELC))cYS`RwRaCtrpe}1SlfzrN@+SaG4y7! zrF>jZ$fO8LV9b(y0}j=12Gwq$Ow6tyjYh@i z+5-m(IJ*W0Kj3rK8%5F{uDg5OVNu1J{oy>AFqjv7#?H9cWxcPty^eG?my;nU@83z* z@uYo%Z9OCU5^^&fUG&@iGEbi>-es;fuD7Ywc~id?jP!QJE~Az?=Btr^3_lpPy8;}q z-4MLeanmkhYA=d<($4>UB$g!>zK1Y^h;Uw35z*tlRVd`2bk4+0P}tO|uwLp49h)L= zPN&}FSiDQxJxUgqBgDz-&6)Tfwb!M}e}j%8p|X}47`=yeyF1o;tatOw+>nLoPUG-` z%-{9H{yo9@z_AzU0*o=RpCu4IPz$899_IE0ZDSTUxbd0GlJf=X8rHnfg9JxZ&3|r@ zp6r-FbK9rzJ+TgFPta=&&n_MvyW}ZRCC{N7+6$OIomm+eLBHOPCnqLIbFa(hkw#ul z9@dMAs+0{EwkCaAU9OL9{4SovLVqGOassm(OHt3O_G@A%dM}BYG_zEnq60`zq^hfo z(C3G=#N4|Y9}}%e=Zv<1y2hT195im^RLW3rO)4)et29%=s;*||+SW<4ujQhI)spMl z3)a*eIqR+R%ADZC)f#X9@_bLa7U&V?dRn&8m*>;qBug|^OVXbETX24Xr7USC(Bodr zXrhrbuGD@;!MjqK6iC!wwz(w_`Sw6jyF2mwB|^v|AYks zPa{do^TnH|-t-{O^O7xO)YvHsgE6#0EAR zu$fOip7+@d>2W6aV7m{i3CD@$e7`(($rXmnEKx`t)6(ug2@y%;^sv80`4d>1m|+PTtgm1p_7?xpFh#fSD_2 z3MzIEZL8$A^_+*wCnr7e=rBiVb7MT`MBRwyXtUZ(zBqRkXA(&7 z?q8;!?eyAZ+&j?>lZXmcyj&y zLFH|j_4d~Ku-RAjQlwUJ5xGw8<8N1-XG$FpaWbM1=Tab(qeb^P$9`=-R^8ZL?-DrF zuCd}<-YdGWa{zeAghI?)=7yRxZaFOj({jP^tsvL;=!9E`25K zpvJo?^c15BhB|Iy%)foASKNW*P{qE%pJi`LC3V2*)Ix0Tfb0aFbViAhT-%j6PrZ#H zgs3ZSgpPh$I5%9N;mQx+ER(1%G~sn}2?n}CfIf-UxfhOW!f*M_xxH?5BH^r|_aL@> zy~-EbT2aG%)OjhI`U>BDip3xykFN=Rg{mrs;R_bIhes>rY=jp=Ms^EF5xFy50IWTjnej_KdCIL#1Lfe!I^;qS(-% z0geS(b)l$nO@%Y_7*hI-ABFlcA%0D$i2L5)b^S z$N61JueWC1tWHg1G?tNy&BaA5LGw@%*cwjGCgBm`)XX^OoUs(j;-2epHV2suSTz%F z{q_Xki>25WP(%yS7yis}ENnd{(DMq1ws%_Q*=w)mwpks%VOaCSm=TxrM&R6rNl}L|UIW;>r;~16FtDZS3 z*VjOqagmM#wT46QOb??b&xNfsV2jy?*%VL5F?A$B0K8a(?2@fJW%qQ)zF(*bB&0v{9J9w1s&kqH^6atpUL{KN zksVG_6Gb$0#D5|f^8-OR_HmaX_fRtEg|BgzW=soAjCo64uvj2VMA?wGSgtOg_}f|q zs>d0~942XfZE^_L*vn_%P=ueY3br5gcBe)ViH!j@o+tETlDA1)h3PVM|(DMlQ zXFBZ1>l~Y-D;zpIzaDb}Tjov65Wn3m?LC1dYP=@3Md*92+LW51}C3t$+Ayb4+IJL7q25%i%c!r8R}S zyQrWSqAK$_`35v=b|$;=tO79XRs=9qJXEv_y$#r$_x!A0YiS3lQM&Ei=$hL z4ioR?}?S45T>V_zSOv39PHwwbRj`nrg)89Xoy7!Bq`X)Dq#+G zbFpRr9m8w2Y)fs+-V7@$`pRZxD=~^oKHGdB`eCwyZ21`;TaD7D3Vwa*XJXiVNxTLr zdU%AGrXe+%Fhx-G<$aEKZfA=JHRu533tIEO@Lc>6e9LCI<$(m(^bN+;Jno~`0XO&1 zr6Rrv94s!*x1LkIEj`p}fB?OZ4tm7~$GMYq<|dA2_ipcu6jKF@pCNaU8nJv9pR z{9QH>d8@5rlzE+*E5k%1J~MEoEg4Ls?V_vmk73RwxwIk@&4UEXbQE?I*h@L2WIYlD zV{rR#b}&F!{&D~3o{5WZ!XixFXQ{egGd(RKC0cq zx0142DqrcW5+YV0n5sS(=}EC6kJwdko=Mx6P7b|{t1S4M93LqDb7)js@cSpls_Lm+ zdstV1X^IKMsWV}U4z<@BzK)QAnDy)uZAMektSC9mHB9|5Ky4X6N4aA(oX5Y5Ohxa& zoBQFdeb}?3<`(w(22jnWwh0N$c++NG>gOKno0@C?{X+mAzdu-MZTNR7zr?6P8q1X5 zuOkV0pMe~WI^VM2+@m@z9_EHAo^=x>*qECdcMqhwk(OI`3afRcLX6hY(Na@v>Jj+t zR7c-y4|(d8Qx823!S|4G!gt0VI8Yq#PyA@FkJfvr2M{68PUro4mRS0} z_V-T{%VaT&wNq2XL_{H|gUoQ3Q%%5#iIaRz31Uw1Wi?m6!iJOi;jjd=rb`WS)9v0m zWdz~OeQ(DTWi{s*EkdyHZvP~g zNa}|t)JM{%T;dJWMl?pT!yoR5c^SbQS{|8q=U|X9T9HgJDotR*{z-*Z&Kv+7Zul)d zJ&PO-(2REpu0B1FUz^kR2U4P1JPMo>bhCWb_m@@q4f|CTi}>j9&hgo4PYvZ2RjBiY zT|2KhvFq$lH~*EI(peSjaFBn{Xm-q`NF&N`Zs>6x9Rnkq)Bc}caMxtFXDDa zkZLEvE<{b3Gd^^@}Z#C8q@1)_=7Lk0fd;|3}(#T}Z8XR=M1*uRx?r}HPA5|XjqMi1lD}{L(QSMiLN1f%tnE7=;!5CQP{j2 za$W@>%~;of+1<=yt00}Y>yJeMeSu7_(9lfE@^F(v0c4e%=2 z6NeZfAnm-V4Ga?$*c2F3cr1d(qS_gc2U3vhA9nDtm-Mry3zOQX?vAlXot+=ViIFd6 z5Oy(SMwvBuD<4u)gaM6BNIIA`CkI{P zfZJQ6k|0l|wWUK_s+g?dYLq#Qt_x@rj+onjgqJ+dx=tJ1&%y3#PwoRx=v1b^tD(U2}zp?aGW}z(Ea! zV()$&h)oS#GL&Y9B}Ci^rqNt}`PA`R!EAe8--FJhUQy&}KXUm;MFLf? z@g)r{RV^c|2>rv*hV^J9C0fj7HZu}YMd}dneyrC1{*90ePQ8E2*Vzs4(XO-uP1ny! z%jIkFDtckYXW+9`YL~jlA^i_Zg_}~;cEcT!>nmf-!hJ#OQTgvg6<;P-`mS7NMtHY;YFX;6Gzh*CYM^xoGAAZInIJS#ST|^0$ZvNj>YFUp8&^v~^vJuJ#h;0d?4r-uc%lS$;_eQ7+>;Yj*6&bG%zYOv zC;Huf42+qhhR?P)T0c~8oC;hMK#A0Qbl2xGD0S;79@#y?();NM?=51po_Po95~kxK zK%o6bmM4qeA9{E)XyGf~DE>}3RgRhQd0-rzXyd%^UV$smz(NpA;GH3>J7EQ$nme@l z;E1Fx$Lxduv7RENa0%WRg5Xfzh~Km>W>kox5`m0~s$RgjOs>(fH(}J*N3Tm1!s@5& zqmYu-&#~5#?JjT?jd_c&iCE*RGNjuYTq)@r6b1cQRD_mrEgT|s#2@VGN`mg4IH2D9 zoDyQ7h)r>PI-+QffQ_BKiOu0`;)~I5Nv`0#-+P6yqR2^>JXvu#MlR!PBG0NfY45gQ z`YV3P>yvECY*q1T7pbC8l1`wh92CcyC8_$*7ODEK<61^nl`s^Ya|_lXaHjAIj`HTa zdJs&rWbWjhoDOnZm;?w!*YS}UxdKg}jMRl&_h`+-W$CT=#OBp}v!weczCv9e4PdEvy19=iRx8P7st zL!|Ya>m)Jp+Fs(;^dYcp=*49&Q;DJ%b=-FW>%$_`9Xvu7(c@R-*Unba^uWFvj=tL* zC3WSnr`&>uFWDmTvWfpqyw8$KN4)R`(#{K?@}2m@jiI{tu%bM<%Fo?%erK3zzNk{y zkU-s)Le8e?ac%*ASKMws6#j|tt8VhB3en>|iGvtF<<9S}=7$;i@c5J4j(D83LaAmG zjpA+=o%ecCY@2rDl5g7tc>v+{LXn0$TApabLms0mxbZah| z`RIwb&VTfcw`BT3ftISzy7QtIA@Xssxrv9SeDw6e0TENCTTFO>24_yY4{>M_C3o++xWy08HKKRVhTg*s z-wlO|oAe1fO%)Qi)Z&bqka2GQpAAYV%790NgY zFYBkUA<45NT%@q|3h3}{>A$9n2a4QkyV>GV(ivfR7g6|+F8wq=lXA8us%>V^Qt2^X zW%a=$$)q=5qwws!(ie~2BV5_Iu1Uf0uIAD!L=zfmmpf|(!cDqv86#L*331L(ttsku zSIol%L-v!vj)O{Pmh^Y3VHX;14P^@5(%2o`;J_&wop^kOHgCy~qQ{)6S$Sng$#s7; z*u}n<*BiB9iNIqkn!MehlqeA*dehQ&<62X=aAtnwBa2mrJhe013@Q-qxbV-_)2Z0K{o+BlA zYqm{qXxD)AJ$!QLg~vsK^dYh5Zag%{Q4*{2pYdfVms&2d0Y1Qi!XEwTc%=AG=s84l(W# zzS56Z4_WTskUASAyvY77hhI);M7-B>uz+coT1W4Y1$oju%}EckhRKKdtuA)_a6*@O z(S+jJ_FYZgb^>3C9fU5%IT?y5oxeb)c^3#EBit_?{`G_Xfpvr|}KX;X(? zHkL5UKDVSL7!Ywazx`}e?@r-1yBzKHYE z8GQ}Bh<;ww(r%aU+s;ep#PUz&D}HD-IFny~kCDq>Z?*M8z2dxHAa?RPgFlL@P=7-M zV&rm!g7l(#*)(7nb5>AcuN!N?QjB3e-65UHCgi*zc#qc?7gE7)S(H+%Zf-wIG~?5! z{rRV2-@cl|)NG#BisP@6cBRe{U31Q><<6_yU})+wTZIhS4d>}{=jm-9X#rUHI}AQ~ zH6A~;rQB)M!=y8K-8x^*3j5<4(?1>nccQx&r>7PtPu5|FIff=@{ryvCjV_^gsd-|l zX<}cnx)~8(6q?;f@r~mw=U=K(9@wDL@qr z8fS$*VP|$6wm2Dq2@ZCDr0?_ik#PU{_KU3BuW7jps#MC+Xf z@!cfC`47`R;M2bi-98b)rZp%u|k7;O*D1e^1faB_F&)PE8Q}#f#kAMOcEo)I3Xpb2fREBMiDB*O%W)~JtS#w1%YU}nd6$ri;Bh9*{}o*)0+^XMdr)=ar9-u&ZI6jjP+rc- zKEl^Yt^p&(^5DcHoL&Vh(I*|r*@s2O(=Gm9&*Ge#fGPWGLmSzLeFzgMMVSZ}yrEHQ zpeCghPkxn#!*#~aNqUtWg0(eP^mxSNvYdH9AY;JgT|jCQ_bU@!f#8hJE|bkalf8!P z^*RkTNg%oT&~HCkmCrFljR(0q#E}zkz=wg4g8e-_&IyWMbZxdF%_6CffX0cAd$UQ; zaG1kMZ;!OJ>-%4$d=DTk?fz#C7G1na<6kTwl9Oc!`A6!P)Ztan8oFb0sAmN1C~M4b z9h6a8oXA=|!`Hi;d^9JwpCV>1Hn_rU>lV8#UKl1NYm_c`zA<>Q+#BWw`^EH>7IOW( zZp-6Ve7sbYT)R-sWsMKkj&x7CMsKU{c_#g8bp`QZVVtp-jQ{ZK(Lzgq5gFl234*rsgl_phW7-BI+?6R9zhsH^zTgDj2> z5V9GvlKk(gQx`HVl)S`3AW*R#KwV{zvwRGN5*zb_Z<-@~C3dsflcH=YiIz5%crS;9 zTuXsL_QxcdYeHelZ6hZQpgh};9LDeLY5@Xa++?vpbzgzm*`{SaI(vsP;}B}bYvn1O zuyGEz#Y1gb&BuwOe&Ggy!IskEEH$yjs&TQc8(JftG*|ye&P;(H_wjWDm)|&c@)6Yb zA)ILVa!E#w+sO;3_V+>5`s8)Hig2rFlg}^KW|3arzB=_=d=(D(;T};YoNEP~8^=IWFysn)GuOUaMBvZ6VfI{z$ zqE@0_D+hnJa#@ z(Mn;uA+K^WVWDq>TP04resm35%~KiX#@jk}iUBI@DjGFvQ(gY(;l8ZeHL|Utb1icC zRL8#Ixy1&9#9=wP!`S}PXo$Q3>5JW%`#fn{vjVFztN864#+>EaCZ|ED|<#memox)juXV>Vtjj zZW6Kb`2#G$7P2pUTOJxsmkw0><-PT~9L*2}rPvwSI<(X4Zne?WA;#H89#sxWDz(S8 zeAz2qmF+6(_v>zbF_SE=xw7Y`Qh$Sm<9Uc8Cx7X0n=^$ zr)ZzAvXg(vzp_&v-FZ&?65RxkiMTEQID4ZXy;e$;M`2m%HN5y!64XS)=TbP5prqeau%x=S7f}iVu=&)wB8aV7rnmafBP6F_DSkG7fi|X4>kTrh?pk`abf7o1}TH^;x1^#oKQsCn`>eZ z1dekAk8_kM4oQlvtrOe)q=kobTKSw0Y;X6Jdw`Knu zh`)~*i!9N69!|S2@_sIQ*(tDmULq*(s(C?@1PzGIxeTdEbj|z1{D*|_a(Z`PIFqcK zf0nDXN_+^hWLbt{#r!j0<=?A$ zLYHWP0B~KF?(^q(L{-E^+jYf?xGXTkcoifi;65wRhE)IG2lp46$w`9xov^%St4Y=| zVly}tapflprxWd$pHh@jlZ>Tpui)i%fI1aXMQ`fFv98+06^fOvS|vXuSjz% zwg>m03fGCj1ZS?xN~EcOYbnI9vs~(zup}m#E0z$FldjFw{<42usz(0Z$Td*=i(??~ zpXe$;esy9DK=>eK<8etYH%U;XaV6Zp`%4>dOp_8_J09D_+g?mw4r@aiDrUu-Zk9K3 zNlliWjiX_;nm`no+A$aqerPq;;|Z&2?7|w$ILVkfS3@cIdgTE5axqu-m>;>Qz; zP(7C^S>_~+q-KX&&l1u$n0^(7-#OBEQLM6zm;c3M#g8eK62BQq$(^WK6_#a;BV;5I z!&T*RS^#wQ{Zy6*p&C04(M7TuCPMD;GlVGvAEW8LQ7slv^K2>3*SA$wVf*-fym%J1E2Ldl%!_O+E68BoLxhA)%)|E?je~7ANQaCsD!u_n);a0N^ zaEzILDJYk_iEaP*5bmYM(L^cN7P$ADH+kPe_zn18(hKqRSM8C{a<)nkLX%RK`A6u z5cqEgrVk6vIU^4bYd;9QR;?;X*0`N4fwLHMz6!?}>;hYFTx$|9r>EVFjeKQ!RKE0q z^YSG7d%L)_)g_hs{fFqKb7Q9Hcv23$Qvt8Il^;hJ-fcO| zl|Yt7gCj)lgudSq*bh5u_S!?j%k`4whENLA@n%O(*MBFf>wC>#CGo{^Q#JmbM3i+b zMzck-XiIOGb*xekejSFmhy_x4qIwk%eqr1HbqG`WD>dC|)45MsS5xQ0+pdm`VVm}F z8~gshTA$+=hD4)rNuhS+Yk>H;VCiM`M732Dc}EP_<^so~fJC$rjt=h;0stM*gOqO! znlz0VTt7@L4ij!cbDPA#eLo4fWa#=X?-KxT9wVdy`^kn%17*jc>z-ZoEwjNTYwwy2 zu1mi@kJjg+&~w}~pC7WN>Ws_zM*qh1BDiYH<^e82{#9S)YJcM<1<(*TFI$DF;#O7x}V zNB-m94RQ-aVQs-gW3)_xoaU>>{YXzpez|NoVUZdlxjz^F3;?W}x5vqXo<3iV%(H8y zh-xM-(S4A7;ItU&(~Q=TH0EPYC3sM6`#r%ipF#F2E)E`o?X^5AAg7|DtRf(_-1Xuz zxj3+}O|?bk(}c{F>#MDEO5|})0BF#r5~b!K?OdrTx*|nK4YyT>x)Y?fH$K2;PEGT| zQpCe?qKF?Y0bJ48_r-;FL7k>!Y)E<3dC^~n@2e4NNbG*HuM&GG*h3Rts8~J68&dU> zbGM(h{*(V0B~@EmY^!DU=h&0o+>~iwK8CdgQ8+g^vt`H~>zB4u4+1ZAM7NRF(zEU7 ze#bf!A+GPki1KdqG<#qFY6fSI4JN~`ZkCAdjub49E%lauSSNF{!qomeRywrLentL( z^6K*;70Br1d3n))zr_657VhNFPz!OJAn_2)!q?N2O&VgonZ7d=bGcrd^1)%Uu2_9( zX>Z7L>!lZ}nYRRY^9p`&R@2T2tkC&tkUfcN!)+8LWkuYX9QncU-w$>K!pAwG;TOCg ztuF%#?!vl|)LzC};N15q_+1nF$Rx*74VKTwz<&38H+3YI90H|Q>Las$!QL$EFk(T_ z+XkMRIFpi_Wx`?j!nvnWm*fbgca8;NF7<9IO}7he(vj{?pI>-_OsaswUCdPCh)j}h z`<`ckyLZl4P7ord?oZeVzceUHkVgOWqW5Wc%bNlkb=N)Mqj6mQPTnVB|4K}$=5_iG zJUYy3zYm2bZ#)aJ`rIwND;X8Hyv3r?QX9VFCoc%e%~UtNZ6+>u{_%xKwTYQCauf75M;yeEPJ05t-~Yx~IO}hWuMPjj7>W3AK7gcu z3EAzF`kN5qe+e1Bn$doj2>+LlZ$()__x2!FWa=#p3*|pokctlAeS|3@_#xfUD{wCW z2@S*a0e(o2=RbrJ;vbTI`u-1*0{=xMau%(VHx2WA%UK`Tl9=69#QhI zQibt63u8&5fQi0$B^>u{PZ2vdN%8Fsc;dlAvz?RnGX9lji~(@?HsqeH&@eFTyjx~g zd6LcPCBO>W%HRV-0a>IZy$J(G<=rcOw<-iMjhshjZF=1CIOl%v@_gPexq(c9(^#_+TKJ2nH6VYMStB|1XJ`6w6i&<^b$;ML=$8?Sb2{TQ-24YiM;EK>GNt-%Kkgv(7L|)HW zZB@j?xJ=K>5p$O(Wi(guh$c5n)y3f`4P&BibUI&1dMppS#~GK!Wc6TJ?RLP zy}4-+;cCDF9PebJxE;#+Hont5)_S8l5%QvLoCpST<5=mq3OBeJIXZPpPqKMyp`lA( zTm~kf137#@+_qdnE-wOV?m~mGi}$Fxc48@(3$a1xv;{ukt*Sa&@wew=mWUbUr@sUH z6ZTk(Tv$Q(`@MdDiT8^HeFbo8pmN_K*|zDy$lC+3Mt}Y@FsQ79k3dKCuy=MY3AW{L zeO$tjwJdpDvef6b*~=w5zBzl1qUevTiUiv)`F9#m=A98 zIb8c6<^Dtx@PDOqe^IsIdBMCeziKBi1;L((S{h8dqa(Y#rRh#KexM~xc0=1l|) zP{0s8jC^B{GJWsFf+;X`4DqRD@wp;&jIl9c*Nrhs9+RG;W#UrFU9*Abpl#R(09A4*h7+HKMYzfN4 zgr;QrkORA41Y2B(FcGPZ<6?2|NkBn>QSxoS3~Yd}I3AW?G5oX&35`{fpwkbOZIg*} zM3#NP^{r&4L{3%LuF^s%Jpxyk_@D|?xU)gUT2DT31?gx!<-1Ti-k)(q<@@|qmj~%J z`8iioI2X=9%q5?H&_$pHFtjL7i@;%|&; z$L6Jef$G|Chy-YEdxp#}Hv;iS`NnUyyo;a?+yyMz3(D8L{A4q74hCoE#RH?0_zvIR zNJKPo@lol79M)ckKGSgp7Vkd2#0FX7{HU|Q&&^n{=z&k!Wduc8a_5yC4C9{i2PZ1d zWk#15n+)leFG+QAQ~)_O-yM~ru2pcqpFJ*ro>$y}t>*%n?P<_Q(NHb7i0@_Lz~W*x zNFRwJnx5=W+1b)F$g@BjHeE&H2-!t`my;dEbdghif|sjhdi%~ItM^hYO|O5v&aq9? zB!InUA!o#98%(}|eP_UXZL}y`Uaa+L{-;g&a2YF_g4d6=Upl~*8cCi4{>67C#6#|x8k=Txi&myvrOio^UIBl zWcdNeo?txZP#V&qd^q@st?-HRq~40EAF!s_^z{YY>s30$_Q$=EIQLh-T^M5&#(R1& zpF9sUu}DRShQ)LSqNr`5`Vd0g`jAmp?RY3QR5vq(DS1Qrd zmZ;Ik+&wit@Gs`qp-tYgd-p|;@g|Hx6UjOf{%^N`x0L`X1o9jT4e}^F>;hfx$EuHJ zVK~Ex*FK(COmgAu1|rU!0vAZV>1YlDqmbA@Sw}u83X|eg2%P-ya@p zm^~;YH4f)k_WD|C`+l2n;UlfTnMV|DSuJie?1x$4)k>s!BqVmSUW;Gy-Ld-t_F0jT zai{n_Q-Mp}wS0t$NnrY%J`?6n8}UFtIk~5Ji;-#qitjVmJM=< zs)-M)xCQWXO7$1AECwvXO5OQ4xHe&B8G!|R)q6d0#(}!@GS*O&i1rtf#>UGxha5Cq z%=-F<$-hMmO>1;iR%j{LojJ z^f6wzKgZZ~Hxl+;xsHSigV;n61LG07HLK1s;Z_{2X~ER{uFU*}z)#w?Byb|UD}t<;J`WI49|M z-9wN{TqP2Y@_^$oKCC*qv@o-gNeV8lsrOo4tlNJ}FwB@dNqSXah=b=4!!qCXx)vVU ze^HIPu#AgX*%#Y{$Vv08J%A&OllHp-1ihC=(+u%r9M<(YA92+Z==FPch21?ndSS7e z%hzs0(Yk9D@qd{Z65BKrFS<-ei6%r(T=Q;`%NEIVYZK%sTCk(!j%j#_6`c@e>Wi{i z1<)9OmgAlt*1#F}sR_kZ%Kb28WXes|Y}>U6-}!?$xQW8Sky#<2H51l4E5rj2fRepd z1-s(DTECs^rj7V5l}9fnuSk*(ls-R?9L1bwtGIYL(Rq$OjYBL19 zz6CZsWc_%PEg}sI7uJ&(&AjLB$++Z#z+l)!C{Oq^Oh@55PmaoYEBGOnw%L2p;(+H( z@ks%{%3awz&7$M+W4KWx_8rO%u(mxPh;5iiroFEC^c5_Jiy5Y|MQqPl1GM5XmZ!;3 zec`O<22QJo#|+W>=|87EmL5@W}fm}hMJjBVStjWf3O zjBVT28QZpT#veRX7|NBkc2TQY<0I8@MMBqGU`_gLFr_d?(!8vP7 zu1oxR+)_Ks3e%@v{ed;=(JY|B3Hb@_y}YBHh14EfKTwz~>rQR0>T!jG{=LzbZ#|aY zfqr(2$`%IV(UfL=TaoBaKPN$xNg)t6t?i$bx;fm#daOHwFJj%9isbr-Fp!A9%bOEUS_7i|rA+$&O{L z*eNU*Nb9Q7rjr|}MPCVEPJlTl6roTp&N&s9Y(HzB6-bcs%>E78l^u0zqzA?g1104y0TKd%e1z+}f+J?a+_vUPPS*j>XczMe5~V^xjQBaiYFIxzXpY4bh1rEdN>t zRnmBXr4m$ZR*6rw7ROM6>}%RBM&JMJeTGXQo1+=7AVPq3hrvLRi%|W1u*oG$&xec; zrfQ)dB$oZgI-_}g4H^`9IvOqaj-UO5{>?`i!P)_$NZaN%dlggHp|gQtpFCugA-WVK z-ww&%7)Y@_sXx49Z0^2QBBVXQtx$i5v|bE@ z4Wb>q&VPAWYyC2pY1~?yIHn03MY4uq2@cZy9g>_7Lqft`=ZHBW3tNS12t@u%q=Cl& zpF{+pSeUqnlI4a|%3Dh@VK%h+PT)yEkrPG{!A@(62$ZPG<->apOtcVt$_5)OH&yP1 zGuKp<|LZW-3ZrY_?3=#FoMin&w4pkluUVyfOSX9Iu+OT!I~ht}OE)8@>3R)_P-I4B z7G|2-jrudiv;#hL!29g`btc@7{r=@Ek#q|1&t>WXDhE(t0W&x)_WT0%7Iw3WUG*_? zo?JS3nMncNqjg z$y3qk?)>SkJ!c6d4gz`V)QJy@sg-NgsMF7Kowf7{vDlb9ceeFhFw{+D57K9%BXRj# z1g(y;7$MZ*GK8f)A2%}*P!oWbVCYoYd*l|^#z%t2;afx#0NH;7SS6Hcwj!57ka4sE z^+>ru%uRa+KB^dUEZea0Vj@0V*qj0&^mKmTe!}^5!)rvNdia<5)_21hG0ly<-laMh ztc<(V7VM^TMBfYGRzxM2BznKyLh_7}XIRGaJFa(F6;ZZs-x}>#SdnZXTh<1>P?j16SX+FgWbt3501}cu7ec~R5;njX4DwCF zgt){GN%e0ms@#8`r%d5bcm-|GtXNSX*94~o??UH$n;o0IAlc_cP@6w*J+;~iYsujr z%)hfR1-Cl5L26%5g273m-cq@jG+gi^uJGZIlOlx`3<%{vXM&!I?9%hgkT7b*-XbU~ z;Y0~SR>9qQ&LkjhLAUERwcR&aLN-Efplu6Ln5c36a&ir>czT*`>sWgX!5`< zw1$l!Wc}FU9q3Bwh9C_KP_x$FT&}@ybVK7D2y;qVzxrk&goO2Y>M=kFD!Rj*ij4{>DWR zIM$>l(}%~`cBjP`GiL$}Vf^pW5=V_|fzPR=uQx@LKL+NicyM2N3(w^1U7`UVzx(vf`ZDZ6ic}!< z2|F8?G)fSCQqY%(xx0(Y$6wqZmouw#yd2j{jEggWw;c3}r8DE(Z9b0XDg;9OB<~*V zgiSj*=y=EK@v-e=<+ufay1AgBni+Dzbf4B)N=0=gt%lJx>)uMjf}BD?EpC?D;DEiW zAeXM5dmz`lIj;qGvfYqh;($wnGPb&J9W+%(c@EOie>8$YLSLR6h0g;(L}vqF&_ zs%KvY7jJw|H`7U!C3T@BK^x0ed`9K_pd3msK}MvNN^}~yw23F^3(q| zb}`CCvHBoQ?{}5GxFG2Hxcr9A)>r?&|JM4v+&+5%hh-kd3nj2x)wDzh^)&H7s!LD5 z(zz%{7vo+6%^BR0jIGY0->(PC(+mg4D_@DN<;PgJQBQu@eCHHKcZoyADY?16=n9yXb8B5=vn+qhTuuRcm1`J zlB6^@qKZ3_-$uJt=(h9+aQS_4sd7P-(C{FbMUvfKZme|l@T@wd19)u(hYhccrCkBu z{DrFXkA8Yxc<-^b9DDCT4KxeZH)nZv3=esOR8`l7xO*0{rlm+&fA}xvaW1v+HV)2r zP=LvBD;M7otwucy{P?>$l@oiI;dF6geh<5Mq{xp%tTuJXJ$SMJleiQYh;F<=_H439f?+VMBbkL<&7UVVo8DOg& zoIDBHjr`hQuF0W(e$lCxzBg~WjLw~#_9vgGo#34mK3J67px1b z9{nhiYD5~X9C?bCPM-UOe;(^Ys3}dZqi4l-G0payBcaz$#AvRqE8pfIV-FzVz@j#$ zMSjht?!}l$ATW#JOu#*QX3Now8P^?qRD%4_WDH(Vvlm;H4xGw@I|~qrk7pmvra9i$-{sc;8TRRvnFHnXM270-SSRVKnRZKWa0>orUm@d zsmF)eF;RXTyS!v1U|UuuU<05#yjC;$u2$)WZp?r~f2cfMRQK^v+xz5F_Q=GO)kXntK zgQ9^QZok@52zyhwS7&1h)^o+q5AxESB}#siDJ$8mjZN3@B@|R<>fwuz4=@e^i36>~ zW%MTpbPJUeHnxPQFDQ}!bc{IKxdLPBTh>E3D2zMxCc0#IKlTH#6H=4I(hr9vcy}Pi z5BjX(_-VYGOW&a>=K(sgzQRRBF&z*uN(-Fq{#`V?jjVry&^mpy5H2jc=PZRg5A@!` zvAX`PqP~0+>T3Kgp9tYB@d(Pb+TdEVv=Z&o`Fj+r!yZ~tsZF#j4*Xd_;8n9%!G3Dp zO(@#h#^j`eRZYBbOk?PKVgf;GKi_C~A>+b{bJ9Tf1%;Air~~kOcPaqYmJ`u?Hd~{p zaG>4iP%U`aqKIA?Dm}9@Y;b0;Y_T!_Ggu=%Wpk`XJ{()6e^V#9$e9DU+O0Shc$}{0 z?>byRfs7D#GI9bYw>>XIo$nJ`qVXoaRRtRpc}BG+$^@=952M9+_*h0vi=+F35+fEr zSl&6|C_J%2UOGTjH)1OAstO~MoQ@4a3eHo{ny;-9*KL2sPuFd4#t+VAXNK^dazjAU z)>NolxvJfOGcFw3mAEuPlOuV4gUfNrt<%Pmoj2(s+;sg-LtS>Enf2rQD9w!``T)K- zW4K`6d@H}Bh1vzaE1o(7e-;|n)oJVW)MI1=S5w)6+zC*@V%kYAl6(R@C+I5;5NdQ0 zB3;em-1Rhq47PBRij)NL#^pMUl+Bq%618S%zN z{PW+cb(4+F5bR&UxEvQ&=Od?#!K~ylrO2SUR*d=j_pFs(f8U5p&|eX|+?5f1^qpsB z^8B0+Re^x<>PC`b<~4$3CcNFMOye-;$PZ@2L|fNjRR}foecFXD%Q!adDu&D1b?=*% zOf=M3@kkvuTAQ#;rb>d11vUmG7QZo8%E>ikBn@&vanXdb~Z$E>H;DtL3*`I_xK)6Ir&eu^;A<0w6MYb4$99zh4y7Oq&*FA z2Z$KEqB13#rUox^0#Zelc+Mt0gvy`*JS|%}@}-d0r8>p9D)zGkAeWRHA|{ie515UK z@=7WpM89x8>?PDwh@7j7hLJgB?*nPG55gE!E@_ixsHou27iKI;RO7Dg9>ZINzAb1& zV(O429EQ8hDTA@K7tR60V)4XdgG^n=0JPxzwL`d+g@Lf~fU-BT9#EB<2R>a&Ldr8c)WnXZgP9$EZwK;aIQp~*{5teeV zQd#J?!R)9J06=BeiI5Ynau+CK%;Od{chR+|c2yfXIBFlS(0OGwSKYWA9ZAS>0MaV- z9118(^DBu@Mw7TZgvwYR(4^!c#?(bH5Vcieg`2|j&_^Bx|9kCqfqGN>{ed46W`Az?{7&Nnzs`eMK>TX zQbN7?_vNb~tL~n^@AT1@uaa080ID^4g_fU_*c$#t?-fjN-RLDDd=`ea5h$q>(+;h? zB1G2D5t{*ril7GK|yEQM%0B^L1s$ z&{`P329t!kZFDt6M$gD7gGxrSaVWF_(bw~8opWYl^DF!I!V$3M)YL{ktp^}+ zfN%9*>aC-5KR@9nD$AcEnc+M33CpZ1%bNezUC<#nzoJoV6%=9%-z>bZ3oK1I=lyI5v5LW9vY0Kie3~jS zrknK=1Zy)Cyand$z{|pk(3tV-PAp4O^b3dl1d?|K^Xtanj^sY(fM^#vdDi(=`TCYn z!FX3jeC_?rc!yUO-PrKSVC|`dPK;r?Ci3rWjCXKy3{LNpDQgvhYd%lO4)v0)Qjf?2 znCom_DcdZhub|13p|LtfQC|VoL^~<%Kk8mHASXD%@+qf&yb{yn2Tz=D_buRLY^p^P zx+gu~)O`7P6b02p&KOv$iU67PFKdVZovJK38+Z^;`UZO&me4-wh+@%4ELD7gV~ z$|7HWIQlzWQY@+h>q9-JDRc1%-Y0+_Qk08IkkVQ6P#diX{YXJF+# z*mwf?vSP+DJWPj&@nb)&0uM)X%2E?2mObHYRIej&VO-cldv#s-54G9EG$tZPU7RSJ z$W!G}M|F~#oqd&CvU5+kGaD|GCf=rn?Ll61J@S)vpukrNB-dHZ&2`9!|Mb1p(RgI* z{PrNO@+CN!1~{k1sjZ4f3dsRQg{+>d)@Z|eJA(4M=Dleie2i$Xx81)<{qfNTWq-Op z3r4VpFV$@Cgy1WoDaA=~^)ZfZVr%z=?#1$y3F4&b1GkY3kCe8}ekMRkj^#M)aX%4+ z3VgEtWto5}b9m?ups_@88jMe!=XHp_ZOWjqS09$h2BguNZxYuIJKm0{<}gBI3wB22 z91=p*_&MA&38ZN+m4xPY@iWm*?W8G$IIFAgQ&}{!x7A;cMVIUIz%h+zHWfoHUuE6k z4~6U7NMm7q`gRvfAS74vnwProL65(c$OX8`6dF$xA;}BQbK;3nQ5~xA2O+Wz-cLOA zs8SWD15#L-Y@7-#3*!wnn}=+i;+FHFlB@kP8Cr;6IJHMO-Eemu8l-TKR40!l*?el- z{A)^|_&+>d5x= zYl~zyr^Zy@ra7%9&|Z8^WQjt&D}!DdI~F&u08ERE&aNcoSnXF-z9>mHjP-G38+Bqo z{kc?}bf2xfJ=!guxVo|D-3(2;d1y3;Q`uKsVK0X)nq!W=7$x6DiAV=H%J)l|#b`Es zxSvhw_%IAaWcMBS!mOZgI28#hdAJ2igOrR!4Y>&i9>L!iuyu7S*;6spCaN^fIVs6m z0F6N)H8{;6;3SG>4aK^(6=vjty$3Gz4kte)m9^Dt7{dE*LuhAa z4j`uM$(Q@s&a!kk2}-FG9_q|16w|5V0K)@;4AVBWaQR$cp1U%NGBt6;U-n4$&LwdD*!Z)nK+l2&Vf{=>sJpLwxkqsHzA45gne)u?(?qkENi z?5;MSt?C`03+S9@k34a)U6?mE48CMcS+M?@*#6@*G0AJ=%veWPLr$CF1)|aoSfY2+ zf5Gv7iImoLsz-c8|(6SdIJ!(N#MEqbGlJTN1N3|q=IK4psoB)+@y#?UOn z!MCuW*Y@HIow+gudxGCezM6jU1$_He*&Cz=#rJmo((7AG8mIq$vol>oJ^$v}TyBn` zvoSCKJz|16cDxp~I>*}9+KIg>V{83>ljJInY8tB(j8h=!Xkmfe9+Uk}0e31ci9`Bf zRR=pyttQ#Jzvs%O>DARn^Gy8 zOxqH3Eh3ndtK{UkdESYnxdk4#s3?sxU`4RsU%hpM$#QQB3*ubl^Mf6d3y8Lk*Dgc2IAHw*Z>-7f{64GF%S9B+fA*qUwwy5!ZePb`#F20=qbi z)ud8VrHo?t@g)94<{YNqB--qBS{#Y7L8Ww3Li%ypWsp=J1L1rNk=BW@%oebX=`A4} zF9$n@L07GGA?{$Wp~_m){q^VbxZ>adF;;aA=8dHD1>;bFmZE`%qHJ)ZPGPc$bvz3c zv|Uk?>GW^-6!=?h|FhfB9bg@;zXqGkAA8>W%4orG;_t0V#WJ4g0VF8GFh+4nUOn^Y z<$~{o?}0?#cBhQN!3+%RugJNb3QrL2D0g)m(DCmCB1v!!Ddkk|XF#W8#;S*m$+msUkQGtnEiCsC{WI`cy#7qWetwln3M4+QNPh`L83bSei&TaDAg0BW1T(7@OS+8n1SVF> zwDch61ewv!N<$*1Wt^EIA|nny38}*jgE~^%>7VI~G&HHI4-tt&`L}^VjS)$>tk#HI zDZN5+C|dVY7|vBMum&)YFth+A;!I_^*SML|(WKb*%y?JRe}&|Vd{LY2fiL?dQ3zcQ zR+emlx~7A>aZynz^YA}5Vyw_gH{x<B=n_5rjs3*3?XR(5)jc9IED1clg=X5Jypkwg=5 zTNIqfvk;n$4r9-=xPuh>+#Xbd+?lh(Dm?PqK9^&Alo{4P?ZeekcEs~i1RXd%-o2`x zf~likaH>3vq6tai5w9TnL$R9Rh5yw>z{p2H6g5dTH z7(_wGS)+6tl4N&3WU8S4wOd%Uo1WT3CYLyRm=li(S9!=1u>_^QoDnX977C|k$~w2+ zhKUCs7~+TYo=Z6}fF?Oknrm01ssK7{d8)8l<&0}zD8;=n&SPlwrsJK{RWo)HUtVmCT!pB(%`=58sKe*xPX{E<|Szd3rof*1v_J7{X?)!LTgOlMOLq^%iy-S&Jp} z(QOo-v7(WM$_}UR5iyU}hG5EtLt1Ksi5?})#j`%{QPE!vWoUGm0U1c#V9KllTbcPE z`ync2Tl7v{#QWNQ~%wL+z|L;E9ysEx0MXdE39_7y$MX9}lNb(x;kH z#XHDBotZ;Y)wqF4JdhC?KJjEpCnNeeGpZ26q=~aBUTDC8@RSnK)B}3dCnKemhW|`fk^01G z-lUx1E7C=KW5^2blO27~)1xD#yYf=&p~!tFOeVga5@aFXU!fLqQFoMn`IN|sg?(~A zUK~SHr3;Gq)QU+W1cIHDQIX?=X6(EDI}P@ z@rZ?#MV!_HZZJD5YSD4v$lYuZpb`!l2S438VaS(%S<3IiQ|hs3MNK(lpLpyK?<}in z8A)qbSy%$@Xw66RCfIxx-9UK6@fQ7mQBKt(Udu3mhHH|z% z3U?|e%{hnd5V<83SI0>d&iIkihzL0<{zX$6ZZ_(6g9NqVnB$=QOled!JtH~NZO7By z-iTVl`2K(ULR3R=+eWzK zNxNCGxTqDl`v7ZREsxq3>U7lAS*M%25L0VOFCGQlDJW2DDU!cTiCL?vWY>x}wl)&? z=~Pq5?z21Lj-{4hN!p-p^m;iI;@Gf2A}f z))6YK7H&6`8c;bi4aTl$+ttuq2mb1zNVzsH5!}hX^ zRzcCKbP-cKI$LWAQoH=%JDBTa!DU!YPQW*wi!gxL{L9|}Q>OwTw0on9*Jhk~NPd;g zivgWs$4*qHg=jkoVsnr%0(9Y-QE_^xm2-vVxhKtQeBJD$uskxgl6duMxKY1$Tse1n zsKL58wty)`3VgJ%?+Ei*nwE)x0^Z8T_-E;N^S=~6ELm$^R+)u)n$2eN&Ovn9WPr4L zwVjD}-Ra{Utcgn#Kd3mZ5`LMSp#aRM5b zy7Z4c+Wv~+w%{R#H|-A^RP=lQ^0Y+)R>uajbS&Ac(|Y@N*{c0?Jq>MvfSc$IOlB!a z;N%pj-JmC+vGp@rw+ zHX2$uQ%BEnr!+j?Qva5oO?ByPWjzqgmQ}CMT&?x=b(__ZNTS!hCnUAR`~c*4-FYhy z^0nDLuf5)?4>k0o+bVP$WE(@cp>n_GeGd73y`+lr$I6a*=675>S+FG@gIKEOL`E_; zrsfjFgwW|cJ^RaIWi3&zzxNY#AJqh(R1gyZ19l002&5gLlvGWRcGIkn`ntEn;N_`5KPR-K%M`m;10sD0~MG z6BPg~aL;`bQQDs%O)ywm|F2nO8e+V|nYz&_D4YQdOIWR2wRyzF5Zg_tOr>)xEn`Xz zPRHI*Jj75+OxC0Ena?m`j3@8guz^|?m#QX3O_4rrIkcVmNzmh(TfoYNU1+(VU5rLN zhYs4xwHw3PJSQRNpk9>hr`m$H1oVy(gER%TUgejH2FfX?N_f*`j!gjTX-*Qjrj3qn zW+J+ykee~B$;z-BeP&ApcqW9e8#RkUSVqynu}elmPZ!946@_E;_DB8Y<= z(}ZEj@h51})IvEHj({=ts(2Mq1)4Zat}ep_)PHe2&y8g|Wr8+7OQ`%e=2yBL#c zj3ZC1#ZH58%T78A^m)HN#hTV&jW0mVj;bo@1o!oejUpOLLEH#S_T$r0daw-Hle_z8 zk0iF|rre8SqS?k5vHjTj5Dak#LU zuk$Hxb+PfVibxz8@24Oo_E3q!(G|X47N^zD6je@W)`z&XH?O!sv415Zc~YcA5|NOp z>7`M}D=H-J^pwt;vk_FPxRRWPS)FX9HmrKPv?8y6det*XJ2s_Q=;``7d?h`<0tt*Y z5hFKcYt>-k&;TyIciSjd959t3s>@L59p`FK(CHI{!3Xn0o5!Rqg(PTGR$Xg+bBCUA z=ZBUuZStnMtIug%kVvs6Ew~ydgGko!QtgSX5LscD_41`^vnb@xu=3Tt6Qn0J;UtNt zZ3U)NSq`y-kFUH*Ib^L^7FY#a`sO`vtlNHFIl3@f-2!NS0Y`3OQ-U*=ub1C|@tfE} z)Ik@$^U1g#dl*4G3TCz{2hnP7_~nJBSdt{vLbK*Jgq05?MDCz{5r|mLF=F()H9~3@ z(PU8^iWg{%yMwQryd!g>6^4$OL`UZ=2sq(W>0;)Dvi?(r+%*rE>Uv-uLb;a>G9+fsg2 z;Rv^(2roy+KAK3ZKOek3`1igY@p^=^0DV27dG%`)6j*XO7=X5UGE&m~DZum)x!@X~ z*EUQ~{Bcdk$fe$*M>0}pt-PLgdTx)0z^g3mJfl`Lg<`v%I? zasOv-wP|6y=F>=Evss%5?K^Z2=1*6~4aW<~h5XX0QK+WL27d-U!6f>npn+W4x2dR40VQ zRc+=c9II4O>7A%cCf~({}kGtXY~rMAKVXmWTE(BPc*3CqICAu`1bZUFU_Fpt)yBhu_1HMA%N>pLJ)c z>Xwac!);?x*tZI1i`1m^g!~gnNi4uh)Myf-Ac1hFOoXQrCHx?%H60SD)f>}UBcgNV9 zZ!8h7^SL?rrfEolgn@$su9tWd-V2C#_h>GPJc7<8#HDfAEo-ql9TMv#s0@7_9B_>R zQlvm0r|DeyJBhj zOT=tyy_uEz2)R)1--an|XQYLct?AyJOA^cv{5p2zf~B=zx0AXYi1()HI$q*e4AHub z-8G%%_J$Ip@Ebn7jSvoDx$!_d>kk;h@^8Vx*tB2!$fFJAi#IQ_OelakB%@dx+-D3k z_F2klgFIzT58gVuhQ9!#?l3cB1n~N{b5kMPN9(Mw7@eJL*mq^7dGWS>S&X3vI^uj$!%<>g~`Ij9j_*r<#2GWzI04*8Zpg6U35V)%8E(* zTCpRI7FT8P9$$?pqWS5xm7$ZWZHbkk7AFE>8dWSK3C?nQ#qfY2YyEJy0GDX#LyC(V z)e>|hC-8+cKaRim>Wb*>U1+$mn&v#y+}%ZJWSZ<`;UF;CHR&mXW4~BK*{tdmU_hn* zkXfN*U{&Z=l3eZ?S)bTASD*zP$jO!fKI-u^o8+t#hodFmZ!i-%jI!-Wz&m69&gao4 zQ~cGq^O`?C$$15kzk-zP{3{~xT$~&4ehi=~|DE=RpO`l$3VeXgh&>Y0;C4l{oh$)R znA!UJ{QE7_9$OuN2^Tu>A3`B%5*JE4DyQD7V1K|t>gre`W*_7}0d>hByq813SA?Ewx=lh!0gJi*o%BZW%Rut^~q!!hBaer1r5D z=b9WkS?dY}Mxdm-edQgwwN1ZOKc#Mi@k!PC%HvX#rLJyS3vJpuyLLIRP#?3ml2iAj zl3g=b>F}aJa1zz10Bu_8%?YcI|5r96)d${&);iePJR}W!!P(_5_*^R)Un>m& zC>o$ky}dj>A!sjacxY4$7saYz7oul;wMr;vu83=tmVN2h2_f0du3rx#uQa5Up>9T& z>Q#L}l0k$3+hA8<=T>vv2{!TsRLQ;-qm>MiWRPMFTU$|V~8idh#wnCaQP}cOQz*M{P@4*bZte z!tFejCHlbY#dhZ-dok$t3~Dur>;Ub!dv!9KK&QT=rVU0GZ&&hNp4@d0yV!F>4LW177*@ly!7O_iz z$MZ~roF1#KCS)nBmA98o)NtVw*WohIoz98#;!7zBX|?dT4!v&`iT0%RMDM13rtLMC zqBso>eYq)I{B^AeW+*yjDF7`;1pp+E7fC)>>>;#uz)k7^mtS*_QikAQST@wbsM0Q; z<{){;+*$aVRfI8{ zTVKo%hO-T>(2h85Sivt)Z~rw;FC;?7eAXd-29e4+f_#ZBCM>+t;t72^FgLiPk{?y% z1#QvN2qW5+t)r)-2av7Nh7N^sj;y>yE!gYwL7?L8*i60=uQ?5WIsKcVy7Ih4=QrDU zf`Q^~@Npyg8a}vfLLPx%ciUd1*je;w@({6I*x`8o|(o#@0gW*T%Ko!c4D4+tZgCI?EfrS>_r z^jVjR)*t3V2hbQV)!r-*7b^i%SALi#Z2#nO*!50Nt7pmj==DcTbea1AocQ`%6;Fo? zP`^zZ@5px zX1$KPO4WwJrm8-ZZin`j{Rul6d7%%z{Y%5Hu;rUy0q;klp;Sg)e8vC>s7D^`|0*=_ zd*cH(ZE;4>y04YXL|_{QOvm5gG$SD-)5ERTh$X1RHlK`Iy(DZ|xEs>a(SF2f*&IPg zZ8Dk#U>jYsSR{S)8&ipFdSeTG{Ct9Quo5Cj9BoX;fIUSm0MqH5{M)b7>0K`GlciRr zgheB(zE?-l(Hqzdp&j_=m&Y;dO^+>(Ez$t~)}apF8UKQb>{-Z?WipE3*ilyR?6JLr zCto_$s?qQVlXxTo6Gcu@e4xxOHSfpM0!6kqM=@U4`rLDBG}QaoJ_CE>T9?2`y)UzT zh0)B8264RUcD?KNir?}*6%kIp6-}N;1AB|6je_Uy_vwxoZ%rVJdqVb(!VuuC{H#aE;_9yK z=&ow*R}apWRNc@TEedaA&Nc+zpEESf*2dbZrqT=d&f{BTYFArbQ(L;MXXOl}tUcpw z-Wquo7(w8@mO$ z4zbKLfjEEQ+9hgkGrXc%aJiP zR=h5c5>kX0P~yF6p2|Dm(K2J+DKkqSTy#ULrm-bG+nS((IS2s~-+#w#S_Lo63R0kA z5q2E8gUSB^QY4*IL$1$<;zm)iP*_;o8mvwY*Khp>7Y&9Q8~z2fh9R!W8_!%k`}qKA z;l)l+GaIEPTyHN5-Uh(Z!W&}SH<)UAq()&#j=W!3gJUU_9f$4M_;$ng+ZrT+FPqP_ zI7lsWr{s1mW#TGC$zwBrE6e+YvZ|Pdw6P$637uIWl8e0Aa<&dk7F?ilSB6)_6;Wd! zq#l|JRj%%mcMzgCB6hr{ytvwrqcxVz?%cB!X&EE}XH}N36%t_I6s_;?>^zC&A`3(q z400ifTluwu#LJqA_nexXQy{|=OGUq0#$)0luLTVeK{}{`819wK09i)Mzgjehxu9Vx z$RM<>VA*h8AjYXU9w&T-(``%gPb;6n*)4=MWNMW{qF#2xs5WC}pkfMu2{;im$|eF~A9Q?u@xg!PUE)WnJelpkFZ8$9cnh^0Hu(sBLx zc0PK?0rwcf9KyyK>_!eLCSE1g*4VdSk;dPe2^x?tMXJ(vo!FK>^*ExgK6tu~ju4#a zL+FZ1oL%<@vMwm=sqP<5w;J0 z4fS_MIQqv$wY^#69u>Ch@{!NoD@wgVYi)OZg|5b6Z`FL>yaOx(tHL2(-CYVjzIe_k zl9964_iMpgAjTmBLV>z8RKr{)81|Q|7p~2CHXN0FQsXiG74%x2^`ig!sOjUsLO*mP2C>AueY;mm#tZ#9tw*`Hu^HstX4Ai`q+zlA0O#@>B@;pwdY8 zzwj&>>jdBV^jpGB8u=MWHCKtWFaKZYr!jru6U2=l$4oB$p1U76uFFOoOw6rk9PXLk9XS`bKCRdmhAL=KkrsWA6g<$8aUo4Vtg^g za|h>29Ue+K-lUn{2(f&UqPiuAq14T}BQCO&8% zoiaW)Mk-$$XFR39LH{F0c7fd@BZG&ynkk!twplsI*2K32$&Gx#%boq;dpFt zXt%*xZMPD$I7FR^ukFpQTMgIFnaD#f6_Ql1zU@%CzU|1B>Y8sMJn#u;vg@3#up5{boKcAgzoD~GT`FNIMb-g%Wg~ki^JOyaEs?qOC*(A)|0!#$61vy%DQ>S%8lCw;TE~D{VBVjl{Hne(qsxv+)aGnqn za390|#qPtfm5kX1A6YZ7hd%IEkH+`Gs@^<2M(VN>G)hBp2&Mzrrz3-SL*KJ6Dg1v%UmJEyLw!I% zLw%|KPms8&+oiBjskjU92rYiNz%zaSo%3-vyz@;D1oTb+KXdFB;4xa_wt%4-{_CtI z8y;jD!|Fx$6Kg!-Zs*WXi7$oS$FTvdk?(QCf zy9d{cJIi}{@BO~>?S6Z9@40`>nW?F+uBk5T?&^%`|D`4QdgmtSw0|hXXoYV5()7Ep1LG%8h2iQ;! zDxrmfDxv+G&Go6{&?B^e*lKwTEe-QGr?AO|m*Lx?py1p8=2ZR412lE}A0UJlnAiWb zM%)IoN%=Rt`8D01@hd1O<5z#a-Qx@zVmUaH)LQ5O6g^6hT7O0VdPB#8cL zo{=1OTl8;sv=|{yPrpz+{TIa~^@1j_mw(y`5-%UnKKI9$qK?hQX+xPC-!T|MLp-6apH_pG(m* z1j>JCwKzvW{s+DL6@s?f-^7uOqhx=7A@2Jh?mxgCPUjbfnk;t3Tl?~4;lPx|Bz8%y$BlP{2NBH8fqyk9ttWe{%;sec5x1tzkaOT zETZq&xj7_wSd+8Q5pV#Q9w?|+4xpDK^Pqe!s#;&HfSI&}sH#WC;a3E2tm%cmtkk3Q z6)$wepdgZBKcqrB5CuJ#4JlVg#3Ox9SXl6Z+J$kmI-@376&4OT;Qa})7#ZBe{Z;D8 z$RW)}OV(RPrlv?NiKQ|TlW%kNA^r;*=KT6~&wr14 zco7ke|9u4705XDLS^sOqQ9&#q{BQqG2$usyU?onx!da_KG$g>=l~zAKJXGwPIlTr0K>>admgyrjZG1wirV z_Tbp`KweDaZ*lEfz~|@7O^=5~id&tv!UD(!s$yALtcbaOAT7ri zxw%boD>t!Zrr0%in{r_yV(f&3Mk*lkKP<{oLuo$Uui?EJ&JR?`t|-E~4?eyrXx*T+i!#zoSOiureik+=3hwU=lmmCCf-`jnx&M32atNgJ&0~Gd?X+ zr+KyIxs_aF5u&)-sT{+K9txoHK_@Tsqjl})-MH=`x=F;Q2qmvIrT3GucTCoNB(y?% zim^|6ii-9+SF$u}R(%SS9_tH(XskWF^;P2O!Y;qZJ1Jj^HVLLKWLx;%ij)QVej$Kv z@`ETkGrPF&qa;ks6Ho;r^?fPUz)Mz~v8L|%AyHJM+W>Vo z8eAhbXsTi?A8kY`K4vghVs7#Xc0bsmb1yn9^=o$q6VD=zGP5@-Jf+ah z8jM_~06yQ>A6j@E7>~!hAJHMw-p~6wrQ)|;8WVX*0N-!>TLNaBw9~1PlFu7w8el?t zu9oNmoQH6ko#iC@-zVC^=%{zcUeUe9DS5oLvZ6^PAF#hOsqE3WO)4h-{ z9^MVek~VX(y`)o->tq@3{o)Nm{2**X;m(#|;9CZ<)^levUM43TJ|A_!y<(p@<>VKV zP4vVm1RKt|`(DP8$4XG4cBJWI`Md2kCR-8=FBPb-CA3{b{pA8_EbOcA2VOCJ(XqQ(;q$4+!8`pGYF4CAG++A}EMPv$~x8z+4S*XE+uOuY;B20gUR`zZlY zUDVerv6YZo%~@}Qsu{aLM{fPrbLzR{C+_2ulZxSlKt*!_|07JCwbZFB$Q&kv5i&Zg zJ!j|kDrWp~BYvP*tIkrxw{K8c-c_LB;9%5yDrEuN1yu{6R=ZIsFGspJZpeb)nZ(%O zqd{6U3vaU0MeBF;3!T}V7|yP7`F9|)lW*q4%EG5IQ3kgN zPs!a^vxhzT(3or=I6yLEBBNKXnoW0f3aV2b78r&lrHUdFkV+)YR5BbzoBp=DqD@B= z$7xT*&t|p&LR1R@rSD4ci7a3Jf9m`u{aZw@nj)`!YEtH!NX6BKrV9-Sm|Y!|%qk_>U2H}c)BE|pF56?2(8E>-UCzsjrz?@7 zSa5qiROtDdB`(lMSHZ#VA}ZqLY^=rhVW4pu+i=HTc%wiNBZb3k zL;Gdu-I1!}tNy~B?uaw=87GZVM}TUl}l=sEg3jvaQhB0eoyj{YGtDb{q9L}DaxxuqQTAd$o_$H z*`!8{g{0@>q96K8#B-%KLoC&Q%a+$)?c98$d-+{Gbp=7$=TaavWYl*^eHugeLjQi}H#jA%otGF*9Qo9l`Ce>*wgndL?u9>F(jdmkAC| zJT!0rWZcMxv%!)tKXwcaV24#m=wWGGCBLP6n~oLIg&QTs)C`Jg2JQ9WJT&}9c=(bl zvhXX?;WA+*Yy*~tNDIFBqg=~1+LWCyN&Am4SE))ZJ3KC_8WeuLfEvw}s01W-uCAe?3)W1E z%$@OVXfGkjk@w?{uU#%n(t9qgfm-Nlyw`=(-T-lTt*QSq{}Sw&2AbCrVZtia2^c zPPTu7J-}ii*73JL=ye#u6S!F08UT%V)NGo{0iIIb)m>LEFy!*Tk|Zjp$@^S01ecLu z{_{>2pb)aAI>Wr|@!M7x5#rgrJK1fOQ&fdCafTByA-X@6s+a zs$nB%T{|xyp_LmgS(AudVb4az+-eBA*6FA2LoUNp-y0dH)F+zUmm{Qy86mn#D7s9S zckm59dVi#zAsX&Wf#pO&06OjAGOho|N#cz-MRq*7aB8_+5l^vF6(OewFqRGomYf+d zOBB}S`ja-Nuj_L^{7&gprS!ePx`cSu0$FRA=4=aG$b}8$vU#n(I|H z*CU`=;Q;gFluA+4R~#SF&TSKsLBZIkg>euw=q^FIOxkpDRQ&|{O>k2%qZ}4j2Lb`$LOgQE76#dYH>TSybUr+B< zcWrvwG4lFhz?^Y$V4+%oi80@PRX;1x08joYNeJ_$DwGM_z66shZF_f1KY+ljNp@#$ zIAJTe)*aNmmdH~A*jLS|g89`a;##_M4pHmdBO825&wOfz&x;UU zB|f0-_R8F5DLIyYaJl3{O0M1)kJV0W(<=<7%JE)2{`3i9xMJOdNr8wDUVe4h@uVT} z=A_GZR39T>q9^!z9nqVjJ@n>%9`-vSL~+_!(XNHtn_Y(z&i^7BNWJK1iHbvP9D<{6dh}vyNE~5I@DqbRB+Gkl@;Cwzk?z zbW8ULer@qw8b%aoo>hzR^>MY5>F{#fRq=Ag$V>C*Q=>i>KMqQDvh0G!Gm5L1L359U z~Nh`h%@L{CDqqgirlPpUc{l2p_oVgU&75N{|iDEJmBF88SQX2bgJfuQVB7GvX|3? zlS2O(j{Kob?54Ar7=>Na9!<;R6|k7XW{Q-Pn?n#=-ELM52b38g$InN7Pk3t=|5pfP zN5JtfBVZkyl!{dGSR6nxTib@y5u{2Q8ZUwAzC)9%bXS(OucId;IV(O40{SIhmcai6 zyw6G(LPEP~U*6bD$o}7BWZ)mq_y09W{y)da0X($iqH_O+6`~pO|9@k0;P2l3Z$bJ0 z*4~CXIFd8{bcoX4IQENA9f4sD6nz<*4B9E_DOqNF8v*lA%}B>`0Y8$aNlPbMrF+~= zK^0S0o8F~+jkS&2*c^9+En9{=4E7zIjqSgj_WbkB+H{4&z@MD~Ex^_}Wat`h4Z8Xi zcy2;nuDPNV+v4(utV-UPu1e!cVvDi8+nnJq7s(eMi-};_{?XF~CtFdV9mMAirdf4{ zsS?Lxniw;H(Ch2F5rGD}MrW-d>;11%AcvX~X^JYuT1cn&v7zHzaoJ%XT#bbaL`rtP zFS36-ii%P^z!OBi14N|8m3@jl`M!F$T?r&MEGLs14Wj9Efz+10$eN^rGW{}W32>`OI#5*e+yv>8!nOTH9j(?4f{wM;&{?~Uq%&frT2}}U?=pP?8m65mg#D|t(K)h-cXm~d zWk=5hMtvqWHR}=$M}f@Fo#K+ywPAGfd5u@&x)DC@WgSl+kUvRO!>U#`>=*Ik;g$ty zR>Rl}pTXmxA4eA9e?4;^-P^GdkP4fgyZfo@J-Q6|rP`y31xcg-G)%qRxW^Kq!7xFT>`k!>@Kt9i5c z2`ddYEX^aT;qqvXoL#SdWr%(x`uB1YqtvcJ~e8wR3H^prJ<9s4QPN zRR*DsGeKJA7Y*nx=*E5rdrES|LHtNC*5U%n&GZHDgiaat^DD0V^uAbp0%Rd?pmY89 zb<0@EG~e}%nf(G;0}kP;7tHXvf}hu>C6RPH^!0L5^xbZRpB>&*|Cb;NtYt5$jyo0J z5sGg@jfm+esSSv2PpNt|TT|*0yZN5+UQJ`=?55J5CIUEizJ_t} z2$SN^7d$gdQOh1HC6&{BB!^BLhs3#;@R@x=WCV^6JHa<&8uvyJbV;#ySZDQ?jyuTp zWYY^F&MxV96KbH9qa)XKg(Y4NETqahQ$Ba9#`Y@@D;VZ-gv`DwdH}l(;7tigH^A@g zsc21h+6TK3x)L`@8=#D)O_})zPm+u5EJcA$77F={k>y%KpA3-nvM^V{j94lxZ5i!C`EKLE#;6K zS?rXvE_smSta(N?<7yO;rz6f{v?3x=m`BMMB*pLQ-Yx2VKJJK;?)2tL7^u;rY;3;j zZgyb0J1)ax_73INsUZ*DNK`cW2^mcB(!mAsZ=38diOG3vc}5|Y_b`u*bhTOQcYKBP zFGa1^Eot!fDW0?aWgp&JCX?YDoGE?2A=+NTLfhP)J>AWj#slVk1Sp1p-t;UrlMBr9 zZ;E8-Cdc(2SJS-%3Hb;z5EN>bD<7iRtII&879?i_7tEPG3Tp=K;MtXhP@&k?ASujw zrl35W>BDV;Ar_RU_5#PstO&#wJ|fKvj;H!6(oB3(CR_!MBvGP{v;B4C%{KSbx%(2< zfO)*-(%;5MtiW$t;aFZ33M0W&UbCOiq;;(xq@VBw67o<<!vwl#BhXP{ zEGDy|u|_eC^{p!r%Zpi>`$Cx|bwa6pxMQnCL2;y6eE_AiaL-okBl39x;@s`36a=y# zIldWzM<+N}B;7(Z$qc-z#$}Y+g$q5s%Jy$?S9iY&TU2;cK9galzj%n%uR{27)rr;# ztrbl!E4XA+py8cd|LOTP?Pn)Pc&b+GB1Va5MGj~pe8&ZF&>IG2O;eZ$BK})HoV|2s zp}tM~dO&VPCH>veEmFyibjp2}O;SBbr3{0K2##cd?%>Y)mut6-?%k9LQ~uVc!z>5k z8Hyp@SUnxcJ{rCb$&pnz@p>vjE^0=fkYVECZC`+6wL!NhIStX>hV%%BIoC{Z{f?h zJObWaW{1ony|nn<<*lfj)hS?HRGypBP#(7x4qZ(BkjK#@SLdUXgJDnH80!UhTe#uV zDaKh_yg5$fVl{pxhhG#$8M}I2uEw(s20P~v= zER=(Ocl+bxUivuq4c-{jq(Y@i=*sT)Iw`K?ZFYo-}UNWv&`O=`@||zHvCB zz)KFzQ2O++^w^ZSO{MeS!v!@*?-Z9!vg8<~JhYf8S-pl94`d;e?mxuBm}Pbwv-n(31Yih7$euQ!!x!q4mUV z$MhVwa%(MRpE`rvUTgV0JNrAu;H#@wMMOHvnLKDdTLvf>?}^x8Spjvf8Q?DwO|17R zN_0un#ntY=tPTA-dmGb8GEjpz%p_ImIJW4qA6-_+k%r-R%P1fy!$yaLxnCeROWdU~ z))K`%OS8V7-H8gFfPNf19M|6avK9RE^gY;j4kIMeOtPb8*5}zOlI%Flxo{!fIefTf zafRzHOthiHoy%89HT10>fOI-+fP~^p2cINP>ggT>hSQ`+U;B7xGt$Ta9ddNCSv0%) zu4@>bEccYq+v6k4aU0)j8EY+BFFpPH`3A*F58Su;^BxeF7|@Bo>LkS>1HRvWw||3$ z4VAA}R$xTM=m7e0=tsew{FV9JDwzJiqN?$PEBRD2+}aR>6l^5G;V|c=&`H=~IsHGG zz|pavwI2jryH!bIjr4v!B=xxLvbWsou;h<6AzL19*IOMi3S5N#!t+xZ!liC*ZSh{W ziR6JS2qhuXMliN)Hj{}s{0z%8iFbc5OuJ}^y`o3|8-xt_uh<~njj><$jI)W+N*y3Gq>9}v3N;(ibxN2;> za+$mA*wWno7Ofy9GXIw7B}oYqz7jM++HSS$S>Yz_X*R2r)XorkHQ&miS;>k{LlZ_w zRGfj%_Vy@TQAjgTFocOGjSbBmUK$;D?%Z)cS?8eLZhuF0EV~%M<9-~FPx^6o)ntp6 zy~|AjyZYEdnzv*yS4 zae`()xqGJ_jb7_Yn~2B2HtNpz&0^UtVJucuj{dPBEX#_C177=h{@V_FD+S9{tRd0zE7194MSkJtcC z&UGQ3CR+7HNxXw?&H2fB>D#z_^26?|)7kJ9JPaerV|(FjIy)@m`RLM7TVAbYs>^o+ z8?HR6@xdf*>R7hRVPei!C6@<6D@B_t3IoVlHqX2AHpAXfW7n%uxH!IkOk*qlZ3PW1 zvevFEZUXgy|EAqEXC2$a<&3lD$0j00Il>T!0-?gF-O#qXM$O7HqP>@rIj8rEJYRT_ zEQJbkpap9!QB<*m3n!$q7dz-&j*ep~*^?;8=-61NQj&MLK8SXwD=`VO6m6z$9~9Z8 zdES2AY$R-Md+`@FLO1!ZI}@fbi+nTf&b2Ft!>gTvKOz?=*b1((z^+R$HG2OUzwuy( ze08Zc+Os#nTHN65sp%I=y-yW2$$eeD2i|aT$``!kGrSeRom1@j#GC4t{-dJa*YW)Y z7ZdWjlhPpIWDN&b$96&z&&mg>95@bq73*f=lNmTF{=6|hzQeC*A{Nv*A}{>GYn9|D z;9*Bd(&_V#;;w}HrYRrRe@9WIfkSbwU-@`wJ(V1-%&mzyL#`I&6dyj0Sq8 z$X(WI$WJ^ekxdfDhG!t`lW~kmqNV%nQ&OArNms3t(1y$VecXudET34va}v=)d(fx* zN8GHZe2G=5E=^KLjT4ca`c0{et0ieL04q8*`R0UNJ;)%;s~~x^?3$!YH5VF5Ieblj zb}ds!XXVC&P#wvA?5Nk{d>Y|2R}C(Y9tn4a8)kEY#yDyWdgN;@3Ar|BK(|=-Tl?nG z3`K#Q*p@)rq^;Z~qLA$8Yp74RPD(eQv~YYhL%`Fc8jaMdTB8tQ~MFS^=wK`BTk1_gaf^<8w=SCf@K!m*K_ zYx1^VcL; zMQcT<0*J=W$86pW+f+l-q?_UVfN;`vQG9uCsgx9jE_Uc}L3D2yT?bfM`t-hVUn(J5FcX27Agq!`E*KEc&|oPrA89TOD`W z?aa7`^rz$*u9^s%H#Y?@u~Ep-Qs#JL4xUiW@%z`pU4>n+B^ zPUW8Fh)wuWn&10Yco|&Vy*;AW6Zvf}xwEsuG#rXMPj<(FZXK5$o0{rD#y37Mdj*~_ za0G7N48g%o5s(Ju8AMr!23I3n1-CRTY|x%`xqry2V9lOAw~}jRglAHaA9{~sw6UMQ z<>ROv=kwX~aQLf3+j&C%AYd!(1jL+5Slf2rUUv-K)UyI!ukG3wE6Eb-uU`*Y=(1hP zJlJ=t91>Xvd<*YC<o6 z$=oncL5teI7&H4T$Eq-5RC7v#_asGPlYYGR8mlgocl7#YW`8@=o)J* z-0ZSYp%K4aVD&RE03GtP=Ro`*-o?Ja_w>=j*1=>Y9CK&QwZFcP&q7>3b6rrYI;PKuImXR-$@OmkJK^aBQGYVcV~=?HRTJvi z)1ot1=6xLLrzHUdWIH$PN%7?xCm{zxxAiun2npTmlVH1H;MYaQ@6I1)S6N?8rotzu z5IXF7azo_1BXMPsiBi9`d!y+W5(Kd9MSQdB=G7kWYx{la+BrXywAXNAebi3kK{EV7 zrO$XyKDKgndR%Vl{+OcPF`aB?Z6Jo=dkp^Z#T|vB&%F4vYd+JCwW4Lykrc^K43dL6 z@x=lE$Ip+a_ke}A*NQ%nXP!CMPh9pDwgx}tZaY%`$kpp8)O}t1LT_w`()7ZkrN+X$ z`+9)&yrOU=aCD)6%(m6b%V6vF@6THEUFGk5XU}}pD+Hmhf!A(?~O8W#Z zK#;rv30w??vD?D`ouMTAU$dOK|9`Wb|K}vMLY9s^EG!Wx z`ce8XzE_{rgLLFs+w@$a+KJgasE)#ZcFCGx-K;I!&S5Vj1LaZZ!D!|H?|;2+S+6Nh zrI>VV@%;$TmH0!H$sqhx73g^<`7N>vc>|mBTL3l^-kf@9ahf=|Smuktg`mE{)f?~W zSG#FESh!|wumD@0RAm>JG z+L-5OZbZ+unYs&Y14aC^3`Y~EsZ_Pcg+K6b55I*3Fs7U)9xZ)WdNdHp8~ zKViSV4HF(n51n<|>8#fw`w`Ym($+$NQ;9|`MvmEShSLQV6K)t2ZUm4_|I%jqHP6!l zf2!_>=~3tSs}O59ZX-4U&wxnqfnEQe2M!k33?zP4nwLZ@gRpN`M^e=F_^6bcZHBMtjtyl9MU*VI2=5?WQhptSVUdyOQwesUe=#?u;w7ymfDkR3WNQd2OwP$4 z8VX=}IX~!PcbRmtIyumXyerhi7o1GG`7rlY2hF5+1$a$VR3#P!{UrKoU`VbrQSecz z%8hB;CNT@DFD9>jLqSSF?SuUYA?8L`iEZ~2>8#Tq?d9{S-91~khX;n+lfrM{#rx{{84Ec zBz(GH+01pFI{o0>K^on4XWrseFjsa+_=dI?NJj}lnM3?@Z$;`LD?3)sOYPpEQHmik z&4i!|wal+0ZPh+pGzqDAbydHR6#RO-0#(A+JYTgo!y27D#cNjC@cbZZuY?ikwfcx6 zCouvcvU#>-B6(l{>zO=!0q`*V66OrQ!xv@XOulw-x__$$d)4ehW+y++;gJw(91Fc}QOdYx2@ahp_2mls@6ViQZ;CW#*T@k3Jppto7lBae5 zU7T5MOy^$+m2AbRXU^Tzay$jSaNH5*)qc}uNK;%1-RgnzjX0-{fL4mHGVDXf2mD2C zuK$J%@%vEZ4FtF4@LUK*-!8MUaRU;3b_}913}zQRja76N9?m>>OgNpTN`-u!Q)@!* z@4W`?{O=s}Yv1>1weZflz7!c_1Pq8`Q7Mm55%u>}P$hWQu~yFT^Fr}oV{hyvZaP4y zhZptWZ9f7?ByHoQ?RJCRca)}cmGuF(F(yW=4R<*lC`jsl)%X>jil}Spei)VXG%Ij> z|qmO>FXtFO_E;9I|Y1xCu?> z7M7M@TX^*}7Kgu4!;P3F3}Xo2@2_;-b<0wf6ttwIzP5p@sLQ~Y zUP8x&JrPZ3NS98d-G>jkT_Y&7jh{>ExOz139CeWhiJ}J3KIt}fTgdXdwBfOG5G*F) zu5FGf7=Kwoc=KXWl3s_C7x{z8T>qU0?Xk@1hIRb12dgi5ia&989q2zeML?q+Emx;4 zNn=QT@r5J z^lOKmFqWIfG@Q{l82g()-4{b{#6qzPFfDWhVe`$__TE6|yuRak#b^MAfIdkQiP>TZ zk6czt$ng(ffq!O%UnU0)`Q*T33)j#I_?BVn@7P#%!wG1dndDG(dhP~WkhEIpiJTgg zaTa4Cax8~_LzBsI-!m{#1 zoI5zTDN3|fv$v-LDtDlh$}0pL{2e>Tl(Zs(7{HjLO=t9=a%3FBETHx;t%)=WO`cOP zs4C}S+SBvLFIHm3C=Hk}!|jQi)hzlTrtA~eYqEDnKmU~|!2$oO><%^&_fS;C;@u)L zrM3fO!Rz7_u!LoUS*TUzts(LEy>`b=8HbVlr{#+q$8KrwT22ya7?`xyr1v7WWvB$C ziNHaG`fh9NSl89je&ERyeHS->@t2Hcr)dl6=OJNMy2KGNoLMT*UxK9$%gQffDhG8M zhs4*4wuFb8BIjW(kX~~HS|K@x_8<3YW9g;W5W-O50Q<4b&nxu0qY@5fj3J&WlJ}S$ zMDgZvfaXNq1ckQD?YvQXOaCzjpgspz`TLcdM>s0>m0G@993Bo2-pfM%$BWZTNPKU_ z_X5>@LmV2#tIP-iS+%v_51)F>*E7^g%WMSPE@PqNz)1Pc{vqCz}*!E zTCey+8!E(8;_5htm6s5*eAj*|XT%8Kd*7wVk^B8S5r0XS!!sGdJBbHU}5=% z>0j|sKt96h!J$zF00y40p6}<%!$PxcM|;}kKa@Zv(1duGC?6;HK)Cv;%uAfV6rTlJUz9v<_dr^=8)ZWuJ2;NuxD3Q>r->SY1 zA0G^<4tb)mn`JA`V#Pe?S)%nLcMC0a$C+U5NXhL?ycM=$hiOp6E|SDG8wGWIxiP-psyj6u}Ql~myz#)k1~`KFEl<7gh|UiLNe=Pcf&Agq3k;qzj+bb>Rs zX`+4!XQ+Tga-PO(ehG7V3zKjU*mqJJ#+K(?NY%MICn$BEX!)|c;j;xEy-57*~$cZx3kkp4O_7xvPm;QnS3F*97*6us&!M%j1J>Oqdi5!C#n8Er=Pus^_ozdZt8tQRp-UKM9?I9bk{SK68QG|oc0xO$94@o&g>)BHh4 zCo(7~h~4&GDC>7G6#Y9Vn0uEb&_+u!L7@vdi?ji(Gzz;iV>t?wr@hu$%f)B9MP?@a z(H<5a;A;yA$AcJF6uDXqQ52_34lEm&0%IssQj69H6Vk|QAeC{?wJ2mFi+mI}kwkLXoe`j*=SU6dFz)2^&u;}t0hw5^vswtsRg72~uQ zWhqZiUXN?(`6Sfywovk(e#(s?*_w-F6{g#t>53xkbMh`UW=}?Re1Y}36}1OpndZMP z2drpAzMAOLe$`SAbYdcQ#f)l)Sz(A_X`mq&tD}u&TFeiefY=pVHd?vb)9Xv43GKc2 zT)$l1xEO{2;2C<$x;;t#$ZBrvO~Tp~0Ud{s((c2z3sZ=sX#pdH!hbo33|>B&o!Uk5 zQZq5tPiD#SI8AZfkpie`n>?OvO^2ZE-}T7dZMsQ8@%&xIt=%F2N)=fcKzF1b z+7*4A7it&#^GoR!>+(W(;3xM0gHjjL0+hm$Xc)#;Ld^o9m!#!AWs` z5}|{|P|K?YkBD^23PTrfj&yxUazmBvA9zYTVo>kyKPKKj93yw0pwMXn0>X{%>1QSw zQYFmd<(D0qZQNo}rGUk-=QmB8;pY#(&TKWyh!IM$gKySC#pl!!d(iiSl^Yi!;@$=V z6DkP7wMbb&6T(vOd;{MDqYvK7hwxaTWrXM9D%Q8ZQ502967H;8QO5)qlxct3V(A{} zdDYg(ewFvBX?=(v5(C5jwf@a9#8T}g_|aGFxr1N()`_HF9@qiPFeXt<<`rb?hR(VJ z?mVk*qpvH$~$GPP%GHrS?4B?JXO5LLzO?IP8&PBY@oImYW@ z4R_7a*jGiL-N&fOMOn}H*|4UNg#^`Fwd=rA`abR}GX4PdevN<8KU?ZL&Q;sVPw{6~ zsXEsEwgby)flD`;9+nnRHKo6)eFyQj%0s%|pzYi&*_9@0UJR1ZNnHzbcJ9*qw(1d^ znt1K*-c`{q$Pi{m*5oQ=EWXbcUwtLL_JEzaSizsFNbw5Co0SA z`I^a1nX$yo($tEiMQqfr;_^(sPDuw&O?Bc;^02lV5F|XL3er$ts~13KQ&Ig&6(pgm zfpmIM9IWSj4w8=%wJ7*42{y-XA<&zk9IL@LN64A0Kq3EI)AR_VN~4T5aaB({unR8- zdvag%q2kP2)`xm%YHE1bIwN!iR37cp@j$i7fZ7XwFC!WhvZr2F!-`sB4p190 z+5=qo`8Z$o3w!1b*lj-EX>|8wFKq9ehP}^c8>E}zRLBaMe`=`;p#HYjS($FFPy|yx z(fvU?a!s}`V}lt1Isy&r8>0Z6igC>P5wU5ZOt{3ij08~k;O5O~0g+8Pbbzrji|X*% zEWdz$8Hsy9_#M+Q_u8WvL#ZU;>1ozgE)I|jXCw~4Ua8MFFMDW#$lF%igeR*(+LI_p*$6$eQlQN@KQ2kJ=71`QatJUY8maB?S zmam-jSZ224!w0`Hb<(~*;~5qL;S0h!?0B}v?^)#9v004IQT}NUx{NpLcvq@{;dg-Q z5-S@HE4`GQyBoJXi3;M=`8dW$y|2;84|#!HL|UyRC)S_V2FZPuwCEw7w9SUn$nWI! zIq6Z&=qNB9&x0$&63?vE4QSlAj9uIBUy9eX)W4Q|H>2Sb$l|RD-$!ftJMm|$op{Y5 zW+&r==R&+@$yiss_+z$RnOx?6|56OlFp7GqYSyUlE4~<&b%3YX+^_GFp&( zqtcw<4)IwF^z2A}6l;G%w~&{cTfmY#T`-K(Z>1WwsskxiwOiFqM{dA7GFFV)#Agbs zI-!Y<%+LOcgRPY8?Hq{#7?@<}zMF?^ot<43jaQ)<;-BH*gubx~?vP-??6JbWFEP0W z=%)yx-XF7{O(B_^;~ObdE#ZmsxM5DE9# z$;elj@@~|*E#WH!3nioZ-CXjO?sI|BT}=Wqmw%l+xDh8c)szqbtIUgmt>LL2`&EWF zQ#kAA_U;?G-~1b*1lI=nmL5sduQ+-#V&OU z#_wJ<5KOEAKoFtyGvL7(vnKPW&PoqP zDtJUNXx8_K*mdOnno~YhdQ#>2ePQFkw5AIAxLR9I-ZbB;*6&!U^8E;qr?EV>m5^Oh z$Z!*z@i_+eaViJOpe}Y2^KwYA4T`|LH%d*1{Nwi;NDCN#?6Ef&^>42?BU%75XeZz# zNuYnT?FaO?KiyqD-Z6#iOQXoXpDfJV8#kS%fxZ74bD5<*VTWF+o!xahz+%J1O}?yw z%7oebt^}%+eh68oDCI^?THo+Wiz(bNT@O?O+gxhegp2f}C{%O7W`xbM?Cl;mG#q9F zQGq+1*~*iz@u15}TMp+~_!e?)nB3oWVtXC5yv9Fx%Du&N2Te56`hpv_9QKTHzo>sfBxk)sA~-idxegpD=iyt zr_;_vJLSSz>U_xI6MO@Cci-Kb>cBpszr$WK*6y!*MY^O17wF(X=+CG8d*(e#JB}?W-TvjkM;? z`c`kYehQ{k{h=Y))L(L%o{Ku(=WF}+O%J>Z$c_Ln#z8CF5{!GaD;?lW>a@R_xiKJ| zghjq2Kq;p-bmqo%wG(=%YHde?|`=R0RT{Lr~eRqY}l_M$dw`cRQ7^q__dHe z%&eeep)z-@c{6$N1K}Mh`ZF1|oTs|yJX`tN%bstJqz{7&;)U2cwTl~?@5|&XuFzGv zw|lKQerX;Uf}wUIt~B3{2judjZ6{1MT6j)&`6gpzUYc2T)uU5s-}To_tUp@Uxu@t>W&7XWI^^19 zd*_~Y^9-w{=Axp%-M8sVdLXMl%jT@rH=D`wdG2u6EzgI(W>K6G_(FsijNCOfAgC2; z*Qt%i^UBO^llJ`>Oe7Z_Y-YGNO_ZcEPCflSW&4Djx#$1I+j~bf-8GG(c2or9Q9z}s zC`gws9YuPR-a&frB@oI_REi=*={q|8)TrVEA}TntydYNJV8nyP(0N<%#VChdgA4nmyX2p+V92tV0~4xY%Ps{$yu z9gH7$I3ov4)Sr(cDtp$8VaS))%YzK=!kIjb)BB`asCG=i42crVr@_7{-Zs~C%zO2& z;|8f{%KJS`uYtiho^EiSw55>S za_?4fIMCLNu{E^WXh}K(>#qb0Nv2P2mIS-rO8EQIRGERB-?e-A&Ue4s?|JLXx=HZ| zlwe|y8k5e0wNcnlD3}3J$szoy))(N(mqdc@vvi{l6$oXw^*H+{d#9J=7k{m=owmvAXobZT z^zuXu3u4&{hRoi5ON(v_C2=ObpV?-Xj14h+=3e*cviS(LN2Fs5v`2J4d1mCEJ={di%f#%7}I#q>xI zLsEkoPfyjwpRxgerY24|CEZEkNAYy0NA7iMwFn7ij5R9ouum*xi}VLx5t z3l)PTLeXo_Uovenew?a$zkNb`xpIMMrBlwR6n;IukE=N%CBETj#^Ow(#kaOArSTx6 zCS&j2+dX1&H|v3iN%j|1M;-^I=f4=@&Uga(oJQ0a$br+@Z9PZmX1fC{`-X=fWS*Q3 z-+Yu-;S+Rqe=THyTX|#ASl`C8`7IBLmquJ3z0j?;u-yzjYl+8;Y-3LziD-ThR8rPt zUfl_(e{*cJPM7*CRQ%lpCI0POIy@`W$Cn@Kb0`gCkgx;bSEH)`LJ#Nd2MiF#$g4HM zNm@CbKbjtmmpfB!9&3jUQ(pTW*85PMDgCp8tVd@nVEoWIWYEKtU;T@p0Pl$Y>1Zg= z?psiF_*fuwzoaa6kl|@KM~&kz*4rPy7*Tyr8_!noFQHSDCDKJYhm{ZOO^ZLzwlf~t z?8&E%doJK53Cxmgc~65!wkgTA_gg}zW=BPmbYJQAeLU0iYZHU-?7hmhZ-Lqh{m>vT@us0yK^=V5BRY4 zp*SQR9x>Y$qW8S+zRSAp=;OIBqN8;^JH>9C&nE7zCIhZN;}rNh{!U#+Q_6> zYcS%JSZ8#HIZXRMt`)u`5?g$lC-M5VSd~ci)UuU=iwxF=n+z`kz9<=#^7rOeKTq1{ zDW@VU()Su)8=rhFRHppO5VgFX`+^iuAr)@2ORqMU^Yud)x2D?GQ+m1vsSuN0b5E%| zKb!$=a5!iEq0PKW&v$XOlN_y zI?1W@oTPbiT<^#|M`Uwd|96d*tA5Bqs02J9<8+Cqncev5bW4F3Dp2=*^^nZsBSydw`trK-V zF>pXS*|tJI$k*JnWf#zP^}lXy@h%4SvRVamTPUojX-~BClBqhE8lq2sd>y8`C&htC ze+qxtmxpM0a|`oPgg-Dc)ySYI(N#CwKIpz`O#7<%A^BW_*@6l9&&8seMI1gv{&CIM zy_*Nsgcxo$ToWQe8&58Lspi?1JxkA;#V6TTHCFaiW>!`!$i0z!si4sBja&0F>fh`4 z&MjQYB=k44lzhk~gYqU0HL_cm9)K&8&-4%>cFF2h`P0(N$idXR$x0CF_~j`>C@po0PJ@HkL89r@nm4WhmPORy@!H$>p4nIO+nUMlp1|f&0d}DqLsI?}gtU*gCVk{R3 z3`{flnm7Ce)^H}bzQuVEX^m)(9A~I47{{&MXfc424uy$;ec)81vjn+Z(2SpIU0WXI z*&6t1eq^I1@A-018it4UL_|b5IXE2teBua8J}_`xD{V+gWJuooB7_~gAK&HP`}&546z_M8{tSSiO!3|)Pb5oCM7d>eNB9iITN`ZF zhDbk0l|I=fSG6S9wUks*Q6WRcShWi@1owVs@rkc$W;*}n-QMem=LOC#Jb7|S;QamJ zBig9*r7qk6KFQrW|DddV#rphR?$zVlgwg=>G}}xG8BgQPRkfPB`9Ke%Z>;(=$9Yq|Td>C8H_Q8jx%L@a`m;TLI=q^*eP&()z;?inr-JFn~Io>fzlAuYPzru((IkYoDihTNG`C3a)~ z^vU(ftFLm%>%M!f_%Q4J0o48eU^UY(_G|zCnm$=>od8~_xVJy)SL*Z{J6q{~d~cLp zYEmIsBguboWI_P2HR?;{qNCSh6z+8u#Sh9#7brkO5cFq9kdhFuD(7xq=hKNsbO90u zDse}mc~nv9moa8YOm}KXc+;ObEoZA%4_lMH8zJj%+{FAf3_sJrF;#Se?Kh^5MTqQ4 zfvSC;OFIwD*)mYO^Fd!XPw(hN1fN^O!G`mpZ%L1XF7P?yc!qUuzz*x8S9z8sFe_0Z zW_*sAA4b`c0iRDMgXpR5FVp;G`DdibtB8vIbJr-}`_^)3m+g=nYK9#nIr}KGH7AbF z!|)T(cGxWYmMfh$0wZ0uV#!Iul8*NY9RPw=Z<60fvu$W=LK= z&S$WEAZ))gAHGvYW?nfn+Ni=>ereyg4X}4N93P{ifk}79Ew25&+D26s|JNA>H911; zJ>8lI-D8JsDGb)5htk)}!JPsOh4LUW=`wJn*LJ4$3?j`sG9aw|Rf zp60)Cnjug|esC2mU$6}wQL%$Hf+!(@Zi$$m>=^%O6;G1AJT^5(f>x-tG?q+eq$Sad z?;rjql1mz@i;!8%aq!E2(FX`%@+6{bh&)5)h3~MoY;ZM*nyTFaFA3NQw%dD6bY;o0 zus~Sm(bR^+VJU}XhI>A8JE}0dPN5j>q)~D9r#m$YJJaBwwoF&pUTkpBBfh{~{hib_ zIk5dkDY8oT?#TyFEyU&#KQ~7gFM-$nZQxJoC7WvVv@deOwPhN6dylvFygV4lJILmp zoRosOFo&A>nm==qBQR1UPxYb0%_xO&buHCAMM4wV8j#AgVePovqg;vOCzUJGY?ThN zby#Y^)I_6IWYHnTX9qvUY|`lD!+)Q7SwMK~eX>C>=w0cd--3dYRxBf5I%piq>=0xj zU617@u#?5H?x4DyWn>U-C2yXBTa{PrmN( z3~O)@*KNJjmx<9`k6WELeXpLyj-ak(0XE+iTnrF8I^Nymd}NXHmWeF*)St;9K*|R$ z&Y)r^;Kv@?z=5=YrDFCfPKJ&+>x0p>HktjuIanf4-}6z1f6TPD0|>Vx?LQq}B8$xV zSh-tot#1skD_fKi2m6USBI- zQ;d@~6oZWvY`TvXb?*k65swbd_zpD6S*$Mr7v2>^{+ZINdp|(U`^i;sMCA67BFity zspFN6BUJNq@VTg-|3V)0YUhaEg0-U0`No8T3({E0SGocLlP_pOvYpH9FOru8-hFD9 ztSEcbudF75yPFHDP3~j;Y_6Rpv9WjS#nnl%#RMm+zyHns(uHu>sh``Ip$Y?{cF&i;XQGz_AK6WOen!=pk7E7_tA* zKnByg=ZY{zk8pvuw(gkDTyCjAkYpP_p$=cxT3A^QTt3%sa=rh+a;96*DRi2Dw8h1| zIlS`B7*6k3j}97DxH%)wLxnC&A>;nSyFYBexolatK$%&&Yl@gOMLBtI*N#T?KM#{? z`*C~efNE#%YfoB6u)Cutjn~}i{y%tTytGqvG#m(yw2&E}Jee-ZjpoBvGWFDs-i(J7 zIzcTajq^8WSDg0v2hl^esU1jzg-(2P@#sC@$k-=$l~|a9t6&2;<3N=wq|g+wuR@Yc zto}haJN=~{qa9%vQV*i2a;s1UOTQZD_f%DLIN|c^9)QX#LDoPQ4|Tk@0@GhhyCY- zzYFb@EP+Zr07fe32Ta$;CP#CI7xP~BP&ExEdB{CnPH;L$k8+XR`iAS9_AYEmnTwu_ z1L`z#n%yOCNYF>`#dkfSJ*+L2O#Z}*fvI0zY(|kzh$$-AzJ6%0z~!L9Sd|8O8>*`> zX*t}qoc-G^a({POo~Y%9HN+3K8_$1U__JG`4Sr!tUl@ce1TKaAnmKv*lc zxj>!F#s&D18qzATf=RJ{TX=Is4Uu)<6Ta1sepdgolN$QQ&!%uXtVTe-Y9+b&;RFw& z%7TN26}vWRFD}hKq2nVAcMV&zdI&Gw6bF}ObP z{)#n10!Fin6oU=Z3U{n*>bQjH|Ju?!y975g$lY(Mp2r(t2hG8R*Z4XcZG;-!0pbEO zZ!BOyFQ9Hl-B3H`;Z3(Jbc;;Cd@}5E{}@s}~8I z5%StU01^-n4ji*@DkbbBg?Quh*( zjO`vNh;C8PP3qHyoj+AgO6>8U{$bo3j~`vCD9krQP=s5lsTK@vupq^dgu_2|&NOSt z55<$^FAPQFn^D_Q2e)puo*l&vCEDW+TwJ2LFdvOlx=QobgO`jloLwBh0Wct-va&LM z1WW6b#5SY&@BxE;ei9G11r3)N_$90K1J==cqL+#?b1FQ*=>cdz$K%TIZdBx)T0a{7 zqnSQkqiHisi24#5<2(m*2x4%E?{l=8A+pVsNP~6Y;d_Zzu}9q+H!QaPoKo+k9MUts ztgY%PPIy8geQx*NX#<97+GLV(v6*^7qzmza%cX-Q6ZgZg293;#lZ`e2pp^x~MU`}W z>!nS@(Yr$45viCNvob>vi!T1_2fcLfW%wJ-ZSw+MwQAp|pwz6}>Ro9~wiURV4ShJ! z9K`77IR>lrKPa?%%9s-vy6I_Y^2BAiTg2q6OET&xs;1E!m^bsN_^BNnHp;`N7iXg1 zWK$oDB*df+tXH#u_{i1nV3KKtq57Qn zsXxg{sifLsEQ|8nsldc9E@U;CXt91Lh8 zYd{oK>pE)bYEAojR)=L1&i9|kbOE1M#p%;~iI|W(T#Fh33)AvaZ+gMe8uF2W(j6C~ z4gWP8lsucpsO?kZyrd?J`Tk`&h?h4hEofw9T71xHN(y%O ztM+ZTqIxbW<;*$v{X6eZPM{S&NhC8kQb*`TexRB9Fh7kV^XCt(+wVHb2FALm>D;Ab zrGK>7ZB|{G+dXk*Ej(5IqlX6)buPZu)=7M6iL*Ys@csvhP?iAhJYgGfy}Et;u264@ z`)c}DX>6vuwt+FmuPrMHE8#ENvNpsXUwRo6x3T%P=NVTjYc`O1dpbr5x$>vZ6fVA7 z$XVQ^+84&CCARu2y)dD%M6Y=IhQt~B8=4)t)VnXRq7#X-sMnkX4lv-~Rk+MHMbObVz+m`9YN%`Dt8KZn3Z2ffUfMJ@R9a6kas>er zT`60u)QxXafihv3sT(|V_oLBt-I7E?))UhGTIq~J!ep$09lL2vscV9?$2a@9nvQTp zy+vfqk13LfGTDtXm9Xp*F`q;?KPtBj>5C*Re`11XW%4z(Mj<{;%1aFtmGQqk`o*(ezrL^;=T+up(Me9eu?paR(|ekifx93W)dx2EC9r0$tk$ldkpq!RT>ii z+LRPlQdp(m7pBC?^=uorKJmOzgE2?U!9I&e!;koL!i}d&rd&OJy^6lW{VJ_AR1HZn zr)Nh(J?!E#mN1+++dOqrtKMEW*nr_DY~Y=eNqRndj!u_-;sTuv(Jn z11uf{AW4hH8a*0gNsS!(8TO;lrXyOn8MMC3SXpAb^$jULF0P@La7sJ8ByZqHdQu-q zo_gz~Z+=F$PI7z8MG5A6s{SFg?uhWCIlY-kYfhXv5e5{S&bFer21_8shtKE2pnziZ z=4nkRfMG@x@ia~+q?3;oEFzQUp^5;1vs0;(CYogiZ3&ubcu6AE^MW_)0a%YL(MI|h zNwex^87yabZ|Yaw802dA@q*zTBE9J}+v3lxQX(|*K}{K1j9%yG3kx_63RYL;GRgHz z4KI;0F24|Q4u$$b&1Hu6=!_+Y7=U?X4zoMw260m}osL}(18UKsTDZAiyfEePPHGyax zS#i%x6!!UK?_dnZ&%YVWRVbN28%n3vnsXd5X>X#hD!$#^Kr-r0z6*J=de@M!WofyE z!CgV%e$)usj$UcLVOZ-2knk=_mq}+kOCiM8ZW!)lS;yJAMAU6^Sl0d5g3(w$W)~7H z`&{F5Ye8wX?Tl~NUyT4(73nW=`GhdAW}-iWx>9h22b~#^b_Vvk)irdCy=tT^5SnA6 zPWCSi9$slaUG{=!$VxxofP$EY5l!3f#MME!uoa)em1}1k-u?hZ)9vvFd{L9f6?;;7 z&t{V$&HWt7Z&PG*^@ror*EC+NYTj9@^bY{G)UNA4*4p>{a(2XCADfs<3k@}h+Vz^1 z>UXfRUy5gH@9|Uc`pC(oVB)2q{kK=rdOrFTm!IPx?BIBoZ^-?cdk3P2Tc<*U{a1~7 zjiY0{o!E$qUQ~dWezak<%r;!0sCWCcv7Onx|HmBUtoG@)*gy>Fv^fkw9Pc+0TMdH$ z1cd<}tIT67Nclp$DihzuedC!kq$Pox;IxxDcQe?f(r;_$%n2GqR3A=MiJ%hhz zW_-lnuT|N*%nniRkI9}HxFE*!%K9~z=;@uuk{CuNCQIgrj3q)AvqvogV=BG9{pPn{ zGE0^l+ELPTi}RXm_#wlr$XxjXxZ&L`%>I}h4cUpwjjVk*QcB}-eWnVKY1&cOZ`;}8 zL+7plVVyP~f5XEf-FP*^n&*h?vtRd^WUFPjS5SU?@$wzXjK9Y`PL`XmoNY*IlYVWE zDK?Qk>kCm)WUY2bElTb*n!mv?KV1BH8;~ibX#OJuKN&yVCqNqXE&p`g3EMHKG6qe1 zDfPm3V+xxE<^zx2Yej5pi&xx327_rAp`*ac-aR|2KeRSY=M5vG#KBPl?v4!CpX${I zkeZ2=q@78~!L-JaCVtSAY@OzJkw<1;QEugYIhlv98B3H=nq3ix_o9O|*+n+H&y3vMp z?N}J#`mvYHbMN+UW98QU>m#Ap7x<<_D<@pN%vsozZeaNo$u8%E#5x8=rY$$OA@#AH zC~R9#K*a9=)H$I8$Zps|1UU{iKf;GjcR6MS@F92+UP=AEXd&dWW$2hLq+j!>v|5`y zw)l$+*$w0I!adq_cLP>|;6sv>fNew9oKV^WD4P51B59<Ycl*Xs?lV(n*>E13k&_~8#<$j=bk8OH1vwh8ORCjba<3ict0^z-ync25 zZA$m*qifGAwiRxWN6dd@nZF|J1-|6OaHs3F6GMieG*B^c?iv;dlI?NzXTjQJBD@R8 ziF|QUBOyy}vb{}Ed-AGu+a1btbMY`WIciP1E^DS8t1(R1VgZi)@ zXT$`V9jum9g+pP}b{Gk(FMCv0*8BP8R?vw-$U#W+7;p1wjc8sL;6;wRrqy1V-{0R4 z;JFrmiyX|X78dyeqI<4yR0ynP&Yc#^2zIgun)ur8kyc@(KTac|hmptWN3j?094`|7 z*w(Z?W3R_JPc0}RPt{~cW};)3Y9EN;xi#q?jC|z~jgErfL&%aFS6n9}>0L1Znu(E}lV;Sc)v@cUN;4vTwaS(o5o<)vQt)~)1aZ6i(d9#cO?;&b)^xNI4 z;C>Tk4`aj@xfTL1iykNBfh94&iMY@wF|w36rBfOMoCJmh$Y=F#Q0)IL)(r2|3a~}p z;{;Fkp;x$3MQs3!^-KdCyk}@R%3s5x?WXqG09c>fPj&fh7yYJbWUh*-;cP1<=fD#S znaR3%;jP)ueToapx4Y8(v@6VLSoCc`#oxRbhpSH|kCzL*gEVsvB#=8>&4r9Y8-gch z5<7UUHEtTFVF<~pf`<;WCcEV^#4GzJyo@(alk~glcnT=X%ZYyOfR6+IIAlufJ{19$ zoA-B)`~yn>ME%*$;#U=EWIBOWwq%Gv+G$4f%&{AeKneMn5KB{r5PfbMnd~{qIm8J| zt=WV<6fHTqR26Q_>kuAG7xI!6LQ)T;o+*UP?EwhVb6|p3+{0n$iRt>Fsq|WGa)OU)IpXzOM5gUmRiF zK)(-d%)mg%8(K?l*56|}#Rux=FZ{A3ET;-NA9v4ypFD4ai?UT4*3=@KY>}$5q}P@t z_c~FtfSl1%%d-2w`NTET5O}fvgc(3-8;DCx`yHt4r)k-?n<(Z>WYdH)m$*E*@UDv- zl_DcLQ=$U@WxZ;dYiiQ%qcv>3#)lId_{-t=uoJsq$2wg|Db$AxAaJAiRnVAy)KOnPOdXA5JmqLUKW@Ava{lW@Ix9fQCa>q^QtqEqE93xE=|T zR<~dHFvEfHNZFmDt3GQTp&;||Ia*SVr~4!tjx0h}!qppzK@89I>m$_X*Id7Ggyh)g zrC%Pq)OO#XH(|zW2|q)3p)vC#Z=0&q3IH(eY|<{ z>H@6Fc1K*_XYu2D)e1K}A9zLR!Xo$M7^@ds)+F|Rv*JACIeZ_ocpXtDNDr;`ZIJDJ zl*vlj$dGGKV5u0{Wu+tsQJ#y`!S>U&8r8I}^?Un2^Z3~gK14Nt$1jV6!O9<=@HfhD z^`C%3&U8(MrLkrEU)H);`=Fz1VmKex7kP*ozxvR`q{37NzTtgfUvZ-UJI9F5ANr8B z9>3#Fh)f9x=;VQ6^7h-eh8fQ6vUrvtI6SFQpJ2fj4CYA-ZSN$Ygj&pBOAYPHU!Auq z0FA9qumUl!zvqnEOv zxTLQ_it|_LiQ7M$9AE^(TK(rkM3~KK}O@|1|iCWgg=6IQMrCiprc6g>|VpTV?+m_ox63zGQ%~W=}A6OsQFA7B>bxzWz&%R6brI_YUiS`e@zpMK; zcwuJ&9N-duFkJt|fqseKs1#$Nn^*csR$c%wGp5DOyAQI_YzeoNlT_kE58@s6h3xPP ztmgT2u>y0-H~t^#q&Mw;G=)odEUvfb*`_!tjBEzf;gp>yW*g zS0n4xW3g!D%BST0RvUJB=t=&uXR&_Pa{Te}iot1WmwH zp1^ma*G!_CsjAalo=_to#+Hhg!#9p+XZiZfnk}Hl1KA$L)302*H+`4({oTZe_$>Q{ z8}Xmb^j*b^R!Zs<4fINAW?pDfE;OnXzLVCHV)T~{U1JspFH8_8gLCCGJF4x2Dwlbh zW{_SRKq5VfHJ*!&~fC=U61NH8`xvQKHh0GlI{`~c!pWecg^vc;a#g{w*$^mVFLiH2(a!;TIP#eAmg zBf2N1gcdapKc}@|I*|w`hv^1}*LZ%LZIn=} zF@RA|H(M57vS}>gM`*)$p84#&YTRp4pQvA#2=+x$>lv&W8CKY{zyw;#6DoXDH_cqW z(A4Ms?n$F7=3`H{@9);lfpgr(K*cm%;yQ!(o|K|@oqtjz{5wVf5jIJCy#$+d(5x&OqW=-$AIJWcx?zwpnyGAAj@K)lUo&kP{oIwGyO~S>- z_#|ipvqi~St~zQT)UpI7ymd|g5K~GQBktxGDLBwDjX~3egn4C68TeF^NRqI#_^WZ0 zehb}?`;bfBKHJrs(le!o7&I~`8`MxSC$pV&WU?v=+r3=xSKcVkYk?^JJ!xYHFPTY| zhPZ{JTT?*AtuP_U8eC2}mf>CxtGmYcfM!5Kq{V-#nKs%NAF-CUg2X2>6DC=WI)B@f zEpcTjuMPfkBaJX>^Z0hD?yDz@lmf%}oo<^i<+0fV%6^{?Y?ay+k6Y}H7rTWCOBB$F zl3~kwB`t)!|m1zb&=;0^n0W zjKeWcZ0PBN1~_l{N9y#Qfm6V^ZwaM$eK3MxgC}|}?d6ZxI}@tgkLUa9z)P>=OCF>V zy8E3Qs}Ty&dY_8!c}b5Oml+Q7t-1ae?Cl;}Y_Evt1_S zQFHg)qAk8nx+#mM$6ez8E1o9|xPLM_I4;`Jv2(u_enu;Un9iCVi(8v^`C;8~?M34Q zvhDt!Y`d4H26hWQR+-81mKO6V5Y%Kf3?vybj93jnxYbAkKDbodr&JEH zjVhe6$>$$KTZ(a+)VNxVSSNp>2Q}DiEI01A$s`B z-&e&u*#ZoPTKG)*{l)=O`s<}b9$C-E8bEy`y#lj**HNrb9SADY`c~NW`AdDze2a=J zH6k-L{cf#)1{vUU7{0v89L??1Kbsdsmb|S+N%*uK{8@`u5+yp6QMotgB#W;H&3SJ4 zf1K9f*hgA2>HCeE&FszUIE{%C@dwm&rBm5JV(3H%^CQ&^8 zZdqfrxapZIFhex3{8jK8BVDhAd2sO&FSk5{S<2(|h^#qrGs#_{!X-RTrz+HYC`HyL zt?XI#J|9e-b#DBAt@xnYl$l9+wOo72!2Rf_145!HN_2>gQF%HGJATsw$x*wK*`Zuu zD%9+-DdRg}EN-8ErLkp0iPTgq<85Ny!pF(rCi1pW~3VHAK54# z=52E7QQaParo+Flf^+}z<4^WEw!S>QB=FaVt{h5)g~w?ONa49b#6gqh#cET49B&X% zc=)gUrMy2^thJJBWKl}#jOvwW4KCAWbySl0HDYNbZ247N_+;_CMl#MPnn^zNbJQU% z`9Z(DHoH^-+sr!~64V9FnUwA?-#LafXK1^v@zCwUShoFfBj&tmSs`Tt)C1UWAaTVz|`wkbVC1U;_-3~7!CyG40XVFfqUF%_3z2MFjX34vT36+ zCgNdUNae9P*G{~%8;INENU#xP_18+E)}zcs4ua}34;;iYTKwx<7WIad^(YR-&b|Fzl3jPp z_^M2uxdkwxhvj>SW(RD!cAmv{50O{*ARqDO{>atMbu0d1+jA4QuEfv>;s_o)A69 zJeX5yXVMY~(fvRhU>OQGO*YGX)FULXRL=+_01?uCNv?}3l zuF+)gqP;5LK<6fpK}0L8d(3i-)R2+`)QM_wYWHJK$lZD`^K*L>$*-kWiTdavK%=9;J@0Sj4>vW6rwN?wWfPUCVlX{=UT>YeLk3 z?NQ^mE=*z4!qTJ|Tpg;OILjnB3oH46R5h-Cb-BMFNhGL1#(PTLZ-i+ClqC+g+v3rG zIZ%99ovPCBDnfP{!W7zlq7wtl75Z4nnVGq%ssFIcYx0r6_=b0vOI43M6F^Swcp8Wv zS){U~|C=bW3>eQ~j zl}!UwyM2S@pJ5Yo#B#!=e8rIFi?d2(l-+J5Yt!l>@kvk5<|aavJ|K!xI%43%G6hB5 z&@kvT4hfsB@PTZGXde$;x=+#0dyIuz>Y7F>1#%}lT`UyWq^0je+s2%UY}cA1NIUw> zGv(PFw|W4!8dYZH%mNo(%vA=%J^|u(JA2)i>_zXX>h(Bsz0^S$<@D6)Q_y|VW>w6t zNia^(0e6hL`>b^ixHattJ}xFs`WI+8z!CWR#H#(D+|k!EU*7)lFB;!XmUFFiz)doa z;U}+S$0-?B_tL>E7-O=L%@B}K$lvU+j*r~2$A*i+$HFg1j7QV2af^`=tu18<4K-Yh zTMwsn5{l2TnS4duJ9+h`ykIR2RW>L>ySx-a4g~`j*nY+sko`(>F6RG#w&edaS@PfM zobAH5P2r0!w-o*(UGc&fR0{JqQBl#3l4t6VswqFdswc1T?}DTKewv9YFkz<_`84oh0w~;iU{t z*wV&Ag%O8g1Sa>%!BY9WV?cq+N7zju&F_BSiF>W+oxY||2A)Cp*F--FTUPf_i}gb= zJ~Egisg*scB)jcE7BCZZW#urCMN?0@?R(&(*J&%kmPWsqW#_y<^xSg_WJ{Gv+whU` zyCGsJywnc1?6jUW8u81UdTh{hQ;cVH!%rCdMV}Eeh7M2XNZVlDC|zUIu1wuva#1?MR9> z)ItU$j}c0h!PtPi_t&M;>6Zf+*Kr9`8?knSDYm5sFeVkwNnIOlh40+!zSXJ4{F623 zL}@eay|goZDN+^CHAzU-&hAYWvaOo1))!`fl-!fw(V@uO>-@DRv!n_>BVUly_awq` zl5E9Yc+O%?AGKmvpAc`JmywZSME6Oh*Bu2bFMnf!FoeaS2`iW73;)OA5j1Tfg=XpR zSq@|H%(D}NWxdAv0*Hs~V!*f?55E}81b{&@$WE%ata(t%1YzF2ITX7N`V`6e+3V+) z+Rr6wCd6|rO@LOkv-nRxN)RR@Y$^491Vu8V`|%qBHLBMWf7hMyDnEZ(rMw&Lja|f4 z|IeOidoxez_sNV-L5h=N-$uoUw>{l>YWvyTKshYjj!mA}NEgVrN$;ZLTVqKd#(<}0 zLDvZ{(hlx6d~r+?D$n?KuMAEFI=$mO?Rnx|>y~X*K#A&ov-fe*{@dh^=ZWBC4YND( z6};1vOk=Iukeuw_Kk;{+&F{8vd-mL01K&E7xoc)nyYqV#R68aojM#CMamXdEFYHO3 z?gwYlz?HVWJ9qb_K0ezNoH5PfcLd%J*g!EH(d~j}Udqp@BjqA8x1I$Ft@n4UZ315Lm@y}kG7D5O$_0T4EASVH}oFiWYgU4=WOQGX#IUy?P;fI z6iRA+gK(po9itTn4c{!>5s&^9pkt&D|=0H zJm!Fu!bPtVm4>O_yhSFwzm(VH`TdF8lwLG#Q`DpQ9rKY#oky*)|GpEkdZ|IP@!*t& zxak;;%al&mDYUh7>BC(`2U?Xd$=h$Q{)znn{&~H1dD^+)!?)=hFTc;#%AnR zj)tOYq(JeZM|*|@??PdGNzcAk^oC;e!RojrYSr|_TxU>+xB^$`e$o8T6`kvk%EHFy zdKmb|Z!JREC1+UBW0(~KjYc)jt94u&g2hO*rc&C2{ZpZ!1mjwRF~E-E@N?ks`07n5 zE(R*A{bm=zYv4-JPBsI-C5Hw z0|8BY8vQCQw=A_CxF##P1_psL3hHwS6twD*mYlnavO0Dz2aCK*)OwR1H9_ekt zB2VKMuL9Sq>%fO}46c*|?X^ID(g4z0(xcX%M81IPzB^AbdUG_|&wNYQ z1Md{Fuo9`4i8E@KJAlJXLFU}DvVsTFXF7EjGJ|E* zsR`O|@?6CF$LJJ9Q>DzoZun55yX6NQvH7u04VNUpmY4Vi zae_$IYeR?8Ra8*@v6iG?wINRS?C_l?m-*IFy2xb8GPXDwwaSQ)OqBA-ZwhqN%wCby z$qW{F2DAznmFZ|YeJWFBopWR;>HBjurBUtHF*WOY#d0A`+>kYBE8OJUuuwyNqkN1( z6>W+sp`HS?np%_fn}QXvU==#+Ge>G#8rux1X*CuXYNBA`15G^LT)kr=j0~%vU)iJ+ zpamJFJ)cSJmyiQed2x zeD|1w`t;x(?x9qsBumNqHSj`%{&(~_SdSUAKl>qn`L_ z3IAFHzx(1QrUs>;V>2`W(G91(Sv@|SO>QiOZRzRpJ$i4?90*qnr2H)0yi^*hE!_cF zjoWHZ>>7hjKPhA)slZJwPdzH-i7S?hr9dINv(nv$hfL+MiUL}VpdR#^RR`G5p5*0L z3@R?G?6}^_PREl{2-|%hiX9!V5TaMdo{n-c`>V$0zJm8xb&m}exh*j(a^@VNar>~j zrefwy9sf07xR%q{!DWYiyzC1*AZRY!WF)|dreW}*gL9Us#aDJ0!${4{wE^Rm0ZZmR zzhT_Z&K@Mj@##T^R3fhQtQ^I?4vr+k*Q{{96-TE%wQbhJgd5+>_`X}&E;%ZKkf97Y zWjnWv`>sUJd%ATjDu1h((qAhZL$CztD%sn?N}o+##}spIdx#;-_vje_+%FdqiH)Qo zdwP6}I!rLywK71`uRuFZCa7SvkbJ>#`Ady~9)1jBEWCF)S{MOvW`ey;W9*Zbol@J& zhDwD44?jNJYCtI`*KB}ryZKMMC46-d&=&=)(&+^Vi)6$v#3gcC?E$KJ1KztnG`rvj zKJGF=&Q)t}apPiZ-O2H14vQc%8B@Nji%*!WZzVXDV5=z7hLhGsVwEWM-^6`)I>8i8 zv8wm78-I~qAngW*RN61Eru~Jo2yN1Lvzg|w((E5-SG;Fn7|$}J4Rf|R%DQO9=}qMJ z8)B~TrR#$hgLpNQ5M>6<6Ij#oi2?;~`?b+j6;<5k(54s{KrpidO>50Ei{6He)NJAJ zQ-`ul;~CPFL?|FGK6Z0HFecHxfrpNjPMh6z=*1M;C|LgK(Vp+g?vpwU%V^WC?o9@y ziB{$?w_?;A+^vvb-4ki<{;)i^`c2uHYzJyz$G|3~vk-Sp?`N`NYWaaegc@!p?~ls4 z8~Su$EGZFC*%c0%A8j{z>$8UJv>XlLc-8I||7z}9mzZnjD4#esCxZkvVxpJ{Dg0twm7hGDQ2|owh%Ypc=DRSE&PIkWZbbf>k?9T=oqY_#bjAdDQP* zGB;ctxC&b?nlGn)n|>;0Zkl~~V7ccq2H!H~sILID8{Hx3%v9&lw~zxr(bc!nhI>QD z$+?w1W4NlGIPfb(q5Sgho25+t^ifxn0uZLUTOX%=D>aC0kR z?fAqrX4@Tv|0QI)Pb8OQ320P7O{Xw;&3tC;ERg;Z#9F0&5#izL{F{H2AyVXv9YN!F z(@P+lcJDgFFX*)JXyT;{>Y?$tz3IGR;ha@mVE?cD!$t)Z8fNp9mDb|8drji_WH-E^;v3(Sk33)M)KYVe=jS< zjEEddGd)q4{A`%6k}hrvMOWzo8dSUzCfW$*dT!tB#+Lwi=ga7{St$>qp7iA+w6nPp z%vwKLy|g5My!YDxNo_&_G0B|q<~Vdae8S5m*fWNTk;>^|G_mp^F{X5mE6uo9?bKL( z#5RdK?;a#f0RLB8*8$Z;)3rm9&Y~i{W2Hz(ih_j~5D-v6QK}%lOD{rH6qF(Y;wqt7 z5Rm$UV1xt^kuJSNN~lspl`8e$O+a7#{+x5qncR8ixp!vnPTA~iO!Kws(ca>s#zH(hntJ7KE*Ax#{1t5V z>YbKA(O*^L!3UW2KMgpA$uu6?dL>}u%k+(Txt9y^0=to%6RoWHmN5icTvuCh|6HOz zIPBZBDxKKF$~*kMrlT+A__o8wl1{Qx?j;;*a1Pct5GXEOcsVSHD%onMzvZp9x1O1#;r5{Dskzu4+0>DPXW@;DvpFFmXPoK&L8iVvJ=e(|j2OUm zfJy;ejYY0pfewoP7o)fxWPiFOxj^SNj&@#CTDB^x3-yeNx1x3MRjH>hcQTCLMu#h= z6xVrso%B9YIc(tP+~lp>fOMxUxtOSEjn!Cn|K?s;kp3DSF(r_8oZ)-F^T`Y!uGjse zSMXg)`bpVBK+zLbBQ%+_T-9{>i1M~HfGB%Jed(631j{6aqPz?>^748$qrXlK)vFpZ z$=-RD)j50ariVhJ-TYyBL;3;XT6oQvla*rI+2+O5-qx#8m3W;FMI`kspNHo29COQ- z95zm?8xpz%J=9`bb-c{%WRX81--f5FPt5R>YGe%NgVxEq%Q`+Nvy-kZw1@RYP2+PO zYG_nRrs&$LU*0Z{_*XQXd*2PC7hPG|kt$IXo70`R_2_Ze%;4@I?o#f@j{Igya$2XO z)O>jIklmMyxpc=-$TP^yA8$Na*aO~0J}JlLJxIwWI#{Fgyn`@%`JnCRAEFj>kup0$Uw5KV~K z8e`HqsX5VF8diQ>>4nq#_{3w0c8)mxCLX;&hs=+LK<}?q3qk?%$ofY8^e}=@U8_s(TgSK+Bce)gqZ)!M zZqK26MhDPO2IdoNfQa`4Zi+wrn)Aw==kKf@RkU?3>6@x+u0u|dn_}9ty0gx(a8?-W z%A{KkNG9CI7Ta0B&eu(9&E>iyobWcOQDj@Tr1Z0O)h&0?5qta2oDg#7It`rB@C!wJ z!aJ#LNq3LTjKss~$mCK*Z*?mq!`au%{R|5xg_SxvJ8wp$|}QN_V#GRpM;5YuktJQTjk-YPp_SVGMH7X>6NDi(cvMWbXFQ*F!1@-Qd=U zSI)l7W_`oT%QpS{9ixC{x%9R&KT&V^(I_9&XU78Opg$?D#jWR}-X)(6(4*$$^pdg; z>HGLKvwxOA=T!0er}ISd=+A?R8;(t~IRTOU?n?kxT3$a?ipzbW(cxHCu zL~BTqw~|M@S5D4>mARV8)P~iE4swIt5eh>3hGquo&d1|Di{D=zQNu`f#mc&xy?4Ps zWm$b*&;IJ2BT`Ft_I<2k>-AjcNIez%mtu+NbF=b=x=}p2ZEu^<4&_4^8a^bpLU#~) z-ljP(0kryk)*VOykm;$}bYk?eQ(3=D)I! zPn7A`{Kx2Ciz8ph7MjPR(`I?TE%m;Txv-SFyqE&;@Cu_s7_e5?zv}s5lKemF85yUu zgohV=CUj1`W$~X{DlaJ!Y71L@K6P!=LS6l)@5q)zNwjemQ-92HAII1v{||>pODf3B z(!8;rdbN(outM)&3@0U&A9H3B7Sj^FGM2`8Ts@cg>e7~_JN$2k-{32i*K#d#NWHW5 zL1weq$m?6e`$(;rA8uX_xJ;IA{DEz@KIlym14}_;jxJX+`bvv0M$JTQVDh)@H`+oh zHAI>*u2NfX%rdky`)@zI#>8&fl$@5kjmMIy{9Ih&LzY=Kn=EIM<2_5}+48?}tj%Rh zzcDG*u$Qh|tUbLJwDLVO!*DX>QmmPjdh!-Zfg+><7kOS^H7C|muWF!p`O`$a1anj? zbj*+8Q241^`Kb;|-IZ15DF-iUiix%1eV*@Q)WyZ&vfJV)s7)2!xR{(zN7vKeI3H*F z@8x94tvARQ*I&N#@a*~Nr=qS9(ped8n(otQxA9Q8PPwF)(=aK z{br#5KGs04h0n{47D_+w=*qA)m)QCe5tX_Xc!!6v7&$u_;z6NfI3B>1j0tTKVM?x7 z(RJlA4ZL+U19J(wamlpd^UAJN!%SArxQGLQPVAEo>}Q)lWgZ_95xMyI&17uHXI=;W zFN^twr&W?2v`~-rnkz$NOK`_lm8=E=BB&U+Y6Y6?8u`OIZm16zP5H+0y~o;B@6%=5 z@H>cfxl>S2@1lOIB=RsVy6-LiNy{a+hK-h>B=w;t!Bnz)R;yBiAg^=D;cSnBa)s6Q zg@yNRZf)xNY1jK}Pqhcw_un0G<7iM^HudpW&V4s%HrCR4v>VrQv5uQQZ*3~fc2hk+ z>+8;c5cBPexGvp0CQeB;Y(TDa~)i0(YyK4*vYujIn< zp%WBKUgUi*i|+2R>v1V)tJcp_#thxqJ`gCtIwYAqb}PJTA+NtmvgCcI)ofuHQ+R4F z68~!ZvG1D8(5r@jgoMnu=N@NPVOXL4;OA#jE@v^&FLY4Sms5GadYAh2?8Jh(qvexj za-JiUX>CH89h~_*Ej9`#z2{ePX8Z+l)<*XA-slMW4|`0px;I{l6$S#NFzr1_mOPR_+`hdz@c1jq#*? z^~g8Nt*G?%N2%kOa%x}Z%Zxy`z|Vw47^b2eg9Cf9G`T_I6+vZ8AG)SyH1=0^PkUPw z8a-^VVeUhs9%OWTxTi8Oc?{+jbG{AiJm8dZ`-MlgkPY8L9mmAmig&cIQb==gM#-%n{WQk1ts12zxYZq&Xzu@NSiI&+FaQt`rlFH zmX#xB!KN)s=aC~@>GW1uZE`j5W8Qb6dHtRri`qB(du1oqM_)?WWSOIsO*<;z$Lsg> zDtDN83?~%_W+5H0Vt)IL(PAEtMl_vx^9ZIZ^SfR;-};Ehd2}MD44mWF3h=X-2o6;6 zx?d0~p|oissE=^Ch{-(1b=#k*zALPZQ^ZztP!>88pOn-W1fN$yjHRH3;h&e>bg*f3 z(Ak%0ZukeU6EPIfb4&2$4!NNiJBIu|)o(rl4#m5h`$TBe&eAtkl+>9cmU>jv}%f<)F6 zv)2w`po2UZaT05P8a)kq(1*TVoK&bNjb5pglw7lBct%4k^!iQE)qKd6{6DU+p_^P7 zusg0q1v6A%*s)*5aB#<{TQ!3kDH&Q^!+zevW{2wo{6!_@#C?Sk7sZXu9MJZ2BducAJ@N6I)3u!`8ekYT zG^H(AD|?jZj()tuejJR&YUs`NU)G|gQSp+`GZ8@`GQU$IE^ARx9zxL2&>-NzfT9e6 zK(EyR5@e8yqyxL_0DYo+pkzHD^*hDS>TK=eWoh9qPU1j7&$_@IphF#SiiAq82lzp~ zI)K!cAo1&U0>Hok+x(4()G{PI<2OK-=C>ZQ#t*L41Hd0wG`|7Ik+m+v^7~6x3@J+i z%UIDIwHPYg0=K{Nx$F~<5yq!Pi&}oIzdl^6Nm0vR^$&~bMa@He;aMXr?@+U4XjGBL+f}n%DJVT>1t1Qb=}pVT>GYmp33>=EFV>4 zG$Hl-wdrCJ944@%7dcxu{L!I!DR~noesQcbllI?AJUWwh_H~~D?$>6;Li_sQr!JG( z@RLiY~}g zswMV@`0J)KsA`|l%dX+o4qpC22kKIN`*<*f{1eF;Ocz%^AYH;L7OeM=STB>&^2Xr_Kd%B(w<&hwszYpA@N;Ctzu*Mnia4{6%$+YUxO2wk*d3 z^g2hEF4=3_8h${^rLbP1eZzlKgRyq0<{O>n^&<<8t6X~OWXf~mSEMuLwVu7pead-6 zU{b67l5hia+kvJ}i*{DZLcCb!Rquu(iSv}&^REUOrnB?93J1=kZqs#2+@w3hDRWx4 z+-=yd-R``Hp0p4{ea!*whIEF&qYCd#1iKq%8jd-gekLsL=Zzc+8F(1=-4I*j&deVY zsIgiT_B@;3IX7}#gwBdwEy8WQFCxY6?I^--o-<}Dy6EsFRW&l_a_OZRk!TL_$OWJY zb&rcRNl4Af>aH4#{Dhx;Y=ZT5Fy=yRe3aNed8SKq52_mYm&G2Y-gNrWttumR3Cov4 zos+Qd#aX*j3lmMGLw5G(VVm1D@g|N!vWB!xpT_qqr~mAV)Z;i1Jo++Pk;5;aQrqF8 z($!a0TnFW&s7@9pr{6!M{B&HD^YA{LqkKbGXq%a_6vi}}M~G`#@q6rR4au{Im3j)t zg6}h<_-&OJZ21n$$Zndooue$gMphx6BSWQa5m`_!A;U<`qK4Eqf(!2;WP%>4`~#WUO-Yr&;E_a&5b!EwU=i5W0U z@l}M8t$bWm!6>F4+4TwclAglin1EudK-sAT#GueRi<6y0Vm-q{`Cy-nn^kQWR14Z0 zDR{5GFwqRV@84`UNU_*lpmyMGQMB)`rS!pP#>3V%3H$Il8afK5%g#VF|I(R+n6Cnq ziNnV@Ww@?~HA|*AnUF_@dK?S!(iQxgelcM%qF_2nu7e@@SEyA$eZ^)4bx>eU$yPCY z#cX`&+PtqX#~bU+H=>!^aVShh#u;8px5cKi~dc2$`66?u=ez{cd_*l^L2Lmo1TWQi1QZYm@#zf7Jl;Z z&!_Y*xW5%(B@MH}tpF#5VK4%`G7hkV=B|)uCMG9%4B^@k#vF%tQRtz-j1Q_+ zXHyI1)&0)vhV!;-;5-hH337>OLjT>9PC1&W%U z@4Ge$P!_r4GRfwq77Yz3)U{Jp7J;*PsxoLX49Q;dPrqP1JJ`EH&i21C^STS_DB2tmnf}kOEhtdnX8NS58b=LaTCE_L`yUrvT66AfKVYqXwUK1DwPj&o-2I zqJ!4eu06`-5(2ysu);BT)EPJu?wtin2!by7-CBjgdh9w8PpmR2>y^GXKa+in+Pi z{yo~8hX7LCOwZ8GML-t;EPJsW0bt%R6eUa#=vcufh?``% ze+cTkxxn9fwBT$A9U~|_ybDkqh5#!;B!KJiP8j{!eEw~RH5rEPj9GJVVV(k5!ww$# z0URb7)%pRcqX;CwEY#v7XSR17S%NWFt_6-O;26Uqe*~ z&yMWIq6w@Qy+ltMC7zD#1lXT#?cdx#Tz0U;NqAud;3AF^E8YCT%OwZ|EPI`qO!`xR z4Ky9yZ7Ana$g+qj11XT+jPBIx&))cNq6%vwR_uSmr^RXB>h1+7>>$}|`?Eg-DeSI~ z?KVWv7-TlQWXJ3WNKf?t5nHXsHZ;A#vX|p^DTEz@c7@5+41nn0p=(n)AbVMn3<1mD za)dJQ^7wAYMvX&OL)I8c!`vMTfEDZ>-))IWIP<7DK)T+bJ^EqdJon!nGjt#4KcARq zpvA=Qh!{8laPlAf3?Q5>Ty~i z0&wg5N5GG?wBVxoRVgSifV!|r!>1P>;-q>?(104_RRDldsR55{pRWMM46g8AJ*eVQR z8ah@=)yvDxS&4#YxpU@VAD^H4^w-aI^-O=~)MfIM=JOlL>Q%7Bg<-Q9YDCHW&=5?T zG|zpU%=Xt|iVDGb<(4EJmA)16O>W~Eya)W|;~zri6^K(7Sf9uRg9Gc=A+Ho7YzeRQR@3GOg|j5(skj7PDCmz64dSM z{BkN(h_Z8{a)|0L_7p$oh82VQ>!D|7V;2$y0p4SwWl}~GfI~tG!Tv>rOZA8P7`I)v zC%qFOc}H>H4(1fb(HRv`5QR3LD6osMV=xr6D~Q-B1-tSSE=^Tf>^;^AcB5WonSWjo z>K|o==_%V7sStH0?QA(Ynv5l#_>vDD&Ai_n{xpuw!I4^?PX60Mzit|}FyH#*a4oG4 z5F55mv4`vM4m!1!uk8A{@Z*81wtWcKEHHKR%i18NtSpx;+sdB^|RRe23`d;nGpyzChhz+E6sY2zLyApyBvRC zhkad%mXg{k{1{$t7&*#AR=r2;>8!;!^N4>?hyK%jr}T}y#K_gFPgryrkO9&>k+KbD zsK>am&VH-yD`dcWd4X>$b}b4I-_xteg#tf6k=qQS8jAWN5SC|<&K}BNAUxtnb$s!T zgztP$$SLwlqqd+pfP3(jySyMK0pCV8R(l%nG84()JSlc{4iFV5zc|pe_sT>y67uDH zNMbRcl5{gWzwsnS75 zX!Wd@x2xu!LsZ~VtXy7Zp}zU8=Iv3hGCiJNPd)*Aw^=$2orbZeJHs-FRcs4 z{N~Iud7Gs!!Zbw5Mt6|8YxEEn3;fEfSK4!;##>-(8m?094Z2%A_q?*6oFPe%C)e2= zja2vmsh%$Al4?pPsody^nxs8SzfDA!&563^C+x^8H^v0mj%DDCJE@5pJ6Fx7sX zcD_F~wMGoFempf<*PdwcdV1w38TQ!nsbR+#3LFk-t%^Ef&dLi!b(nun5K2&JNo@m&AyL;-_+Mbj{(psG~OVoeh zH00gxLStO>ct;=zkfga))h4upqEurtMh@2t%zWQL+NcgoDw#m$wMy^<+t|}RyiLjG z^3dsWPn_Ey9})$|?K!sdw)9bCg3=-<=Q7g~$l8xmV4YGR z@0;y97gaeocEf%_Va@tA?WyLyg7srHEfBe81}IiATE?p&8CXVbbVEdxhfn&Z#aUUg z-=^#QIVQEgR_4fo`m0LG^6N+A1Vj~8qegIa1NIUu@Fxgbo4Z(l(kG*w8Qi( zM+-sSOx|_zHI%Q1DCb@YjPe(bzZ4?L*n_TjbUesS`DsZ;=Q%;Oak1uc;IS!!n(L?Y z&#N~)nz|`EVmbU+k6Xm8jbV1Lzh#)VhXEkS%U6O#TL3Nv01vs8t#t0bFdK z@TNj>^$V3#LMa#Zhd)5jL%SxI(`mD$Ca>-UrJ?hG^k$WYEl~@rZ))&o<8P}xO4~E- z8OKALY-{OwCk>9j(EH7ONnc6kJXx$xet$Y;%J;&>;6wXdZHZ}`ag^Ls5a5h_eQRCD zYT;zD6aU^VK}2DArv+tf_suS5%K77*H3oN>+-m}@m4nx*2rb^FMI z`|IAz);pnVn~nxRu8@&;IxZxrZ*i*7MGU#Ocpe!?Ga0@fHfsjMZc&5y9JA^#j0ebH z1%!@E8ts_agDEzDmowKa3`>^i|OWyVTr;pZdE$j=qx~m>SQ5Piq=1AxtbEg@H5fm!3(Ln_EJx zA6n0aHAi$caO|z9_=s5hEG}4UH7OjKPH>lReYanC%Sa+hscBYJhMRgcs(T`^+4xuu z@yxMVYQlCs*={uMQ2em2fq(+zL(OlF#N2xFLxMR{W*qTn>GLfSCP6`~E_6uxrlV-V zD0!@rB*j>}T?Q406P5Z#J&;T!LkZO;d2EI}@o-Ad7%!!VNyCh|*8%2IC!-G)H2k5E zPZ3N7R}hsIhWp575xco^JQ8b8ut@rby_~Wnq7Os`Jdz1xO*^mB0LN5W3yTNQ+FHB) zG8Nak`H|Lnhu=wIZGPOJgGu%fW9<~4C}QS#wiHA0Ja{RY{dxL74+tj@PBSJr3AhK$l=Ze3xINDnDm01 zvZud(hWc*zm7}r&*!^SpV%(6{kgnEok^$-J(2ru8lu$9c=|xzL@Qa`n<82%qrrb-u2}0pXV+{W>Q#!d_z9` zRx0l)@1=}K!IYkVuHhe8D)rmSEY;hXGraz^cu_-b-7on9h_%cSeLeO|Ftuh|W9L^A za&PXO_nRO9e9@ABWUv$8ywY{Im-mX7xh7A#Vi2{G_nE@?nr2gP;fX2j+_hU5L9D1;NT!0-1amD7jkMoa&6GW2kXjuGo5~b^Z;!XpG#kZHZbb;~5gq zmMv3#3=tZDDC%Y&mzjon;3LU>dUS<5NA4yYs(Oe?ZxJ6MU6I#M!)&w^tyZd60kN-^ zdY#FG4*x>4Cpfskd^D#pZ(%ub{$N0)8go`fbI|TPd;dKf%(=h1b(fj>FLe>xL-Qgi zB_Z_N7uAA4;mwLah6~sVkR4XwI+PU3bKRNPQhFBwKi~73r&`Z3*JYo`vw)?!MeC}i zVa2jVNP)NMZQgIIpvaFQzsqm6MAzmg7l2IIEs$L0_yuYGAXsMb)PPIpSu(EK zUJgjIp&G)6HbXDV%gHp(Z+$VJzJ5$b2i5vX`i5hMB(;vz#Okp10!7N+*L91il?&wn zY8ugOEX;k@zb z-KC~kRS_eLRIE9Q`NS8SY*;a(`gcF}{Lg`-L?)e>!dX2wBN2Fe<7>;lHzqvaNQ3U! z%SEkc1HMx_z@^Y;@nd15eSWnLi8}>Quw5H>vL0&-o~61ey!m5JvXxoB>uP>WX6v0^ zN7c>~AGafmKNcrcbIlm959Z9QWZrI)=tq8QA+521{MQNG>+h3V+|+d8pTGQI#Rvw6 z@@3R-Fi|Nz9jb!6U|$E42fuTtAq&Ox&lG)TD@%T2r|bbadlV%cLtqY6=C2#)R?NooTw{%rq_z*aX*G+?n0__C>B0tbF=yH5!lk#MVS zK2X(linH2bTnZTQP{PU*9QVasxqCaPZa}nJwGUYH_iPG0H#Jy>`Qj+h(=2i;f382e zfX=rNzZyT#xBnop0f6%RHlzEAQf$(Pg8AOVEnldVjo>%kG_~Z`)b&ZY^-~f1qWvTT z3?{zD=&)N+1uLp=B*~!Nhk@Re?S6)@qdQDaB){9aw6xSkf|)G~-yKdxdALNk*8}M& z%L5}O8$16O>MyXNfjxJ`Gt(4*2O4ZvV$)MIGncOpx2}8Z#sMEMY>5v zVLjM90kZ+v$OPY_8PtAq`!Z--k|d^m&;d+V+AAAo9D&h5)p<{jVB3bTwWP4GulQ3o zi4S}rLCG-6>54AKsblw?{>iz~nHV`uj8a(0g-j)@D%`%$sLsa~AGs@r92u)1Cl z3Y;{7>gYAf322W(8`}M3yK#BAF!#X+r}gq{7nSAir+91|KidOQk4I9Jp_CHHm9#<{ zi@EB;4HZX6M@_o?+_U-4V`I$pYv7dh)Wk$$`(WD7oEbNtZkk=!8@wcwSN(5iXP=jk zcN1o3>mvT^5Jz9X6{o`@?rFgs0(@oLd%#*kn%oblfipV_&La8voMjmgGpE}oJ0zS> zl1T4DN=;nPi9YOw4N>iUlsX`RE34`Go|*Z5p;nM2%l!=uM_T@tu5zoTSh}y0t+&pR zq1vA%r1Rl@VQCw*Ph&mAZoK#5?6!##D{8Ux?;pATz*_^HJU2V2bsrf9il)vQ6vu12 z7y5a{qjX2JkLyA(K_6EwJ{Bt{{u@@)m;Mh(bXRV2e6{&th<}HaxV%_}h=KqADmWn^ zApB3kDPA3$7)X?{P!`4t{#eQL;8M_@2}x`(Wt~-t{G1vLV=ZG94oi-Pjn2qKWs!}g z^Yo3o8M}@tjNZju*pi!~Q7N2E#jP35CI5F88NzY5PzF0@qniUN`_s6P(|$TTCKArR zyyq``p-tNWz^aeGzzb8T;ui}xoy_)A$qwRX*5C$gqIY>0S;^(E!_Q6`hR*`N0dYAcmw6pUujgzQ zAz71(#6NA0r&-}yO=P<5d$SUImG8=MTXSOTPEh7N^&?ZMPrF%zo2?le|Frx8@!)98{r{+oN>R zK7BtP(infnS|p;;qtSjA%A=9twFy{c0(D$0g{90OJZc+M%gT3X_ae&QxwL}NBzre( z29xbtl9zQiHa%e3!LusiGI)8`al+Qk!liq9u@6W^8F&Qo^}msSp&%ek;2w>~$wH`$P9AsvsCVCXM*6;!oXG4WVYmx>!figRA{amEiQc&W z{64lsdSOd*zXW){2)&6`>3AaDE`P>Z!3MMj;>D|?uD}@Yp2Teh3LEJ^d+ts;Lt78; zmNl~vU0U6VZ6^7ij$Pi*7EG9)Ww3;vR>ASfH~IsIGNUi7t=f2e?~$W_IUZCS9!c`$ne5Sx=1n)4cB|ckISL0dd|!!lTkK z!o5Z_G`sn&tE(@56yP3yIznTNp+IkUaHi;pK}&yHr#UV(*>jC>HheS@*!#YjMI`h1 zEvql)^mI5<5$%xV8Z$K3w%9d=ETxP>_FIaQ|JcduLf;L!j?We$N(!ZY@*cX3zY)5) zmX0KH{}vS35E@Z<%!9?IF8M?G z!9ZxV(}%=RCB&aCN%wc;_6TR#Y2h?dFm*MTv!5m@!LZ74{*93l2&if%egC|p1G_RQ znte+mFduQFZH_6{G14XqEVf*!Zsyppaa?dd*WMJC-%e>tPCs<u5t#a;j_{tcBz=>8GfO!Prvx< z_%?5wpRgHn{~Xf<#;(#hcgz)S$wc|F_&YJNcBNRjav_ge?g17$Y4Px zabvE0e>>2&d@1Kv?RV^Ms>$E1*c-=qH|F<_m?A!ZGi!DK>NtBK?nZ|p7OU-MrxDv*;ld;Z3+rd zUh4P&j`Zi5UHa?FA-FU}+6V#fA5&mb0o+yIeP^?h;1Gpe(@W32z=w6u?c6VF9W>V} zNv5Tbv?yGF-T3ad-3?h(*O0Jp0gCv*!+CWqEcBOfXxvX+O4M1g+caBLnV1^8_49QT zN8)GlG~t~a74!L@XGlw5%sOh%td%vD2eo^AE{$P>G0(BNz+3r#+Winn_d;Sg!u2u*LKw& z3ta?zfSL072Ul9#ejAJl@1Q&V0g0)5F>C?tTRTgc06h!yvADgL0n-pbiF7*x#f)q{ z0X+(!Vhh(eh#UwybD<7Fze2-k3<*)oj)Z0WJqfgJZobXMNa^z7H#~;XDs&wKHz=Jl zf~nDi5lL>*p*P2trmu3-eI*6UiJHZZzG_Ul<7{Yd*s;nQpj`Jr_0XYQnfU@k0GV$Q z8Wt+;`6U~mw5PxC_u|~&cJE({!JGmLYX$VLD8<)$$6AI_5jW)02c71J7V@9IGfYeB z56e$aqaA6Rp!qgh4g{=pIaD-gzL3TQ;McE|0B_g%jW%CHjv9un5!Hr9Lg%H{6*6Ng z9~-QR3|b^NU7&EkCgQTa>IdcBd>dnr9!&{(hudi7y)kMn5yuewG7LeC*^?w?w27t&dEEIo2Oj(&wzgeO{Acx7aTHtcQD5Sn!Uz?eP87jr+IpZc^qHLHJQugc$kPGxxaP z#5f^>RoWg165I#y`HA?x6uy9beq#RW$@YkC^RCGrZ{-ky8+dR`k_$h}n~L;)*48wp zA;8^DGHiKRPw>$RGP$tpE(_Jma=~)DmcJrIhT!lN`#OkGYYSR|1*fuWW_Z& zq)^RlGwUkQMi-wXQ)|gIpiB8rxE@6z@syaS8uE{K&rp!NnD!Zm$sXWXJPudnMKs0W zBQI~f=n;wsf@FXAw@fv|(Q0P?@v#tW@a#5_B`C_*czOT)vBWRhvng}yI%_n^awdTs z=N25?m3&4oRlPH+TN(=gKaWT5b4(VelH>!%Vp`cbklSrOq;YoiQq2OGN+|2TLGN}Y z?|Kvm2L-WI?Kq(Wk4SJyf0K7PmlDO}4j+ zRXX&tPH5{Xk@pawt*|YT^B!2oUoPe}K^+!$cy(+ud5-a6fbY8+iR3*Lz3)ElVWs=N zarNoMS41m%wxes>Zzyl~!Z;>2ZX`xmkVb}yS-lx~xTB5+a4APmSrg`@m5lnH(9qB9 z1Y?gfTuK2Y-_u?2e7(3y6quH${1ySh0=MN>1Px~@hGK>d(T^7Sme&)M@={a49Gp^W z`T+4$m+?6?WorWPC7>}XbNuQPT(K(3x5JaGlh+D~V3 z<}x`y>Jc!K-bPuq@SflpHOuJda$m^oChd*BD7?XUzy$?fS^i8y^GEV*Oq0kqyy5^;vlZvDalf85w90W% zGM!aIbrDg<;;eSKqGa!17NgB%o(iL%vn*o}5Z1-@jT)^EZ>(KFMjsaGQavofhE101 zXob!L5V5HdQoBzqlHJbkP&W4O86X*JC+-L_@W%mN4n&98Kd#glGp8Dn-)1EDz(TVS z@jQN8wLhGg7%%s<#~z$=dkoT0N1OsHv?DSVR=vD~-uQc!Bk_L7d8}hC8eJgJ{<`~= z1Yz-vL>>{_xjdrr>|{m?xhd}AfCq6gQND}~Y|5;paH`NyT_7WFzVTl0LFufL5x{l6 zIAIghxy&6;gb7(RC(nVi|EeR<78s9-%`broR;6mu7rR*FzSoHPE@*M&k4(A2xZ022 zVn9-=8^DLme6F3lb@v#I?KFC*?7G{U+jPQkuJ1g1pDl0ma*6rLOL20lAXBUaGI6U0 zY&vngBn{vPK=*PkW=&>2D2Mz|{D&8dLd_?yXqm@x1@7*W)jm9LrpaQc-D3f@Q7pd@ z>PQ8+-Sa+jHhhBBaihTB-jGDH%$f|& z=a7x@1E2)rS4SR!=hB^IoUXK3{orwcIiz-3!q+kpnc)Pb@%F(}V3D7);d90c%7Gys zLxX^I()FOQ=t0)IfQ~*L{O3?rc`!B~=JTn&;7IHwFCkq1bJFp@SNnv)!`vkPz%;&x zw^EV|-4s(>mnn@vtlCY2%R`TgSLf8kBwoO+9blAo^rU+s-eIWi3EG!{!xsRC3SECq z65m?=nLxoMAmO#RWsH8M83vdcl(VFuF@KF37_K_>Vwgi4bCWiQ_8MV?8X72k13BZy{vlnescMFr@X;(DD;af5b$#G{%rSA&%AZ> z4ZfA4;Tnq6AhOV*oz{{5fn?xae_5(*u>2J?0Zqq7Re7+>5B|+7Z;R^nLM_JG8Wl%b>eo;vCDZlI52iSQupEzo>oxiobumow$8UaoDQ3`yL;u zF7JL(P9vyg6c%6jEXxU!o;{WN9;#&4fdSQ@9zAgi6$CWs;h~!V5a8_Zd)!)uJ?F(Q>%|(^JBjK+mFUhE=c5G6dR1;P zirID7!Bp_5omwkMhgdA*MA2wAUxldRVPfHD-}gt;Q`udTu714Mb+Kdgk5DxROhoLq z+Cwu;tWDRZ&_2u%{qv1yqe0Jh@bC51D|%@pOgQmRpB`a(K@?J3yGw^Tgg}H zhex|`0fh7+_$3oJ7uN&o$jSl83g>9cbC_IS&jJ1&$uqr&8E#+sUtx3aBZAlaD76ke zvY9(tWv6^MZGeECjpWRMW6NgcF9ZvPuM3;vX;c>hT;LCe`2xzGc z`$kU=^+=pdr7GQfO)HRct^G_{tD1sGNi)9n6c`longu4(Jiy|bI|lK68cYAJ!vj>w zhnpc3Zj#+k9^)-`7=Du^8YO!52$Wn&uGwR{iUt zO0K(IBwX}lY8$V~nqid}DvjtDq9=!D+T2Jiq69S$EH#hxth)(RH%y`I>4eA#Mc{HS zE}Z~^7=RSO^IfCJsz|6t$fivCV(O>qUA!uz`xoUegkBU1M;x~^zU(z#D9m(GKeawP zT|dP3;{V}5U&(&mM*7Os|o_{7D* zix;Q;wCl*fl0ommvsSjDXY|BZJTtrVNu>Fzy8=+=u#zt9-MTP$i#BU>t&ZfHLRnXMb+)TjNqi73F{UZrmH6wwjg?6qS)ymUy`d<+ z@4Afk(Te?pf4UW0gpd!4-Zn&!i^F;BqXICRB|(=}C9UPEopjWIC`(y_hb4=aDGs7u zfhh>!9&akuxM=$&1wnSlzrUf_XK-#Rs)`ef>!i)nJMB_Bch4ZXTq-E)S%LgP>vg6c z@1Yqq=QdZtBpIY87ZW#+g@O_lqWXe@drC||^rC94-RWSP)3@m@?>0BjI)OYu-3MH% zY|$3z&FDXPX7yv$GtRq6-HiDkN;G_a0Jg`L5WeCoq_nL zEZE|Ha$tfKb?x@j?0-_MvL8)i7EfIaak72r7N%;m(20d%R#?!APTj>SU5$B z;o#KUSEeMm`jwJW8WLb3J&Au3KL9-MGS$2OEnXR+m?U^;WOrk-O<@-;{#$UYMjfm56B|& zkn;HRs)h`);QAz(Pf(sJ6P-h_xOgLG=gg0dHhBvukD!iF=zciiO>=U(@k+1ZerpyD z+a(Hi{;A6OUrOMA^dVjZ;AnZ+rWl0|fj90PWt#Yh!ST0GJ)`4%&rx~&8q?+VWx!Eh zDM45@p406xhsB#hSu_X3#4MNhV1g6?25tik1d>n$87QWXp zbGX*WTj-}t-E(4`b>^CFs}=^72J_g?SyuXFp;$$!UMP7TZcgf^?&K@=>_b(u&1)?CKFZ=(T$ z;WXn66T_;kSh4Pc_OFF_3K7#8%ui}*w7(ezODYC(T?_kSmWW^@t`Xz14uqwo4!0%Z z5Y2heck^Lxs5#e7V!t(N^Zw3M4Zwz9nveC^BWwQQLSMkEj(zqYt`_fwPk%yt+r~L; zQ_0D9p2T-VE_WWOOK7>nPJ32|8ozd&=Tx`o{FVuWvnmC@cot|ijr+1FO><@d{FJw5 zvzb0d(YG^ln`Uq{INStKc&L}pT#pCjU%56b>0OsC@gn!}wNeXQM}6v)nN#l#tx7V& zRY(j;&z!@z1yKeV1nlZF?yC=EZ9z`_;G+5}&*}|T-5CKBrnCz38mcW(J!h#=Jv5ED zOID_4ssaWi2B}9L9KEp~-8vp&WvAb|QHpc#NlAE`daMRj5bccfhp{lu<35Z4aV^)9-$3Bqw~Umq)%Z;B zz}*Jwpgj}ecO4+O3-a5#sv`(@P@!)U9o{28&b@{V;F2ji|J0wK&lIHgVWTGg8FsP6 zDBS%wR+HrCH{L`=@pGj&LAiq#iiaZi8(WVi9;PHOm9nS$R_BNy$63aQqK#`!g|H)y zT4P(yBc+?&6~{Z1Gp`W=E8hvycBKT8zYM;xE*(|J<~xAEF<&d89fszcO{*klsJf6X zhR(lR=FiqNX5u&t$w_sX&lKS&+F){hj+PxK==hGz#u;6uXSFb%t^Pj0o?jLleCpP} z=Mip%zp0#Q=UXe}_8|YIv)UjqhW__uda7d)i4)wo??EsRRkRR3_FzQp2>v68hgKi4wSp>;)>ljYTCN-}CW^|VF6MWyvz za0;+2qfmAg;MQpAYIumXSO@FC=C@uZea3b}J2DkD84^l#-&@xCwe*N9y<&@+_=TWs@QKbd)J0RSZ zzl0)UlZ4@W?R`+w`c!Yre9s4511j{VqYAg1wnMGIW7#B&Uq@TrTi z)}xJ9)MmR+`|`y61bPrrldX4$n)>=N0nj}<+Ii4>)0z~OLM4%wV(VG zlW-|_=cy5oGjBkvb6P^{_T?>r~!4o7up@YtF{(YXXbx z?!UW`Qq+yVdC7;LPY;Y+?Xmo#rZiHKZRPCu2|W9Xj5H99=Jg!{gvd4C9S*h<1hiq9 zNCf_;+zFMm$ySCCCfc1A9(x@L9cI%tflg^e|GWJ6jwpp|?@ZUFO0`cWq=FNT$mEEz z*o-`fs%**oq_fUXgPleu%V;_UQ_}*E*{U@7>~N9m+@{cc+DifT=Saq$k1snS!XB3? ziimz}Z^aS6VvAhSRQoDGkn7Aq{0vkjL=aIOhmi+-5`BR;prPkcaiadWSW7JWbOpN_ zJ7ma`%(Yi#PF>M~gBVT~uaTan^fp0HH9a(9wH8arE( z=PI^w@%sX^(@lZNP+rLRN?jHyabsVY2%i4lNoJ)Ijf0^N>1K$C(nqB>>CHU?R!( ziNjdz(F4&0?cK;$Vf#BEHz6a}_M9*Iaou%w_xiqf1+fv39qoRA4N1I3diCkYV=WNA z<{%>^UV+Q+M4Or2A{E@LZ=-&a_XGaJMdXv+<@mT`#~Q!v2EU#BR0UHFGW7RF;LHm> zw;qaUozDCT*ZUU#2~i0{MlA<*%dKW`b~u9}I|aM)m10fD_O}hdd4zM1ML)FLVO5PG z!DZvT@eHF@S+5~L3_?$^{px&bAGF^#qt&<7ZD zrx!y!%tfWlqP+SVcDJqxjVN6ddn8JX6- zE1=N@RK4F#J(HGyKyI7-15oMz#Tq^0m4C$d4*!cKk^e8Y>R&8PaP+@esj`2uh!m!1 z^Bv?G85+X7Ue~D&?aZ5TW7WEVT+W%}k&lNHS9xi+B3$_T&NEE2s!_WJ7SRIiWVyv{ z5XF`|4$#m&pZw{alJId&+FqXlBg%5ZjUL;#nwF>HX}!GY=|9rEXG8bN|Bw#WqBB@7i$d<^TUO7SQ_0y%YMD{?CFV!~g6fTG%e|ClbXSHx1a`!VhQv3n>60wf1nUs|?efbq#U6giLmwV(COyL<$>N zI{!pQP|vkCrcEKxB^2$NJ6y(tNs<5-`hVGTHgmxRlo&R0CH&(zbLsIENG$X#{txVz z{|_SjPa@mE>YoJce-daK|0JNh|C2y23Eo;(lw9aPTz233-<1Dv;b8y&(;!%i2!gFe z33Um9Tmq&vc_c9rwgb+5;-z1Xc#x&EV zY!5-*zCzh(l_Q8(!OYz(?qwcvk)?yqtFQDHXY;;cz{b_q^bPCJiU3X{A&9_qG~W0S zvRmKJ^VL0*@B21>4uRd*|MqBKgrAlt9yAM5(5~`S0O6Ki{;>*VzeVj+2!4N?wJ%-s#KH~M!5Q?_PiO)CCF@1Ir;h3FGB+BaZSP}UHF>{28 zK%5J-rZuJJ#TRQ+8o6XJ6^!n?K)#tN)gE-rwZ|`)E?Cbq8&(pcR>YDXgYpo86!>%H zXH>kfuZAlKaybV0##w8*Lqy75G_BP3O(MQ<1w7$!cyk}{Vb<=zZs9J{J>=V5UuWw8OI&-|>jH_I5l*#HYEnUo zt5IYUV7k#VC<(FVOz-^doABj5>1y8z?7BTspk2d>!pWw?8|p#R#%9w=?_v2@`fD*j ziKfJ}aIo@j$y$?|IWB~57fCdJiCZ=CJs=Ls*xU10;lURU@IuUIc*f$eVhyuDNsE=I zUUtNO&O9uvnnbFGLzOv1H}DM0-s;bd?wy5VM4UEi?aC1g!Rvlb z=a;Ak@Bu_JIN@WnE_Y+mkLmebH)B@7&8C=M-Nzfh&DRfehPo^DY0kx)q#cZ}J{JU4_-BFV|0=?8NK3D08#$^F0FsV(KcGjJ?;-aiE%aixwn2|-ECZnl zV;$|m&App6w&i-h$ZUDck7sP!M0Lu{Di&@=U)=JN*fCF=CPI)mvXy#5&)5|>A#1!k zW@^Jbu^-fw0z|SYeVpf&P%mTY<7nShH8AcVvU(6GRk>BQ=k~TGX7s&4?bzi=*cM*V zRFNOw`6`uvW1xrw+0WVGIKF4m&bABTTv(4G*7*C?3J>ROy%(l#9~2YyYNU3Nsm1GsozuJ>wt0Kb5R zvAM7BW`|>`ajM_nA2ed^w_Pu!A1j|a0w-AgCdRbv+3qQP3p|63B~WpD#!e}a0-Q=- ziYAXvjzb>YxGydQlk}puUjM+zT*miW<`rkTQ-bvGM&tbRoy9vs6KaWb|4n~FrWCTT z#DY?^*sovEVxGJ805jX9S<~)1N_X;mBM@j`(>tZFsCm{zzyRkJl9!2p>^M32L&*E< zXEiM&-Fq8fl>9~zABDs$wZxXk7^Mi;kCMwo5|xb*(&K(95%1A#Y@wf*-M?R$uNHny8A)^@$g+5B(&!p2d^gGj^8$bBH%a`c4OtTGwO(ST_Z;h}#ZLkEb~oRYRl z^{|nxTLfAb(5OL7ibuCLlDa0=YvH$4!;&G2R?iB#kQ=abUw`c)4`dH!xy1m%v0; zxBn&TQ9hjg%2nub#mjE(XFT=#?i>zMc4FOa%*8$+$*vU=Eq%8T&x)7;SpzPWP zSl~DMmO$ce#CX^*nW#>O*|2iQF}Cs$iXJxy3p`20g;VYg#Hkf0x878h{M%T~ zZg&85aU2nwd0YxiL*BGx{v}XKwiOVf7Kd!A#%h`~2zEYL-5@og#Wdb=ID?N`@nMi@ z{!>OYaUqCNpo`Fx^HmT#f9@AM!@$}yd%@nXuyjh}vKuUU5%Hhg1#xk@XVOpd$HPTd z%|C|3S^E_X729_T*@~#!P>t-47ze90@M0B!8g+>>US<@QuV#spp(J@t$wDpIG8*Yd zpSrEK%$a>l!c>A3hOwOGG@lX2Dw*Hwj8j_gWfB)X^W8QAC9J$av%!d%4JKcRuIjVk zXF^Hu#}c$k_;a)h7|{q4sb7Z_lC*xWU-vFtYJEYa=YLYj`>ZrVMyO`B`dzLbn}lT< zFp9*h5vkHhqNu4XzSWg2xKQ{-k<~1TLDJy{LD+pyu4m8gGBInb$jq__uaCVTDA`!BTazxPh_m;ocjXs5I&t^y zKIpOd08WE{KQB|KW(NWhm+TwK``;aL0Hi<{Ed&~o{RZdrik!VC%G8$egQHk(2pCAC zaVI}&3qJ1~jLVqk=#<7!J4V#oea~*z%=c9$E>4zl(ek~Lmr_xCeHTbGACKDRf1lPk zNt|{9S@AI#5TYl&e^1!O4gaP=YXl??oL%x+0mU4ODrii7Hxav)qx@Y*-;jHJ%0hftad$7IjR0ZR6lNm=h% zD_%2kw?Cw%fAUGk-T1!W@67PIw%f~=4wJnddc;`F!RXd?{>hwY!LgsjsqHxtCCbYZ z?bBFirm$t|kBG+3{-Ev>@`EMjvAHT$z(|@REQy*kcXum1AJ@Eyf%XkOf|L0;u4vjz z>HhZZv{)UA?vhQ=1=oFD0l-v@?xViFyx$iBt0 z2`%%-5M!9{?Tj%FSOcZaBc$W%tz`@)QICPSi4!%9bPUV8MYqPin}|JrwmMOPLV3}_ zdFO&`#oW~i8PsY7q_nB(lYL}k4I#j&3hWO{mnF7KaE&JJp{IH)V1!BQSxIhX7&MJk z?TZ$ufH7}hWzr=>M+n}le(dLRN?JF^@~6Q!IptO37WBGgMwBsPyAs}?VL90NHG`N& z!wbMD+340wMnBh2Y!%L0@hzSn*}nZE0N@FqUdli>iT|B4( z0|-GI(kq`EFUEC&{Q>^l*P}+TfaL!LfIxr0`qkSU5OM@R*{Phv4>8wuK1JwhWP-9ebwyqZ+lw7`B$LOAhsiYDarE%JRWqHw_AKtVXMkLe+=>a61Cz>Hh=cPX8U172hB(% z+1L`V13tn;>V%7j!xIXP$Kit+Iuwu|Lf8N!no$o#8Pj;efkxKP-ez9cgPbY`a4gn_ zV`AMl`<=iq_#?NP1Wpd-D^RD#^h^H3eIUtx*sBDnJC%S!bidips>%ZXJC(o8!qP=b zIAD?zj4<0jc=r#fB7e5m4m3G7@sG~Na|-GxkuAV$kZS zks=uP54Zy}Dmk%Bi6YJDvFz--#3hzf0r#N-boaN!TMV$lN+gDj;|oM4cGP7z&dEQ8 zY2{7}!AWS)pfFb)G!Um&jkPcmIwusDS`yPFs|V{DsV5Sc;=%ch8YY1~@k0PFsSW_- z=v+BZU=;97T7S2*W+1XSU}0X+v6{bhFl6%I@woA={r)o`^^4C~N2XO%L>xvuzAP(s zys;#{1+ZI#VGM$bVYUuv=WpNq_CEfd6}O z|1IqIF@JU*W996`=0nUh(yuU=Y$L$b;{)cI5J~6@RytxDU3T$L>&%2@2YnK2PJbt= z2#>%qjlI}}WeH%@Zqi+iSuQ<-{{&ESUsdt$0Nj2_p?zRPb16cN4%#%sRKVYj6?TXF zb(kcl&*nF`M=8TpZ0)4tB#o6r1#2odht=I-(|-Xa6wALaqeZM#NW+?8VRFI$HZ}%| z*}_7rqG4G6Zz^cuoG0=5gWV7XD@3gq-}^+O^YQCFJWy)_LGcvrV;Dl{iu^VI#u9ps zl3(e+zguB*B;glly?6-135|m0`}Tdlf6cljnp1P8&XQ(~4=CwBXsMQ(_E7wl7I(in zBY*Tpe)3?RLPYh0N7U2kT#@mA&|U`q)6@&{r)=0a*S9nI(om+G_5InN0B!UTJia+Y zt2uI$pYRd7#cCb21AG@aE~#M1puz)4UQS8!6BdaJlX(0f{-3IUbF7I#IE=Z9g=i}A zjAAWbKp-hK+9x@oNRkPd!jbe1aCf3oVSjPFB`hEPWee}kNk<*5{fW|_w!htlr8hwp zYbD=1U%b_J#k_6Qp)UO_|5q^p&^N@|Ma=N2_YV48LNYX61nV*m$;Y|nAd*J_y(XuU zEUl1(;k#Xv7MaKuMb)mAauBIFIMV<^7l1avD47F836m5=DX{t)kr-4GJ7@-5^MCFQ zwPE+Rn(dxOESxxY77s+Fj=WzH0YW|WOIxHSHGBe6ImsyD*c0tO4*~&$;`_^~bO^L6 zvQfk|0`xt-7nuv}lpH2=;E zrKJ5_q6|aUo(C&i48A0qz5$VT`02>KD>vo%=z zPwnx3L-raG+IKP=9xIXHSi_9sA}Bl%82?}>-is)b^&KYr2c?(%gMX$*Y*-&;;>!gB zA-+RlrPs8Yuma)vETIfCBpi=qebF$k@h8o-gjLHHbR#sG%a#~7_vFwHw>eZK`Y?Ps*U_r2($s|uVzFc}xp zqzO?)Y)aw7!DwXk8GqeSj?KwG;g$>$HrESmeg|3L3sTPFN76&^NErSvTZGAWx!A5YRFixsecziUlwRXBS!H<5MibD z!Gqika$u5N9S0vG8%Pb8uy%_-A}PqA4JWsZ5swuLL2l#%Qt4}i;K)dDX$#2Zh)uGF zT(;yc4ifc9OEad@N48$NOrm{MDue2QhO9)Ke#XOpXFl>O%uVbW$ji3xl~c_aI@(TO=vq6A3F3 zKB7tB#1KiLwML&&x)F}VkPnI>?+h65`86+uNIA25&ie?a3%0;^f1)T~gbAL@LCPcgvC0L3$D^wKaMa+>Tg%GptF1m_-&2 zAT+toFM?&I9Sy9oCUQJIk~Jj0Oh}j`hB?4*T^b$^Wc)px1H$S>BYzXR!m40MDjx$l zU_`N!a(_R|ofQQKt^a@nF-_2RU10(twH)FEQUEkO5phSr_V1i~K}K-|Qq)v2xkiSU zNa+kY*UQS6z(`nM%*fJNEHH(@`HD&8DcFK_l_l)%qssbty1nyotZ%^7e3BV@KJJ$L zmM0~{z|!td9ws+1u&B>7Ez+S?3Mk?U9_$&1`+xgOQq5A^_k_nlYO2Qsg#mi$6BP@K zp!K5A^+}9_$We&D16i6lN!WS6DR-z6H1v4(K|#G6P@Fr+1Q-*?Sq$wJ_5ZC#dNJqw$*JUhOndCK^B^)}l|13R&8)3MS`lS^k{qs$qPx9)o6PblYt zKYzDt`nRc6tusqcvaBHmTuajr5P+`^0)h(Wlb}ntP1p2$D{0NxA}bcM6p?Vwa3Fl# z^Ax(h4O(X@^<-pmmW^vCiY>YbdEV0Dm%*f;EzmFYYh1n#|3VpOVbL&JHrXU+P0X zzxJZ0qC)yh3%?ncprBn&YMU-rWw+QC`3}9Q^gY2gO90C7?V=@ACRG5EwjALI2a0M| zHBBg+)hg5GaS(u?&v&A_?jC(u;DSmqtdLmhA@UuTB1}3$dO~h^YYzxHS230TkbkrK zC=s~Qy&udSzm6EPJT^>V`N{xsy3m@^a?7#FN{i7VvDD8p+ev*%gHaBjRI`sC4xh|q zozoUwd1#T&OKSw0yAwXaOQiONlqoPP8yhtE@Yn>ju$ol?2|KGuGEiY_0&2537I(up zr?~GmldxF4aTX6*H4;6Jh_zS*Nq^3UVp+0rO*A~pbJgB$lkQ#R+M-(5;SM3VA2epO z;QL8H@EMRc0SxLTp)zh^z5iw?wJ}LpDP0&bdII@wUg@0y&B}42D z6bPn07h9Bt(Ow0iPG;1}k4pO#%~DiDH5JpaY(} z?F9!~xoD&>Oz+n+``R1xs2*j9kk;;ihnjTj-P2&O|J6V#5bI=ioUPLeG|a8kY%dg@ zEgl@!Mzv)A>@appJbYfugMWNH*`PlOlhegodM0jxPIXL4#)hzijpBQfl?vYwg<<}5 zBx!;5p!;>PRJm`uf_7V!WZ++501!6w7F*v5nfA+a3huqnXw8};q4nZvNCc)bg|zA% zSYYiEuZO5v-~hqAv;tpGeF5hn_X<0}s9pG57uwQQHi=P8BB?ARI)BA4^i!tg4kQEO zk=m4$N?GKLCA|{*$i9>=-e1EUKm0hAJ_e*HIt&(ws_*dOm$BZ0*o#)XQ47cR zeytilGEtw|5Pm5 zHtowRP3u8PKNxFZJNhm=NC^ekNCYV5ld_rsxP6M;I0dHb8ig#r4|Sd8nsDl(cG9Mz zNud2W$49c0{%6bb3D4g?1_W$%>2|z+RxVCaYdJ-eyH~c(G=FVYWd`u=iZO$(>WnFL zS(Ei!UGJl^^?*neE=Qz@I;1ZBK6pF|xh5@F8P})Go+^1M*Z000aQa*k5px^Z#8`mNCUO_HDl|J1SnU@8y?=mfz zX|x1dNm~;J!5Tqy6kpuUQG|`_#nq5qUt5B|9_MH}%71o99`tecb7VaZD-j<_v%_P6 zk!o>AImCCXipQb8qf0p(vQuI+ZVyGOuGV3fiw-xP&OF@FJAR zqJ1Ex{49dVx#&v5kgnUZiZQDzx;9f33;(SyVJK_u!xvC(NZb~~4OWRilG0MVZ4&S- z$l{(u!w207ZCkPFU&STO)JU&}5VASf5s9b8QK^wb{|hlQUHd4z9uhUkguQDOlhO$V zw10jq?F>+Maedu$SpHx#QrjsbiOmBS@Dd}atDrPw+nAZwOtwwawk+FH&00aJ2?ZvBo{Ry-znB&u)N5`5*y07q<dXN6zuiQEGMy_bOz)_g+I47Q(o_NgPku@84GVe-T)_X=&@g5OJ z$afjfh`!EN_MuDhOWJMAM!zA$T8MEqFfo`~XTN0GeCqrek{ zD-&u-52k#2E*8qP-l>q_c9i`GAw^|CuC#b`NQa4Bx?Liak3)7f-7Z)^q5N8;r5D11 zK+DP2`Lb1_CZ!GUnCg^%hdi=NtR&O!SeZkWUGQ1?f(6WB^u%5-PQf&>^nU{v#hAno z5I{W`TxF77Ni(&VG*nF0%(Qrj#*)e2a%Gtb9UehyQ+;4m1x8h1R0RZ7fn#Jp%cNH` zZ8J=|wr6K_F&E_(6W+VDg*dMjkd^{eQy`6blKdm+ul&i|Y{&sw62)H5Lwby|Cg@-) zJr9G(EX^1;OYZPV5`1Xf&wrtJnv_K$+Po@4ED7$M2H1{6tN^w~#Z{nt#hz38kghyv z$(B2%9qLr?9b#}3N|rQsjBX>a(LF5?Slr;5^bok<=cM%zpt+;zApngd03G)9EMoSE z`#YK*q8uwP9Cmd?Jp{xC@hiX`Doj+6+f0HuX*%Lk+0p;b<;;(Ilz)9E9eeWKG}rEN zHcAw~CCKTcY?ZXOTnBLDkH3Y6?hp-0_g~XOj;N5-UEvm*E#XzOdpfZF?iPJbSt)or za&lWI8;e&lI8cL9(({w{?PL?|?M-T^yL)G*t+0#Z)L!zgvnF->umacjl?Nq|NcxPj z&VNwqfVq#hu!bHw34hF~<0M3Qjm|ozy?K&0f#mXQa;Mz_y^^9Jj1w+SZ{GPY$;I}h zF?kXk>$YS}5%&SR0V3b)_#^8NEB*a{{of_l3Y9cBm9C)MYV*t_b&_;umFB^h!qm_~ zEezIi;&a(MPHlft2;IG6H)MI#0@%}|?v^&r<7wmxrD7NC?tiI8h*;MdZ05Nn!*1pL zncmptM6VfMXopjB{cVgtNDPeahFt&38t7%?y&~`9ox&jGjL+O}bQCrKG?lI!fTL~d z9}pSu7ghdc2m5LHCi$xrU>uAB9gFUAh7~<}=$*v`v6NU7H=cz1lY-`L)!wOMl_TX!@U`CV%R>a${cD`r$Du zk+2El7TQ0HN};Ta7U@v?38hCAZ7#sNYcc`DbF+>jtLa6%_0JVS9!$D@bgz6;r>3RW z^jd=wXwhyT8b#WLWtrBEp*L#eTudMGhZ&Ya12N`;T7I z2$re$X@Bw}uflt0>&b02+@Fvcy*N2G=Ex7IYVu8K>+IU^MF7pD@X0ctum{OmncPfA zfBv?h#HNZAsS^G7f5oTIBJ?)-3?uqkrgFjkX`h|Y3$Q2xytCUuzmQu&R}RsYUa=D{ zk{+n!#HS$S6_G#SHW;|763r#hcJXi735wzcaewgwQpx`$20&pDRd(#uNb`S!a?w+6RQ@853!Ox z(ThcFQJo-_N5%o<(af-F?J z7=K|UFCsV5rNo}xOHrV5UeZ$Q8@=uQMBUr4Z7)sPd(Xfb6e{IqR&rMqq<E3;tIG$IZo9~<$wCdwv;~Fd~v`T1M-J3hb6eXEva*H$%XX( zQ=;(^pZsSJJ#t}C--|)p62xFCF0JlZRA#zSBQAwo?njz2h9+Yk#If13p z59>T*5;THz_ zhb6VF4|1(ZzYcUsm+!sdUwWc8Vt+r>t-5BY4LYI_4YVaTM6Br82>Vx>?O9 zSG})DtyT1QIE!d6_tLRtSvA)%*}~T_$%@AQR6zTfUCI6RTPdl!9m%Ny?q>ZV!`*pb zF=k4x^ZrDh%DGO9vjS8~CnZMI#8G|0{xprNYx(B#!t9w58{H=5 zY=(X?Q0s!-fdPY;)ofiH{&vD@m*$Ordm&#vn;^`7*z5J)Zx`E5x7%7QvjYx38j}rt ziIkxc*9c&dHcpNp>PZUMAb)~LPwX^*zwEorH9Th$BnH1QyKgyjebT(vwaZOmHsofm zoKNIt&axNQ!3OG*Tty$JD-v|D%w{{Y1kzA=5XQNkrO{Kz-#j>T6q9?UNLC*xGmza- ze2@YPE1MpEhh9=sjzf{a3hXHip?HOaR??F8Mc{8&YuZBoo9&uL?tfp^O!R8sD!%0l zyEI*E&Ee;?>(!rH!@Z8_RczDIIA@9N6}zV2oGl!6k#Cu$rx+JA^Wu8eqov0|V*=f^1Ap9lmEk?Yf`n{owMOpMlAM36Fqh45oi zEKMYC(Kp~luhKsGargvTa{d!N89$*XNOp7ce)2}Y3EN)YYqRu_kHxzmESxyIBEA}K zrw;Zxy7x#?UYx{lvvu&CfXzBwO)5+05IPnzwLVyr+XtI@(tk}#&-$fh+O~aR^qoUdTMtzYfVxxddCYacVsn$t1h-rySZ+%oyhb8L)jnOCIt zVm#GWDhHP`HGgHj##%7MC8xy>uGz)qm2oq>vF*cC+8xo6J#sg0h$hJ`rb)y)cJ8Az zk{=}7qpj1;7w12wDu(^P`X^?c;ed|fgTkyx~1Do92y zB%v0^cJ6`PNnur#xwX-16F-qG%OuM*-#>7##LDjO=6?$s?@uJ+f80I~@^K9bn4Cw_ zI~4!c*#yz=B5aR6(GV-k<#pLe1lk}72(XDMltzGkA0zVbfBok>X!L^D_V>U3OFpAE z&6lm@$W|;jQtd4eK1%jk69$mJNpeonvUrGbS|uFPMX8rA0(U#9Q@H88Cc;#Av8FEW zcD=e{Cx4ZuTbCD_ruFA-Xo6-_YF(G-NdoWVL*S!?OiNUj2&P|2`6Crc*207O122TTxUPO?zQrY4z?N8z{|vYd8N zH%PE-%TofG%wjwx?m^9XN}CzBs$KMOCZ7mTU4N8>J|{a-?^E)I6Mdrh+9sE0((Y#q zZv!du$-%=2-EmzE@d(lm=d^@`CDo;=jS~KhYOb(mxH#9R#||~3z^wG!Q`P6SSO-W;wq&`E ztArh7+AYm%QD#>&`C8X+W_>uw>iw>qK)$4PatS45R}>{;*NJ0i@j!}nYT7jZ@yB;0 zWtO8dC{b#sm~M;d5v*qdnG@uD<5)CF7k~6>u^!+Kx1#)!YcswdV6Led#2z-M1nYG_1{yPk=g6Cn`x*0+BRRGojD&Ta}sH*}Hu7J~SFIaTkx_`VjKk zBF*;hySN!8$*al3^gc|qWEg2uLMb4xDVRpp%4=+VpBXw#FabepP_K zB@=|+y|;FJdOQ-PlyvKhR-jOaYzn-EIrVy_4PB-Zsdfd;DbvxxrAjO6v*s_Erb{iG zR>iLd+#drbRaJj)!dX%PoB5(a_oM13Ss&GUXeKGy7)Ao%2wYy7J;!Vj_Dwm7Qfwo5 ztoHj5%rk}lZGRcrR#}X+%?fF<1-(Wlz|*X#!i#B~B+>?tT!9_Z;g2-xE>Hx88Oa;P zQ?5K{_Q)C#fveC7D++bXGrq3ywsYmJHq~sirufC;_SvNQLN_%3O}V|EUEJvQ<<0f8 z_-uG2-5(H(pOllVK};~09!SA_jx`fD#O5W9plGjq=zo1gI=XE_56nGQdBsipv$C?- z#3FQY9RJ#p_59QslM2Txg7a4-!UM$^J!0vy{-I>&K+Iz3Vp#y9D~CFsHtaJ zVpO5eaDUQsfW&gh9eDI=h5VHQY~LyE5THSmHTG_)uS@AEtE-(#??}*Pj;Jnxp}Pb( zQ%LI~(o%UAUy5l_ZFL#=V2h;{a@G+!omsaL7F9^}4wgp)&uJW%?C%weM39n)1#^v% zCf+OqfgFudt_)%yO&PPK*LY>Ic*wM4U-7S%1mJm|eG?gw$_fdxl{Tk_AF7c`B64$_P6Vbtm# zw#=)0*oLj;bdPdLg}kE@v%YJoDco~M){-x4CN#l3orZ@xWOug3!&~On`~Y`|P<}xH65jT&VVG zp#2$IH9e^6FsyFU*o+pz%$=0;WgnYnt?#v(`pX=*O;de(+YS;F~2qD zcd3S|*~&~cG($E?1&~pf-(`uVea{;4UeDgOX0T9GDXk9arg(Rgw126TrOalsdNb>z zzs6o>O;hS(XMRo-(3lU7GvA0GUut7oLo*}SBUGSchlWY72BD^06R|YKYuu8gF^o=q zcB$O-X#R49>y!d=>2=Wo1mr%0-9e+2G`K+x-xVw)91`Z0TJw1aFPm~reL=ljUN{*I zV?1%oU(8fZwR)@=7JtTka#eUhFQs}Jm>0OurM59$tqiwYAYM=Y)Q#D-(Mu1=wusNE zQab|Kr-|FnX~6Yu2aOgAc-rC9xSrXXsq}HnLI;7)V#@zlW>=&qG^l)SpN z^y{n3{wl(RQJZhJO3P^QMBZogn*Ir<^fw=v>x$lS2dRnDg@3z(OUUEUi9xil{ikmS zL>Y>RVqQlXwY^@o7PJ5dEwmN$t1#+{DJ>8EnB};?LL~A2@nK7Az{XK_}|87W%*iJDv0W? z*=}0zYk?#~HGjF;caQTsSKm@ctS9iOmPd4so)cC*k8tKFVIIL!i=#8T0FQ8MO*K4n zV_-x0LheB)t|S~mZFJ=(oKfUj3EGi5xSb?*)S;QOY$<)* ze_2NzkB-MK$qLguvtP5n9j4bq2Nd!|;C3;1$3sv!eSas1!V61RZxywNWPn-}W;tUN zYwmNSjifRkTqB~q z0#kCUH-&szVOy@;p_Q#I;vN+Ub!aWFN;yKPLyAa*iiQ*+l{C4>9@a>TCnyp~^qgLz zO6qV(I)8lHKY=GDzjXn%-nqU?na)@ZZOH>7ekUGluCJ&U237)YWb=8F^$d=dp>{nq zc{;Iy;}6rZkuS^52)nKD6~4$lCwz??%aARtk7~A7U^ID%k|ZHoS-As&qFGb^P@fX9 z!#UH!ZI}4lP320pY`YKbu^kxerET5qRa!0-MStL^cT)un?sU!?YLwO6OH=Ko8)uVS zpptF$fRE=Oe0oLNL9!$wnsAU9bXkf}R(wU$_L7RYY9>&zI8n^;*2<45aDhkd?Q!)k zZnedwNy+VTx_)&5X83bnS_SYVx912{fP&8|O$ozGJAd$8lxwby34_+%@t3hE7>xYI zw12RGIP_4Js)QzloMMq}=Zer-49_7Ai@n7bs=?Fh&r-iklDeGcL5oai&_>XN30W(& zMX>P-wS?sic~bQV*CHfIv^A?C*~8f--}$1YTu=PmwWb88X(ea6Cg`hKS`VHrm%3f9 zL1x{|xglWEi&2FjCUgZGp5Xh;&A>N-aDVfH+5QAi_3Z5hy{~{GY{fzZ1U|1Of!Cb2wvg;L9}8Wb0K_3yX{5NgA=9vNc8G7F*6b0TrIAfO6(P-*iEER16^j# zjlYeg|ApSvl}m0E=;TUM^nYX%h>1AXB%E3l(7S>a9)J~6%aTG>j4;J*0BIbs+kg7D z5WM6fY{igrqt02AJ3B-O>(r;xAtK*2B-i|b^?fM!e8_rNvhELQADdiPOAvbByeIFF ze%ar?Vow-b?WoUA+}%L(UQ9~ZnK(xt5#5fo^43^xCBuB*_G*+-LtDxxi~vU3R*|rXS8z# zT$VjgvyY#WBW(#$)d%Dj?o@&1rr>6dT6e1;l_Mg}Dw5NVP*+hlLX9>g+xO8#`h7kY z&Fk2T3!Nd7&XqMmYxubsxP~IjwSzx9cfAPyl#0=CLI%)%GGAGq{ypvLKz~WDdY`Qa z4ZjJSe^||1DueQBwgv7>_Tn&)2lQP@h#PMY6gY^ zBj*!Zm%1?~$4YXR(-gj`MDNQeZXzK`_$YToLseIP0?aW`YO!5&UGKyElskb5O@4`H zmNc@efh(PzKo*MvtXBN{zkim%mw=8n49j)OhC4JR;k8%DZzLVA#vJ4 zcm7m-yiJbtM;{e@`U?h1hDW2Ms>lp4hd45q~ytsU*OHFZS^E z(p?Fy_&s#i6I(91g@Z6IMl8{)NtYdj7wYCjDqZr1QW2O4pHZs7knXXhQQj(mu6v7Z z7(vF-XJXi~J%?lgAZQ7~aZm9NO9wgU?^hLNx_)_eo$F1I$1icNxwnrRh^ z!fX1`s8c-`dCZ(lR-M=ouXwm&xpKN~o2IQ>w|(Tjw}T>QTA4P*Vs(~>Vg-WrE^XVc zYh-JPyXmf(=rs&|rpvR7XNtq9`!65p_E=YH&Q?%f7AT517JsMhzW@7Gaj zB<>=(3K6=@5bJABuP7txnFj>0!bSwRlX*-6j`&pZF5w@DCm4N_xIMupCPJ&??$@WX zEn8I@Q-m#LUA`rMs-~{0+U@1-t#y(#hK-pEC^aTR8Ers_!=F6W%{=mUM-m5Ta-A`? zWWAC;m37@{6MskK&Q3mR0;&R+*s^YvS);hB#>E_K)RmjN+^Fs%r;>A;_=TNvq8_u< z!j(v?Qy$FM>)!@X$c~{^Pj9s^>ff~$WSa0Ppv-7XB-zr;TTPW`Mt`Ly&vptlJ#Ow_ zv4e#T&h$BLs+g)-P?XZN}d=K_f(qkLceT`mHn1647a_`4~`F0Y&$H1CpOmK8{%yjupp zl?kRE)chSZ%b7c&U_hY1!@%&J+PFwIv`H#lIYQ2wzbB(+ZT*#a3oOlydo~s)Q|>a zKNrjfG)I-_unW=VR2b#>)~jRNG}#pH0B8Lv3SDwptz@qJom|XKBL!U4Vx~!%q$Tq@ z^&({ZN?a7I!(1v!VTZ3W9f%kwm{=#og`K~swSTzjN<2Mg(eya){SsD|gq@Wn>c@4! zW|~q>GO0ebS@VTb*iZNXRc7qwmuuNjE-oxh?V|@S7by2?Gvnj0>v2=7Sp~YI|Ci)u z#2Aw}V*PL<34D*Q(jYArDX&<%e9{%^o_Q(jB}~D+Nk82&({zy6DWUZ+B2e|T` z@Rx;Mk(@yIVc`{G#8}uay>Nv(+&^L(EmTys{p}+hMYKC~5}up6XezXxsUTD*vFfsT z`E`;m^@07B4>jXRPs0{q3y{{0NmWtlPJabULdG6vBkq@gA3QtKyFcuUcEb*Dwfp-i+`q3 zI3eo&u~<&Vea`G+F+q~Xs_0_d( zUR}tyJ=o_rm5d;+kehv0_hpu`Q)$Z@Q;QZdu^>aWV2{G1*YpMYcgB(McW{J}-wM1+ zpA8oTptrMw&j_xbHy47QoE#_BE5Ys@`c#D54aibD*u zvptYkWDA4-b5=r1>SRmvimc?a(@K6s3*=#`^-c8c-u0Z9;MgBv)z;fFcO?&H?y5t< zywf5t3Ldlc`sy&Ee$khJhl_P>4j0Ac zO5cTN#Y?@n;N>Equ7kp}B7cCo@;$6G$5AD-F0mP29(&}a7m)%fh7zUzG*CpSh^^=) z!2NoQ$Rz`Lj&K&Ic~UTo=-z`WNkSxW`2l!;)BCDZ$Iug^)_7E|YM_@y6NMX*L}B11 za+9T#&wA&=X#SUuiSl=$6Fo?CFR6~(mmqJeBzTqxvxah6Jb0lKaewYUNWl*QbhLh! zm5Xl4ec%`;PvjXbBu#J9*k5L&RQJr52Tp5@>ZQXnDOkl7MjA7f@4>A?T-HmH)%_V| zS7~Nd9WAFPjZOADv7sjoEhA2^Au0GeHYi+q5%|t|JP9_vh)GJ9LmZr`8z9{exoL^q zY=>vu@|g3s*2bLY@qc{pwdUoiKGW+Wlj7F=tx2tU{Zdw~8&%Qz>juq(B6?XQTv&*S zGmTicBs4Fgg$l`?L+GXHNu7IET%I}L z!-ho@-p`l%CR|Ski*gq-M-XLNpu!c+X+=Af9wc9;Y{^}SSAQcFdD;WOJydaWq3Sx2 z9-Sv??kqn22SImaJMK9^1(H0gy**I4x2kr_nnYcg*6p=sSVn)1cN+kC&UHE}^`~Rn zpta%zzkn{iUi{QV%~6*n8hWYp}e&qy#oZzQYn~99mPH7KT!_0vvcODn*y( zae0&PkigZ4(0>=FF6;Ubw~?APO@&P1rb5~!7268d;V$hf`$F!&j=U{p{e=E2#QR;**bPo|Vf&mUi+q6O-9_Pp*L86ts){b$VEF-qKPrJnNbz zicw7rzfZ0fOKxX}LapuMLCUq1INxq)rflT#|GI`ct;_$6)Kb07@6)Hca&gNEXgt@kQ{cWLk3rOX#~_ z!-bYWI|pN`scNNPkvcVIT1}CPA>4Rfxur!a^6l*M;__;C-AnM4qaj^-5!Eg{$r#?> zflAM=j(;Wmk!!5NfBMVnuDbyn7eHv5_lp@m8NUB0{Y2t#q7y|=*mzyhC|=UsGJ3@- zR&%$fBIyc?f^AHg5r2^66G5UAuo7$eBerM)+BJ&7?8PL8ji;&L^2M-m>-qjfM1do7 z{PD+kWyzW;#!T{NS5A@({a5zDc;d1LIZ{&|3Vu#n`pQYytU+3Da(AVFnU~!hdDp+(YR;jeW%&LW%+}Ead z^?&LtHN9}UB=&``!Bfm@CiX8a>+)8%FP}&3YueuQ&VC;&$9Y_%b$(Ec9olA6pW;Om z(n$FM>!&DubA~lKlyGIz?kM~F1a5s?#EPn$s;y#E<~(P)oHN%d{5$&>m=W2(626(R z)<Mn8E_iKh&01}58^;m;-d~{-DbNCuDa(4XSc?WpnTc%LB1k$$oc6==Zb)9V zw|mGa38E^-3o{RL=&CXSOPslONP$B;JQpQ8H#_ZK?5Bo#;G*~*a%^b@6fnSa@x zd1mIB*}HcA*rzK;Af(6HZtn7>wcH9Yhr1r@?&j{cs;gIX*NeZq#ycI)fr87O&d{vQ8vDEOg(nEo9ihR6!Q6g zzkjKJuYNp`SJg`mB}KX zGtGLgIJLuc`^9S$1>>JpPl2y(vog7?m$sWjm4zb@`e#)K~HRvcCa_@Pr>dh6rzOlK!vzYML!Rz+sFZ=S&=6~i!HtEeC z?>E3jj6tPGSQq3u4Qx)S;b1PO=0=bV#F>zwvE(A zYLMs<++Ij_nJdNp)CjziO@H`(&ixjOI*+y<7iyu5R3if(stTu}&(25nMEd1LrI$HB zTv}Am+NDYy#YM{6*D~5>Up9e)qrj~SypUn(b1pugUD9q(64v|&usUA6o{lesf+(!c zzooF&F@>orIleQy@kx5iUrhXl*_na^$LnK->edEbKcrcWrXkU-W!I9O#cUbeO@<&>8> zBfEH{A{6%kCgv+ZsrLW!)ik8%HaI_@6me_0;`aK^&i2);P&&r+;lOz<=RVSh!#9>2pC0$Iz~Ks#u^ zEf1K^{}zOP5_TvNA2r=c6Y7N2kfY_p+nBHcNcwd6 zl#~)$EhaaeuWh;PW+;`{8R*T)d!E8t%0fcRI|&{hq)D?w8M5G^=X_mCX~ z*0_LdfQG^mHh;YP*Z^4ZQOPy6v>6Zw_tD}lUGH>;wUEV)>;~`O0yy8mFF`sw=772e z07#(#dlJX0|23i~X0zk|lG5{&vFB0c85@=Rtma88V4z4sj0KUnR|s=}+VYc48jYC7 zDhq-U`jS$ceHT^AiBg6fa^LWE8(?dO!qDAmt}$%RMt?z)HPQyUH#r2bm6#i#j|CvL zX@%A%JIe$}MX-~ubLr{2ZAY20pGly$CITR|(ezOeT5dd}OBrML zyl!t5SstgM-f%`}lOuRzd`NV_DwInbJg$QAgS*)y7^y@;h5J64nb}-?e05Ho{%!J5 zIN1kc2Y;c`2PicR4Em-A)Ri_7Tj2~loL{KR0Ym5_ZY?xya}7UdSZ#W%jMKi!=~G>B zh4F_#x&NlF8 zM7=J42C6#jTHpuN3T$r^)hlC3)0N+pDw_=p zh=qxQ$#+i8p8$gB)E z)cRATR_~TFRhg12wtPSP0j{ZI?-mC zzomXolb`uuHJ|n=Z}ERnO9u!S2pA(bMF#)?3@iWuP)h>@6aWYa2mtpy?naZ$fE<6D zFcgOG_bU+Vt+6qr1S_G^RP96Sv`R~*-Bpf#l6VCh856pHKfXt|T;!7XJg?v5W1G$0 zYms|ru$3};>xTjHJ(^E@ z!z)!WoV|5aTtU+}NQe+Z@Zc6axCOW179hAo@Zip1!%ffx2p(L5h2ZWoKyVH2?mGBj zGklZedG@^fo!vcqzWHZ*=2lnrt?t`hRrgojLl{4k@CW0+Gh!Hw6=RdePa6Wei6ww* zsRc2=GX86|_XoJ4HYsbZLRspAhI;eO`MGV;Qi<8)= z>`{|66Y*0$A5}~?nR_!JTYnfW969_f1=h;%2yi*?S&zFn@l`4>M~w9|Wzd>_5;m{G zuMpjQcwEuC8lpIAAB%uNDnWY0FPt>kN!%K8-L{+Ji#6e|6{Y&_&uP@j-3kAhG>mPUWK_vGwJXDvg zzn67X^JqXwKA^vRnCf(@QN#aL{3J!JeT=+v{2vL6gGdR;`}`|GwJxX*HTgfSqHaWO z`B#V7fTiZ?Lll&!5C68R4!;GJ@*(CQMfB2N(1;_si6?UUKBGz$8$^AYcsPWG`H$ms z9W=bUgf>+A|8RtKpyE9ETh9z1+nWVRF`}RpG5%FUUBNKwAmcx!dS9X{Jp8K+0&4NaClC~rCy;+c z2iK^Kkbgu(4G;1DBaN-;;X3VKdTZFLU9$%$C}t1-&{HP98OB1ZlUjc0^Wa~l_LYZf zqJJsbcYbMfNg&68#6Qj=l#jL~{@!4-Df;9jvc;2sT1=U^G=@d^S0{BI?;j2QlNc&% z{-{pY{Bi8yKeh`TPud^;D`xRLVXOKp0TOBv=$wp#;+*_f0v?a71m~X*7eBwGG#{q~ zr$8c(B04c}gM#t^^b{!&C51PC76m1lUqM`i%3-g$X{)J0q#_P{(b*jvJv}Ff%60PB67w@ zK_RY=K0=Nkbg1|EiIDgPr|ZQK&)V?*j)V* z6$J&{tJ}(dt!gt-GB7Z(v9a;=^wiZ&lBW||Ts{9fzB^%CBNs(EG&mUX`SVjs zWNA*S|FUbRm`z^?>n6&if}Z|B_$AfRTOi%rvoV(ZyW*ebtZ=N&RG91O>DeMp(h8)i ztnZHO?&uW8`d-89^6B7Ln#Ks2<8YY`Oar#e{4FdJ(%kI#aSUuQ6n0B_mqqWsRcT#D zO0#b)y;~>hJwTQxJ$&f2z^~X|?KIc9xRVD}n$glNUGD5J2_EIQ&x) z;h#H3;JFJK$;*EpvU1xVA9fVky(sw74^CONnYbaEjOV3}A ze6in?`-9b0z=vjWb@adV&bN z^WcLE)Xny^iANq+f%rx*^Ob8iJ~ZR7a5YGf91G;HdS)mG%12~y=W{K>33nfjQ9fH$y!FGyIot3tBclc&Ff$K z!TQ2#ZucYNxtWc##ZSurcIO1wf!7#V?f#0!cYk=(31}#q-E!|AAA#)NxJ7OIKe8-E z02k@gfJkB8tbJIuAZU?Ce0HzY)aG-yIs*ND-R^eDS zual^{^*wA+gQm+YSaX^>Oi@{9X0B*2vh;q%#_h_DA5&+%<>0rYuiGqH(~gFOw}m9# zsP?qbd$m6gX`6y+$<0nCU~<&2LVt2b>F-{9?<2R);Z*#BP4}|n_scQom2?1Y*@%BF z=FH5;pZE<4mfxw?{(-e|I-#ttet!{t509ryXM9s;s^oUFk?(!o0narr&pKUXcV@Dd zOfXhz(@Q?1q1Z~_{M)0ArL($iQi$+0XorO#xJHnkhJ}{(#R^yZw)(+B@$jj?h}rc` zTKAB_e8iPqjoKJk^QhQ;rvdNlKpkuhSJ9d&#ML>5+_3jX?_pMN|ipOvo zJrPmJm*h|06B84D@QZ2Brk0YDul{>|SBv7|IN@DKEjX^^PuLf+lTSv_5^@L7`_+*L z_=M_Am6$ZZI?@zep){8v%i?)%V1>(AfFm83Hp~5X2>~IhdjVXS16}n+JR2z|ux630 zCX;lEd1J$y?oTcIk;$P%uh2F6rm4moT3u&q1{_oI7-=KWj3Kwz6h9t>lmB^OpQN!` z_N^Q9pAnP#>1Y_q)qdmM5%=DE54y2-iI#YRmOj`t9eX-cd^}fX0_59Bs~jDxd8;8B zDq6hZ`_SpkmU9GqMviB%@t8a$6Uh7@7cXyBd|k-6pNgWFq9b zQzZu4_Pk0jN`&l+`v|!XZ<_MuVjD%B#9ENs+ai9xhu{OaP%4JbuC7J@+e1;&N%*3~ zxqj%cRsWUNG&N*Vl%w9Fi*xqLq**V?Lp%Yc&iHViFkoTMXMAUC(jZ_sGp@Gw zE%bYx)75%QA`CD6!Xxqyl2?>Og>h`WlGyLtN*V9J(s!Y{*mC=vCQnx4-u$TYDg$|3 z6NS|cm8F+6v>mUYL-V{LqhQ<&I(LSsOsv~Q*HUl4n!wSRoq}UxHTB6tt2LGn8nwjf zsDVeBEXYHbQHbf}l`nV7RUyVkv0$}?l-K-(M7tVtmXBZy)lwuZFzr{Nkr^3WK7Ngk zyP+OFJxS3SY)p%vqD&T3To!ZUXgWo-3Ovw&+Z@5O1sj_PlZlPtZ!Kfs{4Cq)DXFb< zo2p^bRD7l!BA>+(DRECQ>lFONcp6eF1Ds1i@)xlko|Nb%#0p&;fSvA}8*)nWoJa4D zF(Do##VU$;!WT|;Z@=Qq>hran%$+_Y0XW`WcW*W{La%+^LA8!*+)JTYOK0tYA0Ju# z&eh#wwmf?6rSdZENy%tU#oPYN>&H!{vlsN=UB52C%yG>uKfr80PHDs#O|SKDd;?5f z;jL7=h9<^d1LL5`$>_^Qr-92dd-u$hXmwujoE3L9>4Egm_&Uyh--}v=FysO9Qxm{^Q9F8oE)Zj1$8}Z@bx%X{ri#r4J zvsAC!hvA{+nwvWU$LrHFXCo>7K+2J?^_{yXg~(lh-t3TNQyt=JO7%zmZa4=iF2kjt zpejftUVx5ws;sA;2rcN=DJ>LSV=zRhk;TKSis2?;7(2fN&^g zYlX4-gpZ%iqNvm1jaxreIV!q6N?OS5_gF55D!_L0%_?T#H6qBspOPe?fz101^oHq( zQz$lk_!;tA+v#epN61Hc;rEB+{G?xIhmNC5t+0F#wsR|~kS_13IX2I*mw`Ob)<1`Z zRPY705OGg9*JP7DZRo8`#7&U@e`8Z-0wCB#} z`_rwB#JLm|1=t8B#2fzFe;>!C1P_ktLatfWqI`GKT^6H6uyaS(OMTvx?{k>bPhKaA zpPz0X@Ur@yR0Si*$~C{a&azOMbdwsvYJ5U(9lb_4W@s#9lJU1JBkIV62l2{GN;iFe zrvofw+k=9~qhuqcjD5Z6i6i0RLzxE6an7Y88yH;t8n1)D$+S98 zlb2R85$U>E-Occ9oVvd~qD9ZToNDC5fWI~!?vTV((9LCLlF;4rB;QNp6nl+0P+}|v z+bEsfC$Jl(0+hupWglwr`*FjEm9z^T^hl9=5yQ4A9R{E8G7D?&-;_L{&|=eOR-@p% z$u3wHsZwcLF9DA3nZ?wzOYFM0-TxRG-!s!%7F0!-yVqL_OP{NGC*YTw;Cde3Z#If^ zl5yL&I~X%^acAZ)<`D=25b^xm7ZSx-ll7FJY4Vo=mwY>TdQ|!$MPRhkIqcC^>ln1f z`Ayl;cvGy%JtCCXq(rw0?wm8K@L97$aDBMJYxVqXCI{bGXK%HKhqfecx~Su2USdZ2 z){Qo$-k4q-9$%S_qo8^LmBG)^h2!YY&}#888@*Eq=Fh-O_;f#R746jgF2k4P`^P-=P-aUG3_` z2*D4E?maFiMPxd-@r^;|!yZ9p&C5^OiQ3doOAGP$quGD{>AEfW| z$N&0&aDLjp2mk+Y$^HkQ|2H-SuNL`_0L1Y2W%ARGUFUa?mxwv{B-7h<5JC+0?N;{HZF9l(&b*Siitp8^Ud-BqS5w%-Q_Gai zpkD`xl<9bqSk9A@dbZjvHwV_f`d=mnGX3ox{h%{dlcnBpi1>>-(h^U-wa%_OLs2$k zStFpohea9Sa5Ba;Z#=U$$J-a_PxTV0y}>LR;IUSXjLUG= z0(YHc`<|4VKIHj{=1-itVLmDj7Yi^Z!DOl zn-)=+=!6(?lq|r(eNph4%6s(d^su~UT4`bl3b_#&&)QsWyIm`j)ugJfbes?nygy+i zVu01YCBXvU{nlve5jk0~WE%VUAZ-DLf%1_@_Pe_Y?_EZn_>cRV1fcw!cQ#$sBx6pr zWUOkVFADQX>_0C^IZVZ5>^=J}qGzg#3V;P@<~iZS9;@ky`AHd9FKC{2N!@!}@0W-E z2$_#8@d7*aPL4n{e%d2|!(F*${Y=<#@hdJJhlvHyh|6J$=}LADzx|!5#_`~I%#mC3 z&afflt?s!hBx*%L@Z3HyZD-+Rs}lCS3hH&YweXI~a=& zv;KGIki0T~4bQ2=>#zqARv**%h{CUDbW~eiEfz|mTGepaYxS6bk@=(?OSl2_z^(tu zjTt&hTc+W?(^l4jgK*;g_OFuAl(ds^r@Luh^N!A-7LV=II>^GLy_?YH?)I`fyaCsj zvSq&~zAsB=A69400fw7g%R*4ak~2%ZZ>^oct$9-`bOAiWkh4+@GrL6b%fUGYG#RzR z_^PrN@QL&2lpFxPV)oLt@YP6EVI)D+`IdRs?2{$scPv@8wMa(&VbqT?CP;PO0SXYx_n0xe6ymP%M)uQ zYcapT(-NSuw3cx0;Y9Z$bu-u1`^%`qs5++a1>x@9F%Ys9pO){9fiM$vkN=}@) zfj@Zrf+}jyfiIQDVb};ZsCucQd?$R2+GkBgIZ>y*`4?Qd}?134U zQn!~1;Yq}=H!~q=i5g-NqEBvgf5U4xbEXrZz)$}1AvKE1@Jw%e?I0JokI8hcs~D}c zUPfzK9A5c9I+g~Sy4SFq`I_AX2Bdp-vfIw^_Fp>PT@0*ML&W*{`Db{a$=k@!<#zFp zN4-V!;m1B3zw<_)$JY!6zFqb*U$+fU-8R( z*O*PPZ$TvPNu9pm)L09OdZjVTUsn1>_Y`(DvXn0ptha>a$BFUT-9OObL+Jega;Iv` zSz0+Fagaf4wf`m@o2q%``j*kA8W6bwc4Cw=Te(V-xtbrg@(`}&W1u*zr?<7-dgh42 zf5;`$34$Qi=ixO~7)0GQ@Y8O^(Ev-1=a@8@XiMJ5iypzS4^ItzeR~58G8?Ix1>~o$ z2F_X^%Zj)fzl9#ym6=?Op8Oc;Vz%9C=JX|0#8@91M}x$?x1FX5R$ae6F& zIQuK*6!5l@phQBT)8cLWoErua!;O);tL`Q()bFT~*lyGpyY-@L<}TG$2>$TQF%h36 zzUp`hBjjf>fr;4h-D!?DKjy^&(zq}4&&#~+EsCQ#&{`Hh$>gsStwHXSNIRGIrRyI4 z(`o@;CKk)ee*oSzF#*X0v~&!yQ`YY&^=onSS*j?qbr=&n~yQMgR#&+v9r+_5CrZKQ!!ja1Vn6XggM z1nt=!*raCIe{0glG$=2xS%0lAZV;>a#>v|kIZNx^`>N@J*m9emK}<>J*TgfDLydn6 zY&i1A-@c;&xrS6EJ`f{}?5??o*ZZ$MEK5s$H3{{_Kt?U@hlF{( zDJ-;Fr$gK&n`5~~>48fpV^?9ZUM8hOYKMu9^Ovu*EChT~5-W%7}(>>G)|O zg@uVTGs-&~RqJ*=>L0Y?P8ykKZwv=UqPVg0LY#EH&OMmFKSvWg5%nvyh$IRR|G4Dq zcN$SH2MC%G3rRYZ+<;SeiktAOAtD2C#R^^m9fOi#5am@vEAXpOKH2$XG92j`r_E77 zTa5TlB7rU89qRStM{Qohy=NG)YHb&&C!}O!jZ}KZ41&KjA%t}^u9m)@yBl*~LmL^e z%2@W~lcMRY&#?#6MnvyWP*lPY`M0?=HXTV5?}d1j`mpLIb}2NcV;n3oZ&Wjcc6@GK z^~o)w+e@hlfL)#u646eN!+^1)_b^Q z+Z)+KHKrZOoILAGKgn1!qK!hODtqa^=Eg|`{H8Cbb^BOFtnf6*|oHEg2E zN<&b{FuQTIfG^FXM2;ozy0FDxv-WOpJwwdZyY`}Rk#qEpir+0NlSGz!AvDIXVIC%X z9xVppK&OQ`RK$!VtoG;s9;QjWBBtoo;+ZccD1WZB<@KX_|Aq(4dk&KznjtOCl-1BA z>T#ZMV-1rfVnbR7q7XQd;X?49p+cAzG-}&$= z>^qP5nD)h{R1|#S187DQScd{9`abjVER9ZE)M?$P(9D|=C5Q-O=enYWg8ms94~K78 zVrojaGBbSl!)aO(&DSP9EX&r9zs6w&ALDyYTjOt*e5EJq-SAtHxkGkdriV_q0oGzT zc0yNtBP?Auqw^EV+e_|4pPgf}>^I|7TW$<)Dr0V!ue5!3!P|6zJjJBggDVJyz^Pv- zXI0zp_nGZet?7AAp)%M5)nMaNhuQ-zlX|+tC``Gzb>=-Oxx9iTxRj0R`>O{i&p&^< zvZ9QUmTqJhQ+tuu+i?0Rk5*L23GR4eO?Ygiq}q}@t;MPcft6T8Fj}p4D=WT)O=VK~ z6t;sNPGfewXz$qtay!+z`j$)Wp8ZJkBT(}Um!jMB)^Q6S#w+=CgwvNxb6@G-E-*hO zHptrjMI_^46P0=z1$~0Nv{`7Eh0D96#TS~XAF)j5!>|e7i>~g79AEP|=|nbcFL^KO z(Nj-J7qRJUz-%5_PVZAlj7ored1fO8F0OcjZ?ValXCZ#Gz&01Z2>3Q>z3z!iWc3@D zszZHfxkbb_$~we}_%LJ5bRkjx){}K->uEv!y>yfsW8N~nV{zec505=^QyY<tQbGhIWp*b^A@hLY?xk9(?NUqje z+t7w;?-?L=l{6-1R3a#vdKJI+cfp&K=C=Fe2JzorCgQ5l7;4(#0bRsmsjc2<%#0gH z_zPh#6DBi{dVR&9$4yJk6G+Y>aQ#s$l`4jM9?r6 z4Wjt&QO(S#o=Fkt*#PWS{^WbN#?~;aWv9@1+U+1EuX%cT8Tsgz0%K@zoUr}?i$`Sd z65wMmOD0-1p9(4#$|dFEFnp`)3!X_PEM-y78vog`^lJ;{14Jxz9)q z_lED{_vko}Y?SIW8@yZvO6+zw^|BU=&VpG@$2>9cUD&IRICPhTlys7ZZX(v0mL#D} zjYHyxY8kw~?sQP4m>eT0UcNgq#`Lr~^)rTn%1@VH8FXD2||J1K-7EZ zj|F`rCz!KSm5~W3Gics-5sw8St+)OBg=AaL!?mMT+^j<<#ce!y6#1Q|yE7=(Z@V;4 zC)})h6Iw5g7U)$iUp-at;1iMGdt}mE92mx}eN^)9hO(7&iU>nawfvkCe8cT~bz263 z2`0C02w^G+d0E@r9MrE)uoS`40nlO+r`=&`OJk?oT0qtPNyq&Cj`3k5{GOnvMAZY} z!9F`|yZ=z};yAfLz}P33+ddBSOAS)0xMW8-&*;+`sWq|I}9-`B`FUQg`B(<{S! z*zkWz(}dxcyuRqzXK1+twpu^~ni9CU3}`xxtY%D8MA^>wKhlvaajTxlX{}sH7Ynx& zv;T44^t8Bt+zJ($o5$z(_V8bNGfU0aO%7ij!lI}euh);h#Ar{ZmKSBhAbDtQqlZb^^Pw~(YEH~KF=NiuZ!GdLwNlFtm4>m;VQtaZv7c!o zOiT%3B!QvVG>r~No7)E~f&u)es>)(W%l#;mmZWG_R_P^qporg^LzIG!KcXwAuGu2D z^Awp|IbljPsGNYS6;!jg4jA2k`|K*z8+|~+zcfsIzqV7Mfv0^W=41;anybW)!uO}H zntHPv<#(37ylM_ql&|iH%5)c>Y{1DvO_C4ilJ3(3#NH$>_#=d!M4ZR((`Y>Q&QqNP zS<-Me5!i)%%%A zTP?3Zt8fn1bEf$AsZ!PVQO)9gfXzowf&#bui#5Yc%lP1z-vpH?&){NK7xke_B)~LW zK7$k94XDCOWQQUWh<*AVa+u%=5Z9WC32)BYd2fju`;5Wgk$W8BbHE;T+Y9Ymf^vhH zVNM*)lklJXS8r-6Jf2cxRDV80#(JYZAO(c+059n`;CqP4)*u#)&+-G zE+-=IJx|L+ja$=-xTnk$E1YM^0E}drSuD}pflq=N=v!G-XTN*Q1+q`QM=LxFRB`gX zhPDk;9amuAjf21XTZ+nXMX0v5gK7n?A+xv@M zbX?_3ML2T&K&)mKp+GlfYG{tbGT(S_u({9hjczE~KE|vsxa~`DO~~Bb zWmNv0voTbi1K6xuuQ?r_ImcB@1^4h&&FUz|5sBWWF{0GgJKpCbRzAU*nx;!zhl4iyj%7DXC$1Fb8 zT@O@fmKvKA1HPqu&k>t|0TLqd<4xm8qzfOItB)Y zuI$c`$m7S4843T3YRJx}q3&{q{)Hv{ABz9q(G6|iJru{lp)SDWwgCkC^7BqwKD)wG zdQ~d}m4QzVq1rF%>U4J*E4kdxv>;GDC%VtS&n*-4y7BTk@%}XR<9G?ju9#&RTZz8L zgnNCTg)?5RCLw9DVq{d(YoWZCJ1>yh&;CYcT$cA#Yi*2v*5=@oMmjy(@=}gRJ!SX? zH!ekjI-AxE6HuT}^CR;eqxjpuYbZ23ctT#U@uBTOSoO)Hp$C6LrL=$0iKpPyH2loRlBJ7emVpZt&x3z&I_T^d)+J zNnV!6S*w0YebXb$A~D00Ux*($4%%etPH3T#0I}G{+Nx=L@ihDzW85xEyOi0H&538v zKIkn$d@^O~obIKD5=`IxkjH5XFUWmCCazQk$5+dCzQXL+?bk(YHs!L`@r}k$+haQ| zCSHpz<2~~BjkU|Q+K#1r_EqnKbV&*E;?olwyu8W{-59A;tDaYU`kEm_Ow zczQY+RnlZ3K{XXmKEF-H-!ijtXBd^5aOsLhTwZ!vc|%Ff(uK5$yQX1t z=c4OzCwhBn)ZQf+b_JZs#S-IX(AcuO;9&}T-rJ#NjeQ8A>lq}D`>gaA8FXw-eP>14 z^ex^RbKuAQJ1jf9qNCrdl^o%_#WS^a_3Is|FwoLx?w*aeSoq$xG+n3C=d4@y=Za!)|_XZq2m^2T>{;uUrBgs;e2@J7da+W6F=E z6cMI{H!0gOb=OTKJpQ`hG%j>F0*9;PU|{$Rkj?(h3qBc-*?gwuT5l*bx4&bUxkN|J zM*%wfqnEbKpx^E$gfaCWL>kt0ePvSnR-89)Ts_|T=-(BOq6;~vws8GTU}@vhg|~_KyW`{H4UF#2j2Wgs@5xcx3TR(1 zGH$k;%Wg-I3~5NFq{VqlsW1#MSL`*jSf??Tb1Ks*4Gc62a)hg?_7!g8@cPI@3OGvs2j~{`;}#3;jHm9;1r%r5Uz7iLI9l6x`m3DA z4W_FSoxc>E(as)!Uxxh;nA@rq<)3Rv2%FA-;B9P%|HaYWczG;m-6N_Fi-dON3a@n{ zggM@Bn0y2(9rY?s)){Cn4*HZr`+GkQpeyRQ9V{-}MedP5qR#YkR9sAnWtMaqUPC8( zT-S0n{0UF8Wu?%CN9xA6(iCcl7%jb!-R%r#G$Py(Aj6=n^ZcB>^-t^E&~$-Z-tpGc7_?mOd?U_fqh^$DBA zt6$%yJT>-LLvBWs`xXh3^lcN7;rS&q{DQ!2wjTZ!{iR2h|S25Ule>{FYF|x7*z%! zFVz%%_U>)BeICMlYd81BYXO{7n{WnWI=gFscm*4;EWX5(V7a%+@oxTwl4}&P%M3&o z4X~Di>hrwp6j~pe*WSGsRT`na3P(SiJxAZc&V56Ro(_GRjuccnWHo8Jo|V#8MkFDp zk6ubwUSPr8ZA^N+x!33Bd0$`zin@R8~$! zoW)l=;O&d@5pYzvfIPm_eqjYp0nd+x)Ung&IzP#M6^{?nKMqsZUuNf9Zv_96tjSZ> zVi;>02|oC4wA|>kUQtrh$j3vkhDH?Ge{V2+QbV`<3Px&m7n~l_T_?u0;W*}+4bv}Cy^T{(RHu$=hj-Ix=qLH>^Y|yj>way=ctD*M!}@Vz)<`_sn)IM z9$9TQmO>~T@g6-dFR;=zV%AUfw6#8kcO+@v9Q!eeC#L*iKZ~R zV5D>WS>zGxBFIE5X(82lm|6U4$%a7^Z(WuJvq{kaK$zBD#GYW7cRlK1*lo9Hu?zMd zp9*=3nSP)rTnG$^vqyS6$18T?PHHM=;*r{=BU6buwDl)+jf_uKq_2Jj8w)$yT4D=y zELpwi%I}QAVrU{w@#N(L-&Vakbn;Ffegi%N8%lOy(98}zJ-F{%sB?98SQ{67acgXG zQCxe#!oMkF7f{p~3G;4~*qm#>+%y?e#?NK&dz+%EvkX*1IxLW9AClCU|Ef1V%z|sv zyrPBPbSxQW5?{HP*}RXiVDm08!MDBjZ$08JSyn&1;g^g}NQ|!Uv-|aO3sY(9Fw{MH zRf0LEbyK%b*tdg9Nu4bwC64}iu21e+FoaCYFMt^)}i{C+diPH#wN67h{eDDoPi3|5Dw zC1VQer(@gnU(l7R@&(IMv7SmPZxTL~khV1B6%&h(P}AfECT1#XhJ_@HL5l`-cr4!v zt7m3N;zAXfVy><*pSZ)(cZK(DG2Q#QHv+uWrh%BnvQg^C^ot_mj9O-7681iM6V=ym zrtj*V1#cNjqo?WE-WNWWjFUzCF%));$-KT1~nS#rW^Sy3FTNgd%N*jMNQm%r)}$mhI{BNFQDb zjsk9m@h5d0!vo*EzpY|@E4pW7gn8pbhp8=0i+y9*_IHzmF}jDJd64VZtZu4@HjNB@ zLLa_I?SKWU}<28?w!(;hsIXq zUk(pT{pr7P0c@I9ETk{8qKStXw&UP%JVL~@dTth)DQ@Rdd48MLdW(e)t*p-o3S#VU z8PJfu+=Ra&5gIHl)Q=Roo5CGY4;;=S<=Z$oZh_S8^EnCDCmYjYr3eD&9dt}U&!k8H z&#L+(si$K>4eBplbd%zjI5ZNwBym2O(OH@`YODR+XD8sJw1B3hl4UhtG753#yn8 zoR%f~t}e1Himo>n9_<{tQ48<92HaB?E%6pCr7MFz1iXhFhOV*MFL~DcCQIV7UNzSP z>vRIi4s<=&N4g)6@MJ=YIy4u}m)SY>)pX-y>E6aKnt5J!;(hpjv+AvUkzsX3C5@bn z1oDEcxZ?Giva*H0aDph#7bHv_mu8}C+Urn`E(Yrd5G(wYsAzHonvP#Cu6(Zt^L(Fbu3CWc;LbC65FQPiMTl*IDxOG!Gc zk||jZE!z$Mf}CjvM2r{sbqou0@C@i72$5HHwk;T$;1gFAq>RlxfNwu>V|C=!yE5Gdsm%oqg=PK|+h|*1{q9;Ke?KuS=J#j{ z-(=ZoB8J%=a(KlwkA#A4KX}O6-KgmbnfWxDpT#``yt6-3mJ5{aKG)x{ml z@y?5vy1WUsduwQR%EFyMtuRo=@8M(_pJ^Er)D3HS?i6X` zrx_w0Be27vMC!iWC5)|4!Nb8qyxC`6iT*M>J5njX6PsE%%0mkQC6fEJP+tf0Pg{93 zg&b>7@_$6?*wpRqwa$DXA*5ww+iDD9@7h3DdVWhe&(=?dM_6{$U`tGxciv#d7Ard@ znATovy}tTAe&t{gh#w7$Om8f__jh7>w+BibBl&V#yh`nQr0iNr0FJO-TQpX9&7{%A z@>#LUWwP+$1*u&h7fTN1`qtOby{C(<<_rNi*enrGcUulSC#4nlK6Hs$wG~bsRafM= z45_3R*HjdP9zFms`5K<{a`>03#w9DIqK5Rhp0rkt46$XoU4MGm&i`5l~ zZyc;SYq=p?Q`}mJ@ohKFULDUd!h5DTKDy=!vb1{C%&6M9tx`b99FN5VU6|T z#eK1^k{s-wXk!1k@3DlxUX9Cmh?EBn9O23XCV%#fR*HaO_|u+_fq!oKv?iIg7uI@+ zN2sSRojH5hFrdD!;*T^L+tuc^itt1uacBvZ~FjF9++!~h* zO>~U(?UW-FH1XMdbkHjpGCaJ+qr-Yx*x4c$-0j^g_iMFv_G2p4@H^<4J>HfU9=&s! zG@hm)+H1y@B2@i-_2ahxL_;0>PFrhi;n*P6IGOjd5D4~`*pG53DOldPA&mKX#<)57 ze#UI?Ln~j>S)ktdUg1t^Xn7txzfmpPM57hw)6**n+xOq z_G>k6roilhZ@W}4R%2@9jBaaIwu2lRSR_z(qkt~xQ%%R4U>V$ohO_WmzwxnJKO^&_ zg?i2rtmiudYBE({EpRs{rH`8*OL2@7qVKWan`U;(!(?cTZX>m;q_UaG6YJ=d*l8@& z9!^4PI}0R@HONg;9{sUZlFHpPUwm!(u%)|f2^3a$=r}>av7+an4zgNQPemT&j!RicEj~4^<5SkqxF)T!;k6Mt1hB0j-vqv zH>aqJV#N%R>yo~na98O~4Fj*O-)P*T>2C}VP2LE490lnuL5_R#@t=AN7_^Ojx7k)s z0X&VN<9!VoTc|L>^bVi?cL{7Jmp^Wsvs@2t#Q9EM3c@;?(C%&w>E5FmDUS$?+h&Y# z^N##pV=ESeRqAb528%nd2Wc{vM_P36U@jPullk-}2mA7^BG=+Mnn%q)HWtv-NH1Yz zR`7JTKZY8y^HuEMu-2bE8^rD}z&rio1_AxYqY=d5k`#vX5uJ)XoLXwh&a-} zE)vRf0f}A2js8Vng;=_l&RZvlmVath!bXSI zL!JmREt+zVDdix0vhs-N4BXb#!5LkUp1cEi4K@?JF;hDvzU^I;ph z;r~42!LDEFR?yoJ!*5R)G!TVeikIfm?;VMBpSTI%YbVVIPydD}bJn5Rzi<<#7FlFO zkEMBal{b5i%n$aA9Zqt^@S0B)#J=4~iJkGjup@Rp43EQ7EmS4%K5RZ&BT%K5go zP^|~Vlru!=y^W>s$S#@mKUJ7IViR+2c@7>L4k3#(LR+5HWUlRU9)HK~lM=Dq+YG9> zXk#V$GBi!7J_IdjIwW2P^MyIOU3jjJLaDZVcZmN$OQ3bh*Y`!C1V9zDRrQjGtBev? zfB6w=dqsj?i3wL&Mb*-P-T)5rMGrn*6<BSsxt>^}AlUKPw zLry`?S{)a7>wB0`II;BC5qH%l*cG)-G2qzY7i+o54Cse= zpxeEFux`DmH`P;&d+O9%6Ahu>()c7iOc2o~_MDhtI*X{@&*lc25)A}7 z^U`ft(%;b!YCTk?yQ9AbDfbroy9^{mssV8&=^RTGuT%8;lObI2M9*bDjcHxuRjSse* zmBtC`>kjawT6J#`)mr0E)rhQz)=*jv8aDm9r~^I7P<|Tu>#&Y(e{}^AaY49J_n>)gaGFOO$lIB&N9k-{qO{%&sW}MJR9+n1+e0}DWSVRehT=Q=f zD8Ad?j^Rx2@QGO;6r}>CJ{h> zZuHEJ{zKIv@Eqp~&L$P-oiP1I4Zbr926|Gy6*Y&@YI>iB?8^E_j<<-@2iR!H;f@Tx zn>$*UJoxi~QaAZ=Z+TMwUn!TQpWRK0MYb0vOkFcAJ%p87KVY=_c^a~s&Y$>RKQaHE z=Y}8mbl}E>*^@LVBm8gvXWK4~_D{Jj8G>#WshyzF)t#}_BIeY40jt`uZ#*LkY?=aL z{P87@Zmv!o#WTsD?5rL7f3t|7J8Wlie<8TEtG$9^o-Qa`R=ze^Xj!qZ#fu-;*2?FP zuGMbRd7OJp_7%D6psbv~wA|Ahk2@uJWLh=BH;>*R!Y*wTT{s75+f;bR3dZtR;Oibd zZ>y^+MnB9{%oH!&@4jLBbhB1CVn@*<{`n~Qvo7#5iz znfzsqiSnAhqxdJF`$uiYK7+(*-@kmrZ`?|t@~obk-@#|Uo^kn-Lz~NtZq%T$Ea5a( zUo|Pw8$dL)J1ZRr{QMFlIB%OWt@+N|TkRJOou|=unE@F#iJ^7e5n*UguhtS9w`ULb z$Tp8xxxYWl3d11fC95gCoT&ZEFx;fg5c_V=8vY_4n52PQd1lyTJkOeyZzYx zF%NMD_tM4HA(2jwp##@#dy`dZtcYk^O_2EWE!>Uk*Vy~3z}6fsWEdCEqAi^s^{YV! zgKj8^-H@SFfJgonHmJ?CZ@g$QD#csd+o^+`M+A=Vj2|%i>yFB0y)f)PkIq?rjnqa` zC{1rg+IDB3vwI=3VbO_T%hM_+Hu|@{5S)Gxa<5i1Esxx!TT#oH+=ezUSVR4pQBmi0 zT-7Q1?b6p8pt0ENUZg~ML&tvkvUbLWt0KsIXfKQ=?v<%UwSZ3Lg>ix_fV zQDHiI`M2sSIZK+=5J$J7I3X>!rirR5h|Upj!?Vu>g$ugw z`wLzt`)OgXv$v3+Nk)e)y8pfvbFAj~d4-wH8zHBioO>Y(qnF-Uqt z$^&>)r(#gy89okz#zZq*85FeDW~Fv0!ED z;eWCA)?sZuUE3&iXlbEn@!~GUofdamv}h=$NO5;|ixhYFQrwFZBv7=tJHg$82Te}s zug~+m?>XQ1o%dYV$zPD{oy=Y{vu5tO*Sc44_w+)&II&8R@kIx(8*JPT&j_I)g9 za8J`}rx0gNN?X1_?-flF0{2zi&xHMw%hEYj-OQ41j4)OH?TG4P3nyC7PZrGLZF+7x zks7IZxtYgR*yRoxHm~HL3uX#&2c%U1Gif#Zl2P`8TV0&~deED8H@GfFYs86HK z7#9o|OCVpkK6iWmrpGs%>hhi0ZnZ;1#tNgl(O^_I*8Q7|?o~%J&^tJl+fX0SE$9EM z^!bSSclSZYMwQx4G3BhLyr-99MOSL~OXb~ksxr1HNWT6GHUhK-7{l??tLIW1M=wDp z`B+0^+vs{UFP}R+mkXYnuS|p)pWJPZ!Kl~((D;3y)_|ez#x@s~GO=5SZwjKePqM$u zmeV-6D$0La`w%b+tr}gb5=_kosLmU=7_)dvg-ax0>TV@Rj1vt-C(Vuz*EgYD4KbX2 z+^|hWB9b3346w!KG+G<2Bs$8J($mCHcIh23!IPvXEfThLs;{k_A(dvP#p!aod-Tl(k8Az2XC8Jeq>tlmjF`mk-7nUPky; zSzoUmoV|52@?&DAW>U#|A;xX?@nhar-_-OlpaZsCDdc{4!o}GHf&Uoyta% z{Ybt(xG8HR#bdL3(v0Wyw9p>8?tJHd&J{t*XoE<(3q$sxhBGA)s$}(uwb1j^W~iqe zctW{5J8J2%#XC1A+(`mFFV)RUK3OhaT}!NCnv)y>2*IgWF*<^#9++7HgZIwu0|u2m z(jR%%BcCo}zCHv!!*nHyp45FXI5&Tc250$|bl2gEkuJKZD>Rgtt95?v^S*s>){j_K zLHc3~F_YZ9hcW>`+{@VIO#j19X@``CGG7V$^`O1XOu2L>h72Qo{9Mf^Q7;oz(i2Io zu=8jFJ$j?wba(TuspeFFBXCf8JeyNJGZ2|3lFky79Gk7crJs<;N@s`2Z};^1SzTKy zIN{z>OkVmpMW2Du%4IF-U6lOJe6+kig)e_OI4$72jWruh&~g{?Hvy4v8!)HPQ{{Qrz`9lGp(CZhrb?tIH59?v6w_CZzOR! zK3X;*4>%043HCnFSrmjk3$}IiK5%;nkO|(;5#+K-2yhc%k^c*XQ3V% z-Jho_fCA%?4YE%vO?fjanvSQU&ICxi{HdFJ)R+7kTEhB!_*n+Eb}80R=It;2mqnqg z7hmX(^HTc+QjqbIX#80xeS73LUN@Y8QOoto-DAwJrU-(M)-b}py_UgDm|g=oCaMJd zuCucfOOuxzG^A7U(E+w1;*{Qj=n&kVFFh*;O0=i1eoxFbdO96{@q>za3R&!24#l+Z zi(PJd*KmF-Jxytt$SB@aj{WI~i z;^RqotW!W+EPLc|^`&L*8QNV81^8ehg>FRk`n8n1az ztYfPaBgvKuYZltR0L}JG2mIYqZzxV)(xT~^LtaJcZ6q{Ki4ik4zCyLu( zd~-iPuWa}+%#;#34!gHHox1qKsrVNyW!&#Z~OdRw=HV*kVC^ zk#UAeoVVYvankiO(eY3eNEK3PNSwX6y$;Jk=xd7GEe1e)_{vkA@b(YGAskmHiiBH^ z9F_lw@I*O9CnYC(p=Y-rqHSjFexXIZWiuzZ;wSM3)_?h`uB%J(6LbGxZ2G@dY5oT( zkpIU_O5o2?7N*YM?@_MIa;pDP7~X_WmQG7OBK|~Gyb{+(<)_JCm72WKnk*}^-9oso zY#!ny!!2v2%Ty*+b}dgBT3gllA95bQq>CaT^4?o;lf#8f!vskVE_=G8M&p!uzQ_6v zwT9nvY6mV`Fy7PGz|A$oPCPz|m^GE^V0t5W?}@(_4Skb2$_`(+zKv$zSb1&P;0vbt zMq0FXM)X7YWmp|bGON~dU{?98TyLo~He(Cio{ZuMxY$15_w^513N!ygQh4- zUV>v_-LcQt&(?b3)`_w2#5g4$sR|o@a6!~#kZxcnW!s?6ChU?SDbL$cy6%=e2Yc~{O}v&l+bK+VK9>Kt1VUyonVrkkT$ZT9@;GPtDr zZy-Q=qL+7}PoBsV8MpYJ09D{x??l&E&NK^MoRpYMz)N+akAI^RAJxHI$(Fhh?OOjx zrKXofnZ?z9Z%vg}OPe?Ho>sK_a9C-p#RXw15!*v|V<|(q?w1}YvQ~qxy)8X}5T)$L z!8Oi=PRSEjQuf{L9k1#-Z=H~DMpn@Umf$4)>gYy)3A~IS}smwv4B0t<<}^t z^6v+N@qmkCKoYij>o=+Ar})quDI94UdZZ@RpBeN;X>wQ^Nv*o^EeJz3Ha45)Gp44M zRvtB{W+pma;JULu5M!V>{DJ=WqHWUN;$`7Osa++;`ZCBII5SB(BS$;yNht{-0k2HZPnQwwVO!8WM(@hBq;y+{pG)gCkfpdEgDP?}QK1GIBHhyOD{&x}Onb-Y4l<6}Q z1@jE$^HrR+fbXkq@}?Hm@l>%ZdAV56JH!Jb6q1v3RXsMcrqP{V6>dSFmC9lTfGSpk%RV(0nnp^E(zW2J6vDN&ZjXIvUVwQph~{<<15cG3peP&0*TD=D z~e%k$NqUo)*N^gEyk!k%E= z=ihz`KUBOQ(qbg@h*Y1?_UJT}*G)Nn{Km<~uk!}5Pc!4jrSTf>w`aJ}6#bPT&86SL)G8>ZtD=AhFyOLAq3JUb26%Oan!UC#SglwFMqy?lDbK zn|1Ce1GR74hmjFXMYd%nm6a&Ns|nOJryF2x*ao^CL@cHwm+(e3&irBR%L_=E%ZUU)EF4g z_Q3B|dd3RJ_Gdp?T8%Gg2?DAE^4+ll;W#2eFK(KzU@;LRd^KZ31<86uMVd4LxdxQm zEIK7l&W<%gIPaTB?S9u~PDbabAV!P|g)b4m7H1z{i|Q)Ek_DyTWb9y@#9Z~1z5K}8 z>KuOvg{Tl>>k)aqX#d3SRj5LpA-GE_huYMA-*(3aK zB5Te*ZYg;&g^N6Ep#Feq7uOO_nZ@S-1 z69s=cb!Z>$|1ejzw8>UvJl6QT2;8dHnH!~#uRl&v?6le)cBRWt)veH{mcb}Cbi143 zcWY11-#Wz4nAGL-2AUgq=iW^#(vOWqwTa_-uQBX=-K*~JsS~P*GYS%+mOt7l4_}t{ zntkOP^VV4EVu97+E`x;CX~d`83F*nOtK9l+_6eS@joiV&=S5l6M(Fx6<%ntaYON%D-Muz}pjDVH-WfSzfqB6#NB(m0p;=nEi4sE$JXFwC-0aIcPNgk^qlZ!X*ny_tL zjp8;hY`442?M|sx-d(r4$yMUgt2K|N3r|Sx30Iqq{^-UK&(KReMk5tW)zRce+GXdl z)B%mkTUq*YFCtqq4Ooa!x`Rb7JV@bcyNI-Hv6C030hTC6PTls$r6hZBU5LFs8uKc_ zUCHs0r8Eyie^GU-fH*=1Q*MWJpDvYD$3#bNkA;j5W{IG9VYoqgqpfK!&7wWnDu3r~ z1G9^lGbB_FOp~({%$GzWChRystI49LQ6Zqr9YT2C-*zu!LdE-e-iNxv^xyIWU@mQz zut9ggp5#zdLj}4xltk$hT_8{RX=m;e+GrydzmWp1VSgogrM67T zHKBfOA6B-KNDryl3c_A`XZJvAft?{am31xnmPKE5@QLoSoUicYvLQ3~oR2uuAB<(t zXx+cUaUPW8H*Q^CYt|!me4f)kaPiq$Iq+foFqW6ws02h?`($5+_d=ZY41`yDBn()k zO1tMc?5eN)EVFg`U}-L`?o2gF_y7aH8!-7Nry#y1`?L?3?NKvnTGReZbfB%%|3zql z@9X~2ti&$=8<6|bXleUTs>bW~*1ti#fqyXo>Z8B(RG@#+pXhP`?fGB5$=B^TvHMzD zT7yo1wB67+SanKxjmc1yH%h|Ll=PomkiOi~($Yw$znu5$_P=_W*yVo#i6qNkpzxn> z{XbuFtN-%<{F*uAr_hyzSsAvP@N;?V-XQHne6`rzqz}D+VG3&bc`6YwaC#q)vq0>4 z0otpoh2PPieF#>Bm)vVUw^E|coT+wMOB-G#b#`3wNF5C~o9(U@^+Fv)L%g8y$Ne^q z?xiC%1yf+a#HP?JUg%bTH1Qr=B|>(sn!03VMOmC6N5A@qnQ6KFwt@IgO4$v)h+#mGa&{wJ&~o z!+*$S(}{YwB`-H{X2&j`6W4c5gCSUzvPJO&tHfge2^5Ph`1!W{O>!!C5?K#%w=611=Pd_K=d{&a;vT> zY$BqDCk7FYMgT=ry~*jqLT+}~BP?L%+C1gMoD@TqUCKn9^(t{E)OgRcZ=Ky0gQ zyX*9;i(89Ub|;M(4(G~Ummzgey&f^^syHR}^=0Cd)Rz7*)2&G*dU*VLk|d)lmFTCM zywi_D#FcHmi)sHgpz)g z*MEQJqKkVRi)S^C{DAbwHSti(>xiN}q+KOi3qe|EvN$$Z6>X^Q6_q>_FZME&@&1Y` z^&7*=qI=MPx1fBh6)rl|P-`T3m}WB(Q2f(DSq{S!+}I#|a5Lc2#C&O^*@v?Rg1I^jw+_Yu(E5W;?~tJ1;oZ3bYFfKHE2zA@xAW z*?@vn83nF@WbZ?}$rlBB^)#&W=3ASj)-Rk#f_^a*q6e$#)Nv@!=aSg$!JOMyr@jrI zaQP=YxjhaRxI14c`T@WrWMQgP5WTdE+rNRc$%s@q`iA1~-S17hJoMqOuIS|$8aZ!x zGJ{MTC!^76cFf?#f*|thD+#EWSU)9=xbDv^F2O@o;-WHN3Wo9COyzTl zYO_sZ`&qj-F1-9qW`~_kr}??8$PyMuk5rmCr&tj7(Cf+`jBfq(q`6+TD7|_%M~d-5 z_dKJjWRP&bw3OU6`*&yc^mA$2H;iLX2v)^@vMBf3*^Q6QUhni~v57-IT(zFQQmd#) zPwv#3(eov9PX^u=&qO9LpN~MAH^>cMygfSENoX@SE7VqmYq(f4LAa7%yd_B&_%KwB zxkJb(yw=k|p#x@}&_13I0#$=g?rE+oL03g%ZKleNEutkAgETm|e_izkT*~O4uD=SZ zDOce$d37?qxoX$;LM;l15idA(HCt!`FC>Z23&(A!=K;`qR?JE3Rj%jKSu7+Jo53+L zD~@YyKV$UN+{{|UoF>q(F+eM~JrZN&859AD8r82kbt^UtqJ+`G=D^njX7yKnTY#Vi zxf#)Z2nNC4X}YWLfnzFiZ0D@W=lz)qUFzse7*_46 zQ>dDg(_^$2>*QEv_xr8G*+`_>I6UD2;0Jt%S8VVC{?2b2`4{^G!L>+5Si5om+J0{6 z9973tH+v1VH(QX=tyNv&!><92F0KC*-auhL|q698Bbl+CHnn}{#F}@wkaQ?00_1^G-ZD#gVVuzp~HPAQ^i<28C z^Kff_FMVnL=$S%*3bGVB4He{sNRqED)H)pPr{*UbugGSA;T_HG*MEfVO+4s9nHA+0^PJW>Y!eFeUL#)r0&fJW-(#{-xoklwJjVG*xPT zU&C$$Ld*iT=7MIlc9g1^5MRk?EsUga`)9*8X44)BynCl;$##{$(OUMNF3R>Ky`kcy zceQ#$l$fKIr%^r6&Hh76Wk+9bLG)^$2U)ApnL#ldIJ=yYnHx$GK@xy29v`)TQzexa2Nr*2-#K*E6*J)<#5wYLZ;K?ROj|p$8{C~I zYO$Fa%2Tqh#HO1~o6IiO8?3p^oyI?JJ3z&vMCdN-b?HM=iBURyT~?HbP0 z7Hhx2FOwah?9%BHG(dz@Dw-6MC+>d5>FP#rU9EGhc$Zed#-zZm)}Mg&?bgs!lJ785 zRCSRJU1wXrj`hn2c*$aL<>J|b;~$M>S@D?GI|j$*1>;ebQ;WU1w(FI(%J`7qu}QV+ zkMY%|*KZIo7q&l`Yq&|bsN~$)`Z%7KgsDL8fn49^&dWSnxlBlm%%bt@=3MvQ*Q~LB z#XPq2dvmUpK3E2MTv&1;2@U90s8w2D(kI*oMrBE45*-Jizn4Az)os7fZV@9KGYVeT zmA^!tXbsP%$FoCIHUS&dA9(sEN8C?VCGm_S@(ToUeUhc@l-eQ z#t$4Tst@)H4a%z9?d?VygX7F;<9#i^)pJ5B;l-iK-+eVr_3=XH@E?$9L3nO11OMG_g|ohN$P0^=H2EPXUu+OvMzr^Wg4lr*tgG%h zSC4;@!gW`oDczV8H#Xa`-$zM=Fg%`UVKt81*sq_w<(@s`qzRUGVJY~iF zO5`QNQWHcPhXJar>L0K}K9TF5vmq>qU1J8o!nT=`xXo4y*EKE6EoRe)DzZ%jCGy9sc+Sh4O@V%}hAM3{`gS7|)lHDJ9ZL}dtwc*^N zFqx}TQ~p?{4{$Gxh7Bs>?pQ@jrc<(%1nBdM2X-eCp!t(X8%=_yt0*PN+mIVV{~}=( zlDsH`EmEOz{#|B0{TI5)&*RealRvCPU6|JBebg6&E{u^`M$woaM!i@#c*{{;{Jr5Pnz{taAj!Q3tW zql*9T*j!)lUb^z9bzjVfKUY)kpiW;1+4T5V4F9}o$m`_f9zCnC_A%itt*dWX?qbALBXLRy1Xm@tft4v+qev$-c>2?@1@Xe0?&F_hQ zy&K!YO=-W47a|ASVELGAqmAUI0xBS({ED7k-->=Uh2p&zNSJ4%=?a!AeoW#W)#o;O z`{;9eCO1*Hr!HMdV~YPTs5B_#e}+nB5mMfy)Md@~2*5At_iV+!&;!+0PS3@bj+KYv z=^97A{XJM`4TMTmJcoxQ6L<@8l=$gScpW1u9lR(^qBL34x_J;6Y5PxBIWvUkCpeTD zma7DawJSoeyng9XN%cfupEKyBd&k_OYP7lwz4$@Vx)bNxkjTQvIH^irmp#;kq}v); zc?#&gz|hwSp_FX72J6YH^v{CM+2t%&!*`RK5Q@6BEOrZb*XC$)OCh=QogY-ma>kOC zE)Syy!}Y6V%Djao#E)2)KlkaJCiE(nsL#By$Wa1|1|6)A4u1+}Nf zhZEHcJqa@>|3ZQH3&O*6wcb^+>ax{5yI!v43G*|Okn#kqRARVc(^p*T68bitBladO z%8cVdHE(YkSmJEb-DP0u+*n&>QPeN{w_zEB)yDCt9n!5;zq9Y_>szW>8SJB$mYO_Yk_&=;2VbHk%>6zPmWdk zW}HsCo2dQvtWtQ@xEt-`XlJllaPpo9P5zkwC!m%GrB6Amc|&mq;{Q;?=cGeQgoCm0 z!_Z7?FlR&|Mx_ION6(R-x14-AnApBV`b!Irs_DP5xI~fF>ZWNO& zb{hu_()kTGyr*7%b_@37_}{@li>9zdW))R%j`-wK!15uAr7%6FuC1eB<-_H3MWSoG~TzNy`2>3ouZ)ovG-4<5L|e7aa!E_; z^LV9mtsg_q%V{C0V1}r?>3oJDhV~yX6`T5-A;Q~Kt0Xn-dK6r=(Cq?q&zydqsmwf# zj>4yIU?29qE06sp|2woQ&49N+>bKlv|3O7Oxo&|m!?rrexG_FYI4%yj)!O_sCvm%k zexGj2dA9h24|NlE1LD|)C(Ymn23<>#c*ZrH?zlU-yn)YkHuB#HbaUXdi;~+B*hXAa?(?sUQfFWON^TbqL7sWrcke+)_^(zO-|aO5Hq&YECVKe9gg9igOSLa+ z6;`QvG{pF=Id;NKbeI#`gY`}=*&esR649=$TApKh&A4%iS~-yWaVV4eM~K73$wc$Qw2QWA&u&%w zoY~X87o^qoVq zW2$;Z`oV*ApPyHmhQ0db1-6Xo=i1|fb+khudPW5s=nk)Bibt)K_3Ihr3GSGtWgbG6#N&_`c7!H*#|lI(L%170`G zgJ_#Nv>$pZDZC&}8`m=6=UE4Eq^ug4o8NCADI~cPxbf4&27-d+c*9SUJV4h9eONU# z;4+vBThC2va&tf7tc+7xqXq~%dlr!F*9_v_>k4J7Zpv&@* z@HyFl2;=A`v!PVglxZ^b733PjyRi)n(EoZ@xGBIru4mREUs9P^f+m#s7s*v@7Zr)8{aK zszHS;P;B#0t@i;sDH<=Gc(HMlo*#<|(Bh^%sA_ZEm)t8lrPIMjwuDFXlvAm;P}R)E z<$&nQMBu|;z$HsLg8ea1?xnMu@G8a8n9lED6I8-gi(mF0SDU7sTQ8V0pbg7mb<6TCiEd-(iHwNiKJT zd7fk$OSaTRZO5*X+7~+&udFrm_ZsJJe>HzZUB{l;K97|t?Igp-pY2<3vT#?Pl%5(r zW@V&X+9|i50VJCBA~hGci)3KBea)pyY@pn|(dXmFeM!}LgWP2H3<{KSS~h|im_Dd| z-T~lKq9TARgn42*H!Gz2Q9X{QKN5-=CV(IYoEPHwy@*ts3A7%g|*xJjq}nzZop5S;uvv zpks&fCIz_Y=OdM4^DFF)#g zbach1Y!=>f*$IaUd4`dg5t?+q&%x&bFy`S@Ga=}>OY}>P@aQNrmWNMqi&isD!)T?z&sJ1M%>62~(KL z$jo0=ZKD?mx_2D4rX@vxN#V7W&<~i=2k%rKe^Pu#!>F&-*gbc?l8uMBk%|fqh<`nV_9Vvpp#=Zo7k)QGcwOXg+xAO9IBnO*DQTzc^z`qdHj+;$6@`r8QhWQHj2y@!UJmLT^ z|Dq=!6}Wy>;A(JLUQe8J>6Vt4X6)N+KdX_At~~E@>0q*UltlFg3i*DM+et#!#O3w5 z_f|S^4eDi$bw})nR@`rBWLM2!c8Wtmq!0XIChKw{ySs~Tb+GcV~DW1-UG54rhJ%LsDj#qL3nBXt1-t4{_epv9@NDi&j!n z(%0AD+S)?kKYaMm0Ju4=uNMrGtT5^benjEP@!dbN_UI~M%Cbfx;2G*So?>CC;dPue zeCmy-Rfs9U zU0O>3J)3^_+XVGc1h+*C*Q>K+A~?k+%RuaL@+m1PNz+Xp@XL74iyenSk-W(r43*pg z7BUi&6gd|~-oETs$TTx~rK=Ejj2jmi;&M3%0EkM>qMKGiNQ>eq_stFnd3mxm3P~1B z+do)pNtQ&YcuZocTZ8Aub_K*di)wcNHT z{>yEf*y(&tqiyJhLDiq*WNF+{HOrEwuVBp}x)?WR4kE6Yovw}!uRRM;@4$dHU}bev zhP*6GI&nQ*mRjHN#S*Qvh6?5;peiZmK7mouZ4n+}vH?7FwI=f!?VX*F!%mW}a55pg zWj{V>S#hzksx93Wu$dVkFE5{1DkLa)23r`k9L|&oNK|?@GkLVu>#{o)6(8TZ>v!+b zvs5tvrSA>jnR&AdP;mP1OqRhl4@@>Z;QOp>Y$kMx*QZf3%*?3#_O4Ci`~zCqS}qFq`-`t@B2tXGO9dcHVTpyuV}1#y;^k(uU6g0n)lBFQjpP~{n| zF;KI`FnxP-)6Crb10CWb13BHC%4kf`&+#D7eC8^&7-|h?XJ=-wq)5+&^MlfAF%!6c1)dJA)kXYA9e7bF~kUy zsMiZ=gm=-?(43r|@$&M{JI`9pOKFuEtl4OmXp&$)Y%-uAA?fX_sjYpa9x0y_B2t5@ z@j0fZQe9pBK;0IshbQG93Nqv=tE%G8%`(mK;^pJhT4bVEPBrxQJ}m<2R~QGW769By ziVNqRd?xenT>I~$wKU#FN~}|dbl4xQq7wOmv&xK)j*g3-fN$R*$7wK*5OUYWJ4uS2 z#utk9$Qg?=M!d(ctokcBY{N!?kugXPj*722&tdlpGT$550-b^`M>7zPI};@+Jxy+< z4Ak&TbQjReQ6&oNtgo-HK*b-Ys~Z^d04{TOT_Nm{^Xub56t5Pe%`7OGJnc*;ybkR> zTfBDkGV)G`L{TRD+&O$4ku?Yp!K4&4d~Z1@$L zzr$NCP{U*WwvH(W#RbGVqsgr8+f&8*L3KkMmuj7xlTno`L?1y+gV^;!8|Z3g(pATx z)>NHO_i6;(| zPG`HX`Q)by%mC#KYKjU9%q=ZLf8@8fw?BA7V0%OPAy-r`8s)MSL4DtZkA71FHK9siYH5ESLeuT%=NB9tOeW+!w~MOj1fW?z zLp2S%+`#){ErkpPPFs||p@typ^}ks|>u5z#=DH8TL9Kc(@lf~PzW#*U%thPkqwai- zj(XFU+HwX?F&~tLyy#CMK?S3?Y&^boYz`2;1tC_B6;#2`fM;Zdg+L)OIe9Jv6Ca;T zZ#=6)Jj)^5X|v0MQ2+YX{l&^bQPd)|ySZsN6B-i2%+B7tk?s*Izoy8GI=uet?Bjt_ z81wV!LsY%bUd817l%{3MYx4B=cFA>mrO{@@X_-of=pOUrmSX@GMQK67#S#{f|CZr? z4NA<=HblH0z(R8fOxwBYkubR?WH&JOM)@FL)O?BQHs0IY0}#gW@hFjJy6lO=*f@-EiJ905E&U6Y7*L5S&2Aq4&A^PDAvEBu*Mt}s(V`W zmU>RT6fU^D!=zC@y;Kiu#G8_&*!1(~f$jouNdQFLyLaz)DN79UfHm>4vqv0cU-b=o zU7fuu^4MA3*x;&MxY>6ZOcM&Y?HDTZTRY~Fd+e5jZnm|?$zhGh%0@=Z|G3$1jRosk zWEXJ#==fRY_wS3Snp$TB&Q4CR#4@mfQb3hvVx6uq*v zwzi%+L~RJ?fck$dRL=uiB(y`EJ*3={*BU6fA9U2-MFVc#j5JU8F4Jz8ipvI&%&z}{ees>9^ zYG6QKwf=;?(XetlF(`%{V!tlZa(TKlI}6N4kO~})D6sdNSE24X#{FYl2=WHTW$y0f z)daWssG+Vt=QOGR#^MYPKd!2Dfz9VAB#?`^SN(SnP^{nJY<(9M-jOJC`$)nX%fG6} zkPT-Nh`kcd2<;G50Ndik*Z=#}0{*|z1*o2XP+ndxZb9z)&2$S@`q|R&c3X{$qWA## z$QBr-4D+RB8a1{J1=At541dDsd>To8XfTqUk;WXjn4ln+3EkEuXInd3HHz>Oyu@_X%b|HI>;~9d_px_OEAR z$Xp+COg-p>r(ehvhp5Al)na70rX*Cr)T_4rz#Wb=*3$*HQtHv>yOX^!i=v6s_)~}I zWu!07rgpWSUeRJZD!83t4(#2B9a3kzq|Vw|N9;N@L~7j^l0`b%S#Mwoq5ehlu~|Rl z-B@7I3ObOU!rjgFsUdp%yVCtP&XWG4*kel;04BV5U^!X!F$m=wBgsp+VfeftuBi8Ox z8RI6yGDb8qoASW$+02+@1oqc1-J$77k#BPc9M2RGIOP1b$F;r=Lco+>)Z*O0=vbIw zZ9urBVdR^X4zQQzz~0@(d9Pdif%fHJ^v{2BxhT|RK1X^Vt>wuEF6s&rjDJyE{{~F7 zyC&%c3#Ss%G-}I8E`4VG)LrhBP__gM>t(-b$#=1O1)pEw@nB6gQg1fnWeEW15qMf; zXXr=jPx4tj<5REc3`-$*0j6WWRec(o-S1AG{%`2(s7|aPElSup<5kXd0QH-DxE1=6 zKR+x_n~U=*{myJHW&dgC{9)*eKOfak`1c||FYIr{*gsAEZ0H7;_CPYS7NavqU;5U$j{`O!yjWH3V%qpACnjjAF=#m{az10h|_Qt6=moWCUF= zxVO(kPq>35aio21eW&-%qN1Wmd%t&NZcohK5Psm^z)z1ldVa172d3>ydbvm{63jKy z<;XykgZC$OuG5q)R4R6k2aouuY!xn2mJ5hF-%uGl`0Z*?vZ8mDia`m`e+g+Cl2Lj{ zyGDwKZzt^@a4-cB0Ux_gFjRv+%-2HJ1qcu~% zbES0t!fyP;Ccwh<$dQr*rMPne`*61O+>zxv;j*mPVHcx|+`?IQci0&AxOCi~59h7+ z@9(zwNB3Ls9fqFL=OT1Ah}*y495tie3luzg4m3La|(BO;F?Zys-@0l0p!*OVpYS{pE0 zL)N8_?P5K`B^cB7k;9Ke!M*p&(0?H&4b`KZYH1M-o( ze5n>M{YbCx;QLq?w@fPhp747_cVLXq`Qqyyx)|j#>G7zQeBiW5Z9p+sNlazSyqz^+ z1yzE!tNP@ceNcz%Dtv-EN_NU+<0JP*=67l*i^Dbeol(?0%|J=SW!t~qF;-YMTf^tyvewZJWMM(H8_oB9Y zRJP^e!{UK?5`@(e-jOA7cQDtc@)Kg`*BBlQK?NlE_Qv3vaCFT8k%>20m}i|hziOhG z7r!?hgr)&%!X?jt&0qvuy!IvE79M^GMeZuS1o-1CQl92ZSMp9Y3!9NqO(B*rqM^jU zW}j;v_$|a&=o&tfwoUk%f`fxUSrod+YTDK3gnmf6Eo{n#h}mFuw8nC8d{E-+aFv=q z>yN&Hf}V3Bi}4ayH+~l^t1ljuU~@pk4SMzBrb`aBOm=TZ(kJW6)?lX%F#$Wpt@!tZ zfW%0i=@3`J<%N&pkHN{0-4J*cQo;)Up~ILFk0=|Gku3+HcAjuO4-MIis@6p;mhX{^ zP=#wJpLlfPhpx{A5R=M7=y@It_B;b1rNwU!54cK>U;jRvz90X@hJIBv)w)-Y`I2zH z*g;5(y*0u)b=H?{S)1u6AzPi*J+yUfEugcRZ%Y4m6UniY>%bMUQ0wPz>NRS+gM*L) z+d5n{FW-gSOU%=0(Lz=1F?%5vmF#K!RC%==#A-Hq zSLF#J?7qmeAj1GQR3u6njw9pXVVje|vb)yUKCF1YqJhU7y zPzp|uFF=))ApX|L`+ z{p`CWm}|QRmNW-W%?8*32it?WpHazLi7ZHy0MsxzaC4*{x%qc^eK*y=!s{P^!fI*_ ztOe%y=Q8;sbj*EX+iA_USXigxnN1(;Z3_Yy5tA(Ya>3D&eJNz}1=w<|u{uX?-8t5Y z95OLWReA;17mGcH$AQoe%t)Q|=obywHFHjKK=?SbLlMb{m($*R;qw9_2MgkLAO#4_(&) zn6uq3+IUs}+D_G;R8<-a zj-INZ0qd+n6x}K+ZpL2ppS-Pr80rGMvB@99O4#+w1+POSgV`+ybZDsS2la)9)@X7H zg?K-)XkynOAXl>qG zp#Q6{uKYudH@0x2H^iqy{i>blW$ zn5wqIs1J9o_DSq2j#Lc;`E z*dO=%XEFPs^pup!l3uWjwZr2T1(`HC)VjN>oISN}E(G)2QcHMLOgx?X`aJv>xQj!q z!FJ43pl8ppYPRYP$4t8mk~=z_VzdL{x_fyd=&D}pV6H7kLeYL5V_Gcdq{Cqi0?Ib6 zWQ3I>?{;3J(Nc6ng2B!4;N@_0b-AdlbZ2y4r$W(^X5>N7yY@qeMgxnAtr7Ji+%Szb zUa_e-$!zbEUSXR;fd%mFrCQ&t(M)wU*8be?k2xHAH-_A&ud2ZNCZJgPq|Fyk0in6rL0}m_u`&1K;$>N9t!*Z?hcWKR`9d3N`L9`& zubo~>D6ssZVNCky?!~LPW$7p}`D0Vi_~+E~qgc75nI+$w^+-;Ymcw6y3qeA0o6jiw zi+_%E*q?K*A^+m)>n*uq=r-od%BC1z#wfztjVu#sDWW_3j1Z+ ztx|&wB{w5!FYI;Hh|L_8Q}8tFlHIed3xu}C8?lv{-7NkKh$F`jN=L(g@Ew|Lt-zf) zRQ^cGOa=#~5!rDn0T-RdSz*7My6SnYgNL{6OPtbY;7sWUpX_eQHx`WTnj^d$3BJhI-S`t5J%JCRI&n*G3`D<$05m%5+}#BwJN zrMGzPulh;B%kkpE%l67+^bHY^WuHs6`YpUf)Di>M1XD`ct4KZE2FpE*ef<>q@`SO0 zAI>;83_gUjy4Yy6W(3D*zO1ZyAKE{M7t2AW>gT}h?t4d3%tJKRR5vbxitQ#%`HxWT zCpr6KpZ5Y>RI8@TKV~c=#4pL?k^{9*m_`=H_kJW5o4Ul+_F3IbI82pA#D85&n*Dqu z=Kaz7AkMNkPw=a#IRCcLq64U~z^TuZ{;5CNsWtq643D#Ohyx2nUD|m0-I<>dDzJ3eGJrAzj z4mH2tM=usgcvfAwSI4K3h#zlx<#Q-WR3Q5Y1c**QN|AEExgV{DhK=*WC3uSJ8K2U? zE*0iUutb@@yqeKiEvBj;&Ys&ty?EU{EAY$KEN_wCUc@9}cPjq%e1jYVK=wl4g~GuR z5hj`LoYnTFNas%5Wqm|e(PKnW=QQQ@f)TNg*0X!knFilDLqa-K5W{hINR+3-)XS8` zBCacP&Dqa-WVU>kYuWojkS3-ZZh!O=TwXd(Rkt}IE@*$WBW_yD)%)X8F{-JLY7=$Gj0 z*OW-o;!m}9{Ad~+iYVbNV>h_Ulz?Nv0<$t&vt*dx`&sTWW9>5mBC7&>8)kB%n<$BIG=xsgw2#}HtMWuC*B6|HfN9$+U>=mv&CXG_O zqv~pvJWNvIr$gCp*lXq_Ds7lG{kg70^z+c>><@#&l-xh_9g@^G6%SAzUGur%xjh~V zV(dR&!$m7?Mc7|+Y|EH^j7Yk^K()~CnWOrqaJAq1|f;e7r53R~;FvE2jZTBw9_9% zD0ZS9Q5A{9i2BGz?~7U8Rt{Y-O5;3_o2qyD#cH2imQZ6TFJYbgW2;Cqs*QA2B3*xY zxmR0a`f5{^(n6MGzeHpb+*5u&BgdKnhBquUG6T=Mo8f$<(9B`c@kKNCeRHe)ppwqf zK_M!xpwo28b?{zxp+*!zP7M6?sk1DS3etNb&(vD!IPAc7@?Fhxvnkq65@Xo)t z!mMMXG51{n(zUN|Yg?UD2WM$t5?Y==6u`^jlR8?#Ndv!=vP9A|)(2TR;D0y5o9MYP zm@qg=T`%#cR@J^r;#yrlG3Wh|_uundy@#7zJGOf_W7~K<5xL6;WBdzAS4^RsP^&B4Ld{K8RL`^uk5aMZ_!-jC0Q1K_vIoDUjpEdO}~ z#V`3+PTsPik8pU2u(yuC?o>WPzx3x^)w!3+CPiJbY$d7Jd9DUiF|f2I!g~9d(;}(Q z1*A>PCqM6tL!ol-tI?P8DkzF=jxHVfe3HKRPwY0zXD?XMB}6|qkvjgP^G8(c!b4dl{gpzU#4+ubhsZCeCO!H6gZQ=Jw05|+ z^{21cx<({T`GVgq%xn8bUEmxZwp{!JLk5psc!T8M<{9Gj85=}dT#M);SF4>zhF$Ly zpxxNfp*o^#^k-+4`j3GjlV;l(842G)@< z*-ibQMT4L9O(xB^nrKEoj^=jTbavk*<81o*pqIjfIqzxNNdMCJwR{akMrF%%mDqE# z&t}Uq%JDB2^jt(U#gNQuN9oM>lcI|YzU}Ki9^XDU*cNSk#r-Ym_1zv7FAKQc3=_ww ztFqFE0ZLtWADT$>ySwaxi!I+2{gN{ySZ%3j-Hv#1R#3o?)TPGAFOnD7b91L{7xv=m z!#7Z7zY?R^%*P^ntE)#<5r~R;&zUHBM-S6R8`hrkf-bcUiChL-H}&lHz%XKee!2n} zxj_;u{>~?Zq{w3ZUc|`kClSZ_&n)U&IGm~!^`w-jps*H7pPyGj|_MWem>I+X{Nh)`kmLFdG z#oYB9nZm_Cl~Xt-RED6NK}wC1vgCz4jB$cdzbm>S^C4ZNF1q7~+yo_ME5(YvG~B)M zVrNWU)LJ6KYRJ`sRAkd9_1TNKjWJ%rcaM4E4){!N`Ei~*6yTxk+UlU3*_ov_=z4wk zPrj0SQ;LR17AkMFOg4pWT$r)m@71IUcU^Ab!$g?s@Rv+xX#-*e`x|8-;$^nxO3bo= zQK8x5-Ex*|dKJzF#aY9#aZ5gA8vP#_jKV!)ZDeGA@YI^|2}AvQ4(JkJ9;iuNOI>i< zaJ#qtE*osJXEW4DB_sOF; zI%43XIK<8*2+sZ-Lt@ttwuLR@KB&9RWV`Nj+gbNpl6Ff9)z>ujqBD7myxd$q*|zrB znvNBJ4t7*u`;{urWTsS>ncnfUtKOMYUQuDFP}JT)aDg(4b#H9x+z*!QnE<-3*{?1# z8k)V|c1)+P36VcSec7!TvvO&Uj$(%=tjrVk+Q(SSe?U}!t^BzIL_10M(Z4V;(^*W5 zGwu#?z4+$Ky$JVi$0J(}&CDwA?{*f-`-;9v;a|+Hw)UK<>jlfpEDv^yE*%sgm4>EOel!m0`6cKm^UZg4JtHJcB_lt$sziEsc`#|n$JJL^&QvFs zQ%~E1Ct(jEp$snf#3i4w$SJ8cSC-818o?dEJw`^Fj2isv%1FORvr$IE&J;HD%VIH0 zPQmPv{M?8!ay1M)hOjlam{TSGC5ns@<;{bdJGUih zjxOz{cK1CT-5qS)cykNn7XPC29Qr}4sRO&M$E|(Y16gh2V2J0SyC9|*M`ji>fQnwA(;yxx?u${J8jC4G7Q=3VZbi0IQ7l8cnl z%N>h|l#w;@|Kkjd55Wa0pFNiLWUTuM@l}f99qC1fY~i!_s`KYmb9A;n@9fr^r4fGg znG4qQ8j{{lm0(R)(ec^?803!fErxDBUGnPPl<68MvCNpp1aIPp3evOZn85ZZ3#ni)s!r zajV)stmXRQgkg@)Y{?xem1~{KdYij_^XuxO@RF&*1kpjqtI0P}jIOa4D-ApwOL~m= zRx5Q4<+!V4_Cs4Q7|&Hb<4v8)eH)Q#emGpkrD^oABzmEthuaOfCRTqW{`!iDh<|rk zP52~)#rJ;XD5Q_89!(PVP+tLQw`{Iu-z9w6&skdxb`MM77zJSy+ za*WQX9B~Ba4=<56wN^7;vg0uC`P3vugHZ6SDt^8j)R_>le=m5ICTn#J*v*}dhv`r` zZ}NE%4f-^G@+!b3`H(m#OC#9+R_wX8Q!PCsavqn-GWi_+#Y0c75WcTvghPuqbRsX2 z<@)v?7prP#&C0^QJRT>I9yi)mDZq{qjLhFrDS1TXAi-{3lPal^xkyXlhK$=v2 zc|js3<{ed=dm|zhT3ti%<|r7PlltA(zL?VRb}1m_>NImw&hEJ-=4s{ep@i6d$#JXb z%=B+hj00+V6IWlD{>Fk@85hsLq^v7M$Ue7LQO+dH!J3@+t9G66^#8{GX7*CEq@B!Q>B|6f2yaD#_Q8igd z7mEnb3naqt_~-&P&QJ>2w)nE_Zt#?JHWy)X)Z{60QuNw*MQHQlj@exYUm2xxr-f)=3%sxB(V&p4A@%0>!i$yd9P)`h#-IJjE z#Qvc-0S?wN$fZt4!5*+5dKfSf`7(6cPz?k@E5or~nx1sJu8e@9L89YNPg)UFj0 z*a=~5BrXu_U}1`}O9V^$m}2mK!mJans3Kt@^D!#NiWXTpF9cG~i?&P)(7z*umN42A z_V8kqc9IAssxULAh(K07E=t^ttKkjt-b(= z9@{e!D2>(-gg`U|G2trPyWk>tTyuS7YMt2(-27v9Tmu-6!zfFh^1`^xFzCsVu*=sF zVU{Sy!+NY|!}>46k&5<)f!_qhb(zwn1b(|VGgs#yFs8OPxpF;!E9xbR|Aad1QE^3& zP4_@cnn82%jiSBbh-`T$9`cKqlX7NSye54O+iZ6^lzG^#B2vezu^uSkLEp=#eb)z{ zw9Xj7g*;He!6k!0p->1qEst}&MC2Qc4+{zbf9D9z1MF&Hg2(Owg0--ln9^Ylj0aT0 zXaNp2F!g`$FAa)W)be28#4>E|yNa1X6Z)0NY$cypmA7zR<*p0uo zg6d%Gh!(pkVd9DoZQLpzlXa!yFw<`{?iULfl2s$`KI5i|7LVCK=n6A6duB@VIOR1@ zs!eSDmGaC?t5L6`%2EA;447@DwH>9iJcYKV`ttI^??3QA9dDd%DUd5wqc*S7eLfA@ zNx*Z~R^qn2Jj;dY<2G|F7vQ60!x;vyzdTBE;}9qV_Yp0nlEd}gO~S6-rhR zm)j5QGZywyb?X}&bq)okW0a%aOD3CRjNJ{x^Hn@K*%2vTB@p1DC$5#*y-oSvCU|Bvubk)A+ULDz zE(ocGbYXGB^Qy~n%Z0e^nPazwx!dPAHf5%YHT%sFPo%uZZF|YzNzNi&2I($pmVaP1 z45<)&Dd1)$zxtfRUY_(_bpztgyIjUSt@~KM&orN%;~s!4X+CYA{lrZnsPuV-^=Y3w z_(|?hzwKe8%&nlzZ~b#C4o0XHRruikEkBOEpGDvrr*T;8%7pzx zI=1cGUP19X+z&r+dHeP1lYFTD-WGY2ng7xs-gT*qTOvGLorr(+X&)UI{40&RhzAu00bZhO$RM;cN0rKNUeQLv;vWx|eNes3i} z?|J_{=d;k-uYnx?o|#tWtI2_E=X1L@d>$g)cnS*=I^N|X1Ff?|__ZdRYK5n*jYHIA zXJ1nGJ2&cUpjyW@WWIZOQ`9NTgeAh-o+Noh-KoLBzjODNm}ZPdaJb~#S*|#$-#Ob) z;|LinD)LO>_eGq9X|_ZM)RQ?ys;TJTa}wE51g7>qXH)}V9 zaFV~3+}kfcM<3@PBP|%$&O`n~flu;scGTtj)B82$D81-DLny_4*@Yo-&?H9eI75v2K=+hJ%gg3|r#_=Du zr8Vs7y2q&p)}e4FqXJqWSM*+MO%vQ)c0o|2Ch*Ax-WBcXXN0mdn?0)WPwy+`x)g|0 zp?;1^h42P{vv9|s)Y`k8ocHHTZ!0j25S35}VzJzs=q0pZ1DZd3qZ9AMu8cnt(#z%vG4fbwN|080zkjebQbyz3>)}Ufz1qz5n>Z@ownz6>@OHVy&nc$LDN}1V-nzb zJM1!Ws~rXfp0>cKG4?}SK>GotCz!1*FskFGaWpmgS-gip&~z3@gB*=R1<v^ z#_S5ZiKern=SxmteOqBv7;{Ojpt;7<6aFa3KW?se{PH>+)JM}<44ldnS>d)5*QoTa z6+yu%C7RC4ey;|ew!y?OmU7!*m$4{;XYDW=K(ZAZ3M{pqwwVBo1NQs+f8xP(++>qW z7v1?l`)E3gTl51hdV>26t<2YiQQm5YF=5Qnbb#!Y7Brh0c+hc@A?j(b`gr>7-TN60I#P9P|fD}3hdqIq2g=}qM8v<~0ji$2- zDN{H==KvT`&aTrqD|dmGcNlTe*AW#UL61uT#CDxnt}w>$?FA!^rn5lM$G8~FV_hdb zLpJG5uh5DGLDN}T4s(F9`?R+WyTM>rT?hDkKrbS@Pp{@Okd5===6SStRKNZw?h44>=0m^ug@o?hy~%f*Pgs!Wsh!1td*tt8=)XYrFYwSU z;Q@?#PCMgi59o|V3?3#_={={RYC-dvdXD9(z*Q3SakT#~js6QQu!a!@DmC#a{x>I| z_kwV`>nAc2t=RZLb?@mVHG;0R+QLI81U0asgGc^9Sw`PU^gb2r88n>@PJ;pz(>uvq zAgFFG-i7~BW=uH@*9?I`&~#S0SQ&~oN(J1?$D;s7`%a^>)CYQ`H4Fuqy1_0QmxNLP z!u=pj4qnadNcF_m>4`oWgG%?I?o@?VFn%zopzxon*B8Z&87yxwI(K||1L29 zi`oAXBZ^+A1LVV}BRu~w2s2iJuA>6XhG8t20EVF14>r*3%Rv1C!T;um1Xc8lbbSZ} zO=rDV+&XS474U6|fZ~5rqc%&x$_yN9&~#Q$LY)xPUn)p&yg`hde&!~EC7dMS$A5aWxjN(cl^XKiPGJXT=<-i*R%Fd@hp17VFYS&Mm;t%5lMld7@X)|#cfh0r>8$MY7r?Wz({8RF z1I;P^I5GFF5;RAEJk96JNU+kR;iM9b52m-x>&I_A5XFL^=`3_sBM^o>h5m`wzJ~+D z41eW&7bpOl@l)t)<6z})AsFVuGa836i=$^W|6W6*kKp?IQcr|IoSfZl%>K_A8c+q| zG0rr?AhyPKR_10-&ODB$=Kmcq0qaRHzgU|AsYw{e@x|~L9|EEM_dgK*W?*vyhPfRB zC{2KR(ak{a1dN&Obkd0y2d|;y7yHRO=B>3E20W{QaR3q%r|msPU}*uYCSX@E9ewPJ zP74qK`tmPMSPRhc59e5`sRivX1>i9SBl>&$0EKSKQ42sh1>Links to other resources:

    @@ -22,6 +22,9 @@ Index: public/help/ar/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • +
+ The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
+ The DMSF folder id can be found in the link when opening folders within Redmine. @@ -54,6 +57,9 @@ Index: public/help/ar/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -89,7 +95,7 @@ Index: public/help/az/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/az/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/az/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -109,6 +115,9 @@ Index: public/help/az/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -139,6 +148,9 @@ Index: public/help/az/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -177,7 +189,7 @@ Index: public/help/bg/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/bg/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/bg/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -197,6 +209,9 @@ Index: public/help/bg/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -207,7 +222,7 @@ Index: public/help/bg/wiki_syntax_detailed_textile.html =================================================================== --- public/help/bg/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/bg/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -227,6 +242,9 @@ Index: public/help/bg/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -262,7 +280,7 @@ Index: public/help/bs/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/bs/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/bs/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -282,6 +300,9 @@ Index: public/help/bs/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -292,7 +313,7 @@ Index: public/help/bs/wiki_syntax_detailed_textile.html =================================================================== --- public/help/bs/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/bs/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -312,6 +333,9 @@ Index: public/help/bs/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -347,7 +371,7 @@ Index: public/help/ca/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/ca/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/ca/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -367,6 +391,9 @@ Index: public/help/ca/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -377,7 +404,7 @@ Index: public/help/ca/wiki_syntax_detailed_textile.html =================================================================== --- public/help/ca/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/ca/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -397,6 +424,9 @@ Index: public/help/ca/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -432,7 +462,7 @@ Index: public/help/cs/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/cs/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/cs/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,14 +70,18 @@ +@@ -70,14 +70,21 @@

    Links to other resources:

      @@ -452,6 +482,9 @@ Index: public/help/cs/wiki_syntax_detailed_markdown.html +
    • {{dmsf(17,File,10)}} (odkaz na soubor s id 17 s textem "File" odkazující na revizi 10)
    • +
    • {{dmsff(5)}} (odkaz na adresář s id 5)
    • +
    • {{dmsff(5,Folder)}} (odkaz na adresář s id 5 s textem "Folder")
    • ++
    • {{dmsf_image(8)}} (vložený obrázek ze souboru s 8; dokument musí být obrázek, např. JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (vložený obrázek s definovanou velikostí)
    • ++
    • {{dmsf_image(8, size=640x480)}} (vložený obrázek s definovanou velikostí)
    • +
    + ID dokumentu respektive revize lze nalézt v odkazu na stažení souboru.
    + ID adresáře lze nalézt na odkazu na adresář. @@ -463,7 +496,7 @@ Index: public/help/cs/wiki_syntax_detailed_textile.html =================================================================== --- public/help/cs/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/cs/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Odkazy na další zdroje:

      @@ -482,6 +515,9 @@ Index: public/help/cs/wiki_syntax_detailed_textile.html +
    • {{dmsf(17,File,10)}} (odkaz na soubor s id 17 s textem "File" odkazující na revizi 10)
    • +
    • {{dmsff(5)}} (odkaz na adresář s id 5)
    • +
    • {{dmsff(5,Folder)}} (odkaz na adresář s id 5 s textem "Folder")
    • ++
    • {{dmsf_image(8)}} (vložený obrázek ze souboru s 8; dokument musí být obrázek, např. JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (vložený obrázek s definovanou velikostí)
    • ++
    • {{dmsf_image(8, size=640x480)}} (vložený obrázek s definovanou velikostí)
    • +
    + ID dokumentu respektive revize lze nalézt v odkazu na stažení souboru.
    + ID adresáře lze nalézt na odkazu na adresář. @@ -517,7 +553,7 @@ Index: public/help/da/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/da/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/da/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -537,6 +573,9 @@ Index: public/help/da/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -547,7 +586,7 @@ Index: public/help/da/wiki_syntax_detailed_textile.html =================================================================== --- public/help/da/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/da/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -567,6 +606,9 @@ Index: public/help/da/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -602,7 +644,7 @@ Index: public/help/de/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/de/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/de/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -622,6 +664,9 @@ Index: public/help/de/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -632,7 +677,7 @@ Index: public/help/de/wiki_syntax_detailed_textile.html =================================================================== --- public/help/de/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/de/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -652,6 +697,9 @@ Index: public/help/de/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -687,7 +735,7 @@ Index: public/help/el/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/el/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/el/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -707,6 +755,9 @@ Index: public/help/el/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -717,7 +768,7 @@ Index: public/help/el/wiki_syntax_detailed_textile.html =================================================================== --- public/help/el/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/el/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -737,6 +788,9 @@ Index: public/help/el/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -772,7 +826,7 @@ Index: public/help/en/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/en/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/en/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -792,6 +846,9 @@ Index: public/help/en/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -802,7 +859,7 @@ Index: public/help/en/wiki_syntax_detailed_textile.html =================================================================== --- public/help/en/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/en/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -822,6 +879,9 @@ Index: public/help/en/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -857,7 +917,7 @@ Index: public/help/en-gb/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/en-gb/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/en-gb/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -879,6 +939,9 @@ Index: public/help/en-gb/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -889,7 +952,7 @@ Index: public/help/en-gb/wiki_syntax_detailed_textile.html =================================================================== --- public/help/en-gb/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/en-gb/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -909,6 +972,9 @@ Index: public/help/en-gb/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -944,7 +1010,7 @@ Index: public/help/es/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/es/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/es/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -964,6 +1030,9 @@ Index: public/help/es/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -974,7 +1043,7 @@ Index: public/help/es/wiki_syntax_detailed_textile.html =================================================================== --- public/help/es/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/es/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -994,6 +1063,9 @@ Index: public/help/es/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1051,6 +1123,9 @@ Index: public/help/es-pa/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1065,7 +1140,7 @@ Index: public/help/es-pa/wiki_syntax_detailed_textile.html =================================================================== --- public/help/es-pa/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/es-pa/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -1085,6 +1160,9 @@ Index: public/help/es-pa/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1120,7 +1198,7 @@ Index: public/help/et/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/et/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/et/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -1142,6 +1220,9 @@ Index: public/help/et/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1174,6 +1255,9 @@ Index: public/help/et/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1209,7 +1293,7 @@ Index: public/help/eu/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/eu/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/eu/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -1229,6 +1313,9 @@ Index: public/help/eu/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1261,6 +1348,9 @@ Index: public/help/eu/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1296,7 +1386,7 @@ Index: public/help/fa/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/fa/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/fa/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -1316,6 +1406,9 @@ Index: public/help/fa/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1348,6 +1441,9 @@ Index: public/help/fa/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1383,7 +1479,7 @@ Index: public/help/fi/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/fi/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/fi/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -1403,6 +1499,9 @@ Index: public/help/fi/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1413,7 +1512,7 @@ Index: public/help/fi/wiki_syntax_detailed_textile.html =================================================================== --- public/help/fi/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/fi/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -1433,6 +1532,9 @@ Index: public/help/fi/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1468,7 +1570,7 @@ Index: public/help/fr/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/fr/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/fr/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -1488,6 +1590,9 @@ Index: public/help/fr/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1520,6 +1625,9 @@ Index: public/help/fr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1555,7 +1663,7 @@ Index: public/help/gl/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/gl/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/gl/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -1577,6 +1685,9 @@ Index: public/help/gl/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1609,6 +1720,9 @@ Index: public/help/gl/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1644,7 +1758,7 @@ Index: public/help/he/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/he/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/he/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -1664,6 +1778,9 @@ Index: public/help/he/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1674,7 +1791,7 @@ Index: public/help/he/wiki_syntax_detailed_textile.html =================================================================== --- public/help/he/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/he/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -1694,6 +1811,9 @@ Index: public/help/he/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1729,7 +1849,7 @@ Index: public/help/hr/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/hr/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/hr/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -1751,6 +1871,9 @@ Index: public/help/hr/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1783,6 +1906,9 @@ Index: public/help/hr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1818,7 +1944,7 @@ Index: public/help/hu/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/hu/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/hu/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -1840,6 +1966,9 @@ Index: public/help/hu/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1850,7 +1979,7 @@ Index: public/help/hu/wiki_syntax_detailed_textile.html =================================================================== --- public/help/hu/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/hu/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -1870,6 +1999,9 @@ Index: public/help/hu/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1905,7 +2037,7 @@ Index: public/help/id/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/id/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/id/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -1927,6 +2059,9 @@ Index: public/help/id/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1937,7 +2072,7 @@ Index: public/help/id/wiki_syntax_detailed_textile.html =================================================================== --- public/help/id/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/id/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -1957,6 +2092,9 @@ Index: public/help/id/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -1992,7 +2130,7 @@ Index: public/help/it/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/it/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/it/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2012,6 +2150,9 @@ Index: public/help/it/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2022,7 +2163,7 @@ Index: public/help/it/wiki_syntax_detailed_textile.html =================================================================== --- public/help/it/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/it/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2042,6 +2183,9 @@ Index: public/help/it/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2077,7 +2221,7 @@ Index: public/help/ja/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/ja/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/ja/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2097,6 +2241,9 @@ Index: public/help/ja/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2107,7 +2254,7 @@ Index: public/help/ja/wiki_syntax_detailed_textile.html =================================================================== --- public/help/ja/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/ja/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    そのほかのリソースへのリンク:

      @@ -2127,6 +2274,9 @@ Index: public/help/ja/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2162,7 +2312,7 @@ Index: public/help/ko/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/ko/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/ko/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2182,6 +2332,9 @@ Index: public/help/ko/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2192,7 +2345,7 @@ Index: public/help/ko/wiki_syntax_detailed_textile.html =================================================================== --- public/help/ko/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/ko/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2212,8 +2365,12 @@ Index: public/help/ko/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + + The DMSF folder id can be found in the link when opening folders within Redmine. + @@ -2247,7 +2404,7 @@ Index: public/help/lt/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/lt/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/lt/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2267,6 +2424,9 @@ Index: public/help/lt/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2277,7 +2437,7 @@ Index: public/help/lt/wiki_syntax_detailed_textile.html =================================================================== --- public/help/lt/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/lt/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2297,6 +2457,9 @@ Index: public/help/lt/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2332,7 +2495,7 @@ Index: public/help/lv/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/lv/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/lv/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2352,6 +2515,9 @@ Index: public/help/lv/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2362,7 +2528,7 @@ Index: public/help/lv/wiki_syntax_detailed_textile.html =================================================================== --- public/help/lv/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/lv/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2382,6 +2548,9 @@ Index: public/help/lv/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2417,7 +2586,7 @@ Index: public/help/mk/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/mk/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/mk/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2437,6 +2606,9 @@ Index: public/help/mk/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2447,7 +2619,7 @@ Index: public/help/mk/wiki_syntax_detailed_textile.html =================================================================== --- public/help/mk/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/mk/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2467,6 +2639,9 @@ Index: public/help/mk/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2502,7 +2677,7 @@ Index: public/help/mn/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/mn/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/mn/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2522,6 +2697,9 @@ Index: public/help/mn/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2532,7 +2710,7 @@ Index: public/help/mn/wiki_syntax_detailed_textile.html =================================================================== --- public/help/mn/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/mn/wiki_syntax_detailed_textile.html (working copy) -@@ -80,13 +80,19 @@ +@@ -80,13 +80,22 @@
      @@ -2552,6 +2730,9 @@ Index: public/help/mn/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2587,7 +2768,7 @@ Index: public/help/nl/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/nl/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/nl/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2607,6 +2788,9 @@ Index: public/help/nl/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2617,7 +2801,7 @@ Index: public/help/nl/wiki_syntax_detailed_textile.html =================================================================== --- public/help/nl/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/nl/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2637,6 +2821,9 @@ Index: public/help/nl/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2672,7 +2859,7 @@ Index: public/help/no/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/no/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/no/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2692,6 +2879,9 @@ Index: public/help/no/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2702,7 +2892,7 @@ Index: public/help/no/wiki_syntax_detailed_textile.html =================================================================== --- public/help/no/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/no/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2722,6 +2912,9 @@ Index: public/help/no/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2757,7 +2950,7 @@ Index: public/help/pl/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/pl/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/pl/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2777,6 +2970,9 @@ Index: public/help/pl/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2787,7 +2983,7 @@ Index: public/help/pl/wiki_syntax_detailed_textile.html =================================================================== --- public/help/pl/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/pl/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2807,6 +3003,9 @@ Index: public/help/pl/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2842,7 +3041,7 @@ Index: public/help/pt/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/pt/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/pt/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2862,6 +3061,9 @@ Index: public/help/pt/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2872,7 +3074,7 @@ Index: public/help/pt/wiki_syntax_detailed_textile.html =================================================================== --- public/help/pt/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/pt/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2892,6 +3094,9 @@ Index: public/help/pt/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2927,7 +3132,7 @@ Index: public/help/pt-br/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/pt-br/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/pt-br/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -2947,6 +3152,9 @@ Index: public/help/pt-br/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -2957,7 +3165,7 @@ Index: public/help/pt-br/wiki_syntax_detailed_textile.html =================================================================== --- public/help/pt-br/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/pt-br/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -2977,6 +3185,9 @@ Index: public/help/pt-br/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3012,7 +3223,7 @@ Index: public/help/ro/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/ro/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/ro/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3032,6 +3243,9 @@ Index: public/help/ro/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3042,7 +3256,7 @@ Index: public/help/ro/wiki_syntax_detailed_textile.html =================================================================== --- public/help/ro/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/ro/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3062,6 +3276,9 @@ Index: public/help/ro/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3097,7 +3314,7 @@ Index: public/help/ru/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/ru/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/ru/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3117,6 +3334,9 @@ Index: public/help/ru/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3127,7 +3347,7 @@ Index: public/help/ru/wiki_syntax_detailed_textile.html =================================================================== --- public/help/ru/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/ru/wiki_syntax_detailed_textile.html (working copy) -@@ -84,17 +84,19 @@ +@@ -84,17 +84,22 @@

    ССылки на другие ресурсы:

      @@ -3146,8 +3366,12 @@ Index: public/help/ru/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + + The DMSF folder id can be found in the link when opening folders within Redmine. -
  • sandbox:document:"Приветствие" (ссылка на документ с названием "Приветствие" в проекте @@ -3185,7 +3409,7 @@ Index: public/help/sk/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sk/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sk/wiki_syntax_detailed_markdown.html (working copy) -@@ -69,14 +69,19 @@ +@@ -69,14 +69,22 @@

    Links to other resources:

    @@ -3207,6 +3431,9 @@ Index: public/help/sk/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • ++
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3217,7 +3444,7 @@ Index: public/help/sk/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sk/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sk/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3237,6 +3464,9 @@ Index: public/help/sk/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3272,7 +3502,7 @@ Index: public/help/sl/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sl/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sl/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3292,6 +3522,9 @@ Index: public/help/sl/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3302,7 +3535,7 @@ Index: public/help/sl/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sl/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sl/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3322,6 +3555,9 @@ Index: public/help/sl/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3357,7 +3593,7 @@ Index: public/help/sq/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sq/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sq/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3377,6 +3613,9 @@ Index: public/help/sq/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3387,7 +3626,7 @@ Index: public/help/sq/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sq/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sq/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3407,6 +3646,9 @@ Index: public/help/sq/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3442,7 +3684,7 @@ Index: public/help/sr/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sr/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sr/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3462,6 +3704,9 @@ Index: public/help/sr/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3472,7 +3717,7 @@ Index: public/help/sr/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sr/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sr/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3492,6 +3737,9 @@ Index: public/help/sr/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3527,7 +3775,7 @@ Index: public/help/sr-yu/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sr-yu/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sr-yu/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3547,6 +3795,9 @@ Index: public/help/sr-yu/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3557,7 +3808,7 @@ Index: public/help/sr-yu/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sr-yu/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sr-yu/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3577,6 +3828,9 @@ Index: public/help/sr-yu/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3612,7 +3866,7 @@ Index: public/help/sv/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/sv/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/sv/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3632,6 +3886,9 @@ Index: public/help/sv/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3642,7 +3899,7 @@ Index: public/help/sv/wiki_syntax_detailed_textile.html =================================================================== --- public/help/sv/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/sv/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3662,6 +3919,9 @@ Index: public/help/sv/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3697,7 +3957,7 @@ Index: public/help/th/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/th/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/th/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3717,6 +3977,9 @@ Index: public/help/th/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3727,7 +3990,7 @@ Index: public/help/th/wiki_syntax_detailed_textile.html =================================================================== --- public/help/th/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/th/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3747,6 +4010,9 @@ Index: public/help/th/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3782,7 +4048,7 @@ Index: public/help/tr/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/tr/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/tr/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3802,6 +4068,9 @@ Index: public/help/tr/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3812,7 +4081,7 @@ Index: public/help/tr/wiki_syntax_detailed_textile.html =================================================================== --- public/help/tr/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/tr/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3832,6 +4101,9 @@ Index: public/help/tr/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3867,7 +4139,7 @@ Index: public/help/uk/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/uk/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/uk/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3887,6 +4159,9 @@ Index: public/help/uk/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3897,7 +4172,7 @@ Index: public/help/uk/wiki_syntax_detailed_textile.html =================================================================== --- public/help/uk/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/uk/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -3917,6 +4192,9 @@ Index: public/help/uk/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3952,7 +4230,7 @@ Index: public/help/vi/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/vi/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/vi/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -3972,6 +4250,9 @@ Index: public/help/vi/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -3982,7 +4263,7 @@ Index: public/help/vi/wiki_syntax_detailed_textile.html =================================================================== --- public/help/vi/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/vi/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -4002,6 +4283,9 @@ Index: public/help/vi/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -4037,7 +4321,7 @@ Index: public/help/zh/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/zh/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/zh/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -4057,6 +4341,9 @@ Index: public/help/zh/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -4067,7 +4354,7 @@ Index: public/help/zh/wiki_syntax_detailed_textile.html =================================================================== --- public/help/zh/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/zh/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    Links to other resources:

      @@ -4087,6 +4374,9 @@ Index: public/help/zh/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -4122,7 +4412,7 @@ Index: public/help/zh-tw/wiki_syntax_detailed_markdown.html =================================================================== --- public/help/zh-tw/wiki_syntax_detailed_markdown.html (revision 14471) +++ public/help/zh-tw/wiki_syntax_detailed_markdown.html (working copy) -@@ -70,13 +70,18 @@ +@@ -70,13 +70,21 @@

    Links to other resources:

      @@ -4142,6 +4432,9 @@ Index: public/help/zh-tw/wiki_syntax_detailed_markdown.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. @@ -4152,7 +4445,7 @@ Index: public/help/zh-tw/wiki_syntax_detailed_textile.html =================================================================== --- public/help/zh-tw/wiki_syntax_detailed_textile.html (revision 14471) +++ public/help/zh-tw/wiki_syntax_detailed_textile.html (working copy) -@@ -70,13 +70,19 @@ +@@ -70,13 +70,22 @@

    連結至其他資源:

      @@ -4172,6 +4465,9 @@ Index: public/help/zh-tw/wiki_syntax_detailed_textile.html +
    • {{dmsfd(17)}} (a link to the description of the file with id 17)
    • +
    • {{dmsff(5)}} (a link to the folder with id 5)
    • +
    • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
    • ++
    • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
    • ++
    • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
    • ++
    • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
    • +
    + The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    + The DMSF folder id can be found in the link when opening folders within Redmine. From eda3835d3f2a9c17d63227965cdf3b96b89e076d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 17 Sep 2015 10:37:33 +0200 Subject: [PATCH 12/12] Last changes of v1.5.4 --- CHANGELOG.md | 15 +++ README.md | 12 +++ extra/help_files_dmsf.diff | 192 ++++++++++++++++++------------------- 3 files changed, 123 insertions(+), 96 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 308bf37c..dc25d9f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,21 @@ Changelog for Redmine DMSF ========================== +1.5.4 *2015-09-17* +------------------ + + New DMSF macro for inline pictures + File name updating when a new content is uploaded + System files filtering when working with WebDAV + + * Bug: #442 - Can't move directories + * Bug: #441 - Drag'n'drop save only the picture thumbnail + * New: #438 - The file name update when a new content is uploaded + * Bug: #418 - Documents details from in IE + * Bug: #417 - Selected column is not highlighted under mouse pointer in IE + * New: #352 - DMSF Macro to display inline Pictures in wiki + * New: #54 - Webdav: Filter Mac OS X "resource forks" files + 1.5.3 *2015-08-10* ------------------ diff --git a/README.md b/README.md index dc5e2cfa..0a4c34e1 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,15 @@ The DMSF file/revision id can be found in link for file/revision download from w ####Link to a folder with id 5 with link text "Folder" `{{dmsff(5, Folder)}}` +####An inline picture of the file with id 8; it must be an image file such as JPEG, PNG,... +`{{dmsf_image(8)}}` + +####An inline picture with custom size +`{{dmsf_image(8, size=300)}}` + +####An inline picture with custom size +`{{dmsf_image(8, size=640x480)}}` + The DMSF folder id can be found in the link when opening folders within Redmine. You can also publish Wiki help description: @@ -132,6 +141,9 @@ In the file /public/help//wiki_syntax_detailed.html, aft
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • {{dmsff(5)}} (a link to the folder with id 5)
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • +
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • The DMSF file/revision id can be found in the link for file/revision download from within Redmine.
    The DMSF folder id can be found in the link when opening folders within Redmine. diff --git a/extra/help_files_dmsf.diff b/extra/help_files_dmsf.diff index a07e04db..525df229 100644 --- a/extra/help_files_dmsf.diff +++ b/extra/help_files_dmsf.diff @@ -22,7 +22,7 @@ Index: public/help/ar/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -57,7 +57,7 @@ Index: public/help/ar/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -115,7 +115,7 @@ Index: public/help/az/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -148,7 +148,7 @@ Index: public/help/az/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -209,7 +209,7 @@ Index: public/help/bg/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -242,7 +242,7 @@ Index: public/help/bg/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -300,7 +300,7 @@ Index: public/help/bs/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -333,7 +333,7 @@ Index: public/help/bs/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -391,7 +391,7 @@ Index: public/help/ca/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -424,7 +424,7 @@ Index: public/help/ca/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -573,7 +573,7 @@ Index: public/help/da/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -606,7 +606,7 @@ Index: public/help/da/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -664,7 +664,7 @@ Index: public/help/de/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -697,7 +697,7 @@ Index: public/help/de/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -755,7 +755,7 @@ Index: public/help/el/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -788,7 +788,7 @@ Index: public/help/el/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -846,7 +846,7 @@ Index: public/help/en/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -879,7 +879,7 @@ Index: public/help/en/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -939,7 +939,7 @@ Index: public/help/en-gb/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -972,7 +972,7 @@ Index: public/help/en-gb/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1030,7 +1030,7 @@ Index: public/help/es/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1063,7 +1063,7 @@ Index: public/help/es/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1123,7 +1123,7 @@ Index: public/help/es-pa/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1160,7 +1160,7 @@ Index: public/help/es-pa/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1220,7 +1220,7 @@ Index: public/help/et/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1255,7 +1255,7 @@ Index: public/help/et/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1313,7 +1313,7 @@ Index: public/help/eu/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1348,7 +1348,7 @@ Index: public/help/eu/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1406,7 +1406,7 @@ Index: public/help/fa/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1441,7 +1441,7 @@ Index: public/help/fa/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1499,7 +1499,7 @@ Index: public/help/fi/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1532,7 +1532,7 @@ Index: public/help/fi/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1590,7 +1590,7 @@ Index: public/help/fr/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1625,7 +1625,7 @@ Index: public/help/fr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1685,7 +1685,7 @@ Index: public/help/gl/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1720,7 +1720,7 @@ Index: public/help/gl/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1778,7 +1778,7 @@ Index: public/help/he/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1811,7 +1811,7 @@ Index: public/help/he/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1871,7 +1871,7 @@ Index: public/help/hr/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1906,7 +1906,7 @@ Index: public/help/hr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1966,7 +1966,7 @@ Index: public/help/hu/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -1999,7 +1999,7 @@ Index: public/help/hu/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2059,7 +2059,7 @@ Index: public/help/id/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2092,7 +2092,7 @@ Index: public/help/id/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2150,7 +2150,7 @@ Index: public/help/it/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2183,7 +2183,7 @@ Index: public/help/it/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2241,7 +2241,7 @@ Index: public/help/ja/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2274,7 +2274,7 @@ Index: public/help/ja/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2332,7 +2332,7 @@ Index: public/help/ko/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2365,7 +2365,7 @@ Index: public/help/ko/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2424,7 +2424,7 @@ Index: public/help/lt/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2457,7 +2457,7 @@ Index: public/help/lt/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2515,7 +2515,7 @@ Index: public/help/lv/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2548,7 +2548,7 @@ Index: public/help/lv/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2606,7 +2606,7 @@ Index: public/help/mk/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2639,7 +2639,7 @@ Index: public/help/mk/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2697,7 +2697,7 @@ Index: public/help/mn/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2730,7 +2730,7 @@ Index: public/help/mn/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2788,7 +2788,7 @@ Index: public/help/nl/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2821,7 +2821,7 @@ Index: public/help/nl/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2879,7 +2879,7 @@ Index: public/help/no/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2912,7 +2912,7 @@ Index: public/help/no/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -2970,7 +2970,7 @@ Index: public/help/pl/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3003,7 +3003,7 @@ Index: public/help/pl/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3061,7 +3061,7 @@ Index: public/help/pt/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3094,7 +3094,7 @@ Index: public/help/pt/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3152,7 +3152,7 @@ Index: public/help/pt-br/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3185,7 +3185,7 @@ Index: public/help/pt-br/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3243,7 +3243,7 @@ Index: public/help/ro/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3276,7 +3276,7 @@ Index: public/help/ro/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3334,7 +3334,7 @@ Index: public/help/ru/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3366,7 +3366,7 @@ Index: public/help/ru/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3431,7 +3431,7 @@ Index: public/help/sk/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3464,7 +3464,7 @@ Index: public/help/sk/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3522,7 +3522,7 @@ Index: public/help/sl/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3555,7 +3555,7 @@ Index: public/help/sl/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3613,7 +3613,7 @@ Index: public/help/sq/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3646,7 +3646,7 @@ Index: public/help/sq/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3704,7 +3704,7 @@ Index: public/help/sr/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3737,7 +3737,7 @@ Index: public/help/sr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3795,7 +3795,7 @@ Index: public/help/sr-yu/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3828,7 +3828,7 @@ Index: public/help/sr-yu/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3886,7 +3886,7 @@ Index: public/help/sv/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3919,7 +3919,7 @@ Index: public/help/sv/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -3977,7 +3977,7 @@ Index: public/help/th/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4010,7 +4010,7 @@ Index: public/help/th/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4068,7 +4068,7 @@ Index: public/help/tr/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4101,7 +4101,7 @@ Index: public/help/tr/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4159,7 +4159,7 @@ Index: public/help/uk/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4192,7 +4192,7 @@ Index: public/help/uk/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4250,7 +4250,7 @@ Index: public/help/vi/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4283,7 +4283,7 @@ Index: public/help/vi/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4341,7 +4341,7 @@ Index: public/help/zh/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4374,7 +4374,7 @@ Index: public/help/zh/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4432,7 +4432,7 @@ Index: public/help/zh-tw/wiki_syntax_detailed_markdown.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • + @@ -4465,7 +4465,7 @@ Index: public/help/zh-tw/wiki_syntax_detailed_textile.html +
  • {{dmsfd(17)}} (a link to the description of the file with id 17)
  • +
  • {{dmsff(5)}} (a link to the folder with id 5)
  • +
  • {{dmsff(5, Folder)}} (a link to the folder with id 5 with the link text "Folder")
  • -+
  • {{dmsf_image(8)}} (an inline picture of the file whith id 8; it must be an image file such as JPEG, PNG,...)
  • ++
  • {{dmsf_image(8)}} (an inline picture of the file with id 8; it must be an image file such as JPEG, PNG,...)
  • +
  • {{dmsf_image(8, size=300)}} (an inline picture with custom size)
  • +
  • {{dmsf_image(8, size=640x480)}} (an inline picture with custom size)
  • +