Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b222430cb7 | ||
|
|
20e54f46b0 | ||
|
|
88e918f64d | ||
|
|
b6f0d9da8a | ||
|
|
d6bf26ace7 | ||
|
|
21910aa428 | ||
|
|
f22ff1f1c2 | ||
|
|
83a2283b7d | ||
|
|
03b2162e6c | ||
|
|
c605477da5 | ||
|
|
35ec8e3570 | ||
|
|
6e68bf8ab4 | ||
|
|
d181a2221a | ||
|
|
e4034bc74b | ||
|
|
310d4c52ce | ||
|
|
1d1b3fc77d | ||
|
|
5e58434567 | ||
|
|
8da22803be | ||
|
|
83ab216d70 | ||
|
|
4104741383 | ||
|
|
6dac4a499f | ||
|
|
e0a8442b09 | ||
|
|
6dd11c9558 | ||
|
|
1608ca3d98 | ||
|
|
0ef89ee4ea | ||
|
|
4813672728 | ||
|
|
ade5409310 | ||
|
|
605f1745ff | ||
|
|
8158a26ee8 | ||
|
|
4682acf040 | ||
|
|
3955f81b3f | ||
|
|
16f56a4677 | ||
|
|
f77b83451b | ||
|
|
2f2a93c6ef | ||
|
|
5c282222a0 | ||
|
|
61b4f41539 | ||
|
|
73e27a48e0 | ||
|
|
51d7c568b0 | ||
|
|
51d772de70 | ||
|
|
86845b1989 | ||
|
|
723d60a1ce | ||
|
|
b128fcaf0d | ||
|
|
73dd0c49dd | ||
|
|
cc7274f38c | ||
|
|
d0f3b8fa4d | ||
|
|
2302955bc5 | ||
|
|
90f83db148 | ||
|
|
b6dbf26c86 | ||
|
|
8c7e0e279c | ||
|
|
6f15634e12 | ||
|
|
7e837aa34d | ||
|
|
6c89118bac | ||
|
|
260c07eb73 | ||
|
|
7914381cdd | ||
|
|
65ce05326a | ||
|
|
112c7a1b15 | ||
|
|
23a31dfe27 | ||
|
|
0dc50cb0b1 | ||
|
|
88163849b4 | ||
|
|
058f36cc6f | ||
|
|
11cf38a1a8 | ||
|
|
37d7a9d62d | ||
|
|
1b299369bf | ||
|
|
cbe42633c9 | ||
|
|
25657168b1 | ||
|
|
4852b38efc | ||
|
|
b882993d6a | ||
|
|
b6c46aa19d | ||
|
|
0903db52d9 | ||
|
|
93d256c4a8 | ||
|
|
64a68b86c6 | ||
|
|
1d79bbce44 | ||
|
|
87211bcb75 | ||
|
|
68e97858cb |
@@ -550,15 +550,20 @@ module ApplicationHelper
|
||||
if page =~ /^(.+?)\#(.+)$/
|
||||
page, anchor = $1, $2
|
||||
end
|
||||
anchor = sanitize_anchor_name(anchor) if anchor.present?
|
||||
# check if page exists
|
||||
wiki_page = link_project.wiki.find_page(page)
|
||||
url = case options[:wiki_links]
|
||||
when :local; "#{title}.html"
|
||||
url = if anchor.present? && wiki_page.present? && (obj.is_a?(WikiContent) || obj.is_a?(WikiContent::Version)) && obj.page == wiki_page
|
||||
"##{anchor}"
|
||||
else
|
||||
case options[:wiki_links]
|
||||
when :local; "#{page.present? ? Wiki.titleize(page) : ''}.html" + (anchor.present? ? "##{anchor}" : '')
|
||||
when :anchor; "##{title}" # used for single-file wiki export
|
||||
else
|
||||
wiki_page_id = page.present? ? Wiki.titleize(page) : nil
|
||||
url_for(:only_path => only_path, :controller => 'wiki', :action => 'show', :project_id => link_project, :id => wiki_page_id, :anchor => anchor)
|
||||
end
|
||||
end
|
||||
link_to((title || page), url, :class => ('wiki-page' + (wiki_page ? '' : ' new')))
|
||||
else
|
||||
# project or wiki doesn't exist
|
||||
@@ -703,7 +708,7 @@ module ApplicationHelper
|
||||
text.gsub!(HEADING_RE) do
|
||||
level, attrs, content = $1.to_i, $2, $3
|
||||
item = strip_tags(content).strip
|
||||
anchor = item.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||
anchor = sanitize_anchor_name(item)
|
||||
@parsed_headings << [level, anchor, item]
|
||||
"<a name=\"#{anchor}\"></a>\n<h#{level} #{attrs}>#{content}<a href=\"##{anchor}\" class=\"wiki-anchor\">¶</a></h#{level}>"
|
||||
end
|
||||
@@ -889,6 +894,10 @@ module ApplicationHelper
|
||||
end
|
||||
end
|
||||
|
||||
def sanitize_anchor_name(anchor)
|
||||
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
|
||||
end
|
||||
|
||||
# Returns the javascript tags that are included in the html layout head
|
||||
def javascript_heads
|
||||
tags = javascript_include_tag(:defaults)
|
||||
|
||||
@@ -193,7 +193,7 @@ class Changeset < ActiveRecord::Base
|
||||
def fix_issue(issue)
|
||||
status = IssueStatus.find_by_id(Setting.commit_fix_status_id.to_i)
|
||||
if status.nil?
|
||||
logger.warn("No status macthes commit_fix_status_id setting (#{Setting.commit_fix_status_id})") if logger
|
||||
logger.warn("No status matches commit_fix_status_id setting (#{Setting.commit_fix_status_id})") if logger
|
||||
return issue
|
||||
end
|
||||
|
||||
|
||||
@@ -42,6 +42,14 @@ class CustomField < ActiveRecord::Base
|
||||
errors.add(:possible_values, :invalid) unless self.possible_values.is_a? Array
|
||||
end
|
||||
|
||||
if regexp.present?
|
||||
begin
|
||||
Regexp.new(regexp)
|
||||
rescue
|
||||
errors.add(:regexp, :invalid)
|
||||
end
|
||||
end
|
||||
|
||||
# validate default value
|
||||
v = CustomValue.new(:custom_field => self.clone, :value => default_value, :customized => nil)
|
||||
v.custom_field.is_required = false
|
||||
@@ -56,7 +64,7 @@ class CustomField < ActiveRecord::Base
|
||||
when 'user'
|
||||
obj.project.users.sort.collect {|u| [u.to_s, u.id.to_s]}
|
||||
when 'version'
|
||||
obj.project.versions.sort.collect {|u| [u.to_s, u.id.to_s]}
|
||||
obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
|
||||
end
|
||||
elsif obj.is_a?(Array)
|
||||
obj.collect {|o| possible_values_options(o)}.inject {|memo, v| memo & v}
|
||||
|
||||
@@ -449,6 +449,7 @@ class Issue < ActiveRecord::Base
|
||||
def assignable_users
|
||||
users = project.assignable_users
|
||||
users << author if author
|
||||
users << assigned_to if assigned_to
|
||||
users.uniq.sort
|
||||
end
|
||||
|
||||
|
||||
@@ -58,8 +58,7 @@ class IssueStatus < ActiveRecord::Base
|
||||
transitions = workflows.select do |w|
|
||||
role_ids.include?(w.role_id) &&
|
||||
w.tracker_id == tracker.id &&
|
||||
(author || !w.author) &&
|
||||
(assignee || !w.assignee)
|
||||
((!w.author && !w.assignee) || (author && w.author) || (assignee && w.assignee))
|
||||
end
|
||||
transitions.collect{|w| w.new_status}.compact.sort
|
||||
else
|
||||
@@ -70,14 +69,17 @@ class IssueStatus < ActiveRecord::Base
|
||||
# Same thing as above but uses a database query
|
||||
# More efficient than the previous method if called just once
|
||||
def find_new_statuses_allowed_to(roles, tracker, author=false, assignee=false)
|
||||
if roles && tracker
|
||||
conditions = {:role_id => roles.collect(&:id), :tracker_id => tracker.id}
|
||||
conditions[:author] = false unless author
|
||||
conditions[:assignee] = false unless assignee
|
||||
if roles.present? && tracker
|
||||
conditions = "(author = :false AND assignee = :false)"
|
||||
conditions << " OR author = :true" if author
|
||||
conditions << " OR assignee = :true" if assignee
|
||||
|
||||
workflows.find(:all,
|
||||
:include => :new_status,
|
||||
:conditions => conditions).collect{|w| w.new_status}.compact.sort
|
||||
:include => :new_status,
|
||||
:conditions => ["role_id IN (:role_ids) AND tracker_id = :tracker_id AND (#{conditions})",
|
||||
{:role_ids => roles.collect(&:id), :tracker_id => tracker.id, :true => true, :false => false}
|
||||
]
|
||||
).collect{|w| w.new_status}.compact.sort
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
||||
@@ -198,7 +198,7 @@ class MailHandler < ActionMailer::Base
|
||||
end
|
||||
|
||||
def add_attachments(obj)
|
||||
if email.has_attachments?
|
||||
if email.attachments && email.attachments.any?
|
||||
email.attachments.each do |attachment|
|
||||
Attachment.create(:container => obj,
|
||||
:file => attachment,
|
||||
|
||||
@@ -333,14 +333,17 @@ class Query < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def columns
|
||||
if has_default_columns?
|
||||
available_columns.select do |c|
|
||||
# Adds the project column by default for cross-project lists
|
||||
Setting.issue_list_default_columns.include?(c.name.to_s) || (c.name == :project && project.nil?)
|
||||
end
|
||||
else
|
||||
# preserve the column_names order
|
||||
column_names.collect {|name| available_columns.find {|col| col.name == name}}.compact
|
||||
# preserve the column_names order
|
||||
(has_default_columns? ? default_columns_names : column_names).collect do |name|
|
||||
available_columns.find { |col| col.name == name }
|
||||
end.compact
|
||||
end
|
||||
|
||||
def default_columns_names
|
||||
@default_columns_names ||= begin
|
||||
default_columns = Setting.issue_list_default_columns.map(&:to_sym)
|
||||
|
||||
project.present? ? default_columns : [:project] | default_columns
|
||||
end
|
||||
end
|
||||
|
||||
@@ -349,7 +352,7 @@ class Query < ActiveRecord::Base
|
||||
names = names.select {|n| n.is_a?(Symbol) || !n.blank? }
|
||||
names = names.collect {|n| n.is_a?(Symbol) ? n : n.to_sym }
|
||||
# Set column_names to nil if default columns
|
||||
if names.map(&:to_s) == Setting.issue_list_default_columns
|
||||
if names == default_columns_names
|
||||
names = nil
|
||||
end
|
||||
end
|
||||
@@ -518,7 +521,7 @@ class Query < ActiveRecord::Base
|
||||
|
||||
# Returns the issue count
|
||||
def issue_count
|
||||
Issue.count(:include => [:status, :project], :conditions => statement)
|
||||
Issue.visible.count(:include => [:status, :project], :conditions => statement)
|
||||
rescue ::ActiveRecord::StatementInvalid => e
|
||||
raise StatementInvalid.new(e.message)
|
||||
end
|
||||
|
||||
@@ -92,6 +92,17 @@ class Repository::Git < Repository
|
||||
options = {:report_last_commit => extra_report_last_commit})
|
||||
end
|
||||
|
||||
# With SCMs that have a sequential commit numbering,
|
||||
# such as Subversion and Mercurial,
|
||||
# Redmine is able to be clever and only fetch changesets
|
||||
# going forward from the most recent one it knows about.
|
||||
#
|
||||
# However, Git does not have a sequential commit numbering.
|
||||
#
|
||||
# In order to fetch only new adding revisions,
|
||||
# Redmine needs to parse revisions per branch.
|
||||
# Branch "last_scmid" is for this requirement.
|
||||
#
|
||||
# In Git and Mercurial, revisions are not in date order.
|
||||
# Redmine Mercurial fixed issues.
|
||||
# * Redmine Takes Too Long On Large Mercurial Repository
|
||||
|
||||
@@ -30,7 +30,7 @@ class WikiPage < ActiveRecord::Base
|
||||
:datetime => :created_on,
|
||||
:url => Proc.new {|o| {:controller => 'wiki', :action => 'show', :project_id => o.wiki.project, :id => o.title}}
|
||||
|
||||
acts_as_searchable :columns => ['title', 'text'],
|
||||
acts_as_searchable :columns => ['title', "#{WikiContent.table_name}.text"],
|
||||
:include => [{:wiki => :project}, :content],
|
||||
:permission => :view_wiki_pages,
|
||||
:project_key => "#{Wiki.table_name}.project_id"
|
||||
|
||||
@@ -89,7 +89,7 @@ default:
|
||||
authentication: :login
|
||||
user_name: "redmine@example.net"
|
||||
password: "redmine"
|
||||
|
||||
|
||||
# Absolute path to the directory where attachments are stored.
|
||||
# The default is the 'files' directory in your Redmine instance.
|
||||
# Your Redmine instance needs to have write permission on this
|
||||
@@ -98,7 +98,7 @@ default:
|
||||
# attachments_storage_path: /var/redmine/files
|
||||
# attachments_storage_path: D:/redmine/files
|
||||
attachments_storage_path:
|
||||
|
||||
|
||||
# Configuration of the autologin cookie.
|
||||
# autologin_cookie_name: the name of the cookie (default: autologin)
|
||||
# autologin_cookie_path: the cookie path (default: /)
|
||||
@@ -106,10 +106,17 @@ default:
|
||||
autologin_cookie_name:
|
||||
autologin_cookie_path:
|
||||
autologin_cookie_secure:
|
||||
|
||||
|
||||
# Configuration of SCM executable command.
|
||||
#
|
||||
# Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe)
|
||||
# On Windows, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
|
||||
# On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
|
||||
#
|
||||
# On Windows + JRuby 1.6.2, path which contains spaces does not work.
|
||||
# For example, "C:\Program Files\TortoiseHg\hg.exe".
|
||||
# If you want to this feature, you need to install to the path which does not contains spaces.
|
||||
# For example, "C:\TortoiseHg\hg.exe".
|
||||
#
|
||||
# Examples:
|
||||
# scm_subversion_command: svn # (default: svn)
|
||||
# scm_mercurial_command: C:\Program Files\TortoiseHg\hg.exe # (default: hg)
|
||||
@@ -117,13 +124,14 @@ default:
|
||||
# scm_cvs_command: cvs # (default: cvs)
|
||||
# scm_bazaar_command: bzr.exe # (default: bzr)
|
||||
# scm_darcs_command: darcs-1.0.9-i386-linux # (default: darcs)
|
||||
#
|
||||
scm_subversion_command:
|
||||
scm_mercurial_command:
|
||||
scm_git_command:
|
||||
scm_cvs_command:
|
||||
scm_bazaar_command:
|
||||
scm_darcs_command:
|
||||
|
||||
|
||||
# Key used to encrypt sensitive data in the database (SCM and LDAP passwords).
|
||||
# If you don't want to enable data encryption, just leave it blank.
|
||||
# WARNING: losing/changing this key will make encrypted data unreadable.
|
||||
@@ -136,8 +144,8 @@ default:
|
||||
# * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
|
||||
# * change the cipher key here in your configuration file
|
||||
# * encrypt data using 'rake db:encrypt RAILS_ENV=production'
|
||||
database_cipher_key:
|
||||
|
||||
database_cipher_key:
|
||||
|
||||
# specific configuration options for production environment
|
||||
# that overrides the default ones
|
||||
production:
|
||||
|
||||
@@ -132,7 +132,7 @@ es:
|
||||
greater_than_start_date: "debe ser posterior a la fecha de comienzo"
|
||||
not_same_project: "no pertenece al mismo proyecto"
|
||||
circular_dependency: "Esta relación podría crear una dependencia circular"
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
cant_link_an_issue_with_a_descendant: "Esta petición no puede ser ligada a una de estas tareas"
|
||||
|
||||
# Append your own errors here or at the model/attributes scope.
|
||||
|
||||
|
||||
@@ -34,40 +34,40 @@
|
||||
distance_in_words:
|
||||
half_a_minute: 'fél perc'
|
||||
less_than_x_seconds:
|
||||
# zero: 'kevesebb, mint 1 másodperc'
|
||||
one: 'kevesebb, mint 1 másodperc'
|
||||
other: 'kevesebb, mint %{count} másodperc'
|
||||
# zero: 'kevesebb, mint 1 másodperce'
|
||||
one: 'kevesebb, mint 1 másodperce'
|
||||
other: 'kevesebb, mint %{count} másodperce'
|
||||
x_seconds:
|
||||
one: '1 másodperc'
|
||||
other: '%{count} másodperc'
|
||||
one: '1 másodperce'
|
||||
other: '%{count} másodperce'
|
||||
less_than_x_minutes:
|
||||
# zero: 'kevesebb, mint 1 perc'
|
||||
one: 'kevesebb, mint 1 perc'
|
||||
other: 'kevesebb, mint %{count} perc'
|
||||
# zero: 'kevesebb, mint 1 perce'
|
||||
one: 'kevesebb, mint 1 perce'
|
||||
other: 'kevesebb, mint %{count} perce'
|
||||
x_minutes:
|
||||
one: '1 perc'
|
||||
other: '%{count} perc'
|
||||
one: '1 perce'
|
||||
other: '%{count} perce'
|
||||
about_x_hours:
|
||||
one: 'majdnem 1 óra'
|
||||
other: 'majdnem %{count} óra'
|
||||
one: 'csaknem 1 órája'
|
||||
other: 'csaknem %{count} órája'
|
||||
x_days:
|
||||
one: '1 nap'
|
||||
other: '%{count} nap'
|
||||
one: '1 napja'
|
||||
other: '%{count} napja'
|
||||
about_x_months:
|
||||
one: 'majdnem 1 hónap'
|
||||
other: 'majdnem %{count} hónap'
|
||||
one: 'csaknem 1 hónapja'
|
||||
other: 'csaknem %{count} hónapja'
|
||||
x_months:
|
||||
one: '1 hónap'
|
||||
other: '%{count} hónap'
|
||||
one: '1 hónapja'
|
||||
other: '%{count} hónapja'
|
||||
about_x_years:
|
||||
one: 'majdnem 1 év'
|
||||
other: 'majdnem %{count} év'
|
||||
one: 'csaknem 1 éve'
|
||||
other: 'csaknem %{count} éve'
|
||||
over_x_years:
|
||||
one: 'több, mint 1 év'
|
||||
other: 'több, mint %{count} év'
|
||||
one: 'több, mint 1 éve'
|
||||
other: 'több, mint %{count} éve'
|
||||
almost_x_years:
|
||||
one: "közel 1 év"
|
||||
other: "közel %{count} év"
|
||||
one: "csaknem 1 éve"
|
||||
other: "csaknem %{count} éve"
|
||||
prompts:
|
||||
year: "Év"
|
||||
month: "Hónap"
|
||||
@@ -264,7 +264,7 @@
|
||||
field_attr_mail: E-mail
|
||||
field_onthefly: On-the-fly felhasználó létrehozás
|
||||
field_start_date: Kezdés dátuma
|
||||
field_done_ratio: Elkészült (%)
|
||||
field_done_ratio: Készültség (%)
|
||||
field_auth_source: Azonosítási mód
|
||||
field_hide_mail: Rejtse el az e-mail címem
|
||||
field_comments: Megjegyzés
|
||||
@@ -280,7 +280,7 @@
|
||||
field_delay: Késés
|
||||
field_assignable: Feladat rendelhető ehhez a szerepkörhöz
|
||||
field_redirect_existing_links: Létező linkek átirányítása
|
||||
field_estimated_hours: Becsült idő
|
||||
field_estimated_hours: Becsült időigény
|
||||
field_column_names: Oszlopok
|
||||
field_time_zone: Időzóna
|
||||
field_searchable: Kereshető
|
||||
@@ -326,7 +326,7 @@
|
||||
project_module_documents: Dokumentumok
|
||||
project_module_files: Fájlok
|
||||
project_module_wiki: Wiki
|
||||
project_module_repository: Tároló
|
||||
project_module_repository: Forráskód
|
||||
project_module_boards: Fórumok
|
||||
|
||||
label_user: Felhasználó
|
||||
@@ -391,7 +391,7 @@
|
||||
label_assigned_to_me_issues: A nekem kiosztott feladatok
|
||||
label_last_login: Utolsó bejelentkezés
|
||||
label_registered_on: Regisztrált
|
||||
label_activity: Tevékenységek
|
||||
label_activity: Történések
|
||||
label_overall_activity: Teljes aktivitás
|
||||
label_new: Új
|
||||
label_logged_as: Bejelentkezve, mint
|
||||
@@ -510,8 +510,8 @@
|
||||
label_contains: tartalmazza
|
||||
label_not_contains: nem tartalmazza
|
||||
label_day_plural: nap
|
||||
label_repository: Tároló
|
||||
label_repository_plural: Tárolók
|
||||
label_repository: Forráskód
|
||||
label_repository_plural: Forráskódok
|
||||
label_browse: Tallóz
|
||||
label_modification: "%{count} változás"
|
||||
label_modification_plural: "%{count} változás"
|
||||
@@ -600,10 +600,10 @@
|
||||
label_language_based: A felhasználó nyelve alapján
|
||||
label_sort_by: "%{value} szerint rendezve"
|
||||
label_send_test_email: Teszt e-mail küldése
|
||||
label_feeds_access_key_created_on: "RSS hozzáférési kulcs létrehozva ennyivel ezelőtt: %{value}"
|
||||
label_feeds_access_key_created_on: "RSS hozzáférési kulcs létrehozva %{value}"
|
||||
label_module_plural: Modulok
|
||||
label_added_time_by: "%{author} adta hozzá ennyivel ezelőtt: %{age}"
|
||||
label_updated_time: "Utolsó módosítás ennyivel ezelőtt: %{value}"
|
||||
label_added_time_by: "%{author} adta hozzá %{age}"
|
||||
label_updated_time: "Utolsó módosítás %{value}"
|
||||
label_jump_to_a_project: Ugrás projekthez...
|
||||
label_file_plural: Fájlok
|
||||
label_changeset_plural: Changesets
|
||||
@@ -695,11 +695,11 @@
|
||||
text_unallowed_characters: Tiltott karakterek
|
||||
text_comma_separated: Több érték megengedett (vesszővel elválasztva)
|
||||
text_issues_ref_in_commit_messages: Hivatkozás feladatokra, feladatok javítása a commit üzenetekben
|
||||
text_issue_added: "A feladatot %{id} bejelentette: %{author}."
|
||||
text_issue_updated: "A feladatot %{id} módosította: %{author}."
|
||||
text_issue_added: "%{author} új feladatot hozott létre %{id} sorszámmal."
|
||||
text_issue_updated: "%{author} módosította a %{id} sorszámú feladatot."
|
||||
text_wiki_destroy_confirmation: Biztosan törölni szeretné ezt a wiki-t minden tartalmával együtt ?
|
||||
text_issue_category_destroy_question: "Néhány feladat (%{count}) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni ?"
|
||||
text_issue_category_destroy_assignments: Kategória hozzárendelés megszűntetése
|
||||
text_issue_category_destroy_question: "Néhány feladat (%{count}) hozzá van rendelve ehhez a kategóriához. Mit szeretne tenni?"
|
||||
text_issue_category_destroy_assignments: Kategória hozzárendelés megszüntetése
|
||||
text_issue_category_reassign_to: Feladatok újra hozzárendelése másik kategóriához
|
||||
text_user_mail_option: "A nem kiválasztott projektekről csak akkor kap értesítést, ha figyelést kér rá, vagy részt vesz benne (pl. Ön a létrehozó, vagy a hozzárendelő)"
|
||||
text_no_configuration_data: "Szerepkörök, feladat típusok, feladat státuszok, és workflow adatok még nincsenek konfigurálva.\nErősen ajánlott, az alapértelmezett konfiguráció betöltése, és utána módosíthatja azt."
|
||||
@@ -709,8 +709,8 @@
|
||||
text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:'
|
||||
text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva
|
||||
text_file_repository_writable: Fájl tároló írható
|
||||
text_rmagick_available: RMagick elérhető (opcionális)
|
||||
text_destroy_time_entries_question: "%{hours} órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni ?"
|
||||
text_rmagick_available: RMagick elérhető (nem kötelező)
|
||||
text_destroy_time_entries_question: "%{hours} órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni?"
|
||||
text_destroy_time_entries: A rögzített órák törlése
|
||||
text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez
|
||||
text_reassign_time_entries: 'A rögzített órák újra hozzárendelése másik feladathoz:'
|
||||
@@ -720,7 +720,7 @@
|
||||
default_role_reporter: Bejelentő
|
||||
default_tracker_bug: Hiba
|
||||
default_tracker_feature: Fejlesztés
|
||||
default_tracker_support: Support
|
||||
default_tracker_support: Támogatás
|
||||
default_issue_status_new: Új
|
||||
default_issue_status_in_progress: Folyamatban
|
||||
default_issue_status_resolved: Megoldva
|
||||
@@ -741,7 +741,7 @@
|
||||
enumeration_doc_categories: Dokumentum kategóriák
|
||||
enumeration_activities: Tevékenységek (idő rögzítés)
|
||||
mail_body_reminder: "%{count} neked kiosztott feladat határidős az elkövetkező %{days} napban:"
|
||||
mail_subject_reminder: "%{count} feladat határidős az elkövetkező %{days} napokban"
|
||||
mail_subject_reminder: "%{count} feladat határidős az elkövetkező %{days} napban"
|
||||
text_user_wrote: "%{value} írta:"
|
||||
label_duplicated_by: duplikálta
|
||||
setting_enabled_scm: Forráskódkezelő (SCM) engedélyezése
|
||||
@@ -812,14 +812,14 @@
|
||||
permission_edit_own_messages: Saját üzenetek szerkesztése
|
||||
permission_delete_own_messages: Saját üzenetek törlése
|
||||
label_user_activity: "%{value} tevékenységei"
|
||||
label_updated_time_by: "Módosította %{author} ennyivel ezelőtt: %{age}"
|
||||
label_updated_time_by: "Módosította %{author} %{age}"
|
||||
text_diff_truncated: '... A diff fájl vége nem jelenik meg, mert hosszab, mint a megjeleníthető sorok száma.'
|
||||
setting_diff_max_lines_displayed: A megjelenítendő sorok száma (maximum) a diff fájloknál
|
||||
text_plugin_assets_writable: Plugin eszközök könyvtár írható
|
||||
warning_attachments_not_saved: "%{count} fájl mentése nem sikerült."
|
||||
button_create_and_continue: Létrehozás és folytatás
|
||||
text_custom_field_possible_values_info: 'Értékenként egy sor'
|
||||
label_display: Megjelenés
|
||||
label_display: Megmutat
|
||||
field_editable: Szerkeszthető
|
||||
setting_repository_log_display_limit: Maximum hány revíziót mutasson meg a log megjelenítésekor
|
||||
setting_file_max_size_displayed: Maximum mekkora szövegfájlokat jelenítsen meg soronkénti összehasonlításnál
|
||||
@@ -835,40 +835,40 @@
|
||||
label_greater_or_equal: ">="
|
||||
label_less_or_equal: "<="
|
||||
text_wiki_page_destroy_question: Ennek az oldalnak %{descendants} gyermek-, és leszármazott oldala van. Mit szeretne tenni?
|
||||
text_wiki_page_reassign_children: Az aloldalak hozzárendelése ehhez a szülő oldalhoz
|
||||
text_wiki_page_nullify_children: Az aloldalak megtartása, mint főoldalak
|
||||
text_wiki_page_reassign_children: Aloldalak hozzárendelése ehhez a szülő oldalhoz
|
||||
text_wiki_page_nullify_children: Aloldalak átalakítása főoldallá
|
||||
text_wiki_page_destroy_children: Minden aloldal és leszármazottjának törlése
|
||||
setting_password_min_length: Minimum jelszó hosszúság
|
||||
field_group_by: Szerint csoportosítva
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki oldal frissítve"
|
||||
label_wiki_content_added: Wiki oldal hozzáadva
|
||||
mail_subject_wiki_content_added: "Új wiki oldal: '%{id}'"
|
||||
mail_body_wiki_content_added: A '%{id}' wiki oldalt %{author} hozta létre.
|
||||
mail_body_wiki_content_added: %{author} létrehozta a '%{id}' wiki oldalt.
|
||||
label_wiki_content_updated: Wiki oldal frissítve
|
||||
mail_body_wiki_content_updated: A '%{id}' wiki oldalt %{author} frissítette.
|
||||
mail_body_wiki_content_updated: %{author} frissítette a '%{id}' wiki oldalt.
|
||||
permission_add_project: Projekt létrehozása
|
||||
setting_new_project_user_role_id: Projekt létrehozási jog nem adminisztrátor felhasználóknak
|
||||
label_view_all_revisions: Minden revízió megtekintése
|
||||
label_view_all_revisions: Összes verzió
|
||||
label_tag: Tag
|
||||
label_branch: Branch
|
||||
error_no_tracker_in_project: Nincs feladat típus hozzárendelve ehhez a projekthez. Kérem ellenőrizze a projekt beállításait.
|
||||
error_no_default_issue_status: Nincs alapértelmezett feladat státusz beállítva. Kérem ellenőrizze a beállításokat (Itt találja "Adminisztráció -> Feladat státuszok").
|
||||
text_journal_changed: "%{label} változott erről: %{old} erre: %{new}"
|
||||
text_journal_changed: "%{label} megváltozott, %{old} helyett %{new} lett"
|
||||
text_journal_set_to: "%{label} új értéke: %{value}"
|
||||
text_journal_deleted: "%{label} törölve (%{old})"
|
||||
text_journal_deleted: "%{label} törölve lett (%{old})"
|
||||
label_group_plural: Csoportok
|
||||
label_group: Csoport
|
||||
label_group_new: Új csoport
|
||||
label_time_entry_plural: Rögzített idő
|
||||
label_time_entry_plural: Időráfordítás
|
||||
text_journal_added: "%{label} %{value} hozzáadva"
|
||||
field_active: Aktív
|
||||
enumeration_system_activity: Rendszer Tevékenység
|
||||
enumeration_system_activity: Rendszertevékenység
|
||||
permission_delete_issue_watchers: Megfigyelők törlése
|
||||
version_status_closed: lezárt
|
||||
version_status_locked: zárolt
|
||||
version_status_open: nyitott
|
||||
error_can_not_reopen_issue_on_closed_version: Lezárt verzióhoz rendelt feladatot nem lehet újranyitni
|
||||
label_user_anonymous: Anonymous
|
||||
label_user_anonymous: Névtelen
|
||||
button_move_and_follow: Mozgatás és követés
|
||||
setting_default_projects_modules: Alapértelmezett modulok az új projektekhez
|
||||
setting_gravatar_default: Alapértelmezett Gravatar kép
|
||||
|
||||
@@ -939,41 +939,41 @@ it:
|
||||
setting_commit_logtime_enabled: Abilita registrazione del tempo di collegamento
|
||||
notice_gantt_chart_truncated: Il grafico è stato troncato perchè eccede il numero di oggetti (%{max}) da visualizzare
|
||||
setting_gantt_items_limit: Massimo numero di oggetti da visualizzare sul diagramma di gantt
|
||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
||||
label_my_queries: My custom queries
|
||||
text_journal_changed_no_detail: "%{label} updated"
|
||||
label_news_comment_added: Comment added to a news
|
||||
button_expand_all: Expand all
|
||||
button_collapse_all: Collapse all
|
||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||
label_role_anonymous: Anonymous
|
||||
label_role_non_member: Non member
|
||||
label_issue_note_added: Note added
|
||||
label_issue_status_updated: Status updated
|
||||
label_issue_priority_updated: Priority updated
|
||||
label_issues_visibility_own: Issues created by or assigned to the user
|
||||
field_issues_visibility: Issues visibility
|
||||
label_issues_visibility_all: All issues
|
||||
permission_set_own_issues_private: Set own issues public or private
|
||||
field_is_private: Private
|
||||
permission_set_issues_private: Set issues public or private
|
||||
label_issues_visibility_public: All non private issues
|
||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||
field_warn_on_leaving_unsaved: Avvisami quando lascio una pagina con testo non salvato
|
||||
text_warn_on_leaving_unsaved: La pagina corrente contiene del testo non salvato che verrà perso se lasci questa pagina.
|
||||
label_my_queries: Le mie queries personalizzate
|
||||
text_journal_changed_no_detail: "%{label} aggiornato"
|
||||
label_news_comment_added: Commento aggiunto a una notizia
|
||||
button_expand_all: Espandi tutto
|
||||
button_collapse_all: Comprimi tutto
|
||||
label_additional_workflow_transitions_for_assignee: Transizioni supplementari consentite quando l'utente è l'assegnatario
|
||||
label_additional_workflow_transitions_for_author: Transizioni supplementari consentite quando l'utente è l'autore
|
||||
label_bulk_edit_selected_time_entries: Modifica massiva delle ore segnalate selezionate
|
||||
text_time_entries_destroy_confirmation: Sei sicuro di voler eliminare l'ora\e selezionata\e?
|
||||
label_role_anonymous: Anonimo
|
||||
label_role_non_member: Non membro
|
||||
label_issue_note_added: Nota aggiunta
|
||||
label_issue_status_updated: Stato aggiornato
|
||||
label_issue_priority_updated: Priorità aggiornata
|
||||
label_issues_visibility_own: Segnalazioni create o assegnate all'utente
|
||||
field_issues_visibility: Visibilità segnalazioni
|
||||
label_issues_visibility_all: Tutte le segnalazioni
|
||||
permission_set_own_issues_private: Imposta le proprie segnalazioni pubbliche o private
|
||||
field_is_private: Privato
|
||||
permission_set_issues_private: Imposta le segnalazioni pubbliche o private
|
||||
label_issues_visibility_public: Tutte le segnalazioni non private
|
||||
text_issues_destroy_descendants_confirmation: Questo eliminerà anche %{count} sottoattività.
|
||||
field_commit_logs_encoding: Codifica dei messaggi di commit
|
||||
field_scm_path_encoding: Path encoding
|
||||
text_scm_path_encoding_note: "Default: UTF-8"
|
||||
field_path_to_repository: Path to repository
|
||||
field_root_directory: Root directory
|
||||
field_cvs_module: Module
|
||||
field_scm_path_encoding: Codifica del percorso
|
||||
text_scm_path_encoding_note: "Predefinito: UTF-8"
|
||||
field_path_to_repository: Percorso del repository
|
||||
field_root_directory: Directory radice
|
||||
field_cvs_module: Modulo
|
||||
field_cvsroot: CVSROOT
|
||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
label_git_report_last_commit: Report last commit for files and directories
|
||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
||||
text_git_repository_note: Repository centrale e locale (es. /gitrepo, c:\gitrepo)
|
||||
text_mercurial_repository_note: Repository locale (es. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Comando
|
||||
text_scm_command_version: Versione
|
||||
label_git_report_last_commit: Riporta l'ultimo commit per files e directories
|
||||
text_scm_config: Puoi configurare i comandi scm nel file config/configuration.yml. E' necessario riavviare l'applicazione dopo averlo modificato.
|
||||
text_scm_command_not_available: Il comando scm non è disponibile. Controllare le impostazioni nel pannello di amministrazione.
|
||||
|
||||
@@ -123,7 +123,7 @@ nl:
|
||||
greater_than_start_date: "moet na de startdatum liggen"
|
||||
not_same_project: "hoort niet bij hetzelfde project"
|
||||
circular_dependency: "Deze relatie zou een circulaire afhankelijkheid tot gevolg hebben"
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
cant_link_an_issue_with_a_descendant: "Een issue kan niet gelinked worden met een subtask"
|
||||
|
||||
actionview_instancetag_blank_option: Selecteer
|
||||
|
||||
@@ -703,7 +703,7 @@ nl:
|
||||
setting_bcc_recipients: Blind carbon copy ontvangers (bcc)
|
||||
setting_commit_fix_keywords: Gefixeerde trefwoorden
|
||||
setting_commit_ref_keywords: Refererende trefwoorden
|
||||
setting_cross_project_issue_relations: Sta crossproject issuerelaties toe
|
||||
setting_cross_project_issue_relations: Sta cross-project issuerelaties toe
|
||||
setting_date_format: Datumformaat
|
||||
setting_default_language: Standaard taal
|
||||
setting_default_projects_public: Nieuwe projecten zijn standaard publiek
|
||||
@@ -908,8 +908,8 @@ nl:
|
||||
label_user_mail_option_only_my_events: Alleen voor dingen die ik volg of bij betrokken ben
|
||||
label_user_mail_option_only_assigned: Alleen voor dingen die aan mij zijn toegewezen
|
||||
label_user_mail_option_none: Bij geen enkele gebeurtenis
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
field_member_of_group: Groep van toegewezene
|
||||
field_assigned_to_role: Rol van toegewezene
|
||||
notice_not_authorized_archived_project: Het project dat u wilt bezoeken is gearchiveerd.
|
||||
label_principal_search: "Zoek naar gebruiker of groep:"
|
||||
label_user_search: "Zoek naar gebruiker:"
|
||||
@@ -925,10 +925,10 @@ nl:
|
||||
label_my_queries: Mijn aangepaste zoekopdrachten
|
||||
text_journal_changed_no_detail: "%{label} updated"
|
||||
label_news_comment_added: Commentaar toegevoegd aan een nieuwsitem
|
||||
button_expand_all: Expand all
|
||||
button_collapse_all: Collapse all
|
||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
||||
button_expand_all: Klap uit
|
||||
button_collapse_all: Klap in
|
||||
label_additional_workflow_transitions_for_assignee: Aanvullende veranderingen toegestaan wanneer de gebruiker de toegewezene is
|
||||
label_additional_workflow_transitions_for_author: Aanvullende veranderingen toegestaan wanneer de gebruiker de auteur is
|
||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||
label_role_anonymous: Anonymous
|
||||
@@ -946,7 +946,7 @@ nl:
|
||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||
field_commit_logs_encoding: Encodering van commit berichten
|
||||
field_scm_path_encoding: Path encoding
|
||||
text_scm_path_encoding_note: "Default: UTF-8"
|
||||
text_scm_path_encoding_note: "Standaard: UTF-8"
|
||||
field_path_to_repository: Path to repository
|
||||
field_root_directory: Root directory
|
||||
field_cvs_module: Module
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
greater_than_start_date: "må være større enn startdato"
|
||||
not_same_project: "hører ikke til samme prosjekt"
|
||||
circular_dependency: "Denne relasjonen ville lagd en sirkulær avhengighet"
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
cant_link_an_issue_with_a_descendant: "En sak kan ikke kobles mot en av sine undersaker"
|
||||
|
||||
|
||||
actionview_instancetag_blank_option: Vennligst velg
|
||||
@@ -212,7 +212,7 @@
|
||||
field_role: Rolle
|
||||
field_homepage: Hjemmeside
|
||||
field_is_public: Offentlig
|
||||
field_parent: Underprosjekt til
|
||||
field_parent: Underprosjekt av
|
||||
field_is_in_roadmap: Vises i veikart
|
||||
field_login: Brukernavn
|
||||
field_mail_notification: E-post-varsling
|
||||
@@ -236,8 +236,8 @@
|
||||
field_onthefly: On-the-fly brukeropprettelse
|
||||
field_start_date: Start
|
||||
field_done_ratio: "% Ferdig"
|
||||
field_auth_source: Autentifikasjonsmodus
|
||||
field_hide_mail: Skjul min e-post-adresse
|
||||
field_auth_source: Autentiseringskilde
|
||||
field_hide_mail: Skjul min epost-adresse
|
||||
field_comments: Kommentarer
|
||||
field_url: URL
|
||||
field_start_page: Startside
|
||||
@@ -247,7 +247,7 @@
|
||||
field_spent_on: Dato
|
||||
field_identifier: Identifikasjon
|
||||
field_is_filter: Brukes som filter
|
||||
field_issue_to: Relatert saker
|
||||
field_issue_to: Relaterte saker
|
||||
field_delay: Forsinkelse
|
||||
field_assignable: Saker kan tildeles denne rollen
|
||||
field_redirect_existing_links: Viderekoble eksisterende lenker
|
||||
@@ -266,24 +266,24 @@
|
||||
setting_self_registration: Selvregistrering
|
||||
setting_attachment_max_size: Maks. størrelse vedlegg
|
||||
setting_issues_export_limit: Eksportgrense for saker
|
||||
setting_mail_from: Avsenders e-post
|
||||
setting_mail_from: Avsenders epost
|
||||
setting_bcc_recipients: Blindkopi (bcc) til mottakere
|
||||
setting_host_name: Vertsnavn
|
||||
setting_text_formatting: Tekstformattering
|
||||
setting_wiki_compression: Komprimering av Wiki-historikk
|
||||
setting_feeds_limit: Innholdsgrense for Feed
|
||||
setting_default_projects_public: Nye prosjekter er offentlige som standard
|
||||
setting_autofetch_changesets: Autohenting av innsendinger
|
||||
setting_autofetch_changesets: Autohenting av endringssett
|
||||
setting_sys_api_enabled: Aktiver webservice for depot-administrasjon
|
||||
setting_commit_ref_keywords: Nøkkelord for referanse
|
||||
setting_commit_fix_keywords: Nøkkelord for retting
|
||||
setting_autologin: Autoinnlogging
|
||||
setting_date_format: Datoformat
|
||||
setting_time_format: Tidsformat
|
||||
setting_cross_project_issue_relations: Tillat saksrelasjoner mellom prosjekter
|
||||
setting_cross_project_issue_relations: Tillat saksrelasjoner på kryss av prosjekter
|
||||
setting_issue_list_default_columns: Standardkolonner vist i sakslisten
|
||||
setting_repositories_encodings: Depot-tegnsett
|
||||
setting_emails_footer: E-post-signatur
|
||||
setting_emails_footer: Epost-signatur
|
||||
setting_protocol: Protokoll
|
||||
setting_per_page_options: Alternativer, objekter pr. side
|
||||
setting_user_format: Visningsformat, brukere
|
||||
@@ -291,8 +291,8 @@
|
||||
setting_display_subprojects_issues: Vis saker fra underprosjekter på hovedprosjekt som standard
|
||||
setting_enabled_scm: Aktiviserte SCM
|
||||
|
||||
project_module_issue_tracking: Sakssporing
|
||||
project_module_time_tracking: Tidssporing
|
||||
project_module_issue_tracking: Sakshåndtering
|
||||
project_module_time_tracking: Tidsregistrering
|
||||
project_module_news: Nyheter
|
||||
project_module_documents: Dokumenter
|
||||
project_module_files: Filer
|
||||
@@ -326,7 +326,7 @@
|
||||
label_role: Rolle
|
||||
label_role_plural: Roller
|
||||
label_role_new: Ny rolle
|
||||
label_role_and_permissions: Roller og tillatelser
|
||||
label_role_and_permissions: Roller og rettigheter
|
||||
label_member: Medlem
|
||||
label_member_new: Nytt medlem
|
||||
label_member_plural: Medlemmer
|
||||
@@ -343,7 +343,7 @@
|
||||
label_custom_field: Eget felt
|
||||
label_custom_field_plural: Egne felt
|
||||
label_custom_field_new: Nytt eget felt
|
||||
label_enumerations: Kodelister
|
||||
label_enumerations: Listeverdier
|
||||
label_enumeration_new: Ny verdi
|
||||
label_information: Informasjon
|
||||
label_information_plural: Informasjon
|
||||
@@ -367,10 +367,10 @@
|
||||
label_new: Ny
|
||||
label_logged_as: Innlogget som
|
||||
label_environment: Miljø
|
||||
label_authentication: Autentifikasjon
|
||||
label_auth_source: Autentifikasjonsmodus
|
||||
label_auth_source_new: Ny autentifikasjonmodus
|
||||
label_auth_source_plural: Autentifikasjonsmoduser
|
||||
label_authentication: Autentisering
|
||||
label_auth_source: Autentiseringskilde
|
||||
label_auth_source_new: Ny autentiseringskilde
|
||||
label_auth_source_plural: Autentiseringskilder
|
||||
label_subproject_plural: Underprosjekter
|
||||
label_and_its_subprojects: "%{value} og dets underprosjekter"
|
||||
label_min_max_length: Min.-maks. lengde
|
||||
@@ -423,13 +423,13 @@
|
||||
one: 1 åpen
|
||||
other: "%{count} åpne"
|
||||
label_x_closed_issues_abbr:
|
||||
zero: 0 lukka
|
||||
one: 1 lukka
|
||||
other: "%{count} lukka"
|
||||
zero: 0 lukket
|
||||
one: 1 lukket
|
||||
other: "%{count} lukket"
|
||||
label_total: Totalt
|
||||
label_permissions: Godkjenninger
|
||||
label_permissions: Rettigheter
|
||||
label_current_status: Nåværende status
|
||||
label_new_statuses_allowed: Tillatte nye statuser
|
||||
label_new_statuses_allowed: Tillate nye statuser
|
||||
label_all: alle
|
||||
label_none: ingen
|
||||
label_nobody: ingen
|
||||
@@ -437,7 +437,7 @@
|
||||
label_previous: Forrige
|
||||
label_used_by: Brukt av
|
||||
label_details: Detaljer
|
||||
label_add_note: Legg til notis
|
||||
label_add_note: Legg til notat
|
||||
label_per_page: Pr. side
|
||||
label_calendar: Kalender
|
||||
label_months_from: måneder fra
|
||||
@@ -449,7 +449,7 @@
|
||||
label_comment: Kommentar
|
||||
label_comment_plural: Kommentarer
|
||||
label_x_comments:
|
||||
zero: no kommentarer
|
||||
zero: ingen kommentarer
|
||||
one: 1 kommentar
|
||||
other: "%{count} kommentarer"
|
||||
label_comment_add: Legg til kommentar
|
||||
@@ -518,11 +518,11 @@
|
||||
label_preview: Forhåndsvis
|
||||
label_feed_plural: Feeder
|
||||
label_changes_details: Detaljer om alle endringer
|
||||
label_issue_tracking: Sakssporing
|
||||
label_issue_tracking: Sakshåndtering
|
||||
label_spent_time: Brukt tid
|
||||
label_f_hour: "%{value} time"
|
||||
label_f_hour_plural: "%{value} timer"
|
||||
label_time_tracking: Tidssporing
|
||||
label_time_tracking: Tidsregistrering
|
||||
label_change_plural: Endringer
|
||||
label_statistics: Statistikk
|
||||
label_commits_per_month: Innsendinger pr. måned
|
||||
@@ -532,7 +532,7 @@
|
||||
label_diff_side_by_side: side ved side
|
||||
label_options: Alternativer
|
||||
label_copy_workflow_from: Kopier arbeidsflyt fra
|
||||
label_permissions_report: Godkjenningsrapport
|
||||
label_permissions_report: Rettighetsrapport
|
||||
label_watched_issues: Overvåkede saker
|
||||
label_related_issues: Relaterte saker
|
||||
label_applied_status: Gitt status
|
||||
@@ -571,7 +571,7 @@
|
||||
label_date_to: Til
|
||||
label_language_based: Basert på brukerens språk
|
||||
label_sort_by: "Sorter etter %{value}"
|
||||
label_send_test_email: Send en e-post-test
|
||||
label_send_test_email: Send en epost-test
|
||||
label_feeds_access_key_created_on: "RSS tilgangsnøkkel opprettet for %{value} siden"
|
||||
label_module_plural: Moduler
|
||||
label_added_time_by: "Lagt til av %{author} for %{age} siden"
|
||||
@@ -598,7 +598,7 @@
|
||||
label_more: Mer
|
||||
label_scm: SCM
|
||||
label_plugins: Tillegg
|
||||
label_ldap_authentication: LDAP-autentifikasjon
|
||||
label_ldap_authentication: LDAP-autentisering
|
||||
label_downloads_abbr: Nedl.
|
||||
label_optional_description: Valgfri beskrivelse
|
||||
label_add_another_file: Legg til en fil til
|
||||
@@ -650,7 +650,7 @@
|
||||
status_locked: låst
|
||||
|
||||
text_select_mail_notifications: Velg hendelser som skal varsles med e-post.
|
||||
text_regexp_info: eg. ^[A-Z0-9]+$
|
||||
text_regexp_info: f.eks. ^[A-Z0-9]+$
|
||||
text_min_max_length_info: 0 betyr ingen begrensning
|
||||
text_project_destroy_confirmation: Er du sikker på at du vil slette dette prosjekter og alle relatert data ?
|
||||
text_subprojects_destroy_warning: "Underprojekt(ene): %{value} vil også bli slettet."
|
||||
@@ -667,8 +667,8 @@
|
||||
text_unallowed_characters: Ugyldige tegn
|
||||
text_comma_separated: Flere verdier tillat (kommaseparert).
|
||||
text_issues_ref_in_commit_messages: Referering og retting av saker i innsendingsmelding
|
||||
text_issue_added: "Issue %{id} has been reported by %{author}."
|
||||
text_issue_updated: "Issue %{id} has been updated by %{author}."
|
||||
text_issue_added: "Sak %{id} er innrapportert av %{author}."
|
||||
text_issue_updated: "Sak %{id} er oppdatert av %{author}."
|
||||
text_wiki_destroy_confirmation: Er du sikker på at du vil slette denne wikien og alt innholdet ?
|
||||
text_issue_category_destroy_question: "Noen saker (%{count}) er lagt til i denne kategorien. Hva vil du gjøre ?"
|
||||
text_issue_category_destroy_assignments: Fjern bruk av kategorier
|
||||
@@ -695,12 +695,12 @@
|
||||
default_tracker_feature: Funksjon
|
||||
default_tracker_support: Support
|
||||
default_issue_status_new: Ny
|
||||
default_issue_status_in_progress: In Progress
|
||||
default_issue_status_in_progress: Pågår
|
||||
default_issue_status_resolved: Avklart
|
||||
default_issue_status_feedback: Tilbakemelding
|
||||
default_issue_status_closed: Lukket
|
||||
default_issue_status_rejected: Avvist
|
||||
default_doc_category_user: Bruker-dokumentasjon
|
||||
default_doc_category_user: Brukerdokumentasjon
|
||||
default_doc_category_tech: Teknisk dokumentasjon
|
||||
default_priority_low: Lav
|
||||
default_priority_normal: Normal
|
||||
@@ -711,16 +711,16 @@
|
||||
default_activity_development: Utvikling
|
||||
|
||||
enumeration_issue_priorities: Sakssprioriteringer
|
||||
enumeration_doc_categories: Dokument-kategorier
|
||||
enumeration_activities: Aktiviteter (tidssporing)
|
||||
enumeration_doc_categories: Dokumentkategorier
|
||||
enumeration_activities: Aktiviteter (tidsregistrering)
|
||||
text_enumeration_category_reassign_to: 'Endre dem til denne verdien:'
|
||||
text_enumeration_destroy_question: "%{count} objekter er endret til denne verdien."
|
||||
label_incoming_emails: Innkommende e-post
|
||||
label_generate_key: Generer en nøkkel
|
||||
setting_mail_handler_api_enabled: Skru på WS for innkommende e-post
|
||||
setting_mail_handler_api_enabled: Skru på WS for innkommende epost
|
||||
setting_mail_handler_api_key: API-nøkkel
|
||||
text_email_delivery_not_configured: "Levering av e-post er ikke satt opp, og varsler er skrudd av.\nStill inn din SMTP-tjener i config/configuration.yml og start programmet på nytt for å skru det på."
|
||||
field_parent_title: Foreldreside
|
||||
text_email_delivery_not_configured: "Levering av epost er ikke satt opp, og varsler er skrudd av.\nStill inn din SMTP-tjener i config/configuration.yml og start programmet på nytt for å skru det på."
|
||||
field_parent_title: Overordnet side
|
||||
label_issue_watchers: Overvåkere
|
||||
button_quote: Sitat
|
||||
setting_sequential_project_identifiers: Generer sekvensielle prosjekt-IDer
|
||||
@@ -731,39 +731,39 @@
|
||||
permission_view_files: Vise filer
|
||||
permission_edit_issues: Redigere saker
|
||||
permission_edit_own_time_entries: Redigere egne timelister
|
||||
permission_manage_public_queries: Behandle delte søk
|
||||
permission_manage_public_queries: Administrere delte søk
|
||||
permission_add_issues: Legge inn saker
|
||||
permission_log_time: Loggføre timer
|
||||
permission_view_changesets: Vise endringssett
|
||||
permission_view_time_entries: Vise brukte timer
|
||||
permission_manage_versions: Behandle versjoner
|
||||
permission_manage_wiki: Behandle wiki
|
||||
permission_manage_categories: Behandle kategorier for saker
|
||||
permission_manage_versions: Administrere versjoner
|
||||
permission_manage_wiki: Administrere wiki
|
||||
permission_manage_categories: Administrere kategorier for saker
|
||||
permission_protect_wiki_pages: Beskytte wiki-sider
|
||||
permission_comment_news: Kommentere nyheter
|
||||
permission_delete_messages: Slette meldinger
|
||||
permission_select_project_modules: Velge prosjekt-moduler
|
||||
permission_manage_documents: Behandle dokumenter
|
||||
permission_select_project_modules: Velge prosjektmoduler
|
||||
permission_manage_documents: Administrere dokumenter
|
||||
permission_edit_wiki_pages: Redigere wiki-sider
|
||||
permission_add_issue_watchers: Legge til overvåkere
|
||||
permission_view_gantt: Vise gantt-diagram
|
||||
permission_move_issues: Flytte saker
|
||||
permission_manage_issue_relations: Behandle saksrelasjoner
|
||||
permission_manage_issue_relations: Administrere saksrelasjoner
|
||||
permission_delete_wiki_pages: Slette wiki-sider
|
||||
permission_manage_boards: Behandle forum
|
||||
permission_manage_boards: Administrere forum
|
||||
permission_delete_wiki_pages_attachments: Slette vedlegg
|
||||
permission_view_wiki_edits: Vise wiki-historie
|
||||
permission_add_messages: Sende meldinger
|
||||
permission_view_messages: Vise meldinger
|
||||
permission_manage_files: Behandle filer
|
||||
permission_manage_files: Administrere filer
|
||||
permission_edit_issue_notes: Redigere notater
|
||||
permission_manage_news: Behandle nyheter
|
||||
permission_manage_news: Administrere nyheter
|
||||
permission_view_calendar: Vise kalender
|
||||
permission_manage_members: Behandle medlemmer
|
||||
permission_manage_members: Administrere medlemmer
|
||||
permission_edit_messages: Redigere meldinger
|
||||
permission_delete_issues: Slette saker
|
||||
permission_view_issue_watchers: Vise liste over overvåkere
|
||||
permission_manage_repository: Behandle depot
|
||||
permission_manage_repository: Administrere depot
|
||||
permission_commit_access: Tilgang til innsending
|
||||
permission_browse_repository: Bla gjennom depot
|
||||
permission_view_documents: Vise dokumenter
|
||||
@@ -777,189 +777,191 @@
|
||||
setting_gravatar_enabled: Bruk Gravatar-brukerikoner
|
||||
label_example: Eksempel
|
||||
text_repository_usernames_mapping: "Select ou update the Redmine user mapped to each username found in the repository log.\nUsers with the same Redmine and repository username or email are automatically mapped."
|
||||
permission_edit_own_messages: Edit own messages
|
||||
permission_delete_own_messages: Delete own messages
|
||||
label_user_activity: "%{value}'s activity"
|
||||
label_updated_time_by: "Updated by %{author} %{age} ago"
|
||||
permission_edit_own_messages: Rediger egne meldinger
|
||||
permission_delete_own_messages: Slett egne meldinger
|
||||
label_user_activity: "%{value}s aktivitet"
|
||||
label_updated_time_by: "Oppdatert av %{author} for %{age} siden"
|
||||
text_diff_truncated: '... This diff was truncated because it exceeds the maximum size that can be displayed.'
|
||||
setting_diff_max_lines_displayed: Max number of diff lines displayed
|
||||
text_plugin_assets_writable: Plugin assets directory writable
|
||||
warning_attachments_not_saved: "%{count} file(s) could not be saved."
|
||||
button_create_and_continue: Create and continue
|
||||
text_custom_field_possible_values_info: 'One line for each value'
|
||||
label_display: Display
|
||||
field_editable: Editable
|
||||
setting_repository_log_display_limit: Maximum number of revisions displayed on file log
|
||||
warning_attachments_not_saved: "%{count} fil(er) kunne ikke lagres."
|
||||
button_create_and_continue: Opprett og fortsett
|
||||
text_custom_field_possible_values_info: 'En linje for hver verdi'
|
||||
label_display: Visning
|
||||
field_editable: Redigerbar
|
||||
setting_repository_log_display_limit: Maks antall revisjoner vist i fil-loggen
|
||||
setting_file_max_size_displayed: Max size of text files displayed inline
|
||||
field_watcher: Watcher
|
||||
setting_openid: Allow OpenID login and registration
|
||||
field_watcher: Overvåker
|
||||
setting_openid: Tillat OpenID innlogging og registrering
|
||||
field_identity_url: OpenID URL
|
||||
label_login_with_open_id_option: or login with OpenID
|
||||
field_content: Content
|
||||
label_descending: Descending
|
||||
label_sort: Sort
|
||||
label_ascending: Ascending
|
||||
label_date_from_to: From %{start} to %{end}
|
||||
label_login_with_open_id_option: eller logg inn med OpenID
|
||||
field_content: Innhold
|
||||
label_descending: Synkende
|
||||
label_sort: Sorter
|
||||
label_ascending: Stigende
|
||||
label_date_from_to: Fra %{start} til %{end}
|
||||
label_greater_or_equal: ">="
|
||||
label_less_or_equal: <=
|
||||
text_wiki_page_destroy_question: This page has %{descendants} child page(s) and descendant(s). What do you want to do?
|
||||
text_wiki_page_reassign_children: Reassign child pages to this parent page
|
||||
text_wiki_page_nullify_children: Keep child pages as root pages
|
||||
text_wiki_page_destroy_children: Delete child pages and all their descendants
|
||||
setting_password_min_length: Minimum password length
|
||||
field_group_by: Group results by
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
|
||||
label_wiki_content_added: Wiki page added
|
||||
mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
|
||||
mail_body_wiki_content_added: The '%{id}' wiki page has been added by %{author}.
|
||||
label_wiki_content_updated: Wiki page updated
|
||||
mail_body_wiki_content_updated: The '%{id}' wiki page has been updated by %{author}.
|
||||
permission_add_project: Create project
|
||||
setting_new_project_user_role_id: Role given to a non-admin user who creates a project
|
||||
label_view_all_revisions: View all revisions
|
||||
text_wiki_page_destroy_question: Denne siden har %{descendants} underside(r). Hva ønsker du å gjøre?
|
||||
text_wiki_page_reassign_children: Tilknytt undersider til denne overordnede siden
|
||||
text_wiki_page_nullify_children: Behold undersider som rotsider
|
||||
text_wiki_page_destroy_children: Slett undersider og alle deres underliggende sider
|
||||
setting_password_min_length: Minimum passordlengde
|
||||
field_group_by: Grupper resultater etter
|
||||
mail_subject_wiki_content_updated: "Wiki-side '%{id}' er oppdatert"
|
||||
label_wiki_content_added: Wiki-side opprettet
|
||||
mail_subject_wiki_content_added: "Wiki-side '%{id}' er opprettet"
|
||||
mail_body_wiki_content_added: Wiki-siden '%{id}' ble opprettet av %{author}.
|
||||
label_wiki_content_updated: Wiki-side oppdatert
|
||||
mail_body_wiki_content_updated: Wiki-siden '%{id}' ble oppdatert av %{author}.
|
||||
permission_add_project: Opprett prosjekt
|
||||
setting_new_project_user_role_id: Rolle gitt en ikke-administratorbruker som oppretter et prosjekt
|
||||
label_view_all_revisions: Se alle revisjoner
|
||||
label_tag: Tag
|
||||
label_branch: Branch
|
||||
error_no_tracker_in_project: No tracker is associated to this project. Please check the Project settings.
|
||||
error_no_default_issue_status: No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").
|
||||
text_journal_changed: "%{label} changed from %{old} to %{new}"
|
||||
text_journal_set_to: "%{label} set to %{value}"
|
||||
text_journal_deleted: "%{label} deleted (%{old})"
|
||||
label_group_plural: Groups
|
||||
label_group: Group
|
||||
label_group_new: New group
|
||||
label_time_entry_plural: Spent time
|
||||
text_journal_added: "%{label} %{value} added"
|
||||
field_active: Active
|
||||
enumeration_system_activity: System Activity
|
||||
permission_delete_issue_watchers: Delete watchers
|
||||
version_status_closed: closed
|
||||
version_status_locked: locked
|
||||
version_status_open: open
|
||||
error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened
|
||||
label_user_anonymous: Anonymous
|
||||
button_move_and_follow: Move and follow
|
||||
setting_default_projects_modules: Default enabled modules for new projects
|
||||
setting_gravatar_default: Default Gravatar image
|
||||
field_sharing: Sharing
|
||||
label_version_sharing_hierarchy: With project hierarchy
|
||||
label_version_sharing_system: With all projects
|
||||
label_version_sharing_descendants: With subprojects
|
||||
label_version_sharing_tree: With project tree
|
||||
label_version_sharing_none: Not shared
|
||||
error_can_not_archive_project: This project can not be archived
|
||||
button_duplicate: Duplicate
|
||||
button_copy_and_follow: Copy and follow
|
||||
label_copy_source: Source
|
||||
setting_issue_done_ratio: Calculate the issue done ratio with
|
||||
setting_issue_done_ratio_issue_status: Use the issue status
|
||||
error_issue_done_ratios_not_updated: Issue done ratios not updated.
|
||||
error_workflow_copy_target: Please select target tracker(s) and role(s)
|
||||
setting_issue_done_ratio_issue_field: Use the issue field
|
||||
label_copy_same_as_target: Same as target
|
||||
label_copy_target: Target
|
||||
notice_issue_done_ratios_updated: Issue done ratios updated.
|
||||
error_workflow_copy_source: Please select a source tracker or role
|
||||
label_update_issue_done_ratios: Update issue done ratios
|
||||
setting_start_of_week: Start calendars on
|
||||
permission_view_issues: View Issues
|
||||
label_display_used_statuses_only: Only display statuses that are used by this tracker
|
||||
label_branch: Gren
|
||||
error_no_tracker_in_project: Ingen sakstyper er tilknyttet dette prosjektet. Vennligst kontroller prosjektets innstillinger.
|
||||
error_no_default_issue_status: Ingen standard saksstatus er angitt. Vennligst kontroller konfigurasjonen (Gå til "Administrasjon -> Saksstatuser").
|
||||
text_journal_changed: "%{label} endret fra %{old} til %{new}"
|
||||
text_journal_set_to: "%{label} satt til %{value}"
|
||||
text_journal_deleted: "%{label} slettet (%{old})"
|
||||
label_group_plural: Grupper
|
||||
label_group: Gruppe
|
||||
label_group_new: Ny gruppe
|
||||
label_time_entry_plural: Brukt tid
|
||||
text_journal_added: "%{label} %{value} lagt til"
|
||||
field_active: Aktiv
|
||||
enumeration_system_activity: Systemaktivitet
|
||||
permission_delete_issue_watchers: Slett overvåkere
|
||||
version_status_closed: stengt
|
||||
version_status_locked: låst
|
||||
version_status_open: åpen
|
||||
error_can_not_reopen_issue_on_closed_version: En sak tilknyttet en stengt versjon kan ikke gjenåpnes.
|
||||
label_user_anonymous: Anonym
|
||||
button_move_and_follow: Flytt og følg etter
|
||||
setting_default_projects_modules: Standard aktiverte moduler for nye prosjekter
|
||||
setting_gravatar_default: Standard Gravatar-bilde
|
||||
field_sharing: Deling
|
||||
label_version_sharing_hierarchy: Med prosjekt-hierarki
|
||||
label_version_sharing_system: Med alle prosjekter
|
||||
label_version_sharing_descendants: Med underprosjekter
|
||||
label_version_sharing_tree: Med prosjekt-tre
|
||||
label_version_sharing_none: Ikke delt
|
||||
error_can_not_archive_project: Dette prosjektet kan ikke arkiveres
|
||||
button_duplicate: Duplikat
|
||||
button_copy_and_follow: Kopier og følg etter
|
||||
label_copy_source: Kilde
|
||||
setting_issue_done_ratio: Kalkuler ferdigstillingsprosent ut i fra
|
||||
setting_issue_done_ratio_issue_status: Bruk saksstatuser
|
||||
error_issue_done_ratios_not_updated: Ferdigstillingsprosent oppdateres ikke.
|
||||
error_workflow_copy_target: Vennligst velg sakstype(r) og rolle(r)
|
||||
setting_issue_done_ratio_issue_field: Bruk felt fra saker
|
||||
label_copy_same_as_target: Samme som mål
|
||||
label_copy_target: Mål
|
||||
notice_issue_done_ratios_updated: Ferdigstillingsprosent oppdatert.
|
||||
error_workflow_copy_source: Vennligst velg en kilde-sakstype eller rolle.
|
||||
label_update_issue_done_ratios: Oppdatert ferdigstillingsprosent
|
||||
setting_start_of_week: Start kalender på
|
||||
permission_view_issues: Se på saker
|
||||
label_display_used_statuses_only: Vis kun statuser som brukes av denne sakstypen
|
||||
label_revision_id: Revision %{value}
|
||||
label_api_access_key: API access key
|
||||
label_api_access_key_created_on: API access key created %{value} ago
|
||||
label_feeds_access_key: RSS access key
|
||||
notice_api_access_key_reseted: Your API access key was reset.
|
||||
setting_rest_api_enabled: Enable REST web service
|
||||
label_missing_api_access_key: Missing an API access key
|
||||
label_missing_feeds_access_key: Missing a RSS access key
|
||||
button_show: Show
|
||||
text_line_separated: Multiple values allowed (one line for each value).
|
||||
setting_mail_handler_body_delimiters: Truncate emails after one of these lines
|
||||
permission_add_subprojects: Create subprojects
|
||||
label_subproject_new: New subproject
|
||||
label_api_access_key: API tilgangsnøkkel
|
||||
label_api_access_key_created_on: API tilgangsnøkkel opprettet for %{value} siden
|
||||
label_feeds_access_key: RSS tilgangsnøkkel
|
||||
notice_api_access_key_reseted: Din API tilgangsnøkkel ble resatt.
|
||||
setting_rest_api_enabled: Aktiver REST webservice
|
||||
label_missing_api_access_key: Mangler en API tilgangsnøkkel
|
||||
label_missing_feeds_access_key: Mangler en RSS tilgangsnøkkel
|
||||
button_show: Vis
|
||||
text_line_separated: Flere verdier er tillatt (en linje per verdi).
|
||||
setting_mail_handler_body_delimiters: Avkort epost etter en av disse linjene
|
||||
permission_add_subprojects: Opprett underprosjekt
|
||||
label_subproject_new: Nytt underprosjekt
|
||||
text_own_membership_delete_confirmation: |-
|
||||
You are about to remove some or all of your permissions and may no longer be able to edit this project after that.
|
||||
Are you sure you want to continue?
|
||||
label_close_versions: Close completed versions
|
||||
label_board_sticky: Sticky
|
||||
label_board_locked: Locked
|
||||
permission_export_wiki_pages: Export wiki pages
|
||||
setting_cache_formatted_text: Cache formatted text
|
||||
permission_manage_project_activities: Manage project activities
|
||||
error_unable_delete_issue_status: Unable to delete issue status
|
||||
label_profile: Profile
|
||||
permission_manage_subtasks: Manage subtasks
|
||||
field_parent_issue: Parent task
|
||||
label_subtask_plural: Subtasks
|
||||
label_project_copy_notifications: Send email notifications during the project copy
|
||||
error_can_not_delete_custom_field: Unable to delete custom field
|
||||
error_unable_to_connect: Unable to connect (%{value})
|
||||
error_can_not_remove_role: This role is in use and can not be deleted.
|
||||
error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
|
||||
Du er i ferd med å fjerne noen eller alle rettigheter og vil kanskje ikke være i stand til å redigere dette prosjektet etterpå.
|
||||
Er du sikker på at du vil fortsette?
|
||||
label_close_versions: Steng fullførte versjoner
|
||||
label_board_sticky: Fast
|
||||
label_board_locked: Låst
|
||||
permission_export_wiki_pages: Eksporter wiki-sider
|
||||
setting_cache_formatted_text: Mellomlagre formattert tekst
|
||||
permission_manage_project_activities: Administrere prosjektaktiviteter
|
||||
error_unable_delete_issue_status: Kan ikke slette saksstatus
|
||||
label_profile: Profil
|
||||
permission_manage_subtasks: Administrere undersaker
|
||||
field_parent_issue: Overordnet sak
|
||||
label_subtask_plural: Undersaker
|
||||
label_project_copy_notifications: Send epost-varslinger under prosjektkopiering
|
||||
error_can_not_delete_custom_field: Kan ikke slette eget felt
|
||||
error_unable_to_connect: Kunne ikke koble til (%{value})
|
||||
error_can_not_remove_role: Denne rollen er i bruk og kan ikke slettes.
|
||||
error_can_not_delete_tracker: Denne sakstypen inneholder saker og kan ikke slettes.
|
||||
field_principal: Principal
|
||||
label_my_page_block: My page block
|
||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
||||
text_zoom_out: Zoom out
|
||||
text_zoom_in: Zoom in
|
||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
||||
label_overall_spent_time: Overall spent time
|
||||
field_time_entries: Log time
|
||||
label_my_page_block: Min side felt
|
||||
notice_failed_to_save_members: "Feil ved lagring av medlem(mer): %{errors}."
|
||||
text_zoom_out: Zoom ut
|
||||
text_zoom_in: Zoom inn
|
||||
notice_unable_delete_time_entry: Kan ikke slette oppføring fra timeliste.
|
||||
label_overall_spent_time: All tidsbruk
|
||||
field_time_entries: Loggfør tid
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Calendar
|
||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
||||
field_text: Text field
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
||||
label_my_queries: My custom queries
|
||||
text_journal_changed_no_detail: "%{label} updated"
|
||||
label_news_comment_added: Comment added to a news
|
||||
button_expand_all: Expand all
|
||||
button_collapse_all: Collapse all
|
||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||
label_role_anonymous: Anonymous
|
||||
label_role_non_member: Non member
|
||||
label_issue_note_added: Note added
|
||||
label_issue_status_updated: Status updated
|
||||
label_issue_priority_updated: Priority updated
|
||||
label_issues_visibility_own: Issues created by or assigned to the user
|
||||
field_issues_visibility: Issues visibility
|
||||
label_issues_visibility_all: All issues
|
||||
permission_set_own_issues_private: Set own issues public or private
|
||||
field_is_private: Private
|
||||
permission_set_issues_private: Set issues public or private
|
||||
label_issues_visibility_public: All non private issues
|
||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||
project_module_calendar: Kalender
|
||||
button_edit_associated_wikipage: "Rediger tilhørende Wiki-side: %{page_title}"
|
||||
text_are_you_sure_with_children: Slett sak og alle undersaker?
|
||||
field_text: Tekstfelt
|
||||
label_user_mail_option_only_owner: Kun for ting jeg eier
|
||||
setting_default_notification_option: Standardvalg for varslinger
|
||||
label_user_mail_option_only_my_events: Kun for ting jeg overvåker eller er involvert i
|
||||
label_user_mail_option_only_assigned: Kun for ting jeg er tildelt
|
||||
label_user_mail_option_none: Ingen hendelser
|
||||
field_member_of_group: Den tildeltes gruppe
|
||||
field_assigned_to_role: Den tildeltes rolle
|
||||
notice_not_authorized_archived_project: Prosjektet du forsøker å åpne er blitt arkivert.
|
||||
label_principal_search: "Søk etter bruker eller gruppe:"
|
||||
label_user_search: "Søk etter bruker:"
|
||||
field_visible: Synlig
|
||||
setting_emails_header: Eposthode
|
||||
setting_commit_logtime_activity_id: Aktivitet for logget tid.
|
||||
text_time_logged_by_changeset: Lagt til i endringssett %{value}.
|
||||
setting_commit_logtime_enabled: Muliggjør loggføring av tid
|
||||
notice_gantt_chart_truncated: Diagrammet ble avkortet fordi det overstiger det maksimale antall elementer som kan vises (%{max})
|
||||
setting_gantt_items_limit: Maksimalt antall elementer vist på gantt-diagrammet
|
||||
field_warn_on_leaving_unsaved: Vis meg en advarsel når jeg forlater en side med ikke lagret tekst
|
||||
text_warn_on_leaving_unsaved: Den gjeldende siden inneholder tekst som ikke er lagret, som vil bli tapt hvis du forlater denne siden.
|
||||
label_my_queries: Mine egne spørringer
|
||||
text_journal_changed_no_detail: "%{label} oppdatert"
|
||||
label_news_comment_added: Kommentar lagt til en nyhet
|
||||
button_expand_all: Utvid alle
|
||||
button_collapse_all: Kollaps alle
|
||||
label_additional_workflow_transitions_for_assignee: Ytterligere overganger tillatt når brukeren er sakens tildelte
|
||||
label_additional_workflow_transitions_for_author: Ytterligere overganger tillatt når brukeren er den som har opprettet saken
|
||||
label_bulk_edit_selected_time_entries: Masserediger valgte timeliste-oppføringer
|
||||
text_time_entries_destroy_confirmation: Er du sikker på du vil slette de(n) valgte timeliste-oppføringen(e)?
|
||||
label_role_anonymous: Anonym
|
||||
label_role_non_member: Ikke medlem
|
||||
label_issue_note_added: Notat lagt til
|
||||
label_issue_status_updated: Status oppdatert
|
||||
label_issue_priority_updated: Prioritet oppdatert
|
||||
label_issues_visibility_own: Saker opprettet av eller tildelt brukeren
|
||||
field_issues_visibility: Synlighet på saker
|
||||
label_issues_visibility_all: Alle saker
|
||||
permission_set_own_issues_private: Gjør egne saker offentlige eller private
|
||||
field_is_private: Privat
|
||||
permission_set_issues_private: Gjør saker offentlige eller private
|
||||
label_issues_visibility_public: Alle ikke-private saker
|
||||
text_issues_destroy_descendants_confirmation: Dette vil også slette %{count} undersak(er).
|
||||
field_commit_logs_encoding: Tegnkoding for innsendingsmeldinger
|
||||
field_scm_path_encoding: Path encoding
|
||||
text_scm_path_encoding_note: "Default: UTF-8"
|
||||
field_path_to_repository: Path to repository
|
||||
field_root_directory: Root directory
|
||||
field_cvs_module: Module
|
||||
field_scm_path_encoding: Koding av sti
|
||||
text_scm_path_encoding_note: "Standard: UTF-8"
|
||||
field_path_to_repository: Sti til depot
|
||||
field_root_directory: Rotkatalog
|
||||
field_cvs_module: Modul
|
||||
field_cvsroot: CVSROOT
|
||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
label_git_report_last_commit: Report last commit for files and directories
|
||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
||||
text_mercurial_repository_note: Lokalt depot (f.eks. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Kommando
|
||||
text_scm_command_version: Versjon
|
||||
label_git_report_last_commit: Rapporter siste innsending for filer og kataloger
|
||||
text_scm_config: Du kan konfigurere scm kommandoer i config/configuration.yml. Vennligst restart applikasjonen etter å ha redigert filen.
|
||||
text_scm_command_not_available: Scm kommando er ikke tilgjengelig. Vennligst kontroller innstillingene i administrasjonspanelet.
|
||||
|
||||
text_git_repository_note: Depot er bart og lokalt (f.eks. /gitrepo, c:\gitrepo)
|
||||
|
||||
|
||||
@@ -961,7 +961,7 @@ pt-BR:
|
||||
setting_commit_logtime_enabled: Habilitar registro de horas
|
||||
notice_gantt_chart_truncated: O gráfico foi cortado por exceder o tamanho máximo de linhas que podem ser exibidas (%{max})
|
||||
setting_gantt_items_limit: Número máximo de itens exibidos no gráfico gatt
|
||||
field_warn_on_leaving_unsaved: Alertar-me ao sarir de uma página sem salvar o texto
|
||||
field_warn_on_leaving_unsaved: Alertar-me ao sair de uma página sem salvar o texto
|
||||
text_warn_on_leaving_unsaved: A página atual contem texto que não foi salvo e será perdido se você sair desta página.
|
||||
label_my_queries: Minhas consultas personalizadas
|
||||
text_journal_changed_no_detail: "%{label} atualizado(a)"
|
||||
|
||||
@@ -9,12 +9,12 @@ sl:
|
||||
short: "%b %d"
|
||||
long: "%B %d, %Y"
|
||||
|
||||
day_names: [Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
|
||||
abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
|
||||
day_names: [Nedelja, Ponedeljek, Torek, Sreda, Četrtek, Petek, Sobota]
|
||||
abbr_day_names: [Ned, Pon, To, Sr, Čet, Pet, Sob]
|
||||
|
||||
# Don't forget the nil at the beginning; there's no such thing as a 0th month
|
||||
month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
|
||||
abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
|
||||
month_names: [~, Januar, Februar, Marec, April, Maj, Junij, Julij, Avgust, September, Oktober, November, December]
|
||||
abbr_month_names: [~, Jan, Feb, Mar, Apr, Maj, Jun, Jul, Aug, Sep, Okt, Nov, Dec]
|
||||
# Used in date_select and datime_select.
|
||||
order:
|
||||
- :year
|
||||
@@ -32,40 +32,40 @@ sl:
|
||||
|
||||
datetime:
|
||||
distance_in_words:
|
||||
half_a_minute: "half a minute"
|
||||
half_a_minute: "pol minute"
|
||||
less_than_x_seconds:
|
||||
one: "less than 1 second"
|
||||
other: "less than %{count} seconds"
|
||||
one: "manj kot 1. sekundo"
|
||||
other: "manj kot %{count} sekund"
|
||||
x_seconds:
|
||||
one: "1 second"
|
||||
other: "%{count} seconds"
|
||||
one: "1. sekunda"
|
||||
other: "%{count} sekund"
|
||||
less_than_x_minutes:
|
||||
one: "less than a minute"
|
||||
other: "less than %{count} minutes"
|
||||
one: "manj kot minuto"
|
||||
other: "manj kot %{count} minut"
|
||||
x_minutes:
|
||||
one: "1 minute"
|
||||
other: "%{count} minutes"
|
||||
one: "1 minuta"
|
||||
other: "%{count} minut"
|
||||
about_x_hours:
|
||||
one: "about 1 hour"
|
||||
other: "about %{count} hours"
|
||||
one: "okrog 1. ure"
|
||||
other: "okrog %{count} ur"
|
||||
x_days:
|
||||
one: "1 day"
|
||||
other: "%{count} days"
|
||||
one: "1 dan"
|
||||
other: "%{count} dni"
|
||||
about_x_months:
|
||||
one: "about 1 month"
|
||||
other: "about %{count} months"
|
||||
one: "okrog 1. mesec"
|
||||
other: "okrog %{count} mesecev"
|
||||
x_months:
|
||||
one: "1 month"
|
||||
other: "%{count} months"
|
||||
one: "1 mesec"
|
||||
other: "%{count} mesecev"
|
||||
about_x_years:
|
||||
one: "about 1 year"
|
||||
other: "about %{count} years"
|
||||
one: "okrog 1. leto"
|
||||
other: "okrog %{count} let"
|
||||
over_x_years:
|
||||
one: "over 1 year"
|
||||
other: "over %{count} years"
|
||||
one: "več kot 1. leto"
|
||||
other: "več kot %{count} let"
|
||||
almost_x_years:
|
||||
one: "almost 1 year"
|
||||
other: "almost %{count} years"
|
||||
one: "skoraj 1. leto"
|
||||
other: "skoraj %{count} let"
|
||||
|
||||
number:
|
||||
format:
|
||||
@@ -90,15 +90,15 @@ sl:
|
||||
# Used in array.to_sentence.
|
||||
support:
|
||||
array:
|
||||
sentence_connector: "and"
|
||||
sentence_connector: "in"
|
||||
skip_last_comma: false
|
||||
|
||||
activerecord:
|
||||
errors:
|
||||
template:
|
||||
header:
|
||||
one: "1 error prohibited this %{model} from being saved"
|
||||
other: "%{count} errors prohibited this %{model} from being saved"
|
||||
one: "1. napaka je preprečila temu %{model} da bi se shranil"
|
||||
other: "%{count} napak je preprečilo temu %{model} da bi se shranil"
|
||||
messages:
|
||||
inclusion: "ni vključen na seznamu"
|
||||
exclusion: "je rezerviran"
|
||||
@@ -113,17 +113,17 @@ sl:
|
||||
taken: "je že zaseden"
|
||||
not_a_number: "ni število"
|
||||
not_a_date: "ni veljaven datum"
|
||||
greater_than: "must be greater than %{count}"
|
||||
greater_than_or_equal_to: "must be greater than or equal to %{count}"
|
||||
equal_to: "must be equal to %{count}"
|
||||
less_than: "must be less than %{count}"
|
||||
less_than_or_equal_to: "must be less than or equal to %{count}"
|
||||
odd: "must be odd"
|
||||
even: "must be even"
|
||||
greater_than_start_date: "mora biti kasnejši kot začeten datum"
|
||||
greater_than: "mora biti večji kot %{count}"
|
||||
greater_than_or_equal_to: "mora biti večji ali enak kot %{count}"
|
||||
equal_to: "mora biti enak kot %{count}"
|
||||
less_than: "mora biti manjši kot %{count}"
|
||||
less_than_or_equal_to: "mora biti manjši ali enak kot %{count}"
|
||||
odd: "mora biti sodo"
|
||||
even: "mora biti liho"
|
||||
greater_than_start_date: "mora biti kasnejši kot začetni datum"
|
||||
not_same_project: "ne pripada istemu projektu"
|
||||
circular_dependency: "Ta odnos bi povzročil krožno odvisnost"
|
||||
cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
|
||||
cant_link_an_issue_with_a_descendant: "Zahtevek ne more biti povezan s svojo podnalogo"
|
||||
|
||||
actionview_instancetag_blank_option: Prosimo izberite
|
||||
|
||||
@@ -372,9 +372,9 @@ sl:
|
||||
label_project_new: Nov projekt
|
||||
label_project_plural: Projekti
|
||||
label_x_projects:
|
||||
zero: no projects
|
||||
one: 1 project
|
||||
other: "%{count} projects"
|
||||
zero: ni projektov
|
||||
one: 1 projekt
|
||||
other: "%{count} projektov"
|
||||
label_project_all: Vsi projekti
|
||||
label_project_latest: Zadnji projekti
|
||||
label_issue: Zahtevek
|
||||
@@ -476,22 +476,22 @@ sl:
|
||||
label_export_to: 'Na razpolago tudi v:'
|
||||
label_read: Preberi...
|
||||
label_public_projects: Javni projekti
|
||||
label_open_issues: odpri zahtevek
|
||||
label_open_issues_plural: odpri zahtevke
|
||||
label_closed_issues: zapri zahtevek
|
||||
label_closed_issues_plural: zapri zahtevke
|
||||
label_open_issues: odprt zahtevek
|
||||
label_open_issues_plural: odprti zahtevki
|
||||
label_closed_issues: zaprt zahtevek
|
||||
label_closed_issues_plural: zaprti zahtevki
|
||||
label_x_open_issues_abbr_on_total:
|
||||
zero: 0 open / %{total}
|
||||
one: 1 open / %{total}
|
||||
other: "%{count} open / %{total}"
|
||||
zero: 0 odprtih / %{total}
|
||||
one: 1 odprt / %{total}
|
||||
other: "%{count} odprtih / %{total}"
|
||||
label_x_open_issues_abbr:
|
||||
zero: 0 open
|
||||
one: 1 open
|
||||
other: "%{count} open"
|
||||
zero: 0 odprtih
|
||||
one: 1 odprt
|
||||
other: "%{count} odprtih"
|
||||
label_x_closed_issues_abbr:
|
||||
zero: 0 closed
|
||||
one: 1 closed
|
||||
other: "%{count} closed"
|
||||
zero: 0 zaprtih
|
||||
one: 1 zaprt
|
||||
other: "%{count} zaprtih"
|
||||
label_total: Skupaj
|
||||
label_permissions: Dovoljenja
|
||||
label_current_status: Trenutno stanje
|
||||
@@ -507,7 +507,7 @@ sl:
|
||||
label_per_page: Na stran
|
||||
label_calendar: Koledar
|
||||
label_months_from: mesecev od
|
||||
label_gantt: Gantt
|
||||
label_gantt: Gantogram
|
||||
label_internal: Notranji
|
||||
label_last_changes: "zadnjih %{count} sprememb"
|
||||
label_change_view_all: Poglej vse spremembe
|
||||
@@ -515,9 +515,9 @@ sl:
|
||||
label_comment: Komentar
|
||||
label_comment_plural: Komentarji
|
||||
label_x_comments:
|
||||
zero: no comments
|
||||
one: 1 comment
|
||||
other: "%{count} comments"
|
||||
zero: ni komentarjev
|
||||
one: 1 komentar
|
||||
other: "%{count} komentarjev"
|
||||
label_comment_add: Dodaj komentar
|
||||
label_comment_added: Komentar dodan
|
||||
label_comment_delete: Izbriši komentarje
|
||||
@@ -774,7 +774,7 @@ sl:
|
||||
default_tracker_feature: Funkcija
|
||||
default_tracker_support: Podpora
|
||||
default_issue_status_new: Nov
|
||||
default_issue_status_in_progress: In Progress
|
||||
default_issue_status_in_progress: V teku
|
||||
default_issue_status_resolved: Rešen
|
||||
default_issue_status_feedback: Povratna informacija
|
||||
default_issue_status_closed: Zaključen
|
||||
@@ -792,183 +792,185 @@ sl:
|
||||
enumeration_issue_priorities: Prioritete zahtevkov
|
||||
enumeration_doc_categories: Kategorije dokumentov
|
||||
enumeration_activities: Aktivnosti (sledenje časa)
|
||||
warning_attachments_not_saved: "%{count} file(s) could not be saved."
|
||||
field_editable: Editable
|
||||
text_plugin_assets_writable: Plugin assets directory writable
|
||||
label_display: Display
|
||||
button_create_and_continue: Create and continue
|
||||
text_custom_field_possible_values_info: 'One line for each value'
|
||||
setting_repository_log_display_limit: Maximum number of revisions displayed on file log
|
||||
setting_file_max_size_displayed: Max size of text files displayed inline
|
||||
field_watcher: Watcher
|
||||
setting_openid: Allow OpenID login and registration
|
||||
warning_attachments_not_saved: "%{count} datotek(e) ni bilo mogoče shraniti."
|
||||
field_editable: Uredljivo
|
||||
text_plugin_assets_writable: Zapisljiva mapa za vtičnike
|
||||
label_display: Prikaz
|
||||
button_create_and_continue: Ustvari in nadaljuj
|
||||
text_custom_field_possible_values_info: 'Ena vrstica za vsako vrednost'
|
||||
setting_repository_log_display_limit: Največje število prikazanih revizij v log datoteki
|
||||
setting_file_max_size_displayed: Največja velikost besedilnih datotek v vključenem prikazu
|
||||
field_watcher: Opazovalec
|
||||
setting_openid: Dovoli OpenID prijavo in registracijo
|
||||
field_identity_url: OpenID URL
|
||||
label_login_with_open_id_option: or login with OpenID
|
||||
field_content: Content
|
||||
label_descending: Descending
|
||||
label_sort: Sort
|
||||
label_ascending: Ascending
|
||||
label_date_from_to: From %{start} to %{end}
|
||||
label_login_with_open_id_option: ali se prijavi z OpenID
|
||||
field_content: Vsebina
|
||||
label_descending: Padajoče
|
||||
label_sort: Razvrsti
|
||||
label_ascending: Naraščajoče
|
||||
label_date_from_to: Od %{start} do %{end}
|
||||
label_greater_or_equal: ">="
|
||||
label_less_or_equal: <=
|
||||
text_wiki_page_destroy_question: This page has %{descendants} child page(s) and descendant(s). What do you want to do?
|
||||
text_wiki_page_reassign_children: Reassign child pages to this parent page
|
||||
text_wiki_page_nullify_children: Keep child pages as root pages
|
||||
text_wiki_page_destroy_children: Delete child pages and all their descendants
|
||||
setting_password_min_length: Minimum password length
|
||||
field_group_by: Group results by
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki page has been updated"
|
||||
label_wiki_content_added: Wiki page added
|
||||
mail_subject_wiki_content_added: "'%{id}' wiki page has been added"
|
||||
mail_body_wiki_content_added: The '%{id}' wiki page has been added by %{author}.
|
||||
label_wiki_content_updated: Wiki page updated
|
||||
mail_body_wiki_content_updated: The '%{id}' wiki page has been updated by %{author}.
|
||||
permission_add_project: Create project
|
||||
setting_new_project_user_role_id: Role given to a non-admin user who creates a project
|
||||
label_view_all_revisions: View all revisions
|
||||
label_tag: Tag
|
||||
label_branch: Branch
|
||||
error_no_tracker_in_project: No tracker is associated to this project. Please check the Project settings.
|
||||
error_no_default_issue_status: No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").
|
||||
text_journal_changed: "%{label} changed from %{old} to %{new}"
|
||||
text_journal_set_to: "%{label} set to %{value}"
|
||||
text_journal_deleted: "%{label} deleted (%{old})"
|
||||
label_group_plural: Groups
|
||||
label_group: Group
|
||||
label_group_new: New group
|
||||
label_time_entry_plural: Spent time
|
||||
text_journal_added: "%{label} %{value} added"
|
||||
field_active: Active
|
||||
enumeration_system_activity: System Activity
|
||||
permission_delete_issue_watchers: Delete watchers
|
||||
version_status_closed: closed
|
||||
version_status_locked: locked
|
||||
version_status_open: open
|
||||
error_can_not_reopen_issue_on_closed_version: An issue assigned to a closed version can not be reopened
|
||||
label_user_anonymous: Anonymous
|
||||
button_move_and_follow: Move and follow
|
||||
setting_default_projects_modules: Default enabled modules for new projects
|
||||
setting_gravatar_default: Default Gravatar image
|
||||
field_sharing: Sharing
|
||||
label_version_sharing_hierarchy: With project hierarchy
|
||||
label_version_sharing_system: With all projects
|
||||
label_version_sharing_descendants: With subprojects
|
||||
label_version_sharing_tree: With project tree
|
||||
label_version_sharing_none: Not shared
|
||||
error_can_not_archive_project: This project can not be archived
|
||||
button_duplicate: Duplicate
|
||||
button_copy_and_follow: Copy and follow
|
||||
label_copy_source: Source
|
||||
setting_issue_done_ratio: Calculate the issue done ratio with
|
||||
setting_issue_done_ratio_issue_status: Use the issue status
|
||||
error_issue_done_ratios_not_updated: Issue done ratios not updated.
|
||||
error_workflow_copy_target: Please select target tracker(s) and role(s)
|
||||
setting_issue_done_ratio_issue_field: Use the issue field
|
||||
label_copy_same_as_target: Same as target
|
||||
label_copy_target: Target
|
||||
notice_issue_done_ratios_updated: Issue done ratios updated.
|
||||
error_workflow_copy_source: Please select a source tracker or role
|
||||
label_update_issue_done_ratios: Update issue done ratios
|
||||
setting_start_of_week: Start calendars on
|
||||
permission_view_issues: View Issues
|
||||
label_display_used_statuses_only: Only display statuses that are used by this tracker
|
||||
label_revision_id: Revision %{value}
|
||||
label_api_access_key: API access key
|
||||
label_api_access_key_created_on: API access key created %{value} ago
|
||||
label_feeds_access_key: RSS access key
|
||||
notice_api_access_key_reseted: Your API access key was reset.
|
||||
setting_rest_api_enabled: Enable REST web service
|
||||
label_missing_api_access_key: Missing an API access key
|
||||
label_missing_feeds_access_key: Missing a RSS access key
|
||||
button_show: Show
|
||||
text_line_separated: Multiple values allowed (one line for each value).
|
||||
setting_mail_handler_body_delimiters: Truncate emails after one of these lines
|
||||
permission_add_subprojects: Create subprojects
|
||||
label_subproject_new: New subproject
|
||||
text_wiki_page_destroy_question: Ta stran ima %{descendants} podstran(i) in naslednik(ov). Kaj želite storiti?
|
||||
text_wiki_page_reassign_children: Znova dodeli podstrani tej glavni strani
|
||||
text_wiki_page_nullify_children: Obdrži podstrani kot glavne strani
|
||||
text_wiki_page_destroy_children: Izbriši podstrani in vse njihove naslednike
|
||||
setting_password_min_length: Minimalna dolžina gesla
|
||||
field_group_by: Združi rezultate po
|
||||
mail_subject_wiki_content_updated: "'%{id}' wiki stran je bila posodobljena"
|
||||
label_wiki_content_added: Wiki stran dodana
|
||||
mail_subject_wiki_content_added: "'%{id}' wiki stran je bila dodana"
|
||||
mail_body_wiki_content_added: %{author} je dodal '%{id}' wiki stran
|
||||
label_wiki_content_updated: Wiki stran posodobljena
|
||||
mail_body_wiki_content_updated: %{author} je posodobil '%{id}' wiki stran.
|
||||
permission_add_project: Ustvari projekt
|
||||
setting_new_project_user_role_id: Vloga, dodeljena neadministratorskemu uporabniku, ki je ustvaril projekt
|
||||
label_view_all_revisions: Poglej vse revizije
|
||||
label_tag: Oznaka
|
||||
label_branch: Veja
|
||||
error_no_tracker_in_project: Noben sledilnik ni povezan s tem projektom. Prosimo preverite nastavitve projekta.
|
||||
error_no_default_issue_status: Privzeti zahtevek ni definiran. Prosimo preverite svoje nastavitve (Pojdite na "Administracija -> Stanje zahtevkov").
|
||||
text_journal_changed: "%{label} se je spremenilo iz %{old} v %{new}"
|
||||
text_journal_set_to: "%{label} nastavljeno na %{value}"
|
||||
text_journal_deleted: "%{label} izbrisan (%{old})"
|
||||
label_group_plural: Skupine
|
||||
label_group: Skupina
|
||||
label_group_new: Nova skupina
|
||||
label_time_entry_plural: Porabljen čas
|
||||
text_journal_added: "%{label} %{value} dodan"
|
||||
field_active: Aktiven
|
||||
enumeration_system_activity: Sistemska aktivnost
|
||||
permission_delete_issue_watchers: Izbriši opazovalce
|
||||
version_status_closed: zaprt
|
||||
version_status_locked: zaklenjen
|
||||
version_status_open: odprt
|
||||
error_can_not_reopen_issue_on_closed_version: Zahtevek dodeljen zaprti verziji ne more biti ponovno odprt
|
||||
label_user_anonymous: Anonimni
|
||||
button_move_and_follow: Premakni in sledi
|
||||
setting_default_projects_modules: Privzeti moduli za nove projekte
|
||||
setting_gravatar_default: Privzeta Gravatar slika
|
||||
field_sharing: Deljenje
|
||||
label_version_sharing_hierarchy: S projektno hierarhijo
|
||||
label_version_sharing_system: Z vsemi projekti
|
||||
label_version_sharing_descendants: S podprojekti
|
||||
label_version_sharing_tree: Z drevesom projekta
|
||||
label_version_sharing_none: Ni deljeno
|
||||
error_can_not_archive_project: Ta projekt ne more biti arhiviran
|
||||
button_duplicate: Podvoji
|
||||
button_copy_and_follow: Kopiraj in sledi
|
||||
label_copy_source: Vir
|
||||
setting_issue_done_ratio: Izračunaj razmerje opravljenega zahtevka z
|
||||
setting_issue_done_ratio_issue_status: Uporabi stanje zahtevka
|
||||
error_issue_done_ratios_not_updated: Razmerje opravljenega zahtevka ni bilo posodobljeno.
|
||||
error_workflow_copy_target: Prosimo izberite ciljni(e) sledilnik(e) in vlogo(e)
|
||||
setting_issue_done_ratio_issue_field: Uporabi polje zahtevka
|
||||
label_copy_same_as_target: Enako kot cilj
|
||||
label_copy_target: Cilj
|
||||
notice_issue_done_ratios_updated: Razmerje opravljenega zahtevka posodobljeno.
|
||||
error_workflow_copy_source: Prosimo izberite vir zahtevka ali vlogo
|
||||
label_update_issue_done_ratios: Posodobi razmerje opravljenega zahtevka
|
||||
setting_start_of_week: Začni koledarje z
|
||||
permission_view_issues: Poglej zahtevke
|
||||
label_display_used_statuses_only: Prikaži samo stanja ki uporabljajo ta sledilnik
|
||||
label_revision_id: Revizija %{value}
|
||||
label_api_access_key: API dostopni ključ
|
||||
label_api_access_key_created_on: API dostopni ključ ustvarjen pred %{value}
|
||||
label_feeds_access_key: RSS dostopni ključ
|
||||
notice_api_access_key_reseted: Vaš API dostopni ključ je bil ponastavljen.
|
||||
setting_rest_api_enabled: Omogoči REST spletni servis
|
||||
label_missing_api_access_key: Manjkajoč API dostopni ključ
|
||||
label_missing_feeds_access_key: Manjkajoč RSS dostopni ključ
|
||||
button_show: Prikaži
|
||||
text_line_separated: Dovoljenih več vrednosti (ena vrstica za vsako vrednost).
|
||||
setting_mail_handler_body_delimiters: Odreži e-pošto po eni od teh vrstic
|
||||
permission_add_subprojects: Ustvari podprojekte
|
||||
label_subproject_new: Nov podprojekt
|
||||
text_own_membership_delete_confirmation: |-
|
||||
You are about to remove some or all of your permissions and may no longer be able to edit this project after that.
|
||||
Are you sure you want to continue?
|
||||
label_close_versions: Close completed versions
|
||||
label_board_sticky: Sticky
|
||||
label_board_locked: Locked
|
||||
permission_export_wiki_pages: Export wiki pages
|
||||
setting_cache_formatted_text: Cache formatted text
|
||||
permission_manage_project_activities: Manage project activities
|
||||
error_unable_delete_issue_status: Unable to delete issue status
|
||||
label_profile: Profile
|
||||
permission_manage_subtasks: Manage subtasks
|
||||
field_parent_issue: Parent task
|
||||
label_subtask_plural: Subtasks
|
||||
label_project_copy_notifications: Send email notifications during the project copy
|
||||
error_can_not_delete_custom_field: Unable to delete custom field
|
||||
error_unable_to_connect: Unable to connect (%{value})
|
||||
error_can_not_remove_role: This role is in use and can not be deleted.
|
||||
error_can_not_delete_tracker: This tracker contains issues and can't be deleted.
|
||||
field_principal: Principal
|
||||
label_my_page_block: My page block
|
||||
notice_failed_to_save_members: "Failed to save member(s): %{errors}."
|
||||
text_zoom_out: Zoom out
|
||||
text_zoom_in: Zoom in
|
||||
notice_unable_delete_time_entry: Unable to delete time log entry.
|
||||
label_overall_spent_time: Overall spent time
|
||||
field_time_entries: Log time
|
||||
project_module_gantt: Gantt
|
||||
project_module_calendar: Calendar
|
||||
button_edit_associated_wikipage: "Edit associated Wiki page: %{page_title}"
|
||||
text_are_you_sure_with_children: Delete issue and all child issues?
|
||||
field_text: Text field
|
||||
label_user_mail_option_only_owner: Only for things I am the owner of
|
||||
setting_default_notification_option: Default notification option
|
||||
label_user_mail_option_only_my_events: Only for things I watch or I'm involved in
|
||||
label_user_mail_option_only_assigned: Only for things I am assigned to
|
||||
label_user_mail_option_none: No events
|
||||
field_member_of_group: Assignee's group
|
||||
field_assigned_to_role: Assignee's role
|
||||
notice_not_authorized_archived_project: The project you're trying to access has been archived.
|
||||
label_principal_search: "Search for user or group:"
|
||||
label_user_search: "Search for user:"
|
||||
field_visible: Visible
|
||||
setting_emails_header: Emails header
|
||||
setting_commit_logtime_activity_id: Activity for logged time
|
||||
text_time_logged_by_changeset: Applied in changeset %{value}.
|
||||
setting_commit_logtime_enabled: Enable time logging
|
||||
notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
|
||||
setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
|
||||
field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
|
||||
text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
|
||||
label_my_queries: My custom queries
|
||||
text_journal_changed_no_detail: "%{label} updated"
|
||||
label_news_comment_added: Comment added to a news
|
||||
button_expand_all: Expand all
|
||||
button_collapse_all: Collapse all
|
||||
label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
|
||||
label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
|
||||
label_bulk_edit_selected_time_entries: Bulk edit selected time entries
|
||||
text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
|
||||
label_role_anonymous: Anonymous
|
||||
label_role_non_member: Non member
|
||||
label_issue_note_added: Note added
|
||||
label_issue_status_updated: Status updated
|
||||
label_issue_priority_updated: Priority updated
|
||||
label_issues_visibility_own: Issues created by or assigned to the user
|
||||
field_issues_visibility: Issues visibility
|
||||
label_issues_visibility_all: All issues
|
||||
permission_set_own_issues_private: Set own issues public or private
|
||||
field_is_private: Private
|
||||
permission_set_issues_private: Set issues public or private
|
||||
label_issues_visibility_public: All non private issues
|
||||
text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
|
||||
Odstranili boste nekatere ali vse od dovoljenj zaradi česar morda ne boste mogli več urejati tega projekta.
|
||||
Ali ste prepričani, da želite nadaljevati?
|
||||
label_close_versions: Zapri dokončane verzije
|
||||
label_board_sticky: Lepljivo
|
||||
label_board_locked: Zaklenjeno
|
||||
permission_export_wiki_pages: Izvozi wiki strani
|
||||
setting_cache_formatted_text: Predpomni oblikovano besedilo
|
||||
permission_manage_project_activities: Uredi aktivnosti projekta
|
||||
error_unable_delete_issue_status: Stanja zahtevka ni bilo možno spremeniti
|
||||
label_profile: Profil
|
||||
permission_manage_subtasks: Uredi podnaloge
|
||||
field_parent_issue: Nadrejena naloga
|
||||
label_subtask_plural: Podnaloge
|
||||
label_project_copy_notifications: Med kopiranjem projekta pošlji e-poštno sporočilo
|
||||
error_can_not_delete_custom_field: Polja po meri ni mogoče izbrisati
|
||||
error_unable_to_connect: Povezava ni mogoča (%{value})
|
||||
error_can_not_remove_role: Ta vloga je v uporabi in je ni mogoče izbrisati.
|
||||
error_can_not_delete_tracker: Ta sledilnik vsebuje zahtevke in se ga ne more izbrisati.
|
||||
field_principal: Upravnik varnosti
|
||||
label_my_page_block: Moj gradnik strani
|
||||
notice_failed_to_save_members: "Shranjevanje uporabnika(ov) ni uspelo: %{errors}."
|
||||
text_zoom_out: Približaj
|
||||
text_zoom_in: Oddalji
|
||||
notice_unable_delete_time_entry: Brisanje dnevnika porabljenaga časa ni mogoče.
|
||||
label_overall_spent_time: Skupni porabljeni čas
|
||||
field_time_entries: Beleži porabljeni čas
|
||||
project_module_gantt: Gantogram
|
||||
project_module_calendar: Koledear
|
||||
button_edit_associated_wikipage: "Uredi povezano Wiki stran: %{page_title}"
|
||||
text_are_you_sure_with_children: Izbriši zahtevek in vse podazahtevke?
|
||||
field_text: Besedilno polje
|
||||
label_user_mail_option_only_owner: Samo za stvari katerih lastnik sem
|
||||
setting_default_notification_option: Privzeta možnost obveščanja
|
||||
label_user_mail_option_only_my_events: Samo za stvari, ki jih opazujem ali sem v njih vpleten
|
||||
label_user_mail_option_only_assigned: Samo za stvari, ki smo mi dodeljene
|
||||
label_user_mail_option_none: Noben dogodek
|
||||
field_member_of_group: Pooblaščenčeva skupina
|
||||
field_assigned_to_role: Pooblaščenčeva vloga
|
||||
notice_not_authorized_archived_project: Projekt, do katerega poskušate dostopati, je bil arhiviran.
|
||||
label_principal_search: "Poišči uporabnika ali skupino:"
|
||||
label_user_search: "Poišči uporabnikia:"
|
||||
field_visible: Viden
|
||||
setting_emails_header: Glava e-pošte
|
||||
setting_commit_logtime_activity_id: Aktivnost zabeleženega časa
|
||||
text_time_logged_by_changeset: Uporabljeno v spremembi %{value}.
|
||||
setting_commit_logtime_enabled: Omogoči beleženje časa
|
||||
notice_gantt_chart_truncated: Graf je bil odrezan, ker je prekoračil največje dovoljeno število elementov, ki se jih lahko prikaže (%{max})
|
||||
setting_gantt_items_limit: Največje število elementov prikazano na gantogramu
|
||||
field_warn_on_leaving_unsaved: Opozori me, kadar zapuščam stran z neshranjenim besedilom
|
||||
text_warn_on_leaving_unsaved: Trenutna stran vsebuje neshranjeno besedilo ki bo izgubljeno, če zapustite to stran.
|
||||
label_my_queries: Moje poizvedbe po meri
|
||||
text_journal_changed_no_detail: "%{label} posodobljen"
|
||||
label_news_comment_added: Komentar dodan novici
|
||||
button_expand_all: Razširi vse
|
||||
button_collapse_all: Skrči vse
|
||||
label_additional_workflow_transitions_for_assignee: Dovoljeni dodatni prehodi kadar je uporabnik pooblaščenec
|
||||
label_additional_workflow_transitions_for_author: Dovoljeni dodatni prehodi kadar je uporabnik avtor
|
||||
label_bulk_edit_selected_time_entries: Skupinsko urejanje izbranih časovnih zapisov
|
||||
text_time_entries_destroy_confirmation: Ali ste prepričani, da želite izbristai izbran(e) časovn(i/e) zapis(e)?
|
||||
label_role_anonymous: Anonimni
|
||||
label_role_non_member: Nečlan
|
||||
label_issue_note_added: Dodan zaznamek
|
||||
label_issue_status_updated: Status posodobljen
|
||||
label_issue_priority_updated: Prioriteta posodobljena
|
||||
label_issues_visibility_own: Zahtevek ustvarjen s strani uporabnika ali dodeljen uporabniku
|
||||
field_issues_visibility: Vidljivost zahtevkov
|
||||
label_issues_visibility_all: Vsi zahtevki
|
||||
permission_set_own_issues_private: Nastavi lastne zahtevke kot javne ali zasebne
|
||||
field_is_private: Zaseben
|
||||
permission_set_issues_private: Nastavi zahtevke kot javne ali zasebne
|
||||
label_issues_visibility_public: Vsi nezasebni zahtevki
|
||||
text_issues_destroy_descendants_confirmation: To bo izbrisalo tudi %{count} podnalog(o).
|
||||
field_commit_logs_encoding: Kodiranje sporočil ob predaji
|
||||
field_scm_path_encoding: Path encoding
|
||||
text_scm_path_encoding_note: "Default: UTF-8"
|
||||
field_path_to_repository: Path to repository
|
||||
field_root_directory: Root directory
|
||||
field_cvs_module: Module
|
||||
field_scm_path_encoding: Pot do kodiranja
|
||||
text_scm_path_encoding_note: "Privzeto: UTF-8"
|
||||
field_path_to_repository: Pot do shrambe
|
||||
field_root_directory: Korenska mapa
|
||||
field_cvs_module: Modul
|
||||
field_cvsroot: CVSROOT
|
||||
text_git_repository_note: Bare and local repository (e.g. /gitrepo, c:\gitrepo)
|
||||
text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Command
|
||||
text_scm_command_version: Version
|
||||
label_git_report_last_commit: Report last commit for files and directories
|
||||
text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
|
||||
text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
|
||||
text_mercurial_repository_note: Lokalna shramba (npr. /hgrepo, c:\hgrepo)
|
||||
text_scm_command: Ukaz
|
||||
text_scm_command_version: Verzija
|
||||
label_git_report_last_commit: Sporoči zadnje uveljavljanje datotek in map
|
||||
text_scm_config: Svoje SCM ukaze lahko nastavite v datoteki config/configuration.yml. Po urejanju prosimo ponovno zaženite aplikacijo.
|
||||
text_scm_command_not_available: SCM ukaz ni na voljo. Prosimo preverite nastavitve v upravljalskem podoknu.
|
||||
|
||||
text_git_repository_note: Shramba je prazna in lokalna (npr. /gitrepo, c:\gitrepo)
|
||||
|
||||
|
||||
@@ -4,6 +4,25 @@ Redmine - project management software
|
||||
Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
http://www.redmine.org/
|
||||
|
||||
== 2011-11-11 v1.2.2
|
||||
|
||||
* Defect #3276: Incorrect handling of anchors in Wiki to HTML export
|
||||
* Defect #7215: Wiki formatting mangles links to internal headers
|
||||
* Defect #7613: Generated test instances may share the same attribute value object
|
||||
* Defect #8411: Can't remove "Project" column on custom query
|
||||
* Defect #8615: Custom 'version' fields don't show shared versions
|
||||
* Defect #8633: Pagination counts non visible issues
|
||||
* Defect #8651: Email attachments are not added to issues any more in v1.2
|
||||
* Defect #8825: JRuby + Windows: SCMs do not work on Redmine 1.2
|
||||
* Defect #8836: Additional workflow transitions not available when set to both author and assignee
|
||||
* Defect #8865: Custom field regular expression is not validated
|
||||
* Defect #8880: Error deleting issue with grandchild
|
||||
* Defect #8884: Assignee is cleared when updating issue with locked assignee
|
||||
* Defect #8892: Unused fonts in rfpdf plugin folder
|
||||
* Defect #9161: pt-BR field_warn_on_leaving_unsaved has a small gramatical error
|
||||
* Defect #9308: Search fails when a role haven't "view wiki" permission
|
||||
* Defect #9465: Mercurial: can't browse named branch below Mercurial 1.5
|
||||
|
||||
== 2011-07-11 v1.2.1
|
||||
|
||||
* Defect #5089: i18N error on truncated revision diff view
|
||||
@@ -417,7 +436,7 @@ http://www.redmine.org/
|
||||
* #819: Add a body ID and class to all pages
|
||||
* #871: Commit new CSS styles!
|
||||
* #3301: Add favicon to base layout
|
||||
* #4656: On Issue#show page, clicking on “Add related issue” should focus on the input
|
||||
* #4656: On Issue#show page, clicking on “Add related issueâ€<EFBFBD> should focus on the input
|
||||
* #4896: Project identifier should be a limited field
|
||||
* #5084: Filter all isssues by projects
|
||||
* #5477: Replace Test::Unit::TestCase with ActiveSupport::TestCase
|
||||
@@ -1426,7 +1445,7 @@ http://www.redmine.org/
|
||||
* Search engines now supports pagination. Results are sorted in reverse chronological order
|
||||
* Added "Estimated hours" attribute on issues
|
||||
* A category with assigned issue can now be deleted. 2 options are proposed: remove assignments or reassign issues to another category
|
||||
* Forum notifications are now also sent to the authors of the thread, even if they don<EFBFBD>t watch the board
|
||||
* Forum notifications are now also sent to the authors of the thread, even if they don�t watch the board
|
||||
* Added an application setting to specify the application protocol (http or https) used to generate urls in emails
|
||||
* Gantt chart: now starts at the current month by default
|
||||
* Gantt chart: month count and zoom factor are automatically saved as user preferences
|
||||
@@ -1434,7 +1453,7 @@ http://www.redmine.org/
|
||||
* Added wiki index by date
|
||||
* Added preview on add/edit issue form
|
||||
* Emails footer can now be customized from the admin interface (Admin -> Email notifications)
|
||||
* Default encodings for repository files can now be set in application settings (used to convert files content and diff to UTF-8 so that they<EFBFBD>re properly displayed)
|
||||
* Default encodings for repository files can now be set in application settings (used to convert files content and diff to UTF-8 so that they�re properly displayed)
|
||||
* Calendar: first day of week can now be set in lang files
|
||||
* Automatic closing of duplicate issues
|
||||
* Added a cross-project issue list
|
||||
@@ -1446,7 +1465,7 @@ http://www.redmine.org/
|
||||
* Added some accesskeys
|
||||
* Added "Float" as a custom field format
|
||||
* Added basic Theme support
|
||||
* Added the ability to set the <EFBFBD>done ratio<EFBFBD> of issues fixed by commit (Nikolay Solakov)
|
||||
* Added the ability to set the �done ratio� of issues fixed by commit (Nikolay Solakov)
|
||||
* Added custom fields in issue related mail notifications
|
||||
* Email notifications are now sent in plain text and html
|
||||
* Gantt chart can now be exported to a graphic file (png). This functionality is only available if RMagick is installed.
|
||||
@@ -1479,7 +1498,7 @@ http://www.redmine.org/
|
||||
* Added Korean translation (Choi Jong Yoon)
|
||||
* Fixed: the link to delete issue relations is displayed even if the user is not authorized to delete relations
|
||||
* Performance improvement on calendar and gantt
|
||||
* Fixed: wiki preview doesn<EFBFBD>t work on long entries
|
||||
* Fixed: wiki preview doesn�t work on long entries
|
||||
* Fixed: queries with multiple custom fields return no result
|
||||
* Fixed: Can not authenticate user against LDAP if its DN contains non-ascii characters
|
||||
* Fixed: URL with ~ broken in wiki formatting
|
||||
@@ -1490,7 +1509,7 @@ http://www.redmine.org/
|
||||
|
||||
* per project forums added
|
||||
* added the ability to archive projects
|
||||
* added <EFBFBD>Watch<EFBFBD> functionality on issues. It allows users to receive notifications about issue changes
|
||||
* added �Watch� functionality on issues. It allows users to receive notifications about issue changes
|
||||
* custom fields for issues can now be used as filters on issue list
|
||||
* added per user custom queries
|
||||
* commit messages are now scanned for referenced or fixed issue IDs (keywords defined in Admin -> Settings)
|
||||
@@ -1531,7 +1550,7 @@ http://www.redmine.org/
|
||||
* added swedish translation (Thomas Habets)
|
||||
* italian translation update (Alessio Spadaro)
|
||||
* japanese translation update (Satoru Kurashiki)
|
||||
* fixed: error on history atom feed when there<EFBFBD>s no notes on an issue change
|
||||
* fixed: error on history atom feed when there�s no notes on an issue change
|
||||
* fixed: error in journalizing an issue with longtext custom fields (Postgresql)
|
||||
* fixed: creation of Oracle schema
|
||||
* fixed: last day of the month not included in project activity
|
||||
|
||||
@@ -9,8 +9,9 @@ Running Tests
|
||||
|
||||
Run `rake --tasks test` to see available tests.
|
||||
`rake test` will run the entire testsuite.
|
||||
You can run `ruby test/unit/issue_test.rb` for an each test.
|
||||
|
||||
Before running `rake test` you need to configure both development
|
||||
Before running tests, you need to configure both development
|
||||
and test databases.
|
||||
|
||||
Creating test repositories
|
||||
|
||||
@@ -208,7 +208,7 @@ sub access_handler {
|
||||
my $project_id = get_project_identifier($r);
|
||||
|
||||
$r->set_handlers(PerlAuthenHandler => [\&OK])
|
||||
if is_public_project($project_id, $r);
|
||||
if is_public_project($project_id, $r) && anonymous_role_allows_browse_repository($r);
|
||||
|
||||
return OK
|
||||
}
|
||||
@@ -280,6 +280,29 @@ sub is_public_project {
|
||||
$ret;
|
||||
}
|
||||
|
||||
sub anonymous_role_allows_browse_repository {
|
||||
my $r = shift;
|
||||
|
||||
my $dbh = connect_database($r);
|
||||
my $sth = $dbh->prepare(
|
||||
"SELECT permissions FROM roles WHERE builtin = 2;"
|
||||
);
|
||||
|
||||
$sth->execute();
|
||||
my $ret = 0;
|
||||
if (my @row = $sth->fetchrow_array) {
|
||||
if ($row[0] =~ /:browse_repository/) {
|
||||
$ret = 1;
|
||||
}
|
||||
}
|
||||
$sth->finish();
|
||||
undef $sth;
|
||||
$dbh->disconnect();
|
||||
undef $dbh;
|
||||
|
||||
$ret;
|
||||
}
|
||||
|
||||
# perhaps we should use repository right (other read right) to check public access.
|
||||
# it could be faster BUT it doesn't work for the moment.
|
||||
# sub is_public_project_by_file {
|
||||
|
||||
@@ -938,7 +938,7 @@ class RedCloth3 < String
|
||||
stln,algn,atts,url,title,href,href_a1,href_a2 = $~[1..8]
|
||||
htmlesc title
|
||||
atts = pba( atts )
|
||||
atts = " src=\"#{ url }\"#{ atts }"
|
||||
atts = " src=\"#{ htmlesc url.dup }\"#{ atts }"
|
||||
atts << " title=\"#{ title }\"" if title
|
||||
atts << " alt=\"#{ title }\""
|
||||
# size = @getimagesize($url);
|
||||
|
||||
@@ -11,6 +11,13 @@ module Redmine
|
||||
str = str.encode("US-ASCII", :invalid => :replace,
|
||||
:undef => :replace, :replace => '?').encode("UTF-8")
|
||||
end
|
||||
elsif RUBY_PLATFORM == 'java'
|
||||
begin
|
||||
ic = Iconv.new('UTF-8', 'UTF-8')
|
||||
str = ic.iconv(str)
|
||||
rescue
|
||||
str = str.gsub(%r{[^\r\n\t\x20-\x7e]}, '?')
|
||||
end
|
||||
else
|
||||
ic = Iconv.new('UTF-8', 'UTF-8')
|
||||
txtar = ""
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2008 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
#
|
||||
# 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.
|
||||
@@ -22,7 +22,7 @@ module Redmine
|
||||
@@listener_classes = []
|
||||
@@listeners = nil
|
||||
@@hook_listeners = {}
|
||||
|
||||
|
||||
class << self
|
||||
# Adds a listener class.
|
||||
# Automatically called when a class inherits from Redmine::Hook::Listener.
|
||||
@@ -31,29 +31,29 @@ module Redmine
|
||||
@@listener_classes << klass
|
||||
clear_listeners_instances
|
||||
end
|
||||
|
||||
|
||||
# Returns all the listerners instances.
|
||||
def listeners
|
||||
@@listeners ||= @@listener_classes.collect {|listener| listener.instance}
|
||||
end
|
||||
|
||||
|
||||
# Returns the listeners instances for the given hook.
|
||||
def hook_listeners(hook)
|
||||
@@hook_listeners[hook] ||= listeners.select {|listener| listener.respond_to?(hook)}
|
||||
end
|
||||
|
||||
|
||||
# Clears all the listeners.
|
||||
def clear_listeners
|
||||
@@listener_classes = []
|
||||
clear_listeners_instances
|
||||
end
|
||||
|
||||
|
||||
# Clears all the listeners instances.
|
||||
def clear_listeners_instances
|
||||
@@listeners = nil
|
||||
@@hook_listeners = {}
|
||||
end
|
||||
|
||||
|
||||
# Calls a hook.
|
||||
# Returns the listeners response.
|
||||
def call_hook(hook, context={})
|
||||
@@ -101,11 +101,11 @@ module Redmine
|
||||
def self.default_url_options
|
||||
{:only_path => true }
|
||||
end
|
||||
|
||||
|
||||
# Helper method to directly render a partial using the context:
|
||||
#
|
||||
#
|
||||
# class MyHook < Redmine::Hook::ViewListener
|
||||
# render_on :view_issues_show_details_bottom, :partial => "show_more_data"
|
||||
# render_on :view_issues_show_details_bottom, :partial => "show_more_data"
|
||||
# end
|
||||
#
|
||||
def self.render_on(hook, options={})
|
||||
@@ -115,25 +115,25 @@ module Redmine
|
||||
end
|
||||
end
|
||||
|
||||
# Helper module included in ApplicationHelper and ActionControllerso that
|
||||
# Helper module included in ApplicationHelper and ActionController so that
|
||||
# hooks can be called in views like this:
|
||||
#
|
||||
#
|
||||
# <%= call_hook(:some_hook) %>
|
||||
# <%= call_hook(:another_hook, :foo => 'bar' %>
|
||||
#
|
||||
# <%= call_hook(:another_hook, :foo => 'bar') %>
|
||||
#
|
||||
# Or in controllers like:
|
||||
# call_hook(:some_hook)
|
||||
# call_hook(:another_hook, :foo => 'bar'
|
||||
#
|
||||
# Hooks added to views will be concatenated into a string. Hooks added to
|
||||
# call_hook(:another_hook, :foo => 'bar')
|
||||
#
|
||||
# Hooks added to views will be concatenated into a string. Hooks added to
|
||||
# controllers will return an array of results.
|
||||
#
|
||||
# Several objects are automatically added to the call context:
|
||||
#
|
||||
#
|
||||
# * project => current project
|
||||
# * request => Request instance
|
||||
# * controller => current Controller instance
|
||||
#
|
||||
#
|
||||
module Helper
|
||||
def call_hook(hook, context={})
|
||||
if is_a?(ActionController::Base)
|
||||
@@ -142,7 +142,7 @@ module Redmine
|
||||
else
|
||||
default_context = {:controller => controller, :project => @project, :request => request}
|
||||
Redmine::Hook.call_hook(hook, default_context.merge(context)).join(' ')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -29,6 +29,14 @@ module Redmine
|
||||
""
|
||||
end
|
||||
|
||||
def shell_quote_command
|
||||
if Redmine::Platform.mswin? && RUBY_PLATFORM == 'java'
|
||||
client_command
|
||||
else
|
||||
shell_quote(client_command)
|
||||
end
|
||||
end
|
||||
|
||||
# Returns the version of the scm client
|
||||
# Eg: [1, 5, 0] or [] if unknown
|
||||
def client_version
|
||||
@@ -216,7 +224,11 @@ module Redmine
|
||||
io.close_write
|
||||
block.call(io) if block_given?
|
||||
end
|
||||
rescue Errno::ENOENT => e
|
||||
## If scm command does not exist,
|
||||
## Linux JRuby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException
|
||||
## in production environment.
|
||||
# rescue Errno::ENOENT => e
|
||||
rescue Exception => e
|
||||
msg = strip_credential(e.message)
|
||||
# The command failed, log it and re-raise
|
||||
logmsg = "SCM command failed, "
|
||||
|
||||
@@ -31,7 +31,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(BZR_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
|
||||
@@ -34,7 +34,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(CVS_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
@@ -379,13 +379,16 @@ module Redmine
|
||||
end
|
||||
|
||||
def scm_cmd(*args, &block)
|
||||
full_args = [CVS_BIN, '-d', root_url]
|
||||
full_args = ['-d', root_url]
|
||||
full_args += args
|
||||
full_args_locale = []
|
||||
full_args.map do |e|
|
||||
full_args_locale << scm_iconv(@path_encoding, 'UTF-8', e)
|
||||
end
|
||||
ret = shellout(full_args_locale.map { |e| shell_quote e.to_s }.join(' '), &block)
|
||||
ret = shellout(
|
||||
self.class.sq_bin + ' ' + full_args_locale.map { |e| shell_quote e.to_s }.join(' '),
|
||||
&block
|
||||
)
|
||||
if $? && $?.exitstatus != 0
|
||||
raise ScmCommandAborted, "cvs exited with non-zero status: #{$?.exitstatus}"
|
||||
end
|
||||
|
||||
@@ -31,7 +31,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(DARCS_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
|
||||
@@ -34,7 +34,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(GIT_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
@@ -359,13 +359,16 @@ module Redmine
|
||||
|
||||
def scm_cmd(*args, &block)
|
||||
repo_path = root_url || url
|
||||
full_args = [GIT_BIN, '--git-dir', repo_path]
|
||||
full_args = ['--git-dir', repo_path]
|
||||
if self.class.client_version_above?([1, 7, 2])
|
||||
full_args << '-c' << 'core.quotepath=false'
|
||||
full_args << '-c' << 'log.decorate=no'
|
||||
end
|
||||
full_args += args
|
||||
ret = shellout(full_args.map { |e| shell_quote e.to_s }.join(' '), &block)
|
||||
ret = shellout(
|
||||
self.class.sq_bin + ' ' + full_args.map { |e| shell_quote e.to_s }.join(' '),
|
||||
&block
|
||||
)
|
||||
if $? && $?.exitstatus != 0
|
||||
raise ScmCommandAborted, "git exited with non-zero status: #{$?.exitstatus}"
|
||||
end
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
changeset = 'This template must be used with --debug option\n'
|
||||
changeset_quiet = 'This template must be used with --debug option\n'
|
||||
changeset_verbose = 'This template must be used with --debug option\n'
|
||||
changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{files}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
|
||||
|
||||
file = '<path action="M">{file|urlescape}</path>\n'
|
||||
file_add = '<path action="A">{file_add|urlescape}</path>\n'
|
||||
file_del = '<path action="D">{file_del|urlescape}</path>\n'
|
||||
file_copy = '<path-copied copyfrom-path="{source|urlescape}">{name|urlescape}</path-copied>\n'
|
||||
tag = '<tag>{tag|escape}</tag>\n'
|
||||
header='<?xml version="1.0" encoding="UTF-8" ?>\n<log>\n\n'
|
||||
# footer="</log>"
|
||||
@@ -46,7 +46,7 @@ Output example of rhmanifest::
|
||||
</rhmanifest>
|
||||
"""
|
||||
import re, time, cgi, urllib
|
||||
from mercurial import cmdutil, commands, node, error
|
||||
from mercurial import cmdutil, commands, node, error, hg
|
||||
|
||||
_x = cgi.escape
|
||||
_u = lambda s: cgi.escape(urllib.quote(s))
|
||||
@@ -146,7 +146,10 @@ def rhlog(ui, repo, *pats, **opts):
|
||||
bra = urllib.unquote_plus(opts.pop('rhbranch', None))
|
||||
from_rev = from_rev.replace('"', '\\"')
|
||||
to_rev = to_rev.replace('"', '\\"')
|
||||
opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
|
||||
if hg.util.version() >= '1.6':
|
||||
opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
|
||||
else:
|
||||
opts['rev'] = ['%s:%s' % (from_rev, to_rev)]
|
||||
opts['branch'] = [bra]
|
||||
return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
|
||||
|
||||
@@ -196,21 +199,21 @@ cmdtable = {
|
||||
[
|
||||
('r', 'rev', [], 'show the specified revision'),
|
||||
('b', 'branch', [],
|
||||
'show changesets within the given named branch', 'BRANCH'),
|
||||
'show changesets within the given named branch'),
|
||||
('l', 'limit', '',
|
||||
'limit number of changes displayed', 'NUM'),
|
||||
'limit number of changes displayed'),
|
||||
('d', 'date', '',
|
||||
'show revisions matching date spec', 'DATE'),
|
||||
'show revisions matching date spec'),
|
||||
('u', 'user', [],
|
||||
'revisions committed by user', 'USER'),
|
||||
'revisions committed by user'),
|
||||
('', 'from', '',
|
||||
'', ''),
|
||||
''),
|
||||
('', 'to', '',
|
||||
'', ''),
|
||||
''),
|
||||
('', 'rhbranch', '',
|
||||
'', ''),
|
||||
''),
|
||||
('', 'template', '',
|
||||
'display with template', 'TEMPLATE')],
|
||||
'display with template')],
|
||||
'hg rhlog [OPTION]... [FILE]'),
|
||||
'rhmanifest': (rhmanifest,
|
||||
[('r', 'rev', '', 'show the specified revision')],
|
||||
|
||||
@@ -39,7 +39,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(HG_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
@@ -47,7 +47,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def client_available
|
||||
client_version_above?([0, 9, 5])
|
||||
client_version_above?([1, 2])
|
||||
end
|
||||
|
||||
def hgversion
|
||||
@@ -72,12 +72,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def template_path_for(version)
|
||||
if ((version <=> [0,9,5]) > 0) || version.empty?
|
||||
ver = "1.0"
|
||||
else
|
||||
ver = "0.9.5"
|
||||
end
|
||||
"#{HELPERS_DIR}/#{TEMPLATE_NAME}-#{ver}.#{TEMPLATE_EXTENSION}"
|
||||
"#{HELPERS_DIR}/#{TEMPLATE_NAME}-1.0.#{TEMPLATE_EXTENSION}"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -294,11 +289,14 @@ module Redmine
|
||||
# Runs 'hg' command with the given args
|
||||
def hg(*args, &block)
|
||||
repo_path = root_url || url
|
||||
full_args = [HG_BIN, '-R', repo_path, '--encoding', 'utf-8']
|
||||
full_args = ['-R', repo_path, '--encoding', 'utf-8']
|
||||
full_args << '--config' << "extensions.redminehelper=#{HG_HELPER_EXT}"
|
||||
full_args << '--config' << 'diff.git=false'
|
||||
full_args += args
|
||||
ret = shellout(full_args.map { |e| shell_quote e.to_s }.join(' '), &block)
|
||||
ret = shellout(
|
||||
self.class.sq_bin + ' ' + full_args.map { |e| shell_quote e.to_s }.join(' '),
|
||||
&block
|
||||
)
|
||||
if $? && $?.exitstatus != 0
|
||||
raise HgCommandAborted, "hg exited with non-zero status: #{$?.exitstatus}"
|
||||
end
|
||||
|
||||
@@ -32,7 +32,7 @@ module Redmine
|
||||
end
|
||||
|
||||
def sq_bin
|
||||
@@sq_bin ||= shell_quote(SVN_BIN)
|
||||
@@sq_bin ||= shell_quote_command
|
||||
end
|
||||
|
||||
def client_version
|
||||
|
||||
@@ -4,7 +4,7 @@ module Redmine
|
||||
module VERSION #:nodoc:
|
||||
MAJOR = 1
|
||||
MINOR = 2
|
||||
TINY = 1
|
||||
TINY = 2
|
||||
|
||||
# Branch values:
|
||||
# * official release: nil
|
||||
|
||||
@@ -100,14 +100,14 @@ Processed emails control options:
|
||||
Examples:
|
||||
# No project specified. Emails MUST contain the 'Project' keyword:
|
||||
|
||||
rake redmine:email:receive_iamp RAILS_ENV="production" \\
|
||||
rake redmine:email:receive_imap RAILS_ENV="production" \\
|
||||
host=imap.foo.bar username=redmine@example.net password=xxx
|
||||
|
||||
|
||||
# Fixed project and default tracker specified, but emails can override
|
||||
# both tracker and priority attributes:
|
||||
|
||||
rake redmine:email:receive_iamp RAILS_ENV="production" \\
|
||||
rake redmine:email:receive_imap RAILS_ENV="production" \\
|
||||
host=imap.foo.bar username=redmine@example.net password=xxx ssl=1 \\
|
||||
project=foo \\
|
||||
tracker=bug \\
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class AuthSource < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Auth0'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Auth0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
class Board < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :description, :method => :next_description
|
||||
generator_for :name, :start => 'A Forum'
|
||||
generator_for :description, :start => 'Some description here'
|
||||
generator_for :project, :method => :generate_project
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'A Forum'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
|
||||
def self.next_description
|
||||
@last_description ||= 'Some description here'
|
||||
@last_description.succ!
|
||||
@last_description
|
||||
end
|
||||
|
||||
def self.generate_project
|
||||
Project.generate!
|
||||
end
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
class Change < ActiveRecord::Base
|
||||
generator_for :action => 'A'
|
||||
generator_for :path, :method => :next_path
|
||||
generator_for :path, :start => 'test/dir/aaa0001'
|
||||
generator_for :changeset, :method => :generate_changeset
|
||||
|
||||
def self.next_path
|
||||
@last_path ||= 'test/dir/aaa0001'
|
||||
@last_path.succ!
|
||||
@last_path
|
||||
end
|
||||
|
||||
def self.generate_changeset
|
||||
Changeset.generate!
|
||||
end
|
||||
|
||||
@@ -1,14 +1,8 @@
|
||||
class Changeset < ActiveRecord::Base
|
||||
generator_for :revision, :method => :next_revision
|
||||
generator_for :revision, :start => '1'
|
||||
generator_for :committed_on => Date.today
|
||||
generator_for :repository, :method => :generate_repository
|
||||
|
||||
def self.next_revision
|
||||
@last_revision ||= '1'
|
||||
@last_revision.succ!
|
||||
@last_revision
|
||||
end
|
||||
|
||||
def self.generate_repository
|
||||
Repository::Subversion.generate!
|
||||
end
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
class CustomField < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'CustomField0'
|
||||
generator_for :field_format => 'string'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'CustomField0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
class DocumentCategory < Enumeration
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'DocumentCategory0'
|
||||
generator_for :type => 'DocumentCategory'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'DocumentCategory0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class Document < ActiveRecord::Base
|
||||
generator_for :title, :method => :next_title
|
||||
generator_for :title, :start => 'Document001'
|
||||
|
||||
def self.next_title
|
||||
@last_title ||= 'Document001'
|
||||
@last_title.succ!
|
||||
@last_title
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
class EnabledModule < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'module_001'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
generator_for :name, :start => 'module_001'
|
||||
|
||||
end
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
class Enumeration < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Enumeration0'
|
||||
generator_for :type => 'TimeEntryActivity'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Enumeration0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
class Group < Principal
|
||||
generator_for :lastname, :method => :next_lastname
|
||||
|
||||
def self.next_lastname
|
||||
@last_lastname ||= 'Group'
|
||||
@last_lastname.succ!
|
||||
@last_lastname
|
||||
end
|
||||
generator_for :lastname, :start => 'Group'
|
||||
|
||||
end
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class IssueCategory < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Category 0001'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
generator_for :name, :start => 'Category 0001'
|
||||
|
||||
end
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
class Issue < ActiveRecord::Base
|
||||
generator_for :subject, :method => :next_subject
|
||||
generator_for :subject, :start => 'Subject 0'
|
||||
generator_for :author, :method => :next_author
|
||||
generator_for :priority, :method => :fetch_priority
|
||||
|
||||
def self.next_subject
|
||||
@last_subject ||= 'Subject 0'
|
||||
@last_subject.succ!
|
||||
@last_subject
|
||||
end
|
||||
|
||||
def self.next_author
|
||||
User.generate_with_protected!
|
||||
@@ -16,5 +10,4 @@ class Issue < ActiveRecord::Base
|
||||
def self.fetch_priority
|
||||
IssuePriority.first || IssuePriority.generate!
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
class IssuePriority < Enumeration
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'IssuePriority0'
|
||||
generator_for :type => 'IssuePriority'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'IssuePriority0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class IssueStatus < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Status 0'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Status 0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
class Message < ActiveRecord::Base
|
||||
generator_for :subject, :method => :next_subject
|
||||
generator_for :content, :method => :next_content
|
||||
generator_for :subject, :start => 'A Message'
|
||||
generator_for :content, :start => 'Some content here'
|
||||
generator_for :board, :method => :generate_board
|
||||
|
||||
def self.next_subject
|
||||
@last_subject ||= 'A Message'
|
||||
@last_subject.succ!
|
||||
@last_subject
|
||||
end
|
||||
|
||||
def self.next_content
|
||||
@last_content ||= 'Some content here'
|
||||
@last_content.succ!
|
||||
@last_content
|
||||
end
|
||||
|
||||
def self.generate_board
|
||||
Board.generate!
|
||||
end
|
||||
|
||||
@@ -1,16 +1,5 @@
|
||||
class News < ActiveRecord::Base
|
||||
generator_for :title, :method => :next_title
|
||||
generator_for :description, :method => :next_description
|
||||
generator_for :title, :start => 'A New Item'
|
||||
generator_for :description, :start => 'Some content here'
|
||||
|
||||
def self.next_title
|
||||
@last_title ||= 'A New Item'
|
||||
@last_title.succ!
|
||||
@last_title
|
||||
end
|
||||
|
||||
def self.next_description
|
||||
@last_description ||= 'Some content here'
|
||||
@last_description.succ!
|
||||
@last_description
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,21 +1,8 @@
|
||||
class Project < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :identifier, :method => :next_identifier_from_object_daddy
|
||||
generator_for :name, :start => 'Project 0'
|
||||
generator_for :identifier, :start => 'project-0000'
|
||||
generator_for :enabled_modules, :method => :all_modules
|
||||
generator_for :trackers, :method => :next_tracker
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Project 0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
|
||||
# Project#next_identifier is defined on Redmine
|
||||
def self.next_identifier_from_object_daddy
|
||||
@last_identifier ||= 'project-0000'
|
||||
@last_identifier.succ!
|
||||
@last_identifier
|
||||
end
|
||||
|
||||
def self.all_modules
|
||||
[].tap do |modules|
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class Query < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Query 0'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Query 0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
class Repository < ActiveRecord::Base
|
||||
generator_for :type => 'Subversion'
|
||||
generator_for :url, :method => :next_url
|
||||
|
||||
def self.next_url
|
||||
@last_url ||= 'file:///test/svn'
|
||||
@last_url.succ!
|
||||
@last_url
|
||||
end
|
||||
generator_for :url, :start => 'file:///test/svn'
|
||||
|
||||
end
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
class Role < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Role0'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Role0'
|
||||
@last_name.succ!
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
class Repository::Subversion < Repository
|
||||
generator_for :type, :method => 'Subversion'
|
||||
generator_for :url, :method => :next_url
|
||||
|
||||
def self.next_url
|
||||
@last_url ||= 'file:///test/svn'
|
||||
@last_url.succ!
|
||||
@last_url
|
||||
end
|
||||
generator_for :url, :start => 'file:///test/svn'
|
||||
|
||||
end
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
class TimeEntryActivity < Enumeration
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'TimeEntryActivity0'
|
||||
generator_for :type => 'TimeEntryActivity'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'TimeEntryActivity0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,5 +6,4 @@ class TimeEntry < ActiveRecord::Base
|
||||
def self.generate_user
|
||||
User.generate_with_protected!
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
class Tracker < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Tracker 0'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Tracker 0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,30 +1,12 @@
|
||||
class User < Principal
|
||||
generator_for :login, :method => :next_login
|
||||
generator_for :login, :start => 'user1'
|
||||
generator_for :mail, :method => :next_email
|
||||
generator_for :firstname, :method => :next_firstname
|
||||
generator_for :lastname, :method => :next_lastname
|
||||
|
||||
def self.next_login
|
||||
@gen_login ||= 'user1'
|
||||
@gen_login.succ!
|
||||
@gen_login
|
||||
end
|
||||
|
||||
generator_for :firstname, :start => 'Bob'
|
||||
generator_for :lastname, :start => 'Doe'
|
||||
|
||||
def self.next_email
|
||||
@last_email ||= 'user1'
|
||||
@last_email.succ!
|
||||
"#{@last_email}@example.com"
|
||||
end
|
||||
|
||||
def self.next_firstname
|
||||
@last_firstname ||= 'Bob'
|
||||
@last_firstname.succ!
|
||||
@last_firstname
|
||||
end
|
||||
|
||||
def self.next_lastname
|
||||
@last_lastname ||= 'Doe'
|
||||
@last_lastname.succ!
|
||||
@last_lastname
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
class Version < ActiveRecord::Base
|
||||
generator_for :name, :method => :next_name
|
||||
generator_for :name, :start => 'Version 1.0.0'
|
||||
generator_for :status => 'open'
|
||||
|
||||
def self.next_name
|
||||
@last_name ||= 'Version 1.0.0'
|
||||
@last_name.succ!
|
||||
@last_name
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
class WikiPage < ActiveRecord::Base
|
||||
generator_for :title, :method => :next_title
|
||||
generator_for :title, :start => 'AWikiPage'
|
||||
generator_for :wiki, :method => :generate_wiki
|
||||
|
||||
def self.next_title
|
||||
@last_title ||= 'AWikiPage'
|
||||
@last_title.succ!
|
||||
@last_title
|
||||
end
|
||||
|
||||
def self.generate_wiki
|
||||
Wiki.generate!
|
||||
end
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
class WikiRedirect < ActiveRecord::Base
|
||||
generator_for :title, :method => :next_title
|
||||
generator_for :redirects_to, :method => :next_redirects_to
|
||||
generator_for :title, :start => 'AWikiPage'
|
||||
generator_for :redirects_to, :start => '/a/path/000001'
|
||||
generator_for :wiki, :method => :generate_wiki
|
||||
|
||||
def self.next_title
|
||||
@last_title ||= 'AWikiPage'
|
||||
@last_title.succ!
|
||||
@last_title
|
||||
end
|
||||
|
||||
def self.next_redirects_to
|
||||
@last_redirect ||= '/a/path/000001'
|
||||
@last_redirect.succ!
|
||||
@last_redirect
|
||||
end
|
||||
|
||||
def self.generate_wiki
|
||||
Wiki.generate!
|
||||
end
|
||||
|
||||
240
test/fixtures/mail_handler/apple_mail_with_attachment.eml
vendored
Normal file
240
test/fixtures/mail_handler/apple_mail_with_attachment.eml
vendored
Normal file
@@ -0,0 +1,240 @@
|
||||
From JSmith@somenet.foo Mon Jun 27 06:55:56 2011
|
||||
Return-Path: <JSmith@somenet.foo>
|
||||
X-Original-To: redmine@somenet.foo
|
||||
Delivered-To: redmine@somenet.foo
|
||||
From: John Smith <JSmith@somenet.foo>
|
||||
Mime-Version: 1.0 (Apple Message framework v1084)
|
||||
Content-Type: multipart/alternative; boundary=Apple-Mail-3-163265085
|
||||
Subject: Test attaching images to tickets by HTML mail
|
||||
Date: Mon, 27 Jun 2011 16:55:46 +0300
|
||||
To: redmine@somenet.foo
|
||||
Message-Id: <7ABE3636-07E8-47C9-90A1-FCB1AA894DA1@somenet.foo>
|
||||
X-Mailer: Apple Mail (2.1084)
|
||||
|
||||
|
||||
--Apple-Mail-3-163265085
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/plain;
|
||||
charset=us-ascii
|
||||
|
||||
Yet another test!
|
||||
|
||||
|
||||
--Apple-Mail-3-163265085
|
||||
Content-Type: multipart/related;
|
||||
type="text/html";
|
||||
boundary=Apple-Mail-4-163265085
|
||||
|
||||
|
||||
--Apple-Mail-4-163265085
|
||||
Content-Transfer-Encoding: quoted-printable
|
||||
Content-Type: text/html;
|
||||
charset=us-ascii
|
||||
|
||||
<html><head></head><body style=3D"word-wrap: break-word; =
|
||||
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
|
||||
<br></body></html>=
|
||||
|
||||
--Apple-Mail-4-163265085
|
||||
Content-Transfer-Encoding: base64
|
||||
Content-Disposition: inline;
|
||||
filename=paella.jpg
|
||||
Content-Type: image/jpg;
|
||||
x-unix-mode=0644;
|
||||
name="paella.jpg"
|
||||
Content-Id: <1207F0B5-9F9D-4AB4-B547-AF9033E82111>
|
||||
|
||||
/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU
|
||||
FhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo
|
||||
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCACmAMgDASIA
|
||||
AhEBAxEB/8QAHQAAAgMBAQEBAQAAAAAAAAAABQYABAcDCAIBCf/EADsQAAEDAwMCBQIDBQcFAQAA
|
||||
AAECAwQABREGEiExQQcTIlFhcYEUMpEVI0Kh0QhSYrHB4fAWJCUzQ3L/xAAaAQADAQEBAQAAAAAA
|
||||
AAAAAAADBAUCAQYA/8QAKhEAAgIBBAICAgIDAAMAAAAAAQIAAxEEEiExIkEFE1FhMnFCkaEjwdH/
|
||||
2gAMAwEAAhEDEQA/ACTUdSsdhRCNE54GTRaBaXHiBtNOVo0wEpSt8BKfmpWCZRPHcVbdZ3X1J9Jx
|
||||
Tla9OBpIU8Noo7Gjx4qdrCBkfxGupUSck13GJjeT1ObEdthOG04/zpX8SNXjR1njym46ZMmQ+llp
|
||||
pStuc9T9hRq/X22afhKl3iazEYHdxWCfgDqT9K83eKfiFG1RfIEi3tuC3W9KlNh0YLqyeuO3QV0D
|
||||
MznM9O2uai4QI8psYQ8gLA9virY615P034xX+zNNslLDsMKOG1J5HuAa3nQPiBZ9WtpUy4lmcE4U
|
||||
ypXP2rmMHmcI/EealD7te7ZZ2S7dLhGiN9cvOBP+dIF18btHw3C1DkSbi7nATGZJBPwTitTIyZp9
|
||||
SsCun9oJaEFUDTy0oyQFyXSOfoB/rQOL466huE9LIagxW1A48tkuKJxwBlQrm4YzNhGPE9Mmua8Y
|
||||
JrzsrXPiQ42y7+KtsZt4kpS8ltK0p91J5IzXGFr3xFef8pMqE4vJABZT6se3FDNyEZzNCh89Tfbv
|
||||
aoV2iKj3GO2+0eyh0+h7VkWq/CqTDUqXpp0uJHPkKOFj6HofvQRzxZ1bbwFTG7c+jO0lKeh+cGi8
|
||||
bxrebZZVMtjDqljKgw4Rt9uuea5vEIEceoL09ZnHQoyGy3KaOFhxO0j6g0J8QNPr3tzorHmsJSUv
|
||||
NgdQeprTIuqbfqdtD7MRxh7HO/H6ZHWlnW0e5tQnv2WgupAyEg8p9xUl7WGowpzKCoDXyJ5nvMdK
|
||||
Uuho4bSv057CqK2stIWrgEZp2kWtE+O5+MC0OKUchHFCbnaWVNeW1KU3tTtwtAUkj6jkfpXoK7gQ
|
||||
AZLsqYEmJ0mUBlLeCfeqHKl5PqJopNhriupQWyoqPpKeQfpTXYPDW+3ZlEhTTcVpXI8w+oj6Cmty
|
||||
qMxTazHAi1ZLG/PXuKClv3Ip7t2n4yI3lKZSsEc7hmicXwfu5ThN22fCUH+tXB4QX1KdzN6WVjth
|
||||
Q/1oDuG/yjCIV/xgWLouQFfiLK/5LqejbnKT9D1FStX05DRaYrTN8K232wEl1aMJV856VKF9hPc3
|
||||
9QPM32HEjxEjykBSh/ERSd4s61uGjLbBnQrcie2t4pfClEFKAM8Y704uvtsMrdfcQ20gZUtZAAHu
|
||||
SawHxt8V7PKt/wCytPp/aLrToW7JAPlNkAjAPfOfpQ0JY4E42B3Nf09ruwXvTQvjM9lmGkfvvOWE
|
||||
llXdKvn/ADrONZeNwU28zo2Ml1tHpXc5Y2spP+EHlR/5ivOzYkPPKdjMechRDjrCUHy1Ec9Aa1Lw
|
||||
l0VF10pcy4XJC0RlbTFTgKbHwnokfSibFXkzAJbiJ0tN81jc1yHXplzkEEqkPA7UjvtR2H1/SrOl
|
||||
rGu6NvP7Q8yhaWkDruVj/n616Lvl20n4Z2cpeS02tSfRHbAU69/t8nivOGoNXzNQSVRbFAbtsFal
|
||||
FESEjBOepUR1rBs3D8CFVMHjmXNYW+wWtsMrlMvyyOW4h3FB9irpn70lx7k9AeDttW4w70DgWd3+
|
||||
1NmlvDi7XpL0iShcWG0dqllO5SlHsB35NG7l4PSRG823z0YbGFqkDaFK+MZx7d6XOu09Z2M8MKHb
|
||||
OBM1vBuAkJcuUgyHXRu3KfDp+5ycVTaeU36kKUlYOQQcEVrehvC5l1Mh/VClISHFMttIVgL45VnH
|
||||
TkEH4rQbjpHTbyGWVQIzL7bYabc2AnaMfYnAxk0K35Smo7e/2IRdC7eXUwfT5m6pfbtC/wARIlLW
|
||||
VNu7yoN9MlQ9h3NO+n9Cwo8rzZU1Sm2Mlx9YLaUkHjaOv3Nc7zd7FoyY5D07HR56SfMl7961ZGNo
|
||||
9gKXrtd77dnkssoSwt7K9rZG8jHU44Tkc9q0rvbyvipnNgT9kTRLvqKy2JDgS/8AiH3hjecKXjv2
|
||||
/SkG8akmRyhqG+hKSQ4dpyofBxxV2w+Hkuda27pMW5tcSpWxati1HJGQTkYp70xoS2MW1pp+ImXN
|
||||
koJLi+UtfP1FAt1dFPHcPXQ9nPUy+/3pu4usrYZS16MOKCAkuLJypRxX5aG5ExX4VlfC/Vt98e3z
|
||||
WvL8M9NsNMtyFyVyGx6h5uPMPyMcV9Q9HQbbdWwzHQGFHKVhStw+uTQTr6tu1IQad85M46baVarV
|
||||
uVkJ/mDVCVqWUll59t4FxlW0ocOA4k+1P8uLGU35UgAhQ2kgdRWUeIMi2WyKqASFLJJbWchQI7Ul
|
||||
pWWyw5GSYZ1IXA4Ez7U12mR7q95jCWgTuCQeoPsaGqntylbCpIdxnaSM/wBK56lujtydZS4UkNIw
|
||||
CBzQO4RURywWnUupcQF7knoT1BHYg5r0lFY2DIwZKvYq5x1DjUo26WzJKEuIQoFSFDIP+9bzaL0x
|
||||
+HZcZcQpC0ggewIrzYzNJQGpGVt+/cUw2PU8+0vqWEJnW8q/9KzgpHslXb6UV6yw4gBZg8z1NZbj
|
||||
Ek43LQDjkZFMLbkMcJW3+orKvDq86T1SUssrEef3iPq2rz8f3vtTZrtizaR0pOvD8XephOG2959a
|
||||
ycJH60HBBxDBhjMB+L9/RY7WpT7jam3kkNNJwSs+/NSss0Bpi4+Jmpfxl7kPOQ2k7iCfyI/hQOwz
|
||||
/vUroqrUnceZ8LnIG2Cdaa61Dq54i7SVJi5ymGwdjSf/ANe/86s6W0TLvkNySp5pcVjBUy0oAD5x
|
||||
1P1NbDbPALTQjp/aC5bj+OS27tH+VOmjPDqw6QEv9lNPFcpIQ4p5zeSB0A/WtNYoXCwK1nOWgjwk
|
||||
sFrg2wuJjtKl5IJUBwPakLxDXbNI6/alaGW6b87uL1vjJCmAogjcvHTrnb8DpVnxj1q1oOS7b9PP
|
||||
j9qSEErA58gHuf8AF7CsStOurpBjKZioQqS6sqU+vlayepPvQytu3cgz/fEPWaXfFjYEfLlo5+bM
|
||||
/aurr+X33vW6lIJUD/dyen2p80zboMNG6NBEGOygJLy04cdAGRjjn5NYRD1NcjMMme8XpST6Q4Mp
|
||||
H0HStstF4kO2lMS5vAlTfq9O04PQZ+KifILaqg3PnPodS5o0S3I0q4x2T3Kr+obzH1HsjuFFpeUU
|
||||
B5s5Snck4ST0z0p502w5HZW86qW5lXLbpSeMfHFZH4gpFutbDlrmNtujlxvzc705HAHfB5qknVSI
|
||||
VliuWK7STcHVBL7Ticc8c8f70IaMaipWq4z+oo6jT2sr8ma3qCfBky48be4zvcAOB6gR/CMd6EXF
|
||||
m9EPKhx3Vx92EJdADmOmQKJ2y5xVpiJlW+OzPSj1LbSBtURyoGjFzWqPbHljClFBLbiBnHHUmpeT
|
||||
WdqiPISuDM/e0bark4YzkEJkJ9RebGF7u+T/AKVeg6DbVdXHJ6U/hi35KAlRGU44zj/WrtpdfSlt
|
||||
D7m54jKznr/WnOAVKa9Y7cGtDVWodhaH1WnVlD7cZxPhq3NMobbeBeZQnalKlZ47cUQDSGtvlqwn
|
||||
GEp7AVQdbddWQHkp2dOea6qWHQlPmJSscEE9aET/AJCK/X+JFxUtuKecHnKxx8VXRKiBSkuKII55
|
||||
PSvq4yUQmf3qspxwc8is71fqZMeKtTO0AHn3V8UaitrDgdmcdtoyZ215q1USShq0bZClghTYPqFL
|
||||
Vr0xH1otbt1XKZkpT6cccfOaF6SZkz7q7dZYWHjz0ykJp2Yvi4YaYVHdUXjs2eSUlR7HPt89KoW5
|
||||
p8af5D3OVLldz9GLmsNLR1WZiI+oJlRB5aHgBuKe2cdaxd5tVsuy0OJbdWwvkKGUq+or0PqiyXVy
|
||||
IJ7za1NlIJbz6m/fgdv61lN000qWJ09EWQ8++6lqM01k8geokY5p/wCK1RXK2Nn/AOz75PS1vStt
|
||||
Y594iCUnOauWi5SLXMDzIQ4g8ONOp3IcT7KHcVduWn7nbWg5OgSI6SopBcQUjPtzXK1RX1OqkMtb
|
||||
0xcPO9PSkHrzV0WKRkHM86a2BwZqFm0da9c2pdw0asM3JgBT9qdd2uNH+8y51x7A/rSjrXUmq129
|
||||
Om9TuyvKhu70NyUYd4GBlX8QofG1hcLbrBF/tZ/DvtqGEDhJQONpA6gjrXq61f8AS/jDo9mXNhNu
|
||||
nGxxPR2O5jkBXX+tY3bcFhPtoPAin4H6gsMTQgLEhtM7eoyGioBYI4Tx7Yx+pqUr668ILjZXDOtS
|
||||
XZsdvlMiGkJlND/GgYDg+Rg1KwUDHIM2r7Bgiei5NwiQo635cllllAypbiwAPvWO678c4UJuRH0y
|
||||
gSHkDBkrHpz2CR3+prHbXJ1L4o6matwkKaYP7xzkhthsdVEf8NLWrzbo94fh2RKjAjqLSHFnKniO
|
||||
Cs/X/KuLSAcN3OfYW5HUD3SXJutxfnTnVOyn1lbi1HJJNPnh9otyfbJF5lLabjpJQ0FjlZHUis9C
|
||||
lDOO9bdHkS4WkbXBlIMdaGUnyhwkjqFfU5pf5K566gqe+I98TpBqb9pnB/Q9wu7kdyOGUNNp3oWp
|
||||
Owq7+3P1r9uQmqllqS+S+ghClFWR+vtT/Z7goWGOopbjodwEltQOcdR16/WrcrTFmW4tyYZHmuDc
|
||||
dhwkDHSvNvq2BC2+up6PThdIzDvMypelJN2lI8+M9JKxsZS1/Cfcn2+tF9K6Oh6ZeW5fYS5VwKgl
|
||||
locpR3Cvk0+zJTdtioi2htDe5OVL/KAPcn3r5j3ZtdmkrKFTFJ3EDG7BAzgH9a+XX2sNi8CJXaZW
|
||||
c3GIN7u0u931+KwhaGGspKQMKcKepVV5UmU1DZZtzspMVKQXm3F5B+gHIH0zQCBImKuiJMeCuEH1
|
||||
YCfVkjv+bqSKr6t1U7a7uxEgurS0yMLBASc/arlenBULiSGtOSSY6WKJKXckJU2tplSt6FA7gfvW
|
||||
gxA/sUBggDGSayGya5ed8tkNqSlXVYOVVpEZydIablRFF6ORgjGFJPyKga3Tuj5Il2rVC6sKT1L9
|
||||
tiuPTnDI3eSfc/lqrqWOuHFK4qlF1HIX7j2NWIkyQ8XEApSUcD/Ea5TmZj2SggqUMKSrp9KUByQM
|
||||
T45U5mSS9UzJMtMZ93GFcqJ7UL8Q3UOOww24Bx6h3V8/Sqev0sx7u4IqkB5w8tJ4KFfNBXG3Fuo/
|
||||
FPqLxA3FXXHtXp9PQiBXXiTGZrmIjTo68qh+Y2ygPhYSAlXIBz1rYHp04RkNRnWDOA5KyEgDrgVh
|
||||
mmSmPcCfQpWCACnINFdRXOW3GQ4+60GgcJKDgr+R70lqdP8AZaAvuUK3woDY4mqyrjeFWppZZUXW
|
||||
lnzUlYCVp+K+LLeYEoLLG5lGdxQk4wcfyrOourlyIzbDhcKVNhHB7e9XYlxatbam0dVDOAOT96Rf
|
||||
TEDBHMMpU9dTQpVxiTWXGUqDy1n0hxCSAPvXnfWVtnWO9TI8lpLHnZOGxhKkE54+K1K1XhLj4S4j
|
||||
GOnxX5qiNZ7wlpd1Di30ZS0hKtu4kdCaN8fqG0luxhwYtrdOtqZXsTA1dTWh+B+unNG6tbTIWTap
|
||||
hDUhGeE56L+oP8qSbtBXDnyWSB+7WUnadwH3rgYT6IQmEpS0VbU5WNyj8DrXr/F1/ueXIZT1P6Hh
|
||||
aVoSpJBSoZBB4IqVjPgP4ii72eHZLsSJrCPKadP8YA4B+cfrUpMgg4jK8jMybw5vUfT/AIXatujD
|
||||
iRc5S24DX95KVAkn/P8ASstODk9asPSXvwZbUEoQpzhtIwkYHt9z1q3NZiO2uNMhFLbif3chkryc
|
||||
9lAHsabbAbP5i6DI/qctPSokW9w3p0cvsIcBLY7+2fituuVxYvDbAMZ2VIUkeX5I5x3Tgdqznwz0
|
||||
xbb/ADZQuy3w2y2FISycHJz3+MVtWnNLwNMb3G0SZDvlgb3DlWPgf86V5/5e+oOAc7l/9y18WLK/
|
||||
IdH/AHB+l23bLPLMl0RkyQS22r1eWQO/tR178NEju3GS8ZahyVIc7ewA4qpKKfxzTMOGHCsBZSob
|
||||
ueveitut+XGo8tpDacEp2DAP69ahNYHO4yo1rMxJgt22RLy0l5bYQ04jckLWfM+o7frVPUMpdg0a
|
||||
65EfXvaX5XOArnp9hTtGgRbcyhL6PPbaG1ClnJAPvWeeMl0FogwnWGYkqKHSFxnUkpSojgkD79aJ
|
||||
pQbblr9ZgNRcAhMzli9zZYfS27NkPBIKAFKVnnkn2pf1PaZbMNm4PpkDzeV+c0UEK+p6/WtX8H5M
|
||||
GXDm3OS22Jq3P/W2AlIHwOgFVPF+VBfjqKi4sEHBKSAVfFegXWsmo+pV4zJZ0wareTFbw71Y1Ab/
|
||||
AAjbcNh1Q/8Ae9yaYU33VESW5KdK1wucuMpwgj3FYq4S456E7VDjimGHqa6wYqIS5HmMq42LOQBT
|
||||
Wo0AYll5z+YCjV7MA+puVmuDkgh7evZt3bsdK46s1uiNZSY6iHwSj82CPnFC7PcbdbdOxkPTiqaB
|
||||
5iQlXCf61mV9uC79dn39oDIVztGAajafRK9pPoSrZezKAOzKclyXcLgue8VLUo7sHrUaVIfeCloG
|
||||
T0Uo9qstKdbcBLZUg9DiuzkbY4VDIBGQkdBVkuBxOrRtAwf7naKlyMoqQ4pRI9RHH2qtc1/i/KS+
|
||||
p3yWchtKwcIzX7HnoQv1nbgYUR7+9NESXCmR1xdjexxOXCTg9ODSzO1bBiJvCsCBFu3eahwltCnA
|
||||
O6ATj6082K2rlltyXGSsIGEhzPP1xQa1QJNngLmMuNPMrPKE5BwKuzrw6Yu6JJVGWkZSkHIXn274
|
||||
pe8m0+H+51G2DBlu4J/DzFKbWhICiS2EgH7H2FD3JTMuclt7B2ArBzgJPvQNF1lSUFoON5JyST1P
|
||||
tmgEu5yY0wgJ2uoUd27nPtRKdEzHk8xezVLUnHudtXsRYc4rt8pxZdKvMSpWcH60M07a03W5JZcW
|
||||
UtgFSj8Dt96orKnVKUQVK6nv966R5b0dCksLLe4gkp68dOatKjBNgPMiM4Z9xHE1fwCkQx4pqYdC
|
||||
vJcC1RwT0WkZH8s1KVPDm+Psa208ogAtysqWOqyo4JP2qUtanPM2jDEL+OWn49u8R5UK0MbGClDg
|
||||
bSOApYyQPvSzM0rKt9qiXCRs8uSSlCeQoHnII+1aJ/aAZWjxImL3FILTSwR/+RX7bhqJ561XC5Jj
|
||||
O20pSnyFYJWMZypJ6djWLdSa1BzxDUaYWnaOzH/RlmZ0nYWPJab9SQqS5t/eLV2+wzj7UfZmouM8
|
||||
MNtlsNoKlFZAV8H4FULPfmrmtyCtwJfQjKggFIVx2orHsbUZ1TzCktFwfvVKJJUB05968jqHaxyz
|
||||
y3t+sBeiJJTLSXA6hAWscFSTjke561yfkAlte4h88BIJwB3q5Hjx297RUpWfUD+YYqs5Gjx3HJJK
|
||||
ywRylIGM+/vShBMIrDMtpKiyVKcWtvaP3aRnn3HevOfi9eZM/UEiEv8A7eOHgkhfT0jg4+5r0JJu
|
||||
ENLad0plpWM9c8dqUtTaMtGoJS37gyXH3UANyEHH6iqXx99entD2CK31m1CqmZZomd+HjORbXte8
|
||||
hOVLSk4USeTRm4xrvqbTjseUGmozTmVPLH5fgfNNNhYtWmJardbw3tf59XqIwepNM2poyJVpdKEt
|
||||
+SRuCR/EfemLdWou3oO/cJXVmsI08z3BiFp7UakMuonR0jk47+31oG7iTM/dkNoWvCdx/KCe9P8A
|
||||
dIzR1PAZfjtI3gx3QsAJHznFKOqbfbbXKSzbriZrwJ8390UJRjpgnrXpdNeLAM9kSDqKDWT+AYcu
|
||||
1ivcK2x1KdiyYSejrCgSnPZXehTLqou7cghKRkgd6Px9SWp2xsMT23HF7QgpaOCFDoaCxFee4UKC
|
||||
gCT14P3oKs5B+xccx+kIpG0wlaJKZLB9KglB5Uo9KsLeDj2GzjI+1AjmPLH4ZzCVEApPAIopGCFR
|
||||
1rSpW4naaFbWB5DqUabMnaYEuTGyc40le4deO1fMZam17krwAOua7yYjyZCiG8hZ65ya57WW3W2y
|
||||
lS3FDkFW0CmgdygdydZ4MT1HezzUy4iCwVKLKcFtSuD74r9uVtRJabLZ8obckpTlP60ItSLXOeDT
|
||||
KlR1spG9W7clw/ejN4mXa0MDYA9FLn7olIxtxyFCprVkWbU7/cY+0FNx6/UU70GYDBQw6FrUcAgH
|
||||
ke9Lq3FHkkk980xXedHuYWt6D5L4A2rQrCQO4xV+yaaiTrW5JL29GRgflUCOoJ5wPmqaOKUy/cl3
|
||||
Zufw6itbriuAJHloSVPNlvJ/hB61RCwVAKPHc1YubQZmvNpSlKUqIACtwH371Tzk/FOKAeR7ibEj
|
||||
g+o06QWy7riziG2pDf4lsJCjknnrUrv4TtIe1/ZQ50Q+Fk/TkfzxUpW7ggQ1a7xmbF/aGsKEX83N
|
||||
U4IU8wFJZWMbtvBwf04pOieITadOMxXmWRJR6CsD1HHTH2xWx/2irAu9aJTIjJJkQXgsYHJSrg/6
|
||||
V5os1rjsynVXOQY8uMsER1t8r+M9j0pSymu1P/J6j+ktatxtE23QtvmwYar3cX0JjyE+hhQ9ROeC
|
||||
a0CJJaLTe+Uhfm/l7/YUhWKUxfbKxCztdQkJStWdySf7o/rTHZLC7bW3g5M819Y2pLiPy/TmvLak
|
||||
AsSeCPUp7i1hB6h+Ytbnl+US2AfVx/nXyWg4kpeOQ4CPT2FVX0JacS6qWpASnC0qIINDLlKKGyGp
|
||||
QaLmADgYA74xzSY7zDpWW4Eq2e0N2yXMdmKS6twlCUO4IQj3+po86RGWzGjtNgO4AATwlPXNAmPK
|
||||
dLanH15K04SEE5x7GrsGWLnclJ9SHGuCrOCU+1E2s5zNfSE/7mJniFFciyHJ6XEktoIylWBjPPHv
|
||||
SnC1HKlFK25Kls7cBpSvy4PtWwXHSsCXIUqUt15Tg2qStfpx7kUIc0JZIqHlpGwqTgFJxgZzx809
|
||||
XfWE22DJgwQD49TGr0pN2nlL7i2JKjvC1DCc9qUtRR47sjLQWiYkYdbX0PyDWwax09bZpcZtpdbl
|
||||
FJO5aztJxkD46Vl83TclMT8SlDjh28lIJwfY/NXdDqK8Ag4iGsosYHK8QVKiRIztv/BqccWUhT6l
|
||||
jASruBVpEoKkOAYLhJO0D9KGIUoqQ2vucYPaidptb0i6lCMNt8lSlq/N8VRcDblz1J9Tbf4CEGYb
|
||||
rzbjiEBLqQQAtQAzUs7jrqnGFNJy0fUMcA/WjlutUySrLT0dLGw5C08hQ6fbNCrTBuVlubjjkJ58
|
||||
pJwU5Lef72B1pQMLFYZGY0bHQggS7KYUw35ivUlXU9xSfdCp5QWltSUp/iPfNaBLtv4KGiVOkYcf
|
||||
X5imS2dyE9uM8DvjrQc2hyYsg+WGSfSQKxRatfJMLepvXA7iilxtKmlMJcQ4nlSlKzn7U4wbou7Y
|
||||
RK9SGeUpzjJPciuLmi5ayDF8t3nsrHFfFx0lcbeSptYWhKUlS0EjBP8ADR2votx5DMSFF1eRjiGF
|
||||
OWuK4mO+y2lTyFIWpw5SCeivgZpNuCzBU4zEmBbTnUtq4UP+ZoxaNIXG6So5ebX5C3NillXQd/pV
|
||||
zWlmYtEJmEiARLz6XEerf78jrXy3VK4XO4mDsSzbwMYiQI8iQlx5tpa2kfmWBwK4BKVdDiicpq5t
|
||||
NGItl1DbbYdUgDgAjO40JZSpxwBA5zVBDnn1EnGD+5rn9n+1pXeZlzcQFIYbCEEjoo9x9galN/hp
|
||||
BFn06wwQA89+9cPfJ7fpUpG072zHql2Libtf225NukRX+WnWyhX0Iry9drM3ar2i4XN0h6BKS28r
|
||||
O5TiByleD8Yr0ldJyHWtyOD0UKzHW9taloXM8jzkhBbkN4yVt+4HunqPvQXBxkTqH1E2dck2u5wp
|
||||
9rUW0yiVPKCdwQgkYJx361pca9NSGG3C5kIR6nkD0g/Ws5uMMT4DJtFyZTCdSlAjlsJKTnHpP+hr
|
||||
hapk+yxP2fNW7+DeSrAIyN3uP0qJfQtij8/9lPTlkznmPNwdh3FgILzgcK/3bqSfUfZQpW1BMuNr
|
||||
hKeeQlCyrCWeu0DjdXL9oW2NAadjuLbdj4UFBQIWoe6Scg/NEo5cu81h+5JAQtvcgdE++Tmlvr+o
|
||||
5YZEbpvstyvRlPSGtFvNJjzox4JKHknHP0pq03c2GlTAp5j8Spw7d5CVEYHANL9xsrTbMibHUCUJ
|
||||
IKEt8JPvxSey4ZylLX/8yOSMbqIK67stXwIT0NxyZubSDKUX1lbawkAZ9u+KHXeez5ja3HwhpPxy
|
||||
D2HNZu1rG7W5zeqS0EgbUggHA+nvVaNqOXdr5HVNcQhCV71BKQNx7ZzxQxoW7PUIgGcmNs6SqW+W
|
||||
2hvdc53qRgkHgc0YsdpVGgluSGygrUdqQClJ+TXVu2sSSu4x3PxD20qDa14yccAe2KruPvNw23Lg
|
||||
z+HDytqh1Chjoo9utAJ9LC22h0CqMRc15omyXhCnLc0mLc0c7mcBKiBnCk/PuKy646YvkCU0qLuL
|
||||
iWylQUPyE9cH5/WtkRLs0VhTLzqW22sEqLm5xXPTjtV2bLt88sttrCSpQxsOSCPeqGn191ACnyH7
|
||||
k27RI/K8TFdFOOYcTcAWENqIcUpJBz23DvTqvWMRElm3uQiUpIQ08BgJV259qdFWjzorsd8RXQ7k
|
||||
KJHCh7E9yBWWatszVpmsKRuCRgJTn0g5P9KKt9WrtJYYM+q07IgQGWpsNN/lsTH5W7yF7H22+Nqc
|
||||
ZJz84r8sMda284IRztBHal19yRbslgltMjKVA01abvCmLamK6AprbtGeoo1ysKwF5Eao0TsxK9xu
|
||||
03BS6hS9gU4DzkUWj26G4osKbSpRysBQJGaE2W822NHDbyngM7s4wM/avmZqdhrelhorSoEbxknn
|
||||
5qVtctnEOdLZnkQvKjIhuNojNZyraQMYTx1PtXzeYMZtDS30IS4lQWhWMkH4+tIxvz8GT5iQt1Bz
|
||||
vSoHBPbNVjPvGo33HWnSEsgqTgcE9NtMJpWyGJwJ9dQVGOxAGt9QruazbYxQGMAOOjBUo9hn4pf0
|
||||
vYiu7AvEKQ0rcQOh9hX47bJMW5qjlrCyohKSoEgfOKboflWmIhhsb5S+Sfk16SsCmsLX1PLWoXsz
|
||||
Z2I6QZ3kBKc5dPGPapSw28qMn1q3PK/Mc9PipQ4YVMwyJt2oHV2uZuGVML/mKoKWlwbkHchQ4qkN
|
||||
ZaevsQxzcmQsj0byUkH71TgOvRVqbeG6Ks+l5PqSD9RXxBioihqTS8Vm7JlNyHGIqlZWWujDmQQr
|
||||
H9339q/bihUVLqVvh1ak7S6g8KHwO1OshQIIUAoHg96z7VdpkxIEw2chTDqTmOr/AOZ90Ht9KWv0
|
||||
7WkYMf0Oqr075sXIgLTkZl7Uy1zZCQhpsuDOOuQOa05NvYkS0J8h1UUDd5w5UOOAfisK026yJZj3
|
||||
YOR3i56XRzkn+EitUsN4uEvEeCpDCGlEOL67ldMikfk6HUg54Ef02pS9i6jEcLpcGUMLSW9iU43J
|
||||
6EjH+VZ9NuLDmQqCIsdxR7e30rQWNPKaebmOTVrdXysq5C+OhFfcm129Y/7ptghJ3JKU8j6VLqtS
|
||||
rvmNFNx4mNXGMy6jEQqeUF5V8D2oS63JalpaQdrhxjdyQK2O6Ls8SOGm0hO7ohKeVH2FIl205Pdd
|
||||
cmMskrICkNg+pIz0IqrptWGGDwP3M3VhFye4w2hmVGYaUmUUsrwcpOSn5xTpcpUJu1vOmQpwObUK
|
||||
S6njfnjjtzWOu6iu3luRnIhQGTtJHBB/pRq1u3G5hhKFlIVneVdz9+lKXaRgdzkCdRxYMg9S9qB+
|
||||
A/MS0tpYIVudaZTgOqwAPtUdjTkORXGmhHbKgltKVBJSMd+9Mtv/ABrcWRFLUdxATl0lGFlWOx7/
|
||||
AAaEOJhuLZipYdksr6BokraVnnd7VhbOl7xBfWwctnj8T9m39strVFa9aMggZKlK+lLGpXLhc47d
|
||||
smsKjlSgpJWg5A65B7dfrWk2vTdus8p+clS1vYyEurB2H+pqs9erVc32zJIbeZXtS2oZO8fH+tap
|
||||
sVH3VrnHucXftIeZf/0zdZDYbKlPlpJWVnkZ7D704WLRhTbkOzg6XVpxsB2+Wfr3p0hzIylPPtth
|
||||
KEr2uFQxuI7ChV61IhaTGay24okBST0J6GutrLLPACMJY6DxMze/Ldtdzcik7gnlJ+DVJF2KTlVO
|
||||
0O2M3WK8mQ0h5/HoIOFdepPalq5aTuapziQhptrPUkHA609VZW3i3cbHyRVfKU03RLishXIpfVqe
|
||||
Q2lyJC/dZWQpfzmqF5f/AGdcSw08hwJxnb3V7CqcNl5qWp6U2lKRnYnOefeqlOjQDcw4kX5D5g2Y
|
||||
Wn13GOKsQklxR8yU51UecUSt+5GX3vU8rue1CbeypxfnO/YUWB9jRGIHAiVNZc72lgLJVzzUrmg1
|
||||
KFiOjjqIwUpPKSR96KWnUl1tLoXCmOt+4CuD9qFlOe9fm3nrT5wexPN5I6msWHxHjzili+Nhlw4A
|
||||
faGBn5HSmicCI6X2loeiufkeb5Sf6GvPqknrTJpPVs2wPbMh+EvhxhzlKh9KA1XtYZbM9xj1Laos
|
||||
/K1ICHv74/1qnbryuwBtCIYQgDatbayQv5wehpnu8NiXaBebK6X7csgOIPK4yj/Cr49jSbJXwQel
|
||||
BesWLseGrsNTbkjx/wBWQ4FvYfdntLW8NwZC8qT9RQ9Gq3bo8ERlBDajgrJ/KPekB1ltLqZCAlK0
|
||||
HcCUgjP0NfIuy1Tg+yw2y4kEL8kYSv52nj9KSPxNQ/jyZRr+UYfyGJt+nm7Kje95pflEAFxR6H/C
|
||||
DQW+OSocpBjL/EFZOHmzyR7GkzSl9ZLr5uE2LFBOPLWlWSPccYFaxpS8WZlP4aEpDri8OKO4KBP+
|
||||
lTL9NZQ/kMxg21agBi3MXo9ulOvB1uC8p0j1LV0PH86JQ7QpiSh94mO3tUFBSeMn2zTsJjKFrde8
|
||||
g8DbsIJA78VzbuEd6MVLaSWFZSCUZI985pRnJjCviI2nbncJNzXDUhL7aSU5C8J2/OKcbTaodsU7
|
||||
K8hLL6zuUndkA/GaU7tM/ZUlQjBlu3bdzbkdHKTnkE+59qU77q+4zISmGY8lbyVH96hKjlPHHFGG
|
||||
me0+HAM7bcmMxv1V/wCQkLFvcdxzktd6RbNDC71lDgbS2dy3F9sHmh8PVF5ZQtEdteFDar0eof0o
|
||||
8q7abXHYNxdDEhgYUUnYpffkdxmqFelspGMZz+Io2qQ+51v9/wDw7KkwZflxlElIKgTnPJNcH7mz
|
||||
Asjbi1smU8QouE/PBH2pd1DreyOwnojMGPIK8+tLe3HGAfrSE9cVrjtJjFfozwv1bfpnj+VOaf40
|
||||
so3DETv+RReF5m53LUNis0Bp9ExK3QkAoQ5nPfisq1druXd3CmMVtsDITlXOPn3pcMGS/HW84VKd
|
||||
zwF9SKFKCs7T27U/pvjqaju7Mm6jW2uMdCE4tsukyI5cmY77sdtYSt4DICuoBNMFoWiapJcVhY6o
|
||||
V7138N9XK0/JWw42l+BIT5cmMv8AK6jv9COxpi1XpBtE2LctJvfi7bOBdbAI8xrH5krHYj370zaf
|
||||
R4gqCQwxzOCMJGE9K6A4rm20ttnDysuJ4OBxmq0uWllv08rNIjyOBPRsCg5GJLnODDZQg+s/yqUs
|
||||
zJKlqUVHJNSmkqGOZOt1TBvGfZIxkVwWsg1KlaEmT8DhxX7u3dqlStTka/D3Ur2nrylKkfiIEr9z
|
||||
IjK/K4g9fvR/xBsyLDqF+IwsrjqSl5rd1CFjcAfkZqVKHYIZOonyclpZz0oeygoUpWetSpWVmz1O
|
||||
c6Ol9o9lDoaBIkPMOZS4obTg4URUqUzWAeDE7SVPEYrXrSZb30ORGwhwDG4rUr/M0SXri+SpYcYu
|
||||
EiMMcJbVx9alSgtpad27aMw6ai0pjdKFz1nqJuSn/wAtIJIznj+lfQu11VueVdJm9weohwjNSpWj
|
||||
UigYAmfsck8wPPlPKz5jzyz33LJoOt1SieSB7VKlGQQDk5n2w35qwCaYLbEQEBwgY7CpUrlphaAC
|
||||
3MIkBKc0DuUUKC5CcJIPI96lSh18GH1AyINiI8x9CM4x3Fat4f6okWOY0qKkFv8AKpCgCFp75qVK
|
||||
xqfUY+MUENmMmv7bHbDV5tqPJjTFcsK6pVgE4+Kz68xy41vZUEKPvUqUovDyufKjmfrVmYbiHd6n
|
||||
cbis+/WpUqUcMZKdF44n/9k=
|
||||
|
||||
--Apple-Mail-4-163265085--
|
||||
|
||||
--Apple-Mail-3-163265085--
|
||||
@@ -78,17 +78,6 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
assert_tag :tag => 'a', :content => /Subproject issue/
|
||||
end
|
||||
|
||||
def test_index_should_not_list_issues_when_module_disabled
|
||||
EnabledModule.delete_all("name = 'issue_tracking' AND project_id = 1")
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_template 'index.rhtml'
|
||||
assert_not_nil assigns(:issues)
|
||||
assert_nil assigns(:project)
|
||||
assert_no_tag :tag => 'a', :content => /Can't print recipes/
|
||||
assert_tag :tag => 'a', :content => /Subproject issue/
|
||||
end
|
||||
|
||||
def test_index_should_list_visible_issues_only
|
||||
get :index, :per_page => 100
|
||||
assert_response :success
|
||||
@@ -296,6 +285,27 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
:parent => { :tag => 'select', :attributes => { :id => "selected_columns" } }
|
||||
end
|
||||
|
||||
def test_index_without_project_should_implicitly_add_project_column_to_default_columns
|
||||
Setting.issue_list_default_columns = ['tracker', 'subject', 'assigned_to']
|
||||
get :index, :set_filter => 1
|
||||
|
||||
# query should use specified columns
|
||||
query = assigns(:query)
|
||||
assert_kind_of Query, query
|
||||
assert_equal [:project, :tracker, :subject, :assigned_to], query.columns.map(&:name)
|
||||
end
|
||||
|
||||
def test_index_without_project_and_explicit_default_columns_should_not_add_project_column
|
||||
Setting.issue_list_default_columns = ['tracker', 'subject', 'assigned_to']
|
||||
columns = ['tracker', 'subject', 'assigned_to']
|
||||
get :index, :set_filter => 1, :c => columns
|
||||
|
||||
# query should use specified columns
|
||||
query = assigns(:query)
|
||||
assert_kind_of Query, query
|
||||
assert_equal columns.map(&:to_sym), query.columns.map(&:name)
|
||||
end
|
||||
|
||||
def test_index_with_custom_field_column
|
||||
columns = %w(tracker subject cf_2)
|
||||
get :index, :set_filter => 1, :c => columns
|
||||
@@ -1258,7 +1268,7 @@ class IssuesControllerTest < ActionController::TestCase
|
||||
:attributes => {:name => "issue[custom_field_values][#{field.id}]"},
|
||||
:children => {
|
||||
:only => {:tag => 'option'},
|
||||
:count => Project.find(1).versions.count + 1
|
||||
:count => Project.find(1).shared_versions.count + 1
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@@ -30,6 +30,14 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
||||
PRJ_ID = 3
|
||||
CHAR_1_HEX = "\xc3\x9c"
|
||||
|
||||
## Git, Mercurial and CVS path encodings are binary.
|
||||
## Subversion supports URL encoding for path.
|
||||
## Redmine Mercurial adapter and extension use URL encoding.
|
||||
## Git accepts only binary path in command line parameter.
|
||||
## So, there is no way to use binary command line parameter in JRuby.
|
||||
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||
|
||||
def setup
|
||||
@ruby19_non_utf8_pass =
|
||||
(RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8')
|
||||
@@ -157,6 +165,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
||||
def test_entry_show_latin_1
|
||||
if @ruby19_non_utf8_pass
|
||||
puts_ruby19_non_utf8_pass()
|
||||
elsif JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
||||
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
||||
@@ -313,6 +323,8 @@ class RepositoriesGitControllerTest < ActionController::TestCase
|
||||
def test_annotate_latin_1
|
||||
if @ruby19_non_utf8_pass
|
||||
puts_ruby19_non_utf8_pass()
|
||||
elsif JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
with_settings :repositories_encodings => 'UTF-8,ISO-8859-1' do
|
||||
['57ca437c', '57ca437c0acbbcb749821fdf3726a1367056d364'].each do |r1|
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# redMine - project management software
|
||||
# Copyright (C) 2006-2007 Jean-Philippe Lang
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@@ -25,6 +25,15 @@ class CustomFieldTest < ActiveSupport::TestCase
|
||||
assert field.save
|
||||
end
|
||||
|
||||
def test_regexp_validation
|
||||
field = IssueCustomField.new(:name => 'regexp', :field_format => 'text', :regexp => '[a-z0-9')
|
||||
assert !field.save
|
||||
assert_equal I18n.t('activerecord.errors.messages.invalid'), field.errors.on(:regexp)
|
||||
|
||||
field.regexp = '[a-z0-9]'
|
||||
assert field.save
|
||||
end
|
||||
|
||||
def test_possible_values_should_accept_an_array
|
||||
field = CustomField.new
|
||||
field.possible_values = ["One value", ""]
|
||||
|
||||
76
test/unit/custom_field_version_format_test.rb
Normal file
76
test/unit/custom_field_version_format_test.rb
Normal file
@@ -0,0 +1,76 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
#
|
||||
# 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.
|
||||
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class CustomFieldVersionFormatTest < ActiveSupport::TestCase
|
||||
fixtures :custom_fields, :projects, :members, :users, :member_roles, :trackers, :issues, :versions
|
||||
|
||||
def setup
|
||||
@field = IssueCustomField.create!(:name => 'Tester', :field_format => 'version')
|
||||
end
|
||||
|
||||
def test_possible_values_with_no_arguments
|
||||
assert_equal [], @field.possible_values
|
||||
assert_equal [], @field.possible_values(nil)
|
||||
end
|
||||
|
||||
def test_possible_values_with_project_resource
|
||||
project = Project.find(1)
|
||||
possible_values = @field.possible_values(project.issues.first)
|
||||
assert possible_values.any?
|
||||
assert_equal project.shared_versions.sort.collect(&:id).map(&:to_s), possible_values
|
||||
end
|
||||
|
||||
def test_possible_values_with_nil_project_resource
|
||||
assert_equal [], @field.possible_values(Issue.new)
|
||||
end
|
||||
|
||||
def test_possible_values_options_with_no_arguments
|
||||
assert_equal [], @field.possible_values_options
|
||||
assert_equal [], @field.possible_values_options(nil)
|
||||
end
|
||||
|
||||
def test_possible_values_options_with_project_resource
|
||||
project = Project.find(1)
|
||||
possible_values_options = @field.possible_values_options(project.issues.first)
|
||||
assert possible_values_options.any?
|
||||
assert_equal project.shared_versions.sort.map {|u| [u.name, u.id.to_s]}, possible_values_options
|
||||
end
|
||||
|
||||
def test_possible_values_options_with_array
|
||||
projects = Project.find([1, 2])
|
||||
possible_values_options = @field.possible_values_options(projects)
|
||||
assert possible_values_options.any?
|
||||
assert_equal (projects.first.shared_versions & projects.last.shared_versions).sort.map {|u| [u.name, u.id.to_s]}, possible_values_options
|
||||
end
|
||||
|
||||
def test_cast_blank_value
|
||||
assert_equal nil, @field.cast_value(nil)
|
||||
assert_equal nil, @field.cast_value("")
|
||||
end
|
||||
|
||||
def test_cast_valid_value
|
||||
version = @field.cast_value("2")
|
||||
assert_kind_of Version, version
|
||||
assert_equal Version.find(2), version
|
||||
end
|
||||
|
||||
def test_cast_invalid_value
|
||||
assert_equal nil, @field.cast_value("187")
|
||||
end
|
||||
end
|
||||
@@ -375,6 +375,26 @@ RAW
|
||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }
|
||||
end
|
||||
|
||||
def test_wiki_links_within_local_file_generation_context
|
||||
|
||||
to_test = {
|
||||
# link to a page
|
||||
'[[CookBook documentation]]' => '<a href="CookBook_documentation.html" class="wiki-page">CookBook documentation</a>',
|
||||
'[[CookBook documentation|documentation]]' => '<a href="CookBook_documentation.html" class="wiki-page">documentation</a>',
|
||||
'[[CookBook documentation#One-section]]' => '<a href="CookBook_documentation.html#One-section" class="wiki-page">CookBook documentation</a>',
|
||||
'[[CookBook documentation#One-section|documentation]]' => '<a href="CookBook_documentation.html#One-section" class="wiki-page">documentation</a>',
|
||||
# page that doesn't exist
|
||||
'[[Unknown page]]' => '<a href="Unknown_page.html" class="wiki-page new">Unknown page</a>',
|
||||
'[[Unknown page|404]]' => '<a href="Unknown_page.html" class="wiki-page new">404</a>',
|
||||
'[[Unknown page#anchor]]' => '<a href="Unknown_page.html#anchor" class="wiki-page new">Unknown page</a>',
|
||||
'[[Unknown page#anchor|404]]' => '<a href="Unknown_page.html#anchor" class="wiki-page new">404</a>',
|
||||
}
|
||||
|
||||
@project = Project.find(1)
|
||||
|
||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text, :wiki_links => :local) }
|
||||
end
|
||||
|
||||
def test_html_tags
|
||||
to_test = {
|
||||
"<div>content</div>" => "<p><div>content</div></p>",
|
||||
@@ -533,6 +553,43 @@ EXPECTED
|
||||
assert_equal expected, textilizable(raw)
|
||||
end
|
||||
|
||||
def test_headings_with_special_chars
|
||||
# This test makes sure that the generated anchor names match the expected
|
||||
# ones even if the heading text contains unconventional characters
|
||||
raw = 'h1. Some heading related to version 0.5'
|
||||
anchor = sanitize_anchor_name("Some-heading-related-to-version-0.5")
|
||||
expected = %|<a name="#{anchor}"></a>\n<h1 >Some heading related to version 0.5<a href="##{anchor}" class="wiki-anchor">¶</a></h1>|
|
||||
|
||||
assert_equal expected, textilizable(raw)
|
||||
end
|
||||
|
||||
def test_wiki_links_within_wiki_page_context
|
||||
|
||||
page = WikiPage.find_by_title('Another_page' )
|
||||
|
||||
to_test = {
|
||||
# link to another page
|
||||
'[[CookBook documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">CookBook documentation</a>',
|
||||
'[[CookBook documentation|documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation" class="wiki-page">documentation</a>',
|
||||
'[[CookBook documentation#One-section]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation#One-section" class="wiki-page">CookBook documentation</a>',
|
||||
'[[CookBook documentation#One-section|documentation]]' => '<a href="/projects/ecookbook/wiki/CookBook_documentation#One-section" class="wiki-page">documentation</a>',
|
||||
# link to the current page
|
||||
'[[Another page]]' => '<a href="/projects/ecookbook/wiki/Another_page" class="wiki-page">Another page</a>',
|
||||
'[[Another page|Page]]' => '<a href="/projects/ecookbook/wiki/Another_page" class="wiki-page">Page</a>',
|
||||
'[[Another page#anchor]]' => '<a href="#anchor" class="wiki-page">Another page</a>',
|
||||
'[[Another page#anchor|Page]]' => '<a href="#anchor" class="wiki-page">Page</a>',
|
||||
# page that doesn't exist
|
||||
'[[Unknown page]]' => '<a href="/projects/ecookbook/wiki/Unknown_page" class="wiki-page new">Unknown page</a>',
|
||||
'[[Unknown page|404]]' => '<a href="/projects/ecookbook/wiki/Unknown_page" class="wiki-page new">404</a>',
|
||||
'[[Unknown page#anchor]]' => '<a href="/projects/ecookbook/wiki/Unknown_page#anchor" class="wiki-page new">Unknown page</a>',
|
||||
'[[Unknown page#anchor|404]]' => '<a href="/projects/ecookbook/wiki/Unknown_page#anchor" class="wiki-page new">404</a>',
|
||||
}
|
||||
|
||||
@project = Project.find(1)
|
||||
|
||||
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(WikiContent.generate!( :text => text, :page => page ), :text) }
|
||||
end
|
||||
|
||||
def test_table_of_content
|
||||
raw = <<-RAW
|
||||
{{toc}}
|
||||
|
||||
@@ -252,6 +252,20 @@ class IssueNestedSetTest < ActiveSupport::TestCase
|
||||
root = Issue.find(root.id)
|
||||
assert root.leaf?, "Root issue is not a leaf (lft: #{root.lft}, rgt: #{root.rgt})"
|
||||
end
|
||||
|
||||
def test_destroy_issue_with_grand_child
|
||||
parent = create_issue!
|
||||
issue = create_issue!(:parent_issue_id => parent.id)
|
||||
child = create_issue!(:parent_issue_id => issue.id)
|
||||
grandchild1 = create_issue!(:parent_issue_id => child.id)
|
||||
grandchild2 = create_issue!(:parent_issue_id => child.id)
|
||||
|
||||
assert_difference 'Issue.count', -4 do
|
||||
Issue.find(issue.id).destroy
|
||||
parent.reload
|
||||
assert_equal [1, 2], [parent.lft, parent.rgt]
|
||||
end
|
||||
end
|
||||
|
||||
def test_parent_priority_should_be_the_highest_child_priority
|
||||
parent = create_issue!(:priority => IssuePriority.find_by_name('Normal'))
|
||||
|
||||
@@ -83,11 +83,11 @@ class IssueStatusTest < ActiveSupport::TestCase
|
||||
assert_equal [2], status.new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
||||
assert_equal [2], status.find_new_statuses_allowed_to([role], tracker, false, false).map(&:id)
|
||||
|
||||
assert_equal [2, 3], status.new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||
assert_equal [2, 3], status.find_new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||
assert_equal [2, 3, 5], status.new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||
assert_equal [2, 3, 5], status.find_new_statuses_allowed_to([role], tracker, true, false).map(&:id)
|
||||
|
||||
assert_equal [2, 4], status.new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||
assert_equal [2, 4], status.find_new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||
assert_equal [2, 4, 5], status.new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||
assert_equal [2, 4, 5], status.find_new_statuses_allowed_to([role], tracker, false, true).map(&:id)
|
||||
|
||||
assert_equal [2, 3, 4, 5], status.new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
||||
assert_equal [2, 3, 4, 5], status.find_new_statuses_allowed_to([role], tracker, true, true).map(&:id)
|
||||
|
||||
@@ -293,10 +293,10 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert_equal [1, 2], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
|
||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user)
|
||||
assert_equal [1, 2, 3], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
assert_equal [1, 2, 3, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
|
||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :assigned_to => user)
|
||||
assert_equal [1, 2, 4], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
assert_equal [1, 2, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
|
||||
issue = Issue.generate!(:tracker => tracker, :status => status, :project_id => 1, :author => user, :assigned_to => user)
|
||||
assert_equal [1, 2, 3, 4, 5], issue.new_statuses_allowed_to(user).map(&:id)
|
||||
@@ -674,6 +674,15 @@ class IssueTest < ActiveSupport::TestCase
|
||||
assert issue.assignable_users.include?(non_project_member)
|
||||
end
|
||||
|
||||
should "include the current assignee" do
|
||||
project = Project.find(1)
|
||||
user = User.generate!
|
||||
issue = Issue.generate_for_project!(project, :assigned_to => user)
|
||||
user.lock!
|
||||
|
||||
assert Issue.find(issue.id).assignable_users.include?(user)
|
||||
end
|
||||
|
||||
should "not show the issue author twice" do
|
||||
assignable_user_ids = Issue.find(1).assignable_users.collect(&:id)
|
||||
assert_equal 2, assignable_user_ids.length
|
||||
|
||||
@@ -20,6 +20,14 @@ begin
|
||||
# WINDOWS_PASS = Redmine::Platform.mswin?
|
||||
WINDOWS_PASS = false
|
||||
|
||||
## Git, Mercurial and CVS path encodings are binary.
|
||||
## Subversion supports URL encoding for path.
|
||||
## Redmine Mercurial adapter and extension use URL encoding.
|
||||
## Git accepts only binary path in command line parameter.
|
||||
## So, there is no way to use binary command line parameter in JRuby.
|
||||
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||
|
||||
if File.directory?(REPOSITORY_PATH)
|
||||
def setup
|
||||
adapter_class = Redmine::Scm::Adapters::GitAdapter
|
||||
@@ -262,6 +270,8 @@ begin
|
||||
def test_latin_1_path
|
||||
if WINDOWS_PASS
|
||||
#
|
||||
elsif JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
p2 = "latin-1-dir/test-#{@char_1}-2.txt"
|
||||
['4fc55c43bf3d3dc2efb66145365ddc17639ce81e', '4fc55c43bf3'].each do |r1|
|
||||
@@ -322,6 +332,8 @@ begin
|
||||
def test_entries_latin_1_dir
|
||||
if WINDOWS_PASS
|
||||
#
|
||||
elsif JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
entries1 = @adapter.entries("latin-1-dir/test-#{@char_1}-subdir",
|
||||
'1ca7f5ed')
|
||||
|
||||
@@ -56,12 +56,14 @@ begin
|
||||
end
|
||||
|
||||
def test_template_path
|
||||
to_test = { [0,9,5] => "0.9.5",
|
||||
[1,0] => "1.0",
|
||||
to_test = {
|
||||
[1,2] => "1.0",
|
||||
[] => "1.0",
|
||||
[1,0,1] => "1.0",
|
||||
[1,2,1] => "1.0",
|
||||
[1,7] => "1.0",
|
||||
[1,7,1] => "1.0" }
|
||||
[1,7,1] => "1.0",
|
||||
[2,0] => "1.0",
|
||||
}
|
||||
to_test.each do |v, template|
|
||||
test_template_path_for(v, template)
|
||||
end
|
||||
@@ -317,17 +319,21 @@ begin
|
||||
assert_equal 1, nib1.size
|
||||
case bra
|
||||
when 'branch (1)[2]&,%.-3_4'
|
||||
assert_equal 3, nib0.size
|
||||
assert_equal nib0[0], 'afc61e85bde7'
|
||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 2)
|
||||
assert_equal 2, nib2.size
|
||||
assert_equal nib2[1], '933ca60293d7'
|
||||
if @adapter.class.client_version_above?([1, 6])
|
||||
assert_equal 3, nib0.size
|
||||
assert_equal nib0[0], 'afc61e85bde7'
|
||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 2)
|
||||
assert_equal 2, nib2.size
|
||||
assert_equal nib2[1], '933ca60293d7'
|
||||
end
|
||||
when @branch_char_1
|
||||
assert_equal 2, nib0.size
|
||||
assert_equal nib0[1], '08ff3227303e'
|
||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 1)
|
||||
assert_equal 1, nib2.size
|
||||
assert_equal nib2[0], '7bbf4c738e71'
|
||||
if @adapter.class.client_version_above?([1, 6])
|
||||
assert_equal 2, nib0.size
|
||||
assert_equal nib0[1], '08ff3227303e'
|
||||
nib2 = @adapter.nodes_in_branch(bra, :limit => 1)
|
||||
assert_equal 1, nib2.size
|
||||
assert_equal nib2[0], '7bbf4c738e71'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Redmine - project management software
|
||||
# Copyright (C) 2006-2010 Jean-Philippe Lang
|
||||
# Copyright (C) 2006-2011 Jean-Philippe Lang
|
||||
#
|
||||
# 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.
|
||||
@@ -22,7 +22,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
def setup
|
||||
@formatter = Redmine::WikiFormatting::Textile::Formatter
|
||||
end
|
||||
|
||||
|
||||
MODIFIERS = {
|
||||
"*" => 'strong', # bold
|
||||
"_" => 'em', # italic
|
||||
@@ -31,7 +31,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
"^" => 'sup', # superscript
|
||||
"~" => 'sub' # subscript
|
||||
}
|
||||
|
||||
|
||||
def test_modifiers
|
||||
assert_html_output(
|
||||
'*bold*' => '<strong>bold</strong>',
|
||||
@@ -46,7 +46,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
'*(foo)two words*' => '<strong class="foo">two words</strong>'
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
def test_modifiers_combination
|
||||
MODIFIERS.each do |m1, tag1|
|
||||
MODIFIERS.each do |m2, tag2|
|
||||
@@ -57,7 +57,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_inline_code
|
||||
assert_html_output(
|
||||
'this is @some code@' => 'this is <code>some code</code>',
|
||||
@@ -76,14 +76,14 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
'h1. 2009\02\09' => '<h1>2009\02\09</h1>'
|
||||
}, false)
|
||||
end
|
||||
|
||||
|
||||
def test_double_dashes_should_not_strikethrough
|
||||
assert_html_output(
|
||||
'double -- dashes -- test' => 'double -- dashes -- test',
|
||||
'double -- *dashes* -- test' => 'double -- <strong>dashes</strong> -- test'
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
def test_acronyms
|
||||
assert_html_output(
|
||||
'this is an acronym: GPL(General Public License)' => 'this is an acronym: <acronym title="General Public License">GPL</acronym>',
|
||||
@@ -91,7 +91,7 @@ class Redmine::WikiFormatting::TextileFormatterTest < HelperTestCase
|
||||
'GPL(This is a double-quoted "title")' => '<acronym title="This is a double-quoted "title"">GPL</acronym>'
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
def test_blockquote
|
||||
# orig raw text
|
||||
raw = <<-RAW
|
||||
@@ -108,7 +108,7 @@ John said:
|
||||
|
||||
He's right.
|
||||
RAW
|
||||
|
||||
|
||||
# expected html
|
||||
expected = <<-EXPECTED
|
||||
<p>John said:</p>
|
||||
@@ -128,10 +128,10 @@ Nullam commodo metus accumsan nulla. Curabitur lobortis dui id dolor.
|
||||
</blockquote>
|
||||
<p>He's right.</p>
|
||||
EXPECTED
|
||||
|
||||
|
||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||
end
|
||||
|
||||
|
||||
def test_table
|
||||
raw = <<-RAW
|
||||
This is a table with empty cells:
|
||||
@@ -153,7 +153,7 @@ EXPECTED
|
||||
|
||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||
end
|
||||
|
||||
|
||||
def test_table_with_line_breaks
|
||||
raw = <<-RAW
|
||||
This is a table with line breaks:
|
||||
@@ -192,19 +192,26 @@ EXPECTED
|
||||
|
||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||
end
|
||||
|
||||
|
||||
def test_textile_should_not_mangle_brackets
|
||||
assert_equal '<p>[msg1][msg2]</p>', to_html('[msg1][msg2]')
|
||||
end
|
||||
|
||||
|
||||
def test_textile_should_escape_image_urls
|
||||
# this is onclick="alert('XSS');" in encoded form
|
||||
raw = '!/images/comment.png"onclick=alert('XSS');"!'
|
||||
expected = '<p><img src="/images/comment.png"onclick=&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;&#x58;&#x53;&#x53;&#x27;&#x29;;&#x22;" alt="" /></p>'
|
||||
assert_equal expected.gsub(%r{\s+}, ''), to_html(raw).gsub(%r{\s+}, '')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
|
||||
def assert_html_output(to_test, expect_paragraph = true)
|
||||
to_test.each do |text, expected|
|
||||
assert_equal(( expect_paragraph ? "<p>#{expected}</p>" : expected ), @formatter.new(text).to_html, "Formatting the following text failed:\n===\n#{text}\n===\n")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def to_html(text)
|
||||
@formatter.new(text).to_html
|
||||
end
|
||||
|
||||
@@ -278,6 +278,16 @@ class MailHandlerTest < ActiveSupport::TestCase
|
||||
assert_kind_of Issue, issue
|
||||
assert_equal tracker, issue.tracker
|
||||
end
|
||||
|
||||
def test_add_issue_from_apple_mail
|
||||
issue = submit_email('apple_mail_with_attachment.eml', :issue => {:project => 'ecookbook'})
|
||||
assert_kind_of Issue, issue
|
||||
assert_equal 1, issue.attachments.size
|
||||
|
||||
attachment = issue.attachments.first
|
||||
assert_equal 'paella.jpg', attachment.filename
|
||||
assert_equal 10790, attachment.filesize
|
||||
end
|
||||
|
||||
def test_should_ignore_emails_from_emission_address
|
||||
Role.anonymous.add_permission!(:add_issues)
|
||||
|
||||
@@ -356,7 +356,21 @@ class QueryTest < ActiveSupport::TestCase
|
||||
q.issues(:conditions => "foo = 1")
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def test_issue_count
|
||||
q = Query.new(:name => '_')
|
||||
issue_count = q.issue_count
|
||||
assert_equal q.issues.size, issue_count
|
||||
end
|
||||
|
||||
def test_issue_count_with_archived_issues
|
||||
p = Project.generate!( :status => Project::STATUS_ARCHIVED )
|
||||
i = Issue.generate!( :project => p, :tracker => p.trackers.first )
|
||||
assert !i.visible?
|
||||
|
||||
test_issue_count
|
||||
end
|
||||
|
||||
def test_issue_count_by_association_group
|
||||
q = Query.new(:name => '_', :group_by => 'assigned_to')
|
||||
count_by_group = q.issue_count_by_group
|
||||
|
||||
@@ -33,6 +33,14 @@ class RepositoryGitTest < ActiveSupport::TestCase
|
||||
# WINDOWS_PASS = Redmine::Platform.mswin?
|
||||
WINDOWS_PASS = false
|
||||
|
||||
## Git, Mercurial and CVS path encodings are binary.
|
||||
## Subversion supports URL encoding for path.
|
||||
## Redmine Mercurial adapter and extension use URL encoding.
|
||||
## Git accepts only binary path in command line parameter.
|
||||
## So, there is no way to use binary command line parameter in JRuby.
|
||||
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
|
||||
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
|
||||
|
||||
if File.directory?(REPOSITORY_PATH)
|
||||
def setup
|
||||
klass = Repository::Git
|
||||
@@ -308,24 +316,30 @@ class RepositoryGitTest < ActiveSupport::TestCase
|
||||
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
|
||||
], changesets.collect(&:revision)
|
||||
|
||||
# latin-1 encoding path
|
||||
changesets = @repository.latest_changesets(
|
||||
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
|
||||
assert_equal [
|
||||
if JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
# latin-1 encoding path
|
||||
changesets = @repository.latest_changesets(
|
||||
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
|
||||
assert_equal [
|
||||
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
||||
'4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
|
||||
], changesets.collect(&:revision)
|
||||
|
||||
changesets = @repository.latest_changesets(
|
||||
changesets = @repository.latest_changesets(
|
||||
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
|
||||
assert_equal [
|
||||
assert_equal [
|
||||
'64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
|
||||
], changesets.collect(&:revision)
|
||||
end
|
||||
end
|
||||
|
||||
def test_latest_changesets_latin_1_dir
|
||||
if WINDOWS_PASS
|
||||
#
|
||||
elsif JRUBY_SKIP
|
||||
puts JRUBY_SKIP_STR
|
||||
else
|
||||
@repository.fetch_changesets
|
||||
@repository.reload
|
||||
|
||||
@@ -158,8 +158,10 @@ class RepositoryMercurialTest < ActiveSupport::TestCase
|
||||
assert_equal %w|4 3|, changesets.collect(&:revision)
|
||||
|
||||
# named branch
|
||||
changesets = @repository.latest_changesets('', @branch_char_1)
|
||||
assert_equal %w|27 26|, changesets.collect(&:revision)
|
||||
if @repository.scm.class.client_version_above?([1, 6])
|
||||
changesets = @repository.latest_changesets('', @branch_char_1)
|
||||
assert_equal %w|27 26|, changesets.collect(&:revision)
|
||||
end
|
||||
|
||||
changesets = @repository.latest_changesets("latin-1-dir/test-#{@char_1}-subdir", @branch_char_1)
|
||||
assert_equal %w|27|, changesets.collect(&:revision)
|
||||
|
||||
@@ -446,16 +446,16 @@ module CollectiveIdea #:nodoc:
|
||||
def prune_from_tree
|
||||
return if right.nil? || left.nil? || leaf? || !self.class.exists?(id)
|
||||
|
||||
delete_method = acts_as_nested_set_options[:dependent] == :destroy ?
|
||||
:destroy_all : :delete_all
|
||||
|
||||
# TODO: should destroy children (not descendants) when deleted_method is :destroy_all
|
||||
self.class.base_class.transaction do
|
||||
reload_nested_set
|
||||
nested_set_scope.send(delete_method,
|
||||
["#{quoted_left_column_name} > ? AND #{quoted_right_column_name} < ?",
|
||||
left, right]
|
||||
)
|
||||
if acts_as_nested_set_options[:dependent] == :destroy
|
||||
children.each(&:destroy)
|
||||
else
|
||||
nested_set_scope.send(:delete_all,
|
||||
["#{quoted_left_column_name} > ? AND #{quoted_right_column_name} < ?",
|
||||
left, right]
|
||||
)
|
||||
end
|
||||
reload_nested_set
|
||||
diff = right - left + 1
|
||||
nested_set_scope.update_all(
|
||||
|
||||
448
vendor/plugins/rfpdf/lib/barcode/barcode.rb
vendored
448
vendor/plugins/rfpdf/lib/barcode/barcode.rb
vendored
@@ -1,448 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : barcode.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2005-01-02
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# Version : 1.1 [0.0.8a (original code)]
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Generic Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
# - $mCharSet and $mChars variables were added here
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Barcode Render Class for PHP using the GD graphics library.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
# Styles
|
||||
# Global
|
||||
|
||||
#
|
||||
# option: generate barcode border
|
||||
#
|
||||
define("BCS_BORDER", 1);
|
||||
|
||||
#
|
||||
# option: use transparent background
|
||||
#
|
||||
define("BCS_TRANSPARENT", 2);
|
||||
|
||||
#
|
||||
# option: center barcode
|
||||
#
|
||||
define("BCS_ALIGN_CENTER", 4);
|
||||
|
||||
#
|
||||
# option: align left
|
||||
#
|
||||
define("BCS_ALIGN_LEFT", 8);
|
||||
|
||||
#
|
||||
# option: align right
|
||||
#
|
||||
define("BCS_ALIGN_RIGHT", 16);
|
||||
|
||||
#
|
||||
# option: generate JPEG image
|
||||
#
|
||||
define("BCS_IMAGE_JPEG", 32);
|
||||
|
||||
#
|
||||
# option: generate PNG image
|
||||
#
|
||||
define("BCS_IMAGE_PNG", 64);
|
||||
|
||||
#
|
||||
# option: draw text
|
||||
#
|
||||
define("BCS_DRAW_TEXT", 128);
|
||||
|
||||
#
|
||||
# option: stretch text
|
||||
#
|
||||
define("BCS_STRETCH_TEXT", 256);
|
||||
|
||||
#
|
||||
# option: reverse color
|
||||
#
|
||||
define("BCS_REVERSE_COLOR", 512);
|
||||
|
||||
#
|
||||
# option: draw check
|
||||
# (only for I25 code)
|
||||
#
|
||||
define("BCS_I25_DRAW_CHECK", 2048);
|
||||
|
||||
#
|
||||
# set default background color
|
||||
#
|
||||
define("BCD_DEFAULT_BACKGROUND_COLOR", 0xFFFFFF);
|
||||
|
||||
#
|
||||
# set default foreground color
|
||||
#
|
||||
define("BCD_DEFAULT_FOREGROUND_COLOR", 0x000000);
|
||||
|
||||
#
|
||||
# set default style options
|
||||
#
|
||||
define("BCD_DEFAULT_STYLE", BCS_BORDER | BCS_ALIGN_CENTER | BCS_IMAGE_PNG);
|
||||
|
||||
#
|
||||
# set default width
|
||||
#
|
||||
define("BCD_DEFAULT_WIDTH", 460);
|
||||
|
||||
#
|
||||
# set default height
|
||||
#
|
||||
define("BCD_DEFAULT_HEIGHT", 120);
|
||||
|
||||
#
|
||||
# set default font
|
||||
#
|
||||
define("BCD_DEFAULT_FONT", 5);
|
||||
|
||||
#
|
||||
# st default horizontal resolution
|
||||
#
|
||||
define("BCD_DEFAULT_XRES", 2);
|
||||
|
||||
# Margins
|
||||
|
||||
#
|
||||
# set default margin
|
||||
#
|
||||
define("BCD_DEFAULT_MAR_Y1", 0);
|
||||
|
||||
#
|
||||
# set default margin
|
||||
#
|
||||
define("BCD_DEFAULT_MAR_Y2", 0);
|
||||
|
||||
#
|
||||
# set default text offset
|
||||
#
|
||||
define("BCD_DEFAULT_TEXT_OFFSET", 2);
|
||||
|
||||
# For the I25 Only
|
||||
|
||||
#
|
||||
# narrow bar option
|
||||
# (only for I25 code)
|
||||
#
|
||||
define("BCD_I25_NARROW_BAR", 1);
|
||||
|
||||
#
|
||||
# wide bar option
|
||||
# (only for I25 code)
|
||||
#
|
||||
define("BCD_I25_WIDE_BAR", 2);
|
||||
|
||||
# For the C39 Only
|
||||
|
||||
#
|
||||
# narrow bar option
|
||||
# (only for c39 code)
|
||||
#
|
||||
define("BCD_C39_NARROW_BAR", 1);
|
||||
|
||||
#
|
||||
# wide bar option
|
||||
# (only for c39 code)
|
||||
#
|
||||
define("BCD_C39_WIDE_BAR", 2);
|
||||
|
||||
# For Code 128
|
||||
|
||||
#
|
||||
# set type 1 bar
|
||||
# (only for c128 code)
|
||||
#
|
||||
define("BCD_C128_BAR_1", 1);
|
||||
|
||||
#
|
||||
# set type 2 bar
|
||||
# (only for c128 code)
|
||||
#
|
||||
define("BCD_C128_BAR_2", 2);
|
||||
|
||||
#
|
||||
# set type 3 bar
|
||||
# (only for c128 code)
|
||||
#
|
||||
define("BCD_C128_BAR_3", 3);
|
||||
|
||||
#
|
||||
# set type 4 bar
|
||||
# (only for c128 code)
|
||||
#
|
||||
define("BCD_C128_BAR_4", 4);
|
||||
|
||||
#
|
||||
# Barcode Render Class for PHP using the GD graphics library.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class BarcodeObject {
|
||||
#
|
||||
# @var Image width in pixels.
|
||||
# @access protected
|
||||
#
|
||||
protected $mWidth;
|
||||
|
||||
#
|
||||
# @var Image height in pixels.
|
||||
# @access protected
|
||||
#
|
||||
protected $mHeight;
|
||||
|
||||
#
|
||||
# @var Numeric code for Barcode style.
|
||||
# @access protected
|
||||
#
|
||||
protected $mStyle;
|
||||
|
||||
#
|
||||
# @var Background color.
|
||||
# @access protected
|
||||
#
|
||||
protected $mBgcolor;
|
||||
|
||||
#
|
||||
# @var Brush color.
|
||||
# @access protected
|
||||
#
|
||||
protected $mBrush;
|
||||
|
||||
#
|
||||
# @var Image object.
|
||||
# @access protected
|
||||
#
|
||||
protected $mImg;
|
||||
|
||||
#
|
||||
# @var Numeric code for character font.
|
||||
# @access protected
|
||||
#
|
||||
protected $mFont;
|
||||
|
||||
#
|
||||
# @var Error message.
|
||||
# @access protected
|
||||
#
|
||||
protected $mError;
|
||||
|
||||
#
|
||||
# @var Character Set.
|
||||
# @access protected
|
||||
#
|
||||
protected $mCharSet;
|
||||
|
||||
#
|
||||
# @var Allowed symbols.
|
||||
# @access protected
|
||||
#
|
||||
protected $mChars;
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
#
|
||||
def __construct($Width=BCD_DEFAULT_WIDTH, $Height=BCD_DEFAULT_HEIGHT, $Style=BCD_DEFAULT_STYLE)
|
||||
@mWidth = $Width;
|
||||
@mHeight = $Height;
|
||||
@mStyle = $Style;
|
||||
@mFont = BCD_DEFAULT_FONT;
|
||||
@mImg = ImageCreate(@mWidth, @mHeight);
|
||||
$dbColor = @mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_FOREGROUND_COLOR : BCD_DEFAULT_BACKGROUND_COLOR;
|
||||
$dfColor = @mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_BACKGROUND_COLOR : BCD_DEFAULT_FOREGROUND_COLOR;
|
||||
@mBgcolor = ImageColorAllocate(@mImg, ($dbColor & 0xFF0000) >> 16,
|
||||
($dbColor & 0x00FF00) >> 8, $dbColor & 0x0000FF);
|
||||
@mBrush = ImageColorAllocate(@mImg, ($dfColor & 0xFF0000) >> 16,
|
||||
($dfColor & 0x00FF00) >> 8, $dfColor & 0x0000FF);
|
||||
if (!(@mStyle & BCS_TRANSPARENT))
|
||||
ImageFill(@mImg, @mWidth, @mHeight, @mBgcolor);
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Class Destructor.
|
||||
# Destroy image object.
|
||||
#
|
||||
def __destructor()
|
||||
@DestroyObject();
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the image object.
|
||||
# @return object image.
|
||||
# @author Nicola Asuni
|
||||
# @since 1.5.2
|
||||
#
|
||||
def getImage()
|
||||
return @mImg;
|
||||
end
|
||||
|
||||
#
|
||||
# Abstract method used to draw the barcode image.
|
||||
# @param int $xres Horizontal resolution.
|
||||
#
|
||||
def DrawObject($xres) {
|
||||
# there is not implementation neded, is simply the asbsract function.#
|
||||
return false;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode border.
|
||||
# @access protected
|
||||
#
|
||||
protected function DrawBorder()
|
||||
ImageRectangle(@mImg, 0, 0, @mWidth-1, @mHeight-1, @mBrush);
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the alphanumeric code.
|
||||
# @param int $Font Font type.
|
||||
# @param int $xPos Horiziontal position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $Char Alphanumeric code to write.
|
||||
# @access protected
|
||||
#
|
||||
protected function DrawChar($Font, $xPos, $yPos, $Char)
|
||||
ImageString(@mImg,$Font,$xPos,$yPos,$Char,@mBrush);
|
||||
end
|
||||
|
||||
#
|
||||
# Draws a character string.
|
||||
# @param int $Font Font type.
|
||||
# @param int $xPos Horiziontal position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $Char string to write.
|
||||
# @access protected
|
||||
#
|
||||
protected function DrawText($Font, $xPos, $yPos, $Char)
|
||||
ImageString(@mImg,$Font,$xPos,$yPos,$Char,@mBrush);
|
||||
end
|
||||
|
||||
#
|
||||
# Draws a single barcode bar.
|
||||
# @param int $xPos Horiziontal position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $xSize Horizontal size.
|
||||
# @param int $xSize Vertical size.
|
||||
# @return bool trur in case of success, false otherwise.
|
||||
# @access protected
|
||||
#
|
||||
protected function DrawSingleBar($xPos, $yPos, $xSize, $ySize)
|
||||
if ($xPos>=0 && $xPos<=@mWidth && ($xPos+$xSize)<=@mWidth &&
|
||||
$yPos>=0 && $yPos<=@mHeight && ($yPos+$ySize)<=@mHeight)
|
||||
for ($i=0;$i<$xSize;$i++)
|
||||
ImageLine(@mImg, $xPos+$i, $yPos, $xPos+$i, $yPos+$ySize, @mBrush);
|
||||
end
|
||||
return true;
|
||||
end
|
||||
return false;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the current error message.
|
||||
# @return string error message.
|
||||
#
|
||||
def GetError()
|
||||
return @mError;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the font height.
|
||||
# @param int $font font type.
|
||||
# @return int font height.
|
||||
#
|
||||
def GetFontHeight($font)
|
||||
return ImageFontHeight($font);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the font width.
|
||||
# @param int $font font type.
|
||||
# @return int font width.
|
||||
#
|
||||
def GetFontWidth($font)
|
||||
return ImageFontWidth($font);
|
||||
end
|
||||
|
||||
#
|
||||
# Set font type.
|
||||
# @param int $font font type.
|
||||
#
|
||||
def SetFont($font)
|
||||
@mFont = $font;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode style.
|
||||
# @return int barcode style.
|
||||
#
|
||||
def GetStyle()
|
||||
return @mStyle;
|
||||
end
|
||||
|
||||
#
|
||||
# Set barcode style.
|
||||
# @param int $Style barcode style.
|
||||
#
|
||||
def SetStyle ($Style)
|
||||
@mStyle = $Style;
|
||||
end
|
||||
|
||||
#
|
||||
# Flush the barcode image.
|
||||
#
|
||||
def FlushObject()
|
||||
if ((@mStyle & BCS_BORDER))
|
||||
@DrawBorder();
|
||||
end
|
||||
if (@mStyle & BCS_IMAGE_PNG)
|
||||
Header("Content-Type: image/png");
|
||||
ImagePng(@mImg);
|
||||
elsif (@mStyle & BCS_IMAGE_JPEG)
|
||||
Header("Content-Type: image/jpeg");
|
||||
ImageJpeg(@mImg);
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
# Destroy the barcode image.
|
||||
#
|
||||
def DestroyObject()
|
||||
ImageDestroy(@mImg);
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
393
vendor/plugins/rfpdf/lib/barcode/c128aobject.rb
vendored
393
vendor/plugins/rfpdf/lib/barcode/c128aobject.rb
vendored
@@ -1,393 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : c128aobject.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2004-12-29
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Code 128-A Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
# Code 128-A is a continuous, multilevel and
|
||||
# include all upper case alphanumeric characters
|
||||
# and ASCII control characters.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
# Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class C128AObject extends BarcodeObject {
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
# @param int $Value value to print on barcode.
|
||||
#
|
||||
def __construct($Width, $Height, $Style, $Value)
|
||||
parent::__construct($Width, $Height, $Style);
|
||||
@mValue = $Value;
|
||||
@mChars = " !\"#$%&'()*+<2B>-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
|
||||
@mCharSet = array (
|
||||
"212222", # 00#
|
||||
"222122", # 01#
|
||||
"222221", # 02#
|
||||
"121223", # 03#
|
||||
"121322", # 04#
|
||||
"131222", # 05#
|
||||
"122213", # 06#
|
||||
"122312", # 07#
|
||||
"132212", # 08#
|
||||
"221213", # 09#
|
||||
"221312", # 10#
|
||||
"231212", # 11#
|
||||
"112232", # 12#
|
||||
"122132", # 13#
|
||||
"122231", # 14#
|
||||
"113222", # 15#
|
||||
"123122", # 16#
|
||||
"123221", # 17#
|
||||
"223211", # 18#
|
||||
"221132", # 19#
|
||||
"221231", # 20#
|
||||
"213212", # 21#
|
||||
"223112", # 22#
|
||||
"312131", # 23#
|
||||
"311222", # 24#
|
||||
"321122", # 25#
|
||||
"321221", # 26#
|
||||
"312212", # 27#
|
||||
"322112", # 28#
|
||||
"322211", # 29#
|
||||
"212123", # 30#
|
||||
"212321", # 31#
|
||||
"232121", # 32#
|
||||
"111323", # 33#
|
||||
"131123", # 34#
|
||||
"131321", # 35#
|
||||
"112313", # 36#
|
||||
"132113", # 37#
|
||||
"132311", # 38#
|
||||
"211313", # 39#
|
||||
"231113", # 40#
|
||||
"231311", # 41#
|
||||
"112133", # 42#
|
||||
"112331", # 43#
|
||||
"132131", # 44#
|
||||
"113123", # 45#
|
||||
"113321", # 46#
|
||||
"133121", # 47#
|
||||
"313121", # 48#
|
||||
"211331", # 49#
|
||||
"231131", # 50#
|
||||
"213113", # 51#
|
||||
"213311", # 52#
|
||||
"213131", # 53#
|
||||
"311123", # 54#
|
||||
"311321", # 55#
|
||||
"331121", # 56#
|
||||
"312113", # 57#
|
||||
"312311", # 58#
|
||||
"332111", # 59#
|
||||
"314111", # 60#
|
||||
"221411", # 61#
|
||||
"431111", # 62#
|
||||
"111224", # 63#
|
||||
"111422", # 64#
|
||||
"121124", # 65#
|
||||
"121421", # 66#
|
||||
"141122", # 67#
|
||||
"141221", # 68#
|
||||
"112214", # 69#
|
||||
"112412", # 70#
|
||||
"122114", # 71#
|
||||
"122411", # 72#
|
||||
"142112", # 73#
|
||||
"142211", # 74#
|
||||
"241211", # 75#
|
||||
"221114", # 76#
|
||||
"413111", # 77#
|
||||
"241112", # 78#
|
||||
"134111", # 79#
|
||||
"111242", # 80#
|
||||
"121142", # 81#
|
||||
"121241", # 82#
|
||||
"114212", # 83#
|
||||
"124112", # 84#
|
||||
"124211", # 85#
|
||||
"411212", # 86#
|
||||
"421112", # 87#
|
||||
"421211", # 88#
|
||||
"212141", # 89#
|
||||
"214121", # 90#
|
||||
"412121", # 91#
|
||||
"111143", # 92#
|
||||
"111341", # 93#
|
||||
"131141", # 94#
|
||||
"114113", # 95#
|
||||
"114311", # 96#
|
||||
"411113", # 97#
|
||||
"411311", # 98#
|
||||
"113141", # 99#
|
||||
"114131", # 100#
|
||||
"311141", # 101#
|
||||
"411131" # 102#
|
||||
);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the character index.
|
||||
# @param char $char character.
|
||||
# @return int character index or -1 in case of error.
|
||||
# @access private
|
||||
#
|
||||
def GetCharIndex($char)
|
||||
for ($i=0;$i<64;$i++)
|
||||
if (@mChars[$i] == $char)
|
||||
return $i;
|
||||
end
|
||||
end
|
||||
return -1;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the bar size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @param char $char Character.
|
||||
# @return int barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetBarSize($xres, $char)
|
||||
switch ($char)
|
||||
case '1'
|
||||
$cVal = BCD_C128_BAR_1;
|
||||
|
||||
case '2'
|
||||
$cVal = BCD_C128_BAR_2;
|
||||
|
||||
case '3'
|
||||
$cVal = BCD_C128_BAR_3;
|
||||
|
||||
case '4'
|
||||
$cVal = BCD_C128_BAR_4;
|
||||
|
||||
default
|
||||
$cVal = 0;
|
||||
end
|
||||
end
|
||||
return $cVal# $xres;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetSize($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if ($len == 0) {
|
||||
@mError = "Null value";
|
||||
return false;
|
||||
end
|
||||
$ret = 0;
|
||||
for ($i=0;$i<$len;$i++)
|
||||
if (($id = GetCharIndex(@mValue[$i])) == -1)
|
||||
@mError = "C128A not include the char '".@mValue[$i]."'";
|
||||
return false;
|
||||
else
|
||||
$cset = @mCharSet[$id];
|
||||
$ret += GetBarSize($xres, $cset[0]);
|
||||
$ret += GetBarSize($xres, $cset[1]);
|
||||
$ret += GetBarSize($xres, $cset[2]);
|
||||
$ret += GetBarSize($xres, $cset[3]);
|
||||
$ret += GetBarSize($xres, $cset[4]);
|
||||
$ret += GetBarSize($xres, $cset[5]);
|
||||
end
|
||||
end
|
||||
|
||||
# length of Check character#
|
||||
$cset = GetCheckCharValue();
|
||||
$CheckSize = 0;
|
||||
for ($i=0;$i<6;$i++)
|
||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
||||
end
|
||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the check-char value.
|
||||
# @return string.
|
||||
# @access private
|
||||
#
|
||||
def GetCheckCharValue()
|
||||
$len = @mValue.length;
|
||||
$sum = 103; # 'A' type;
|
||||
for ($i=0;$i<$len;$i++)
|
||||
$sum += GetCharIndex(@mValue[$i])# ($i+1);
|
||||
end
|
||||
$check = $sum % 103;
|
||||
return @mCharSet[$check];
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the start code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
||||
# Start code is '211412'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('4', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the stop code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
||||
# Stop code is '2331112'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the check-char code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
||||
$cset = GetCheckCharValue();
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode object.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return bool true in case of success.
|
||||
#
|
||||
def DrawObject($xres)
|
||||
$len = @mValue.length;
|
||||
if (($size = GetSize($xres))==0)
|
||||
return false;
|
||||
end
|
||||
|
||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
||||
else $sPos = 0;
|
||||
|
||||
# Total height of bar code -Bars only-#
|
||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
||||
|
||||
# Draw text#
|
||||
if (@mStyle & BCS_DRAW_TEXT)
|
||||
if (@mStyle & BCS_STRETCH_TEXT)
|
||||
for ($i=0;$i<$len;$i++)
|
||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
||||
else# Center#
|
||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
||||
end
|
||||
end
|
||||
|
||||
$cPos = 0;
|
||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
do {
|
||||
$c = GetCharIndex(@mValue[$cPos]);
|
||||
$cset = @mCharSet[$c];
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
$cPos += 1;
|
||||
end while ($cPos<$len);
|
||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
return true;
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
393
vendor/plugins/rfpdf/lib/barcode/c128bobject.rb
vendored
393
vendor/plugins/rfpdf/lib/barcode/c128bobject.rb
vendored
@@ -1,393 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : c128bobject.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2004-12-29
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Code 128-B Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
# Code 128-B is a continuous, multilevel and full
|
||||
# ASCII code.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-B is a continuous, multilevel and full ASCII code.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
# Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-B is a continuous, multilevel and full ASCII code.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class C128BObject extends BarcodeObject {
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
# @param int $Value value to print on barcode.
|
||||
#
|
||||
def __construct($Width, $Height, $Style, $Value)
|
||||
parent::__construct($Width, $Height, $Style);
|
||||
@mValue = $Value;
|
||||
@mChars = " !\"#$%&'()*+<2B>-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{ }~";
|
||||
@mCharSet = array (
|
||||
"212222", # 00#
|
||||
"222122", # 01#
|
||||
"222221", # 02#
|
||||
"121223", # 03#
|
||||
"121322", # 04#
|
||||
"131222", # 05#
|
||||
"122213", # 06#
|
||||
"122312", # 07#
|
||||
"132212", # 08#
|
||||
"221213", # 09#
|
||||
"221312", # 10#
|
||||
"231212", # 11#
|
||||
"112232", # 12#
|
||||
"122132", # 13#
|
||||
"122231", # 14#
|
||||
"113222", # 15#
|
||||
"123122", # 16#
|
||||
"123221", # 17#
|
||||
"223211", # 18#
|
||||
"221132", # 19#
|
||||
"221231", # 20#
|
||||
"213212", # 21#
|
||||
"223112", # 22#
|
||||
"312131", # 23#
|
||||
"311222", # 24#
|
||||
"321122", # 25#
|
||||
"321221", # 26#
|
||||
"312212", # 27#
|
||||
"322112", # 28#
|
||||
"322211", # 29#
|
||||
"212123", # 30#
|
||||
"212321", # 31#
|
||||
"232121", # 32#
|
||||
"111323", # 33#
|
||||
"131123", # 34#
|
||||
"131321", # 35#
|
||||
"112313", # 36#
|
||||
"132113", # 37#
|
||||
"132311", # 38#
|
||||
"211313", # 39#
|
||||
"231113", # 40#
|
||||
"231311", # 41#
|
||||
"112133", # 42#
|
||||
"112331", # 43#
|
||||
"132131", # 44#
|
||||
"113123", # 45#
|
||||
"113321", # 46#
|
||||
"133121", # 47#
|
||||
"313121", # 48#
|
||||
"211331", # 49#
|
||||
"231131", # 50#
|
||||
"213113", # 51#
|
||||
"213311", # 52#
|
||||
"213131", # 53#
|
||||
"311123", # 54#
|
||||
"311321", # 55#
|
||||
"331121", # 56#
|
||||
"312113", # 57#
|
||||
"312311", # 58#
|
||||
"332111", # 59#
|
||||
"314111", # 60#
|
||||
"221411", # 61#
|
||||
"431111", # 62#
|
||||
"111224", # 63#
|
||||
"111422", # 64#
|
||||
"121124", # 65#
|
||||
"121421", # 66#
|
||||
"141122", # 67#
|
||||
"141221", # 68#
|
||||
"112214", # 69#
|
||||
"112412", # 70#
|
||||
"122114", # 71#
|
||||
"122411", # 72#
|
||||
"142112", # 73#
|
||||
"142211", # 74#
|
||||
"241211", # 75#
|
||||
"221114", # 76#
|
||||
"413111", # 77#
|
||||
"241112", # 78#
|
||||
"134111", # 79#
|
||||
"111242", # 80#
|
||||
"121142", # 81#
|
||||
"121241", # 82#
|
||||
"114212", # 83#
|
||||
"124112", # 84#
|
||||
"124211", # 85#
|
||||
"411212", # 86#
|
||||
"421112", # 87#
|
||||
"421211", # 88#
|
||||
"212141", # 89#
|
||||
"214121", # 90#
|
||||
"412121", # 91#
|
||||
"111143", # 92#
|
||||
"111341", # 93#
|
||||
"131141", # 94#
|
||||
"114113", # 95#
|
||||
"114311", # 96#
|
||||
"411113", # 97#
|
||||
"411311", # 98#
|
||||
"113141", # 99#
|
||||
"114131", # 100#
|
||||
"311141", # 101#
|
||||
"411131" # 102#
|
||||
);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the character index.
|
||||
# @param char $char character.
|
||||
# @return int character index or -1 in case of error.
|
||||
# @access private
|
||||
#
|
||||
def GetCharIndex($char)
|
||||
for ($i=0;$i<95;$i++)
|
||||
if (@mChars[$i] == $char)
|
||||
return $i;
|
||||
end
|
||||
end
|
||||
return -1;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the bar size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @param char $char Character.
|
||||
# @return int barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetBarSize($xres, $char)
|
||||
switch ($char)
|
||||
case '1'
|
||||
$cVal = BCD_C128_BAR_1;
|
||||
|
||||
case '2'
|
||||
$cVal = BCD_C128_BAR_2;
|
||||
|
||||
case '3'
|
||||
$cVal = BCD_C128_BAR_3;
|
||||
|
||||
case '4'
|
||||
$cVal = BCD_C128_BAR_4;
|
||||
|
||||
default
|
||||
$cVal = 0;
|
||||
end
|
||||
end
|
||||
return $cVal# $xres;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetSize($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if ($len == 0) {
|
||||
@mError = "Null value";
|
||||
return false;
|
||||
end
|
||||
$ret = 0;
|
||||
for ($i=0;$i<$len;$i++)
|
||||
if (($id = GetCharIndex(@mValue[$i])) == -1)
|
||||
@mError = "C128B not include the char '".@mValue[$i]."'";
|
||||
return false;
|
||||
else
|
||||
$cset = @mCharSet[$id];
|
||||
$ret += GetBarSize($xres, $cset[0]);
|
||||
$ret += GetBarSize($xres, $cset[1]);
|
||||
$ret += GetBarSize($xres, $cset[2]);
|
||||
$ret += GetBarSize($xres, $cset[3]);
|
||||
$ret += GetBarSize($xres, $cset[4]);
|
||||
$ret += GetBarSize($xres, $cset[5]);
|
||||
end
|
||||
end
|
||||
# length of Check character#
|
||||
$cset = GetCheckCharValue();
|
||||
$CheckSize = 0;
|
||||
for ($i=0;$i<6;$i++)
|
||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
||||
end
|
||||
|
||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
||||
|
||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the check-char value.
|
||||
# @return string.
|
||||
# @access private
|
||||
#
|
||||
def GetCheckCharValue()
|
||||
$len = @mValue.length;
|
||||
$sum = 104; # 'B' type;
|
||||
for ($i=0;$i<$len;$i++)
|
||||
$sum += GetCharIndex(@mValue[$i])# ($i+1);
|
||||
end
|
||||
$check = $sum % 103;
|
||||
return @mCharSet[$check];
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the start code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
||||
# Start code is '211214'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres), $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres), $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres), $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('4', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the stop code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
||||
# Stop code is '2331112'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the check-char code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
||||
$cset = GetCheckCharValue();
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode object.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return bool true in case of success.
|
||||
#
|
||||
def DrawObject($xres)
|
||||
$len = @mValue.length;
|
||||
if (($size = GetSize($xres))==0)
|
||||
return false;
|
||||
end
|
||||
|
||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
||||
else $sPos = 0;
|
||||
|
||||
# Total height of bar code -Bars only-#
|
||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
||||
|
||||
# Draw text#
|
||||
if (@mStyle & BCS_DRAW_TEXT)
|
||||
if (@mStyle & BCS_STRETCH_TEXT)
|
||||
for ($i=0;$i<$len;$i++)
|
||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
||||
else# Center#
|
||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
||||
end
|
||||
end
|
||||
|
||||
$cPos = 0;
|
||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
do {
|
||||
$c = GetCharIndex(@mValue[$cPos]);
|
||||
$cset = @mCharSet[$c];
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
$cPos += 1;
|
||||
end while ($cPos<$len);
|
||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
return true;
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
414
vendor/plugins/rfpdf/lib/barcode/c128cobject.rb
vendored
414
vendor/plugins/rfpdf/lib/barcode/c128cobject.rb
vendored
@@ -1,414 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : c128cobject.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2004-12-29
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# : Sam Michaels [swampgas@swampgas.org]
|
||||
# : Nicola Asuni [info@tecnick.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Code 128-C Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
# Code 128-C is numeric only and provides the
|
||||
# most efficiency.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-C is numeric only and provides the most efficiency.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
# Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
|
||||
# Code 128-C is numeric only and provides the most efficiency.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class C128CObject extends BarcodeObject {
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
# @param int $Value value to print on barcode.
|
||||
#
|
||||
def __construct($Width, $Height, $Style, $Value)
|
||||
parent::__construct($Width, $Height, $Style);
|
||||
@mValue = $Value;
|
||||
@mChars = array (
|
||||
"00", "01", "02", "03", "04", "05", "06", "07", "08", "09",
|
||||
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
|
||||
"20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
|
||||
"30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
|
||||
"40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
|
||||
"50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
|
||||
"60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
|
||||
"70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
|
||||
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
|
||||
"90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
|
||||
);
|
||||
@mCharSet = array (
|
||||
"212222", # 00#
|
||||
"222122", # 01#
|
||||
"222221", # 02#
|
||||
"121223", # 03#
|
||||
"121322", # 04#
|
||||
"131222", # 05#
|
||||
"122213", # 06#
|
||||
"122312", # 07#
|
||||
"132212", # 08#
|
||||
"221213", # 09#
|
||||
"221312", # 10#
|
||||
"231212", # 11#
|
||||
"112232", # 12#
|
||||
"122132", # 13#
|
||||
"122231", # 14#
|
||||
"113222", # 15#
|
||||
"123122", # 16#
|
||||
"123221", # 17#
|
||||
"223211", # 18#
|
||||
"221132", # 19#
|
||||
"221231", # 20#
|
||||
"213212", # 21#
|
||||
"223112", # 22#
|
||||
"312131", # 23#
|
||||
"311222", # 24#
|
||||
"321122", # 25#
|
||||
"321221", # 26#
|
||||
"312212", # 27#
|
||||
"322112", # 28#
|
||||
"322211", # 29#
|
||||
"212123", # 30#
|
||||
"212321", # 31#
|
||||
"232121", # 32#
|
||||
"111323", # 33#
|
||||
"131123", # 34#
|
||||
"131321", # 35#
|
||||
"112313", # 36#
|
||||
"132113", # 37#
|
||||
"132311", # 38#
|
||||
"211313", # 39#
|
||||
"231113", # 40#
|
||||
"231311", # 41#
|
||||
"112133", # 42#
|
||||
"112331", # 43#
|
||||
"132131", # 44#
|
||||
"113123", # 45#
|
||||
"113321", # 46#
|
||||
"133121", # 47#
|
||||
"313121", # 48#
|
||||
"211331", # 49#
|
||||
"231131", # 50#
|
||||
"213113", # 51#
|
||||
"213311", # 52#
|
||||
"213131", # 53#
|
||||
"311123", # 54#
|
||||
"311321", # 55#
|
||||
"331121", # 56#
|
||||
"312113", # 57#
|
||||
"312311", # 58#
|
||||
"332111", # 59#
|
||||
"314111", # 60#
|
||||
"221411", # 61#
|
||||
"431111", # 62#
|
||||
"111224", # 63#
|
||||
"111422", # 64#
|
||||
"121124", # 65#
|
||||
"121421", # 66#
|
||||
"141122", # 67#
|
||||
"141221", # 68#
|
||||
"112214", # 69#
|
||||
"112412", # 70#
|
||||
"122114", # 71#
|
||||
"122411", # 72#
|
||||
"142112", # 73#
|
||||
"142211", # 74#
|
||||
"241211", # 75#
|
||||
"221114", # 76#
|
||||
"413111", # 77#
|
||||
"241112", # 78#
|
||||
"134111", # 79#
|
||||
"111242", # 80#
|
||||
"121142", # 81#
|
||||
"121241", # 82#
|
||||
"114212", # 83#
|
||||
"124112", # 84#
|
||||
"124211", # 85#
|
||||
"411212", # 86#
|
||||
"421112", # 87#
|
||||
"421211", # 88#
|
||||
"212141", # 89#
|
||||
"214121", # 90#
|
||||
"412121", # 91#
|
||||
"111143", # 92#
|
||||
"111341", # 93#
|
||||
"131141", # 94#
|
||||
"114113", # 95#
|
||||
"114311", # 96#
|
||||
"411113", # 97#
|
||||
"411311", # 98#
|
||||
"113141", # 99#
|
||||
);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the character index.
|
||||
# @param char $char character.
|
||||
# @return int character index or -1 in case of error.
|
||||
# @access private
|
||||
#
|
||||
def GetCharIndex($char)
|
||||
for ($i=0;$i<100;$i++)
|
||||
if (@mChars[$i] == $char)
|
||||
return $i;
|
||||
end
|
||||
end
|
||||
return -1;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the bar size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @param char $char Character.
|
||||
# @return int barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetBarSize($xres, $char)
|
||||
switch ($char)
|
||||
case '1'
|
||||
$cVal = BCD_C128_BAR_1;
|
||||
|
||||
case '2'
|
||||
$cVal = BCD_C128_BAR_2;
|
||||
|
||||
case '3'
|
||||
$cVal = BCD_C128_BAR_3;
|
||||
|
||||
case '4'
|
||||
$cVal = BCD_C128_BAR_4;
|
||||
|
||||
default
|
||||
$cVal = 0;
|
||||
end
|
||||
end
|
||||
return $cVal# $xres;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetSize($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if ($len == 0) {
|
||||
@mError = "Null value";
|
||||
return false;
|
||||
end
|
||||
$ret = 0;
|
||||
|
||||
for ($i=0;$i<$len;$i++)
|
||||
if ((@mValue[$i][0] < 48) || (@mValue[$i][0] > 57))
|
||||
@mError = "Code-128C is numeric only";
|
||||
return false;
|
||||
end
|
||||
end
|
||||
|
||||
if (($len%2) != 0)
|
||||
@mError = "The length of barcode value must be even. You must pad the number with zeros.";
|
||||
return false;
|
||||
end
|
||||
|
||||
for ($i=0;$i<$len;$i+=2)
|
||||
$id = GetCharIndex(@mValue[$i].@mValue[$i+1]);
|
||||
$cset = @mCharSet[$id];
|
||||
$ret += GetBarSize($xres, $cset[0]);
|
||||
$ret += GetBarSize($xres, $cset[1]);
|
||||
$ret += GetBarSize($xres, $cset[2]);
|
||||
$ret += GetBarSize($xres, $cset[3]);
|
||||
$ret += GetBarSize($xres, $cset[4]);
|
||||
$ret += GetBarSize($xres, $cset[5]);
|
||||
end
|
||||
# length of Check character#
|
||||
$cset = GetCheckCharValue();
|
||||
$CheckSize = 0;
|
||||
for ($i=0;$i<6;$i++)
|
||||
$CheckSize += GetBarSize($cset[$i], $xres);
|
||||
end
|
||||
|
||||
$StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
|
||||
$StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
|
||||
return $StartSize + $ret + $CheckSize + $StopSize;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the check-char value.
|
||||
# @return string.
|
||||
# @access private
|
||||
#
|
||||
def GetCheckCharValue()
|
||||
$len = @mValue.length;
|
||||
$sum = 105; # 'C' type;
|
||||
$m = 0;
|
||||
for ($i=0;$i<$len;$i+=2)
|
||||
$m += 1;
|
||||
$sum += GetCharIndex(@mValue[$i].@mValue[$i+1])# $m;
|
||||
end
|
||||
$check = $sum % 103;
|
||||
return @mCharSet[$check];
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the start code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
||||
# Start code is '211232'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the stop code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
||||
# Stop code is '2331112'#
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('3', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('3', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('1', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
$DrawPos += GetBarSize('1', $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize('2', $xres) , $ySize);
|
||||
$DrawPos += GetBarSize('2', $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the check-char code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawCheckChar($DrawPos, $yPos, $ySize, $xres)
|
||||
$cset = GetCheckCharValue();
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ySize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode object.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return bool true in case of success.
|
||||
#
|
||||
def DrawObject($xres)
|
||||
$len = @mValue.length;
|
||||
if (($size = GetSize($xres))==0)
|
||||
return false;
|
||||
end
|
||||
|
||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
||||
else $sPos = 0;
|
||||
|
||||
# Total height of bar code -Bars only-#
|
||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
||||
|
||||
# Draw text#
|
||||
if (@mStyle & BCS_DRAW_TEXT)
|
||||
if (@mStyle & BCS_STRETCH_TEXT)
|
||||
for ($i=0;$i<$len;$i++)
|
||||
@DrawChar(@mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
||||
else# Center#
|
||||
$text_width = GetFontWidth(@mFont) * @mValue.length;
|
||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
||||
end
|
||||
end
|
||||
|
||||
$cPos = 0;
|
||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
do {
|
||||
$c = GetCharIndex(@mValue[$cPos].@mValue[$cPos+1]);
|
||||
$cset = @mCharSet[$c];
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[0], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[0], $xres);
|
||||
$DrawPos += GetBarSize($cset[1], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[2], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[2], $xres);
|
||||
$DrawPos += GetBarSize($cset[3], $xres);
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, GetBarSize($cset[4], $xres) , $ysize);
|
||||
$DrawPos += GetBarSize($cset[4], $xres);
|
||||
$DrawPos += GetBarSize($cset[5], $xres);
|
||||
$cPos += 2;
|
||||
end while ($cPos<$len);
|
||||
$DrawPos = @DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
return true;
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
|
||||
281
vendor/plugins/rfpdf/lib/barcode/c39object.rb
vendored
281
vendor/plugins/rfpdf/lib/barcode/c39object.rb
vendored
@@ -1,281 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : c39object.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2004-12-29
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# : Nicola Asuni [info@tecnick.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Code 39 Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
# Code 39 is an alphanumeric bar code that can
|
||||
# encode decimal number, case alphabet and some
|
||||
# special symbols.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Code 39 Barcode Render Class.<br>
|
||||
# Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
# Code 39 Barcode Render Class.<br>
|
||||
# Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class C39Object extends BarcodeObject {
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
# @param int $Value value to print on barcode.
|
||||
#
|
||||
def __construct($Width, $Height, $Style, $Value)
|
||||
parent::__construct($Width, $Height, $Style);
|
||||
@mValue = $Value;
|
||||
@mChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-.#$/+%";
|
||||
@mCharSet = array (
|
||||
# 0 # "000110100",
|
||||
# 1 # "100100001",
|
||||
# 2 # "001100001",
|
||||
# 3 # "101100000",
|
||||
# 4 # "000110001",
|
||||
# 5 # "100110000",
|
||||
# 6 # "001110000",
|
||||
# 7 # "000100101",
|
||||
# 8 # "100100100",
|
||||
# 9 # "001100100",
|
||||
# A # "100001001",
|
||||
# B # "001001001",
|
||||
# C # "101001000",
|
||||
# D # "000011001",
|
||||
# E # "100011000",
|
||||
# F # "001011000",
|
||||
# G # "000001101",
|
||||
# H # "100001100",
|
||||
# I # "001001100",
|
||||
# J # "000011100",
|
||||
# K # "100000011",
|
||||
# L # "001000011",
|
||||
# M # "101000010",
|
||||
# N # "000010011",
|
||||
# O # "100010010",
|
||||
# P # "001010010",
|
||||
# Q # "000000111",
|
||||
# R # "100000110",
|
||||
# S # "001000110",
|
||||
# T # "000010110",
|
||||
# U # "110000001",
|
||||
# V # "011000001",
|
||||
# W # "111000000",
|
||||
# X # "010010001",
|
||||
# Y # "110010000",
|
||||
# Z # "011010000",
|
||||
# - # "010000101",
|
||||
# . # "110000100",
|
||||
# SP# "011000100",
|
||||
/*# # "010010100",
|
||||
# $ # "010101000",
|
||||
# / # "010100010",
|
||||
# + # "010001010",
|
||||
# % # "000101010"
|
||||
);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns the character index.
|
||||
# @param char $char character.
|
||||
# @return int character index or -1 in case of error.
|
||||
# @access private
|
||||
#
|
||||
def GetCharIndex($char)
|
||||
for ($i=0;$i<44;$i++)
|
||||
if (@mChars[$i] == $char)
|
||||
return $i;
|
||||
end
|
||||
end
|
||||
return -1;
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetSize($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if ($len == 0) {
|
||||
@mError = "Null value";
|
||||
return false;
|
||||
end
|
||||
|
||||
for ($i=0;$i<$len;$i++)
|
||||
if (GetCharIndex(@mValue[$i]) == -1 || @mValue[$i] == '*')
|
||||
# The asterisk is only used as a start and stop code#
|
||||
@mError = "C39 not include the char '".@mValue[$i]."'";
|
||||
return false;
|
||||
end
|
||||
end
|
||||
|
||||
# Start, Stop is 010010100 == '*' #
|
||||
$StartSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3;
|
||||
$StopSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3;
|
||||
$CharSize = BCD_C39_NARROW_BAR# $xres# 6 + BCD_C39_WIDE_BAR# $xres# 3; # Same for all chars#
|
||||
|
||||
return $CharSize# $len + $StartSize + $StopSize + # Space between chars# BCD_C39_NARROW_BAR# $xres# ($len-1);
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the start code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
||||
# Start code is '*'#
|
||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
||||
$DrawPos += $narrow;
|
||||
$DrawPos += $wide;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
||||
$DrawPos += $narrow;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
||||
$DrawPos += $wide;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
||||
$DrawPos += $wide;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
|
||||
$DrawPos += $narrow;
|
||||
$DrawPos += $narrow; # Space between chars#
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the stop code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
||||
# Stop code is '*'#
|
||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
||||
$DrawPos += $narrow;
|
||||
$DrawPos += $wide;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
|
||||
$DrawPos += $narrow;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
||||
$DrawPos += $wide;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
|
||||
$DrawPos += $wide;
|
||||
$DrawPos += $narrow;
|
||||
@DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
|
||||
$DrawPos += $narrow;
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode object.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return bool true in case of success.
|
||||
#
|
||||
def DrawObject($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
$narrow = BCD_C39_NARROW_BAR# $xres;
|
||||
$wide = BCD_C39_WIDE_BAR# $xres;
|
||||
|
||||
if (($size = GetSize($xres))==0)
|
||||
return false;
|
||||
end
|
||||
|
||||
$cPos = 0;
|
||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
||||
else $sPos = 0;
|
||||
|
||||
# Total height of bar code -Bars only-#
|
||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
||||
|
||||
# Draw text#
|
||||
if (@mStyle & BCS_DRAW_TEXT)
|
||||
if (@mStyle & BCS_STRETCH_TEXT)
|
||||
for ($i=0;$i<$len;$i++)
|
||||
@DrawChar(@mFont, $sPos+($narrow*6+$wide*3)+($size/$len)*$i,
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue[$i]);
|
||||
else# Center#
|
||||
$text_width = GetFontWidth(@mFont)# @mValue.length;
|
||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+($narrow*6+$wide*3),
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
||||
end
|
||||
end
|
||||
|
||||
$DrawPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
do {
|
||||
$c = GetCharIndex(@mValue[$cPos]);
|
||||
$cset = @mCharSet[$c];
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[0] == '0') ? $narrow : $wide , $ysize);
|
||||
$DrawPos += ($cset[0] == '0') ? $narrow : $wide;
|
||||
$DrawPos += ($cset[1] == '0') ? $narrow : $wide;
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[2] == '0') ? $narrow : $wide , $ysize);
|
||||
$DrawPos += ($cset[2] == '0') ? $narrow : $wide;
|
||||
$DrawPos += ($cset[3] == '0') ? $narrow : $wide;
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[4] == '0') ? $narrow : $wide , $ysize);
|
||||
$DrawPos += ($cset[4] == '0') ? $narrow : $wide;
|
||||
$DrawPos += ($cset[5] == '0') ? $narrow : $wide;
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[6] == '0') ? $narrow : $wide , $ysize);
|
||||
$DrawPos += ($cset[6] == '0') ? $narrow : $wide;
|
||||
$DrawPos += ($cset[7] == '0') ? $narrow : $wide;
|
||||
@DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[8] == '0') ? $narrow : $wide , $ysize);
|
||||
$DrawPos += ($cset[8] == '0') ? $narrow : $wide;
|
||||
$DrawPos += $narrow; # Space between chars#
|
||||
$cPos += 1;
|
||||
end while ($cPos<$len);
|
||||
$DrawPos = @DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
|
||||
return true;
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
216
vendor/plugins/rfpdf/lib/barcode/i25object.rb
vendored
216
vendor/plugins/rfpdf/lib/barcode/i25object.rb
vendored
@@ -1,216 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : i25aobject.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2004-12-29
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# : Nicola Asuni [info@tecnick.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : I25 Barcode Render Class for PHP using
|
||||
# the GD graphics library.
|
||||
# Interleaved 2 of 5 is a numeric only bar code
|
||||
# with a optional check number.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# I25 Barcode Render Class for PHP using the GD graphics library.<br<
|
||||
# Interleaved 2 of 5 is a numeric only bar code with a optional check number.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
# I25 Barcode Render Class for PHP using the GD graphics library.<br<
|
||||
# Interleaved 2 of 5 is a numeric only bar code with a optional check number.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
class I25Object extends BarcodeObject {
|
||||
|
||||
#
|
||||
# Class Constructor.
|
||||
# @param int $Width Image width in pixels.
|
||||
# @param int $Height Image height in pixels.
|
||||
# @param int $Style Barcode style.
|
||||
# @param int $Value value to print on barcode.
|
||||
#
|
||||
def __construct($Width, $Height, $Style, $Value)
|
||||
parent::__construct($Width, $Height, $Style);
|
||||
@mValue = $Value;
|
||||
@mCharSet = array (
|
||||
# 0# "00110",
|
||||
# 1# "10001",
|
||||
# 2# "01001",
|
||||
# 3# "11000",
|
||||
# 4# "00101",
|
||||
# 5# "10100",
|
||||
# 6# "01100",
|
||||
# 7# "00011",
|
||||
# 8# "10010",
|
||||
# 9# "01010"
|
||||
);
|
||||
end
|
||||
|
||||
#
|
||||
# Returns barcode size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return barcode size.
|
||||
# @access private
|
||||
#
|
||||
def GetSize($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if ($len == 0) {
|
||||
@mError = "Null value";
|
||||
return false;
|
||||
end
|
||||
|
||||
for ($i=0;$i<$len;$i++)
|
||||
if ((@mValue[$i][0] < 48) || (@mValue[$i][0] > 57))
|
||||
@mError = "I25 is numeric only";
|
||||
return false;
|
||||
end
|
||||
end
|
||||
|
||||
if (($len%2) != 0)
|
||||
@mError = "The length of barcode value must be even";
|
||||
return false;
|
||||
end
|
||||
$StartSize = BCD_I25_NARROW_BAR# 4 # $xres;
|
||||
$StopSize = BCD_I25_WIDE_BAR# $xres + 2# BCD_I25_NARROW_BAR# $xres;
|
||||
$cPos = 0;
|
||||
$sPos = 0;
|
||||
do {
|
||||
$c1 = @mValue[$cPos];
|
||||
$c2 = @mValue[$cPos+1];
|
||||
$cset1 = @mCharSet[$c1];
|
||||
$cset2 = @mCharSet[$c2];
|
||||
|
||||
for ($i=0;$i<5;$i++)
|
||||
$type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR # $xres) : (BCD_I25_WIDE_BAR# $xres);
|
||||
$type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR # $xres) : (BCD_I25_WIDE_BAR# $xres);
|
||||
$sPos += ($type1 + $type2);
|
||||
end
|
||||
$cPos+=2;
|
||||
end while ($cPos<$len);
|
||||
|
||||
return $sPos + $StartSize + $StopSize;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the start code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStart($DrawPos, $yPos, $ySize, $xres)
|
||||
# Start code is "0000"#
|
||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the stop code.
|
||||
# @param int $DrawPos Drawing position.
|
||||
# @param int $yPos Vertical position.
|
||||
# @param int $ySize Vertical size.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return int drawing position.
|
||||
# @access private
|
||||
#
|
||||
def DrawStop($DrawPos, $yPos, $ySize, $xres)
|
||||
# Stop code is "100"#
|
||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_WIDE_BAR# $xres , $ySize);
|
||||
$DrawPos += BCD_I25_WIDE_BAR # $xres;
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
@DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR # $xres , $ySize);
|
||||
$DrawPos += BCD_I25_NARROW_BAR # $xres;
|
||||
return $DrawPos;
|
||||
end
|
||||
|
||||
#
|
||||
# Draws the barcode object.
|
||||
# @param int $xres Horizontal resolution.
|
||||
# @return bool true in case of success.
|
||||
#
|
||||
def DrawObject($xres)
|
||||
$len = @mValue.length;
|
||||
|
||||
if (($size = GetSize($xres))==0)
|
||||
return false;
|
||||
end
|
||||
|
||||
$cPos = 0;
|
||||
|
||||
if (@mStyle & BCS_DRAW_TEXT) $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - GetFontHeight(@mFont);
|
||||
else $ysize = @mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
|
||||
|
||||
if (@mStyle & BCS_ALIGN_CENTER) $sPos = (integer)((@mWidth - $size ) / 2);
|
||||
elsif (@mStyle & BCS_ALIGN_RIGHT) $sPos = @mWidth - $size;
|
||||
else $sPos = 0;
|
||||
|
||||
if (@mStyle & BCS_DRAW_TEXT)
|
||||
if (@mStyle & BCS_STRETCH_TEXT)
|
||||
# Stretch#
|
||||
for ($i=0;$i<$len;$i++)
|
||||
@DrawChar(@mFont, $sPos+BCD_I25_NARROW_BAR*4*$xres+($size/$len)*$i,
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET , @mValue[$i]);
|
||||
end
|
||||
endelse# Center#
|
||||
$text_width = GetFontWidth(@mFont) * @mValue.length;
|
||||
@DrawText(@mFont, $sPos+(($size-$text_width)/2)+(BCD_I25_NARROW_BAR*4*$xres),
|
||||
$ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, @mValue);
|
||||
end
|
||||
end
|
||||
|
||||
$sPos = @DrawStart($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
|
||||
do {
|
||||
$c1 = @mValue[$cPos];
|
||||
$c2 = @mValue[$cPos+1];
|
||||
$cset1 = @mCharSet[$c1];
|
||||
$cset2 = @mCharSet[$c2];
|
||||
|
||||
for ($i=0;$i<5;$i++)
|
||||
$type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR# $xres) : (BCD_I25_WIDE_BAR# $xres);
|
||||
$type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR# $xres) : (BCD_I25_WIDE_BAR# $xres);
|
||||
@DrawSingleBar($sPos, BCD_DEFAULT_MAR_Y1, $type1 , $ysize);
|
||||
$sPos += ($type1 + $type2);
|
||||
end
|
||||
$cPos+=2;
|
||||
end while ($cPos<$len);
|
||||
$sPos = @DrawStop($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
|
||||
return true;
|
||||
end
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
87
vendor/plugins/rfpdf/lib/barcode/image.rb
vendored
87
vendor/plugins/rfpdf/lib/barcode/image.rb
vendored
@@ -1,87 +0,0 @@
|
||||
|
||||
#============================================================+
|
||||
# File name : image.rb
|
||||
# Begin : 2002-07-31
|
||||
# Last Update : 2005-01-08
|
||||
# Author : Karim Mribti [barcode@mribti.com]
|
||||
# : Nicola Asuni [info@tecnick.com]
|
||||
# Version : 0.0.8a 2001-04-01 (original code)
|
||||
# License : GNU LGPL (Lesser General Public License) 2.1
|
||||
# http://www.gnu.org/copyleft/lesser.txt
|
||||
# Source Code : http://www.mribti.com/barcode/
|
||||
#
|
||||
# Description : Barcode Image Rendering.
|
||||
#
|
||||
# NOTE:
|
||||
# This version contains changes by Nicola Asuni:
|
||||
# - porting to Ruby
|
||||
# - code style and formatting
|
||||
# - automatic php documentation in PhpDocumentor Style
|
||||
# (www.phpdoc.org)
|
||||
# - minor bug fixing
|
||||
#============================================================+
|
||||
|
||||
#
|
||||
# Barcode Image Rendering.
|
||||
# @author Karim Mribti, Nicola Asuni
|
||||
# @name BarcodeObject
|
||||
# @package com.tecnick.tcpdf
|
||||
# @@version 0.0.8a 2001-04-01 (original code)
|
||||
# @since 2001-03-25
|
||||
# @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
#
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
require("../../shared/barcode/barcode.rb");
|
||||
require("../../shared/barcode/i25object.rb");
|
||||
require("../../shared/barcode/c39object.rb");
|
||||
require("../../shared/barcode/c128aobject.rb");
|
||||
require("../../shared/barcode/c128bobject.rb");
|
||||
require("../../shared/barcode/c128cobject.rb");
|
||||
|
||||
if (!$_REQUEST['style'].nil?) $_REQUEST['style'] = BCD_DEFAULT_STYLE;
|
||||
if (!$_REQUEST['width'].nil?) $_REQUEST['width'] = BCD_DEFAULT_WIDTH;
|
||||
if (!$_REQUEST['height'].nil?) $_REQUEST['height'] = BCD_DEFAULT_HEIGHT;
|
||||
if (!$_REQUEST['xres'].nil?) $_REQUEST['xres'] = BCD_DEFAULT_XRES;
|
||||
if (!$_REQUEST['font'].nil?) $_REQUEST['font'] = BCD_DEFAULT_FONT;
|
||||
if (!$_REQUEST['type'].nil?) $_REQUEST['type'] = "C39";
|
||||
if (!$_REQUEST['code'].nil?) $_REQUEST['code'] = "";
|
||||
|
||||
switch ($_REQUEST['type'].upcase)
|
||||
case "I25"
|
||||
$obj = new I25Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
||||
break;
|
||||
end
|
||||
case "C128A"
|
||||
$obj = new C128AObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
||||
break;
|
||||
end
|
||||
case "C128B"
|
||||
$obj = new C128BObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
||||
break;
|
||||
end
|
||||
case "C128C"
|
||||
$obj = new C128CObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
||||
break;
|
||||
end
|
||||
case "C39":
|
||||
default
|
||||
$obj = new C39Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
|
||||
break;
|
||||
end
|
||||
}
|
||||
|
||||
if ($obj)
|
||||
$obj->SetFont($_REQUEST['font']);
|
||||
$obj->DrawObject($_REQUEST['xres']);
|
||||
$obj->FlushObject();
|
||||
$obj->DestroyObject();
|
||||
unset($obj); # clean#
|
||||
}
|
||||
|
||||
#============================================================+
|
||||
# END OF FILE
|
||||
#============================================================+
|
||||
504
vendor/plugins/rfpdf/lib/barcode/lesser.txt
vendored
504
vendor/plugins/rfpdf/lib/barcode/lesser.txt
vendored
@@ -1,504 +0,0 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 2.1, February 1999
|
||||
|
||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the Lesser GPL. It also counts
|
||||
as the successor of the GNU Library Public License, version 2, hence
|
||||
the version number 2.1.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Lesser General Public License, applies to some
|
||||
specially designated software packages--typically libraries--of the
|
||||
Free Software Foundation and other authors who decide to use it. You
|
||||
can use it too, but we suggest you first think carefully about whether
|
||||
this license or the ordinary General Public License is the better
|
||||
strategy to use in any particular case, based on the explanations below.
|
||||
|
||||
When we speak of free software, we are referring to freedom of use,
|
||||
not price. Our General Public Licenses are designed to make sure that
|
||||
you have the freedom to distribute copies of free software (and charge
|
||||
for this service if you wish); that you receive source code or can get
|
||||
it if you want it; that you can change the software and use pieces of
|
||||
it in new free programs; and that you are informed that you can do
|
||||
these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
distributors to deny you these rights or to ask you to surrender these
|
||||
rights. These restrictions translate to certain responsibilities for
|
||||
you if you distribute copies of the library or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link other code with the library, you must provide
|
||||
complete object files to the recipients, so that they can relink them
|
||||
with the library after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
We protect your rights with a two-step method: (1) we copyright the
|
||||
library, and (2) we offer you this license, which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
To protect each distributor, we want to make it very clear that
|
||||
there is no warranty for the free library. Also, if the library is
|
||||
modified by someone else and passed on, the recipients should know
|
||||
that what they have is not the original version, so that the original
|
||||
author's reputation will not be affected by problems that might be
|
||||
introduced by others.
|
||||
|
||||
Finally, software patents pose a constant threat to the existence of
|
||||
any free program. We wish to make sure that a company cannot
|
||||
effectively restrict the users of a free program by obtaining a
|
||||
restrictive license from a patent holder. Therefore, we insist that
|
||||
any patent license obtained for a version of the library must be
|
||||
consistent with the full freedom of use specified in this license.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the
|
||||
ordinary GNU General Public License. This license, the GNU Lesser
|
||||
General Public License, applies to certain designated libraries, and
|
||||
is quite different from the ordinary General Public License. We use
|
||||
this license for certain libraries in order to permit linking those
|
||||
libraries into non-free programs.
|
||||
|
||||
When a program is linked with a library, whether statically or using
|
||||
a shared library, the combination of the two is legally speaking a
|
||||
combined work, a derivative of the original library. The ordinary
|
||||
General Public License therefore permits such linking only if the
|
||||
entire combination fits its criteria of freedom. The Lesser General
|
||||
Public License permits more lax criteria for linking other code with
|
||||
the library.
|
||||
|
||||
We call this license the "Lesser" General Public License because it
|
||||
does Less to protect the user's freedom than the ordinary General
|
||||
Public License. It also provides other free software developers Less
|
||||
of an advantage over competing non-free programs. These disadvantages
|
||||
are the reason we use the ordinary General Public License for many
|
||||
libraries. However, the Lesser license provides advantages in certain
|
||||
special circumstances.
|
||||
|
||||
For example, on rare occasions, there may be a special need to
|
||||
encourage the widest possible use of a certain library, so that it becomes
|
||||
a de-facto standard. To achieve this, non-free programs must be
|
||||
allowed to use the library. A more frequent case is that a free
|
||||
library does the same job as widely used non-free libraries. In this
|
||||
case, there is little to gain by limiting the free library to free
|
||||
software only, so we use the Lesser General Public License.
|
||||
|
||||
In other cases, permission to use a particular library in non-free
|
||||
programs enables a greater number of people to use a large body of
|
||||
free software. For example, permission to use the GNU C Library in
|
||||
non-free programs enables many more people to use the whole GNU
|
||||
operating system, as well as its variant, the GNU/Linux operating
|
||||
system.
|
||||
|
||||
Although the Lesser General Public License is Less protective of the
|
||||
users' freedom, it does ensure that the user of a program that is
|
||||
linked with the Library has the freedom and the wherewithal to run
|
||||
that program using a modified version of the Library.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, whereas the latter must
|
||||
be combined with the library in order to run.
|
||||
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library or other
|
||||
program which contains a notice placed by the copyright holder or
|
||||
other authorized party saying it may be distributed under the terms of
|
||||
this Lesser General Public License (also called "this License").
|
||||
Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also combine or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (1) uses at run time a
|
||||
copy of the library already present on the user's computer system,
|
||||
rather than copying library functions into the executable, and (2)
|
||||
will operate properly with a modified version of the library, if
|
||||
the user installs one, as long as the modified version is
|
||||
interface-compatible with the version that the work was made with.
|
||||
|
||||
c) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
d) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
e) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the materials to be distributed need not include anything that is
|
||||
normally distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties with
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Lesser General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
||||
Binary file not shown.
@@ -1,112 +0,0 @@
|
||||
TCPDFFontDescriptor.define('DejaVuSans-ExtraLight') do |font|
|
||||
font[:type]='TrueTypeUnicode';
|
||||
font[:name]='DejaVuSans-ExtraLight';
|
||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-733 -339 1659 1114]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>600}
|
||||
font[:up]=-42;
|
||||
font[:ut]=44;
|
||||
font[:cw]={
|
||||
0=>600, 32=>318, 33=>401, 34=>460, 35=>838, 36=>636, 37=>950, 38=>780, 39=>275, 40=>390, 41=>390, 42=>500, 43=>838, 44=>318, 45=>361, 46=>318,
|
||||
47=>337, 48=>636, 49=>636, 50=>636, 51=>636, 52=>636, 53=>636, 54=>636, 55=>636, 56=>636, 57=>636, 58=>337, 59=>337, 60=>838, 61=>838, 62=>838,
|
||||
63=>531, 64=>1000, 65=>684, 66=>655, 67=>698, 68=>770, 69=>632, 70=>575, 71=>775, 72=>752, 73=>295, 74=>295, 75=>656, 76=>557, 77=>863, 78=>748,
|
||||
79=>787, 80=>603, 81=>787, 82=>695, 83=>635, 84=>611, 85=>732, 86=>684, 87=>989, 88=>685, 89=>611, 90=>685, 91=>390, 92=>337, 93=>390, 94=>838,
|
||||
95=>500, 96=>500, 97=>613, 98=>635, 99=>550, 100=>635, 101=>615, 102=>352, 103=>600, 104=>634, 105=>278, 106=>278, 107=>579, 108=>278, 109=>974, 110=>634,
|
||||
111=>612, 112=>635, 113=>635, 114=>411, 115=>521, 116=>392, 117=>634, 118=>592, 119=>818, 120=>592, 121=>592, 122=>525, 123=>636, 124=>337, 125=>636, 126=>838,
|
||||
8364=>636, 1027=>557, 8218=>318, 402=>352, 8222=>518, 8230=>1000, 8224=>500, 8225=>500, 710=>500, 8240=>1342, 352=>635, 8249=>400, 338=>1070, 1036=>656, 381=>685, 1039=>752,
|
||||
8216=>318, 8217=>318, 8220=>518, 8221=>518, 8211=>500, 8212=>1000, 732=>500, 353=>521, 8250=>400, 339=>1023, 1116=>604, 382=>525, 376=>611, 160=>318, 161=>401, 162=>636,
|
||||
163=>636, 164=>636, 165=>636, 166=>337, 167=>500, 168=>500, 169=>1000, 170=>471, 171=>612, 172=>838, 173=>361, 174=>1000, 175=>500, 176=>500, 177=>838, 178=>401,
|
||||
179=>401, 180=>483, 181=>636, 182=>636, 183=>318, 184=>500, 185=>401, 186=>471, 187=>612, 188=>969, 189=>969, 190=>969, 191=>536, 192=>684, 193=>684, 194=>684,
|
||||
195=>684, 196=>684, 197=>684, 198=>974, 199=>698, 200=>632, 201=>632, 202=>632, 203=>632, 204=>295, 205=>295, 206=>295, 207=>295, 208=>775, 209=>748, 210=>787,
|
||||
211=>787, 212=>787, 213=>787, 214=>787, 215=>838, 216=>787, 217=>732, 218=>732, 219=>732, 220=>732, 221=>611, 222=>605, 223=>676, 224=>613, 225=>613, 226=>613,
|
||||
227=>613, 228=>613, 229=>613, 230=>982, 231=>550, 232=>615, 233=>615, 234=>615, 235=>615, 236=>278, 237=>278, 238=>278, 239=>278, 240=>612, 241=>634, 242=>612,
|
||||
243=>612, 244=>612, 245=>612, 246=>612, 247=>838, 248=>612, 249=>634, 250=>634, 251=>634, 252=>634, 253=>592, 254=>635, 255=>592, 256=>684, 257=>613, 258=>684,
|
||||
259=>613, 260=>684, 261=>613, 262=>698, 263=>550, 264=>698, 265=>550, 266=>698, 267=>550, 268=>698, 269=>550, 270=>770, 271=>635, 272=>775, 273=>635, 274=>632,
|
||||
275=>615, 276=>632, 277=>615, 278=>632, 279=>615, 280=>632, 281=>615, 282=>632, 283=>615, 284=>775, 285=>600, 286=>775, 287=>600, 288=>775, 289=>600, 290=>775,
|
||||
291=>600, 292=>752, 293=>634, 294=>916, 295=>695, 296=>295, 297=>278, 298=>295, 299=>278, 300=>295, 301=>278, 302=>295, 303=>278, 304=>295, 305=>278, 306=>590,
|
||||
307=>556, 308=>295, 309=>278, 310=>656, 311=>579, 312=>579, 313=>557, 314=>293, 315=>557, 316=>278, 317=>557, 318=>375, 319=>557, 320=>342, 321=>562, 322=>284,
|
||||
323=>748, 324=>634, 325=>748, 326=>634, 327=>748, 328=>634, 329=>813, 330=>757, 331=>634, 332=>787, 333=>612, 334=>787, 335=>612, 336=>787, 337=>612, 340=>695,
|
||||
341=>411, 342=>695, 343=>411, 344=>695, 345=>411, 346=>635, 347=>521, 348=>635, 349=>521, 350=>635, 351=>521, 354=>611, 355=>392, 356=>611, 357=>392, 358=>611,
|
||||
359=>392, 360=>732, 361=>634, 362=>732, 363=>634, 364=>732, 365=>634, 366=>732, 367=>634, 368=>732, 369=>634, 370=>732, 371=>634, 372=>989, 373=>818, 374=>611,
|
||||
375=>592, 377=>685, 378=>525, 379=>685, 380=>525, 383=>352, 384=>635, 385=>735, 386=>686, 387=>635, 390=>698, 391=>698, 392=>550, 393=>775, 394=>824, 395=>686,
|
||||
396=>635, 397=>612, 398=>632, 399=>787, 400=>585, 401=>575, 403=>775, 404=>685, 405=>965, 406=>354, 407=>295, 408=>690, 409=>526, 410=>278, 413=>748, 414=>634,
|
||||
415=>787, 416=>934, 417=>757, 420=>652, 421=>635, 423=>635, 424=>521, 425=>632, 427=>392, 428=>611, 429=>392, 430=>611, 431=>879, 432=>779, 433=>764, 434=>721,
|
||||
435=>696, 436=>805, 437=>685, 438=>525, 448=>295, 449=>492, 450=>459, 451=>295, 452=>1422, 453=>1299, 454=>1154, 455=>835, 456=>787, 457=>457, 458=>931, 459=>924,
|
||||
460=>797, 461=>684, 462=>613, 463=>295, 464=>278, 465=>787, 466=>612, 467=>732, 468=>634, 469=>732, 470=>634, 471=>732, 472=>634, 473=>732, 474=>634, 475=>732,
|
||||
476=>634, 477=>615, 478=>684, 479=>613, 480=>684, 481=>613, 482=>974, 483=>982, 486=>775, 487=>600, 488=>656, 489=>579, 490=>787, 491=>612, 492=>787, 493=>612,
|
||||
496=>278, 497=>1422, 498=>1299, 499=>1154, 500=>775, 501=>600, 504=>748, 505=>634, 506=>684, 507=>613, 508=>974, 509=>982, 510=>787, 511=>612, 512=>684, 513=>613,
|
||||
514=>684, 515=>613, 516=>632, 517=>615, 518=>632, 519=>615, 520=>295, 521=>278, 522=>295, 523=>278, 524=>787, 525=>612, 526=>787, 527=>612, 528=>695, 529=>411,
|
||||
530=>695, 531=>411, 532=>732, 533=>634, 534=>732, 535=>634, 536=>635, 537=>521, 538=>611, 539=>392, 542=>752, 543=>634, 550=>684, 551=>613, 552=>632, 553=>615,
|
||||
554=>787, 555=>612, 556=>787, 557=>612, 558=>787, 559=>612, 560=>787, 561=>612, 562=>611, 563=>592, 567=>278, 568=>1032, 569=>1032, 581=>684, 592=>614, 593=>635,
|
||||
594=>635, 595=>635, 596=>550, 598=>635, 599=>727, 600=>615, 601=>615, 603=>541, 604=>541, 607=>326, 608=>637, 609=>635, 611=>685, 613=>634, 616=>372, 617=>387,
|
||||
623=>974, 624=>974, 628=>634, 629=>612, 640=>602, 641=>602, 649=>634, 650=>618, 651=>598, 652=>592, 653=>818, 654=>592, 665=>580, 668=>661, 670=>667, 671=>583,
|
||||
675=>1014, 678=>824, 682=>641, 683=>654, 699=>318, 700=>318, 702=>307, 711=>500, 713=>500, 714=>483, 715=>500, 717=>500, 718=>500, 719=>483, 728=>500, 729=>500,
|
||||
730=>500, 731=>500, 733=>500, 755=>500, 759=>500, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0,
|
||||
779=>0, 780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 795=>0, 803=>0, 804=>0,
|
||||
805=>0, 806=>0, 807=>0, 808=>0, 812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0,
|
||||
824=>0, 831=>0, 847=>0, 856=>0, 860=>0, 861=>0, 865=>0, 884=>278, 885=>278, 890=>361, 891=>549, 892=>550, 893=>549, 894=>337, 900=>483, 901=>500,
|
||||
902=>692, 903=>318, 904=>746, 905=>871, 906=>408, 908=>813, 910=>825, 911=>826, 912=>387, 913=>684, 914=>655, 915=>557, 916=>684, 917=>632, 918=>685, 919=>752,
|
||||
920=>787, 921=>295, 922=>656, 923=>684, 924=>863, 925=>748, 926=>632, 927=>787, 928=>752, 929=>603, 931=>632, 932=>611, 933=>611, 934=>787, 935=>685, 936=>787,
|
||||
937=>764, 938=>295, 939=>611, 940=>659, 941=>541, 942=>654, 943=>387, 944=>579, 945=>659, 946=>638, 947=>592, 948=>612, 949=>541, 950=>544, 951=>634, 952=>612,
|
||||
953=>387, 954=>604, 955=>592, 956=>636, 957=>559, 958=>558, 959=>612, 960=>602, 961=>635, 962=>587, 963=>634, 964=>602, 965=>579, 966=>660, 967=>592, 968=>660,
|
||||
969=>837, 970=>387, 971=>579, 972=>612, 973=>579, 974=>837, 988=>575, 1010=>550, 1011=>278, 1012=>787, 1013=>615, 1014=>615, 1015=>605, 1016=>635, 1017=>698, 1021=>698,
|
||||
1022=>698, 1023=>698, 1024=>632, 1025=>632, 1026=>786, 1028=>698, 1029=>635, 1030=>295, 1031=>295, 1032=>295, 1033=>1094, 1034=>1045, 1035=>786, 1037=>748, 1038=>609, 1040=>684,
|
||||
1041=>686, 1042=>655, 1043=>557, 1044=>776, 1045=>632, 1046=>863, 1047=>636, 1048=>748, 1049=>748, 1050=>656, 1051=>752, 1052=>863, 1053=>752, 1054=>787, 1055=>752, 1056=>603,
|
||||
1057=>698, 1058=>611, 1059=>609, 1060=>787, 1061=>685, 1062=>776, 1063=>686, 1064=>1003, 1065=>1025, 1066=>833, 1067=>882, 1068=>686, 1069=>698, 1070=>1031, 1071=>695, 1072=>613,
|
||||
1073=>612, 1074=>586, 1075=>491, 1076=>672, 1077=>615, 1078=>733, 1079=>541, 1080=>657, 1081=>657, 1082=>604, 1083=>639, 1084=>754, 1085=>661, 1086=>612, 1087=>660, 1088=>635,
|
||||
1089=>550, 1090=>529, 1091=>592, 1092=>917, 1093=>592, 1094=>681, 1095=>591, 1096=>873, 1097=>893, 1098=>703, 1099=>765, 1100=>589, 1101=>549, 1102=>813, 1103=>602, 1104=>615,
|
||||
1105=>615, 1106=>644, 1107=>491, 1108=>549, 1109=>521, 1110=>278, 1111=>278, 1112=>278, 1113=>898, 1114=>892, 1115=>637, 1117=>657, 1118=>592, 1119=>662, 1121=>837, 1124=>942,
|
||||
1125=>749, 1136=>787, 1137=>660, 1138=>787, 1168=>557, 1169=>491, 1176=>636, 1177=>541, 1188=>1014, 1189=>868, 1194=>698, 1195=>550, 1198=>611, 1199=>592, 1204=>934, 1205=>809,
|
||||
1210=>686, 1211=>634, 1216=>278, 1217=>863, 1218=>733, 1232=>684, 1233=>613, 1234=>684, 1235=>613, 1236=>974, 1237=>982, 1238=>632, 1239=>615, 1240=>787, 1241=>615, 1242=>787,
|
||||
1243=>615, 1244=>863, 1245=>733, 1246=>636, 1247=>541, 1250=>748, 1251=>657, 1252=>748, 1253=>657, 1254=>787, 1255=>612, 1256=>787, 1257=>612, 1258=>787, 1259=>612, 1260=>698,
|
||||
1261=>549, 1262=>609, 1263=>592, 1264=>609, 1265=>592, 1266=>609, 1267=>592, 1268=>686, 1269=>591, 1272=>882, 1273=>765, 1352=>732, 1357=>732, 1359=>635, 1363=>787, 1365=>787,
|
||||
1370=>318, 1373=>392, 1377=>974, 1387=>634, 1389=>1002, 1391=>634, 1392=>634, 1397=>278, 1400=>634, 1402=>974, 1405=>634, 1407=>1002, 1408=>634, 1409=>600, 1411=>1002, 1413=>612,
|
||||
1417=>337, 1652=>292, 7426=>982, 7428=>550, 7433=>278, 7435=>604, 7437=>754, 7438=>650, 7439=>612, 7440=>550, 7441=>684, 7442=>684, 7443=>684, 7444=>1023, 7446=>612, 7447=>612,
|
||||
7456=>592, 7457=>818, 7458=>525, 7462=>525, 7463=>592, 7464=>654, 7543=>635, 7680=>684, 7681=>613, 7682=>655, 7683=>635, 7684=>655, 7685=>635, 7686=>655, 7687=>635, 7688=>698,
|
||||
7689=>550, 7690=>770, 7691=>635, 7692=>770, 7693=>635, 7694=>770, 7695=>635, 7696=>770, 7697=>635, 7698=>770, 7699=>635, 7700=>632, 7701=>615, 7702=>632, 7703=>615, 7704=>632,
|
||||
7705=>615, 7706=>632, 7707=>615, 7708=>632, 7709=>615, 7710=>575, 7711=>352, 7712=>775, 7713=>600, 7714=>752, 7715=>634, 7716=>752, 7717=>634, 7718=>752, 7719=>634, 7720=>752,
|
||||
7721=>634, 7722=>752, 7723=>634, 7724=>295, 7725=>278, 7726=>295, 7727=>278, 7728=>656, 7729=>579, 7730=>656, 7731=>579, 7732=>656, 7733=>579, 7734=>557, 7735=>278, 7736=>557,
|
||||
7737=>278, 7738=>557, 7739=>278, 7740=>557, 7741=>278, 7742=>863, 7743=>974, 7744=>863, 7745=>974, 7746=>863, 7747=>974, 7748=>748, 7749=>634, 7750=>748, 7751=>634, 7752=>748,
|
||||
7753=>634, 7754=>748, 7755=>634, 7756=>787, 7757=>612, 7758=>787, 7759=>612, 7760=>787, 7761=>612, 7762=>787, 7763=>612, 7764=>603, 7765=>635, 7766=>603, 7767=>635, 7768=>695,
|
||||
7769=>411, 7770=>695, 7771=>411, 7772=>695, 7773=>411, 7774=>695, 7775=>411, 7776=>635, 7777=>521, 7778=>635, 7779=>521, 7780=>635, 7781=>521, 7782=>635, 7783=>521, 7784=>635,
|
||||
7785=>521, 7786=>611, 7787=>392, 7788=>611, 7789=>392, 7790=>611, 7791=>392, 7792=>611, 7793=>392, 7794=>732, 7795=>634, 7796=>732, 7797=>634, 7798=>732, 7799=>634, 7800=>732,
|
||||
7801=>634, 7802=>732, 7803=>634, 7804=>684, 7805=>592, 7806=>684, 7807=>592, 7808=>989, 7809=>818, 7810=>989, 7811=>818, 7812=>989, 7813=>818, 7814=>989, 7815=>818, 7816=>989,
|
||||
7817=>818, 7818=>685, 7819=>592, 7820=>685, 7821=>592, 7822=>611, 7823=>592, 7824=>685, 7825=>525, 7826=>685, 7827=>525, 7828=>685, 7829=>525, 7830=>634, 7831=>392, 7832=>818,
|
||||
7833=>592, 7834=>613, 7835=>352, 7840=>684, 7841=>613, 7842=>684, 7843=>613, 7844=>684, 7845=>613, 7846=>684, 7847=>613, 7848=>684, 7849=>613, 7850=>684, 7851=>613, 7852=>684,
|
||||
7853=>613, 7854=>684, 7855=>613, 7856=>684, 7857=>613, 7858=>684, 7859=>613, 7860=>684, 7861=>613, 7862=>684, 7863=>613, 7864=>632, 7865=>615, 7866=>632, 7867=>615, 7868=>632,
|
||||
7869=>615, 7870=>632, 7871=>615, 7872=>632, 7873=>615, 7874=>632, 7875=>615, 7876=>632, 7877=>615, 7878=>632, 7879=>615, 7880=>295, 7881=>278, 7882=>295, 7883=>278, 7884=>787,
|
||||
7885=>612, 7886=>787, 7887=>612, 7888=>787, 7889=>612, 7890=>787, 7891=>612, 7892=>787, 7893=>612, 7894=>787, 7895=>612, 7896=>787, 7897=>612, 7898=>934, 7899=>757, 7900=>934,
|
||||
7901=>757, 7902=>934, 7903=>757, 7904=>934, 7905=>757, 7906=>934, 7907=>757, 7908=>732, 7909=>634, 7910=>732, 7911=>634, 7912=>879, 7913=>779, 7914=>879, 7915=>779, 7916=>879,
|
||||
7917=>779, 7918=>879, 7919=>779, 7920=>879, 7921=>779, 7922=>611, 7923=>592, 7924=>611, 7925=>592, 7926=>611, 7927=>592, 7928=>611, 7929=>592, 7936=>659, 7937=>659, 7938=>659,
|
||||
7939=>659, 7940=>659, 7941=>659, 7942=>659, 7943=>659, 7944=>684, 7945=>684, 7946=>877, 7947=>877, 7948=>769, 7949=>801, 7950=>708, 7951=>743, 7952=>541, 7953=>541, 7954=>541,
|
||||
7955=>541, 7956=>541, 7957=>541, 7960=>711, 7961=>711, 7962=>966, 7963=>975, 7964=>898, 7965=>928, 7968=>634, 7969=>634, 7970=>634, 7971=>634, 7972=>634, 7973=>634, 7974=>634,
|
||||
7975=>634, 7976=>837, 7977=>835, 7978=>1086, 7979=>1089, 7980=>1027, 7981=>1051, 7982=>934, 7983=>947, 7984=>338, 7985=>338, 7986=>338, 7987=>338, 7988=>338, 7989=>338, 7990=>338,
|
||||
7991=>338, 7992=>380, 7993=>374, 7994=>635, 7995=>635, 7996=>570, 7997=>600, 7998=>489, 7999=>493, 8000=>612, 8001=>612, 8002=>612, 8003=>612, 8004=>612, 8005=>612, 8008=>804,
|
||||
8009=>848, 8010=>1095, 8011=>1100, 8012=>938, 8013=>970, 8016=>579, 8017=>579, 8018=>579, 8019=>579, 8020=>579, 8021=>579, 8022=>579, 8023=>579, 8025=>784, 8027=>998, 8029=>1012,
|
||||
8031=>897, 8032=>837, 8033=>837, 8034=>837, 8035=>837, 8036=>837, 8037=>837, 8038=>837, 8039=>837, 8040=>802, 8041=>843, 8042=>1089, 8043=>1095, 8044=>946, 8045=>972, 8046=>921,
|
||||
8047=>952, 8048=>659, 8049=>659, 8050=>541, 8051=>548, 8052=>634, 8053=>654, 8054=>338, 8055=>338, 8056=>612, 8057=>612, 8058=>579, 8059=>579, 8060=>837, 8061=>837, 8064=>659,
|
||||
8065=>659, 8066=>659, 8067=>659, 8068=>659, 8069=>659, 8070=>659, 8071=>659, 8072=>684, 8073=>684, 8074=>877, 8075=>877, 8076=>769, 8077=>801, 8078=>708, 8079=>743, 8080=>634,
|
||||
8081=>634, 8082=>634, 8083=>634, 8084=>634, 8085=>634, 8086=>634, 8087=>634, 8088=>837, 8089=>835, 8090=>1086, 8091=>1089, 8092=>1027, 8093=>1051, 8094=>934, 8095=>947, 8096=>837,
|
||||
8097=>837, 8098=>837, 8099=>837, 8100=>837, 8101=>837, 8102=>837, 8103=>837, 8104=>802, 8105=>843, 8106=>1089, 8107=>1095, 8108=>946, 8109=>972, 8110=>921, 8111=>952, 8112=>659,
|
||||
8113=>659, 8114=>659, 8115=>659, 8116=>659, 8118=>659, 8119=>659, 8120=>684, 8121=>684, 8122=>716, 8123=>692, 8124=>684, 8125=>500, 8126=>500, 8127=>500, 8128=>500, 8129=>500,
|
||||
8130=>634, 8131=>634, 8132=>654, 8134=>634, 8135=>634, 8136=>805, 8137=>746, 8138=>931, 8139=>871, 8140=>752, 8141=>500, 8142=>500, 8143=>500, 8144=>338, 8145=>338, 8146=>338,
|
||||
8147=>338, 8150=>338, 8151=>338, 8152=>295, 8153=>295, 8154=>475, 8155=>408, 8157=>500, 8158=>500, 8159=>500, 8160=>579, 8161=>579, 8162=>579, 8163=>579, 8164=>635, 8165=>635,
|
||||
8166=>579, 8167=>579, 8168=>611, 8169=>611, 8170=>845, 8171=>825, 8172=>685, 8173=>500, 8174=>500, 8175=>500, 8178=>837, 8179=>837, 8180=>837, 8182=>837, 8183=>837, 8184=>941,
|
||||
8185=>813, 8186=>922, 8187=>826, 8188=>764, 8189=>500, 8190=>500, 8192=>500, 8193=>1000, 8194=>500, 8195=>1000, 8196=>330, 8197=>250, 8198=>167, 8199=>636, 8200=>318, 8201=>200,
|
||||
8202=>100, 8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>361, 8209=>361, 8210=>636, 8213=>1000, 8214=>500, 8215=>500, 8219=>318, 8223=>518, 8228=>334, 8229=>667,
|
||||
8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>200, 8241=>1735, 8251=>838, 8252=>485, 8253=>531, 8254=>500, 8255=>804, 8256=>804, 8258=>1000, 8259=>500, 8260=>167,
|
||||
8261=>390, 8262=>390, 8263=>922, 8264=>733, 8265=>733, 8267=>636, 8268=>500, 8269=>500, 8270=>500, 8271=>337, 8272=>804, 8273=>500, 8274=>450, 8275=>838, 8276=>804, 8287=>222,
|
||||
8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>401, 8305=>179, 8308=>401, 8320=>401, 8321=>401, 8322=>401,
|
||||
8323=>401, 8324=>401, 8363=>636, 8369=>635, 8451=>1123, 8457=>952, 8470=>1165, 8471=>1000, 8486=>764, 8487=>764, 8490=>656, 8491=>684, 8494=>854, 8498=>575, 8500=>462, 8523=>780,
|
||||
8531=>969, 8532=>969, 8543=>568, 8544=>295, 8545=>492, 8546=>689, 8547=>923, 8548=>684, 8549=>922, 8550=>1120, 8551=>1317, 8552=>917, 8553=>685, 8554=>933, 8555=>1131, 8556=>557,
|
||||
8557=>698, 8558=>770, 8559=>863, 8560=>278, 8561=>458, 8562=>637, 8563=>812, 8564=>592, 8565=>811, 8566=>991, 8567=>1170, 8568=>819, 8569=>592, 8570=>822, 8571=>1002, 8572=>278,
|
||||
8573=>550, 8574=>635, 8575=>974, 8576=>1285, 8579=>698, 8580=>549, 8592=>838, 8593=>838, 8594=>838, 8595=>838, 8596=>838, 8597=>838, 8598=>838, 8599=>838, 8600=>838, 8601=>838,
|
||||
8644=>838, 8645=>838, 8646=>838, 8647=>838, 8648=>838, 8649=>838, 8650=>838, 8704=>684, 8707=>632, 8710=>684, 8711=>684, 8722=>838, 8725=>167, 8726=>637, 8727=>626, 8728=>626,
|
||||
8756=>636, 8757=>636, 8758=>260, 8759=>636, 8764=>636, 9134=>521, 9167=>945, 10731=>494, 57344=>684, 57345=>684, 57346=>684, 57347=>684, 57348=>684, 57349=>684, 57351=>684, 57352=>684,
|
||||
57353=>684, 57354=>684, 57355=>684, 57356=>684, 57357=>684, 57358=>684, 57359=>684, 57360=>684, 57361=>684, 57362=>684, 57363=>684, 57364=>684, 64256=>689, 64257=>630, 64258=>630, 64259=>967,
|
||||
64260=>967, 64297=>838, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0,
|
||||
65038=>0, 65039=>0, 65533=>1025}
|
||||
font[:enc]='';
|
||||
font[:diff]='';
|
||||
font[:file]='DejaVuSans-ExtraLight.z';
|
||||
font[:ctg]='DejaVuSans-ExtraLight.ctg.z';
|
||||
font[:originalsize]=132684;
|
||||
end
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,287 +0,0 @@
|
||||
TCPDFFontDescriptor.define('DejaVuSansCondensed') do |font|
|
||||
font[:type]='TrueTypeUnicode';
|
||||
font[:name]='DejaVuSansCondensed';
|
||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-918 -356 1513 font[:1068]]','ItalicAngle'=>0,'StemV'=>70,'MissingWidth'=>540};
|
||||
font[:up]=-42;
|
||||
font[:ut]=44;
|
||||
font[:cw]={
|
||||
0=>540, 32=>286, 33=>360, 34=>414, 35=>754, 36=>572, 37=>855, 38=>702, 39=>247, 40=>351, 41=>351, 42=>450, 43=>754, 44=>286, 45=>325, 46=>286,
|
||||
47=>303, 48=>572, 49=>572, 50=>572, 51=>572, 52=>572, 53=>572, 54=>572, 55=>572, 56=>572, 57=>572, 58=>303, 59=>303, 60=>754, 61=>754, 62=>754,
|
||||
63=>478, 64=>900, 65=>615, 66=>617, 67=>628, 68=>693, 69=>568, 70=>518, 71=>697, 72=>677, 73=>265, 74=>265, 75=>590, 76=>501, 77=>776, 78=>673,
|
||||
79=>708, 80=>542, 81=>708, 82=>625, 83=>571, 84=>549, 85=>659, 86=>615, 87=>890, 88=>616, 89=>549, 90=>616, 91=>351, 92=>303, 93=>351, 94=>754,
|
||||
95=>450, 96=>450, 97=>551, 98=>571, 99=>495, 100=>571, 101=>554, 102=>316, 103=>571, 104=>570, 105=>250, 106=>250, 107=>521, 108=>250, 109=>876, 110=>570,
|
||||
111=>550, 112=>571, 113=>571, 114=>370, 115=>469, 116=>353, 117=>570, 118=>532, 119=>736, 120=>532, 121=>532, 122=>472, 123=>572, 124=>303, 125=>572, 126=>754,
|
||||
8364=>572, 1027=>549, 8218=>286, 402=>316, 8222=>466, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1208, 352=>571, 8249=>360, 338=>962, 1036=>639, 381=>616, 1039=>677,
|
||||
8216=>286, 8217=>286, 8220=>466, 8221=>466, 8226=>531, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>469, 8250=>360, 339=>920, 1116=>543, 382=>472, 376=>549, 160=>286,
|
||||
161=>360, 162=>572, 163=>572, 164=>572, 165=>572, 166=>303, 167=>450, 168=>450, 169=>900, 170=>424, 171=>550, 172=>754, 173=>325, 174=>900, 175=>450, 176=>450,
|
||||
177=>754, 178=>360, 179=>360, 180=>450, 181=>572, 182=>572, 183=>286, 184=>450, 185=>360, 186=>424, 187=>550, 188=>872, 189=>872, 190=>872, 191=>478, 192=>615,
|
||||
193=>615, 194=>615, 195=>615, 196=>615, 197=>615, 198=>876, 199=>628, 200=>568, 201=>568, 202=>568, 203=>568, 204=>265, 205=>265, 206=>265, 207=>265, 208=>697,
|
||||
209=>673, 210=>708, 211=>708, 212=>708, 213=>708, 214=>708, 215=>754, 216=>708, 217=>659, 218=>659, 219=>659, 220=>659, 221=>549, 222=>544, 223=>567, 224=>551,
|
||||
225=>551, 226=>551, 227=>551, 228=>551, 229=>551, 230=>883, 231=>495, 232=>554, 233=>554, 234=>554, 235=>554, 236=>250, 237=>250, 238=>250, 239=>250, 240=>550,
|
||||
241=>570, 242=>550, 243=>550, 244=>550, 245=>550, 246=>550, 247=>754, 248=>550, 249=>570, 250=>570, 251=>570, 252=>570, 253=>532, 254=>571, 255=>532, 256=>615,
|
||||
257=>551, 258=>615, 259=>551, 260=>615, 261=>551, 262=>628, 263=>495, 264=>628, 265=>495, 266=>628, 267=>495, 268=>628, 269=>495, 270=>693, 271=>571, 272=>697,
|
||||
273=>571, 274=>568, 275=>554, 276=>568, 277=>554, 278=>568, 279=>554, 280=>568, 281=>554, 282=>568, 283=>554, 284=>697, 285=>571, 286=>697, 287=>571, 288=>697,
|
||||
289=>571, 290=>697, 291=>571, 292=>677, 293=>570, 294=>824, 295=>625, 296=>265, 297=>250, 298=>265, 299=>250, 300=>265, 301=>250, 302=>265, 303=>250, 304=>265,
|
||||
305=>250, 306=>531, 307=>500, 308=>265, 309=>250, 310=>590, 311=>521, 312=>521, 313=>501, 314=>264, 315=>501, 316=>250, 317=>501, 318=>337, 319=>501, 320=>308,
|
||||
321=>505, 322=>255, 323=>673, 324=>570, 325=>673, 326=>570, 327=>673, 328=>570, 329=>732, 330=>673, 331=>570, 332=>708, 333=>550, 334=>708, 335=>550, 336=>708,
|
||||
337=>550, 340=>625, 341=>370, 342=>625, 343=>370, 344=>625, 345=>370, 346=>571, 347=>469, 348=>571, 349=>469, 350=>571, 351=>469, 354=>549, 355=>353, 356=>549,
|
||||
357=>353, 358=>549, 359=>353, 360=>659, 361=>570, 362=>659, 363=>570, 364=>659, 365=>570, 366=>659, 367=>570, 368=>659, 369=>570, 370=>659, 371=>570, 372=>890,
|
||||
373=>736, 374=>549, 375=>532, 377=>616, 378=>472, 379=>616, 380=>472, 383=>316, 384=>571, 385=>661, 386=>617, 387=>571, 388=>617, 389=>571, 390=>633, 391=>628,
|
||||
392=>495, 393=>697, 394=>737, 395=>617, 396=>571, 397=>550, 398=>568, 399=>708, 400=>553, 401=>518, 403=>697, 404=>618, 405=>885, 406=>318, 407=>265, 408=>671,
|
||||
409=>521, 410=>250, 411=>532, 412=>876, 413=>673, 414=>570, 415=>708, 416=>822, 417=>550, 418=>854, 419=>683, 420=>586, 421=>571, 422=>625, 423=>571, 424=>469,
|
||||
425=>568, 426=>302, 427=>353, 428=>549, 429=>353, 430=>549, 431=>772, 432=>570, 433=>688, 434=>648, 435=>669, 436=>656, 437=>616, 438=>472, 439=>599, 440=>599,
|
||||
441=>520, 442=>472, 443=>572, 444=>599, 445=>520, 446=>459, 447=>571, 448=>265, 449=>443, 450=>413, 451=>266, 452=>1279, 453=>1169, 454=>1039, 455=>751, 456=>708,
|
||||
457=>411, 458=>838, 459=>831, 460=>717, 461=>615, 462=>551, 463=>265, 464=>250, 465=>708, 466=>550, 467=>659, 468=>570, 469=>659, 470=>570, 471=>659, 472=>570,
|
||||
473=>659, 474=>570, 475=>659, 476=>570, 477=>554, 478=>615, 479=>551, 480=>615, 481=>551, 482=>876, 483=>883, 484=>697, 485=>571, 486=>697, 487=>571, 488=>590,
|
||||
489=>521, 490=>708, 491=>550, 492=>708, 493=>550, 494=>599, 495=>520, 496=>250, 497=>1279, 498=>1169, 499=>1039, 500=>697, 501=>571, 502=>1001, 503=>614, 504=>673,
|
||||
505=>570, 506=>615, 507=>551, 508=>876, 509=>883, 510=>708, 511=>550, 512=>615, 513=>551, 514=>615, 515=>551, 516=>568, 517=>554, 518=>568, 519=>554, 520=>265,
|
||||
521=>250, 522=>265, 523=>250, 524=>708, 525=>550, 526=>708, 527=>550, 528=>625, 529=>370, 530=>625, 531=>370, 532=>659, 533=>570, 534=>659, 535=>570, 536=>571,
|
||||
537=>469, 538=>549, 539=>353, 540=>564, 541=>469, 542=>677, 543=>570, 544=>662, 545=>754, 546=>628, 547=>549, 548=>616, 549=>472, 550=>615, 551=>551, 552=>568,
|
||||
553=>554, 554=>708, 555=>550, 556=>708, 557=>550, 558=>708, 559=>550, 560=>708, 561=>550, 562=>549, 563=>532, 564=>427, 565=>758, 566=>429, 567=>250, 568=>898,
|
||||
569=>898, 570=>615, 571=>628, 572=>495, 573=>501, 574=>549, 575=>469, 576=>472, 577=>542, 578=>431, 579=>617, 580=>659, 581=>615, 582=>568, 583=>554, 584=>265,
|
||||
585=>250, 586=>703, 587=>571, 588=>625, 589=>370, 590=>549, 591=>532, 592=>540, 593=>571, 594=>571, 595=>571, 596=>494, 597=>495, 598=>571, 599=>626, 600=>554,
|
||||
601=>554, 602=>737, 603=>486, 604=>479, 605=>698, 606=>598, 607=>250, 608=>626, 609=>571, 610=>566, 611=>536, 612=>536, 613=>570, 614=>570, 615=>570, 616=>250,
|
||||
617=>304, 618=>334, 619=>356, 620=>438, 621=>250, 622=>635, 623=>876, 624=>876, 625=>876, 626=>581, 627=>578, 628=>570, 629=>550, 630=>772, 631=>655, 632=>593,
|
||||
633=>373, 634=>373, 635=>372, 636=>370, 637=>369, 638=>393, 639=>477, 640=>543, 641=>543, 642=>469, 643=>302, 644=>302, 645=>415, 646=>302, 647=>353, 648=>353,
|
||||
649=>570, 650=>556, 651=>538, 652=>532, 653=>736, 654=>532, 655=>549, 656=>472, 657=>472, 658=>520, 659=>520, 660=>459, 661=>459, 662=>459, 663=>459, 664=>708,
|
||||
665=>521, 666=>598, 667=>637, 668=>588, 669=>263, 670=>600, 671=>456, 672=>654, 673=>459, 674=>459, 675=>913, 676=>952, 677=>911, 678=>742, 679=>549, 680=>700,
|
||||
681=>763, 682=>576, 683=>589, 684=>463, 685=>463, 686=>513, 687=>597, 688=>364, 689=>359, 690=>157, 691=>233, 692=>266, 693=>266, 694=>341, 695=>463, 696=>335,
|
||||
697=>250, 698=>414, 699=>286, 700=>286, 701=>286, 702=>276, 703=>276, 704=>333, 705=>333, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>247, 713=>450,
|
||||
714=>450, 715=>450, 716=>247, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>276, 723=>276, 724=>450, 725=>450, 726=>371, 727=>450, 728=>450, 729=>450,
|
||||
730=>450, 731=>450, 733=>450, 734=>284, 735=>450, 736=>383, 737=>149, 738=>335, 739=>399, 740=>333, 741=>444, 742=>444, 743=>444, 744=>444, 745=>444, 748=>450,
|
||||
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
|
||||
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
|
||||
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
|
||||
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
|
||||
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
|
||||
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
|
||||
884=>250, 885=>250, 890=>450, 891=>494, 892=>495, 893=>494, 894=>303, 900=>450, 901=>450, 902=>623, 903=>286, 904=>671, 905=>784, 906=>367, 908=>731, 910=>742,
|
||||
911=>743, 912=>304, 913=>615, 914=>617, 915=>501, 916=>615, 917=>568, 918=>616, 919=>677, 920=>708, 921=>265, 922=>590, 923=>615, 924=>776, 925=>673, 926=>568,
|
||||
927=>708, 928=>677, 929=>542, 931=>568, 932=>549, 933=>549, 934=>708, 935=>616, 936=>708, 937=>688, 938=>265, 939=>549, 940=>593, 941=>493, 942=>589, 943=>304,
|
||||
944=>521, 945=>593, 946=>574, 947=>532, 948=>550, 949=>486, 950=>489, 951=>570, 952=>550, 953=>304, 954=>530, 955=>532, 956=>572, 957=>502, 958=>501, 959=>550,
|
||||
960=>542, 961=>571, 962=>528, 963=>570, 964=>542, 965=>521, 966=>593, 967=>520, 968=>593, 969=>753, 970=>304, 971=>521, 972=>550, 973=>521, 974=>753, 976=>553,
|
||||
977=>557, 978=>628, 979=>758, 980=>628, 981=>593, 982=>753, 983=>597, 984=>708, 985=>550, 986=>583, 987=>528, 988=>518, 989=>413, 990=>593, 991=>593, 992=>778,
|
||||
993=>564, 994=>840, 995=>753, 996=>682, 997=>593, 998=>712, 999=>553, 1000=>618, 1001=>546, 1002=>690, 1003=>563, 1004=>629, 1005=>550, 1006=>549, 1007=>482, 1008=>597,
|
||||
1009=>571, 1010=>495, 1011=>250, 1012=>708, 1013=>554, 1014=>554, 1015=>544, 1016=>571, 1017=>628, 1018=>776, 1019=>585, 1020=>571, 1021=>633, 1022=>628, 1023=>633, 1024=>568,
|
||||
1025=>568, 1026=>708, 1028=>628, 1029=>571, 1030=>265, 1031=>265, 1032=>265, 1033=>984, 1034=>940, 1035=>708, 1037=>673, 1038=>548, 1040=>615, 1041=>617, 1042=>617, 1043=>549,
|
||||
1044=>703, 1045=>568, 1046=>969, 1047=>577, 1048=>673, 1049=>673, 1050=>639, 1051=>677, 1052=>776, 1053=>677, 1054=>708, 1055=>677, 1056=>542, 1057=>628, 1058=>549, 1059=>548,
|
||||
1060=>774, 1061=>616, 1062=>699, 1063=>617, 1064=>962, 1065=>984, 1066=>749, 1067=>794, 1068=>617, 1069=>628, 1070=>971, 1071=>625, 1072=>551, 1073=>555, 1074=>530, 1075=>473,
|
||||
1076=>622, 1077=>554, 1078=>811, 1079=>479, 1080=>584, 1081=>584, 1082=>543, 1083=>575, 1084=>679, 1085=>588, 1086=>550, 1087=>588, 1088=>571, 1089=>495, 1090=>524, 1091=>532,
|
||||
1092=>769, 1093=>532, 1094=>612, 1095=>532, 1096=>823, 1097=>848, 1098=>636, 1099=>710, 1100=>530, 1101=>494, 1102=>757, 1103=>541, 1104=>554, 1105=>554, 1106=>563, 1107=>473,
|
||||
1108=>494, 1109=>469, 1110=>250, 1111=>250, 1112=>250, 1113=>812, 1114=>809, 1115=>586, 1117=>584, 1118=>532, 1119=>588, 1120=>840, 1121=>753, 1122=>693, 1123=>604, 1124=>848,
|
||||
1125=>674, 1126=>791, 1127=>705, 1128=>1043, 1129=>901, 1130=>708, 1131=>550, 1132=>924, 1133=>742, 1134=>572, 1135=>486, 1136=>771, 1137=>789, 1138=>708, 1139=>533, 1140=>703,
|
||||
1141=>598, 1142=>703, 1143=>598, 1144=>893, 1145=>813, 1146=>857, 1147=>682, 1148=>1062, 1149=>925, 1150=>840, 1151=>753, 1152=>628, 1153=>495, 1154=>452, 1155=>0, 1156=>0,
|
||||
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>695, 1163=>609, 1164=>617, 1165=>530, 1166=>542, 1167=>571, 1168=>549, 1169=>473, 1170=>607, 1171=>500, 1172=>562, 1173=>477,
|
||||
1174=>969, 1175=>811, 1176=>577, 1177=>479, 1178=>639, 1179=>543, 1180=>639, 1181=>543, 1182=>639, 1183=>543, 1184=>771, 1185=>748, 1186=>677, 1187=>594, 1188=>913, 1189=>789,
|
||||
1190=>973, 1191=>824, 1192=>716, 1193=>586, 1194=>628, 1195=>495, 1196=>549, 1197=>476, 1198=>549, 1199=>532, 1200=>549, 1201=>532, 1202=>616, 1203=>532, 1204=>840, 1205=>726,
|
||||
1206=>617, 1207=>532, 1208=>617, 1209=>532, 1210=>617, 1211=>570, 1212=>847, 1213=>655, 1214=>847, 1215=>655, 1216=>265, 1217=>969, 1218=>811, 1219=>590, 1220=>543, 1221=>698,
|
||||
1222=>603, 1223=>677, 1224=>594, 1225=>699, 1226=>612, 1227=>617, 1228=>532, 1229=>799, 1230=>697, 1231=>250, 1232=>615, 1233=>551, 1234=>615, 1235=>551, 1236=>876, 1237=>883,
|
||||
1238=>568, 1239=>554, 1240=>708, 1241=>554, 1242=>708, 1243=>554, 1244=>969, 1245=>811, 1246=>577, 1247=>479, 1248=>599, 1249=>520, 1250=>673, 1251=>584, 1252=>673, 1253=>584,
|
||||
1254=>708, 1255=>550, 1256=>708, 1257=>550, 1258=>708, 1259=>550, 1260=>628, 1261=>494, 1262=>548, 1263=>532, 1264=>548, 1265=>532, 1266=>548, 1267=>532, 1268=>617, 1269=>532,
|
||||
1270=>501, 1271=>442, 1272=>794, 1273=>710, 1274=>607, 1275=>500, 1276=>616, 1277=>532, 1278=>616, 1279=>532, 1280=>617, 1281=>530, 1282=>905, 1283=>807, 1284=>877, 1285=>782,
|
||||
1286=>611, 1287=>529, 1288=>964, 1289=>861, 1290=>965, 1291=>870, 1292=>697, 1293=>593, 1294=>695, 1295=>640, 1296=>553, 1297=>486, 1298=>677, 1299=>575, 1329=>780, 1330=>659,
|
||||
1331=>794, 1332=>794, 1333=>659, 1334=>579, 1335=>613, 1336=>659, 1337=>765, 1338=>794, 1339=>659, 1340=>501, 1341=>741, 1342=>888, 1343=>659, 1344=>636, 1345=>579, 1346=>794,
|
||||
1347=>699, 1348=>794, 1349=>659, 1350=>756, 1351=>659, 1352=>659, 1353=>659, 1354=>711, 1355=>579, 1356=>794, 1357=>659, 1358=>794, 1359=>571, 1360=>659, 1361=>659, 1362=>719,
|
||||
1363=>774, 1364=>711, 1365=>708, 1366=>571, 1369=>276, 1370=>286, 1371=>450, 1372=>450, 1373=>352, 1374=>474, 1375=>450, 1377=>876, 1378=>570, 1379=>686, 1380=>690, 1381=>570,
|
||||
1382=>627, 1383=>479, 1384=>570, 1385=>630, 1386=>627, 1387=>570, 1388=>363, 1389=>804, 1390=>576, 1391=>570, 1392=>570, 1393=>571, 1394=>631, 1395=>570, 1396=>593, 1397=>250,
|
||||
1398=>684, 1399=>464, 1400=>570, 1401=>407, 1402=>876, 1403=>464, 1404=>691, 1405=>570, 1406=>626, 1407=>876, 1408=>570, 1409=>571, 1410=>451, 1411=>876, 1412=>583, 1413=>550,
|
||||
1414=>566, 1415=>686, 1417=>303, 1418=>390, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
|
||||
1469=>0, 1471=>0, 1472=>265, 1473=>0, 1474=>0, 1475=>265, 1478=>410, 1479=>0, 1488=>566, 1489=>547, 1490=>403, 1491=>534, 1492=>576, 1493=>245, 1494=>380, 1495=>576,
|
||||
1496=>583, 1497=>245, 1498=>532, 1499=>500, 1500=>539, 1501=>576, 1502=>593, 1503=>245, 1504=>397, 1505=>629, 1506=>572, 1507=>576, 1508=>543, 1509=>468, 1510=>523, 1511=>596,
|
||||
1512=>532, 1513=>727, 1514=>591, 1520=>423, 1521=>409, 1522=>423, 1548=>290, 1557=>0, 1563=>286, 1567=>478, 1569=>423, 1570=>250, 1571=>250, 1572=>435, 1573=>250, 1574=>704,
|
||||
1575=>250, 1576=>847, 1577=>471, 1578=>847, 1579=>847, 1580=>581, 1581=>581, 1582=>581, 1583=>400, 1584=>400, 1585=>435, 1586=>435, 1587=>1099, 1588=>1099, 1589=>1088, 1590=>1088,
|
||||
1591=>832, 1592=>832, 1593=>537, 1594=>537, 1600=>264, 1601=>933, 1602=>698, 1603=>742, 1604=>654, 1605=>557, 1606=>661, 1607=>471, 1608=>435, 1609=>704, 1610=>704, 1611=>0,
|
||||
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>483, 1633=>483, 1634=>483, 1635=>483, 1636=>483,
|
||||
1637=>483, 1638=>483, 1639=>483, 1640=>483, 1641=>483, 1642=>483, 1643=>292, 1644=>286, 1645=>490, 1646=>847, 1647=>698, 1652=>263, 1657=>847, 1658=>847, 1659=>847, 1660=>847,
|
||||
1661=>847, 1662=>847, 1663=>847, 1664=>847, 1665=>581, 1666=>581, 1667=>581, 1668=>581, 1669=>581, 1670=>581, 1671=>581, 1681=>435, 1682=>435, 1685=>549, 1688=>435, 1697=>933,
|
||||
1700=>933, 1702=>933, 1705=>805, 1711=>805, 1717=>654, 1722=>661, 1727=>581, 1734=>435, 1740=>704, 1742=>704, 1749=>471, 1776=>483, 1777=>483, 1778=>483, 1779=>483, 1780=>483,
|
||||
1781=>483, 1782=>483, 1783=>483, 1784=>483, 1785=>483, 3647=>586, 3713=>603, 3714=>615, 3716=>619, 3719=>434, 3720=>565, 3722=>615, 3725=>619, 3732=>602, 3733=>577, 3734=>580,
|
||||
3735=>589, 3737=>593, 3738=>563, 3739=>563, 3740=>670, 3741=>690, 3742=>618, 3743=>618, 3745=>631, 3746=>619, 3747=>615, 3749=>584, 3751=>569, 3754=>633, 3755=>737, 3757=>569,
|
||||
3758=>615, 3759=>708, 3760=>569, 3761=>0, 3762=>485, 3763=>485, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>597, 3776=>337,
|
||||
3777=>591, 3778=>414, 3779=>492, 3780=>442, 3782=>606, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>925, 3805=>925, 5121=>615, 5122=>615, 5123=>615,
|
||||
5124=>615, 5125=>692, 5126=>692, 5127=>692, 5129=>692, 5130=>692, 5131=>692, 5132=>751, 5133=>751, 5134=>751, 5135=>751, 5136=>751, 5137=>751, 5138=>870, 5139=>906, 5140=>870,
|
||||
5141=>906, 5142=>692, 5143=>870, 5144=>906, 5145=>870, 5146=>906, 5147=>692, 5149=>230, 5150=>488, 5151=>381, 5152=>381, 5153=>350, 5154=>350, 5155=>354, 5156=>350, 5157=>419,
|
||||
5158=>347, 5159=>230, 5160=>350, 5161=>350, 5162=>350, 5163=>980, 5164=>817, 5165=>857, 5166=>1005, 5167=>615, 5168=>615, 5169=>615, 5170=>615, 5171=>656, 5172=>656, 5173=>656,
|
||||
5175=>656, 5176=>656, 5177=>656, 5178=>751, 5179=>751, 5180=>751, 5181=>751, 5182=>751, 5183=>751, 5184=>870, 5185=>906, 5186=>870, 5187=>906, 5188=>870, 5189=>906, 5190=>870,
|
||||
5191=>906, 5192=>656, 5193=>457, 5194=>172, 5196=>659, 5197=>659, 5198=>659, 5199=>659, 5200=>657, 5201=>657, 5202=>657, 5204=>657, 5205=>657, 5206=>657, 5207=>829, 5208=>800,
|
||||
5209=>829, 5210=>800, 5211=>829, 5212=>800, 5213=>835, 5214=>810, 5215=>835, 5216=>810, 5217=>853, 5218=>810, 5219=>853, 5220=>810, 5221=>853, 5222=>457, 5223=>790, 5224=>790,
|
||||
5225=>779, 5226=>801, 5227=>565, 5228=>565, 5229=>565, 5230=>565, 5231=>565, 5232=>625, 5233=>565, 5234=>565, 5235=>565, 5236=>773, 5237=>693, 5238=>733, 5239=>734, 5240=>733,
|
||||
5241=>734, 5242=>773, 5243=>693, 5244=>773, 5245=>693, 5246=>733, 5247=>734, 5248=>733, 5249=>734, 5250=>733, 5251=>366, 5252=>366, 5253=>675, 5254=>697, 5255=>675, 5256=>697,
|
||||
5257=>565, 5258=>565, 5259=>565, 5260=>565, 5261=>565, 5262=>565, 5263=>565, 5264=>565, 5265=>565, 5266=>773, 5267=>693, 5268=>733, 5269=>734, 5270=>733, 5271=>734, 5272=>773,
|
||||
5273=>693, 5274=>773, 5275=>693, 5276=>733, 5277=>734, 5278=>733, 5279=>734, 5280=>733, 5281=>391, 5282=>391, 5283=>549, 5284=>501, 5285=>501, 5286=>501, 5287=>549, 5288=>470,
|
||||
5289=>549, 5290=>501, 5291=>501, 5292=>674, 5293=>691, 5294=>671, 5295=>687, 5296=>671, 5297=>687, 5298=>674, 5299=>691, 5300=>674, 5301=>691, 5302=>671, 5303=>687, 5304=>671,
|
||||
5305=>687, 5306=>671, 5307=>347, 5308=>457, 5309=>347, 5312=>766, 5313=>766, 5314=>766, 5315=>740, 5316=>766, 5317=>766, 5318=>766, 5319=>766, 5320=>766, 5321=>962, 5322=>931,
|
||||
5323=>953, 5324=>766, 5325=>953, 5326=>766, 5327=>766, 5328=>540, 5329=>407, 5330=>540, 5331=>766, 5332=>766, 5333=>766, 5334=>766, 5335=>766, 5336=>766, 5337=>766, 5338=>766,
|
||||
5339=>766, 5340=>962, 5341=>931, 5342=>953, 5343=>927, 5344=>953, 5345=>927, 5346=>962, 5347=>931, 5348=>962, 5349=>931, 5350=>975, 5351=>927, 5352=>975, 5353=>927, 5354=>540,
|
||||
5356=>656, 5357=>542, 5358=>542, 5359=>542, 5360=>542, 5361=>542, 5362=>595, 5363=>542, 5364=>542, 5365=>542, 5366=>751, 5367=>678, 5368=>712, 5369=>694, 5370=>712, 5371=>694,
|
||||
5372=>751, 5373=>678, 5374=>751, 5375=>678, 5376=>712, 5377=>694, 5378=>712, 5379=>694, 5380=>712, 5381=>376, 5382=>378, 5383=>376, 5392=>641, 5393=>641, 5394=>641, 5395=>802,
|
||||
5396=>802, 5397=>802, 5398=>802, 5399=>818, 5400=>785, 5401=>818, 5402=>785, 5403=>818, 5404=>785, 5405=>1026, 5406=>989, 5407=>1026, 5408=>989, 5409=>1026, 5410=>989, 5411=>1026,
|
||||
5412=>989, 5413=>576, 5414=>564, 5415=>564, 5416=>564, 5417=>564, 5418=>564, 5419=>601, 5420=>564, 5421=>564, 5422=>564, 5423=>760, 5424=>703, 5425=>734, 5426=>736, 5427=>734,
|
||||
5428=>736, 5429=>760, 5430=>703, 5431=>760, 5432=>703, 5433=>734, 5434=>736, 5435=>734, 5436=>736, 5437=>734, 5438=>376, 5440=>350, 5441=>436, 5442=>824, 5443=>824, 5444=>824,
|
||||
5445=>824, 5446=>824, 5447=>824, 5448=>542, 5449=>542, 5450=>542, 5451=>542, 5452=>542, 5453=>542, 5454=>751, 5455=>678, 5456=>376, 5458=>656, 5459=>615, 5460=>615, 5461=>615,
|
||||
5462=>615, 5463=>653, 5464=>653, 5465=>653, 5466=>653, 5467=>831, 5468=>906, 5469=>457, 5470=>659, 5471=>659, 5472=>659, 5473=>659, 5474=>659, 5475=>659, 5476=>657, 5477=>657,
|
||||
5478=>657, 5479=>657, 5480=>853, 5481=>810, 5482=>457, 5492=>747, 5493=>747, 5494=>747, 5495=>747, 5496=>747, 5497=>747, 5498=>747, 5499=>507, 5500=>677, 5501=>436, 5502=>942,
|
||||
5503=>942, 5504=>942, 5505=>942, 5506=>942, 5507=>942, 5508=>942, 5509=>743, 5514=>747, 5515=>747, 5516=>747, 5517=>747, 5518=>1133, 5519=>1133, 5520=>1133, 5521=>901, 5522=>901,
|
||||
5523=>1133, 5524=>1133, 5525=>629, 5526=>965, 5536=>766, 5537=>766, 5538=>766, 5539=>766, 5540=>766, 5541=>766, 5542=>540, 5543=>579, 5544=>579, 5545=>579, 5546=>579, 5547=>579,
|
||||
5548=>579, 5549=>579, 5550=>376, 5551=>565, 5598=>693, 5601=>690, 5702=>421, 5703=>421, 5742=>399, 5743=>942, 5744=>1178, 5745=>1469, 5746=>1469, 5747=>1237, 5748=>1237, 5749=>1469,
|
||||
5750=>1469, 7424=>532, 7425=>646, 7426=>883, 7427=>527, 7428=>495, 7429=>544, 7430=>544, 7431=>441, 7432=>486, 7433=>250, 7434=>355, 7435=>521, 7436=>524, 7437=>679, 7438=>584,
|
||||
7439=>550, 7440=>495, 7441=>615, 7442=>615, 7443=>615, 7444=>920, 7446=>550, 7447=>550, 7448=>472, 7449=>541, 7450=>541, 7451=>524, 7452=>517, 7453=>663, 7454=>853, 7455=>574,
|
||||
7456=>532, 7457=>736, 7458=>472, 7459=>473, 7462=>524, 7463=>532, 7464=>507, 7465=>472, 7466=>531, 7467=>575, 7468=>387, 7469=>552, 7470=>389, 7472=>436, 7473=>358, 7474=>358,
|
||||
7475=>439, 7476=>426, 7477=>167, 7478=>167, 7479=>372, 7480=>315, 7481=>489, 7482=>424, 7483=>424, 7484=>446, 7485=>396, 7486=>342, 7487=>394, 7488=>346, 7489=>415, 7490=>560,
|
||||
7491=>352, 7492=>352, 7493=>365, 7494=>583, 7495=>385, 7496=>365, 7497=>375, 7498=>375, 7499=>324, 7500=>323, 7501=>365, 7502=>161, 7503=>383, 7504=>561, 7505=>368, 7506=>372,
|
||||
7507=>333, 7508=>372, 7509=>372, 7510=>385, 7511=>265, 7512=>364, 7513=>422, 7514=>561, 7515=>375, 7517=>361, 7518=>335, 7519=>347, 7520=>374, 7521=>327, 7522=>161, 7523=>233,
|
||||
7524=>364, 7525=>375, 7526=>361, 7527=>335, 7528=>347, 7529=>374, 7530=>327, 7543=>571, 7544=>426, 7547=>334, 7557=>250, 7579=>365, 7580=>333, 7581=>333, 7582=>372, 7583=>324,
|
||||
7584=>267, 7585=>209, 7586=>365, 7587=>364, 7588=>235, 7589=>224, 7590=>234, 7591=>235, 7592=>211, 7593=>224, 7594=>211, 7595=>338, 7596=>561, 7597=>561, 7598=>369, 7599=>431,
|
||||
7600=>368, 7601=>372, 7602=>372, 7603=>324, 7604=>258, 7605=>265, 7606=>457, 7607=>376, 7608=>325, 7609=>365, 7610=>375, 7611=>330, 7612=>393, 7613=>330, 7614=>353, 7615=>372,
|
||||
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>615, 7681=>551, 7682=>617, 7683=>571, 7684=>617, 7685=>571, 7686=>617, 7687=>571, 7688=>628, 7689=>495,
|
||||
7690=>693, 7691=>571, 7692=>693, 7693=>571, 7694=>693, 7695=>571, 7696=>693, 7697=>571, 7698=>693, 7699=>571, 7700=>568, 7701=>554, 7702=>568, 7703=>554, 7704=>568, 7705=>554,
|
||||
7706=>568, 7707=>554, 7708=>568, 7709=>554, 7710=>518, 7711=>316, 7712=>697, 7713=>571, 7714=>677, 7715=>570, 7716=>677, 7717=>570, 7718=>677, 7719=>570, 7720=>677, 7721=>570,
|
||||
7722=>677, 7723=>570, 7724=>265, 7725=>250, 7726=>265, 7727=>250, 7728=>590, 7729=>521, 7730=>590, 7731=>521, 7732=>590, 7733=>521, 7734=>501, 7735=>250, 7736=>501, 7737=>250,
|
||||
7738=>501, 7739=>250, 7740=>501, 7741=>250, 7742=>776, 7743=>876, 7744=>776, 7745=>876, 7746=>776, 7747=>876, 7748=>673, 7749=>570, 7750=>673, 7751=>570, 7752=>673, 7753=>570,
|
||||
7754=>673, 7755=>570, 7756=>708, 7757=>550, 7758=>708, 7759=>550, 7760=>708, 7761=>550, 7762=>708, 7763=>550, 7764=>542, 7765=>571, 7766=>542, 7767=>571, 7768=>625, 7769=>370,
|
||||
7770=>625, 7771=>370, 7772=>625, 7773=>370, 7774=>625, 7775=>370, 7776=>571, 7777=>469, 7778=>571, 7779=>469, 7780=>571, 7781=>469, 7782=>571, 7783=>469, 7784=>571, 7785=>469,
|
||||
7786=>549, 7787=>353, 7788=>549, 7789=>353, 7790=>549, 7791=>353, 7792=>549, 7793=>353, 7794=>659, 7795=>570, 7796=>659, 7797=>570, 7798=>659, 7799=>570, 7800=>659, 7801=>570,
|
||||
7802=>659, 7803=>570, 7804=>615, 7805=>532, 7806=>615, 7807=>532, 7808=>890, 7809=>736, 7810=>890, 7811=>736, 7812=>890, 7813=>736, 7814=>890, 7815=>736, 7816=>890, 7817=>736,
|
||||
7818=>616, 7819=>532, 7820=>616, 7821=>532, 7822=>549, 7823=>532, 7824=>616, 7825=>472, 7826=>616, 7827=>472, 7828=>616, 7829=>472, 7830=>570, 7831=>353, 7832=>736, 7833=>532,
|
||||
7834=>551, 7835=>316, 7840=>615, 7841=>551, 7842=>615, 7843=>551, 7844=>615, 7845=>551, 7846=>615, 7847=>551, 7848=>615, 7849=>551, 7850=>615, 7851=>551, 7852=>615, 7853=>551,
|
||||
7854=>615, 7855=>551, 7856=>615, 7857=>551, 7858=>615, 7859=>551, 7860=>615, 7861=>551, 7862=>615, 7863=>551, 7864=>568, 7865=>554, 7866=>568, 7867=>554, 7868=>568, 7869=>554,
|
||||
7870=>568, 7871=>554, 7872=>568, 7873=>554, 7874=>568, 7875=>554, 7876=>568, 7877=>554, 7878=>568, 7879=>554, 7880=>265, 7881=>250, 7882=>265, 7883=>250, 7884=>708, 7885=>550,
|
||||
7886=>708, 7887=>550, 7888=>708, 7889=>550, 7890=>708, 7891=>550, 7892=>708, 7893=>550, 7894=>708, 7895=>550, 7896=>708, 7897=>550, 7898=>822, 7899=>550, 7900=>822, 7901=>550,
|
||||
7902=>822, 7903=>550, 7904=>822, 7905=>550, 7906=>822, 7907=>550, 7908=>659, 7909=>570, 7910=>659, 7911=>570, 7912=>772, 7913=>570, 7914=>772, 7915=>570, 7916=>772, 7917=>570,
|
||||
7918=>772, 7919=>570, 7920=>772, 7921=>570, 7922=>549, 7923=>532, 7924=>549, 7925=>532, 7926=>549, 7927=>532, 7928=>549, 7929=>532, 7936=>593, 7937=>593, 7938=>593, 7939=>593,
|
||||
7940=>593, 7941=>593, 7942=>593, 7943=>593, 7944=>615, 7945=>615, 7946=>790, 7947=>790, 7948=>692, 7949=>721, 7950=>637, 7951=>668, 7952=>486, 7953=>486, 7954=>486, 7955=>486,
|
||||
7956=>486, 7957=>486, 7960=>640, 7961=>640, 7962=>869, 7963=>877, 7964=>809, 7965=>835, 7968=>570, 7969=>570, 7970=>570, 7971=>570, 7972=>570, 7973=>570, 7974=>570, 7975=>570,
|
||||
7976=>753, 7977=>751, 7978=>977, 7979=>980, 7980=>924, 7981=>945, 7982=>840, 7983=>852, 7984=>304, 7985=>304, 7986=>304, 7987=>304, 7988=>304, 7989=>304, 7990=>304, 7991=>304,
|
||||
7992=>342, 7993=>336, 7994=>571, 7995=>571, 7996=>513, 7997=>540, 7998=>440, 7999=>443, 8000=>550, 8001=>550, 8002=>550, 8003=>550, 8004=>550, 8005=>550, 8008=>724, 8009=>763,
|
||||
8010=>985, 8011=>989, 8012=>844, 8013=>873, 8016=>521, 8017=>521, 8018=>521, 8019=>521, 8020=>521, 8021=>521, 8022=>521, 8023=>521, 8025=>705, 8027=>897, 8029=>911, 8031=>808,
|
||||
8032=>753, 8033=>753, 8034=>753, 8035=>753, 8036=>753, 8037=>753, 8038=>753, 8039=>753, 8040=>722, 8041=>759, 8042=>980, 8043=>985, 8044=>851, 8045=>875, 8046=>829, 8047=>857,
|
||||
8048=>593, 8049=>593, 8050=>486, 8051=>493, 8052=>570, 8053=>589, 8054=>304, 8055=>304, 8056=>550, 8057=>550, 8058=>521, 8059=>521, 8060=>753, 8061=>753, 8064=>593, 8065=>593,
|
||||
8066=>593, 8067=>593, 8068=>593, 8069=>593, 8070=>593, 8071=>593, 8072=>615, 8073=>615, 8074=>790, 8075=>790, 8076=>692, 8077=>721, 8078=>637, 8079=>668, 8080=>570, 8081=>570,
|
||||
8082=>570, 8083=>570, 8084=>570, 8085=>570, 8086=>570, 8087=>570, 8088=>753, 8089=>751, 8090=>977, 8091=>980, 8092=>924, 8093=>945, 8094=>840, 8095=>852, 8096=>753, 8097=>753,
|
||||
8098=>753, 8099=>753, 8100=>753, 8101=>753, 8102=>753, 8103=>753, 8104=>722, 8105=>759, 8106=>980, 8107=>985, 8108=>851, 8109=>875, 8110=>829, 8111=>857, 8112=>593, 8113=>593,
|
||||
8114=>593, 8115=>593, 8116=>593, 8118=>593, 8119=>593, 8120=>615, 8121=>615, 8122=>645, 8123=>623, 8124=>615, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>570,
|
||||
8131=>570, 8132=>589, 8134=>570, 8135=>570, 8136=>724, 8137=>671, 8138=>837, 8139=>784, 8140=>677, 8141=>450, 8142=>450, 8143=>450, 8144=>304, 8145=>304, 8146=>304, 8147=>304,
|
||||
8150=>304, 8151=>304, 8152=>265, 8153=>265, 8154=>427, 8155=>367, 8157=>450, 8158=>450, 8159=>450, 8160=>521, 8161=>521, 8162=>521, 8163=>521, 8164=>571, 8165=>571, 8166=>521,
|
||||
8167=>521, 8168=>549, 8169=>549, 8170=>760, 8171=>742, 8172=>616, 8173=>450, 8174=>450, 8175=>450, 8178=>753, 8179=>753, 8180=>753, 8182=>753, 8183=>753, 8184=>847, 8185=>731,
|
||||
8186=>830, 8187=>743, 8188=>688, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>572, 8200=>286, 8201=>180, 8202=>89,
|
||||
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>325, 8209=>325, 8210=>572, 8213=>900, 8214=>450, 8215=>450, 8219=>286, 8223=>466, 8227=>531, 8228=>301, 8229=>601,
|
||||
8231=>286, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1562, 8242=>204, 8243=>336, 8244=>468, 8245=>204, 8246=>336, 8247=>468, 8248=>305, 8251=>754,
|
||||
8252=>437, 8253=>478, 8254=>450, 8255=>723, 8256=>723, 8257=>225, 8258=>900, 8259=>450, 8260=>150, 8261=>351, 8262=>351, 8263=>830, 8264=>659, 8265=>659, 8266=>447, 8267=>572,
|
||||
8268=>450, 8269=>450, 8270=>450, 8271=>303, 8272=>723, 8273=>450, 8274=>404, 8275=>754, 8276=>723, 8277=>754, 8278=>527, 8279=>597, 8280=>754, 8281=>754, 8282=>286, 8283=>717,
|
||||
8284=>754, 8285=>286, 8286=>286, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>360, 8305=>161,
|
||||
8308=>360, 8309=>360, 8310=>360, 8311=>360, 8312=>360, 8313=>360, 8314=>475, 8315=>475, 8316=>475, 8317=>221, 8318=>221, 8319=>359, 8320=>360, 8321=>360, 8322=>360, 8323=>360,
|
||||
8324=>360, 8325=>360, 8326=>360, 8327=>360, 8328=>360, 8329=>360, 8330=>475, 8331=>475, 8332=>475, 8333=>221, 8334=>221, 8336=>352, 8337=>375, 8338=>372, 8339=>399, 8340=>375,
|
||||
8352=>789, 8353=>572, 8354=>572, 8355=>572, 8356=>572, 8357=>876, 8358=>673, 8359=>1145, 8360=>966, 8361=>890, 8362=>706, 8363=>572, 8365=>572, 8366=>572, 8367=>1145, 8368=>572,
|
||||
8369=>572, 8370=>572, 8371=>572, 8372=>696, 8373=>577, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>917, 8449=>917, 8450=>628, 8451=>1011, 8452=>578, 8453=>917, 8454=>960,
|
||||
8455=>553, 8456=>628, 8457=>856, 8459=>889, 8460=>679, 8461=>765, 8462=>570, 8463=>570, 8464=>422, 8465=>627, 8466=>648, 8467=>372, 8468=>736, 8469=>721, 8470=>936, 8471=>900,
|
||||
8472=>627, 8473=>631, 8474=>708, 8475=>718, 8476=>732, 8477=>713, 8478=>807, 8479=>615, 8480=>917, 8481=>967, 8483=>615, 8484=>670, 8485=>520, 8486=>688, 8487=>688, 8488=>554,
|
||||
8489=>304, 8490=>590, 8491=>615, 8492=>708, 8493=>633, 8494=>769, 8495=>532, 8496=>545, 8497=>708, 8498=>518, 8499=>962, 8500=>416, 8501=>670, 8502=>606, 8503=>422, 8504=>583,
|
||||
8505=>342, 8506=>833, 8507=>1074, 8508=>632, 8509=>655, 8510=>589, 8511=>764, 8512=>729, 8513=>697, 8514=>501, 8515=>501, 8516=>549, 8517=>737, 8518=>637, 8519=>554, 8520=>316,
|
||||
8521=>316, 8523=>702, 8526=>474, 8531=>872, 8532=>872, 8533=>872, 8534=>872, 8535=>872, 8536=>872, 8537=>872, 8538=>872, 8539=>872, 8540=>872, 8541=>872, 8542=>872, 8543=>511,
|
||||
8544=>265, 8545=>443, 8546=>620, 8547=>831, 8548=>615, 8549=>830, 8550=>1007, 8551=>1185, 8552=>826, 8553=>616, 8554=>839, 8555=>1018, 8556=>501, 8557=>628, 8558=>693, 8559=>776,
|
||||
8560=>250, 8561=>412, 8562=>573, 8563=>730, 8564=>532, 8565=>729, 8566=>892, 8567=>1053, 8568=>737, 8569=>532, 8570=>740, 8571=>901, 8572=>250, 8573=>495, 8574=>571, 8575=>876,
|
||||
8576=>1121, 8577=>693, 8578=>1121, 8579=>633, 8580=>494, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
|
||||
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
|
||||
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
|
||||
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
|
||||
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
|
||||
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
|
||||
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
|
||||
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>615, 8705=>572, 8706=>465, 8707=>568, 8708=>568, 8709=>784, 8710=>602, 8711=>602, 8712=>784, 8713=>784, 8714=>646,
|
||||
8715=>784, 8716=>784, 8717=>646, 8718=>572, 8719=>681, 8720=>681, 8721=>606, 8722=>754, 8723=>754, 8724=>754, 8725=>150, 8726=>573, 8727=>754, 8728=>563, 8729=>286, 8730=>573,
|
||||
8731=>573, 8732=>573, 8733=>609, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>659, 8744=>659, 8745=>659, 8746=>659,
|
||||
8747=>469, 8748=>710, 8749=>951, 8750=>469, 8751=>710, 8752=>951, 8753=>469, 8754=>469, 8755=>469, 8756=>572, 8757=>572, 8758=>234, 8759=>572, 8760=>754, 8761=>754, 8762=>754,
|
||||
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
|
||||
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>900, 8789=>900, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
|
||||
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>754, 8809=>754, 8810=>942,
|
||||
8811=>942, 8812=>417, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
|
||||
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
|
||||
8843=>754, 8844=>659, 8845=>659, 8846=>659, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>649, 8852=>649, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
|
||||
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>784, 8867=>784, 8868=>784, 8869=>784, 8870=>468, 8871=>468, 8872=>784, 8873=>784, 8874=>784,
|
||||
8875=>784, 8876=>784, 8877=>784, 8878=>784, 8879=>784, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>468, 8891=>659, 8892=>659,
|
||||
8893=>659, 8896=>738, 8897=>738, 8898=>738, 8899=>738, 8900=>444, 8901=>286, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
|
||||
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
|
||||
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>900, 8947=>784, 8948=>646, 8949=>784, 8950=>784, 8951=>646, 8952=>784, 8953=>784, 8954=>900, 8955=>784,
|
||||
8956=>646, 8957=>784, 8958=>646, 8959=>784, 8962=>571, 8966=>784, 8968=>351, 8969=>351, 8970=>351, 8971=>351, 8976=>754, 8977=>461, 8984=>900, 8985=>754, 8992=>469, 8993=>469,
|
||||
8997=>900, 9000=>1299, 9085=>681, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
|
||||
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>469, 9166=>754, 9167=>850, 9250=>571, 9251=>571, 9312=>807, 9313=>807, 9314=>807, 9315=>807, 9316=>807,
|
||||
9317=>807, 9318=>807, 9319=>807, 9320=>807, 9321=>807, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
|
||||
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
|
||||
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
|
||||
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
|
||||
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
|
||||
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>712, 9689=>873, 9690=>873,
|
||||
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>785, 9697=>785, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>531, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
|
||||
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
|
||||
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
|
||||
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
|
||||
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
|
||||
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
|
||||
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
|
||||
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
|
||||
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
|
||||
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
|
||||
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
|
||||
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
|
||||
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
|
||||
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
|
||||
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
|
||||
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
|
||||
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
|
||||
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
|
||||
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>290, 10076=>290, 10077=>484, 10078=>484, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
|
||||
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>807, 10103=>807,
|
||||
10104=>807, 10105=>807, 10106=>807, 10107=>807, 10108=>807, 10109=>807, 10110=>807, 10111=>807, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
|
||||
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
|
||||
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
|
||||
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
|
||||
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>445, 10215=>445, 10216=>351, 10217=>351, 10218=>500, 10219=>500, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
|
||||
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>659, 10241=>659, 10242=>659, 10243=>659, 10244=>659, 10245=>659,
|
||||
10246=>659, 10247=>659, 10248=>659, 10249=>659, 10250=>659, 10251=>659, 10252=>659, 10253=>659, 10254=>659, 10255=>659, 10256=>659, 10257=>659, 10258=>659, 10259=>659, 10260=>659, 10261=>659,
|
||||
10262=>659, 10263=>659, 10264=>659, 10265=>659, 10266=>659, 10267=>659, 10268=>659, 10269=>659, 10270=>659, 10271=>659, 10272=>659, 10273=>659, 10274=>659, 10275=>659, 10276=>659, 10277=>659,
|
||||
10278=>659, 10279=>659, 10280=>659, 10281=>659, 10282=>659, 10283=>659, 10284=>659, 10285=>659, 10286=>659, 10287=>659, 10288=>659, 10289=>659, 10290=>659, 10291=>659, 10292=>659, 10293=>659,
|
||||
10294=>659, 10295=>659, 10296=>659, 10297=>659, 10298=>659, 10299=>659, 10300=>659, 10301=>659, 10302=>659, 10303=>659, 10304=>659, 10305=>659, 10306=>659, 10307=>659, 10308=>659, 10309=>659,
|
||||
10310=>659, 10311=>659, 10312=>659, 10313=>659, 10314=>659, 10315=>659, 10316=>659, 10317=>659, 10318=>659, 10319=>659, 10320=>659, 10321=>659, 10322=>659, 10323=>659, 10324=>659, 10325=>659,
|
||||
10326=>659, 10327=>659, 10328=>659, 10329=>659, 10330=>659, 10331=>659, 10332=>659, 10333=>659, 10334=>659, 10335=>659, 10336=>659, 10337=>659, 10338=>659, 10339=>659, 10340=>659, 10341=>659,
|
||||
10342=>659, 10343=>659, 10344=>659, 10345=>659, 10346=>659, 10347=>659, 10348=>659, 10349=>659, 10350=>659, 10351=>659, 10352=>659, 10353=>659, 10354=>659, 10355=>659, 10356=>659, 10357=>659,
|
||||
10358=>659, 10359=>659, 10360=>659, 10361=>659, 10362=>659, 10363=>659, 10364=>659, 10365=>659, 10366=>659, 10367=>659, 10368=>659, 10369=>659, 10370=>659, 10371=>659, 10372=>659, 10373=>659,
|
||||
10374=>659, 10375=>659, 10376=>659, 10377=>659, 10378=>659, 10379=>659, 10380=>659, 10381=>659, 10382=>659, 10383=>659, 10384=>659, 10385=>659, 10386=>659, 10387=>659, 10388=>659, 10389=>659,
|
||||
10390=>659, 10391=>659, 10392=>659, 10393=>659, 10394=>659, 10395=>659, 10396=>659, 10397=>659, 10398=>659, 10399=>659, 10400=>659, 10401=>659, 10402=>659, 10403=>659, 10404=>659, 10405=>659,
|
||||
10406=>659, 10407=>659, 10408=>659, 10409=>659, 10410=>659, 10411=>659, 10412=>659, 10413=>659, 10414=>659, 10415=>659, 10416=>659, 10417=>659, 10418=>659, 10419=>659, 10420=>659, 10421=>659,
|
||||
10422=>659, 10423=>659, 10424=>659, 10425=>659, 10426=>659, 10427=>659, 10428=>659, 10429=>659, 10430=>659, 10431=>659, 10432=>659, 10433=>659, 10434=>659, 10435=>659, 10436=>659, 10437=>659,
|
||||
10438=>659, 10439=>659, 10440=>659, 10441=>659, 10442=>659, 10443=>659, 10444=>659, 10445=>659, 10446=>659, 10447=>659, 10448=>659, 10449=>659, 10450=>659, 10451=>659, 10452=>659, 10453=>659,
|
||||
10454=>659, 10455=>659, 10456=>659, 10457=>659, 10458=>659, 10459=>659, 10460=>659, 10461=>659, 10462=>659, 10463=>659, 10464=>659, 10465=>659, 10466=>659, 10467=>659, 10468=>659, 10469=>659,
|
||||
10470=>659, 10471=>659, 10472=>659, 10473=>659, 10474=>659, 10475=>659, 10476=>659, 10477=>659, 10478=>659, 10479=>659, 10480=>659, 10481=>659, 10482=>659, 10483=>659, 10484=>659, 10485=>659,
|
||||
10486=>659, 10487=>659, 10488=>659, 10489=>659, 10490=>659, 10491=>659, 10492=>659, 10493=>659, 10494=>659, 10495=>659, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>615, 10561=>615,
|
||||
10702=>754, 10703=>900, 10704=>900, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1192, 10765=>469, 10766=>469, 10767=>469,
|
||||
10768=>469, 10769=>469, 10770=>469, 10771=>469, 10772=>469, 10773=>469, 10774=>469, 10775=>469, 10776=>469, 10777=>469, 10778=>469, 10779=>469, 10780=>469, 10877=>754, 10878=>754, 10879=>754,
|
||||
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
|
||||
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
|
||||
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
|
||||
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>752, 11023=>752,
|
||||
11024=>752, 11025=>752, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>501,
|
||||
11361=>250, 11362=>501, 11363=>542, 11364=>625, 11365=>551, 11366=>353, 11367=>677, 11368=>570, 11369=>590, 11370=>521, 11371=>616, 11372=>472, 11380=>532, 11381=>589, 11382=>511, 11383=>593,
|
||||
61440=>879, 61441=>879, 61960=>703, 62047=>532, 63173=>550, 64256=>620, 64257=>567, 64258=>567, 64259=>870, 64260=>870, 64261=>617, 64262=>774, 64275=>1081, 64276=>1081, 64277=>1076, 64278=>1067,
|
||||
64279=>1376, 64285=>266, 64287=>444, 64288=>572, 64297=>754, 64298=>719, 64299=>719, 64300=>719, 64301=>719, 64302=>597, 64303=>597, 64304=>597, 64305=>589, 64306=>408, 64307=>546, 64308=>621,
|
||||
64309=>302, 64310=>393, 64312=>615, 64313=>302, 64314=>577, 64315=>599, 64316=>571, 64318=>663, 64320=>410, 64321=>694, 64323=>586, 64324=>599, 64326=>575, 64327=>619, 64328=>577, 64329=>719,
|
||||
64330=>653, 64331=>245, 64332=>589, 64333=>599, 64334=>599, 64338=>847, 64339=>883, 64340=>250, 64341=>271, 64342=>847, 64343=>883, 64344=>250, 64345=>271, 64346=>847, 64347=>883, 64348=>250,
|
||||
64349=>271, 64350=>847, 64351=>883, 64352=>250, 64353=>271, 64354=>847, 64355=>883, 64356=>250, 64357=>271, 64358=>847, 64359=>883, 64360=>250, 64361=>271, 64362=>933, 64363=>932, 64364=>430,
|
||||
64365=>455, 64366=>933, 64367=>932, 64368=>430, 64369=>455, 64370=>581, 64371=>581, 64372=>556, 64373=>581, 64374=>581, 64375=>581, 64376=>556, 64377=>581, 64378=>581, 64379=>581, 64380=>556,
|
||||
64381=>581, 64382=>581, 64383=>581, 64384=>556, 64385=>581, 64394=>435, 64395=>497, 64396=>435, 64397=>497, 64398=>805, 64399=>805, 64400=>428, 64401=>497, 64402=>805, 64403=>805, 64404=>428,
|
||||
64405=>497, 64414=>661, 64415=>685, 64473=>435, 64474=>465, 64488=>250, 64489=>271, 64508=>704, 64509=>750, 64510=>250, 64511=>271, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0,
|
||||
65029=>0, 65030=>0, 65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>264, 65137=>264, 65138=>264, 65139=>235, 65140=>264,
|
||||
65142=>264, 65143=>264, 65144=>264, 65145=>264, 65146=>264, 65147=>264, 65148=>264, 65149=>264, 65150=>264, 65151=>264, 65152=>423, 65153=>250, 65154=>274, 65155=>250, 65156=>274, 65157=>435,
|
||||
65158=>465, 65159=>250, 65160=>274, 65161=>704, 65162=>750, 65163=>250, 65164=>271, 65165=>250, 65166=>274, 65167=>847, 65168=>883, 65169=>250, 65170=>271, 65171=>471, 65172=>482, 65173=>847,
|
||||
65174=>883, 65175=>250, 65176=>271, 65177=>847, 65178=>883, 65179=>250, 65180=>271, 65181=>581, 65182=>581, 65183=>556, 65184=>581, 65185=>581, 65186=>581, 65187=>556, 65188=>581, 65189=>581,
|
||||
65190=>581, 65191=>556, 65192=>581, 65193=>400, 65194=>472, 65195=>400, 65196=>472, 65197=>435, 65198=>497, 65199=>435, 65200=>497, 65201=>1099, 65202=>1147, 65203=>754, 65204=>803, 65205=>1099,
|
||||
65206=>1147, 65207=>754, 65208=>803, 65209=>1088, 65210=>1103, 65211=>764, 65212=>780, 65213=>1088, 65214=>1103, 65215=>764, 65216=>780, 65217=>832, 65218=>854, 65219=>716, 65220=>738, 65221=>832,
|
||||
65222=>854, 65223=>716, 65224=>738, 65225=>537, 65226=>479, 65227=>537, 65228=>434, 65229=>537, 65230=>479, 65231=>470, 65232=>434, 65233=>933, 65234=>932, 65235=>430, 65236=>455, 65237=>698,
|
||||
65238=>750, 65239=>430, 65240=>455, 65241=>742, 65242=>758, 65243=>428, 65244=>497, 65245=>654, 65246=>681, 65247=>274, 65248=>298, 65249=>557, 65250=>599, 65251=>482, 65252=>520, 65253=>661,
|
||||
65254=>685, 65255=>250, 65256=>271, 65257=>471, 65258=>482, 65259=>475, 65260=>415, 65261=>435, 65262=>465, 65263=>704, 65264=>750, 65265=>704, 65266=>750, 65267=>250, 65268=>271, 65269=>513,
|
||||
65270=>537, 65271=>513, 65272=>537, 65273=>513, 65274=>537, 65275=>513, 65276=>537, 65279=>0, 65533=>923};
|
||||
font[:enc]='';
|
||||
font[:diff]='';
|
||||
font[:file]='DejaVuSansCondensed.z';
|
||||
font[:ctg]='DejaVuSansCondensed.ctg.z';
|
||||
font[:originalsize]=463772;
|
||||
end
|
||||
BIN
vendor/plugins/rfpdf/lib/fonts/DejaVuSansCondensed.z
vendored
BIN
vendor/plugins/rfpdf/lib/fonts/DejaVuSansCondensed.z
vendored
Binary file not shown.
@@ -1,287 +0,0 @@
|
||||
TCPDFFontDescriptor.define('DejaVuSansCondensedb') do |font|
|
||||
font[:type]='TrueTypeUnicode';
|
||||
font[:name]='DejaVuSansCondensed-Bold';
|
||||
font[:desc]={'Ascent'=>928,'Descent'=>-236,'CapHeight'=>928,'Flags'=>32,'FontBBox'=>'[-962 -388 1777 1123]','ItalicAngle'=>0,'StemV'=>120,'MissingWidth'=>540};
|
||||
font[:up]=-42;
|
||||
font[:ut]=44;
|
||||
font[:cw]={
|
||||
0=>540, 32=>313, 33=>410, 34=>469, 35=>754, 36=>626, 37=>901, 38=>785, 39=>275, 40=>411, 41=>411, 42=>470, 43=>754, 44=>342, 45=>374, 46=>342,
|
||||
47=>329, 48=>626, 49=>626, 50=>626, 51=>626, 52=>626, 53=>626, 54=>626, 55=>626, 56=>626, 57=>626, 58=>360, 59=>360, 60=>754, 61=>754, 62=>754,
|
||||
63=>522, 64=>900, 65=>696, 66=>686, 67=>660, 68=>747, 69=>615, 70=>615, 71=>738, 72=>753, 73=>334, 74=>334, 75=>697, 76=>573, 77=>896, 78=>753,
|
||||
79=>765, 80=>659, 81=>765, 82=>693, 83=>648, 84=>614, 85=>730, 86=>696, 87=>993, 88=>694, 89=>651, 90=>652, 91=>411, 92=>329, 93=>411, 94=>754,
|
||||
95=>450, 96=>450, 97=>607, 98=>644, 99=>533, 100=>644, 101=>610, 102=>391, 103=>644, 104=>641, 105=>308, 106=>308, 107=>598, 108=>308, 109=>938, 110=>641,
|
||||
111=>618, 112=>644, 113=>644, 114=>444, 115=>536, 116=>430, 117=>641, 118=>586, 119=>831, 120=>580, 121=>586, 122=>523, 123=>641, 124=>329, 125=>641, 126=>754,
|
||||
8364=>626, 1027=>573, 8218=>342, 402=>391, 8222=>591, 8230=>900, 8224=>450, 8225=>450, 710=>450, 8240=>1296, 352=>648, 8249=>371, 338=>1050, 1036=>735, 381=>652, 1039=>753,
|
||||
8216=>342, 8217=>342, 8220=>591, 8221=>591, 8226=>575, 8211=>450, 8212=>900, 732=>450, 8482=>900, 353=>536, 8250=>371, 339=>984, 1116=>611, 382=>523, 376=>651, 160=>313,
|
||||
161=>410, 162=>626, 163=>626, 164=>572, 165=>626, 166=>329, 167=>450, 168=>450, 169=>900, 170=>507, 171=>581, 172=>754, 173=>374, 174=>900, 175=>450, 176=>450,
|
||||
177=>754, 178=>394, 179=>394, 180=>450, 181=>662, 182=>572, 183=>342, 184=>450, 185=>394, 186=>507, 187=>581, 188=>932, 189=>932, 190=>932, 191=>522, 192=>696,
|
||||
193=>696, 194=>696, 195=>696, 196=>696, 197=>696, 198=>976, 199=>660, 200=>615, 201=>615, 202=>615, 203=>615, 204=>334, 205=>334, 206=>334, 207=>334, 208=>754,
|
||||
209=>753, 210=>765, 211=>765, 212=>765, 213=>765, 214=>765, 215=>754, 216=>765, 217=>730, 218=>730, 219=>730, 220=>730, 221=>651, 222=>664, 223=>647, 224=>607,
|
||||
225=>607, 226=>607, 227=>607, 228=>607, 229=>607, 230=>943, 231=>533, 232=>610, 233=>610, 234=>610, 235=>610, 236=>308, 237=>308, 238=>308, 239=>308, 240=>618,
|
||||
241=>641, 242=>618, 243=>618, 244=>618, 245=>618, 246=>618, 247=>754, 248=>618, 249=>641, 250=>641, 251=>641, 252=>641, 253=>586, 254=>644, 255=>586, 256=>696,
|
||||
257=>607, 258=>696, 259=>607, 260=>696, 261=>607, 262=>660, 263=>533, 264=>660, 265=>533, 266=>660, 267=>533, 268=>660, 269=>533, 270=>747, 271=>644, 272=>754,
|
||||
273=>644, 274=>615, 275=>610, 276=>615, 277=>610, 278=>615, 279=>610, 280=>615, 281=>610, 282=>615, 283=>610, 284=>738, 285=>644, 286=>738, 287=>644, 288=>738,
|
||||
289=>644, 290=>738, 291=>644, 292=>753, 293=>641, 294=>876, 295=>711, 296=>334, 297=>308, 298=>334, 299=>308, 300=>334, 301=>308, 302=>334, 303=>308, 304=>334,
|
||||
305=>308, 306=>669, 307=>617, 308=>334, 309=>308, 310=>697, 311=>598, 312=>598, 313=>573, 314=>308, 315=>573, 316=>308, 317=>573, 318=>431, 319=>573, 320=>501,
|
||||
321=>578, 322=>334, 323=>753, 324=>641, 325=>753, 326=>641, 327=>753, 328=>641, 329=>884, 330=>753, 331=>641, 332=>765, 333=>618, 334=>765, 335=>618, 336=>765,
|
||||
337=>618, 340=>693, 341=>444, 342=>693, 343=>444, 344=>693, 345=>444, 346=>648, 347=>536, 348=>648, 349=>536, 350=>648, 351=>536, 354=>614, 355=>430, 356=>614,
|
||||
357=>430, 358=>614, 359=>430, 360=>730, 361=>641, 362=>730, 363=>641, 364=>730, 365=>641, 366=>730, 367=>641, 368=>730, 369=>641, 370=>730, 371=>641, 372=>993,
|
||||
373=>831, 374=>651, 375=>586, 377=>652, 378=>523, 379=>652, 380=>523, 383=>391, 384=>644, 385=>729, 386=>686, 387=>644, 388=>686, 389=>644, 390=>660, 391=>660,
|
||||
392=>533, 393=>754, 394=>791, 395=>681, 396=>644, 397=>619, 398=>615, 399=>764, 400=>626, 401=>615, 403=>738, 404=>713, 405=>940, 406=>392, 407=>350, 408=>697,
|
||||
409=>598, 410=>324, 411=>532, 412=>938, 413=>753, 414=>641, 415=>765, 416=>786, 417=>618, 418=>1002, 419=>866, 420=>703, 421=>644, 422=>693, 423=>648, 424=>536,
|
||||
425=>615, 426=>497, 427=>430, 428=>636, 429=>430, 430=>614, 431=>751, 432=>641, 433=>692, 434=>732, 435=>717, 436=>700, 437=>652, 438=>523, 439=>695, 440=>695,
|
||||
441=>576, 442=>523, 443=>626, 444=>695, 445=>576, 446=>515, 447=>644, 448=>334, 449=>593, 450=>489, 451=>334, 452=>1399, 453=>1271, 454=>1168, 455=>908, 456=>882,
|
||||
457=>617, 458=>1088, 459=>1062, 460=>949, 461=>696, 462=>607, 463=>334, 464=>308, 465=>765, 466=>618, 467=>730, 468=>641, 469=>730, 470=>641, 471=>730, 472=>641,
|
||||
473=>730, 474=>641, 475=>730, 476=>641, 477=>610, 478=>696, 479=>607, 480=>696, 481=>607, 482=>976, 483=>943, 484=>738, 485=>644, 486=>738, 487=>644, 488=>697,
|
||||
489=>598, 490=>765, 491=>618, 492=>765, 493=>618, 494=>695, 495=>523, 496=>308, 497=>1399, 498=>1271, 499=>1168, 500=>738, 501=>644, 502=>1160, 503=>708, 504=>753,
|
||||
505=>641, 506=>696, 507=>607, 508=>976, 509=>943, 510=>765, 511=>618, 512=>696, 513=>607, 514=>696, 515=>607, 516=>615, 517=>610, 518=>615, 519=>610, 520=>334,
|
||||
521=>308, 522=>334, 523=>308, 524=>765, 525=>618, 526=>765, 527=>618, 528=>693, 529=>444, 530=>693, 531=>444, 532=>730, 533=>641, 534=>730, 535=>641, 536=>648,
|
||||
537=>536, 538=>614, 539=>430, 540=>621, 541=>546, 542=>753, 543=>641, 544=>753, 545=>778, 546=>728, 547=>593, 548=>652, 549=>523, 550=>696, 551=>607, 552=>615,
|
||||
553=>610, 554=>765, 555=>618, 556=>765, 557=>618, 558=>765, 559=>618, 560=>765, 561=>618, 562=>651, 563=>586, 564=>442, 565=>780, 566=>460, 567=>308, 568=>979,
|
||||
569=>979, 570=>696, 571=>660, 572=>533, 573=>573, 574=>614, 575=>536, 576=>523, 577=>703, 578=>553, 579=>686, 580=>730, 581=>696, 582=>615, 583=>610, 584=>334,
|
||||
585=>308, 586=>774, 587=>712, 588=>693, 589=>444, 590=>651, 591=>586, 592=>607, 593=>644, 594=>644, 595=>644, 596=>533, 597=>533, 598=>645, 599=>712, 600=>610,
|
||||
601=>610, 602=>788, 603=>501, 604=>490, 605=>733, 606=>658, 607=>308, 608=>712, 609=>644, 610=>564, 611=>661, 612=>571, 613=>641, 614=>641, 615=>641, 616=>491,
|
||||
617=>396, 618=>491, 619=>502, 620=>624, 621=>308, 622=>757, 623=>938, 624=>938, 625=>938, 626=>641, 627=>713, 628=>578, 629=>618, 630=>817, 631=>613, 632=>716,
|
||||
633=>484, 634=>484, 635=>584, 636=>444, 637=>444, 638=>536, 639=>536, 640=>578, 641=>578, 642=>536, 643=>374, 644=>391, 645=>544, 646=>497, 647=>430, 648=>430,
|
||||
649=>828, 650=>692, 651=>603, 652=>586, 653=>831, 654=>586, 655=>651, 656=>624, 657=>615, 658=>576, 659=>576, 660=>515, 661=>515, 662=>515, 663=>515, 664=>765,
|
||||
665=>569, 666=>658, 667=>616, 668=>622, 669=>308, 670=>659, 671=>485, 672=>712, 673=>515, 674=>515, 675=>1040, 676=>1093, 677=>1039, 678=>876, 679=>691, 680=>836,
|
||||
681=>923, 682=>712, 683=>702, 684=>532, 685=>374, 686=>609, 687=>710, 688=>410, 689=>410, 690=>197, 691=>284, 692=>284, 693=>284, 694=>369, 695=>532, 696=>375,
|
||||
697=>271, 698=>469, 699=>342, 700=>342, 701=>342, 702=>330, 703=>330, 704=>293, 705=>293, 706=>450, 707=>450, 708=>450, 709=>450, 711=>450, 712=>275, 713=>450,
|
||||
714=>450, 715=>450, 716=>275, 717=>450, 718=>450, 719=>450, 720=>303, 721=>303, 722=>330, 723=>330, 724=>450, 725=>450, 726=>450, 727=>450, 728=>450, 729=>450,
|
||||
730=>450, 731=>450, 733=>450, 734=>315, 735=>450, 736=>370, 737=>197, 738=>343, 739=>371, 740=>293, 741=>450, 742=>450, 743=>450, 744=>450, 745=>450, 748=>450,
|
||||
749=>450, 750=>450, 755=>450, 759=>450, 768=>0, 769=>0, 770=>0, 771=>0, 772=>0, 773=>0, 774=>0, 775=>0, 776=>0, 777=>0, 778=>0, 779=>0,
|
||||
780=>0, 781=>0, 782=>0, 783=>0, 784=>0, 785=>0, 786=>0, 787=>0, 788=>0, 789=>0, 790=>0, 791=>0, 792=>0, 793=>0, 794=>0, 795=>0,
|
||||
796=>0, 797=>0, 798=>0, 799=>0, 800=>0, 801=>0, 802=>0, 803=>0, 804=>0, 805=>0, 806=>0, 807=>0, 808=>0, 809=>0, 810=>0, 811=>0,
|
||||
812=>0, 813=>0, 814=>0, 815=>0, 816=>0, 817=>0, 818=>0, 819=>0, 820=>0, 821=>0, 822=>0, 823=>0, 824=>0, 825=>0, 826=>0, 827=>0,
|
||||
828=>0, 829=>0, 830=>0, 831=>0, 832=>0, 833=>0, 834=>0, 835=>0, 836=>0, 837=>0, 838=>0, 839=>0, 840=>0, 841=>0, 842=>0, 843=>0,
|
||||
844=>0, 845=>0, 846=>0, 847=>0, 849=>0, 850=>0, 851=>0, 855=>0, 856=>0, 860=>0, 861=>0, 862=>0, 863=>0, 864=>0, 865=>0, 866=>0,
|
||||
884=>271, 885=>271, 890=>450, 891=>533, 892=>495, 893=>494, 894=>303, 900=>397, 901=>450, 902=>717, 903=>342, 904=>761, 905=>908, 906=>507, 908=>801, 910=>882,
|
||||
911=>804, 912=>351, 913=>696, 914=>686, 915=>573, 916=>696, 917=>615, 918=>652, 919=>753, 920=>765, 921=>334, 922=>697, 923=>696, 924=>896, 925=>753, 926=>568,
|
||||
927=>765, 928=>753, 929=>659, 931=>615, 932=>614, 933=>651, 934=>765, 935=>694, 936=>765, 937=>765, 938=>334, 939=>651, 940=>618, 941=>501, 942=>641, 943=>351,
|
||||
944=>607, 945=>618, 946=>644, 947=>613, 948=>618, 949=>501, 950=>532, 951=>641, 952=>618, 953=>351, 954=>639, 955=>569, 956=>662, 957=>613, 958=>532, 959=>618,
|
||||
960=>712, 961=>644, 962=>533, 963=>701, 964=>574, 965=>607, 966=>704, 967=>580, 968=>714, 969=>782, 970=>351, 971=>607, 972=>618, 973=>607, 974=>782, 976=>585,
|
||||
977=>594, 978=>671, 979=>883, 980=>671, 981=>716, 982=>782, 983=>669, 984=>765, 985=>618, 986=>660, 987=>533, 988=>615, 989=>444, 990=>632, 991=>593, 992=>827,
|
||||
993=>564, 994=>983, 995=>753, 996=>749, 997=>644, 998=>835, 999=>669, 1000=>660, 1001=>585, 1002=>709, 1003=>604, 1004=>677, 1005=>644, 1006=>614, 1007=>531, 1008=>669,
|
||||
1009=>644, 1010=>533, 1011=>308, 1012=>765, 1013=>580, 1014=>580, 1015=>664, 1016=>644, 1017=>660, 1018=>896, 1019=>659, 1020=>644, 1021=>628, 1022=>660, 1023=>628, 1024=>615,
|
||||
1025=>615, 1026=>791, 1028=>660, 1029=>648, 1030=>334, 1031=>334, 1032=>334, 1033=>1039, 1034=>1017, 1035=>791, 1037=>753, 1038=>694, 1040=>696, 1041=>686, 1042=>686, 1043=>573,
|
||||
1044=>801, 1045=>615, 1046=>1102, 1047=>639, 1048=>753, 1049=>753, 1050=>735, 1051=>747, 1052=>896, 1053=>753, 1054=>765, 1055=>753, 1056=>659, 1057=>660, 1058=>614, 1059=>694,
|
||||
1060=>892, 1061=>694, 1062=>835, 1063=>727, 1064=>1112, 1065=>1193, 1066=>845, 1067=>932, 1068=>686, 1069=>660, 1070=>1056, 1071=>693, 1072=>607, 1073=>628, 1074=>569, 1075=>470,
|
||||
1076=>727, 1077=>610, 1078=>896, 1079=>523, 1080=>630, 1081=>630, 1082=>611, 1083=>659, 1084=>735, 1085=>622, 1086=>618, 1087=>622, 1088=>644, 1089=>533, 1090=>521, 1091=>586,
|
||||
1092=>893, 1093=>580, 1094=>667, 1095=>618, 1096=>956, 1097=>995, 1098=>676, 1099=>813, 1100=>569, 1101=>533, 1102=>875, 1103=>578, 1104=>610, 1105=>610, 1106=>642, 1107=>470,
|
||||
1108=>533, 1109=>536, 1110=>308, 1111=>308, 1112=>308, 1113=>892, 1114=>860, 1115=>661, 1117=>630, 1118=>586, 1119=>622, 1120=>983, 1121=>782, 1122=>756, 1123=>662, 1124=>911,
|
||||
1125=>755, 1126=>893, 1127=>749, 1128=>1222, 1129=>1009, 1130=>765, 1131=>618, 1132=>1112, 1133=>906, 1134=>626, 1135=>501, 1136=>967, 1137=>955, 1138=>765, 1139=>601, 1140=>765,
|
||||
1141=>625, 1142=>765, 1143=>625, 1144=>1033, 1145=>939, 1146=>967, 1147=>776, 1148=>1265, 1149=>1055, 1150=>983, 1151=>782, 1152=>660, 1153=>533, 1154=>587, 1155=>0, 1156=>0,
|
||||
1157=>0, 1158=>0, 1160=>376, 1161=>376, 1162=>861, 1163=>726, 1164=>686, 1165=>550, 1166=>659, 1167=>644, 1168=>573, 1169=>470, 1170=>599, 1171=>488, 1172=>727, 1173=>602,
|
||||
1174=>1102, 1175=>896, 1176=>639, 1177=>523, 1178=>697, 1179=>611, 1180=>735, 1181=>611, 1182=>735, 1183=>611, 1184=>914, 1185=>743, 1186=>860, 1187=>727, 1188=>992, 1189=>787,
|
||||
1190=>1146, 1191=>915, 1192=>787, 1193=>639, 1194=>660, 1195=>533, 1196=>614, 1197=>521, 1198=>651, 1199=>586, 1200=>651, 1201=>586, 1202=>694, 1203=>580, 1204=>1001, 1205=>900,
|
||||
1206=>727, 1207=>618, 1208=>727, 1209=>618, 1210=>727, 1211=>641, 1212=>923, 1213=>729, 1214=>923, 1215=>729, 1216=>334, 1217=>1102, 1218=>896, 1219=>697, 1220=>567, 1221=>855,
|
||||
1222=>725, 1223=>753, 1224=>622, 1225=>861, 1226=>726, 1227=>727, 1228=>618, 1229=>1003, 1230=>839, 1231=>308, 1232=>696, 1233=>607, 1234=>696, 1235=>607, 1236=>976, 1237=>943,
|
||||
1238=>615, 1239=>610, 1240=>764, 1241=>610, 1242=>764, 1243=>610, 1244=>1102, 1245=>896, 1246=>639, 1247=>523, 1248=>695, 1249=>576, 1250=>753, 1251=>630, 1252=>753, 1253=>630,
|
||||
1254=>765, 1255=>618, 1256=>765, 1257=>618, 1258=>765, 1259=>618, 1260=>660, 1261=>533, 1262=>694, 1263=>586, 1264=>694, 1265=>586, 1266=>694, 1267=>586, 1268=>727, 1269=>618,
|
||||
1270=>573, 1271=>470, 1272=>932, 1273=>813, 1274=>599, 1275=>488, 1276=>694, 1277=>580, 1278=>694, 1279=>580, 1280=>686, 1281=>547, 1282=>1043, 1283=>804, 1284=>1007, 1285=>828,
|
||||
1286=>745, 1287=>624, 1288=>1117, 1289=>915, 1290=>1123, 1291=>912, 1292=>755, 1293=>574, 1294=>844, 1295=>722, 1296=>626, 1297=>501, 1298=>747, 1299=>659, 1329=>886, 1330=>730,
|
||||
1331=>886, 1332=>886, 1333=>730, 1334=>699, 1335=>730, 1336=>730, 1337=>877, 1338=>886, 1339=>730, 1340=>639, 1341=>970, 1342=>1022, 1343=>730, 1344=>639, 1345=>681, 1346=>886,
|
||||
1347=>789, 1348=>886, 1349=>714, 1350=>886, 1351=>730, 1352=>730, 1353=>730, 1354=>862, 1355=>699, 1356=>886, 1357=>730, 1358=>886, 1359=>648, 1360=>730, 1361=>714, 1362=>805,
|
||||
1363=>765, 1364=>842, 1365=>765, 1366=>648, 1369=>330, 1370=>342, 1371=>495, 1372=>495, 1373=>342, 1374=>491, 1375=>468, 1377=>938, 1378=>641, 1379=>779, 1380=>781, 1381=>641,
|
||||
1382=>735, 1383=>588, 1384=>641, 1385=>729, 1386=>735, 1387=>641, 1388=>448, 1389=>916, 1390=>644, 1391=>641, 1392=>641, 1393=>644, 1394=>737, 1395=>641, 1396=>676, 1397=>308,
|
||||
1398=>794, 1399=>502, 1400=>641, 1401=>502, 1402=>938, 1403=>502, 1404=>777, 1405=>641, 1406=>732, 1407=>938, 1408=>641, 1409=>644, 1410=>514, 1411=>938, 1412=>700, 1413=>618,
|
||||
1414=>648, 1415=>776, 1417=>360, 1418=>438, 1456=>0, 1457=>0, 1458=>0, 1459=>0, 1460=>0, 1461=>0, 1462=>0, 1463=>0, 1464=>0, 1465=>0, 1467=>0, 1468=>0,
|
||||
1469=>0, 1471=>0, 1472=>334, 1473=>0, 1474=>0, 1475=>334, 1478=>479, 1479=>0, 1488=>676, 1489=>658, 1490=>483, 1491=>615, 1492=>700, 1493=>334, 1494=>468, 1495=>700,
|
||||
1496=>692, 1497=>334, 1498=>700, 1499=>675, 1500=>646, 1501=>700, 1502=>771, 1503=>334, 1504=>479, 1505=>770, 1506=>647, 1507=>721, 1508=>699, 1509=>565, 1510=>676, 1511=>723,
|
||||
1512=>700, 1513=>867, 1514=>740, 1520=>623, 1521=>623, 1522=>623, 1548=>342, 1557=>0, 1563=>360, 1567=>522, 1569=>460, 1570=>308, 1571=>308, 1572=>559, 1573=>308, 1574=>825,
|
||||
1575=>308, 1576=>904, 1577=>531, 1578=>904, 1579=>904, 1580=>648, 1581=>648, 1582=>648, 1583=>461, 1584=>461, 1585=>518, 1586=>518, 1587=>1242, 1588=>1242, 1589=>1210, 1590=>1210,
|
||||
1591=>935, 1592=>935, 1593=>615, 1594=>615, 1600=>308, 1601=>1045, 1602=>804, 1603=>825, 1604=>781, 1605=>659, 1606=>768, 1607=>531, 1608=>559, 1609=>825, 1610=>825, 1611=>0,
|
||||
1612=>0, 1613=>0, 1614=>0, 1615=>0, 1616=>0, 1617=>0, 1618=>0, 1619=>0, 1620=>0, 1621=>0, 1626=>450, 1632=>549, 1633=>549, 1634=>549, 1635=>549, 1636=>549,
|
||||
1637=>549, 1638=>549, 1639=>549, 1640=>549, 1641=>549, 1642=>549, 1643=>336, 1644=>342, 1645=>490, 1646=>904, 1647=>804, 1652=>263, 1657=>904, 1658=>904, 1659=>904, 1660=>904,
|
||||
1661=>904, 1662=>904, 1663=>904, 1664=>904, 1665=>648, 1666=>648, 1667=>648, 1668=>648, 1669=>648, 1670=>648, 1671=>648, 1681=>518, 1682=>518, 1685=>613, 1688=>518, 1697=>1045,
|
||||
1700=>1045, 1702=>1045, 1705=>921, 1711=>921, 1717=>781, 1722=>768, 1727=>648, 1734=>559, 1740=>825, 1742=>825, 1749=>531, 1776=>549, 1777=>549, 1778=>549, 1779=>549, 1780=>549,
|
||||
1781=>549, 1782=>549, 1783=>549, 1784=>549, 1785=>549, 3647=>668, 3713=>710, 3714=>673, 3716=>674, 3719=>512, 3720=>668, 3722=>669, 3725=>685, 3732=>635, 3733=>633, 3734=>672,
|
||||
3735=>737, 3737=>657, 3738=>654, 3739=>654, 3740=>830, 3741=>744, 3742=>779, 3743=>779, 3745=>752, 3746=>685, 3747=>692, 3749=>691, 3751=>642, 3754=>744, 3755=>928, 3757=>651,
|
||||
3758=>705, 3759=>840, 3760=>620, 3761=>0, 3762=>549, 3763=>549, 3764=>0, 3765=>0, 3766=>0, 3767=>0, 3768=>0, 3769=>0, 3771=>0, 3772=>0, 3773=>603, 3776=>464,
|
||||
3777=>774, 3778=>464, 3779=>584, 3780=>569, 3782=>683, 3784=>0, 3785=>0, 3786=>0, 3787=>0, 3788=>0, 3789=>0, 3804=>1227, 3805=>1227, 5121=>696, 5122=>696, 5123=>696,
|
||||
5124=>696, 5125=>814, 5126=>814, 5127=>814, 5129=>814, 5130=>814, 5131=>814, 5132=>916, 5133=>908, 5134=>916, 5135=>908, 5136=>916, 5137=>908, 5138=>1034, 5139=>1025, 5140=>1034,
|
||||
5141=>1025, 5142=>814, 5143=>1034, 5144=>1028, 5145=>1034, 5146=>1028, 5147=>814, 5149=>278, 5150=>476, 5151=>382, 5152=>382, 5153=>355, 5154=>355, 5155=>355, 5156=>355, 5157=>507,
|
||||
5158=>423, 5159=>278, 5160=>355, 5161=>355, 5162=>355, 5163=>1092, 5164=>888, 5165=>1094, 5166=>1167, 5167=>696, 5168=>696, 5169=>696, 5170=>696, 5171=>797, 5172=>797, 5173=>797,
|
||||
5175=>797, 5176=>797, 5177=>797, 5178=>916, 5179=>908, 5180=>916, 5181=>908, 5182=>916, 5183=>908, 5184=>1034, 5185=>1025, 5186=>1034, 5187=>1025, 5188=>1034, 5189=>1028, 5190=>1034,
|
||||
5191=>1028, 5192=>797, 5193=>518, 5194=>206, 5196=>730, 5197=>730, 5198=>730, 5199=>730, 5200=>734, 5201=>734, 5202=>734, 5204=>734, 5205=>734, 5206=>734, 5207=>950, 5208=>943,
|
||||
5209=>950, 5210=>943, 5211=>950, 5212=>943, 5213=>954, 5214=>949, 5215=>954, 5216=>949, 5217=>954, 5218=>946, 5219=>954, 5220=>946, 5221=>954, 5222=>493, 5223=>904, 5224=>904,
|
||||
5225=>921, 5226=>915, 5227=>668, 5228=>668, 5229=>668, 5230=>668, 5231=>668, 5232=>680, 5233=>668, 5234=>668, 5235=>668, 5236=>926, 5237=>877, 5238=>882, 5239=>877, 5240=>882,
|
||||
5241=>877, 5242=>926, 5243=>877, 5244=>926, 5245=>877, 5246=>882, 5247=>877, 5248=>882, 5249=>877, 5250=>882, 5251=>451, 5252=>451, 5253=>844, 5254=>844, 5255=>844, 5256=>844,
|
||||
5257=>668, 5258=>668, 5259=>668, 5260=>668, 5261=>668, 5262=>680, 5263=>668, 5264=>668, 5265=>668, 5266=>926, 5267=>877, 5268=>926, 5269=>877, 5270=>926, 5271=>877, 5272=>926,
|
||||
5273=>877, 5274=>926, 5275=>877, 5276=>926, 5277=>877, 5278=>926, 5279=>877, 5280=>926, 5281=>451, 5282=>451, 5283=>563, 5284=>563, 5285=>563, 5286=>563, 5287=>563, 5288=>601,
|
||||
5289=>563, 5290=>563, 5291=>563, 5292=>793, 5293=>769, 5294=>777, 5295=>786, 5296=>777, 5297=>786, 5298=>793, 5299=>786, 5300=>793, 5301=>786, 5302=>777, 5303=>786, 5304=>777,
|
||||
5305=>786, 5306=>777, 5307=>392, 5308=>493, 5309=>392, 5312=>889, 5313=>889, 5314=>889, 5315=>889, 5316=>838, 5317=>838, 5318=>838, 5319=>838, 5320=>838, 5321=>1114, 5322=>1122,
|
||||
5323=>1080, 5324=>1105, 5325=>1080, 5326=>1105, 5327=>838, 5328=>593, 5329=>447, 5330=>593, 5331=>889, 5332=>889, 5333=>889, 5334=>889, 5335=>838, 5336=>838, 5337=>838, 5338=>838,
|
||||
5339=>838, 5340=>1107, 5341=>1122, 5342=>1155, 5343=>1105, 5344=>1155, 5345=>1105, 5346=>1105, 5347=>1093, 5348=>1105, 5349=>1093, 5350=>1155, 5351=>1105, 5352=>1155, 5353=>1105, 5354=>593,
|
||||
5356=>797, 5357=>657, 5358=>657, 5359=>657, 5360=>657, 5361=>657, 5362=>680, 5363=>657, 5364=>657, 5365=>657, 5366=>897, 5367=>862, 5368=>870, 5369=>890, 5370=>870, 5371=>890,
|
||||
5372=>897, 5373=>862, 5374=>897, 5375=>862, 5376=>870, 5377=>890, 5378=>870, 5379=>890, 5380=>870, 5381=>443, 5382=>414, 5383=>443, 5392=>831, 5393=>831, 5394=>831, 5395=>1022,
|
||||
5396=>1022, 5397=>1022, 5398=>1022, 5399=>1088, 5400=>1081, 5401=>1088, 5402=>1081, 5403=>1088, 5404=>1081, 5405=>1288, 5406=>1278, 5407=>1288, 5408=>1278, 5409=>1288, 5410=>1278, 5411=>1288,
|
||||
5412=>1278, 5413=>671, 5414=>698, 5415=>698, 5416=>698, 5417=>698, 5418=>698, 5419=>698, 5420=>698, 5421=>698, 5422=>698, 5423=>902, 5424=>903, 5425=>911, 5426=>896, 5427=>911,
|
||||
5428=>896, 5429=>902, 5430=>903, 5431=>902, 5432=>903, 5433=>911, 5434=>896, 5435=>911, 5436=>896, 5437=>911, 5438=>445, 5440=>355, 5441=>458, 5442=>929, 5443=>929, 5444=>878,
|
||||
5445=>878, 5446=>878, 5447=>878, 5448=>659, 5449=>659, 5450=>659, 5451=>659, 5452=>659, 5453=>659, 5454=>902, 5455=>863, 5456=>445, 5458=>797, 5459=>696, 5460=>696, 5461=>696,
|
||||
5462=>696, 5463=>835, 5464=>835, 5465=>835, 5466=>835, 5467=>1055, 5468=>1028, 5469=>542, 5470=>730, 5471=>730, 5472=>730, 5473=>730, 5474=>730, 5475=>730, 5476=>734, 5477=>734,
|
||||
5478=>734, 5479=>734, 5480=>954, 5481=>946, 5482=>493, 5492=>879, 5493=>879, 5494=>879, 5495=>879, 5496=>879, 5497=>879, 5498=>879, 5499=>556, 5500=>753, 5501=>458, 5502=>1114,
|
||||
5503=>1114, 5504=>1114, 5505=>1114, 5506=>1114, 5507=>1114, 5508=>1114, 5509=>890, 5514=>879, 5515=>879, 5516=>879, 5517=>879, 5518=>1432, 5519=>1432, 5520=>1432, 5521=>1165, 5522=>1165,
|
||||
5523=>1432, 5524=>1432, 5525=>763, 5526=>1146, 5536=>889, 5537=>889, 5538=>838, 5539=>838, 5540=>838, 5541=>838, 5542=>593, 5543=>698, 5544=>698, 5545=>698, 5546=>698, 5547=>698,
|
||||
5548=>698, 5549=>698, 5550=>445, 5551=>668, 5598=>747, 5601=>747, 5702=>446, 5703=>446, 5742=>371, 5743=>1114, 5744=>1432, 5745=>1814, 5746=>1814, 5747=>1548, 5748=>1510, 5749=>1814,
|
||||
5750=>1814, 7424=>586, 7425=>750, 7426=>943, 7427=>547, 7428=>533, 7429=>608, 7430=>608, 7431=>502, 7432=>501, 7433=>308, 7434=>444, 7435=>598, 7436=>485, 7437=>735, 7438=>630,
|
||||
7439=>618, 7440=>533, 7441=>594, 7442=>594, 7443=>594, 7444=>984, 7446=>618, 7447=>618, 7448=>500, 7449=>578, 7450=>578, 7451=>521, 7452=>571, 7453=>663, 7454=>853, 7455=>625,
|
||||
7456=>586, 7457=>831, 7458=>523, 7459=>581, 7462=>485, 7463=>586, 7464=>622, 7465=>500, 7466=>703, 7467=>659, 7468=>438, 7469=>615, 7470=>432, 7472=>470, 7473=>387, 7474=>387,
|
||||
7475=>465, 7476=>474, 7477=>211, 7478=>211, 7479=>439, 7480=>361, 7481=>563, 7482=>474, 7483=>474, 7484=>481, 7485=>458, 7486=>415, 7487=>436, 7488=>387, 7489=>460, 7490=>625,
|
||||
7491=>412, 7492=>412, 7493=>431, 7494=>641, 7495=>431, 7496=>431, 7497=>431, 7498=>431, 7499=>347, 7500=>347, 7501=>431, 7502=>197, 7503=>438, 7504=>597, 7505=>410, 7506=>439,
|
||||
7507=>372, 7508=>439, 7509=>439, 7510=>431, 7511=>349, 7512=>410, 7513=>416, 7514=>597, 7515=>451, 7517=>405, 7518=>386, 7519=>389, 7520=>443, 7521=>365, 7522=>197, 7523=>284,
|
||||
7524=>410, 7525=>451, 7526=>405, 7527=>386, 7528=>389, 7529=>443, 7530=>365, 7543=>644, 7544=>474, 7547=>491, 7557=>462, 7579=>431, 7580=>372, 7581=>372, 7582=>439, 7583=>347,
|
||||
7584=>339, 7585=>313, 7586=>431, 7587=>410, 7588=>312, 7589=>253, 7590=>312, 7591=>312, 7592=>388, 7593=>293, 7594=>296, 7595=>333, 7596=>598, 7597=>597, 7598=>505, 7599=>505,
|
||||
7600=>403, 7601=>439, 7602=>488, 7603=>379, 7604=>356, 7605=>349, 7606=>524, 7607=>444, 7608=>359, 7609=>405, 7610=>451, 7611=>375, 7612=>471, 7613=>422, 7614=>409, 7615=>382,
|
||||
7620=>0, 7621=>0, 7622=>0, 7623=>0, 7624=>0, 7625=>0, 7680=>696, 7681=>607, 7682=>686, 7683=>644, 7684=>686, 7685=>644, 7686=>686, 7687=>644, 7688=>660, 7689=>533,
|
||||
7690=>747, 7691=>644, 7692=>747, 7693=>644, 7694=>747, 7695=>644, 7696=>747, 7697=>644, 7698=>747, 7699=>644, 7700=>615, 7701=>610, 7702=>615, 7703=>610, 7704=>615, 7705=>610,
|
||||
7706=>615, 7707=>610, 7708=>615, 7709=>610, 7710=>615, 7711=>391, 7712=>738, 7713=>644, 7714=>753, 7715=>641, 7716=>753, 7717=>641, 7718=>753, 7719=>641, 7720=>753, 7721=>641,
|
||||
7722=>753, 7723=>641, 7724=>334, 7725=>308, 7726=>334, 7727=>308, 7728=>697, 7729=>598, 7730=>697, 7731=>598, 7732=>697, 7733=>598, 7734=>573, 7735=>308, 7736=>573, 7737=>308,
|
||||
7738=>573, 7739=>308, 7740=>573, 7741=>308, 7742=>896, 7743=>938, 7744=>896, 7745=>938, 7746=>896, 7747=>938, 7748=>753, 7749=>641, 7750=>753, 7751=>641, 7752=>753, 7753=>641,
|
||||
7754=>753, 7755=>641, 7756=>765, 7757=>618, 7758=>765, 7759=>618, 7760=>765, 7761=>618, 7762=>765, 7763=>618, 7764=>659, 7765=>644, 7766=>659, 7767=>644, 7768=>693, 7769=>444,
|
||||
7770=>693, 7771=>444, 7772=>693, 7773=>444, 7774=>693, 7775=>444, 7776=>648, 7777=>536, 7778=>648, 7779=>536, 7780=>648, 7781=>536, 7782=>648, 7783=>536, 7784=>648, 7785=>536,
|
||||
7786=>614, 7787=>430, 7788=>614, 7789=>430, 7790=>614, 7791=>430, 7792=>614, 7793=>430, 7794=>730, 7795=>641, 7796=>730, 7797=>641, 7798=>730, 7799=>641, 7800=>730, 7801=>641,
|
||||
7802=>730, 7803=>641, 7804=>696, 7805=>586, 7806=>696, 7807=>586, 7808=>993, 7809=>831, 7810=>993, 7811=>831, 7812=>993, 7813=>831, 7814=>993, 7815=>831, 7816=>993, 7817=>831,
|
||||
7818=>694, 7819=>580, 7820=>694, 7821=>580, 7822=>651, 7823=>586, 7824=>652, 7825=>523, 7826=>652, 7827=>523, 7828=>652, 7829=>523, 7830=>641, 7831=>430, 7832=>831, 7833=>586,
|
||||
7834=>607, 7835=>391, 7840=>696, 7841=>607, 7842=>696, 7843=>607, 7844=>696, 7845=>607, 7846=>696, 7847=>607, 7848=>696, 7849=>607, 7850=>696, 7851=>607, 7852=>696, 7853=>607,
|
||||
7854=>696, 7855=>607, 7856=>696, 7857=>607, 7858=>696, 7859=>607, 7860=>696, 7861=>607, 7862=>696, 7863=>607, 7864=>615, 7865=>610, 7866=>615, 7867=>610, 7868=>615, 7869=>610,
|
||||
7870=>615, 7871=>610, 7872=>615, 7873=>610, 7874=>615, 7875=>610, 7876=>615, 7877=>610, 7878=>615, 7879=>610, 7880=>334, 7881=>308, 7882=>334, 7883=>308, 7884=>765, 7885=>618,
|
||||
7886=>765, 7887=>618, 7888=>765, 7889=>618, 7890=>765, 7891=>618, 7892=>765, 7893=>618, 7894=>765, 7895=>618, 7896=>765, 7897=>618, 7898=>786, 7899=>618, 7900=>786, 7901=>618,
|
||||
7902=>786, 7903=>618, 7904=>786, 7905=>618, 7906=>786, 7907=>618, 7908=>730, 7909=>641, 7910=>730, 7911=>641, 7912=>751, 7913=>641, 7914=>751, 7915=>641, 7916=>751, 7917=>641,
|
||||
7918=>751, 7919=>641, 7920=>751, 7921=>641, 7922=>651, 7923=>586, 7924=>651, 7925=>586, 7926=>651, 7927=>586, 7928=>651, 7929=>586, 7936=>618, 7937=>618, 7938=>618, 7939=>618,
|
||||
7940=>618, 7941=>618, 7942=>618, 7943=>618, 7944=>696, 7945=>696, 7946=>937, 7947=>939, 7948=>841, 7949=>866, 7950=>751, 7951=>773, 7952=>501, 7953=>501, 7954=>501, 7955=>501,
|
||||
7956=>501, 7957=>501, 7960=>712, 7961=>715, 7962=>989, 7963=>986, 7964=>920, 7965=>947, 7968=>641, 7969=>641, 7970=>641, 7971=>641, 7972=>641, 7973=>641, 7974=>641, 7975=>641,
|
||||
7976=>851, 7977=>856, 7978=>1125, 7979=>1125, 7980=>1062, 7981=>1085, 7982=>948, 7983=>956, 7984=>351, 7985=>351, 7986=>351, 7987=>351, 7988=>351, 7989=>351, 7990=>351, 7991=>351,
|
||||
7992=>435, 7993=>440, 7994=>699, 7995=>707, 7996=>641, 7997=>664, 7998=>544, 7999=>544, 8000=>618, 8001=>618, 8002=>618, 8003=>618, 8004=>618, 8005=>618, 8008=>802, 8009=>839,
|
||||
8010=>1099, 8011=>1101, 8012=>947, 8013=>974, 8016=>607, 8017=>607, 8018=>607, 8019=>607, 8020=>607, 8021=>607, 8022=>607, 8023=>607, 8025=>837, 8027=>1065, 8029=>1079, 8031=>944,
|
||||
8032=>782, 8033=>782, 8034=>782, 8035=>782, 8036=>782, 8037=>782, 8038=>782, 8039=>782, 8040=>817, 8041=>862, 8042=>1121, 8043=>1126, 8044=>968, 8045=>994, 8046=>925, 8047=>968,
|
||||
8048=>618, 8049=>618, 8050=>501, 8051=>501, 8052=>641, 8053=>641, 8054=>351, 8055=>351, 8056=>618, 8057=>618, 8058=>607, 8059=>607, 8060=>782, 8061=>782, 8064=>618, 8065=>618,
|
||||
8066=>618, 8067=>618, 8068=>618, 8069=>618, 8070=>618, 8071=>618, 8072=>696, 8073=>696, 8074=>937, 8075=>939, 8076=>841, 8077=>866, 8078=>751, 8079=>773, 8080=>641, 8081=>641,
|
||||
8082=>641, 8083=>641, 8084=>641, 8085=>641, 8086=>641, 8087=>641, 8088=>851, 8089=>856, 8090=>1125, 8091=>1125, 8092=>1062, 8093=>1085, 8094=>948, 8095=>956, 8096=>782, 8097=>782,
|
||||
8098=>782, 8099=>782, 8100=>782, 8101=>782, 8102=>782, 8103=>782, 8104=>817, 8105=>862, 8106=>1121, 8107=>1126, 8108=>968, 8109=>994, 8110=>925, 8111=>968, 8112=>618, 8113=>618,
|
||||
8114=>618, 8115=>618, 8116=>618, 8118=>618, 8119=>618, 8120=>696, 8121=>696, 8122=>789, 8123=>717, 8124=>696, 8125=>450, 8126=>450, 8127=>450, 8128=>450, 8129=>450, 8130=>641,
|
||||
8131=>641, 8132=>641, 8134=>641, 8135=>641, 8136=>836, 8137=>761, 8138=>972, 8139=>908, 8140=>753, 8141=>450, 8142=>450, 8143=>450, 8144=>351, 8145=>351, 8146=>351, 8147=>351,
|
||||
8150=>351, 8151=>351, 8152=>334, 8153=>334, 8154=>559, 8155=>507, 8157=>450, 8158=>450, 8159=>450, 8160=>607, 8161=>607, 8162=>607, 8163=>607, 8164=>644, 8165=>644, 8166=>607,
|
||||
8167=>607, 8168=>651, 8169=>651, 8170=>918, 8171=>882, 8172=>754, 8173=>450, 8174=>450, 8175=>450, 8178=>782, 8179=>782, 8180=>782, 8182=>782, 8183=>782, 8184=>958, 8185=>801,
|
||||
8186=>976, 8187=>804, 8188=>765, 8189=>450, 8190=>450, 8192=>450, 8193=>900, 8194=>450, 8195=>900, 8196=>296, 8197=>225, 8198=>150, 8199=>626, 8200=>342, 8201=>180, 8202=>89,
|
||||
8203=>0, 8204=>0, 8205=>0, 8206=>0, 8207=>0, 8208=>374, 8209=>374, 8210=>626, 8213=>900, 8214=>450, 8215=>450, 8219=>342, 8223=>591, 8227=>575, 8228=>299, 8229=>600,
|
||||
8231=>313, 8234=>0, 8235=>0, 8236=>0, 8237=>0, 8238=>0, 8239=>180, 8241=>1698, 8242=>237, 8243=>402, 8244=>567, 8245=>237, 8246=>402, 8247=>567, 8248=>659, 8251=>875,
|
||||
8252=>564, 8253=>522, 8254=>450, 8255=>745, 8256=>745, 8257=>296, 8258=>920, 8259=>450, 8260=>410, 8261=>411, 8262=>411, 8263=>927, 8264=>746, 8265=>746, 8266=>461, 8267=>572,
|
||||
8268=>450, 8269=>450, 8270=>470, 8271=>360, 8272=>745, 8273=>470, 8274=>500, 8275=>754, 8276=>745, 8277=>754, 8278=>615, 8279=>731, 8280=>754, 8281=>754, 8282=>342, 8283=>784,
|
||||
8284=>754, 8285=>342, 8286=>342, 8287=>200, 8288=>0, 8289=>0, 8290=>0, 8291=>0, 8298=>0, 8299=>0, 8300=>0, 8301=>0, 8302=>0, 8303=>0, 8304=>394, 8305=>197,
|
||||
8308=>394, 8309=>394, 8310=>394, 8311=>394, 8312=>394, 8313=>394, 8314=>475, 8315=>475, 8316=>475, 8317=>259, 8318=>259, 8319=>410, 8320=>394, 8321=>394, 8322=>394, 8323=>394,
|
||||
8324=>394, 8325=>394, 8326=>394, 8327=>394, 8328=>394, 8329=>394, 8330=>475, 8331=>475, 8332=>475, 8333=>259, 8334=>259, 8336=>412, 8337=>431, 8338=>439, 8339=>371, 8340=>431,
|
||||
8352=>836, 8353=>626, 8354=>626, 8355=>626, 8356=>626, 8357=>938, 8358=>753, 8359=>1366, 8360=>1084, 8361=>993, 8362=>813, 8363=>626, 8365=>626, 8366=>614, 8367=>1252, 8368=>626,
|
||||
8369=>626, 8370=>626, 8371=>626, 8372=>773, 8373=>626, 8400=>0, 8401=>0, 8406=>0, 8407=>0, 8448=>1007, 8449=>1053, 8450=>660, 8451=>1090, 8452=>806, 8453=>982, 8454=>1029,
|
||||
8455=>553, 8456=>628, 8457=>978, 8459=>965, 8460=>822, 8461=>765, 8462=>641, 8463=>641, 8464=>544, 8465=>624, 8466=>781, 8467=>424, 8468=>876, 8469=>753, 8470=>1083, 8471=>900,
|
||||
8472=>627, 8473=>631, 8474=>765, 8475=>789, 8476=>732, 8477=>713, 8478=>807, 8479=>639, 8480=>917, 8481=>1152, 8483=>679, 8484=>652, 8485=>520, 8486=>765, 8487=>692, 8488=>686,
|
||||
8489=>304, 8490=>697, 8491=>696, 8492=>835, 8493=>699, 8494=>769, 8495=>572, 8496=>664, 8497=>729, 8498=>615, 8499=>1074, 8500=>418, 8501=>714, 8502=>662, 8503=>453, 8504=>625,
|
||||
8505=>342, 8506=>851, 8507=>1213, 8508=>710, 8509=>663, 8510=>586, 8511=>760, 8512=>756, 8513=>697, 8514=>501, 8515=>573, 8516=>684, 8517=>747, 8518=>644, 8519=>610, 8520=>308,
|
||||
8521=>308, 8523=>785, 8526=>492, 8531=>932, 8532=>932, 8533=>932, 8534=>932, 8535=>932, 8536=>932, 8537=>932, 8538=>932, 8539=>932, 8540=>932, 8541=>932, 8542=>932, 8543=>554,
|
||||
8544=>334, 8545=>593, 8546=>851, 8547=>989, 8548=>696, 8549=>989, 8550=>1247, 8551=>1505, 8552=>1008, 8553=>694, 8554=>1008, 8555=>1266, 8556=>573, 8557=>660, 8558=>747, 8559=>896,
|
||||
8560=>308, 8561=>546, 8562=>785, 8563=>885, 8564=>586, 8565=>866, 8566=>1104, 8567=>1342, 8568=>872, 8569=>580, 8570=>872, 8571=>1110, 8572=>308, 8573=>533, 8574=>644, 8575=>938,
|
||||
8576=>1160, 8577=>747, 8578=>1160, 8579=>660, 8580=>533, 8592=>754, 8593=>754, 8594=>754, 8595=>754, 8596=>754, 8597=>754, 8598=>754, 8599=>754, 8600=>754, 8601=>754, 8602=>754,
|
||||
8603=>754, 8604=>754, 8605=>754, 8606=>754, 8607=>754, 8608=>754, 8609=>754, 8610=>754, 8611=>754, 8612=>754, 8613=>754, 8614=>754, 8615=>754, 8616=>754, 8617=>754, 8618=>754,
|
||||
8619=>754, 8620=>754, 8621=>754, 8622=>754, 8623=>754, 8624=>754, 8625=>754, 8626=>754, 8627=>754, 8628=>754, 8629=>754, 8630=>754, 8631=>754, 8632=>754, 8633=>754, 8634=>754,
|
||||
8635=>754, 8636=>754, 8637=>754, 8638=>754, 8639=>754, 8640=>754, 8641=>754, 8642=>754, 8643=>754, 8644=>754, 8645=>754, 8646=>754, 8647=>754, 8648=>754, 8649=>754, 8650=>754,
|
||||
8651=>754, 8652=>754, 8653=>754, 8654=>754, 8655=>754, 8656=>754, 8657=>754, 8658=>754, 8659=>754, 8660=>754, 8661=>754, 8662=>754, 8663=>754, 8664=>754, 8665=>754, 8666=>754,
|
||||
8667=>754, 8668=>754, 8669=>754, 8670=>754, 8671=>754, 8672=>754, 8673=>754, 8674=>754, 8675=>754, 8676=>754, 8677=>754, 8678=>754, 8679=>754, 8680=>754, 8681=>754, 8682=>754,
|
||||
8683=>754, 8684=>754, 8685=>754, 8686=>754, 8687=>754, 8688=>754, 8689=>754, 8690=>754, 8691=>754, 8692=>754, 8693=>754, 8694=>754, 8695=>754, 8696=>754, 8697=>754, 8698=>754,
|
||||
8699=>754, 8700=>754, 8701=>754, 8702=>754, 8703=>754, 8704=>696, 8705=>626, 8706=>489, 8707=>615, 8708=>615, 8709=>771, 8710=>627, 8711=>627, 8712=>807, 8713=>807, 8714=>675,
|
||||
8715=>807, 8716=>807, 8717=>675, 8718=>572, 8719=>708, 8720=>708, 8721=>646, 8722=>754, 8723=>754, 8724=>626, 8725=>150, 8726=>626, 8727=>754, 8728=>563, 8729=>342, 8730=>600,
|
||||
8731=>600, 8732=>600, 8733=>602, 8734=>750, 8735=>754, 8736=>807, 8737=>807, 8738=>754, 8739=>450, 8740=>450, 8741=>450, 8742=>450, 8743=>730, 8744=>730, 8745=>730, 8746=>730,
|
||||
8747=>549, 8748=>835, 8749=>1165, 8750=>506, 8751=>879, 8752=>1181, 8753=>506, 8754=>506, 8755=>506, 8756=>626, 8757=>626, 8758=>264, 8759=>626, 8760=>754, 8761=>754, 8762=>754,
|
||||
8763=>754, 8764=>754, 8765=>754, 8766=>754, 8767=>754, 8768=>337, 8769=>754, 8770=>754, 8771=>754, 8772=>754, 8773=>754, 8774=>754, 8775=>754, 8776=>754, 8777=>754, 8778=>754,
|
||||
8779=>754, 8780=>754, 8781=>754, 8782=>754, 8783=>754, 8784=>754, 8785=>754, 8786=>754, 8787=>754, 8788=>956, 8789=>956, 8790=>754, 8791=>754, 8792=>754, 8793=>754, 8794=>754,
|
||||
8795=>754, 8796=>754, 8797=>754, 8798=>754, 8799=>754, 8800=>754, 8801=>754, 8802=>754, 8803=>754, 8804=>754, 8805=>754, 8806=>754, 8807=>754, 8808=>756, 8809=>756, 8810=>942,
|
||||
8811=>942, 8812=>450, 8813=>754, 8814=>754, 8815=>754, 8816=>754, 8817=>754, 8818=>754, 8819=>754, 8820=>754, 8821=>754, 8822=>754, 8823=>754, 8824=>754, 8825=>754, 8826=>754,
|
||||
8827=>754, 8828=>754, 8829=>754, 8830=>754, 8831=>754, 8832=>754, 8833=>754, 8834=>754, 8835=>754, 8836=>754, 8837=>754, 8838=>754, 8839=>754, 8840=>754, 8841=>754, 8842=>754,
|
||||
8843=>754, 8844=>730, 8845=>730, 8846=>730, 8847=>754, 8848=>754, 8849=>754, 8850=>754, 8851=>678, 8852=>678, 8853=>754, 8854=>754, 8855=>754, 8856=>754, 8857=>754, 8858=>754,
|
||||
8859=>754, 8860=>754, 8861=>754, 8862=>754, 8863=>754, 8864=>754, 8865=>754, 8866=>822, 8867=>822, 8868=>822, 8869=>822, 8870=>488, 8871=>488, 8872=>822, 8873=>822, 8874=>822,
|
||||
8875=>822, 8876=>822, 8877=>822, 8878=>822, 8879=>822, 8882=>754, 8883=>754, 8884=>754, 8885=>754, 8886=>900, 8887=>900, 8888=>754, 8889=>754, 8890=>488, 8891=>730, 8892=>730,
|
||||
8893=>730, 8896=>758, 8897=>758, 8898=>758, 8899=>758, 8900=>444, 8901=>342, 8902=>563, 8904=>900, 8905=>900, 8906=>900, 8907=>900, 8908=>900, 8909=>754, 8918=>754, 8919=>754,
|
||||
8920=>1280, 8921=>1280, 8922=>754, 8923=>754, 8924=>754, 8925=>754, 8926=>754, 8927=>754, 8928=>754, 8929=>754, 8930=>754, 8931=>754, 8932=>754, 8933=>754, 8934=>754, 8935=>754,
|
||||
8936=>754, 8937=>754, 8938=>754, 8939=>754, 8940=>754, 8941=>754, 8946=>1042, 8947=>807, 8948=>675, 8949=>807, 8950=>807, 8951=>675, 8952=>807, 8953=>807, 8954=>1042, 8955=>807,
|
||||
8956=>675, 8957=>807, 8958=>675, 8959=>807, 8962=>644, 8966=>826, 8968=>411, 8969=>411, 8970=>411, 8971=>411, 8976=>754, 8977=>484, 8984=>835, 8985=>754, 8992=>549, 8993=>549,
|
||||
8997=>900, 9000=>1299, 9085=>776, 9115=>450, 9116=>450, 9117=>450, 9118=>450, 9119=>450, 9120=>450, 9121=>450, 9122=>450, 9123=>450, 9124=>450, 9125=>450, 9126=>450, 9127=>675,
|
||||
9128=>675, 9129=>675, 9130=>675, 9131=>675, 9132=>675, 9133=>675, 9134=>549, 9166=>754, 9167=>850, 9250=>644, 9251=>644, 9312=>762, 9313=>762, 9314=>762, 9315=>762, 9316=>762,
|
||||
9317=>762, 9318=>762, 9319=>762, 9320=>762, 9321=>762, 9600=>692, 9601=>692, 9602=>692, 9603=>692, 9604=>692, 9605=>692, 9606=>692, 9607=>692, 9608=>692, 9609=>692, 9610=>692,
|
||||
9611=>692, 9612=>692, 9613=>692, 9614=>692, 9615=>692, 9616=>692, 9617=>692, 9618=>692, 9619=>692, 9620=>692, 9621=>692, 9622=>692, 9623=>692, 9624=>692, 9625=>692, 9626=>692,
|
||||
9627=>692, 9628=>692, 9629=>692, 9630=>692, 9631=>692, 9632=>850, 9633=>850, 9634=>850, 9635=>850, 9636=>850, 9637=>850, 9638=>850, 9639=>850, 9640=>850, 9641=>850, 9642=>610,
|
||||
9643=>610, 9644=>850, 9645=>850, 9646=>495, 9647=>495, 9648=>692, 9649=>692, 9650=>692, 9651=>692, 9652=>452, 9653=>452, 9654=>692, 9655=>692, 9656=>452, 9657=>452, 9658=>692,
|
||||
9659=>692, 9660=>692, 9661=>692, 9662=>452, 9663=>452, 9664=>692, 9665=>692, 9666=>452, 9667=>452, 9668=>692, 9669=>692, 9670=>692, 9671=>692, 9672=>692, 9673=>785, 9674=>444,
|
||||
9675=>785, 9676=>785, 9677=>785, 9678=>785, 9679=>785, 9680=>785, 9681=>785, 9682=>785, 9683=>785, 9684=>785, 9685=>785, 9686=>474, 9687=>474, 9688=>756, 9689=>873, 9690=>873,
|
||||
9691=>873, 9692=>348, 9693=>348, 9694=>348, 9695=>348, 9696=>692, 9697=>692, 9698=>692, 9699=>692, 9700=>692, 9701=>692, 9702=>575, 9703=>850, 9704=>850, 9705=>850, 9706=>850,
|
||||
9707=>850, 9708=>692, 9709=>692, 9710=>692, 9711=>1007, 9712=>850, 9713=>850, 9714=>850, 9715=>850, 9716=>785, 9717=>785, 9718=>785, 9719=>785, 9720=>692, 9721=>692, 9722=>692,
|
||||
9723=>747, 9724=>747, 9725=>659, 9726=>659, 9727=>692, 9728=>807, 9729=>900, 9730=>807, 9731=>807, 9732=>807, 9733=>807, 9734=>807, 9735=>515, 9736=>806, 9737=>807, 9738=>799,
|
||||
9739=>799, 9740=>604, 9741=>911, 9742=>1121, 9743=>1125, 9744=>807, 9745=>807, 9746=>807, 9747=>479, 9748=>807, 9749=>807, 9750=>807, 9751=>807, 9752=>807, 9753=>807, 9754=>807,
|
||||
9755=>807, 9756=>807, 9757=>548, 9758=>807, 9759=>548, 9760=>807, 9761=>807, 9762=>807, 9763=>807, 9764=>602, 9765=>671, 9766=>584, 9767=>705, 9768=>490, 9769=>807, 9770=>807,
|
||||
9771=>807, 9772=>639, 9773=>807, 9774=>807, 9775=>807, 9776=>807, 9777=>807, 9778=>807, 9779=>807, 9780=>807, 9781=>807, 9782=>807, 9783=>807, 9784=>807, 9785=>807, 9786=>807,
|
||||
9787=>807, 9788=>807, 9789=>807, 9790=>807, 9791=>552, 9792=>658, 9793=>658, 9794=>807, 9795=>807, 9796=>807, 9797=>807, 9798=>807, 9799=>807, 9800=>807, 9801=>807, 9802=>807,
|
||||
9803=>807, 9804=>807, 9805=>807, 9806=>807, 9807=>807, 9808=>807, 9809=>807, 9810=>807, 9811=>807, 9812=>807, 9813=>807, 9814=>807, 9815=>807, 9816=>807, 9817=>807, 9818=>807,
|
||||
9819=>807, 9820=>807, 9821=>807, 9822=>807, 9823=>807, 9824=>807, 9825=>807, 9826=>807, 9827=>807, 9828=>807, 9829=>807, 9830=>807, 9831=>807, 9832=>807, 9833=>424, 9834=>574,
|
||||
9835=>807, 9836=>807, 9837=>424, 9838=>321, 9839=>435, 9840=>673, 9841=>689, 9842=>807, 9843=>807, 9844=>807, 9845=>807, 9846=>807, 9847=>807, 9848=>807, 9849=>807, 9850=>807,
|
||||
9851=>807, 9852=>807, 9853=>807, 9854=>807, 9855=>807, 9856=>782, 9857=>782, 9858=>782, 9859=>782, 9860=>782, 9861=>782, 9862=>807, 9863=>807, 9864=>807, 9865=>807, 9866=>807,
|
||||
9867=>807, 9868=>807, 9869=>807, 9870=>807, 9871=>807, 9872=>807, 9873=>807, 9874=>807, 9875=>807, 9876=>807, 9877=>487, 9878=>807, 9879=>807, 9880=>807, 9881=>807, 9882=>807,
|
||||
9883=>807, 9884=>807, 9888=>807, 9889=>632, 9890=>754, 9891=>754, 9892=>754, 9893=>754, 9894=>754, 9895=>754, 9896=>754, 9897=>754, 9898=>754, 9899=>754, 9900=>754, 9901=>754,
|
||||
9902=>754, 9903=>754, 9904=>759, 9905=>754, 9906=>658, 9985=>754, 9986=>754, 9987=>754, 9988=>754, 9990=>754, 9991=>754, 9992=>754, 9993=>754, 9996=>754, 9997=>754, 9998=>754,
|
||||
9999=>754, 10000=>754, 10001=>754, 10002=>754, 10003=>754, 10004=>754, 10005=>754, 10006=>754, 10007=>754, 10008=>754, 10009=>754, 10010=>754, 10011=>754, 10012=>754, 10013=>754, 10014=>754,
|
||||
10015=>754, 10016=>754, 10017=>754, 10018=>754, 10019=>754, 10020=>754, 10021=>754, 10022=>754, 10023=>754, 10025=>754, 10026=>754, 10027=>754, 10028=>754, 10029=>754, 10030=>754, 10031=>754,
|
||||
10032=>754, 10033=>754, 10034=>754, 10035=>754, 10036=>754, 10037=>754, 10038=>754, 10039=>754, 10040=>754, 10041=>754, 10042=>754, 10043=>754, 10044=>754, 10045=>754, 10046=>754, 10047=>754,
|
||||
10048=>754, 10049=>754, 10050=>754, 10051=>754, 10052=>754, 10053=>754, 10054=>754, 10055=>754, 10056=>754, 10057=>754, 10058=>754, 10059=>754, 10061=>807, 10063=>807, 10064=>807, 10065=>807,
|
||||
10066=>807, 10070=>807, 10072=>754, 10073=>754, 10074=>754, 10075=>312, 10076=>312, 10077=>528, 10078=>528, 10081=>754, 10082=>754, 10083=>754, 10084=>754, 10085=>754, 10086=>754, 10087=>754,
|
||||
10088=>754, 10089=>754, 10090=>754, 10091=>754, 10092=>754, 10093=>754, 10094=>754, 10095=>754, 10096=>754, 10097=>754, 10098=>754, 10099=>754, 10100=>754, 10101=>754, 10102=>762, 10103=>762,
|
||||
10104=>762, 10105=>762, 10106=>762, 10107=>762, 10108=>762, 10109=>762, 10110=>762, 10111=>762, 10112=>754, 10113=>754, 10114=>754, 10115=>754, 10116=>754, 10117=>754, 10118=>754, 10119=>754,
|
||||
10120=>754, 10121=>754, 10122=>754, 10123=>754, 10124=>754, 10125=>754, 10126=>754, 10127=>754, 10128=>754, 10129=>754, 10130=>754, 10131=>754, 10132=>754, 10136=>754, 10137=>754, 10138=>754,
|
||||
10139=>754, 10140=>754, 10141=>754, 10142=>754, 10143=>754, 10144=>754, 10145=>754, 10146=>754, 10147=>754, 10148=>754, 10149=>754, 10150=>754, 10151=>754, 10152=>754, 10153=>754, 10154=>754,
|
||||
10155=>754, 10156=>754, 10157=>754, 10158=>754, 10159=>754, 10161=>754, 10162=>754, 10163=>754, 10164=>754, 10165=>754, 10166=>754, 10167=>754, 10168=>754, 10169=>754, 10170=>754, 10171=>754,
|
||||
10172=>754, 10173=>754, 10174=>754, 10208=>444, 10214=>438, 10215=>438, 10216=>411, 10217=>411, 10218=>648, 10219=>648, 10224=>754, 10225=>754, 10226=>754, 10227=>754, 10228=>1042, 10229=>1290,
|
||||
10230=>1290, 10231=>1290, 10232=>1290, 10233=>1290, 10234=>1290, 10235=>1290, 10236=>1290, 10237=>1290, 10238=>1290, 10239=>1290, 10240=>703, 10241=>703, 10242=>703, 10243=>703, 10244=>703, 10245=>703,
|
||||
10246=>703, 10247=>703, 10248=>703, 10249=>703, 10250=>703, 10251=>703, 10252=>703, 10253=>703, 10254=>703, 10255=>703, 10256=>703, 10257=>703, 10258=>703, 10259=>703, 10260=>703, 10261=>703,
|
||||
10262=>703, 10263=>703, 10264=>703, 10265=>703, 10266=>703, 10267=>703, 10268=>703, 10269=>703, 10270=>703, 10271=>703, 10272=>703, 10273=>703, 10274=>703, 10275=>703, 10276=>703, 10277=>703,
|
||||
10278=>703, 10279=>703, 10280=>703, 10281=>703, 10282=>703, 10283=>703, 10284=>703, 10285=>703, 10286=>703, 10287=>703, 10288=>703, 10289=>703, 10290=>703, 10291=>703, 10292=>703, 10293=>703,
|
||||
10294=>703, 10295=>703, 10296=>703, 10297=>703, 10298=>703, 10299=>703, 10300=>703, 10301=>703, 10302=>703, 10303=>703, 10304=>703, 10305=>703, 10306=>703, 10307=>703, 10308=>703, 10309=>703,
|
||||
10310=>703, 10311=>703, 10312=>703, 10313=>703, 10314=>703, 10315=>703, 10316=>703, 10317=>703, 10318=>703, 10319=>703, 10320=>703, 10321=>703, 10322=>703, 10323=>703, 10324=>703, 10325=>703,
|
||||
10326=>703, 10327=>703, 10328=>703, 10329=>703, 10330=>703, 10331=>703, 10332=>703, 10333=>703, 10334=>703, 10335=>703, 10336=>703, 10337=>703, 10338=>703, 10339=>703, 10340=>703, 10341=>703,
|
||||
10342=>703, 10343=>703, 10344=>703, 10345=>703, 10346=>703, 10347=>703, 10348=>703, 10349=>703, 10350=>703, 10351=>703, 10352=>703, 10353=>703, 10354=>703, 10355=>703, 10356=>703, 10357=>703,
|
||||
10358=>703, 10359=>703, 10360=>703, 10361=>703, 10362=>703, 10363=>703, 10364=>703, 10365=>703, 10366=>703, 10367=>703, 10368=>703, 10369=>703, 10370=>703, 10371=>703, 10372=>703, 10373=>703,
|
||||
10374=>703, 10375=>703, 10376=>703, 10377=>703, 10378=>703, 10379=>703, 10380=>703, 10381=>703, 10382=>703, 10383=>703, 10384=>703, 10385=>703, 10386=>703, 10387=>703, 10388=>703, 10389=>703,
|
||||
10390=>703, 10391=>703, 10392=>703, 10393=>703, 10394=>703, 10395=>703, 10396=>703, 10397=>703, 10398=>703, 10399=>703, 10400=>703, 10401=>703, 10402=>703, 10403=>703, 10404=>703, 10405=>703,
|
||||
10406=>703, 10407=>703, 10408=>703, 10409=>703, 10410=>703, 10411=>703, 10412=>703, 10413=>703, 10414=>703, 10415=>703, 10416=>703, 10417=>703, 10418=>703, 10419=>703, 10420=>703, 10421=>703,
|
||||
10422=>703, 10423=>703, 10424=>703, 10425=>703, 10426=>703, 10427=>703, 10428=>703, 10429=>703, 10430=>703, 10431=>703, 10432=>703, 10433=>703, 10434=>703, 10435=>703, 10436=>703, 10437=>703,
|
||||
10438=>703, 10439=>703, 10440=>703, 10441=>703, 10442=>703, 10443=>703, 10444=>703, 10445=>703, 10446=>703, 10447=>703, 10448=>703, 10449=>703, 10450=>703, 10451=>703, 10452=>703, 10453=>703,
|
||||
10454=>703, 10455=>703, 10456=>703, 10457=>703, 10458=>703, 10459=>703, 10460=>703, 10461=>703, 10462=>703, 10463=>703, 10464=>703, 10465=>703, 10466=>703, 10467=>703, 10468=>703, 10469=>703,
|
||||
10470=>703, 10471=>703, 10472=>703, 10473=>703, 10474=>703, 10475=>703, 10476=>703, 10477=>703, 10478=>703, 10479=>703, 10480=>703, 10481=>703, 10482=>703, 10483=>703, 10484=>703, 10485=>703,
|
||||
10486=>703, 10487=>703, 10488=>703, 10489=>703, 10490=>703, 10491=>703, 10492=>703, 10493=>703, 10494=>703, 10495=>703, 10502=>754, 10503=>754, 10506=>754, 10507=>754, 10560=>754, 10561=>754,
|
||||
10702=>754, 10703=>941, 10704=>941, 10705=>900, 10706=>900, 10707=>900, 10708=>900, 10709=>900, 10731=>444, 10752=>900, 10753=>900, 10754=>900, 10764=>1495, 10765=>506, 10766=>506, 10767=>506,
|
||||
10768=>506, 10769=>506, 10770=>506, 10771=>506, 10772=>506, 10773=>506, 10774=>506, 10775=>506, 10776=>506, 10777=>506, 10778=>506, 10779=>506, 10780=>506, 10877=>754, 10878=>754, 10879=>754,
|
||||
10880=>754, 10881=>754, 10882=>754, 10883=>754, 10884=>754, 10885=>754, 10886=>754, 10887=>754, 10888=>754, 10889=>754, 10890=>754, 10891=>754, 10892=>754, 10893=>754, 10894=>754, 10895=>754,
|
||||
10896=>754, 10897=>754, 10898=>754, 10899=>754, 10900=>754, 10901=>754, 10902=>754, 10903=>754, 10904=>754, 10905=>754, 10906=>754, 10907=>754, 10908=>754, 10909=>754, 10910=>754, 10911=>754,
|
||||
10912=>754, 10926=>754, 10927=>754, 10928=>754, 10929=>754, 10930=>754, 10931=>754, 10932=>754, 10933=>754, 10934=>754, 10935=>754, 10936=>754, 10937=>754, 10938=>754, 11001=>754, 11002=>754,
|
||||
11008=>754, 11009=>754, 11010=>754, 11011=>754, 11012=>754, 11013=>754, 11014=>754, 11015=>754, 11016=>754, 11017=>754, 11018=>754, 11019=>754, 11020=>754, 11021=>754, 11022=>754, 11023=>754,
|
||||
11024=>754, 11025=>754, 11026=>850, 11027=>850, 11028=>850, 11029=>850, 11030=>692, 11031=>692, 11032=>692, 11033=>692, 11034=>850, 11040=>782, 11041=>786, 11042=>786, 11043=>786, 11360=>573,
|
||||
11361=>324, 11362=>573, 11363=>659, 11364=>693, 11365=>607, 11366=>430, 11367=>860, 11368=>641, 11369=>697, 11370=>598, 11371=>652, 11372=>523, 11380=>586, 11381=>584, 11382=>464, 11383=>704,
|
||||
61960=>774, 62047=>647, 63173=>618, 64256=>729, 64257=>667, 64258=>667, 64259=>1003, 64260=>1004, 64261=>727, 64262=>917, 64275=>1249, 64276=>1245, 64277=>1240, 64278=>1245, 64279=>1542, 64285=>334,
|
||||
64287=>623, 64288=>647, 64297=>754, 64298=>867, 64299=>867, 64300=>867, 64301=>867, 64302=>676, 64303=>676, 64304=>676, 64305=>658, 64306=>483, 64307=>615, 64308=>700, 64309=>420, 64310=>468,
|
||||
64312=>692, 64313=>420, 64314=>700, 64315=>675, 64316=>646, 64318=>771, 64320=>479, 64321=>770, 64323=>721, 64324=>699, 64326=>676, 64327=>723, 64328=>700, 64329=>867, 64330=>740, 64331=>334,
|
||||
64332=>658, 64333=>678, 64334=>699, 64338=>904, 64339=>953, 64340=>338, 64341=>367, 64342=>904, 64343=>953, 64344=>338, 64345=>367, 64346=>904, 64347=>953, 64348=>338, 64349=>367, 64350=>904,
|
||||
64351=>953, 64352=>338, 64353=>367, 64354=>904, 64355=>953, 64356=>338, 64357=>367, 64358=>904, 64359=>953, 64360=>338, 64361=>367, 64362=>1045, 64363=>1072, 64364=>589, 64365=>647, 64366=>1045,
|
||||
64367=>1072, 64368=>589, 64369=>647, 64370=>648, 64371=>648, 64372=>648, 64373=>648, 64374=>648, 64375=>648, 64376=>648, 64377=>648, 64378=>648, 64379=>648, 64380=>648, 64381=>648, 64382=>648,
|
||||
64383=>648, 64384=>648, 64385=>648, 64394=>518, 64395=>560, 64396=>518, 64397=>560, 64398=>921, 64399=>921, 64400=>523, 64401=>523, 64402=>921, 64403=>921, 64404=>523, 64405=>523, 64414=>768,
|
||||
64415=>810, 64473=>559, 64474=>564, 64488=>338, 64489=>367, 64508=>825, 64509=>910, 64510=>338, 64511=>367, 65024=>0, 65025=>0, 65026=>0, 65027=>0, 65028=>0, 65029=>0, 65030=>0,
|
||||
65031=>0, 65032=>0, 65033=>0, 65034=>0, 65035=>0, 65036=>0, 65037=>0, 65038=>0, 65039=>0, 65136=>308, 65137=>308, 65138=>308, 65139=>311, 65140=>308, 65142=>308, 65143=>308,
|
||||
65144=>308, 65145=>308, 65146=>308, 65147=>308, 65148=>308, 65149=>308, 65150=>308, 65151=>308, 65152=>460, 65153=>308, 65154=>338, 65155=>308, 65156=>338, 65157=>559, 65158=>564, 65159=>308,
|
||||
65160=>338, 65161=>825, 65162=>825, 65163=>338, 65164=>367, 65165=>308, 65166=>338, 65167=>904, 65168=>953, 65169=>338, 65170=>367, 65171=>531, 65172=>545, 65173=>904, 65174=>953, 65175=>338,
|
||||
65176=>367, 65177=>904, 65178=>953, 65179=>338, 65180=>367, 65181=>648, 65182=>648, 65183=>648, 65184=>648, 65185=>648, 65186=>648, 65187=>648, 65188=>648, 65189=>648, 65190=>648, 65191=>648,
|
||||
65192=>648, 65193=>461, 65194=>520, 65195=>461, 65196=>520, 65197=>518, 65198=>560, 65199=>518, 65200=>560, 65201=>1242, 65202=>1272, 65203=>885, 65204=>916, 65205=>1242, 65206=>1272, 65207=>885,
|
||||
65208=>916, 65209=>1210, 65210=>1228, 65211=>870, 65212=>887, 65213=>1210, 65214=>1228, 65215=>870, 65216=>887, 65217=>935, 65218=>963, 65219=>848, 65220=>876, 65221=>935, 65222=>963, 65223=>848,
|
||||
65224=>876, 65225=>615, 65226=>615, 65227=>615, 65228=>508, 65229=>615, 65230=>615, 65231=>615, 65232=>508, 65233=>1045, 65234=>1072, 65235=>589, 65236=>647, 65237=>804, 65238=>811, 65239=>589,
|
||||
65240=>647, 65241=>825, 65242=>838, 65243=>523, 65244=>523, 65245=>781, 65246=>803, 65247=>338, 65248=>367, 65249=>659, 65250=>706, 65251=>557, 65252=>603, 65253=>768, 65254=>810, 65255=>338,
|
||||
65256=>367, 65257=>531, 65258=>545, 65259=>624, 65260=>594, 65261=>559, 65262=>564, 65263=>825, 65264=>910, 65265=>825, 65266=>910, 65267=>338, 65268=>367, 65269=>670, 65270=>683, 65271=>670,
|
||||
65272=>683, 65273=>670, 65274=>683, 65275=>670, 65276=>683, 65279=>0, 65533=>1002};
|
||||
font[:enc]='';
|
||||
font[:diff]='';
|
||||
font[:file]='DejaVuSansCondensed-Bold.z';
|
||||
font[:ctg]='DejaVuSansCondensed-Bold.ctg.z';
|
||||
font[:originalsize]=456120;
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user