Jump to content

ДотКод

Пример доткода

DotCode — это двумерный (2D) матричный штрих-код, изобретенный в 2008 году. [1] компанией Hand Held Products для замены устаревшего кода 128 . В настоящее время он выпущен Ассоциацией автоматической идентификации и мобильности (AIM) как «Спецификация символики ISS DotCode 4.0». [2] DotCode состоит из редких черных круглых точек и белых пространств на белом фоне. В случае черного фона круглые точки, образующие штрих-код, могут быть белыми. DotCode был разработан для использования с высокоскоростными промышленными принтерами. [3] где точность печати может быть низкой. Поскольку DotCode по стандарту не требует сложных элементов, таких как непрерывные линии или специальные формы, его можно наносить с помощью лазерной гравировки или промышленных сверл.

DotCode можно представить в виде прямоугольного массива с минимальным размером каждой стороны 5X точек. Максимальный размер DotCode не ограничен стандартом. [4] (поскольку код 128 не ограничен), но рекомендуется практический предел 100x99. [2] : 5.2.1.4  который может кодировать около 730 цифр, 366 буквенно-цифровых символов или 304 байта.

Являясь расширением штрих-кода Code 128, DotCode обеспечивает более компактное кодирование 8-битного массива данных и поддержку Unicode с функцией расширенной интерпретации канала . Кроме того, DotCode обеспечивает гораздо большую плотность данных и коррекцию ошибок Рида-Соломона , что позволяет восстанавливать частично поврежденный штрих-код. Однако основная реализация DotCode, как и Code 128, представляет собой эффективное кодирование GS1 . данных [5] который используется во всем мире в сфере доставки и упаковки.

История и стандарты

[ редактировать ]

Штрих-код DotCode был изобретен в 2008 году. [1] разработан доктором Эндрю Лонгакром из Hand Held Products и стандартизирован в 2009 году. компании [6] AIM как « Спецификация символики штрих-кода — DotCode». [7] В 2019 году DotCode был рассмотрен как «Спецификация символики ISS DotCode 4.0». [2]

Зарегистрирован ряд патентов, связанных с кодированием и декодированием DotCode:

  • Патент США US20090200386A1 компании Hand Held Products Inc «Машиночитаемая 2D-символика с возможностью печати по требованию». [1]
  • Патент США US20090200386A1 компании Datalogic IP Tech SRL «Система и способ извлечения данных битового потока в двумерных оптических кодах». [8]
  • Китайский патент CN113297872A компании Fuzhou Symbol Information Technology Co Ltd «Метод и оборудование для идентификации точечного кода». [9]

Приложение

[ редактировать ]

Штрих-код DotCode можно использовать так же, как код 128 или любой (2D) матричный штрих-код. В настоящее время он используется в основном для кодирования данных GS1 в табаке . [10] [11] алкогольные и безалкогольные напитки, [12] фармацевтическая и продуктовая промышленность. Основное внедрение в настоящее время приходится на табачную промышленность. [13] [14]

Основные преимущества DotCode: [15]

Дизайн штрих-кода

[ редактировать ]

DotCode представляет данные в прямоугольной структуре, состоящей из черных круглых точек и пробелов на белом фоне или белых круглых точек на черном фоне. DotCode не имеет шаблона поиска, как другие 2D-штрих-коды, и его необходимо обнаруживать с помощью медленных алгоритмов обнаружения капель, таких как фильтр Габора или преобразование Круга Хафа . [ нужна ссылка ] Все данные, метаданные и кодовые слова исправления ошибок кодируются одним и тем же массивом точек, который не имеет визуальной разницы.

Вот несколько примеров DotCode:

Структура символа DotCode

Символ DotCode состоит из следующих элементов: [2] : 5.1 

  • Два бита маски, которые на схеме представлены двумя зелеными точками;
  • Биты данных (биты данных и исправления ошибок), которые должны считываться сверху вниз (четная сторона штрих-кода) и слева направо (нечетная сторона штрих-кода);
  • Угловые точки, отмеченные на диаграмме красным цветом, которые можно использовать в качестве битов данных или битов заполнения (черные точки);
  • Тихая зона размером как минимум в 3 раза больше точек.

