]>
Commit | Line | Data |
---|---|---|
1 | From patchwork Thu Jan 12 12:56:16 2023 | |
2 | Content-Type: text/plain; charset="utf-8" | |
3 | MIME-Version: 1.0 | |
4 | Content-Transfer-Encoding: 7bit | |
5 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
6 | X-Patchwork-Id: 13097950 | |
7 | Return-Path: <linux-media-owner@vger.kernel.org> | |
8 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
9 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
10 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
11 | by smtp.lore.kernel.org (Postfix) with ESMTP id C50B3C67871 | |
12 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:56:58 +0000 (UTC) | |
13 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
14 | id S231960AbjALM44 (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
15 | Thu, 12 Jan 2023 07:56:56 -0500 | |
16 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43150 "EHLO | |
17 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
18 | with ESMTP id S232416AbjALM4h (ORCPT | |
19 | <rfc822;linux-media@vger.kernel.org>); | |
20 | Thu, 12 Jan 2023 07:56:37 -0500 | |
21 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
22 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
23 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF9B75F46; | |
24 | Thu, 12 Jan 2023 04:56:33 -0800 (PST) | |
25 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
26 | [89.26.75.29]) | |
27 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
28 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
29 | server-digest SHA256) | |
30 | (No client certificate requested) | |
31 | (Authenticated sender: sebastianfricke) | |
32 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 2D0E86602DB9; | |
33 | Thu, 12 Jan 2023 12:56:32 +0000 (GMT) | |
34 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
35 | s=mail; t=1673528192; | |
36 | bh=w39uQHzOIPIO90WhRE4IjTj/4vTR7fwhKBVkNmGEQWM=; | |
37 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
38 | b=NBGxuiJVU2ZpQxkVaZeH5CCCS70AGYjTI2usSFgDYvqxG8S1aMWZyj8I5xBnf+XQa | |
39 | A9xd20BDkGD/y+dweWOYWDuG/iqx0M4ZSAXqhbiY4PCZp2ss/gdd6Cfi/J+h4/z0mV | |
40 | 2v1arb4yPppKzNsKyLOPG3o05bVXUVQcqv1Nv8By09CsEXEW/82QCkhHyC9Qjii4UP | |
41 | 9k1B/ZiCjsBeXmpBEtrf/CDIH6uVBePNk2JZ2P1sc1NheN7/vGI+tEkhYTAIWkht+T | |
42 | G1O14WBe3J1zzQFR6kwGybsbOWqEmRYVBqU4PCivCWju4bfEF1fAjb/HVCPDSdYg89 | |
43 | bVDiRKaYnQPaw== | |
44 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
45 | Date: Thu, 12 Jan 2023 13:56:16 +0100 | |
46 | Subject: [PATCH v2 01/12] media: v4l2: Add NV15 pixel format | |
47 | MIME-Version: 1.0 | |
48 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-1-fa1897efac14@collabora.com> | |
49 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
50 | In-Reply-To: | |
51 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
52 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
53 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
54 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
55 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
56 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
57 | Jonas Karlman <jonas@kwiboo.se>, | |
58 | Alex Bee <knaerzche@gmail.com>, | |
59 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
60 | Collabora Kernel-domain <kernel@collabora.com>, | |
61 | Robert Beckett <bob.beckett@collabora.com>, | |
62 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
63 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
64 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
65 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
66 | X-Mailer: b4 0.11.1 | |
67 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=6437; | |
68 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
69 | bh=uy2g9GPcP+lRwPYfgkcuiU1U/soD1j3DQtWijfz/vHI=; | |
70 | b=/pxqbPJRJoRG0ZRyvRot/+yIY4H7+UpAZVlvL+UZ7AKc8JtwF17tqhJfcI1anbbRdRkx4HIuWV2Q | |
71 | xDA5Hg6pCybcCwPBMeJzHeOj63Bav5GFBGgjC+fTds/GMfujTawu | |
72 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
73 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
74 | Precedence: bulk | |
75 | List-ID: <linux-media.vger.kernel.org> | |
76 | X-Mailing-List: linux-media@vger.kernel.org | |
77 | ||
78 | From: Jonas Karlman <jonas@kwiboo.se> | |
79 | ||
80 | Add the NV15 pixel format used by the Rockchip Video Decoder for 10-bit buffers. | |
81 | ||
82 | NV15 is a packed 10-bit 4:2:0 Y/CbCr format similar to P010 and P210 but has no | |
83 | padding between components. Instead, luminance and chrominance samples are grouped | |
84 | into 4s so that each group is packed into an integer number of bytes: | |
85 | ||
86 | YYYY = UVUV = 4 * 10 bits = 40 bits = 5 bytes | |
87 | ||
88 | The '15' suffix refers to the optimum effective bits per pixel | |
89 | which is achieved when the total number of luminance samples is a multiple | |
90 | of 8 for NV15. | |
91 | ||
92 | Signed-off-by: Jonas Karlman <jonas@kwiboo.se> | |
93 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
94 | --- | |
95 | .../userspace-api/media/v4l/pixfmt-yuv-planar.rst | 75 ++++++++++++++++++++++ | |
96 | drivers/media/v4l2-core/v4l2-common.c | 2 + | |
97 | drivers/media/v4l2-core/v4l2-ioctl.c | 1 + | |
98 | include/uapi/linux/videodev2.h | 1 + | |
99 | 4 files changed, 79 insertions(+) | |
100 | ||
101 | diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst | |
102 | index f1d5bb7b806d..7d8d228f8063 100644 | |
103 | --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst | |
104 | +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst | |
105 | @@ -79,6 +79,13 @@ All components are stored with the same number of bits per component. | |
106 | - Cr, Cb | |
107 | - Yes | |
108 | - Linear | |
109 | + * - V4L2_PIX_FMT_NV15 | |
110 | + - 'NV15' | |
111 | + - 15 | |
112 | + - 4:2:0 | |
113 | + - Cb, Cr | |
114 | + - Yes | |
115 | + - Linear | |
116 | * - V4L2_PIX_FMT_NV12M | |
117 | - 'NM12' | |
118 | - 8 | |
119 | @@ -183,6 +190,7 @@ horizontally. | |
120 | ||
121 | .. _V4L2-PIX-FMT-NV12: | |
122 | .. _V4L2-PIX-FMT-NV21: | |
123 | +.. _V4L2-PIX-FMT-NV15: | |
124 | .. _V4L2-PIX-FMT-NV12M: | |
125 | .. _V4L2-PIX-FMT-NV21M: | |
126 | .. _V4L2-PIX-FMT-P010: | |
127 | @@ -586,6 +594,73 @@ Data in the 10 high bits, zeros in the 6 low bits, arranged in little endian ord | |
128 | - Cb\ :sub:`11` | |
129 | - Cr\ :sub:`11` | |
130 | ||
131 | +.. _V4L2_PIX_FMT_NV15: | |
132 | + | |
133 | +NV15 | |
134 | +---- | |
135 | + | |
136 | +Similar to P010, a semi-planar 10-bit Y/CbCr format, but all components are | |
137 | +packed without any padding between each other. As a side-effect, each group of | |
138 | +4 components are stored over 5 bytes (YYYY or UVUV = 4 * 10 bits = 40 bits = 5 | |
139 | +bytes). | |
140 | + | |
141 | +.. flat-table:: Sample 4x4 NV15 Image | |
142 | + :header-rows: 0 | |
143 | + :stub-columns: 0 | |
144 | + | |
145 | + * - start + 0: | |
146 | + - Y'\ :sub:`00` | |
147 | + - Y'\ :sub:`01` | |
148 | + - Y'\ :sub:`02` | |
149 | + - Y'\ :sub:`03` | |
150 | + * - start + 8: | |
151 | + - Y'\ :sub:`04` | |
152 | + - Y'\ :sub:`10` | |
153 | + - Y'\ :sub:`11` | |
154 | + - Y'\ :sub:`12` | |
155 | + * - start + 16: | |
156 | + - Y'\ :sub:`13` | |
157 | + - Y'\ :sub:`14` | |
158 | + - Y'\ :sub:`20` | |
159 | + - Y'\ :sub:`21` | |
160 | + * - start + 24: | |
161 | + - Y'\ :sub:`22` | |
162 | + - Y'\ :sub:`23` | |
163 | + - Y'\ :sub:`24` | |
164 | + - Y'\ :sub:`30` | |
165 | + * - start + 32: | |
166 | + - Y'\ :sub:`31` | |
167 | + - Y'\ :sub:`32` | |
168 | + - Y'\ :sub:`33` | |
169 | + - Y'\ :sub:`34` | |
170 | + | |
171 | + * - start + 0: | |
172 | + - Cb\ :sub:`00` | |
173 | + - Cr\ :sub:`00` | |
174 | + - Cb\ :sub:`01` | |
175 | + - Cr\ :sub:`01` | |
176 | + * - start + 8: | |
177 | + - Cb\ :sub:`02` | |
178 | + - Cr\ :sub:`02` | |
179 | + - Cb\ :sub:`03` | |
180 | + - Cr\ :sub:`03` | |
181 | + * - start + 16: | |
182 | + - Cb\ :sub:`04` | |
183 | + - Cr\ :sub:`04` | |
184 | + - Cb\ :sub:`10` | |
185 | + - Cr\ :sub:`10` | |
186 | + * - start + 24: | |
187 | + - Cb\ :sub:`11` | |
188 | + - Cr\ :sub:`11` | |
189 | + - Cb\ :sub:`12` | |
190 | + - Cr\ :sub:`12` | |
191 | + * - start + 32: | |
192 | + - Cb\ :sub:`13` | |
193 | + - Cr\ :sub:`13` | |
194 | + - Cb\ :sub:`14` | |
195 | + - Cr\ :sub:`14` | |
196 | + | |
197 | +.. raw:: latex | |
198 | ||
199 | Fully Planar YUV Formats | |
200 | ======================== | |
201 | diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c | |
202 | index 40f56e044640..be23e319fb3a 100644 | |
203 | --- a/drivers/media/v4l2-core/v4l2-common.c | |
204 | +++ b/drivers/media/v4l2-core/v4l2-common.c | |
205 | @@ -262,6 +262,8 @@ const struct v4l2_format_info *v4l2_format_info(u32 format) | |
206 | /* YUV planar formats */ | |
207 | { .format = V4L2_PIX_FMT_NV12, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2 }, | |
208 | { .format = V4L2_PIX_FMT_NV21, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2 }, | |
209 | + { .format = V4L2_PIX_FMT_NV15, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 5, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2, | |
210 | + .block_w = { 4, 2, 0, 0 }, .block_h = { 1, 1, 0, 0 } }, | |
211 | { .format = V4L2_PIX_FMT_NV16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 }, | |
212 | { .format = V4L2_PIX_FMT_NV61, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 }, | |
213 | { .format = V4L2_PIX_FMT_NV24, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 1, .vdiv = 1 }, | |
214 | diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c | |
215 | index 8e0a0ff62a70..1c80ad78ef00 100644 | |
216 | --- a/drivers/media/v4l2-core/v4l2-ioctl.c | |
217 | +++ b/drivers/media/v4l2-core/v4l2-ioctl.c | |
218 | @@ -1343,6 +1343,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) | |
219 | case V4L2_PIX_FMT_YUV48_12: descr = "12-bit YUV 4:4:4 Packed"; break; | |
220 | case V4L2_PIX_FMT_NV12: descr = "Y/UV 4:2:0"; break; | |
221 | case V4L2_PIX_FMT_NV21: descr = "Y/VU 4:2:0"; break; | |
222 | + case V4L2_PIX_FMT_NV15: descr = "10-bit Y/UV 4:2:0 (Packed)"; break; | |
223 | case V4L2_PIX_FMT_NV16: descr = "Y/UV 4:2:2"; break; | |
224 | case V4L2_PIX_FMT_NV61: descr = "Y/VU 4:2:2"; break; | |
225 | case V4L2_PIX_FMT_NV24: descr = "Y/UV 4:4:4"; break; | |
226 | diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h | |
227 | index 1befd181a4cc..e9731286dc77 100644 | |
228 | --- a/include/uapi/linux/videodev2.h | |
229 | +++ b/include/uapi/linux/videodev2.h | |
230 | @@ -621,6 +621,7 @@ struct v4l2_pix_format { | |
231 | /* two planes -- one Y, one Cr + Cb interleaved */ | |
232 | #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */ | |
233 | #define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */ | |
234 | +#define V4L2_PIX_FMT_NV15 v4l2_fourcc('N', 'V', '1', '5') /* 15 Y/CbCr 4:2:0 10-bit packed */ | |
235 | #define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */ | |
236 | #define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */ | |
237 | #define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */ | |
238 | ||
239 | From patchwork Thu Jan 12 12:56:17 2023 | |
240 | Content-Type: text/plain; charset="utf-8" | |
241 | MIME-Version: 1.0 | |
242 | Content-Transfer-Encoding: 7bit | |
243 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
244 | X-Patchwork-Id: 13097951 | |
245 | Return-Path: <linux-media-owner@vger.kernel.org> | |
246 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
247 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
248 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
249 | by smtp.lore.kernel.org (Postfix) with ESMTP id B6C11C61DB3 | |
250 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:56:59 +0000 (UTC) | |
251 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
252 | id S232006AbjALM46 (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
253 | Thu, 12 Jan 2023 07:56:58 -0500 | |
254 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43250 "EHLO | |
255 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
256 | with ESMTP id S231434AbjALM4h (ORCPT | |
257 | <rfc822;linux-media@vger.kernel.org>); | |
258 | Thu, 12 Jan 2023 07:56:37 -0500 | |
259 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
260 | [46.235.227.172]) | |
261 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 88EC7AE4A; | |
262 | Thu, 12 Jan 2023 04:56:36 -0800 (PST) | |
263 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
264 | [89.26.75.29]) | |
265 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
266 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
267 | server-digest SHA256) | |
268 | (No client certificate requested) | |
269 | (Authenticated sender: sebastianfricke) | |
270 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 2E7356602DBC; | |
271 | Thu, 12 Jan 2023 12:56:35 +0000 (GMT) | |
272 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
273 | s=mail; t=1673528195; | |
274 | bh=TMBuSYYQgufdE8ilX8+9MkfvSRLEsm/O1NHAsGj+B/Y=; | |
275 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
276 | b=XOPL1XeRQInEt43srKZYrnrk2C/E2t6TlKO5p4bXvoEV/zBpFhHONeClKtTqj6JBz | |
277 | 4o16E9P1tWHpCvOrfc/+9iIjNnCFUEt3alSQI9jpYrBa97dU0lspWglEQG7xskQ+Vh | |
278 | XgKtlMfpbzLXq5q5BhUkbtzWVHVDkvZEYFxOjhJNvkgCXtU1KoG3oR4M3PnfACexdl | |
279 | 9q7Korw+75cBpygJm/0frQyYKChkqDwnB9NkXuNDQiZrBS9TrMrOaalV1OFgwXKasX | |
280 | moplnbm24XFPXMFZ9qSAmZAwk4rp/hYi5DzvT741iOfZxvOz2Ti1iZicgEHEOkRIEQ | |
281 | VFf5gm44ncdsA== | |
282 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
283 | Date: Thu, 12 Jan 2023 13:56:17 +0100 | |
284 | Subject: [PATCH v2 02/12] media: v4l2-common: Add helpers to calculate | |
285 | bytesperline and sizeimage | |
286 | MIME-Version: 1.0 | |
287 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-2-fa1897efac14@collabora.com> | |
288 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
289 | In-Reply-To: | |
290 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
291 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
292 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
293 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
294 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
295 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
296 | Jonas Karlman <jonas@kwiboo.se>, | |
297 | Alex Bee <knaerzche@gmail.com>, | |
298 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
299 | Collabora Kernel-domain <kernel@collabora.com>, | |
300 | Robert Beckett <bob.beckett@collabora.com>, | |
301 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
302 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
303 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
304 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
305 | X-Mailer: b4 0.11.1 | |
306 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=4683; | |
307 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
308 | bh=LcMmGvBIJq4nek85HGURC0+BOvaXuS5YxkC2HDnyM4I=; | |
309 | b=21yB2ximJGHXO2qRmwC71wOACLdxQEDfraCFxz9My9OOeP/Bg30IT6qXnRdRmTEICA6UNWxjEJjI | |
310 | 0AsKrLSDBeIJqIIhK3dU2M8+aYSDn/AyK7/xOhcyFbJLtFv1L49Z | |
311 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
312 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
313 | Precedence: bulk | |
314 | List-ID: <linux-media.vger.kernel.org> | |
315 | X-Mailing-List: linux-media@vger.kernel.org | |
316 | ||
317 | From: Jonas Karlman <jonas@kwiboo.se> | |
318 | ||
319 | Add helper functions to calculate plane bytesperline and sizeimage, these | |
320 | new helpers consider block width and height when calculating plane | |
321 | bytesperline and sizeimage. | |
322 | ||
323 | This prepares support for a new pixel format added in next patch that makes | |
324 | use of block width and height. | |
325 | ||
326 | Signed-off-by: Jonas Karlman <jonas@kwiboo.se> | |
327 | --- | |
328 | drivers/media/v4l2-core/v4l2-common.c | 77 +++++++++++++++++------------------ | |
329 | 1 file changed, 38 insertions(+), 39 deletions(-) | |
330 | ||
331 | diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c | |
332 | index be23e319fb3a..12c1d2f409b0 100644 | |
333 | --- a/drivers/media/v4l2-core/v4l2-common.c | |
334 | +++ b/drivers/media/v4l2-core/v4l2-common.c | |
335 | @@ -340,6 +340,33 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf | |
336 | return info->block_h[plane]; | |
337 | } | |
338 | ||
339 | +static inline unsigned int v4l2_format_plane_width(const struct v4l2_format_info *info, int plane, | |
340 | + unsigned int width) | |
341 | +{ | |
342 | + unsigned int hdiv = plane ? info->hdiv : 1; | |
343 | + unsigned int bytes = DIV_ROUND_UP(width * info->bpp[plane], | |
344 | + v4l2_format_block_width(info, plane) * | |
345 | + v4l2_format_block_height(info, plane)); | |
346 | + | |
347 | + return DIV_ROUND_UP(bytes, hdiv); | |
348 | +} | |
349 | + | |
350 | +static inline unsigned int v4l2_format_plane_height(const struct v4l2_format_info *info, int plane, | |
351 | + unsigned int height) | |
352 | +{ | |
353 | + unsigned int vdiv = plane ? info->vdiv : 1; | |
354 | + unsigned int lines = ALIGN(height, v4l2_format_block_height(info, plane)); | |
355 | + | |
356 | + return DIV_ROUND_UP(lines, vdiv); | |
357 | +} | |
358 | + | |
359 | +static inline unsigned int v4l2_format_plane_size(const struct v4l2_format_info *info, int plane, | |
360 | + unsigned int width, unsigned int height) | |
361 | +{ | |
362 | + return v4l2_format_plane_width(info, plane, width) * | |
363 | + v4l2_format_plane_height(info, plane, height); | |
364 | +} | |
365 | + | |
366 | void v4l2_apply_frmsize_constraints(u32 *width, u32 *height, | |
367 | const struct v4l2_frmsize_stepwise *frmsize) | |
368 | { | |
369 | @@ -375,37 +402,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt, | |
370 | ||
371 | if (info->mem_planes == 1) { | |
372 | plane = &pixfmt->plane_fmt[0]; | |
373 | - plane->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0]; | |
374 | + plane->bytesperline = v4l2_format_plane_width(info, 0, width); | |
375 | plane->sizeimage = 0; | |
376 | ||
377 | - for (i = 0; i < info->comp_planes; i++) { | |
378 | - unsigned int hdiv = (i == 0) ? 1 : info->hdiv; | |
379 | - unsigned int vdiv = (i == 0) ? 1 : info->vdiv; | |
380 | - unsigned int aligned_width; | |
381 | - unsigned int aligned_height; | |
382 | - | |
383 | - aligned_width = ALIGN(width, v4l2_format_block_width(info, i)); | |
384 | - aligned_height = ALIGN(height, v4l2_format_block_height(info, i)); | |
385 | - | |
386 | - plane->sizeimage += info->bpp[i] * | |
387 | - DIV_ROUND_UP(aligned_width, hdiv) * | |
388 | - DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i]; | |
389 | - } | |
390 | + for (i = 0; i < info->comp_planes; i++) | |
391 | + plane->sizeimage += | |
392 | + v4l2_format_plane_size(info, i, width, height); | |
393 | } else { | |
394 | for (i = 0; i < info->comp_planes; i++) { | |
395 | - unsigned int hdiv = (i == 0) ? 1 : info->hdiv; | |
396 | - unsigned int vdiv = (i == 0) ? 1 : info->vdiv; | |
397 | - unsigned int aligned_width; | |
398 | - unsigned int aligned_height; | |
399 | - | |
400 | - aligned_width = ALIGN(width, v4l2_format_block_width(info, i)); | |
401 | - aligned_height = ALIGN(height, v4l2_format_block_height(info, i)); | |
402 | - | |
403 | plane = &pixfmt->plane_fmt[i]; | |
404 | plane->bytesperline = | |
405 | - info->bpp[i] * DIV_ROUND_UP(aligned_width, hdiv) / info->bpp_div[i]; | |
406 | - plane->sizeimage = | |
407 | - plane->bytesperline * DIV_ROUND_UP(aligned_height, vdiv); | |
408 | + v4l2_format_plane_width(info, i, width); | |
409 | + plane->sizeimage = plane->bytesperline * | |
410 | + v4l2_format_plane_height(info, i, height); | |
411 | } | |
412 | } | |
413 | return 0; | |
414 | @@ -429,22 +438,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat, | |
415 | pixfmt->width = width; | |
416 | pixfmt->height = height; | |
417 | pixfmt->pixelformat = pixelformat; | |
418 | - pixfmt->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0]; | |
419 | + pixfmt->bytesperline = v4l2_format_plane_width(info, 0, width); | |
420 | pixfmt->sizeimage = 0; | |
421 | ||
422 | - for (i = 0; i < info->comp_planes; i++) { | |
423 | - unsigned int hdiv = (i == 0) ? 1 : info->hdiv; | |
424 | - unsigned int vdiv = (i == 0) ? 1 : info->vdiv; | |
425 | - unsigned int aligned_width; | |
426 | - unsigned int aligned_height; | |
427 | - | |
428 | - aligned_width = ALIGN(width, v4l2_format_block_width(info, i)); | |
429 | - aligned_height = ALIGN(height, v4l2_format_block_height(info, i)); | |
430 | - | |
431 | - pixfmt->sizeimage += info->bpp[i] * | |
432 | - DIV_ROUND_UP(aligned_width, hdiv) * | |
433 | - DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i]; | |
434 | - } | |
435 | + for (i = 0; i < info->comp_planes; i++) | |
436 | + pixfmt->sizeimage += | |
437 | + v4l2_format_plane_size(info, i, width, height); | |
438 | return 0; | |
439 | } | |
440 | EXPORT_SYMBOL_GPL(v4l2_fill_pixfmt); | |
441 | ||
442 | From patchwork Thu Jan 12 12:56:18 2023 | |
443 | Content-Type: text/plain; charset="utf-8" | |
444 | MIME-Version: 1.0 | |
445 | Content-Transfer-Encoding: 7bit | |
446 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
447 | X-Patchwork-Id: 13097952 | |
448 | Return-Path: <linux-media-owner@vger.kernel.org> | |
449 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
450 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
451 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
452 | by smtp.lore.kernel.org (Postfix) with ESMTP id 47A82C54EBD | |
453 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:03 +0000 (UTC) | |
454 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
455 | id S231743AbjALM5A (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
456 | Thu, 12 Jan 2023 07:57:00 -0500 | |
457 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43164 "EHLO | |
458 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
459 | with ESMTP id S231651AbjALM4k (ORCPT | |
460 | <rfc822;linux-media@vger.kernel.org>); | |
461 | Thu, 12 Jan 2023 07:56:40 -0500 | |
462 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
463 | [46.235.227.172]) | |
464 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E901B641D; | |
465 | Thu, 12 Jan 2023 04:56:39 -0800 (PST) | |
466 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
467 | [89.26.75.29]) | |
468 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
469 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
470 | server-digest SHA256) | |
471 | (No client certificate requested) | |
472 | (Authenticated sender: sebastianfricke) | |
473 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 9E63B6602DBA; | |
474 | Thu, 12 Jan 2023 12:56:38 +0000 (GMT) | |
475 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
476 | s=mail; t=1673528198; | |
477 | bh=8FFms7ZFvtbGRTeN4REh/YGhyU+oeFdqYWO/CK2KT8c=; | |
478 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
479 | b=hXDggCyHhkjfeIswJAT/y/OZ3Uv10V8Cte6Wd/pyHY8rOY6dr9GSn0wpvJqTPLhAn | |
480 | huVgJgPug9zwf6cZosazKC86t1j54jjlPgFuIsy+QRuqZT1+iPX9piPWAJMlNjqjuG | |
481 | OScE+wYlc6cVvt/TBZahO964vjW3VE37MbhQ94bfU0QB+iyniOOy6KJEcIgZxSjqQK | |
482 | fotcKNvAIDnTYGKuQZXOYWdvsbeIDsUTfJ2+wAx0S2d8E1/NX8hW0NhtfMSaHK0Ur2 | |
483 | Dao5hfPydn5QXY2ImcTCrAm24Q/K0DZKTPJECRS5W5DOD0MUySUoXpHHjb1QhUGGu/ | |
484 | qieM9+NzZLXQg== | |
485 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
486 | Date: Thu, 12 Jan 2023 13:56:18 +0100 | |
487 | Subject: [PATCH v2 03/12] staging: media: rkvdec: Helper for buffer queue busy | |
488 | check | |
489 | MIME-Version: 1.0 | |
490 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-3-fa1897efac14@collabora.com> | |
491 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
492 | In-Reply-To: | |
493 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
494 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
495 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
496 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
497 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
498 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
499 | Jonas Karlman <jonas@kwiboo.se>, | |
500 | Alex Bee <knaerzche@gmail.com>, | |
501 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
502 | Collabora Kernel-domain <kernel@collabora.com>, | |
503 | Robert Beckett <bob.beckett@collabora.com>, | |
504 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
505 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
506 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
507 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
508 | X-Mailer: b4 0.11.1 | |
509 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=2269; | |
510 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
511 | bh=8FFms7ZFvtbGRTeN4REh/YGhyU+oeFdqYWO/CK2KT8c=; | |
512 | b=ub/wDdTpC9jeMsoCSRmmqPKTVKH8soQUtOakduE6Kmcgt/JvOwM+tMckRDcgsVcmdLW9umjznn05 | |
513 | a7TSEWbUC2GDJJri/M43YYI86BB6vTZEyOuxzEaRrXkA+V76F2vz | |
514 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
515 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
516 | Precedence: bulk | |
517 | List-ID: <linux-media.vger.kernel.org> | |
518 | X-Mailing-List: linux-media@vger.kernel.org | |
519 | ||
520 | Implement a helper function, wrapping around getting a vb2 queue and | |
521 | checking whether it is busy, to reduce the amount of code duplication in | |
522 | the driver. | |
523 | ||
524 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
525 | --- | |
526 | drivers/staging/media/rkvdec/rkvdec.c | 21 ++++++++++++++------- | |
527 | 1 file changed, 14 insertions(+), 7 deletions(-) | |
528 | ||
529 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
530 | index 7bab7586918c..c849f6c20279 100644 | |
531 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
532 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
533 | @@ -27,6 +27,17 @@ | |
534 | #include "rkvdec.h" | |
535 | #include "rkvdec-regs.h" | |
536 | ||
537 | +static int rkvdec_queue_busy(struct rkvdec_ctx *ctx, enum v4l2_buf_type buf_type) | |
538 | +{ | |
539 | + struct vb2_queue *vq; | |
540 | + | |
541 | + vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, buf_type); | |
542 | + if (vb2_is_busy(vq)) | |
543 | + return -EBUSY; | |
544 | + else | |
545 | + return 0; | |
546 | +} | |
547 | + | |
548 | static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) | |
549 | { | |
550 | struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); | |
551 | @@ -311,13 +322,10 @@ static int rkvdec_s_capture_fmt(struct file *file, void *priv, | |
552 | struct v4l2_format *f) | |
553 | { | |
554 | struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv); | |
555 | - struct vb2_queue *vq; | |
556 | int ret; | |
557 | ||
558 | /* Change not allowed if queue is busy */ | |
559 | - vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, | |
560 | - V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); | |
561 | - if (vb2_is_busy(vq)) | |
562 | + if (rkvdec_queue_busy(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) != 0) | |
563 | return -EBUSY; | |
564 | ||
565 | ret = rkvdec_try_capture_fmt(file, priv, f); | |
566 | @@ -335,7 +343,7 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv, | |
567 | struct v4l2_m2m_ctx *m2m_ctx = ctx->fh.m2m_ctx; | |
568 | const struct rkvdec_coded_fmt_desc *desc; | |
569 | struct v4l2_format *cap_fmt; | |
570 | - struct vb2_queue *peer_vq, *vq; | |
571 | + struct vb2_queue *vq; | |
572 | int ret; | |
573 | ||
574 | /* | |
575 | @@ -354,8 +362,7 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv, | |
576 | * queue, we can't allow doing so when the CAPTURE queue has buffers | |
577 | * allocated. | |
578 | */ | |
579 | - peer_vq = v4l2_m2m_get_vq(m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); | |
580 | - if (vb2_is_busy(peer_vq)) | |
581 | + if (rkvdec_queue_busy(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) != 0) | |
582 | return -EBUSY; | |
583 | ||
584 | ret = rkvdec_try_output_fmt(file, priv, f); | |
585 | ||
586 | From patchwork Thu Jan 12 12:56:19 2023 | |
587 | Content-Type: text/plain; charset="utf-8" | |
588 | MIME-Version: 1.0 | |
589 | Content-Transfer-Encoding: 7bit | |
590 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
591 | X-Patchwork-Id: 13097956 | |
592 | Return-Path: <linux-media-owner@vger.kernel.org> | |
593 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
594 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
595 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
596 | by smtp.lore.kernel.org (Postfix) with ESMTP id 49C0FC54EBD | |
597 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:14 +0000 (UTC) | |
598 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
599 | id S231948AbjALM5K (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
600 | Thu, 12 Jan 2023 07:57:10 -0500 | |
601 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43276 "EHLO | |
602 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
603 | with ESMTP id S231728AbjALM4n (ORCPT | |
604 | <rfc822;linux-media@vger.kernel.org>); | |
605 | Thu, 12 Jan 2023 07:56:43 -0500 | |
606 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
607 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
608 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C51F24914A; | |
609 | Thu, 12 Jan 2023 04:56:42 -0800 (PST) | |
610 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
611 | [89.26.75.29]) | |
612 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
613 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
614 | server-digest SHA256) | |
615 | (No client certificate requested) | |
616 | (Authenticated sender: sebastianfricke) | |
617 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 830346602DB1; | |
618 | Thu, 12 Jan 2023 12:56:41 +0000 (GMT) | |
619 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
620 | s=mail; t=1673528201; | |
621 | bh=AVEg4DSMK0gqYca27eD54R157QB5YV2sWChYYaBFpmI=; | |
622 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
623 | b=LM1vgt+pOaabBAJ85FdbLo9wq5mUT0w0x5nAszJ37VGijYHKcIXfdOuoVfBt0gFKM | |
624 | 6V0TsNYP9Ceg5NVgCMb5s0IZWo5rZ1dbo1r5fvwCxpo0VEyHldVhngCZ0XpZuXi7cB | |
625 | aNfDgYu++punO6h4oxFkcZ7KjeWXaYxHFhfFxOuq9Le8mNU8nv04VPbmGJwPlU5+L9 | |
626 | H+xIH29P1Jx2f8ei32MK42TPAd34QOcwHrFPJGwMZzJFHYJ2kzjYxAbPEAb3fIUCjd | |
627 | 6xgX3fHo389Rsu+JdAl860N6hgqDWhXpo04SbF0lJbmDCfInbfMID2Zwd3C7+fJY9z | |
628 | H5eTXOOfjX8wQ== | |
629 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
630 | Date: Thu, 12 Jan 2023 13:56:19 +0100 | |
631 | Subject: [PATCH v2 04/12] staging: media: rkvdec: Block start streaming until | |
632 | both queues run | |
633 | MIME-Version: 1.0 | |
634 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-4-fa1897efac14@collabora.com> | |
635 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
636 | In-Reply-To: | |
637 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
638 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
639 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
640 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
641 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
642 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
643 | Jonas Karlman <jonas@kwiboo.se>, | |
644 | Alex Bee <knaerzche@gmail.com>, | |
645 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
646 | Collabora Kernel-domain <kernel@collabora.com>, | |
647 | Robert Beckett <bob.beckett@collabora.com>, | |
648 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
649 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
650 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
651 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
652 | X-Mailer: b4 0.11.1 | |
653 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=1025; | |
654 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
655 | bh=AVEg4DSMK0gqYca27eD54R157QB5YV2sWChYYaBFpmI=; | |
656 | b=4fInMsBgcT6jf30p/7TvMJW1s4sjmIUMu2MIX6uCwRuxM7iBhvTpC/00Nu4xtEZo2TrulpGwWaVw | |
657 | pfVDB17lDTsDfzQFYB1UAn0aetGnBIbCWNnkmQVCdoIqa/IR7mT0 | |
658 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
659 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
660 | Precedence: bulk | |
661 | List-ID: <linux-media.vger.kernel.org> | |
662 | X-Mailing-List: linux-media@vger.kernel.org | |
663 | ||
664 | Ensure that both the CAPTURE and the OUTPUT queue are running (e.g. busy | |
665 | -> have buffers allocated) before starting the actual streaming process. | |
666 | ||
667 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
668 | --- | |
669 | drivers/staging/media/rkvdec/rkvdec.c | 7 +++++++ | |
670 | 1 file changed, 7 insertions(+) | |
671 | ||
672 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
673 | index c849f6c20279..e0e95d06e216 100644 | |
674 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
675 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
676 | @@ -562,6 +562,13 @@ static int rkvdec_start_streaming(struct vb2_queue *q, unsigned int count) | |
677 | if (V4L2_TYPE_IS_CAPTURE(q->type)) | |
678 | return 0; | |
679 | ||
680 | + /* | |
681 | + * Make sure that both the output and the capture queue are running | |
682 | + */ | |
683 | + if (rkvdec_queue_busy(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) == 0 || | |
684 | + rkvdec_queue_busy(ctx, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) == 0) | |
685 | + return -EAGAIN; | |
686 | + | |
687 | desc = ctx->coded_fmt_desc; | |
688 | if (WARN_ON(!desc)) | |
689 | return -EINVAL; | |
690 | ||
691 | From patchwork Thu Jan 12 12:56:20 2023 | |
692 | Content-Type: text/plain; charset="utf-8" | |
693 | MIME-Version: 1.0 | |
694 | Content-Transfer-Encoding: 7bit | |
695 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
696 | X-Patchwork-Id: 13097955 | |
697 | Return-Path: <linux-media-owner@vger.kernel.org> | |
698 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
699 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
700 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
701 | by smtp.lore.kernel.org (Postfix) with ESMTP id AC9EFC54EBD | |
702 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:10 +0000 (UTC) | |
703 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
704 | id S232111AbjALM5I (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
705 | Thu, 12 Jan 2023 07:57:08 -0500 | |
706 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42906 "EHLO | |
707 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
708 | with ESMTP id S231582AbjALM4q (ORCPT | |
709 | <rfc822;linux-media@vger.kernel.org>); | |
710 | Thu, 12 Jan 2023 07:56:46 -0500 | |
711 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
712 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
713 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13DAADEC9; | |
714 | Thu, 12 Jan 2023 04:56:46 -0800 (PST) | |
715 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
716 | [89.26.75.29]) | |
717 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
718 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
719 | server-digest SHA256) | |
720 | (No client certificate requested) | |
721 | (Authenticated sender: sebastianfricke) | |
722 | by madras.collabora.co.uk (Postfix) with ESMTPSA id BF6A36602DBB; | |
723 | Thu, 12 Jan 2023 12:56:44 +0000 (GMT) | |
724 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
725 | s=mail; t=1673528204; | |
726 | bh=GtQZT2nN8QVz9LN/mUHoZT/CUo6gIVaMFXE6EeZP8+w=; | |
727 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
728 | b=f3+wXOfId313ZjMh/uj5YyArXZ6QYSDBTl+YVjkRP7vNA+aP9XlSN7x31pOqpO/i0 | |
729 | U3XO5+2Qtclgr/r+hSRfU/AN+LfDrxKmTKLaRJuIt2EUryjNtbN9xgdsOhK7h445kP | |
730 | 9FvsvDF8lu94aevG1t2G5NA3coRX2H2u8epSH5srfqlProjYdCGS9eNDwMT2iSdB9l | |
731 | 1BJQVrrxC3m+tqhcXg5cESXNUPLHcm/3LfdAyEYwt3VxQXOv7lH85o7SeNe7WSrkmm | |
732 | MCLS5aMFnELvLxFYZq+jkhufKL3Ahp0BsIi7a8uSaCkF3/IrYc/t70/+3uFD2ZFm3S | |
733 | qwQKrW4BVuUHA== | |
734 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
735 | Date: Thu, 12 Jan 2023 13:56:20 +0100 | |
736 | Subject: [PATCH v2 05/12] staging: media: rkvdec: Add SPS structure to | |
737 | internal context | |
738 | MIME-Version: 1.0 | |
739 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-5-fa1897efac14@collabora.com> | |
740 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
741 | In-Reply-To: | |
742 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
743 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
744 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
745 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
746 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
747 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
748 | Jonas Karlman <jonas@kwiboo.se>, | |
749 | Alex Bee <knaerzche@gmail.com>, | |
750 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
751 | Collabora Kernel-domain <kernel@collabora.com>, | |
752 | Robert Beckett <bob.beckett@collabora.com>, | |
753 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
754 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
755 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
756 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
757 | X-Mailer: b4 0.11.1 | |
758 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=801; | |
759 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
760 | bh=GtQZT2nN8QVz9LN/mUHoZT/CUo6gIVaMFXE6EeZP8+w=; | |
761 | b=OjC0Py2sReXxL+AYZYLXHyPGdbsOwyx+uqaYl4Y1kEeTAbxmGZkntvZnq3XKEtOeM85QWw+Ztya4 | |
762 | wmZhOV/OBs/BI5WNTao0NajI7uAMZXp/pcpslmQlBD+AoRw3Kxzc | |
763 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
764 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
765 | Precedence: bulk | |
766 | List-ID: <linux-media.vger.kernel.org> | |
767 | X-Mailing-List: linux-media@vger.kernel.org | |
768 | ||
769 | Prepare storing the SPS structure for HEVC & H264 in the internal | |
770 | context of the rkvdec instance. This structure is used to figure out | |
771 | which capture queue format is appropriate for decoding. | |
772 | ||
773 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
774 | --- | |
775 | drivers/staging/media/rkvdec/rkvdec.h | 1 + | |
776 | 1 file changed, 1 insertion(+) | |
777 | ||
778 | diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h | |
779 | index 633335ebb9c4..332126e7b812 100644 | |
780 | --- a/drivers/staging/media/rkvdec/rkvdec.h | |
781 | +++ b/drivers/staging/media/rkvdec/rkvdec.h | |
782 | @@ -105,6 +105,7 @@ struct rkvdec_ctx { | |
783 | struct v4l2_ctrl_handler ctrl_hdl; | |
784 | struct rkvdec_dev *dev; | |
785 | void *priv; | |
786 | + void *sps; | |
787 | }; | |
788 | ||
789 | static inline struct rkvdec_ctx *fh_to_rkvdec_ctx(struct v4l2_fh *fh) | |
790 | ||
791 | From patchwork Thu Jan 12 12:56:21 2023 | |
792 | Content-Type: text/plain; charset="utf-8" | |
793 | MIME-Version: 1.0 | |
794 | Content-Transfer-Encoding: 7bit | |
795 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
796 | X-Patchwork-Id: 13097954 | |
797 | Return-Path: <linux-media-owner@vger.kernel.org> | |
798 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
799 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
800 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
801 | by smtp.lore.kernel.org (Postfix) with ESMTP id 4CD68C54EBD | |
802 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:08 +0000 (UTC) | |
803 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
804 | id S231660AbjALM5G (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
805 | Thu, 12 Jan 2023 07:57:06 -0500 | |
806 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43318 "EHLO | |
807 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
808 | with ESMTP id S231679AbjALM4v (ORCPT | |
809 | <rfc822;linux-media@vger.kernel.org>); | |
810 | Thu, 12 Jan 2023 07:56:51 -0500 | |
811 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
812 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
813 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10D2939F81; | |
814 | Thu, 12 Jan 2023 04:56:49 -0800 (PST) | |
815 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
816 | [89.26.75.29]) | |
817 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
818 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
819 | server-digest SHA256) | |
820 | (No client certificate requested) | |
821 | (Authenticated sender: sebastianfricke) | |
822 | by madras.collabora.co.uk (Postfix) with ESMTPSA id BA61F6602DB1; | |
823 | Thu, 12 Jan 2023 12:56:47 +0000 (GMT) | |
824 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
825 | s=mail; t=1673528207; | |
826 | bh=Da6QtFYOuId0q8spuTSgR9gP0GfvHSM7GfQl76avmIU=; | |
827 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
828 | b=dHzAuxLpAj79iY9LVET5QkBL9VPhVA1ioJQwPn2iFXHU4fDdFn9jzLrSF87VecJ2y | |
829 | 1g4/d6x53E0SC3CNDg90z3NYtWNIMSmbDKQL9hU958IXnDuafam/WNGpmJbUwSYfrB | |
830 | 7XAEnIX34wDmWKijisW8hShchRspOnId3nGqxD0wNFptvHvdLBIZ2hP5HxLP0mbtsB | |
831 | 8vfs4fP10dIJERtoHYCSiY6fm95Y2n60qeW6NRfZAfazo04rhOlRNAw44VAk+2TSC5 | |
832 | Y/yrD0dScreg28gKD8HaSfR1/oASNvZ/pY/7vp1xqbDHuvtoJq1cHwigZI9Im2CVlN | |
833 | e0Za9curbjdng== | |
834 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
835 | Date: Thu, 12 Jan 2023 13:56:21 +0100 | |
836 | Subject: [PATCH v2 06/12] staging: media: rkvdec: Add a valid pixel format | |
837 | check as callback | |
838 | MIME-Version: 1.0 | |
839 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-6-fa1897efac14@collabora.com> | |
840 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
841 | In-Reply-To: | |
842 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
843 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
844 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
845 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
846 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
847 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
848 | Jonas Karlman <jonas@kwiboo.se>, | |
849 | Alex Bee <knaerzche@gmail.com>, | |
850 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
851 | Collabora Kernel-domain <kernel@collabora.com>, | |
852 | Robert Beckett <bob.beckett@collabora.com>, | |
853 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
854 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
855 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
856 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
857 | X-Mailer: b4 0.11.1 | |
858 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=3923; | |
859 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
860 | bh=Da6QtFYOuId0q8spuTSgR9gP0GfvHSM7GfQl76avmIU=; | |
861 | b=Ei9OhrN5lMhBxVdjk4LBAl2cBQ2833Mt1irFmo2edGvikdXUqvhqqNyW0wxQ84YZ9drS3FRc9gZs | |
862 | 0Ef1O9TjAyFyFdBeAO/IeTnNjUYTD+y6bGpxE1du+FdS0vTDEOur | |
863 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
864 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
865 | Precedence: bulk | |
866 | List-ID: <linux-media.vger.kernel.org> | |
867 | X-Mailing-List: linux-media@vger.kernel.org | |
868 | ||
869 | Provide a callback for codec variant drivers to indicate the correct | |
870 | output pixel-format. It will either utilize the SPS structure stored via | |
871 | the S_CTRL IOCTL or return the default pixel-format. | |
872 | ||
873 | Signed-off-by: Jonas Karlman <jonas@kwiboo.se> | |
874 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
875 | --- | |
876 | drivers/staging/media/rkvdec/rkvdec.c | 45 +++++++++++++++++++++++++++++------ | |
877 | drivers/staging/media/rkvdec/rkvdec.h | 1 + | |
878 | 2 files changed, 39 insertions(+), 7 deletions(-) | |
879 | ||
880 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
881 | index e0e95d06e216..a46f918926a2 100644 | |
882 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
883 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
884 | @@ -38,6 +38,20 @@ static int rkvdec_queue_busy(struct rkvdec_ctx *ctx, enum v4l2_buf_type buf_type | |
885 | return 0; | |
886 | } | |
887 | ||
888 | +/* | |
889 | + * Use the current SPS, set by the user via the VIDIOC_S_CTRL IOCTL, | |
890 | + * to determine the optimal pixel-format. Each codec is responsible | |
891 | + * for choosing the appropriate pixel-format for a given parameter set. | |
892 | + */ | |
893 | +static int rkvdec_get_valid_fmt(struct rkvdec_ctx *ctx) | |
894 | +{ | |
895 | + const struct rkvdec_coded_fmt_desc *coded_desc = ctx->coded_fmt_desc; | |
896 | + | |
897 | + if (coded_desc->ops->valid_fmt) | |
898 | + return coded_desc->ops->valid_fmt(ctx); | |
899 | + return ctx->coded_fmt_desc->decoded_fmts[0]; | |
900 | +} | |
901 | + | |
902 | static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) | |
903 | { | |
904 | struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); | |
905 | @@ -200,8 +214,9 @@ static void rkvdec_reset_coded_fmt(struct rkvdec_ctx *ctx) | |
906 | static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx) | |
907 | { | |
908 | struct v4l2_format *f = &ctx->decoded_fmt; | |
909 | + u32 valid_fmt = rkvdec_get_valid_fmt(ctx); | |
910 | ||
911 | - rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]); | |
912 | + rkvdec_reset_fmt(ctx, f, valid_fmt); | |
913 | f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; | |
914 | v4l2_fill_pixfmt_mp(&f->fmt.pix_mp, | |
915 | ctx->coded_fmt_desc->decoded_fmts[0], | |
916 | @@ -260,13 +275,17 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv, | |
917 | if (WARN_ON(!coded_desc)) | |
918 | return -EINVAL; | |
919 | ||
920 | - for (i = 0; i < coded_desc->num_decoded_fmts; i++) { | |
921 | - if (coded_desc->decoded_fmts[i] == pix_mp->pixelformat) | |
922 | - break; | |
923 | - } | |
924 | + if (ctx->sps) { | |
925 | + pix_mp->pixelformat = rkvdec_get_valid_fmt(ctx); | |
926 | + } else { | |
927 | + for (i = 0; i < coded_desc->num_decoded_fmts; i++) { | |
928 | + if (coded_desc->decoded_fmts[i] == pix_mp->pixelformat) | |
929 | + break; | |
930 | + } | |
931 | ||
932 | - if (i == coded_desc->num_decoded_fmts) | |
933 | - pix_mp->pixelformat = coded_desc->decoded_fmts[0]; | |
934 | + if (i == coded_desc->num_decoded_fmts) | |
935 | + pix_mp->pixelformat = coded_desc->decoded_fmts[0]; | |
936 | + } | |
937 | ||
938 | /* Always apply the frmsize constraint of the coded end. */ | |
939 | pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width); | |
940 | @@ -435,6 +454,18 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv, | |
941 | if (WARN_ON(!ctx->coded_fmt_desc)) | |
942 | return -EINVAL; | |
943 | ||
944 | + /* | |
945 | + * According to the specification the driver can only return formats | |
946 | + * that are supported by both the current encoded format and the | |
947 | + * provided controls | |
948 | + */ | |
949 | + if (ctx->sps) { | |
950 | + if (f->index) | |
951 | + return -EINVAL; | |
952 | + f->pixelformat = rkvdec_get_valid_fmt(ctx); | |
953 | + return 0; | |
954 | + } | |
955 | + | |
956 | if (f->index >= ctx->coded_fmt_desc->num_decoded_fmts) | |
957 | return -EINVAL; | |
958 | ||
959 | diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h | |
960 | index 332126e7b812..e353a4403e5b 100644 | |
961 | --- a/drivers/staging/media/rkvdec/rkvdec.h | |
962 | +++ b/drivers/staging/media/rkvdec/rkvdec.h | |
963 | @@ -66,6 +66,7 @@ vb2_to_rkvdec_decoded_buf(struct vb2_buffer *buf) | |
964 | struct rkvdec_coded_fmt_ops { | |
965 | int (*adjust_fmt)(struct rkvdec_ctx *ctx, | |
966 | struct v4l2_format *f); | |
967 | + u32 (*valid_fmt)(struct rkvdec_ctx *ctx); | |
968 | int (*start)(struct rkvdec_ctx *ctx); | |
969 | void (*stop)(struct rkvdec_ctx *ctx); | |
970 | int (*run)(struct rkvdec_ctx *ctx); | |
971 | ||
972 | From patchwork Thu Jan 12 12:56:22 2023 | |
973 | Content-Type: text/plain; charset="utf-8" | |
974 | MIME-Version: 1.0 | |
975 | Content-Transfer-Encoding: 7bit | |
976 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
977 | X-Patchwork-Id: 13097953 | |
978 | Return-Path: <linux-media-owner@vger.kernel.org> | |
979 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
980 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
981 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
982 | by smtp.lore.kernel.org (Postfix) with ESMTP id 2108CC54EBD | |
983 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:06 +0000 (UTC) | |
984 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
985 | id S232083AbjALM5C (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
986 | Thu, 12 Jan 2023 07:57:02 -0500 | |
987 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42858 "EHLO | |
988 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
989 | with ESMTP id S231761AbjALM4x (ORCPT | |
990 | <rfc822;linux-media@vger.kernel.org>); | |
991 | Thu, 12 Jan 2023 07:56:53 -0500 | |
992 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
993 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
994 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7421050E41; | |
995 | Thu, 12 Jan 2023 04:56:52 -0800 (PST) | |
996 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
997 | [89.26.75.29]) | |
998 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
999 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1000 | server-digest SHA256) | |
1001 | (No client certificate requested) | |
1002 | (Authenticated sender: sebastianfricke) | |
1003 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 2CAEF6602DB9; | |
1004 | Thu, 12 Jan 2023 12:56:51 +0000 (GMT) | |
1005 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1006 | s=mail; t=1673528211; | |
1007 | bh=L7yUo+Zy/WcujWFgTjyCDy8xs7O/0zxdTxZIPyBpgSk=; | |
1008 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1009 | b=P22F8isb/92Gjf4AENjAKMgGWDmFwC0qIFR7iMIgoD9bBf9rFm664WPACZSLAr8E2 | |
1010 | qfajrA7qgYi5RoMLhupOs4cAP6zWL05znXgyChFWLKpziSUCzxy+2hrjfXNN7dXHWa | |
1011 | 0zHFrQsP6FZvz+0ew0u+No52ksa3xqB8VjYR74M0OaS8qN0CRB7YojDQSo6ZoAJGtr | |
1012 | EjQL9xHzvjcnsFjrFiMR93+H8rstCGkRnMCshoJu05db/zuBOPM9wqLLatm//9x0TE | |
1013 | jcl1H3/M/lAi6hMVNz6qQI+rELbEZeur5dMwA2IIuaY/+ydg2CE91YAxI1jb1XVVY/ | |
1014 | wI3oUA0Z1tQ7A== | |
1015 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1016 | Date: Thu, 12 Jan 2023 13:56:22 +0100 | |
1017 | Subject: [PATCH v2 07/12] staging: media: rkvdec: Add a routine to fetch SPS | |
1018 | attributes as a callback | |
1019 | MIME-Version: 1.0 | |
1020 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-7-fa1897efac14@collabora.com> | |
1021 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1022 | In-Reply-To: | |
1023 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1024 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1025 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1026 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1027 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1028 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1029 | Jonas Karlman <jonas@kwiboo.se>, | |
1030 | Alex Bee <knaerzche@gmail.com>, | |
1031 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1032 | Collabora Kernel-domain <kernel@collabora.com>, | |
1033 | Robert Beckett <bob.beckett@collabora.com>, | |
1034 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1035 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1036 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1037 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1038 | X-Mailer: b4 0.11.1 | |
1039 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=2158; | |
1040 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1041 | bh=L7yUo+Zy/WcujWFgTjyCDy8xs7O/0zxdTxZIPyBpgSk=; | |
1042 | b=BQBpXVr9E3Fn2xXJWy5utkd9tAkwvp5ZmvKorxmvoteBpq2FSBbzIP1smBJqXM3OVtIox4UT7+qw | |
1043 | qNzHyG+6AZYM2KNQS3zMp/Hpk0VCVIgsydDjavwdm+2IKSiWNpT1 | |
1044 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1045 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1046 | Precedence: bulk | |
1047 | List-ID: <linux-media.vger.kernel.org> | |
1048 | X-Mailing-List: linux-media@vger.kernel.org | |
1049 | ||
1050 | Add a callback for each codec variant, that fetches basic information | |
1051 | like resolution, bit-depth and sub-sampling from a SPS structure. This | |
1052 | data is used to verify whether a new SPS structure is valid. | |
1053 | ||
1054 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1055 | --- | |
1056 | drivers/staging/media/rkvdec/rkvdec.c | 10 ++++++++++ | |
1057 | drivers/staging/media/rkvdec/rkvdec.h | 10 ++++++++++ | |
1058 | 2 files changed, 20 insertions(+) | |
1059 | ||
1060 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
1061 | index a46f918926a2..e8c750a7343a 100644 | |
1062 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
1063 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
1064 | @@ -52,6 +52,16 @@ static int rkvdec_get_valid_fmt(struct rkvdec_ctx *ctx) | |
1065 | return ctx->coded_fmt_desc->decoded_fmts[0]; | |
1066 | } | |
1067 | ||
1068 | +static int rkvdec_get_sps_attributes(struct rkvdec_ctx *ctx, void *sps, | |
1069 | + struct sps_attributes *attributes) | |
1070 | +{ | |
1071 | + const struct rkvdec_coded_fmt_desc *coded_desc = ctx->coded_fmt_desc; | |
1072 | + | |
1073 | + if (coded_desc->ops->get_sps_attributes) | |
1074 | + return coded_desc->ops->get_sps_attributes(ctx, sps, attributes); | |
1075 | + return 0; | |
1076 | +} | |
1077 | + | |
1078 | static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) | |
1079 | { | |
1080 | struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); | |
1081 | diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h | |
1082 | index e353a4403e5b..7b6702c360fd 100644 | |
1083 | --- a/drivers/staging/media/rkvdec/rkvdec.h | |
1084 | +++ b/drivers/staging/media/rkvdec/rkvdec.h | |
1085 | @@ -63,10 +63,20 @@ vb2_to_rkvdec_decoded_buf(struct vb2_buffer *buf) | |
1086 | base.vb.vb2_buf); | |
1087 | } | |
1088 | ||
1089 | +struct sps_attributes { | |
1090 | + unsigned int width; | |
1091 | + unsigned int height; | |
1092 | + unsigned int luma_bitdepth; | |
1093 | + unsigned int chroma_bitdepth; | |
1094 | + unsigned int subsampling; | |
1095 | +}; | |
1096 | + | |
1097 | struct rkvdec_coded_fmt_ops { | |
1098 | int (*adjust_fmt)(struct rkvdec_ctx *ctx, | |
1099 | struct v4l2_format *f); | |
1100 | u32 (*valid_fmt)(struct rkvdec_ctx *ctx); | |
1101 | + int (*get_sps_attributes)(struct rkvdec_ctx *ctx, void *sps, | |
1102 | + struct sps_attributes *attributes); | |
1103 | int (*start)(struct rkvdec_ctx *ctx); | |
1104 | void (*stop)(struct rkvdec_ctx *ctx); | |
1105 | int (*run)(struct rkvdec_ctx *ctx); | |
1106 | ||
1107 | From patchwork Thu Jan 12 12:56:23 2023 | |
1108 | Content-Type: text/plain; charset="utf-8" | |
1109 | MIME-Version: 1.0 | |
1110 | Content-Transfer-Encoding: 7bit | |
1111 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1112 | X-Patchwork-Id: 13097958 | |
1113 | Return-Path: <linux-media-owner@vger.kernel.org> | |
1114 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
1115 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
1116 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
1117 | by smtp.lore.kernel.org (Postfix) with ESMTP id 941CFC54EBC | |
1118 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:19 +0000 (UTC) | |
1119 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
1120 | id S232241AbjALM5Q (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
1121 | Thu, 12 Jan 2023 07:57:16 -0500 | |
1122 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42866 "EHLO | |
1123 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
1124 | with ESMTP id S231946AbjALM44 (ORCPT | |
1125 | <rfc822;linux-media@vger.kernel.org>); | |
1126 | Thu, 12 Jan 2023 07:56:56 -0500 | |
1127 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
1128 | [46.235.227.172]) | |
1129 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5C097661; | |
1130 | Thu, 12 Jan 2023 04:56:55 -0800 (PST) | |
1131 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
1132 | [89.26.75.29]) | |
1133 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
1134 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1135 | server-digest SHA256) | |
1136 | (No client certificate requested) | |
1137 | (Authenticated sender: sebastianfricke) | |
1138 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 71D096602DB1; | |
1139 | Thu, 12 Jan 2023 12:56:54 +0000 (GMT) | |
1140 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1141 | s=mail; t=1673528214; | |
1142 | bh=NR4NgmAwqSKt432W3wHLkNsbDlb7Ku6yU6hoKm5PFhw=; | |
1143 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1144 | b=iFWWVGd0PM+MpyqfisZJ8ZATeRpN9ueRYPloz+zab6riogtw9/H/jMvGclFgaXL27 | |
1145 | Iecy/xV1AUO4NhXd2HknaBrbA0KNS+e4fS8zCri1Gh8xW2Nod13mZ+LxeV5n8F5yjc | |
1146 | +cURbe6rY59CdaVeW9cYcNKzo9bRGgp7M0wXHO+aM/vRP9rOQbnS+mBCiM8vilslz/ | |
1147 | G93/nO79P39GLfJEMTbEWrRV42SsXRH753uhUx1YgS5OC67wi014XyGjHPU2+rin1H | |
1148 | 7X5xq9KghhFbMBukRC+/7069InJwB7ymRkR6URNI299eTDzRWoAjRSU5t8Ca41MoFF | |
1149 | wfWWZlcj7oERg== | |
1150 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1151 | Date: Thu, 12 Jan 2023 13:56:23 +0100 | |
1152 | Subject: [PATCH v2 08/12] staging: media: rkvdec: Add a valid SPS check as a | |
1153 | callback | |
1154 | MIME-Version: 1.0 | |
1155 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-8-fa1897efac14@collabora.com> | |
1156 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1157 | In-Reply-To: | |
1158 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1159 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1160 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1161 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1162 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1163 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1164 | Jonas Karlman <jonas@kwiboo.se>, | |
1165 | Alex Bee <knaerzche@gmail.com>, | |
1166 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1167 | Collabora Kernel-domain <kernel@collabora.com>, | |
1168 | Robert Beckett <bob.beckett@collabora.com>, | |
1169 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1170 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1171 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1172 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1173 | X-Mailer: b4 0.11.1 | |
1174 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=3157; | |
1175 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1176 | bh=NR4NgmAwqSKt432W3wHLkNsbDlb7Ku6yU6hoKm5PFhw=; | |
1177 | b=IQDkaNXJm1EiGyDmWoVKY4f+RD7CQ6A9pSeRltErtvX0pqcjW0RWXs2BZkhZonGnlhJ66v4IbQHv | |
1178 | T3KBCKDWAP+0YbahHXPuYtABeVBdfI70Rp3wIpLpoKQRRGG5TI/Z | |
1179 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1180 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1181 | Precedence: bulk | |
1182 | List-ID: <linux-media.vger.kernel.org> | |
1183 | X-Mailing-List: linux-media@vger.kernel.org | |
1184 | ||
1185 | Add a callback for each codec variant, that ensures that a given format | |
1186 | is compatible with the SPS that is stored in the context of the | |
1187 | instance. | |
1188 | This is used for two scenarios: | |
1189 | - New output queue format is set, which is incompatible with the | |
1190 | currently stored SPS | |
1191 | - Start streaming is called but the SPS doesn't match the current format | |
1192 | anymore | |
1193 | ||
1194 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1195 | --- | |
1196 | drivers/staging/media/rkvdec/rkvdec.c | 35 +++++++++++++++++++++++++++++++++++ | |
1197 | drivers/staging/media/rkvdec/rkvdec.h | 1 + | |
1198 | 2 files changed, 36 insertions(+) | |
1199 | ||
1200 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
1201 | index e8c750a7343a..8d948bcc4e46 100644 | |
1202 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
1203 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
1204 | @@ -52,6 +52,26 @@ static int rkvdec_get_valid_fmt(struct rkvdec_ctx *ctx) | |
1205 | return ctx->coded_fmt_desc->decoded_fmts[0]; | |
1206 | } | |
1207 | ||
1208 | +static int rkvdec_sps_check(struct rkvdec_ctx *ctx, struct v4l2_pix_format_mplane *pix_mp) | |
1209 | +{ | |
1210 | + const struct rkvdec_coded_fmt_desc *coded_desc = ctx->coded_fmt_desc; | |
1211 | + | |
1212 | + /* | |
1213 | + * When a codec doesn't implement the SPS check, handle it as if no | |
1214 | + * SPS exists for the codec. | |
1215 | + */ | |
1216 | + if (coded_desc->ops->sps_check) { | |
1217 | + if (!ctx->sps) | |
1218 | + return -EINVAL; | |
1219 | + | |
1220 | + if (!pix_mp) | |
1221 | + pix_mp = &ctx->decoded_fmt.fmt.pix_mp; | |
1222 | + return coded_desc->ops->sps_check(ctx, ctx->sps, pix_mp); | |
1223 | + } | |
1224 | + | |
1225 | + return 0; | |
1226 | +} | |
1227 | + | |
1228 | static int rkvdec_get_sps_attributes(struct rkvdec_ctx *ctx, void *sps, | |
1229 | struct sps_attributes *attributes) | |
1230 | { | |
1231 | @@ -375,6 +395,13 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv, | |
1232 | struct vb2_queue *vq; | |
1233 | int ret; | |
1234 | ||
1235 | + /* | |
1236 | + * When the new output format doesn't match the existing SPS stored in | |
1237 | + * the context, then the SPS needs to be reset by user-space. | |
1238 | + */ | |
1239 | + if (rkvdec_sps_check(ctx, &f->fmt.pix_mp) < 0) | |
1240 | + ctx->sps = NULL; | |
1241 | + | |
1242 | /* | |
1243 | * In order to support dynamic resolution change, the decoder admits | |
1244 | * a resolution change, as long as the pixelformat remains. Can't be | |
1245 | @@ -603,6 +630,14 @@ static int rkvdec_start_streaming(struct vb2_queue *q, unsigned int count) | |
1246 | if (V4L2_TYPE_IS_CAPTURE(q->type)) | |
1247 | return 0; | |
1248 | ||
1249 | + /* | |
1250 | + * An incompatible SPS at this point is invalid, abort the process. | |
1251 | + */ | |
1252 | + if (rkvdec_sps_check(ctx, NULL) < 0) { | |
1253 | + ctx->sps = NULL; | |
1254 | + return -EINVAL; | |
1255 | + } | |
1256 | + | |
1257 | /* | |
1258 | * Make sure that both the output and the capture queue are running | |
1259 | */ | |
1260 | diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h | |
1261 | index 7b6702c360fd..d74821f9fd0b 100644 | |
1262 | --- a/drivers/staging/media/rkvdec/rkvdec.h | |
1263 | +++ b/drivers/staging/media/rkvdec/rkvdec.h | |
1264 | @@ -75,6 +75,7 @@ struct rkvdec_coded_fmt_ops { | |
1265 | int (*adjust_fmt)(struct rkvdec_ctx *ctx, | |
1266 | struct v4l2_format *f); | |
1267 | u32 (*valid_fmt)(struct rkvdec_ctx *ctx); | |
1268 | + int (*sps_check)(struct rkvdec_ctx *ctx, void *sps, struct v4l2_pix_format_mplane *pix_mp); | |
1269 | int (*get_sps_attributes)(struct rkvdec_ctx *ctx, void *sps, | |
1270 | struct sps_attributes *attributes); | |
1271 | int (*start)(struct rkvdec_ctx *ctx); | |
1272 | ||
1273 | From patchwork Thu Jan 12 12:56:24 2023 | |
1274 | Content-Type: text/plain; charset="utf-8" | |
1275 | MIME-Version: 1.0 | |
1276 | Content-Transfer-Encoding: 7bit | |
1277 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1278 | X-Patchwork-Id: 13097957 | |
1279 | Return-Path: <linux-media-owner@vger.kernel.org> | |
1280 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
1281 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
1282 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
1283 | by smtp.lore.kernel.org (Postfix) with ESMTP id D28FAC54EBC | |
1284 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:16 +0000 (UTC) | |
1285 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
1286 | id S232195AbjALM5O (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
1287 | Thu, 12 Jan 2023 07:57:14 -0500 | |
1288 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43136 "EHLO | |
1289 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
1290 | with ESMTP id S231934AbjALM5A (ORCPT | |
1291 | <rfc822;linux-media@vger.kernel.org>); | |
1292 | Thu, 12 Jan 2023 07:57:00 -0500 | |
1293 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
1294 | [46.235.227.172]) | |
1295 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF9C638BC; | |
1296 | Thu, 12 Jan 2023 04:56:58 -0800 (PST) | |
1297 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
1298 | [89.26.75.29]) | |
1299 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
1300 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1301 | server-digest SHA256) | |
1302 | (No client certificate requested) | |
1303 | (Authenticated sender: sebastianfricke) | |
1304 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 7A1636602DBA; | |
1305 | Thu, 12 Jan 2023 12:56:57 +0000 (GMT) | |
1306 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1307 | s=mail; t=1673528217; | |
1308 | bh=19U+A00eX7GomcVZ4hwuwzX1XI4Jf/K9mYqNNP1Mc6c=; | |
1309 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1310 | b=d7S8hzbl9CZf9tINvxTrwAjOPyZGpYeDkOqtO15LV6A+mhlACIc8cO4x/l0QhLMDV | |
1311 | RKtUTsC7nqNRAguPa6HrSTppiAP+1MA8FDk9ZHJ6IeS3YiPDk9+Z0RHqgXca364iyY | |
1312 | kPl9M+S+OxTFPmU58ZejKKYo/UXx+XjYE7gInFp8dzFpr6PjgyppTspRMHeBo6B0vR | |
1313 | wGh0SrbnkraovnN/1QBadr3FDZT4PVFJePnsNXM/Ey47S0Kgc8cBk0q4HU3KAmJ+AT | |
1314 | CSQoFV/3kRVQDouTMqx+p/j/egX/DTbgfWmQixUEaho3i+DQosC1e3d9d3RjYAvhRy | |
1315 | txFyOGKwsixbA== | |
1316 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1317 | Date: Thu, 12 Jan 2023 13:56:24 +0100 | |
1318 | Subject: [PATCH v2 09/12] staging: media: rkvdec: h264: Add callbacks for h264 | |
1319 | MIME-Version: 1.0 | |
1320 | Message-Id: <20230101-patch-series-v2-6-2-rc1-v2-9-fa1897efac14@collabora.com> | |
1321 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1322 | In-Reply-To: | |
1323 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1324 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1325 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1326 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1327 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1328 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1329 | Jonas Karlman <jonas@kwiboo.se>, | |
1330 | Alex Bee <knaerzche@gmail.com>, | |
1331 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1332 | Collabora Kernel-domain <kernel@collabora.com>, | |
1333 | Robert Beckett <bob.beckett@collabora.com>, | |
1334 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1335 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1336 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1337 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1338 | X-Mailer: b4 0.11.1 | |
1339 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=5576; | |
1340 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1341 | bh=19U+A00eX7GomcVZ4hwuwzX1XI4Jf/K9mYqNNP1Mc6c=; | |
1342 | b=q/7dHZEZC7Om5sfZ593nhkIVNVGwUmKnKRnaq5y/97IVmaJeS8raTGDHwcL5TyDW1rqoym9zCAKB | |
1343 | cUypHMjIB7YqWAGX5s3xun+/JDEUBTd5vaUDxzWqeURvM7C16Agw | |
1344 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1345 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1346 | Precedence: bulk | |
1347 | List-ID: <linux-media.vger.kernel.org> | |
1348 | X-Mailing-List: linux-media@vger.kernel.org | |
1349 | ||
1350 | Implement the valid format and sps validation callbacks for H264. | |
1351 | H264 already has a SPS validation function, adjust it to fit the | |
1352 | function the declaration and add error messages. | |
1353 | Additionally, add a function to fetch attributes from the SPS in a human | |
1354 | readable format to make the code more self documenting. | |
1355 | ||
1356 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1357 | --- | |
1358 | drivers/staging/media/rkvdec/rkvdec-h264.c | 105 ++++++++++++++++++++++------- | |
1359 | 1 file changed, 80 insertions(+), 25 deletions(-) | |
1360 | ||
1361 | diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c | |
1362 | index 4fc167b42cf0..17b215874ddd 100644 | |
1363 | --- a/drivers/staging/media/rkvdec/rkvdec-h264.c | |
1364 | +++ b/drivers/staging/media/rkvdec/rkvdec-h264.c | |
1365 | @@ -1026,40 +1026,80 @@ static int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx, | |
1366 | return 0; | |
1367 | } | |
1368 | ||
1369 | -static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, | |
1370 | - const struct v4l2_ctrl_h264_sps *sps) | |
1371 | +/* | |
1372 | + * Convert some fields from the SPS structure into human readable attributes. | |
1373 | + */ | |
1374 | +static int rkvdec_h264_get_sps_attributes(struct rkvdec_ctx *ctx, void *sps, | |
1375 | + struct sps_attributes *attributes) | |
1376 | +{ | |
1377 | + struct v4l2_ctrl_h264_sps *h264_sps = sps; | |
1378 | + unsigned int width = (h264_sps->pic_width_in_mbs_minus1 + 1) * 16; | |
1379 | + unsigned int height = (h264_sps->pic_height_in_map_units_minus1 + 1) * 16; | |
1380 | + /* | |
1381 | + * When frame_mbs_only_flag is not set, this is field height, | |
1382 | + * which is half the final height (see (7-18) in the | |
1383 | + * specification) | |
1384 | + */ | |
1385 | + if (!(h264_sps->flags & V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY)) | |
1386 | + height *= 2; | |
1387 | + | |
1388 | + attributes->width = width; | |
1389 | + attributes->height = height; | |
1390 | + attributes->luma_bitdepth = h264_sps->bit_depth_luma_minus8 + 8; | |
1391 | + attributes->chroma_bitdepth = h264_sps->bit_depth_chroma_minus8 + 8; | |
1392 | + switch (h264_sps->chroma_format_idc) { | |
1393 | + case 0: | |
1394 | + attributes->subsampling = 400; | |
1395 | + break; | |
1396 | + case 1: | |
1397 | + attributes->subsampling = 420; | |
1398 | + break; | |
1399 | + case 2: | |
1400 | + attributes->subsampling = 422; | |
1401 | + break; | |
1402 | + case 3: | |
1403 | + attributes->subsampling = 444; | |
1404 | + break; | |
1405 | + }; | |
1406 | + return 0; | |
1407 | +} | |
1408 | + | |
1409 | +static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx, void *sps, | |
1410 | + struct v4l2_pix_format_mplane *pix_mp) | |
1411 | { | |
1412 | - unsigned int width, height; | |
1413 | + struct sps_attributes attributes = {0}; | |
1414 | + | |
1415 | + rkvdec_h264_get_sps_attributes(ctx, sps, &attributes); | |
1416 | ||
1417 | /* | |
1418 | * TODO: The hardware supports 10-bit and 4:2:2 profiles, | |
1419 | * but it's currently broken in the driver. | |
1420 | * Reject them for now, until it's fixed. | |
1421 | */ | |
1422 | - if (sps->chroma_format_idc > 1) | |
1423 | - /* Only 4:0:0 and 4:2:0 are supported */ | |
1424 | + if (attributes.subsampling > 420) { | |
1425 | + dev_err(ctx->dev->dev, | |
1426 | + "Only 4:0:0 and 4:2:0 subsampling schemes are supported, got: %d\n", | |
1427 | + attributes.subsampling); | |
1428 | return -EINVAL; | |
1429 | - if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8) | |
1430 | - /* Luma and chroma bit depth mismatch */ | |
1431 | + } | |
1432 | + if (attributes.luma_bitdepth != attributes.chroma_bitdepth) { | |
1433 | + dev_err(ctx->dev->dev, | |
1434 | + "Luma and chroma bit depth mismatch, luma %d, chroma %d\n", | |
1435 | + attributes.luma_bitdepth, attributes.chroma_bitdepth); | |
1436 | return -EINVAL; | |
1437 | - if (sps->bit_depth_luma_minus8 != 0) | |
1438 | - /* Only 8-bit is supported */ | |
1439 | + } | |
1440 | + if (attributes.luma_bitdepth != 8) { | |
1441 | + dev_err(ctx->dev->dev, "Only 8-bit H264 formats supported, SPS %d\n", | |
1442 | + attributes.luma_bitdepth); | |
1443 | return -EINVAL; | |
1444 | + } | |
1445 | ||
1446 | - width = (sps->pic_width_in_mbs_minus1 + 1) * 16; | |
1447 | - height = (sps->pic_height_in_map_units_minus1 + 1) * 16; | |
1448 | - | |
1449 | - /* | |
1450 | - * When frame_mbs_only_flag is not set, this is field height, | |
1451 | - * which is half the final height (see (7-18) in the | |
1452 | - * specification) | |
1453 | - */ | |
1454 | - if (!(sps->flags & V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY)) | |
1455 | - height *= 2; | |
1456 | - | |
1457 | - if (width > ctx->coded_fmt.fmt.pix_mp.width || | |
1458 | - height > ctx->coded_fmt.fmt.pix_mp.height) | |
1459 | + if (attributes.width > pix_mp->width || attributes.height > pix_mp->height) { | |
1460 | + dev_err(ctx->dev->dev, | |
1461 | + "Incompatible SPS dimension, SPS %dx%d, Pixel format %dx%d.", | |
1462 | + attributes.width, attributes.height, pix_mp->width, pix_mp->height); | |
1463 | return -EINVAL; | |
1464 | + } | |
1465 | ||
1466 | return 0; | |
1467 | } | |
1468 | @@ -1077,8 +1117,9 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ctx) | |
1469 | if (!ctrl) | |
1470 | return -EINVAL; | |
1471 | ||
1472 | - ret = rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps); | |
1473 | - if (ret) | |
1474 | + ret = rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps, | |
1475 | + &ctx->coded_fmt.fmt.pix_mp); | |
1476 | + if (ret < 0) | |
1477 | return ret; | |
1478 | ||
1479 | h264_ctx = kzalloc(sizeof(*h264_ctx), GFP_KERNEL); | |
1480 | @@ -1175,10 +1216,21 @@ static int rkvdec_h264_run(struct rkvdec_ctx *ctx) | |
1481 | return 0; | |
1482 | } | |
1483 | ||
1484 | +static u32 rkvdec_h264_valid_fmt(struct rkvdec_ctx *ctx) | |
1485 | +{ | |
1486 | + /* | |
1487 | + * Only 8 bit 4:0:0 and 4:2:0 formats supported for now. | |
1488 | + * The SPS is validated at a different function thus we can assume that | |
1489 | + * it is correct. | |
1490 | + */ | |
1491 | + return V4L2_PIX_FMT_NV12; | |
1492 | +} | |
1493 | + | |
1494 | static int rkvdec_h264_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl) | |
1495 | { | |
1496 | if (ctrl->id == V4L2_CID_STATELESS_H264_SPS) | |
1497 | - return rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps); | |
1498 | + return rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps, | |
1499 | + &ctx->coded_fmt.fmt.pix_mp); | |
1500 | ||
1501 | return 0; | |
1502 | } | |
1503 | @@ -1189,4 +1241,7 @@ const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = { | |
1504 | .stop = rkvdec_h264_stop, | |
1505 | .run = rkvdec_h264_run, | |
1506 | .try_ctrl = rkvdec_h264_try_ctrl, | |
1507 | + .valid_fmt = rkvdec_h264_valid_fmt, | |
1508 | + .sps_check = rkvdec_h264_validate_sps, | |
1509 | + .get_sps_attributes = rkvdec_h264_get_sps_attributes, | |
1510 | }; | |
1511 | ||
1512 | From patchwork Thu Jan 12 12:56:25 2023 | |
1513 | Content-Type: text/plain; charset="utf-8" | |
1514 | MIME-Version: 1.0 | |
1515 | Content-Transfer-Encoding: 7bit | |
1516 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1517 | X-Patchwork-Id: 13097959 | |
1518 | Return-Path: <linux-media-owner@vger.kernel.org> | |
1519 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
1520 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
1521 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
1522 | by smtp.lore.kernel.org (Postfix) with ESMTP id D24E3C54EBC | |
1523 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:23 +0000 (UTC) | |
1524 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
1525 | id S231443AbjALM5U (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
1526 | Thu, 12 Jan 2023 07:57:20 -0500 | |
1527 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43440 "EHLO | |
1528 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
1529 | with ESMTP id S232099AbjALM5C (ORCPT | |
1530 | <rfc822;linux-media@vger.kernel.org>); | |
1531 | Thu, 12 Jan 2023 07:57:02 -0500 | |
1532 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
1533 | [46.235.227.172]) | |
1534 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F020DEC9; | |
1535 | Thu, 12 Jan 2023 04:57:01 -0800 (PST) | |
1536 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
1537 | [89.26.75.29]) | |
1538 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
1539 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1540 | server-digest SHA256) | |
1541 | (No client certificate requested) | |
1542 | (Authenticated sender: sebastianfricke) | |
1543 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 3DE736602DBC; | |
1544 | Thu, 12 Jan 2023 12:57:00 +0000 (GMT) | |
1545 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1546 | s=mail; t=1673528220; | |
1547 | bh=s+EQFfhyAuhQn7YicE5XWPWi6yC+rHeMTsHsU87SIDc=; | |
1548 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1549 | b=Eyo/iGEhDGKhLVHuYynBUcGxCA0HxniOOj0YZEwal5LZ6soLeyCp4E7HfoRrLRjJE | |
1550 | +7CPbCElblJWl5FLdwz5ki6VcLqRHunXVfOk/eeKydjm0nZd0xMDazQUYyNDBj6KxP | |
1551 | pOezH+PpLuIjcqzHCmBymhOJ5i4eCyoG8Tdk8lhF2uVIwCX9ezQEfpfV95CsbSWAL6 | |
1552 | ho+dTUNgvObJF1HFAQd6jiIyZ+etRpjnfwynf0OCN1ddZHY6lqgq7fAPdhBJSa+TWf | |
1553 | B9yaXLU7wS/F0pZHXWBbL4XLWNpAP/pUEEVBjcnVkSgjvhIFuzNkBDg4tft8sNJKIL | |
1554 | 2S8s260THKobA== | |
1555 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1556 | Date: Thu, 12 Jan 2023 13:56:25 +0100 | |
1557 | Subject: [PATCH v2 10/12] staging: media: rkvdec: Wrapper for pixel format | |
1558 | preparation | |
1559 | MIME-Version: 1.0 | |
1560 | Message-Id: | |
1561 | <20230101-patch-series-v2-6-2-rc1-v2-10-fa1897efac14@collabora.com> | |
1562 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1563 | In-Reply-To: | |
1564 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1565 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1566 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1567 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1568 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1569 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1570 | Jonas Karlman <jonas@kwiboo.se>, | |
1571 | Alex Bee <knaerzche@gmail.com>, | |
1572 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1573 | Collabora Kernel-domain <kernel@collabora.com>, | |
1574 | Robert Beckett <bob.beckett@collabora.com>, | |
1575 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1576 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1577 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1578 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1579 | X-Mailer: b4 0.11.1 | |
1580 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=2354; | |
1581 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1582 | bh=s+EQFfhyAuhQn7YicE5XWPWi6yC+rHeMTsHsU87SIDc=; | |
1583 | b=oUnmXcIum/7DI0U2ej2rfr/P1PixLPwOAObjiKfMcquGxYFvoCILsKjwmY7ITmfCmaF2++etqDiM | |
1584 | TEkWc0fzCCv3jOdJWB4kONL9IPeV96X/47kcNH//+CB+vl9DcchG | |
1585 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1586 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1587 | Precedence: bulk | |
1588 | List-ID: <linux-media.vger.kernel.org> | |
1589 | X-Mailing-List: linux-media@vger.kernel.org | |
1590 | ||
1591 | Reduce code duplication by creating a wrapper around the preparation of | |
1592 | the `v4l2_pix_format_mplane` structure and the calculation of the | |
1593 | image size. | |
1594 | ||
1595 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1596 | --- | |
1597 | drivers/staging/media/rkvdec/rkvdec.c | 29 +++++++++++++++-------------- | |
1598 | 1 file changed, 15 insertions(+), 14 deletions(-) | |
1599 | ||
1600 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
1601 | index 8d948bcc4e46..b303c6e0286d 100644 | |
1602 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
1603 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
1604 | @@ -27,6 +27,17 @@ | |
1605 | #include "rkvdec.h" | |
1606 | #include "rkvdec-regs.h" | |
1607 | ||
1608 | +static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx, | |
1609 | + struct v4l2_pix_format_mplane *pix_mp) | |
1610 | +{ | |
1611 | + v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat, | |
1612 | + pix_mp->width, pix_mp->height); | |
1613 | + pix_mp->plane_fmt[0].sizeimage += 128 * | |
1614 | + DIV_ROUND_UP(pix_mp->width, 16) * | |
1615 | + DIV_ROUND_UP(pix_mp->height, 16); | |
1616 | + pix_mp->field = V4L2_FIELD_NONE; | |
1617 | +} | |
1618 | + | |
1619 | static int rkvdec_queue_busy(struct rkvdec_ctx *ctx, enum v4l2_buf_type buf_type) | |
1620 | { | |
1621 | struct vb2_queue *vq; | |
1622 | @@ -248,13 +259,9 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx) | |
1623 | ||
1624 | rkvdec_reset_fmt(ctx, f, valid_fmt); | |
1625 | f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; | |
1626 | - v4l2_fill_pixfmt_mp(&f->fmt.pix_mp, | |
1627 | - ctx->coded_fmt_desc->decoded_fmts[0], | |
1628 | - ctx->coded_fmt.fmt.pix_mp.width, | |
1629 | - ctx->coded_fmt.fmt.pix_mp.height); | |
1630 | - f->fmt.pix_mp.plane_fmt[0].sizeimage += 128 * | |
1631 | - DIV_ROUND_UP(f->fmt.pix_mp.width, 16) * | |
1632 | - DIV_ROUND_UP(f->fmt.pix_mp.height, 16); | |
1633 | + f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width; | |
1634 | + f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height; | |
1635 | + rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp); | |
1636 | } | |
1637 | ||
1638 | static int rkvdec_enum_framesizes(struct file *file, void *priv, | |
1639 | @@ -324,13 +331,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv, | |
1640 | &pix_mp->height, | |
1641 | &coded_desc->frmsize); | |
1642 | ||
1643 | - v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat, | |
1644 | - pix_mp->width, pix_mp->height); | |
1645 | - pix_mp->plane_fmt[0].sizeimage += | |
1646 | - 128 * | |
1647 | - DIV_ROUND_UP(pix_mp->width, 16) * | |
1648 | - DIV_ROUND_UP(pix_mp->height, 16); | |
1649 | - pix_mp->field = V4L2_FIELD_NONE; | |
1650 | + rkvdec_fill_decoded_pixfmt(ctx, pix_mp); | |
1651 | ||
1652 | return 0; | |
1653 | } | |
1654 | ||
1655 | From patchwork Thu Jan 12 12:56:26 2023 | |
1656 | Content-Type: text/plain; charset="utf-8" | |
1657 | MIME-Version: 1.0 | |
1658 | Content-Transfer-Encoding: 7bit | |
1659 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1660 | X-Patchwork-Id: 13097960 | |
1661 | Return-Path: <linux-media-owner@vger.kernel.org> | |
1662 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
1663 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
1664 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
1665 | by smtp.lore.kernel.org (Postfix) with ESMTP id 02E41C54EBD | |
1666 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:57:44 +0000 (UTC) | |
1667 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
1668 | id S232658AbjALM5n (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
1669 | Thu, 12 Jan 2023 07:57:43 -0500 | |
1670 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44106 "EHLO | |
1671 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
1672 | with ESMTP id S232322AbjALM5d (ORCPT | |
1673 | <rfc822;linux-media@vger.kernel.org>); | |
1674 | Thu, 12 Jan 2023 07:57:33 -0500 | |
1675 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
1676 | [46.235.227.172]) | |
1677 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0501A5130D; | |
1678 | Thu, 12 Jan 2023 04:57:05 -0800 (PST) | |
1679 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
1680 | [89.26.75.29]) | |
1681 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
1682 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1683 | server-digest SHA256) | |
1684 | (No client certificate requested) | |
1685 | (Authenticated sender: sebastianfricke) | |
1686 | by madras.collabora.co.uk (Postfix) with ESMTPSA id B56856602DB1; | |
1687 | Thu, 12 Jan 2023 12:57:03 +0000 (GMT) | |
1688 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1689 | s=mail; t=1673528223; | |
1690 | bh=KAJmQ51TusAs/OBMlUcE6FAB/zXgKsXdACD+yS0cJJs=; | |
1691 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1692 | b=abuLMAtI+0Ssmb0Qet0J4hPnVAdraA31EB3fvZ/zDjZvc2UyLQpbuGpOiFbxXhOqc | |
1693 | S9NUy9xnqLwAqNNtyQFTUiP7+lJpwbtRYRwTevw/9OIF62BM43kv9v/Y8O5Dan8zJD | |
1694 | zy3+0jfREptqFrzuMIuITsGVocKGn8VB9qrbRTUXlbka8E6UkheBghOkMgwWlfjhJ6 | |
1695 | bvU2BcEkzGokpvaFOODMzAKJe3+Xa3+EXgkqaaYK3u3a9zVb6+KOCsN5F9v9WFMQIW | |
1696 | dAqSQiVNpyzqaypDHC12Df8AFUhQ4HVKlMv25c6RbKfbpJOAj4W627U9Xoa2Xkd1Up | |
1697 | n9oHDOyuMFo1Q== | |
1698 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1699 | Date: Thu, 12 Jan 2023 13:56:26 +0100 | |
1700 | Subject: [PATCH v2 11/12] staging: media: rkvdec: Enable S_CTRL IOCTL | |
1701 | MIME-Version: 1.0 | |
1702 | Message-Id: | |
1703 | <20230101-patch-series-v2-6-2-rc1-v2-11-fa1897efac14@collabora.com> | |
1704 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1705 | In-Reply-To: | |
1706 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1707 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1708 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1709 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1710 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1711 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1712 | Jonas Karlman <jonas@kwiboo.se>, | |
1713 | Alex Bee <knaerzche@gmail.com>, | |
1714 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1715 | Collabora Kernel-domain <kernel@collabora.com>, | |
1716 | Robert Beckett <bob.beckett@collabora.com>, | |
1717 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1718 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1719 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1720 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1721 | X-Mailer: b4 0.11.1 | |
1722 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=3704; | |
1723 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1724 | bh=KAJmQ51TusAs/OBMlUcE6FAB/zXgKsXdACD+yS0cJJs=; | |
1725 | b=3Q8dYQ7JJV91gBKcZI7SdzmsUpSj8tSF8FmAoOpA4+8doicKKzpHZXOKqfCS3w0RSMTTwbQ545S3 | |
1726 | /EmOOuLQCwWk/liG7p+9gfjw2YEBe+DwYIkP0cAdOuppKUob+jYn | |
1727 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1728 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1729 | Precedence: bulk | |
1730 | List-ID: <linux-media.vger.kernel.org> | |
1731 | X-Mailing-List: linux-media@vger.kernel.org | |
1732 | ||
1733 | Enable user-space to set the SPS of the current byte-stream on the | |
1734 | decoder. This action will enable the decoder to pick the optimal | |
1735 | pixel-format for the capture queue, whenever it is required. | |
1736 | ||
1737 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1738 | Signed-off-by: Jonas Karlman <jonas@kwiboo.se> | |
1739 | --- | |
1740 | drivers/staging/media/rkvdec/rkvdec.c | 81 +++++++++++++++++++++++++++++++++++ | |
1741 | 1 file changed, 81 insertions(+) | |
1742 | ||
1743 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
1744 | index b303c6e0286d..3d413c5ad1d2 100644 | |
1745 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
1746 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
1747 | @@ -93,6 +93,79 @@ static int rkvdec_get_sps_attributes(struct rkvdec_ctx *ctx, void *sps, | |
1748 | return 0; | |
1749 | } | |
1750 | ||
1751 | +static int rkvdec_set_sps(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl) | |
1752 | +{ | |
1753 | + struct v4l2_pix_format_mplane *pix_mp; | |
1754 | + struct sps_attributes attributes = {0}; | |
1755 | + void *new_sps = NULL; | |
1756 | + | |
1757 | + /* | |
1758 | + * SPS structures are not filled until the control handler is set up | |
1759 | + */ | |
1760 | + if (!ctx->fh.ctrl_handler) | |
1761 | + return 0; | |
1762 | + | |
1763 | + switch (ctrl->id) { | |
1764 | + case V4L2_CID_STATELESS_H264_SPS: | |
1765 | + new_sps = (void *)ctrl->p_new.p_h264_sps; | |
1766 | + break; | |
1767 | + case V4L2_CID_STATELESS_HEVC_SPS: | |
1768 | + new_sps = (void *)ctrl->p_new.p_hevc_sps; | |
1769 | + break; | |
1770 | + default: | |
1771 | + dev_err(ctx->dev->dev, "Unsupported stateless control ID: %x\n", ctrl->id); | |
1772 | + return -EINVAL; | |
1773 | + }; | |
1774 | + rkvdec_get_sps_attributes(ctx, new_sps, &attributes); | |
1775 | + | |
1776 | + /* | |
1777 | + * Providing an empty SPS is valid but we do not store it. | |
1778 | + */ | |
1779 | + if (attributes.width == 0 && attributes.height == 0) | |
1780 | + return 0; | |
1781 | + | |
1782 | + pix_mp = &ctx->decoded_fmt.fmt.pix_mp; | |
1783 | + | |
1784 | + /* | |
1785 | + * SPS must match the provided format dimension, if it doesn't userspace has to | |
1786 | + * first reset the output format | |
1787 | + */ | |
1788 | + if ((attributes.width > pix_mp->width) || (attributes.height > pix_mp->height)) { | |
1789 | + dev_err(ctx->dev->dev, | |
1790 | + "Dimension mismatch. [%s SPS] W: %d, H: %d, [Format] W: %d, H: %d)\n", | |
1791 | + ctrl->id == V4L2_CID_STATELESS_HEVC_SPS ? "HEVC" : "H264", | |
1792 | + attributes.width, attributes.height, pix_mp->width, pix_mp->height); | |
1793 | + return -EINVAL; | |
1794 | + } | |
1795 | + | |
1796 | + if (ctx->sps && pix_mp->pixelformat == rkvdec_get_valid_fmt(ctx)) { | |
1797 | + /* | |
1798 | + * Userspace is allowed to change the SPS at any point, if the | |
1799 | + * pixel format doesn't differ from the format in the context, | |
1800 | + * just accept the change even if buffers are queued | |
1801 | + */ | |
1802 | + ctx->sps = new_sps; | |
1803 | + } else { | |
1804 | + /* | |
1805 | + * Do not accept changing the SPS, while buffers are queued, | |
1806 | + * when the new SPS would cause switching the CAPTURE pixel format | |
1807 | + */ | |
1808 | + if (pix_mp->pixelformat != rkvdec_get_valid_fmt(ctx)) { | |
1809 | + if (rkvdec_queue_busy(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)) | |
1810 | + return -EBUSY; | |
1811 | + } | |
1812 | + ctx->sps = new_sps; | |
1813 | + /* | |
1814 | + * For the initial SPS setting and when the pixel format is | |
1815 | + * changed adjust the pixel format stored in the context | |
1816 | + */ | |
1817 | + pix_mp->pixelformat = rkvdec_get_valid_fmt(ctx); | |
1818 | + rkvdec_fill_decoded_pixfmt(ctx, pix_mp); | |
1819 | + } | |
1820 | + | |
1821 | + return 0; | |
1822 | +} | |
1823 | + | |
1824 | static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) | |
1825 | { | |
1826 | struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); | |
1827 | @@ -104,8 +177,16 @@ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl) | |
1828 | return 0; | |
1829 | } | |
1830 | ||
1831 | +static int rkvdec_s_ctrl(struct v4l2_ctrl *ctrl) | |
1832 | +{ | |
1833 | + struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); | |
1834 | + | |
1835 | + return rkvdec_set_sps(ctx, ctrl); | |
1836 | +} | |
1837 | + | |
1838 | static const struct v4l2_ctrl_ops rkvdec_ctrl_ops = { | |
1839 | .try_ctrl = rkvdec_try_ctrl, | |
1840 | + .s_ctrl = rkvdec_s_ctrl, | |
1841 | }; | |
1842 | ||
1843 | static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = { | |
1844 | ||
1845 | From patchwork Thu Jan 12 12:56:27 2023 | |
1846 | Content-Type: text/plain; charset="utf-8" | |
1847 | MIME-Version: 1.0 | |
1848 | Content-Transfer-Encoding: 7bit | |
1849 | X-Patchwork-Submitter: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1850 | X-Patchwork-Id: 13097961 | |
1851 | Return-Path: <linux-media-owner@vger.kernel.org> | |
1852 | X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on | |
1853 | aws-us-west-2-korg-lkml-1.web.codeaurora.org | |
1854 | Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) | |
1855 | by smtp.lore.kernel.org (Postfix) with ESMTP id 5D209C54EBD | |
1856 | for <linux-media@archiver.kernel.org>; Thu, 12 Jan 2023 12:58:22 +0000 (UTC) | |
1857 | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | |
1858 | id S232135AbjALM6U (ORCPT <rfc822;linux-media@archiver.kernel.org>); | |
1859 | Thu, 12 Jan 2023 07:58:20 -0500 | |
1860 | Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44132 "EHLO | |
1861 | lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | |
1862 | with ESMTP id S232822AbjALM5u (ORCPT | |
1863 | <rfc822;linux-media@vger.kernel.org>); | |
1864 | Thu, 12 Jan 2023 07:57:50 -0500 | |
1865 | Received: from madras.collabora.co.uk (madras.collabora.co.uk | |
1866 | [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) | |
1867 | by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98EC539F81; | |
1868 | Thu, 12 Jan 2023 04:57:08 -0800 (PST) | |
1869 | Received: from localhost (89-26-75-29.goll.dyn.salzburg-online.at | |
1870 | [89.26.75.29]) | |
1871 | (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) | |
1872 | key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) | |
1873 | server-digest SHA256) | |
1874 | (No client certificate requested) | |
1875 | (Authenticated sender: sebastianfricke) | |
1876 | by madras.collabora.co.uk (Postfix) with ESMTPSA id 099706602DB9; | |
1877 | Thu, 12 Jan 2023 12:57:07 +0000 (GMT) | |
1878 | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; | |
1879 | s=mail; t=1673528227; | |
1880 | bh=pm+8+YSV1gNiZGXugXBzMsEYogDn1ApTCdetzlcVJrQ=; | |
1881 | h=From:Date:Subject:References:In-Reply-To:To:Cc:From; | |
1882 | b=VnsGrgCHFmlORitNIU9rHOIym3yFT5s3PzDpx5cwZOHT6rIih7/2i6AM6oIe5UIGu | |
1883 | CelHh94pV0zGkElZaxLSAO30kovBidEmjUiI0MrhdB7Jpc+c/VXW7q0EMnLf5F8S6m | |
1884 | ITi0wNU5zA7XrlajUuRGcKIUxRgHA07s/KbcOqrYYPePblDar63nemG1qc1kvNNj3O | |
1885 | wI8fiapnTqintzm76PDST+RGhfnOvoUl9NZYlZrWkDrW8fmqOCXmGqDuj69jw3Ak3R | |
1886 | /MUuaVHpbIkopxkQUGJogP4Sz/QA3uUsfTF3MQcqnCEEPiTK9HLM991wmyC2sFZYth | |
1887 | 7/dUJynw4yHcg== | |
1888 | From: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1889 | Date: Thu, 12 Jan 2023 13:56:27 +0100 | |
1890 | Subject: [PATCH v2 12/12] staging: media: rkvdec: Add HEVC backend | |
1891 | MIME-Version: 1.0 | |
1892 | Message-Id: | |
1893 | <20230101-patch-series-v2-6-2-rc1-v2-12-fa1897efac14@collabora.com> | |
1894 | References: <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1895 | In-Reply-To: | |
1896 | <20230101-patch-series-v2-6-2-rc1-v2-0-fa1897efac14@collabora.com> | |
1897 | To: Mauro Carvalho Chehab <mchehab@kernel.org>, | |
1898 | Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>, | |
1899 | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
1900 | Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, | |
1901 | linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, | |
1902 | Jonas Karlman <jonas@kwiboo.se>, | |
1903 | Alex Bee <knaerzche@gmail.com>, | |
1904 | Nicolas Dufresne <nicolas.dufresne@collabora.com>, | |
1905 | Collabora Kernel-domain <kernel@collabora.com>, | |
1906 | Robert Beckett <bob.beckett@collabora.com>, | |
1907 | Laurent Pinchart <laurent.pinchart@ideasonboard.com>, | |
1908 | Andrzej Pietrasiewicz <andrzej.p@collabora.com>, | |
1909 | Benjamin Gaignard <benjamin.gaignard@collabora.com>, | |
1910 | Sebastian Fricke <sebastian.fricke@collabora.com> | |
1911 | X-Mailer: b4 0.11.1 | |
1912 | X-Developer-Signature: v=1; a=ed25519-sha256; t=1673528186; l=212070; | |
1913 | i=sebastian.fricke@collabora.com; s=linux-media; h=from:subject:message-id; | |
1914 | bh=pm+8+YSV1gNiZGXugXBzMsEYogDn1ApTCdetzlcVJrQ=; | |
1915 | b=ivYlPMVhGccrpB90PzjCCFa5sBo/IrUkhl7ipx96EORF/rVhRoRMPJkz5C1D2+3iXO1p1j6uBlLv | |
1916 | U9BczBMaAT3ZKDW06UMe06Iuxdzxsn4MlYCNyE6u8c42K53/K7By | |
1917 | X-Developer-Key: i=sebastian.fricke@collabora.com; a=ed25519; | |
1918 | pk=pYXedPwrTtErcj7ERYeo/IpTrpe4QbJuEzSB52fslBg= | |
1919 | Precedence: bulk | |
1920 | List-ID: <linux-media.vger.kernel.org> | |
1921 | X-Mailing-List: linux-media@vger.kernel.org | |
1922 | ||
1923 | The Rockchip VDEC supports the HEVC codec with the Main and Main10 | |
1924 | Profile up to Level 5.1 High Tier: 4096x2304@60 fps. | |
1925 | Add the backend for that format to the decoder. | |
1926 | ||
1927 | Signed-off-by: Jonas Karlman <jonas@kwiboo.se> | |
1928 | Signed-off-by: Alex Bee <knaerzche@gmail.com> | |
1929 | Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> | |
1930 | Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> | |
1931 | --- | |
1932 | drivers/staging/media/rkvdec/Makefile | 2 +- | |
1933 | drivers/staging/media/rkvdec/TODO | 11 +- | |
1934 | drivers/staging/media/rkvdec/rkvdec-hevc-data.c | 1845 +++++++++++++++++++++++ | |
1935 | drivers/staging/media/rkvdec/rkvdec-hevc.c | 910 +++++++++++ | |
1936 | drivers/staging/media/rkvdec/rkvdec-regs.h | 1 + | |
1937 | drivers/staging/media/rkvdec/rkvdec.c | 72 + | |
1938 | drivers/staging/media/rkvdec/rkvdec.h | 1 + | |
1939 | 7 files changed, 2834 insertions(+), 8 deletions(-) | |
1940 | ||
1941 | diff --git a/drivers/staging/media/rkvdec/Makefile b/drivers/staging/media/rkvdec/Makefile | |
1942 | index cb86b429cfaa..a77122641d14 100644 | |
1943 | --- a/drivers/staging/media/rkvdec/Makefile | |
1944 | +++ b/drivers/staging/media/rkvdec/Makefile | |
1945 | @@ -1,3 +1,3 @@ | |
1946 | obj-$(CONFIG_VIDEO_ROCKCHIP_VDEC) += rockchip-vdec.o | |
1947 | ||
1948 | -rockchip-vdec-y += rkvdec.o rkvdec-h264.o rkvdec-vp9.o | |
1949 | +rockchip-vdec-y += rkvdec.o rkvdec-h264.o rkvdec-hevc.o rkvdec-vp9.o | |
1950 | diff --git a/drivers/staging/media/rkvdec/TODO b/drivers/staging/media/rkvdec/TODO | |
1951 | index 2c0779383276..58652251241b 100644 | |
1952 | --- a/drivers/staging/media/rkvdec/TODO | |
1953 | +++ b/drivers/staging/media/rkvdec/TODO | |
1954 | @@ -1,11 +1,8 @@ | |
1955 | -* Support for HEVC is planned for this driver. | |
1956 | - | |
1957 | - Given the V4L controls for that CODEC will be part of | |
1958 | - the uABI, it will be required to have the driver in staging. | |
1959 | - | |
1960 | - For this reason, we are keeping this driver in staging for now. | |
1961 | - | |
1962 | * Evaluate introducing a helper to consolidate duplicated | |
1963 | code in rkvdec_request_validate and cedrus_request_validate. | |
1964 | The helper needs to the driver private data associated with | |
1965 | the videobuf2 queue, from a media request. | |
1966 | + | |
1967 | +* Add support for other hardware revisions (like RK3288 etc.) | |
1968 | + | |
1969 | +* Fix concurrent decoding for the HEVC codec | |
1970 | diff --git a/drivers/staging/media/rkvdec/rkvdec-hevc-data.c b/drivers/staging/media/rkvdec/rkvdec-hevc-data.c | |
1971 | new file mode 100644 | |
1972 | index 000000000000..d3b7760063ef | |
1973 | --- /dev/null | |
1974 | +++ b/drivers/staging/media/rkvdec/rkvdec-hevc-data.c | |
1975 | @@ -0,0 +1,1845 @@ | |
1976 | +// SPDX-License-Identifier: GPL-2.0 | |
1977 | +/* | |
1978 | + * Rockchip Video Decoder driver | |
1979 | + * | |
1980 | + * Copyright (C) 2023 Collabora, Ltd. | |
1981 | + * Sebastian Fricke <sebastian.fricke@collabora.com> | |
1982 | + */ | |
1983 | +#include <linux/types.h> | |
1984 | + | |
1985 | +#define RKV_CABAC_TABLE_SIZE 27456 | |
1986 | + | |
1987 | +static const u8 rkvdec_hevc_cabac_table[RKV_CABAC_TABLE_SIZE] = { | |
1988 | + 0x07, 0x0f, 0x48, 0x58, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0f, 0x40, 0x40, 0x40, 0x0f, | |
1989 | + 0x68, 0x48, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x40, | |
1990 | + 0x40, 0x68, 0x58, 0x60, 0x40, 0x1f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x48, 0x48, 0x60, | |
1991 | + 0x60, 0x50, 0x58, 0x50, 0x07, 0x58, 0x68, 0x50, 0x58, 0x68, 0x68, 0x68, 0x68, 0x68, 0x50, | |
1992 | + 0x48, 0x68, 0x60, 0x60, 0x50, 0x58, 0x50, 0x07, 0x58, 0x68, 0x50, 0x58, 0x68, 0x68, 0x68, | |
1993 | + 0x68, 0x68, 0x50, 0x48, 0x68, 0x48, 0x48, 0x1f, 0x58, 0x68, 0x68, 0x58, 0x60, 0x60, 0x60, | |
1994 | + 0x50, 0x50, 0x50, 0x48, 0x58, 0x58, 0x37, 0x07, 0x58, 0x48, 0x58, 0x58, 0x37, 0x07, 0x58, | |
1995 | + 0x48, 0x58, 0x58, 0x37, 0x07, 0x58, 0x50, 0x48, 0x1f, 0x1f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, | |
1996 | + 0x0f, 0x48, 0x68, 0x0f, 0x48, 0x68, 0x40, 0x40, 0x50, 0x50, 0x07, 0x40, 0x50, 0x0f, 0x40, | |
1997 | + 0x48, 0x07, 0x40, 0x27, 0x50, 0x48, 0x48, 0x40, 0x0f, 0x50, 0x37, 0x1f, 0x1f, 0x50, 0x37, | |
1998 | + 0x40, 0x27, 0x40, 0x07, 0x0f, 0x17, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
1999 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x47, 0x57, | |
2000 | + 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0f, 0x40, 0x40, 0x40, 0x0f, 0x66, 0x47, 0x40, 0x40, | |
2001 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x00, 0x00, 0x67, 0x57, 0x5e, | |
2002 | + 0x00, 0x1f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x47, 0x47, 0x5f, 0x5f, 0x4f, 0x57, 0x4f, | |
2003 | + 0x07, 0x57, 0x67, 0x4f, 0x57, 0x67, 0x67, 0x67, 0x67, 0x66, 0x4f, 0x47, 0x66, 0x5f, 0x5f, | |
2004 | + 0x4f, 0x57, 0x4f, 0x07, 0x57, 0x67, 0x4f, 0x57, 0x67, 0x67, 0x67, 0x67, 0x66, 0x4f, 0x47, | |
2005 | + 0x66, 0x46, 0x48, 0x20, 0x57, 0x67, 0x67, 0x57, 0x5f, 0x5f, 0x5e, 0x4f, 0x4f, 0x4f, 0x47, | |
2006 | + 0x57, 0x57, 0x37, 0x07, 0x57, 0x47, 0x57, 0x57, 0x37, 0x07, 0x57, 0x47, 0x57, 0x57, 0x37, | |
2007 | + 0x07, 0x57, 0x4f, 0x47, 0x1f, 0x1f, 0x0f, 0x10, 0x0f, 0x10, 0x07, 0x10, 0x47, 0x67, 0x10, | |
2008 | + 0x47, 0x67, 0x40, 0x40, 0x4f, 0x4e, 0x08, 0x00, 0x4f, 0x0f, 0x00, 0x47, 0x07, 0x01, 0x27, | |
2009 | + 0x4e, 0x47, 0x47, 0x00, 0x0f, 0x4f, 0x37, 0x1f, 0x1f, 0x4f, 0x36, 0x00, 0x27, 0x00, 0x07, | |
2010 | + 0x10, 0x17, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2011 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x47, 0x57, 0x58, 0x40, 0x40, 0x40, | |
2012 | + 0x40, 0x40, 0x0e, 0x40, 0x40, 0x40, 0x0e, 0x64, 0x47, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2013 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x00, 0x00, 0x66, 0x57, 0x5d, 0x00, 0x1e, 0x40, 0x40, | |
2014 | + 0x40, 0x40, 0x40, 0x40, 0x47, 0x47, 0x5e, 0x5e, 0x4e, 0x56, 0x4f, 0x07, 0x56, 0x66, 0x4f, | |
2015 | + 0x56, 0x66, 0x67, 0x66, 0x66, 0x64, 0x4e, 0x46, 0x64, 0x5e, 0x5e, 0x4e, 0x56, 0x4f, 0x07, | |
2016 | + 0x56, 0x66, 0x4f, 0x56, 0x66, 0x67, 0x66, 0x66, 0x64, 0x4e, 0x46, 0x64, 0x45, 0x48, 0x20, | |
2017 | + 0x57, 0x66, 0x66, 0x56, 0x5e, 0x5e, 0x5d, 0x4e, 0x4e, 0x4e, 0x46, 0x56, 0x57, 0x36, 0x07, | |
2018 | + 0x56, 0x46, 0x56, 0x57, 0x36, 0x07, 0x56, 0x46, 0x56, 0x57, 0x36, 0x07, 0x56, 0x4f, 0x47, | |
2019 | + 0x1e, 0x1e, 0x0f, 0x10, 0x0f, 0x10, 0x07, 0x10, 0x47, 0x66, 0x10, 0x47, 0x66, 0x40, 0x40, | |
2020 | + 0x4f, 0x4d, 0x08, 0x00, 0x4f, 0x0f, 0x00, 0x47, 0x07, 0x03, 0x27, 0x4d, 0x47, 0x46, 0x01, | |
2021 | + 0x0f, 0x4f, 0x36, 0x1f, 0x1e, 0x4f, 0x34, 0x01, 0x26, 0x00, 0x07, 0x10, 0x17, 0x0f, 0x0f, | |
2022 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2023 | + 0x00, 0x00, 0x00, 0x07, 0x0d, 0x47, 0x57, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0e, 0x40, | |
2024 | + 0x40, 0x40, 0x0e, 0x62, 0x47, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2025 | + 0x40, 0x07, 0x00, 0x00, 0x65, 0x57, 0x5c, 0x00, 0x1e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2026 | + 0x47, 0x47, 0x5d, 0x5d, 0x4e, 0x56, 0x4f, 0x07, 0x56, 0x66, 0x4f, 0x55, 0x65, 0x67, 0x66, | |
2027 | + 0x65, 0x63, 0x4d, 0x46, 0x62, 0x5d, 0x5d, 0x4e, 0x56, 0x4f, 0x07, 0x56, 0x66, 0x4f, 0x55, | |
2028 | + 0x65, 0x67, 0x66, 0x65, 0x63, 0x4d, 0x46, 0x62, 0x44, 0x48, 0x20, 0x57, 0x65, 0x65, 0x56, | |
2029 | + 0x5d, 0x5d, 0x5c, 0x4e, 0x4d, 0x4e, 0x45, 0x56, 0x57, 0x36, 0x07, 0x56, 0x45, 0x56, 0x57, | |
2030 | + 0x36, 0x07, 0x56, 0x45, 0x56, 0x57, 0x36, 0x07, 0x56, 0x4f, 0x47, 0x1e, 0x1e, 0x0f, 0x10, | |
2031 | + 0x0f, 0x10, 0x07, 0x10, 0x47, 0x65, 0x10, 0x47, 0x65, 0x40, 0x40, 0x4f, 0x4c, 0x08, 0x00, | |
2032 | + 0x4f, 0x0f, 0x00, 0x47, 0x07, 0x04, 0x27, 0x4c, 0x47, 0x45, 0x01, 0x0f, 0x4f, 0x36, 0x1f, | |
2033 | + 0x1e, 0x4f, 0x33, 0x01, 0x25, 0x00, 0x07, 0x10, 0x17, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, | |
2034 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2035 | + 0x0c, 0x46, 0x56, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0d, 0x40, 0x40, 0x40, 0x0d, 0x60, | |
2036 | + 0x46, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x01, 0x01, | |
2037 | + 0x64, 0x56, 0x5b, 0x01, 0x1d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x46, 0x46, 0x5c, 0x5c, | |
2038 | + 0x4d, 0x55, 0x4e, 0x07, 0x55, 0x65, 0x4e, 0x54, 0x64, 0x66, 0x65, 0x64, 0x61, 0x4c, 0x45, | |
2039 | + 0x60, 0x5c, 0x5c, 0x4d, 0x55, 0x4e, 0x07, 0x55, 0x65, 0x4e, 0x54, 0x64, 0x66, 0x65, 0x64, | |
2040 | + 0x61, 0x4c, 0x45, 0x60, 0x43, 0x49, 0x21, 0x56, 0x64, 0x64, 0x55, 0x5c, 0x5c, 0x5b, 0x4d, | |
2041 | + 0x4c, 0x4d, 0x44, 0x55, 0x56, 0x35, 0x07, 0x55, 0x44, 0x55, 0x56, 0x35, 0x07, 0x55, 0x44, | |
2042 | + 0x55, 0x56, 0x35, 0x07, 0x55, 0x4e, 0x46, 0x1d, 0x1d, 0x0f, 0x11, 0x0f, 0x11, 0x07, 0x11, | |
2043 | + 0x46, 0x64, 0x11, 0x46, 0x64, 0x40, 0x40, 0x4e, 0x4b, 0x09, 0x01, 0x4e, 0x0f, 0x01, 0x46, | |
2044 | + 0x07, 0x06, 0x27, 0x4b, 0x46, 0x44, 0x02, 0x0f, 0x4e, 0x35, 0x1e, 0x1d, 0x4e, 0x31, 0x02, | |
2045 | + 0x24, 0x01, 0x07, 0x11, 0x16, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2046 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0b, 0x46, 0x56, 0x58, | |
2047 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x0c, 0x40, 0x40, 0x40, 0x0c, 0x5e, 0x46, 0x40, 0x40, 0x40, | |
2048 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x01, 0x01, 0x63, 0x56, 0x59, 0x01, | |
2049 | + 0x1c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x46, 0x46, 0x5b, 0x5b, 0x4c, 0x54, 0x4e, 0x07, | |
2050 | + 0x54, 0x64, 0x4e, 0x53, 0x63, 0x66, 0x64, 0x63, 0x60, 0x4b, 0x44, 0x5e, 0x5b, 0x5b, 0x4c, | |
2051 | + 0x54, 0x4e, 0x07, 0x54, 0x64, 0x4e, 0x53, 0x63, 0x66, 0x64, 0x63, 0x60, 0x4b, 0x44, 0x5e, | |
2052 | + 0x41, 0x49, 0x21, 0x56, 0x63, 0x63, 0x54, 0x5b, 0x5b, 0x59, 0x4c, 0x4b, 0x4c, 0x43, 0x54, | |
2053 | + 0x56, 0x34, 0x07, 0x54, 0x43, 0x54, 0x56, 0x34, 0x07, 0x54, 0x43, 0x54, 0x56, 0x34, 0x07, | |
2054 | + 0x54, 0x4e, 0x46, 0x1c, 0x1c, 0x0f, 0x11, 0x0f, 0x11, 0x07, 0x11, 0x46, 0x63, 0x11, 0x46, | |
2055 | + 0x63, 0x40, 0x40, 0x4e, 0x49, 0x09, 0x01, 0x4e, 0x0f, 0x01, 0x46, 0x07, 0x07, 0x27, 0x49, | |
2056 | + 0x46, 0x43, 0x03, 0x0f, 0x4e, 0x34, 0x1e, 0x1c, 0x4e, 0x30, 0x03, 0x23, 0x01, 0x07, 0x11, | |
2057 | + 0x16, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2058 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0a, 0x46, 0x56, 0x58, 0x40, 0x40, 0x40, 0x40, | |
2059 | + 0x40, 0x0c, 0x40, 0x40, 0x40, 0x0c, 0x5c, 0x46, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2060 | + 0x40, 0x40, 0x40, 0x40, 0x07, 0x01, 0x01, 0x62, 0x56, 0x58, 0x01, 0x1c, 0x40, 0x40, 0x40, | |
2061 | + 0x40, 0x40, 0x40, 0x46, 0x46, 0x5a, 0x5a, 0x4c, 0x54, 0x4e, 0x07, 0x54, 0x64, 0x4e, 0x52, | |
2062 | + 0x62, 0x66, 0x64, 0x62, 0x5e, 0x4a, 0x44, 0x5c, 0x5a, 0x5a, 0x4c, 0x54, 0x4e, 0x07, 0x54, | |
2063 | + 0x64, 0x4e, 0x52, 0x62, 0x66, 0x64, 0x62, 0x5e, 0x4a, 0x44, 0x5c, 0x40, 0x49, 0x21, 0x56, | |
2064 | + 0x62, 0x62, 0x54, 0x5a, 0x5a, 0x58, 0x4c, 0x4a, 0x4c, 0x42, 0x54, 0x56, 0x34, 0x07, 0x54, | |
2065 | + 0x42, 0x54, 0x56, 0x34, 0x07, 0x54, 0x42, 0x54, 0x56, 0x34, 0x07, 0x54, 0x4e, 0x46, 0x1c, | |
2066 | + 0x1c, 0x0f, 0x11, 0x0f, 0x11, 0x07, 0x11, 0x46, 0x62, 0x11, 0x46, 0x62, 0x40, 0x40, 0x4e, | |
2067 | + 0x48, 0x09, 0x01, 0x4e, 0x0f, 0x01, 0x46, 0x07, 0x09, 0x27, 0x48, 0x46, 0x42, 0x03, 0x0f, | |
2068 | + 0x4e, 0x34, 0x1e, 0x1c, 0x4e, 0x2e, 0x03, 0x22, 0x01, 0x07, 0x11, 0x16, 0x0f, 0x0f, 0x40, | |
2069 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2070 | + 0x00, 0x00, 0x07, 0x09, 0x45, 0x55, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0b, 0x40, 0x40, | |
2071 | + 0x40, 0x0b, 0x5a, 0x45, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2072 | + 0x07, 0x02, 0x02, 0x61, 0x55, 0x57, 0x02, 0x1b, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x45, | |
2073 | + 0x45, 0x59, 0x59, 0x4b, 0x53, 0x4d, 0x07, 0x53, 0x63, 0x4d, 0x51, 0x61, 0x65, 0x63, 0x61, | |
2074 | + 0x5d, 0x49, 0x43, 0x5a, 0x59, 0x59, 0x4b, 0x53, 0x4d, 0x07, 0x53, 0x63, 0x4d, 0x51, 0x61, | |
2075 | + 0x65, 0x63, 0x61, 0x5d, 0x49, 0x43, 0x5a, 0x00, 0x4a, 0x22, 0x55, 0x61, 0x61, 0x53, 0x59, | |
2076 | + 0x59, 0x57, 0x4b, 0x49, 0x4b, 0x41, 0x53, 0x55, 0x33, 0x07, 0x53, 0x41, 0x53, 0x55, 0x33, | |
2077 | + 0x07, 0x53, 0x41, 0x53, 0x55, 0x33, 0x07, 0x53, 0x4d, 0x45, 0x1b, 0x1b, 0x0f, 0x12, 0x0f, | |
2078 | + 0x12, 0x07, 0x12, 0x45, 0x61, 0x12, 0x45, 0x61, 0x40, 0x40, 0x4d, 0x47, 0x0a, 0x02, 0x4d, | |
2079 | + 0x0f, 0x02, 0x45, 0x07, 0x0a, 0x27, 0x47, 0x45, 0x41, 0x04, 0x0f, 0x4d, 0x33, 0x1d, 0x1b, | |
2080 | + 0x4d, 0x2d, 0x04, 0x21, 0x02, 0x07, 0x12, 0x15, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2081 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, | |
2082 | + 0x45, 0x55, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0a, 0x40, 0x40, 0x40, 0x0a, 0x59, 0x45, | |
2083 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x02, 0x02, 0x60, | |
2084 | + 0x55, 0x56, 0x02, 0x1a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x45, 0x45, 0x58, 0x58, 0x4b, | |
2085 | + 0x53, 0x4d, 0x07, 0x53, 0x63, 0x4d, 0x50, 0x60, 0x65, 0x63, 0x60, 0x5b, 0x48, 0x43, 0x59, | |
2086 | + 0x58, 0x58, 0x4b, 0x53, 0x4d, 0x07, 0x53, 0x63, 0x4d, 0x50, 0x60, 0x65, 0x63, 0x60, 0x5b, | |
2087 | + 0x48, 0x43, 0x59, 0x01, 0x4a, 0x22, 0x55, 0x60, 0x60, 0x53, 0x58, 0x58, 0x56, 0x4b, 0x48, | |
2088 | + 0x4b, 0x40, 0x53, 0x55, 0x32, 0x07, 0x53, 0x40, 0x53, 0x55, 0x32, 0x07, 0x53, 0x40, 0x53, | |
2089 | + 0x55, 0x32, 0x07, 0x53, 0x4d, 0x45, 0x1a, 0x1a, 0x0f, 0x12, 0x0f, 0x12, 0x07, 0x12, 0x45, | |
2090 | + 0x60, 0x12, 0x45, 0x60, 0x40, 0x40, 0x4d, 0x46, 0x0a, 0x02, 0x4d, 0x0f, 0x02, 0x45, 0x07, | |
2091 | + 0x0c, 0x27, 0x46, 0x45, 0x40, 0x04, 0x0f, 0x4d, 0x32, 0x1d, 0x1a, 0x4d, 0x2b, 0x04, 0x20, | |
2092 | + 0x02, 0x07, 0x12, 0x15, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2093 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x45, 0x55, 0x58, 0x40, | |
2094 | + 0x40, 0x40, 0x40, 0x40, 0x0a, 0x40, 0x40, 0x40, 0x0a, 0x57, 0x45, 0x40, 0x40, 0x40, 0x40, | |
2095 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x02, 0x02, 0x5f, 0x55, 0x54, 0x02, 0x1a, | |
2096 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x45, 0x45, 0x57, 0x57, 0x4a, 0x52, 0x4d, 0x07, 0x52, | |
2097 | + 0x62, 0x4d, 0x4f, 0x5f, 0x65, 0x62, 0x5f, 0x59, 0x47, 0x42, 0x57, 0x57, 0x57, 0x4a, 0x52, | |
2098 | + 0x4d, 0x07, 0x52, 0x62, 0x4d, 0x4f, 0x5f, 0x65, 0x62, 0x5f, 0x59, 0x47, 0x42, 0x57, 0x03, | |
2099 | + 0x4a, 0x22, 0x55, 0x5f, 0x5f, 0x52, 0x57, 0x57, 0x54, 0x4a, 0x47, 0x4a, 0x00, 0x52, 0x55, | |
2100 | + 0x32, 0x07, 0x52, 0x00, 0x52, 0x55, 0x32, 0x07, 0x52, 0x00, 0x52, 0x55, 0x32, 0x07, 0x52, | |
2101 | + 0x4d, 0x45, 0x1a, 0x1a, 0x0f, 0x12, 0x0f, 0x12, 0x07, 0x12, 0x45, 0x5f, 0x12, 0x45, 0x5f, | |
2102 | + 0x40, 0x40, 0x4d, 0x44, 0x0a, 0x02, 0x4d, 0x0f, 0x02, 0x45, 0x07, 0x0e, 0x27, 0x44, 0x45, | |
2103 | + 0x00, 0x05, 0x0f, 0x4d, 0x32, 0x1d, 0x1a, 0x4d, 0x29, 0x05, 0x1f, 0x02, 0x07, 0x12, 0x15, | |
2104 | + 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2105 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x44, 0x54, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2106 | + 0x09, 0x40, 0x40, 0x40, 0x09, 0x55, 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2107 | + 0x40, 0x40, 0x40, 0x07, 0x03, 0x03, 0x5e, 0x54, 0x53, 0x03, 0x19, 0x40, 0x40, 0x40, 0x40, | |
2108 | + 0x40, 0x40, 0x44, 0x44, 0x56, 0x56, 0x49, 0x51, 0x4c, 0x07, 0x51, 0x61, 0x4c, 0x4e, 0x5e, | |
2109 | + 0x64, 0x61, 0x5e, 0x58, 0x46, 0x41, 0x55, 0x56, 0x56, 0x49, 0x51, 0x4c, 0x07, 0x51, 0x61, | |
2110 | + 0x4c, 0x4e, 0x5e, 0x64, 0x61, 0x5e, 0x58, 0x46, 0x41, 0x55, 0x04, 0x4b, 0x23, 0x54, 0x5e, | |
2111 | + 0x5e, 0x51, 0x56, 0x56, 0x53, 0x49, 0x46, 0x49, 0x01, 0x51, 0x54, 0x31, 0x07, 0x51, 0x01, | |
2112 | + 0x51, 0x54, 0x31, 0x07, 0x51, 0x01, 0x51, 0x54, 0x31, 0x07, 0x51, 0x4c, 0x44, 0x19, 0x19, | |
2113 | + 0x0f, 0x13, 0x0f, 0x13, 0x07, 0x13, 0x44, 0x5e, 0x13, 0x44, 0x5e, 0x40, 0x40, 0x4c, 0x43, | |
2114 | + 0x0b, 0x03, 0x4c, 0x0f, 0x03, 0x44, 0x07, 0x0f, 0x27, 0x43, 0x44, 0x01, 0x06, 0x0f, 0x4c, | |
2115 | + 0x31, 0x1c, 0x19, 0x4c, 0x28, 0x06, 0x1e, 0x03, 0x07, 0x13, 0x14, 0x0f, 0x0f, 0x40, 0x40, | |
2116 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2117 | + 0x00, 0x07, 0x05, 0x44, 0x54, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x09, 0x40, 0x40, 0x40, | |
2118 | + 0x09, 0x53, 0x44, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, | |
2119 | + 0x03, 0x03, 0x5d, 0x54, 0x52, 0x03, 0x19, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x44, 0x44, | |
2120 | + 0x55, 0x55, 0x49, 0x51, 0x4c, 0x07, 0x51, 0x61, 0x4c, 0x4d, 0x5d, 0x64, 0x61, 0x5d, 0x56, | |
2121 | + 0x45, 0x41, 0x53, 0x55, 0x55, 0x49, 0x51, 0x4c, 0x07, 0x51, 0x61, 0x4c, 0x4d, 0x5d, 0x64, | |
2122 | + 0x61, 0x5d, 0x56, 0x45, 0x41, 0x53, 0x05, 0x4b, 0x23, 0x54, 0x5d, 0x5d, 0x51, 0x55, 0x55, | |
2123 | + 0x52, 0x49, 0x45, 0x49, 0x02, 0x51, 0x54, 0x31, 0x07, 0x51, 0x02, 0x51, 0x54, 0x31, 0x07, | |
2124 | + 0x51, 0x02, 0x51, 0x54, 0x31, 0x07, 0x51, 0x4c, 0x44, 0x19, 0x19, 0x0f, 0x13, 0x0f, 0x13, | |
2125 | + 0x07, 0x13, 0x44, 0x5d, 0x13, 0x44, 0x5d, 0x40, 0x40, 0x4c, 0x42, 0x0b, 0x03, 0x4c, 0x0f, | |
2126 | + 0x03, 0x44, 0x07, 0x11, 0x27, 0x42, 0x44, 0x02, 0x06, 0x0f, 0x4c, 0x31, 0x1c, 0x19, 0x4c, | |
2127 | + 0x26, 0x06, 0x1d, 0x03, 0x07, 0x13, 0x14, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2128 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x44, | |
2129 | + 0x54, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x08, 0x40, 0x40, 0x40, 0x08, 0x51, 0x44, 0x40, | |
2130 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x03, 0x03, 0x5c, 0x54, | |
2131 | + 0x51, 0x03, 0x18, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x44, 0x44, 0x54, 0x54, 0x48, 0x50, | |
2132 | + 0x4c, 0x07, 0x50, 0x60, 0x4c, 0x4c, 0x5c, 0x64, 0x60, 0x5c, 0x55, 0x44, 0x40, 0x51, 0x54, | |
2133 | + 0x54, 0x48, 0x50, 0x4c, 0x07, 0x50, 0x60, 0x4c, 0x4c, 0x5c, 0x64, 0x60, 0x5c, 0x55, 0x44, | |
2134 | + 0x40, 0x51, 0x06, 0x4b, 0x23, 0x54, 0x5c, 0x5c, 0x50, 0x54, 0x54, 0x51, 0x48, 0x44, 0x48, | |
2135 | + 0x03, 0x50, 0x54, 0x30, 0x07, 0x50, 0x03, 0x50, 0x54, 0x30, 0x07, 0x50, 0x03, 0x50, 0x54, | |
2136 | + 0x30, 0x07, 0x50, 0x4c, 0x44, 0x18, 0x18, 0x0f, 0x13, 0x0f, 0x13, 0x07, 0x13, 0x44, 0x5c, | |
2137 | + 0x13, 0x44, 0x5c, 0x40, 0x40, 0x4c, 0x41, 0x0b, 0x03, 0x4c, 0x0f, 0x03, 0x44, 0x07, 0x12, | |
2138 | + 0x27, 0x41, 0x44, 0x03, 0x07, 0x0f, 0x4c, 0x30, 0x1c, 0x18, 0x4c, 0x25, 0x07, 0x1c, 0x03, | |
2139 | + 0x07, 0x13, 0x14, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
2140 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x43, 0x53, 0x58, 0x40, 0x40, | |
2141 | + 0x40, 0x40, 0x40, 0x07, 0x40, 0x40, 0x40, 0x07, 0x4f, 0x43, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2142 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x04, 0x04, 0x5b, 0x53, 0x4f, 0x04, 0x17, 0x40, | |
2143 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x43, 0x53, 0x53, 0x47, 0x4f, 0x4b, 0x07, 0x4f, 0x5f, | |
2144 | + 0x4b, 0x4b, 0x5b, 0x63, 0x5f, 0x5b, 0x53, 0x43, 0x00, 0x4f, 0x53, 0x53, 0x47, 0x4f, 0x4b, | |
2145 | + 0x07, 0x4f, 0x5f, 0x4b, 0x4b, 0x5b, 0x63, 0x5f, 0x5b, 0x53, 0x43, 0x00, 0x4f, 0x08, 0x4c, | |
2146 | + 0x24, 0x53, 0x5b, 0x5b, 0x4f, 0x53, 0x53, 0x4f, 0x47, 0x43, 0x47, 0x04, 0x4f, 0x53, 0x2f, | |
2147 | + 0x07, 0x4f, 0x04, 0x4f, 0x53, 0x2f, 0x07, 0x4f, 0x04, 0x4f, 0x53, 0x2f, 0x07, 0x4f, 0x4b, | |
2148 | + 0x43, 0x17, 0x17, 0x0f, 0x14, 0x0f, 0x14, 0x07, 0x14, 0x43, 0x5b, 0x14, 0x43, 0x5b, 0x40, | |
2149 | + 0x40, 0x4b, 0x00, 0x0c, 0x04, 0x4b, 0x0f, 0x04, 0x43, 0x07, 0x14, 0x27, 0x00, 0x43, 0x04, | |
2150 | + 0x08, 0x0f, 0x4b, 0x2f, 0x1b, 0x17, 0x4b, 0x23, 0x08, 0x1b, 0x04, 0x07, 0x14, 0x13, 0x0f, | |
2151 | + 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2152 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x43, 0x53, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, | |
2153 | + 0x40, 0x40, 0x40, 0x07, 0x4d, 0x43, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2154 | + 0x40, 0x40, 0x07, 0x04, 0x04, 0x5a, 0x53, 0x4e, 0x04, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2155 | + 0x40, 0x43, 0x43, 0x52, 0x52, 0x47, 0x4f, 0x4b, 0x07, 0x4f, 0x5f, 0x4b, 0x4a, 0x5a, 0x63, | |
2156 | + 0x5f, 0x5a, 0x52, 0x42, 0x00, 0x4d, 0x52, 0x52, 0x47, 0x4f, 0x4b, 0x07, 0x4f, 0x5f, 0x4b, | |
2157 | + 0x4a, 0x5a, 0x63, 0x5f, 0x5a, 0x52, 0x42, 0x00, 0x4d, 0x09, 0x4c, 0x24, 0x53, 0x5a, 0x5a, | |
2158 | + 0x4f, 0x52, 0x52, 0x4e, 0x47, 0x42, 0x47, 0x05, 0x4f, 0x53, 0x2f, 0x07, 0x4f, 0x05, 0x4f, | |
2159 | + 0x53, 0x2f, 0x07, 0x4f, 0x05, 0x4f, 0x53, 0x2f, 0x07, 0x4f, 0x4b, 0x43, 0x17, 0x17, 0x0f, | |
2160 | + 0x14, 0x0f, 0x14, 0x07, 0x14, 0x43, 0x5a, 0x14, 0x43, 0x5a, 0x40, 0x40, 0x4b, 0x01, 0x0c, | |
2161 | + 0x04, 0x4b, 0x0f, 0x04, 0x43, 0x07, 0x15, 0x27, 0x01, 0x43, 0x05, 0x08, 0x0f, 0x4b, 0x2f, | |
2162 | + 0x1b, 0x17, 0x4b, 0x22, 0x08, 0x1a, 0x04, 0x07, 0x14, 0x13, 0x0f, 0x0f, 0x40, 0x40, 0x40, | |
2163 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2164 | + 0x07, 0x01, 0x43, 0x53, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x06, 0x40, 0x40, 0x40, 0x06, | |
2165 | + 0x4b, 0x43, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x04, | |
2166 | + 0x04, 0x59, 0x53, 0x4d, 0x04, 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x43, 0x51, | |
2167 | + 0x51, 0x46, 0x4e, 0x4b, 0x07, 0x4e, 0x5e, 0x4b, 0x49, 0x59, 0x63, 0x5e, 0x59, 0x50, 0x41, | |
2168 | + 0x01, 0x4b, 0x51, 0x51, 0x46, 0x4e, 0x4b, 0x07, 0x4e, 0x5e, 0x4b, 0x49, 0x59, 0x63, 0x5e, | |
2169 | + 0x59, 0x50, 0x41, 0x01, 0x4b, 0x0a, 0x4c, 0x24, 0x53, 0x59, 0x59, 0x4e, 0x51, 0x51, 0x4d, | |
2170 | + 0x46, 0x41, 0x46, 0x06, 0x4e, 0x53, 0x2e, 0x07, 0x4e, 0x06, 0x4e, 0x53, 0x2e, 0x07, 0x4e, | |
2171 | + 0x06, 0x4e, 0x53, 0x2e, 0x07, 0x4e, 0x4b, 0x43, 0x16, 0x16, 0x0f, 0x14, 0x0f, 0x14, 0x07, | |
2172 | + 0x14, 0x43, 0x59, 0x14, 0x43, 0x59, 0x40, 0x40, 0x4b, 0x02, 0x0c, 0x04, 0x4b, 0x0f, 0x04, | |
2173 | + 0x43, 0x07, 0x17, 0x27, 0x02, 0x43, 0x06, 0x09, 0x0f, 0x4b, 0x2e, 0x1b, 0x16, 0x4b, 0x20, | |
2174 | + 0x09, 0x19, 0x04, 0x07, 0x14, 0x13, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2175 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x43, 0x53, | |
2176 | + 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x05, 0x40, 0x40, 0x40, 0x05, 0x4a, 0x43, 0x40, 0x40, | |
2177 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x04, 0x04, 0x59, 0x53, 0x4c, | |
2178 | + 0x04, 0x15, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x43, 0x51, 0x51, 0x46, 0x4e, 0x4b, | |
2179 | + 0x07, 0x4e, 0x5e, 0x4b, 0x49, 0x59, 0x63, 0x5e, 0x59, 0x4f, 0x41, 0x01, 0x4a, 0x51, 0x51, | |
2180 | + 0x46, 0x4e, 0x4b, 0x07, 0x4e, 0x5e, 0x4b, 0x49, 0x59, 0x63, 0x5e, 0x59, 0x4f, 0x41, 0x01, | |
2181 | + 0x4a, 0x0b, 0x4d, 0x24, 0x53, 0x59, 0x59, 0x4e, 0x51, 0x51, 0x4c, 0x46, 0x41, 0x46, 0x06, | |
2182 | + 0x4e, 0x53, 0x2d, 0x07, 0x4e, 0x06, 0x4e, 0x53, 0x2d, 0x07, 0x4e, 0x06, 0x4e, 0x53, 0x2d, | |
2183 | + 0x07, 0x4e, 0x4b, 0x43, 0x15, 0x15, 0x0f, 0x14, 0x0f, 0x14, 0x07, 0x14, 0x43, 0x59, 0x14, | |
2184 | + 0x43, 0x59, 0x40, 0x40, 0x4b, 0x03, 0x0c, 0x04, 0x4b, 0x0f, 0x04, 0x43, 0x07, 0x18, 0x27, | |
2185 | + 0x03, 0x43, 0x06, 0x09, 0x0f, 0x4b, 0x2d, 0x1a, 0x15, 0x4b, 0x1e, 0x09, 0x18, 0x04, 0x07, | |
2186 | + 0x14, 0x12, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2187 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x42, 0x52, 0x58, 0x40, 0x40, 0x40, | |
2188 | + 0x40, 0x40, 0x05, 0x40, 0x40, 0x40, 0x05, 0x48, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2189 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x05, 0x05, 0x58, 0x52, 0x4a, 0x05, 0x15, 0x40, 0x40, | |
2190 | + 0x40, 0x40, 0x40, 0x40, 0x42, 0x42, 0x50, 0x50, 0x45, 0x4d, 0x4a, 0x07, 0x4d, 0x5d, 0x4a, | |
2191 | + 0x48, 0x58, 0x62, 0x5d, 0x58, 0x4d, 0x40, 0x02, 0x48, 0x50, 0x50, 0x45, 0x4d, 0x4a, 0x07, | |
2192 | + 0x4d, 0x5d, 0x4a, 0x48, 0x58, 0x62, 0x5d, 0x58, 0x4d, 0x40, 0x02, 0x48, 0x0d, 0x4d, 0x25, | |
2193 | + 0x52, 0x58, 0x58, 0x4d, 0x50, 0x50, 0x4a, 0x45, 0x40, 0x45, 0x07, 0x4d, 0x52, 0x2d, 0x07, | |
2194 | + 0x4d, 0x07, 0x4d, 0x52, 0x2d, 0x07, 0x4d, 0x07, 0x4d, 0x52, 0x2d, 0x07, 0x4d, 0x4a, 0x42, | |
2195 | + 0x15, 0x15, 0x0f, 0x15, 0x0f, 0x15, 0x07, 0x15, 0x42, 0x58, 0x15, 0x42, 0x58, 0x40, 0x40, | |
2196 | + 0x4a, 0x05, 0x0d, 0x05, 0x4a, 0x0f, 0x05, 0x42, 0x07, 0x1a, 0x27, 0x05, 0x42, 0x07, 0x0a, | |
2197 | + 0x0f, 0x4a, 0x2d, 0x1a, 0x15, 0x4a, 0x1d, 0x0a, 0x18, 0x05, 0x07, 0x15, 0x12, 0x0f, 0x0f, | |
2198 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2199 | + 0x00, 0x00, 0x00, 0x07, 0x40, 0x42, 0x52, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x04, 0x40, | |
2200 | + 0x40, 0x40, 0x04, 0x46, 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2201 | + 0x40, 0x07, 0x05, 0x05, 0x57, 0x52, 0x49, 0x05, 0x14, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2202 | + 0x42, 0x42, 0x4f, 0x4f, 0x44, 0x4c, 0x4a, 0x07, 0x4c, 0x5c, 0x4a, 0x47, 0x57, 0x62, 0x5c, | |
2203 | + 0x57, 0x4b, 0x00, 0x03, 0x46, 0x4f, 0x4f, 0x44, 0x4c, 0x4a, 0x07, 0x4c, 0x5c, 0x4a, 0x47, | |
2204 | + 0x57, 0x62, 0x5c, 0x57, 0x4b, 0x00, 0x03, 0x46, 0x0e, 0x4d, 0x25, 0x52, 0x57, 0x57, 0x4c, | |
2205 | + 0x4f, 0x4f, 0x49, 0x44, 0x00, 0x44, 0x08, 0x4c, 0x52, 0x2c, 0x07, 0x4c, 0x08, 0x4c, 0x52, | |
2206 | + 0x2c, 0x07, 0x4c, 0x08, 0x4c, 0x52, 0x2c, 0x07, 0x4c, 0x4a, 0x42, 0x14, 0x14, 0x0f, 0x15, | |
2207 | + 0x0f, 0x15, 0x07, 0x15, 0x42, 0x57, 0x15, 0x42, 0x57, 0x40, 0x40, 0x4a, 0x06, 0x0d, 0x05, | |
2208 | + 0x4a, 0x0f, 0x05, 0x42, 0x07, 0x1c, 0x27, 0x06, 0x42, 0x08, 0x0b, 0x0f, 0x4a, 0x2c, 0x1a, | |
2209 | + 0x14, 0x4a, 0x1b, 0x0b, 0x17, 0x05, 0x07, 0x15, 0x12, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, | |
2210 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2211 | + 0x41, 0x42, 0x52, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x04, 0x40, 0x40, 0x40, 0x04, 0x44, | |
2212 | + 0x42, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x05, 0x05, | |
2213 | + 0x56, 0x52, 0x48, 0x05, 0x14, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, 0x42, 0x4e, 0x4e, | |
2214 | + 0x44, 0x4c, 0x4a, 0x07, 0x4c, 0x5c, 0x4a, 0x46, 0x56, 0x62, 0x5c, 0x56, 0x4a, 0x01, 0x03, | |
2215 | + 0x44, 0x4e, 0x4e, 0x44, 0x4c, 0x4a, 0x07, 0x4c, 0x5c, 0x4a, 0x46, 0x56, 0x62, 0x5c, 0x56, | |
2216 | + 0x4a, 0x01, 0x03, 0x44, 0x0f, 0x4d, 0x25, 0x52, 0x56, 0x56, 0x4c, 0x4e, 0x4e, 0x48, 0x44, | |
2217 | + 0x01, 0x44, 0x09, 0x4c, 0x52, 0x2c, 0x07, 0x4c, 0x09, 0x4c, 0x52, 0x2c, 0x07, 0x4c, 0x09, | |
2218 | + 0x4c, 0x52, 0x2c, 0x07, 0x4c, 0x4a, 0x42, 0x14, 0x14, 0x0f, 0x15, 0x0f, 0x15, 0x07, 0x15, | |
2219 | + 0x42, 0x56, 0x15, 0x42, 0x56, 0x40, 0x40, 0x4a, 0x07, 0x0d, 0x05, 0x4a, 0x0f, 0x05, 0x42, | |
2220 | + 0x07, 0x1d, 0x27, 0x07, 0x42, 0x09, 0x0b, 0x0f, 0x4a, 0x2c, 0x1a, 0x14, 0x4a, 0x1a, 0x0b, | |
2221 | + 0x16, 0x05, 0x07, 0x15, 0x12, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2222 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x41, 0x51, 0x58, | |
2223 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x03, 0x40, 0x40, 0x40, 0x03, 0x42, 0x41, 0x40, 0x40, 0x40, | |
2224 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x06, 0x06, 0x55, 0x51, 0x47, 0x06, | |
2225 | + 0x13, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 0x41, 0x4d, 0x4d, 0x43, 0x4b, 0x49, 0x07, | |
2226 | + 0x4b, 0x5b, 0x49, 0x45, 0x55, 0x61, 0x5b, 0x55, 0x48, 0x02, 0x04, 0x42, 0x4d, 0x4d, 0x43, | |
2227 | + 0x4b, 0x49, 0x07, 0x4b, 0x5b, 0x49, 0x45, 0x55, 0x61, 0x5b, 0x55, 0x48, 0x02, 0x04, 0x42, | |
2228 | + 0x10, 0x4e, 0x26, 0x51, 0x55, 0x55, 0x4b, 0x4d, 0x4d, 0x47, 0x43, 0x02, 0x43, 0x0a, 0x4b, | |
2229 | + 0x51, 0x2b, 0x07, 0x4b, 0x0a, 0x4b, 0x51, 0x2b, 0x07, 0x4b, 0x0a, 0x4b, 0x51, 0x2b, 0x07, | |
2230 | + 0x4b, 0x49, 0x41, 0x13, 0x13, 0x0f, 0x16, 0x0f, 0x16, 0x07, 0x16, 0x41, 0x55, 0x16, 0x41, | |
2231 | + 0x55, 0x40, 0x40, 0x49, 0x08, 0x0e, 0x06, 0x49, 0x0f, 0x06, 0x41, 0x07, 0x1f, 0x27, 0x08, | |
2232 | + 0x41, 0x0a, 0x0c, 0x0f, 0x49, 0x2b, 0x19, 0x13, 0x49, 0x18, 0x0c, 0x15, 0x06, 0x07, 0x16, | |
2233 | + 0x11, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2234 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x43, 0x41, 0x51, 0x58, 0x40, 0x40, 0x40, 0x40, | |
2235 | + 0x40, 0x02, 0x40, 0x40, 0x40, 0x02, 0x40, 0x41, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2236 | + 0x40, 0x40, 0x40, 0x40, 0x07, 0x06, 0x06, 0x54, 0x51, 0x45, 0x06, 0x12, 0x40, 0x40, 0x40, | |
2237 | + 0x40, 0x40, 0x40, 0x41, 0x41, 0x4c, 0x4c, 0x42, 0x4a, 0x49, 0x07, 0x4a, 0x5a, 0x49, 0x44, | |
2238 | + 0x54, 0x61, 0x5a, 0x54, 0x47, 0x03, 0x05, 0x40, 0x4c, 0x4c, 0x42, 0x4a, 0x49, 0x07, 0x4a, | |
2239 | + 0x5a, 0x49, 0x44, 0x54, 0x61, 0x5a, 0x54, 0x47, 0x03, 0x05, 0x40, 0x12, 0x4e, 0x26, 0x51, | |
2240 | + 0x54, 0x54, 0x4a, 0x4c, 0x4c, 0x45, 0x42, 0x03, 0x42, 0x0b, 0x4a, 0x51, 0x2a, 0x07, 0x4a, | |
2241 | + 0x0b, 0x4a, 0x51, 0x2a, 0x07, 0x4a, 0x0b, 0x4a, 0x51, 0x2a, 0x07, 0x4a, 0x49, 0x41, 0x12, | |
2242 | + 0x12, 0x0f, 0x16, 0x0f, 0x16, 0x07, 0x16, 0x41, 0x54, 0x16, 0x41, 0x54, 0x40, 0x40, 0x49, | |
2243 | + 0x0a, 0x0e, 0x06, 0x49, 0x0f, 0x06, 0x41, 0x07, 0x20, 0x27, 0x0a, 0x41, 0x0b, 0x0d, 0x0f, | |
2244 | + 0x49, 0x2a, 0x19, 0x12, 0x49, 0x17, 0x0d, 0x14, 0x06, 0x07, 0x16, 0x11, 0x0f, 0x0f, 0x40, | |
2245 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2246 | + 0x00, 0x00, 0x07, 0x44, 0x41, 0x51, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x02, 0x40, 0x40, | |
2247 | + 0x40, 0x02, 0x01, 0x41, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2248 | + 0x07, 0x06, 0x06, 0x53, 0x51, 0x44, 0x06, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, | |
2249 | + 0x41, 0x4b, 0x4b, 0x42, 0x4a, 0x49, 0x07, 0x4a, 0x5a, 0x49, 0x43, 0x53, 0x61, 0x5a, 0x53, | |
2250 | + 0x45, 0x04, 0x05, 0x01, 0x4b, 0x4b, 0x42, 0x4a, 0x49, 0x07, 0x4a, 0x5a, 0x49, 0x43, 0x53, | |
2251 | + 0x61, 0x5a, 0x53, 0x45, 0x04, 0x05, 0x01, 0x13, 0x4e, 0x26, 0x51, 0x53, 0x53, 0x4a, 0x4b, | |
2252 | + 0x4b, 0x44, 0x42, 0x04, 0x42, 0x0c, 0x4a, 0x51, 0x2a, 0x07, 0x4a, 0x0c, 0x4a, 0x51, 0x2a, | |
2253 | + 0x07, 0x4a, 0x0c, 0x4a, 0x51, 0x2a, 0x07, 0x4a, 0x49, 0x41, 0x12, 0x12, 0x0f, 0x16, 0x0f, | |
2254 | + 0x16, 0x07, 0x16, 0x41, 0x53, 0x16, 0x41, 0x53, 0x40, 0x40, 0x49, 0x0b, 0x0e, 0x06, 0x49, | |
2255 | + 0x0f, 0x06, 0x41, 0x07, 0x22, 0x27, 0x0b, 0x41, 0x0c, 0x0d, 0x0f, 0x49, 0x2a, 0x19, 0x12, | |
2256 | + 0x49, 0x15, 0x0d, 0x13, 0x06, 0x07, 0x16, 0x11, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2257 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x45, | |
2258 | + 0x40, 0x50, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x01, 0x40, 0x40, 0x40, 0x01, 0x03, 0x40, | |
2259 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x52, | |
2260 | + 0x50, 0x43, 0x07, 0x11, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4a, 0x4a, 0x41, | |
2261 | + 0x49, 0x48, 0x07, 0x49, 0x59, 0x48, 0x42, 0x52, 0x60, 0x59, 0x52, 0x44, 0x05, 0x06, 0x03, | |
2262 | + 0x4a, 0x4a, 0x41, 0x49, 0x48, 0x07, 0x49, 0x59, 0x48, 0x42, 0x52, 0x60, 0x59, 0x52, 0x44, | |
2263 | + 0x05, 0x06, 0x03, 0x14, 0x4f, 0x27, 0x50, 0x52, 0x52, 0x49, 0x4a, 0x4a, 0x43, 0x41, 0x05, | |
2264 | + 0x41, 0x0d, 0x49, 0x50, 0x29, 0x07, 0x49, 0x0d, 0x49, 0x50, 0x29, 0x07, 0x49, 0x0d, 0x49, | |
2265 | + 0x50, 0x29, 0x07, 0x49, 0x48, 0x40, 0x11, 0x11, 0x0f, 0x17, 0x0f, 0x17, 0x07, 0x17, 0x40, | |
2266 | + 0x52, 0x17, 0x40, 0x52, 0x40, 0x40, 0x48, 0x0c, 0x0f, 0x07, 0x48, 0x0f, 0x07, 0x40, 0x07, | |
2267 | + 0x23, 0x27, 0x0c, 0x40, 0x0d, 0x0e, 0x0f, 0x48, 0x29, 0x18, 0x11, 0x48, 0x14, 0x0e, 0x12, | |
2268 | + 0x07, 0x07, 0x17, 0x10, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2269 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x46, 0x40, 0x50, 0x58, 0x40, | |
2270 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2271 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x51, 0x50, 0x42, 0x07, 0x10, | |
2272 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x49, 0x49, 0x41, 0x49, 0x48, 0x07, 0x49, | |
2273 | + 0x59, 0x48, 0x41, 0x51, 0x60, 0x59, 0x51, 0x42, 0x06, 0x06, 0x04, 0x49, 0x49, 0x41, 0x49, | |
2274 | + 0x48, 0x07, 0x49, 0x59, 0x48, 0x41, 0x51, 0x60, 0x59, 0x51, 0x42, 0x06, 0x06, 0x04, 0x15, | |
2275 | + 0x4f, 0x27, 0x50, 0x51, 0x51, 0x49, 0x49, 0x49, 0x42, 0x41, 0x06, 0x41, 0x0e, 0x49, 0x50, | |
2276 | + 0x28, 0x07, 0x49, 0x0e, 0x49, 0x50, 0x28, 0x07, 0x49, 0x0e, 0x49, 0x50, 0x28, 0x07, 0x49, | |
2277 | + 0x48, 0x40, 0x10, 0x10, 0x0f, 0x17, 0x0f, 0x17, 0x07, 0x17, 0x40, 0x51, 0x17, 0x40, 0x51, | |
2278 | + 0x40, 0x40, 0x48, 0x0d, 0x0f, 0x07, 0x48, 0x0f, 0x07, 0x40, 0x07, 0x25, 0x27, 0x0d, 0x40, | |
2279 | + 0x0e, 0x0e, 0x0f, 0x48, 0x28, 0x18, 0x10, 0x48, 0x12, 0x0e, 0x11, 0x07, 0x07, 0x17, 0x10, | |
2280 | + 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2281 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x47, 0x40, 0x50, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2282 | + 0x00, 0x40, 0x40, 0x40, 0x00, 0x06, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2283 | + 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x50, 0x50, 0x40, 0x07, 0x10, 0x40, 0x40, 0x40, 0x40, | |
2284 | + 0x40, 0x40, 0x40, 0x40, 0x48, 0x48, 0x40, 0x48, 0x48, 0x07, 0x48, 0x58, 0x48, 0x40, 0x50, | |
2285 | + 0x60, 0x58, 0x50, 0x40, 0x07, 0x07, 0x06, 0x48, 0x48, 0x40, 0x48, 0x48, 0x07, 0x48, 0x58, | |
2286 | + 0x48, 0x40, 0x50, 0x60, 0x58, 0x50, 0x40, 0x07, 0x07, 0x06, 0x17, 0x4f, 0x27, 0x50, 0x50, | |
2287 | + 0x50, 0x48, 0x48, 0x48, 0x40, 0x40, 0x07, 0x40, 0x0f, 0x48, 0x50, 0x28, 0x07, 0x48, 0x0f, | |
2288 | + 0x48, 0x50, 0x28, 0x07, 0x48, 0x0f, 0x48, 0x50, 0x28, 0x07, 0x48, 0x48, 0x40, 0x10, 0x10, | |
2289 | + 0x0f, 0x17, 0x0f, 0x17, 0x07, 0x17, 0x40, 0x50, 0x17, 0x40, 0x50, 0x40, 0x40, 0x48, 0x0f, | |
2290 | + 0x0f, 0x07, 0x48, 0x0f, 0x07, 0x40, 0x07, 0x27, 0x27, 0x0f, 0x40, 0x0f, 0x0f, 0x0f, 0x48, | |
2291 | + 0x28, 0x18, 0x10, 0x48, 0x10, 0x0f, 0x10, 0x07, 0x07, 0x17, 0x10, 0x0f, 0x0f, 0x40, 0x40, | |
2292 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2293 | + 0x00, 0x07, 0x48, 0x00, 0x4f, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2294 | + 0x40, 0x08, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, | |
2295 | + 0x08, 0x08, 0x4f, 0x4f, 0x00, 0x08, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2296 | + 0x47, 0x47, 0x00, 0x47, 0x47, 0x07, 0x47, 0x57, 0x47, 0x00, 0x4f, 0x5f, 0x57, 0x4f, 0x00, | |
2297 | + 0x08, 0x08, 0x08, 0x47, 0x47, 0x00, 0x47, 0x47, 0x07, 0x47, 0x57, 0x47, 0x00, 0x4f, 0x5f, | |
2298 | + 0x57, 0x4f, 0x00, 0x08, 0x08, 0x08, 0x18, 0x50, 0x28, 0x4f, 0x4f, 0x4f, 0x47, 0x47, 0x47, | |
2299 | + 0x00, 0x00, 0x08, 0x00, 0x10, 0x47, 0x4f, 0x27, 0x07, 0x47, 0x10, 0x47, 0x4f, 0x27, 0x07, | |
2300 | + 0x47, 0x10, 0x47, 0x4f, 0x27, 0x07, 0x47, 0x47, 0x00, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, | |
2301 | + 0x07, 0x18, 0x00, 0x4f, 0x18, 0x00, 0x4f, 0x40, 0x40, 0x47, 0x10, 0x10, 0x08, 0x47, 0x0f, | |
2302 | + 0x08, 0x00, 0x07, 0x28, 0x27, 0x10, 0x00, 0x10, 0x10, 0x0f, 0x47, 0x27, 0x17, 0x0f, 0x47, | |
2303 | + 0x0f, 0x10, 0x0f, 0x08, 0x07, 0x18, 0x0f, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2304 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x49, 0x00, | |
2305 | + 0x4f, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0a, 0x00, 0x40, | |
2306 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x08, 0x08, 0x4e, 0x4f, | |
2307 | + 0x01, 0x08, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x46, 0x46, 0x00, 0x47, | |
2308 | + 0x47, 0x07, 0x47, 0x57, 0x47, 0x01, 0x4e, 0x5f, 0x57, 0x4e, 0x02, 0x09, 0x08, 0x0a, 0x46, | |
2309 | + 0x46, 0x00, 0x47, 0x47, 0x07, 0x47, 0x57, 0x47, 0x01, 0x4e, 0x5f, 0x57, 0x4e, 0x02, 0x09, | |
2310 | + 0x08, 0x0a, 0x19, 0x50, 0x28, 0x4f, 0x4e, 0x4e, 0x47, 0x46, 0x46, 0x01, 0x00, 0x09, 0x00, | |
2311 | + 0x11, 0x47, 0x4f, 0x27, 0x07, 0x47, 0x11, 0x47, 0x4f, 0x27, 0x07, 0x47, 0x11, 0x47, 0x4f, | |
2312 | + 0x27, 0x07, 0x47, 0x47, 0x00, 0x0f, 0x0f, 0x0f, 0x18, 0x0f, 0x18, 0x07, 0x18, 0x00, 0x4e, | |
2313 | + 0x18, 0x00, 0x4e, 0x40, 0x40, 0x47, 0x11, 0x10, 0x08, 0x47, 0x0f, 0x08, 0x00, 0x07, 0x2a, | |
2314 | + 0x27, 0x11, 0x00, 0x11, 0x10, 0x0f, 0x47, 0x27, 0x17, 0x0f, 0x47, 0x0d, 0x10, 0x0e, 0x08, | |
2315 | + 0x07, 0x18, 0x0f, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
2316 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4a, 0x00, 0x4f, 0x58, 0x40, 0x40, | |
2317 | + 0x40, 0x40, 0x40, 0x41, 0x40, 0x40, 0x40, 0x41, 0x0c, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2318 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x08, 0x08, 0x4d, 0x4f, 0x02, 0x08, 0x0e, 0x40, | |
2319 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x45, 0x45, 0x01, 0x46, 0x47, 0x07, 0x46, 0x56, | |
2320 | + 0x47, 0x02, 0x4d, 0x5f, 0x56, 0x4d, 0x03, 0x0a, 0x09, 0x0c, 0x45, 0x45, 0x01, 0x46, 0x47, | |
2321 | + 0x07, 0x46, 0x56, 0x47, 0x02, 0x4d, 0x5f, 0x56, 0x4d, 0x03, 0x0a, 0x09, 0x0c, 0x1a, 0x50, | |
2322 | + 0x28, 0x4f, 0x4d, 0x4d, 0x46, 0x45, 0x45, 0x02, 0x01, 0x0a, 0x01, 0x12, 0x46, 0x4f, 0x26, | |
2323 | + 0x07, 0x46, 0x12, 0x46, 0x4f, 0x26, 0x07, 0x46, 0x12, 0x46, 0x4f, 0x26, 0x07, 0x46, 0x47, | |
2324 | + 0x00, 0x0e, 0x0e, 0x0f, 0x18, 0x0f, 0x18, 0x07, 0x18, 0x00, 0x4d, 0x18, 0x00, 0x4d, 0x40, | |
2325 | + 0x40, 0x47, 0x12, 0x10, 0x08, 0x47, 0x0f, 0x08, 0x00, 0x07, 0x2b, 0x27, 0x12, 0x00, 0x12, | |
2326 | + 0x11, 0x0f, 0x47, 0x26, 0x17, 0x0e, 0x47, 0x0c, 0x11, 0x0d, 0x08, 0x07, 0x18, 0x0f, 0x0f, | |
2327 | + 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2328 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x4b, 0x01, 0x4e, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, | |
2329 | + 0x40, 0x40, 0x40, 0x42, 0x0e, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2330 | + 0x40, 0x40, 0x07, 0x09, 0x09, 0x4c, 0x4e, 0x04, 0x09, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2331 | + 0x40, 0x01, 0x01, 0x44, 0x44, 0x02, 0x45, 0x46, 0x07, 0x45, 0x55, 0x46, 0x03, 0x4c, 0x5e, | |
2332 | + 0x55, 0x4c, 0x05, 0x0b, 0x0a, 0x0e, 0x44, 0x44, 0x02, 0x45, 0x46, 0x07, 0x45, 0x55, 0x46, | |
2333 | + 0x03, 0x4c, 0x5e, 0x55, 0x4c, 0x05, 0x0b, 0x0a, 0x0e, 0x1c, 0x51, 0x29, 0x4e, 0x4c, 0x4c, | |
2334 | + 0x45, 0x44, 0x44, 0x04, 0x02, 0x0b, 0x02, 0x13, 0x45, 0x4e, 0x25, 0x07, 0x45, 0x13, 0x45, | |
2335 | + 0x4e, 0x25, 0x07, 0x45, 0x13, 0x45, 0x4e, 0x25, 0x07, 0x45, 0x46, 0x01, 0x0d, 0x0d, 0x0f, | |
2336 | + 0x19, 0x0f, 0x19, 0x07, 0x19, 0x01, 0x4c, 0x19, 0x01, 0x4c, 0x40, 0x40, 0x46, 0x14, 0x11, | |
2337 | + 0x09, 0x46, 0x0f, 0x09, 0x01, 0x07, 0x2d, 0x27, 0x14, 0x01, 0x13, 0x12, 0x0f, 0x46, 0x25, | |
2338 | + 0x16, 0x0d, 0x46, 0x0a, 0x12, 0x0c, 0x09, 0x07, 0x19, 0x0e, 0x0f, 0x0f, 0x40, 0x40, 0x40, | |
2339 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2340 | + 0x07, 0x4c, 0x01, 0x4e, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x42, 0x40, 0x40, 0x40, 0x42, | |
2341 | + 0x10, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x09, | |
2342 | + 0x09, 0x4b, 0x4e, 0x05, 0x09, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x01, 0x01, 0x43, | |
2343 | + 0x43, 0x02, 0x45, 0x46, 0x07, 0x45, 0x55, 0x46, 0x04, 0x4b, 0x5e, 0x55, 0x4b, 0x06, 0x0c, | |
2344 | + 0x0a, 0x10, 0x43, 0x43, 0x02, 0x45, 0x46, 0x07, 0x45, 0x55, 0x46, 0x04, 0x4b, 0x5e, 0x55, | |
2345 | + 0x4b, 0x06, 0x0c, 0x0a, 0x10, 0x1d, 0x51, 0x29, 0x4e, 0x4b, 0x4b, 0x45, 0x43, 0x43, 0x05, | |
2346 | + 0x02, 0x0c, 0x02, 0x14, 0x45, 0x4e, 0x25, 0x07, 0x45, 0x14, 0x45, 0x4e, 0x25, 0x07, 0x45, | |
2347 | + 0x14, 0x45, 0x4e, 0x25, 0x07, 0x45, 0x46, 0x01, 0x0d, 0x0d, 0x0f, 0x19, 0x0f, 0x19, 0x07, | |
2348 | + 0x19, 0x01, 0x4b, 0x19, 0x01, 0x4b, 0x40, 0x40, 0x46, 0x15, 0x11, 0x09, 0x46, 0x0f, 0x09, | |
2349 | + 0x01, 0x07, 0x2e, 0x27, 0x15, 0x01, 0x14, 0x12, 0x0f, 0x46, 0x25, 0x16, 0x0d, 0x46, 0x09, | |
2350 | + 0x12, 0x0b, 0x09, 0x07, 0x19, 0x0e, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2351 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4d, 0x01, 0x4e, | |
2352 | + 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x43, 0x40, 0x40, 0x40, 0x43, 0x12, 0x01, 0x40, 0x40, | |
2353 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x09, 0x09, 0x4a, 0x4e, 0x06, | |
2354 | + 0x09, 0x0c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x01, 0x01, 0x42, 0x42, 0x03, 0x44, 0x46, | |
2355 | + 0x07, 0x44, 0x54, 0x46, 0x05, 0x4a, 0x5e, 0x54, 0x4a, 0x08, 0x0d, 0x0b, 0x12, 0x42, 0x42, | |
2356 | + 0x03, 0x44, 0x46, 0x07, 0x44, 0x54, 0x46, 0x05, 0x4a, 0x5e, 0x54, 0x4a, 0x08, 0x0d, 0x0b, | |
2357 | + 0x12, 0x1e, 0x51, 0x29, 0x4e, 0x4a, 0x4a, 0x44, 0x42, 0x42, 0x06, 0x03, 0x0d, 0x03, 0x15, | |
2358 | + 0x44, 0x4e, 0x24, 0x07, 0x44, 0x15, 0x44, 0x4e, 0x24, 0x07, 0x44, 0x15, 0x44, 0x4e, 0x24, | |
2359 | + 0x07, 0x44, 0x46, 0x01, 0x0c, 0x0c, 0x0f, 0x19, 0x0f, 0x19, 0x07, 0x19, 0x01, 0x4a, 0x19, | |
2360 | + 0x01, 0x4a, 0x40, 0x40, 0x46, 0x16, 0x11, 0x09, 0x46, 0x0f, 0x09, 0x01, 0x07, 0x30, 0x27, | |
2361 | + 0x16, 0x01, 0x15, 0x13, 0x0f, 0x46, 0x24, 0x16, 0x0c, 0x46, 0x07, 0x13, 0x0a, 0x09, 0x07, | |
2362 | + 0x19, 0x0e, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2363 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4e, 0x01, 0x4e, 0x58, 0x40, 0x40, 0x40, | |
2364 | + 0x40, 0x40, 0x44, 0x40, 0x40, 0x40, 0x44, 0x13, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2365 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x09, 0x09, 0x4a, 0x4e, 0x07, 0x09, 0x0b, 0x40, 0x40, | |
2366 | + 0x40, 0x40, 0x40, 0x40, 0x01, 0x01, 0x42, 0x42, 0x03, 0x44, 0x46, 0x07, 0x44, 0x54, 0x46, | |
2367 | + 0x05, 0x4a, 0x5e, 0x54, 0x4a, 0x09, 0x0d, 0x0b, 0x13, 0x42, 0x42, 0x03, 0x44, 0x46, 0x07, | |
2368 | + 0x44, 0x54, 0x46, 0x05, 0x4a, 0x5e, 0x54, 0x4a, 0x09, 0x0d, 0x0b, 0x13, 0x1f, 0x52, 0x29, | |
2369 | + 0x4e, 0x4a, 0x4a, 0x44, 0x42, 0x42, 0x07, 0x03, 0x0d, 0x03, 0x15, 0x44, 0x4e, 0x23, 0x07, | |
2370 | + 0x44, 0x15, 0x44, 0x4e, 0x23, 0x07, 0x44, 0x15, 0x44, 0x4e, 0x23, 0x07, 0x44, 0x46, 0x01, | |
2371 | + 0x0b, 0x0b, 0x0f, 0x19, 0x0f, 0x19, 0x07, 0x19, 0x01, 0x4a, 0x19, 0x01, 0x4a, 0x40, 0x40, | |
2372 | + 0x46, 0x17, 0x11, 0x09, 0x46, 0x0f, 0x09, 0x01, 0x07, 0x31, 0x27, 0x17, 0x01, 0x15, 0x13, | |
2373 | + 0x0f, 0x46, 0x23, 0x15, 0x0b, 0x46, 0x05, 0x13, 0x09, 0x09, 0x07, 0x19, 0x0d, 0x0f, 0x0f, | |
2374 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2375 | + 0x00, 0x00, 0x00, 0x07, 0x4e, 0x02, 0x4d, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x44, 0x40, | |
2376 | + 0x40, 0x40, 0x44, 0x15, 0x02, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2377 | + 0x40, 0x07, 0x0a, 0x0a, 0x49, 0x4d, 0x09, 0x0a, 0x0b, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2378 | + 0x02, 0x02, 0x41, 0x41, 0x04, 0x43, 0x45, 0x07, 0x43, 0x53, 0x45, 0x06, 0x49, 0x5d, 0x53, | |
2379 | + 0x49, 0x0b, 0x0e, 0x0c, 0x15, 0x41, 0x41, 0x04, 0x43, 0x45, 0x07, 0x43, 0x53, 0x45, 0x06, | |
2380 | + 0x49, 0x5d, 0x53, 0x49, 0x0b, 0x0e, 0x0c, 0x15, 0x21, 0x52, 0x2a, 0x4d, 0x49, 0x49, 0x43, | |
2381 | + 0x41, 0x41, 0x09, 0x04, 0x0e, 0x04, 0x16, 0x43, 0x4d, 0x23, 0x07, 0x43, 0x16, 0x43, 0x4d, | |
2382 | + 0x23, 0x07, 0x43, 0x16, 0x43, 0x4d, 0x23, 0x07, 0x43, 0x45, 0x02, 0x0b, 0x0b, 0x0f, 0x1a, | |
2383 | + 0x0f, 0x1a, 0x07, 0x1a, 0x02, 0x49, 0x1a, 0x02, 0x49, 0x40, 0x40, 0x45, 0x19, 0x12, 0x0a, | |
2384 | + 0x45, 0x0f, 0x0a, 0x02, 0x07, 0x33, 0x27, 0x19, 0x02, 0x16, 0x14, 0x0f, 0x45, 0x23, 0x15, | |
2385 | + 0x0b, 0x45, 0x04, 0x14, 0x09, 0x0a, 0x07, 0x1a, 0x0d, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, | |
2386 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2387 | + 0x4f, 0x02, 0x4d, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x45, 0x40, 0x40, 0x40, 0x45, 0x17, | |
2388 | + 0x02, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0a, 0x0a, | |
2389 | + 0x48, 0x4d, 0x0a, 0x0a, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x02, 0x02, 0x40, 0x40, | |
2390 | + 0x05, 0x42, 0x45, 0x07, 0x42, 0x52, 0x45, 0x07, 0x48, 0x5d, 0x52, 0x48, 0x0d, 0x0f, 0x0d, | |
2391 | + 0x17, 0x40, 0x40, 0x05, 0x42, 0x45, 0x07, 0x42, 0x52, 0x45, 0x07, 0x48, 0x5d, 0x52, 0x48, | |
2392 | + 0x0d, 0x0f, 0x0d, 0x17, 0x22, 0x52, 0x2a, 0x4d, 0x48, 0x48, 0x42, 0x40, 0x40, 0x0a, 0x05, | |
2393 | + 0x0f, 0x05, 0x17, 0x42, 0x4d, 0x22, 0x07, 0x42, 0x17, 0x42, 0x4d, 0x22, 0x07, 0x42, 0x17, | |
2394 | + 0x42, 0x4d, 0x22, 0x07, 0x42, 0x45, 0x02, 0x0a, 0x0a, 0x0f, 0x1a, 0x0f, 0x1a, 0x07, 0x1a, | |
2395 | + 0x02, 0x48, 0x1a, 0x02, 0x48, 0x40, 0x40, 0x45, 0x1a, 0x12, 0x0a, 0x45, 0x0f, 0x0a, 0x02, | |
2396 | + 0x07, 0x35, 0x27, 0x1a, 0x02, 0x17, 0x15, 0x0f, 0x45, 0x22, 0x15, 0x0a, 0x45, 0x02, 0x15, | |
2397 | + 0x08, 0x0a, 0x07, 0x1a, 0x0d, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2398 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x50, 0x02, 0x4d, 0x58, | |
2399 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x45, 0x40, 0x40, 0x40, 0x45, 0x19, 0x02, 0x40, 0x40, 0x40, | |
2400 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0a, 0x0a, 0x47, 0x4d, 0x0b, 0x0a, | |
2401 | + 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x02, 0x02, 0x00, 0x00, 0x05, 0x42, 0x45, 0x07, | |
2402 | + 0x42, 0x52, 0x45, 0x08, 0x47, 0x5d, 0x52, 0x47, 0x0e, 0x10, 0x0d, 0x19, 0x00, 0x00, 0x05, | |
2403 | + 0x42, 0x45, 0x07, 0x42, 0x52, 0x45, 0x08, 0x47, 0x5d, 0x52, 0x47, 0x0e, 0x10, 0x0d, 0x19, | |
2404 | + 0x23, 0x52, 0x2a, 0x4d, 0x47, 0x47, 0x42, 0x00, 0x00, 0x0b, 0x05, 0x10, 0x05, 0x18, 0x42, | |
2405 | + 0x4d, 0x22, 0x07, 0x42, 0x18, 0x42, 0x4d, 0x22, 0x07, 0x42, 0x18, 0x42, 0x4d, 0x22, 0x07, | |
2406 | + 0x42, 0x45, 0x02, 0x0a, 0x0a, 0x0f, 0x1a, 0x0f, 0x1a, 0x07, 0x1a, 0x02, 0x47, 0x1a, 0x02, | |
2407 | + 0x47, 0x40, 0x40, 0x45, 0x1b, 0x12, 0x0a, 0x45, 0x0f, 0x0a, 0x02, 0x07, 0x36, 0x27, 0x1b, | |
2408 | + 0x02, 0x18, 0x15, 0x0f, 0x45, 0x22, 0x15, 0x0a, 0x45, 0x01, 0x15, 0x07, 0x0a, 0x07, 0x1a, | |
2409 | + 0x0d, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2410 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x51, 0x03, 0x4c, 0x58, 0x40, 0x40, 0x40, 0x40, | |
2411 | + 0x40, 0x46, 0x40, 0x40, 0x40, 0x46, 0x1b, 0x03, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2412 | + 0x40, 0x40, 0x40, 0x40, 0x07, 0x0b, 0x0b, 0x46, 0x4c, 0x0c, 0x0b, 0x09, 0x40, 0x40, 0x40, | |
2413 | + 0x40, 0x40, 0x40, 0x03, 0x03, 0x01, 0x01, 0x06, 0x41, 0x44, 0x07, 0x41, 0x51, 0x44, 0x09, | |
2414 | + 0x46, 0x5c, 0x51, 0x46, 0x10, 0x11, 0x0e, 0x1b, 0x01, 0x01, 0x06, 0x41, 0x44, 0x07, 0x41, | |
2415 | + 0x51, 0x44, 0x09, 0x46, 0x5c, 0x51, 0x46, 0x10, 0x11, 0x0e, 0x1b, 0x24, 0x53, 0x2b, 0x4c, | |
2416 | + 0x46, 0x46, 0x41, 0x01, 0x01, 0x0c, 0x06, 0x11, 0x06, 0x19, 0x41, 0x4c, 0x21, 0x07, 0x41, | |
2417 | + 0x19, 0x41, 0x4c, 0x21, 0x07, 0x41, 0x19, 0x41, 0x4c, 0x21, 0x07, 0x41, 0x44, 0x03, 0x09, | |
2418 | + 0x09, 0x0f, 0x1b, 0x0f, 0x1b, 0x07, 0x1b, 0x03, 0x46, 0x1b, 0x03, 0x46, 0x40, 0x40, 0x44, | |
2419 | + 0x1c, 0x13, 0x0b, 0x44, 0x0f, 0x0b, 0x03, 0x07, 0x38, 0x27, 0x1c, 0x03, 0x19, 0x16, 0x0f, | |
2420 | + 0x44, 0x21, 0x14, 0x09, 0x44, 0x40, 0x16, 0x06, 0x0b, 0x07, 0x1b, 0x0c, 0x0f, 0x0f, 0x40, | |
2421 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2422 | + 0x00, 0x00, 0x07, 0x52, 0x03, 0x4c, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x47, 0x40, 0x40, | |
2423 | + 0x40, 0x47, 0x1d, 0x03, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2424 | + 0x07, 0x0b, 0x0b, 0x45, 0x4c, 0x0e, 0x0b, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x03, | |
2425 | + 0x03, 0x02, 0x02, 0x07, 0x40, 0x44, 0x07, 0x40, 0x50, 0x44, 0x0a, 0x45, 0x5c, 0x50, 0x45, | |
2426 | + 0x11, 0x12, 0x0f, 0x1d, 0x02, 0x02, 0x07, 0x40, 0x44, 0x07, 0x40, 0x50, 0x44, 0x0a, 0x45, | |
2427 | + 0x5c, 0x50, 0x45, 0x11, 0x12, 0x0f, 0x1d, 0x26, 0x53, 0x2b, 0x4c, 0x45, 0x45, 0x40, 0x02, | |
2428 | + 0x02, 0x0e, 0x07, 0x12, 0x07, 0x1a, 0x40, 0x4c, 0x20, 0x07, 0x40, 0x1a, 0x40, 0x4c, 0x20, | |
2429 | + 0x07, 0x40, 0x1a, 0x40, 0x4c, 0x20, 0x07, 0x40, 0x44, 0x03, 0x08, 0x08, 0x0f, 0x1b, 0x0f, | |
2430 | + 0x1b, 0x07, 0x1b, 0x03, 0x45, 0x1b, 0x03, 0x45, 0x40, 0x40, 0x44, 0x1e, 0x13, 0x0b, 0x44, | |
2431 | + 0x0f, 0x0b, 0x03, 0x07, 0x39, 0x27, 0x1e, 0x03, 0x1a, 0x17, 0x0f, 0x44, 0x20, 0x14, 0x08, | |
2432 | + 0x44, 0x41, 0x17, 0x05, 0x0b, 0x07, 0x1b, 0x0c, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2433 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x53, | |
2434 | + 0x03, 0x4c, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x47, 0x40, 0x40, 0x40, 0x47, 0x1f, 0x03, | |
2435 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0b, 0x0b, 0x44, | |
2436 | + 0x4c, 0x0f, 0x0b, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x03, 0x03, 0x03, 0x03, 0x07, | |
2437 | + 0x40, 0x44, 0x07, 0x40, 0x50, 0x44, 0x0b, 0x44, 0x5c, 0x50, 0x44, 0x13, 0x13, 0x0f, 0x1f, | |
2438 | + 0x03, 0x03, 0x07, 0x40, 0x44, 0x07, 0x40, 0x50, 0x44, 0x0b, 0x44, 0x5c, 0x50, 0x44, 0x13, | |
2439 | + 0x13, 0x0f, 0x1f, 0x27, 0x53, 0x2b, 0x4c, 0x44, 0x44, 0x40, 0x03, 0x03, 0x0f, 0x07, 0x13, | |
2440 | + 0x07, 0x1b, 0x40, 0x4c, 0x20, 0x07, 0x40, 0x1b, 0x40, 0x4c, 0x20, 0x07, 0x40, 0x1b, 0x40, | |
2441 | + 0x4c, 0x20, 0x07, 0x40, 0x44, 0x03, 0x08, 0x08, 0x0f, 0x1b, 0x0f, 0x1b, 0x07, 0x1b, 0x03, | |
2442 | + 0x44, 0x1b, 0x03, 0x44, 0x40, 0x40, 0x44, 0x1f, 0x13, 0x0b, 0x44, 0x0f, 0x0b, 0x03, 0x07, | |
2443 | + 0x3b, 0x27, 0x1f, 0x03, 0x1b, 0x17, 0x0f, 0x44, 0x20, 0x14, 0x08, 0x44, 0x43, 0x17, 0x04, | |
2444 | + 0x0b, 0x07, 0x1b, 0x0c, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2445 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x54, 0x04, 0x4b, 0x58, 0x40, | |
2446 | + 0x40, 0x40, 0x40, 0x40, 0x48, 0x40, 0x40, 0x40, 0x48, 0x21, 0x04, 0x40, 0x40, 0x40, 0x40, | |
2447 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0c, 0x0c, 0x43, 0x4b, 0x10, 0x0c, 0x07, | |
2448 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x04, 0x04, 0x04, 0x04, 0x08, 0x00, 0x43, 0x07, 0x00, | |
2449 | + 0x4f, 0x43, 0x0c, 0x43, 0x5b, 0x4f, 0x43, 0x14, 0x14, 0x10, 0x21, 0x04, 0x04, 0x08, 0x00, | |
2450 | + 0x43, 0x07, 0x00, 0x4f, 0x43, 0x0c, 0x43, 0x5b, 0x4f, 0x43, 0x14, 0x14, 0x10, 0x21, 0x28, | |
2451 | + 0x54, 0x2c, 0x4b, 0x43, 0x43, 0x00, 0x04, 0x04, 0x10, 0x08, 0x14, 0x08, 0x1c, 0x00, 0x4b, | |
2452 | + 0x1f, 0x07, 0x00, 0x1c, 0x00, 0x4b, 0x1f, 0x07, 0x00, 0x1c, 0x00, 0x4b, 0x1f, 0x07, 0x00, | |
2453 | + 0x43, 0x04, 0x07, 0x07, 0x0f, 0x1c, 0x0f, 0x1c, 0x07, 0x1c, 0x04, 0x43, 0x1c, 0x04, 0x43, | |
2454 | + 0x40, 0x40, 0x43, 0x20, 0x14, 0x0c, 0x43, 0x0f, 0x0c, 0x04, 0x07, 0x3c, 0x27, 0x20, 0x04, | |
2455 | + 0x1c, 0x18, 0x0f, 0x43, 0x1f, 0x13, 0x07, 0x43, 0x44, 0x18, 0x03, 0x0c, 0x07, 0x1c, 0x0b, | |
2456 | + 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2457 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x55, 0x04, 0x4b, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2458 | + 0x49, 0x40, 0x40, 0x40, 0x49, 0x22, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2459 | + 0x40, 0x40, 0x40, 0x07, 0x0c, 0x0c, 0x42, 0x4b, 0x11, 0x0c, 0x06, 0x40, 0x40, 0x40, 0x40, | |
2460 | + 0x40, 0x40, 0x04, 0x04, 0x05, 0x05, 0x08, 0x00, 0x43, 0x07, 0x00, 0x4f, 0x43, 0x0d, 0x42, | |
2461 | + 0x5b, 0x4f, 0x42, 0x16, 0x15, 0x10, 0x22, 0x05, 0x05, 0x08, 0x00, 0x43, 0x07, 0x00, 0x4f, | |
2462 | + 0x43, 0x0d, 0x42, 0x5b, 0x4f, 0x42, 0x16, 0x15, 0x10, 0x22, 0x29, 0x54, 0x2c, 0x4b, 0x42, | |
2463 | + 0x42, 0x00, 0x05, 0x05, 0x11, 0x08, 0x15, 0x08, 0x1d, 0x00, 0x4b, 0x1e, 0x07, 0x00, 0x1d, | |
2464 | + 0x00, 0x4b, 0x1e, 0x07, 0x00, 0x1d, 0x00, 0x4b, 0x1e, 0x07, 0x00, 0x43, 0x04, 0x06, 0x06, | |
2465 | + 0x0f, 0x1c, 0x0f, 0x1c, 0x07, 0x1c, 0x04, 0x42, 0x1c, 0x04, 0x42, 0x40, 0x40, 0x43, 0x21, | |
2466 | + 0x14, 0x0c, 0x43, 0x0f, 0x0c, 0x04, 0x07, 0x3e, 0x27, 0x21, 0x04, 0x1d, 0x18, 0x0f, 0x43, | |
2467 | + 0x1e, 0x13, 0x06, 0x43, 0x46, 0x18, 0x02, 0x0c, 0x07, 0x1c, 0x0b, 0x0f, 0x0f, 0x40, 0x40, | |
2468 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2469 | + 0x00, 0x07, 0x56, 0x04, 0x4b, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x49, 0x40, 0x40, 0x40, | |
2470 | + 0x49, 0x24, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, | |
2471 | + 0x0c, 0x0c, 0x41, 0x4b, 0x13, 0x0c, 0x06, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x04, 0x04, | |
2472 | + 0x06, 0x06, 0x09, 0x01, 0x43, 0x07, 0x01, 0x4e, 0x43, 0x0e, 0x41, 0x5b, 0x4e, 0x41, 0x18, | |
2473 | + 0x16, 0x11, 0x24, 0x06, 0x06, 0x09, 0x01, 0x43, 0x07, 0x01, 0x4e, 0x43, 0x0e, 0x41, 0x5b, | |
2474 | + 0x4e, 0x41, 0x18, 0x16, 0x11, 0x24, 0x2b, 0x54, 0x2c, 0x4b, 0x41, 0x41, 0x01, 0x06, 0x06, | |
2475 | + 0x13, 0x09, 0x16, 0x09, 0x1e, 0x01, 0x4b, 0x1e, 0x07, 0x01, 0x1e, 0x01, 0x4b, 0x1e, 0x07, | |
2476 | + 0x01, 0x1e, 0x01, 0x4b, 0x1e, 0x07, 0x01, 0x43, 0x04, 0x06, 0x06, 0x0f, 0x1c, 0x0f, 0x1c, | |
2477 | + 0x07, 0x1c, 0x04, 0x41, 0x1c, 0x04, 0x41, 0x40, 0x40, 0x43, 0x23, 0x14, 0x0c, 0x43, 0x0f, | |
2478 | + 0x0c, 0x04, 0x07, 0x3e, 0x27, 0x23, 0x04, 0x1e, 0x19, 0x0f, 0x43, 0x1e, 0x13, 0x06, 0x43, | |
2479 | + 0x48, 0x19, 0x01, 0x0c, 0x07, 0x1c, 0x0b, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2480 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x05, | |
2481 | + 0x4a, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4a, 0x40, 0x40, 0x40, 0x4a, 0x26, 0x05, 0x40, | |
2482 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0d, 0x0d, 0x40, 0x4a, | |
2483 | + 0x14, 0x0d, 0x05, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x05, 0x05, 0x07, 0x07, 0x0a, 0x02, | |
2484 | + 0x42, 0x07, 0x02, 0x4d, 0x42, 0x0f, 0x40, 0x5a, 0x4d, 0x40, 0x19, 0x17, 0x12, 0x26, 0x07, | |
2485 | + 0x07, 0x0a, 0x02, 0x42, 0x07, 0x02, 0x4d, 0x42, 0x0f, 0x40, 0x5a, 0x4d, 0x40, 0x19, 0x17, | |
2486 | + 0x12, 0x26, 0x2c, 0x55, 0x2d, 0x4a, 0x40, 0x40, 0x02, 0x07, 0x07, 0x14, 0x0a, 0x17, 0x0a, | |
2487 | + 0x1f, 0x02, 0x4a, 0x1d, 0x07, 0x02, 0x1f, 0x02, 0x4a, 0x1d, 0x07, 0x02, 0x1f, 0x02, 0x4a, | |
2488 | + 0x1d, 0x07, 0x02, 0x42, 0x05, 0x05, 0x05, 0x0f, 0x1d, 0x0f, 0x1d, 0x07, 0x1d, 0x05, 0x40, | |
2489 | + 0x1d, 0x05, 0x40, 0x40, 0x40, 0x42, 0x24, 0x15, 0x0d, 0x42, 0x0f, 0x0d, 0x05, 0x07, 0x3e, | |
2490 | + 0x27, 0x24, 0x05, 0x1f, 0x1a, 0x0f, 0x42, 0x1d, 0x12, 0x05, 0x42, 0x49, 0x1a, 0x00, 0x0d, | |
2491 | + 0x07, 0x1d, 0x0a, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
2492 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x58, 0x05, 0x4a, 0x58, 0x40, 0x40, | |
2493 | + 0x40, 0x40, 0x40, 0x4a, 0x40, 0x40, 0x40, 0x4a, 0x28, 0x05, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2494 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0d, 0x0d, 0x00, 0x4a, 0x15, 0x0d, 0x05, 0x40, | |
2495 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x05, 0x05, 0x08, 0x08, 0x0a, 0x02, 0x42, 0x07, 0x02, 0x4d, | |
2496 | + 0x42, 0x10, 0x00, 0x5a, 0x4d, 0x00, 0x1b, 0x18, 0x12, 0x28, 0x08, 0x08, 0x0a, 0x02, 0x42, | |
2497 | + 0x07, 0x02, 0x4d, 0x42, 0x10, 0x00, 0x5a, 0x4d, 0x00, 0x1b, 0x18, 0x12, 0x28, 0x2d, 0x55, | |
2498 | + 0x2d, 0x4a, 0x00, 0x00, 0x02, 0x08, 0x08, 0x15, 0x0a, 0x18, 0x0a, 0x20, 0x02, 0x4a, 0x1d, | |
2499 | + 0x07, 0x02, 0x20, 0x02, 0x4a, 0x1d, 0x07, 0x02, 0x20, 0x02, 0x4a, 0x1d, 0x07, 0x02, 0x42, | |
2500 | + 0x05, 0x05, 0x05, 0x0f, 0x1d, 0x0f, 0x1d, 0x07, 0x1d, 0x05, 0x00, 0x1d, 0x05, 0x00, 0x40, | |
2501 | + 0x40, 0x42, 0x25, 0x15, 0x0d, 0x42, 0x0f, 0x0d, 0x05, 0x07, 0x3e, 0x27, 0x25, 0x05, 0x20, | |
2502 | + 0x1a, 0x0f, 0x42, 0x1d, 0x12, 0x05, 0x42, 0x4b, 0x1a, 0x40, 0x0d, 0x07, 0x1d, 0x0a, 0x0f, | |
2503 | + 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2504 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x59, 0x05, 0x4a, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4b, | |
2505 | + 0x40, 0x40, 0x40, 0x4b, 0x2a, 0x05, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2506 | + 0x40, 0x40, 0x07, 0x0d, 0x0d, 0x01, 0x4a, 0x16, 0x0d, 0x04, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2507 | + 0x40, 0x05, 0x05, 0x09, 0x09, 0x0b, 0x03, 0x42, 0x07, 0x03, 0x4c, 0x42, 0x11, 0x01, 0x5a, | |
2508 | + 0x4c, 0x01, 0x1c, 0x19, 0x13, 0x2a, 0x09, 0x09, 0x0b, 0x03, 0x42, 0x07, 0x03, 0x4c, 0x42, | |
2509 | + 0x11, 0x01, 0x5a, 0x4c, 0x01, 0x1c, 0x19, 0x13, 0x2a, 0x2e, 0x55, 0x2d, 0x4a, 0x01, 0x01, | |
2510 | + 0x03, 0x09, 0x09, 0x16, 0x0b, 0x19, 0x0b, 0x21, 0x03, 0x4a, 0x1c, 0x07, 0x03, 0x21, 0x03, | |
2511 | + 0x4a, 0x1c, 0x07, 0x03, 0x21, 0x03, 0x4a, 0x1c, 0x07, 0x03, 0x42, 0x05, 0x04, 0x04, 0x0f, | |
2512 | + 0x1d, 0x0f, 0x1d, 0x07, 0x1d, 0x05, 0x01, 0x1d, 0x05, 0x01, 0x40, 0x40, 0x42, 0x26, 0x15, | |
2513 | + 0x0d, 0x42, 0x0f, 0x0d, 0x05, 0x07, 0x3e, 0x27, 0x26, 0x05, 0x21, 0x1b, 0x0f, 0x42, 0x1c, | |
2514 | + 0x12, 0x04, 0x42, 0x4c, 0x1b, 0x41, 0x0d, 0x07, 0x1d, 0x0a, 0x0f, 0x0f, 0x40, 0x40, 0x40, | |
2515 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2516 | + 0x07, 0x5a, 0x06, 0x49, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4c, 0x40, 0x40, 0x40, 0x4c, | |
2517 | + 0x2c, 0x06, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0e, | |
2518 | + 0x0e, 0x02, 0x49, 0x18, 0x0e, 0x03, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x06, 0x06, 0x0a, | |
2519 | + 0x0a, 0x0c, 0x04, 0x41, 0x07, 0x04, 0x4b, 0x41, 0x12, 0x02, 0x59, 0x4b, 0x02, 0x1e, 0x1a, | |
2520 | + 0x14, 0x2c, 0x0a, 0x0a, 0x0c, 0x04, 0x41, 0x07, 0x04, 0x4b, 0x41, 0x12, 0x02, 0x59, 0x4b, | |
2521 | + 0x02, 0x1e, 0x1a, 0x14, 0x2c, 0x30, 0x56, 0x2e, 0x49, 0x02, 0x02, 0x04, 0x0a, 0x0a, 0x18, | |
2522 | + 0x0c, 0x1a, 0x0c, 0x22, 0x04, 0x49, 0x1b, 0x07, 0x04, 0x22, 0x04, 0x49, 0x1b, 0x07, 0x04, | |
2523 | + 0x22, 0x04, 0x49, 0x1b, 0x07, 0x04, 0x41, 0x06, 0x03, 0x03, 0x0f, 0x1e, 0x0f, 0x1e, 0x07, | |
2524 | + 0x1e, 0x06, 0x02, 0x1e, 0x06, 0x02, 0x40, 0x40, 0x41, 0x28, 0x16, 0x0e, 0x41, 0x0f, 0x0e, | |
2525 | + 0x06, 0x07, 0x3e, 0x27, 0x28, 0x06, 0x22, 0x1c, 0x0f, 0x41, 0x1b, 0x11, 0x03, 0x41, 0x4e, | |
2526 | + 0x1c, 0x42, 0x0e, 0x07, 0x1e, 0x09, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2527 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x5b, 0x06, 0x49, | |
2528 | + 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4c, 0x40, 0x40, 0x40, 0x4c, 0x2e, 0x06, 0x40, 0x40, | |
2529 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0e, 0x0e, 0x03, 0x49, 0x19, | |
2530 | + 0x0e, 0x03, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x06, 0x06, 0x0b, 0x0b, 0x0c, 0x04, 0x41, | |
2531 | + 0x07, 0x04, 0x4b, 0x41, 0x13, 0x03, 0x59, 0x4b, 0x03, 0x1f, 0x1b, 0x14, 0x2e, 0x0b, 0x0b, | |
2532 | + 0x0c, 0x04, 0x41, 0x07, 0x04, 0x4b, 0x41, 0x13, 0x03, 0x59, 0x4b, 0x03, 0x1f, 0x1b, 0x14, | |
2533 | + 0x2e, 0x31, 0x56, 0x2e, 0x49, 0x03, 0x03, 0x04, 0x0b, 0x0b, 0x19, 0x0c, 0x1b, 0x0c, 0x23, | |
2534 | + 0x04, 0x49, 0x1b, 0x07, 0x04, 0x23, 0x04, 0x49, 0x1b, 0x07, 0x04, 0x23, 0x04, 0x49, 0x1b, | |
2535 | + 0x07, 0x04, 0x41, 0x06, 0x03, 0x03, 0x0f, 0x1e, 0x0f, 0x1e, 0x07, 0x1e, 0x06, 0x03, 0x1e, | |
2536 | + 0x06, 0x03, 0x40, 0x40, 0x41, 0x29, 0x16, 0x0e, 0x41, 0x0f, 0x0e, 0x06, 0x07, 0x3e, 0x27, | |
2537 | + 0x29, 0x06, 0x23, 0x1c, 0x0f, 0x41, 0x1b, 0x11, 0x03, 0x41, 0x4f, 0x1c, 0x43, 0x0e, 0x07, | |
2538 | + 0x1e, 0x09, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2539 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x5c, 0x06, 0x49, 0x58, 0x40, 0x40, 0x40, | |
2540 | + 0x40, 0x40, 0x4d, 0x40, 0x40, 0x40, 0x4d, 0x30, 0x06, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2541 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0e, 0x0e, 0x04, 0x49, 0x1a, 0x0e, 0x02, 0x40, 0x40, | |
2542 | + 0x40, 0x40, 0x40, 0x40, 0x06, 0x06, 0x0c, 0x0c, 0x0d, 0x05, 0x41, 0x07, 0x05, 0x4a, 0x41, | |
2543 | + 0x14, 0x04, 0x59, 0x4a, 0x04, 0x21, 0x1c, 0x15, 0x30, 0x0c, 0x0c, 0x0d, 0x05, 0x41, 0x07, | |
2544 | + 0x05, 0x4a, 0x41, 0x14, 0x04, 0x59, 0x4a, 0x04, 0x21, 0x1c, 0x15, 0x30, 0x32, 0x56, 0x2e, | |
2545 | + 0x49, 0x04, 0x04, 0x05, 0x0c, 0x0c, 0x1a, 0x0d, 0x1c, 0x0d, 0x24, 0x05, 0x49, 0x1a, 0x07, | |
2546 | + 0x05, 0x24, 0x05, 0x49, 0x1a, 0x07, 0x05, 0x24, 0x05, 0x49, 0x1a, 0x07, 0x05, 0x41, 0x06, | |
2547 | + 0x02, 0x02, 0x0f, 0x1e, 0x0f, 0x1e, 0x07, 0x1e, 0x06, 0x04, 0x1e, 0x06, 0x04, 0x40, 0x40, | |
2548 | + 0x41, 0x2a, 0x16, 0x0e, 0x41, 0x0f, 0x0e, 0x06, 0x07, 0x3e, 0x27, 0x2a, 0x06, 0x24, 0x1d, | |
2549 | + 0x0f, 0x41, 0x1a, 0x11, 0x02, 0x41, 0x51, 0x1d, 0x44, 0x0e, 0x07, 0x1e, 0x09, 0x0f, 0x0f, | |
2550 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2551 | + 0x00, 0x00, 0x00, 0x07, 0x5d, 0x06, 0x49, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4e, 0x40, | |
2552 | + 0x40, 0x40, 0x4e, 0x31, 0x06, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2553 | + 0x40, 0x07, 0x0e, 0x0e, 0x04, 0x49, 0x1b, 0x0e, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2554 | + 0x06, 0x06, 0x0c, 0x0c, 0x0d, 0x05, 0x41, 0x07, 0x05, 0x4a, 0x41, 0x14, 0x04, 0x59, 0x4a, | |
2555 | + 0x04, 0x22, 0x1c, 0x15, 0x31, 0x0c, 0x0c, 0x0d, 0x05, 0x41, 0x07, 0x05, 0x4a, 0x41, 0x14, | |
2556 | + 0x04, 0x59, 0x4a, 0x04, 0x22, 0x1c, 0x15, 0x31, 0x33, 0x57, 0x2e, 0x49, 0x04, 0x04, 0x05, | |
2557 | + 0x0c, 0x0c, 0x1b, 0x0d, 0x1c, 0x0d, 0x24, 0x05, 0x49, 0x19, 0x07, 0x05, 0x24, 0x05, 0x49, | |
2558 | + 0x19, 0x07, 0x05, 0x24, 0x05, 0x49, 0x19, 0x07, 0x05, 0x41, 0x06, 0x01, 0x01, 0x0f, 0x1e, | |
2559 | + 0x0f, 0x1e, 0x07, 0x1e, 0x06, 0x04, 0x1e, 0x06, 0x04, 0x40, 0x40, 0x41, 0x2b, 0x16, 0x0e, | |
2560 | + 0x41, 0x0f, 0x0e, 0x06, 0x07, 0x3e, 0x27, 0x2b, 0x06, 0x24, 0x1d, 0x0f, 0x41, 0x19, 0x10, | |
2561 | + 0x01, 0x41, 0x53, 0x1d, 0x45, 0x0e, 0x07, 0x1e, 0x08, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, | |
2562 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2563 | + 0x5d, 0x07, 0x48, 0x58, 0x40, 0x40, 0x40, 0x40, 0x40, 0x4e, 0x40, 0x40, 0x40, 0x4e, 0x33, | |
2564 | + 0x07, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0f, 0x0f, | |
2565 | + 0x05, 0x48, 0x1d, 0x0f, 0x01, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x07, 0x0d, 0x0d, | |
2566 | + 0x0e, 0x06, 0x40, 0x07, 0x06, 0x49, 0x40, 0x15, 0x05, 0x58, 0x49, 0x05, 0x24, 0x1d, 0x16, | |
2567 | + 0x33, 0x0d, 0x0d, 0x0e, 0x06, 0x40, 0x07, 0x06, 0x49, 0x40, 0x15, 0x05, 0x58, 0x49, 0x05, | |
2568 | + 0x24, 0x1d, 0x16, 0x33, 0x35, 0x57, 0x2f, 0x48, 0x05, 0x05, 0x06, 0x0d, 0x0d, 0x1d, 0x0e, | |
2569 | + 0x1d, 0x0e, 0x25, 0x06, 0x48, 0x19, 0x07, 0x06, 0x25, 0x06, 0x48, 0x19, 0x07, 0x06, 0x25, | |
2570 | + 0x06, 0x48, 0x19, 0x07, 0x06, 0x40, 0x07, 0x01, 0x01, 0x0f, 0x1f, 0x0f, 0x1f, 0x07, 0x1f, | |
2571 | + 0x07, 0x05, 0x1f, 0x07, 0x05, 0x40, 0x40, 0x40, 0x2d, 0x17, 0x0f, 0x40, 0x0f, 0x0f, 0x07, | |
2572 | + 0x07, 0x3e, 0x27, 0x2d, 0x07, 0x25, 0x1e, 0x0f, 0x40, 0x19, 0x10, 0x01, 0x40, 0x54, 0x1e, | |
2573 | + 0x45, 0x0f, 0x07, 0x1f, 0x08, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2574 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x5e, 0x07, 0x48, 0x58, | |
2575 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x4f, 0x40, 0x40, 0x40, 0x4f, 0x35, 0x07, 0x40, 0x40, 0x40, | |
2576 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x0f, 0x0f, 0x06, 0x48, 0x1e, 0x0f, | |
2577 | + 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x07, 0x07, 0x0e, 0x0e, 0x0f, 0x07, 0x40, 0x07, | |
2578 | + 0x07, 0x48, 0x40, 0x16, 0x06, 0x58, 0x48, 0x06, 0x26, 0x1e, 0x17, 0x35, 0x0e, 0x0e, 0x0f, | |
2579 | + 0x07, 0x40, 0x07, 0x07, 0x48, 0x40, 0x16, 0x06, 0x58, 0x48, 0x06, 0x26, 0x1e, 0x17, 0x35, | |
2580 | + 0x36, 0x57, 0x2f, 0x48, 0x06, 0x06, 0x07, 0x0e, 0x0e, 0x1e, 0x0f, 0x1e, 0x0f, 0x26, 0x07, | |
2581 | + 0x48, 0x18, 0x07, 0x07, 0x26, 0x07, 0x48, 0x18, 0x07, 0x07, 0x26, 0x07, 0x48, 0x18, 0x07, | |
2582 | + 0x07, 0x40, 0x07, 0x00, 0x00, 0x0f, 0x1f, 0x0f, 0x1f, 0x07, 0x1f, 0x07, 0x06, 0x1f, 0x07, | |
2583 | + 0x06, 0x40, 0x40, 0x40, 0x2e, 0x17, 0x0f, 0x40, 0x0f, 0x0f, 0x07, 0x07, 0x3e, 0x27, 0x2e, | |
2584 | + 0x07, 0x26, 0x1f, 0x0f, 0x40, 0x18, 0x10, 0x00, 0x40, 0x56, 0x1f, 0x46, 0x0f, 0x07, 0x1f, | |
2585 | + 0x08, 0x0f, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2586 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x5f, 0x07, 0x48, 0x58, 0x40, 0x40, 0x40, 0x40, | |
2587 | + 0x40, 0x4f, 0x40, 0x40, 0x40, 0x4f, 0x37, 0x07, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2588 | + 0x40, 0x40, 0x40, 0x40, 0x07, 0x0f, 0x0f, 0x07, 0x48, 0x1f, 0x0f, 0x00, 0x40, 0x40, 0x40, | |
2589 | + 0x40, 0x40, 0x40, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x07, 0x40, 0x07, 0x07, 0x48, 0x40, 0x17, | |
2590 | + 0x07, 0x58, 0x48, 0x07, 0x27, 0x1f, 0x17, 0x37, 0x0f, 0x0f, 0x0f, 0x07, 0x40, 0x07, 0x07, | |
2591 | + 0x48, 0x40, 0x17, 0x07, 0x58, 0x48, 0x07, 0x27, 0x1f, 0x17, 0x37, 0x37, 0x57, 0x2f, 0x48, | |
2592 | + 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x1f, 0x0f, 0x1f, 0x0f, 0x27, 0x07, 0x48, 0x18, 0x07, 0x07, | |
2593 | + 0x27, 0x07, 0x48, 0x18, 0x07, 0x07, 0x27, 0x07, 0x48, 0x18, 0x07, 0x07, 0x40, 0x07, 0x00, | |
2594 | + 0x00, 0x0f, 0x1f, 0x0f, 0x1f, 0x07, 0x1f, 0x07, 0x07, 0x1f, 0x07, 0x07, 0x40, 0x40, 0x40, | |
2595 | + 0x2f, 0x17, 0x0f, 0x40, 0x0f, 0x0f, 0x07, 0x07, 0x3e, 0x27, 0x2f, 0x07, 0x27, 0x1f, 0x0f, | |
2596 | + 0x40, 0x18, 0x10, 0x00, 0x40, 0x57, 0x1f, 0x47, 0x0f, 0x07, 0x1f, 0x08, 0x0f, 0x0f, 0x40, | |
2597 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2598 | + 0x00, 0x00, 0x07, 0x07, 0x48, 0x48, 0x60, 0x40, 0x27, 0x07, 0x07, 0x27, 0x40, 0x48, 0x40, | |
2599 | + 0x40, 0x40, 0x0f, 0x48, 0x68, 0x60, 0x40, 0x68, 0x68, 0x68, 0x68, 0x68, 0x07, 0x07, 0x0f, | |
2600 | + 0x50, 0x40, 0x60, 0x07, 0x68, 0x27, 0x48, 0x17, 0x40, 0x50, 0x1f, 0x40, 0x40, 0x40, 0x48, | |
2601 | + 0x48, 0x58, 0x60, 0x60, 0x60, 0x68, 0x68, 0x58, 0x68, 0x60, 0x60, 0x60, 0x68, 0x68, 0x68, | |
2602 | + 0x60, 0x50, 0x48, 0x50, 0x58, 0x60, 0x60, 0x60, 0x68, 0x68, 0x58, 0x68, 0x60, 0x60, 0x60, | |
2603 | + 0x68, 0x68, 0x68, 0x60, 0x50, 0x48, 0x50, 0x07, 0x50, 0x58, 0x40, 0x48, 0x40, 0x48, 0x07, | |
2604 | + 0x48, 0x48, 0x48, 0x68, 0x07, 0x1f, 0x17, 0x50, 0x0f, 0x07, 0x40, 0x1f, 0x17, 0x50, 0x0f, | |
2605 | + 0x07, 0x40, 0x1f, 0x17, 0x50, 0x0f, 0x07, 0x40, 0x40, 0x07, 0x48, 0x48, 0x48, 0x07, 0x48, | |
2606 | + 0x07, 0x17, 0x17, 0x17, 0x50, 0x17, 0x17, 0x50, 0x40, 0x40, 0x40, 0x2f, 0x2f, 0x17, 0x40, | |
2607 | + 0x0f, 0x17, 0x1f, 0x1f, 0x1f, 0x27, 0x0f, 0x07, 0x07, 0x0f, 0x07, 0x07, 0x3e, 0x1f, 0x17, | |
2608 | + 0x40, 0x17, 0x07, 0x1f, 0x48, 0x17, 0x48, 0x40, 0x48, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2609 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, | |
2610 | + 0x47, 0x47, 0x5f, 0x40, 0x27, 0x07, 0x07, 0x27, 0x40, 0x47, 0x40, 0x40, 0x40, 0x0f, 0x47, | |
2611 | + 0x66, 0x5f, 0x00, 0x66, 0x66, 0x66, 0x65, 0x65, 0x07, 0x07, 0x0f, 0x4f, 0x00, 0x5e, 0x07, | |
2612 | + 0x67, 0x27, 0x47, 0x17, 0x40, 0x4f, 0x1f, 0x40, 0x40, 0x40, 0x47, 0x47, 0x57, 0x5f, 0x5e, | |
2613 | + 0x5f, 0x66, 0x66, 0x57, 0x67, 0x5f, 0x5e, 0x5f, 0x67, 0x67, 0x66, 0x5e, 0x4f, 0x47, 0x4f, | |
2614 | + 0x57, 0x5f, 0x5e, 0x5f, 0x66, 0x66, 0x57, 0x67, 0x5f, 0x5e, 0x5f, 0x67, 0x67, 0x66, 0x5e, | |
2615 | + 0x4f, 0x47, 0x4f, 0x08, 0x4f, 0x56, 0x40, 0x48, 0x40, 0x47, 0x07, 0x47, 0x47, 0x47, 0x66, | |
2616 | + 0x07, 0x1f, 0x17, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x17, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x17, | |
2617 | + 0x4f, 0x10, 0x07, 0x40, 0x40, 0x07, 0x47, 0x47, 0x47, 0x08, 0x47, 0x08, 0x17, 0x17, 0x17, | |
2618 | + 0x4f, 0x17, 0x17, 0x4f, 0x40, 0x40, 0x40, 0x2f, 0x2f, 0x17, 0x40, 0x0f, 0x17, 0x1f, 0x1f, | |
2619 | + 0x20, 0x27, 0x10, 0x07, 0x08, 0x10, 0x08, 0x07, 0x3e, 0x1f, 0x17, 0x40, 0x17, 0x08, 0x1f, | |
2620 | + 0x47, 0x17, 0x46, 0x00, 0x47, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2621 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x46, 0x47, 0x5e, 0x40, | |
2622 | + 0x26, 0x06, 0x06, 0x27, 0x40, 0x47, 0x40, 0x40, 0x40, 0x0f, 0x47, 0x64, 0x5e, 0x01, 0x65, | |
2623 | + 0x64, 0x64, 0x63, 0x63, 0x07, 0x07, 0x0f, 0x4e, 0x00, 0x5d, 0x07, 0x66, 0x27, 0x46, 0x17, | |
2624 | + 0x40, 0x4f, 0x1e, 0x40, 0x40, 0x40, 0x47, 0x47, 0x56, 0x5e, 0x5d, 0x5e, 0x65, 0x64, 0x56, | |
2625 | + 0x66, 0x5e, 0x5c, 0x5e, 0x66, 0x66, 0x65, 0x5d, 0x4e, 0x46, 0x4e, 0x56, 0x5e, 0x5d, 0x5e, | |
2626 | + 0x65, 0x64, 0x56, 0x66, 0x5e, 0x5c, 0x5e, 0x66, 0x66, 0x65, 0x5d, 0x4e, 0x46, 0x4e, 0x09, | |
2627 | + 0x4f, 0x54, 0x40, 0x48, 0x40, 0x47, 0x07, 0x47, 0x46, 0x46, 0x64, 0x07, 0x1f, 0x16, 0x4f, | |
2628 | + 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, | |
2629 | + 0x40, 0x07, 0x46, 0x46, 0x46, 0x09, 0x46, 0x09, 0x17, 0x17, 0x16, 0x4f, 0x17, 0x16, 0x4f, | |
2630 | + 0x40, 0x40, 0x40, 0x2e, 0x2e, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x1e, 0x20, 0x27, 0x10, 0x07, | |
2631 | + 0x09, 0x10, 0x08, 0x07, 0x3e, 0x1f, 0x17, 0x40, 0x17, 0x08, 0x1e, 0x46, 0x17, 0x45, 0x01, | |
2632 | + 0x46, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2633 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x45, 0x47, 0x5e, 0x40, 0x25, 0x06, 0x05, 0x27, | |
2634 | + 0x40, 0x47, 0x40, 0x40, 0x40, 0x0f, 0x47, 0x63, 0x5d, 0x01, 0x64, 0x63, 0x62, 0x60, 0x60, | |
2635 | + 0x07, 0x07, 0x0f, 0x4e, 0x00, 0x5c, 0x07, 0x65, 0x27, 0x45, 0x17, 0x40, 0x4f, 0x1d, 0x40, | |
2636 | + 0x40, 0x40, 0x47, 0x47, 0x56, 0x5d, 0x5c, 0x5d, 0x64, 0x63, 0x56, 0x65, 0x5d, 0x5b, 0x5d, | |
2637 | + 0x65, 0x65, 0x64, 0x5c, 0x4d, 0x46, 0x4d, 0x56, 0x5d, 0x5c, 0x5d, 0x64, 0x63, 0x56, 0x65, | |
2638 | + 0x5d, 0x5b, 0x5d, 0x65, 0x65, 0x64, 0x5c, 0x4d, 0x46, 0x4d, 0x09, 0x4f, 0x52, 0x40, 0x48, | |
2639 | + 0x40, 0x47, 0x07, 0x47, 0x46, 0x46, 0x62, 0x07, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, | |
2640 | + 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x40, 0x07, 0x46, 0x46, | |
2641 | + 0x45, 0x09, 0x45, 0x09, 0x17, 0x17, 0x16, 0x4f, 0x17, 0x16, 0x4f, 0x40, 0x40, 0x40, 0x2d, | |
2642 | + 0x2d, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x1e, 0x20, 0x27, 0x10, 0x07, 0x09, 0x10, 0x08, 0x07, | |
2643 | + 0x3d, 0x1f, 0x17, 0x40, 0x17, 0x08, 0x1e, 0x45, 0x17, 0x44, 0x01, 0x45, 0x17, 0x40, 0x40, | |
2644 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2645 | + 0x00, 0x07, 0x05, 0x44, 0x46, 0x5d, 0x40, 0x24, 0x05, 0x04, 0x27, 0x40, 0x46, 0x40, 0x40, | |
2646 | + 0x40, 0x0f, 0x46, 0x61, 0x5c, 0x02, 0x63, 0x61, 0x60, 0x5e, 0x5e, 0x07, 0x07, 0x0e, 0x4d, | |
2647 | + 0x01, 0x5b, 0x07, 0x64, 0x27, 0x44, 0x16, 0x40, 0x4e, 0x1c, 0x40, 0x40, 0x40, 0x46, 0x46, | |
2648 | + 0x55, 0x5c, 0x5b, 0x5c, 0x63, 0x61, 0x55, 0x64, 0x5c, 0x59, 0x5c, 0x64, 0x64, 0x63, 0x5b, | |
2649 | + 0x4c, 0x45, 0x4c, 0x55, 0x5c, 0x5b, 0x5c, 0x63, 0x61, 0x55, 0x64, 0x5c, 0x59, 0x5c, 0x64, | |
2650 | + 0x64, 0x63, 0x5b, 0x4c, 0x45, 0x4c, 0x0a, 0x4e, 0x50, 0x40, 0x48, 0x40, 0x46, 0x07, 0x46, | |
2651 | + 0x45, 0x45, 0x60, 0x07, 0x1e, 0x15, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x15, 0x4e, 0x11, 0x07, | |
2652 | + 0x40, 0x1e, 0x15, 0x4e, 0x11, 0x07, 0x40, 0x41, 0x07, 0x45, 0x45, 0x44, 0x0a, 0x44, 0x0a, | |
2653 | + 0x16, 0x17, 0x15, 0x4e, 0x17, 0x15, 0x4e, 0x40, 0x40, 0x40, 0x2c, 0x2c, 0x16, 0x40, 0x0f, | |
2654 | + 0x16, 0x1d, 0x1d, 0x21, 0x27, 0x11, 0x07, 0x0a, 0x11, 0x09, 0x06, 0x3c, 0x1e, 0x16, 0x40, | |
2655 | + 0x16, 0x09, 0x1d, 0x44, 0x16, 0x43, 0x02, 0x44, 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2656 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x43, | |
2657 | + 0x46, 0x5c, 0x40, 0x23, 0x04, 0x03, 0x27, 0x40, 0x46, 0x40, 0x40, 0x40, 0x0f, 0x46, 0x60, | |
2658 | + 0x5b, 0x03, 0x61, 0x60, 0x5e, 0x5b, 0x5b, 0x07, 0x07, 0x0e, 0x4c, 0x01, 0x59, 0x07, 0x63, | |
2659 | + 0x27, 0x43, 0x16, 0x40, 0x4e, 0x1b, 0x40, 0x40, 0x40, 0x46, 0x46, 0x54, 0x5b, 0x59, 0x5b, | |
2660 | + 0x61, 0x60, 0x54, 0x63, 0x5b, 0x58, 0x5b, 0x63, 0x63, 0x61, 0x59, 0x4b, 0x44, 0x4b, 0x54, | |
2661 | + 0x5b, 0x59, 0x5b, 0x61, 0x60, 0x54, 0x63, 0x5b, 0x58, 0x5b, 0x63, 0x63, 0x61, 0x59, 0x4b, | |
2662 | + 0x44, 0x4b, 0x0b, 0x4e, 0x4e, 0x40, 0x48, 0x40, 0x46, 0x07, 0x46, 0x44, 0x44, 0x5e, 0x07, | |
2663 | + 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, | |
2664 | + 0x11, 0x07, 0x40, 0x41, 0x07, 0x44, 0x44, 0x43, 0x0b, 0x43, 0x0b, 0x16, 0x17, 0x14, 0x4e, | |
2665 | + 0x17, 0x14, 0x4e, 0x40, 0x40, 0x40, 0x2b, 0x2b, 0x16, 0x40, 0x0f, 0x16, 0x1c, 0x1c, 0x21, | |
2666 | + 0x27, 0x11, 0x07, 0x0b, 0x11, 0x09, 0x06, 0x3b, 0x1e, 0x16, 0x40, 0x16, 0x09, 0x1c, 0x43, | |
2667 | + 0x16, 0x41, 0x03, 0x43, 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
2668 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x42, 0x46, 0x5c, 0x40, 0x22, | |
2669 | + 0x04, 0x02, 0x27, 0x40, 0x46, 0x40, 0x40, 0x40, 0x0f, 0x46, 0x5e, 0x5a, 0x03, 0x60, 0x5e, | |
2670 | + 0x5c, 0x59, 0x59, 0x07, 0x07, 0x0e, 0x4c, 0x01, 0x58, 0x07, 0x62, 0x27, 0x42, 0x16, 0x40, | |
2671 | + 0x4e, 0x1a, 0x40, 0x40, 0x40, 0x46, 0x46, 0x54, 0x5a, 0x58, 0x5a, 0x60, 0x5e, 0x54, 0x62, | |
2672 | + 0x5a, 0x56, 0x5a, 0x62, 0x62, 0x60, 0x58, 0x4a, 0x44, 0x4a, 0x54, 0x5a, 0x58, 0x5a, 0x60, | |
2673 | + 0x5e, 0x54, 0x62, 0x5a, 0x56, 0x5a, 0x62, 0x62, 0x60, 0x58, 0x4a, 0x44, 0x4a, 0x0b, 0x4e, | |
2674 | + 0x4c, 0x40, 0x48, 0x40, 0x46, 0x07, 0x46, 0x44, 0x44, 0x5c, 0x07, 0x1e, 0x14, 0x4e, 0x11, | |
2675 | + 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x41, | |
2676 | + 0x07, 0x44, 0x44, 0x42, 0x0b, 0x42, 0x0b, 0x16, 0x17, 0x14, 0x4e, 0x17, 0x14, 0x4e, 0x40, | |
2677 | + 0x40, 0x40, 0x2a, 0x2a, 0x16, 0x40, 0x0f, 0x16, 0x1c, 0x1c, 0x21, 0x27, 0x11, 0x07, 0x0b, | |
2678 | + 0x11, 0x09, 0x06, 0x3a, 0x1e, 0x16, 0x40, 0x16, 0x09, 0x1c, 0x42, 0x16, 0x40, 0x03, 0x42, | |
2679 | + 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2680 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x03, 0x41, 0x45, 0x5b, 0x40, 0x21, 0x03, 0x01, 0x27, 0x40, | |
2681 | + 0x45, 0x40, 0x40, 0x40, 0x0f, 0x45, 0x5d, 0x59, 0x04, 0x5f, 0x5d, 0x5a, 0x56, 0x56, 0x07, | |
2682 | + 0x07, 0x0d, 0x4b, 0x02, 0x57, 0x07, 0x61, 0x27, 0x41, 0x15, 0x40, 0x4d, 0x19, 0x40, 0x40, | |
2683 | + 0x40, 0x45, 0x45, 0x53, 0x59, 0x57, 0x59, 0x5f, 0x5d, 0x53, 0x61, 0x59, 0x55, 0x59, 0x61, | |
2684 | + 0x61, 0x5f, 0x57, 0x49, 0x43, 0x49, 0x53, 0x59, 0x57, 0x59, 0x5f, 0x5d, 0x53, 0x61, 0x59, | |
2685 | + 0x55, 0x59, 0x61, 0x61, 0x5f, 0x57, 0x49, 0x43, 0x49, 0x0c, 0x4d, 0x4a, 0x40, 0x48, 0x40, | |
2686 | + 0x45, 0x07, 0x45, 0x43, 0x43, 0x5a, 0x07, 0x1d, 0x13, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x13, | |
2687 | + 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x13, 0x4d, 0x12, 0x07, 0x40, 0x42, 0x07, 0x43, 0x43, 0x41, | |
2688 | + 0x0c, 0x41, 0x0c, 0x15, 0x17, 0x13, 0x4d, 0x17, 0x13, 0x4d, 0x40, 0x40, 0x40, 0x29, 0x29, | |
2689 | + 0x15, 0x40, 0x0f, 0x15, 0x1b, 0x1b, 0x22, 0x27, 0x12, 0x07, 0x0c, 0x12, 0x0a, 0x05, 0x39, | |
2690 | + 0x1d, 0x15, 0x40, 0x15, 0x0a, 0x1b, 0x41, 0x15, 0x00, 0x04, 0x41, 0x15, 0x40, 0x40, 0x40, | |
2691 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2692 | + 0x07, 0x02, 0x40, 0x45, 0x5b, 0x40, 0x20, 0x02, 0x00, 0x27, 0x40, 0x45, 0x40, 0x40, 0x40, | |
2693 | + 0x0f, 0x45, 0x5b, 0x58, 0x04, 0x5e, 0x5b, 0x59, 0x54, 0x54, 0x07, 0x07, 0x0d, 0x4b, 0x02, | |
2694 | + 0x56, 0x07, 0x60, 0x27, 0x40, 0x15, 0x40, 0x4d, 0x18, 0x40, 0x40, 0x40, 0x45, 0x45, 0x53, | |
2695 | + 0x58, 0x56, 0x58, 0x5e, 0x5b, 0x53, 0x60, 0x58, 0x53, 0x58, 0x60, 0x60, 0x5e, 0x56, 0x48, | |
2696 | + 0x43, 0x48, 0x53, 0x58, 0x56, 0x58, 0x5e, 0x5b, 0x53, 0x60, 0x58, 0x53, 0x58, 0x60, 0x60, | |
2697 | + 0x5e, 0x56, 0x48, 0x43, 0x48, 0x0c, 0x4d, 0x49, 0x40, 0x48, 0x40, 0x45, 0x07, 0x45, 0x43, | |
2698 | + 0x43, 0x59, 0x07, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, | |
2699 | + 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x42, 0x07, 0x43, 0x43, 0x40, 0x0c, 0x40, 0x0c, 0x15, | |
2700 | + 0x17, 0x12, 0x4d, 0x17, 0x12, 0x4d, 0x40, 0x40, 0x40, 0x28, 0x28, 0x15, 0x40, 0x0f, 0x15, | |
2701 | + 0x1a, 0x1a, 0x22, 0x27, 0x12, 0x07, 0x0c, 0x12, 0x0a, 0x05, 0x38, 0x1d, 0x15, 0x40, 0x15, | |
2702 | + 0x0a, 0x1a, 0x40, 0x15, 0x01, 0x04, 0x40, 0x15, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2703 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x45, | |
2704 | + 0x5a, 0x40, 0x1f, 0x02, 0x40, 0x27, 0x40, 0x45, 0x40, 0x40, 0x40, 0x0f, 0x45, 0x59, 0x57, | |
2705 | + 0x05, 0x5c, 0x59, 0x57, 0x51, 0x51, 0x07, 0x07, 0x0d, 0x4a, 0x02, 0x54, 0x07, 0x5f, 0x27, | |
2706 | + 0x00, 0x15, 0x40, 0x4d, 0x17, 0x40, 0x40, 0x40, 0x45, 0x45, 0x52, 0x57, 0x54, 0x57, 0x5c, | |
2707 | + 0x59, 0x52, 0x5f, 0x57, 0x51, 0x57, 0x5f, 0x5f, 0x5c, 0x54, 0x47, 0x42, 0x47, 0x52, 0x57, | |
2708 | + 0x54, 0x57, 0x5c, 0x59, 0x52, 0x5f, 0x57, 0x51, 0x57, 0x5f, 0x5f, 0x5c, 0x54, 0x47, 0x42, | |
2709 | + 0x47, 0x0d, 0x4d, 0x47, 0x40, 0x48, 0x40, 0x45, 0x07, 0x45, 0x42, 0x42, 0x57, 0x07, 0x1d, | |
2710 | + 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, | |
2711 | + 0x07, 0x40, 0x42, 0x07, 0x42, 0x42, 0x00, 0x0d, 0x00, 0x0d, 0x15, 0x17, 0x12, 0x4d, 0x17, | |
2712 | + 0x12, 0x4d, 0x40, 0x40, 0x40, 0x27, 0x27, 0x15, 0x40, 0x0f, 0x15, 0x1a, 0x1a, 0x22, 0x27, | |
2713 | + 0x12, 0x07, 0x0d, 0x12, 0x0a, 0x05, 0x37, 0x1d, 0x15, 0x40, 0x15, 0x0a, 0x1a, 0x00, 0x15, | |
2714 | + 0x03, 0x05, 0x00, 0x15, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2715 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x01, 0x01, 0x44, 0x59, 0x40, 0x1e, 0x01, | |
2716 | + 0x41, 0x27, 0x40, 0x44, 0x40, 0x40, 0x40, 0x0f, 0x44, 0x58, 0x56, 0x06, 0x5b, 0x58, 0x55, | |
2717 | + 0x4f, 0x4f, 0x07, 0x07, 0x0c, 0x49, 0x03, 0x53, 0x07, 0x5e, 0x27, 0x01, 0x14, 0x40, 0x4c, | |
2718 | + 0x16, 0x40, 0x40, 0x40, 0x44, 0x44, 0x51, 0x56, 0x53, 0x56, 0x5b, 0x58, 0x51, 0x5e, 0x56, | |
2719 | + 0x50, 0x56, 0x5e, 0x5e, 0x5b, 0x53, 0x46, 0x41, 0x46, 0x51, 0x56, 0x53, 0x56, 0x5b, 0x58, | |
2720 | + 0x51, 0x5e, 0x56, 0x50, 0x56, 0x5e, 0x5e, 0x5b, 0x53, 0x46, 0x41, 0x46, 0x0e, 0x4c, 0x45, | |
2721 | + 0x40, 0x48, 0x40, 0x44, 0x07, 0x44, 0x41, 0x41, 0x55, 0x07, 0x1c, 0x11, 0x4c, 0x13, 0x07, | |
2722 | + 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x43, 0x07, | |
2723 | + 0x41, 0x41, 0x01, 0x0e, 0x01, 0x0e, 0x14, 0x17, 0x11, 0x4c, 0x17, 0x11, 0x4c, 0x40, 0x40, | |
2724 | + 0x40, 0x26, 0x26, 0x14, 0x40, 0x0f, 0x14, 0x19, 0x19, 0x23, 0x27, 0x13, 0x07, 0x0e, 0x13, | |
2725 | + 0x0b, 0x04, 0x36, 0x1c, 0x14, 0x40, 0x14, 0x0b, 0x19, 0x01, 0x14, 0x04, 0x06, 0x01, 0x14, | |
2726 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2727 | + 0x00, 0x00, 0x00, 0x07, 0x01, 0x02, 0x44, 0x59, 0x40, 0x1d, 0x01, 0x42, 0x27, 0x40, 0x44, | |
2728 | + 0x40, 0x40, 0x40, 0x0f, 0x44, 0x56, 0x55, 0x06, 0x5a, 0x56, 0x53, 0x4c, 0x4c, 0x07, 0x07, | |
2729 | + 0x0c, 0x49, 0x03, 0x52, 0x07, 0x5d, 0x27, 0x02, 0x14, 0x40, 0x4c, 0x15, 0x40, 0x40, 0x40, | |
2730 | + 0x44, 0x44, 0x51, 0x55, 0x52, 0x55, 0x5a, 0x56, 0x51, 0x5d, 0x55, 0x4e, 0x55, 0x5d, 0x5d, | |
2731 | + 0x5a, 0x52, 0x45, 0x41, 0x45, 0x51, 0x55, 0x52, 0x55, 0x5a, 0x56, 0x51, 0x5d, 0x55, 0x4e, | |
2732 | + 0x55, 0x5d, 0x5d, 0x5a, 0x52, 0x45, 0x41, 0x45, 0x0e, 0x4c, 0x43, 0x40, 0x48, 0x40, 0x44, | |
2733 | + 0x07, 0x44, 0x41, 0x41, 0x53, 0x07, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, | |
2734 | + 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x43, 0x07, 0x41, 0x41, 0x02, 0x0e, | |
2735 | + 0x02, 0x0e, 0x14, 0x17, 0x11, 0x4c, 0x17, 0x11, 0x4c, 0x40, 0x40, 0x40, 0x25, 0x25, 0x14, | |
2736 | + 0x40, 0x0f, 0x14, 0x19, 0x19, 0x23, 0x27, 0x13, 0x07, 0x0e, 0x13, 0x0b, 0x04, 0x35, 0x1c, | |
2737 | + 0x14, 0x40, 0x14, 0x0b, 0x19, 0x02, 0x14, 0x05, 0x06, 0x02, 0x14, 0x40, 0x40, 0x40, 0x40, | |
2738 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2739 | + 0x00, 0x03, 0x44, 0x58, 0x40, 0x1c, 0x00, 0x43, 0x27, 0x40, 0x44, 0x40, 0x40, 0x40, 0x0f, | |
2740 | + 0x44, 0x55, 0x54, 0x07, 0x59, 0x55, 0x51, 0x4a, 0x4a, 0x07, 0x07, 0x0c, 0x48, 0x03, 0x51, | |
2741 | + 0x07, 0x5c, 0x27, 0x03, 0x14, 0x40, 0x4c, 0x14, 0x40, 0x40, 0x40, 0x44, 0x44, 0x50, 0x54, | |
2742 | + 0x51, 0x54, 0x59, 0x55, 0x50, 0x5c, 0x54, 0x4d, 0x54, 0x5c, 0x5c, 0x59, 0x51, 0x44, 0x40, | |
2743 | + 0x44, 0x50, 0x54, 0x51, 0x54, 0x59, 0x55, 0x50, 0x5c, 0x54, 0x4d, 0x54, 0x5c, 0x5c, 0x59, | |
2744 | + 0x51, 0x44, 0x40, 0x44, 0x0f, 0x4c, 0x41, 0x40, 0x48, 0x40, 0x44, 0x07, 0x44, 0x40, 0x40, | |
2745 | + 0x51, 0x07, 0x1c, 0x10, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x10, 0x4c, 0x13, 0x07, 0x40, 0x1c, | |
2746 | + 0x10, 0x4c, 0x13, 0x07, 0x40, 0x43, 0x07, 0x40, 0x40, 0x03, 0x0f, 0x03, 0x0f, 0x14, 0x17, | |
2747 | + 0x10, 0x4c, 0x17, 0x10, 0x4c, 0x40, 0x40, 0x40, 0x24, 0x24, 0x14, 0x40, 0x0f, 0x14, 0x18, | |
2748 | + 0x18, 0x23, 0x27, 0x13, 0x07, 0x0f, 0x13, 0x0b, 0x04, 0x34, 0x1c, 0x14, 0x40, 0x14, 0x0b, | |
2749 | + 0x18, 0x03, 0x14, 0x06, 0x07, 0x03, 0x14, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2750 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x40, 0x04, 0x43, 0x57, | |
2751 | + 0x40, 0x1b, 0x40, 0x44, 0x27, 0x40, 0x43, 0x40, 0x40, 0x40, 0x0f, 0x43, 0x53, 0x53, 0x08, | |
2752 | + 0x57, 0x53, 0x4f, 0x47, 0x47, 0x07, 0x07, 0x0b, 0x47, 0x04, 0x4f, 0x07, 0x5b, 0x27, 0x04, | |
2753 | + 0x13, 0x40, 0x4b, 0x13, 0x40, 0x40, 0x40, 0x43, 0x43, 0x4f, 0x53, 0x4f, 0x53, 0x57, 0x53, | |
2754 | + 0x4f, 0x5b, 0x53, 0x4b, 0x53, 0x5b, 0x5b, 0x57, 0x4f, 0x43, 0x00, 0x43, 0x4f, 0x53, 0x4f, | |
2755 | + 0x53, 0x57, 0x53, 0x4f, 0x5b, 0x53, 0x4b, 0x53, 0x5b, 0x5b, 0x57, 0x4f, 0x43, 0x00, 0x43, | |
2756 | + 0x10, 0x4b, 0x00, 0x40, 0x48, 0x40, 0x43, 0x07, 0x43, 0x00, 0x00, 0x4f, 0x07, 0x1b, 0x0f, | |
2757 | + 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, | |
2758 | + 0x40, 0x44, 0x07, 0x00, 0x00, 0x04, 0x10, 0x04, 0x10, 0x13, 0x17, 0x0f, 0x4b, 0x17, 0x0f, | |
2759 | + 0x4b, 0x40, 0x40, 0x40, 0x23, 0x23, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x17, 0x24, 0x27, 0x14, | |
2760 | + 0x07, 0x10, 0x14, 0x0c, 0x03, 0x33, 0x1b, 0x13, 0x40, 0x13, 0x0c, 0x17, 0x04, 0x13, 0x08, | |
2761 | + 0x08, 0x04, 0x13, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2762 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x40, 0x05, 0x43, 0x57, 0x40, 0x1a, 0x40, 0x45, | |
2763 | + 0x27, 0x40, 0x43, 0x40, 0x40, 0x40, 0x0f, 0x43, 0x52, 0x52, 0x08, 0x56, 0x52, 0x4d, 0x45, | |
2764 | + 0x45, 0x07, 0x07, 0x0b, 0x47, 0x04, 0x4e, 0x07, 0x5a, 0x27, 0x05, 0x13, 0x40, 0x4b, 0x12, | |
2765 | + 0x40, 0x40, 0x40, 0x43, 0x43, 0x4f, 0x52, 0x4e, 0x52, 0x56, 0x52, 0x4f, 0x5a, 0x52, 0x4a, | |
2766 | + 0x52, 0x5a, 0x5a, 0x56, 0x4e, 0x42, 0x00, 0x42, 0x4f, 0x52, 0x4e, 0x52, 0x56, 0x52, 0x4f, | |
2767 | + 0x5a, 0x52, 0x4a, 0x52, 0x5a, 0x5a, 0x56, 0x4e, 0x42, 0x00, 0x42, 0x10, 0x4b, 0x02, 0x40, | |
2768 | + 0x48, 0x40, 0x43, 0x07, 0x43, 0x00, 0x00, 0x4d, 0x07, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, | |
2769 | + 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x44, 0x07, 0x00, | |
2770 | + 0x00, 0x05, 0x10, 0x05, 0x10, 0x13, 0x17, 0x0f, 0x4b, 0x17, 0x0f, 0x4b, 0x40, 0x40, 0x40, | |
2771 | + 0x22, 0x22, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x17, 0x24, 0x27, 0x14, 0x07, 0x10, 0x14, 0x0c, | |
2772 | + 0x03, 0x32, 0x1b, 0x13, 0x40, 0x13, 0x0c, 0x17, 0x05, 0x13, 0x09, 0x08, 0x05, 0x13, 0x40, | |
2773 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2774 | + 0x00, 0x00, 0x07, 0x41, 0x06, 0x43, 0x56, 0x40, 0x19, 0x41, 0x46, 0x27, 0x40, 0x43, 0x40, | |
2775 | + 0x40, 0x40, 0x0f, 0x43, 0x50, 0x51, 0x09, 0x55, 0x50, 0x4b, 0x42, 0x42, 0x07, 0x07, 0x0b, | |
2776 | + 0x46, 0x04, 0x4d, 0x07, 0x59, 0x27, 0x06, 0x13, 0x40, 0x4b, 0x11, 0x40, 0x40, 0x40, 0x43, | |
2777 | + 0x43, 0x4e, 0x51, 0x4d, 0x51, 0x55, 0x50, 0x4e, 0x59, 0x51, 0x48, 0x51, 0x59, 0x59, 0x55, | |
2778 | + 0x4d, 0x41, 0x01, 0x41, 0x4e, 0x51, 0x4d, 0x51, 0x55, 0x50, 0x4e, 0x59, 0x51, 0x48, 0x51, | |
2779 | + 0x59, 0x59, 0x55, 0x4d, 0x41, 0x01, 0x41, 0x11, 0x4b, 0x04, 0x40, 0x48, 0x40, 0x43, 0x07, | |
2780 | + 0x43, 0x01, 0x01, 0x4b, 0x07, 0x1b, 0x0e, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0e, 0x4b, 0x14, | |
2781 | + 0x07, 0x40, 0x1b, 0x0e, 0x4b, 0x14, 0x07, 0x40, 0x44, 0x07, 0x01, 0x01, 0x06, 0x11, 0x06, | |
2782 | + 0x11, 0x13, 0x17, 0x0e, 0x4b, 0x17, 0x0e, 0x4b, 0x40, 0x40, 0x40, 0x21, 0x21, 0x13, 0x40, | |
2783 | + 0x0f, 0x13, 0x16, 0x16, 0x24, 0x27, 0x14, 0x07, 0x11, 0x14, 0x0c, 0x03, 0x31, 0x1b, 0x13, | |
2784 | + 0x40, 0x13, 0x0c, 0x16, 0x06, 0x13, 0x0a, 0x09, 0x06, 0x13, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2785 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, | |
2786 | + 0x06, 0x43, 0x56, 0x40, 0x18, 0x42, 0x47, 0x27, 0x40, 0x43, 0x40, 0x40, 0x40, 0x0f, 0x43, | |
2787 | + 0x4f, 0x51, 0x09, 0x54, 0x4f, 0x4a, 0x40, 0x40, 0x07, 0x07, 0x0a, 0x46, 0x04, 0x4c, 0x07, | |
2788 | + 0x59, 0x27, 0x06, 0x12, 0x40, 0x4b, 0x10, 0x40, 0x40, 0x40, 0x43, 0x43, 0x4e, 0x51, 0x4c, | |
2789 | + 0x51, 0x54, 0x4f, 0x4e, 0x59, 0x51, 0x47, 0x51, 0x59, 0x59, 0x54, 0x4c, 0x41, 0x01, 0x41, | |
2790 | + 0x4e, 0x51, 0x4c, 0x51, 0x54, 0x4f, 0x4e, 0x59, 0x51, 0x47, 0x51, 0x59, 0x59, 0x54, 0x4c, | |
2791 | + 0x41, 0x01, 0x41, 0x11, 0x4b, 0x05, 0x40, 0x48, 0x40, 0x43, 0x07, 0x43, 0x01, 0x01, 0x4a, | |
2792 | + 0x07, 0x1a, 0x0d, 0x4b, 0x14, 0x07, 0x40, 0x1a, 0x0d, 0x4b, 0x14, 0x07, 0x40, 0x1a, 0x0d, | |
2793 | + 0x4b, 0x14, 0x07, 0x40, 0x45, 0x07, 0x01, 0x01, 0x06, 0x11, 0x06, 0x11, 0x12, 0x17, 0x0d, | |
2794 | + 0x4b, 0x17, 0x0d, 0x4b, 0x40, 0x40, 0x40, 0x20, 0x20, 0x12, 0x40, 0x0f, 0x12, 0x15, 0x15, | |
2795 | + 0x24, 0x27, 0x14, 0x07, 0x11, 0x14, 0x0c, 0x02, 0x30, 0x1a, 0x12, 0x40, 0x12, 0x0c, 0x15, | |
2796 | + 0x06, 0x12, 0x0b, 0x09, 0x06, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2797 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x42, 0x07, 0x42, 0x55, 0x40, | |
2798 | + 0x18, 0x42, 0x47, 0x27, 0x40, 0x42, 0x40, 0x40, 0x40, 0x0f, 0x42, 0x4d, 0x50, 0x0a, 0x52, | |
2799 | + 0x4d, 0x48, 0x02, 0x02, 0x07, 0x07, 0x0a, 0x45, 0x05, 0x4a, 0x07, 0x58, 0x27, 0x07, 0x12, | |
2800 | + 0x40, 0x4a, 0x10, 0x40, 0x40, 0x40, 0x42, 0x42, 0x4d, 0x50, 0x4a, 0x50, 0x52, 0x4d, 0x4d, | |
2801 | + 0x58, 0x50, 0x45, 0x50, 0x58, 0x58, 0x52, 0x4a, 0x40, 0x02, 0x40, 0x4d, 0x50, 0x4a, 0x50, | |
2802 | + 0x52, 0x4d, 0x4d, 0x58, 0x50, 0x45, 0x50, 0x58, 0x58, 0x52, 0x4a, 0x40, 0x02, 0x40, 0x12, | |
2803 | + 0x4a, 0x07, 0x40, 0x48, 0x40, 0x42, 0x07, 0x42, 0x02, 0x02, 0x48, 0x07, 0x1a, 0x0d, 0x4a, | |
2804 | + 0x15, 0x07, 0x40, 0x1a, 0x0d, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0d, 0x4a, 0x15, 0x07, 0x40, | |
2805 | + 0x45, 0x07, 0x02, 0x02, 0x07, 0x12, 0x07, 0x12, 0x12, 0x17, 0x0d, 0x4a, 0x17, 0x0d, 0x4a, | |
2806 | + 0x40, 0x40, 0x40, 0x20, 0x20, 0x12, 0x40, 0x0f, 0x12, 0x15, 0x15, 0x25, 0x27, 0x15, 0x07, | |
2807 | + 0x12, 0x15, 0x0d, 0x02, 0x30, 0x1a, 0x12, 0x40, 0x12, 0x0d, 0x15, 0x07, 0x12, 0x0d, 0x0a, | |
2808 | + 0x07, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2809 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x43, 0x08, 0x42, 0x54, 0x40, 0x17, 0x43, 0x48, 0x27, | |
2810 | + 0x40, 0x42, 0x40, 0x40, 0x40, 0x0f, 0x42, 0x4b, 0x4f, 0x0b, 0x51, 0x4b, 0x46, 0x04, 0x04, | |
2811 | + 0x07, 0x07, 0x0a, 0x44, 0x05, 0x49, 0x07, 0x57, 0x27, 0x08, 0x12, 0x40, 0x4a, 0x0f, 0x40, | |
2812 | + 0x40, 0x40, 0x42, 0x42, 0x4c, 0x4f, 0x49, 0x4f, 0x51, 0x4b, 0x4c, 0x57, 0x4f, 0x43, 0x4f, | |
2813 | + 0x57, 0x57, 0x51, 0x49, 0x00, 0x03, 0x00, 0x4c, 0x4f, 0x49, 0x4f, 0x51, 0x4b, 0x4c, 0x57, | |
2814 | + 0x4f, 0x43, 0x4f, 0x57, 0x57, 0x51, 0x49, 0x00, 0x03, 0x00, 0x13, 0x4a, 0x09, 0x40, 0x48, | |
2815 | + 0x40, 0x42, 0x07, 0x42, 0x03, 0x03, 0x46, 0x07, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x1a, | |
2816 | + 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x45, 0x07, 0x03, 0x03, | |
2817 | + 0x08, 0x13, 0x08, 0x13, 0x12, 0x17, 0x0c, 0x4a, 0x17, 0x0c, 0x4a, 0x40, 0x40, 0x40, 0x1f, | |
2818 | + 0x1f, 0x12, 0x40, 0x0f, 0x12, 0x14, 0x14, 0x25, 0x27, 0x15, 0x07, 0x13, 0x15, 0x0d, 0x02, | |
2819 | + 0x2f, 0x1a, 0x12, 0x40, 0x12, 0x0d, 0x14, 0x08, 0x12, 0x0e, 0x0b, 0x08, 0x12, 0x40, 0x40, | |
2820 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2821 | + 0x00, 0x07, 0x43, 0x09, 0x42, 0x54, 0x40, 0x16, 0x43, 0x49, 0x27, 0x40, 0x42, 0x40, 0x40, | |
2822 | + 0x40, 0x0f, 0x42, 0x4a, 0x4e, 0x0b, 0x50, 0x4a, 0x44, 0x07, 0x07, 0x07, 0x07, 0x0a, 0x44, | |
2823 | + 0x05, 0x48, 0x07, 0x56, 0x27, 0x09, 0x12, 0x40, 0x4a, 0x0e, 0x40, 0x40, 0x40, 0x42, 0x42, | |
2824 | + 0x4c, 0x4e, 0x48, 0x4e, 0x50, 0x4a, 0x4c, 0x56, 0x4e, 0x42, 0x4e, 0x56, 0x56, 0x50, 0x48, | |
2825 | + 0x01, 0x03, 0x01, 0x4c, 0x4e, 0x48, 0x4e, 0x50, 0x4a, 0x4c, 0x56, 0x4e, 0x42, 0x4e, 0x56, | |
2826 | + 0x56, 0x50, 0x48, 0x01, 0x03, 0x01, 0x13, 0x4a, 0x0b, 0x40, 0x48, 0x40, 0x42, 0x07, 0x42, | |
2827 | + 0x03, 0x03, 0x44, 0x07, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, | |
2828 | + 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x45, 0x07, 0x03, 0x03, 0x09, 0x13, 0x09, 0x13, | |
2829 | + 0x12, 0x17, 0x0c, 0x4a, 0x17, 0x0c, 0x4a, 0x40, 0x40, 0x40, 0x1e, 0x1e, 0x12, 0x40, 0x0f, | |
2830 | + 0x12, 0x14, 0x14, 0x25, 0x27, 0x15, 0x07, 0x13, 0x15, 0x0d, 0x02, 0x2e, 0x1a, 0x12, 0x40, | |
2831 | + 0x12, 0x0d, 0x14, 0x09, 0x12, 0x0f, 0x0b, 0x09, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2832 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x44, 0x0a, | |
2833 | + 0x41, 0x53, 0x40, 0x15, 0x44, 0x4a, 0x27, 0x40, 0x41, 0x40, 0x40, 0x40, 0x0f, 0x41, 0x48, | |
2834 | + 0x4d, 0x0c, 0x4f, 0x48, 0x42, 0x09, 0x09, 0x07, 0x07, 0x09, 0x43, 0x06, 0x47, 0x07, 0x55, | |
2835 | + 0x27, 0x0a, 0x11, 0x40, 0x49, 0x0d, 0x40, 0x40, 0x40, 0x41, 0x41, 0x4b, 0x4d, 0x47, 0x4d, | |
2836 | + 0x4f, 0x48, 0x4b, 0x55, 0x4d, 0x40, 0x4d, 0x55, 0x55, 0x4f, 0x47, 0x02, 0x04, 0x02, 0x4b, | |
2837 | + 0x4d, 0x47, 0x4d, 0x4f, 0x48, 0x4b, 0x55, 0x4d, 0x40, 0x4d, 0x55, 0x55, 0x4f, 0x47, 0x02, | |
2838 | + 0x04, 0x02, 0x14, 0x49, 0x0d, 0x40, 0x48, 0x40, 0x41, 0x07, 0x41, 0x04, 0x04, 0x42, 0x07, | |
2839 | + 0x19, 0x0b, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0b, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0b, 0x49, | |
2840 | + 0x16, 0x07, 0x40, 0x46, 0x07, 0x04, 0x04, 0x0a, 0x14, 0x0a, 0x14, 0x11, 0x17, 0x0b, 0x49, | |
2841 | + 0x17, 0x0b, 0x49, 0x40, 0x40, 0x40, 0x1d, 0x1d, 0x11, 0x40, 0x0f, 0x11, 0x13, 0x13, 0x26, | |
2842 | + 0x27, 0x16, 0x07, 0x14, 0x16, 0x0e, 0x01, 0x2d, 0x19, 0x11, 0x40, 0x11, 0x0e, 0x13, 0x0a, | |
2843 | + 0x11, 0x10, 0x0c, 0x0a, 0x11, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
2844 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x45, 0x0b, 0x41, 0x52, 0x40, 0x14, | |
2845 | + 0x45, 0x4b, 0x27, 0x40, 0x41, 0x40, 0x40, 0x40, 0x0f, 0x41, 0x47, 0x4c, 0x0d, 0x4d, 0x47, | |
2846 | + 0x40, 0x0c, 0x0c, 0x07, 0x07, 0x09, 0x42, 0x06, 0x45, 0x07, 0x54, 0x27, 0x0b, 0x11, 0x40, | |
2847 | + 0x49, 0x0c, 0x40, 0x40, 0x40, 0x41, 0x41, 0x4a, 0x4c, 0x45, 0x4c, 0x4d, 0x47, 0x4a, 0x54, | |
2848 | + 0x4c, 0x00, 0x4c, 0x54, 0x54, 0x4d, 0x45, 0x03, 0x05, 0x03, 0x4a, 0x4c, 0x45, 0x4c, 0x4d, | |
2849 | + 0x47, 0x4a, 0x54, 0x4c, 0x00, 0x4c, 0x54, 0x54, 0x4d, 0x45, 0x03, 0x05, 0x03, 0x15, 0x49, | |
2850 | + 0x0f, 0x40, 0x48, 0x40, 0x41, 0x07, 0x41, 0x05, 0x05, 0x40, 0x07, 0x19, 0x0a, 0x49, 0x16, | |
2851 | + 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x46, | |
2852 | + 0x07, 0x05, 0x05, 0x0b, 0x15, 0x0b, 0x15, 0x11, 0x17, 0x0a, 0x49, 0x17, 0x0a, 0x49, 0x40, | |
2853 | + 0x40, 0x40, 0x1c, 0x1c, 0x11, 0x40, 0x0f, 0x11, 0x12, 0x12, 0x26, 0x27, 0x16, 0x07, 0x15, | |
2854 | + 0x16, 0x0e, 0x01, 0x2c, 0x19, 0x11, 0x40, 0x11, 0x0e, 0x12, 0x0b, 0x11, 0x12, 0x0d, 0x0b, | |
2855 | + 0x11, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2856 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x45, 0x0c, 0x41, 0x52, 0x40, 0x13, 0x45, 0x4c, 0x27, 0x40, | |
2857 | + 0x41, 0x40, 0x40, 0x40, 0x0f, 0x41, 0x45, 0x4b, 0x0d, 0x4c, 0x45, 0x01, 0x0e, 0x0e, 0x07, | |
2858 | + 0x07, 0x09, 0x42, 0x06, 0x44, 0x07, 0x53, 0x27, 0x0c, 0x11, 0x40, 0x49, 0x0b, 0x40, 0x40, | |
2859 | + 0x40, 0x41, 0x41, 0x4a, 0x4b, 0x44, 0x4b, 0x4c, 0x45, 0x4a, 0x53, 0x4b, 0x02, 0x4b, 0x53, | |
2860 | + 0x53, 0x4c, 0x44, 0x04, 0x05, 0x04, 0x4a, 0x4b, 0x44, 0x4b, 0x4c, 0x45, 0x4a, 0x53, 0x4b, | |
2861 | + 0x02, 0x4b, 0x53, 0x53, 0x4c, 0x44, 0x04, 0x05, 0x04, 0x15, 0x49, 0x11, 0x40, 0x48, 0x40, | |
2862 | + 0x41, 0x07, 0x41, 0x05, 0x05, 0x01, 0x07, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, | |
2863 | + 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x46, 0x07, 0x05, 0x05, 0x0c, | |
2864 | + 0x15, 0x0c, 0x15, 0x11, 0x17, 0x0a, 0x49, 0x17, 0x0a, 0x49, 0x40, 0x40, 0x40, 0x1b, 0x1b, | |
2865 | + 0x11, 0x40, 0x0f, 0x11, 0x12, 0x12, 0x26, 0x27, 0x16, 0x07, 0x15, 0x16, 0x0e, 0x01, 0x2b, | |
2866 | + 0x19, 0x11, 0x40, 0x11, 0x0e, 0x12, 0x0c, 0x11, 0x13, 0x0d, 0x0c, 0x11, 0x40, 0x40, 0x40, | |
2867 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2868 | + 0x07, 0x46, 0x0d, 0x40, 0x51, 0x40, 0x12, 0x46, 0x4d, 0x27, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2869 | + 0x0f, 0x40, 0x44, 0x4a, 0x0e, 0x4b, 0x44, 0x03, 0x11, 0x11, 0x07, 0x07, 0x08, 0x41, 0x07, | |
2870 | + 0x43, 0x07, 0x52, 0x27, 0x0d, 0x10, 0x40, 0x48, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x49, | |
2871 | + 0x4a, 0x43, 0x4a, 0x4b, 0x44, 0x49, 0x52, 0x4a, 0x03, 0x4a, 0x52, 0x52, 0x4b, 0x43, 0x05, | |
2872 | + 0x06, 0x05, 0x49, 0x4a, 0x43, 0x4a, 0x4b, 0x44, 0x49, 0x52, 0x4a, 0x03, 0x4a, 0x52, 0x52, | |
2873 | + 0x4b, 0x43, 0x05, 0x06, 0x05, 0x16, 0x48, 0x13, 0x40, 0x48, 0x40, 0x40, 0x07, 0x40, 0x06, | |
2874 | + 0x06, 0x03, 0x07, 0x18, 0x09, 0x48, 0x17, 0x07, 0x40, 0x18, 0x09, 0x48, 0x17, 0x07, 0x40, | |
2875 | + 0x18, 0x09, 0x48, 0x17, 0x07, 0x40, 0x47, 0x07, 0x06, 0x06, 0x0d, 0x16, 0x0d, 0x16, 0x10, | |
2876 | + 0x17, 0x09, 0x48, 0x17, 0x09, 0x48, 0x40, 0x40, 0x40, 0x1a, 0x1a, 0x10, 0x40, 0x0f, 0x10, | |
2877 | + 0x11, 0x11, 0x27, 0x27, 0x17, 0x07, 0x16, 0x17, 0x0f, 0x00, 0x2a, 0x18, 0x10, 0x40, 0x10, | |
2878 | + 0x0f, 0x11, 0x0d, 0x10, 0x14, 0x0e, 0x0d, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2879 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x47, 0x0e, 0x40, | |
2880 | + 0x51, 0x40, 0x11, 0x47, 0x4e, 0x27, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0f, 0x40, 0x42, 0x49, | |
2881 | + 0x0e, 0x4a, 0x42, 0x04, 0x13, 0x13, 0x07, 0x07, 0x08, 0x41, 0x07, 0x42, 0x07, 0x51, 0x27, | |
2882 | + 0x0e, 0x10, 0x40, 0x48, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x49, 0x49, 0x42, 0x49, 0x4a, | |
2883 | + 0x42, 0x49, 0x51, 0x49, 0x05, 0x49, 0x51, 0x51, 0x4a, 0x42, 0x06, 0x06, 0x06, 0x49, 0x49, | |
2884 | + 0x42, 0x49, 0x4a, 0x42, 0x49, 0x51, 0x49, 0x05, 0x49, 0x51, 0x51, 0x4a, 0x42, 0x06, 0x06, | |
2885 | + 0x06, 0x16, 0x48, 0x14, 0x40, 0x48, 0x40, 0x40, 0x07, 0x40, 0x06, 0x06, 0x04, 0x07, 0x18, | |
2886 | + 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, | |
2887 | + 0x07, 0x40, 0x47, 0x07, 0x06, 0x06, 0x0e, 0x16, 0x0e, 0x16, 0x10, 0x17, 0x08, 0x48, 0x17, | |
2888 | + 0x08, 0x48, 0x40, 0x40, 0x40, 0x19, 0x19, 0x10, 0x40, 0x0f, 0x10, 0x10, 0x10, 0x27, 0x27, | |
2889 | + 0x17, 0x07, 0x16, 0x17, 0x0f, 0x00, 0x29, 0x18, 0x10, 0x40, 0x10, 0x0f, 0x10, 0x0e, 0x10, | |
2890 | + 0x15, 0x0e, 0x0e, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
2891 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x47, 0x0f, 0x40, 0x50, 0x40, 0x10, 0x47, | |
2892 | + 0x4f, 0x27, 0x40, 0x40, 0x40, 0x40, 0x40, 0x0f, 0x40, 0x40, 0x48, 0x0f, 0x48, 0x40, 0x06, | |
2893 | + 0x16, 0x16, 0x07, 0x07, 0x08, 0x40, 0x07, 0x40, 0x07, 0x50, 0x27, 0x0f, 0x10, 0x40, 0x48, | |
2894 | + 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x48, 0x48, 0x40, 0x48, 0x48, 0x40, 0x48, 0x50, 0x48, | |
2895 | + 0x07, 0x48, 0x50, 0x50, 0x48, 0x40, 0x07, 0x07, 0x07, 0x48, 0x48, 0x40, 0x48, 0x48, 0x40, | |
2896 | + 0x48, 0x50, 0x48, 0x07, 0x48, 0x50, 0x50, 0x48, 0x40, 0x07, 0x07, 0x07, 0x17, 0x48, 0x16, | |
2897 | + 0x40, 0x48, 0x40, 0x40, 0x07, 0x40, 0x07, 0x07, 0x06, 0x07, 0x18, 0x08, 0x48, 0x17, 0x07, | |
2898 | + 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x47, 0x07, | |
2899 | + 0x07, 0x07, 0x0f, 0x17, 0x0f, 0x17, 0x10, 0x17, 0x08, 0x48, 0x17, 0x08, 0x48, 0x40, 0x40, | |
2900 | + 0x40, 0x18, 0x18, 0x10, 0x40, 0x0f, 0x10, 0x10, 0x10, 0x27, 0x27, 0x17, 0x07, 0x17, 0x17, | |
2901 | + 0x0f, 0x00, 0x28, 0x18, 0x10, 0x40, 0x10, 0x0f, 0x10, 0x0f, 0x10, 0x17, 0x0f, 0x0f, 0x10, | |
2902 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2903 | + 0x00, 0x00, 0x00, 0x07, 0x48, 0x10, 0x00, 0x4f, 0x40, 0x0f, 0x48, 0x50, 0x27, 0x40, 0x00, | |
2904 | + 0x40, 0x40, 0x40, 0x0f, 0x00, 0x00, 0x47, 0x10, 0x47, 0x00, 0x08, 0x18, 0x18, 0x07, 0x07, | |
2905 | + 0x07, 0x00, 0x08, 0x00, 0x07, 0x4f, 0x27, 0x10, 0x0f, 0x40, 0x47, 0x07, 0x40, 0x40, 0x40, | |
2906 | + 0x00, 0x00, 0x47, 0x47, 0x00, 0x47, 0x47, 0x00, 0x47, 0x4f, 0x47, 0x08, 0x47, 0x4f, 0x4f, | |
2907 | + 0x47, 0x00, 0x08, 0x08, 0x08, 0x47, 0x47, 0x00, 0x47, 0x47, 0x00, 0x47, 0x4f, 0x47, 0x08, | |
2908 | + 0x47, 0x4f, 0x4f, 0x47, 0x00, 0x08, 0x08, 0x08, 0x18, 0x47, 0x18, 0x40, 0x48, 0x40, 0x00, | |
2909 | + 0x07, 0x00, 0x08, 0x08, 0x08, 0x07, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, 0x07, 0x47, | |
2910 | + 0x18, 0x07, 0x40, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x48, 0x07, 0x08, 0x08, 0x10, 0x18, | |
2911 | + 0x10, 0x18, 0x0f, 0x17, 0x07, 0x47, 0x17, 0x07, 0x47, 0x40, 0x40, 0x40, 0x17, 0x17, 0x0f, | |
2912 | + 0x40, 0x0f, 0x0f, 0x0f, 0x0f, 0x28, 0x27, 0x18, 0x07, 0x18, 0x18, 0x10, 0x40, 0x27, 0x17, | |
2913 | + 0x0f, 0x40, 0x0f, 0x10, 0x0f, 0x10, 0x0f, 0x18, 0x10, 0x10, 0x0f, 0x40, 0x40, 0x40, 0x40, | |
2914 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
2915 | + 0x48, 0x11, 0x00, 0x4f, 0x40, 0x0e, 0x48, 0x51, 0x27, 0x40, 0x00, 0x40, 0x40, 0x40, 0x0f, | |
2916 | + 0x00, 0x02, 0x46, 0x10, 0x46, 0x02, 0x0a, 0x1b, 0x1b, 0x07, 0x07, 0x07, 0x00, 0x08, 0x01, | |
2917 | + 0x07, 0x4e, 0x27, 0x11, 0x0f, 0x40, 0x47, 0x06, 0x40, 0x40, 0x40, 0x00, 0x00, 0x47, 0x46, | |
2918 | + 0x01, 0x46, 0x46, 0x02, 0x47, 0x4e, 0x46, 0x0a, 0x46, 0x4e, 0x4e, 0x46, 0x01, 0x09, 0x08, | |
2919 | + 0x09, 0x47, 0x46, 0x01, 0x46, 0x46, 0x02, 0x47, 0x4e, 0x46, 0x0a, 0x46, 0x4e, 0x4e, 0x46, | |
2920 | + 0x01, 0x09, 0x08, 0x09, 0x18, 0x47, 0x1a, 0x40, 0x48, 0x40, 0x00, 0x07, 0x00, 0x08, 0x08, | |
2921 | + 0x0a, 0x07, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, | |
2922 | + 0x07, 0x47, 0x18, 0x07, 0x40, 0x48, 0x07, 0x08, 0x08, 0x11, 0x18, 0x11, 0x18, 0x0f, 0x17, | |
2923 | + 0x07, 0x47, 0x17, 0x07, 0x47, 0x40, 0x40, 0x40, 0x16, 0x16, 0x0f, 0x40, 0x0f, 0x0f, 0x0f, | |
2924 | + 0x0f, 0x28, 0x27, 0x18, 0x07, 0x18, 0x18, 0x10, 0x40, 0x26, 0x17, 0x0f, 0x40, 0x0f, 0x10, | |
2925 | + 0x0f, 0x11, 0x0f, 0x19, 0x10, 0x11, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
2926 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x49, 0x12, 0x00, 0x4e, | |
2927 | + 0x40, 0x0d, 0x49, 0x52, 0x27, 0x40, 0x00, 0x40, 0x40, 0x40, 0x0f, 0x00, 0x03, 0x45, 0x11, | |
2928 | + 0x45, 0x03, 0x0c, 0x1d, 0x1d, 0x07, 0x07, 0x07, 0x01, 0x08, 0x02, 0x07, 0x4d, 0x27, 0x12, | |
2929 | + 0x0f, 0x40, 0x47, 0x05, 0x40, 0x40, 0x40, 0x00, 0x00, 0x46, 0x45, 0x02, 0x45, 0x45, 0x03, | |
2930 | + 0x46, 0x4d, 0x45, 0x0b, 0x45, 0x4d, 0x4d, 0x45, 0x02, 0x0a, 0x09, 0x0a, 0x46, 0x45, 0x02, | |
2931 | + 0x45, 0x45, 0x03, 0x46, 0x4d, 0x45, 0x0b, 0x45, 0x4d, 0x4d, 0x45, 0x02, 0x0a, 0x09, 0x0a, | |
2932 | + 0x19, 0x47, 0x1c, 0x40, 0x48, 0x40, 0x00, 0x07, 0x00, 0x09, 0x09, 0x0c, 0x07, 0x17, 0x06, | |
2933 | + 0x47, 0x18, 0x07, 0x40, 0x17, 0x06, 0x47, 0x18, 0x07, 0x40, 0x17, 0x06, 0x47, 0x18, 0x07, | |
2934 | + 0x40, 0x48, 0x07, 0x09, 0x09, 0x12, 0x19, 0x12, 0x19, 0x0f, 0x17, 0x06, 0x47, 0x17, 0x06, | |
2935 | + 0x47, 0x40, 0x40, 0x40, 0x15, 0x15, 0x0f, 0x40, 0x0f, 0x0f, 0x0e, 0x0e, 0x28, 0x27, 0x18, | |
2936 | + 0x07, 0x19, 0x18, 0x10, 0x40, 0x25, 0x17, 0x0f, 0x40, 0x0f, 0x10, 0x0e, 0x12, 0x0f, 0x1a, | |
2937 | + 0x11, 0x12, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2938 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4a, 0x13, 0x01, 0x4d, 0x40, 0x0c, 0x4a, 0x53, | |
2939 | + 0x27, 0x40, 0x01, 0x40, 0x40, 0x40, 0x0f, 0x01, 0x05, 0x44, 0x12, 0x43, 0x05, 0x0e, 0x20, | |
2940 | + 0x20, 0x07, 0x07, 0x06, 0x02, 0x09, 0x04, 0x07, 0x4c, 0x27, 0x13, 0x0e, 0x40, 0x46, 0x04, | |
2941 | + 0x40, 0x40, 0x40, 0x01, 0x01, 0x45, 0x44, 0x04, 0x44, 0x43, 0x05, 0x45, 0x4c, 0x44, 0x0d, | |
2942 | + 0x44, 0x4c, 0x4c, 0x43, 0x04, 0x0b, 0x0a, 0x0b, 0x45, 0x44, 0x04, 0x44, 0x43, 0x05, 0x45, | |
2943 | + 0x4c, 0x44, 0x0d, 0x44, 0x4c, 0x4c, 0x43, 0x04, 0x0b, 0x0a, 0x0b, 0x1a, 0x46, 0x1e, 0x40, | |
2944 | + 0x48, 0x40, 0x01, 0x07, 0x01, 0x0a, 0x0a, 0x0e, 0x07, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, | |
2945 | + 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x49, 0x07, 0x0a, | |
2946 | + 0x0a, 0x13, 0x1a, 0x13, 0x1a, 0x0e, 0x17, 0x05, 0x46, 0x17, 0x05, 0x46, 0x40, 0x40, 0x40, | |
2947 | + 0x14, 0x14, 0x0e, 0x40, 0x0f, 0x0e, 0x0d, 0x0d, 0x29, 0x27, 0x19, 0x07, 0x1a, 0x19, 0x11, | |
2948 | + 0x41, 0x24, 0x16, 0x0e, 0x40, 0x0e, 0x11, 0x0d, 0x13, 0x0e, 0x1c, 0x12, 0x13, 0x0e, 0x40, | |
2949 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2950 | + 0x00, 0x00, 0x07, 0x4a, 0x14, 0x01, 0x4d, 0x40, 0x0b, 0x4a, 0x54, 0x27, 0x40, 0x01, 0x40, | |
2951 | + 0x40, 0x40, 0x0f, 0x01, 0x06, 0x43, 0x12, 0x42, 0x06, 0x10, 0x22, 0x22, 0x07, 0x07, 0x06, | |
2952 | + 0x02, 0x09, 0x05, 0x07, 0x4b, 0x27, 0x14, 0x0e, 0x40, 0x46, 0x03, 0x40, 0x40, 0x40, 0x01, | |
2953 | + 0x01, 0x45, 0x43, 0x05, 0x43, 0x42, 0x06, 0x45, 0x4b, 0x43, 0x0e, 0x43, 0x4b, 0x4b, 0x42, | |
2954 | + 0x05, 0x0c, 0x0a, 0x0c, 0x45, 0x43, 0x05, 0x43, 0x42, 0x06, 0x45, 0x4b, 0x43, 0x0e, 0x43, | |
2955 | + 0x4b, 0x4b, 0x42, 0x05, 0x0c, 0x0a, 0x0c, 0x1a, 0x46, 0x20, 0x40, 0x48, 0x40, 0x01, 0x07, | |
2956 | + 0x01, 0x0a, 0x0a, 0x10, 0x07, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, | |
2957 | + 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x49, 0x07, 0x0a, 0x0a, 0x14, 0x1a, 0x14, | |
2958 | + 0x1a, 0x0e, 0x17, 0x05, 0x46, 0x17, 0x05, 0x46, 0x40, 0x40, 0x40, 0x13, 0x13, 0x0e, 0x40, | |
2959 | + 0x0f, 0x0e, 0x0d, 0x0d, 0x29, 0x27, 0x19, 0x07, 0x1a, 0x19, 0x11, 0x41, 0x23, 0x16, 0x0e, | |
2960 | + 0x40, 0x0e, 0x11, 0x0d, 0x14, 0x0e, 0x1d, 0x12, 0x14, 0x0e, 0x40, 0x40, 0x40, 0x40, 0x40, | |
2961 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4b, | |
2962 | + 0x15, 0x01, 0x4c, 0x40, 0x0a, 0x4b, 0x55, 0x27, 0x40, 0x01, 0x40, 0x40, 0x40, 0x0f, 0x01, | |
2963 | + 0x08, 0x42, 0x13, 0x41, 0x08, 0x12, 0x25, 0x25, 0x07, 0x07, 0x06, 0x03, 0x09, 0x06, 0x07, | |
2964 | + 0x4a, 0x27, 0x15, 0x0e, 0x40, 0x46, 0x02, 0x40, 0x40, 0x40, 0x01, 0x01, 0x44, 0x42, 0x06, | |
2965 | + 0x42, 0x41, 0x08, 0x44, 0x4a, 0x42, 0x10, 0x42, 0x4a, 0x4a, 0x41, 0x06, 0x0d, 0x0b, 0x0d, | |
2966 | + 0x44, 0x42, 0x06, 0x42, 0x41, 0x08, 0x44, 0x4a, 0x42, 0x10, 0x42, 0x4a, 0x4a, 0x41, 0x06, | |
2967 | + 0x0d, 0x0b, 0x0d, 0x1b, 0x46, 0x22, 0x40, 0x48, 0x40, 0x01, 0x07, 0x01, 0x0b, 0x0b, 0x12, | |
2968 | + 0x07, 0x16, 0x04, 0x46, 0x19, 0x07, 0x40, 0x16, 0x04, 0x46, 0x19, 0x07, 0x40, 0x16, 0x04, | |
2969 | + 0x46, 0x19, 0x07, 0x40, 0x49, 0x07, 0x0b, 0x0b, 0x15, 0x1b, 0x15, 0x1b, 0x0e, 0x17, 0x04, | |
2970 | + 0x46, 0x17, 0x04, 0x46, 0x40, 0x40, 0x40, 0x12, 0x12, 0x0e, 0x40, 0x0f, 0x0e, 0x0c, 0x0c, | |
2971 | + 0x29, 0x27, 0x19, 0x07, 0x1b, 0x19, 0x11, 0x41, 0x22, 0x16, 0x0e, 0x40, 0x0e, 0x11, 0x0c, | |
2972 | + 0x15, 0x0e, 0x1e, 0x13, 0x15, 0x0e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
2973 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4c, 0x15, 0x01, 0x4c, 0x40, | |
2974 | + 0x09, 0x4c, 0x56, 0x27, 0x40, 0x01, 0x40, 0x40, 0x40, 0x0f, 0x01, 0x09, 0x42, 0x13, 0x40, | |
2975 | + 0x09, 0x13, 0x27, 0x27, 0x07, 0x07, 0x05, 0x03, 0x09, 0x07, 0x07, 0x4a, 0x27, 0x15, 0x0d, | |
2976 | + 0x40, 0x46, 0x01, 0x40, 0x40, 0x40, 0x01, 0x01, 0x44, 0x42, 0x07, 0x42, 0x40, 0x09, 0x44, | |
2977 | + 0x4a, 0x42, 0x11, 0x42, 0x4a, 0x4a, 0x40, 0x07, 0x0d, 0x0b, 0x0d, 0x44, 0x42, 0x07, 0x42, | |
2978 | + 0x40, 0x09, 0x44, 0x4a, 0x42, 0x11, 0x42, 0x4a, 0x4a, 0x40, 0x07, 0x0d, 0x0b, 0x0d, 0x1b, | |
2979 | + 0x46, 0x23, 0x40, 0x48, 0x40, 0x01, 0x07, 0x01, 0x0b, 0x0b, 0x13, 0x07, 0x15, 0x03, 0x46, | |
2980 | + 0x19, 0x07, 0x40, 0x15, 0x03, 0x46, 0x19, 0x07, 0x40, 0x15, 0x03, 0x46, 0x19, 0x07, 0x40, | |
2981 | + 0x4a, 0x07, 0x0b, 0x0b, 0x15, 0x1b, 0x15, 0x1b, 0x0d, 0x17, 0x03, 0x46, 0x17, 0x03, 0x46, | |
2982 | + 0x40, 0x40, 0x40, 0x11, 0x11, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x0b, 0x29, 0x27, 0x19, 0x07, | |
2983 | + 0x1b, 0x19, 0x11, 0x42, 0x21, 0x15, 0x0d, 0x40, 0x0d, 0x11, 0x0b, 0x15, 0x0d, 0x1f, 0x13, | |
2984 | + 0x15, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2985 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4c, 0x16, 0x02, 0x4b, 0x40, 0x09, 0x4c, 0x56, 0x27, | |
2986 | + 0x40, 0x02, 0x40, 0x40, 0x40, 0x0f, 0x02, 0x0b, 0x41, 0x14, 0x01, 0x0b, 0x15, 0x2a, 0x2a, | |
2987 | + 0x07, 0x07, 0x05, 0x04, 0x0a, 0x09, 0x07, 0x49, 0x27, 0x16, 0x0d, 0x40, 0x45, 0x01, 0x40, | |
2988 | + 0x40, 0x40, 0x02, 0x02, 0x43, 0x41, 0x09, 0x41, 0x01, 0x0b, 0x43, 0x49, 0x41, 0x13, 0x41, | |
2989 | + 0x49, 0x49, 0x01, 0x09, 0x0e, 0x0c, 0x0e, 0x43, 0x41, 0x09, 0x41, 0x01, 0x0b, 0x43, 0x49, | |
2990 | + 0x41, 0x13, 0x41, 0x49, 0x49, 0x01, 0x09, 0x0e, 0x0c, 0x0e, 0x1c, 0x45, 0x25, 0x40, 0x48, | |
2991 | + 0x40, 0x02, 0x07, 0x02, 0x0c, 0x0c, 0x15, 0x07, 0x15, 0x03, 0x45, 0x1a, 0x07, 0x40, 0x15, | |
2992 | + 0x03, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x03, 0x45, 0x1a, 0x07, 0x40, 0x4a, 0x07, 0x0c, 0x0c, | |
2993 | + 0x16, 0x1c, 0x16, 0x1c, 0x0d, 0x17, 0x03, 0x45, 0x17, 0x03, 0x45, 0x40, 0x40, 0x40, 0x11, | |
2994 | + 0x11, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x0b, 0x2a, 0x27, 0x1a, 0x07, 0x1c, 0x1a, 0x12, 0x42, | |
2995 | + 0x21, 0x15, 0x0d, 0x40, 0x0d, 0x12, 0x0b, 0x16, 0x0d, 0x21, 0x14, 0x16, 0x0d, 0x40, 0x40, | |
2996 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
2997 | + 0x00, 0x07, 0x4d, 0x17, 0x02, 0x4a, 0x40, 0x08, 0x4d, 0x57, 0x27, 0x40, 0x02, 0x40, 0x40, | |
2998 | + 0x40, 0x0f, 0x02, 0x0d, 0x40, 0x15, 0x02, 0x0d, 0x17, 0x2c, 0x2c, 0x07, 0x07, 0x05, 0x05, | |
2999 | + 0x0a, 0x0a, 0x07, 0x48, 0x27, 0x17, 0x0d, 0x40, 0x45, 0x00, 0x40, 0x40, 0x40, 0x02, 0x02, | |
3000 | + 0x42, 0x40, 0x0a, 0x40, 0x02, 0x0d, 0x42, 0x48, 0x40, 0x15, 0x40, 0x48, 0x48, 0x02, 0x0a, | |
3001 | + 0x0f, 0x0d, 0x0f, 0x42, 0x40, 0x0a, 0x40, 0x02, 0x0d, 0x42, 0x48, 0x40, 0x15, 0x40, 0x48, | |
3002 | + 0x48, 0x02, 0x0a, 0x0f, 0x0d, 0x0f, 0x1d, 0x45, 0x27, 0x40, 0x48, 0x40, 0x02, 0x07, 0x02, | |
3003 | + 0x0d, 0x0d, 0x17, 0x07, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, 0x1a, 0x07, | |
3004 | + 0x40, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x4a, 0x07, 0x0d, 0x0d, 0x17, 0x1d, 0x17, 0x1d, | |
3005 | + 0x0d, 0x17, 0x02, 0x45, 0x17, 0x02, 0x45, 0x40, 0x40, 0x40, 0x10, 0x10, 0x0d, 0x40, 0x0f, | |
3006 | + 0x0d, 0x0a, 0x0a, 0x2a, 0x27, 0x1a, 0x07, 0x1d, 0x1a, 0x12, 0x42, 0x20, 0x15, 0x0d, 0x40, | |
3007 | + 0x0d, 0x12, 0x0a, 0x17, 0x0d, 0x22, 0x15, 0x17, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3008 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4d, 0x18, | |
3009 | + 0x02, 0x4a, 0x40, 0x07, 0x4d, 0x58, 0x27, 0x40, 0x02, 0x40, 0x40, 0x40, 0x0f, 0x02, 0x0e, | |
3010 | + 0x00, 0x15, 0x03, 0x0e, 0x19, 0x2f, 0x2f, 0x07, 0x07, 0x05, 0x05, 0x0a, 0x0b, 0x07, 0x47, | |
3011 | + 0x27, 0x18, 0x0d, 0x40, 0x45, 0x40, 0x40, 0x40, 0x40, 0x02, 0x02, 0x42, 0x00, 0x0b, 0x00, | |
3012 | + 0x03, 0x0e, 0x42, 0x47, 0x00, 0x16, 0x00, 0x47, 0x47, 0x03, 0x0b, 0x10, 0x0d, 0x10, 0x42, | |
3013 | + 0x00, 0x0b, 0x00, 0x03, 0x0e, 0x42, 0x47, 0x00, 0x16, 0x00, 0x47, 0x47, 0x03, 0x0b, 0x10, | |
3014 | + 0x0d, 0x10, 0x1d, 0x45, 0x29, 0x40, 0x48, 0x40, 0x02, 0x07, 0x02, 0x0d, 0x0d, 0x19, 0x07, | |
3015 | + 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, | |
3016 | + 0x1a, 0x07, 0x40, 0x4a, 0x07, 0x0d, 0x0d, 0x18, 0x1d, 0x18, 0x1d, 0x0d, 0x17, 0x02, 0x45, | |
3017 | + 0x17, 0x02, 0x45, 0x40, 0x40, 0x40, 0x0f, 0x0f, 0x0d, 0x40, 0x0f, 0x0d, 0x0a, 0x0a, 0x2a, | |
3018 | + 0x27, 0x1a, 0x07, 0x1d, 0x1a, 0x12, 0x42, 0x1f, 0x15, 0x0d, 0x40, 0x0d, 0x12, 0x0a, 0x18, | |
3019 | + 0x0d, 0x23, 0x15, 0x18, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
3020 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x4e, 0x19, 0x03, 0x49, 0x40, 0x06, | |
3021 | + 0x4e, 0x59, 0x27, 0x40, 0x03, 0x40, 0x40, 0x40, 0x0f, 0x03, 0x10, 0x01, 0x16, 0x04, 0x10, | |
3022 | + 0x1b, 0x31, 0x31, 0x07, 0x07, 0x04, 0x06, 0x0b, 0x0c, 0x07, 0x46, 0x27, 0x19, 0x0c, 0x40, | |
3023 | + 0x44, 0x41, 0x40, 0x40, 0x40, 0x03, 0x03, 0x41, 0x01, 0x0c, 0x01, 0x04, 0x10, 0x41, 0x46, | |
3024 | + 0x01, 0x18, 0x01, 0x46, 0x46, 0x04, 0x0c, 0x11, 0x0e, 0x11, 0x41, 0x01, 0x0c, 0x01, 0x04, | |
3025 | + 0x10, 0x41, 0x46, 0x01, 0x18, 0x01, 0x46, 0x46, 0x04, 0x0c, 0x11, 0x0e, 0x11, 0x1e, 0x44, | |
3026 | + 0x2b, 0x40, 0x48, 0x40, 0x03, 0x07, 0x03, 0x0e, 0x0e, 0x1b, 0x07, 0x14, 0x01, 0x44, 0x1b, | |
3027 | + 0x07, 0x40, 0x14, 0x01, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x01, 0x44, 0x1b, 0x07, 0x40, 0x4b, | |
3028 | + 0x07, 0x0e, 0x0e, 0x19, 0x1e, 0x19, 0x1e, 0x0c, 0x17, 0x01, 0x44, 0x17, 0x01, 0x44, 0x40, | |
3029 | + 0x40, 0x40, 0x0e, 0x0e, 0x0c, 0x40, 0x0f, 0x0c, 0x09, 0x09, 0x2b, 0x27, 0x1b, 0x07, 0x1e, | |
3030 | + 0x1b, 0x13, 0x43, 0x1e, 0x14, 0x0c, 0x40, 0x0c, 0x13, 0x09, 0x19, 0x0c, 0x24, 0x16, 0x19, | |
3031 | + 0x0c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3032 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x4f, 0x1a, 0x03, 0x48, 0x40, 0x05, 0x4f, 0x5a, 0x27, 0x40, | |
3033 | + 0x03, 0x40, 0x40, 0x40, 0x0f, 0x03, 0x11, 0x02, 0x17, 0x06, 0x11, 0x1d, 0x34, 0x34, 0x07, | |
3034 | + 0x07, 0x04, 0x07, 0x0b, 0x0e, 0x07, 0x45, 0x27, 0x1a, 0x0c, 0x40, 0x44, 0x42, 0x40, 0x40, | |
3035 | + 0x40, 0x03, 0x03, 0x40, 0x02, 0x0e, 0x02, 0x06, 0x11, 0x40, 0x45, 0x02, 0x19, 0x02, 0x45, | |
3036 | + 0x45, 0x06, 0x0e, 0x12, 0x0f, 0x12, 0x40, 0x02, 0x0e, 0x02, 0x06, 0x11, 0x40, 0x45, 0x02, | |
3037 | + 0x19, 0x02, 0x45, 0x45, 0x06, 0x0e, 0x12, 0x0f, 0x12, 0x1f, 0x44, 0x2d, 0x40, 0x48, 0x40, | |
3038 | + 0x03, 0x07, 0x03, 0x0f, 0x0f, 0x1d, 0x07, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x00, | |
3039 | + 0x44, 0x1b, 0x07, 0x40, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x4b, 0x07, 0x0f, 0x0f, 0x1a, | |
3040 | + 0x1f, 0x1a, 0x1f, 0x0c, 0x17, 0x00, 0x44, 0x17, 0x00, 0x44, 0x40, 0x40, 0x40, 0x0d, 0x0d, | |
3041 | + 0x0c, 0x40, 0x0f, 0x0c, 0x08, 0x08, 0x2b, 0x27, 0x1b, 0x07, 0x1f, 0x1b, 0x13, 0x43, 0x1d, | |
3042 | + 0x14, 0x0c, 0x40, 0x0c, 0x13, 0x08, 0x1a, 0x0c, 0x26, 0x17, 0x1a, 0x0c, 0x40, 0x40, 0x40, | |
3043 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3044 | + 0x07, 0x4f, 0x1b, 0x03, 0x48, 0x40, 0x04, 0x4f, 0x5b, 0x27, 0x40, 0x03, 0x40, 0x40, 0x40, | |
3045 | + 0x0f, 0x03, 0x13, 0x03, 0x17, 0x07, 0x13, 0x1f, 0x36, 0x36, 0x07, 0x07, 0x04, 0x07, 0x0b, | |
3046 | + 0x0f, 0x07, 0x44, 0x27, 0x1b, 0x0c, 0x40, 0x44, 0x43, 0x40, 0x40, 0x40, 0x03, 0x03, 0x40, | |
3047 | + 0x03, 0x0f, 0x03, 0x07, 0x13, 0x40, 0x44, 0x03, 0x1b, 0x03, 0x44, 0x44, 0x07, 0x0f, 0x13, | |
3048 | + 0x0f, 0x13, 0x40, 0x03, 0x0f, 0x03, 0x07, 0x13, 0x40, 0x44, 0x03, 0x1b, 0x03, 0x44, 0x44, | |
3049 | + 0x07, 0x0f, 0x13, 0x0f, 0x13, 0x1f, 0x44, 0x2f, 0x40, 0x48, 0x40, 0x03, 0x07, 0x03, 0x0f, | |
3050 | + 0x0f, 0x1f, 0x07, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, | |
3051 | + 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x4b, 0x07, 0x0f, 0x0f, 0x1b, 0x1f, 0x1b, 0x1f, 0x0c, | |
3052 | + 0x17, 0x00, 0x44, 0x17, 0x00, 0x44, 0x40, 0x40, 0x40, 0x0c, 0x0c, 0x0c, 0x40, 0x0f, 0x0c, | |
3053 | + 0x08, 0x08, 0x2b, 0x27, 0x1b, 0x07, 0x1f, 0x1b, 0x13, 0x43, 0x1c, 0x14, 0x0c, 0x40, 0x0c, | |
3054 | + 0x13, 0x08, 0x1b, 0x0c, 0x27, 0x17, 0x1b, 0x0c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3055 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x50, 0x1c, 0x04, | |
3056 | + 0x47, 0x40, 0x03, 0x50, 0x5c, 0x27, 0x40, 0x04, 0x40, 0x40, 0x40, 0x0f, 0x04, 0x14, 0x04, | |
3057 | + 0x18, 0x08, 0x14, 0x21, 0x39, 0x39, 0x07, 0x07, 0x03, 0x08, 0x0c, 0x10, 0x07, 0x43, 0x27, | |
3058 | + 0x1c, 0x0b, 0x40, 0x43, 0x44, 0x40, 0x40, 0x40, 0x04, 0x04, 0x00, 0x04, 0x10, 0x04, 0x08, | |
3059 | + 0x14, 0x00, 0x43, 0x04, 0x1c, 0x04, 0x43, 0x43, 0x08, 0x10, 0x14, 0x10, 0x14, 0x00, 0x04, | |
3060 | + 0x10, 0x04, 0x08, 0x14, 0x00, 0x43, 0x04, 0x1c, 0x04, 0x43, 0x43, 0x08, 0x10, 0x14, 0x10, | |
3061 | + 0x14, 0x20, 0x43, 0x31, 0x40, 0x48, 0x40, 0x04, 0x07, 0x04, 0x10, 0x10, 0x21, 0x07, 0x13, | |
3062 | + 0x40, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x40, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x40, 0x43, 0x1c, | |
3063 | + 0x07, 0x40, 0x4c, 0x07, 0x10, 0x10, 0x1c, 0x20, 0x1c, 0x20, 0x0b, 0x17, 0x40, 0x43, 0x17, | |
3064 | + 0x40, 0x43, 0x40, 0x40, 0x40, 0x0b, 0x0b, 0x0b, 0x40, 0x0f, 0x0b, 0x07, 0x07, 0x2c, 0x27, | |
3065 | + 0x1c, 0x07, 0x20, 0x1c, 0x14, 0x44, 0x1b, 0x13, 0x0b, 0x40, 0x0b, 0x14, 0x07, 0x1c, 0x0b, | |
3066 | + 0x28, 0x18, 0x1c, 0x0b, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
3067 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x51, 0x1d, 0x04, 0x47, 0x40, 0x02, 0x51, | |
3068 | + 0x5d, 0x27, 0x40, 0x04, 0x40, 0x40, 0x40, 0x0f, 0x04, 0x16, 0x05, 0x18, 0x09, 0x16, 0x22, | |
3069 | + 0x3b, 0x3b, 0x07, 0x07, 0x03, 0x08, 0x0c, 0x11, 0x07, 0x42, 0x27, 0x1d, 0x0b, 0x40, 0x43, | |
3070 | + 0x45, 0x40, 0x40, 0x40, 0x04, 0x04, 0x00, 0x05, 0x11, 0x05, 0x09, 0x16, 0x00, 0x42, 0x05, | |
3071 | + 0x1e, 0x05, 0x42, 0x42, 0x09, 0x11, 0x15, 0x10, 0x15, 0x00, 0x05, 0x11, 0x05, 0x09, 0x16, | |
3072 | + 0x00, 0x42, 0x05, 0x1e, 0x05, 0x42, 0x42, 0x09, 0x11, 0x15, 0x10, 0x15, 0x20, 0x43, 0x32, | |
3073 | + 0x40, 0x48, 0x40, 0x04, 0x07, 0x04, 0x10, 0x10, 0x22, 0x07, 0x13, 0x41, 0x43, 0x1c, 0x07, | |
3074 | + 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x4c, 0x07, | |
3075 | + 0x10, 0x10, 0x1d, 0x20, 0x1d, 0x20, 0x0b, 0x17, 0x41, 0x43, 0x17, 0x41, 0x43, 0x40, 0x40, | |
3076 | + 0x40, 0x0a, 0x0a, 0x0b, 0x40, 0x0f, 0x0b, 0x06, 0x06, 0x2c, 0x27, 0x1c, 0x07, 0x20, 0x1c, | |
3077 | + 0x14, 0x44, 0x1a, 0x13, 0x0b, 0x40, 0x0b, 0x14, 0x06, 0x1d, 0x0b, 0x29, 0x18, 0x1d, 0x0b, | |
3078 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3079 | + 0x00, 0x00, 0x00, 0x07, 0x51, 0x1e, 0x04, 0x46, 0x40, 0x01, 0x51, 0x5e, 0x27, 0x40, 0x04, | |
3080 | + 0x40, 0x40, 0x40, 0x0f, 0x04, 0x18, 0x06, 0x19, 0x0b, 0x18, 0x24, 0x3e, 0x3e, 0x07, 0x07, | |
3081 | + 0x03, 0x09, 0x0c, 0x13, 0x07, 0x41, 0x27, 0x1e, 0x0b, 0x40, 0x43, 0x46, 0x40, 0x40, 0x40, | |
3082 | + 0x04, 0x04, 0x01, 0x06, 0x13, 0x06, 0x0b, 0x18, 0x01, 0x41, 0x06, 0x20, 0x06, 0x41, 0x41, | |
3083 | + 0x0b, 0x13, 0x16, 0x11, 0x16, 0x01, 0x06, 0x13, 0x06, 0x0b, 0x18, 0x01, 0x41, 0x06, 0x20, | |
3084 | + 0x06, 0x41, 0x41, 0x0b, 0x13, 0x16, 0x11, 0x16, 0x21, 0x43, 0x34, 0x40, 0x48, 0x40, 0x04, | |
3085 | + 0x07, 0x04, 0x11, 0x11, 0x24, 0x07, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, | |
3086 | + 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x4c, 0x07, 0x11, 0x11, 0x1e, 0x21, | |
3087 | + 0x1e, 0x21, 0x0b, 0x17, 0x41, 0x43, 0x17, 0x41, 0x43, 0x40, 0x40, 0x40, 0x09, 0x09, 0x0b, | |
3088 | + 0x40, 0x0f, 0x0b, 0x06, 0x06, 0x2c, 0x27, 0x1c, 0x07, 0x21, 0x1c, 0x14, 0x44, 0x19, 0x13, | |
3089 | + 0x0b, 0x40, 0x0b, 0x14, 0x06, 0x1e, 0x0b, 0x2b, 0x19, 0x1e, 0x0b, 0x40, 0x40, 0x40, 0x40, | |
3090 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
3091 | + 0x52, 0x1f, 0x05, 0x45, 0x40, 0x00, 0x52, 0x5f, 0x27, 0x40, 0x05, 0x40, 0x40, 0x40, 0x0f, | |
3092 | + 0x05, 0x19, 0x07, 0x1a, 0x0c, 0x19, 0x26, 0x3e, 0x3e, 0x07, 0x07, 0x02, 0x0a, 0x0d, 0x14, | |
3093 | + 0x07, 0x40, 0x27, 0x1f, 0x0a, 0x40, 0x42, 0x47, 0x40, 0x40, 0x40, 0x05, 0x05, 0x02, 0x07, | |
3094 | + 0x14, 0x07, 0x0c, 0x19, 0x02, 0x40, 0x07, 0x21, 0x07, 0x40, 0x40, 0x0c, 0x14, 0x17, 0x12, | |
3095 | + 0x17, 0x02, 0x07, 0x14, 0x07, 0x0c, 0x19, 0x02, 0x40, 0x07, 0x21, 0x07, 0x40, 0x40, 0x0c, | |
3096 | + 0x14, 0x17, 0x12, 0x17, 0x22, 0x42, 0x36, 0x40, 0x48, 0x40, 0x05, 0x07, 0x05, 0x12, 0x12, | |
3097 | + 0x26, 0x07, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, | |
3098 | + 0x42, 0x42, 0x1d, 0x07, 0x40, 0x4d, 0x07, 0x12, 0x12, 0x1f, 0x22, 0x1f, 0x22, 0x0a, 0x17, | |
3099 | + 0x42, 0x42, 0x17, 0x42, 0x42, 0x40, 0x40, 0x40, 0x08, 0x08, 0x0a, 0x40, 0x0f, 0x0a, 0x05, | |
3100 | + 0x05, 0x2d, 0x27, 0x1d, 0x07, 0x22, 0x1d, 0x15, 0x45, 0x18, 0x12, 0x0a, 0x40, 0x0a, 0x15, | |
3101 | + 0x05, 0x1f, 0x0a, 0x2c, 0x1a, 0x1f, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
3102 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x52, 0x20, 0x05, 0x45, | |
3103 | + 0x40, 0x40, 0x52, 0x60, 0x27, 0x40, 0x05, 0x40, 0x40, 0x40, 0x0f, 0x05, 0x1b, 0x08, 0x1a, | |
3104 | + 0x0d, 0x1b, 0x28, 0x3e, 0x3e, 0x07, 0x07, 0x02, 0x0a, 0x0d, 0x15, 0x07, 0x00, 0x27, 0x20, | |
3105 | + 0x0a, 0x40, 0x42, 0x48, 0x40, 0x40, 0x40, 0x05, 0x05, 0x02, 0x08, 0x15, 0x08, 0x0d, 0x1b, | |
3106 | + 0x02, 0x00, 0x08, 0x23, 0x08, 0x00, 0x00, 0x0d, 0x15, 0x18, 0x12, 0x18, 0x02, 0x08, 0x15, | |
3107 | + 0x08, 0x0d, 0x1b, 0x02, 0x00, 0x08, 0x23, 0x08, 0x00, 0x00, 0x0d, 0x15, 0x18, 0x12, 0x18, | |
3108 | + 0x22, 0x42, 0x38, 0x40, 0x48, 0x40, 0x05, 0x07, 0x05, 0x12, 0x12, 0x28, 0x07, 0x12, 0x42, | |
3109 | + 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, | |
3110 | + 0x40, 0x4d, 0x07, 0x12, 0x12, 0x20, 0x22, 0x20, 0x22, 0x0a, 0x17, 0x42, 0x42, 0x17, 0x42, | |
3111 | + 0x42, 0x40, 0x40, 0x40, 0x07, 0x07, 0x0a, 0x40, 0x0f, 0x0a, 0x05, 0x05, 0x2d, 0x27, 0x1d, | |
3112 | + 0x07, 0x22, 0x1d, 0x15, 0x45, 0x17, 0x12, 0x0a, 0x40, 0x0a, 0x15, 0x05, 0x20, 0x0a, 0x2d, | |
3113 | + 0x1a, 0x20, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3114 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x53, 0x21, 0x05, 0x44, 0x40, 0x41, 0x53, 0x61, | |
3115 | + 0x27, 0x40, 0x05, 0x40, 0x40, 0x40, 0x0f, 0x05, 0x1c, 0x09, 0x1b, 0x0e, 0x1c, 0x2a, 0x3e, | |
3116 | + 0x3e, 0x07, 0x07, 0x02, 0x0b, 0x0d, 0x16, 0x07, 0x01, 0x27, 0x21, 0x0a, 0x40, 0x42, 0x49, | |
3117 | + 0x40, 0x40, 0x40, 0x05, 0x05, 0x03, 0x09, 0x16, 0x09, 0x0e, 0x1c, 0x03, 0x01, 0x09, 0x24, | |
3118 | + 0x09, 0x01, 0x01, 0x0e, 0x16, 0x19, 0x13, 0x19, 0x03, 0x09, 0x16, 0x09, 0x0e, 0x1c, 0x03, | |
3119 | + 0x01, 0x09, 0x24, 0x09, 0x01, 0x01, 0x0e, 0x16, 0x19, 0x13, 0x19, 0x23, 0x42, 0x3a, 0x40, | |
3120 | + 0x48, 0x40, 0x05, 0x07, 0x05, 0x13, 0x13, 0x2a, 0x07, 0x12, 0x43, 0x42, 0x1d, 0x07, 0x40, | |
3121 | + 0x12, 0x43, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x43, 0x42, 0x1d, 0x07, 0x40, 0x4d, 0x07, 0x13, | |
3122 | + 0x13, 0x21, 0x23, 0x21, 0x23, 0x0a, 0x17, 0x43, 0x42, 0x17, 0x43, 0x42, 0x40, 0x40, 0x40, | |
3123 | + 0x06, 0x06, 0x0a, 0x40, 0x0f, 0x0a, 0x04, 0x04, 0x2d, 0x27, 0x1d, 0x07, 0x23, 0x1d, 0x15, | |
3124 | + 0x45, 0x16, 0x12, 0x0a, 0x40, 0x0a, 0x15, 0x04, 0x21, 0x0a, 0x2e, 0x1b, 0x21, 0x0a, 0x40, | |
3125 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3126 | + 0x00, 0x00, 0x07, 0x54, 0x22, 0x06, 0x43, 0x40, 0x42, 0x54, 0x62, 0x27, 0x40, 0x06, 0x40, | |
3127 | + 0x40, 0x40, 0x0f, 0x06, 0x1e, 0x0a, 0x1c, 0x10, 0x1e, 0x2c, 0x3e, 0x3e, 0x07, 0x07, 0x01, | |
3128 | + 0x0c, 0x0e, 0x18, 0x07, 0x02, 0x27, 0x22, 0x09, 0x40, 0x41, 0x4a, 0x40, 0x40, 0x40, 0x06, | |
3129 | + 0x06, 0x04, 0x0a, 0x18, 0x0a, 0x10, 0x1e, 0x04, 0x02, 0x0a, 0x26, 0x0a, 0x02, 0x02, 0x10, | |
3130 | + 0x18, 0x1a, 0x14, 0x1a, 0x04, 0x0a, 0x18, 0x0a, 0x10, 0x1e, 0x04, 0x02, 0x0a, 0x26, 0x0a, | |
3131 | + 0x02, 0x02, 0x10, 0x18, 0x1a, 0x14, 0x1a, 0x24, 0x41, 0x3c, 0x40, 0x48, 0x40, 0x06, 0x07, | |
3132 | + 0x06, 0x14, 0x14, 0x2c, 0x07, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, 0x41, 0x1e, | |
3133 | + 0x07, 0x40, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x4e, 0x07, 0x14, 0x14, 0x22, 0x24, 0x22, | |
3134 | + 0x24, 0x09, 0x17, 0x44, 0x41, 0x17, 0x44, 0x41, 0x40, 0x40, 0x40, 0x05, 0x05, 0x09, 0x40, | |
3135 | + 0x0f, 0x09, 0x03, 0x03, 0x2e, 0x27, 0x1e, 0x07, 0x24, 0x1e, 0x16, 0x46, 0x15, 0x11, 0x09, | |
3136 | + 0x40, 0x09, 0x16, 0x03, 0x22, 0x09, 0x30, 0x1c, 0x22, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3137 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x54, | |
3138 | + 0x23, 0x06, 0x43, 0x40, 0x43, 0x54, 0x63, 0x27, 0x40, 0x06, 0x40, 0x40, 0x40, 0x0f, 0x06, | |
3139 | + 0x1f, 0x0b, 0x1c, 0x11, 0x1f, 0x2e, 0x3e, 0x3e, 0x07, 0x07, 0x01, 0x0c, 0x0e, 0x19, 0x07, | |
3140 | + 0x03, 0x27, 0x23, 0x09, 0x40, 0x41, 0x4b, 0x40, 0x40, 0x40, 0x06, 0x06, 0x04, 0x0b, 0x19, | |
3141 | + 0x0b, 0x11, 0x1f, 0x04, 0x03, 0x0b, 0x27, 0x0b, 0x03, 0x03, 0x11, 0x19, 0x1b, 0x14, 0x1b, | |
3142 | + 0x04, 0x0b, 0x19, 0x0b, 0x11, 0x1f, 0x04, 0x03, 0x0b, 0x27, 0x0b, 0x03, 0x03, 0x11, 0x19, | |
3143 | + 0x1b, 0x14, 0x1b, 0x24, 0x41, 0x3e, 0x40, 0x48, 0x40, 0x06, 0x07, 0x06, 0x14, 0x14, 0x2e, | |
3144 | + 0x07, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, | |
3145 | + 0x41, 0x1e, 0x07, 0x40, 0x4e, 0x07, 0x14, 0x14, 0x23, 0x24, 0x23, 0x24, 0x09, 0x17, 0x44, | |
3146 | + 0x41, 0x17, 0x44, 0x41, 0x40, 0x40, 0x40, 0x04, 0x04, 0x09, 0x40, 0x0f, 0x09, 0x03, 0x03, | |
3147 | + 0x2e, 0x27, 0x1e, 0x07, 0x24, 0x1e, 0x16, 0x46, 0x14, 0x11, 0x09, 0x40, 0x09, 0x16, 0x03, | |
3148 | + 0x23, 0x09, 0x31, 0x1c, 0x23, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
3149 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x55, 0x24, 0x06, 0x42, 0x40, | |
3150 | + 0x44, 0x55, 0x64, 0x27, 0x40, 0x06, 0x40, 0x40, 0x40, 0x0f, 0x06, 0x21, 0x0c, 0x1d, 0x12, | |
3151 | + 0x21, 0x30, 0x3e, 0x3e, 0x07, 0x07, 0x01, 0x0d, 0x0e, 0x1a, 0x07, 0x04, 0x27, 0x24, 0x09, | |
3152 | + 0x40, 0x41, 0x4c, 0x40, 0x40, 0x40, 0x06, 0x06, 0x05, 0x0c, 0x1a, 0x0c, 0x12, 0x21, 0x05, | |
3153 | + 0x04, 0x0c, 0x29, 0x0c, 0x04, 0x04, 0x12, 0x1a, 0x1c, 0x15, 0x1c, 0x05, 0x0c, 0x1a, 0x0c, | |
3154 | + 0x12, 0x21, 0x05, 0x04, 0x0c, 0x29, 0x0c, 0x04, 0x04, 0x12, 0x1a, 0x1c, 0x15, 0x1c, 0x25, | |
3155 | + 0x41, 0x3e, 0x40, 0x48, 0x40, 0x06, 0x07, 0x06, 0x15, 0x15, 0x30, 0x07, 0x11, 0x45, 0x41, | |
3156 | + 0x1e, 0x07, 0x40, 0x11, 0x45, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x45, 0x41, 0x1e, 0x07, 0x40, | |
3157 | + 0x4e, 0x07, 0x15, 0x15, 0x24, 0x25, 0x24, 0x25, 0x09, 0x17, 0x45, 0x41, 0x17, 0x45, 0x41, | |
3158 | + 0x40, 0x40, 0x40, 0x03, 0x03, 0x09, 0x40, 0x0f, 0x09, 0x02, 0x02, 0x2e, 0x27, 0x1e, 0x07, | |
3159 | + 0x25, 0x1e, 0x16, 0x46, 0x13, 0x11, 0x09, 0x40, 0x09, 0x16, 0x02, 0x24, 0x09, 0x32, 0x1d, | |
3160 | + 0x24, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3161 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x56, 0x24, 0x06, 0x42, 0x40, 0x45, 0x56, 0x65, 0x27, | |
3162 | + 0x40, 0x06, 0x40, 0x40, 0x40, 0x0f, 0x06, 0x22, 0x0c, 0x1d, 0x13, 0x22, 0x31, 0x3e, 0x3e, | |
3163 | + 0x07, 0x07, 0x00, 0x0d, 0x0e, 0x1b, 0x07, 0x04, 0x27, 0x24, 0x08, 0x40, 0x41, 0x4d, 0x40, | |
3164 | + 0x40, 0x40, 0x06, 0x06, 0x05, 0x0c, 0x1b, 0x0c, 0x13, 0x22, 0x05, 0x04, 0x0c, 0x2a, 0x0c, | |
3165 | + 0x04, 0x04, 0x13, 0x1b, 0x1c, 0x15, 0x1c, 0x05, 0x0c, 0x1b, 0x0c, 0x13, 0x22, 0x05, 0x04, | |
3166 | + 0x0c, 0x2a, 0x0c, 0x04, 0x04, 0x13, 0x1b, 0x1c, 0x15, 0x1c, 0x25, 0x41, 0x3e, 0x40, 0x48, | |
3167 | + 0x40, 0x06, 0x07, 0x06, 0x15, 0x15, 0x31, 0x07, 0x10, 0x46, 0x41, 0x1e, 0x07, 0x40, 0x10, | |
3168 | + 0x46, 0x41, 0x1e, 0x07, 0x40, 0x10, 0x46, 0x41, 0x1e, 0x07, 0x40, 0x4f, 0x07, 0x15, 0x15, | |
3169 | + 0x24, 0x25, 0x24, 0x25, 0x08, 0x17, 0x46, 0x41, 0x17, 0x46, 0x41, 0x40, 0x40, 0x40, 0x02, | |
3170 | + 0x02, 0x08, 0x40, 0x0f, 0x08, 0x01, 0x01, 0x2e, 0x27, 0x1e, 0x07, 0x25, 0x1e, 0x16, 0x47, | |
3171 | + 0x12, 0x10, 0x08, 0x40, 0x08, 0x16, 0x01, 0x24, 0x08, 0x33, 0x1d, 0x24, 0x08, 0x40, 0x40, | |
3172 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3173 | + 0x00, 0x07, 0x56, 0x25, 0x07, 0x41, 0x40, 0x45, 0x56, 0x65, 0x27, 0x40, 0x07, 0x40, 0x40, | |
3174 | + 0x40, 0x0f, 0x07, 0x24, 0x0d, 0x1e, 0x15, 0x24, 0x33, 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x0e, | |
3175 | + 0x0f, 0x1d, 0x07, 0x05, 0x27, 0x25, 0x08, 0x40, 0x40, 0x4d, 0x40, 0x40, 0x40, 0x07, 0x07, | |
3176 | + 0x06, 0x0d, 0x1d, 0x0d, 0x15, 0x24, 0x06, 0x05, 0x0d, 0x2c, 0x0d, 0x05, 0x05, 0x15, 0x1d, | |
3177 | + 0x1d, 0x16, 0x1d, 0x06, 0x0d, 0x1d, 0x0d, 0x15, 0x24, 0x06, 0x05, 0x0d, 0x2c, 0x0d, 0x05, | |
3178 | + 0x05, 0x15, 0x1d, 0x1d, 0x16, 0x1d, 0x26, 0x40, 0x3e, 0x40, 0x48, 0x40, 0x07, 0x07, 0x07, | |
3179 | + 0x16, 0x16, 0x33, 0x07, 0x10, 0x46, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x46, 0x40, 0x1f, 0x07, | |
3180 | + 0x40, 0x10, 0x46, 0x40, 0x1f, 0x07, 0x40, 0x4f, 0x07, 0x16, 0x16, 0x25, 0x26, 0x25, 0x26, | |
3181 | + 0x08, 0x17, 0x46, 0x40, 0x17, 0x46, 0x40, 0x40, 0x40, 0x40, 0x02, 0x02, 0x08, 0x40, 0x0f, | |
3182 | + 0x08, 0x01, 0x01, 0x2f, 0x27, 0x1f, 0x07, 0x26, 0x1f, 0x17, 0x47, 0x12, 0x10, 0x08, 0x40, | |
3183 | + 0x08, 0x17, 0x01, 0x25, 0x08, 0x35, 0x1e, 0x25, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3184 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x26, | |
3185 | + 0x07, 0x40, 0x40, 0x46, 0x57, 0x66, 0x27, 0x40, 0x07, 0x40, 0x40, 0x40, 0x0f, 0x07, 0x26, | |
3186 | + 0x0e, 0x1f, 0x16, 0x26, 0x35, 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x0f, 0x0f, 0x1e, 0x07, 0x06, | |
3187 | + 0x27, 0x26, 0x08, 0x40, 0x40, 0x4e, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x0e, 0x1e, 0x0e, | |
3188 | + 0x16, 0x26, 0x07, 0x06, 0x0e, 0x2e, 0x0e, 0x06, 0x06, 0x16, 0x1e, 0x1e, 0x17, 0x1e, 0x07, | |
3189 | + 0x0e, 0x1e, 0x0e, 0x16, 0x26, 0x07, 0x06, 0x0e, 0x2e, 0x0e, 0x06, 0x06, 0x16, 0x1e, 0x1e, | |
3190 | + 0x17, 0x1e, 0x27, 0x40, 0x3e, 0x40, 0x48, 0x40, 0x07, 0x07, 0x07, 0x17, 0x17, 0x35, 0x07, | |
3191 | + 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, | |
3192 | + 0x1f, 0x07, 0x40, 0x4f, 0x07, 0x17, 0x17, 0x26, 0x27, 0x26, 0x27, 0x08, 0x17, 0x47, 0x40, | |
3193 | + 0x17, 0x47, 0x40, 0x40, 0x40, 0x40, 0x01, 0x01, 0x08, 0x40, 0x0f, 0x08, 0x00, 0x00, 0x2f, | |
3194 | + 0x27, 0x1f, 0x07, 0x27, 0x1f, 0x17, 0x47, 0x11, 0x10, 0x08, 0x40, 0x08, 0x17, 0x00, 0x26, | |
3195 | + 0x08, 0x36, 0x1f, 0x26, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
3196 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x27, 0x07, 0x40, 0x40, 0x47, | |
3197 | + 0x57, 0x67, 0x27, 0x40, 0x07, 0x40, 0x40, 0x40, 0x0f, 0x07, 0x27, 0x0f, 0x1f, 0x17, 0x27, | |
3198 | + 0x37, 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x0f, 0x0f, 0x1f, 0x07, 0x07, 0x27, 0x27, 0x08, 0x40, | |
3199 | + 0x40, 0x4f, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x0f, 0x1f, 0x0f, 0x17, 0x27, 0x07, 0x07, | |
3200 | + 0x0f, 0x2f, 0x0f, 0x07, 0x07, 0x17, 0x1f, 0x1f, 0x17, 0x1f, 0x07, 0x0f, 0x1f, 0x0f, 0x17, | |
3201 | + 0x27, 0x07, 0x07, 0x0f, 0x2f, 0x0f, 0x07, 0x07, 0x17, 0x1f, 0x1f, 0x17, 0x1f, 0x27, 0x40, | |
3202 | + 0x3e, 0x40, 0x48, 0x40, 0x07, 0x07, 0x07, 0x17, 0x17, 0x37, 0x07, 0x10, 0x47, 0x40, 0x1f, | |
3203 | + 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x4f, | |
3204 | + 0x07, 0x17, 0x17, 0x27, 0x27, 0x27, 0x27, 0x08, 0x17, 0x47, 0x40, 0x17, 0x47, 0x40, 0x40, | |
3205 | + 0x40, 0x40, 0x00, 0x00, 0x08, 0x40, 0x0f, 0x08, 0x00, 0x00, 0x2f, 0x27, 0x1f, 0x07, 0x27, | |
3206 | + 0x1f, 0x17, 0x47, 0x10, 0x10, 0x08, 0x40, 0x08, 0x17, 0x00, 0x27, 0x08, 0x37, 0x1f, 0x27, | |
3207 | + 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3208 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x48, 0x48, 0x60, 0x40, 0x27, 0x07, 0x07, 0x1f, 0x40, | |
3209 | + 0x48, 0x40, 0x40, 0x17, 0x0f, 0x48, 0x68, 0x40, 0x07, 0x68, 0x68, 0x68, 0x68, 0x68, 0x07, | |
3210 | + 0x07, 0x0f, 0x3e, 0x17, 0x40, 0x07, 0x68, 0x27, 0x50, 0x17, 0x40, 0x07, 0x1f, 0x40, 0x40, | |
3211 | + 0x40, 0x48, 0x48, 0x58, 0x60, 0x50, 0x60, 0x68, 0x60, 0x58, 0x68, 0x68, 0x68, 0x58, 0x60, | |
3212 | + 0x68, 0x68, 0x68, 0x50, 0x48, 0x58, 0x58, 0x60, 0x50, 0x60, 0x68, 0x60, 0x58, 0x68, 0x68, | |
3213 | + 0x68, 0x58, 0x60, 0x68, 0x68, 0x68, 0x50, 0x48, 0x58, 0x07, 0x50, 0x58, 0x40, 0x40, 0x40, | |
3214 | + 0x48, 0x07, 0x48, 0x48, 0x48, 0x68, 0x50, 0x1f, 0x17, 0x50, 0x0f, 0x07, 0x40, 0x1f, 0x17, | |
3215 | + 0x50, 0x0f, 0x07, 0x40, 0x1f, 0x17, 0x50, 0x0f, 0x07, 0x40, 0x40, 0x07, 0x40, 0x40, 0x40, | |
3216 | + 0x07, 0x40, 0x07, 0x17, 0x17, 0x17, 0x50, 0x17, 0x17, 0x50, 0x40, 0x40, 0x40, 0x2f, 0x17, | |
3217 | + 0x17, 0x40, 0x0f, 0x17, 0x1f, 0x1f, 0x1f, 0x27, 0x0f, 0x07, 0x07, 0x0f, 0x40, 0x07, 0x3e, | |
3218 | + 0x1f, 0x17, 0x40, 0x0f, 0x17, 0x1f, 0x48, 0x17, 0x48, 0x48, 0x48, 0x17, 0x40, 0x40, 0x40, | |
3219 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3220 | + 0x07, 0x3e, 0x47, 0x47, 0x5f, 0x40, 0x27, 0x07, 0x07, 0x20, 0x40, 0x47, 0x40, 0x40, 0x17, | |
3221 | + 0x0f, 0x47, 0x66, 0x40, 0x08, 0x66, 0x66, 0x66, 0x65, 0x65, 0x07, 0x07, 0x0f, 0x3e, 0x17, | |
3222 | + 0x00, 0x07, 0x67, 0x27, 0x4e, 0x17, 0x40, 0x07, 0x1f, 0x40, 0x40, 0x40, 0x47, 0x47, 0x57, | |
3223 | + 0x5f, 0x4f, 0x5f, 0x66, 0x5e, 0x57, 0x67, 0x67, 0x66, 0x57, 0x5f, 0x67, 0x67, 0x66, 0x4f, | |
3224 | + 0x47, 0x56, 0x57, 0x5f, 0x4f, 0x5f, 0x66, 0x5e, 0x57, 0x67, 0x67, 0x66, 0x57, 0x5f, 0x67, | |
3225 | + 0x67, 0x66, 0x4f, 0x47, 0x56, 0x08, 0x4f, 0x56, 0x40, 0x40, 0x40, 0x47, 0x07, 0x47, 0x47, | |
3226 | + 0x47, 0x66, 0x4f, 0x1f, 0x17, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x17, 0x4f, 0x10, 0x07, 0x40, | |
3227 | + 0x1f, 0x17, 0x4f, 0x10, 0x07, 0x40, 0x40, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x17, | |
3228 | + 0x17, 0x17, 0x4f, 0x17, 0x17, 0x4f, 0x40, 0x40, 0x40, 0x2f, 0x17, 0x17, 0x40, 0x0f, 0x17, | |
3229 | + 0x1f, 0x1f, 0x20, 0x27, 0x10, 0x07, 0x08, 0x10, 0x00, 0x07, 0x3e, 0x1f, 0x17, 0x40, 0x0f, | |
3230 | + 0x17, 0x1f, 0x47, 0x17, 0x46, 0x47, 0x47, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3231 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x46, 0x47, | |
3232 | + 0x5e, 0x40, 0x26, 0x06, 0x06, 0x20, 0x40, 0x47, 0x40, 0x40, 0x16, 0x0f, 0x47, 0x64, 0x40, | |
3233 | + 0x08, 0x65, 0x64, 0x64, 0x63, 0x63, 0x07, 0x07, 0x0f, 0x3e, 0x17, 0x01, 0x07, 0x66, 0x27, | |
3234 | + 0x4d, 0x17, 0x40, 0x07, 0x1e, 0x40, 0x40, 0x40, 0x47, 0x47, 0x56, 0x5e, 0x4e, 0x5e, 0x65, | |
3235 | + 0x5d, 0x56, 0x66, 0x66, 0x64, 0x56, 0x5e, 0x66, 0x66, 0x64, 0x4e, 0x46, 0x55, 0x56, 0x5e, | |
3236 | + 0x4e, 0x5e, 0x65, 0x5d, 0x56, 0x66, 0x66, 0x64, 0x56, 0x5e, 0x66, 0x66, 0x64, 0x4e, 0x46, | |
3237 | + 0x55, 0x09, 0x4f, 0x54, 0x40, 0x40, 0x40, 0x47, 0x07, 0x47, 0x46, 0x46, 0x64, 0x4e, 0x1f, | |
3238 | + 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, | |
3239 | + 0x07, 0x40, 0x40, 0x07, 0x00, 0x00, 0x01, 0x09, 0x01, 0x09, 0x17, 0x17, 0x16, 0x4f, 0x17, | |
3240 | + 0x16, 0x4f, 0x40, 0x40, 0x40, 0x2e, 0x17, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x1e, 0x20, 0x27, | |
3241 | + 0x10, 0x07, 0x09, 0x10, 0x01, 0x07, 0x3e, 0x1f, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x46, 0x17, | |
3242 | + 0x45, 0x46, 0x46, 0x17, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
3243 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x45, 0x47, 0x5e, 0x40, 0x25, 0x06, | |
3244 | + 0x05, 0x20, 0x40, 0x47, 0x40, 0x40, 0x16, 0x0f, 0x47, 0x63, 0x40, 0x08, 0x64, 0x63, 0x62, | |
3245 | + 0x60, 0x60, 0x07, 0x07, 0x0f, 0x3e, 0x17, 0x01, 0x07, 0x65, 0x27, 0x4c, 0x17, 0x40, 0x07, | |
3246 | + 0x1d, 0x40, 0x40, 0x40, 0x47, 0x47, 0x56, 0x5d, 0x4e, 0x5d, 0x64, 0x5c, 0x56, 0x65, 0x65, | |
3247 | + 0x63, 0x56, 0x5e, 0x65, 0x65, 0x63, 0x4d, 0x46, 0x54, 0x56, 0x5d, 0x4e, 0x5d, 0x64, 0x5c, | |
3248 | + 0x56, 0x65, 0x65, 0x63, 0x56, 0x5e, 0x65, 0x65, 0x63, 0x4d, 0x46, 0x54, 0x09, 0x4f, 0x52, | |
3249 | + 0x40, 0x40, 0x40, 0x47, 0x07, 0x47, 0x46, 0x46, 0x62, 0x4e, 0x1f, 0x16, 0x4f, 0x10, 0x07, | |
3250 | + 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x1f, 0x16, 0x4f, 0x10, 0x07, 0x40, 0x40, 0x07, | |
3251 | + 0x00, 0x00, 0x01, 0x09, 0x01, 0x09, 0x17, 0x17, 0x16, 0x4f, 0x17, 0x16, 0x4f, 0x40, 0x40, | |
3252 | + 0x40, 0x2d, 0x17, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x1e, 0x20, 0x27, 0x10, 0x07, 0x09, 0x10, | |
3253 | + 0x01, 0x07, 0x3e, 0x1f, 0x17, 0x40, 0x0f, 0x17, 0x1e, 0x45, 0x17, 0x44, 0x45, 0x45, 0x17, | |
3254 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3255 | + 0x00, 0x00, 0x00, 0x07, 0x3e, 0x44, 0x46, 0x5d, 0x40, 0x24, 0x05, 0x04, 0x21, 0x40, 0x46, | |
3256 | + 0x40, 0x40, 0x15, 0x0f, 0x46, 0x61, 0x40, 0x09, 0x63, 0x61, 0x60, 0x5e, 0x5e, 0x07, 0x07, | |
3257 | + 0x0e, 0x3e, 0x16, 0x02, 0x07, 0x64, 0x27, 0x4b, 0x16, 0x40, 0x06, 0x1c, 0x40, 0x40, 0x40, | |
3258 | + 0x46, 0x46, 0x55, 0x5c, 0x4d, 0x5c, 0x63, 0x5b, 0x55, 0x64, 0x64, 0x61, 0x55, 0x5d, 0x64, | |
3259 | + 0x64, 0x61, 0x4c, 0x45, 0x53, 0x55, 0x5c, 0x4d, 0x5c, 0x63, 0x5b, 0x55, 0x64, 0x64, 0x61, | |
3260 | + 0x55, 0x5d, 0x64, 0x64, 0x61, 0x4c, 0x45, 0x53, 0x0a, 0x4e, 0x50, 0x40, 0x41, 0x40, 0x46, | |
3261 | + 0x07, 0x46, 0x45, 0x45, 0x60, 0x4d, 0x1e, 0x15, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x15, 0x4e, | |
3262 | + 0x11, 0x07, 0x40, 0x1e, 0x15, 0x4e, 0x11, 0x07, 0x40, 0x41, 0x07, 0x01, 0x01, 0x02, 0x0a, | |
3263 | + 0x02, 0x0a, 0x16, 0x17, 0x15, 0x4e, 0x17, 0x15, 0x4e, 0x40, 0x40, 0x40, 0x2c, 0x16, 0x16, | |
3264 | + 0x40, 0x0f, 0x16, 0x1d, 0x1d, 0x21, 0x27, 0x11, 0x07, 0x0a, 0x11, 0x02, 0x06, 0x3e, 0x1e, | |
3265 | + 0x16, 0x40, 0x0f, 0x16, 0x1d, 0x44, 0x16, 0x43, 0x44, 0x44, 0x16, 0x40, 0x40, 0x40, 0x40, | |
3266 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
3267 | + 0x3e, 0x43, 0x46, 0x5c, 0x40, 0x23, 0x04, 0x03, 0x21, 0x40, 0x46, 0x40, 0x40, 0x14, 0x0f, | |
3268 | + 0x46, 0x60, 0x40, 0x09, 0x61, 0x60, 0x5e, 0x5b, 0x5b, 0x07, 0x07, 0x0e, 0x3e, 0x16, 0x03, | |
3269 | + 0x07, 0x63, 0x27, 0x49, 0x16, 0x40, 0x06, 0x1b, 0x40, 0x40, 0x40, 0x46, 0x46, 0x54, 0x5b, | |
3270 | + 0x4c, 0x5b, 0x61, 0x59, 0x54, 0x63, 0x63, 0x60, 0x54, 0x5c, 0x63, 0x63, 0x60, 0x4b, 0x44, | |
3271 | + 0x51, 0x54, 0x5b, 0x4c, 0x5b, 0x61, 0x59, 0x54, 0x63, 0x63, 0x60, 0x54, 0x5c, 0x63, 0x63, | |
3272 | + 0x60, 0x4b, 0x44, 0x51, 0x0b, 0x4e, 0x4e, 0x40, 0x41, 0x40, 0x46, 0x07, 0x46, 0x44, 0x44, | |
3273 | + 0x5e, 0x4c, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, | |
3274 | + 0x14, 0x4e, 0x11, 0x07, 0x40, 0x41, 0x07, 0x01, 0x01, 0x03, 0x0b, 0x03, 0x0b, 0x16, 0x17, | |
3275 | + 0x14, 0x4e, 0x17, 0x14, 0x4e, 0x40, 0x40, 0x40, 0x2b, 0x16, 0x16, 0x40, 0x0f, 0x16, 0x1c, | |
3276 | + 0x1c, 0x21, 0x27, 0x11, 0x07, 0x0b, 0x11, 0x03, 0x06, 0x3e, 0x1e, 0x16, 0x40, 0x0f, 0x16, | |
3277 | + 0x1c, 0x43, 0x16, 0x41, 0x43, 0x43, 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
3278 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x42, 0x46, 0x5c, | |
3279 | + 0x40, 0x22, 0x04, 0x02, 0x21, 0x40, 0x46, 0x40, 0x40, 0x14, 0x0f, 0x46, 0x5e, 0x40, 0x09, | |
3280 | + 0x60, 0x5e, 0x5c, 0x59, 0x59, 0x07, 0x07, 0x0e, 0x3e, 0x16, 0x03, 0x07, 0x62, 0x27, 0x48, | |
3281 | + 0x16, 0x40, 0x06, 0x1a, 0x40, 0x40, 0x40, 0x46, 0x46, 0x54, 0x5a, 0x4c, 0x5a, 0x60, 0x58, | |
3282 | + 0x54, 0x62, 0x62, 0x5e, 0x54, 0x5c, 0x62, 0x62, 0x5e, 0x4a, 0x44, 0x50, 0x54, 0x5a, 0x4c, | |
3283 | + 0x5a, 0x60, 0x58, 0x54, 0x62, 0x62, 0x5e, 0x54, 0x5c, 0x62, 0x62, 0x5e, 0x4a, 0x44, 0x50, | |
3284 | + 0x0b, 0x4e, 0x4c, 0x40, 0x41, 0x40, 0x46, 0x07, 0x46, 0x44, 0x44, 0x5c, 0x4c, 0x1e, 0x14, | |
3285 | + 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, 0x40, 0x1e, 0x14, 0x4e, 0x11, 0x07, | |
3286 | + 0x40, 0x41, 0x07, 0x01, 0x01, 0x03, 0x0b, 0x03, 0x0b, 0x16, 0x17, 0x14, 0x4e, 0x17, 0x14, | |
3287 | + 0x4e, 0x40, 0x40, 0x40, 0x2a, 0x16, 0x16, 0x40, 0x0f, 0x16, 0x1c, 0x1c, 0x21, 0x27, 0x11, | |
3288 | + 0x07, 0x0b, 0x11, 0x03, 0x06, 0x3e, 0x1e, 0x16, 0x40, 0x0f, 0x16, 0x1c, 0x42, 0x16, 0x40, | |
3289 | + 0x42, 0x42, 0x16, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3290 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x41, 0x45, 0x5b, 0x40, 0x21, 0x03, 0x01, | |
3291 | + 0x22, 0x40, 0x45, 0x40, 0x40, 0x13, 0x0f, 0x45, 0x5d, 0x40, 0x0a, 0x5f, 0x5d, 0x5a, 0x56, | |
3292 | + 0x56, 0x07, 0x07, 0x0d, 0x3e, 0x15, 0x04, 0x07, 0x61, 0x27, 0x47, 0x15, 0x40, 0x05, 0x19, | |
3293 | + 0x40, 0x40, 0x40, 0x45, 0x45, 0x53, 0x59, 0x4b, 0x59, 0x5f, 0x57, 0x53, 0x61, 0x61, 0x5d, | |
3294 | + 0x53, 0x5b, 0x61, 0x61, 0x5d, 0x49, 0x43, 0x4f, 0x53, 0x59, 0x4b, 0x59, 0x5f, 0x57, 0x53, | |
3295 | + 0x61, 0x61, 0x5d, 0x53, 0x5b, 0x61, 0x61, 0x5d, 0x49, 0x43, 0x4f, 0x0c, 0x4d, 0x4a, 0x40, | |
3296 | + 0x42, 0x40, 0x45, 0x07, 0x45, 0x43, 0x43, 0x5a, 0x4b, 0x1d, 0x13, 0x4d, 0x12, 0x07, 0x40, | |
3297 | + 0x1d, 0x13, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x13, 0x4d, 0x12, 0x07, 0x40, 0x42, 0x07, 0x02, | |
3298 | + 0x02, 0x04, 0x0c, 0x04, 0x0c, 0x15, 0x17, 0x13, 0x4d, 0x17, 0x13, 0x4d, 0x40, 0x40, 0x40, | |
3299 | + 0x29, 0x15, 0x15, 0x40, 0x0f, 0x15, 0x1b, 0x1b, 0x22, 0x27, 0x12, 0x07, 0x0c, 0x12, 0x04, | |
3300 | + 0x05, 0x3e, 0x1d, 0x15, 0x40, 0x0f, 0x15, 0x1b, 0x41, 0x15, 0x00, 0x41, 0x41, 0x15, 0x40, | |
3301 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3302 | + 0x00, 0x00, 0x07, 0x3e, 0x40, 0x45, 0x5b, 0x40, 0x20, 0x02, 0x00, 0x22, 0x40, 0x45, 0x40, | |
3303 | + 0x40, 0x12, 0x0f, 0x45, 0x5b, 0x40, 0x0a, 0x5e, 0x5b, 0x59, 0x54, 0x54, 0x07, 0x07, 0x0d, | |
3304 | + 0x3e, 0x15, 0x04, 0x07, 0x60, 0x27, 0x46, 0x15, 0x40, 0x05, 0x18, 0x40, 0x40, 0x40, 0x45, | |
3305 | + 0x45, 0x53, 0x58, 0x4b, 0x58, 0x5e, 0x56, 0x53, 0x60, 0x60, 0x5b, 0x53, 0x5b, 0x60, 0x60, | |
3306 | + 0x5b, 0x48, 0x43, 0x4e, 0x53, 0x58, 0x4b, 0x58, 0x5e, 0x56, 0x53, 0x60, 0x60, 0x5b, 0x53, | |
3307 | + 0x5b, 0x60, 0x60, 0x5b, 0x48, 0x43, 0x4e, 0x0c, 0x4d, 0x49, 0x40, 0x42, 0x40, 0x45, 0x07, | |
3308 | + 0x45, 0x43, 0x43, 0x59, 0x4b, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, | |
3309 | + 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x42, 0x07, 0x02, 0x02, 0x04, 0x0c, 0x04, | |
3310 | + 0x0c, 0x15, 0x17, 0x12, 0x4d, 0x17, 0x12, 0x4d, 0x40, 0x40, 0x40, 0x28, 0x15, 0x15, 0x40, | |
3311 | + 0x0f, 0x15, 0x1a, 0x1a, 0x22, 0x27, 0x12, 0x07, 0x0c, 0x12, 0x04, 0x05, 0x3e, 0x1d, 0x15, | |
3312 | + 0x40, 0x0f, 0x15, 0x1a, 0x40, 0x15, 0x01, 0x40, 0x40, 0x15, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3313 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, | |
3314 | + 0x00, 0x45, 0x5a, 0x40, 0x1f, 0x02, 0x40, 0x22, 0x40, 0x45, 0x40, 0x40, 0x12, 0x0f, 0x45, | |
3315 | + 0x59, 0x40, 0x0a, 0x5c, 0x59, 0x57, 0x51, 0x51, 0x07, 0x07, 0x0d, 0x3e, 0x15, 0x05, 0x07, | |
3316 | + 0x5f, 0x27, 0x44, 0x15, 0x40, 0x05, 0x17, 0x40, 0x40, 0x40, 0x45, 0x45, 0x52, 0x57, 0x4a, | |
3317 | + 0x57, 0x5c, 0x54, 0x52, 0x5f, 0x5f, 0x59, 0x52, 0x5a, 0x5f, 0x5f, 0x59, 0x47, 0x42, 0x4c, | |
3318 | + 0x52, 0x57, 0x4a, 0x57, 0x5c, 0x54, 0x52, 0x5f, 0x5f, 0x59, 0x52, 0x5a, 0x5f, 0x5f, 0x59, | |
3319 | + 0x47, 0x42, 0x4c, 0x0d, 0x4d, 0x47, 0x40, 0x42, 0x40, 0x45, 0x07, 0x45, 0x42, 0x42, 0x57, | |
3320 | + 0x4a, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, 0x4d, 0x12, 0x07, 0x40, 0x1d, 0x12, | |
3321 | + 0x4d, 0x12, 0x07, 0x40, 0x42, 0x07, 0x02, 0x02, 0x05, 0x0d, 0x05, 0x0d, 0x15, 0x17, 0x12, | |
3322 | + 0x4d, 0x17, 0x12, 0x4d, 0x40, 0x40, 0x40, 0x27, 0x15, 0x15, 0x40, 0x0f, 0x15, 0x1a, 0x1a, | |
3323 | + 0x22, 0x27, 0x12, 0x07, 0x0d, 0x12, 0x05, 0x05, 0x3e, 0x1d, 0x15, 0x40, 0x0f, 0x15, 0x1a, | |
3324 | + 0x00, 0x15, 0x03, 0x00, 0x00, 0x15, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
3325 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x01, 0x44, 0x59, 0x40, | |
3326 | + 0x1e, 0x01, 0x41, 0x23, 0x40, 0x44, 0x40, 0x40, 0x11, 0x0f, 0x44, 0x58, 0x40, 0x0b, 0x5b, | |
3327 | + 0x58, 0x55, 0x4f, 0x4f, 0x07, 0x07, 0x0c, 0x3e, 0x14, 0x06, 0x07, 0x5e, 0x27, 0x43, 0x14, | |
3328 | + 0x40, 0x04, 0x16, 0x40, 0x40, 0x40, 0x44, 0x44, 0x51, 0x56, 0x49, 0x56, 0x5b, 0x53, 0x51, | |
3329 | + 0x5e, 0x5e, 0x58, 0x51, 0x59, 0x5e, 0x5e, 0x58, 0x46, 0x41, 0x4b, 0x51, 0x56, 0x49, 0x56, | |
3330 | + 0x5b, 0x53, 0x51, 0x5e, 0x5e, 0x58, 0x51, 0x59, 0x5e, 0x5e, 0x58, 0x46, 0x41, 0x4b, 0x0e, | |
3331 | + 0x4c, 0x45, 0x40, 0x43, 0x40, 0x44, 0x07, 0x44, 0x41, 0x41, 0x55, 0x49, 0x1c, 0x11, 0x4c, | |
3332 | + 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, | |
3333 | + 0x43, 0x07, 0x03, 0x03, 0x06, 0x0e, 0x06, 0x0e, 0x14, 0x17, 0x11, 0x4c, 0x17, 0x11, 0x4c, | |
3334 | + 0x40, 0x40, 0x40, 0x26, 0x14, 0x14, 0x40, 0x0f, 0x14, 0x19, 0x19, 0x23, 0x27, 0x13, 0x07, | |
3335 | + 0x0e, 0x13, 0x06, 0x04, 0x3e, 0x1c, 0x14, 0x40, 0x0f, 0x14, 0x19, 0x01, 0x14, 0x04, 0x01, | |
3336 | + 0x01, 0x14, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3337 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x02, 0x44, 0x59, 0x40, 0x1d, 0x01, 0x42, 0x23, | |
3338 | + 0x40, 0x44, 0x40, 0x40, 0x11, 0x0f, 0x44, 0x56, 0x40, 0x0b, 0x5a, 0x56, 0x53, 0x4c, 0x4c, | |
3339 | + 0x07, 0x07, 0x0c, 0x3e, 0x14, 0x06, 0x07, 0x5d, 0x27, 0x42, 0x14, 0x40, 0x04, 0x15, 0x40, | |
3340 | + 0x40, 0x40, 0x44, 0x44, 0x51, 0x55, 0x49, 0x55, 0x5a, 0x52, 0x51, 0x5d, 0x5d, 0x56, 0x51, | |
3341 | + 0x59, 0x5d, 0x5d, 0x56, 0x45, 0x41, 0x4a, 0x51, 0x55, 0x49, 0x55, 0x5a, 0x52, 0x51, 0x5d, | |
3342 | + 0x5d, 0x56, 0x51, 0x59, 0x5d, 0x5d, 0x56, 0x45, 0x41, 0x4a, 0x0e, 0x4c, 0x43, 0x40, 0x43, | |
3343 | + 0x40, 0x44, 0x07, 0x44, 0x41, 0x41, 0x53, 0x49, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x1c, | |
3344 | + 0x11, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x11, 0x4c, 0x13, 0x07, 0x40, 0x43, 0x07, 0x03, 0x03, | |
3345 | + 0x06, 0x0e, 0x06, 0x0e, 0x14, 0x17, 0x11, 0x4c, 0x17, 0x11, 0x4c, 0x40, 0x40, 0x40, 0x25, | |
3346 | + 0x14, 0x14, 0x40, 0x0f, 0x14, 0x19, 0x19, 0x23, 0x27, 0x13, 0x07, 0x0e, 0x13, 0x06, 0x04, | |
3347 | + 0x3e, 0x1c, 0x14, 0x40, 0x0f, 0x14, 0x19, 0x02, 0x14, 0x05, 0x02, 0x02, 0x14, 0x40, 0x40, | |
3348 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3349 | + 0x00, 0x07, 0x3e, 0x03, 0x44, 0x58, 0x40, 0x1c, 0x00, 0x43, 0x23, 0x40, 0x44, 0x40, 0x40, | |
3350 | + 0x10, 0x0f, 0x44, 0x55, 0x40, 0x0b, 0x59, 0x55, 0x51, 0x4a, 0x4a, 0x07, 0x07, 0x0c, 0x3d, | |
3351 | + 0x14, 0x07, 0x07, 0x5c, 0x27, 0x41, 0x14, 0x40, 0x04, 0x14, 0x40, 0x40, 0x40, 0x44, 0x44, | |
3352 | + 0x50, 0x54, 0x48, 0x54, 0x59, 0x51, 0x50, 0x5c, 0x5c, 0x55, 0x50, 0x58, 0x5c, 0x5c, 0x55, | |
3353 | + 0x44, 0x40, 0x49, 0x50, 0x54, 0x48, 0x54, 0x59, 0x51, 0x50, 0x5c, 0x5c, 0x55, 0x50, 0x58, | |
3354 | + 0x5c, 0x5c, 0x55, 0x44, 0x40, 0x49, 0x0f, 0x4c, 0x41, 0x40, 0x43, 0x40, 0x44, 0x07, 0x44, | |
3355 | + 0x40, 0x40, 0x51, 0x48, 0x1c, 0x10, 0x4c, 0x13, 0x07, 0x40, 0x1c, 0x10, 0x4c, 0x13, 0x07, | |
3356 | + 0x40, 0x1c, 0x10, 0x4c, 0x13, 0x07, 0x40, 0x43, 0x07, 0x03, 0x03, 0x07, 0x0f, 0x07, 0x0f, | |
3357 | + 0x14, 0x17, 0x10, 0x4c, 0x17, 0x10, 0x4c, 0x40, 0x40, 0x40, 0x24, 0x14, 0x14, 0x40, 0x0f, | |
3358 | + 0x14, 0x18, 0x18, 0x23, 0x27, 0x13, 0x07, 0x0f, 0x13, 0x07, 0x04, 0x3e, 0x1c, 0x14, 0x40, | |
3359 | + 0x0f, 0x14, 0x18, 0x03, 0x14, 0x06, 0x03, 0x03, 0x14, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3360 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x04, | |
3361 | + 0x43, 0x57, 0x40, 0x1b, 0x40, 0x44, 0x24, 0x40, 0x43, 0x40, 0x40, 0x0f, 0x0f, 0x43, 0x53, | |
3362 | + 0x40, 0x0c, 0x57, 0x53, 0x4f, 0x47, 0x47, 0x07, 0x07, 0x0b, 0x3b, 0x13, 0x08, 0x07, 0x5b, | |
3363 | + 0x27, 0x00, 0x13, 0x40, 0x03, 0x13, 0x40, 0x40, 0x40, 0x43, 0x43, 0x4f, 0x53, 0x47, 0x53, | |
3364 | + 0x57, 0x4f, 0x4f, 0x5b, 0x5b, 0x53, 0x4f, 0x57, 0x5b, 0x5b, 0x53, 0x43, 0x00, 0x47, 0x4f, | |
3365 | + 0x53, 0x47, 0x53, 0x57, 0x4f, 0x4f, 0x5b, 0x5b, 0x53, 0x4f, 0x57, 0x5b, 0x5b, 0x53, 0x43, | |
3366 | + 0x00, 0x47, 0x10, 0x4b, 0x00, 0x40, 0x44, 0x40, 0x43, 0x07, 0x43, 0x00, 0x00, 0x4f, 0x47, | |
3367 | + 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, | |
3368 | + 0x14, 0x07, 0x40, 0x44, 0x07, 0x04, 0x04, 0x08, 0x10, 0x08, 0x10, 0x13, 0x17, 0x0f, 0x4b, | |
3369 | + 0x17, 0x0f, 0x4b, 0x40, 0x40, 0x40, 0x23, 0x13, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x17, 0x24, | |
3370 | + 0x27, 0x14, 0x07, 0x10, 0x14, 0x08, 0x03, 0x3e, 0x1b, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x04, | |
3371 | + 0x13, 0x08, 0x04, 0x04, 0x13, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
3372 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x05, 0x43, 0x57, 0x40, 0x1a, | |
3373 | + 0x40, 0x45, 0x24, 0x40, 0x43, 0x40, 0x40, 0x0f, 0x0f, 0x43, 0x52, 0x40, 0x0c, 0x56, 0x52, | |
3374 | + 0x4d, 0x45, 0x45, 0x07, 0x07, 0x0b, 0x3a, 0x13, 0x08, 0x07, 0x5a, 0x27, 0x01, 0x13, 0x40, | |
3375 | + 0x03, 0x12, 0x40, 0x40, 0x40, 0x43, 0x43, 0x4f, 0x52, 0x47, 0x52, 0x56, 0x4e, 0x4f, 0x5a, | |
3376 | + 0x5a, 0x52, 0x4f, 0x57, 0x5a, 0x5a, 0x52, 0x42, 0x00, 0x46, 0x4f, 0x52, 0x47, 0x52, 0x56, | |
3377 | + 0x4e, 0x4f, 0x5a, 0x5a, 0x52, 0x4f, 0x57, 0x5a, 0x5a, 0x52, 0x42, 0x00, 0x46, 0x10, 0x4b, | |
3378 | + 0x02, 0x40, 0x44, 0x40, 0x43, 0x07, 0x43, 0x00, 0x00, 0x4d, 0x47, 0x1b, 0x0f, 0x4b, 0x14, | |
3379 | + 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0f, 0x4b, 0x14, 0x07, 0x40, 0x44, | |
3380 | + 0x07, 0x04, 0x04, 0x08, 0x10, 0x08, 0x10, 0x13, 0x17, 0x0f, 0x4b, 0x17, 0x0f, 0x4b, 0x40, | |
3381 | + 0x40, 0x40, 0x22, 0x13, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x17, 0x24, 0x27, 0x14, 0x07, 0x10, | |
3382 | + 0x14, 0x08, 0x03, 0x3e, 0x1b, 0x13, 0x40, 0x0f, 0x13, 0x17, 0x05, 0x13, 0x09, 0x05, 0x05, | |
3383 | + 0x13, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3384 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x06, 0x43, 0x56, 0x40, 0x19, 0x41, 0x46, 0x24, 0x40, | |
3385 | + 0x43, 0x40, 0x40, 0x0e, 0x0f, 0x43, 0x50, 0x40, 0x0c, 0x55, 0x50, 0x4b, 0x42, 0x42, 0x07, | |
3386 | + 0x07, 0x0b, 0x38, 0x13, 0x09, 0x07, 0x59, 0x27, 0x02, 0x13, 0x40, 0x03, 0x11, 0x40, 0x40, | |
3387 | + 0x40, 0x43, 0x43, 0x4e, 0x51, 0x46, 0x51, 0x55, 0x4d, 0x4e, 0x59, 0x59, 0x50, 0x4e, 0x56, | |
3388 | + 0x59, 0x59, 0x50, 0x41, 0x01, 0x45, 0x4e, 0x51, 0x46, 0x51, 0x55, 0x4d, 0x4e, 0x59, 0x59, | |
3389 | + 0x50, 0x4e, 0x56, 0x59, 0x59, 0x50, 0x41, 0x01, 0x45, 0x11, 0x4b, 0x04, 0x40, 0x44, 0x40, | |
3390 | + 0x43, 0x07, 0x43, 0x01, 0x01, 0x4b, 0x46, 0x1b, 0x0e, 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0e, | |
3391 | + 0x4b, 0x14, 0x07, 0x40, 0x1b, 0x0e, 0x4b, 0x14, 0x07, 0x40, 0x44, 0x07, 0x04, 0x04, 0x09, | |
3392 | + 0x11, 0x09, 0x11, 0x13, 0x17, 0x0e, 0x4b, 0x17, 0x0e, 0x4b, 0x40, 0x40, 0x40, 0x21, 0x13, | |
3393 | + 0x13, 0x40, 0x0f, 0x13, 0x16, 0x16, 0x24, 0x27, 0x14, 0x07, 0x11, 0x14, 0x09, 0x03, 0x3d, | |
3394 | + 0x1b, 0x13, 0x40, 0x0f, 0x13, 0x16, 0x06, 0x13, 0x0a, 0x06, 0x06, 0x13, 0x40, 0x40, 0x40, | |
3395 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3396 | + 0x07, 0x3e, 0x06, 0x43, 0x56, 0x40, 0x18, 0x42, 0x47, 0x24, 0x40, 0x43, 0x40, 0x40, 0x0d, | |
3397 | + 0x0f, 0x43, 0x4f, 0x40, 0x0c, 0x54, 0x4f, 0x4a, 0x40, 0x40, 0x07, 0x07, 0x0a, 0x36, 0x12, | |
3398 | + 0x09, 0x07, 0x59, 0x27, 0x03, 0x12, 0x40, 0x02, 0x10, 0x40, 0x40, 0x40, 0x43, 0x43, 0x4e, | |
3399 | + 0x51, 0x46, 0x51, 0x54, 0x4c, 0x4e, 0x59, 0x59, 0x4f, 0x4e, 0x56, 0x59, 0x59, 0x4f, 0x41, | |
3400 | + 0x01, 0x44, 0x4e, 0x51, 0x46, 0x51, 0x54, 0x4c, 0x4e, 0x59, 0x59, 0x4f, 0x4e, 0x56, 0x59, | |
3401 | + 0x59, 0x4f, 0x41, 0x01, 0x44, 0x11, 0x4b, 0x05, 0x40, 0x45, 0x40, 0x43, 0x07, 0x43, 0x01, | |
3402 | + 0x01, 0x4a, 0x46, 0x1a, 0x0d, 0x4b, 0x14, 0x07, 0x40, 0x1a, 0x0d, 0x4b, 0x14, 0x07, 0x40, | |
3403 | + 0x1a, 0x0d, 0x4b, 0x14, 0x07, 0x40, 0x45, 0x07, 0x04, 0x04, 0x09, 0x11, 0x09, 0x11, 0x12, | |
3404 | + 0x17, 0x0d, 0x4b, 0x17, 0x0d, 0x4b, 0x40, 0x40, 0x40, 0x20, 0x12, 0x12, 0x40, 0x0f, 0x12, | |
3405 | + 0x15, 0x15, 0x24, 0x27, 0x14, 0x07, 0x11, 0x14, 0x09, 0x02, 0x3b, 0x1a, 0x12, 0x40, 0x0f, | |
3406 | + 0x12, 0x15, 0x06, 0x12, 0x0b, 0x06, 0x06, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3407 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x07, 0x42, | |
3408 | + 0x55, 0x40, 0x18, 0x42, 0x47, 0x25, 0x40, 0x42, 0x40, 0x40, 0x0d, 0x0f, 0x42, 0x4d, 0x40, | |
3409 | + 0x0d, 0x52, 0x4d, 0x48, 0x02, 0x02, 0x07, 0x07, 0x0a, 0x35, 0x12, 0x0a, 0x07, 0x58, 0x27, | |
3410 | + 0x05, 0x12, 0x40, 0x02, 0x10, 0x40, 0x40, 0x40, 0x42, 0x42, 0x4d, 0x50, 0x45, 0x50, 0x52, | |
3411 | + 0x4a, 0x4d, 0x58, 0x58, 0x4d, 0x4d, 0x55, 0x58, 0x58, 0x4d, 0x40, 0x02, 0x42, 0x4d, 0x50, | |
3412 | + 0x45, 0x50, 0x52, 0x4a, 0x4d, 0x58, 0x58, 0x4d, 0x4d, 0x55, 0x58, 0x58, 0x4d, 0x40, 0x02, | |
3413 | + 0x42, 0x12, 0x4a, 0x07, 0x40, 0x45, 0x40, 0x42, 0x07, 0x42, 0x02, 0x02, 0x48, 0x45, 0x1a, | |
3414 | + 0x0d, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0d, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0d, 0x4a, 0x15, | |
3415 | + 0x07, 0x40, 0x45, 0x07, 0x05, 0x05, 0x0a, 0x12, 0x0a, 0x12, 0x12, 0x17, 0x0d, 0x4a, 0x17, | |
3416 | + 0x0d, 0x4a, 0x40, 0x40, 0x40, 0x20, 0x12, 0x12, 0x40, 0x0f, 0x12, 0x15, 0x15, 0x25, 0x27, | |
3417 | + 0x15, 0x07, 0x12, 0x15, 0x0a, 0x02, 0x3a, 0x1a, 0x12, 0x40, 0x0f, 0x12, 0x15, 0x07, 0x12, | |
3418 | + 0x0d, 0x07, 0x07, 0x12, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
3419 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x08, 0x42, 0x54, 0x40, 0x17, 0x43, | |
3420 | + 0x48, 0x25, 0x40, 0x42, 0x40, 0x40, 0x0c, 0x0f, 0x42, 0x4b, 0x40, 0x0d, 0x51, 0x4b, 0x46, | |
3421 | + 0x04, 0x04, 0x07, 0x07, 0x0a, 0x33, 0x12, 0x0b, 0x07, 0x57, 0x27, 0x06, 0x12, 0x40, 0x02, | |
3422 | + 0x0f, 0x40, 0x40, 0x40, 0x42, 0x42, 0x4c, 0x4f, 0x44, 0x4f, 0x51, 0x49, 0x4c, 0x57, 0x57, | |
3423 | + 0x4b, 0x4c, 0x54, 0x57, 0x57, 0x4b, 0x00, 0x03, 0x41, 0x4c, 0x4f, 0x44, 0x4f, 0x51, 0x49, | |
3424 | + 0x4c, 0x57, 0x57, 0x4b, 0x4c, 0x54, 0x57, 0x57, 0x4b, 0x00, 0x03, 0x41, 0x13, 0x4a, 0x09, | |
3425 | + 0x40, 0x45, 0x40, 0x42, 0x07, 0x42, 0x03, 0x03, 0x46, 0x44, 0x1a, 0x0c, 0x4a, 0x15, 0x07, | |
3426 | + 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x45, 0x07, | |
3427 | + 0x05, 0x05, 0x0b, 0x13, 0x0b, 0x13, 0x12, 0x17, 0x0c, 0x4a, 0x17, 0x0c, 0x4a, 0x40, 0x40, | |
3428 | + 0x40, 0x1f, 0x12, 0x12, 0x40, 0x0f, 0x12, 0x14, 0x14, 0x25, 0x27, 0x15, 0x07, 0x13, 0x15, | |
3429 | + 0x0b, 0x02, 0x39, 0x1a, 0x12, 0x40, 0x0f, 0x12, 0x14, 0x08, 0x12, 0x0e, 0x08, 0x08, 0x12, | |
3430 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3431 | + 0x00, 0x00, 0x00, 0x07, 0x3e, 0x09, 0x42, 0x54, 0x40, 0x16, 0x43, 0x49, 0x25, 0x40, 0x42, | |
3432 | + 0x40, 0x40, 0x0c, 0x0f, 0x42, 0x4a, 0x40, 0x0d, 0x50, 0x4a, 0x44, 0x07, 0x07, 0x07, 0x07, | |
3433 | + 0x0a, 0x32, 0x12, 0x0b, 0x07, 0x56, 0x27, 0x07, 0x12, 0x40, 0x02, 0x0e, 0x40, 0x40, 0x40, | |
3434 | + 0x42, 0x42, 0x4c, 0x4e, 0x44, 0x4e, 0x50, 0x48, 0x4c, 0x56, 0x56, 0x4a, 0x4c, 0x54, 0x56, | |
3435 | + 0x56, 0x4a, 0x01, 0x03, 0x40, 0x4c, 0x4e, 0x44, 0x4e, 0x50, 0x48, 0x4c, 0x56, 0x56, 0x4a, | |
3436 | + 0x4c, 0x54, 0x56, 0x56, 0x4a, 0x01, 0x03, 0x40, 0x13, 0x4a, 0x0b, 0x40, 0x45, 0x40, 0x42, | |
3437 | + 0x07, 0x42, 0x03, 0x03, 0x44, 0x44, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x1a, 0x0c, 0x4a, | |
3438 | + 0x15, 0x07, 0x40, 0x1a, 0x0c, 0x4a, 0x15, 0x07, 0x40, 0x45, 0x07, 0x05, 0x05, 0x0b, 0x13, | |
3439 | + 0x0b, 0x13, 0x12, 0x17, 0x0c, 0x4a, 0x17, 0x0c, 0x4a, 0x40, 0x40, 0x40, 0x1e, 0x12, 0x12, | |
3440 | + 0x40, 0x0f, 0x12, 0x14, 0x14, 0x25, 0x27, 0x15, 0x07, 0x13, 0x15, 0x0b, 0x02, 0x38, 0x1a, | |
3441 | + 0x12, 0x40, 0x0f, 0x12, 0x14, 0x09, 0x12, 0x0f, 0x09, 0x09, 0x12, 0x40, 0x40, 0x40, 0x40, | |
3442 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
3443 | + 0x3e, 0x0a, 0x41, 0x53, 0x40, 0x15, 0x44, 0x4a, 0x26, 0x40, 0x41, 0x40, 0x40, 0x0b, 0x0f, | |
3444 | + 0x41, 0x48, 0x40, 0x0e, 0x4f, 0x48, 0x42, 0x09, 0x09, 0x07, 0x07, 0x09, 0x30, 0x11, 0x0c, | |
3445 | + 0x07, 0x55, 0x27, 0x08, 0x11, 0x40, 0x01, 0x0d, 0x40, 0x40, 0x40, 0x41, 0x41, 0x4b, 0x4d, | |
3446 | + 0x43, 0x4d, 0x4f, 0x47, 0x4b, 0x55, 0x55, 0x48, 0x4b, 0x53, 0x55, 0x55, 0x48, 0x02, 0x04, | |
3447 | + 0x00, 0x4b, 0x4d, 0x43, 0x4d, 0x4f, 0x47, 0x4b, 0x55, 0x55, 0x48, 0x4b, 0x53, 0x55, 0x55, | |
3448 | + 0x48, 0x02, 0x04, 0x00, 0x14, 0x49, 0x0d, 0x40, 0x46, 0x40, 0x41, 0x07, 0x41, 0x04, 0x04, | |
3449 | + 0x42, 0x43, 0x19, 0x0b, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0b, 0x49, 0x16, 0x07, 0x40, 0x19, | |
3450 | + 0x0b, 0x49, 0x16, 0x07, 0x40, 0x46, 0x07, 0x06, 0x06, 0x0c, 0x14, 0x0c, 0x14, 0x11, 0x17, | |
3451 | + 0x0b, 0x49, 0x17, 0x0b, 0x49, 0x40, 0x40, 0x40, 0x1d, 0x11, 0x11, 0x40, 0x0f, 0x11, 0x13, | |
3452 | + 0x13, 0x26, 0x27, 0x16, 0x07, 0x14, 0x16, 0x0c, 0x01, 0x36, 0x19, 0x11, 0x40, 0x0f, 0x11, | |
3453 | + 0x13, 0x0a, 0x11, 0x10, 0x0a, 0x0a, 0x11, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
3454 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x0b, 0x41, 0x52, | |
3455 | + 0x40, 0x14, 0x45, 0x4b, 0x26, 0x40, 0x41, 0x40, 0x40, 0x0a, 0x0f, 0x41, 0x47, 0x40, 0x0e, | |
3456 | + 0x4d, 0x47, 0x40, 0x0c, 0x0c, 0x07, 0x07, 0x09, 0x2f, 0x11, 0x0d, 0x07, 0x54, 0x27, 0x0a, | |
3457 | + 0x11, 0x40, 0x01, 0x0c, 0x40, 0x40, 0x40, 0x41, 0x41, 0x4a, 0x4c, 0x42, 0x4c, 0x4d, 0x45, | |
3458 | + 0x4a, 0x54, 0x54, 0x47, 0x4a, 0x52, 0x54, 0x54, 0x47, 0x03, 0x05, 0x02, 0x4a, 0x4c, 0x42, | |
3459 | + 0x4c, 0x4d, 0x45, 0x4a, 0x54, 0x54, 0x47, 0x4a, 0x52, 0x54, 0x54, 0x47, 0x03, 0x05, 0x02, | |
3460 | + 0x15, 0x49, 0x0f, 0x40, 0x46, 0x40, 0x41, 0x07, 0x41, 0x05, 0x05, 0x40, 0x42, 0x19, 0x0a, | |
3461 | + 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, | |
3462 | + 0x40, 0x46, 0x07, 0x06, 0x06, 0x0d, 0x15, 0x0d, 0x15, 0x11, 0x17, 0x0a, 0x49, 0x17, 0x0a, | |
3463 | + 0x49, 0x40, 0x40, 0x40, 0x1c, 0x11, 0x11, 0x40, 0x0f, 0x11, 0x12, 0x12, 0x26, 0x27, 0x16, | |
3464 | + 0x07, 0x15, 0x16, 0x0d, 0x01, 0x35, 0x19, 0x11, 0x40, 0x0f, 0x11, 0x12, 0x0b, 0x11, 0x12, | |
3465 | + 0x0b, 0x0b, 0x11, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3466 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x0c, 0x41, 0x52, 0x40, 0x13, 0x45, 0x4c, | |
3467 | + 0x26, 0x40, 0x41, 0x40, 0x40, 0x0a, 0x0f, 0x41, 0x45, 0x40, 0x0e, 0x4c, 0x45, 0x01, 0x0e, | |
3468 | + 0x0e, 0x07, 0x07, 0x09, 0x2d, 0x11, 0x0d, 0x07, 0x53, 0x27, 0x0b, 0x11, 0x40, 0x01, 0x0b, | |
3469 | + 0x40, 0x40, 0x40, 0x41, 0x41, 0x4a, 0x4b, 0x42, 0x4b, 0x4c, 0x44, 0x4a, 0x53, 0x53, 0x45, | |
3470 | + 0x4a, 0x52, 0x53, 0x53, 0x45, 0x04, 0x05, 0x03, 0x4a, 0x4b, 0x42, 0x4b, 0x4c, 0x44, 0x4a, | |
3471 | + 0x53, 0x53, 0x45, 0x4a, 0x52, 0x53, 0x53, 0x45, 0x04, 0x05, 0x03, 0x15, 0x49, 0x11, 0x40, | |
3472 | + 0x46, 0x40, 0x41, 0x07, 0x41, 0x05, 0x05, 0x01, 0x42, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, | |
3473 | + 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x19, 0x0a, 0x49, 0x16, 0x07, 0x40, 0x46, 0x07, 0x06, | |
3474 | + 0x06, 0x0d, 0x15, 0x0d, 0x15, 0x11, 0x17, 0x0a, 0x49, 0x17, 0x0a, 0x49, 0x40, 0x40, 0x40, | |
3475 | + 0x1b, 0x11, 0x11, 0x40, 0x0f, 0x11, 0x12, 0x12, 0x26, 0x27, 0x16, 0x07, 0x15, 0x16, 0x0d, | |
3476 | + 0x01, 0x34, 0x19, 0x11, 0x40, 0x0f, 0x11, 0x12, 0x0c, 0x11, 0x13, 0x0c, 0x0c, 0x11, 0x40, | |
3477 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3478 | + 0x00, 0x00, 0x07, 0x3e, 0x0d, 0x40, 0x51, 0x40, 0x12, 0x46, 0x4d, 0x27, 0x40, 0x40, 0x40, | |
3479 | + 0x40, 0x09, 0x0f, 0x40, 0x44, 0x40, 0x0f, 0x4b, 0x44, 0x03, 0x11, 0x11, 0x07, 0x07, 0x08, | |
3480 | + 0x2c, 0x10, 0x0e, 0x07, 0x52, 0x27, 0x0c, 0x10, 0x40, 0x00, 0x0a, 0x40, 0x40, 0x40, 0x40, | |
3481 | + 0x40, 0x49, 0x4a, 0x41, 0x4a, 0x4b, 0x43, 0x49, 0x52, 0x52, 0x44, 0x49, 0x51, 0x52, 0x52, | |
3482 | + 0x44, 0x05, 0x06, 0x04, 0x49, 0x4a, 0x41, 0x4a, 0x4b, 0x43, 0x49, 0x52, 0x52, 0x44, 0x49, | |
3483 | + 0x51, 0x52, 0x52, 0x44, 0x05, 0x06, 0x04, 0x16, 0x48, 0x13, 0x40, 0x47, 0x40, 0x40, 0x07, | |
3484 | + 0x40, 0x06, 0x06, 0x03, 0x41, 0x18, 0x09, 0x48, 0x17, 0x07, 0x40, 0x18, 0x09, 0x48, 0x17, | |
3485 | + 0x07, 0x40, 0x18, 0x09, 0x48, 0x17, 0x07, 0x40, 0x47, 0x07, 0x07, 0x07, 0x0e, 0x16, 0x0e, | |
3486 | + 0x16, 0x10, 0x17, 0x09, 0x48, 0x17, 0x09, 0x48, 0x40, 0x40, 0x40, 0x1a, 0x10, 0x10, 0x40, | |
3487 | + 0x0f, 0x10, 0x11, 0x11, 0x27, 0x27, 0x17, 0x07, 0x16, 0x17, 0x0e, 0x00, 0x33, 0x18, 0x10, | |
3488 | + 0x40, 0x0f, 0x10, 0x11, 0x0d, 0x10, 0x14, 0x0d, 0x0d, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3489 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, | |
3490 | + 0x0e, 0x40, 0x51, 0x40, 0x11, 0x47, 0x4e, 0x27, 0x40, 0x40, 0x40, 0x40, 0x08, 0x0f, 0x40, | |
3491 | + 0x42, 0x40, 0x0f, 0x4a, 0x42, 0x04, 0x13, 0x13, 0x07, 0x07, 0x08, 0x2a, 0x10, 0x0e, 0x07, | |
3492 | + 0x51, 0x27, 0x0d, 0x10, 0x40, 0x00, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x49, 0x49, 0x41, | |
3493 | + 0x49, 0x4a, 0x42, 0x49, 0x51, 0x51, 0x42, 0x49, 0x51, 0x51, 0x51, 0x42, 0x06, 0x06, 0x05, | |
3494 | + 0x49, 0x49, 0x41, 0x49, 0x4a, 0x42, 0x49, 0x51, 0x51, 0x42, 0x49, 0x51, 0x51, 0x51, 0x42, | |
3495 | + 0x06, 0x06, 0x05, 0x16, 0x48, 0x14, 0x40, 0x47, 0x40, 0x40, 0x07, 0x40, 0x06, 0x06, 0x04, | |
3496 | + 0x41, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, | |
3497 | + 0x48, 0x17, 0x07, 0x40, 0x47, 0x07, 0x07, 0x07, 0x0e, 0x16, 0x0e, 0x16, 0x10, 0x17, 0x08, | |
3498 | + 0x48, 0x17, 0x08, 0x48, 0x40, 0x40, 0x40, 0x19, 0x10, 0x10, 0x40, 0x0f, 0x10, 0x10, 0x10, | |
3499 | + 0x27, 0x27, 0x17, 0x07, 0x16, 0x17, 0x0e, 0x00, 0x31, 0x18, 0x10, 0x40, 0x0f, 0x10, 0x10, | |
3500 | + 0x0e, 0x10, 0x15, 0x0e, 0x0e, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
3501 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x0f, 0x40, 0x50, 0x40, | |
3502 | + 0x10, 0x47, 0x4f, 0x27, 0x40, 0x40, 0x40, 0x40, 0x08, 0x0f, 0x40, 0x40, 0x40, 0x0f, 0x48, | |
3503 | + 0x40, 0x06, 0x16, 0x16, 0x07, 0x07, 0x08, 0x28, 0x10, 0x0f, 0x07, 0x50, 0x27, 0x0f, 0x10, | |
3504 | + 0x40, 0x00, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x48, 0x48, 0x40, 0x48, 0x48, 0x40, 0x48, | |
3505 | + 0x50, 0x50, 0x40, 0x48, 0x50, 0x50, 0x50, 0x40, 0x07, 0x07, 0x07, 0x48, 0x48, 0x40, 0x48, | |
3506 | + 0x48, 0x40, 0x48, 0x50, 0x50, 0x40, 0x48, 0x50, 0x50, 0x50, 0x40, 0x07, 0x07, 0x07, 0x17, | |
3507 | + 0x48, 0x16, 0x40, 0x47, 0x40, 0x40, 0x07, 0x40, 0x07, 0x07, 0x06, 0x40, 0x18, 0x08, 0x48, | |
3508 | + 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, 0x18, 0x08, 0x48, 0x17, 0x07, 0x40, | |
3509 | + 0x47, 0x07, 0x07, 0x07, 0x0f, 0x17, 0x0f, 0x17, 0x10, 0x17, 0x08, 0x48, 0x17, 0x08, 0x48, | |
3510 | + 0x40, 0x40, 0x40, 0x18, 0x10, 0x10, 0x40, 0x0f, 0x10, 0x10, 0x10, 0x27, 0x27, 0x17, 0x07, | |
3511 | + 0x17, 0x17, 0x0f, 0x00, 0x30, 0x18, 0x10, 0x40, 0x0f, 0x10, 0x10, 0x0f, 0x10, 0x17, 0x0f, | |
3512 | + 0x0f, 0x10, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3513 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x10, 0x00, 0x4f, 0x40, 0x0f, 0x48, 0x50, 0x28, | |
3514 | + 0x40, 0x00, 0x40, 0x40, 0x07, 0x0f, 0x00, 0x00, 0x40, 0x10, 0x47, 0x00, 0x08, 0x18, 0x18, | |
3515 | + 0x07, 0x07, 0x07, 0x27, 0x0f, 0x10, 0x07, 0x4f, 0x27, 0x10, 0x0f, 0x40, 0x40, 0x07, 0x40, | |
3516 | + 0x40, 0x40, 0x00, 0x00, 0x47, 0x47, 0x00, 0x47, 0x47, 0x00, 0x47, 0x4f, 0x4f, 0x00, 0x47, | |
3517 | + 0x4f, 0x4f, 0x4f, 0x00, 0x08, 0x08, 0x08, 0x47, 0x47, 0x00, 0x47, 0x47, 0x00, 0x47, 0x4f, | |
3518 | + 0x4f, 0x00, 0x47, 0x4f, 0x4f, 0x4f, 0x00, 0x08, 0x08, 0x08, 0x18, 0x47, 0x18, 0x40, 0x48, | |
3519 | + 0x40, 0x00, 0x07, 0x00, 0x08, 0x08, 0x08, 0x00, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, | |
3520 | + 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x48, 0x07, 0x08, 0x08, | |
3521 | + 0x10, 0x18, 0x10, 0x18, 0x0f, 0x17, 0x07, 0x47, 0x17, 0x07, 0x47, 0x40, 0x40, 0x40, 0x17, | |
3522 | + 0x0f, 0x0f, 0x40, 0x0f, 0x0f, 0x0f, 0x0f, 0x28, 0x27, 0x18, 0x07, 0x18, 0x18, 0x10, 0x40, | |
3523 | + 0x2f, 0x17, 0x0f, 0x40, 0x0f, 0x0f, 0x0f, 0x10, 0x0f, 0x18, 0x10, 0x10, 0x0f, 0x40, 0x40, | |
3524 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3525 | + 0x00, 0x07, 0x3e, 0x11, 0x00, 0x4f, 0x40, 0x0e, 0x48, 0x51, 0x28, 0x40, 0x00, 0x40, 0x40, | |
3526 | + 0x07, 0x0f, 0x00, 0x02, 0x40, 0x10, 0x46, 0x02, 0x0a, 0x1b, 0x1b, 0x07, 0x07, 0x07, 0x25, | |
3527 | + 0x0f, 0x10, 0x07, 0x4e, 0x27, 0x11, 0x0f, 0x40, 0x40, 0x06, 0x40, 0x40, 0x40, 0x00, 0x00, | |
3528 | + 0x47, 0x46, 0x00, 0x46, 0x46, 0x01, 0x47, 0x4e, 0x4e, 0x02, 0x47, 0x4f, 0x4e, 0x4e, 0x02, | |
3529 | + 0x09, 0x08, 0x09, 0x47, 0x46, 0x00, 0x46, 0x46, 0x01, 0x47, 0x4e, 0x4e, 0x02, 0x47, 0x4f, | |
3530 | + 0x4e, 0x4e, 0x02, 0x09, 0x08, 0x09, 0x18, 0x47, 0x1a, 0x40, 0x48, 0x40, 0x00, 0x07, 0x00, | |
3531 | + 0x08, 0x08, 0x0a, 0x00, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x17, 0x07, 0x47, 0x18, 0x07, | |
3532 | + 0x40, 0x17, 0x07, 0x47, 0x18, 0x07, 0x40, 0x48, 0x07, 0x08, 0x08, 0x10, 0x18, 0x10, 0x18, | |
3533 | + 0x0f, 0x17, 0x07, 0x47, 0x17, 0x07, 0x47, 0x40, 0x40, 0x40, 0x16, 0x0f, 0x0f, 0x40, 0x0f, | |
3534 | + 0x0f, 0x0f, 0x0f, 0x28, 0x27, 0x18, 0x07, 0x18, 0x18, 0x10, 0x40, 0x2e, 0x17, 0x0f, 0x40, | |
3535 | + 0x0f, 0x0f, 0x0f, 0x11, 0x0f, 0x19, 0x11, 0x11, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3536 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x12, | |
3537 | + 0x00, 0x4e, 0x40, 0x0d, 0x49, 0x52, 0x28, 0x40, 0x00, 0x40, 0x40, 0x06, 0x0f, 0x00, 0x03, | |
3538 | + 0x40, 0x10, 0x45, 0x03, 0x0c, 0x1d, 0x1d, 0x07, 0x07, 0x07, 0x24, 0x0f, 0x11, 0x07, 0x4d, | |
3539 | + 0x27, 0x12, 0x0f, 0x40, 0x40, 0x05, 0x40, 0x40, 0x40, 0x00, 0x00, 0x46, 0x45, 0x01, 0x45, | |
3540 | + 0x45, 0x02, 0x46, 0x4d, 0x4d, 0x03, 0x46, 0x4e, 0x4d, 0x4d, 0x03, 0x0a, 0x09, 0x0a, 0x46, | |
3541 | + 0x45, 0x01, 0x45, 0x45, 0x02, 0x46, 0x4d, 0x4d, 0x03, 0x46, 0x4e, 0x4d, 0x4d, 0x03, 0x0a, | |
3542 | + 0x09, 0x0a, 0x19, 0x47, 0x1c, 0x40, 0x48, 0x40, 0x00, 0x07, 0x00, 0x09, 0x09, 0x0c, 0x01, | |
3543 | + 0x17, 0x06, 0x47, 0x18, 0x07, 0x40, 0x17, 0x06, 0x47, 0x18, 0x07, 0x40, 0x17, 0x06, 0x47, | |
3544 | + 0x18, 0x07, 0x40, 0x48, 0x07, 0x08, 0x08, 0x11, 0x19, 0x11, 0x19, 0x0f, 0x17, 0x06, 0x47, | |
3545 | + 0x17, 0x06, 0x47, 0x40, 0x40, 0x40, 0x15, 0x0f, 0x0f, 0x40, 0x0f, 0x0f, 0x0e, 0x0e, 0x28, | |
3546 | + 0x27, 0x18, 0x07, 0x19, 0x18, 0x11, 0x40, 0x2c, 0x17, 0x0f, 0x40, 0x0f, 0x0f, 0x0e, 0x12, | |
3547 | + 0x0f, 0x1a, 0x12, 0x12, 0x0f, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
3548 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x13, 0x01, 0x4d, 0x40, 0x0c, | |
3549 | + 0x4a, 0x53, 0x29, 0x40, 0x01, 0x40, 0x40, 0x05, 0x0f, 0x01, 0x05, 0x40, 0x11, 0x43, 0x05, | |
3550 | + 0x0e, 0x20, 0x20, 0x07, 0x07, 0x06, 0x22, 0x0e, 0x12, 0x07, 0x4c, 0x27, 0x14, 0x0e, 0x40, | |
3551 | + 0x41, 0x04, 0x40, 0x40, 0x40, 0x01, 0x01, 0x45, 0x44, 0x02, 0x44, 0x43, 0x04, 0x45, 0x4c, | |
3552 | + 0x4c, 0x05, 0x45, 0x4d, 0x4c, 0x4c, 0x05, 0x0b, 0x0a, 0x0c, 0x45, 0x44, 0x02, 0x44, 0x43, | |
3553 | + 0x04, 0x45, 0x4c, 0x4c, 0x05, 0x45, 0x4d, 0x4c, 0x4c, 0x05, 0x0b, 0x0a, 0x0c, 0x1a, 0x46, | |
3554 | + 0x1e, 0x40, 0x49, 0x40, 0x01, 0x07, 0x01, 0x0a, 0x0a, 0x0e, 0x02, 0x16, 0x05, 0x46, 0x19, | |
3555 | + 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x49, | |
3556 | + 0x07, 0x09, 0x09, 0x12, 0x1a, 0x12, 0x1a, 0x0e, 0x17, 0x05, 0x46, 0x17, 0x05, 0x46, 0x40, | |
3557 | + 0x40, 0x40, 0x14, 0x0e, 0x0e, 0x40, 0x0f, 0x0e, 0x0d, 0x0d, 0x29, 0x27, 0x19, 0x07, 0x1a, | |
3558 | + 0x19, 0x12, 0x41, 0x2b, 0x16, 0x0e, 0x40, 0x0f, 0x0e, 0x0d, 0x13, 0x0e, 0x1c, 0x13, 0x13, | |
3559 | + 0x0e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3560 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x14, 0x01, 0x4d, 0x40, 0x0b, 0x4a, 0x54, 0x29, 0x40, | |
3561 | + 0x01, 0x40, 0x40, 0x05, 0x0f, 0x01, 0x06, 0x40, 0x11, 0x42, 0x06, 0x10, 0x22, 0x22, 0x07, | |
3562 | + 0x07, 0x06, 0x21, 0x0e, 0x12, 0x07, 0x4b, 0x27, 0x15, 0x0e, 0x40, 0x41, 0x03, 0x40, 0x40, | |
3563 | + 0x40, 0x01, 0x01, 0x45, 0x43, 0x02, 0x43, 0x42, 0x05, 0x45, 0x4b, 0x4b, 0x06, 0x45, 0x4d, | |
3564 | + 0x4b, 0x4b, 0x06, 0x0c, 0x0a, 0x0d, 0x45, 0x43, 0x02, 0x43, 0x42, 0x05, 0x45, 0x4b, 0x4b, | |
3565 | + 0x06, 0x45, 0x4d, 0x4b, 0x4b, 0x06, 0x0c, 0x0a, 0x0d, 0x1a, 0x46, 0x20, 0x40, 0x49, 0x40, | |
3566 | + 0x01, 0x07, 0x01, 0x0a, 0x0a, 0x10, 0x02, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x16, 0x05, | |
3567 | + 0x46, 0x19, 0x07, 0x40, 0x16, 0x05, 0x46, 0x19, 0x07, 0x40, 0x49, 0x07, 0x09, 0x09, 0x12, | |
3568 | + 0x1a, 0x12, 0x1a, 0x0e, 0x17, 0x05, 0x46, 0x17, 0x05, 0x46, 0x40, 0x40, 0x40, 0x13, 0x0e, | |
3569 | + 0x0e, 0x40, 0x0f, 0x0e, 0x0d, 0x0d, 0x29, 0x27, 0x19, 0x07, 0x1a, 0x19, 0x12, 0x41, 0x2a, | |
3570 | + 0x16, 0x0e, 0x40, 0x0f, 0x0e, 0x0d, 0x14, 0x0e, 0x1d, 0x14, 0x14, 0x0e, 0x40, 0x40, 0x40, | |
3571 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3572 | + 0x07, 0x3e, 0x15, 0x01, 0x4c, 0x40, 0x0a, 0x4b, 0x55, 0x29, 0x40, 0x01, 0x40, 0x40, 0x04, | |
3573 | + 0x0f, 0x01, 0x08, 0x40, 0x11, 0x41, 0x08, 0x12, 0x25, 0x25, 0x07, 0x07, 0x06, 0x1f, 0x0e, | |
3574 | + 0x13, 0x07, 0x4a, 0x27, 0x16, 0x0e, 0x40, 0x41, 0x02, 0x40, 0x40, 0x40, 0x01, 0x01, 0x44, | |
3575 | + 0x42, 0x03, 0x42, 0x41, 0x06, 0x44, 0x4a, 0x4a, 0x08, 0x44, 0x4c, 0x4a, 0x4a, 0x08, 0x0d, | |
3576 | + 0x0b, 0x0e, 0x44, 0x42, 0x03, 0x42, 0x41, 0x06, 0x44, 0x4a, 0x4a, 0x08, 0x44, 0x4c, 0x4a, | |
3577 | + 0x4a, 0x08, 0x0d, 0x0b, 0x0e, 0x1b, 0x46, 0x22, 0x40, 0x49, 0x40, 0x01, 0x07, 0x01, 0x0b, | |
3578 | + 0x0b, 0x12, 0x03, 0x16, 0x04, 0x46, 0x19, 0x07, 0x40, 0x16, 0x04, 0x46, 0x19, 0x07, 0x40, | |
3579 | + 0x16, 0x04, 0x46, 0x19, 0x07, 0x40, 0x49, 0x07, 0x09, 0x09, 0x13, 0x1b, 0x13, 0x1b, 0x0e, | |
3580 | + 0x17, 0x04, 0x46, 0x17, 0x04, 0x46, 0x40, 0x40, 0x40, 0x12, 0x0e, 0x0e, 0x40, 0x0f, 0x0e, | |
3581 | + 0x0c, 0x0c, 0x29, 0x27, 0x19, 0x07, 0x1b, 0x19, 0x13, 0x41, 0x29, 0x16, 0x0e, 0x40, 0x0f, | |
3582 | + 0x0e, 0x0c, 0x15, 0x0e, 0x1e, 0x15, 0x15, 0x0e, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3583 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x15, 0x01, | |
3584 | + 0x4c, 0x40, 0x09, 0x4c, 0x56, 0x29, 0x40, 0x01, 0x40, 0x40, 0x03, 0x0f, 0x01, 0x09, 0x40, | |
3585 | + 0x11, 0x40, 0x09, 0x13, 0x27, 0x27, 0x07, 0x07, 0x05, 0x1d, 0x0d, 0x13, 0x07, 0x4a, 0x27, | |
3586 | + 0x17, 0x0d, 0x40, 0x42, 0x01, 0x40, 0x40, 0x40, 0x01, 0x01, 0x44, 0x42, 0x03, 0x42, 0x40, | |
3587 | + 0x07, 0x44, 0x4a, 0x4a, 0x09, 0x44, 0x4c, 0x4a, 0x4a, 0x09, 0x0d, 0x0b, 0x0f, 0x44, 0x42, | |
3588 | + 0x03, 0x42, 0x40, 0x07, 0x44, 0x4a, 0x4a, 0x09, 0x44, 0x4c, 0x4a, 0x4a, 0x09, 0x0d, 0x0b, | |
3589 | + 0x0f, 0x1b, 0x46, 0x23, 0x40, 0x4a, 0x40, 0x01, 0x07, 0x01, 0x0b, 0x0b, 0x13, 0x03, 0x15, | |
3590 | + 0x03, 0x46, 0x19, 0x07, 0x40, 0x15, 0x03, 0x46, 0x19, 0x07, 0x40, 0x15, 0x03, 0x46, 0x19, | |
3591 | + 0x07, 0x40, 0x4a, 0x07, 0x09, 0x09, 0x13, 0x1b, 0x13, 0x1b, 0x0d, 0x17, 0x03, 0x46, 0x17, | |
3592 | + 0x03, 0x46, 0x40, 0x40, 0x40, 0x11, 0x0d, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x0b, 0x29, 0x27, | |
3593 | + 0x19, 0x07, 0x1b, 0x19, 0x13, 0x42, 0x27, 0x15, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x15, 0x0d, | |
3594 | + 0x1f, 0x15, 0x15, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
3595 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x16, 0x02, 0x4b, 0x40, 0x09, 0x4c, | |
3596 | + 0x56, 0x2a, 0x40, 0x02, 0x40, 0x40, 0x03, 0x0f, 0x02, 0x0b, 0x40, 0x12, 0x01, 0x0b, 0x15, | |
3597 | + 0x2a, 0x2a, 0x07, 0x07, 0x05, 0x1c, 0x0d, 0x14, 0x07, 0x49, 0x27, 0x19, 0x0d, 0x40, 0x42, | |
3598 | + 0x01, 0x40, 0x40, 0x40, 0x02, 0x02, 0x43, 0x41, 0x04, 0x41, 0x01, 0x09, 0x43, 0x49, 0x49, | |
3599 | + 0x0b, 0x43, 0x4b, 0x49, 0x49, 0x0b, 0x0e, 0x0c, 0x11, 0x43, 0x41, 0x04, 0x41, 0x01, 0x09, | |
3600 | + 0x43, 0x49, 0x49, 0x0b, 0x43, 0x4b, 0x49, 0x49, 0x0b, 0x0e, 0x0c, 0x11, 0x1c, 0x45, 0x25, | |
3601 | + 0x40, 0x4a, 0x40, 0x02, 0x07, 0x02, 0x0c, 0x0c, 0x15, 0x04, 0x15, 0x03, 0x45, 0x1a, 0x07, | |
3602 | + 0x40, 0x15, 0x03, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x03, 0x45, 0x1a, 0x07, 0x40, 0x4a, 0x07, | |
3603 | + 0x0a, 0x0a, 0x14, 0x1c, 0x14, 0x1c, 0x0d, 0x17, 0x03, 0x45, 0x17, 0x03, 0x45, 0x40, 0x40, | |
3604 | + 0x40, 0x11, 0x0d, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x0b, 0x2a, 0x27, 0x1a, 0x07, 0x1c, 0x1a, | |
3605 | + 0x14, 0x42, 0x26, 0x15, 0x0d, 0x40, 0x0f, 0x0d, 0x0b, 0x16, 0x0d, 0x21, 0x16, 0x16, 0x0d, | |
3606 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3607 | + 0x00, 0x00, 0x00, 0x07, 0x3e, 0x17, 0x02, 0x4a, 0x40, 0x08, 0x4d, 0x57, 0x2a, 0x40, 0x02, | |
3608 | + 0x40, 0x40, 0x02, 0x0f, 0x02, 0x0d, 0x40, 0x12, 0x02, 0x0d, 0x17, 0x2c, 0x2c, 0x07, 0x07, | |
3609 | + 0x05, 0x1a, 0x0d, 0x15, 0x07, 0x48, 0x27, 0x1a, 0x0d, 0x40, 0x42, 0x00, 0x40, 0x40, 0x40, | |
3610 | + 0x02, 0x02, 0x42, 0x40, 0x05, 0x40, 0x02, 0x0a, 0x42, 0x48, 0x48, 0x0d, 0x42, 0x4a, 0x48, | |
3611 | + 0x48, 0x0d, 0x0f, 0x0d, 0x12, 0x42, 0x40, 0x05, 0x40, 0x02, 0x0a, 0x42, 0x48, 0x48, 0x0d, | |
3612 | + 0x42, 0x4a, 0x48, 0x48, 0x0d, 0x0f, 0x0d, 0x12, 0x1d, 0x45, 0x27, 0x40, 0x4a, 0x40, 0x02, | |
3613 | + 0x07, 0x02, 0x0d, 0x0d, 0x17, 0x05, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, | |
3614 | + 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x4a, 0x07, 0x0a, 0x0a, 0x15, 0x1d, | |
3615 | + 0x15, 0x1d, 0x0d, 0x17, 0x02, 0x45, 0x17, 0x02, 0x45, 0x40, 0x40, 0x40, 0x10, 0x0d, 0x0d, | |
3616 | + 0x40, 0x0f, 0x0d, 0x0a, 0x0a, 0x2a, 0x27, 0x1a, 0x07, 0x1d, 0x1a, 0x15, 0x42, 0x25, 0x15, | |
3617 | + 0x0d, 0x40, 0x0f, 0x0d, 0x0a, 0x17, 0x0d, 0x22, 0x17, 0x17, 0x0d, 0x40, 0x40, 0x40, 0x40, | |
3618 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
3619 | + 0x3e, 0x18, 0x02, 0x4a, 0x40, 0x07, 0x4d, 0x58, 0x2a, 0x40, 0x02, 0x40, 0x40, 0x02, 0x0f, | |
3620 | + 0x02, 0x0e, 0x40, 0x12, 0x03, 0x0e, 0x19, 0x2f, 0x2f, 0x07, 0x07, 0x05, 0x19, 0x0d, 0x15, | |
3621 | + 0x07, 0x47, 0x27, 0x1b, 0x0d, 0x40, 0x42, 0x40, 0x40, 0x40, 0x40, 0x02, 0x02, 0x42, 0x00, | |
3622 | + 0x05, 0x00, 0x03, 0x0b, 0x42, 0x47, 0x47, 0x0e, 0x42, 0x4a, 0x47, 0x47, 0x0e, 0x10, 0x0d, | |
3623 | + 0x13, 0x42, 0x00, 0x05, 0x00, 0x03, 0x0b, 0x42, 0x47, 0x47, 0x0e, 0x42, 0x4a, 0x47, 0x47, | |
3624 | + 0x0e, 0x10, 0x0d, 0x13, 0x1d, 0x45, 0x29, 0x40, 0x4a, 0x40, 0x02, 0x07, 0x02, 0x0d, 0x0d, | |
3625 | + 0x19, 0x05, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, 0x02, 0x45, 0x1a, 0x07, 0x40, 0x15, | |
3626 | + 0x02, 0x45, 0x1a, 0x07, 0x40, 0x4a, 0x07, 0x0a, 0x0a, 0x15, 0x1d, 0x15, 0x1d, 0x0d, 0x17, | |
3627 | + 0x02, 0x45, 0x17, 0x02, 0x45, 0x40, 0x40, 0x40, 0x0f, 0x0d, 0x0d, 0x40, 0x0f, 0x0d, 0x0a, | |
3628 | + 0x0a, 0x2a, 0x27, 0x1a, 0x07, 0x1d, 0x1a, 0x15, 0x42, 0x24, 0x15, 0x0d, 0x40, 0x0f, 0x0d, | |
3629 | + 0x0a, 0x18, 0x0d, 0x23, 0x18, 0x18, 0x0d, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
3630 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x19, 0x03, 0x49, | |
3631 | + 0x40, 0x06, 0x4e, 0x59, 0x2b, 0x40, 0x03, 0x40, 0x40, 0x01, 0x0f, 0x03, 0x10, 0x40, 0x13, | |
3632 | + 0x04, 0x10, 0x1b, 0x31, 0x31, 0x07, 0x07, 0x04, 0x17, 0x0c, 0x16, 0x07, 0x46, 0x27, 0x1c, | |
3633 | + 0x0c, 0x40, 0x43, 0x41, 0x40, 0x40, 0x40, 0x03, 0x03, 0x41, 0x01, 0x06, 0x01, 0x04, 0x0c, | |
3634 | + 0x41, 0x46, 0x46, 0x10, 0x41, 0x49, 0x46, 0x46, 0x10, 0x11, 0x0e, 0x14, 0x41, 0x01, 0x06, | |
3635 | + 0x01, 0x04, 0x0c, 0x41, 0x46, 0x46, 0x10, 0x41, 0x49, 0x46, 0x46, 0x10, 0x11, 0x0e, 0x14, | |
3636 | + 0x1e, 0x44, 0x2b, 0x40, 0x4b, 0x40, 0x03, 0x07, 0x03, 0x0e, 0x0e, 0x1b, 0x06, 0x14, 0x01, | |
3637 | + 0x44, 0x1b, 0x07, 0x40, 0x14, 0x01, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x01, 0x44, 0x1b, 0x07, | |
3638 | + 0x40, 0x4b, 0x07, 0x0b, 0x0b, 0x16, 0x1e, 0x16, 0x1e, 0x0c, 0x17, 0x01, 0x44, 0x17, 0x01, | |
3639 | + 0x44, 0x40, 0x40, 0x40, 0x0e, 0x0c, 0x0c, 0x40, 0x0f, 0x0c, 0x09, 0x09, 0x2b, 0x27, 0x1b, | |
3640 | + 0x07, 0x1e, 0x1b, 0x16, 0x43, 0x22, 0x14, 0x0c, 0x40, 0x0f, 0x0c, 0x09, 0x19, 0x0c, 0x24, | |
3641 | + 0x19, 0x19, 0x0c, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3642 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x1a, 0x03, 0x48, 0x40, 0x05, 0x4f, 0x5a, | |
3643 | + 0x2b, 0x40, 0x03, 0x40, 0x40, 0x00, 0x0f, 0x03, 0x11, 0x40, 0x13, 0x06, 0x11, 0x1d, 0x34, | |
3644 | + 0x34, 0x07, 0x07, 0x04, 0x16, 0x0c, 0x17, 0x07, 0x45, 0x27, 0x1e, 0x0c, 0x40, 0x43, 0x42, | |
3645 | + 0x40, 0x40, 0x40, 0x03, 0x03, 0x40, 0x02, 0x07, 0x02, 0x06, 0x0e, 0x40, 0x45, 0x45, 0x11, | |
3646 | + 0x40, 0x48, 0x45, 0x45, 0x11, 0x12, 0x0f, 0x16, 0x40, 0x02, 0x07, 0x02, 0x06, 0x0e, 0x40, | |
3647 | + 0x45, 0x45, 0x11, 0x40, 0x48, 0x45, 0x45, 0x11, 0x12, 0x0f, 0x16, 0x1f, 0x44, 0x2d, 0x40, | |
3648 | + 0x4b, 0x40, 0x03, 0x07, 0x03, 0x0f, 0x0f, 0x1d, 0x07, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, | |
3649 | + 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x4b, 0x07, 0x0b, | |
3650 | + 0x0b, 0x17, 0x1f, 0x17, 0x1f, 0x0c, 0x17, 0x00, 0x44, 0x17, 0x00, 0x44, 0x40, 0x40, 0x40, | |
3651 | + 0x0d, 0x0c, 0x0c, 0x40, 0x0f, 0x0c, 0x08, 0x08, 0x2b, 0x27, 0x1b, 0x07, 0x1f, 0x1b, 0x17, | |
3652 | + 0x43, 0x21, 0x14, 0x0c, 0x40, 0x0f, 0x0c, 0x08, 0x1a, 0x0c, 0x26, 0x1a, 0x1a, 0x0c, 0x40, | |
3653 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3654 | + 0x00, 0x00, 0x07, 0x3e, 0x1b, 0x03, 0x48, 0x40, 0x04, 0x4f, 0x5b, 0x2b, 0x40, 0x03, 0x40, | |
3655 | + 0x40, 0x00, 0x0f, 0x03, 0x13, 0x40, 0x13, 0x07, 0x13, 0x1f, 0x36, 0x36, 0x07, 0x07, 0x04, | |
3656 | + 0x14, 0x0c, 0x17, 0x07, 0x44, 0x27, 0x1f, 0x0c, 0x40, 0x43, 0x43, 0x40, 0x40, 0x40, 0x03, | |
3657 | + 0x03, 0x40, 0x03, 0x07, 0x03, 0x07, 0x0f, 0x40, 0x44, 0x44, 0x13, 0x40, 0x48, 0x44, 0x44, | |
3658 | + 0x13, 0x13, 0x0f, 0x17, 0x40, 0x03, 0x07, 0x03, 0x07, 0x0f, 0x40, 0x44, 0x44, 0x13, 0x40, | |
3659 | + 0x48, 0x44, 0x44, 0x13, 0x13, 0x0f, 0x17, 0x1f, 0x44, 0x2f, 0x40, 0x4b, 0x40, 0x03, 0x07, | |
3660 | + 0x03, 0x0f, 0x0f, 0x1f, 0x07, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x14, 0x00, 0x44, 0x1b, | |
3661 | + 0x07, 0x40, 0x14, 0x00, 0x44, 0x1b, 0x07, 0x40, 0x4b, 0x07, 0x0b, 0x0b, 0x17, 0x1f, 0x17, | |
3662 | + 0x1f, 0x0c, 0x17, 0x00, 0x44, 0x17, 0x00, 0x44, 0x40, 0x40, 0x40, 0x0c, 0x0c, 0x0c, 0x40, | |
3663 | + 0x0f, 0x0c, 0x08, 0x08, 0x2b, 0x27, 0x1b, 0x07, 0x1f, 0x1b, 0x17, 0x43, 0x20, 0x14, 0x0c, | |
3664 | + 0x40, 0x0f, 0x0c, 0x08, 0x1b, 0x0c, 0x27, 0x1b, 0x1b, 0x0c, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3665 | + 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, | |
3666 | + 0x1c, 0x04, 0x47, 0x40, 0x03, 0x50, 0x5c, 0x2c, 0x40, 0x04, 0x40, 0x40, 0x40, 0x0f, 0x04, | |
3667 | + 0x14, 0x40, 0x14, 0x08, 0x14, 0x21, 0x39, 0x39, 0x07, 0x07, 0x03, 0x13, 0x0b, 0x18, 0x07, | |
3668 | + 0x43, 0x27, 0x20, 0x0b, 0x40, 0x44, 0x44, 0x40, 0x40, 0x40, 0x04, 0x04, 0x00, 0x04, 0x08, | |
3669 | + 0x04, 0x08, 0x10, 0x00, 0x43, 0x43, 0x14, 0x00, 0x47, 0x43, 0x43, 0x14, 0x14, 0x10, 0x18, | |
3670 | + 0x00, 0x04, 0x08, 0x04, 0x08, 0x10, 0x00, 0x43, 0x43, 0x14, 0x00, 0x47, 0x43, 0x43, 0x14, | |
3671 | + 0x14, 0x10, 0x18, 0x20, 0x43, 0x31, 0x40, 0x4c, 0x40, 0x04, 0x07, 0x04, 0x10, 0x10, 0x21, | |
3672 | + 0x08, 0x13, 0x40, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x40, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x40, | |
3673 | + 0x43, 0x1c, 0x07, 0x40, 0x4c, 0x07, 0x0c, 0x0c, 0x18, 0x20, 0x18, 0x20, 0x0b, 0x17, 0x40, | |
3674 | + 0x43, 0x17, 0x40, 0x43, 0x40, 0x40, 0x40, 0x0b, 0x0b, 0x0b, 0x40, 0x0f, 0x0b, 0x07, 0x07, | |
3675 | + 0x2c, 0x27, 0x1c, 0x07, 0x20, 0x1c, 0x18, 0x44, 0x1f, 0x13, 0x0b, 0x40, 0x0f, 0x0b, 0x07, | |
3676 | + 0x1c, 0x0b, 0x28, 0x1c, 0x1c, 0x0b, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, | |
3677 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x1d, 0x04, 0x47, 0x40, | |
3678 | + 0x02, 0x51, 0x5d, 0x2c, 0x40, 0x04, 0x40, 0x40, 0x41, 0x0f, 0x04, 0x16, 0x40, 0x14, 0x09, | |
3679 | + 0x16, 0x22, 0x3b, 0x3b, 0x07, 0x07, 0x03, 0x11, 0x0b, 0x18, 0x07, 0x42, 0x27, 0x21, 0x0b, | |
3680 | + 0x40, 0x44, 0x45, 0x40, 0x40, 0x40, 0x04, 0x04, 0x00, 0x05, 0x08, 0x05, 0x09, 0x11, 0x00, | |
3681 | + 0x42, 0x42, 0x16, 0x00, 0x47, 0x42, 0x42, 0x16, 0x15, 0x10, 0x19, 0x00, 0x05, 0x08, 0x05, | |
3682 | + 0x09, 0x11, 0x00, 0x42, 0x42, 0x16, 0x00, 0x47, 0x42, 0x42, 0x16, 0x15, 0x10, 0x19, 0x20, | |
3683 | + 0x43, 0x32, 0x40, 0x4c, 0x40, 0x04, 0x07, 0x04, 0x10, 0x10, 0x22, 0x08, 0x13, 0x41, 0x43, | |
3684 | + 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, | |
3685 | + 0x4c, 0x07, 0x0c, 0x0c, 0x18, 0x20, 0x18, 0x20, 0x0b, 0x17, 0x41, 0x43, 0x17, 0x41, 0x43, | |
3686 | + 0x40, 0x40, 0x40, 0x0a, 0x0b, 0x0b, 0x40, 0x0f, 0x0b, 0x06, 0x06, 0x2c, 0x27, 0x1c, 0x07, | |
3687 | + 0x20, 0x1c, 0x18, 0x44, 0x1d, 0x13, 0x0b, 0x40, 0x0f, 0x0b, 0x06, 0x1d, 0x0b, 0x29, 0x1d, | |
3688 | + 0x1d, 0x0b, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3689 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x1e, 0x04, 0x46, 0x40, 0x01, 0x51, 0x5e, 0x2c, | |
3690 | + 0x40, 0x04, 0x40, 0x40, 0x41, 0x0f, 0x04, 0x18, 0x40, 0x14, 0x0b, 0x18, 0x24, 0x3e, 0x3e, | |
3691 | + 0x07, 0x07, 0x03, 0x0f, 0x0b, 0x19, 0x07, 0x41, 0x27, 0x23, 0x0b, 0x40, 0x44, 0x46, 0x40, | |
3692 | + 0x40, 0x40, 0x04, 0x04, 0x01, 0x06, 0x09, 0x06, 0x0b, 0x13, 0x01, 0x41, 0x41, 0x18, 0x01, | |
3693 | + 0x46, 0x41, 0x41, 0x18, 0x16, 0x11, 0x1b, 0x01, 0x06, 0x09, 0x06, 0x0b, 0x13, 0x01, 0x41, | |
3694 | + 0x41, 0x18, 0x01, 0x46, 0x41, 0x41, 0x18, 0x16, 0x11, 0x1b, 0x21, 0x43, 0x34, 0x40, 0x4c, | |
3695 | + 0x40, 0x04, 0x07, 0x04, 0x11, 0x11, 0x24, 0x09, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x13, | |
3696 | + 0x41, 0x43, 0x1c, 0x07, 0x40, 0x13, 0x41, 0x43, 0x1c, 0x07, 0x40, 0x4c, 0x07, 0x0c, 0x0c, | |
3697 | + 0x19, 0x21, 0x19, 0x21, 0x0b, 0x17, 0x41, 0x43, 0x17, 0x41, 0x43, 0x40, 0x40, 0x40, 0x09, | |
3698 | + 0x0b, 0x0b, 0x40, 0x0f, 0x0b, 0x06, 0x06, 0x2c, 0x27, 0x1c, 0x07, 0x21, 0x1c, 0x19, 0x44, | |
3699 | + 0x1c, 0x13, 0x0b, 0x40, 0x0f, 0x0b, 0x06, 0x1e, 0x0b, 0x2b, 0x1e, 0x1e, 0x0b, 0x40, 0x40, | |
3700 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3701 | + 0x00, 0x07, 0x3e, 0x1f, 0x05, 0x45, 0x40, 0x00, 0x52, 0x5f, 0x2d, 0x40, 0x05, 0x40, 0x40, | |
3702 | + 0x42, 0x0f, 0x05, 0x19, 0x40, 0x15, 0x0c, 0x19, 0x26, 0x3e, 0x3e, 0x07, 0x07, 0x02, 0x0e, | |
3703 | + 0x0a, 0x1a, 0x07, 0x40, 0x27, 0x24, 0x0a, 0x40, 0x45, 0x47, 0x40, 0x40, 0x40, 0x05, 0x05, | |
3704 | + 0x02, 0x07, 0x0a, 0x07, 0x0c, 0x14, 0x02, 0x40, 0x40, 0x19, 0x02, 0x45, 0x40, 0x40, 0x19, | |
3705 | + 0x17, 0x12, 0x1c, 0x02, 0x07, 0x0a, 0x07, 0x0c, 0x14, 0x02, 0x40, 0x40, 0x19, 0x02, 0x45, | |
3706 | + 0x40, 0x40, 0x19, 0x17, 0x12, 0x1c, 0x22, 0x42, 0x36, 0x40, 0x4d, 0x40, 0x05, 0x07, 0x05, | |
3707 | + 0x12, 0x12, 0x26, 0x0a, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, | |
3708 | + 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x4d, 0x07, 0x0d, 0x0d, 0x1a, 0x22, 0x1a, 0x22, | |
3709 | + 0x0a, 0x17, 0x42, 0x42, 0x17, 0x42, 0x42, 0x40, 0x40, 0x40, 0x08, 0x0a, 0x0a, 0x40, 0x0f, | |
3710 | + 0x0a, 0x05, 0x05, 0x2d, 0x27, 0x1d, 0x07, 0x22, 0x1d, 0x1a, 0x45, 0x1b, 0x12, 0x0a, 0x40, | |
3711 | + 0x0f, 0x0a, 0x05, 0x1f, 0x0a, 0x2c, 0x1f, 0x1f, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3712 | + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x20, | |
3713 | + 0x05, 0x45, 0x40, 0x40, 0x52, 0x60, 0x2d, 0x40, 0x05, 0x40, 0x40, 0x42, 0x0f, 0x05, 0x1b, | |
3714 | + 0x40, 0x15, 0x0d, 0x1b, 0x28, 0x3e, 0x3e, 0x07, 0x07, 0x02, 0x0c, 0x0a, 0x1a, 0x07, 0x00, | |
3715 | + 0x27, 0x25, 0x0a, 0x40, 0x45, 0x48, 0x40, 0x40, 0x40, 0x05, 0x05, 0x02, 0x08, 0x0a, 0x08, | |
3716 | + 0x0d, 0x15, 0x02, 0x00, 0x00, 0x1b, 0x02, 0x45, 0x00, 0x00, 0x1b, 0x18, 0x12, 0x1d, 0x02, | |
3717 | + 0x08, 0x0a, 0x08, 0x0d, 0x15, 0x02, 0x00, 0x00, 0x1b, 0x02, 0x45, 0x00, 0x00, 0x1b, 0x18, | |
3718 | + 0x12, 0x1d, 0x22, 0x42, 0x38, 0x40, 0x4d, 0x40, 0x05, 0x07, 0x05, 0x12, 0x12, 0x28, 0x0a, | |
3719 | + 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x42, 0x42, | |
3720 | + 0x1d, 0x07, 0x40, 0x4d, 0x07, 0x0d, 0x0d, 0x1a, 0x22, 0x1a, 0x22, 0x0a, 0x17, 0x42, 0x42, | |
3721 | + 0x17, 0x42, 0x42, 0x40, 0x40, 0x40, 0x07, 0x0a, 0x0a, 0x40, 0x0f, 0x0a, 0x05, 0x05, 0x2d, | |
3722 | + 0x27, 0x1d, 0x07, 0x22, 0x1d, 0x1a, 0x45, 0x1a, 0x12, 0x0a, 0x40, 0x0f, 0x0a, 0x05, 0x20, | |
3723 | + 0x0a, 0x2d, 0x20, 0x20, 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, | |
3724 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x21, 0x05, 0x44, 0x40, 0x41, | |
3725 | + 0x53, 0x61, 0x2d, 0x40, 0x05, 0x40, 0x40, 0x43, 0x0f, 0x05, 0x1c, 0x40, 0x15, 0x0e, 0x1c, | |
3726 | + 0x2a, 0x3e, 0x3e, 0x07, 0x07, 0x02, 0x0b, 0x0a, 0x1b, 0x07, 0x01, 0x27, 0x26, 0x0a, 0x40, | |
3727 | + 0x45, 0x49, 0x40, 0x40, 0x40, 0x05, 0x05, 0x03, 0x09, 0x0b, 0x09, 0x0e, 0x16, 0x03, 0x01, | |
3728 | + 0x01, 0x1c, 0x03, 0x44, 0x01, 0x01, 0x1c, 0x19, 0x13, 0x1e, 0x03, 0x09, 0x0b, 0x09, 0x0e, | |
3729 | + 0x16, 0x03, 0x01, 0x01, 0x1c, 0x03, 0x44, 0x01, 0x01, 0x1c, 0x19, 0x13, 0x1e, 0x23, 0x42, | |
3730 | + 0x3a, 0x40, 0x4d, 0x40, 0x05, 0x07, 0x05, 0x13, 0x13, 0x2a, 0x0b, 0x12, 0x43, 0x42, 0x1d, | |
3731 | + 0x07, 0x40, 0x12, 0x43, 0x42, 0x1d, 0x07, 0x40, 0x12, 0x43, 0x42, 0x1d, 0x07, 0x40, 0x4d, | |
3732 | + 0x07, 0x0d, 0x0d, 0x1b, 0x23, 0x1b, 0x23, 0x0a, 0x17, 0x43, 0x42, 0x17, 0x43, 0x42, 0x40, | |
3733 | + 0x40, 0x40, 0x06, 0x0a, 0x0a, 0x40, 0x0f, 0x0a, 0x04, 0x04, 0x2d, 0x27, 0x1d, 0x07, 0x23, | |
3734 | + 0x1d, 0x1b, 0x45, 0x18, 0x12, 0x0a, 0x40, 0x0f, 0x0a, 0x04, 0x21, 0x0a, 0x2e, 0x21, 0x21, | |
3735 | + 0x0a, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3736 | + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x22, 0x06, 0x43, 0x40, 0x42, 0x54, 0x62, 0x2e, 0x40, | |
3737 | + 0x06, 0x40, 0x40, 0x44, 0x0f, 0x06, 0x1e, 0x40, 0x16, 0x10, 0x1e, 0x2c, 0x3e, 0x3e, 0x07, | |
3738 | + 0x07, 0x01, 0x09, 0x09, 0x1c, 0x07, 0x02, 0x27, 0x28, 0x09, 0x40, 0x46, 0x4a, 0x40, 0x40, | |
3739 | + 0x40, 0x06, 0x06, 0x04, 0x0a, 0x0c, 0x0a, 0x10, 0x18, 0x04, 0x02, 0x02, 0x1e, 0x04, 0x43, | |
3740 | + 0x02, 0x02, 0x1e, 0x1a, 0x14, 0x20, 0x04, 0x0a, 0x0c, 0x0a, 0x10, 0x18, 0x04, 0x02, 0x02, | |
3741 | + 0x1e, 0x04, 0x43, 0x02, 0x02, 0x1e, 0x1a, 0x14, 0x20, 0x24, 0x41, 0x3c, 0x40, 0x4e, 0x40, | |
3742 | + 0x06, 0x07, 0x06, 0x14, 0x14, 0x2c, 0x0c, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, | |
3743 | + 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x4e, 0x07, 0x0e, 0x0e, 0x1c, | |
3744 | + 0x24, 0x1c, 0x24, 0x09, 0x17, 0x44, 0x41, 0x17, 0x44, 0x41, 0x40, 0x40, 0x40, 0x05, 0x09, | |
3745 | + 0x09, 0x40, 0x0f, 0x09, 0x03, 0x03, 0x2e, 0x27, 0x1e, 0x07, 0x24, 0x1e, 0x1c, 0x46, 0x17, | |
3746 | + 0x11, 0x09, 0x40, 0x0f, 0x09, 0x03, 0x22, 0x09, 0x30, 0x22, 0x22, 0x09, 0x40, 0x40, 0x40, | |
3747 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3748 | + 0x07, 0x3e, 0x23, 0x06, 0x43, 0x40, 0x43, 0x54, 0x63, 0x2e, 0x40, 0x06, 0x40, 0x40, 0x44, | |
3749 | + 0x0f, 0x06, 0x1f, 0x40, 0x16, 0x11, 0x1f, 0x2e, 0x3e, 0x3e, 0x07, 0x07, 0x01, 0x08, 0x09, | |
3750 | + 0x1c, 0x07, 0x03, 0x27, 0x29, 0x09, 0x40, 0x46, 0x4b, 0x40, 0x40, 0x40, 0x06, 0x06, 0x04, | |
3751 | + 0x0b, 0x0c, 0x0b, 0x11, 0x19, 0x04, 0x03, 0x03, 0x1f, 0x04, 0x43, 0x03, 0x03, 0x1f, 0x1b, | |
3752 | + 0x14, 0x21, 0x04, 0x0b, 0x0c, 0x0b, 0x11, 0x19, 0x04, 0x03, 0x03, 0x1f, 0x04, 0x43, 0x03, | |
3753 | + 0x03, 0x1f, 0x1b, 0x14, 0x21, 0x24, 0x41, 0x3e, 0x40, 0x4e, 0x40, 0x06, 0x07, 0x06, 0x14, | |
3754 | + 0x14, 0x2e, 0x0c, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, | |
3755 | + 0x11, 0x44, 0x41, 0x1e, 0x07, 0x40, 0x4e, 0x07, 0x0e, 0x0e, 0x1c, 0x24, 0x1c, 0x24, 0x09, | |
3756 | + 0x17, 0x44, 0x41, 0x17, 0x44, 0x41, 0x40, 0x40, 0x40, 0x04, 0x09, 0x09, 0x40, 0x0f, 0x09, | |
3757 | + 0x03, 0x03, 0x2e, 0x27, 0x1e, 0x07, 0x24, 0x1e, 0x1c, 0x46, 0x16, 0x11, 0x09, 0x40, 0x0f, | |
3758 | + 0x09, 0x03, 0x23, 0x09, 0x31, 0x23, 0x23, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, | |
3759 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x24, 0x06, | |
3760 | + 0x42, 0x40, 0x44, 0x55, 0x64, 0x2e, 0x40, 0x06, 0x40, 0x40, 0x45, 0x0f, 0x06, 0x21, 0x40, | |
3761 | + 0x16, 0x12, 0x21, 0x30, 0x3e, 0x3e, 0x07, 0x07, 0x01, 0x06, 0x09, 0x1d, 0x07, 0x04, 0x27, | |
3762 | + 0x2a, 0x09, 0x40, 0x46, 0x4c, 0x40, 0x40, 0x40, 0x06, 0x06, 0x05, 0x0c, 0x0d, 0x0c, 0x12, | |
3763 | + 0x1a, 0x05, 0x04, 0x04, 0x21, 0x05, 0x42, 0x04, 0x04, 0x21, 0x1c, 0x15, 0x22, 0x05, 0x0c, | |
3764 | + 0x0d, 0x0c, 0x12, 0x1a, 0x05, 0x04, 0x04, 0x21, 0x05, 0x42, 0x04, 0x04, 0x21, 0x1c, 0x15, | |
3765 | + 0x22, 0x25, 0x41, 0x3e, 0x40, 0x4e, 0x40, 0x06, 0x07, 0x06, 0x15, 0x15, 0x30, 0x0d, 0x11, | |
3766 | + 0x45, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x45, 0x41, 0x1e, 0x07, 0x40, 0x11, 0x45, 0x41, 0x1e, | |
3767 | + 0x07, 0x40, 0x4e, 0x07, 0x0e, 0x0e, 0x1d, 0x25, 0x1d, 0x25, 0x09, 0x17, 0x45, 0x41, 0x17, | |
3768 | + 0x45, 0x41, 0x40, 0x40, 0x40, 0x03, 0x09, 0x09, 0x40, 0x0f, 0x09, 0x02, 0x02, 0x2e, 0x27, | |
3769 | + 0x1e, 0x07, 0x25, 0x1e, 0x1d, 0x46, 0x15, 0x11, 0x09, 0x40, 0x0f, 0x09, 0x02, 0x24, 0x09, | |
3770 | + 0x32, 0x24, 0x24, 0x09, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, | |
3771 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x24, 0x06, 0x42, 0x40, 0x45, 0x56, | |
3772 | + 0x65, 0x2e, 0x40, 0x06, 0x40, 0x40, 0x46, 0x0f, 0x06, 0x22, 0x40, 0x16, 0x13, 0x22, 0x31, | |
3773 | + 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x04, 0x08, 0x1d, 0x07, 0x04, 0x27, 0x2b, 0x08, 0x40, 0x47, | |
3774 | + 0x4d, 0x40, 0x40, 0x40, 0x06, 0x06, 0x05, 0x0c, 0x0d, 0x0c, 0x13, 0x1b, 0x05, 0x04, 0x04, | |
3775 | + 0x22, 0x05, 0x42, 0x04, 0x04, 0x22, 0x1c, 0x15, 0x23, 0x05, 0x0c, 0x0d, 0x0c, 0x13, 0x1b, | |
3776 | + 0x05, 0x04, 0x04, 0x22, 0x05, 0x42, 0x04, 0x04, 0x22, 0x1c, 0x15, 0x23, 0x25, 0x41, 0x3e, | |
3777 | + 0x40, 0x4f, 0x40, 0x06, 0x07, 0x06, 0x15, 0x15, 0x31, 0x0d, 0x10, 0x46, 0x41, 0x1e, 0x07, | |
3778 | + 0x40, 0x10, 0x46, 0x41, 0x1e, 0x07, 0x40, 0x10, 0x46, 0x41, 0x1e, 0x07, 0x40, 0x4f, 0x07, | |
3779 | + 0x0e, 0x0e, 0x1d, 0x25, 0x1d, 0x25, 0x08, 0x17, 0x46, 0x41, 0x17, 0x46, 0x41, 0x40, 0x40, | |
3780 | + 0x40, 0x02, 0x08, 0x08, 0x40, 0x0f, 0x08, 0x01, 0x01, 0x2e, 0x27, 0x1e, 0x07, 0x25, 0x1e, | |
3781 | + 0x1d, 0x47, 0x13, 0x10, 0x08, 0x40, 0x0f, 0x08, 0x01, 0x24, 0x08, 0x33, 0x24, 0x24, 0x08, | |
3782 | + 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3783 | + 0x00, 0x00, 0x00, 0x07, 0x3e, 0x25, 0x07, 0x41, 0x40, 0x45, 0x56, 0x65, 0x2f, 0x40, 0x07, | |
3784 | + 0x40, 0x40, 0x46, 0x0f, 0x07, 0x24, 0x40, 0x17, 0x15, 0x24, 0x33, 0x3e, 0x3e, 0x07, 0x07, | |
3785 | + 0x00, 0x03, 0x08, 0x1e, 0x07, 0x05, 0x27, 0x2d, 0x08, 0x40, 0x47, 0x4d, 0x40, 0x40, 0x40, | |
3786 | + 0x07, 0x07, 0x06, 0x0d, 0x0e, 0x0d, 0x15, 0x1d, 0x06, 0x05, 0x05, 0x24, 0x06, 0x41, 0x05, | |
3787 | + 0x05, 0x24, 0x1d, 0x16, 0x25, 0x06, 0x0d, 0x0e, 0x0d, 0x15, 0x1d, 0x06, 0x05, 0x05, 0x24, | |
3788 | + 0x06, 0x41, 0x05, 0x05, 0x24, 0x1d, 0x16, 0x25, 0x26, 0x40, 0x3e, 0x40, 0x4f, 0x40, 0x07, | |
3789 | + 0x07, 0x07, 0x16, 0x16, 0x33, 0x0e, 0x10, 0x46, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x46, 0x40, | |
3790 | + 0x1f, 0x07, 0x40, 0x10, 0x46, 0x40, 0x1f, 0x07, 0x40, 0x4f, 0x07, 0x0f, 0x0f, 0x1e, 0x26, | |
3791 | + 0x1e, 0x26, 0x08, 0x17, 0x46, 0x40, 0x17, 0x46, 0x40, 0x40, 0x40, 0x40, 0x02, 0x08, 0x08, | |
3792 | + 0x40, 0x0f, 0x08, 0x01, 0x01, 0x2f, 0x27, 0x1f, 0x07, 0x26, 0x1f, 0x1e, 0x47, 0x12, 0x10, | |
3793 | + 0x08, 0x40, 0x0f, 0x08, 0x01, 0x25, 0x08, 0x35, 0x25, 0x25, 0x08, 0x40, 0x40, 0x40, 0x40, | |
3794 | + 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, | |
3795 | + 0x3e, 0x26, 0x07, 0x40, 0x40, 0x46, 0x57, 0x66, 0x2f, 0x40, 0x07, 0x40, 0x40, 0x47, 0x0f, | |
3796 | + 0x07, 0x26, 0x40, 0x17, 0x16, 0x26, 0x35, 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x01, 0x08, 0x1f, | |
3797 | + 0x07, 0x06, 0x27, 0x2e, 0x08, 0x40, 0x47, 0x4e, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x0e, | |
3798 | + 0x0f, 0x0e, 0x16, 0x1e, 0x07, 0x06, 0x06, 0x26, 0x07, 0x40, 0x06, 0x06, 0x26, 0x1e, 0x17, | |
3799 | + 0x26, 0x07, 0x0e, 0x0f, 0x0e, 0x16, 0x1e, 0x07, 0x06, 0x06, 0x26, 0x07, 0x40, 0x06, 0x06, | |
3800 | + 0x26, 0x1e, 0x17, 0x26, 0x27, 0x40, 0x3e, 0x40, 0x4f, 0x40, 0x07, 0x07, 0x07, 0x17, 0x17, | |
3801 | + 0x35, 0x0f, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, | |
3802 | + 0x47, 0x40, 0x1f, 0x07, 0x40, 0x4f, 0x07, 0x0f, 0x0f, 0x1f, 0x27, 0x1f, 0x27, 0x08, 0x17, | |
3803 | + 0x47, 0x40, 0x17, 0x47, 0x40, 0x40, 0x40, 0x40, 0x01, 0x08, 0x08, 0x40, 0x0f, 0x08, 0x00, | |
3804 | + 0x00, 0x2f, 0x27, 0x1f, 0x07, 0x27, 0x1f, 0x1f, 0x47, 0x11, 0x10, 0x08, 0x40, 0x0f, 0x08, | |
3805 | + 0x00, 0x26, 0x08, 0x36, 0x26, 0x26, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, | |
3806 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x3e, 0x27, 0x07, 0x40, | |
3807 | + 0x40, 0x47, 0x57, 0x67, 0x2f, 0x40, 0x07, 0x40, 0x40, 0x47, 0x0f, 0x07, 0x27, 0x40, 0x17, | |
3808 | + 0x17, 0x27, 0x37, 0x3e, 0x3e, 0x07, 0x07, 0x00, 0x00, 0x08, 0x1f, 0x07, 0x07, 0x27, 0x2f, | |
3809 | + 0x08, 0x40, 0x47, 0x4f, 0x40, 0x40, 0x40, 0x07, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x17, 0x1f, | |
3810 | + 0x07, 0x07, 0x07, 0x27, 0x07, 0x40, 0x07, 0x07, 0x27, 0x1f, 0x17, 0x27, 0x07, 0x0f, 0x0f, | |
3811 | + 0x0f, 0x17, 0x1f, 0x07, 0x07, 0x07, 0x27, 0x07, 0x40, 0x07, 0x07, 0x27, 0x1f, 0x17, 0x27, | |
3812 | + 0x27, 0x40, 0x3e, 0x40, 0x4f, 0x40, 0x07, 0x07, 0x07, 0x17, 0x17, 0x37, 0x0f, 0x10, 0x47, | |
3813 | + 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, 0x40, 0x10, 0x47, 0x40, 0x1f, 0x07, | |
3814 | + 0x40, 0x4f, 0x07, 0x0f, 0x0f, 0x1f, 0x27, 0x1f, 0x27, 0x08, 0x17, 0x47, 0x40, 0x17, 0x47, | |
3815 | + 0x40, 0x40, 0x40, 0x40, 0x00, 0x08, 0x08, 0x40, 0x0f, 0x08, 0x00, 0x00, 0x2f, 0x27, 0x1f, | |
3816 | + 0x07, 0x27, 0x1f, 0x1f, 0x47, 0x10, 0x10, 0x08, 0x40, 0x0f, 0x08, 0x00, 0x27, 0x08, 0x37, | |
3817 | + 0x27, 0x27, 0x08, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3818 | + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | |
3819 | +}; | |
3820 | + | |
3821 | diff --git a/drivers/staging/media/rkvdec/rkvdec-hevc.c b/drivers/staging/media/rkvdec/rkvdec-hevc.c | |
3822 | new file mode 100644 | |
3823 | index 000000000000..d3802ba613ab | |
3824 | --- /dev/null | |
3825 | +++ b/drivers/staging/media/rkvdec/rkvdec-hevc.c | |
3826 | @@ -0,0 +1,910 @@ | |
3827 | +// SPDX-License-Identifier: GPL-2.0 | |
3828 | +/* | |
3829 | + * Rockchip Video Decoder HEVC backend | |
3830 | + * | |
3831 | + * Copyright (C) 2023 Collabora, Ltd. | |
3832 | + * Sebastian Fricke <sebastian.fricke@collabora.com> | |
3833 | + * | |
3834 | + * Copyright (C) 2019 Collabora, Ltd. | |
3835 | + * Boris Brezillon <boris.brezillon@collabora.com> | |
3836 | + * | |
3837 | + * Copyright (C) 2016 Rockchip Electronics Co., Ltd. | |
3838 | + * Jeffy Chen <jeffy.chen@rock-chips.com> | |
3839 | + */ | |
3840 | + | |
3841 | +#include <media/v4l2-mem2mem.h> | |
3842 | + | |
3843 | +#include "rkvdec.h" | |
3844 | +#include "rkvdec-regs.h" | |
3845 | +#include "rkvdec-hevc-data.c" | |
3846 | + | |
3847 | +/* Size in u8/u32 units. */ | |
3848 | +#define RKV_SCALING_LIST_SIZE 1360 | |
3849 | +#define SCALING_LIST_SIZE_NUM 4 | |
3850 | +#define RKV_PPS_SIZE (80 / 4) | |
3851 | +#define RKV_PPS_LEN 64 | |
3852 | +#define RKV_RPS_SIZE (32 / 4) | |
3853 | +#define RKV_RPS_LEN 600 | |
3854 | +#define RKV_PPS_MAX_COLUMNS 20 | |
3855 | +#define RKV_PPS_MAX_ROWS 22 | |
3856 | +#define RKV_RPS_MAX_REFERENCES 15 | |
3857 | +#define RKV_MAX_DEPTH_IN_BYTES 2 | |
3858 | + | |
3859 | +struct rkvdec_sps_pps_packet { | |
3860 | + u32 info[RKV_PPS_SIZE]; | |
3861 | +}; | |
3862 | + | |
3863 | +struct rkvdec_rps_packet { | |
3864 | + u32 info[RKV_RPS_SIZE]; | |
3865 | +}; | |
3866 | + | |
3867 | +struct rkvdec_ps_field { | |
3868 | + u16 offset; | |
3869 | + u8 len; | |
3870 | +}; | |
3871 | + | |
3872 | +#define PS_FIELD(_offset, _len) \ | |
3873 | + ((struct rkvdec_ps_field){ _offset, _len }) | |
3874 | + | |
3875 | +/* SPS */ | |
3876 | +#define VIDEO_PARAMETER_SET_ID PS_FIELD(0, 4) | |
3877 | +#define SEQ_PARAMETER_SET_ID PS_FIELD(4, 4) | |
3878 | +#define CHROMA_FORMAT_IDC PS_FIELD(8, 2) | |
3879 | +#define PIC_WIDTH_IN_LUMA_SAMPLES PS_FIELD(10, 13) | |
3880 | +#define PIC_HEIGHT_IN_LUMA_SAMPLES PS_FIELD(23, 13) | |
3881 | +#define BIT_DEPTH_LUMA PS_FIELD(36, 4) | |
3882 | +#define BIT_DEPTH_CHROMA PS_FIELD(40, 4) | |
3883 | +#define LOG2_MAX_PIC_ORDER_CNT_LSB PS_FIELD(44, 5) | |
3884 | +#define LOG2_DIFF_MAX_MIN_LUMA_CODING_BLOCK_SIZE PS_FIELD(49, 2) | |
3885 | +#define LOG2_MIN_LUMA_CODING_BLOCK_SIZE PS_FIELD(51, 3) | |
3886 | +#define LOG2_MIN_TRANSFORM_BLOCK_SIZE PS_FIELD(54, 3) | |
3887 | +#define LOG2_DIFF_MAX_MIN_LUMA_TRANSFORM_BLOCK_SIZE PS_FIELD(57, 2) | |
3888 | +#define MAX_TRANSFORM_HIERARCHY_DEPTH_INTER PS_FIELD(59, 3) | |
3889 | +#define MAX_TRANSFORM_HIERARCHY_DEPTH_INTRA PS_FIELD(62, 3) | |
3890 | +#define SCALING_LIST_ENABLED_FLAG PS_FIELD(65, 1) | |
3891 | +#define AMP_ENABLED_FLAG PS_FIELD(66, 1) | |
3892 | +#define SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG PS_FIELD(67, 1) | |
3893 | +#define PCM_ENABLED_FLAG PS_FIELD(68, 1) | |
3894 | +#define PCM_SAMPLE_BIT_DEPTH_LUMA PS_FIELD(69, 4) | |
3895 | +#define PCM_SAMPLE_BIT_DEPTH_CHROMA PS_FIELD(73, 4) | |
3896 | +#define PCM_LOOP_FILTER_DISABLED_FLAG PS_FIELD(77, 1) | |
3897 | +#define LOG2_DIFF_MAX_MIN_PCM_LUMA_CODING_BLOCK_SIZE PS_FIELD(78, 3) | |
3898 | +#define LOG2_MIN_PCM_LUMA_CODING_BLOCK_SIZE PS_FIELD(81, 3) | |
3899 | +#define NUM_SHORT_TERM_REF_PIC_SETS PS_FIELD(84, 7) | |
3900 | +#define LONG_TERM_REF_PICS_PRESENT_FLAG PS_FIELD(91, 1) | |
3901 | +#define NUM_LONG_TERM_REF_PICS_SPS PS_FIELD(92, 6) | |
3902 | +#define SPS_TEMPORAL_MVP_ENABLED_FLAG PS_FIELD(98, 1) | |
3903 | +#define STRONG_INTRA_SMOOTHING_ENABLED_FLAG PS_FIELD(99, 1) | |
3904 | +#define PPS_MBZ_1 PS_FIELD(100, 7) | |
3905 | +#define PPS_MBO_1 PS_FIELD(107, 21) | |
3906 | +/* PPS */ | |
3907 | +#define PIC_PARAMETER_SET_ID PS_FIELD(128, 6) | |
3908 | +#define PPS_SEQ_PARAMETER_SET_ID PS_FIELD(134, 4) | |
3909 | +#define DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG PS_FIELD(138, 1) | |
3910 | +#define OUTPUT_FLAG_PRESENT_FLAG PS_FIELD(139, 1) | |
3911 | +#define NUM_EXTRA_SLICE_HEADER_BITS PS_FIELD(140, 13) | |
3912 | +#define SIGN_DATA_HIDING_ENABLED_FLAG PS_FIELD(153, 1) | |
3913 | +#define CABAC_INIT_PRESENT_FLAG PS_FIELD(154, 1) | |
3914 | +#define NUM_REF_IDX_L0_DEFAULT_ACTIVE PS_FIELD(155, 4) | |
3915 | +#define NUM_REF_IDX_L1_DEFAULT_ACTIVE PS_FIELD(159, 4) | |
3916 | +#define INIT_QP_MINUS26 PS_FIELD(163, 7) | |
3917 | +#define CONSTRAINED_INTRA_PRED_FLAG PS_FIELD(170, 1) | |
3918 | +#define TRANSFORM_SKIP_ENABLED_FLAG PS_FIELD(171, 1) | |
3919 | +#define CU_QP_DELTA_ENABLED_FLAG PS_FIELD(172, 1) | |
3920 | +#define LOG2_MIN_CU_QP_DELTA_SIZE PS_FIELD(173, 3) | |
3921 | +#define PPS_CB_QP_OFFSET PS_FIELD(176, 5) | |
3922 | +#define PPS_CR_QP_OFFSET PS_FIELD(181, 5) | |
3923 | +#define PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG PS_FIELD(186, 1) | |
3924 | +#define WEIGHTED_PRED_FLAG PS_FIELD(187, 1) | |
3925 | +#define WEIGHTED_BIPRED_FLAG PS_FIELD(188, 1) | |
3926 | +#define TRANSQUANT_BYPASS_ENABLED_FLAG PS_FIELD(189, 1) | |
3927 | +#define TILES_ENABLED_FLAG PS_FIELD(190, 1) | |
3928 | +#define ENTROPY_CODING_SYNC_ENABLED_FLAG PS_FIELD(191, 1) | |
3929 | +#define PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG PS_FIELD(192, 1) | |
3930 | +#define LOOP_FILTER_ACROSS_TILES_ENABLED_FLAG PS_FIELD(193, 1) | |
3931 | +#define DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG PS_FIELD(194, 1) | |
3932 | +#define PPS_DEBLOCKING_FILTER_DISABLED_FLAG PS_FIELD(195, 1) | |
3933 | +#define PPS_BETA_OFFSET_DIV2 PS_FIELD(196, 4) | |
3934 | +#define PPS_TC_OFFSET_DIV2 PS_FIELD(200, 4) | |
3935 | +#define LISTS_MODIFICATION_PRESENT_FLAG PS_FIELD(204, 1) | |
3936 | +#define LOG2_PARALLEL_MERGE_LEVEL PS_FIELD(205, 3) | |
3937 | +#define SLICE_SEGMENT_HEADER_EXTENSION_PRESENT_FLAG PS_FIELD(208, 1) | |
3938 | +#define PPS_MBZ_2 PS_FIELD(209, 3) | |
3939 | +#define NUM_TILE_COLUMNS PS_FIELD(212, 5) | |
3940 | +#define NUM_TILE_ROWS PS_FIELD(217, 5) | |
3941 | +#define PPS_M_MODE PS_FIELD(222, 2) | |
3942 | +#define PPS_MBO_2 PS_FIELD(224, 30) | |
3943 | +#define COLUMN_WIDTH(i) PS_FIELD(256 + ((i) * 8), 8) | |
3944 | +#define ROW_HEIGHT(i) PS_FIELD(416 + ((i) * 8), 8) | |
3945 | +#define SCALING_LIST_ADDRESS PS_FIELD(592, 32) | |
3946 | +#define PPS_MBO_3 PS_FIELD(624, 16) | |
3947 | + | |
3948 | +/* Data structure describing auxiliary buffer format. */ | |
3949 | +struct rkvdec_hevc_priv_tbl { | |
3950 | + u8 cabac_table[RKV_CABAC_TABLE_SIZE]; | |
3951 | + u8 scaling_list[RKV_SCALING_LIST_SIZE]; | |
3952 | + struct rkvdec_sps_pps_packet param_set[RKV_PPS_LEN]; | |
3953 | + struct rkvdec_rps_packet rps[RKV_RPS_LEN]; | |
3954 | +}; | |
3955 | + | |
3956 | +struct rkvdec_hevc_run { | |
3957 | + struct rkvdec_run base; | |
3958 | + const struct v4l2_ctrl_hevc_slice_params *slices_params; | |
3959 | + const struct v4l2_ctrl_hevc_decode_params *decode_params; | |
3960 | + const struct v4l2_ctrl_hevc_sps *sps; | |
3961 | + const struct v4l2_ctrl_hevc_pps *pps; | |
3962 | + const struct v4l2_ctrl_hevc_scaling_matrix *scaling_matrix; | |
3963 | + int num_slices; | |
3964 | +}; | |
3965 | + | |
3966 | +struct rkvdec_hevc_ctx { | |
3967 | + struct rkvdec_aux_buf priv_tbl; | |
3968 | + struct v4l2_ctrl_hevc_scaling_matrix scaling_matrix_cache; | |
3969 | +}; | |
3970 | + | |
3971 | +struct scaling_factor { | |
3972 | + u8 scalingfactor0[1248]; | |
3973 | + u8 scalingfactor1[96]; /*4X4 TU Rotate, total 16X4*/ | |
3974 | + u8 scalingdc[12]; /*N1005 Vienna Meeting*/ | |
3975 | + u8 reserved[4]; /*16Bytes align*/ | |
3976 | +}; | |
3977 | + | |
3978 | +static void set_ps_field(u32 *buf, struct rkvdec_ps_field field, u32 value) | |
3979 | +{ | |
3980 | + u8 bit = field.offset % 32, word = field.offset / 32; | |
3981 | + u64 mask = GENMASK_ULL(bit + field.len - 1, bit); | |
3982 | + u64 val = ((u64)value << bit) & mask; | |
3983 | + | |
3984 | + buf[word] &= ~mask; | |
3985 | + buf[word] |= val; | |
3986 | + if (bit + field.len > 32) { | |
3987 | + buf[word + 1] &= ~(mask >> 32); | |
3988 | + buf[word + 1] |= val >> 32; | |
3989 | + } | |
3990 | +} | |
3991 | + | |
3992 | +static void assemble_hw_pps(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run) | |
3993 | +{ | |
3994 | + struct rkvdec_hevc_ctx *hevc_ctx = ctx->priv; | |
3995 | + const struct v4l2_ctrl_hevc_sps *sps = run->sps; | |
3996 | + const struct v4l2_ctrl_hevc_pps *pps = run->pps; | |
3997 | + struct rkvdec_hevc_priv_tbl *priv_tbl = hevc_ctx->priv_tbl.cpu; | |
3998 | + struct rkvdec_sps_pps_packet *hw_ps; | |
3999 | + u8 pcm_enabled = 0; | |
4000 | + u32 min_cb_log2_size_y, ctb_log2_size_y, ctb_size_y; | |
4001 | + u32 width, height, max_min_cb_size, x, pic_in_cts_width, pic_in_cts_height; | |
4002 | + u32 log2_min_cu_qp_delta_size, scaling_distance; | |
4003 | + dma_addr_t scaling_list_address; | |
4004 | + int i; | |
4005 | + u32 tmp_w = 0; | |
4006 | + u32 prev_w = 0; | |
4007 | + u32 tmp_h = 0; | |
4008 | + u32 prev_h = 0; | |
4009 | + u16 column_width[RKV_PPS_MAX_COLUMNS] = {0}; | |
4010 | + u16 row_height[RKV_PPS_MAX_ROWS] = {0}; | |
4011 | + | |
4012 | + /* | |
4013 | + * HW read the SPS/PPS information from PPS packet index by PPS id. | |
4014 | + * offset from the base can be calculated by PPS_id * 80 (size per PPS | |
4015 | + * packet unit). so the driver copy SPS/PPS information to the exact PPS | |
4016 | + * packet unit for HW accessing. | |
4017 | + */ | |
4018 | + hw_ps = &priv_tbl->param_set[pps->pic_parameter_set_id]; | |
4019 | + memset(hw_ps, 0, sizeof(*hw_ps)); | |
4020 | + | |
4021 | + min_cb_log2_size_y = sps->log2_min_luma_coding_block_size_minus3 + 3; | |
4022 | + width = sps->pic_width_in_luma_samples; | |
4023 | + height = sps->pic_height_in_luma_samples; | |
4024 | + max_min_cb_size = sps->log2_diff_max_min_luma_coding_block_size; | |
4025 | + | |
4026 | +#define WRITE_PPS(value, field) set_ps_field(hw_ps->info, field, value) | |
4027 | + /* write sps */ | |
4028 | + WRITE_PPS(sps->video_parameter_set_id, VIDEO_PARAMETER_SET_ID); | |
4029 | + WRITE_PPS(sps->seq_parameter_set_id, SEQ_PARAMETER_SET_ID); | |
4030 | + WRITE_PPS(sps->chroma_format_idc, CHROMA_FORMAT_IDC); | |
4031 | + WRITE_PPS(sps->pic_width_in_luma_samples, PIC_WIDTH_IN_LUMA_SAMPLES); | |
4032 | + WRITE_PPS(sps->pic_height_in_luma_samples, PIC_HEIGHT_IN_LUMA_SAMPLES); | |
4033 | + WRITE_PPS(sps->bit_depth_luma_minus8 + 8, BIT_DEPTH_LUMA); | |
4034 | + WRITE_PPS(sps->bit_depth_chroma_minus8 + 8, BIT_DEPTH_CHROMA); | |
4035 | + WRITE_PPS(sps->log2_max_pic_order_cnt_lsb_minus4 + 4, | |
4036 | + LOG2_MAX_PIC_ORDER_CNT_LSB); | |
4037 | + WRITE_PPS(sps->log2_diff_max_min_luma_coding_block_size, | |
4038 | + LOG2_DIFF_MAX_MIN_LUMA_CODING_BLOCK_SIZE); | |
4039 | + WRITE_PPS(sps->log2_min_luma_coding_block_size_minus3 + 3, | |
4040 | + LOG2_MIN_LUMA_CODING_BLOCK_SIZE); | |
4041 | + WRITE_PPS(sps->log2_min_luma_transform_block_size_minus2 + 2, | |
4042 | + LOG2_MIN_TRANSFORM_BLOCK_SIZE); | |
4043 | + WRITE_PPS(sps->log2_diff_max_min_luma_transform_block_size, | |
4044 | + LOG2_DIFF_MAX_MIN_LUMA_TRANSFORM_BLOCK_SIZE); | |
4045 | + WRITE_PPS(sps->max_transform_hierarchy_depth_inter, | |
4046 | + MAX_TRANSFORM_HIERARCHY_DEPTH_INTER); | |
4047 | + WRITE_PPS(sps->max_transform_hierarchy_depth_intra, | |
4048 | + MAX_TRANSFORM_HIERARCHY_DEPTH_INTRA); | |
4049 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED), | |
4050 | + SCALING_LIST_ENABLED_FLAG); | |
4051 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_AMP_ENABLED), | |
4052 | + AMP_ENABLED_FLAG); | |
4053 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_SAMPLE_ADAPTIVE_OFFSET), | |
4054 | + SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG); | |
4055 | + pcm_enabled = !!(sps->flags & V4L2_HEVC_SPS_FLAG_PCM_ENABLED); | |
4056 | + WRITE_PPS(pcm_enabled, PCM_ENABLED_FLAG); | |
4057 | + WRITE_PPS(pcm_enabled ? sps->pcm_sample_bit_depth_luma_minus1 + 1 : 0, | |
4058 | + PCM_SAMPLE_BIT_DEPTH_LUMA); | |
4059 | + WRITE_PPS(pcm_enabled ? sps->pcm_sample_bit_depth_chroma_minus1 + 1 : 0, | |
4060 | + PCM_SAMPLE_BIT_DEPTH_CHROMA); | |
4061 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_PCM_LOOP_FILTER_DISABLED), | |
4062 | + PCM_LOOP_FILTER_DISABLED_FLAG); | |
4063 | + WRITE_PPS(sps->log2_diff_max_min_pcm_luma_coding_block_size, | |
4064 | + LOG2_DIFF_MAX_MIN_PCM_LUMA_CODING_BLOCK_SIZE); | |
4065 | + WRITE_PPS(pcm_enabled ? sps->log2_min_pcm_luma_coding_block_size_minus3 + 3 : 0, | |
4066 | + LOG2_MIN_PCM_LUMA_CODING_BLOCK_SIZE); | |
4067 | + WRITE_PPS(sps->num_short_term_ref_pic_sets, NUM_SHORT_TERM_REF_PIC_SETS); | |
4068 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_LONG_TERM_REF_PICS_PRESENT), | |
4069 | + LONG_TERM_REF_PICS_PRESENT_FLAG); | |
4070 | + WRITE_PPS(sps->num_long_term_ref_pics_sps, NUM_LONG_TERM_REF_PICS_SPS); | |
4071 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_SPS_TEMPORAL_MVP_ENABLED), | |
4072 | + SPS_TEMPORAL_MVP_ENABLED_FLAG); | |
4073 | + WRITE_PPS(!!(sps->flags & V4L2_HEVC_SPS_FLAG_STRONG_INTRA_SMOOTHING_ENABLED), | |
4074 | + STRONG_INTRA_SMOOTHING_ENABLED_FLAG); | |
4075 | + WRITE_PPS(0, PPS_MBZ_1); | |
4076 | + WRITE_PPS(0x1fffff, PPS_MBO_1); | |
4077 | + | |
4078 | + /* write pps */ | |
4079 | + WRITE_PPS(pps->pic_parameter_set_id, PIC_PARAMETER_SET_ID); | |
4080 | + WRITE_PPS(sps->seq_parameter_set_id, PPS_SEQ_PARAMETER_SET_ID); | |
4081 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_DEPENDENT_SLICE_SEGMENT_ENABLED), | |
4082 | + DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG); | |
4083 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_OUTPUT_FLAG_PRESENT), | |
4084 | + OUTPUT_FLAG_PRESENT_FLAG); | |
4085 | + WRITE_PPS(pps->num_extra_slice_header_bits, NUM_EXTRA_SLICE_HEADER_BITS); | |
4086 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_SIGN_DATA_HIDING_ENABLED), | |
4087 | + SIGN_DATA_HIDING_ENABLED_FLAG); | |
4088 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_CABAC_INIT_PRESENT), | |
4089 | + CABAC_INIT_PRESENT_FLAG); | |
4090 | + WRITE_PPS(pps->num_ref_idx_l0_default_active_minus1 + 1, | |
4091 | + NUM_REF_IDX_L0_DEFAULT_ACTIVE); | |
4092 | + WRITE_PPS(pps->num_ref_idx_l1_default_active_minus1 + 1, | |
4093 | + NUM_REF_IDX_L1_DEFAULT_ACTIVE); | |
4094 | + WRITE_PPS(pps->init_qp_minus26, INIT_QP_MINUS26); | |
4095 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_CONSTRAINED_INTRA_PRED), | |
4096 | + CONSTRAINED_INTRA_PRED_FLAG); | |
4097 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_TRANSFORM_SKIP_ENABLED), | |
4098 | + TRANSFORM_SKIP_ENABLED_FLAG); | |
4099 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_CU_QP_DELTA_ENABLED), | |
4100 | + CU_QP_DELTA_ENABLED_FLAG); | |
4101 | + | |
4102 | + ctb_log2_size_y = min_cb_log2_size_y + | |
4103 | + sps->log2_diff_max_min_luma_coding_block_size; | |
4104 | + ctb_size_y = 1 << ctb_log2_size_y; | |
4105 | + log2_min_cu_qp_delta_size = ctb_log2_size_y - pps->diff_cu_qp_delta_depth; | |
4106 | + WRITE_PPS(log2_min_cu_qp_delta_size, LOG2_MIN_CU_QP_DELTA_SIZE); | |
4107 | + WRITE_PPS(pps->pps_cb_qp_offset, PPS_CB_QP_OFFSET); | |
4108 | + WRITE_PPS(pps->pps_cr_qp_offset, PPS_CR_QP_OFFSET); | |
4109 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT), | |
4110 | + PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG); | |
4111 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_WEIGHTED_PRED), | |
4112 | + WEIGHTED_PRED_FLAG); | |
4113 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_WEIGHTED_BIPRED), | |
4114 | + WEIGHTED_BIPRED_FLAG); | |
4115 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_TRANSQUANT_BYPASS_ENABLED), | |
4116 | + TRANSQUANT_BYPASS_ENABLED_FLAG); | |
4117 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_TILES_ENABLED), | |
4118 | + TILES_ENABLED_FLAG); | |
4119 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_ENTROPY_CODING_SYNC_ENABLED), | |
4120 | + ENTROPY_CODING_SYNC_ENABLED_FLAG); | |
4121 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED), | |
4122 | + PPS_LOOP_FILTER_ACROSS_SLICES_ENABLED_FLAG); | |
4123 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED), | |
4124 | + LOOP_FILTER_ACROSS_TILES_ENABLED_FLAG); | |
4125 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_OVERRIDE_ENABLED), | |
4126 | + DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG); | |
4127 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER), | |
4128 | + PPS_DEBLOCKING_FILTER_DISABLED_FLAG); | |
4129 | + WRITE_PPS(pps->pps_beta_offset_div2, PPS_BETA_OFFSET_DIV2); | |
4130 | + WRITE_PPS(pps->pps_tc_offset_div2, PPS_TC_OFFSET_DIV2); | |
4131 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT), | |
4132 | + LISTS_MODIFICATION_PRESENT_FLAG); | |
4133 | + WRITE_PPS(pps->log2_parallel_merge_level_minus2 + 2, LOG2_PARALLEL_MERGE_LEVEL); | |
4134 | + WRITE_PPS(!!(pps->flags & V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT), | |
4135 | + SLICE_SEGMENT_HEADER_EXTENSION_PRESENT_FLAG); | |
4136 | + WRITE_PPS(0, PPS_MBZ_2); | |
4137 | + WRITE_PPS(pps->num_tile_columns_minus1 + 1, NUM_TILE_COLUMNS); | |
4138 | + WRITE_PPS(pps->num_tile_rows_minus1 + 1, NUM_TILE_ROWS); | |
4139 | + WRITE_PPS(3, PPS_M_MODE); | |
4140 | + WRITE_PPS(0x3fffffff, PPS_MBO_2); | |
4141 | + | |
4142 | + if (pps->flags & V4L2_HEVC_PPS_FLAG_TILES_ENABLED) { | |
4143 | + if (pps->flags & V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING) { | |
4144 | + x = 1 << (min_cb_log2_size_y + max_min_cb_size); | |
4145 | + pic_in_cts_width = (width + x - 1) / (x); | |
4146 | + pic_in_cts_height = (height + x - 1) / (x); | |
4147 | + for (i = 0; i <= pps->num_tile_columns_minus1; i++) { | |
4148 | + tmp_w = ((i + 1) * pic_in_cts_width) / | |
4149 | + (pps->num_tile_columns_minus1 + 1); | |
4150 | + column_width[i] = tmp_w - prev_w - 1; | |
4151 | + prev_w = tmp_w; | |
4152 | + } | |
4153 | + for (i = 0; i <= pps->num_tile_rows_minus1; i++) { | |
4154 | + tmp_h = ((i + 1) * pic_in_cts_height) / | |
4155 | + (pps->num_tile_rows_minus1 + 1); | |
4156 | + row_height[i] = tmp_h - prev_h - 1; | |
4157 | + prev_h = tmp_h; | |
4158 | + } | |
4159 | + } else { | |
4160 | + for (i = 0; i <= pps->num_tile_columns_minus1; i++) | |
4161 | + column_width[i] = pps->column_width_minus1[i]; | |
4162 | + for (i = 0; i <= pps->num_tile_rows_minus1; i++) | |
4163 | + row_height[i] = pps->row_height_minus1[i]; | |
4164 | + } | |
4165 | + } else { | |
4166 | + column_width[0] = | |
4167 | + ((sps->pic_width_in_luma_samples + ctb_size_y - 1) / ctb_size_y) - 1; | |
4168 | + row_height[0] = | |
4169 | + ((sps->pic_height_in_luma_samples + ctb_size_y - 1) / ctb_size_y) - 1; | |
4170 | + } | |
4171 | + | |
4172 | + for (i = 0; i < RKV_PPS_MAX_COLUMNS; i++) | |
4173 | + WRITE_PPS(column_width[i], COLUMN_WIDTH(i)); | |
4174 | + for (i = 0; i < RKV_PPS_MAX_ROWS; i++) | |
4175 | + WRITE_PPS(row_height[i], ROW_HEIGHT(i)); | |
4176 | + | |
4177 | + scaling_distance = offsetof(struct rkvdec_hevc_priv_tbl, scaling_list); | |
4178 | + scaling_list_address = hevc_ctx->priv_tbl.dma + scaling_distance; | |
4179 | + WRITE_PPS(scaling_list_address, SCALING_LIST_ADDRESS); | |
4180 | + WRITE_PPS(0xffff, PPS_MBO_3); | |
4181 | +} | |
4182 | + | |
4183 | +/* | |
4184 | + * Creation of the Reference Picture Set memory blob for the hardware. | |
4185 | + * The layout looks like this: | |
4186 | + * [0] 32 bits for L0 (6 references + 2 bits of the 7th reference) | |
4187 | + * [1] 32 bits for L0 (remaining 3 bits of the 7th reference + 5 references | |
4188 | + * + 4 bits of the 13th reference) | |
4189 | + * [2] 11 bits for L0 (remaining bit for 13 and 2 references) and | |
4190 | + * 21 bits for L1 (4 references + first bit of 5) | |
4191 | + * [3] 32 bits of padding with 0s | |
4192 | + * [4] 32 bits for L1 (remaining 4 bits for 5 + 5 references + 3 bits of 11) | |
4193 | + * [5] 22 bits for L1 (remaining 2 bits of 11 and 4 references) | |
4194 | + * lowdelay flag (bit 23), rps bit offset long term (bit 24 - 32) | |
4195 | + * [6] rps bit offset long term (bit 1 - 3), rps bit offset short term (bit 4 - 12) | |
4196 | + * number of references (bit 13 - 16), remaining 16 bits of padding with 0s | |
4197 | + * [7] 32 bits of padding with 0s | |
4198 | + * | |
4199 | + * Thus we have to set up padding in between reference 5 of the L1 list. | |
4200 | + */ | |
4201 | +static void assemble_hw_rps(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run) | |
4202 | +{ | |
4203 | + const struct v4l2_ctrl_hevc_decode_params *decode_params = run->decode_params; | |
4204 | + const struct v4l2_ctrl_hevc_sps *sps = run->sps; | |
4205 | + const struct v4l2_ctrl_hevc_slice_params *sl_params; | |
4206 | + const struct v4l2_hevc_dpb_entry *dpb; | |
4207 | + struct rkvdec_hevc_ctx *hevc_ctx = ctx->priv; | |
4208 | + struct rkvdec_hevc_priv_tbl *priv_tbl = hevc_ctx->priv_tbl.cpu; | |
4209 | + struct rkvdec_rps_packet *hw_ps; | |
4210 | + int i, j; | |
4211 | + unsigned int lowdelay; | |
4212 | + | |
4213 | +#define WRITE_RPS(value, field) set_ps_field(hw_ps->info, field, value) | |
4214 | + | |
4215 | +#define REF_PIC_LONG_TERM_L0(i) PS_FIELD((i) * 5, 1) | |
4216 | +#define REF_PIC_IDX_L0(i) PS_FIELD(1 + ((i) * 5), 4) | |
4217 | +#define REF_PIC_LONG_TERM_L1(i) PS_FIELD(((i) < 5 ? 75 : 132) + ((i) * 5), 1) | |
4218 | +#define REF_PIC_IDX_L1(i) PS_FIELD(((i) < 4 ? 76 : 128) + ((i) * 5), 4) | |
4219 | + | |
4220 | +#define LOWDELAY PS_FIELD(182, 1) | |
4221 | +#define LONG_TERM_RPS_BIT_OFFSET PS_FIELD(183, 10) | |
4222 | +#define SHORT_TERM_RPS_BIT_OFFSET PS_FIELD(193, 9) | |
4223 | +#define NUM_RPS_POC PS_FIELD(202, 4) | |
4224 | + | |
4225 | + for (j = 0; j < run->num_slices; j++) { | |
4226 | + uint st_bit_offset = 0; | |
4227 | + uint num_l0_refs = 0; | |
4228 | + uint num_l1_refs = 0; | |
4229 | + | |
4230 | + sl_params = &run->slices_params[j]; | |
4231 | + dpb = decode_params->dpb; | |
4232 | + | |
4233 | + if (sl_params->slice_type != V4L2_HEVC_SLICE_TYPE_I) { | |
4234 | + num_l0_refs = sl_params->num_ref_idx_l0_active_minus1 + 1; | |
4235 | + | |
4236 | + if (sl_params->slice_type == V4L2_HEVC_SLICE_TYPE_B) | |
4237 | + num_l1_refs = sl_params->num_ref_idx_l1_active_minus1 + 1; | |
4238 | + | |
4239 | + lowdelay = 1; | |
4240 | + } else { | |
4241 | + lowdelay = 0; | |
4242 | + } | |
4243 | + | |
4244 | + hw_ps = &priv_tbl->rps[j]; | |
4245 | + memset(hw_ps, 0, sizeof(*hw_ps)); | |
4246 | + | |
4247 | + for (i = 0; i < num_l0_refs; i++) { | |
4248 | + const struct v4l2_hevc_dpb_entry dpb_l0 = dpb[sl_params->ref_idx_l0[i]]; | |
4249 | + | |
4250 | + WRITE_RPS(!!(dpb_l0.flags & V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE), | |
4251 | + REF_PIC_LONG_TERM_L0(i)); | |
4252 | + WRITE_RPS(sl_params->ref_idx_l0[i], REF_PIC_IDX_L0(i)); | |
4253 | + | |
4254 | + if (dpb_l0.pic_order_cnt_val > sl_params->slice_pic_order_cnt) | |
4255 | + lowdelay = 0; | |
4256 | + } | |
4257 | + | |
4258 | + for (i = 0; i < num_l1_refs; i++) { | |
4259 | + const struct v4l2_hevc_dpb_entry dpb_l1 = dpb[sl_params->ref_idx_l1[i]]; | |
4260 | + int is_long_term = | |
4261 | + !!(dpb_l1.flags & V4L2_HEVC_DPB_ENTRY_LONG_TERM_REFERENCE); | |
4262 | + | |
4263 | + WRITE_RPS(is_long_term, REF_PIC_LONG_TERM_L1(i)); | |
4264 | + WRITE_RPS(sl_params->ref_idx_l1[i], REF_PIC_IDX_L1(i)); | |
4265 | + | |
4266 | + if (dpb_l1.pic_order_cnt_val > sl_params->slice_pic_order_cnt) | |
4267 | + lowdelay = 0; | |
4268 | + } | |
4269 | + | |
4270 | + WRITE_RPS(lowdelay, LOWDELAY); | |
4271 | + | |
4272 | + if (!(decode_params->flags & V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC)) { | |
4273 | + if (sl_params->short_term_ref_pic_set_size) | |
4274 | + st_bit_offset = sl_params->short_term_ref_pic_set_size; | |
4275 | + else if (sps->num_short_term_ref_pic_sets > 1) | |
4276 | + st_bit_offset = fls(sps->num_short_term_ref_pic_sets - 1); | |
4277 | + } | |
4278 | + | |
4279 | + WRITE_RPS(st_bit_offset + sl_params->long_term_ref_pic_set_size, | |
4280 | + LONG_TERM_RPS_BIT_OFFSET); | |
4281 | + WRITE_RPS(sl_params->short_term_ref_pic_set_size, | |
4282 | + SHORT_TERM_RPS_BIT_OFFSET); | |
4283 | + | |
4284 | + WRITE_RPS(decode_params->num_poc_st_curr_before + | |
4285 | + decode_params->num_poc_st_curr_after + | |
4286 | + decode_params->num_poc_lt_curr, | |
4287 | + NUM_RPS_POC); | |
4288 | + } | |
4289 | +} | |
4290 | + | |
4291 | +/* | |
4292 | + * Flip one or more matrices along their main diagonal and flatten them | |
4293 | + * before writing it to the memory. | |
4294 | + * Convert: | |
4295 | + * ABCD AEIM | |
4296 | + * EFGH => BFJN => AEIMBFJNCGKODHLP | |
4297 | + * IJKL CGKO | |
4298 | + * MNOP DHLP | |
4299 | + */ | |
4300 | +static void rotate_and_flatten_matrices(u8 *output, const u8 *input, int matrices, int row_length) | |
4301 | +{ | |
4302 | + int i, j, row, x_offset, matrix_offset, rot_index, y_offset, matrix_size, new_value; | |
4303 | + | |
4304 | + matrix_size = row_length * row_length; | |
4305 | + for (i = 0; i < matrices; i++) { | |
4306 | + row = 0; | |
4307 | + x_offset = 0; | |
4308 | + matrix_offset = i * matrix_size; | |
4309 | + for (j = 0; j < matrix_size; j++) { | |
4310 | + y_offset = j - (row * row_length); | |
4311 | + rot_index = y_offset * row_length + x_offset; | |
4312 | + new_value = *(input + i * matrix_size + j); | |
4313 | + output[matrix_offset + rot_index] = *(input + i * matrix_size + j); | |
4314 | + if ((j + 1) % row_length == 0) { | |
4315 | + row += 1; | |
4316 | + x_offset += 1; | |
4317 | + } | |
4318 | + } | |
4319 | + } | |
4320 | +} | |
4321 | + | |
4322 | +static void assemble_scalingfactor0(u8 *output, const struct v4l2_ctrl_hevc_scaling_matrix *input) | |
4323 | +{ | |
4324 | + int offset = 0; | |
4325 | + | |
4326 | + rotate_and_flatten_matrices(output, (const u8 *)input->scaling_list_4x4, 6, 4); | |
4327 | + offset = 6 * 16 * sizeof(u8); | |
4328 | + rotate_and_flatten_matrices(output + offset, (const u8 *)input->scaling_list_8x8, 6, 8); | |
4329 | + offset += 6 * 64 * sizeof(u8); | |
4330 | + rotate_and_flatten_matrices(output + offset, (const u8 *)input->scaling_list_16x16, 6, 8); | |
4331 | + offset += 6 * 64 * sizeof(u8); | |
4332 | + /* Add a 128 byte padding with 0s between the two 32x32 matrices */ | |
4333 | + rotate_and_flatten_matrices(output + offset, (const u8 *)input->scaling_list_32x32, 1, 8); | |
4334 | + offset += 64 * sizeof(u8); | |
4335 | + memset(output + offset, 0, 128); | |
4336 | + offset += 128 * sizeof(u8); | |
4337 | + rotate_and_flatten_matrices(output + offset, | |
4338 | + (const u8 *)input->scaling_list_32x32 + (64 * sizeof(u8)), | |
4339 | + 1, 8); | |
4340 | + offset += 64 * sizeof(u8); | |
4341 | + memset(output + offset, 0, 128); | |
4342 | +} | |
4343 | + | |
4344 | +/* | |
4345 | + * Required layout: | |
4346 | + * A = scaling_list_dc_coef_16x16 | |
4347 | + * B = scaling_list_dc_coef_32x32 | |
4348 | + * 0 = Padding | |
4349 | + * | |
4350 | + * A, A, A, A, A, A, B, 0, 0, B, 0, 0 | |
4351 | + */ | |
4352 | +static void assemble_scalingdc(u8 *output, const struct v4l2_ctrl_hevc_scaling_matrix *input) | |
4353 | +{ | |
4354 | + u8 list_32x32[6] = {0}; | |
4355 | + | |
4356 | + memcpy(output, input->scaling_list_dc_coef_16x16, 6 * sizeof(u8)); | |
4357 | + list_32x32[0] = input->scaling_list_dc_coef_32x32[0]; | |
4358 | + list_32x32[3] = input->scaling_list_dc_coef_32x32[1]; | |
4359 | + memcpy(output + 6 * sizeof(u8), list_32x32, 6 * sizeof(u8)); | |
4360 | +} | |
4361 | + | |
4362 | +static void translate_scaling_list(struct scaling_factor *output, | |
4363 | + const struct v4l2_ctrl_hevc_scaling_matrix *input) | |
4364 | +{ | |
4365 | + assemble_scalingfactor0(output->scalingfactor0, input); | |
4366 | + memcpy(output->scalingfactor1, (const u8 *)input->scaling_list_4x4, 96); | |
4367 | + assemble_scalingdc(output->scalingdc, input); | |
4368 | + memset(output->reserved, 0, 4 * sizeof(u8)); | |
4369 | +} | |
4370 | + | |
4371 | +static void assemble_hw_scaling_list(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run) | |
4372 | +{ | |
4373 | + const struct v4l2_ctrl_hevc_scaling_matrix *scaling = run->scaling_matrix; | |
4374 | + struct rkvdec_hevc_ctx *hevc_ctx = ctx->priv; | |
4375 | + struct rkvdec_hevc_priv_tbl *tbl = hevc_ctx->priv_tbl.cpu; | |
4376 | + u8 *dst; | |
4377 | + | |
4378 | + if (!memcmp((void *)&hevc_ctx->scaling_matrix_cache, scaling, | |
4379 | + sizeof(struct v4l2_ctrl_hevc_scaling_matrix))) | |
4380 | + return; | |
4381 | + | |
4382 | + dst = tbl->scaling_list; | |
4383 | + translate_scaling_list((struct scaling_factor *)dst, scaling); | |
4384 | + | |
4385 | + memcpy((void *)&hevc_ctx->scaling_matrix_cache, scaling, | |
4386 | + sizeof(struct v4l2_ctrl_hevc_scaling_matrix)); | |
4387 | +} | |
4388 | + | |
4389 | +static struct vb2_buffer * | |
4390 | +get_ref_buf(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run, unsigned int dpb_idx) | |
4391 | +{ | |
4392 | + struct v4l2_m2m_ctx *m2m_ctx = ctx->fh.m2m_ctx; | |
4393 | + const struct v4l2_ctrl_hevc_decode_params *decode_params = run->decode_params; | |
4394 | + const struct v4l2_hevc_dpb_entry *dpb = decode_params->dpb; | |
4395 | + struct vb2_queue *cap_q = &m2m_ctx->cap_q_ctx.q; | |
4396 | + struct vb2_buffer *buf = NULL; | |
4397 | + | |
4398 | + if (dpb_idx < decode_params->num_active_dpb_entries) | |
4399 | + buf = vb2_find_buffer(cap_q, dpb[dpb_idx].timestamp); | |
4400 | + | |
4401 | + /* | |
4402 | + * If a DPB entry is unused or invalid, the address of current destination | |
4403 | + * buffer is returned. | |
4404 | + */ | |
4405 | + if (!buf) | |
4406 | + return &run->base.bufs.dst->vb2_buf; | |
4407 | + | |
4408 | + return buf; | |
4409 | +} | |
4410 | + | |
4411 | +static void config_registers(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run) | |
4412 | +{ | |
4413 | + struct rkvdec_dev *rkvdec = ctx->dev; | |
4414 | + const struct v4l2_ctrl_hevc_decode_params *decode_params = run->decode_params; | |
4415 | + const struct v4l2_ctrl_hevc_slice_params *sl_params = &run->slices_params[0]; | |
4416 | + const struct v4l2_hevc_dpb_entry *dpb = decode_params->dpb; | |
4417 | + struct rkvdec_hevc_ctx *hevc_ctx = ctx->priv; | |
4418 | + dma_addr_t priv_start_addr = hevc_ctx->priv_tbl.dma; | |
4419 | + const struct v4l2_pix_format_mplane *dst_fmt; | |
4420 | + struct vb2_v4l2_buffer *src_buf = run->base.bufs.src; | |
4421 | + struct vb2_v4l2_buffer *dst_buf = run->base.bufs.dst; | |
4422 | + const struct v4l2_format *f; | |
4423 | + dma_addr_t rlc_addr; | |
4424 | + dma_addr_t refer_addr; | |
4425 | + u32 rlc_len; | |
4426 | + u32 hor_virstride; | |
4427 | + u32 ver_virstride; | |
4428 | + u32 y_virstride; | |
4429 | + u32 uv_virstride; | |
4430 | + u32 yuv_virstride; | |
4431 | + u32 offset; | |
4432 | + dma_addr_t dst_addr; | |
4433 | + u32 reg, i; | |
4434 | + | |
4435 | + reg = RKVDEC_MODE(RKVDEC_MODE_HEVC); | |
4436 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_SYSCTRL); | |
4437 | + | |
4438 | + f = &ctx->decoded_fmt; | |
4439 | + dst_fmt = &f->fmt.pix_mp; | |
4440 | + hor_virstride = dst_fmt->plane_fmt[0].bytesperline; | |
4441 | + ver_virstride = dst_fmt->height; | |
4442 | + y_virstride = hor_virstride * ver_virstride; | |
4443 | + uv_virstride = y_virstride / 2; | |
4444 | + yuv_virstride = y_virstride + uv_virstride; | |
4445 | + | |
4446 | + reg = RKVDEC_Y_HOR_VIRSTRIDE(hor_virstride / 16) | | |
4447 | + RKVDEC_UV_HOR_VIRSTRIDE(hor_virstride / 16) | | |
4448 | + RKVDEC_SLICE_NUM_LOWBITS(run->num_slices); | |
4449 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_PICPAR); | |
4450 | + | |
4451 | + /* config rlc base address */ | |
4452 | + rlc_addr = vb2_dma_contig_plane_dma_addr(&src_buf->vb2_buf, 0); | |
4453 | + writel_relaxed(rlc_addr, rkvdec->regs + RKVDEC_REG_STRM_RLC_BASE); | |
4454 | + | |
4455 | + rlc_len = vb2_get_plane_payload(&src_buf->vb2_buf, 0); | |
4456 | + reg = RKVDEC_STRM_LEN(round_up(rlc_len, 16) + 64); | |
4457 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_STRM_LEN); | |
4458 | + | |
4459 | + /* config cabac table */ | |
4460 | + offset = offsetof(struct rkvdec_hevc_priv_tbl, cabac_table); | |
4461 | + writel_relaxed(priv_start_addr + offset, rkvdec->regs + RKVDEC_REG_CABACTBL_PROB_BASE); | |
4462 | + | |
4463 | + /* config output base address */ | |
4464 | + dst_addr = vb2_dma_contig_plane_dma_addr(&dst_buf->vb2_buf, 0); | |
4465 | + writel_relaxed(dst_addr, rkvdec->regs + RKVDEC_REG_DECOUT_BASE); | |
4466 | + | |
4467 | + reg = RKVDEC_Y_VIRSTRIDE(y_virstride / 16); | |
4468 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_Y_VIRSTRIDE); | |
4469 | + | |
4470 | + reg = RKVDEC_YUV_VIRSTRIDE(yuv_virstride / 16); | |
4471 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_YUV_VIRSTRIDE); | |
4472 | + | |
4473 | + /* config ref pic address */ | |
4474 | + for (i = 0; i < 15; i++) { | |
4475 | + struct vb2_buffer *vb_buf = get_ref_buf(ctx, run, i); | |
4476 | + | |
4477 | + if (i < 4 && decode_params->num_active_dpb_entries) { | |
4478 | + reg = GENMASK(decode_params->num_active_dpb_entries - 1, 0); | |
4479 | + reg = (reg >> (i * 4)) & 0xf; | |
4480 | + } else { | |
4481 | + reg = 0; | |
4482 | + } | |
4483 | + | |
4484 | + refer_addr = vb2_dma_contig_plane_dma_addr(vb_buf, 0); | |
4485 | + writel_relaxed(refer_addr | reg, rkvdec->regs + RKVDEC_REG_H264_BASE_REFER(i)); | |
4486 | + | |
4487 | + reg = RKVDEC_POC_REFER(i < decode_params->num_active_dpb_entries ? | |
4488 | + dpb[i].pic_order_cnt_val : 0); | |
4489 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_H264_POC_REFER0(i)); | |
4490 | + } | |
4491 | + | |
4492 | + reg = RKVDEC_CUR_POC(sl_params->slice_pic_order_cnt); | |
4493 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_CUR_POC0); | |
4494 | + | |
4495 | + /* config hw pps address */ | |
4496 | + offset = offsetof(struct rkvdec_hevc_priv_tbl, param_set); | |
4497 | + writel_relaxed(priv_start_addr + offset, rkvdec->regs + RKVDEC_REG_PPS_BASE); | |
4498 | + | |
4499 | + /* config hw rps address */ | |
4500 | + offset = offsetof(struct rkvdec_hevc_priv_tbl, rps); | |
4501 | + writel_relaxed(priv_start_addr + offset, rkvdec->regs + RKVDEC_REG_RPS_BASE); | |
4502 | + | |
4503 | + reg = RKVDEC_AXI_DDR_RDATA(0); | |
4504 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_AXI_DDR_RDATA); | |
4505 | + | |
4506 | + reg = RKVDEC_AXI_DDR_WDATA(0); | |
4507 | + writel_relaxed(reg, rkvdec->regs + RKVDEC_REG_AXI_DDR_WDATA); | |
4508 | +} | |
4509 | + | |
4510 | +static int rkvdec_hevc_adjust_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f) | |
4511 | +{ | |
4512 | + struct v4l2_pix_format_mplane *fmt = &f->fmt.pix_mp; | |
4513 | + | |
4514 | + fmt->num_planes = 1; | |
4515 | + if (!fmt->plane_fmt[0].sizeimage) | |
4516 | + fmt->plane_fmt[0].sizeimage = | |
4517 | + fmt->width * fmt->height * RKV_MAX_DEPTH_IN_BYTES; | |
4518 | + return 0; | |
4519 | +} | |
4520 | + | |
4521 | +static int rkvdec_hevc_start(struct rkvdec_ctx *ctx) | |
4522 | +{ | |
4523 | + struct rkvdec_dev *rkvdec = ctx->dev; | |
4524 | + struct rkvdec_hevc_priv_tbl *priv_tbl; | |
4525 | + struct rkvdec_hevc_ctx *hevc_ctx; | |
4526 | + int ret; | |
4527 | + | |
4528 | + hevc_ctx = kzalloc(sizeof(*hevc_ctx), GFP_KERNEL); | |
4529 | + if (!hevc_ctx) | |
4530 | + return -ENOMEM; | |
4531 | + | |
4532 | + priv_tbl = dma_alloc_coherent(rkvdec->dev, sizeof(*priv_tbl), | |
4533 | + &hevc_ctx->priv_tbl.dma, GFP_KERNEL); | |
4534 | + if (!priv_tbl) { | |
4535 | + ret = -ENOMEM; | |
4536 | + goto err_free_ctx; | |
4537 | + } | |
4538 | + | |
4539 | + hevc_ctx->priv_tbl.size = sizeof(*priv_tbl); | |
4540 | + hevc_ctx->priv_tbl.cpu = priv_tbl; | |
4541 | + memset(priv_tbl, 0, sizeof(*priv_tbl)); | |
4542 | + memcpy(priv_tbl->cabac_table, rkvdec_hevc_cabac_table, sizeof(rkvdec_hevc_cabac_table)); | |
4543 | + | |
4544 | + ctx->priv = hevc_ctx; | |
4545 | + return 0; | |
4546 | + | |
4547 | +err_free_ctx: | |
4548 | + kfree(hevc_ctx); | |
4549 | + return ret; | |
4550 | +} | |
4551 | + | |
4552 | +static void rkvdec_hevc_stop(struct rkvdec_ctx *ctx) | |
4553 | +{ | |
4554 | + struct rkvdec_hevc_ctx *hevc_ctx = ctx->priv; | |
4555 | + struct rkvdec_dev *rkvdec = ctx->dev; | |
4556 | + | |
4557 | + dma_free_coherent(rkvdec->dev, hevc_ctx->priv_tbl.size, | |
4558 | + hevc_ctx->priv_tbl.cpu, hevc_ctx->priv_tbl.dma); | |
4559 | + kfree(hevc_ctx); | |
4560 | +} | |
4561 | + | |
4562 | +static int rkvdec_hevc_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_hevc_run *run) | |
4563 | +{ | |
4564 | + struct v4l2_ctrl *ctrl; | |
4565 | + | |
4566 | + ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl, V4L2_CID_STATELESS_HEVC_DECODE_PARAMS); | |
4567 | + run->decode_params = ctrl ? ctrl->p_cur.p : NULL; | |
4568 | + if (WARN_ON(!run->decode_params)) | |
4569 | + return -EINVAL; | |
4570 | + ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl, V4L2_CID_STATELESS_HEVC_SLICE_PARAMS); | |
4571 | + run->slices_params = ctrl ? ctrl->p_cur.p : NULL; | |
4572 | + if (WARN_ON(!run->slices_params)) | |
4573 | + return -EINVAL; | |
4574 | + run->num_slices = ctrl->new_elems; | |
4575 | + ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl, V4L2_CID_STATELESS_HEVC_SPS); | |
4576 | + run->sps = ctrl ? ctrl->p_cur.p : NULL; | |
4577 | + if (WARN_ON(!run->sps)) | |
4578 | + return -EINVAL; | |
4579 | + ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl, V4L2_CID_STATELESS_HEVC_PPS); | |
4580 | + run->pps = ctrl ? ctrl->p_cur.p : NULL; | |
4581 | + if (WARN_ON(!run->pps)) | |
4582 | + return -EINVAL; | |
4583 | + ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl, V4L2_CID_STATELESS_HEVC_SCALING_MATRIX); | |
4584 | + run->scaling_matrix = ctrl ? ctrl->p_cur.p : NULL; | |
4585 | + if (WARN_ON(!run->scaling_matrix)) | |
4586 | + return -EINVAL; | |
4587 | + | |
4588 | + rkvdec_run_preamble(ctx, &run->base); | |
4589 | + return 0; | |
4590 | +} | |
4591 | + | |
4592 | +static void start_hardware(struct rkvdec_dev *rkvdec) | |
4593 | +{ | |
4594 | + void __iomem *register_base_addr = rkvdec->regs; | |
4595 | + struct delayed_work *watchdog_worker = &rkvdec->watchdog_work; | |
4596 | + /* | |
4597 | + * RkVDEC error detection doesn't work really well and seems racy | |
4598 | + * and unstable. Disable it. | |
4599 | + */ | |
4600 | + writel_relaxed(0, register_base_addr + RKVDEC_REG_STRMD_ERR_EN); | |
4601 | + writel_relaxed(0, register_base_addr + RKVDEC_REG_H264_ERR_E); | |
4602 | + | |
4603 | + schedule_delayed_work(watchdog_worker, msecs_to_jiffies(2000)); | |
4604 | + | |
4605 | + writel(1, register_base_addr + RKVDEC_REG_PREF_LUMA_CACHE_COMMAND); | |
4606 | + writel(1, register_base_addr + RKVDEC_REG_PREF_CHR_CACHE_COMMAND); | |
4607 | + | |
4608 | + /* Start decoding! */ | |
4609 | + writel(RKVDEC_INTERRUPT_DEC_E | RKVDEC_CONFIG_DEC_CLK_GATE_E | | |
4610 | + RKVDEC_TIMEOUT_E | RKVDEC_BUF_EMPTY_E, | |
4611 | + register_base_addr + RKVDEC_REG_INTERRUPT); | |
4612 | +} | |
4613 | + | |
4614 | +static u32 rkvdec_hevc_valid_fmt(struct rkvdec_ctx *ctx) | |
4615 | +{ | |
4616 | + const struct v4l2_ctrl_hevc_sps *sps = ctx->sps; | |
4617 | + | |
4618 | + /* | |
4619 | + * No need to check chroma_format_idc, currently only 4:2:0 formats | |
4620 | + * supported. | |
4621 | + */ | |
4622 | + if (sps && sps->bit_depth_luma_minus8 == 2) | |
4623 | + return V4L2_PIX_FMT_NV15; | |
4624 | + else | |
4625 | + return V4L2_PIX_FMT_NV12; | |
4626 | +} | |
4627 | + | |
4628 | +/* | |
4629 | + * Convert some fields from the SPS structure into human readable attributes. | |
4630 | + */ | |
4631 | +static int rkvdec_hevc_get_sps_attributes(struct rkvdec_ctx *ctx, void *sps, | |
4632 | + struct sps_attributes *attributes) | |
4633 | +{ | |
4634 | + struct v4l2_ctrl_hevc_sps *hevc_sps = sps; | |
4635 | + unsigned int width = hevc_sps->pic_width_in_luma_samples; | |
4636 | + unsigned int height = hevc_sps->pic_height_in_luma_samples; | |
4637 | + | |
4638 | + if (!(width % 64 == 0)) | |
4639 | + width = ALIGN(width, 64); | |
4640 | + | |
4641 | + if (!(height % 16 == 0)) | |
4642 | + height = ALIGN(height, 16); | |
4643 | + | |
4644 | + attributes->width = width; | |
4645 | + attributes->height = height; | |
4646 | + attributes->luma_bitdepth = hevc_sps->bit_depth_luma_minus8 + 8; | |
4647 | + attributes->chroma_bitdepth = hevc_sps->bit_depth_chroma_minus8 + 8; | |
4648 | + switch (hevc_sps->chroma_format_idc) { | |
4649 | + case 0: | |
4650 | + attributes->subsampling = 400; | |
4651 | + break; | |
4652 | + case 1: | |
4653 | + attributes->subsampling = 420; | |
4654 | + break; | |
4655 | + case 2: | |
4656 | + attributes->subsampling = 422; | |
4657 | + break; | |
4658 | + case 3: | |
4659 | + attributes->subsampling = 444; | |
4660 | + break; | |
4661 | + }; | |
4662 | + | |
4663 | + return 0; | |
4664 | +} | |
4665 | + | |
4666 | +static int rkvdec_hevc_validate_sps(struct rkvdec_ctx *ctx, void *sps, | |
4667 | + struct v4l2_pix_format_mplane *pix_mp) | |
4668 | +{ | |
4669 | + struct sps_attributes attributes = {0}; | |
4670 | + | |
4671 | + rkvdec_hevc_get_sps_attributes(ctx, sps, &attributes); | |
4672 | + | |
4673 | + if ((attributes.width != pix_mp->width) || (attributes.height != pix_mp->height)) { | |
4674 | + dev_err(ctx->dev->dev, | |
4675 | + "Incompatible SPS dimension, SPS %dx%d, Pixel format %dx%d.", | |
4676 | + attributes.width, attributes.height, pix_mp->width, pix_mp->height); | |
4677 | + return -EINVAL; | |
4678 | + } | |
4679 | + | |
4680 | + if ((attributes.luma_bitdepth == 8 && pix_mp->pixelformat != V4L2_PIX_FMT_NV12) || | |
4681 | + (attributes.luma_bitdepth == 10 && pix_mp->pixelformat != V4L2_PIX_FMT_NV15)) { | |
4682 | + dev_err(ctx->dev->dev, | |
4683 | + "Incompatible SPS bit-depth, SPS %d, Pixel format %d.", | |
4684 | + attributes.luma_bitdepth, | |
4685 | + pix_mp->pixelformat == V4L2_PIX_FMT_NV12 ? 8 : 10); | |
4686 | + return -EINVAL; | |
4687 | + } | |
4688 | + | |
4689 | + return 0; | |
4690 | +} | |
4691 | + | |
4692 | +static int rkvdec_hevc_try_ctrl(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl) | |
4693 | +{ | |
4694 | + struct sps_attributes attributes = {0}; | |
4695 | + | |
4696 | + rkvdec_hevc_get_sps_attributes(ctx, ctrl->p_new.p_hevc_sps, &attributes); | |
4697 | + | |
4698 | + if (attributes.subsampling > 420) | |
4699 | + return -EINVAL; | |
4700 | + if (attributes.luma_bitdepth != 8 && attributes.luma_bitdepth != 10) | |
4701 | + return -EINVAL; | |
4702 | + return 0; | |
4703 | +} | |
4704 | + | |
4705 | +static int rkvdec_hevc_run(struct rkvdec_ctx *ctx) | |
4706 | +{ | |
4707 | + struct rkvdec_dev *rkvdec = ctx->dev; | |
4708 | + struct rkvdec_hevc_run run; | |
4709 | + int ret; | |
4710 | + | |
4711 | + ret = rkvdec_hevc_run_preamble(ctx, &run); | |
4712 | + if (ret) { | |
4713 | + dev_err(ctx->dev->dev, "Missing required controls for the RkVDEC HEVC decoder."); | |
4714 | + return ret; | |
4715 | + } | |
4716 | + | |
4717 | + assemble_hw_scaling_list(ctx, &run); | |
4718 | + assemble_hw_pps(ctx, &run); | |
4719 | + assemble_hw_rps(ctx, &run); | |
4720 | + config_registers(ctx, &run); | |
4721 | + rkvdec_run_postamble(ctx, &run.base); | |
4722 | + start_hardware(rkvdec); | |
4723 | + | |
4724 | + return 0; | |
4725 | +} | |
4726 | + | |
4727 | +const struct rkvdec_coded_fmt_ops rkvdec_hevc_fmt_ops = { | |
4728 | + .adjust_fmt = rkvdec_hevc_adjust_fmt, | |
4729 | + .start = rkvdec_hevc_start, | |
4730 | + .stop = rkvdec_hevc_stop, | |
4731 | + .run = rkvdec_hevc_run, | |
4732 | + .try_ctrl = rkvdec_hevc_try_ctrl, | |
4733 | + .valid_fmt = rkvdec_hevc_valid_fmt, | |
4734 | + .sps_check = rkvdec_hevc_validate_sps, | |
4735 | + .get_sps_attributes = rkvdec_hevc_get_sps_attributes, | |
4736 | +}; | |
4737 | diff --git a/drivers/staging/media/rkvdec/rkvdec-regs.h b/drivers/staging/media/rkvdec/rkvdec-regs.h | |
4738 | index 15b9bee92016..83bf790ed9b7 100644 | |
4739 | --- a/drivers/staging/media/rkvdec/rkvdec-regs.h | |
4740 | +++ b/drivers/staging/media/rkvdec/rkvdec-regs.h | |
4741 | @@ -43,6 +43,7 @@ | |
4742 | #define RKVDEC_RLC_MODE BIT(11) | |
4743 | #define RKVDEC_STRM_START_BIT(x) (((x) & 0x7f) << 12) | |
4744 | #define RKVDEC_MODE(x) (((x) & 0x03) << 20) | |
4745 | +#define RKVDEC_MODE_HEVC 0 | |
4746 | #define RKVDEC_MODE_H264 1 | |
4747 | #define RKVDEC_MODE_VP9 2 | |
4748 | #define RKVDEC_RPS_MODE BIT(24) | |
4749 | diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c | |
4750 | index 3d413c5ad1d2..6462dd83ea6d 100644 | |
4751 | --- a/drivers/staging/media/rkvdec/rkvdec.c | |
4752 | +++ b/drivers/staging/media/rkvdec/rkvdec.c | |
4753 | @@ -13,6 +13,7 @@ | |
4754 | #include <linux/interrupt.h> | |
4755 | #include <linux/module.h> | |
4756 | #include <linux/of.h> | |
4757 | +#include <linux/of_device.h> | |
4758 | #include <linux/platform_device.h> | |
4759 | #include <linux/pm.h> | |
4760 | #include <linux/pm_runtime.h> | |
4761 | @@ -230,6 +231,62 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = { | |
4762 | }, | |
4763 | }; | |
4764 | ||
4765 | +static const struct rkvdec_ctrl_desc rkvdec_hevc_ctrl_descs[] = { | |
4766 | + { | |
4767 | + .cfg.id = V4L2_CID_STATELESS_HEVC_SLICE_PARAMS, | |
4768 | + .cfg.name = "Slice parameters", | |
4769 | + .cfg.flags = V4L2_CTRL_FLAG_DYNAMIC_ARRAY, | |
4770 | + .cfg.type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS, | |
4771 | + .cfg.dims = { 600 }, | |
4772 | + }, | |
4773 | + { | |
4774 | + .cfg.id = V4L2_CID_STATELESS_HEVC_SPS, | |
4775 | + .cfg.ops = &rkvdec_ctrl_ops, | |
4776 | + }, | |
4777 | + { | |
4778 | + .cfg.id = V4L2_CID_STATELESS_HEVC_PPS, | |
4779 | + }, | |
4780 | + { | |
4781 | + .cfg.id = V4L2_CID_STATELESS_HEVC_SCALING_MATRIX, | |
4782 | + }, | |
4783 | + { | |
4784 | + .cfg.id = V4L2_CID_STATELESS_HEVC_DECODE_PARAMS, | |
4785 | + }, | |
4786 | + { | |
4787 | + .cfg.id = V4L2_CID_STATELESS_HEVC_DECODE_MODE, | |
4788 | + .cfg.min = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED, | |
4789 | + .cfg.max = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED, | |
4790 | + .cfg.def = V4L2_STATELESS_HEVC_DECODE_MODE_FRAME_BASED, | |
4791 | + }, | |
4792 | + { | |
4793 | + .cfg.id = V4L2_CID_STATELESS_HEVC_START_CODE, | |
4794 | + .cfg.min = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B, | |
4795 | + .cfg.def = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B, | |
4796 | + .cfg.max = V4L2_STATELESS_HEVC_START_CODE_ANNEX_B, | |
4797 | + }, | |
4798 | + { | |
4799 | + .cfg.id = V4L2_CID_MPEG_VIDEO_HEVC_PROFILE, | |
4800 | + .cfg.min = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, | |
4801 | + .cfg.max = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10, | |
4802 | + .cfg.def = V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN, | |
4803 | + }, | |
4804 | + { | |
4805 | + .cfg.id = V4L2_CID_MPEG_VIDEO_HEVC_LEVEL, | |
4806 | + .cfg.min = V4L2_MPEG_VIDEO_HEVC_LEVEL_1, | |
4807 | + .cfg.max = V4L2_MPEG_VIDEO_HEVC_LEVEL_5_1, | |
4808 | + }, | |
4809 | +}; | |
4810 | + | |
4811 | +static const struct rkvdec_ctrls rkvdec_hevc_ctrls = { | |
4812 | + .ctrls = rkvdec_hevc_ctrl_descs, | |
4813 | + .num_ctrls = ARRAY_SIZE(rkvdec_hevc_ctrl_descs), | |
4814 | +}; | |
4815 | + | |
4816 | +static const u32 rkvdec_hevc_decoded_fmts[] = { | |
4817 | + V4L2_PIX_FMT_NV12, | |
4818 | + V4L2_PIX_FMT_NV15, | |
4819 | +}; | |
4820 | + | |
4821 | static const struct rkvdec_ctrls rkvdec_h264_ctrls = { | |
4822 | .ctrls = rkvdec_h264_ctrl_descs, | |
4823 | .num_ctrls = ARRAY_SIZE(rkvdec_h264_ctrl_descs), | |
4824 | @@ -260,6 +317,21 @@ static const struct rkvdec_ctrls rkvdec_vp9_ctrls = { | |
4825 | }; | |
4826 | ||
4827 | static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = { | |
4828 | + { | |
4829 | + .fourcc = V4L2_PIX_FMT_HEVC_SLICE, | |
4830 | + .frmsize = { | |
4831 | + .min_width = 64, | |
4832 | + .max_width = 4096, | |
4833 | + .step_width = 64, | |
4834 | + .min_height = 64, | |
4835 | + .max_height = 2304, | |
4836 | + .step_height = 16, | |
4837 | + }, | |
4838 | + .ctrls = &rkvdec_hevc_ctrls, | |
4839 | + .ops = &rkvdec_hevc_fmt_ops, | |
4840 | + .num_decoded_fmts = ARRAY_SIZE(rkvdec_hevc_decoded_fmts), | |
4841 | + .decoded_fmts = rkvdec_hevc_decoded_fmts, | |
4842 | + }, | |
4843 | { | |
4844 | .fourcc = V4L2_PIX_FMT_H264_SLICE, | |
4845 | .frmsize = { | |
4846 | diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h | |
4847 | index d74821f9fd0b..9cf354968d52 100644 | |
4848 | --- a/drivers/staging/media/rkvdec/rkvdec.h | |
4849 | +++ b/drivers/staging/media/rkvdec/rkvdec.h | |
4850 | @@ -135,6 +135,7 @@ void rkvdec_run_preamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run); | |
4851 | void rkvdec_run_postamble(struct rkvdec_ctx *ctx, struct rkvdec_run *run); | |
4852 | ||
4853 | extern const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops; | |
4854 | +extern const struct rkvdec_coded_fmt_ops rkvdec_hevc_fmt_ops; | |
4855 | extern const struct rkvdec_coded_fmt_ops rkvdec_vp9_fmt_ops; | |
4856 | ||
4857 | #endif /* RKVDEC_H_ */ |