Массив битов DotCode представлен как:
(Два бита маски: M2, M1) (Биты данных) (Угловые биты, могут быть битами данных или заполнения: C1 – C6)

Кодовые слова данных в диапазоне 0–112 кодируются в виде двоичных точечных шаблонов 5 из 9. [2] : 5.2  которые закодированы из 9 точек, из которых 5 черных точек и 4 пробела. Остальная часть матрицы штрих-кода (остаток от деления на 9) заполняется черными битами заполнения. [2] : 5.2.3  Биты заполнения могут принимать значения от 0 до 8. Логически массив битов DotCode представлен как:
(2 бита маски) (кодовые слова данных по 9 битов каждое) (биты заполнения 0–8 бит)

К размеру DotCode предъявляются следующие требования: [2] : 5.1 

  • Сумма ширины и высоты DotCode должна быть нечетной: ;
  • Минимальный размер каждой стороны должен быть 5, максимальный не ограничен;
  • Рекомендуется использовать ширину и высоту, чтобы иметь как минимум 6 заполняющих черных битов, где емкость битов данных зависит от деления на 9 больше или равна 6: [2] : 5.2.1.4 

Маскирование данных

[ редактировать ]

Чтобы свести к минимуму проблемные символы DotCode, кодовые слова данных маскируются для создания других визуальных последовательностей. Шаблон маски применяется только к последовательности данных и не влияет на кодовые слова исправления ошибок. Стандарт DotCode имеет 4 шаблона маски, которые закодированы в 2 бита и помещены в первые 2 бита массива битов символов. [2] : 5.2.4 

Биты выбора маски DotCode
Маска Биты Операция маскировки
Пример: 099 099 099 099 099 099 099 099 106.
0 00 Добавляет последовательные кратные 0 к каждому значению, т. е. без изменений.
(000) 099 099 099 099 099 099 099 099 106
1 01 Добавляет последовательные числа, кратные 3, к каждому значению по модулю 113.
(001) 099 102 105 108 111 001 004 007 017
2 10 Добавляет последовательные числа, кратные 7, к каждому значению по модулю 113.
(002) 099 106 000 007 014 021 028 035 049
3 11 Добавляет последовательные числа, кратные 17, к каждому значению по модулю 113.
(003) 099 003 020 037 054 071 088 105 016

Исправление ошибок

[ редактировать ]

DotCode использует коррекцию ошибок Рида – Соломона. [2] : 5.3  с простой степенью 3 и конечным полем или GF(113) . Кодовые слова данных представлены значениями от 0 до 112, а значение маски считается ведущим кодовым словом данных от 0 до 3. Таким образом, длина защищенного массива данных равна (1 + ND). Но количество кодовых слов исправления ошибок рассчитывается только из ND:
,
где ND — кодовые слова данных, а NC — кодовые слова коррекции ошибок.

Результирующие кодовые слова NW с кодовыми словами исправления ошибок:
,
где NW - все кодовые слова кодирования: 1 кодовое слово маски + кодовые слова данных (ND) + кодовые слова исправления ошибок (NC).

Поскольку коррекция ошибок Рида-Соломона не может исправить количество кодовых слов, превышающее полиномиальное, если NW превышает 112, данные разбиваются на блоки исправления ошибок:
,
где B — количество блоков.

Данные можно разделить на блоки следующим образом, для каждого блока '''n''', для n равно от 1 до B:

Данные для исправления ошибок записывается после одного блока данных в скремблированном режиме: [16]
(ND)(NC1_1)(NC2_1)(NC3_1)...(NC1_n)(NC2_m)(NC3_k)

Кодирование

[ редактировать ]

Размер кодирования DotCode не ограничен стандартом, но практический размер кодирования в версии 100x99, которая включает 4950 точек, может кодировать 366 кодовых слов необработанных данных, 730 цифр, 365 буквенно-цифровых символов или 304 байта. Сообщение данных в DotCode представлено кодовыми словами данных от 0 до 112, которые закодированы двоичными точечными шаблонами 5 из 9.

DotCode поддерживает следующие функции: [2] : 5.2.1 

  • Встроенное кодирование цифр или кодировки ASCII (от 0 до 127) с наборами кодов A, B и C и расширенными значениями ASCII (от 128 до 255) с верхним сдвигом;
  • Эффективно кодирует байты (5 байт в 6 кодовых слов) с помощью двоичной защелки;
  • Кодирует данные GS1; [5]
  • Кодирует символы Юникода с функцией расширенной интерпретации каналов ;
  • Поддерживает структурированное кодирование добавления (логическое использование нескольких символов штрих-кода как одного потока данных);
  • Поддерживает кодировку «Макро».
Набор символов DotCode
Символ данных Символ данных
Кодовое слово Кодовый набор А Кодовый набор B Кодовый набор C Точечный узор Кодовое слово Кодовый набор А Кодовый набор B Кодовый набор C Точечный узор
Чар ASCII Чар ASCII Чар ASCII Чар ASCII
0 СП 32 СП 32 00 101010101 57 И 89 И 89 57 110101100
1 ! 33 ! 33 01 010101011 58 С 90 С 90 58 110110010
2 " 34 " 34 02 010101101 59 [ 91 [ 91 59 110110100
3 # 35 # 35 03 010110101 60 \ 92 \ 92 60 111001010
4 $ 36 $ 36 04 011010101 61 ] 93 ] 93 61 111010010
5 % 37 % 37 05 101010110 62 ^ 94 ^ 94 62 111010100
6 & 38 & 38 06 101011010 63 _ 95 _ 95 63 001011110
7 ' 39 ' 39 07 101101010 64 НУЛЕВОЙ 00 ` 96 64 001101110
8 ( 40 ( 40 08 110101010 65 СОХ 01 а 97 65 001110110
9 ) 41 ) 41 09 010101110 66 СТХ 02 б 98 66 001111010
10 * 42 * 42 10 010110110 67 И Т. Д 03 с 99 67 010011110
11 + 43 + 43 11 010111010 68 EOT 04 д 100 68 010111100
12 , 44 , 44 12 011010110 69 ENQ 05 и 101 69 011001110
13 - 45 - 45 13 011011010 70 ПОДТВЕРЖДЕНИЕ 06 ж 102 70 011011100
14 . 46 . 46 14 011101010 71 БЕЛ 07 г 103 71 011100110
15 / 47 / 47 15 100101011 72 БС 08 час 104 72 011101100
16 0 48 0 48 16 100101101 73 ХТ 09 я 105 73 011110010
17 1 49 1 49 17 100110101 74 НЧ 10 дж 106 74 011110100
18 2 50 2 50 18 101001011 75 ВТ 11 к 107 75 100010111
19 3 51 3 51 19 101001101 76 ФФ 12 л 108 76 100011011
20 4 52 4 52 20 101010011 77 ЧР 13 м 109 77 100011101
21 5 53 5 53 21 101011001 78 ТАК 14 н 110 78 100100111
22 6 54 6 54 22 101100101 79 И 15 тот 111 79 100110011
23 7 55 7 55 23 101101001 80 ДЛЕ 16 п 112 80 100111001
24 8 56 8 56 24 110010101 81 DC1 17 д 113 81 101000111
25 9 57 9 57 25 110100101 82 DC2 18 р 114 82 101100011
26 : 58 : 58 26 110101001 83 DC3 19 с 115 83 101110001
27 ; 59 ; 59 27 001010111 84 DC4 20 т 116 84 110001011
28 < 60 < 60 28 001011011 85 ХОТЕТЬ 21 в 117 85 110001101
29 = 61 = 61 29 001011101 86 СИН 22 v 118 86 110010011
30 > 62 > 62 30 001101011 87 ЭТБ 23 В 119 87 110011001
31 ? 63 ? 63 31 001101101 88 МОЖЕТ 24 х 120 88 110100011
32 @ 64 @ 64 32 001110101 89 В 25 и 121 89 110110001
33 А 65 А 65 33 010010111 90 СУБ 26 С 122 90 111000101
34 Б 66 Б 66 34 010011011 91 ЭКУ 27 { 123 91 111001001
35 С 67 С 67 35 010011101 92 ФС 28 | 124 92 111010001
36 Д 68 Д 68 36 010100111 93 GS 29 } 125 93 000101111
37 И 69 И 69 37 010110011 94 РС 30 ~ 126 94 000110111
38 Ф 70 Ф 70 38 010111001 95 НАС 31 ПРИНАДЛЕЖАЩИЙ 127 95 000111011
39 Г 71 Г 71 39 011001011 96 Смена Б CR/LF 13/10 96 000111101
40 ЧАС 72 ЧАС 72 40 011001101 97 2x смена Б ХТ * 09 97 001001111
41 я 73 я 73 41 011010011 98 3x смена Б ФС * 28 98 001100111
42 Дж 74 Дж 74 42 011011001 99 4x смена Б ГС * 29 99 001110011
43 К 75 К 75 43 011100101 100 5x сдвиг B РС * 30 (17)...(10) 001111001
44 л 76 л 76 44 011101001 101 6x сдвиг B Смена А Защелка А 010001111
45 М 77 М 77 45 100101110 102 Защелка Б Защелка А Смена Б 011000111
46 Н 78 Н 78 46 100110110 103 2x сдвиг C 2x сдвиг C 2x смена Б 011100011
47 ТО 79 ТО 79 47 100111010 104 3x сдвиг C 3x сдвиг C 3x смена Б 011110001
48 П 80 П 80 48 101001110 105 4x сдвиг C 4x сдвиг C 4x смена Б 100011110
49 вопрос 81 вопрос 81 49 101011100 106 Защелка С Защелка С Защелка Б 100111100
50 Р 82 Р 82 50 101100110 107 ФНК1 ФНК1 ФНК1 101111000
51 С 83 С 83 51 101101100 108 ФНК2 ФНК2 ФНК2 110001110
52 Т 84 Т 84 52 101110010 109 ФНК3 ФНК3 ФНК3 110011100
53 В 85 В 85 53 101110100 110 Верхняя смена А Верхняя смена А Верхняя смена А 110111000
54 V 86 V 86 54 110010110 111 Верхняя смена B Верхняя смена B Верхняя смена B 111000110
55 В 87 В 87 55 110011010 112 Двоичная защелка Двоичная защелка Двоичная защелка 111001100
56 Х 88 Х 88 56 110100110 * в позициях ведущих данных они становятся «Макросами»

При запуске кодирования сообщения существуют три основных правила:

  • Начальной кодировкой по умолчанию является кодовый набор C;
  • Если две цифры в кодовом наборе C (значение 0–100) закодированы в позиции первого кодового слова, сообщение декодируется как сообщение GS1;
  • Если FNC1 (эффект, противоположный коду 128 ) или другое нецифровое кодовое слово (101–112) закодировано в позиции первого кодового слова, сообщение декодируется как сообщение NON GS1.

Двоичное байтовое кодирование

[ редактировать ]

DotCode может кодировать полную 8-битную кодировку двумя способами: [2] : 5.2.1.1 

  • С верхним сдвигом, для которого требуется 2 кодовых слова на один символ (от 128 до 255);
  • С двоичной защелкой, для которой требуется 1 символ двоичной защелки и 6 кодовых слов на каждые 5 байтов.

Режимы верхнего сдвига могут кодировать (от 128 до 255) расширенные символы ASCII двумя кодовыми словами с возвратом в предыдущий режим:

Кодировка DotCode Upper Shift
Тип верхнего смещения Кодовые слова ASCII
Верхняя смена А от 64 до 95 от 128 до 159
Верхняя смена B от 0 до 95 от 160 до 255

Режим двоичной защелки может кодировать 8-битную кодировку и последовательности ECI от 1 до 5 символов. Он использует следующие правила:

  • Данные разбиваются на блоки из 5 символов (байт или идентификатор режима ECI) или 6 кодовых слов;
  • Значения 0–258 представляют собой преобразование системы счисления из пяти значений по основанию 259 в шесть значений по основанию 103;
  • Значения 0–255 являются байтовыми значениями;
  • Значения 256, 257 или 258 обозначают кодировку последовательности ECI в следующих 1, 2 или 3 байтах соответственно;
  • Любые кодовые слова DotCode в закодированной последовательности выше 102 (от 103 до 112) прерывают или меняют режим.
DotCode Кодовые слова без данных в двоичном режиме
Кодовое слово Операция
103 Прерывание для 2x Shift C
104 Прерывание для 3x Shift C
105 Прерывание для 4x Shift C
106 Прерывание для 5x Shift C
107 Прерывание для 6x Shift C
108 Прерывание для 7x Shift C
109 Завершить с помощью Latch to A
110 Завершить с защелкой на B
111 Завершить с помощью Latch to C
112 Завершение с разделением символов, защелка на C

Как мы видим из следующей таблицы, Binary Latch более эффективно кодирует данные, начиная с 3 байтов.

Эффективность двоичного режима DotCode
Количество байтов Требуются кодовые слова Требуются кодовые слова с защелкой и возвратом Требуется кодовое слово Upper Shift
1 2 4 2
2 3 5 4
3 4 6 6
4 5 7 8
5 6 8 10

ECI-кодирование

[ редактировать ]

DotCode может кодировать индикатор ECI двумя способами: [2] : 5.2.1.2 

  • В режиме двоичной защелки (см. выше);
  • С символом FNC2.

FNC2 в любой позиции, кроме конца данных, сигнализирует о вставке последовательности ECI – «\nnnnnn», которая представляет значения от 000000 до 811799. Значения могут быть закодированы в 1 или 3 кодовых словах:

  • В случае следующего кодового слова < 40 напрямую кодируется значение ECI от 000000 до 000039;
  • В противном случае следующие три кодовых слова со значениями A, B и C кодируют значение ECI, равное .

Кодировка GS1

[ редактировать ]

Любые две цифры в позиции первого кодового слова идентифицируют символ как закодированный GS1 (в отличие от кода 128 ). В случае, если символ с двумя цифрами в позиции первого кодового слова должен быть декодирован как обычные данные, FNC1 (опущенный в декодированном сообщении) должен быть вставлен на место первого кодового слова. [2] : 5.2.1.2  FNC1 в позиции, отличной от первой, работает как разделитель идентификатора приложения GS1 и декодируется как символ GS (значение ASCII 29).

Кодовое слово 100 в кодовом наборе C кодирует приложение GS1 AI (17). [5] следующие 3 кодовых слова являются датой истечения срока действия и вставляют GS1 AI (10) перед декодированием других кодовых слов:
(100)(24)(12)(30)(56)(64) -> 17241230105664

Режим макросов

[ редактировать ]

Некоторые кодовые слова данных 97–100 в лидирующей позиции данных в кодовом наборе B могут кодировать «макросы». [17] [2] : 5.2.1.1  В любой другой позиции он кодирует символ ASCII:
(Защелка B)(HT) -> [)>RS05GS … RSeoT
(Shift B)(HT) -> [)>RS05GS … RSeoT

Кодовые слова DotCode Code Set B с двойной функцией
Кодовое слово В первой позиции данных В последующих позициях данных
Чар ASCII
97 [)>RS05GS ... RSEOT ХТ 09
98 [)>RS06GS ... RSeoT ФС 28
99 [)>RS12GS ... RSEOT GS 29
100 [)>RSxx ... EoT
где две цифры «xx» обозначают значение от 00 до 99.
РС 30
1. Эти расширения «Макро» включают в себя как заголовок, так и трейлер данных.
2. Чтобы закодировать HT, FS, GS или RS в первой позиции данных, используйте кодовый набор A.
3. Расширение макроса для кодового слова 100 намеренно исключает GS из заголовка и RS из трейлера, поскольку они могут быть неправильными для некоторых значений «xx». Однако GS и/или RS все равно могут кодироваться по мере необходимости.

Структурированное добавление

[ редактировать ]

DotCode может создавать составные символы, в которых данные из нескольких символов DotCode могут быть логически объединены. Это можно сделать с помощью символа FNC2 в последней позиции данных. Когда FNC2 находится в позиции конечных данных, [2] : 5.2.1.2  затем два предыдущих символа сообщения, цифры и прописные буквы в порядке от 1 до 9, затем от A до Z (для значений от 10 до 35) должны обозначать «m» и «n» и обозначать, к какому месту принадлежит это сообщение в последовательности «m из n». . Например, символ, сообщение которого заканчивается «4 B FNC2», должен быть 4-м символом из 11, составляющих все сообщение.

Специальные режимы кодирования

[ редактировать ]

FNC3 в первой позиции кодового слова указывает, что сообщение [2] : 5.2.1.2  — инструкции по инициализации или перепрограммированию считывателя штрих-кода.

FNC3 в любой позиции, кроме первой, указывает, что закодированное сообщение должно быть логически разделено на два отдельных сообщения (до и после него);

Заполнение данных

[ редактировать ]

Количество кодовых слов символа DotCode составляет:

Емкость кодовых слов данных символа DotCode составляет:

Таким образом, нам нужно дополнить кодовые слова данных в случае наличия свободного места. Есть два правила: [2] : 5.2.3 

  • Двоичный режим должен быть завершен с помощью Latch to Code Set A (кодовое слово 109);
  • В других режимах необходимо использовать кодовое слово 106 (фиксация набора кодов C/фиксация набора кодов B).

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с Эндрю Лонгакр-младший (13 февраля 2008 г.). «Патент США US20090200386A1 от Hand Held Products Inc «Машиночитаемая 2D-символика с возможностью печати по требованию» » . патенты.google.com . Ведомство США по патентам и товарным знакам. США20090200386A1.
  2. ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д р «Спецификация символики DotCode ISS 4.0» . aimglobal.org . АИМ Глобал.
  3. ^ «Руководство по штрих-кодам: DotCode» . barcodeguide.seagullscientific.com .
  4. ^ «Объяснение 2D-кодов: какой объем данных можно хранить в DotCode?» . www.domino-printing.com .
  5. ^ Перейти обратно: а б с «Идентификаторы приложений GS1» . www.gs1.org .
  6. ^ «Технология штрих-кодов: матричные 2D-символики» . aimglobal.org . Архивировано из оригинала 5 ноября 2011 г.
  7. ^ «Информационные технологии. Методы автоматической идентификации и сбора данных. Спецификация символики штрих-кода. DotCode» . aimglobal.org . АИМ Глобал. Архивировано из оригинала 16 октября 2011 г.
  8. ^ Энрико Кампайоли (2 мая 2019 г.). «Патент США US20090200386A1 от Datalogic IP Tech SRL «Система и способ извлечения данных битового потока в двумерных оптических кодах » . патенты.google.com . Ведомство США по патентам и товарным знакам. США20190130236A1.
  9. ^ «Китайский патент CN113297872A, выданный компанией Fuzhou Symbol Information Technology Co. Ltd. «Метод и оборудование для идентификации точечного кода » . патенты.google.com . Национальное управление интеллектуальной собственности Китая. 24 августа 2021 г. CN113297872A.
  10. ^ «Оценка воздействия DotCode GS1» (PDF) . inexto.com . 16 мая 2017 г.
  11. ^ «Все мобильные компьютеры CILICO считывают точечный код Tabacco» . linkedin.com .
  12. ^ «Обновленный 2D-штрих-код открывает потенциал для рынков напитков, дистрибуции и электронной коммерции» . www.packagingdigest.com .
  13. ^ «Часто задаваемые вопросы по GS1: Где используется GS1 DotCode?» . gs1.org .
  14. ^ «Регламент (ЕС) 2018/574 о технических стандартах для создания и функционирования системы отслеживания табачных изделий» . eur-lex.europa.eu . 15 декабря 2017 г.
  15. ^ «Создание штрих-кодов DotCode на C#» . www.aspose.com .
  16. ^ «Zint библиотеки штрих-кодов с открытым исходным кодом: кодер DotCode на C» . github.com .
  17. ^ ИСО/МЭК (2019). «ISO/IEC 15434:2019 «Информационные технологии. Методы автоматической идентификации и сбора данных. Синтаксис для носителей АЦП высокой емкости » . iso.org . Международная организация по стандартизации (ISO). ИСО/МЭК 15434.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9c82da1adf561a53702287892f33e825__1715391900
URL1:https://arc.ask3.ru/arc/aa/9c/25/9c82da1adf561a53702287892f33e825.html
Заголовок, (Title) документа по адресу, URL1:
DotCode - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)