From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Jaehoon Jang Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 23 Jun 2025 19:13:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 78880@debbugs.gnu.org X-Debbugs-Original-To: bug-coreutils@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.175070596225290 (code B ref -1); Mon, 23 Jun 2025 19:13:05 +0000 Received: (at submit) by debbugs.gnu.org; 23 Jun 2025 19:12:42 +0000 Received: from localhost ([127.0.0.1]:57762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uTmaw-0006Zm-2O for submit@debbugs.gnu.org; Mon, 23 Jun 2025 15:12:42 -0400 Received: from lists.gnu.org ([2001:470:142::17]:51538) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uTcUd-0006tq-Oj for submit@debbugs.gnu.org; Mon, 23 Jun 2025 04:25:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uTcUY-00045H-DL for bug-coreutils@gnu.org; Mon, 23 Jun 2025 04:25:26 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uTcUT-0008W8-R1 for bug-coreutils@gnu.org; Mon, 23 Jun 2025 04:25:25 -0400 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-ade5b8aab41so817693366b.0 for ; Mon, 23 Jun 2025 01:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prosys-kaist-ac-kr.20230601.gappssmtp.com; s=20230601; t=1750667105; x=1751271905; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=YK38J0GV7lAsX8efB419xrjv3yGSQ3rzs7MCxSLM1EI=; b=geHhDXDkrp9/N0s2go3ee+XEZc93x+I+WnwnMu403fbY+woF0LdJEBFSiUwwl6Y6Ju yN+muyAs3VfChjTmIrk0e4MYglqD6wN0CdAEPL9eSewLyANl/daLGBLoeAlTaWZblKkc cMXGbPfFQlLRyvQfEgtCt9q32JANsbMFsoufVO8UvtfPnyBI0FGDDZc29LeNhH/luJTn 64CYBXzc4u+tbJAriU0Ar4iOe0uxYQZul8Y3GOKER4ZRhAr43tAJaN03J4YFfx0o2/pZ Ax0FA2bqYrQaajzyoa3aCn65WDmnVEYspe+dZnt0Dg2h6di5P5AIgcHahvr0t9Mr5NfG 7vtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750667105; x=1751271905; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YK38J0GV7lAsX8efB419xrjv3yGSQ3rzs7MCxSLM1EI=; b=cWcfCEtw1E6sQTLXT0FNyCaxcREJUFqHBxcp6wslLWlOAiMfV3hoaJn/n/Bed0wF+J Q8ixoSEA76GFiehMUKVJZQ+l7fsE4vZhKXbfzCGzL14sjMUPVnqNnDqgmSQWiiDSCaqs dkYUpyfuH8xjjemK6g9n2L/+hBQIR5777K4R31yrSJPjKtTcSAJZlTuzAjl+zcsPrUHG nYM4iIXdCKZ98Jco/Hdr2ZZ7FoQ7ZqStOc8zVjPuPxJrccQzW0aKLgUYPXViSOQZ6f5M +8+xpAdElhU0VNumBWD4nuvC0Nw6dphM6GK4Jts5ZFvTlllV3UO2JMxc1Zu5eqGtjmBu hC2A== X-Gm-Message-State: AOJu0Yx8UEdArOMLnz8gRUFHKBOIqt32yAXbayrCt6pQVXkUPMej6Dez QsesqXUd8/1DEaDfSpTE4Ta/YiOTgZvm5F/GuK+yE8X4nzEDaTqTjIdD1FVv0TAdTA9c18KX6sE frUK3yZjSFxre0qiTkfeHizk3t2H1993V52xf0iOaH7Px01OtFlY09wQ= X-Gm-Gg: ASbGncuhq+dUSV0jjWDBH6A8v6xMYBw+pEtXC8dqI6bVkdNWgUxvAualpwwpF6lo3l7 YdUDx6+iczmZ5XVvMifLLNPcNiBI67DAzOCK/X1Xu5GT/KIMdhntjSOpPngSh0kYHFom+R502rP CyFgm+ykuNBT0Bfw8bBPmKtJgORwMhAeSdBvyGaIm4PN2aTg== X-Google-Smtp-Source: AGHT+IErB//0CK/giqnHkyQhTAUfTNwO3yJp/qEMxbR2OfIX4BRj6BqsomwewPeFq6Ugg6p5h/V8Q7MuEZptlh0x24A= X-Received: by 2002:a17:907:bc82:b0:ade:44da:d2cc with SMTP id a640c23a62f3a-ae057b6e76cmr1141742966b.31.1750667104804; Mon, 23 Jun 2025 01:25:04 -0700 (PDT) MIME-Version: 1.0 From: Jaehoon Jang Date: Mon, 23 Jun 2025 17:24:53 +0900 X-Gm-Features: AX0GCFu-lvhhmobowE7A8rhIHdJWyMJsU5H47AOwo2Zs1l6QNX3IkZv1y68_I8k Message-ID: Content-Type: multipart/mixed; boundary="000000000000e77222063838f2d5" Received-SPF: none client-ip=2a00:1450:4864:20::632; envelope-from=jaehoon.jang@prosys.kaist.ac.kr; helo=mail-ej1-x632.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 23 Jun 2025 15:12:39 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --000000000000e77222063838f2d5 Content-Type: multipart/alternative; boundary="000000000000e77221063838f2d3" --000000000000e77221063838f2d3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable *###### Build options*``` git clone https://github.com/coreutils/coreutils export GNULIB_SRCDIR=3D./gnulib export FORCE_UNSAFE_CONFIGURE=3D1 ./bootstrap CC=3D"clang -g -fsanitize=3Daddress" CXX=3D"clang -g -fsanitize=3Daddress" ./configure $CONFIG_OPTIONS make -j ``` *###### od version*``` $ src/od --version od (GNU coreutils) 9.7.52-b7db77 Copyright (C) 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jim Meyering. ``` *###### reproduce script*```c // gcc -o replay_od replay_od.c #include #include #include #define MAX_CMDLINE_LEN 100000 #define MAX_CMDLINE_PAR 1000 int main() { static char in_buf[MAX_CMDLINE_LEN]; static char *argv[MAX_CMDLINE_PAR]; char *ptr =3D in_buf; int rc =3D 0; int n =3D read(0, in_buf, MAX_CMDLINE_LEN - 2); if (n <=3D 0) { perror("read"); exit(1); } while (*ptr) { argv[rc] =3D ptr; if (argv[rc][0] =3D=3D 0x02 && !argv[rc][1]) { argv[rc]++; } rc++; while (*ptr) ptr++; ptr++; } argv[0] =3D "od"; // exec od with parsed argv execvp("src/od", argv); perror("execvp failed"); return 1; } ``` This is a C wrapper program that automatically sets argv to reproduce the vulnerability. It is a simple wrapper around the od program and does not modify the original od binary. ###### ASAN log ``` $ ./replay_od < /root/250623/od-poc od: 'u'$'\353''d'$'\001''4 '\'''$'\350\003\346\346\346\346\027\027\027\027\027\027\027\027''!'$'\027\0= 27\027\027\027\027\027\027\027\027\027\027\027\027\027\027''{{{{{{{{{{{{{{{= {{{{{{{{{{{{{{{{{{{{'$'\024''{{{{'$'\200\016\377\377''{{{{{{{{{{{s{{'$'\220= ''{{{{'$'\213\207\213\213\213\213\213\213\213\213\213\213\213\213''}'$'\213= \213\213\213\213\213\213\213\213\213''E': No such file or directory =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D1151699=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on address 0x6150000004f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408 WRITE of size 1 at 0x6150000004f9 thread T0 #0 0x4d153e in dump_strings coreutils/src/od.c:1570:14 #1 0x4d153e in main coreutils/src/od.c:2037:30 #2 0x7fc132ca6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #3 0x7fc132ca6e3f in __libc_start_main csu/../csu/libc-start.c:392:3 #4 0x41f664 in _start (coreutils/src/od+0x41f664) 0x6150000004f9 is located 0 bytes to the right of 505-byte region [0x615000000300,0x6150000004f9) allocated by thread T0 here: #0 0x49c843 in __interceptor_realloc (coreutils/src/od+0x49c843) #1 0x4ddcea in rpl_realloc coreutils/./lib/stdlib.h:2095:10 #2 0x4ddcea in xrealloc coreutils/lib/xmalloc.c:66:13 #3 0x4ddcea in xpalloc coreutils/lib/xmalloc.c:271:8 #4 0x7fc132ca6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 SUMMARY: AddressSanitizer: heap-buffer-overflow coreutils/src/od.c:1570:14 in dump_strings Shadow bytes around the buggy address: 0x0c2a7fff8040: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa 0x0c2a7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c2a7fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c2a7fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =3D>0x0c2a7fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[01] 0x0c2a7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb =3D=3D1151699=3D=3DABORTING ``` *###### Description* ``` 1513 static bool 1514 dump_strings (void) 1515 { 1516 idx_t bufsize =3D MAX (100, string_min); 1517 char *buf =3D xmalloc (bufsize); ... 1550 while (!limit_bytes_to_format || address < end_offset) 1551 { 1552 if (i =3D=3D bufsize) 1553 buf =3D xpalloc (buf, &bufsize, 1, -1, sizeof *buf); 1554 ok &=3D read_char (&c); 1555 address++; 1556 if (c < 0) 1557 { 1558 free (buf); 1559 return ok; 1560 } 1561 if (c =3D=3D '\0') 1562 break; /* It is; print this string. */ 1563 if (! isprint (c)) 1564 goto tryline; /* It isn't; give up on this string. */ 1565 buf[i++] =3D c; /* String continues; store it all. = */ 1566 } ... 1570 buf[i] =3D 0; 1571 format_address (address - i - 1, ' '); ``` The vulnerability occurs in the dump_strings function. The variable buf is allocated with a size of bufsize, which is limited to a maximum of 100 bytes. However, inside the while loop, the variable i is incremented by 1 on each iteration. When the attached PoC file is passed as arguments to the od program, the value of i can exceed 100. This leads to a heap buffer overflow vulnerability. An attacker could potentially exploit this by manipulating both the i and c values, resulting in dangerous modifications to the buf chunk on the heap. Therefore, we recommend adding proper bounds checking for the i variable to prevent this issue. --000000000000e77221063838f2d3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
###### Build options
```
git clone https://github.com/coreutils/coreu= tils
export GNULIB_SRCDIR=3D./gnulib
export FORCE_UNSAFE_CONFIGUR= E=3D1
./bootstrap
CC=3D"clang -g -fsanitize=3Daddress" CXX= =3D"clang -g -fsanitize=3Daddress" ./configure $CONFIG_OPTIONSmake -j
```


###### od version
```
$ src/od --ve= rsion
od (GNU coreutils) 9.7.52-b7db77
Copyright (C) 2025 Free Softwa= re Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html<= /a>>.
This is free software: you are free to change and redistribute = it.
There is NO WARRANTY, to the extent permitted by law.

Written= by Jim Meyering.
```

###### reproduce script
```c
/= / gcc -o replay_od replay_od.c

#include <stdio.h>
#include = <stdlib.h>
#include <unistd.h>

#define MAX_CMDLINE_LE= N 100000
#define MAX_CMDLINE_PAR 1000

int main() {
=C2=A0 =C2= =A0 static char in_buf[MAX_CMDLINE_LEN];
=C2=A0 =C2=A0 static char *argv= [MAX_CMDLINE_PAR];

=C2=A0 =C2=A0 char *ptr =3D in_buf;
=C2=A0 =C2= =A0 int rc =3D 0;

=C2=A0 =C2=A0 int n =3D read(0, in_buf, MAX_CMDLIN= E_LEN - 2);
=C2=A0 =C2=A0 if (n <=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 perror("read");
=C2=A0 =C2=A0 =C2=A0 =C2=A0 exit(1);
= =C2=A0 =C2=A0 }

=C2=A0 =C2=A0 while (*ptr) {
=C2=A0 =C2=A0 =C2=A0= =C2=A0 argv[rc] =3D ptr;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (argv[rc][0= ] =3D=3D 0x02 && !argv[rc][1]) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 argv[rc]++;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

=C2=A0 =C2= =A0 =C2=A0 =C2=A0 rc++;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 while (*ptr) ptr= ++;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ptr++;
=C2=A0 =C2=A0 }
=C2=A0 =C2= =A0 argv[0] =3D "od";

=C2=A0 =C2=A0 // exec od with parsed= argv
=C2=A0 =C2=A0 execvp("src/od", argv);

=C2=A0 =C2= =A0 perror("execvp failed");
=C2=A0 =C2=A0 return 1;
}
`= ``
This is a C wrapper program that automatically sets argv to reproduc= e the vulnerability. It is a simple wrapper around the od program and does = not modify the original od binary.

###### ASAN log=
```
$ ./replay_od < /root/250623/od-poc
od: 'u'$'\= 353''d'$'\001''4 '\'''$'\350\00= 3\346\346\346\346\027\027\027\027\027\027\027\027''!'$'\027= \027\027\027\027\027\027\027\027\027\027\027\027\027\027\027''{{{{{= {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'$'\024''{{{{'$'\200\= 016\377\377''{{{{{{{{{{{s{{'$'\220''{{{{'$'= \213\207\213\213\213\213\213\213\213\213\213\213\213\213''}'$&#= 39;\213\213\213\213\213\213\213\213\213\213''E': No such file o= r directory
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D11516= 99=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on address 0x61500000= 04f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408
WRITE of s= ize 1 at 0x6150000004f9 thread T0
=C2=A0 =C2=A0 #0 0x4d153e in dump_stri= ngs coreutils/src/od.c:1570:14
=C2=A0 =C2=A0 #1 0x4d153e in main coreuti= ls/src/od.c:2037:30
=C2=A0 =C2=A0 #2 0x7fc132ca6d8f in __libc_start_call= _main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
=C2=A0 =C2=A0 #3 = 0x7fc132ca6e3f in __libc_start_main csu/../csu/libc-start.c:392:3
=C2=A0= =C2=A0 #4 0x41f664 in _start (coreutils/src/od+0x41f664)

0x61500000= 04f9 is located 0 bytes to the right of 505-byte region [0x615000000300,0x6= 150000004f9)
allocated by thread T0 here:
=C2=A0 =C2=A0 #0 0x49c843 i= n __interceptor_realloc (coreutils/src/od+0x49c843)
=C2=A0 =C2=A0 #1 0x4= ddcea in rpl_realloc coreutils/./lib/stdlib.h:2095:10
=C2=A0 =C2=A0 #2 0= x4ddcea in xrealloc coreutils/lib/xmalloc.c:66:13
=C2=A0 =C2=A0 #3 0x4dd= cea in xpalloc coreutils/lib/xmalloc.c:271:8
=C2=A0 =C2=A0 #4 0x7fc132ca= 6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:5= 8:16

SUMMARY: AddressSanitizer: heap-buffer-overflow coreutils/src/o= d.c:1570:14 in dump_strings
Shadow bytes around the buggy address:
= =C2=A0 0x0c2a7fff8040: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa
= =C2=A0 0x0c2a7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =C2=A0 0x0c2a7fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =C2=A0 0x0c2a7fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =3D>0x0c2a7fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[01]
= =C2=A0 0x0c2a7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
S= hadow byte legend (one shadow byte represents 8 application bytes):
=C2= =A0 Addressable: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 00
=C2=A0 Partially = addressable: 01 02 03 04 05 06 07
=C2=A0 Heap left redzone: =C2=A0 =C2= =A0 =C2=A0 fa
=C2=A0 Freed heap region: =C2=A0 =C2=A0 =C2=A0 fd
=C2= =A0 Stack left redzone: =C2=A0 =C2=A0 =C2=A0f1
=C2=A0 Stack mid redzone:= =C2=A0 =C2=A0 =C2=A0 f2
=C2=A0 Stack right redzone: =C2=A0 =C2=A0 f3=C2=A0 Stack after return: =C2=A0 =C2=A0 =C2=A0f5
=C2=A0 Stack use afte= r scope: =C2=A0 f8
=C2=A0 Global redzone: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0f9
=C2=A0 Global init order: =C2=A0 =C2=A0 =C2=A0 f6
=C2=A0 Poi= soned by user: =C2=A0 =C2=A0 =C2=A0 =C2=A0f7
=C2=A0 Container overflow: = =C2=A0 =C2=A0 =C2=A0fc
=C2=A0 Array cookie: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0ac
=C2=A0 Intra object redzone: =C2=A0 =C2=A0bb
=C2=A0 A= San internal: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fe
=C2=A0 Left alloca r= edzone: =C2=A0 =C2=A0 ca
=C2=A0 Right alloca redzone: =C2=A0 =C2=A0cb=3D=3D1151699=3D=3DABORTING
```

###### Desc= ription
```
1513 static bool
1514 dump_strings (void)1515 {
1516 =C2=A0 idx_t bufsize =3D MAX (100, string_min);
1517 = =C2=A0 char *buf =3D xmalloc (bufsize);
...
1550 =C2=A0 =C2=A0 =C2=A0= while (!limit_bytes_to_format || address < end_offset)
1551 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 {
1552 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (i =3D= =3D bufsize)
1553 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 buf =3D xpal= loc (buf, &bufsize, 1, -1, sizeof *buf);
1554 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 ok &=3D read_char (&c);
1555 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 address++;
1556 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (c &= lt; 0)
1557 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
1558 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 free (buf);
1559 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ok;
1560 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 }
1561 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (c = =3D=3D '\0')
1562 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 brea= k; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* It is; print this str= ing. =C2=A0*/
1563 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (! isprint (c))=
1564 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 goto tryline; =C2=A0 =C2= =A0 =C2=A0 /* It isn't; give up on this string. =C2=A0*/
1565 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 buf[i++] =3D c; =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*= String continues; store it all. =C2=A0*/
1566 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 }
...
1570 =C2=A0buf[i] =3D 0;
1571 =C2=A0format_address (addr= ess - i - 1, ' ');
```
The vulnerability occurs in the= dump_strings function. The variable buf is allocated with a size of bufsiz= e, which is limited to a maximum of 100 bytes.

However, inside the w= hile loop, the variable i is incremented by 1 on each iteration. When the a= ttached PoC file is passed as arguments to the od program, the value of i c= an exceed 100. This leads to a heap buffer overflow vulnerability.

A= n attacker could potentially exploit this by manipulating both the i and c = values, resulting in dangerous modifications to the buf chunk on the heap.<= br>
Therefore, we recommend adding proper bounds checking for the i vari= able to prevent this issue.
--000000000000e77221063838f2d3-- --000000000000e77222063838f2d5 Content-Type: application/octet-stream; name=od-poc Content-Disposition: attachment; filename=od-poc Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mc8tzb030 dUUhLQAtUwBLAHXrZAE0ICfoA+bm5uYXFxcXFxcXFyEXFxcXFxcXFxcXFxcXFxcXe3t7e3t7e3t7 e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3sUe3t7e4AO//97e3t7e3t7e3t7e3N7e5B7e3t7i4eL i4uLi4uLi4uLi4t9i4uLi4uLi4uLi0UALQAtUwBLAHXrgAA0ZAAnJycnJycnJycJCQkJCQkJCQkJ CQkJCQkJCSkaAQAJDAkJ5t7m5ubm5ubm5ubm5ubmJwAJ9QgJCQkJICcnJycnDScPi4uLi4uLi4t7 e3t7e3t7e3t7e3t9e3t7AXt7e217e+bme3t7Wnt7e3t7e3t7e3t7e3t7CQkJCQkJCQkJCSkaAQAJ DAkJ5t7m5ubm5mbm5ubm5ubmJwAJ9QgJCQkJICfm5uYXFxcXFxcXFyEXFxcXFxcXFxcXFxcXFxcX e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3sUe3t7e4AO//97e3t7e3t7e3t7e3N7 e5B7e3t7i4eLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi0UALQAtUwBLAHXrgAA0ICcn5ubm5ubm++bm 5ubm5ubm5t57e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7gA7//3t7XHt7 e3t7e3t7c3t7kHt7e3uLh4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLRQAtAC1TAEsAdeuAADQgJyfm 5ubm5ub75ubm5ubm5ubm3ubm5ubm5uaLi3t7e3t7e3t7e3t7e317e3sBe3t7bXt75uZAAHtae3t7 e3t7e3t7e3t7e3sJCXuXe3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7e3t7e3t7e3t7e3t7e3t7 c3t7kHt7exoBAAkMCQnm3ubm5ubm5ubm5ubm5uYnAAn1CAkJCQkgJycnJycNJw+Li4uLi4uLi3t7 e3t7e3t7e3t7e317e3sBe3t7bXt75uZ7e3tae3t7e3t7e3t7e3t7e3sJCQkJCQkJCQkJKRoBAAkM CQnm3ubm5ubmZubm5ubm5uYnAAn1CAkJCQkgJ+bm5hcXFxcXFxcXIRcXFxcXFxcXFxcXFxcXFxd7 e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7gA7//3t7e3t7e3t7e3t7c3t7 kHt7e3uLh4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLRQAtAC1TAEsAdeuAADQgJyfm5ubm5ub75ubm 5ubm5ubm3nt7e3t7e3tTADQAdUUALQAtUwA0AHMtAC1TADQAdQAtAC1TADQAQAAtdlMANAAtTmIA cwB1RQAtAC1TADQAcwB1RQAtAC1TADQAGBgYGB8JAC1OYgAtTmIALQAnLXc0ACcAcwA0AC1TADQA LXZTCzQASC0ALVMANABzLQAtUwA0AHUnAC0ALQAtamIAQoJTYgAtamIAQuWAAC1qYgBCYgAtamIA QoKAAC1TADQABPuARQAtUwA0AAQAHxB/RQAtUwA0AOuAE4BFAC1TADQAf0UALVMANACM+4BFAC1T ADQABAAfCQAwAC1TADQABAAfCQAtAAkVHw8PAC1qYgBC5YAALWpiAEJiAGIALWpiAEKCgAAtamIA QoIALWpiAC1qYgAuAApkU2IALWpiAC1qYgAtamIALWpiAGIALWpiAEKCgAAtamIAQoIALWpiAC1q YgAuAApkU2IALWpiAC1qYgBTYgAtamIAQuWAAC1qYgBCYgAtamIAQoKAAC1qYgBCglNiAC1qYgBC 5YAALWpiAEJiAC1qYgBCgoAALVMANAAE+4BFAC1TADQABAAfEH9FAC0AADQA62QTgEUALVMANAB/ RQAtUwA0AIz7gEUALVMANAAEAB8JADAALVMANAAEAB8JAC0ACRUfDw8ALWpiAELlgAAtamIAQmIA LWpiAEKCgAAtamIAQoJTYgAtamIAQuWAAC1qYgAnAC1OYgAtTmIALQAnRSdAAC12UwA0AEgfRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUA AAAgRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFUEVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRV9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRURFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVORUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFAUVFRUVFRUUoRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUAABAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUNFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRblFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFvr6+vr6+vkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFKEVFRUVFRUVFRUVFRUVFRUXTRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVmRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFh0VF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUvRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUqRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUXoA0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFR0VFRUVFRUVFRUVFRUVFRUVFRUVFRSNFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRf9/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUBRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUUtRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVBFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFgP9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRf9/AABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRSdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVNFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF ZUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFZkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRRBFRUVFRUVFRUVFRUVFRUVF RUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFExMTExMTExMTExMTExMTExMTExMTExMTRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVS RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUXFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUX/RUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF/0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRTxFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFJkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRShFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF Ra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2t ra2tra2tra2tra2tra2tra2tra2trUVFRV9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUE AEVFRUU2RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRShFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVkRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQABIEVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVoRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUtRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUwRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFPEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFgABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUX/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUlRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF30VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF7kVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVRRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZAAAAEVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUsRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFNkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUrRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZUVFRUVFRVZFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUNFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFN0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQ0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFW0VF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSlFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVbRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFf////0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVhFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFAQBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFOEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRTNFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVjRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUWA /0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFOkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU2RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRWdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRWRFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRStFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUBAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRQD/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFvr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+RUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRT1FRUVFRUVFRUVFRURF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVtFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVLRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRc9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RQBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVERUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFPkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVdRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSdFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQABRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFOkVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFReZFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWdFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFI0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU4RUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUAAAQARUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFMEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRStFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVlRUVFRUVFVkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFEEVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFW0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZkVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFVkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFD0VFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVWRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF Q0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYEVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF t0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWJFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUQRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUt RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRRMTExMTExMTExMTExMTExMTExMTExMTE0VFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFMEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFBUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFM0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF TUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUQRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUrRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFL0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFVUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFaEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVkRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRVtFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRSAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF AEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFAAFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU6RUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFV0VFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFWUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVF//8AAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU6RUVFRUVFRUVFRUVFRUVFRUVFi0VFRUVFRUVFRUVF RUVFRUVFRUVF5kVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF DEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUUQRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRRBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUU7RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUzRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFUUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUnRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRadFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRf////9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFK0VFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVW RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUXMRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVCRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQlFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFUUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFNEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RVVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUBAAAARUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF//8AAEVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUTExMTExMTExMTExMTExMTExMTExMT ExNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUzRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFgP9FRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZ0VFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRWBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRWBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRTpFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRZNFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRWRFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVZFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRShFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRSNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUhF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQD/ RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF ReZFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUhFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUUpRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUJFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUkRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRb9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRV1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRQAQAABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF /39FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFYUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFREVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUjRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZEVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVjRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUJFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRYBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRU1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSlFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRV1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVe6urq6urq6ukVWABAAVwA= --000000000000e77222063838f2d5 Content-Type: application/octet-stream; name="replay_od.c" Content-Disposition: attachment; filename="replay_od.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mc8tzb0y1 Ly8gZ2NjIC1vIHJlcGxheV9vZCByZXBsYXlfb2QuYwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNs dWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKI2RlZmluZSBNQVhfQ01ETElORV9M RU4gMTAwMDAwCiNkZWZpbmUgTUFYX0NNRExJTkVfUEFSIDEwMDAKCmludCBtYWluKCkgewogICAg c3RhdGljIGNoYXIgaW5fYnVmW01BWF9DTURMSU5FX0xFTl07CiAgICBzdGF0aWMgY2hhciAqYXJn dltNQVhfQ01ETElORV9QQVJdOwoKICAgIGNoYXIgKnB0ciA9IGluX2J1ZjsKICAgIGludCByYyA9 IDA7CgogICAgaW50IG4gPSByZWFkKDAsIGluX2J1ZiwgTUFYX0NNRExJTkVfTEVOIC0gMik7CiAg ICBpZiAobiA8PSAwKSB7CiAgICAgICAgcGVycm9yKCJyZWFkIik7CiAgICAgICAgZXhpdCgxKTsK ICAgIH0KCiAgICB3aGlsZSAoKnB0cikgewogICAgICAgIGFyZ3ZbcmNdID0gcHRyOwoKICAgICAg ICBpZiAoYXJndltyY11bMF0gPT0gMHgwMiAmJiAhYXJndltyY11bMV0pIHsKICAgICAgICAgICAg YXJndltyY10rKzsKICAgICAgICB9CgogICAgICAgIHJjKys7CgogICAgICAgIHdoaWxlICgqcHRy KSBwdHIrKzsKICAgICAgICBwdHIrKzsKICAgIH0KICAgIGFyZ3ZbMF0gPSAib2QiOwoKICAgIC8v IGV4ZWMgb2Qgd2l0aCBwYXJzZWQgYXJndgogICAgZXhlY3ZwKCJzcmMvb2QiLCBhcmd2KTsKCiAg ICBwZXJyb3IoImV4ZWN2cCBmYWlsZWQiKTsKICAgIHJldHVybiAxOwp9Cg== --000000000000e77222063838f2d5-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 24 Jun 2025 00:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jaehoon Jang , 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.17507242177650 (code B ref 78880); Tue, 24 Jun 2025 00:17:02 +0000 Received: (at 78880) by debbugs.gnu.org; 24 Jun 2025 00:16:57 +0000 Received: from localhost ([127.0.0.1]:33673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uTrLM-0001zE-Hx for submit@debbugs.gnu.org; Mon, 23 Jun 2025 20:16:57 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:52604) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uTrLK-0001ya-3G for 78880@debbugs.gnu.org; Mon, 23 Jun 2025 20:16:54 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a507e88b0aso4010431f8f.1 for <78880@debbugs.gnu.org>; Mon, 23 Jun 2025 17:16:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750724208; x=1751329008; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=AesVdTSl8DHbn2ZZSD2GXiqc6J3DkDkSGERfNHmWahM=; b=gyohqJ7doUAVKSiS9j/ZT91Y6TRRSi6DC8J5Pc7T4CL93zEfuv2d2AWfR4TBvS0LAi fM2sXZM9ZepVbmy1nLs2J3gHIpNpLftgmErxvWqeDmi6Pw3huF5shvFZ/va4iAVqYwEn HQBozAN7c9visTj1KiaGRBSy64EofNI+beEDwmWvLNUsk9b+drV5jaqETytC4doUal0F Kny8knFAHKZqI5VBr6G+OlpjBAhcjdIqFDKs1qIiI7LMRwYe2wNutYrP1t/qtlXSzxfu KyEjq4ujFFF7W+mITWX4FdreP3ULeVaTpSdkmbEA0VwHUqx6UrqPE7TnOrxYgjlAObfv wZ6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750724208; x=1751329008; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AesVdTSl8DHbn2ZZSD2GXiqc6J3DkDkSGERfNHmWahM=; b=OKY88i67VUAAOmG5piJ1ytfLMpDAsZcS/QtJHHEhHPY+D9qup8diU1UFC0RpWZf1pb XF03HWGvoEpa6G45xovD9UIK7tZOF+oy1D1Al9JwamlCOQ+CwBKnI/6Yy8p95fpMw/SB Zrb3cBgoa0phKMlGXnh9U0FsPKC/sfhRlF4Mb1QV/zhGP9Gk46ab2V9I4WOVXjZ9buCP TGN/WFQ1gqXK+KCIttAUcckG2VFQKMciLteAkLtkrkFidJ8apdQdwMQm81ITNzHs8lr0 Dj8oQ20qje6fCSk5UsgN0Jae1wSUFR0UPu2y+PY8UkjBms3fMNKWVvG91gpumZUuOo3n TeOQ== X-Forwarded-Encrypted: i=1; AJvYcCVAecOq0fVkjO7AmbPfzTK4prwxdTNZ/3V2EOfX6ubf07o7XOsz9gaQV1iCR1hHbuaiy/LV2A==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx/mDySrFcHSpWFqNvwJ7dviBAb3mbkKyrz9RjOywGvRgKGdo7K FAlpx9+7fVH6RuaduYbNwnL9e0JevbHGohTR91aie30MEW7XCIJ4kVFFzH4ZBw== X-Gm-Gg: ASbGncslfo90C0NPv1jWXQ/Wj2MmEFeTRvRnMYZihX9tYMMTRnyE6+AynhWkAj2iUgI bmZMxUdG0Zl4LZGNpHlUc5HA8C3LiXP13JriLUbsXP1I53XO61jkU+zYxK6ch7K8Nr1vXk0onZf eshiBRL+G0xsDBNA7jegm/1WVH5Jp5qPhDadSVacmORqpsj/l+N1oX6YRwaa+umcQ1Est02q0// 6tkHzZwB8Dcjn8+74xOymzGa6JXjUZsJuncGs5JBO0OA6OJg1grKWJTZrlp6S1E1fF1byvTI6d3 TyB5avhbh7mvo8BTGmclLR65Zbb2J/Oc8O5LGMFgPvmHKhVd20WUBxbyBmUPihgUVo0b9AldNrD xEHPeaXl5Vp9UrcW3X1JbzD8umMDZqrAUI9o2sDnrP1ESQqeRrjLY X-Google-Smtp-Source: AGHT+IGCw/g7miHLKIDq3+4HAbZ2Ghjrg3ecBXfa9RHwSJpyhJLBo5dYxhKTa4c/ziAZmOTp94B/uw== X-Received: by 2002:a05:6000:2289:b0:3a6:d2ae:830 with SMTP id ffacd0b85a97d-3a6d2ae0c25mr12313915f8f.56.1750724207499; Mon, 23 Jun 2025 17:16:47 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a6e80ffc9fsm431621f8f.72.2025.06.23.17.16.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Jun 2025 17:16:46 -0700 (PDT) Message-ID: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> Date: Tue, 24 Jun 2025 01:16:44 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 23/06/2025 09:24, Jaehoon Jang wrote: > ================================================================= > ==1151699==ERROR: AddressSanitizer: heap-buffer-overflow on address > 0x6150000004f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408 > WRITE of size 1 at 0x6150000004f9 thread T0 > #0 0x4d153e in dump_strings coreutils/src/od.c:1570:14 Nice fuzzing. There looks to be all sorts of off by one errors in the dump_strings() function. The issue is most easily demonstrated with: printf '%100s' | tr ' ' . | valgrind od -N100 -S99 The following should fix this I think. I've only analyzed it for a few minutes, so I'll look more tomorrow. The following should also fix the printed offset, and also support the -N100 -S100 combination. thanks! Pádraig. diff --git a/src/od.c b/src/od.c index 88d467c73..7f0cd5ab7 100644 --- a/src/od.c +++ b/src/od.c @@ -1513,7 +1513,7 @@ dump (void) static bool dump_strings (void) { - idx_t bufsize = MAX (100, string_min); + idx_t bufsize = MAX (100, string_min + 1); char *buf = xmalloc (bufsize); uintmax_t address = n_bytes_to_skip; bool ok = true; @@ -1527,7 +1527,7 @@ dump_strings (void) tryline: if (limit_bytes_to_format - && (end_offset < string_min || end_offset - string_min <= address)) + && (end_offset < string_min || end_offset - string_min < address)) break; for (i = 0; i < string_min; i++) @@ -1549,7 +1549,7 @@ dump_strings (void) Now see if it is terminated with a null byte. */ while (!limit_bytes_to_format || address < end_offset) { - if (i == bufsize) + if (i == bufsize - 1) buf = xpalloc (buf, &bufsize, 1, -1, sizeof *buf); ok &= read_char (&c); address++; @@ -1568,7 +1568,7 @@ dump_strings (void) /* If we get here, the string is all printable and null-terminated, so print it. It is all in 'buf' and 'i' is its length. */ buf[i] = 0; - format_address (address - i - 1, ' '); + format_address (address - i, ' '); for (i = 0; (c = buf[i]); i++) { From unknown Fri Sep 19 23:21:06 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jaehoon Jang Subject: bug#78880: closed (Re: bug#78880: od Heap-buffer overflow) Message-ID: References: <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> X-Gnu-PR-Message: they-closed 78880 X-Gnu-PR-Package: coreutils Reply-To: 78880@debbugs.gnu.org Date: Tue, 24 Jun 2025 14:04:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1750773843-1793-1" This is a multi-part message in MIME format... ------------=_1750773843-1793-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #78880: od Heap-buffer overflow which was filed against the coreutils package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 78880@debbugs.gnu.org. --=20 78880: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78880 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1750773843-1793-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 78880-done) by debbugs.gnu.org; 24 Jun 2025 14:03:59 +0000 Received: from localhost ([127.0.0.1]:44509 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uU4Fh-0000SE-7t for submit@debbugs.gnu.org; Tue, 24 Jun 2025 10:03:59 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:57479) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uU4Fb-0000Qh-RR for 78880-done@debbugs.gnu.org; Tue, 24 Jun 2025 10:03:53 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso42288145e9.2 for <78880-done@debbugs.gnu.org>; Tue, 24 Jun 2025 07:03:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750773825; x=1751378625; darn=debbugs.gnu.org; h=in-reply-to:content-language:references:to:from:subject:user-agent :mime-version:date:message-id:sender:from:to:cc:subject:date :message-id:reply-to; bh=G8vmo0ftg5u6avGPtae8xMUKmek9ky7ekNX+C8KDkbA=; b=CpUX0EvjOvLi2tYzI58jyQwse3x4VpJWzf9eDsgHCwYPB5H5jz2HWeunIyMeRvtXob syK14VpoBY7099hq7+WshE3wvAqxw/DhMWFou+5ZkD+7eGpr7AoNkmDoYtvIc6VqdxO3 1FlYuCl2Uwx7ThBkgRj6lQIDAU2YBeJ6QFHL7KCauv1SabRC+YWqerAoIKj6/BQeLN39 78z0d5XrVUrAlCutkoiL/5BR6McR9VshAFFW1PK5OP+thvfZdxFWWayWiP4w/j4NX2ec E6cakaYXy/Q10Lga7mkHnOXESz3hh0baub61Sxx+gx+iXuuntXDDiTm1/MyW1Ucb/r5T CUmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750773825; x=1751378625; h=in-reply-to:content-language:references:to:from:subject:user-agent :mime-version:date:message-id:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G8vmo0ftg5u6avGPtae8xMUKmek9ky7ekNX+C8KDkbA=; b=Q70BuER4+y9+31q6PwMb3NmgB3G/fFLcx1TPQlq5ruWc0357KxDINQSg5I40DFatsg 3BxZALryMsP0SlUT7//gtk7bBAqDC/GB9raE74rIb+07m7Xoif0yKtUmsJWdRoxzijQF SMMR/rMVazPeWGXH0xZAPLTWNwFxWCefp/PgAW+s2S5hFxucjyKUwsYponjeD2apcYWK AR93TlFuyTXrqqTBiwNmGAWEg8z50m+ke2qjkI6qfJgFrU75YOOoeL5wDX9KqVp/XIpv iXteSWvMXLGz8qkd1UuiCE5pYdyJXYXqZlUAzNylsnEiMNiucvg2BusIG2FvNpPuTT2y K2Bw== X-Forwarded-Encrypted: i=1; AJvYcCWNE/FBKKPAGxXjp2LFCKh27TeChUJOHH9yhjqdrzPd+aPuIbDeq+0cJc+OM5ur2wzEjYsGW0vUWXO1@debbugs.gnu.org X-Gm-Message-State: AOJu0Yz3fcSbmXAnEQEfHilJv+5kkthS0KpQl0zSfTM+HNtK1OVEfJGd PZ297JxZcwuUI4zk8Br6OoGEfRXZEOm8/OulBXaC/FYxvAFJhUbMdThMi5NJgg== X-Gm-Gg: ASbGnctNM7Yq9Kj3htX5oTmV3h2UCiVn2l3iAe4K0/83GxK8XA6xyWCKQ1U+adM6pSJ kJWdXDV2chXcoi+4Hg3tP5BDQhkOZD5a3T+3zQgelv7fGEHjumLKconjQjNpeiuBGHIQTeoTj2i 4Vtu1ROtSkyoD5P6g14HDKjk3wnoNyvtH9Sngc+yEVn2i2SZwf5ZlbOtwZ3HM+3e3hSMUifI+ML wwM+Yp2uM1st5goyGJPa2O6B7GXXn8GhhQmv8v4uEtW7gSDVezQhr0saf8vRHThQ4OdAZrZxAVC fBOHYGT34ceiKYs7TGPA28yJnmliTJLgqhKFzJ73QBD/hEmbEllY1+ytn7zetacVtXBoMwwYLGm qswoQnXr8D2f/RnDini2Pd/fIDn3aSiBplwsUopf4yQ== X-Google-Smtp-Source: AGHT+IGOHXbFFniCN2sPwqVC9qG34rjC0DdhXMbI6ud8Kwkg55CCBjeF6LCr2iDJo54O9zCctsbBEQ== X-Received: by 2002:a05:600c:3115:b0:453:9bf:6f7c with SMTP id 5b1f17b1804b1-453657be1bemr176757435e9.9.1750773823513; Tue, 24 Jun 2025 07:03:43 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a6e805d342sm2046318f8f.21.2025.06.24.07.03.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Jun 2025 07:03:42 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------cI8tyfGLPSZK1uoSlb7PUDNI" Message-ID: <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> Date: Tue, 24 Jun 2025 15:03:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta Subject: Re: bug#78880: od Heap-buffer overflow From: =?UTF-8?Q?P=C3=A1draig_Brady?= To: Jaehoon Jang , 78880-done@debbugs.gnu.org References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> Content-Language: en-US In-Reply-To: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78880-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------cI8tyfGLPSZK1uoSlb7PUDNI Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 24/06/2025 01:16, Pádraig Brady wrote: > On 23/06/2025 09:24, Jaehoon Jang wrote: >> ================================================================= >> ==1151699==ERROR: AddressSanitizer: heap-buffer-overflow on address >> 0x6150000004f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408 >> WRITE of size 1 at 0x6150000004f9 thread T0 >> #0 0x4d153e in dump_strings coreutils/src/od.c:1570:14 > > Nice fuzzing. > > There looks to be all sorts of off by one errors in the dump_strings() function. > The issue is most easily demonstrated with: > > printf '%100s' | tr ' ' . | valgrind od -N100 -S99 > > The following should fix this I think. > I've only analyzed it for a few minutes, so I'll look more tomorrow. > The following should also fix the printed offset, > and also support the -N100 -S100 combination. The previous patch didn't handle the invalid address output in all cases. Also I didn't see a need for both read() loops in this function, so I simplified the function in the attached more complete patch. Marking this as done. I'll apply this later. thanks again, Padraig. --------------cI8tyfGLPSZK1uoSlb7PUDNI Content-Type: text/x-patch; charset=UTF-8; name="0001-od-fix-various-off-by-one-issues-with-strings-with-N.patch" Content-Disposition: attachment; filename*0="0001-od-fix-various-off-by-one-issues-with-strings-with-N.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwNTliYzNlMDE4NTRiYWU4YTQ0M2YxYWNmMTZiODM3MzRiYWFmYzFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogVHVlLCAyNCBKdW4gMjAyNSAwMToxNzoxMiAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIG9kOiBmaXggdmFyaW91cyBvZmYtYnktb25lIGlzc3Vl cyB3aXRoIC0tc3RyaW5ncyB3aXRoIC1OCgoqIHNyYy9vZC5jIChkdW1wX3N0cmluZ3MpOiBU aGVyZSBhcmUgdGhyZWUgcmVsYXRlZCBpc3N1ZXMgaGVyZQpkdWUgdG8gbm90IGFjY291bnRp bmcgZm9yIHRoZSB0ZXJtaW5hdGluZyBOVUwgY2hhciBhcHByb3ByaWF0ZWx5LgoKMS4gRW5z dXJlIEJVRiBhbHdheXMgaGFzIGVub3VnaCBzcGFjZSBmb3IgdGhlIHRlcm1pbmF0aW5nIE5V TC4KVGhpcyBhdm9pZHMgQ1dFLTEyMjogSGVhcC1iYXNlZCBCdWZmZXIgT3ZlcmZsb3csCndo ZXJlIHdlIHdyb3RlIGEgc2luZ2xlIE5VTCBieXRlIGRpcmVjdGx5IGFmdGVyIHRoZSBhbGxv Y2F0ZWQgYnVmZmVyLgpJLmUuLCB0aGVyZSBzaG91bGQgYmUgbm8gYnVmZmVyIG92ZXJmbG93 IHdpdGg6CiAgcHJpbnRmICclMTAwcycgfCBvZCAtTjEwMCAtUzEKCjIuIEVuc3VyZSB3ZSBz dXBwb3J0IC1TID09IC1OIChFTkRfT0ZGU0VUIC0gU1RSSU5HX01JTiA9PSBBRERSRVNTKToK SS5lLiwgdGhlcmUgc2hvdWxkIGJlIG91dHB1dCB3aXRoOgogIHByaW50ZiAnJTEwMHMnIHwg b2QgLU4xMCAtUzEwCgozLiBFbnN1cmUgd2UgYWx3YXlzIG91dHB1dCBhIHZhbGlkIGFkZHJl c3MgYnkgZW5zdXJpbmcKdGhlIEFERFJFU1MgYW5kIEkgdmFyaWFibGVzIGFyZSBrZXB0IGlu IHN5bmMuCkkuZS4sIHRoaXMgc2hvdWxkIG91dHB1dCBhZGRyZXNzIDAwMDAwMDAgbm90IDE3 Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc6CiAgcHJpbnRmICclMTAwcycgfCBvZCAtTjEwIC1TMQoK QXMgd2VsbCBhcyBmaXhpbmcgdGhlc2Ugd2Ugc2ltcGxpZnkgYnkgdXNpbmcgYSBzaW5nbGUg bG9vcAp0byByZWFkIHRoZSBkYXRhLCByYXRoZXIgdGhhbiB0d28uCgoqIGRvYy9jb3JldXRp bHMudGV4aSAob2QgaW52b2NhdGlvbik6IENsYXJpZnkgdGhhdCAtTgppbXBsaWNpdGx5IE5V TCB0ZXJtaW5hdGVzIHN0cmluZ3MuCiogdGVzdHMvb2Qvb2QtTi5zaDogQWRkIHRlc3QgY2Fz ZXMuCiogTkVXUzogTWVudGlvbiB0aGUgYnVnIGZpeGVzLgoKRml4ZXMgaHR0cHM6Ly9idWdz LmdudS5vcmcvNzg4ODAKLS0tCiBORVdTICAgICAgICAgICAgICAgfCAgNCArKysrCiBkb2Mv Y29yZXV0aWxzLnRleGkgfCAgMiArKwogc3JjL29kLmMgICAgICAgICAgIHwgNTAgKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvb2Qvb2Qt Ti5zaCAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiA0IGZpbGVzIGNoYW5n ZWQsIDUxIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05F V1MgYi9ORVdTCmluZGV4IDhiM2Q5ZDNjYy4uYTA1ZDhmMWJhIDEwMDY0NAotLS0gYS9ORVdT CisrKyBiL05FV1MKQEAgLTEyLDYgKzEyLDEwIEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBjb3B5 aW5nIHRvIG5vbi1ORlMgZmlsZXMgZnJvbSBORlN2NCBmaWxlcyB3aXRoIHRyaXZpYWwgQUNM cy4KICAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy05LjZdCiAKKyAgb2QgLS1zdHJp bmdzIHdpdGggLU4gbm93IHdvcmtzIGNvcnJlY3RseS4gIFBldmlvdXNseSBvZCBtaWdodAor ICB3cml0ZSBhIE5VTCBieXRlIGFmdGVyIGEgaGVhcCBidWZmZXIsIG9yIG91dHB1dCBpbnZh bGlkIGFkZHJlc3Nlcy4KKyAgW1RoZXNlIGJ1Z3Mgd2VyZSBwcmVzZW50IGluICJ0aGUgYmVn aW5uaW5nIi5dCisKICAgc29ydCB3aXRoIGtleSBjaGFyYWN0ZXIgb2Zmc2V0cyBvZiBTSVpF X01BWCwgY291bGQgaW5kdWNlCiAgIGEgcmVhZCBvZiAxIGJ5dGUgYmVmb3JlIGFuIGFsbG9j YXRlZCBoZWFwIGJ1ZmZlci4gRm9yIGV4YW1wbGU6CiAgICdzb3J0ICswLjE4NDQ2NzQ0MDcz NzA5NTUxNjE1UiBpbnB1dCcgb24gNjQgYml0IHN5c3RlbXMuCmRpZmYgLS1naXQgYS9kb2Mv Y29yZXV0aWxzLnRleGkgYi9kb2MvY29yZXV0aWxzLnRleGkKaW5kZXggYTFkNDVmYjMwLi44 NjVjZWZmMDUgMTAwNjQ0Ci0tLSBhL2RvYy9jb3JldXRpbHMudGV4aQorKysgYi9kb2MvY29y ZXV0aWxzLnRleGkKQEAgLTIwNzUsNiArMjA3NSw4IEBAIGxlYXN0IEB2YXJ7Ynl0ZXN9IGNv bnNlY3V0aXZlIHByaW50YWJsZSBjaGFyYWN0ZXJzLAogZm9sbG93ZWQgYnkgYSB6ZXJvIGJ5 dGUgKEFTQ0lJIE5VTCkuCiBQcmVmaXhlcyBhbmQgc3VmZml4ZXMgb24gQHZhcntieXRlc30g YXJlIGludGVycHJldGVkIGFzIGZvciB0aGUKIEBvcHRpb257LWp9IG9wdGlvbi4KK0lmIGNv bWJpbmVkIHdpdGggdGhlIEBvcHRpb257LU59IG9wdGlvbiwgdHJ1bmNhdGVkIHN0cmluZ3MK K2FyZSBjb25zaWRlcmVkIEFTQ0lJIE5VTCB0ZXJtaW5hdGVkLgogCiBJZiBAdmFye2J5dGVz fSBpcyBvbWl0dGVkIHdpdGggQG9wdGlvbnstLXN0cmluZ3N9LCB0aGUgZGVmYXVsdCBpcyAz LgogCmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IDg4ZDQ2N2M3My4u MWM5Nzc0MTQyIDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTUw NSw1MSArMTUwNSwzMyBAQCBkdW1wICh2b2lkKQogfQogCiAvKiBTVFJJTkdTIG1vZGUuICBG aW5kIGVhY2ggInN0cmluZyBjb25zdGFudCIgaW4gdGhlIGlucHV0LgotICAgQSBzdHJpbmcg Y29uc3RhbnQgaXMgYSBydW4gb2YgYXQgbGVhc3QgJ3N0cmluZ19taW4nIEFTQ0lJCi0gICBn cmFwaGljIChvciBmb3JtYXR0aW5nKSBjaGFyYWN0ZXJzIHRlcm1pbmF0ZWQgYnkgYSBudWxs LgorICAgQSBzdHJpbmcgY29uc3RhbnQgaXMgYSBydW4gb2YgYXQgbGVhc3QgU1RSSU5HX01J TgorICAgcHJpbnRhYmxlIGNoYXJhY3RlcnMgdGVybWluYXRlZCBieSBhIE5VTCBvciBFTkRf T0ZGU0VULgogICAgQmFzZWQgb24gYSBmdW5jdGlvbiB3cml0dGVuIGJ5IFJpY2hhcmQgU3Rh bGxtYW4gZm9yIGEKICAgIHRyYWRpdGlvbmFsIHZlcnNpb24gb2Ygb2QuICBSZXR1cm4gdHJ1 ZSBpZiBzdWNjZXNzZnVsLiAgKi8KIAogc3RhdGljIGJvb2wKIGR1bXBfc3RyaW5ncyAodm9p ZCkKIHsKLSAgaWR4X3QgYnVmc2l6ZSA9IE1BWCAoMTAwLCBzdHJpbmdfbWluKTsKKyAgaWR4 X3QgYnVmc2l6ZSA9IE1BWCAoMTAwLCBzdHJpbmdfbWluICsgMSk7CiAgIGNoYXIgKmJ1ZiA9 IHhtYWxsb2MgKGJ1ZnNpemUpOwogICB1aW50bWF4X3QgYWRkcmVzcyA9IG5fYnl0ZXNfdG9f c2tpcDsKICAgYm9vbCBvayA9IHRydWU7CiAKICAgd2hpbGUgKHRydWUpCiAgICAgewotICAg ICAgaWR4X3QgaTsKLSAgICAgIGludCBjOwotCi0gICAgICAvKiBTZWUgaWYgdGhlIG5leHQg J3N0cmluZ19taW4nIGNoYXJzIGFyZSBhbGwgcHJpbnRpbmcgY2hhcnMuICAqLwogICAgIHRy eWxpbmU6CisgICAgICBpZHhfdCBpID0gMDsKKyAgICAgIGludCBjID0gMTsgIC8qIEluaXQg dG8gMSBzbyBjYW4gZGlzdGluZ3Vpc2ggaWYgTlVMIHJlYWQuICAqLwogCiAgICAgICBpZiAo bGltaXRfYnl0ZXNfdG9fZm9ybWF0Ci0gICAgICAgICAgJiYgKGVuZF9vZmZzZXQgPCBzdHJp bmdfbWluIHx8IGVuZF9vZmZzZXQgLSBzdHJpbmdfbWluIDw9IGFkZHJlc3MpKQorICAgICAg ICAgICYmIChlbmRfb2Zmc2V0IDwgc3RyaW5nX21pbiB8fCBlbmRfb2Zmc2V0IC0gc3RyaW5n X21pbiA8IGFkZHJlc3MpKQogICAgICAgICBicmVhazsKIAotICAgICAgZm9yIChpID0gMDsg aSA8IHN0cmluZ19taW47IGkrKykKLSAgICAgICAgewotICAgICAgICAgIG9rICY9IHJlYWRf Y2hhciAoJmMpOwotICAgICAgICAgIGFkZHJlc3MrKzsKLSAgICAgICAgICBpZiAoYyA8IDAp Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGZyZWUgKGJ1Zik7Ci0gICAgICAgICAg ICAgIHJldHVybiBvazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICBpZiAoISBpc3ByaW50 IChjKSkKLSAgICAgICAgICAgIC8qIEZvdW5kIGEgbm9uLXByaW50aW5nLiAgVHJ5IGFnYWlu IHN0YXJ0aW5nIHdpdGggbmV4dCBjaGFyLiAgKi8KLSAgICAgICAgICAgIGdvdG8gdHJ5bGlu ZTsKLSAgICAgICAgICBidWZbaV0gPSBjOwotICAgICAgICB9Ci0KLSAgICAgIC8qIFdlIGZv dW5kIGEgcnVuIG9mICdzdHJpbmdfbWluJyBwcmludGFibGUgY2hhcmFjdGVycy4KLSAgICAg ICAgIE5vdyBzZWUgaWYgaXQgaXMgdGVybWluYXRlZCB3aXRoIGEgbnVsbCBieXRlLiAgKi8K KyAgICAgIC8qIFN0b3JlIGNvbnNlY3V0aXZlIHByaW50YWJsZSBjaGFyYWN0ZXJzIHRvIEJV Ri4gICovCiAgICAgICB3aGlsZSAoIWxpbWl0X2J5dGVzX3RvX2Zvcm1hdCB8fCBhZGRyZXNz IDwgZW5kX29mZnNldCkKICAgICAgICAgewotICAgICAgICAgIGlmIChpID09IGJ1ZnNpemUp CisgICAgICAgICAgaWYgKGkgPT0gYnVmc2l6ZSAtIDEpCiAgICAgICAgICAgICBidWYgPSB4 cGFsbG9jIChidWYsICZidWZzaXplLCAxLCAtMSwgc2l6ZW9mICpidWYpOwogICAgICAgICAg IG9rICY9IHJlYWRfY2hhciAoJmMpOwogICAgICAgICAgIGFkZHJlc3MrKzsKQEAgLTE1NTgs MTcgKzE1NDAsMjEgQEAgZHVtcF9zdHJpbmdzICh2b2lkKQogICAgICAgICAgICAgICBmcmVl IChidWYpOwogICAgICAgICAgICAgICByZXR1cm4gb2s7CiAgICAgICAgICAgICB9CisgICAg ICAgICAgYnVmW2krK10gPSBjOwogICAgICAgICAgIGlmIChjID09ICdcMCcpCi0gICAgICAg ICAgICBicmVhazsJCS8qIEl0IGlzOyBwcmludCB0aGlzIHN0cmluZy4gICovCisgICAgICAg ICAgICBicmVhazsJCS8qIFByaW50IHRoaXMgc3RyaW5nLiAgKi8KICAgICAgICAgICBpZiAo ISBpc3ByaW50IChjKSkKLSAgICAgICAgICAgIGdvdG8gdHJ5bGluZTsJLyogSXQgaXNuJ3Q7 IGdpdmUgdXAgb24gdGhpcyBzdHJpbmcuICAqLwotICAgICAgICAgIGJ1ZltpKytdID0gYzsJ CS8qIFN0cmluZyBjb250aW51ZXM7IHN0b3JlIGl0IGFsbC4gICovCisgICAgICAgICAgICBn b3RvIHRyeWxpbmU7CS8qIEdpdmUgdXAgb24gdGhpcyBzdHJpbmcuICAqLwogICAgICAgICB9 CiAKLSAgICAgIC8qIElmIHdlIGdldCBoZXJlLCB0aGUgc3RyaW5nIGlzIGFsbCBwcmludGFi bGUgYW5kIG51bGwtdGVybWluYXRlZCwKLSAgICAgICAgIHNvIHByaW50IGl0LiAgSXQgaXMg YWxsIGluICdidWYnIGFuZCAnaScgaXMgaXRzIGxlbmd0aC4gICovCisgICAgICBpZiAoaSAt ICFjIDwgc3RyaW5nX21pbikKKyAgICAgICAgZ290byB0cnlsaW5lOworCiAgICAgICBidWZb aV0gPSAwOwotICAgICAgZm9ybWF0X2FkZHJlc3MgKGFkZHJlc3MgLSBpIC0gMSwgJyAnKTsK KworICAgICAgLyogSWYgd2UgZ2V0IGhlcmUsIHRoZSBzdHJpbmcgaXMgYWxsIHByaW50YWJs ZSwgc28gcHJpbnQgaXQuICAqLworCisgICAgICBmb3JtYXRfYWRkcmVzcyAoYWRkcmVzcyAt IGksICcgJyk7CiAKICAgICAgIGZvciAoaSA9IDA7IChjID0gYnVmW2ldKTsgaSsrKQogICAg ICAgICB7CmRpZmYgLS1naXQgYS90ZXN0cy9vZC9vZC1OLnNoIGIvdGVzdHMvb2Qvb2QtTi5z aAppbmRleCBiMDU3YzliODMuLjlmOWZlOTE0YiAxMDA3NTUKLS0tIGEvdGVzdHMvb2Qvb2Qt Ti5zaAorKysgYi90ZXN0cy9vZC9vZC1OLnNoCkBAIC0yMCw4ICsyMCw2IEBACiBwcmludF92 ZXJfIG9kCiAKIGVjaG8gYWJjZGVmZyA+IGluIHx8IGZyYW1ld29ya19mYWlsdXJlXwotCi0K IChvZCAtQW4gLU4zIC1jOyBvZCAtQW4gLU4zIC1jKSA8IGluID4gb3V0CiBjYXQgPDxFT0Yg PiBleHAgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCiAgICBhICAgYiAgIGMKQEAgLTI5LDQgKzI3 LDMxIEBAIGNhdCA8PEVPRiA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KIEVPRgogY29t cGFyZSBleHAgb3V0IHx8IGZhaWw9MQogCisjIGNvcmV1dGlscyA8PSA5Ljcgd291bGQgYnVm ZmVyIG92ZXJmbG93IHdpdGgKKyMgYSBzaW5nbGUgTlVMIGJ5dGUgYWZ0ZXIgdGhlIGhlYXAg YnVmZmVyCitwcmludGYgJyUxMDBzJyB8IG9kIC1OMTAwIC1TMSA+IG91dCB8fCBmYWlsPTEK K3ByaW50ZiAnJTA3byAlMTAwc1xuJyAwICcnID4gZXhwIHx8IGZyYW1ld29ya19mYWlsdXJl XworY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorCisjIGNvcmV1dGlscyA8PSA5Ljcgd291 bGQgb3V0cHV0IG5vdGhpbmcKK3ByaW50ZiAnJTEwMHMnIHwgb2QgLU4xMCAtUzEwID4gb3V0 IHx8IGZhaWw9MQorcHJpbnRmICclMDdvICUxMHNcbicgMCAnJyA+IGV4cCB8fCBmcmFtZXdv cmtfZmFpbHVyZV8KK2NvbXBhcmUgZXhwIG91dCB8fCBmYWlsPTEKKworIyBjb3JldXRpbHMg PD0gOS43IHdvdWxkIG91dHB1dCBhbiBpbnZhbGlkIGFkZHJlc3MKK3ByaW50ZiAnJTEwMHMn IHwgb2QgLU4xMCAtUzEgPiBvdXQgfHwgZmFpbD0xCitwcmludGYgJyUwN28gJTEwc1xuJyAw ICcnID4gZXhwIHx8IGZyYW1ld29ya19mYWlsdXJlXworY29tcGFyZSBleHAgb3V0IHx8IGZh aWw9MQorCisjIEVuc3VyZSAtUyBsaW1pdHMgYXBwcm9wcmlhdGVseQorcHJpbnRmICclMTBz XDAwMCcgfCBvZCAtTjExIC1TMTEgPiBvdXQgfHwgZmFpbD0xCitjb21wYXJlIC9kZXYvbnVs bCBvdXQgfHwgZmFpbD0xCitwcmludGYgJyUxMHNcMDAwJyB8IG9kIC1TMTEgPiBvdXQgfHwg ZmFpbD0xCitjb21wYXJlIC9kZXYvbnVsbCBvdXQgfHwgZmFpbD0xCitwcmludGYgJyUxMHMn IHwgb2QgLVMxMCA+IG91dCB8fCBmYWlsPTEgIyBJZ25vcmUgdW50ZXJtaW5hdGVkIGF0IEVP Rj8KK2NvbXBhcmUgL2Rldi9udWxsIG91dCB8fCBmYWlsPTEKK3ByaW50ZiAnJTEwc1wwMDAl MTBzXDAwMCcgfCBvZCAtUzEwID4gb3V0IHx8IGZhaWw9MQorcHJpbnRmICclMDdvICUxMHNc bicgMCAnJyAxMSAnJyA+IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KK2NvbXBhcmUgZXhw IG91dCB8fCBmYWlsPTEKKwogRXhpdCAkZmFpbAotLSAKMi40OS4wCgo= --------------cI8tyfGLPSZK1uoSlb7PUDNI-- ------------=_1750773843-1793-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 Jun 2025 19:12:42 +0000 Received: from localhost ([127.0.0.1]:57762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uTmaw-0006Zm-2O for submit@debbugs.gnu.org; Mon, 23 Jun 2025 15:12:42 -0400 Received: from lists.gnu.org ([2001:470:142::17]:51538) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uTcUd-0006tq-Oj for submit@debbugs.gnu.org; Mon, 23 Jun 2025 04:25:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uTcUY-00045H-DL for bug-coreutils@gnu.org; Mon, 23 Jun 2025 04:25:26 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uTcUT-0008W8-R1 for bug-coreutils@gnu.org; Mon, 23 Jun 2025 04:25:25 -0400 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-ade5b8aab41so817693366b.0 for ; Mon, 23 Jun 2025 01:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prosys-kaist-ac-kr.20230601.gappssmtp.com; s=20230601; t=1750667105; x=1751271905; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=YK38J0GV7lAsX8efB419xrjv3yGSQ3rzs7MCxSLM1EI=; b=geHhDXDkrp9/N0s2go3ee+XEZc93x+I+WnwnMu403fbY+woF0LdJEBFSiUwwl6Y6Ju yN+muyAs3VfChjTmIrk0e4MYglqD6wN0CdAEPL9eSewLyANl/daLGBLoeAlTaWZblKkc cMXGbPfFQlLRyvQfEgtCt9q32JANsbMFsoufVO8UvtfPnyBI0FGDDZc29LeNhH/luJTn 64CYBXzc4u+tbJAriU0Ar4iOe0uxYQZul8Y3GOKER4ZRhAr43tAJaN03J4YFfx0o2/pZ Ax0FA2bqYrQaajzyoa3aCn65WDmnVEYspe+dZnt0Dg2h6di5P5AIgcHahvr0t9Mr5NfG 7vtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750667105; x=1751271905; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YK38J0GV7lAsX8efB419xrjv3yGSQ3rzs7MCxSLM1EI=; b=cWcfCEtw1E6sQTLXT0FNyCaxcREJUFqHBxcp6wslLWlOAiMfV3hoaJn/n/Bed0wF+J Q8ixoSEA76GFiehMUKVJZQ+l7fsE4vZhKXbfzCGzL14sjMUPVnqNnDqgmSQWiiDSCaqs dkYUpyfuH8xjjemK6g9n2L/+hBQIR5777K4R31yrSJPjKtTcSAJZlTuzAjl+zcsPrUHG nYM4iIXdCKZ98Jco/Hdr2ZZ7FoQ7ZqStOc8zVjPuPxJrccQzW0aKLgUYPXViSOQZ6f5M +8+xpAdElhU0VNumBWD4nuvC0Nw6dphM6GK4Jts5ZFvTlllV3UO2JMxc1Zu5eqGtjmBu hC2A== X-Gm-Message-State: AOJu0Yx8UEdArOMLnz8gRUFHKBOIqt32yAXbayrCt6pQVXkUPMej6Dez QsesqXUd8/1DEaDfSpTE4Ta/YiOTgZvm5F/GuK+yE8X4nzEDaTqTjIdD1FVv0TAdTA9c18KX6sE frUK3yZjSFxre0qiTkfeHizk3t2H1993V52xf0iOaH7Px01OtFlY09wQ= X-Gm-Gg: ASbGncuhq+dUSV0jjWDBH6A8v6xMYBw+pEtXC8dqI6bVkdNWgUxvAualpwwpF6lo3l7 YdUDx6+iczmZ5XVvMifLLNPcNiBI67DAzOCK/X1Xu5GT/KIMdhntjSOpPngSh0kYHFom+R502rP CyFgm+ykuNBT0Bfw8bBPmKtJgORwMhAeSdBvyGaIm4PN2aTg== X-Google-Smtp-Source: AGHT+IErB//0CK/giqnHkyQhTAUfTNwO3yJp/qEMxbR2OfIX4BRj6BqsomwewPeFq6Ugg6p5h/V8Q7MuEZptlh0x24A= X-Received: by 2002:a17:907:bc82:b0:ade:44da:d2cc with SMTP id a640c23a62f3a-ae057b6e76cmr1141742966b.31.1750667104804; Mon, 23 Jun 2025 01:25:04 -0700 (PDT) MIME-Version: 1.0 From: Jaehoon Jang Date: Mon, 23 Jun 2025 17:24:53 +0900 X-Gm-Features: AX0GCFu-lvhhmobowE7A8rhIHdJWyMJsU5H47AOwo2Zs1l6QNX3IkZv1y68_I8k Message-ID: Subject: od Heap-buffer overflow To: bug-coreutils@gnu.org Content-Type: multipart/mixed; boundary="000000000000e77222063838f2d5" Received-SPF: none client-ip=2a00:1450:4864:20::632; envelope-from=jaehoon.jang@prosys.kaist.ac.kr; helo=mail-ej1-x632.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 23 Jun 2025 15:12:39 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --000000000000e77222063838f2d5 Content-Type: multipart/alternative; boundary="000000000000e77221063838f2d3" --000000000000e77221063838f2d3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable *###### Build options*``` git clone https://github.com/coreutils/coreutils export GNULIB_SRCDIR=3D./gnulib export FORCE_UNSAFE_CONFIGURE=3D1 ./bootstrap CC=3D"clang -g -fsanitize=3Daddress" CXX=3D"clang -g -fsanitize=3Daddress" ./configure $CONFIG_OPTIONS make -j ``` *###### od version*``` $ src/od --version od (GNU coreutils) 9.7.52-b7db77 Copyright (C) 2025 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jim Meyering. ``` *###### reproduce script*```c // gcc -o replay_od replay_od.c #include #include #include #define MAX_CMDLINE_LEN 100000 #define MAX_CMDLINE_PAR 1000 int main() { static char in_buf[MAX_CMDLINE_LEN]; static char *argv[MAX_CMDLINE_PAR]; char *ptr =3D in_buf; int rc =3D 0; int n =3D read(0, in_buf, MAX_CMDLINE_LEN - 2); if (n <=3D 0) { perror("read"); exit(1); } while (*ptr) { argv[rc] =3D ptr; if (argv[rc][0] =3D=3D 0x02 && !argv[rc][1]) { argv[rc]++; } rc++; while (*ptr) ptr++; ptr++; } argv[0] =3D "od"; // exec od with parsed argv execvp("src/od", argv); perror("execvp failed"); return 1; } ``` This is a C wrapper program that automatically sets argv to reproduce the vulnerability. It is a simple wrapper around the od program and does not modify the original od binary. ###### ASAN log ``` $ ./replay_od < /root/250623/od-poc od: 'u'$'\353''d'$'\001''4 '\'''$'\350\003\346\346\346\346\027\027\027\027\027\027\027\027''!'$'\027\0= 27\027\027\027\027\027\027\027\027\027\027\027\027\027\027''{{{{{{{{{{{{{{{= {{{{{{{{{{{{{{{{{{{{'$'\024''{{{{'$'\200\016\377\377''{{{{{{{{{{{s{{'$'\220= ''{{{{'$'\213\207\213\213\213\213\213\213\213\213\213\213\213\213''}'$'\213= \213\213\213\213\213\213\213\213\213''E': No such file or directory =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D1151699=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on address 0x6150000004f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408 WRITE of size 1 at 0x6150000004f9 thread T0 #0 0x4d153e in dump_strings coreutils/src/od.c:1570:14 #1 0x4d153e in main coreutils/src/od.c:2037:30 #2 0x7fc132ca6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 #3 0x7fc132ca6e3f in __libc_start_main csu/../csu/libc-start.c:392:3 #4 0x41f664 in _start (coreutils/src/od+0x41f664) 0x6150000004f9 is located 0 bytes to the right of 505-byte region [0x615000000300,0x6150000004f9) allocated by thread T0 here: #0 0x49c843 in __interceptor_realloc (coreutils/src/od+0x49c843) #1 0x4ddcea in rpl_realloc coreutils/./lib/stdlib.h:2095:10 #2 0x4ddcea in xrealloc coreutils/lib/xmalloc.c:66:13 #3 0x4ddcea in xpalloc coreutils/lib/xmalloc.c:271:8 #4 0x7fc132ca6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 SUMMARY: AddressSanitizer: heap-buffer-overflow coreutils/src/od.c:1570:14 in dump_strings Shadow bytes around the buggy address: 0x0c2a7fff8040: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa 0x0c2a7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c2a7fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c2a7fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =3D>0x0c2a7fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[01] 0x0c2a7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c2a7fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb =3D=3D1151699=3D=3DABORTING ``` *###### Description* ``` 1513 static bool 1514 dump_strings (void) 1515 { 1516 idx_t bufsize =3D MAX (100, string_min); 1517 char *buf =3D xmalloc (bufsize); ... 1550 while (!limit_bytes_to_format || address < end_offset) 1551 { 1552 if (i =3D=3D bufsize) 1553 buf =3D xpalloc (buf, &bufsize, 1, -1, sizeof *buf); 1554 ok &=3D read_char (&c); 1555 address++; 1556 if (c < 0) 1557 { 1558 free (buf); 1559 return ok; 1560 } 1561 if (c =3D=3D '\0') 1562 break; /* It is; print this string. */ 1563 if (! isprint (c)) 1564 goto tryline; /* It isn't; give up on this string. */ 1565 buf[i++] =3D c; /* String continues; store it all. = */ 1566 } ... 1570 buf[i] =3D 0; 1571 format_address (address - i - 1, ' '); ``` The vulnerability occurs in the dump_strings function. The variable buf is allocated with a size of bufsize, which is limited to a maximum of 100 bytes. However, inside the while loop, the variable i is incremented by 1 on each iteration. When the attached PoC file is passed as arguments to the od program, the value of i can exceed 100. This leads to a heap buffer overflow vulnerability. An attacker could potentially exploit this by manipulating both the i and c values, resulting in dangerous modifications to the buf chunk on the heap. Therefore, we recommend adding proper bounds checking for the i variable to prevent this issue. --000000000000e77221063838f2d3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
###### Build options
```
git clone
https://github.com/coreutils/coreu= tils
export GNULIB_SRCDIR=3D./gnulib
export FORCE_UNSAFE_CONFIGUR= E=3D1
./bootstrap
CC=3D"clang -g -fsanitize=3Daddress" CXX= =3D"clang -g -fsanitize=3Daddress" ./configure $CONFIG_OPTIONSmake -j
```


###### od version
```
$ src/od --ve= rsion
od (GNU coreutils) 9.7.52-b7db77
Copyright (C) 2025 Free Softwa= re Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html<= /a>>.
This is free software: you are free to change and redistribute = it.
There is NO WARRANTY, to the extent permitted by law.

Written= by Jim Meyering.
```

###### reproduce script
```c
/= / gcc -o replay_od replay_od.c

#include <stdio.h>
#include = <stdlib.h>
#include <unistd.h>

#define MAX_CMDLINE_LE= N 100000
#define MAX_CMDLINE_PAR 1000

int main() {
=C2=A0 =C2= =A0 static char in_buf[MAX_CMDLINE_LEN];
=C2=A0 =C2=A0 static char *argv= [MAX_CMDLINE_PAR];

=C2=A0 =C2=A0 char *ptr =3D in_buf;
=C2=A0 =C2= =A0 int rc =3D 0;

=C2=A0 =C2=A0 int n =3D read(0, in_buf, MAX_CMDLIN= E_LEN - 2);
=C2=A0 =C2=A0 if (n <=3D 0) {
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 perror("read");
=C2=A0 =C2=A0 =C2=A0 =C2=A0 exit(1);
= =C2=A0 =C2=A0 }

=C2=A0 =C2=A0 while (*ptr) {
=C2=A0 =C2=A0 =C2=A0= =C2=A0 argv[rc] =3D ptr;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (argv[rc][0= ] =3D=3D 0x02 && !argv[rc][1]) {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 argv[rc]++;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }

=C2=A0 =C2= =A0 =C2=A0 =C2=A0 rc++;

=C2=A0 =C2=A0 =C2=A0 =C2=A0 while (*ptr) ptr= ++;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ptr++;
=C2=A0 =C2=A0 }
=C2=A0 =C2= =A0 argv[0] =3D "od";

=C2=A0 =C2=A0 // exec od with parsed= argv
=C2=A0 =C2=A0 execvp("src/od", argv);

=C2=A0 =C2= =A0 perror("execvp failed");
=C2=A0 =C2=A0 return 1;
}
`= ``
This is a C wrapper program that automatically sets argv to reproduc= e the vulnerability. It is a simple wrapper around the od program and does = not modify the original od binary.

###### ASAN log=
```
$ ./replay_od < /root/250623/od-poc
od: 'u'$'\= 353''d'$'\001''4 '\'''$'\350\00= 3\346\346\346\346\027\027\027\027\027\027\027\027''!'$'\027= \027\027\027\027\027\027\027\027\027\027\027\027\027\027\027''{{{{{= {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'$'\024''{{{{'$'\200\= 016\377\377''{{{{{{{{{{{s{{'$'\220''{{{{'$'= \213\207\213\213\213\213\213\213\213\213\213\213\213\213''}'$&#= 39;\213\213\213\213\213\213\213\213\213\213''E': No such file o= r directory
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D11516= 99=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on address 0x61500000= 04f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f0408
WRITE of s= ize 1 at 0x6150000004f9 thread T0
=C2=A0 =C2=A0 #0 0x4d153e in dump_stri= ngs coreutils/src/od.c:1570:14
=C2=A0 =C2=A0 #1 0x4d153e in main coreuti= ls/src/od.c:2037:30
=C2=A0 =C2=A0 #2 0x7fc132ca6d8f in __libc_start_call= _main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
=C2=A0 =C2=A0 #3 = 0x7fc132ca6e3f in __libc_start_main csu/../csu/libc-start.c:392:3
=C2=A0= =C2=A0 #4 0x41f664 in _start (coreutils/src/od+0x41f664)

0x61500000= 04f9 is located 0 bytes to the right of 505-byte region [0x615000000300,0x6= 150000004f9)
allocated by thread T0 here:
=C2=A0 =C2=A0 #0 0x49c843 i= n __interceptor_realloc (coreutils/src/od+0x49c843)
=C2=A0 =C2=A0 #1 0x4= ddcea in rpl_realloc coreutils/./lib/stdlib.h:2095:10
=C2=A0 =C2=A0 #2 0= x4ddcea in xrealloc coreutils/lib/xmalloc.c:66:13
=C2=A0 =C2=A0 #3 0x4dd= cea in xpalloc coreutils/lib/xmalloc.c:271:8
=C2=A0 =C2=A0 #4 0x7fc132ca= 6d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:5= 8:16

SUMMARY: AddressSanitizer: heap-buffer-overflow coreutils/src/o= d.c:1570:14 in dump_strings
Shadow bytes around the buggy address:
= =C2=A0 0x0c2a7fff8040: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa
= =C2=A0 0x0c2a7fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff8060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =C2=A0 0x0c2a7fff8070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =C2=A0 0x0c2a7fff8080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
= =3D>0x0c2a7fff8090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00[01]
= =C2=A0 0x0c2a7fff80a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
= =C2=A0 0x0c2a7fff80e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
S= hadow byte legend (one shadow byte represents 8 application bytes):
=C2= =A0 Addressable: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 00
=C2=A0 Partially = addressable: 01 02 03 04 05 06 07
=C2=A0 Heap left redzone: =C2=A0 =C2= =A0 =C2=A0 fa
=C2=A0 Freed heap region: =C2=A0 =C2=A0 =C2=A0 fd
=C2= =A0 Stack left redzone: =C2=A0 =C2=A0 =C2=A0f1
=C2=A0 Stack mid redzone:= =C2=A0 =C2=A0 =C2=A0 f2
=C2=A0 Stack right redzone: =C2=A0 =C2=A0 f3=C2=A0 Stack after return: =C2=A0 =C2=A0 =C2=A0f5
=C2=A0 Stack use afte= r scope: =C2=A0 f8
=C2=A0 Global redzone: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0f9
=C2=A0 Global init order: =C2=A0 =C2=A0 =C2=A0 f6
=C2=A0 Poi= soned by user: =C2=A0 =C2=A0 =C2=A0 =C2=A0f7
=C2=A0 Container overflow: = =C2=A0 =C2=A0 =C2=A0fc
=C2=A0 Array cookie: =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0ac
=C2=A0 Intra object redzone: =C2=A0 =C2=A0bb
=C2=A0 A= San internal: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fe
=C2=A0 Left alloca r= edzone: =C2=A0 =C2=A0 ca
=C2=A0 Right alloca redzone: =C2=A0 =C2=A0cb=3D=3D1151699=3D=3DABORTING
```

###### Desc= ription
```
1513 static bool
1514 dump_strings (void)1515 {
1516 =C2=A0 idx_t bufsize =3D MAX (100, string_min);
1517 = =C2=A0 char *buf =3D xmalloc (bufsize);
...
1550 =C2=A0 =C2=A0 =C2=A0= while (!limit_bytes_to_format || address < end_offset)
1551 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 {
1552 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (i =3D= =3D bufsize)
1553 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 buf =3D xpal= loc (buf, &bufsize, 1, -1, sizeof *buf);
1554 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 ok &=3D read_char (&c);
1555 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 address++;
1556 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (c &= lt; 0)
1557 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
1558 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 free (buf);
1559 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ok;
1560 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 }
1561 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (c = =3D=3D '\0')
1562 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 brea= k; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* It is; print this str= ing. =C2=A0*/
1563 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (! isprint (c))=
1564 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 goto tryline; =C2=A0 =C2= =A0 =C2=A0 /* It isn't; give up on this string. =C2=A0*/
1565 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 buf[i++] =3D c; =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*= String continues; store it all. =C2=A0*/
1566 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 }
...
1570 =C2=A0buf[i] =3D 0;
1571 =C2=A0format_address (addr= ess - i - 1, ' ');
```
The vulnerability occurs in the= dump_strings function. The variable buf is allocated with a size of bufsiz= e, which is limited to a maximum of 100 bytes.

However, inside the w= hile loop, the variable i is incremented by 1 on each iteration. When the a= ttached PoC file is passed as arguments to the od program, the value of i c= an exceed 100. This leads to a heap buffer overflow vulnerability.

A= n attacker could potentially exploit this by manipulating both the i and c = values, resulting in dangerous modifications to the buf chunk on the heap.<= br>
Therefore, we recommend adding proper bounds checking for the i vari= able to prevent this issue.
--000000000000e77221063838f2d3-- --000000000000e77222063838f2d5 Content-Type: application/octet-stream; name=od-poc Content-Disposition: attachment; filename=od-poc Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mc8tzb030 dUUhLQAtUwBLAHXrZAE0ICfoA+bm5uYXFxcXFxcXFyEXFxcXFxcXFxcXFxcXFxcXe3t7e3t7e3t7 e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3sUe3t7e4AO//97e3t7e3t7e3t7e3N7e5B7e3t7i4eL i4uLi4uLi4uLi4t9i4uLi4uLi4uLi0UALQAtUwBLAHXrgAA0ZAAnJycnJycnJycJCQkJCQkJCQkJ CQkJCQkJCSkaAQAJDAkJ5t7m5ubm5ubm5ubm5ubmJwAJ9QgJCQkJICcnJycnDScPi4uLi4uLi4t7 e3t7e3t7e3t7e3t9e3t7AXt7e217e+bme3t7Wnt7e3t7e3t7e3t7e3t7CQkJCQkJCQkJCSkaAQAJ DAkJ5t7m5ubm5mbm5ubm5ubmJwAJ9QgJCQkJICfm5uYXFxcXFxcXFyEXFxcXFxcXFxcXFxcXFxcX e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3sUe3t7e4AO//97e3t7e3t7e3t7e3N7 e5B7e3t7i4eLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi0UALQAtUwBLAHXrgAA0ICcn5ubm5ubm++bm 5ubm5ubm5t57e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7gA7//3t7XHt7 e3t7e3t7c3t7kHt7e3uLh4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLRQAtAC1TAEsAdeuAADQgJyfm 5ubm5ub75ubm5ubm5ubm3ubm5ubm5uaLi3t7e3t7e3t7e3t7e317e3sBe3t7bXt75uZAAHtae3t7 e3t7e3t7e3t7e3sJCXuXe3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7e3t7e3t7e3t7e3t7e3t7 c3t7kHt7exoBAAkMCQnm3ubm5ubm5ubm5ubm5uYnAAn1CAkJCQkgJycnJycNJw+Li4uLi4uLi3t7 e3t7e3t7e3t7e317e3sBe3t7bXt75uZ7e3tae3t7e3t7e3t7e3t7e3sJCQkJCQkJCQkJKRoBAAkM CQnm3ubm5ubmZubm5ubm5uYnAAn1CAkJCQkgJ+bm5hcXFxcXFxcXIRcXFxcXFxcXFxcXFxcXFxd7 e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7exR7e3t7gA7//3t7e3t7e3t7e3t7c3t7 kHt7e3uLh4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLRQAtAC1TAEsAdeuAADQgJyfm5ubm5ub75ubm 5ubm5ubm3nt7e3t7e3tTADQAdUUALQAtUwA0AHMtAC1TADQAdQAtAC1TADQAQAAtdlMANAAtTmIA cwB1RQAtAC1TADQAcwB1RQAtAC1TADQAGBgYGB8JAC1OYgAtTmIALQAnLXc0ACcAcwA0AC1TADQA LXZTCzQASC0ALVMANABzLQAtUwA0AHUnAC0ALQAtamIAQoJTYgAtamIAQuWAAC1qYgBCYgAtamIA QoKAAC1TADQABPuARQAtUwA0AAQAHxB/RQAtUwA0AOuAE4BFAC1TADQAf0UALVMANACM+4BFAC1T ADQABAAfCQAwAC1TADQABAAfCQAtAAkVHw8PAC1qYgBC5YAALWpiAEJiAGIALWpiAEKCgAAtamIA QoIALWpiAC1qYgAuAApkU2IALWpiAC1qYgAtamIALWpiAGIALWpiAEKCgAAtamIAQoIALWpiAC1q YgAuAApkU2IALWpiAC1qYgBTYgAtamIAQuWAAC1qYgBCYgAtamIAQoKAAC1qYgBCglNiAC1qYgBC 5YAALWpiAEJiAC1qYgBCgoAALVMANAAE+4BFAC1TADQABAAfEH9FAC0AADQA62QTgEUALVMANAB/ RQAtUwA0AIz7gEUALVMANAAEAB8JADAALVMANAAEAB8JAC0ACRUfDw8ALWpiAELlgAAtamIAQmIA LWpiAEKCgAAtamIAQoJTYgAtamIAQuWAAC1qYgAnAC1OYgAtTmIALQAnRSdAAC12UwA0AEgfRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUA AAAgRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFUEVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRV9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRURFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVORUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFAUVFRUVFRUUoRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUAABAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUNFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRblFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFvr6+vr6+vkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFKEVFRUVFRUVFRUVFRUVFRUXTRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVmRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFh0VF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUvRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUqRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUXoA0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFR0VFRUVFRUVFRUVFRUVFRUVFRUVFRSNFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRf9/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUBRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUUtRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVBFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFgP9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRf9/AABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRSdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVNFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF ZUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFZkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRRBFRUVFRUVFRUVFRUVFRUVF RUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFExMTExMTExMTExMTExMTExMTExMTExMTRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVS RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUXFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUX/RUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF/0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRTxFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFJkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRShFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF Ra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2tra2t ra2tra2tra2tra2tra2tra2tra2trUVFRV9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUE AEVFRUU2RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRShFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVkRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQABIEVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVoRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUtRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUwRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFPEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFgABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUX/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUlRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF30VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF7kVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVRRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZAAAAEVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUsRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFNkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUrRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZUVFRUVFRVZFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUNFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFN0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQ0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFW0VF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRU1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSlFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVbRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFf////0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVhFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFAQBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFOEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRTNFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFTUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVjRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUWA /0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFOkVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU2RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRWdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRWRFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRStFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUBAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRQD/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFvr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+ vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+RUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRT1FRUVFRUVFRUVFRURF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVtFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVLRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRc9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RQBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVERUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFPkVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVdRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSdFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQABRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFOkVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFReZFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWdFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFI0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU4RUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUAAAQARUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFMEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRStFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVlRUVFRUVFVkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFEEVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFW0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZkVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFVkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFD0VFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVdFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVWRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF Q0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFYEVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF t0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWJFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUQRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUt RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRRMTExMTExMTExMTExMTExMTExMTExMTE0VFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFMEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFBUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFM0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF TUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUQRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUrRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFYkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFP0VFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFL0VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFVUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFaEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVkRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRVtFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRSAARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF AEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFAAFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU6RUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVARUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFV0VFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFWUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVF//8AAEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU6RUVFRUVFRUVFRUVFRUVFRUVFi0VFRUVFRUVFRUVF RUVFRUVFRUVF5kVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF DEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUUQRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRRBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUU7RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUzRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFUUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUUnRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRadFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRf////9FRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFK0VFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRWVFRUVFRUVW RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUXMRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVCRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQlFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFUUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFNEVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RVVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUBAAAARUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUViRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUU/RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF//8AAEVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUTExMTExMTExMTExMTExMTExMTExMT ExNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRT9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUzRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUFFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRcVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFQUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFgP9FRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZ0VFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRWBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRWBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRTpFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRZNFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVVRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRWRFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVZFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRShFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRSNFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUhF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRQD/ RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF ReZFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUhFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVBRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZkVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUUpRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUJFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUkRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRb9FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRV1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRQAQAABFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF /39FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFYUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFREVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUjRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFZEVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVjRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUJFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRYBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVYRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUUyRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUBFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRU1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRSlFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRV1FRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVF RUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRVe6urq6urq6ukVWABAAVwA= --000000000000e77222063838f2d5 Content-Type: application/octet-stream; name="replay_od.c" Content-Disposition: attachment; filename="replay_od.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mc8tzb0y1 Ly8gZ2NjIC1vIHJlcGxheV9vZCByZXBsYXlfb2QuYwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNs dWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKI2RlZmluZSBNQVhfQ01ETElORV9M RU4gMTAwMDAwCiNkZWZpbmUgTUFYX0NNRExJTkVfUEFSIDEwMDAKCmludCBtYWluKCkgewogICAg c3RhdGljIGNoYXIgaW5fYnVmW01BWF9DTURMSU5FX0xFTl07CiAgICBzdGF0aWMgY2hhciAqYXJn dltNQVhfQ01ETElORV9QQVJdOwoKICAgIGNoYXIgKnB0ciA9IGluX2J1ZjsKICAgIGludCByYyA9 IDA7CgogICAgaW50IG4gPSByZWFkKDAsIGluX2J1ZiwgTUFYX0NNRExJTkVfTEVOIC0gMik7CiAg ICBpZiAobiA8PSAwKSB7CiAgICAgICAgcGVycm9yKCJyZWFkIik7CiAgICAgICAgZXhpdCgxKTsK ICAgIH0KCiAgICB3aGlsZSAoKnB0cikgewogICAgICAgIGFyZ3ZbcmNdID0gcHRyOwoKICAgICAg ICBpZiAoYXJndltyY11bMF0gPT0gMHgwMiAmJiAhYXJndltyY11bMV0pIHsKICAgICAgICAgICAg YXJndltyY10rKzsKICAgICAgICB9CgogICAgICAgIHJjKys7CgogICAgICAgIHdoaWxlICgqcHRy KSBwdHIrKzsKICAgICAgICBwdHIrKzsKICAgIH0KICAgIGFyZ3ZbMF0gPSAib2QiOwoKICAgIC8v IGV4ZWMgb2Qgd2l0aCBwYXJzZWQgYXJndgogICAgZXhlY3ZwKCJzcmMvb2QiLCBhcmd2KTsKCiAg ICBwZXJyb3IoImV4ZWN2cCBmYWlsZWQiKTsKICAgIHJldHVybiAxOwp9Cg== --000000000000e77222063838f2d5-- ------------=_1750773843-1793-1-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Grisha Levit Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 24 Jun 2025 14:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 78880@debbugs.gnu.org, P@draigbrady.com, jaehoon.jang@prosys.kaist.ac.kr Cc: 78880-done@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175077528413937 (code B ref 78880); Tue, 24 Jun 2025 14:29:01 +0000 Received: (at 78880) by debbugs.gnu.org; 24 Jun 2025 14:28:04 +0000 Received: from localhost ([127.0.0.1]:44856 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uU4d2-0003ch-7E for submit@debbugs.gnu.org; Tue, 24 Jun 2025 10:28:04 -0400 Received: from mail-yb1-xb34.google.com ([2607:f8b0:4864:20::b34]:42442) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uU4cs-0003af-Pp; Tue, 24 Jun 2025 10:28:00 -0400 Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-e7db5c13088so4229982276.1; Tue, 24 Jun 2025 07:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750775268; x=1751380068; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GPJM5DPyA3xx0hG3EUJpa7Xbkgy0Su7zPigZusfU3sA=; b=P6vhaekD3d7tKkdQe4Rra5voex5YOsMvECcKPeWwrFp5TzhTeBB8T9u+6Gz/4XJK34 FGLw0d2/nHFWJh5wrqga9t3loJ6pmjFWC2N49/BgZCsxYAazgtyf+AyUaRVV9EuVWbh2 0mLsPd7Sxm2xdpUJw/xoBQTLDAeMPhrtrXsPHLgHyYsvATKgkgeoNVLMT02dhdB6g/bj I3j5rKQ4bmeIoWoJvrlUcDjcIvuPitoz3v3sWBy4wa4KGPpLnUgTAZweEv2coGi36AYc ZFfEBbzNtW1oj8T/63O5/GOe+YAf4rDIpH44o9wfU9LV+rren7Gnr66MwR0UPFiqsk3Q Ee+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750775268; x=1751380068; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GPJM5DPyA3xx0hG3EUJpa7Xbkgy0Su7zPigZusfU3sA=; b=lX+746uhMNeW6ZKyeKkmhz6TyrjH6n2E8zO8FhlCuYEWrIRBml3GHV8SJ4J0q87ja1 GleyaMOIG2o/LRIg+w9MQrB0euFARhN1spsTtxUApksqr0v7dbMXdj3ONrcZxOOxFUxr vr+wvNX96g4IAPLpY4le0W6PhKzw1bFmNoVUz6q6wTzYzyyrFSGIJPkmL2kqbTUHGyKz rH2XqTVCEIigiUpnr6k2Lgfa4yJIyQCSQFyQlCW8SMo8No0cRPb2LmeIhUY1SSPrzLn6 fo5/Qg32ZcEZdisQA6/nahBbyd0ry1YjXDjXEMIO41c7upTJOYPYjLDioXLkMVytH620 rE5A== X-Gm-Message-State: AOJu0YwA2TiTJTufU7O1LMn+yk/YH+j2heJeUYnUsC+qNSxGpnm0EcvT riD8xDcoaYXL4b1Ad2v9KWes8teFeIAh1ys2MVAlfiSH6fXxFwOoF5EchIqUJcJ5FTSB4DQXiFw aL994VfE3jiR/MJXMenCp+4/Wb0o8JIOAzGIP X-Gm-Gg: ASbGncvfUM2zH3OGyHZwXX2ehlMd9Ov7NzTlh67rnug2aZLZnPkdkVYGGAZNJ+6fFjK mnoPQ3XCJPcoscFxz09O8F2pb+M6D/r63zO/0yjcJefHX5Yw0opKadgqY0JclPUu8jLfp+dR0GW bxXNBDzd2ujq/I3zRg9YsqyzNg3bKFIIihujf0LodxlAPg X-Google-Smtp-Source: AGHT+IEcGCbKcnh8T9vf9mMR8hSycjASgX7mCWbmv/E1G4l3zPu4ZvuXjoJ/h2SCfMKdR0wYStTVzFqL1uw4JtKyTPE= X-Received: by 2002:a05:6902:4612:b0:e85:3ecf:2318 with SMTP id 3f1490d57ef6-e85f1dcebdbmr4738073276.2.1750775268139; Tue, 24 Jun 2025 07:27:48 -0700 (PDT) MIME-Version: 1.0 References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> In-Reply-To: <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> From: Grisha Levit Date: Tue, 24 Jun 2025 10:27:36 -0400 X-Gm-Features: AX0GCFtpetSFw_7pLka-iRcUgV-UuaeFZcdD0WynlUl9ql40HA-jzbQArSVHH6Q Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue, Jun 24, 2025, 10:04 P=C3=A1draig Brady wrote: > > On 24/06/2025 01:16, P=C3=A1draig Brady wrote: > > On 23/06/2025 09:24, Jaehoon Jang wrote: > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > >> =3D=3D1151699=3D=3DERROR: AddressSanitizer: heap-buffer-overflow on ad= dress > >> 0x6150000004f9 at pc 0x0000004d153f bp 0x7fff937f0410 sp 0x7fff937f040= 8 > >> WRITE of size 1 at 0x6150000004f9 thread T0 > >> #0 0x4d153e in dump_strings coreutils/src/od.c:1570:14 > > > > Nice fuzzing. > > > > There looks to be all sorts of off by one errors in the dump_strings() = function. > > The issue is most easily demonstrated with: > > > > printf '%100s' | tr ' ' . | valgrind od -N100 -S99 > > > > The following should fix this I think. > > I've only analyzed it for a few minutes, so I'll look more tomorrow. > > The following should also fix the printed offset, > > and also support the -N100 -S100 combination. > > The previous patch didn't handle the invalid address output in all cases. > Also I didn't see a need for both read() loops in this function, > so I simplified the function in the attached more complete patch. This part: > tryline: > + idx_t i =3D 0; > + int c =3D 1; /* Init to 1 so can distinguish if NUL read. */ triggers warning: label followed by a declaration is a C23 extension [-Wc23-extensions] From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 24 Jun 2025 15:29:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Grisha Levit , 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175077888211014 (code B ref 78880); Tue, 24 Jun 2025 15:29:03 +0000 Received: (at 78880) by debbugs.gnu.org; 24 Jun 2025 15:28:02 +0000 Received: from localhost ([127.0.0.1]:45662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uU5Z2-0002rG-Kf for submit@debbugs.gnu.org; Tue, 24 Jun 2025 11:28:01 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:47492) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uU5Yw-0002pJ-No for 78880@debbugs.gnu.org; Tue, 24 Jun 2025 11:27:56 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-3a6cd1a6fecso603802f8f.3 for <78880@debbugs.gnu.org>; Tue, 24 Jun 2025 08:27:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750778868; x=1751383668; darn=debbugs.gnu.org; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:sender:from:to:cc:subject:date :message-id:reply-to; bh=4aXHeglZGx2QwEOKG8hXe0Cmp9t8XTw3XZV1X+6o1EQ=; b=BdIttlliRn11kjKciukr8mj10E4APg6Iw7LTvOAnZxOf6VUBWXDs93Yx2YbDsIbJ5o 795pbxqwEOoGQ+tjzTx8DRHFrzDTGIcJ8yd6x+jCrIHh4g7hebWqz/1lHj8iNe6URfFF B2KfmRbtSuYULrS2JzqJUMq38MS6i8FnwRR2Sht401pblu+DaQqzVyhBPBkQu26woHfY 47OFVyfS14d8amkNRxVJzm0lijJn+GKdLVLqil9rdh5lW6x4JZuESTclf6O5om29nNxg 2vvldn+ReHKJW5ejerHKML2JifQkoWAtaMh6Q14EsDVFd3Vi1xDskU6h6Milq/zLDuy1 Vz9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750778868; x=1751383668; h=in-reply-to:from:content-language:references:to:subject:user-agent :mime-version:date:message-id:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4aXHeglZGx2QwEOKG8hXe0Cmp9t8XTw3XZV1X+6o1EQ=; b=jYM89nMviAx1+ejDUxiyOHrgYJGqzSl9haMqSR2Ev1KjJv+umHPrLugiXo8+mzP13S QHHUfV+MvPQ34fLIV5DetKEq26qJSzGT8rPahYnjJt4dG0Jh316yDraO5nmANDN1VbOo 3agUukG6KWD+bkH7mgBTVViK+7/tezSmNC4ffoOs9hi7EBzZ5HUIelED6UclYx1VnE8f DLc1R98Beb3n5H7fUqxkoetbjFh7dEsu7F3vOVkOGmOvnH9Ja02fxl23mguqrKH1h03D fThkDafgr0XwbGthi7dqCPEy0QHFjfXgEjmFheYSgFG6KJFLacG6OZdBim3KRXE9ZRtB RKJw== X-Forwarded-Encrypted: i=1; AJvYcCV1xQTNTDkjhnlnbGLQ/u72DED1OBIUnBe/fdaNgGU1h1KxpILn2KTb2yvTEyzjosSQyd1ubQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwPHmrWGc4snFxtEnDGTLakWXri0NfoFJwKyQdSBvGuLIyCg5tl ahZuoXd2YQ0ts/PpvvhY7R8hUGnGHkRE1RZ5oKOytOC25ClBoCkTLezT X-Gm-Gg: ASbGnctf05OctswrXbBZsskyikocO7PAt0x1A/dlUsSlA0eAmY3xKLOqi9UGsdcxVUm yIB9psleo0xRle0IhjtO7PeHU5pvU4ZvkPIQapemxPSzufvirzw9v5NXqGdt46RC3qaIWRtNlUS CG8nJ5e2qjxG+p3V/+YF6vmDrEOD8zGRIWO10Jccn3u59agmjP9Z+zwhwgq9sUfkC58DlA9hsVY Cfn4q2WEM1arFKoPSHIb0Muz51cSfGc4IciwXbS8NIplzLshrZ88wBydEVAmlsSSPCpHEqHG6Q7 FP4p5FBF0AkyHMW+IzKPyyYtVgQAmrBdVhL46YnFrYUth46tyFHcjBC+0amEXs/xZ8FsCuu1xO/ TDkkaKa4ECdtstYaHjW2AsjlNCQxvMv5CtZSKZMHYKw== X-Google-Smtp-Source: AGHT+IHAX8t9PqOsNDER4IXHVOy0nkyTdo2nTlWI6pOLTjCxpQCxLojvb4IXytc3p47NYvvkTsO7Eg== X-Received: by 2002:a5d:64e6:0:b0:3a5:8d0b:600c with SMTP id ffacd0b85a97d-3a6d12bb37emr14874787f8f.3.1750778867672; Tue, 24 Jun 2025 08:27:47 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a6e810a9bbsm2194054f8f.86.2025.06.24.08.27.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 24 Jun 2025 08:27:47 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------VwqZU07kDWqSHY3D5d06iQzd" Message-ID: <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Date: Tue, 24 Jun 2025 16:27:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------VwqZU07kDWqSHY3D5d06iQzd Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 24/06/2025 15:27, Grisha Levit wrote: > This part: > >> tryline: >> + idx_t i = 0; >> + int c = 1; /* Init to 1 so can distinguish if NUL read. */ > > triggers > > warning: label followed by a declaration is a C23 extension > [-Wc23-extensions] OK version 3 attached which simplifies by removing the label and gotos entirely. thanks! Padraig --------------VwqZU07kDWqSHY3D5d06iQzd Content-Type: text/x-patch; charset=UTF-8; name="0001-od-fix-various-off-by-one-issues-with-strings-with-N.patch" Content-Disposition: attachment; filename*0="0001-od-fix-various-off-by-one-issues-with-strings-with-N.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA0NDgwOWMzMzc5ZDY0YjllNTgwMDQyMTI0Y2NlYTY2NjVkNzQ2ZDlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UD1DMz1BMWRyYWlnPTIwQnJhZHk/ PSA8UEBkcmFpZ0JyYWR5LmNvbT4KRGF0ZTogVHVlLCAyNCBKdW4gMjAyNSAwMToxNzoxMiAr MDEwMApTdWJqZWN0OiBbUEFUQ0hdIG9kOiBmaXggdmFyaW91cyBvZmYtYnktb25lIGlzc3Vl cyB3aXRoIC0tc3RyaW5ncyB3aXRoIC1OCgoqIHNyYy9vZC5jIChkdW1wX3N0cmluZ3MpOiBU aGVyZSBhcmUgdGhyZWUgcmVsYXRlZCBpc3N1ZXMgaGVyZQpkdWUgdG8gbm90IGFjY291bnRp bmcgZm9yIHRoZSB0ZXJtaW5hdGluZyBOVUwgY2hhciBhcHByb3ByaWF0ZWx5LgoKMS4gRW5z dXJlIEJVRiBhbHdheXMgaGFzIGVub3VnaCBzcGFjZSBmb3IgdGhlIHRlcm1pbmF0aW5nIE5V TC4KVGhpcyBhdm9pZHMgQ1dFLTEyMjogSGVhcC1iYXNlZCBCdWZmZXIgT3ZlcmZsb3csCndo ZXJlIHdlIHdyb3RlIGEgc2luZ2xlIE5VTCBieXRlIGRpcmVjdGx5IGFmdGVyIHRoZSBhbGxv Y2F0ZWQgYnVmZmVyLgpJLmUuLCB0aGVyZSBzaG91bGQgYmUgbm8gYnVmZmVyIG92ZXJmbG93 IHdpdGg6CiAgcHJpbnRmICclMTAwcycgfCBvZCAtTjEwMCAtUzEKCjIuIEVuc3VyZSB3ZSBz dXBwb3J0IC1TID09IC1OIChFTkRfT0ZGU0VUIC0gU1RSSU5HX01JTiA9PSBBRERSRVNTKToK SS5lLiwgdGhlcmUgc2hvdWxkIGJlIG91dHB1dCB3aXRoOgogIHByaW50ZiAnJTEwMHMnIHwg b2QgLU4xMCAtUzEwCgozLiBFbnN1cmUgd2UgYWx3YXlzIG91dHB1dCBhIHZhbGlkIGFkZHJl c3MgYnkgZW5zdXJpbmcKdGhlIEFERFJFU1MgYW5kIEkgdmFyaWFibGVzIGFyZSBrZXB0IGlu IHN5bmMuCkkuZS4sIHRoaXMgc2hvdWxkIG91dHB1dCBhZGRyZXNzIDAwMDAwMDAgbm90IDE3 Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc6CiAgcHJpbnRmICclMTAwcycgfCBvZCAtTjEwIC1TMQoK QXMgd2VsbCBhcyBmaXhpbmcgdGhlc2Ugd2Ugc2ltcGxpZnkgYnkgdXNpbmcgYSBzaW5nbGUg bG9vcAp0byByZWFkIHRoZSBkYXRhLCByYXRoZXIgdGhhbiB0d28uCgoqIGRvYy9jb3JldXRp bHMudGV4aSAob2QgaW52b2NhdGlvbik6IENsYXJpZnkgdGhhdCAtTgppbXBsaWNpdGx5IE5V TCB0ZXJtaW5hdGVzIHN0cmluZ3MuCiogdGVzdHMvb2Qvb2QtTi5zaDogQWRkIHRlc3QgY2Fz ZXMuCiogTkVXUzogTWVudGlvbiB0aGUgYnVnIGZpeGVzLgoKRml4ZXMgaHR0cHM6Ly9idWdz LmdudS5vcmcvNzg4ODAKLS0tCiBORVdTICAgICAgICAgICAgICAgfCAgNCArKysrCiBkb2Mv Y29yZXV0aWxzLnRleGkgfCAgMiArKwogc3JjL29kLmMgICAgICAgICAgIHwgNTYgKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvb2Qvb2Qt Ti5zaCAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKy0tCiA0IGZpbGVzIGNoYW5nZWQs IDU1IGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05FV1Mg Yi9ORVdTCmluZGV4IDhiM2Q5ZDNjYy4uZTRkOWM5YjYwIDEwMDY0NAotLS0gYS9ORVdTCisr KyBiL05FV1MKQEAgLTEyLDYgKzEyLDEwIEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBjb3B5aW5n IHRvIG5vbi1ORlMgZmlsZXMgZnJvbSBORlN2NCBmaWxlcyB3aXRoIHRyaXZpYWwgQUNMcy4K ICAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy05LjZdCiAKKyAgb2QgLS1zdHJpbmdz IHdpdGggLU4gbm93IHdvcmtzIGNvcnJlY3RseS4gIFByZXZpb3VzbHkgb2QgbWlnaHQKKyAg d3JpdGUgYSBOVUwgYnl0ZSBhZnRlciBhIGhlYXAgYnVmZmVyLCBvciBvdXRwdXQgaW52YWxp ZCBhZGRyZXNzZXMuCisgIFtUaGVzZSBidWdzIHdlcmUgcHJlc2VudCBpbiAidGhlIGJlZ2lu bmluZyIuXQorCiAgIHNvcnQgd2l0aCBrZXkgY2hhcmFjdGVyIG9mZnNldHMgb2YgU0laRV9N QVgsIGNvdWxkIGluZHVjZQogICBhIHJlYWQgb2YgMSBieXRlIGJlZm9yZSBhbiBhbGxvY2F0 ZWQgaGVhcCBidWZmZXIuIEZvciBleGFtcGxlOgogICAnc29ydCArMC4xODQ0Njc0NDA3Mzcw OTU1MTYxNVIgaW5wdXQnIG9uIDY0IGJpdCBzeXN0ZW1zLgpkaWZmIC0tZ2l0IGEvZG9jL2Nv cmV1dGlscy50ZXhpIGIvZG9jL2NvcmV1dGlscy50ZXhpCmluZGV4IGExZDQ1ZmIzMC4uODY1 Y2VmZjA1IDEwMDY0NAotLS0gYS9kb2MvY29yZXV0aWxzLnRleGkKKysrIGIvZG9jL2NvcmV1 dGlscy50ZXhpCkBAIC0yMDc1LDYgKzIwNzUsOCBAQCBsZWFzdCBAdmFye2J5dGVzfSBjb25z ZWN1dGl2ZSBwcmludGFibGUgY2hhcmFjdGVycywKIGZvbGxvd2VkIGJ5IGEgemVybyBieXRl IChBU0NJSSBOVUwpLgogUHJlZml4ZXMgYW5kIHN1ZmZpeGVzIG9uIEB2YXJ7Ynl0ZXN9IGFy ZSBpbnRlcnByZXRlZCBhcyBmb3IgdGhlCiBAb3B0aW9uey1qfSBvcHRpb24uCitJZiBjb21i aW5lZCB3aXRoIHRoZSBAb3B0aW9uey1OfSBvcHRpb24sIHRydW5jYXRlZCBzdHJpbmdzCith cmUgY29uc2lkZXJlZCBBU0NJSSBOVUwgdGVybWluYXRlZC4KIAogSWYgQHZhcntieXRlc30g aXMgb21pdHRlZCB3aXRoIEBvcHRpb257LS1zdHJpbmdzfSwgdGhlIGRlZmF1bHQgaXMgMy4K IApkaWZmIC0tZ2l0IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCA4OGQ0NjdjNzMuLjMy ZTg0OTg5NiAxMDA2NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTE1MDUs NzAgKzE1MDUsNTggQEAgZHVtcCAodm9pZCkKIH0KIAogLyogU1RSSU5HUyBtb2RlLiAgRmlu ZCBlYWNoICJzdHJpbmcgY29uc3RhbnQiIGluIHRoZSBpbnB1dC4KLSAgIEEgc3RyaW5nIGNv bnN0YW50IGlzIGEgcnVuIG9mIGF0IGxlYXN0ICdzdHJpbmdfbWluJyBBU0NJSQotICAgZ3Jh cGhpYyAob3IgZm9ybWF0dGluZykgY2hhcmFjdGVycyB0ZXJtaW5hdGVkIGJ5IGEgbnVsbC4K KyAgIEEgc3RyaW5nIGNvbnN0YW50IGlzIGEgcnVuIG9mIGF0IGxlYXN0IFNUUklOR19NSU4K KyAgIHByaW50YWJsZSBjaGFyYWN0ZXJzIHRlcm1pbmF0ZWQgYnkgYSBOVUwgb3IgRU5EX09G RlNFVC4KICAgIEJhc2VkIG9uIGEgZnVuY3Rpb24gd3JpdHRlbiBieSBSaWNoYXJkIFN0YWxs bWFuIGZvciBhCiAgICB0cmFkaXRpb25hbCB2ZXJzaW9uIG9mIG9kLiAgUmV0dXJuIHRydWUg aWYgc3VjY2Vzc2Z1bC4gICovCiAKIHN0YXRpYyBib29sCiBkdW1wX3N0cmluZ3MgKHZvaWQp CiB7Ci0gIGlkeF90IGJ1ZnNpemUgPSBNQVggKDEwMCwgc3RyaW5nX21pbik7CisgIGlkeF90 IGJ1ZnNpemUgPSBNQVggKDEwMCwgc3RyaW5nX21pbiArIDEpOwogICBjaGFyICpidWYgPSB4 bWFsbG9jIChidWZzaXplKTsKICAgdWludG1heF90IGFkZHJlc3MgPSBuX2J5dGVzX3RvX3Nr aXA7CiAgIGJvb2wgb2sgPSB0cnVlOwogCiAgIHdoaWxlICh0cnVlKQogICAgIHsKLSAgICAg IGlkeF90IGk7Ci0gICAgICBpbnQgYzsKLQotICAgICAgLyogU2VlIGlmIHRoZSBuZXh0ICdz dHJpbmdfbWluJyBjaGFycyBhcmUgYWxsIHByaW50aW5nIGNoYXJzLiAgKi8KLSAgICB0cnls aW5lOgorICAgICAgaWR4X3QgaSA9IDA7CisgICAgICBpbnQgYyA9IDE7ICAvKiBJbml0IHRv IDEgc28gY2FuIGRpc3Rpbmd1aXNoIGlmIE5VTCByZWFkLiAgKi8KIAogICAgICAgaWYgKGxp bWl0X2J5dGVzX3RvX2Zvcm1hdAotICAgICAgICAgICYmIChlbmRfb2Zmc2V0IDwgc3RyaW5n X21pbiB8fCBlbmRfb2Zmc2V0IC0gc3RyaW5nX21pbiA8PSBhZGRyZXNzKSkKKyAgICAgICAg ICAmJiAoZW5kX29mZnNldCA8IHN0cmluZ19taW4gfHwgZW5kX29mZnNldCAtIHN0cmluZ19t aW4gPCBhZGRyZXNzKSkKICAgICAgICAgYnJlYWs7CiAKLSAgICAgIGZvciAoaSA9IDA7IGkg PCBzdHJpbmdfbWluOyBpKyspCi0gICAgICAgIHsKLSAgICAgICAgICBvayAmPSByZWFkX2No YXIgKCZjKTsKLSAgICAgICAgICBhZGRyZXNzKys7Ci0gICAgICAgICAgaWYgKGMgPCAwKQot ICAgICAgICAgICAgewotICAgICAgICAgICAgICBmcmVlIChidWYpOwotICAgICAgICAgICAg ICByZXR1cm4gb2s7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKCEgaXNwcmludCAo YykpCi0gICAgICAgICAgICAvKiBGb3VuZCBhIG5vbi1wcmludGluZy4gIFRyeSBhZ2FpbiBz dGFydGluZyB3aXRoIG5leHQgY2hhci4gICovCi0gICAgICAgICAgICBnb3RvIHRyeWxpbmU7 Ci0gICAgICAgICAgYnVmW2ldID0gYzsKLSAgICAgICAgfQotCi0gICAgICAvKiBXZSBmb3Vu ZCBhIHJ1biBvZiAnc3RyaW5nX21pbicgcHJpbnRhYmxlIGNoYXJhY3RlcnMuCi0gICAgICAg ICBOb3cgc2VlIGlmIGl0IGlzIHRlcm1pbmF0ZWQgd2l0aCBhIG51bGwgYnl0ZS4gICovCisg ICAgICAvKiBTdG9yZSBjb25zZWN1dGl2ZSBwcmludGFibGUgY2hhcmFjdGVycyB0byBCVUYu ICAqLwogICAgICAgd2hpbGUgKCFsaW1pdF9ieXRlc190b19mb3JtYXQgfHwgYWRkcmVzcyA8 IGVuZF9vZmZzZXQpCiAgICAgICAgIHsKLSAgICAgICAgICBpZiAoaSA9PSBidWZzaXplKQor ICAgICAgICAgIGlmIChpID09IGJ1ZnNpemUgLSAxKQogICAgICAgICAgICAgYnVmID0geHBh bGxvYyAoYnVmLCAmYnVmc2l6ZSwgMSwgLTEsIHNpemVvZiAqYnVmKTsKICAgICAgICAgICBv ayAmPSByZWFkX2NoYXIgKCZjKTsKLSAgICAgICAgICBhZGRyZXNzKys7CiAgICAgICAgICAg aWYgKGMgPCAwKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICBmcmVlIChidWYpOwog ICAgICAgICAgICAgICByZXR1cm4gb2s7CiAgICAgICAgICAgICB9CisgICAgICAgICAgYWRk cmVzcysrOworICAgICAgICAgIGJ1ZltpKytdID0gYzsKICAgICAgICAgICBpZiAoYyA9PSAn XDAnKQotICAgICAgICAgICAgYnJlYWs7CQkvKiBJdCBpczsgcHJpbnQgdGhpcyBzdHJpbmcu ICAqLworICAgICAgICAgICAgYnJlYWs7CQkvKiBQcmludCB0aGlzIHN0cmluZy4gICovCiAg ICAgICAgICAgaWYgKCEgaXNwcmludCAoYykpCi0gICAgICAgICAgICBnb3RvIHRyeWxpbmU7 CS8qIEl0IGlzbid0OyBnaXZlIHVwIG9uIHRoaXMgc3RyaW5nLiAgKi8KLSAgICAgICAgICBi dWZbaSsrXSA9IGM7CQkvKiBTdHJpbmcgY29udGludWVzOyBzdG9yZSBpdCBhbGwuICAqLwor ICAgICAgICAgICAgeworICAgICAgICAgICAgICBjID0gLTE7CQkvKiBHaXZlIHVwIG9uIHRo aXMgc3RyaW5nLiAgKi8KKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAg ICAgICAgIH0KIAotICAgICAgLyogSWYgd2UgZ2V0IGhlcmUsIHRoZSBzdHJpbmcgaXMgYWxs IHByaW50YWJsZSBhbmQgbnVsbC10ZXJtaW5hdGVkLAotICAgICAgICAgc28gcHJpbnQgaXQu ICBJdCBpcyBhbGwgaW4gJ2J1ZicgYW5kICdpJyBpcyBpdHMgbGVuZ3RoLiAgKi8KKyAgICAg IGlmIChjID09IC0xIHx8IGkgLSAhYyA8IHN0cmluZ19taW4pCisgICAgICAgIGNvbnRpbnVl OworCiAgICAgICBidWZbaV0gPSAwOwotICAgICAgZm9ybWF0X2FkZHJlc3MgKGFkZHJlc3Mg LSBpIC0gMSwgJyAnKTsKKworICAgICAgLyogSWYgd2UgZ2V0IGhlcmUsIHRoZSBzdHJpbmcg aXMgYWxsIHByaW50YWJsZSwgc28gcHJpbnQgaXQuICAqLworCisgICAgICBmb3JtYXRfYWRk cmVzcyAoYWRkcmVzcyAtIGksICcgJyk7CiAKICAgICAgIGZvciAoaSA9IDA7IChjID0gYnVm W2ldKTsgaSsrKQogICAgICAgICB7CmRpZmYgLS1naXQgYS90ZXN0cy9vZC9vZC1OLnNoIGIv dGVzdHMvb2Qvb2QtTi5zaAppbmRleCBiMDU3YzliODMuLjdjOTdlZWVlMiAxMDA3NTUKLS0t IGEvdGVzdHMvb2Qvb2QtTi5zaAorKysgYi90ZXN0cy9vZC9vZC1OLnNoCkBAIC0yMCw4ICsy MCw2IEBACiBwcmludF92ZXJfIG9kCiAKIGVjaG8gYWJjZGVmZyA+IGluIHx8IGZyYW1ld29y a19mYWlsdXJlXwotCi0KIChvZCAtQW4gLU4zIC1jOyBvZCAtQW4gLU4zIC1jKSA8IGluID4g b3V0CiBjYXQgPDxFT0YgPiBleHAgfHwgZnJhbWV3b3JrX2ZhaWx1cmVfCiAgICBhICAgYiAg IGMKQEAgLTI5LDQgKzI3LDMxIEBAIGNhdCA8PEVPRiA+IGV4cCB8fCBmcmFtZXdvcmtfZmFp bHVyZV8KIEVPRgogY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQogCisjIGNvcmV1dGlscyA8 PSA5Ljcgd291bGQgYnVmZmVyIG92ZXJmbG93IHdpdGgKKyMgYSBzaW5nbGUgTlVMIGJ5dGUg YWZ0ZXIgdGhlIGhlYXAgYnVmZmVyCitwcmludGYgJyUxMDBzJyB8IG9kIC1OMTAwIC1TMSA+ IG91dCB8fCBmYWlsPTEKK3ByaW50ZiAnJTA3byAlMTAwc1xuJyAwICcnID4gZXhwIHx8IGZy YW1ld29ya19mYWlsdXJlXworY29tcGFyZSBleHAgb3V0IHx8IGZhaWw9MQorCisjIGNvcmV1 dGlscyA8PSA5Ljcgd291bGQgb3V0cHV0IG5vdGhpbmcKK3ByaW50ZiAnJTEwMHMnIHwgb2Qg LU4xMCAtUzEwID4gb3V0IHx8IGZhaWw9MQorcHJpbnRmICclMDdvICUxMHNcbicgMCAnJyA+ IGV4cCB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KK2NvbXBhcmUgZXhwIG91dCB8fCBmYWlsPTEK KworIyBjb3JldXRpbHMgPD0gOS43IHdvdWxkIG91dHB1dCBhbiBpbnZhbGlkIGFkZHJlc3MK K3ByaW50ZiAnJTEwMHMnIHwgb2QgLU4xMCAtUzEgPiBvdXQgfHwgZmFpbD0xCitwcmludGYg JyUwN28gJTEwc1xuJyAwICcnID4gZXhwIHx8IGZyYW1ld29ya19mYWlsdXJlXworY29tcGFy ZSBleHAgb3V0IHx8IGZhaWw9MQorCisjIEVuc3VyZSAtUyBsaW1pdHMgYXBwcm9wcmlhdGVs eQorcHJpbnRmICclMTBzXDAwMCcgfCBvZCAtTjExIC1TMTEgPiBvdXQgfHwgZmFpbD0xCitj b21wYXJlIC9kZXYvbnVsbCBvdXQgfHwgZmFpbD0xCitwcmludGYgJyUxMHNcMDAwJyB8IG9k IC1TMTEgPiBvdXQgfHwgZmFpbD0xCitjb21wYXJlIC9kZXYvbnVsbCBvdXQgfHwgZmFpbD0x CitwcmludGYgJyUxMHMnIHwgb2QgLVMxMCA+IG91dCB8fCBmYWlsPTEgIyBJZ25vcmUgdW50 ZXJtaW5hdGVkIGF0IEVPRj8KK2NvbXBhcmUgL2Rldi9udWxsIG91dCB8fCBmYWlsPTEKK3By aW50ZiAnXDAwMSUxMHNcMDAwJTEwc1wwMDAnIHwgb2QgLVMxMCA+IG91dCB8fCBmYWlsPTEK K3ByaW50ZiAnJTA3byAlMTBzXG4nIDEgJycgMTIgJycgPiBleHAgfHwgZnJhbWV3b3JrX2Zh aWx1cmVfCitjb21wYXJlIGV4cCBvdXQgfHwgZmFpbD0xCisKIEV4aXQgJGZhaWwKLS0gCjIu NDkuMAoK --------------VwqZU07kDWqSHY3D5d06iQzd-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Collin Funk Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Tue, 24 Jun 2025 16:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr, Grisha Levit Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175078285510096 (code B ref 78880); Tue, 24 Jun 2025 16:35:02 +0000 Received: (at 78880) by debbugs.gnu.org; 24 Jun 2025 16:34:15 +0000 Received: from localhost ([127.0.0.1]:46610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uU6b8-0002ck-QA for submit@debbugs.gnu.org; Tue, 24 Jun 2025 12:34:15 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]:46478) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uU6b6-0002c1-B5 for 78880@debbugs.gnu.org; Tue, 24 Jun 2025 12:34:12 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-235f9ea8d08so7472045ad.1 for <78880@debbugs.gnu.org>; Tue, 24 Jun 2025 09:34:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750782846; x=1751387646; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pj4mFAcoaHa6L6d2Bu7SZmqBZI62yFu77n18OHYXD7Q=; b=Pazz/CyZJ7BhmFk/BmQFH9TVN7KTycW9Ibfpo9VUNjv7xXVLMC3PVldgb9LiHLHT9u hqFdm/eBpftu+Jeg1hFoIi1VTcgHSBWKl9aBuU698ygHgZ1eyqousettOMhE1eS/gpN/ 4gxz88gFlxup8gOei6V568rRWJFlJI41r4PLb9s+pGOJ76j88xK5hf3A1bqF21ijoyzj GACIFfmc106sU9HGzlnO7hmsNxyxSIT6ISSDy4skVwjNY4ACjCTnn0gcDd0BcNrgZZDc f+8XsHA+/WfpkQN3jCj/yILxCx/ohQChZWqzTCXeYzTBGMd5FqxU7wxsfLgTZke4Am/o 8P7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750782846; x=1751387646; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pj4mFAcoaHa6L6d2Bu7SZmqBZI62yFu77n18OHYXD7Q=; b=U66ggKJE9bQ0xC/Y2DPTfwu0T/QS3ql+k0uYlvyL/BSkGsBWBcQ2QUFT2wviSK2wxO xciMj31ehsCzfjZpPFK/SzLyJQY2+erDyAv6LaN+s21mZrzY0AEYswmhNrrw8QE8VqqC YP4IZ7PqV8y9jpb7BTQCgKVGZXVkRV8V5I/TeAzdbSC2BftoE64dp0i4rR4tPj5NuPP8 Uh2RPHORIPXUvHOJ8aBOUK5X/k0TJxojUnabrS0iOXSVJ12497ff6DZJiRlxA0bNsv6x PW+TKJ+7OufjebXAmQfAwAf4jZAeO36C3uCixtXg/KUiYY6xEG+sga0e/Pmngred3xUz iQdg== X-Forwarded-Encrypted: i=1; AJvYcCVGlInQvkXfVdhQKQnm2D97PYiwgAByeIcPl9CuqNUnAFAx9oqcyrBZ4FOeJ4dXu2e+aVSJ8g==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yw1wADYTqzsIy6m4sSi1TgKUafEZ38/TsC6JeZgGpg0w+xkmYUK mBASYcxYUYPvBAi/7OqONRRcKfzJQgYa76cOGv1fb2dOm50KtZeIMap4 X-Gm-Gg: ASbGncvmV55Stpvd5daDLDcVTtQYpKMCpXeiVGB/pnu9p4SjWTlffz+qdGdIJAZzXbz tcBBfPAu409/WLXjnEQFFPObrXBIO3cffP+PAiy1He2whJz2btXYMTGClwFHxnPIZ2UrB6WkYw0 FofELR33ii7N1BQl8mJPLytPmsbagM1bLXyw4SYk03Qub3inQIDm3JLmcwxAPRfbV3RX04bhkWS e+F9jJxpZ1xRRxkFZrwuflKLff82UON7X7C+EGCKEMv+TlI0zCYD48UG05vPS2Wp3mCGzKcyCU8 x/qvHeLXLY8JyPOCd3d2cwL5MR6h/Tr4mDxx2k09zwm952scI0PtThe7kYFA6n+Ls7NuMWsJWlT gcEsCTJlhuJeEpPbgG1uGxSUD9L6UzUTOnjyyw6g= X-Google-Smtp-Source: AGHT+IFZ4E4L19yH0LGpceA/cS7sCX1cnOLAfWH+XrfZwfSzYHH0v3syBNeeHcoCkbxUxVescHSQtA== X-Received: by 2002:a17:902:f790:b0:234:a44c:18d with SMTP id d9443c01a7336-237d97b4515mr253557085ad.22.1750782846110; Tue, 24 Jun 2025 09:34:06 -0700 (PDT) Received: from XTHCYRY1WD-Collin-Funk (redis-162.tisch.gvad.net. [207.135.66.162]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b32075895f6sm7924785a12.21.2025.06.24.09.34.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 09:34:05 -0700 (PDT) From: Collin Funk In-Reply-To: <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> ("=?UTF-8?Q?P=C3=A1draig?= Brady"'s message of "Tue, 24 Jun 2025 16:27:46 +0100") References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Date: Tue, 24 Jun 2025 09:34:05 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) P=C3=A1draig Brady writes: > On 24/06/2025 15:27, Grisha Levit wrote: > >> This part: >>=20 >>> tryline: >>> + idx_t i =3D 0; >>> + int c =3D 1; /* Init to 1 so can distinguish if NUL read. */ >> triggers >> warning: label followed by a declaration is a C23 extension >> [-Wc23-extensions] > > OK version 3 attached which simplifies > by removing the label and gotos entirely. Grisha, what did you pass to ./configure? I'm suprised we don't disable this in Gnulib. Since there we do: static_assert (1 < sizeof (example)) Without a second argument message string, I would expect Clang to complain about it, unless we disable it. Collin From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Wed, 25 Jun 2025 01:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr, Grisha Levit Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175081509716387 (code B ref 78880); Wed, 25 Jun 2025 01:32:01 +0000 Received: (at 78880) by debbugs.gnu.org; 25 Jun 2025 01:31:37 +0000 Received: from localhost ([127.0.0.1]:53366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uUEzB-0004GD-1Z for submit@debbugs.gnu.org; Tue, 24 Jun 2025 21:31:37 -0400 Received: from mail-pj1-f41.google.com ([209.85.216.41]:43463) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uUEz7-0004FI-SW for 78880@debbugs.gnu.org; Tue, 24 Jun 2025 21:31:34 -0400 Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-313a188174fso422745a91.1 for <78880@debbugs.gnu.org>; Tue, 24 Jun 2025 18:31:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750815087; x=1751419887; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Gh1ORyPXbk0w5iA6v/X9hUHe/CC4hHA9gWn63MinOak=; b=bJhKMXGejwUk8Y+KTrt3Jc924oBJh/hJKicabcR76d5qTdE2mtsnqvXqP7F0Ik/IQB dRTwV/DRvn6EjX6FZlDNCDddHkzXN9m49hlXysvJt08IYPV63jQnWCouw2JSHsowiJZV pXXWr7QXs9ZMcIxoegzNa1WMW5TTrUkg4oXwoo1HjJVIXlcavEffwdS1qsVCsm7xHmLD lDAzBDXJr+qhlJgX7uoGXWS5csaiq9opCF+qxIMEFkBFJouOvGGabdL2Q0IDCDT3G7KB hl38Pon82ZugP+f/LdGjHhuUGM4+qV0kjuSky+Pbo8jt8efu7x3exrA3f4H5sTHVniqF cuTQ== X-Forwarded-Encrypted: i=1; AJvYcCWyp8iUtp7Fv5a0mCRydOJJo5VFgKJliASZPwJDfk5o0inA54ymXvvk7dzGNurGVMfbQ80D2Q==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yx/CFJuMZI5NS5Gkc/5vQaP3PcXInSwaFVCoPRcke3Tddf14rsR QxkYEwvGkwmQZqjdJEW1SLwaYW2MhODmo8tRXiYTiETJOS3m782WtfOY0VJi3T02wv+y/nHD/md g0fqvPxyn4MBrRbkpLXpRVlA6ONoraPI= X-Gm-Gg: ASbGncurDjUAs/NrQP4RkSJJQ78yiGEmkIIXvf2wrRXGYZOD5p+JYLxEsVZ0CSI+Mw4 /rbyUw+FrGAKw2jtH+K1+R9f+KExC7r3ec5kFcb4HeHGt308g3AUarxcNgtSEK9awRBvovPWStq Sgq/nZ+XJuYMgWNCVsstfweumxsfJjVnuCtLiXiBMB X-Google-Smtp-Source: AGHT+IG4LhJEmfSa64LKk3LZ1qLmW53DpVXrAsAid5vgNJw2/fDRqMwwUZSQIhvctPFfBX+Xnqd7bqfkXrjVYjWXoEQ= X-Received: by 2002:a17:90b:4b87:b0:2ff:4a8d:74f9 with SMTP id 98e67ed59e1d1-315f24a7ef0mr1522613a91.10.1750815087390; Tue, 24 Jun 2025 18:31:27 -0700 (PDT) MIME-Version: 1.0 References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> In-Reply-To: <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> From: Jim Meyering Date: Tue, 24 Jun 2025 18:31:14 -0700 X-Gm-Features: Ac12FXwsPi1BCkx8q42hesv2nYlKQ3LGyuqlL_CVKgIWRI22taYfSFmwtgpbF6c Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue, Jun 24, 2025 at 8:29=E2=80=AFAM P=C3=A1draig Brady wrote: > OK version 3 attached which simplifies > by removing the label and gotos entirely. Thanks for fixing my very old bugs! That goes way back. I think od.c was the second stand-alone program I contributed to coreutils (first was tr). The earliest email I still have that mentions it is from 1997-01 prior to textutils-1.22, but that was just a ChangeLog entry about adapting to a changed strtod API. From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Grisha Levit Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 27 Jun 2025 16:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Collin Funk Cc: 78880@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig?= Brady Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175104117530137 (code B ref 78880); Fri, 27 Jun 2025 16:20:02 +0000 Received: (at 78880) by debbugs.gnu.org; 27 Jun 2025 16:19:35 +0000 Received: from localhost ([127.0.0.1]:39248 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVBna-0007pu-J3 for submit@debbugs.gnu.org; Fri, 27 Jun 2025 12:19:35 -0400 Received: from mail-yw1-x1130.google.com ([2607:f8b0:4864:20::1130]:56531) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVBnY-0007ox-7k for 78880@debbugs.gnu.org; Fri, 27 Jun 2025 12:19:32 -0400 Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-70e40e3f316so483237b3.0 for <78880@debbugs.gnu.org>; Fri, 27 Jun 2025 09:19:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751041166; x=1751645966; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=W92jZgJI5dB/QcIYbErjLmACwP6bZUk26rbyJtN9M/8=; b=D72XLFBl7f1d/mw9N5qdD93im0CvdWRnQKBCTS9uc7oEPApKq80G2jZ8K9N/HlgHVF GrTkrj9OeY92pVdJqhkbTkXgXKqA317ulLtfOCSNWXX0v0tG5ituYnF6tulaiwN603II K5woY3aJ7J9uOTuZljqMSoKfn97mt0+3i5GS2qtcwPrqofOErJ1+cd9n/ZRKtzAaz1Op ZGEyx9DlX2eUir0nW5WUeQbPuM4pM6d1/5HcwgybQauj4lwOXcOcBl1E/2T9q/Osjo69 TVjT0lq6oK9iGqG9d7aasKzG+PEFeGRUle8v/hzirhpy67Pbp4NjCSup5SKxVDmcVhZ2 pwsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751041166; x=1751645966; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W92jZgJI5dB/QcIYbErjLmACwP6bZUk26rbyJtN9M/8=; b=emwA9nbtBL5NxiF15CKK+eqEEsH1z3hF+RQOU3BaizhhE+zXpFQtdKMnn7nMiRmijr PRTmKIYdZTI5NKUEDVZM8IdW3QkDLKlof54wC/9Uhns6TUUp35LQQtViwop8SY+VOGsI 5FpfozGFGkHWk/ztmwO0bsdXDF9H3vyaOrT733nZpa3Eo1pquBmgbEJyTT1/akPrSYnI IFXeUBBRYY09h8qCtwqWnGtdUnfo/8WvYV6Pj3bVaRidD1RTU8E2RpoOO5zhvyjoe0VN hNLaGlJxG6SkzrnmL3wFd13l1uSqNmhyXubKnIInO3zm4XTw8DrMLiM0ITg4N3VOsLGO 6i7A== X-Forwarded-Encrypted: i=1; AJvYcCW3Py+eg3XN5EcGb22DQQfszCocY609xy77RKU8twyUUlsAX+tQd5t5rgTK6eTiwsnwnT+Adw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzxktsqlOViZ+IBAzylYfoFNf49ZOyG/l0SvlifXsxutCMLI8ws 9Om3DfPETCKfq0MlIIrQHnuCLPpSgrHbLaQ4hZ9a6id0h+0vT0dxj/OdI5jVhC7+JKwVDXxx57u uyD/L1bxIOn2a4N1TV8EysIpKd1a8xT0= X-Gm-Gg: ASbGnculBb93qywZsGa73znG9E8waQ6NbQlDtzIH03Kq5n0jvc1zmX8P0MWMuatlSt9 ZL0IdHLdcN4K59w4khGLurlql0QWzvjpalroxQ7w+oomX6hctH5a7SNgHnzwD9LuHUQV8SQcNUd LrX5QKxMhUu5t1ZX5g+mHFFlBR3YlZHBFot4I6zTZvUGEXe6CFU+xB+oQqRNvhaX0efqMV75VcE 9/oxA== X-Google-Smtp-Source: AGHT+IEMaUl2xgOxQT6N6Yt1BzzlOQ4JmXd4a8n0ckOnYG54xFcZC5VC777qnQRPX0nAVT4fLHrup6SvNvk5Y0o1mno= X-Received: by 2002:a05:690c:3747:b0:712:d946:788e with SMTP id 00721157ae682-7151714e371mr59089827b3.14.1751041166194; Fri, 27 Jun 2025 09:19:26 -0700 (PDT) MIME-Version: 1.0 References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> In-Reply-To: From: Grisha Levit Date: Fri, 27 Jun 2025 12:19:12 -0400 X-Gm-Features: Ac12FXxMQ6VleIlT2KRGR-Fk0cAx8VKsxSsO9eYYfRkR9Cuw8-4J_V8t-PvkvGw Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue, Jun 24, 2025, 12:34 Collin Funk wrote: > > P=C3=A1draig Brady writes: > > > On 24/06/2025 15:27, Grisha Levit wrote: > > > >> This part: > >> > >>> tryline: > >>> + idx_t i =3D 0; > >>> + int c =3D 1; /* Init to 1 so can distinguish if NUL read. *= / > >> triggers > >> warning: label followed by a declaration is a C23 extension > >> [-Wc23-extensions] > > > > OK version 3 attached which simplifies > > by removing the label and gotos entirely. > > Grisha, what did you pass to ./configure? > > I'm suprised we don't disable this in Gnulib. Since there we do: > > static_assert (1 < sizeof (example)) > > Without a second argument message string, I would expect Clang to > complain about it, unless we disable it. Sorry, TBH I didn't do a proper build, I just remembered the discussion at [1] while reading the patch. [1] https://lists.gnu.org/r/bug-gnulib/2024-04/msg00044.html From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Collin Funk Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Fri, 27 Jun 2025 16:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Grisha Levit Cc: 78880@debbugs.gnu.org, =?UTF-8?Q?P=C3=A1draig?= Brady Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175104271411095 (code B ref 78880); Fri, 27 Jun 2025 16:46:02 +0000 Received: (at 78880) by debbugs.gnu.org; 27 Jun 2025 16:45:14 +0000 Received: from localhost ([127.0.0.1]:39590 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVCCQ-0002sr-2U for submit@debbugs.gnu.org; Fri, 27 Jun 2025 12:45:14 -0400 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]:42206) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVCCN-0002n3-Ha for 78880@debbugs.gnu.org; Fri, 27 Jun 2025 12:45:12 -0400 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-747fba9f962so2336802b3a.0 for <78880@debbugs.gnu.org>; Fri, 27 Jun 2025 09:45:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751042705; x=1751647505; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=CPthivw3O+lkgNoaWND68CcJpd9+BNAXETilj+B7hgo=; b=Pg2JiyCrpbOcbz0UftaeeIJmb1mPB2yg+atDvagEc9uOqonFClBQyOlupFt9lEGNMZ CEh3H06b4N9qvNkXquQSHQxegBplUU77VBvVARbp9KE3YkFruQ42OvBQR7hU/1o/loEu +G+AJ7hvJ7jkozIl+1UsUe84BeMXqq3B/egCTpqv5tznkzTnNWyY7h4AExS3sPN0VG87 FTPHYn/RBdZ3ykqaKUujV1YT1lzYdvdcNa79sJetlTDQs0wK6pYgJAoQq6dWNoc3goUN cvwoQ29hVrZpsmx2P1zFCRDRn78eBL2kynITi4nlOrz8dZWhe43zZL81EVbAnm4OCY+8 BNyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751042705; x=1751647505; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CPthivw3O+lkgNoaWND68CcJpd9+BNAXETilj+B7hgo=; b=V9r41yGbfF9RKNEKc+8CvzWc2pepoDtNoZL56eEcoN3ovvC6hDL9iiwQ2g9CWQA4di 2eOEAqhgrMEb+JNIo6KFvfKRwKhqToOi2bc3NWcO3sn4sY0ptroWd/M946vawaO4oADE ru/m56WjkGQQEN8lE1ge/p+u5eLy7DEmwzzPSz/RxQjH+wbPxZdAiHijZsKaMJsjn+oG qJiZRj8ZGauvhH+E4Vjw0o4HhB2JxzPcB1qqUealn/BfnQ0gkrRLw0MEsd90hljxgILW GdFdaOEGBKkj6KWsTmXTvGKu2T/T1/vEN7/CatGXX9ELbP+pdmz/0yxze7BGlnfTT1rg joSg== X-Forwarded-Encrypted: i=1; AJvYcCWn3VxU4mWnMuZl83K8drBYeK924B3i1gxXQVNo87iSVV0w2q3vNd7fppSLJfA3uVEW+J1bKw==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yzcn5NC0hsOTa5I/N91w+onIDaSSprjqZmMJ50HJKVT3pM2VYx9 r0ZN6I6gj/svf9FZNkoZ285MPAFzV3VLlJwhkCLNw35Fz9cbIru5JWN80edkjQ== X-Gm-Gg: ASbGncsiL/2LV4sdFMuYRTmeq338gBaNr+iOpvMOCkPOdNxufqNL6lHXUg7sehEUu6g QjyOimrNVxyNt4oPBcFzU4c61OyQYP5Li/jmd/F4Ye4ezWTSGs2rA5sZgfy7MlJwua/K1yqtNk4 QvpwNDvA3aDsnBi817lIPGYlbQDAuAV2ODMuXBLZZi07t2tAf72rVI+1tsnEoEjjHX2dCqPHc7t W2swprx7kFWGlw9UrVh3f3epzxtEUwowdSNBR3rWpoEL9ajUihTXEdCt2lhMOqzBd2G7PhxNU3b iU8JJdeeudG/bzW9dmezQddu2xypfscQlBUF2MKrfXU= X-Google-Smtp-Source: AGHT+IEvd0ddTNO5KSYPi5jiPKYlfG7EWFKtET21DKmwNOwoqB1Ki/u1zo2P638tHqq8xhmDXgSdZQ== X-Received: by 2002:a05:6a20:3d8d:b0:220:1c04:80cc with SMTP id adf61e73a8af0-220a091ded2mr6701745637.9.1751042705113; Fri, 27 Jun 2025 09:45:05 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::6f5a]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74af55c6d49sm2647917b3a.119.2025.06.27.09.45.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Jun 2025 09:45:04 -0700 (PDT) From: Collin Funk In-Reply-To: References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Date: Fri, 27 Jun 2025 09:45:03 -0700 Message-ID: <87wm8xt9ps.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Grisha, Grisha Levit writes: >> Grisha, what did you pass to ./configure? >> >> I'm suprised we don't disable this in Gnulib. Since there we do: >> >> static_assert (1 < sizeof (example)) >> >> Without a second argument message string, I would expect Clang to >> complain about it, unless we disable it. > > Sorry, TBH I didn't do a proper build, I just remembered the > discussion at [1] while reading the patch. > > [1] https://lists.gnu.org/r/bug-gnulib/2024-04/msg00044.html No problem at all, I was just curious. Gnulib can add support for C23's single argument static_assert if the compiler does not support it, but cannot make it support declarations after labels. So good catch on your part. Thanks! Collin From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 04:26:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Jim Meyering Cc: 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr, =?UTF-8?Q?P=C3=A1draig?= Brady , Grisha Levit Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.1751171124887 (code B ref 78880); Sun, 29 Jun 2025 04:26:03 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 04:25:24 +0000 Received: from localhost ([127.0.0.1]:53919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVjbX-0000EE-Mn for submit@debbugs.gnu.org; Sun, 29 Jun 2025 00:25:23 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:44072) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uVjbU-00008o-PM for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 00:25:21 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 29A493C010852; Sat, 28 Jun 2025 21:25:14 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id vQtbljw8QW56; Sat, 28 Jun 2025 21:25:14 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E72863C010853; Sat, 28 Jun 2025 21:25:13 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu E72863C010853 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1751171114; bh=B6eCGLQ2ysT8mwN+HlrA64W9k7IYD0eoREo5PHcr2h0=; h=Message-ID:Date:MIME-Version:To:From; b=NH6lMu2FALDBNk+ZEDt1gDjGeNfUa8N76W2lCsP2ZswjG6MeX67WlMTWEWvPrOfUL fyT3YxOTQrNFDkXBobVQucanowAs89O2Q9X70vNsruWB2dMIeD6x/xDhOpJAHROmG5 SPBgp4mWyA2Us8gAj4Wn16HkxmULStJSoopnapBJrrVcahU/ZaFx4rDhdAVSGqsUnq 6wEw0jMRComfYuCTfiIaLm7GqIzIr1WsbEfC1UCogAjuficfUtDo8qHrS1ihdBWvn+ QQ450jr4EQekTqJB1McLqX2SQGWznMG+1Utk1tGSwiu6Hkfv7PbSfk/gYoxBlnjKEd aqZwA1r3GPYBQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id HMqMm-bTj8mj; Sat, 28 Jun 2025 21:25:13 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 855FE3C010852; Sat, 28 Jun 2025 21:25:13 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------w0h3O03NkNnwVhYzaVr04GxA" Message-ID: Date: Sat, 28 Jun 2025 21:25:12 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2025-06-24 18:31, Jim Meyering wrote: > That goes way back. I think od.c > was the second stand-alone program I contributed to coreutils (first > was tr). The earliest email I still have that mentions it is from > 1997-01 prior to textutils-1.22, but that was just a ChangeLog entry > about adapting to a changed strtod API. I have a soft spot for 'od' as I remember using it in Unix in the 1970s. So I looked for nearby bugs and found a few, mostly integer overflows. I installed the attached patches to refactor the source and to fix the bugs I found. You might be amused by patch 0007, which fixes a POSIX conformance bug introduced in January 1995, in what is now Git commit 851162a0da41f2b6b08a8c1ed045086db9a443a0. Evidently this POSIX-required feature is not often used! The NEWS item in the fix says "[bug introduced on 1995-01-25]" instead of the usual "[bug introduced in coreutils-N]" comment because I don't know how to relate that commit to a version number (would it be textutils? probably doesn't matter). You might also be amused (or appalled) by patch 0007's hacky fix. I couldn't bestir myself to write a cleaner fix. The hacky fix doesn't require memory allocation so in some sense it's better than a cleaner one would be. --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0001-od-fix-theoretical-size_t-malloc-overflow.patch" Content-Disposition: attachment; filename="0001-od-fix-theoretical-size_t-malloc-overflow.patch" Content-Transfer-Encoding: base64 RnJvbSAwZDFjMjVkMWNiNmQwY2UxMTk3NzUzNjhhMGZhYmM3NjQ0MzkzZjZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDA4OjE1OjQyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMS8xOV0gb2Q6IGZpeCB0aGVvcmV0aWNhbCBzaXplX3QgbWFsbG9jIG92ZXJmbG93Cgoq IHNyYy9vZC5jIChkdW1wLCBkdW1wX3N0cmluZ3MpOiBVc2UgaWR4X3QgYWxsb2NhdG9ycwpy YXRoZXIgdGhhbiBzaXplX3QgYWxsb2NhdG9ycywgdG8gYXZvaWQgdW5jaGVja2VkIGludGVn ZXIKb3ZlcmZsb3cgb24gdGhlb3JldGljYWwgcGxhdGZvcm1zIHdoZXJlIFNJWkVfTUFYIDwg SURYX01BWC4KLS0tCiBzcmMvb2QuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3Ny Yy9vZC5jCmluZGV4IDZiNWM4Njc1Zi4uNzMwNmIwZjlhIDEwMDY0NAotLS0gYS9zcmMvb2Qu YworKysgYi9zcmMvb2QuYwpAQCAtMTQzMiw3ICsxNDMyLDcgQEAgZHVtcCAodm9pZCkKICAg Ym9vbCBvayA9IHRydWU7CiAgIHNpemVfdCBuX2J5dGVzX3JlYWQ7CiAKLSAgYmxvY2tbMF0g PSB4bm1hbGxvYyAoMiwgYnl0ZXNfcGVyX2Jsb2NrKTsKKyAgYmxvY2tbMF0gPSB4aW5tYWxs b2MgKDIsIGJ5dGVzX3Blcl9ibG9jayk7CiAgIGJsb2NrWzFdID0gYmxvY2tbMF0gKyBieXRl c19wZXJfYmxvY2s7CiAKICAgY3VycmVudF9vZmZzZXQgPSBuX2J5dGVzX3RvX3NraXA7CkBA IC0xNTE0LDcgKzE1MTQsNyBAQCBzdGF0aWMgYm9vbAogZHVtcF9zdHJpbmdzICh2b2lkKQog ewogICBpZHhfdCBidWZzaXplID0gTUFYICgxMDAsIHN0cmluZ19taW4gKyAxKTsKLSAgY2hh ciAqYnVmID0geG1hbGxvYyAoYnVmc2l6ZSk7CisgIGNoYXIgKmJ1ZiA9IHhpbWFsbG9jIChi dWZzaXplKTsKICAgdWludG1heF90IGFkZHJlc3MgPSBuX2J5dGVzX3RvX3NraXA7CiAgIGJv b2wgb2sgPSB0cnVlOwogCi0tIAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0002-od-fix-another-off-by-one-issue-with-strings.patch" Content-Disposition: attachment; filename="0002-od-fix-another-off-by-one-issue-with-strings.patch" Content-Transfer-Encoding: base64 RnJvbSA2OWIwN2NjNThkZTBhODZmN2IwNmQ2NzA5MDQ5MDc3YzZiZDQ4NmVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDA4OjA3OjU0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMi8xOV0gb2Q6IGZpeCBhbm90aGVyIG9mZi1ieS1vbmUgaXNzdWUgd2l0aCAtLXN0cmlu Z3MKCiogc3JjL29kLmMgKG1haW4pOiBGaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBzdHJpbmdf bWluIGxpbWl0LgotLS0KIHNyYy9vZC5jIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL29kLmMg Yi9zcmMvb2QuYwppbmRleCA3MzA2YjBmOWEuLjQzOWY3MWU1YiAxMDA2NDQKLS0tIGEvc3Jj L29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTE3MzgsMTAgKzE3MzgsMTAgQEAgbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICBpZiAoc19lcnIgIT0gTE9OR0lO VF9PSykKICAgICAgICAgICAgICAgICB4c3RydG9sX2ZhdGFsIChzX2Vyciwgb2ksIGMsIGxv bmdfb3B0aW9ucywgb3B0YXJnKTsKIAotICAgICAgICAgICAgICAvKiBUaGUgbWluaW11bSBz dHJpbmcgbGVuZ3RoIG1heSBiZSBubyBsYXJnZXIgdGhhbgorICAgICAgICAgICAgICAvKiBU aGUgbWluaW11bSBzdHJpbmcgbGVuZ3RoIG11c3QgYmUgbGVzcyB0aGFuCiAgICAgICAgICAg ICAgICAgIE1JTiAoSURYX01BWCwgU0laRV9NQVgpLCBzaW5jZSB3ZSBtYXkgYWxsb2NhdGUg YQotICAgICAgICAgICAgICAgICBidWZmZXIgb2YgdGhpcyBzaXplLiAgKi8KLSAgICAgICAg ICAgICAgaWYgKE1JTiAoSURYX01BWCwgU0laRV9NQVgpIDwgdG1wKQorICAgICAgICAgICAg ICAgICBidWZmZXIgb2YgdGhpcyBzaXplICsgMS4gICovCisgICAgICAgICAgICAgIGlmIChN SU4gKElEWF9NQVgsIFNJWkVfTUFYKSA8PSB0bXApCiAgICAgICAgICAgICAgICAgZXJyb3Ig KEVYSVRfRkFJTFVSRSwgMCwgXygiJXMgaXMgdG9vIGxhcmdlIiksIHF1b3RlIChvcHRhcmcp KTsKIAogICAgICAgICAgICAgICBzdHJpbmdfbWluID0gdG1wOwotLSAKMi41MC4wCgo= --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0003-maint-assume-long-long-int.patch" Content-Disposition: attachment; filename="0003-maint-assume-long-long-int.patch" Content-Transfer-Encoding: base64 RnJvbSA2NzFkNzlhMGI3M2E5YTM4ZWEwYzI2NzYxMmFkMzRmMjg0ZTNhOGYxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDI0IEp1biAyMDI1IDE5OjEzOjIwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMy8xOV0gbWFpbnQ6IGFzc3VtZSBsb25nIGxvbmcgaW50Ck1JTUUtVmVyc2lvbjogMS4w CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CgpJdOKAmXMgbG9uZyBiZWVuIHNhZmUgdG8gYXNzdW1lIEM5 OSsgc3VwcG9ydCBmb3IgbG9uZyBsb25nIGludC4KKiAuZ2l0aWdub3JlOiBSZW1vdmUgbTQv bG9uZ2xvbmcubTQuCiogYm9vdHN0cmFwLmNvbmYgKGJ1aWxkcmVxKTogQm9vc3QgZ2l0IHBy ZXJlcSBmcm9tIDEuNC40IHRvIDEuNS41LApzeW5jaW5nIHdpdGggR251bGliLgooYm9vdHN0 cmFwX3Bvc3RfaW1wb3J0X2hvb2spOiBSZW1vdmUgbTQvbG9uZ2xvbmcubTQuCiogbTQvam0t bWFjcm9zLm00IChnbF9DSEVDS19BTExfVFlQRVMpOgpObyBuZWVkIHRvIHJlcXVpcmUgQUNf VFlQRV9VTlNJR05FRF9MT05HX0xPTkdfSU5ULgoqIHNyYy9mYWN0b3IuYyAoREl0eXBlLCBV REl0eXBlKToKKiBzcmMvb2QuYyAobWFpbik6CkFzc3VtZSBIQVZFX0xPTkdfTE9OR19JTlQu Ciogc3JjL29kLmM6ICh1bnNpZ25lZF9sb25nX2xvbmdfaW50KToKUmVtb3ZlLiAgQWxsIHVz ZXMgcmVwbGFjZWQgd2l0aCB1bnNpZ25lZCBsb25nIGxvbmcgaW50LgotLS0KIC5naXRpZ25v cmUgICAgICB8ICAxIC0KIGJvb3RzdHJhcC5jb25mICB8IDEzICsrKysrKysrKystLS0KIG00 L2ptLW1hY3Jvcy5tNCB8ICAxIC0KIHNyYy9mYWN0b3IuYyAgICB8ICA1IC0tLS0tCiBzcmMv b2QuYyAgICAgICAgfCAxOCArKysrLS0tLS0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwg MTQgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvLmdpdGln bm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMTY0MjRlZGY4Li44N2VhY2Y2MjEgMTAwNjQ0Ci0t LSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMTU3LDcgKzE1Nyw2IEBACiAv bTQvbGliLWxpbmsubTQKIC9tNC9saWItcHJlZml4Lm00CiAvbTQvbG9jay5tNAotL200L2xv bmdsb25nLm00CiAvbTQvbmxzLm00CiAvbTQvcG8ubTQKIC9tNC9wcmludGYtcG9zaXgubTQK ZGlmZiAtLWdpdCBhL2Jvb3RzdHJhcC5jb25mIGIvYm9vdHN0cmFwLmNvbmYKaW5kZXggYWY3 MDkyYzMyLi44NDg4MDM4YTcgMTAwNjQ0Ci0tLSBhL2Jvb3RzdHJhcC5jb25mCisrKyBiL2Jv b3RzdHJhcC5jb25mCkBAIC0xLDQgKzEsNCBAQAotIyBCb290c3RyYXAgY29uZmlndXJhdGlv bi4KKyMgQm9vdHN0cmFwIGNvbmZpZ3VyYXRpb24uICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLSotIHNoIC0qLQogCiAjIENvcHlyaWdodCAoQykgMjAwNi0y MDI1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCkBAIC0zNDAsNyArMzQwLDcg QEAgWEdFVFRFWFRfT1BUSU9OUz0kWEdFVFRFWFRfT1BUSU9OUydcXFwKICAtLWZyb20tY29k ZT1VVEYtOFxcXAogJwogCi0jIEFwcGVuZCB0aGVzZSwgc2luY2Ugd2UgdXNlIHRoZSBwcm9w ZXJuYW1lIG1vZHVsZS4KKyMgQXBwZW5kIHRoZXNlLCBzaW5jZSB3ZSB1c2UgdGhlIHByb3Bl cm5hbWUtbGl0ZSBtb2R1bGUuCiBzZWVfbWFudWFsPSciVGhpcyBpcyBhIHByb3BlciBuYW1l LiBTZWUgdGhlIGdldHRleHQgbWFudWFsLCBzZWN0aW9uIE5hbWVzLiInCiBzZWVfbWFudWFs PVwnIiRzZWVfbWFudWFsIlwnCiBYR0VUVEVYVF9PUFRJT05TPSRYR0VUVEVYVF9PUFRJT05T J1xcXApAQCAtMzU5LDcgKzM1OSw3IEBAIGF1dG9tYWtlICAgMS4xMS4yCiBhdXRvcG9pbnQg IDAuMTkuMgogYmlzb24gICAgICAtCiBnZXR0ZXh0ICAgIDAuMTkuMgotZ2l0ICAgICAgICAx LjQuNAorZ2l0ICAgICAgICAxLjUuNQogZ3BlcmYgICAgICAtCiBnemlwICAgICAgIC0KIG00 ICAgICAgICAgLQpAQCAtMzg1LDYgKzM4NSwxMyBAQCBib290c3RyYXBfcG9zdF9pbXBvcnRf aG9vayAoKQogICAgICYmIGNobW9kIGEtdyAkdG1wLTEgJHRtcC0yIFwKICAgICAmJiBtdiAt ZiAkdG1wLTEgJG00ZiAmJiBtdiAtZiAkdG1wLTIgJG1rZikKIAorICAjIElmICJBTV9HTlVf R0VUVEVYVChleHRlcm5hbCIgb3IgIkFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0iIGFwcGVh cnMKKyAgIyBpbiBjb25maWd1cmUuYWMsIHJlbW92ZSBhIGZpbGUgdW5uZWNlc3NhcmlseSBp bXBvcnRlZCBieSBhdXRvcG9pbnQuCisgIGlmIGdyZXAgJ15bCSBdKkFNX0dOVV9HRVRURVhU KFxbKmV4dGVybmFsXSpbLCldJyBcCisgICAgICAgICAgY29uZmlndXJlLmFjID4vZGV2L251 bGwgMj4mMTsgdGhlbgorICAgIHJtIC1mIG00L2xvbmdsb25nLm00CisgIGZpCisKICAgIyBS ZWdlbmVyYXRlIHNyYy9zaW5nbGUtYmluYXJ5Lm1rCiAgIChta2Y9c3JjL3NpbmdsZS1iaW5h cnkubWsgdG1wPXNpbmdsZS1iaW5hcnkudG1wIFwKICAgICAmJiBybSAtZiAkbWtmICR0bXAg XApkaWZmIC0tZ2l0IGEvbTQvam0tbWFjcm9zLm00IGIvbTQvam0tbWFjcm9zLm00CmluZGV4 IGM3Y2FkNTZjYS4uODgzYjU5Njc3IDEwMDY0NAotLS0gYS9tNC9qbS1tYWNyb3MubTQKKysr IGIvbTQvam0tbWFjcm9zLm00CkBAIC0yMDQsNyArMjA0LDYgQEAgQUNfREVGVU4oW2dsX0NI RUNLX0FMTF9UWVBFU10sCiAgIEFDX1JFUVVJUkUoW2dsX0JJR0VORElBTl0pCiAgIEFDX1JF UVVJUkUoW0FDX0NfVk9MQVRJTEVdKQogICBBQ19SRVFVSVJFKFtBQ19DX0lOTElORV0pCi0g IEFDX1JFUVVJUkUoW0FDX1RZUEVfVU5TSUdORURfTE9OR19MT05HX0lOVF0pCiAKICAgQUNf UkVRVUlSRShbZ2xfQ0hFQ0tfQUxMX0hFQURFUlNdKQogICBBQ19DSEVDS19NRU1CRVJTKApk aWZmIC0tZ2l0IGEvc3JjL2ZhY3Rvci5jIGIvc3JjL2ZhY3Rvci5jCmluZGV4IDc5MmVjOTZj NC4uOTQ4YmYwNTI3IDEwMDY0NAotLS0gYS9zcmMvZmFjdG9yLmMKKysrIGIvc3JjL2ZhY3Rv ci5jCkBAIC0xNzEsMTMgKzE3MSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IFVESXR5cGUg ICAgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKERJKSkpOwogdHlwZWRlZiB1bnNpZ25lZCBjaGFy IFVRSXR5cGU7CiB0eXBlZGVmICAgICAgICAgIGxvbmcgU0l0eXBlOwogdHlwZWRlZiB1bnNp Z25lZCBsb25nIGludCBVU0l0eXBlOwotIyAgaWYgSEFWRV9MT05HX0xPTkdfSU5UCiB0eXBl ZGVmIGxvbmcgbG9uZyBpbnQgREl0eXBlOwogdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcg aW50IFVESXR5cGU7Ci0jICBlbHNlIC8qIEFzc3VtZSBgbG9uZycgZ2l2ZXMgdXMgYSB3aWRl IGVub3VnaCB0eXBlLiAgTmVlZGVkIGZvciBocHBhMi4wdy4gICovCi10eXBlZGVmIGxvbmcg aW50IERJdHlwZTsKLXR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgVURJdHlwZTsKLSMgIGVu ZGlmCiAjIGVuZGlmCiAjIGRlZmluZSBMT05HTE9OR19TVEFOREFMT05FICAgICAvKiBEb24n dCByZXF1aXJlIEdNUCdzIGxvbmdsb25nLmggbWRlcCBmaWxlcyAqLwogCmRpZmYgLS1naXQg YS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IDQzOWY3MWU1Yi4uYzFjZGQzMTBhIDEwMDY0 NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtNDMsMTQgKzQzLDYgQEAKIC8q IFRoZSBkZWZhdWx0IG51bWJlciBvZiBpbnB1dCBieXRlcyBwZXIgb3V0cHV0IGxpbmUuICAq LwogI2RlZmluZSBERUZBVUxUX0JZVEVTX1BFUl9CTE9DSyAxNgogCi0jaWYgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdW5z aWduZWRfbG9uZ19sb25nX2ludDsKLSNlbHNlCi0vKiBUaGlzIGlzIGp1c3QgYSBwbGFjZS1o b2xkZXIgdG8gYXZvaWQgYSBmZXcgJyNpZicgZGlyZWN0aXZlcy4KLSAgIEluIHRoaXMgY2Fz ZSwgdGhlIHR5cGUgaXNuJ3QgYWN0dWFsbHkgdXNlZC4gICovCi10eXBlZGVmIHVuc2lnbmVk IGxvbmcgaW50IHVuc2lnbmVkX2xvbmdfbG9uZ19pbnQ7Ci0jZW5kaWYKLQogI2lmIEZMT0FU MTZfU1VQUE9SVEVECiAgIC8qIEF2YWlsYWJsZSBzaW5jZSBjbGFuZyA2ICgyMDE4KSwgYW5k IGdjYyA3ICgyMDE3KS4gICovCiAgIHR5cGVkZWYgX0Zsb2F0MTYgZmxvYXQxNjsKQEAgLTEw MCw3ICs5Miw3IEBAIGVudW0gb3V0cHV0X2Zvcm1hdAogICAgIENIQVJBQ1RFUgogICB9Owog Ci0jZGVmaW5lIE1BWF9JTlRFR1JBTF9UWVBFX1NJWkUgc2l6ZW9mICh1bnNpZ25lZF9sb25n X2xvbmdfaW50KQorI2RlZmluZSBNQVhfSU5URUdSQUxfVFlQRV9TSVpFIHNpemVvZiAodW5z aWduZWQgbG9uZyBsb25nIGludCkKIAogLyogVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVz IG5lZWRlZCBmb3IgYSBmb3JtYXQgc3RyaW5nLCBpbmNsdWRpbmcKICAgIHRoZSB0cmFpbGlu ZyBudWwuICBFYWNoIGZvcm1hdCBzdHJpbmcgZXhwZWN0cyBhIHZhcmlhYmxlIGFtb3VudCBv ZgpAQCAtMTgwLDcgKzE3Miw3IEBAIHN0YXRpYyBjb25zdCBpbnQgd2lkdGhfYnl0ZXNbXSA9 CiAgIHNpemVvZiAoc2hvcnQgaW50KSwKICAgc2l6ZW9mIChpbnQpLAogICBzaXplb2YgKGxv bmcgaW50KSwKLSAgc2l6ZW9mICh1bnNpZ25lZF9sb25nX2xvbmdfaW50KSwKKyAgc2l6ZW9m ICh1bnNpZ25lZCBsb25nIGxvbmcgaW50KSwKICNpZiBCRjE2X1NVUFBPUlRFRAogICBzaXpl b2YgKGJmbG9hdDE2KSwKICNlbHNlCkBAIC01MDYsNyArNDk4LDcgQEAgUFJJTlRfVFlQRSAo cHJpbnRfc19zaG9ydCwgc2hvcnQgaW50KQogUFJJTlRfVFlQRSAocHJpbnRfc2hvcnQsIHVu c2lnbmVkIHNob3J0IGludCkKIFBSSU5UX1RZUEUgKHByaW50X2ludCwgdW5zaWduZWQgaW50 KQogUFJJTlRfVFlQRSAocHJpbnRfbG9uZywgdW5zaWduZWQgbG9uZyBpbnQpCi1QUklOVF9U WVBFIChwcmludF9sb25nX2xvbmcsIHVuc2lnbmVkX2xvbmdfbG9uZ19pbnQpCitQUklOVF9U WVBFIChwcmludF9sb25nX2xvbmcsIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQpCiAKIFBSSU5U X0ZMT0FUVFlQRSAocHJpbnRfYmZsb2F0LCBiZmxvYXQxNiwgZnRvYXN0ciwgRkxUX0JVRlNJ WkVfQk9VTkQpCiBQUklOVF9GTE9BVFRZUEUgKHByaW50X2hhbGZmbG9hdCwgZmxvYXQxNiwg ZnRvYXN0ciwgRkxUX0JVRlNJWkVfQk9VTkQpCkBAIC0xNjM3LDExICsxNjI5LDkgQEAgbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6ZW9m IChzaG9ydCBpbnQpXSA9IFNIT1JUOwogICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6ZW9mIChp bnQpXSA9IElOVDsKICAgaW50ZWdyYWxfdHlwZV9zaXplW3NpemVvZiAobG9uZyBpbnQpXSA9 IExPTkc7Ci0jaWYgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UCiAgIC8qIElmICdsb25n IGludCcgYW5kICdsb25nIGxvbmcgaW50JyBoYXZlIHRoZSBzYW1lIHNpemUsIGl0J3MgZmlu ZQogICAgICB0byBvdmVyd3JpdGUgdGhlIGVudHJ5IGZvciAnbG9uZycgd2l0aCB0aGlzIG9u ZS4gICovCi0gIGludGVncmFsX3R5cGVfc2l6ZVtzaXplb2YgKHVuc2lnbmVkX2xvbmdfbG9u Z19pbnQpXSA9IExPTkdfTE9ORzsKLSNlbmRpZgorICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6 ZW9mICh1bnNpZ25lZCBsb25nIGxvbmcgaW50KV0gPSBMT05HX0xPTkc7CiAKICAgZm9yIChp ZHhfdCBpID0gMDsgaSA8PSBNQVhfRlBfVFlQRV9TSVpFOyBpKyspCiAgICAgZnBfdHlwZV9z aXplW2ldID0gTk9fU0laRTsKLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0004-od-don-t-assume-no-holes-in-wide-unsigned.patch" Content-Disposition: attachment; filename="0004-od-don-t-assume-no-holes-in-wide-unsigned.patch" Content-Transfer-Encoding: base64 RnJvbSBkYmU0ZTJmNDI4MzBmZDVmOTAzOTE0NzI4MDIzMDliYmM5ZDFhOGVmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDI0IEp1biAyMDI1IDIwOjAxOjA0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNC8xOV0gPT9VVEYtOD9xP29kOj0yMGRvbj1FMj04MD05OXQ9MjBhc3N1bWU9MjBubz0y MGhvbGVzPz0KID0/VVRGLTg/cT89MjBpbj0yMHdpZGU9MjB1bnNpZ25lZD89Ck1JTUUtVmVy c2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpBbHNvLCBmaXggbWlub3IgcmVsYXRlZCB0 eXBvcy4KKiBzcmMvb2QuYyAoTUFYX0lOVEVHUkFMX1RZUEVfU0laRSwgTUFYX0FERFJFU1Nf TEVOR1RIKToKTm93IGEgY29uc3RhbnQsIG5vdCBhIG1hY3JvLgooTUFYX0lOVEVHUkFMX1RZ UEVfV0lEVEgpOiBOZXcgY29uc3RhbnQuICBVc2UgaXQgaW5zdGVhZCBvZgpDSEFSX0JJVCwg c28gYXMgbm90IHRvIGFzc3VtZSB0aGF0IHVpbnRtYXhfdCBhbmQgdW5zaWduZWQgbG9uZwps b25nIGludCBhcmUgaG9sZS1mcmVlLiAgVGhpcyBkb2VzbuKAmXQgbWF0dGVyIG9uIHByYWN0 aWNhbCBwb3J0aW5nCnRhcmdldHMsIHRob3VnaCB0aGVyZSBpcyBzdGlsbCBhIG1haW5mcmFt ZSBvciB0d28gdGhhdCBoYXZlIGhvbGVzLgooRk1UX0JZVEVTX0FMTE9DQVRFRCk6IEZpeCB0 eXBvIGJ5IGNoYW5naW5nICJqZCIgdG8gImpvIi4KRml4IG9mZi1ieS1vbmUgdHlwbyBpbiBz dGF0aWMgYXNzZXJ0aW9uLgotLS0KIHNyYy9vZC5jIHwgMTAgKysrKystLS0tLQogMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IGMxY2RkMzEwYS4uODc4MWEyMjU4IDEwMDY0 NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtOTIsNyArOTIsOCBAQCBlbnVt IG91dHB1dF9mb3JtYXQKICAgICBDSEFSQUNURVIKICAgfTsKIAotI2RlZmluZSBNQVhfSU5U RUdSQUxfVFlQRV9TSVpFIHNpemVvZiAodW5zaWduZWQgbG9uZyBsb25nIGludCkKK2VudW0g eyBNQVhfSU5URUdSQUxfVFlQRV9TSVpFID0gc2l6ZW9mICh1bnNpZ25lZCBsb25nIGxvbmcg aW50KSB9OworZW51bSB7IE1BWF9JTlRFR1JBTF9UWVBFX1dJRFRIID0gVUxMT05HX1dJRFRI IH07CiAKIC8qIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBuZWVkZWQgZm9yIGEgZm9y bWF0IHN0cmluZywgaW5jbHVkaW5nCiAgICB0aGUgdHJhaWxpbmcgbnVsLiAgRWFjaCBmb3Jt YXQgc3RyaW5nIGV4cGVjdHMgYSB2YXJpYWJsZSBhbW91bnQgb2YKQEAgLTEwNCwxMyArMTA1 LDEzIEBAIGVudW0KICAgICAgICAgICAgKHNpemVvZiAiJSouOTkiICsgMQogICAgICAgICAg ICAgKyBNQVggKHNpemVvZiAibGQiLAogICAgICAgICAgICAgICAgICAgIE1BWCAoc2l6ZW9m ICJqZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICBNQVggKHNpemVvZiAiamQiLAorICAg ICAgICAgICAgICAgICAgICAgICAgTUFYIChzaXplb2YgImpvIiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTUFYIChzaXplb2YgImp1IiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2YgImp4IikpKSkpCiAgIH07CiAKIC8qIEVuc3VyZSB0aGF0 IG91ciBjaG9pY2UgZm9yIEZNVF9CWVRFU19BTExPQ0FURUQgaXMgcmVhc29uYWJsZS4gICov Ci1zdGF0aWNfYXNzZXJ0IChNQVhfSU5URUdSQUxfVFlQRV9TSVpFICogQ0hBUl9CSVQgLyAz IDw9IDk5KTsKK3N0YXRpY19hc3NlcnQgKE1BWF9JTlRFR1JBTF9UWVBFX1dJRFRIIDw9IDMg KiA5OSk7CiAKIC8qIEVhY2ggb3V0cHV0IGZvcm1hdCBzcGVjaWZpY2F0aW9uIChmcm9tICct dCBzcGVjJyBvciBmcm9tCiAgICBvbGQtc3R5bGUgb3B0aW9ucykgaXMgcmVwcmVzZW50ZWQg Ynkgb25lIG9mIHRoZXNlIHN0cnVjdHVyZXMuICAqLwpAQCAtMjAyLDggKzIwMyw3IEBAIHN0 YXRpYyBpbnQgYWRkcmVzc19iYXNlOwogCiAvKiBUaGUgbnVtYmVyIG9mIG9jdGFsIGRpZ2l0 cyByZXF1aXJlZCB0byByZXByZXNlbnQgdGhlIGxhcmdlc3QKICAgIGFkZHJlc3MgdmFsdWUu ICAqLwotI2RlZmluZSBNQVhfQUREUkVTU19MRU5HVEggXAotICAoKHNpemVvZiAodWludG1h eF90KSAqIENIQVJfQklUICsgQ0hBUl9CSVQgLSAxKSAvIDMpCitlbnVtIHsgTUFYX0FERFJF U1NfTEVOR1RIID0gVUlOVE1BWF9XSURUSCAvIDMgKyAoVUlOVE1BWF9XSURUSCAlIDMgIT0g MCkgfTsKIAogLyogV2lkdGggb2YgYSBub3JtYWwgYWRkcmVzcy4gICovCiBzdGF0aWMgaW50 IGFkZHJlc3NfcGFkX2xlbjsKLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0005-od-prefer-idx_t-to-size_t.patch" Content-Disposition: attachment; filename="0005-od-prefer-idx_t-to-size_t.patch" Content-Transfer-Encoding: base64 RnJvbSAzNWQ5YmY2OTE1YmZmNWQ4OGRkMjI0NmFlNWExNTdkYjgzOGM2NGYxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDI0IEp1biAyMDI1IDIwOjM0OjI5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNS8xOV0gb2Q6IHByZWZlciBpZHhfdCB0byBzaXplX3QKClRoaXMgaGVscHMgZmluZCBv dmVyZmxvdyBidWdzIHdoZW4gY29tcGlsaW5nIHdpdGggLWZzYW5pdGl6ZT11bmRlZmluZWQu Ciogc3JjL29kLmMgKHN0cnVjdCB0c3BlYywgYnl0ZXNfcGVyX2Jsb2NrLCBQUklOVF9GSUVM RFMpCihQUklOVF9UWVBFLCBwcmludF9uYW1lZF9hc2NpaSwgcHJpbnRfYXNjaWksIGRlY29k ZV9vbmVfZm9ybWF0KQooc2tpcCwgd3JpdGVfYmxvY2ssIHJlYWRfYmxvY2ssIGR1bXAsIG1h aW4pOgpVc2UgaWR4X3QsIG5vdCBzaXplX3QuCi0tLQogc3JjL29kLmMgfCA1NyArKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9vZC5jIGIvc3JjL29kLmMKaW5kZXggODc4MWEyMjU4Li5mMzg1ZDZjZTUg MTAwNjQ0Ci0tLSBhL3NyYy9vZC5jCisrKyBiL3NyYy9vZC5jCkBAIC0xMjMsNyArMTIzLDcg QEAgc3RydWN0IHRzcGVjCiAgICAgICAgZmllbGRzIHRvIGxlYXZlIGJsYW5rLiAgV0lEVEgg aXMgd2lkdGggb2Ygb25lIGZpZWxkLCBleGNsdWRpbmcKICAgICAgICBsZWFkaW5nIHNwYWNl LCBhbmQgUEFEIGlzIHRvdGFsIHBhZCB0byBkaXZpZGUgYW1vbmcgRklFTERTLgogICAgICAg IFBBRCBpcyBhdCBsZWFzdCBhcyBsYXJnZSBhcyBGSUVMRFMuICAqLwotICAgIHZvaWQgKCpw cmludF9mdW5jdGlvbikgKHNpemVfdCBmaWVsZHMsIHNpemVfdCBibGFuaywgdm9pZCBjb25z dCAqZGF0YSwKKyAgICB2b2lkICgqcHJpbnRfZnVuY3Rpb24pIChpZHhfdCBmaWVsZHMsIGlk eF90IGJsYW5rLCB2b2lkIGNvbnN0ICpkYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNoYXIgY29uc3QgKmZtdCwgaW50IHdpZHRoLCBpbnQgcGFkKTsKICAgICBjaGFyIGZt dF9zdHJpbmdbRk1UX0JZVEVTX0FMTE9DQVRFRF07IC8qIE9mIHRoZSBzdHlsZSAiJSpkIi4g ICovCiAgICAgYm9vbCBoZXhsX21vZGVfdHJhaWxlcjsKQEAgLTI2MSw3ICsyNjEsNyBAQCBz dGF0aWMgaWR4X3Qgbl9zcGVjc19hbGxvY2F0ZWQ7CiAgICBhIG11bHRpcGxlIG9mIHRoZSBs ZWFzdCBjb21tb24gbXVsdGlwbGUgb2YgdGhlIHNpemVzIGFzc29jaWF0ZWQgd2l0aAogICAg dGhlIHNwZWNpZmllZCBvdXRwdXQgdHlwZXMuICBJdCBzaG91bGQgYmUgYXMgbGFyZ2UgYXMg cG9zc2libGUsIGJ1dAogICAgbm8gbGFyZ2VyIHRoYW4gMTYgLS0gdW5sZXNzIHNwZWNpZmll ZCB3aXRoIHRoZSAtdyBvcHRpb24uICAqLwotc3RhdGljIHNpemVfdCBieXRlc19wZXJfYmxv Y2s7CitzdGF0aWMgaWR4X3QgYnl0ZXNfcGVyX2Jsb2NrOwogCiAvKiBIdW1hbi1yZWFkYWJs ZSByZXByZXNlbnRhdGlvbiBvZiAqZmlsZV9saXN0IChmb3IgZXJyb3IgbWVzc2FnZXMpLgog ICAgSXQgZGlmZmVycyBmcm9tIGZpbGVfbGlzdFstMV0gb25seSB3aGVuIGZpbGVfbGlzdFst MV0gaXMgIi0iLiAgKi8KQEAgLTQ1MiwyNSArNDUyLDIzIEBAIEJpbmFyeSBwcmVmaXhlcyBj YW4gYmUgdXNlZCwgdG9vOiBLaUI9SywgTWlCPU0sIGFuZCBzbyBvbi5cblwKIAogI2RlZmlu ZSBQUklOVF9GSUVMRFMoTiwgVCwgRk1UX1NUUklOR19ERUNMLCBBQ1RJT04pICAgICAgICAg ICAgICAgICAgICAgXAogc3RhdGljIHZvaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotTiAoc2l6ZV90IGZpZWxkcywg c2l6ZV90IGJsYW5rLCB2b2lkIGNvbnN0ICpibG9jaywgICAgICAgICAgICAgICAgICAgICAg XAorTiAoaWR4X3QgZmllbGRzLCBpZHhfdCBibGFuaywgdm9pZCBjb25zdCAqYmxvY2ssCQkJ XAogICAgRk1UX1NUUklOR19ERUNMLCBpbnQgd2lkdGgsIGludCBwYWQpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBUIGNvbnN0 ICpwID0gYmxvY2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotICB1aW50bWF4X3QgaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICBpbnQgcGFkX3JlbWFpbmluZyA9 IHBhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAot ICBmb3IgKGkgPSBmaWVsZHM7IGJsYW5rIDwgaTsgaS0tKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICBmb3IgKGlkeF90IGkgPSBmaWVsZHM7IGJsYW5rIDwg aTsgaS0tKQkJCQlcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICBpbnQgbmV4dF9wYWQg PSBwYWQgKiAoaSAtIDEpIC8gZmllbGRzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiAgICAgICBpbnQgYWRqdXN0ZWRfd2lkdGggPSBwYWRfcmVtYWluaW5nIC0gbmV4dF9wYWQg KyB3aWR0aDsgICAgICAgICAgICBcCiAgICAgICBUIHg7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICBpZiAo aW5wdXRfc3dhcCAmJiBzaXplb2YgKFQpID4gMSkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgc2l6ZV90IGo7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBUIHg7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBj aGFyIGJbc2l6ZW9mIChUKV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgfSB1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgZm9yIChqID0gMDsgaiA8 IHNpemVvZiAoVCk7IGorKykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgZm9yIChpZHhfdCBqID0gMDsgaiA8IHNpemVvZiAoVCk7IGorKykJCQlcCiAgICAg ICAgICAgICB1LmJbal0gPSAoKGNoYXIgY29uc3QgKikgcClbc2l6ZW9mIChUKSAtIDEgLSBq XTsgICAgICAgICAgICBcCiAgICAgICAgICAgeCA9IHUueDsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIH0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCkBAIC01MTAsMTAgKzUwOCwxMCBAQCBQUklOVF9GTE9BVFRZUEUgKHByaW50X2xvbmdf ZG91YmxlLCBsb25nIGRvdWJsZSwgbGR0b2FzdHIsIExEQkxfQlVGU0laRV9CT1VORCkKICN1 bmRlZiBQUklOVF9GTE9BVFRZUEUKIAogc3RhdGljIHZvaWQKLWR1bXBfaGV4bF9tb2RlX3Ry YWlsZXIgKHNpemVfdCBuX2J5dGVzLCBjaGFyIGNvbnN0ICpibG9jaykKK2R1bXBfaGV4bF9t b2RlX3RyYWlsZXIgKGlkeF90IG5fYnl0ZXMsIGNoYXIgY29uc3QgKmJsb2NrKQogewogICBm cHV0cyAoIiAgPiIsIHN0ZG91dCk7Ci0gIGZvciAoc2l6ZV90IGkgPSBuX2J5dGVzOyBpID4g MDsgaS0tKQorICBmb3IgKGlkeF90IGkgPSBuX2J5dGVzOyBpID4gMDsgaS0tKQogICAgIHsK ICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9ICpibG9jaysrOwogICAgICAgdW5zaWduZWQgY2hh ciBjMiA9IChpc3ByaW50IChjKSA/IGMgOiAnLicpOwpAQCAtNTIzLDE0ICs1MjEsMTMgQEAg ZHVtcF9oZXhsX21vZGVfdHJhaWxlciAoc2l6ZV90IG5fYnl0ZXMsIGNoYXIgY29uc3QgKmJs b2NrKQogfQogCiBzdGF0aWMgdm9pZAotcHJpbnRfbmFtZWRfYXNjaWkgKHNpemVfdCBmaWVs ZHMsIHNpemVfdCBibGFuaywgdm9pZCBjb25zdCAqYmxvY2ssCitwcmludF9uYW1lZF9hc2Np aSAoaWR4X3QgZmllbGRzLCBpZHhfdCBibGFuaywgdm9pZCBjb25zdCAqYmxvY2ssCiAgICAg ICAgICAgICAgICAgICAgTUFZQkVfVU5VU0VEIGNoYXIgY29uc3QgKnVudXNlZF9mbXRfc3Ry aW5nLAogICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwgaW50IHBhZCkKIHsKICAgdW5z aWduZWQgY2hhciBjb25zdCAqcCA9IGJsb2NrOwotICB1aW50bWF4X3QgaTsKICAgaW50IHBh ZF9yZW1haW5pbmcgPSBwYWQ7Ci0gIGZvciAoaSA9IGZpZWxkczsgYmxhbmsgPCBpOyBpLS0p CisgIGZvciAoaWR4X3QgaSA9IGZpZWxkczsgYmxhbmsgPCBpOyBpLS0pCiAgICAgewogICAg ICAgaW50IG5leHRfcGFkID0gcGFkICogKGkgLSAxKSAvIGZpZWxkczsKICAgICAgIGludCBt YXNrZWRfYyA9ICpwKysgJiAweDdmOwpAQCAtNTU0LDE0ICs1NTEsMTMgQEAgcHJpbnRfbmFt ZWRfYXNjaWkgKHNpemVfdCBmaWVsZHMsIHNpemVfdCBibGFuaywgdm9pZCBjb25zdCAqYmxv Y2ssCiB9CiAKIHN0YXRpYyB2b2lkCi1wcmludF9hc2NpaSAoc2l6ZV90IGZpZWxkcywgc2l6 ZV90IGJsYW5rLCB2b2lkIGNvbnN0ICpibG9jaywKK3ByaW50X2FzY2lpIChpZHhfdCBmaWVs ZHMsIGlkeF90IGJsYW5rLCB2b2lkIGNvbnN0ICpibG9jaywKICAgICAgICAgICAgICBNQVlC RV9VTlVTRUQgY2hhciBjb25zdCAqdW51c2VkX2ZtdF9zdHJpbmcsIGludCB3aWR0aCwKICAg ICAgICAgICAgICBpbnQgcGFkKQogewogICB1bnNpZ25lZCBjaGFyIGNvbnN0ICpwID0gYmxv Y2s7Ci0gIHVpbnRtYXhfdCBpOwogICBpbnQgcGFkX3JlbWFpbmluZyA9IHBhZDsKLSAgZm9y IChpID0gZmllbGRzOyBibGFuayA8IGk7IGktLSkKKyAgZm9yIChpZHhfdCBpID0gZmllbGRz OyBibGFuayA8IGk7IGktLSkKICAgICB7CiAgICAgICBpbnQgbmV4dF9wYWQgPSBwYWQgKiAo aSAtIDEpIC8gZmllbGRzOwogICAgICAgdW5zaWduZWQgY2hhciBjID0gKnArKzsKQEAgLTY1 OSw3ICs2NTUsNyBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25zdCAqc19vcmlnLCBj aGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgZW51bSBzaXplX3NwZWMgc2l6 ZV9zcGVjOwogICBpbnQgc2l6ZTsKICAgZW51bSBvdXRwdXRfZm9ybWF0IGZtdDsKLSAgdm9p ZCAoKnByaW50X2Z1bmN0aW9uKSAoc2l6ZV90LCBzaXplX3QsIHZvaWQgY29uc3QgKiwgY2hh ciBjb25zdCAqLAorICB2b2lkICgqcHJpbnRfZnVuY3Rpb24pIChpZHhfdCwgaWR4X3QsIHZv aWQgY29uc3QgKiwgY2hhciBjb25zdCAqLAogICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQsIGludCk7CiAgIGNoYXIgY29uc3QgKnA7CiAgIGNoYXIgYzsKQEAgLTg2OCw3ICs4NjQs NyBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25zdCAqc19vcmlnLCBjaGFyIGNvbnN0 ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKIAogICAgICAgewogICAgICAgICBzdHJ1Y3QgbGNv bnYgY29uc3QgKmxvY2FsZSA9IGxvY2FsZWNvbnYgKCk7Ci0gICAgICAgIHNpemVfdCBkZWNp bWFsX3BvaW50X2xlbiA9CisgICAgICAgIGlkeF90IGRlY2ltYWxfcG9pbnRfbGVuID0KICAg ICAgICAgICAobG9jYWxlLT5kZWNpbWFsX3BvaW50WzBdID8gc3RybGVuIChsb2NhbGUtPmRl Y2ltYWxfcG9pbnQpIDogMSk7CiAKICAgICAgICAgc3dpdGNoICgrc2l6ZV9zcGVjKQpAQCAt MTExMSw3ICsxMTA3LDcgQEAgc2tpcCAodWludG1heF90IG5fc2tpcCkKICAgICAgICAgICBl bHNlCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGNoYXIgYnVmW0JVRlNJWl07Ci0g ICAgICAgICAgICAgIHNpemVfdCBuX2J5dGVzX3JlYWQsIG5fYnl0ZXNfdG9fcmVhZCA9IEJV RlNJWjsKKyAgICAgICAgICAgICAgaWR4X3Qgbl9ieXRlc19yZWFkLCBuX2J5dGVzX3RvX3Jl YWQgPSBCVUZTSVo7CiAKICAgICAgICAgICAgICAgd2hpbGUgKDAgPCBuX3NraXApCiAgICAg ICAgICAgICAgICAgewpAQCAtMTIyOCw3ICsxMjI0LDcgQEAgZm9ybWF0X2FkZHJlc3NfbGFi ZWwgKHVpbnRtYXhfdCBhZGRyZXNzLCBjaGFyIGMpCiAgICBUaGF0IGNvbmRpdGlvbiBtYXkg YmUgZmFsc2Ugb25seSBmb3IgdGhlIGxhc3QgaW5wdXQgYmxvY2suICAqLwogCiBzdGF0aWMg dm9pZAotd3JpdGVfYmxvY2sgKHVpbnRtYXhfdCBjdXJyZW50X29mZnNldCwgc2l6ZV90IG5f Ynl0ZXMsCit3cml0ZV9ibG9jayAodWludG1heF90IGN1cnJlbnRfb2Zmc2V0LCBpZHhfdCBu X2J5dGVzLAogICAgICAgICAgICAgIGNoYXIgY29uc3QgKnByZXZfYmxvY2ssIGNoYXIgY29u c3QgKmN1cnJfYmxvY2spCiB7CiAgIHN0YXRpYyBib29sIGZpcnN0ID0gdHJ1ZTsKQEAgLTEz MjksNyArMTMyNSw3IEBAIHJlYWRfY2hhciAoaW50ICpjKQogICAgYXMgdXN1YWwgYW5kIHJl dHVybiBmYWxzZS4gIE90aGVyd2lzZSByZXR1cm4gdHJ1ZS4gICovCiAKIHN0YXRpYyBib29s Ci1yZWFkX2Jsb2NrIChzaXplX3QgbiwgY2hhciAqYmxvY2ssIHNpemVfdCAqbl9ieXRlc19p bl9idWZmZXIpCityZWFkX2Jsb2NrIChpZHhfdCBuLCBjaGFyICpibG9jaywgaWR4X3QgKm5f Ynl0ZXNfaW5fYnVmZmVyKQogewogICBib29sIG9rID0gdHJ1ZTsKIApAQCAtMTMzOSwxMSAr MTMzNSw5IEBAIHJlYWRfYmxvY2sgKHNpemVfdCBuLCBjaGFyICpibG9jaywgc2l6ZV90ICpu X2J5dGVzX2luX2J1ZmZlcikKIAogICB3aGlsZSAoaW5fc3RyZWFtICE9IG51bGxwdHIpCS8q IEVPRi4gICovCiAgICAgewotICAgICAgc2l6ZV90IG5fbmVlZGVkOwotICAgICAgc2l6ZV90 IG5fcmVhZDsKLQotICAgICAgbl9uZWVkZWQgPSBuIC0gKm5fYnl0ZXNfaW5fYnVmZmVyOwot ICAgICAgbl9yZWFkID0gZnJlYWQgKGJsb2NrICsgKm5fYnl0ZXNfaW5fYnVmZmVyLCAxLCBu X25lZWRlZCwgaW5fc3RyZWFtKTsKKyAgICAgIGlkeF90IG5fbmVlZGVkID0gbiAtICpuX2J5 dGVzX2luX2J1ZmZlcjsKKyAgICAgIGlkeF90IG5fcmVhZCA9IGZyZWFkIChibG9jayArICpu X2J5dGVzX2luX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCBuX25l ZWRlZCwgaW5fc3RyZWFtKTsKIAogICAgICAgKm5fYnl0ZXNfaW5fYnVmZmVyICs9IG5fcmVh ZDsKIApAQCAtMTQyMiw3ICsxNDE2LDcgQEAgZHVtcCAodm9pZCkKICAgdWludG1heF90IGN1 cnJlbnRfb2Zmc2V0OwogICBib29sIGlkeCA9IGZhbHNlOwogICBib29sIG9rID0gdHJ1ZTsK LSAgc2l6ZV90IG5fYnl0ZXNfcmVhZDsKKyAgaWR4X3Qgbl9ieXRlc19yZWFkOwogCiAgIGJs b2NrWzBdID0geGlubWFsbG9jICgyLCBieXRlc19wZXJfYmxvY2spOwogICBibG9ja1sxXSA9 IGJsb2NrWzBdICsgYnl0ZXNfcGVyX2Jsb2NrOwpAQCAtMTQzMyw3ICsxNDI3LDcgQEAgZHVt cCAodm9pZCkKICAgICB7CiAgICAgICB3aGlsZSAob2spCiAgICAgICAgIHsKLSAgICAgICAg ICBzaXplX3Qgbl9uZWVkZWQ7CisgICAgICAgICAgaWR4X3Qgbl9uZWVkZWQ7CiAgICAgICAg ICAgaWYgKGN1cnJlbnRfb2Zmc2V0ID49IGVuZF9vZmZzZXQpCiAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgIG5fYnl0ZXNfcmVhZCA9IDA7CkBAIC0xNDcyLDE0ICsxNDY2LDExIEBA IGR1bXAgKHZvaWQpCiAKICAgaWYgKG5fYnl0ZXNfcmVhZCA+IDApCiAgICAgewotICAgICAg aW50IGxfY19tOwotICAgICAgc2l6ZV90IGJ5dGVzX3RvX3dyaXRlOwotCi0gICAgICBsX2Nf bSA9IGdldF9sY20gKCk7CisgICAgICBpbnQgbF9jX20gPSBnZXRfbGNtICgpOwogCiAgICAg ICAvKiBFbnN1cmUgemVyby1ieXRlIHBhZGRpbmcgdXAgdG8gdGhlIHNtYWxsZXN0IG11bHRp cGxlIG9mIGxfY19tIHRoYXQKICAgICAgICAgIGlzIGF0IGxlYXN0IGFzIGxhcmdlIGFzIG5f Ynl0ZXNfcmVhZC4gICovCi0gICAgICBieXRlc190b193cml0ZSA9IGxfY19tICogKChuX2J5 dGVzX3JlYWQgKyBsX2NfbSAtIDEpIC8gbF9jX20pOworICAgICAgaWR4X3QgYnl0ZXNfdG9f d3JpdGUgPSBsX2NfbSAqICgobl9ieXRlc19yZWFkICsgbF9jX20gLSAxKSAvIGxfY19tKTsK IAogICAgICAgbWVtc2V0IChibG9ja1tpZHhdICsgbl9ieXRlc19yZWFkLCAwLCBieXRlc190 b193cml0ZSAtIG5fYnl0ZXNfcmVhZCk7CiAgICAgICB3cml0ZV9ibG9jayAoY3VycmVudF9v ZmZzZXQsIG5fYnl0ZXNfcmVhZCwgYmxvY2tbIWlkeF0sIGJsb2NrW2lkeF0pOwpAQCAtMTYw Nyw3ICsxNTk4LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBib29sIG1v ZGVybiA9IGZhbHNlOwogICBib29sIHdpZHRoX3NwZWNpZmllZCA9IGZhbHNlOwogICBib29s IG9rID0gdHJ1ZTsKLSAgc2l6ZV90IHdpZHRoX3Blcl9ibG9jayA9IDA7CisgIGlkeF90IHdp ZHRoX3Blcl9ibG9jayA9IDA7CiAgIHN0YXRpYyBjaGFyIGNvbnN0IG11bHRpcGxpZXJzW10g PSAiYkVHS2tNbVBRUlRZWjAiOwogCiAgIC8qIFRoZSBvbGQtc3R5bGUgJ3BzZXVkbyBzdGFy dGluZyBhZGRyZXNzJyB0byBiZSBwcmludGVkIGluIHBhcmVudGhlc2VzCi0tIAoyLjUwLjAK Cg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0006-od-fix-some-unlikely-integer-overflows.patch" Content-Disposition: attachment; filename="0006-od-fix-some-unlikely-integer-overflows.patch" Content-Transfer-Encoding: base64 RnJvbSA4OGYzMGVlMGE1YzM1NTcwMTkxNGQ0NDQ2ZGM3ZWM3MjlhMzQ0ZmEyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDI1IEp1biAyMDI1IDIzOjIyOjM3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNi8xOV0gb2Q6IGZpeCBzb21lIHVubGlrZWx5IGludGVnZXIgb3ZlcmZsb3dzCgoqIHNy Yy9vZC5jIChwcmludF9uX3NwYWNlcywgcGFkX2F0LCBwYWRfYXRfb3ZlcmZsb3cpOgpOZXcg c3RhdGljIGZ1bmN0aW9ucy4KKHN0cnVjdCB0c3BlYywgUFJJTlRfRklFTERTLCBwcmludF9u YW1lZF9hc2NpaSwgcHJpbnRfYXNjaWkpCihkZWNvZGVfb25lX2Zvcm1hdCwgd3JpdGVfYmxv Y2ssIG1haW4pOgpVc2UgaWR4X3QsIG5vdCBpbnQsIGZvciBjb3VudHMgdGhhdCBkZXBlbmQg b24gdGhlIG51bWJlcgpvZiBieXRlcyBpbiBhbiBvYmplY3QuCihkZWNvZGVfb25lX2Zvcm1h dCk6IFVzZSBwcmludF9uX3NwYWNlcyB0byBvdXRwdXQgc3BhY2VzLgooUFJJTlRfRklFTERT LCBwcmludF9uYW1lZF9hc2NpaSwgcHJpbnRfYXNjaWkpOgpVc2UgcGFkX2F0IHRvIGF2b2lk IGludGVnZXIgb3ZlcmZsb3cuCih3cml0ZV9ibG9jayk6IERvIG5vdCB1c2UgJSpzIHRvIHBh ZCwgYXMgdGhlIHRvdGFsIHBhZCBtaWdodApleGNlZWQgSU5UX01BWC4gIEluc3RlYWQsIHBh ZCBieSBoYW5kIHdpdGggcHV0Y2hhciAoJyAnKS4KKG1haW4pOiBVc2UgcGFkX2F0X292ZXJm bG93IHRvIHJlcG9ydCBpbnRlZ2VyIG92ZXJmbG93IGR1ZSB0bwpvdmVyc2l6ZSAtdy4gIFVz ZSBiZXR0ZXIgd2F5IHRvIHRlbGwgd2hldGhlciAtdyBpcyB1c2VkLAp3aXRob3V0IG5lZWRp bmcgSUZfTElOVC4KKiB0ZXN0cy9vZC9iaWctdy5zaDogTmV3IHRlc3QuCiogdGVzdHMvbG9j YWwubWsgKGFsbF90ZXN0cyk6IEFkZCBpdC4KLS0tCiBORVdTICAgICAgICAgICAgICB8ICA0 ICsrCiBzcmMvb2QuYyAgICAgICAgICB8IDk2ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tCiB0ZXN0cy9sb2NhbC5tayAgICB8ICAxICsKIHRlc3Rz L29kL2JpZy13LnNoIHwgNDMgKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDExMiBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw MDc1NSB0ZXN0cy9vZC9iaWctdy5zaAoKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4 IDExNmRkOTkzZS4uNGE5NTg3NzBjIDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAg LTIwLDYgKzIwLDEwIEBAIEdOVSBjb3JldXRpbHMgTkVXUyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0qLSBvdXRsaW5lIC0qLQogICBQcmV2aW91c2x5IGl0IHdvdWxk IGhhdmUgYWJvcnRlZC4KICAgW2J1ZyBpbnRyb2R1Y2VkIGluIGNvcmV1dGlscy05LjNdCiAK KyAgb2QgLXcgbm8gbG9uZ2VyIHNpbGVudGx5IG1pc2hhbmRsZXMgZW5vcm1vdXMgd2lkdGhz IGxpa2UgMzAzNzAwMDUwMC4KKyAgSW5zdGVhZCwgaXQgZWl0aGVyIG91dHB1dHMgY29ycmVj dGx5IG9yIGRpYWdub3NlcyBhIHRvby1sYXJnZSB3aWR0aC4KKyAgW1RoaXMgYnVnIHdhcyBw cmVzZW50IGluICJ0aGUgYmVnaW5uaW5nIi5dCisKICAgc29ydCB3aXRoIGtleSBjaGFyYWN0 ZXIgb2Zmc2V0cyBvZiBTSVpFX01BWCwgY291bGQgaW5kdWNlCiAgIGEgcmVhZCBvZiAxIGJ5 dGUgYmVmb3JlIGFuIGFsbG9jYXRlZCBoZWFwIGJ1ZmZlci4gRm9yIGV4YW1wbGU6CiAgICdz b3J0ICswLjE4NDQ2NzQ0MDczNzA5NTUxNjE1UiBpbnB1dCcgb24gNjQgYml0IHN5c3RlbXMu CmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IGYzODVkNmNlNS4uOGJi NDYzY2E4IDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTI0LDEx ICsxMjQsMTEgQEAgc3RydWN0IHRzcGVjCiAgICAgICAgbGVhZGluZyBzcGFjZSwgYW5kIFBB RCBpcyB0b3RhbCBwYWQgdG8gZGl2aWRlIGFtb25nIEZJRUxEUy4KICAgICAgICBQQUQgaXMg YXQgbGVhc3QgYXMgbGFyZ2UgYXMgRklFTERTLiAgKi8KICAgICB2b2lkICgqcHJpbnRfZnVu Y3Rpb24pIChpZHhfdCBmaWVsZHMsIGlkeF90IGJsYW5rLCB2b2lkIGNvbnN0ICpkYXRhLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgY29uc3QgKmZtdCwgaW50IHdpZHRo LCBpbnQgcGFkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGNvbnN0ICpm bXQsIGludCB3aWR0aCwgaWR4X3QgcGFkKTsKICAgICBjaGFyIGZtdF9zdHJpbmdbRk1UX0JZ VEVTX0FMTE9DQVRFRF07IC8qIE9mIHRoZSBzdHlsZSAiJSpkIi4gICovCiAgICAgYm9vbCBo ZXhsX21vZGVfdHJhaWxlcjsKICAgICBpbnQgZmllbGRfd2lkdGg7IC8qIE1pbmltdW0gd2lk dGggb2YgYSBmaWVsZCwgZXhjbHVkaW5nIGxlYWRpbmcgc3BhY2UuICAqLwotICAgIGludCBw YWRfd2lkdGg7IC8qIFRvdGFsIHBhZGRpbmcgdG8gYmUgZGl2aWRlZCBhbW9uZyBmaWVsZHMu ICAqLworICAgIGlkeF90IHBhZF93aWR0aDsgLyogVG90YWwgcGFkZGluZyB0byBiZSBkaXZp ZGVkIGFtb25nIGZpZWxkcy4gICovCiAgIH07CiAKIC8qIENvbnZlcnQgdGhlIG51bWJlciBv ZiA4LWJpdCBieXRlcyBvZiBhIGJpbmFyeSByZXByZXNlbnRhdGlvbiB0bwpAQCAtNDUwLDE2 ICs0NTAsNDQgQEAgQmluYXJ5IHByZWZpeGVzIGNhbiBiZSB1c2VkLCB0b286IEtpQj1LLCBN aUI9TSwgYW5kIHNvIG9uLlxuXAogCiAvKiBEZWZpbmUgdGhlIHByaW50IGZ1bmN0aW9ucy4g ICovCiAKKy8qIFByaW50IE4gc3BhY2VzLCB3aGVyZSAwIDw9IE4uCisgICBEbyBub3QgcmVs eSBvbiBwcmludGYgKCIlKnMiLCBOLCAiIikgYXMgTiBtYXkgZXhjZWVkIElOVF9NQVguICAq Lworc3RhdGljIHZvaWQKK3ByaW50X25fc3BhY2VzIChpbnRtYXhfdCBuKQoreworICBmb3Ig KDsgMCA8IG47IG4tLSkKKyAgICBwdXRjaGFyICgnICcpOworfQorCisvKiBJZiB0aGVyZSBh cmUgRklFTERTIGZpZWxkcywgcmV0dXJuIHRoZSB0b3RhbCBwYWRkaW5nIHVwIHRvIHRoZQor ICAgc3RhcnQgb2YgZmllbGQgSSwgd2hlcmUgSSA8IEZJRUxEUy4gIFBBRCBpcyB0aGUgdG90 YWwgcGFkZGluZyBmb3IKKyAgIGFsbCBmaWVsZHMuICBUaGUgcmVzdWx0IGVxdWFscyAoUEFE ICogSSkgLyBGSUVMRFMsIGV4Y2VwdCBpdCBkb2VzCisgICBub3Qgc3VmZmVyIGZyb20gaW50 ZXJuYWwgb3ZlcmZsb3cuICAqLworc3RhdGljIGlkeF90CitwYWRfYXQgKGlkeF90IGZpZWxk cywgaWR4X3QgaSwgaWR4X3QgcGFkKQoreworICAvKiBUaGlzIGltcGxlbWVudGF0aW9uIGFz c3VtZXMgdGhhdCAoRklFTERTIC0gMSleMiBkb2VzIG5vdCBvdmVyZmxvdworICAgICBpbnRt YXhfdCwgYW4gYXNzdW1wdGlvbiBjaGVja2VkIGJ5IHBhZF9hdF9vdmVyZmxvdy4gICovCisg IGludG1heF90IG0gPSBwYWQgJSBmaWVsZHM7CisgIHJldHVybiBwYWQgLyBmaWVsZHMgKiBp ICsgbSAqIGkgLyBmaWVsZHM7Cit9CitzdGF0aWMgYm9vbAorcGFkX2F0X292ZXJmbG93IChp ZHhfdCBmaWVsZHMpCit7CisgIGludG1heF90IHByb2R1Y3Q7CisgIHJldHVybiBja2RfbXVs ICgmcHJvZHVjdCwgZmllbGRzIC0gMSwgZmllbGRzIC0gMSk7Cit9CisKICNkZWZpbmUgUFJJ TlRfRklFTERTKE4sIFQsIEZNVF9TVFJJTkdfREVDTCwgQUNUSU9OKSAgICAgICAgICAgICAg ICAgICAgIFwKIHN0YXRpYyB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIE4gKGlkeF90IGZpZWxkcywgaWR4X3Qg YmxhbmssIHZvaWQgY29uc3QgKmJsb2NrLAkJCVwKLSAgIEZNVF9TVFJJTkdfREVDTCwgaW50 IHdpZHRoLCBpbnQgcGFkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg IEZNVF9TVFJJTkdfREVDTCwgaW50IHdpZHRoLCBpZHhfdCBwYWQpCQkJCVwKIHsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgVCBjb25zdCAqcCA9IGJsb2NrOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgaW50IHBhZF9yZW1haW5pbmcg PSBwYWQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgaWR4X3QgcGFkX3JlbWFpbmluZyA9IHBhZDsJCQkJCQlcCiAgIGZvciAoaWR4X3QgaSA9 IGZpZWxkczsgYmxhbmsgPCBpOyBpLS0pCQkJCVwKICAgICB7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg ICAgIGludCBuZXh0X3BhZCA9IHBhZCAqIChpIC0gMSkgLyBmaWVsZHM7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgIGlkeF90IG5leHRfcGFkID0gcGFkX2F0IChmaWVs ZHMsIGkgLSAxLCBwYWQpOwkJCVwKICAgICAgIGludCBhZGp1c3RlZF93aWR0aCA9IHBhZF9y ZW1haW5pbmcgLSBuZXh0X3BhZCArIHdpZHRoOyAgICAgICAgICAgIFwKICAgICAgIFQgeDsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgIGlmIChpbnB1dF9zd2FwICYmIHNpemVvZiAoVCkgPiAxKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTUyMywxMyArNTUxLDEyIEBAIGR1 bXBfaGV4bF9tb2RlX3RyYWlsZXIgKGlkeF90IG5fYnl0ZXMsIGNoYXIgY29uc3QgKmJsb2Nr KQogc3RhdGljIHZvaWQKIHByaW50X25hbWVkX2FzY2lpIChpZHhfdCBmaWVsZHMsIGlkeF90 IGJsYW5rLCB2b2lkIGNvbnN0ICpibG9jaywKICAgICAgICAgICAgICAgICAgICBNQVlCRV9V TlVTRUQgY2hhciBjb25zdCAqdW51c2VkX2ZtdF9zdHJpbmcsCi0gICAgICAgICAgICAgICAg ICAgaW50IHdpZHRoLCBpbnQgcGFkKQorICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwg aWR4X3QgcGFkKQogewogICB1bnNpZ25lZCBjaGFyIGNvbnN0ICpwID0gYmxvY2s7Ci0gIGlu dCBwYWRfcmVtYWluaW5nID0gcGFkOworICBpZHhfdCBwYWRfcmVtYWluaW5nID0gcGFkOwog ICBmb3IgKGlkeF90IGkgPSBmaWVsZHM7IGJsYW5rIDwgaTsgaS0tKQogICAgIHsKLSAgICAg IGludCBuZXh0X3BhZCA9IHBhZCAqIChpIC0gMSkgLyBmaWVsZHM7CiAgICAgICBpbnQgbWFz a2VkX2MgPSAqcCsrICYgMHg3ZjsKICAgICAgIGNoYXIgY29uc3QgKnM7CiAgICAgICBjaGFy IGJ1ZlsyXTsKQEAgLTU0NSw3ICs1NzIsOSBAQCBwcmludF9uYW1lZF9hc2NpaSAoaWR4X3Qg ZmllbGRzLCBpZHhfdCBibGFuaywgdm9pZCBjb25zdCAqYmxvY2ssCiAgICAgICAgICAgcyA9 IGJ1ZjsKICAgICAgICAgfQogCi0gICAgICB4cHJpbnRmICgiJSpzIiwgcGFkX3JlbWFpbmlu ZyAtIG5leHRfcGFkICsgd2lkdGgsIHMpOworICAgICAgaWR4X3QgbmV4dF9wYWQgPSBwYWRf YXQgKGZpZWxkcywgaSAtIDEsIHBhZCk7CisgICAgICBpbnQgYWRqdXN0ZWRfd2lkdGggPSBw YWRfcmVtYWluaW5nIC0gbmV4dF9wYWQgKyB3aWR0aDsKKyAgICAgIHhwcmludGYgKCIlKnMi LCBhZGp1c3RlZF93aWR0aCwgcyk7CiAgICAgICBwYWRfcmVtYWluaW5nID0gbmV4dF9wYWQ7 CiAgICAgfQogfQpAQCAtNTUzLDEzICs1ODIsMTIgQEAgcHJpbnRfbmFtZWRfYXNjaWkgKGlk eF90IGZpZWxkcywgaWR4X3QgYmxhbmssIHZvaWQgY29uc3QgKmJsb2NrLAogc3RhdGljIHZv aWQKIHByaW50X2FzY2lpIChpZHhfdCBmaWVsZHMsIGlkeF90IGJsYW5rLCB2b2lkIGNvbnN0 ICpibG9jaywKICAgICAgICAgICAgICBNQVlCRV9VTlVTRUQgY2hhciBjb25zdCAqdW51c2Vk X2ZtdF9zdHJpbmcsIGludCB3aWR0aCwKLSAgICAgICAgICAgICBpbnQgcGFkKQorICAgICAg ICAgICAgIGlkeF90IHBhZCkKIHsKICAgdW5zaWduZWQgY2hhciBjb25zdCAqcCA9IGJsb2Nr OwotICBpbnQgcGFkX3JlbWFpbmluZyA9IHBhZDsKKyAgaWR4X3QgcGFkX3JlbWFpbmluZyA9 IHBhZDsKICAgZm9yIChpZHhfdCBpID0gZmllbGRzOyBibGFuayA8IGk7IGktLSkKICAgICB7 Ci0gICAgICBpbnQgbmV4dF9wYWQgPSBwYWQgKiAoaSAtIDEpIC8gZmllbGRzOwogICAgICAg dW5zaWduZWQgY2hhciBjID0gKnArKzsKICAgICAgIGNoYXIgY29uc3QgKnM7CiAgICAgICBj aGFyIGJ1Zls0XTsKQEAgLTYwMyw3ICs2MzEsOSBAQCBwcmludF9hc2NpaSAoaWR4X3QgZmll bGRzLCBpZHhfdCBibGFuaywgdm9pZCBjb25zdCAqYmxvY2ssCiAgICAgICAgICAgcyA9IGJ1 ZjsKICAgICAgICAgfQogCi0gICAgICB4cHJpbnRmICgiJSpzIiwgcGFkX3JlbWFpbmluZyAt IG5leHRfcGFkICsgd2lkdGgsIHMpOworICAgICAgaWR4X3QgbmV4dF9wYWQgPSBwYWRfYXQg KGZpZWxkcywgaSAtIDEsIHBhZCk7CisgICAgICBpbnQgYWRqdXN0ZWRfd2lkdGggPSBwYWRf cmVtYWluaW5nIC0gbmV4dF9wYWQgKyB3aWR0aDsKKyAgICAgIHhwcmludGYgKCIlKnMiLCBh ZGp1c3RlZF93aWR0aCwgcyk7CiAgICAgICBwYWRfcmVtYWluaW5nID0gbmV4dF9wYWQ7CiAg ICAgfQogfQpAQCAtNjU2LDcgKzY4Niw3IEBAIGRlY29kZV9vbmVfZm9ybWF0IChjaGFyIGNv bnN0ICpzX29yaWcsIGNoYXIgY29uc3QgKnMsIGNoYXIgY29uc3QgKipuZXh0LAogICBpbnQg c2l6ZTsKICAgZW51bSBvdXRwdXRfZm9ybWF0IGZtdDsKICAgdm9pZCAoKnByaW50X2Z1bmN0 aW9uKSAoaWR4X3QsIGlkeF90LCB2b2lkIGNvbnN0ICosIGNoYXIgY29uc3QgKiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50LCBpbnQpOworICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQsIGlkeF90KTsKICAgY2hhciBjb25zdCAqcDsKICAgY2hhciBjOwogICBpbnQg ZmllbGRfd2lkdGg7CkBAIC0xMjUzLDIyICsxMjgzLDI0IEBAIHdyaXRlX2Jsb2NrICh1aW50 bWF4X3QgY3VycmVudF9vZmZzZXQsIGlkeF90IG5fYnl0ZXMsCiAgICAgICBmb3IgKGlkeF90 IGkgPSAwOyBpIDwgbl9zcGVjczsgaSsrKQogICAgICAgICB7CiAgICAgICAgICAgaW50IGRh dHVtX3dpZHRoID0gd2lkdGhfYnl0ZXNbc3BlY1tpXS5zaXplXTsKLSAgICAgICAgICBpbnQg ZmllbGRzX3Blcl9ibG9jayA9IGJ5dGVzX3Blcl9ibG9jayAvIGRhdHVtX3dpZHRoOwotICAg ICAgICAgIGludCBibGFua19maWVsZHMgPSAoYnl0ZXNfcGVyX2Jsb2NrIC0gbl9ieXRlcykg LyBkYXR1bV93aWR0aDsKKyAgICAgICAgICBpZHhfdCBmaWVsZHNfcGVyX2Jsb2NrID0gYnl0 ZXNfcGVyX2Jsb2NrIC8gZGF0dW1fd2lkdGg7CisgICAgICAgICAgaWR4X3QgYmxhbmtfZmll bGRzID0gKGJ5dGVzX3Blcl9ibG9jayAtIG5fYnl0ZXMpIC8gZGF0dW1fd2lkdGg7CiAgICAg ICAgICAgaWYgKGkgPT0gMCkKICAgICAgICAgICAgIGZvcm1hdF9hZGRyZXNzIChjdXJyZW50 X29mZnNldCwgJ1wwJyk7CiAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJpbnRmICgi JSpzIiwgYWRkcmVzc19wYWRfbGVuLCAiIik7CisgICAgICAgICAgICBwcmludF9uX3NwYWNl cyAoYWRkcmVzc19wYWRfbGVuKTsKICAgICAgICAgICAoKnNwZWNbaV0ucHJpbnRfZnVuY3Rp b24pIChmaWVsZHNfcGVyX2Jsb2NrLCBibGFua19maWVsZHMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3Vycl9ibG9jaywgc3BlY1tpXS5mbXRfc3RyaW5nLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNbaV0uZmllbGRfd2lk dGgsIHNwZWNbaV0ucGFkX3dpZHRoKTsKICAgICAgICAgICBpZiAoc3BlY1tpXS5oZXhsX21v ZGVfdHJhaWxlcikKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgLyogc3BhY2UtcGFk IG91dCB0byBmdWxsIGxpbmUgd2lkdGgsIHRoZW4gZHVtcCB0aGUgdHJhaWxlciAqLworICAg ICAgICAgICAgICAvKiBTcGFjZS1wYWQgb3V0IHRvIGZ1bGwgbGluZSB3aWR0aCwgdGhlbiBk dW1wIHRoZSB0cmFpbGVyLiAgKi8KICAgICAgICAgICAgICAgaW50IGZpZWxkX3dpZHRoID0g c3BlY1tpXS5maWVsZF93aWR0aDsKLSAgICAgICAgICAgICAgaW50IHBhZF93aWR0aCA9IChz cGVjW2ldLnBhZF93aWR0aCAqIGJsYW5rX2ZpZWxkcwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8gZmllbGRzX3Blcl9ibG9jayk7Ci0gICAgICAgICAgICAgIHByaW50ZiAo IiUqcyIsIGJsYW5rX2ZpZWxkcyAqIGZpZWxkX3dpZHRoICsgcGFkX3dpZHRoLCAiIik7Cisg ICAgICAgICAgICAgIGZvciAoaWR4X3QgZiA9IDA7IGYgPCBibGFua19maWVsZHM7IGYrKykK KyAgICAgICAgICAgICAgICBwcmludF9uX3NwYWNlcyAoZmllbGRfd2lkdGgpOworICAgICAg ICAgICAgICBpZHhfdCBwYWRfd2lkdGggPSBwYWRfYXQgKGZpZWxkc19wZXJfYmxvY2ssIGJs YW5rX2ZpZWxkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz cGVjW2ldLnBhZF93aWR0aCk7CisgICAgICAgICAgICAgIHByaW50X25fc3BhY2VzIChwYWRf d2lkdGgpOwogICAgICAgICAgICAgICBkdW1wX2hleGxfbW9kZV90cmFpbGVyIChuX2J5dGVz LCBjdXJyX2Jsb2NrKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICBwdXRjaGFyICgnXG4n KTsKQEAgLTE1OTQsOSArMTYyNiw4IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikK IHsKICAgaW50IG5fZmlsZXM7CiAgIGludCBsX2NfbTsKLSAgaWR4X3QgZGVzaXJlZF93aWR0 aCBJRl9MSU5UICggPSAwKTsKKyAgaWR4X3QgZGVzaXJlZF93aWR0aCA9IDA7CiAgIGJvb2wg bW9kZXJuID0gZmFsc2U7Ci0gIGJvb2wgd2lkdGhfc3BlY2lmaWVkID0gZmFsc2U7CiAgIGJv b2wgb2sgPSB0cnVlOwogICBpZHhfdCB3aWR0aF9wZXJfYmxvY2sgPSAwOwogICBzdGF0aWMg Y2hhciBjb25zdCBtdWx0aXBsaWVyc1tdID0gImJFR0trTW1QUVJUWVowIjsKQEAgLTE3OTIs NyArMTgyMyw2IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogICAgICAgICBj YXNlICd3JzoKICAgICAgICAgICBtb2Rlcm4gPSB0cnVlOwotICAgICAgICAgIHdpZHRoX3Nw ZWNpZmllZCA9IHRydWU7CiAgICAgICAgICAgaWYgKG9wdGFyZyA9PSBudWxscHRyKQogICAg ICAgICAgICAgewogICAgICAgICAgICAgICBkZXNpcmVkX3dpZHRoID0gMzI7CkBAIC0xOTU4 LDkgKzE5ODgsOSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIC8qIENvbXB1 dGUgb3V0cHV0IGJsb2NrIGxlbmd0aC4gICovCiAgIGxfY19tID0gZ2V0X2xjbSAoKTsKIAot ICBpZiAod2lkdGhfc3BlY2lmaWVkKQorICBpZiAoZGVzaXJlZF93aWR0aCAhPSAwKQogICAg IHsKLSAgICAgIGlmIChkZXNpcmVkX3dpZHRoICE9IDAgJiYgZGVzaXJlZF93aWR0aCAlIGxf Y19tID09IDApCisgICAgICBpZiAoZGVzaXJlZF93aWR0aCAlIGxfY19tID09IDApCiAgICAg ICAgIGJ5dGVzX3Blcl9ibG9jayA9IGRlc2lyZWRfd2lkdGg7CiAgICAgICBlbHNlCiAgICAg ICAgIHsKQEAgLTE5ODAsMjMgKzIwMTAsMjUgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogICAvKiBDb21wdXRlIHBhZGRpbmcgbmVjZXNzYXJ5IHRvIGFsaWduIG91dHB1dCBi bG9jay4gICovCiAgIGZvciAoaWR4X3QgaSA9IDA7IGkgPCBuX3NwZWNzOyBpKyspCiAgICAg ewotICAgICAgaW50IGZpZWxkc19wZXJfYmxvY2sgPSBieXRlc19wZXJfYmxvY2sgLyB3aWR0 aF9ieXRlc1tzcGVjW2ldLnNpemVdOwotICAgICAgaW50IGJsb2NrX3dpZHRoID0gKHNwZWNb aV0uZmllbGRfd2lkdGggKyAxKSAqIGZpZWxkc19wZXJfYmxvY2s7CisgICAgICBpZHhfdCBm aWVsZHNfcGVyX2Jsb2NrID0gYnl0ZXNfcGVyX2Jsb2NrIC8gd2lkdGhfYnl0ZXNbc3BlY1tp XS5zaXplXTsKKyAgICAgIGlmIChwYWRfYXRfb3ZlcmZsb3cgKGZpZWxkc19wZXJfYmxvY2sp KQorICAgICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCAwLCBfKCIldGQgaXMgdG9vIGxhcmdl IiksIGRlc2lyZWRfd2lkdGgpOworICAgICAgaWR4X3QgYmxvY2tfd2lkdGggPSAoc3BlY1tp XS5maWVsZF93aWR0aCArIDEpICogZmllbGRzX3Blcl9ibG9jazsKICAgICAgIGlmICh3aWR0 aF9wZXJfYmxvY2sgPCBibG9ja193aWR0aCkKICAgICAgICAgd2lkdGhfcGVyX2Jsb2NrID0g YmxvY2tfd2lkdGg7CiAgICAgfQogICBmb3IgKGlkeF90IGkgPSAwOyBpIDwgbl9zcGVjczsg aSsrKQogICAgIHsKLSAgICAgIGludCBmaWVsZHNfcGVyX2Jsb2NrID0gYnl0ZXNfcGVyX2Js b2NrIC8gd2lkdGhfYnl0ZXNbc3BlY1tpXS5zaXplXTsKLSAgICAgIGludCBibG9ja193aWR0 aCA9IHNwZWNbaV0uZmllbGRfd2lkdGggKiBmaWVsZHNfcGVyX2Jsb2NrOworICAgICAgaWR4 X3QgZmllbGRzX3Blcl9ibG9jayA9IGJ5dGVzX3Blcl9ibG9jayAvIHdpZHRoX2J5dGVzW3Nw ZWNbaV0uc2l6ZV07CisgICAgICBpZHhfdCBibG9ja193aWR0aCA9IHNwZWNbaV0uZmllbGRf d2lkdGggKiBmaWVsZHNfcGVyX2Jsb2NrOwogICAgICAgc3BlY1tpXS5wYWRfd2lkdGggPSB3 aWR0aF9wZXJfYmxvY2sgLSBibG9ja193aWR0aDsKICAgICB9CiAKICNpZmRlZiBERUJVRwot ICBwcmludGYgKCJsY209JWQsIHdpZHRoX3Blcl9ibG9jaz0lenVcbiIsIGxfY19tLCB3aWR0 aF9wZXJfYmxvY2spOworICBwcmludGYgKCJsY209JWQsIHdpZHRoX3Blcl9ibG9jaz0ldGRc biIsIGxfY19tLCB3aWR0aF9wZXJfYmxvY2spOwogICBmb3IgKGlkeF90IGkgPSAwOyBpIDwg bl9zcGVjczsgaSsrKQogICAgIHsKLSAgICAgIGludCBmaWVsZHNfcGVyX2Jsb2NrID0gYnl0 ZXNfcGVyX2Jsb2NrIC8gd2lkdGhfYnl0ZXNbc3BlY1tpXS5zaXplXTsKKyAgICAgIGlkeF90 IGZpZWxkc19wZXJfYmxvY2sgPSBieXRlc19wZXJfYmxvY2sgLyB3aWR0aF9ieXRlc1tzcGVj W2ldLnNpemVdOwogICAgICAgYWZmaXJtIChieXRlc19wZXJfYmxvY2sgJSB3aWR0aF9ieXRl c1tzcGVjW2ldLnNpemVdID09IDApOwogICAgICAgYWZmaXJtICgxIDw9IHNwZWNbaV0ucGFk X3dpZHRoIC8gZmllbGRzX3Blcl9ibG9jayk7CiAgICAgICBwcmludGYgKCIlZDogZm10PVwi JXNcIiBpbl93aWR0aD0lZCBvdXRfd2lkdGg9JWQgcGFkPSVkXG4iLApkaWZmIC0tZ2l0IGEv dGVzdHMvbG9jYWwubWsgYi90ZXN0cy9sb2NhbC5tawppbmRleCBiNjhkZjQxZjcuLjAzMTE0 Zjc1OSAxMDA2NDQKLS0tIGEvdGVzdHMvbG9jYWwubWsKKysrIGIvdGVzdHMvbG9jYWwubWsK QEAgLTI2OSw2ICsyNjksNyBAQCBhbGxfdGVzdHMgPQkJCQkJXAogICB0ZXN0cy90YWlsL292 ZXJsYXktaGVhZGVycy5zaAkJCVwKICAgdGVzdHMvdGFpbC9waWQuc2gJCQkJXAogICB0ZXN0 cy90YWlsL3BpZC1waXBlLnNoCQkJXAorICB0ZXN0cy9vZC9iaWctdy5zaAkJCQlcCiAgIHRl c3RzL29kL29kLnBsCQkJCVwKICAgdGVzdHMvb2Qvb2QtZW5kaWFuLnNoCQkJCVwKICAgdGVz dHMvb2Qvb2QtZmxvYXQuc2gJCQkJXApkaWZmIC0tZ2l0IGEvdGVzdHMvb2QvYmlnLXcuc2gg Yi90ZXN0cy9vZC9iaWctdy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw MDAuLjI3YzEyNWM2OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL29kL2JpZy13LnNoCkBA IC0wLDAgKzEsNDMgQEAKKyMhL2Jpbi9zaAorIyBDaGVjayB3aGV0aGVyIG9kIC13TiB3b3Jr cyB3aXRoIGJpZyBOCisKKyMgQ29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKworLiAiJHtzcmNkaXI9Ln0vdGVzdHMvaW5pdC5zaCI7IHBhdGhfcHJlcGVu ZF8gLi9zcmMKK3ByaW50X3Zlcl8gb2QKK3ZlcnlfZXhwZW5zaXZlXworCitleHBvcnQgTENf QUxMPUMKKworY2F0ID5leHAgPDwnRU9GJyB8fCBmcmFtZXdvcmtfZmFpbHVyZV8KKzAwMDAw MDAgeCA+eDwKKzAwMDAwMDEKK0VPRgorCisjIFRyeSB2YWx1ZXMgbmVhciBzcXJ0KDIqKjMx KSBhbmQgc3FydCgyKio2MykuCitmb3IgdyBpbiA0NjM0MCA0NjM0MSAzMDM3MDAwNTAwIDMw MzcwMDA1MDE7IGRvCisgIHByaW50ZiB4IHwgb2QgLXckdyAtdGN6IDI+ZXJyIHwgdHIgLXMg JyAnICcgJyA+b3V0CisgIGlmIHRlc3QgLXMgZXJyOyB0aGVuCisgICAgdGVzdCAhIC1zIG91 dCB8fCBmYWlsPTEKKyAgZWxzZQorICAgIGNvbXBhcmUgZXhwIG91dCB8fCBmYWlsPTEKKyAg ICBvdXRieXRlcz0kKHByaW50ZiB4IHwgb2QgLXckdyAtdGN6IHwgd2MgLWMpCisgICAgZXhw Ynl0ZXM9JCgoNCokdyArIDIxKSkKKyAgICB0ZXN0ICRleHBieXRlcyAtZXEgJG91dGJ5dGVz IHx8IGZhaWw9MQorICBmaQorZG9uZQorCitFeGl0ICRmYWlsCi0tIAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0007-od-fix-N.-bug.patch" Content-Disposition: attachment; filename="0007-od-fix-N.-bug.patch" Content-Transfer-Encoding: base64 RnJvbSA2NjQ2NGU2MWY1NDllOWYyZmQzNWY4MjU2NzM0NTcyMTc5ODI4OGY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDE3OjI5OjIyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNy8xOV0gb2Q6IGZpeCAnK04uJyBidWcKCiogc3JjL29kLmMgKHBhcnNlX29sZF9vZmZz ZXQpOiBGaXJzdCBhcmcgaXMgbm93IGNoYXIgKiwKbm90IGNoYXIgY29uc3QgKi4gIElmIGEg ZGVjaW1hbCBudW1iZXIsIHRlbXBvcmFyaWx5Cm1vZGlmeSB0aGUgc3RyaW5nIHNvIHRoYXQg eHN0cnRvdW1heCBkb2VzIG5vdCBjb21wbGFpbgphYm91dCB0aGUgJy4nLgoqIHRlc3RzL29k L29kLnBsOiBUZXN0IGZvciB0aGUgYnVnLgotLS0KIE5FV1MgICAgICAgICAgIHwgIDMgKysr CiBzcmMvb2QuYyAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0K IHRlc3RzL29kL29kLnBsIHwgIDQgKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4 IDRhOTU4NzcwYy4uZDBiNmU3OTRhIDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAg LTI0LDYgKzI0LDkgQEAgR05VIGNvcmV1dGlscyBORVdTICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLSotIG91dGxpbmUgLSotCiAgIEluc3RlYWQsIGl0IGVpdGhlciBv dXRwdXRzIGNvcnJlY3RseSBvciBkaWFnbm9zZXMgYSB0b28tbGFyZ2Ugd2lkdGguCiAgIFtU aGlzIGJ1ZyB3YXMgcHJlc2VudCBpbiAidGhlIGJlZ2lubmluZyIuXQogCisgIG9kICtOLiAo d2hlcmUgTiBpcyBhIGRlY2ltYWwgbnVtYmVyKSB3b3JrcyBhZ2FpbiBhcyBwZXIgUE9TSVgu CisgIFtidWcgaW50cm9kdWNlZCBvbiAxOTk1LTAxLTI1XQorCiAgIHNvcnQgd2l0aCBrZXkg Y2hhcmFjdGVyIG9mZnNldHMgb2YgU0laRV9NQVgsIGNvdWxkIGluZHVjZQogICBhIHJlYWQg b2YgMSBieXRlIGJlZm9yZSBhbiBhbGxvY2F0ZWQgaGVhcCBidWZmZXIuIEZvciBleGFtcGxl OgogICAnc29ydCArMC4xODQ0Njc0NDA3MzcwOTU1MTYxNVIgaW5wdXQnIG9uIDY0IGJpdCBz eXN0ZW1zLgpkaWZmIC0tZ2l0IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCA4YmI0NjNj YTguLmZkNWZjNDViZCAxMDA2NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAg LTE0MDIsNyArMTQwMiw3IEBAIGdldF9sY20gKHZvaWQpCiAgICBsZWFkaW5nICcrJyByZXR1 cm4gdHJ1ZSBhbmQgc2V0ICpPRkZTRVQgdG8gdGhlIG9mZnNldCBpdCBkZW5vdGVzLiAgKi8K IAogc3RhdGljIGJvb2wKLXBhcnNlX29sZF9vZmZzZXQgKGNoYXIgY29uc3QgKnMsIHVpbnRt YXhfdCAqb2Zmc2V0KQorcGFyc2Vfb2xkX29mZnNldCAoY2hhciAqcywgdWludG1heF90ICpv ZmZzZXQpCiB7CiAgIGludCByYWRpeDsKIApAQCAtMTQxNCwxMCArMTQxNCwyNCBAQCBwYXJz ZV9vbGRfb2Zmc2V0IChjaGFyIGNvbnN0ICpzLCB1aW50bWF4X3QgKm9mZnNldCkKICAgICAr K3M7CiAKICAgLyogRGV0ZXJtaW5lIHRoZSByYWRpeCB3ZSdsbCB1c2UgdG8gaW50ZXJwcmV0 IFMuICBJZiB0aGVyZSBpcyBhICcuJywKKyAgICAgb3B0aW9uYWxseSBmb2xsb3dlZCBieSAn Qicgb3IgJ2InIGFuZCB0aGVuIGVuZCBvZiBzdHJpbmcsCiAgICAgIGl0J3MgZGVjaW1hbCwg b3RoZXJ3aXNlLCBpZiB0aGUgc3RyaW5nIGJlZ2lucyB3aXRoICcwWCdvciAnMHgnLAogICAg ICBpdCdzIGhleGFkZWNpbWFsLCBlbHNlIG9jdGFsLiAgKi8KLSAgaWYgKHN0cmNociAocywg Jy4nKSAhPSBudWxscHRyKQotICAgIHJhZGl4ID0gMTA7CisgIGNoYXIgKmRvdCA9IHN0cmNo ciAocywgJy4nKTsKKyAgaWYgKGRvdCkKKyAgICB7CisgICAgICBib29sIGIgPSBkb3RbMV0g PT0gJ0InIHx8IGRvdFsxXSA9PSAnYic7CisgICAgICBpZiAoZG90W2IgKyAxXSkKKyAgICAg ICAgZG90ID0gbnVsbHB0cjsKKyAgICB9CisKKyAgaWYgKGRvdCkKKyAgICB7CisgICAgICAv KiBUZW1wb3JhcmlseSByZW1vdmUgdGhlICcuJyBmcm9tIHRoZSBkZWNpbWFsIHN0cmluZy4g ICovCisgICAgICBkb3RbMF0gPSBkb3RbMV07CisgICAgICBkb3RbMV0gPSAnXDAnOworICAg ICAgcmFkaXggPSAxMDsKKyAgICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBpZiAoc1swXSA9 PSAnMCcgJiYgKHNbMV0gPT0gJ3gnIHx8IHNbMV0gPT0gJ1gnKSkKQEAgLTE0MjYsNyArMTQ0 MCwxNiBAQCBwYXJzZV9vbGRfb2Zmc2V0IChjaGFyIGNvbnN0ICpzLCB1aW50bWF4X3QgKm9m ZnNldCkKICAgICAgICAgcmFkaXggPSA4OwogICAgIH0KIAotICByZXR1cm4geHN0cnRvdW1h eCAocywgbnVsbHB0ciwgcmFkaXgsIG9mZnNldCwgIkJiIikgPT0gTE9OR0lOVF9PSzsKKyAg ZW51bSBzdHJ0b2xfZXJyb3Igc19lcnIgPSB4c3RydG91bWF4IChzLCBudWxscHRyLCByYWRp eCwgb2Zmc2V0LCAiQmIiKTsKKworICBpZiAoZG90KQorICAgIHsKKyAgICAgIC8qIFJlc3Rv cmUgdGhlIGRlY2ltYWwgc3RyaW5nJ3Mgb3JpZ2luYWwgdmFsdWUuICAqLworICAgICAgZG90 WzFdID0gZG90WzBdOworICAgICAgZG90WzBdID0gJy4nOworICAgIH0KKworICByZXR1cm4g c19lcnIgPT0gTE9OR0lOVF9PSzsKIH0KIAogLyogUmVhZCBhIGNodW5rIG9mIHNpemUgQllU RVNfUEVSX0JMT0NLIGZyb20gdGhlIGlucHV0IGZpbGVzLCB3cml0ZSB0aGUKZGlmZiAtLWdp dCBhL3Rlc3RzL29kL29kLnBsIGIvdGVzdHMvb2Qvb2QucGwKaW5kZXggNWJiMjcxZTYwLi45 Njg4NjA3YzYgMTAwNzU1Ci0tLSBhL3Rlc3RzL29kL29kLnBsCisrKyBiL3Rlc3RzL29kL29k LnBsCkBAIC02MCw2ICs2MCwxMCBAQCBteSBAVGVzdHMgPQogICAgICBbJ2otcHJvYycsICIt QW4gLWMgLWogJHByb2NfZmlsZV9ieXRlX2NvdW50ICRwcm9jX2ZpbGUiLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHtJTj0+e2YyPT4nZSd9fSwge09VVD0+IiAgIGVcbiJ9 XSwKIAorICAgICAjIENoZWNrIHRoYXQgdGhlIHRyYWRpdGlvbmFsIGZvcm0gJytOLicgd29y a3MsIGFzIHBlciBQT1NJWC4KKyAgICAgWyd0cmFkLWRvdDEnLCAnKzEuJywge0lOX1BJUEU9 PidhJ30sIHtPVVQ9PiIwMDAwMDAxXG4ifV0sCisgICAgIFsndHJhZC1kb3Q1MTInLCAnKzEu YicsIHtJTl9QSVBFID0+ICdhJyB4IDUxMn0sIHtPVVQ9PiIwMDAxMDAwXG4ifV0sCisKICAg ICAgIyBFbnN1cmUgdGhhdCBhIGxhcmdlIHdpZHRoIGRvZXMgbm90IGNhdXNlIHRyb3VibGUu CiAgICAgICMgRnJvbSBjb3JldXRpbHMtNy4wIHRocm91Z2ggY29yZXV0aWxzLTguMjEsIHRo ZXNlIHdvdWxkIHByaW50CiAgICAgICMgYXBwcm94aW1hdGVseSAxMjhLaUIgb2YgcGFkZGlu Zy4KLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0008-od-prefer-intmax_t-to-uintmax_t.patch" Content-Disposition: attachment; filename="0008-od-prefer-intmax_t-to-uintmax_t.patch" Content-Transfer-Encoding: base64 RnJvbSA0ZDUyN2RkYTU4M2Y2ZDNiMGJkNjYzNjQ1NDk0NzJhNWQ5OGNlZjY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDI2IEp1biAyMDI1IDA4OjQ1OjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOC8xOV0gb2Q6IHByZWZlciBpbnRtYXhfdCB0byB1aW50bWF4X3QKCiogc3JjL29kLmMg KE1BWF9BRERSRVNTX0xFTkdUSCwgcHNldWRvX29mZnNldCwgbl9ieXRlc190b19za2lwKQoo bWF4X2J5dGVzX3RvX2Zvcm1hdCwgZW5kX29mZnNldCwgc2tpcCwgZm9ybWF0X2FkZHJlc3Nf bm9uZSkKKGZvcm1hdF9hZGRyZXNzX3N0ZCwgZm9ybWF0X2FkZHJlc3NfcGFyZW4sIGZvcm1h dF9hZGRyZXNzX2xhYmVsKQood3JpdGVfYmxvY2ssIHBhcnNlX29sZF9vZmZzZXQsIGR1bXAs IGR1bXBfc3RyaW5ncywgbWFpbik6ClByZWZlciBpbnRtYXhfdCB0byB1aW50bWF4X3QuICBU aGlzIG1ha2VzIG5vIHByYWN0aWNhbCBkaWZmZXJlbmNlLAphbmQgbGV0cyAtZnNhbml0aXpl PXVuZGVmaW5lZCBjaGVjayBmb3Igc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cuCihza2lwLCBk dW1wKTogUmVtb3ZlIG5vLWxvbmdlci1uZWVkZWQgY2FzdHMuCih4c3RyMm5vbm5lZyk6IE5l dyBzdGF0aWMgZnVuY3Rpb24uICBBbGwgY2FsbGVycyBvZiB4c3RydG91bWF4Cm5vdyBjYWxs IHRoaXMgZnVuY3Rpb24gaW5zdGVhZC4KKG1haW4pOiBVc2UgY2tkX2FkZCB0byBkZXRlY3Qg c2lnbmVkIGludGVnZXIgb3ZlcmZsb3csIHNpbmNlCnRoZSB1bnNpZ25lZCB0cmljayBubyBs b25nZXIgd29ya3MgcmVsaWFibHkuCkxldCB4c3RydG9sX2ZhdGFsIHJlcG9ydCB0aGUgb3Zl cmZsb3csIGluc3RlYWQgb2YgZG9pbmcKaXQgYnkgaGFuZCBvdXJzZWx2ZXMuCi0tLQogc3Jj L29kLmMgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDQ4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9vZC5jIGIvc3JjL29kLmMKaW5kZXggZmQ1 ZmM0NWJkLi5iODEzN2ZhOGEgMTAwNjQ0Ci0tLSBhL3NyYy9vZC5jCisrKyBiL3NyYy9vZC5j CkBAIC0yMDMsNyArMjAzLDggQEAgc3RhdGljIGludCBhZGRyZXNzX2Jhc2U7CiAKIC8qIFRo ZSBudW1iZXIgb2Ygb2N0YWwgZGlnaXRzIHJlcXVpcmVkIHRvIHJlcHJlc2VudCB0aGUgbGFy Z2VzdAogICAgYWRkcmVzcyB2YWx1ZS4gICovCi1lbnVtIHsgTUFYX0FERFJFU1NfTEVOR1RI ID0gVUlOVE1BWF9XSURUSCAvIDMgKyAoVUlOVE1BWF9XSURUSCAlIDMgIT0gMCkgfTsKK2Vu dW0geyBNQVhfQUREUkVTU19MRU5HVEggPSAoKElOVE1BWF9XSURUSCAtIDEpIC8gMworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICArICgoSU5UTUFYX1dJRFRIIC0gMSkgJSAzICE9 IDApKSB9OwogCiAvKiBXaWR0aCBvZiBhIG5vcm1hbCBhZGRyZXNzLiAgKi8KIHN0YXRpYyBp bnQgYWRkcmVzc19wYWRfbGVuOwpAQCAtMjI0LDI0ICsyMjUsMjQgQEAgc3RhdGljIGJvb2wg ZmxhZ19wc2V1ZG9fc3RhcnQ7CiAKIC8qIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG9s ZC1zdHlsZSBwc2V1ZG8gc3RhcnRpbmcgYWRkcmVzcyBhbmQKICAgIHRoZSBudW1iZXIgb2Yg Ynl0ZXMgdG8gc2tpcC4gICovCi1zdGF0aWMgdWludG1heF90IHBzZXVkb19vZmZzZXQ7Citz dGF0aWMgaW50bWF4X3QgcHNldWRvX29mZnNldDsKIAogLyogRnVuY3Rpb24gdGhhdCBhY2Nl cHRzIGFuIGFkZHJlc3MgYW5kIGFuIG9wdGlvbmFsIGZvbGxvd2luZyBjaGFyLAogICAgYW5k IHByaW50cyB0aGUgYWRkcmVzcyBhbmQgY2hhciB0byBzdGRvdXQuICAqLwotc3RhdGljIHZv aWQgKCpmb3JtYXRfYWRkcmVzcykgKHVpbnRtYXhfdCwgY2hhcik7CitzdGF0aWMgdm9pZCAo KmZvcm1hdF9hZGRyZXNzKSAoaW50bWF4X3QsIGNoYXIpOwogCiAvKiBUaGUgbnVtYmVyIG9m IGlucHV0IGJ5dGVzIHRvIHNraXAgYmVmb3JlIGZvcm1hdHRpbmcgYW5kIHdyaXRpbmcuICAq Lwotc3RhdGljIHVpbnRtYXhfdCBuX2J5dGVzX3RvX3NraXAgPSAwOworc3RhdGljIGludG1h eF90IG5fYnl0ZXNfdG9fc2tpcCA9IDA7CiAKIC8qIFdoZW4gZmFsc2UsIE1BWF9CWVRFU19U T19GT1JNQVQgYW5kIEVORF9PRkZTRVQgYXJlIGlnbm9yZWQsIGFuZCBhbGwKICAgIGlucHV0 IGlzIGZvcm1hdHRlZC4gICovCiBzdGF0aWMgYm9vbCBsaW1pdF9ieXRlc190b19mb3JtYXQg PSBmYWxzZTsKIAogLyogVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2lsbCBi ZSBmb3JtYXR0ZWQuICAqLwotc3RhdGljIHVpbnRtYXhfdCBtYXhfYnl0ZXNfdG9fZm9ybWF0 Oworc3RhdGljIGludG1heF90IG1heF9ieXRlc190b19mb3JtYXQ7CiAKIC8qIFRoZSBvZmZz ZXQgb2YgdGhlIGZpcnN0IGJ5dGUgYWZ0ZXIgdGhlIGxhc3QgYnl0ZSB0byBiZSBmb3JtYXR0 ZWQuICAqLwotc3RhdGljIHVpbnRtYXhfdCBlbmRfb2Zmc2V0Oworc3RhdGljIGludG1heF90 IGVuZF9vZmZzZXQ7CiAKIC8qIFdoZW4gdHJ1ZSBhbmQgdHdvIG9yIG1vcmUgY29uc2VjdXRp dmUgYmxvY2tzIGFyZSBlcXVhbCwgZm9ybWF0CiAgICBvbmx5IHRoZSBmaXJzdCBibG9jayBh bmQgb3V0cHV0IGFuIGFzdGVyaXNrIGFsb25lIG9uIHRoZSBmb2xsb3dpbmcKQEAgLTEwNzks NyArMTA4MCw3IEBAIGRlY29kZV9mb3JtYXRfc3RyaW5nIChjaGFyIGNvbnN0ICpzKQogICAg YWR2YW5jZSBJTl9TVFJFQU0uICAqLwogCiBzdGF0aWMgYm9vbAotc2tpcCAodWludG1heF90 IG5fc2tpcCkKK3NraXAgKGludG1heF90IG5fc2tpcCkKIHsKICAgYm9vbCBvayA9IHRydWU7 CiAgIGludCBpbl9lcnJubyA9IDA7CkBAIC0xMTE0LDcgKzExMTUsNyBAQCBza2lwICh1aW50 bWF4X3Qgbl9za2lwKQogICAgICAgICAgICAgIHByb2MtbGlrZSBmaWxlIHN5c3RlbXMuICAq LwogICAgICAgICAgIGlmICh1c2FibGVfc2l6ZSAmJiBTVFBfQkxLU0laRSAoJmZpbGVfc3Rh dHMpIDwgZmlsZV9zdGF0cy5zdF9zaXplKQogICAgICAgICAgICAgewotICAgICAgICAgICAg ICBpZiAoKHVpbnRtYXhfdCkgZmlsZV9zdGF0cy5zdF9zaXplIDwgbl9za2lwKQorICAgICAg ICAgICAgICBpZiAoZmlsZV9zdGF0cy5zdF9zaXplIDwgbl9za2lwKQogICAgICAgICAgICAg ICAgIG5fc2tpcCAtPSBmaWxlX3N0YXRzLnN0X3NpemU7CiAgICAgICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgICB7CkBAIC0xMTgyLDEzICsxMTgzLDEzIEBAIHNraXAgKHVpbnRt YXhfdCBuX3NraXApCiB9CiAKIHN0YXRpYyB2b2lkCi1mb3JtYXRfYWRkcmVzc19ub25lIChN QVlCRV9VTlVTRUQgdWludG1heF90IGFkZHJlc3MsCitmb3JtYXRfYWRkcmVzc19ub25lIChN QVlCRV9VTlVTRUQgaW50bWF4X3QgYWRkcmVzcywKICAgICAgICAgICAgICAgICAgICAgIE1B WUJFX1VOVVNFRCBjaGFyIGMpCiB7CiB9CiAKIHN0YXRpYyB2b2lkCi1mb3JtYXRfYWRkcmVz c19zdGQgKHVpbnRtYXhfdCBhZGRyZXNzLCBjaGFyIGMpCitmb3JtYXRfYWRkcmVzc19zdGQg KGludG1heF90IGFkZHJlc3MsIGNoYXIgYykKIHsKICAgY2hhciBidWZbTUFYX0FERFJFU1Nf TEVOR1RIICsgMl07CiAgIGNoYXIgKnAgPSBidWYgKyBzaXplb2YgYnVmOwpAQCAtMTIyOCw3 ICsxMjI5LDcgQEAgZm9ybWF0X2FkZHJlc3Nfc3RkICh1aW50bWF4X3QgYWRkcmVzcywgY2hh ciBjKQogfQogCiBzdGF0aWMgdm9pZAotZm9ybWF0X2FkZHJlc3NfcGFyZW4gKHVpbnRtYXhf dCBhZGRyZXNzLCBjaGFyIGMpCitmb3JtYXRfYWRkcmVzc19wYXJlbiAoaW50bWF4X3QgYWRk cmVzcywgY2hhciBjKQogewogICBwdXRjaGFyICgnKCcpOwogICBmb3JtYXRfYWRkcmVzc19z dGQgKGFkZHJlc3MsICcpJyk7CkBAIC0xMjM3LDcgKzEyMzgsNyBAQCBmb3JtYXRfYWRkcmVz c19wYXJlbiAodWludG1heF90IGFkZHJlc3MsIGNoYXIgYykKIH0KIAogc3RhdGljIHZvaWQK LWZvcm1hdF9hZGRyZXNzX2xhYmVsICh1aW50bWF4X3QgYWRkcmVzcywgY2hhciBjKQorZm9y bWF0X2FkZHJlc3NfbGFiZWwgKGludG1heF90IGFkZHJlc3MsIGNoYXIgYykKIHsKICAgZm9y bWF0X2FkZHJlc3Nfc3RkIChhZGRyZXNzLCAnICcpOwogICBmb3JtYXRfYWRkcmVzc19wYXJl biAoYWRkcmVzcyArIHBzZXVkb19vZmZzZXQsIGMpOwpAQCAtMTI1NCw3ICsxMjU1LDcgQEAg Zm9ybWF0X2FkZHJlc3NfbGFiZWwgKHVpbnRtYXhfdCBhZGRyZXNzLCBjaGFyIGMpCiAgICBU aGF0IGNvbmRpdGlvbiBtYXkgYmUgZmFsc2Ugb25seSBmb3IgdGhlIGxhc3QgaW5wdXQgYmxv Y2suICAqLwogCiBzdGF0aWMgdm9pZAotd3JpdGVfYmxvY2sgKHVpbnRtYXhfdCBjdXJyZW50 X29mZnNldCwgaWR4X3Qgbl9ieXRlcywKK3dyaXRlX2Jsb2NrIChpbnRtYXhfdCBjdXJyZW50 X29mZnNldCwgaWR4X3Qgbl9ieXRlcywKICAgICAgICAgICAgICBjaGFyIGNvbnN0ICpwcmV2 X2Jsb2NrLCBjaGFyIGNvbnN0ICpjdXJyX2Jsb2NrKQogewogICBzdGF0aWMgYm9vbCBmaXJz dCA9IHRydWU7CkBAIC0xMzk4LDExICsxMzk5LDIzIEBAIGdldF9sY20gKHZvaWQpCiAgIHJl dHVybiBsX2NfbTsKIH0KIAorLyogQWN0IGxpa2UgeHN0cnRvaW1heCAoTlBUUiwgbnVsbHB0 ciwgQkFTRSwgVkFMLCBWQUxJRF9TVUZGSVhFUyksCisgICBleGNlcHQgcmVqZWN0IG5lZ2F0 aXZlIHZhbHVlcywgYW5kICpWQUwgbWF5IGJlIHNldCBpZgorICAgTE9OR0lOVF9JTlZBTElE IGlzIHJldHVybmVkLiAgKi8KK3N0YXRpYyBzdHJ0b2xfZXJyb3IKK3hzdHIybm9ubmVnIChj aGFyIGNvbnN0ICpyZXN0cmljdCBucHRyLCBpbnQgYmFzZSwgaW50bWF4X3QgKnZhbCwKKyAg ICAgICAgICAgICBjaGFyIGNvbnN0ICpyZXN0cmljdCB2YWxpZF9zdWZmaXhlcykKK3sKKyAg c3RydG9sX2Vycm9yIHNfZXJyID0geHN0cnRvaW1heCAobnB0ciwgbnVsbHB0ciwgYmFzZSwg dmFsLCB2YWxpZF9zdWZmaXhlcyk7CisgIHJldHVybiBzX2VyciAhPSBMT05HSU5UX0lOVkFM SUQgJiYgKnZhbCA8IDAgPyBMT05HSU5UX0lOVkFMSUQgOiBzX2VycjsKK30KKwogLyogSWYg UyBpcyBhIHZhbGlkIHRyYWRpdGlvbmFsIG9mZnNldCBzcGVjaWZpY2F0aW9uIHdpdGggYW4g b3B0aW9uYWwKLSAgIGxlYWRpbmcgJysnIHJldHVybiB0cnVlIGFuZCBzZXQgKk9GRlNFVCB0 byB0aGUgb2Zmc2V0IGl0IGRlbm90ZXMuICAqLworICAgbGVhZGluZyAnKycgcmV0dXJuIHRy dWUgYW5kIHNldCAqT0ZGU0VUIHRvIHRoZSBvZmZzZXQgaXQgZGVub3Rlcy4KKyAgIE90aGVy d2lzZSByZXR1cm4gZmFsc2UgYW5kIHBvc3NpYmx5IHNldCAqT0ZGU0VULiAgKi8KIAogc3Rh dGljIGJvb2wKLXBhcnNlX29sZF9vZmZzZXQgKGNoYXIgKnMsIHVpbnRtYXhfdCAqb2Zmc2V0 KQorcGFyc2Vfb2xkX29mZnNldCAoY2hhciAqcywgaW50bWF4X3QgKm9mZnNldCkKIHsKICAg aW50IHJhZGl4OwogCkBAIC0xNDQwLDcgKzE0NTMsNyBAQCBwYXJzZV9vbGRfb2Zmc2V0IChj aGFyICpzLCB1aW50bWF4X3QgKm9mZnNldCkKICAgICAgICAgcmFkaXggPSA4OwogICAgIH0K IAotICBlbnVtIHN0cnRvbF9lcnJvciBzX2VyciA9IHhzdHJ0b3VtYXggKHMsIG51bGxwdHIs IHJhZGl4LCBvZmZzZXQsICJCYiIpOworICBlbnVtIHN0cnRvbF9lcnJvciBzX2VyciA9IHhz dHIybm9ubmVnIChzLCByYWRpeCwgb2Zmc2V0LCAiQmIiKTsKIAogICBpZiAoZG90KQogICAg IHsKQEAgLTE0NjgsNyArMTQ4MSw3IEBAIHN0YXRpYyBib29sCiBkdW1wICh2b2lkKQogewog ICBjaGFyICpibG9ja1syXTsKLSAgdWludG1heF90IGN1cnJlbnRfb2Zmc2V0OworICBpbnRt YXhfdCBjdXJyZW50X29mZnNldDsKICAgYm9vbCBpZHggPSBmYWxzZTsKICAgYm9vbCBvayA9 IHRydWU7CiAgIGlkeF90IG5fYnl0ZXNfcmVhZDsKQEAgLTE0ODIsMTQgKzE0OTUsMTIgQEAg ZHVtcCAodm9pZCkKICAgICB7CiAgICAgICB3aGlsZSAob2spCiAgICAgICAgIHsKLSAgICAg ICAgICBpZHhfdCBuX25lZWRlZDsKICAgICAgICAgICBpZiAoY3VycmVudF9vZmZzZXQgPj0g ZW5kX29mZnNldCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgbl9ieXRlc19yZWFk ID0gMDsKICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg bl9uZWVkZWQgPSBNSU4gKGVuZF9vZmZzZXQgLSBjdXJyZW50X29mZnNldCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgKHVpbnRtYXhfdCkgYnl0ZXNfcGVyX2Jsb2NrKTsKKyAgICAg ICAgICBpZHhfdCBuX25lZWRlZCA9IE1JTiAoZW5kX29mZnNldCAtIGN1cnJlbnRfb2Zmc2V0 LCBieXRlc19wZXJfYmxvY2spOwogICAgICAgICAgIG9rICY9IHJlYWRfYmxvY2sgKG5fbmVl ZGVkLCBibG9ja1tpZHhdLCAmbl9ieXRlc19yZWFkKTsKICAgICAgICAgICBpZiAobl9ieXRl c19yZWFkIDwgYnl0ZXNfcGVyX2Jsb2NrKQogICAgICAgICAgICAgYnJlYWs7CkBAIC0xNTUz LDcgKzE1NjQsNyBAQCBkdW1wX3N0cmluZ3MgKHZvaWQpCiB7CiAgIGlkeF90IGJ1ZnNpemUg PSBNQVggKDEwMCwgc3RyaW5nX21pbiArIDEpOwogICBjaGFyICpidWYgPSB4aW1hbGxvYyAo YnVmc2l6ZSk7Ci0gIHVpbnRtYXhfdCBhZGRyZXNzID0gbl9ieXRlc190b19za2lwOworICBp bnRtYXhfdCBhZGRyZXNzID0gbl9ieXRlc190b19za2lwOwogICBib29sIG9rID0gdHJ1ZTsK IAogICB3aGlsZSAodHJ1ZSkKQEAgLTE2NTcsNyArMTY2OCw3IEBAIG1haW4gKGludCBhcmdj LCBjaGFyICoqYXJndikKIAogICAvKiBUaGUgb2xkLXN0eWxlICdwc2V1ZG8gc3RhcnRpbmcg YWRkcmVzcycgdG8gYmUgcHJpbnRlZCBpbiBwYXJlbnRoZXNlcwogICAgICBhZnRlciBhbnkg dHJ1ZSBhZGRyZXNzLiAgKi8KLSAgdWludG1heF90IHBzZXVkb19zdGFydCBJRl9MSU5UICgg PSAwKTsKKyAgaW50bWF4X3QgcHNldWRvX3N0YXJ0IElGX0xJTlQgKCA9IDApOwogCiAgIGlu aXRpYWxpemVfbWFpbiAoJmFyZ2MsICZhcmd2KTsKICAgc2V0X3Byb2dyYW1fbmFtZSAoYXJn dlswXSk7CkBAIC0xNzA0LDcgKzE3MTUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAKICAgd2hpbGUgKHRydWUpCiAgICAgewotICAgICAgdWludG1heF90IHRtcDsKKyAg ICAgIGludG1heF90IHRtcDsKICAgICAgIGVudW0gc3RydG9sX2Vycm9yIHNfZXJyOwogICAg ICAgaW50IG9pID0gLTE7CiAgICAgICBpbnQgYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2 LCBzaG9ydF9vcHRpb25zLCBsb25nX29wdGlvbnMsICZvaSk7CkBAIC0xNzQ3LDggKzE3NTgs NyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAgICAgICAgY2FzZSAnaic6 CiAgICAgICAgICAgbW9kZXJuID0gdHJ1ZTsKLSAgICAgICAgICBzX2VyciA9IHhzdHJ0b3Vt YXggKG9wdGFyZywgbnVsbHB0ciwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZuX2J5dGVzX3RvX3NraXAsIG11bHRpcGxpZXJzKTsKKyAgICAgICAgICBzX2VyciA9IHhz dHIybm9ubmVnIChvcHRhcmcsIDAsICZuX2J5dGVzX3RvX3NraXAsIG11bHRpcGxpZXJzKTsK ICAgICAgICAgICBpZiAoc19lcnIgIT0gTE9OR0lOVF9PSykKICAgICAgICAgICAgIHhzdHJ0 b2xfZmF0YWwgKHNfZXJyLCBvaSwgYywgbG9uZ19vcHRpb25zLCBvcHRhcmcpOwogICAgICAg ICAgIGJyZWFrOwpAQCAtMTc1Nyw4ICsxNzY3LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogICAgICAgICAgIG1vZGVybiA9IHRydWU7CiAgICAgICAgICAgbGltaXRfYnl0 ZXNfdG9fZm9ybWF0ID0gdHJ1ZTsKIAotICAgICAgICAgIHNfZXJyID0geHN0cnRvdW1heCAo b3B0YXJnLCBudWxscHRyLCAwLCAmbWF4X2J5dGVzX3RvX2Zvcm1hdCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG11bHRpcGxpZXJzKTsKKyAgICAgICAgICBzX2VyciA9IHhz dHIybm9ubmVnIChvcHRhcmcsIDAsICZtYXhfYnl0ZXNfdG9fZm9ybWF0LCBtdWx0aXBsaWVy cyk7CiAgICAgICAgICAgaWYgKHNfZXJyICE9IExPTkdJTlRfT0spCiAgICAgICAgICAgICB4 c3RydG9sX2ZhdGFsIChzX2Vyciwgb2ksIGMsIGxvbmdfb3B0aW9ucywgb3B0YXJnKTsKICAg ICAgICAgICBicmVhazsKQEAgLTE3NjksMTYgKzE3NzgsMTQgQEAgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogICAgICAgICAgICAgc3RyaW5nX21pbiA9IDM7CiAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgewotICAgICAgICAgICAgICBzX2VyciA9IHhzdHJ0b3VtYXgg KG9wdGFyZywgbnVsbHB0ciwgMCwgJnRtcCwgbXVsdGlwbGllcnMpOworICAgICAgICAgICAg ICBzX2VyciA9IHhzdHIybm9ubmVnIChvcHRhcmcsIDAsICZ0bXAsIG11bHRpcGxpZXJzKTsK KyAgICAgICAgICAgICAgLyogVGhlIG1pbmltdW0gc3RyaW5nIGxlbmd0aCArIDEgbXVzdCBm aXQgaW4gaWR4X3QsCisgICAgICAgICAgICAgICAgIHNpbmNlIHdlIG1heSBhbGxvY2F0ZSBh IGJ1ZmZlciBvZiB0aGlzIHNpemUgKyAxLiAgKi8KKyAgICAgICAgICAgICAgaWR4X3QgaTsK KyAgICAgICAgICAgICAgaWYgKHNfZXJyID09IExPTkdJTlRfT0sgJiYgY2tkX2FkZCAoJmks IHRtcCwgMSkpCisgICAgICAgICAgICAgICAgc19lcnIgPSBMT05HSU5UX09WRVJGTE9XOwog ICAgICAgICAgICAgICBpZiAoc19lcnIgIT0gTE9OR0lOVF9PSykKICAgICAgICAgICAgICAg ICB4c3RydG9sX2ZhdGFsIChzX2Vyciwgb2ksIGMsIGxvbmdfb3B0aW9ucywgb3B0YXJnKTsK LQotICAgICAgICAgICAgICAvKiBUaGUgbWluaW11bSBzdHJpbmcgbGVuZ3RoIG11c3QgYmUg bGVzcyB0aGFuCi0gICAgICAgICAgICAgICAgIE1JTiAoSURYX01BWCwgU0laRV9NQVgpLCBz aW5jZSB3ZSBtYXkgYWxsb2NhdGUgYQotICAgICAgICAgICAgICAgICBidWZmZXIgb2YgdGhp cyBzaXplICsgMS4gICovCi0gICAgICAgICAgICAgIGlmIChNSU4gKElEWF9NQVgsIFNJWkVf TUFYKSA8PSB0bXApCi0gICAgICAgICAgICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwg XygiJXMgaXMgdG9vIGxhcmdlIiksIHF1b3RlIChvcHRhcmcpKTsKLQogICAgICAgICAgICAg ICBzdHJpbmdfbWluID0gdG1wOwogICAgICAgICAgICAgfQogICAgICAgICAgIGZsYWdfZHVt cF9zdHJpbmdzID0gdHJ1ZTsKQEAgLTE4NTMsMTMgKzE4NjAsMTYgQEAgbWFpbiAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgaW50bWF4X3Qgd190bXA7Ci0gICAgICAgICAgICAgIHNfZXJyID0geHN0cnRv aW1heCAob3B0YXJnLCBudWxscHRyLCAxMCwgJndfdG1wLCAiIik7Ci0gICAgICAgICAgICAg IGlmIChzX2VyciA9PSBMT05HSU5UX09LICYmIHdfdG1wIDw9IDApCi0gICAgICAgICAgICAg ICAgc19lcnIgPSBMT05HSU5UX0lOVkFMSUQ7CisgICAgICAgICAgICAgIHNfZXJyID0geHN0 cjJub25uZWcgKG9wdGFyZywgMTAsICZ3X3RtcCwgIiIpOworICAgICAgICAgICAgICBpZiAo c19lcnIgPT0gTE9OR0lOVF9PSykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICBpZiAoY2tkX2FkZCAoJmRlc2lyZWRfd2lkdGgsIHdfdG1wLCAwKSkKKyAgICAgICAg ICAgICAgICAgICAgc19lcnIgPSBMT05HSU5UX09WRVJGTE9XOworICAgICAgICAgICAgICAg ICAgZWxzZSBpZiAoZGVzaXJlZF93aWR0aCA9PSAwKQorICAgICAgICAgICAgICAgICAgICBz X2VyciA9IExPTkdJTlRfSU5WQUxJRDsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgIGlmIChzX2VyciAhPSBMT05HSU5UX09LKQogICAgICAgICAgICAgICAgIHhzdHJ0b2xf ZmF0YWwgKHNfZXJyLCBvaSwgYywgbG9uZ19vcHRpb25zLCBvcHRhcmcpOwotICAgICAgICAg ICAgICBpZiAoY2tkX2FkZCAoJmRlc2lyZWRfd2lkdGgsIHdfdG1wLCAwKSkKLSAgICAgICAg ICAgICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCAwLCBfKCIlcyBpcyB0b28gbGFyZ2UiKSwg cXVvdGUgKG9wdGFyZykpOwogICAgICAgICAgICAgfQogICAgICAgICAgIGJyZWFrOwogCkBA IC0xODk2LDggKzE5MDYsOCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKICAg aWYgKCFtb2Rlcm4gfHwgdHJhZGl0aW9uYWwpCiAgICAgewotICAgICAgdWludG1heF90IG8x OwotICAgICAgdWludG1heF90IG8yOworICAgICAgaW50bWF4X3QgbzE7CisgICAgICBpbnRt YXhfdCBvMjsKIAogICAgICAgc3dpdGNoIChuX2ZpbGVzKQogICAgICAgICB7CkBAIC0xOTcw LDEyICsxOTgwLDkgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICBm b3JtYXRfYWRkcmVzcyA9IGZvcm1hdF9hZGRyZXNzX2xhYmVsOwogICAgIH0KIAotICBpZiAo bGltaXRfYnl0ZXNfdG9fZm9ybWF0KQotICAgIHsKLSAgICAgIGVuZF9vZmZzZXQgPSBuX2J5 dGVzX3RvX3NraXAgKyBtYXhfYnl0ZXNfdG9fZm9ybWF0OwotICAgICAgaWYgKGVuZF9vZmZz ZXQgPCBuX2J5dGVzX3RvX3NraXApCi0gICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAs IF8oInNraXAtYnl0ZXMgKyByZWFkLWJ5dGVzIGlzIHRvbyBsYXJnZSIpKTsKLSAgICB9Cisg IGlmIChsaW1pdF9ieXRlc190b19mb3JtYXQKKyAgICAgICYmIGNrZF9hZGQgKCZlbmRfb2Zm c2V0LCBuX2J5dGVzX3RvX3NraXAsIG1heF9ieXRlc190b19mb3JtYXQpKQorICAgIGVycm9y IChFWElUX0ZBSUxVUkUsIDAsIF8oInNraXAtYnl0ZXMgKyByZWFkLWJ5dGVzIGlzIHRvbyBs YXJnZSIpKTsKIAogICBpZiAobl9zcGVjcyA9PSAwKQogICAgIGRlY29kZV9mb3JtYXRfc3Ry aW5nICgib1MiKTsKLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0009-od-initialize-type-size-tables-statically.patch" Content-Disposition: attachment; filename="0009-od-initialize-type-size-tables-statically.patch" Content-Transfer-Encoding: base64 RnJvbSBkOGFhYWZjMDk0OTJlOWVkZWY3YmNkNzRmOGRhMzMyYjU0ZTAyZDc0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDI2IEp1biAyMDI1IDIzOjUxOjM3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOS8xOV0gb2Q6IGluaXRpYWxpemUgdHlwZS1zaXplIHRhYmxlcyBzdGF0aWNhbGx5Cgoq IHNyYy9vZC5jIChOT19TSVpFKTogTWFrZSBpdCBleHBsaWNpdGx5IDAsIGFzIHRoZQppbml0 aWFsaXplcnMgbm93IHJlbHkgb24gdGhpcy4KKE1BWF9JTlRFR1JBTF9UWVBFX1NJWkUpOiBS ZW1vdmUuICBBbGwgdXNlcyByZXBsYWNlZCBieQpBUlJBWV9DQVJESU5BTElUWSAoaW50ZWdy YWxfdHlwZV9zaXplKSAtIDEuCk1vdmUgc3RhdGljIGFzc2VydGlvbiBkb3duIHRvIHdoZXJl IHRoaXMgY2FuIGJlIHVzZWQuCihpbnRlZ3JhbF90eXBlX3NpemUsIGZwX3R5cGVfc2l6ZSk6 IE1ha2UgdGhlbSBjb25zdCwKYW5kIGluaXRpYWxpemUgdGhlbSBzdGF0aWNhbGx5LgoobWFp bik6IE9taXQgbm8tbG9uZ2VyLW5lZWRlZCBpbml0aWFsaXphdGlvbiBjb2RlLgotLS0KIHNy Yy9vZC5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCA0MCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IGI4 MTM3ZmE4YS4uNTQ4NjlhMzJjIDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2Qu YwpAQCAtNjUsNyArNjUsNyBAQAogCiBlbnVtIHNpemVfc3BlYwogICB7Ci0gICAgTk9fU0la RSwKKyAgICBOT19TSVpFID0gMCwKICAgICBDSEFSLAogICAgIFNIT1JULAogICAgIElOVCwK QEAgLTkyLDcgKzkyLDYgQEAgZW51bSBvdXRwdXRfZm9ybWF0CiAgICAgQ0hBUkFDVEVSCiAg IH07CiAKLWVudW0geyBNQVhfSU5URUdSQUxfVFlQRV9TSVpFID0gc2l6ZW9mICh1bnNpZ25l ZCBsb25nIGxvbmcgaW50KSB9OwogZW51bSB7IE1BWF9JTlRFR1JBTF9UWVBFX1dJRFRIID0g VUxMT05HX1dJRFRIIH07CiAKIC8qIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBuZWVk ZWQgZm9yIGEgZm9ybWF0IHN0cmluZywgaW5jbHVkaW5nCkBAIC0xNTMsMTIgKzE1Miw2IEBA IHN0YXRpYyBjaGFyIGNvbnN0IGJ5dGVzX3RvX3Vuc2lnbmVkX2RlY19kaWdpdHNbXSA9CiBz dGF0aWMgY2hhciBjb25zdCBieXRlc190b19oZXhfZGlnaXRzW10gPQogezAsIDIsIDQsIDYs IDgsIDEwLCAxMiwgMTQsIDE2LCAxOCwgMjAsIDIyLCAyNCwgMjYsIDI4LCAzMCwgMzJ9Owog Ci0vKiBJdCdsbCBiZSBhIHdoaWxlIGJlZm9yZSB3ZSBzZWUgaW50ZWdyYWwgdHlwZXMgd2lk ZXIgdGhhbiAxNiBieXRlcywKLSAgIGJ1dCBpZi93aGVuIGl0IGhhcHBlbnMsIHRoaXMgY2hl Y2sgd2lsbCBjYXRjaCBpdC4gIFdpdGhvdXQgdGhpcyBjaGVjaywKLSAgIGEgd2lkZXIgdHlw ZSB3b3VsZCBwcm92b2tlIGEgYnVmZmVyIG92ZXJydW4uICAqLwotc3RhdGljX2Fzc2VydCAo TUFYX0lOVEVHUkFMX1RZUEVfU0laRQotICAgICAgICAgICAgICAgPCBBUlJBWV9DQVJESU5B TElUWSAoYnl0ZXNfdG9faGV4X2RpZ2l0cykpOwotCiAvKiBNYWtlIHN1cmUgdGhlIG90aGVy IGFycmF5cyBoYXZlIHRoZSBzYW1lIGxlbmd0aC4gICovCiBzdGF0aWNfYXNzZXJ0IChzaXpl b2YgYnl0ZXNfdG9fb2N0X2RpZ2l0cyA9PSBzaXplb2YgYnl0ZXNfdG9fc2lnbmVkX2RlY19k aWdpdHMpOwogc3RhdGljX2Fzc2VydCAoc2l6ZW9mIGJ5dGVzX3RvX29jdF9kaWdpdHMKQEAg LTI4MSwxMSArMjc0LDUzIEBAIHN0YXRpYyBGSUxFICppbl9zdHJlYW07CiAvKiBJZiB0cnVl LCBhdCBsZWFzdCBvbmUgb2YgdGhlIGZpbGVzIHdlIHJlYWQgd2FzIHN0YW5kYXJkIGlucHV0 LiAgKi8KIHN0YXRpYyBib29sIGhhdmVfcmVhZF9zdGRpbjsKIAotLyogTWFwIHRoZSBzaXpl IGluIGJ5dGVzIHRvIGEgdHlwZSBpZGVudGlmaWVyLiAgKi8KLXN0YXRpYyBlbnVtIHNpemVf c3BlYyBpbnRlZ3JhbF90eXBlX3NpemVbTUFYX0lOVEVHUkFMX1RZUEVfU0laRSArIDFdOwor LyogTWFwIHRoZSBzaXplIGluIGJ5dGVzIHRvIGEgdHlwZSBpZGVudGlmaWVyLgorICAgV2hl biB0d28gdHlwZXMgaGF2ZSB0aGUgc2FtZSBtYWNoaW5lIGxheW91dDoKKyAgICAgLSBQcmVm ZXIgdW5zaWduZWQgaW50IHRvIGhpZ2hlciByYW5rZWQgdHlwZXMsIGFzIGl0cyBmb3JtYXQg aXMgc2hvcnRlci4KKyAgICAgLSBQcmVmZXIgdW5zaWduZWQgbG9uZyB0byBoaWdoZXItcmFu a2VkIHR5cGVzLCBhcyBpdCBpcyBvbGRlci4KKyAgICAgLSBQcmVmZXIgdWludG1heF90IHRv IHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQ7IHRoaXMgd2lucyBpZiAlbGxkCisgICAgICAgZG9l cyBub3Qgd29yayBidXQgJWpkIGRvZXMgKGUuZy4sIE1TLVdpbmRvd3MpLiAgKi8KK3N0YXRp YyBlbnVtIHNpemVfc3BlYyBjb25zdCBpbnRlZ3JhbF90eXBlX3NpemVbXSA9CisgIHsKKyNp ZiBVQ0hBUl9NQVggPCBVU0hSVF9NQVgKKyAgICBbc2l6ZW9mICh1bnNpZ25lZCBjaGFyKV0g PSBDSEFSLAorI2VuZGlmCisjaWYgVVNIUlRfTUFYIDwgVUlOVF9NQVgKKyAgICBbc2l6ZW9m ICh1bnNpZ25lZCBzaG9ydCBpbnQpXSA9IFNIT1JULAorI2VuZGlmCisgICAgW3NpemVvZiAo dW5zaWduZWQgaW50KV0gPSBJTlQsCisjaWYgVUlOVF9NQVggPCBVTE9OR19NQVgKKyAgICBb c2l6ZW9mICh1bnNpZ25lZCBsb25nIGludCldID0gTE9ORywKKyNlbmRpZgorI2lmIFVMT05H X01BWCA8IFVMTE9OR19NQVgKKyAgICBbc2l6ZW9mICh1bnNpZ25lZCBsb25nIGxvbmcgaW50 KV0gPSBMT05HX0xPTkcsCisjZW5kaWYKKyAgfTsKKworLyogTWFwIHRoZSBzaXplIGluIGJ5 dGVzIHRvIGEgZmxvYXRpbmcgdHlwZSBpZGVudGlmaWVyLgorICAgV2hlbiB0d28gdHlwZXMg aGF2ZSB0aGUgc2FtZSBtYWNoaW5lIGxheW91dDoKKyAgICAgLSBQcmVmZXIgZG91YmxlIHRv IHRoZSBvdGhlciB0eXBlcywgYXMgaXRzIGZvcm1hdCBpcyBzaG9ydGVyLiAgKi8KK3N0YXRp YyBlbnVtIHNpemVfc3BlYyBjb25zdCBmcF90eXBlX3NpemVbXSA9CisgIHsKKyNpZiBGTE9B VDE2X1NVUFBPUlRFRAorICAgIFtzaXplb2YgKGZsb2F0MTYpXSA9IEZMT0FUX0hBTEYsCisj ZWxpZiBCRjE2X1NVUFBPUlRFRAorICAgIFtzaXplb2YgKGJmbG9hdDE2KV0gPSBGTE9BVF9I QUxGLAorI2VuZGlmCisjaWYgRkxUX01BTlRfRElHIDwgREJMX01BTlRfRElHIHx8IEZMVF9N QVhfRVhQIDwgREJMX01BWF9FWFAKKyAgICBbc2l6ZW9mIChmbG9hdCldID0gRkxPQVRfU0lO R0xFLAorI2VuZGlmCisgICAgW3NpemVvZiAoZG91YmxlKV0gPSBGTE9BVF9ET1VCTEUsCisj aWYgREJMX01BTlRfRElHIDwgTERCTF9NQU5UX0RJRyB8fCBEQkxfTUFYX0VYUCA8IExEQkxf TUFYX0VYUAorICAgIFtzaXplb2YgKGxvbmcgZG91YmxlKV0gPSBGTE9BVF9MT05HX0RPVUJM RSwKKyNlbmRpZgorICB9OwogCi0jZGVmaW5lIE1BWF9GUF9UWVBFX1NJWkUgc2l6ZW9mIChs b25nIGRvdWJsZSkKLXN0YXRpYyBlbnVtIHNpemVfc3BlYyBmcF90eXBlX3NpemVbTUFYX0ZQ X1RZUEVfU0laRSArIDFdOworLyogSXQnbGwgYmUgYSB3aGlsZSBiZWZvcmUgd2Ugc2VlIGlu dGVncmFsIHR5cGVzIHdpZGVyIHRoYW4gMTYgYnl0ZXMsCisgICBidXQgaWYvd2hlbiBpdCBo YXBwZW5zLCB0aGlzIGNoZWNrIHdpbGwgY2F0Y2ggaXQuICBXaXRob3V0IHRoaXMgY2hlY2ss CisgICBhIHdpZGVyIHR5cGUgd291bGQgcHJvdm9rZSBhIGJ1ZmZlciBvdmVycnVuLiAgKi8K K3N0YXRpY19hc3NlcnQgKEFSUkFZX0NBUkRJTkFMSVRZIChpbnRlZ3JhbF90eXBlX3NpemUp CisgICAgICAgICAgICAgICA8PSBBUlJBWV9DQVJESU5BTElUWSAoYnl0ZXNfdG9faGV4X2Rp Z2l0cykpOwogCiAjaWZuZGVmIFdPUkRTX0JJR0VORElBTgogIyBkZWZpbmUgV09SRFNfQklH RU5ESUFOIDAKQEAgLTczNSw3ICs3NzAsNyBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBj b25zdCAqc19vcmlnLCBjaGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAg ICAgICAgIHNpemUgPSBzaXplb2YgKGludCk7CiAgICAgICAgICAgZWxzZQogICAgICAgICAg ICAgewotICAgICAgICAgICAgICBpZiAoTUFYX0lOVEVHUkFMX1RZUEVfU0laRSA8IHNpemUK KyAgICAgICAgICAgICAgaWYgKEFSUkFZX0NBUkRJTkFMSVRZIChpbnRlZ3JhbF90eXBlX3Np emUpIDw9IHNpemUKICAgICAgICAgICAgICAgICAgIHx8IGludGVncmFsX3R5cGVfc2l6ZVtz aXplXSA9PSBOT19TSVpFKQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg IGVycm9yICgwLCAwLCBfKCJpbnZhbGlkIHR5cGUgc3RyaW5nICVzO1xudGhpcyBzeXN0ZW0i CkBAIC04NjUsNyArOTAwLDcgQEAgZGVjb2RlX29uZV9mb3JtYXQgKGNoYXIgY29uc3QgKnNf b3JpZywgY2hhciBjb25zdCAqcywgY2hhciBjb25zdCAqKm5leHQsCiAgICAgICAgICAgICBz aXplID0gc2l6ZW9mIChkb3VibGUpOwogICAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHsK LSAgICAgICAgICAgICAgaWYgKHNpemUgPiBNQVhfRlBfVFlQRV9TSVpFCisgICAgICAgICAg ICAgIGlmIChBUlJBWV9DQVJESU5BTElUWSAoZnBfdHlwZV9zaXplKSA8PSBzaXplCiAgICAg ICAgICAgICAgICAgICB8fCBmcF90eXBlX3NpemVbc2l6ZV0gPT0gTk9fU0laRQogICAgICAg ICAgICAgICAgICAgfHwgKCEgRkxPQVQxNl9TVVBQT1JURUQgJiYgQkYxNl9TVVBQT1JURUQK ICAgICAgICAgICAgICAgICAgICAgICAmJiBzaXplID09IHNpemVvZiAoYmZsb2F0MTYpKQpA QCAtMTY3OCwzMiArMTcxMyw2IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKIAog ICBhdGV4aXQgKGNsb3NlX3N0ZG91dCk7CiAKLSAgZm9yIChpZHhfdCBpID0gMDsgaSA8PSBN QVhfSU5URUdSQUxfVFlQRV9TSVpFOyBpKyspCi0gICAgaW50ZWdyYWxfdHlwZV9zaXplW2ld ID0gTk9fU0laRTsKLQotICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6ZW9mIChjaGFyKV0gPSBD SEFSOwotICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6ZW9mIChzaG9ydCBpbnQpXSA9IFNIT1JU OwotICBpbnRlZ3JhbF90eXBlX3NpemVbc2l6ZW9mIChpbnQpXSA9IElOVDsKLSAgaW50ZWdy YWxfdHlwZV9zaXplW3NpemVvZiAobG9uZyBpbnQpXSA9IExPTkc7Ci0gIC8qIElmICdsb25n IGludCcgYW5kICdsb25nIGxvbmcgaW50JyBoYXZlIHRoZSBzYW1lIHNpemUsIGl0J3MgZmlu ZQotICAgICB0byBvdmVyd3JpdGUgdGhlIGVudHJ5IGZvciAnbG9uZycgd2l0aCB0aGlzIG9u ZS4gICovCi0gIGludGVncmFsX3R5cGVfc2l6ZVtzaXplb2YgKHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQpXSA9IExPTkdfTE9ORzsKLQotICBmb3IgKGlkeF90IGkgPSAwOyBpIDw9IE1BWF9G UF9UWVBFX1NJWkU7IGkrKykKLSAgICBmcF90eXBlX3NpemVbaV0gPSBOT19TSVpFOwotCi0j aWYgRkxPQVQxNl9TVVBQT1JURUQKLSAgZnBfdHlwZV9zaXplW3NpemVvZiAoZmxvYXQxNild ID0gRkxPQVRfSEFMRjsKLSNlbGlmIEJGMTZfU1VQUE9SVEVECi0gIGZwX3R5cGVfc2l6ZVtz aXplb2YgKGJmbG9hdDE2KV0gPSBGTE9BVF9IQUxGOwotI2VuZGlmCi0gIGZwX3R5cGVfc2l6 ZVtzaXplb2YgKGZsb2F0KV0gPSBGTE9BVF9TSU5HTEU7Ci0gIC8qIFRoZSBhcnJheSBlbnRy eSBmb3IgJ2RvdWJsZScgaXMgZmlsbGVkIGluIGFmdGVyIHRoYXQgZm9yICdsb25nIGRvdWJs ZScKLSAgICAgc28gdGhhdCBpZiB0aGV5IGFyZSB0aGUgc2FtZSBzaXplLCB3ZSBhdm9pZCBh bnkgb3ZlcmhlYWQgb2YKLSAgICAgbG9uZyBkb3VibGUgY29tcHV0YXRpb24gaW4gbGliYy4g ICovCi0gIGZwX3R5cGVfc2l6ZVtzaXplb2YgKGxvbmcgZG91YmxlKV0gPSBGTE9BVF9MT05H X0RPVUJMRTsKLSAgZnBfdHlwZV9zaXplW3NpemVvZiAoZG91YmxlKV0gPSBGTE9BVF9ET1VC TEU7Ci0KICAgbl9zcGVjcyA9IDA7CiAgIG5fc3BlY3NfYWxsb2NhdGVkID0gMDsKICAgc3Bl YyA9IG51bGxwdHI7Ci0tIAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0010-od-support-uintmax_t-too.patch" Content-Disposition: attachment; filename="0010-od-support-uintmax_t-too.patch" Content-Transfer-Encoding: base64 RnJvbSAyNzQyMjZkYmZmNjg2NmIxMzBiYzY5Yjg0YTdiN2M4YzAwYzMyNjRkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI3IEp1biAyMDI1IDA4OjQ1OjUzIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMC8xOV0gb2Q6IHN1cHBvcnQgdWludG1heF90IHRvbwoKVGhpcyBoYXMgcHJhY3RpY2Fs IGVmZmVjdCBvbmx5IG9uIGh5cG90aGV0aWNhbCBwbGF0Zm9ybXMgd2hlcmUKdWludG1heF90 IGlzIHdpZGVyIHRoYW4gdW5zaWduZWQgbG9uZyBsb25nIGludC4KKiBzcmMvb2QuYyAoZW51 bSBzaXplX3NwZWMpOiBOZXcgY29uc3RhbnQgSU5UTUFYLgooTUFYX0lOVEVHUkFMX1RZUEVf V0lEVEgpOiBOb3cgZXF1YWxzIFVJTlRNQVhfV0lEVEguCihGTVRfQllURVNfQUxMT0NBVEVE KTogQWxsb3cgZm9yIHRoZSBleHRyYSAibCIgaW4gIiVsbGQiLgpBbHNvLCBmaXggb2ZmLWJ5 LXR3byBlcnJvciBpbiBzaXplIGNhbGN1bGF0aW9uLgood2lkdGhfYnl0ZXMsIGludGVncmFs X3R5cGVfc2l6ZSk6IEFkZCBlbnRyaWVzIGZvciB1aW50bWF4X3QuCihwcmludF9pbnRtYXgp OiBOZXcgZnVuY3Rpb24uCihkZWNvZGVfb25lX2Z1bmN0aW9uKTogVXNlIGl0LgooSVNQRUNf VE9fRk9STUFUKTogTmV3IGFyZyBNYXhfZm10LiBBbGwgdXNlcyBjaGFuZ2VkLgotLS0KIHNy Yy9vZC5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCA1NDg2OWEzMmMuLjI3ZWIxYWQ0MSAx MDA2NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTcxLDcgKzcxLDcgQEAg ZW51bSBzaXplX3NwZWMKICAgICBJTlQsCiAgICAgTE9ORywKICAgICBMT05HX0xPTkcsCi0g ICAgLyogRklYTUU6IGFkZCBJTlRNQVggc3VwcG9ydCwgdG9vICovCisgICAgSU5UTUFYLAog ICAgIEZMT0FUX0hBTEYsCiAgICAgRkxPQVRfU0lOR0xFLAogICAgIEZMT0FUX0RPVUJMRSwK QEAgLTkyLDcgKzkyLDcgQEAgZW51bSBvdXRwdXRfZm9ybWF0CiAgICAgQ0hBUkFDVEVSCiAg IH07CiAKLWVudW0geyBNQVhfSU5URUdSQUxfVFlQRV9XSURUSCA9IFVMTE9OR19XSURUSCB9 OworZW51bSB7IE1BWF9JTlRFR1JBTF9UWVBFX1dJRFRIID0gVUlOVE1BWF9XSURUSCB9Owog CiAvKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgbmVlZGVkIGZvciBhIGZvcm1hdCBz dHJpbmcsIGluY2x1ZGluZwogICAgdGhlIHRyYWlsaW5nIG51bC4gIEVhY2ggZm9ybWF0IHN0 cmluZyBleHBlY3RzIGEgdmFyaWFibGUgYW1vdW50IG9mCkBAIC0xMDEsOCArMTAxLDggQEAg ZW51bSB7IE1BWF9JTlRFR1JBTF9UWVBFX1dJRFRIID0gVUxMT05HX1dJRFRIIH07CiBlbnVt CiAgIHsKICAgICBGTVRfQllURVNfQUxMT0NBVEVEID0KLSAgICAgICAgICAgKHNpemVvZiAi JSouOTkiICsgMQotICAgICAgICAgICAgKyBNQVggKHNpemVvZiAibGQiLAorICAgICAgICAg ICAoc2l6ZW9mICIlKi45OSIgLSAxCisgICAgICAgICAgICArIE1BWCAoc2l6ZW9mICJsbGQi LAogICAgICAgICAgICAgICAgICAgIE1BWCAoc2l6ZW9mICJqZCIsCiAgICAgICAgICAgICAg ICAgICAgICAgICBNQVggKHNpemVvZiAiam8iLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNQVggKHNpemVvZiAianUiLApAQCAtMTY3LDYgKzE2Nyw3IEBAIHN0YXRpYyBjb25z dCBpbnQgd2lkdGhfYnl0ZXNbXSA9CiAgIHNpemVvZiAoaW50KSwKICAgc2l6ZW9mIChsb25n IGludCksCiAgIHNpemVvZiAodW5zaWduZWQgbG9uZyBsb25nIGludCksCisgIHNpemVvZiAo dWludG1heF90KSwKICNpZiBCRjE2X1NVUFBPUlRFRAogICBzaXplb2YgKGJmbG9hdDE2KSwK ICNlbHNlCkBAIC0yOTIsOCArMjkzLDExIEBAIHN0YXRpYyBlbnVtIHNpemVfc3BlYyBjb25z dCBpbnRlZ3JhbF90eXBlX3NpemVbXSA9CiAjaWYgVUlOVF9NQVggPCBVTE9OR19NQVgKICAg ICBbc2l6ZW9mICh1bnNpZ25lZCBsb25nIGludCldID0gTE9ORywKICNlbmRpZgotI2lmIFVM T05HX01BWCA8IFVMTE9OR19NQVgKKyNpZiBVTE9OR19NQVggPCBVTExPTkdfTUFYICYmIFVM TE9OR19NQVggPCBVSU5UTUFYX01BWAogICAgIFtzaXplb2YgKHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQpXSA9IExPTkdfTE9ORywKKyNlbmRpZgorI2lmIFVMT05HX01BWCA8IFVJTlRNQVhf TUFYCisgICAgW3NpemVvZiAodWludG1heF90KV0gPSBJTlRNQVgsCiAjZW5kaWYKICAgfTsK IApAQCAtNTYxLDYgKzU2NSw3IEBAIFBSSU5UX1RZUEUgKHByaW50X3Nob3J0LCB1bnNpZ25l ZCBzaG9ydCBpbnQpCiBQUklOVF9UWVBFIChwcmludF9pbnQsIHVuc2lnbmVkIGludCkKIFBS SU5UX1RZUEUgKHByaW50X2xvbmcsIHVuc2lnbmVkIGxvbmcgaW50KQogUFJJTlRfVFlQRSAo cHJpbnRfbG9uZ19sb25nLCB1bnNpZ25lZCBsb25nIGxvbmcgaW50KQorUFJJTlRfVFlQRSAo cHJpbnRfaW50bWF4LCB1aW50bWF4X3QpCiAKIFBSSU5UX0ZMT0FUVFlQRSAocHJpbnRfYmZs b2F0LCBiZmxvYXQxNiwgZnRvYXN0ciwgRkxUX0JVRlNJWkVfQk9VTkQpCiBQUklOVF9GTE9B VFRZUEUgKHByaW50X2hhbGZmbG9hdCwgZmxvYXQxNiwgZnRvYXN0ciwgRkxUX0JVRlNJWkVf Qk9VTkQpCkBAIC03ODMsMTAgKzc4OCwxMSBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBj b25zdCAqc19vcmlnLCBjaGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAg ICAgICBicmVhazsKICAgICAgICAgfQogCi0jZGVmaW5lIElTUEVDX1RPX0ZPUk1BVChTcGVj LCBNaW5fZm9ybWF0LCBMb25nX2Zvcm1hdCwgTWF4X2Zvcm1hdCkJXAotICAoKFNwZWMpID09 IExPTkdfTE9ORyA/IChNYXhfZm9ybWF0KQkJCQkJXAotICAgOiAoKFNwZWMpID09IExPTkcg PyAoTG9uZ19mb3JtYXQpCQkJCQlcCi0gICAgICA6IChNaW5fZm9ybWF0KSkpCQkJCQkJCVwK KyNkZWZpbmUgSVNQRUNfVE9fRk9STUFUKFNwZWMsIE1pbl9mbXQsIExvbmdfZm10LCBMb25n X2xvbmdfZm10LCBNYXhfZm10KSBcCisgICgoU3BlYykgPT0gSU5UTUFYID8gKE1heF9mbXQp CQkJCQkJXAorICAgOiAoU3BlYykgPT0gTE9OR19MT05HID8gKExvbmdfbG9uZ19mbXQpCQkJ CVwKKyAgIDogKFNwZWMpID09IExPTkcgPyAoTG9uZ19mbXQpCQkJCQlcCisgICA6IChNaW5f Zm10KSkKIAogICAgICAgc2l6ZV9zcGVjID0gaW50ZWdyYWxfdHlwZV9zaXplW3NpemVdOwog CkBAIC03OTYsMjggKzgwMiwyOCBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25zdCAq c19vcmlnLCBjaGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAgICAgICBm bXQgPSBTSUdORURfREVDSU1BTDsKICAgICAgICAgICBmaWVsZF93aWR0aCA9IGJ5dGVzX3Rv X3NpZ25lZF9kZWNfZGlnaXRzW3NpemVdOwogICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5m bXRfc3RyaW5nLCAiJSUqJXMiLAotICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1B VCAoc2l6ZV9zcGVjLCAiZCIsICJsZCIsICJqZCIpKTsKKyAgICAgICAgICAgICAgICAgICBJ U1BFQ19UT19GT1JNQVQgKHNpemVfc3BlYywgImQiLCAibGQiLCAibGxkIiwgImpkIikpOwog ICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ28nOgogICAgICAgICAgIGZtdCA9 IE9DVEFMOwogICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRfc3RyaW5nLCAiJSUqLiVk JXMiLAogICAgICAgICAgICAgICAgICAgIChmaWVsZF93aWR0aCA9IGJ5dGVzX3RvX29jdF9k aWdpdHNbc2l6ZV0pLAotICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6 ZV9zcGVjLCAibyIsICJsbyIsICJqbyIpKTsKKyAgICAgICAgICAgICAgICAgICBJU1BFQ19U T19GT1JNQVQgKHNpemVfc3BlYywgIm8iLCAibG8iLCAibGxvIiwgImpvIikpOwogICAgICAg ICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ3UnOgogICAgICAgICAgIGZtdCA9IFVOU0lH TkVEX0RFQ0lNQUw7CiAgICAgICAgICAgZmllbGRfd2lkdGggPSBieXRlc190b191bnNpZ25l ZF9kZWNfZGlnaXRzW3NpemVdOwogICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRfc3Ry aW5nLCAiJSUqJXMiLAotICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6 ZV9zcGVjLCAidSIsICJsdSIsICJqdSIpKTsKKyAgICAgICAgICAgICAgICAgICBJU1BFQ19U T19GT1JNQVQgKHNpemVfc3BlYywgInUiLCAibHUiLCAibGx1IiwgImp1IikpOwogICAgICAg ICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ3gnOgogICAgICAgICAgIGZtdCA9IEhFWEFE RUNJTUFMOwogICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRfc3RyaW5nLCAiJSUqLiVk JXMiLAogICAgICAgICAgICAgICAgICAgIChmaWVsZF93aWR0aCA9IGJ5dGVzX3RvX2hleF9k aWdpdHNbc2l6ZV0pLAotICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6 ZV9zcGVjLCAieCIsICJseCIsICJqeCIpKTsKKyAgICAgICAgICAgICAgICAgICBJU1BFQ19U T19GT1JNQVQgKHNpemVfc3BlYywgIngiLCAibHgiLCAibGx4IiwgImp4IikpOwogICAgICAg ICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CkBAIC04NTAsNiArODU2LDEwIEBAIGRl Y29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcsIGNoYXIgY29uc3QgKnMsIGNo YXIgY29uc3QgKipuZXh0LAogICAgICAgICAgIHByaW50X2Z1bmN0aW9uID0gcHJpbnRfbG9u Z19sb25nOwogICAgICAgICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgSU5UTUFYOgorICAg ICAgICAgIHByaW50X2Z1bmN0aW9uID0gcHJpbnRfaW50bWF4OworICAgICAgICAgIGJyZWFr OworCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgYWZmaXJtIChmYWxzZSk7CiAgICAg ICAgIH0KLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0011-od-replace-lookup-tables-with-simple-arithmetic.patch" Content-Disposition: attachment; filename*0="0011-od-replace-lookup-tables-with-simple-arithmetic.patch" Content-Transfer-Encoding: base64 RnJvbSAzYWQ1OWUxOWJjMjg5YjQxYzc5OThmOTFlZGE0MjQ2NzJiMmM4NDk3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI3IEp1biAyMDI1IDE2OjA4OjA2IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMS8xOV0gb2Q6IHJlcGxhY2UgbG9va3VwIHRhYmxlcyB3aXRoIHNpbXBsZSBhcml0aG1l dGljCgoqIHNyYy9vZC5jIChGTVRfQllURVNfQUxMT0NBVEVEKTogVXNlIGEgc2ltcGxlciBm b3JtdWxhLgpBbHRob3VnaCBzbGlnaHRseSB0b28gZ2VuZXJvdXMsIHRoZSBzdG9yYWdlIHdh c3RlZCBpcyB2ZXJ5IHNtYWxsCmFuZCBpdCBwYWNpZmllcyBnY2MgLVdmb3JtYXQtb3ZlcmZs b3c9Mi4KKGJ5dGVzX3RvX29jdF9kaWdpdHMsIGJ5dGVzX3RvX3NpZ25lZF9kZWNfZGlnaXRz KQooYnl0ZXNfdG9fdW5zaWduZWRfZGVjX2RpZ2l0cywgYnl0ZXNfdG9faGV4X2RpZ29pdHMp OiBSZW1vdmUuCkFsbCB1c2VzIHJlcGxhY2VkIGJ5IGFsZ29yaXRobWljIGNhbGN1bGF0aW9u cywgd2hpY2ggYXJlIGdvb2QKZW5vdWdoOiB0aGV5IGFyZSB2YWxpZCBmb3IgaW50ZWdlcnMg dXAgdG8gMjYyMCBiaXRzICghKSBhbmQgbWlnaHQKYmUgc2xpZ2h0bHkgY29uc2VydmF0aXZl IGZvciB3aWRlciBpbnRlZ2Vycy4gIFJlbW92ZSByZWxhdGVkCnN0YXRpY19hc3NlcnRzLCB3 aGljaCBhcmUgbm8gbG9uZ2VyIG5lZWRlZC4KLS0tCiBzcmMvb2QuYyB8IDUzICsrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IDI3ZWIxYWQ0MS4uODlhMWZmOTg2IDEwMDY0 NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTAxLDEyICsxMDEsNyBAQCBl bnVtIHsgTUFYX0lOVEVHUkFMX1RZUEVfV0lEVEggPSBVSU5UTUFYX1dJRFRIIH07CiBlbnVt CiAgIHsKICAgICBGTVRfQllURVNfQUxMT0NBVEVEID0KLSAgICAgICAgICAgKHNpemVvZiAi JSouOTkiIC0gMQotICAgICAgICAgICAgKyBNQVggKHNpemVvZiAibGxkIiwKLSAgICAgICAg ICAgICAgICAgICBNQVggKHNpemVvZiAiamQiLAotICAgICAgICAgICAgICAgICAgICAgICAg TUFYIChzaXplb2YgImpvIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYIChz aXplb2YgImp1IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg Imp4IikpKSkpCisgICAgICBzaXplb2YgIiUqLiVkbGxkIiAtIHNpemVvZiAiJWQiICsgSU5U X1NUUkxFTl9CT1VORCAoaW50KSArIDEKICAgfTsKIAogLyogRW5zdXJlIHRoYXQgb3VyIGNo b2ljZSBmb3IgRk1UX0JZVEVTX0FMTE9DQVRFRCBpcyByZWFzb25hYmxlLiAgKi8KQEAgLTEz MCwzNCArMTI1LDYgQEAgc3RydWN0IHRzcGVjCiAgICAgaWR4X3QgcGFkX3dpZHRoOyAvKiBU b3RhbCBwYWRkaW5nIHRvIGJlIGRpdmlkZWQgYW1vbmcgZmllbGRzLiAgKi8KICAgfTsKIAot LyogQ29udmVydCB0aGUgbnVtYmVyIG9mIDgtYml0IGJ5dGVzIG9mIGEgYmluYXJ5IHJlcHJl c2VudGF0aW9uIHRvCi0gICB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgKGRpZ2l0cyArIHNp Z24gaWYgdGhlIHR5cGUgaXMgc2lnbmVkKQotICAgcmVxdWlyZWQgdG8gcmVwcmVzZW50IHRo ZSBzYW1lIHF1YW50aXR5IGluIHRoZSBzcGVjaWZpZWQgYmFzZS90eXBlLgotICAgRm9yIGV4 YW1wbGUsIGEgMzItYml0ICg0LWJ5dGUpIHF1YW50aXR5IG1heSByZXF1aXJlIGEgZmllbGQg d2lkdGgKLSAgIGFzIHdpZGUgYXMgdGhlIGZvbGxvd2luZyBmb3IgdGhlc2UgdHlwZXM6Ci0g ICAxMQl1bnNpZ25lZCBvY3RhbAotICAgMTEJc2lnbmVkIGRlY2ltYWwKLSAgIDEwCXVuc2ln bmVkIGRlY2ltYWwKLSAgIDgJdW5zaWduZWQgaGV4YWRlY2ltYWwgICovCi0KLXN0YXRpYyBj aGFyIGNvbnN0IGJ5dGVzX3RvX29jdF9kaWdpdHNbXSA9Ci17MCwgMywgNiwgOCwgMTEsIDE0 LCAxNiwgMTksIDIyLCAyNSwgMjcsIDMwLCAzMiwgMzUsIDM4LCA0MSwgNDN9OwotCi1zdGF0 aWMgY2hhciBjb25zdCBieXRlc190b19zaWduZWRfZGVjX2RpZ2l0c1tdID0KLXsxLCA0LCA2 LCA4LCAxMSwgMTMsIDE2LCAxOCwgMjAsIDIzLCAyNSwgMjgsIDMwLCAzMywgMzUsIDM3LCA0 MH07Ci0KLXN0YXRpYyBjaGFyIGNvbnN0IGJ5dGVzX3RvX3Vuc2lnbmVkX2RlY19kaWdpdHNb XSA9Ci17MCwgMywgNSwgOCwgMTAsIDEzLCAxNSwgMTcsIDIwLCAyMiwgMjUsIDI3LCAyOSwg MzIsIDM0LCAzNywgMzl9OwotCi1zdGF0aWMgY2hhciBjb25zdCBieXRlc190b19oZXhfZGln aXRzW10gPQotezAsIDIsIDQsIDYsIDgsIDEwLCAxMiwgMTQsIDE2LCAxOCwgMjAsIDIyLCAy NCwgMjYsIDI4LCAzMCwgMzJ9OwotCi0vKiBNYWtlIHN1cmUgdGhlIG90aGVyIGFycmF5cyBo YXZlIHRoZSBzYW1lIGxlbmd0aC4gICovCi1zdGF0aWNfYXNzZXJ0IChzaXplb2YgYnl0ZXNf dG9fb2N0X2RpZ2l0cyA9PSBzaXplb2YgYnl0ZXNfdG9fc2lnbmVkX2RlY19kaWdpdHMpOwot c3RhdGljX2Fzc2VydCAoc2l6ZW9mIGJ5dGVzX3RvX29jdF9kaWdpdHMKLSAgICAgICAgICAg ICAgID09IHNpemVvZiBieXRlc190b191bnNpZ25lZF9kZWNfZGlnaXRzKTsKLXN0YXRpY19h c3NlcnQgKHNpemVvZiBieXRlc190b19vY3RfZGlnaXRzID09IHNpemVvZiBieXRlc190b19o ZXhfZGlnaXRzKTsKLQogLyogQ29udmVydCBlbnVtIHNpemVfc3BlYyB0byB0aGUgc2l6ZSBv ZiB0aGUgbmFtZWQgdHlwZS4gICovCiBzdGF0aWMgY29uc3QgaW50IHdpZHRoX2J5dGVzW10g PQogewpAQCAtMzIwLDEyICsyODcsNiBAQCBzdGF0aWMgZW51bSBzaXplX3NwZWMgY29uc3Qg ZnBfdHlwZV9zaXplW10gPQogI2VuZGlmCiAgIH07CiAKLS8qIEl0J2xsIGJlIGEgd2hpbGUg YmVmb3JlIHdlIHNlZSBpbnRlZ3JhbCB0eXBlcyB3aWRlciB0aGFuIDE2IGJ5dGVzLAotICAg YnV0IGlmL3doZW4gaXQgaGFwcGVucywgdGhpcyBjaGVjayB3aWxsIGNhdGNoIGl0LiAgV2l0 aG91dCB0aGlzIGNoZWNrLAotICAgYSB3aWRlciB0eXBlIHdvdWxkIHByb3Zva2UgYSBidWZm ZXIgb3ZlcnJ1bi4gICovCi1zdGF0aWNfYXNzZXJ0IChBUlJBWV9DQVJESU5BTElUWSAoaW50 ZWdyYWxfdHlwZV9zaXplKQotICAgICAgICAgICAgICAgPD0gQVJSQVlfQ0FSRElOQUxJVFkg KGJ5dGVzX3RvX2hleF9kaWdpdHMpKTsKLQogI2lmbmRlZiBXT1JEU19CSUdFTkRJQU4KICMg ZGVmaW5lIFdPUkRTX0JJR0VORElBTiAwCiAjZW5kaWYKQEAgLTgwMCwyOSArNzYxLDI5IEBA IGRlY29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcsIGNoYXIgY29uc3QgKnMs IGNoYXIgY29uc3QgKipuZXh0LAogICAgICAgICB7CiAgICAgICAgIGNhc2UgJ2QnOgogICAg ICAgICAgIGZtdCA9IFNJR05FRF9ERUNJTUFMOwotICAgICAgICAgIGZpZWxkX3dpZHRoID0g Ynl0ZXNfdG9fc2lnbmVkX2RlY19kaWdpdHNbc2l6ZV07CisgICAgICAgICAgZmllbGRfd2lk dGggPSBJTlRfQklUU19TVFJMRU5fQk9VTkQgKENIQVJfQklUICogc2l6ZSAtIDEpICsgMTsK ICAgICAgICAgICBzcHJpbnRmICh0c3BlYy0+Zm10X3N0cmluZywgIiUlKiVzIiwKICAgICAg ICAgICAgICAgICAgICBJU1BFQ19UT19GT1JNQVQgKHNpemVfc3BlYywgImQiLCAibGQiLCAi bGxkIiwgImpkIikpOwogICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ28nOgog ICAgICAgICAgIGZtdCA9IE9DVEFMOwotICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRf c3RyaW5nLCAiJSUqLiVkJXMiLAotICAgICAgICAgICAgICAgICAgIChmaWVsZF93aWR0aCA9 IGJ5dGVzX3RvX29jdF9kaWdpdHNbc2l6ZV0pLAorICAgICAgICAgIGZpZWxkX3dpZHRoID0g KENIQVJfQklUICogc2l6ZSArIDIpIC8gMzsKKyAgICAgICAgICBzcHJpbnRmICh0c3BlYy0+ Zm10X3N0cmluZywgIiUlKi4lZCVzIiwgZmllbGRfd2lkdGgsCiAgICAgICAgICAgICAgICAg ICAgSVNQRUNfVE9fRk9STUFUIChzaXplX3NwZWMsICJvIiwgImxvIiwgImxsbyIsICJqbyIp KTsKICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlICd1JzoKICAgICAgICAgICBm bXQgPSBVTlNJR05FRF9ERUNJTUFMOwotICAgICAgICAgIGZpZWxkX3dpZHRoID0gYnl0ZXNf dG9fdW5zaWduZWRfZGVjX2RpZ2l0c1tzaXplXTsKKyAgICAgICAgICBmaWVsZF93aWR0aCA9 IElOVF9CSVRTX1NUUkxFTl9CT1VORCAoQ0hBUl9CSVQgKiBzaXplKTsKICAgICAgICAgICBz cHJpbnRmICh0c3BlYy0+Zm10X3N0cmluZywgIiUlKiVzIiwKICAgICAgICAgICAgICAgICAg ICBJU1BFQ19UT19GT1JNQVQgKHNpemVfc3BlYywgInUiLCAibHUiLCAibGx1IiwgImp1Iikp OwogICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ3gnOgogICAgICAgICAgIGZt dCA9IEhFWEFERUNJTUFMOwotICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRfc3RyaW5n LCAiJSUqLiVkJXMiLAotICAgICAgICAgICAgICAgICAgIChmaWVsZF93aWR0aCA9IGJ5dGVz X3RvX2hleF9kaWdpdHNbc2l6ZV0pLAorICAgICAgICAgIGZpZWxkX3dpZHRoID0gKENIQVJf QklUICogc2l6ZSArIDMpIC8gNDsKKyAgICAgICAgICBzcHJpbnRmICh0c3BlYy0+Zm10X3N0 cmluZywgIiUlKi4lZCVzIiwgZmllbGRfd2lkdGgsCiAgICAgICAgICAgICAgICAgICAgSVNQ RUNfVE9fRk9STUFUIChzaXplX3NwZWMsICJ4IiwgImx4IiwgImxseCIsICJqeCIpKTsKICAg ICAgICAgICBicmVhazsKIAotLSAKMi41MC4wCgo= --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0012-od-omit-some-duplicate-code.patch" Content-Disposition: attachment; filename="0012-od-omit-some-duplicate-code.patch" Content-Transfer-Encoding: base64 RnJvbSA1NmFhNTQ5YTA2ZWVhYTM5Mjk1Y2NiZjg0MjRiY2RiZjliNjBiOTlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI3IEp1biAyMDI1IDE3OjA4OjI4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMi8xOV0gb2Q6IG9taXQgc29tZSBkdXBsaWNhdGUgY29kZQoKT24geDg2LTY0IChmb3Ig ZXhhbXBsZSkgcHJpbnRfbG9uZywgcHJpbnRfbG9uZ19sb25nLCBhbmQKcHJpbnRfaW50bWF4 IGFsbCBiZWhhdmUgaWRlbnRpY2FsbHksIHNvIGdpdmUgR0NDIGVub3VnaCBpbmZvIHNvCnRo YXQgaXQgZ2VuZXJhdGVzIGNvZGUgZm9yIGp1c3Qgb25lIG9mIHRoZXNlIGZ1bmN0aW9ucy4K KiBzcmMvb2QuYyAoZW51bSBzaXplX3NwZWMpOiBBcnJhbmdlIGZvciBlbnVtIHZhbHVlcyB0 bwpiZSB0aGUgc2FtZSBpZiB0aGV5IHJlcHJlc2VudCB0eXBlcyB0aGF0IGJlaGF2ZSB0aGUg c2FtZS4KKHdpZHRoX2J5dGVzLCBJU1BFQ19UT19GT1JNQVQsIGRlY29kZV9vbmVfZm9ybWF0 KToKTWF0Y2ggdGhlIGVudW0gc2l6ZV9zcGVjIGNoYW5nZXMuCi0tLQogc3JjL29kLmMgfCAx MjUgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyYy9vZC5jIGIvc3JjL29kLmMKaW5kZXggODlhMWZmOTg2Li5k Zjg5YzY5YzcgMTAwNjQ0Ci0tLSBhL3NyYy9vZC5jCisrKyBiL3NyYy9vZC5jCkBAIC02Nywx NSArNjcsMTcgQEAgZW51bSBzaXplX3NwZWMKICAgewogICAgIE5PX1NJWkUgPSAwLAogICAg IENIQVIsCi0gICAgU0hPUlQsCi0gICAgSU5ULAotICAgIExPTkcsCi0gICAgTE9OR19MT05H LAotICAgIElOVE1BWCwKLSAgICBGTE9BVF9IQUxGLAotICAgIEZMT0FUX1NJTkdMRSwKLSAg ICBGTE9BVF9ET1VCTEUsCi0gICAgRkxPQVRfTE9OR19ET1VCTEUsCisgICAgU0hPUlQgPSBD SEFSICsgKFVDSEFSX01BWCA8IFVTSFJUX01BWCksCisgICAgSU5UID0gU0hPUlQgKyAoVVNI UlRfTUFYIDwgVUlOVF9NQVgpLAorICAgIExPTkcgPSBJTlQgKyAoVUlOVF9NQVggPCBVTE9O R19NQVgpLAorICAgIExPTkdfTE9ORyA9IExPTkcgKyAoVUxPTkdfTUFYIDwgVUxMT05HX01B WCksCisgICAgSU5UTUFYID0gTE9OR19MT05HICsgKFVMTE9OR19NQVggPCBVSU5UTUFYX01B WCksCisgICAgRkxPQVRfSEFMRiwgLyogVXNlZCBvbmx5IGlmIChGTE9BVDE2X1NVUFBPUlRF RCB8fCBCRjE2X1NVUFBPUlRFRCkuICAqLworICAgIEZMT0FUX1NJTkdMRSA9IEZMT0FUX0hB TEYgKyAoRkxPQVQxNl9TVVBQT1JURUQgfHwgQkYxNl9TVVBQT1JURUQpLAorICAgIEZMT0FU X0RPVUJMRSA9IEZMT0FUX1NJTkdMRSArIChGTFRfTUFOVF9ESUcgPCBEQkxfTUFOVF9ESUcK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgRkxUX01BWF9FWFAgPCBE QkxfTUFYX0VYUCksCisgICAgRkxPQVRfTE9OR19ET1VCTEUgPSBGTE9BVF9ET1VCTEUgKyAo REJMX01BTlRfRElHIDwgTERCTF9NQU5UX0RJRworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHx8IERCTF9NQVhfRVhQIDwgTERCTF9NQVhfRVhQKSwKICAgICBO X1NJWkVfU1BFQ1MKICAgfTsKIApAQCAtMTMwLDE0ICsxMzIsMjQgQEAgc3RhdGljIGNvbnN0 IGludCB3aWR0aF9ieXRlc1tdID0KIHsKICAgLTEsCiAgIHNpemVvZiAoY2hhciksCisjaWYg VUNIQVJfTUFYIDwgVVNIUlRfTUFYCiAgIHNpemVvZiAoc2hvcnQgaW50KSwKKyNlbmRpZgor I2lmIFVTSFJUX01BWCA8IFVJTlRfTUFYCiAgIHNpemVvZiAoaW50KSwKKyNlbmRpZgorI2lm IFVJTlRfTUFYIDwgVUxPTkdfTUFYCiAgIHNpemVvZiAobG9uZyBpbnQpLAorI2VuZGlmCisj aWYgVUxPTkdfTUFYIDwgVUxMT05HX01BWAogICBzaXplb2YgKHVuc2lnbmVkIGxvbmcgbG9u ZyBpbnQpLAorI2VuZGlmCisjaWYgVUxMT05HX01BWCA8IFVJTlRNQVhfTUFYCiAgIHNpemVv ZiAodWludG1heF90KSwKKyNlbmRpZgogI2lmIEJGMTZfU1VQUE9SVEVECiAgIHNpemVvZiAo YmZsb2F0MTYpLAotI2Vsc2UKKyNlbGlmIEZMT0FUMTZfU1VQUE9SVEVECiAgIHNpemVvZiAo ZmxvYXQxNiksCiAjZW5kaWYKICAgc2l6ZW9mIChmbG9hdCksCkBAIC0yNDQsNyArMjU2LDcg QEAgc3RhdGljIGJvb2wgaGF2ZV9yZWFkX3N0ZGluOwogCiAvKiBNYXAgdGhlIHNpemUgaW4g Ynl0ZXMgdG8gYSB0eXBlIGlkZW50aWZpZXIuCiAgICBXaGVuIHR3byB0eXBlcyBoYXZlIHRo ZSBzYW1lIG1hY2hpbmUgbGF5b3V0OgotICAgICAtIFByZWZlciB1bnNpZ25lZCBpbnQgdG8g aGlnaGVyIHJhbmtlZCB0eXBlcywgYXMgaXRzIGZvcm1hdCBpcyBzaG9ydGVyLgorICAgICAt IFByZWZlciB1bnNpZ25lZCBpbnQgdG8gb3RoZXIgdHlwZXMsIGFzIGl0cyBmb3JtYXQgaXMg c2hvcnRlci4KICAgICAgLSBQcmVmZXIgdW5zaWduZWQgbG9uZyB0byBoaWdoZXItcmFua2Vk IHR5cGVzLCBhcyBpdCBpcyBvbGRlci4KICAgICAgLSBQcmVmZXIgdWludG1heF90IHRvIHVu c2lnbmVkIGxvbmcgbG9uZyBpbnQ7IHRoaXMgd2lucyBpZiAlbGxkCiAgICAgICAgZG9lcyBu b3Qgd29yayBidXQgJWpkIGRvZXMgKGUuZy4sIE1TLVdpbmRvd3MpLiAgKi8KQEAgLTc1MCw5 ICs3NjIsOSBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25zdCAqc19vcmlnLCBjaGFy IGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAgICAgfQogCiAjZGVmaW5lIElT UEVDX1RPX0ZPUk1BVChTcGVjLCBNaW5fZm10LCBMb25nX2ZtdCwgTG9uZ19sb25nX2ZtdCwg TWF4X2ZtdCkgXAotICAoKFNwZWMpID09IElOVE1BWCA/IChNYXhfZm10KQkJCQkJCVwKLSAg IDogKFNwZWMpID09IExPTkdfTE9ORyA/IChMb25nX2xvbmdfZm10KQkJCQlcCi0gICA6IChT cGVjKSA9PSBMT05HID8gKExvbmdfZm10KQkJCQkJXAorICAoTE9ORyA8IElOVE1BWCAmJiAo U3BlYykgPT0gSU5UTUFYID8gKE1heF9mbXQpCQkJXAorICAgOiBMT05HIDwgTE9OR19MT05H ICYmIChTcGVjKSA9PSBMT05HX0xPTkcgPyAoTG9uZ19sb25nX2ZtdCkJCVwKKyAgIDogSU5U IDwgTE9ORyAmJiAoU3BlYykgPT0gTE9ORyA/IChMb25nX2ZtdCkJCQkJXAogICAgOiAoTWlu X2ZtdCkpCiAKICAgICAgIHNpemVfc3BlYyA9IGludGVncmFsX3R5cGVfc2l6ZVtzaXplXTsK QEAgLTc5MSwzOSArODAzLDE4IEBAIGRlY29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpz X29yaWcsIGNoYXIgY29uc3QgKnMsIGNoYXIgY29uc3QgKipuZXh0LAogICAgICAgICAgIHVu cmVhY2hhYmxlICgpOwogICAgICAgICB9CiAKLSAgICAgIHN3aXRjaCAoK3NpemVfc3BlYykK LSAgICAgICAgewotICAgICAgICBjYXNlIENIQVI6Ci0gICAgICAgICAgcHJpbnRfZnVuY3Rp b24gPSAoZm10ID09IFNJR05FRF9ERUNJTUFMCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgPyBwcmludF9zX2NoYXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHByaW50 X2NoYXIpOwotICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgU0hPUlQ6Ci0gICAg ICAgICAgcHJpbnRfZnVuY3Rpb24gPSAoZm10ID09IFNJR05FRF9ERUNJTUFMCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgPyBwcmludF9zX3Nob3J0Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgOiBwcmludF9zaG9ydCk7Ci0gICAgICAgICAgYnJlYWs7Ci0KLSAgICAg ICAgY2FzZSBJTlQ6Ci0gICAgICAgICAgcHJpbnRfZnVuY3Rpb24gPSBwcmludF9pbnQ7Ci0g ICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBMT05HOgotICAgICAgICAgIHByaW50 X2Z1bmN0aW9uID0gcHJpbnRfbG9uZzsKLSAgICAgICAgICBicmVhazsKLQotICAgICAgICBj YXNlIExPTkdfTE9ORzoKLSAgICAgICAgICBwcmludF9mdW5jdGlvbiA9IHByaW50X2xvbmdf bG9uZzsKLSAgICAgICAgICBicmVhazsKLQotICAgICAgICBjYXNlIElOVE1BWDoKLSAgICAg ICAgICBwcmludF9mdW5jdGlvbiA9IHByaW50X2ludG1heDsKLSAgICAgICAgICBicmVhazsK LQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgIGFmZmlybSAoZmFsc2UpOwotICAgICAg ICB9CisgICAgICAvKiBQcmVmZXIgSU5ULCBwcmVmZXIgTE9ORyB0byBsb25nZXIgdHlwZXMs CisgICAgICAgICBhbmQgcHJlZmVyIElOVE1BWCB0byBMT05HX0xPTkcuICAqLworICAgICAg cHJpbnRfZnVuY3Rpb24KKyAgICAgICAgPSAoc2l6ZV9zcGVjID09IElOVCA/IHByaW50X2lu dAorICAgICAgICAgICA6IHNpemVfc3BlYyA9PSBTSE9SVCA/IChmbXQgPT0gU0lHTkVEX0RF Q0lNQUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwcmludF9zX3No b3J0IDogcHJpbnRfc2hvcnQpCisgICAgICAgICAgIDogc2l6ZV9zcGVjID09IENIQVIgPyAo Zm10ID09IFNJR05FRF9ERUNJTUFMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPyBwcmludF9zX2NoYXIgOiBwcmludF9jaGFyKQorICAgICAgICAgICA6IHNpemVfc3Bl YyA9PSBMT05HID8gcHJpbnRfbG9uZworICAgICAgICAgICA6IHNpemVfc3BlYyA9PSBJTlRN QVggPyBwcmludF9pbnRtYXgKKyAgICAgICAgICAgOiBzaXplX3NwZWMgPT0gTE9OR19MT05H ID8gcHJpbnRfbG9uZ19sb25nCisgICAgICAgICAgIDogKGFmZmlybSAoZmFsc2UpLCBudWxs cHRyKSk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgJ2YnOgpAQCAtODcyLDEwICs4NjMs NyBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25zdCAqc19vcmlnLCBjaGFyIGNvbnN0 ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgIGlmIChBUlJBWV9DQVJESU5BTElUWSAoZnBfdHlwZV9zaXplKSA8 PSBzaXplCi0gICAgICAgICAgICAgICAgICB8fCBmcF90eXBlX3NpemVbc2l6ZV0gPT0gTk9f U0laRQotICAgICAgICAgICAgICAgICAgfHwgKCEgRkxPQVQxNl9TVVBQT1JURUQgJiYgQkYx Nl9TVVBQT1JURUQKLSAgICAgICAgICAgICAgICAgICAgICAmJiBzaXplID09IHNpemVvZiAo YmZsb2F0MTYpKQotICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgfHwg ZnBfdHlwZV9zaXplW3NpemVdID09IE5PX1NJWkUpCiAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgZXJyb3IgKDAsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg XygiaW52YWxpZCB0eXBlIHN0cmluZyAlcztcbiIKQEAgLTkwNCwzMiArODkyLDI5IEBAIGRl Y29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcsIGNoYXIgY29uc3QgKnMsIGNo YXIgY29uc3QgKipuZXh0LAogICAgICAgICBpZHhfdCBkZWNpbWFsX3BvaW50X2xlbiA9CiAg ICAgICAgICAgKGxvY2FsZS0+ZGVjaW1hbF9wb2ludFswXSA/IHN0cmxlbiAobG9jYWxlLT5k ZWNpbWFsX3BvaW50KSA6IDEpOwogCi0gICAgICAgIHN3aXRjaCAoK3NpemVfc3BlYykKKyAg ICAgICAgaWYgKHNpemVfc3BlYyA9PSBGTE9BVF9ET1VCTEUpCisgICAgICAgICAgeworICAg ICAgICAgICAgcHJpbnRfZnVuY3Rpb24gPSBwcmludF9kb3VibGU7CisgICAgICAgICAgICBm aWVsZF93aWR0aCA9IERCTF9TVFJMRU5fQk9VTkRfTCAoZGVjaW1hbF9wb2ludF9sZW4pOwor ICAgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoc2l6ZV9zcGVjID09IEZMT0FUX1NJTkdM RSkKKyAgICAgICAgICB7CisgICAgICAgICAgICBwcmludF9mdW5jdGlvbiA9IHByaW50X2Zs b2F0OworICAgICAgICAgICAgZmllbGRfd2lkdGggPSBGTFRfU1RSTEVOX0JPVU5EX0wgKGRl Y2ltYWxfcG9pbnRfbGVuKTsKKyAgICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHNpemVf c3BlYyA9PSBGTE9BVF9IQUxGKQogICAgICAgICAgIHsKLSAgICAgICAgICBjYXNlIEZMT0FU X0hBTEY6CiAgICAgICAgICAgICBwcmludF9mdW5jdGlvbiA9IGZtdCA9PSBCRkxPQVRJTkdf UE9JTlQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwcmludF9iZmxvYXQgOiBw cmludF9oYWxmZmxvYXQ7CiAgICAgICAgICAgICBmaWVsZF93aWR0aCA9IEZMVF9TVFJMRU5f Qk9VTkRfTCAoZGVjaW1hbF9wb2ludF9sZW4pOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAg ICAgICAgICBjYXNlIEZMT0FUX1NJTkdMRToKLSAgICAgICAgICAgIHByaW50X2Z1bmN0aW9u ID0gcHJpbnRfZmxvYXQ7Ci0gICAgICAgICAgICBmaWVsZF93aWR0aCA9IEZMVF9TVFJMRU5f Qk9VTkRfTCAoZGVjaW1hbF9wb2ludF9sZW4pOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAg ICAgICAgICBjYXNlIEZMT0FUX0RPVUJMRToKLSAgICAgICAgICAgIHByaW50X2Z1bmN0aW9u ID0gcHJpbnRfZG91YmxlOwotICAgICAgICAgICAgZmllbGRfd2lkdGggPSBEQkxfU1RSTEVO X0JPVU5EX0wgKGRlY2ltYWxfcG9pbnRfbGVuKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0g ICAgICAgICAgY2FzZSBGTE9BVF9MT05HX0RPVUJMRToKKyAgICAgICAgICB9CisgICAgICAg IGVsc2UgaWYgKHNpemVfc3BlYyA9PSBGTE9BVF9MT05HX0RPVUJMRSkKKyAgICAgICAgICB7 CiAgICAgICAgICAgICBwcmludF9mdW5jdGlvbiA9IHByaW50X2xvbmdfZG91YmxlOwogICAg ICAgICAgICAgZmllbGRfd2lkdGggPSBMREJMX1NUUkxFTl9CT1VORF9MIChkZWNpbWFsX3Bv aW50X2xlbik7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgIGRlZmF1bHQ6Ci0g ICAgICAgICAgICBhZmZpcm0gKGZhbHNlKTsKICAgICAgICAgICB9CisgICAgICAgIGVsc2UK KyAgICAgICAgICBhZmZpcm0gKGZhbHNlKTsKIAogICAgICAgICBicmVhazsKICAgICAgIH0K LS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0013-od-minor-lcm-tuning.patch" Content-Disposition: attachment; filename="0013-od-minor-lcm-tuning.patch" Content-Transfer-Encoding: base64 RnJvbSAwZTEwNDY0N2E3YmY3MjdmMjczMjI4YzJhMzI5MjY5OWM4ZjE3ZjY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI3IEp1biAyMDI1IDE3OjUyOjE1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMy8xOV0gb2Q6IG1pbm9yIGxjbSB0dW5pbmcKCiogc3JjL29kLmMgKGR1bXAsIG1haW4p OiBSZWRvIGxjbSBjYWxjdWF0aW9ucyB0byBhdm9pZCBhIG11bHRpcGx5LgotLS0KIHNyYy9v ZC5jIHwgNiArKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCBkZjg5 YzY5YzcuLmZkMmUyMTM4ZSAxMDA2NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMK QEAgLTE1MjcsNyArMTUyNyw4IEBAIGR1bXAgKHZvaWQpCiAKICAgICAgIC8qIEVuc3VyZSB6 ZXJvLWJ5dGUgcGFkZGluZyB1cCB0byB0aGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgbF9jX20g dGhhdAogICAgICAgICAgaXMgYXQgbGVhc3QgYXMgbGFyZ2UgYXMgbl9ieXRlc19yZWFkLiAg Ki8KLSAgICAgIGlkeF90IGJ5dGVzX3RvX3dyaXRlID0gbF9jX20gKiAoKG5fYnl0ZXNfcmVh ZCArIGxfY19tIC0gMSkgLyBsX2NfbSk7CisgICAgICBpZHhfdCBieXRlc190b193cml0ZSA9 IChuX2J5dGVzX3JlYWQgKyBsX2NfbSAtIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC0gKG5fYnl0ZXNfcmVhZCArIGxfY19tIC0gMSkgJSBsX2NfbSk7CiAKICAgICAgIG1l bXNldCAoYmxvY2tbaWR4XSArIG5fYnl0ZXNfcmVhZCwgMCwgYnl0ZXNfdG9fd3JpdGUgLSBu X2J5dGVzX3JlYWQpOwogICAgICAgd3JpdGVfYmxvY2sgKGN1cnJlbnRfb2Zmc2V0LCBuX2J5 dGVzX3JlYWQsIGJsb2NrWyFpZHhdLCBibG9ja1tpZHhdKTsKQEAgLTE5OTcsNyArMTk5OCw4 IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgZWxzZQogICAgIHsKICAgICAg IGlmIChsX2NfbSA8IERFRkFVTFRfQllURVNfUEVSX0JMT0NLKQotICAgICAgICBieXRlc19w ZXJfYmxvY2sgPSBsX2NfbSAqIChERUZBVUxUX0JZVEVTX1BFUl9CTE9DSyAvIGxfY19tKTsK KyAgICAgICAgYnl0ZXNfcGVyX2Jsb2NrID0gKERFRkFVTFRfQllURVNfUEVSX0JMT0NLCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAtIERFRkFVTFRfQllURVNfUEVSX0JMT0NLICUg bF9jX20pOwogICAgICAgZWxzZQogICAgICAgICBieXRlc19wZXJfYmxvY2sgPSBsX2NfbTsK ICAgICB9Ci0tIAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0014-od-simpler-static-initialization.patch" Content-Disposition: attachment; filename="0014-od-simpler-static-initialization.patch" Content-Transfer-Encoding: base64 RnJvbSAzNGI1MDQzYzZlNzhmYmEyMTY3Y2MxOGIyZWMyYTE0MTU4ZmQ4MDlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDA5OjQ5OjQyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxNC8xOV0gb2Q6IHNpbXBsZXIgc3RhdGljIGluaXRpYWxpemF0aW9uCk1JTUUtVmVyc2lv bjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIHNyYy9vZC5jIChhZGRyZXNzX2Jhc2UsIGFk ZHJlc3NfcGFkX2xlbiwgZm9ybWF0X2FkZHJlc3MpOgpJbml0aWFsaXplIHN0YXRpY2FsbHkg cmF0aGVyIHRoYW4gZHluYW1pY2FsbHkuCihsaW1pdF9ieXRlc190b19mb3JtYXQpOiBSZW1v dmUuICBBbGwgdXNlcyByZXBsYWNlZCBieQpjaGVja2luZyBzaWduIG9mIGVuZF9vZmZzZXQu CihtYXhfYnl0ZXNfdG9fZm9ybWF0KTogUmVtb3ZlIHN0YXRpYyB2YXIuICBOb3cgbG9jYWwg dG8g4oCYbWFpbuKAmS4KKGVuZF9vZmZzZXQpOiAtMSBub3cgbWVhbnMgbm8gbGltaXQuICBB bGwgdXNlcyBjaGFuZ2VkLgotLS0KIHNyYy9vZC5jIHwgNDggKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTggaW5z ZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL29kLmMgYi9z cmMvb2QuYwppbmRleCBmZDJlMjEzOGUuLjU2M2JhZjBiMSAxMDA2NDQKLS0tIGEvc3JjL29k LmMKKysrIGIvc3JjL29kLmMKQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgY2hhciBjb25z dCBjaGFybmFtZVszM11bNF0gPQogfTsKIAogLyogQWRkcmVzcyBiYXNlICg4LCAxMCBvciAx NikuICAqLwotc3RhdGljIGludCBhZGRyZXNzX2Jhc2U7CitzdGF0aWMgaW50IGFkZHJlc3Nf YmFzZSA9IDg7CiAKIC8qIFRoZSBudW1iZXIgb2Ygb2N0YWwgZGlnaXRzIHJlcXVpcmVkIHRv IHJlcHJlc2VudCB0aGUgbGFyZ2VzdAogICAgYWRkcmVzcyB2YWx1ZS4gICovCkBAIC0xODAs NyArMTgwLDcgQEAgZW51bSB7IE1BWF9BRERSRVNTX0xFTkdUSCA9ICgoSU5UTUFYX1dJRFRI IC0gMSkgLyAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgKChJTlRNQVhfV0lE VEggLSAxKSAlIDMgIT0gMCkpIH07CiAKIC8qIFdpZHRoIG9mIGEgbm9ybWFsIGFkZHJlc3Mu ICAqLwotc3RhdGljIGludCBhZGRyZXNzX3BhZF9sZW47CitzdGF0aWMgaW50IGFkZHJlc3Nf cGFkX2xlbiA9IDc7CiAKIC8qIE1pbmltdW0gbGVuZ3RoIHdoZW4gZGV0ZWN0aW5nIC0tc3Ry aW5ncy4gICovCiBzdGF0aWMgaWR4X3Qgc3RyaW5nX21pbjsKQEAgLTIwMiwyMCArMjAyLDE1 IEBAIHN0YXRpYyBpbnRtYXhfdCBwc2V1ZG9fb2Zmc2V0OwogCiAvKiBGdW5jdGlvbiB0aGF0 IGFjY2VwdHMgYW4gYWRkcmVzcyBhbmQgYW4gb3B0aW9uYWwgZm9sbG93aW5nIGNoYXIsCiAg ICBhbmQgcHJpbnRzIHRoZSBhZGRyZXNzIGFuZCBjaGFyIHRvIHN0ZG91dC4gICovCi1zdGF0 aWMgdm9pZCAoKmZvcm1hdF9hZGRyZXNzKSAoaW50bWF4X3QsIGNoYXIpOworc3RhdGljIHZv aWQgZm9ybWF0X2FkZHJlc3Nfc3RkIChpbnRtYXhfdCwgY2hhcik7CitzdGF0aWMgdm9pZCAo KmZvcm1hdF9hZGRyZXNzKSAoaW50bWF4X3QsIGNoYXIpID0gZm9ybWF0X2FkZHJlc3Nfc3Rk OwogCiAvKiBUaGUgbnVtYmVyIG9mIGlucHV0IGJ5dGVzIHRvIHNraXAgYmVmb3JlIGZvcm1h dHRpbmcgYW5kIHdyaXRpbmcuICAqLwotc3RhdGljIGludG1heF90IG5fYnl0ZXNfdG9fc2tp cCA9IDA7CitzdGF0aWMgaW50bWF4X3Qgbl9ieXRlc190b19za2lwOwogCi0vKiBXaGVuIGZh bHNlLCBNQVhfQllURVNfVE9fRk9STUFUIGFuZCBFTkRfT0ZGU0VUIGFyZSBpZ25vcmVkLCBh bmQgYWxsCi0gICBpbnB1dCBpcyBmb3JtYXR0ZWQuICAqLwotc3RhdGljIGJvb2wgbGltaXRf Ynl0ZXNfdG9fZm9ybWF0ID0gZmFsc2U7Ci0KLS8qIFRoZSBtYXhpbXVtIG51bWJlciBvZiBi eXRlcyB0aGF0IHdpbGwgYmUgZm9ybWF0dGVkLiAgKi8KLXN0YXRpYyBpbnRtYXhfdCBtYXhf Ynl0ZXNfdG9fZm9ybWF0OwotCi0vKiBUaGUgb2Zmc2V0IG9mIHRoZSBmaXJzdCBieXRlIGFm dGVyIHRoZSBsYXN0IGJ5dGUgdG8gYmUgZm9ybWF0dGVkLiAgKi8KLXN0YXRpYyBpbnRtYXhf dCBlbmRfb2Zmc2V0OworLyogVGhlIG9mZnNldCBvZiB0aGUgZmlyc3QgYnl0ZSBhZnRlciB0 aGUgbGFzdCBieXRlIHRvIGJlIGZvcm1hdHRlZC4KKyAgIElmIG5lZ2F0aXZlLCB0aGVyZSBp cyBubyBsaW1pdC4gICovCitzdGF0aWMgaW50bWF4X3QgZW5kX29mZnNldCA9IC0xOwogCiAv KiBXaGVuIHRydWUgYW5kIHR3byBvciBtb3JlIGNvbnNlY3V0aXZlIGJsb2NrcyBhcmUgZXF1 YWwsIGZvcm1hdAogICAgb25seSB0aGUgZmlyc3QgYmxvY2sgYW5kIG91dHB1dCBhbiBhc3Rl cmlzayBhbG9uZSBvbiB0aGUgZm9sbG93aW5nCkBAIC05OTIsNyArOTg3LDcgQEAgb3Blbl9u ZXh0X2ZpbGUgKHZvaWQpCiAgICAgfQogICB3aGlsZSAoaW5fc3RyZWFtID09IG51bGxwdHIp OwogCi0gIGlmIChsaW1pdF9ieXRlc190b19mb3JtYXQgJiYgIWZsYWdfZHVtcF9zdHJpbmdz KQorICBpZiAoMCA8PSBlbmRfb2Zmc2V0ICYmICFmbGFnX2R1bXBfc3RyaW5ncykKICAgICBz ZXR2YnVmIChpbl9zdHJlYW0sIG51bGxwdHIsIF9JT05CRiwgMCk7CiAKICAgcmV0dXJuIG9r OwpAQCAtMTQ4Miw3ICsxNDc3LDcgQEAgZHVtcCAodm9pZCkKIAogICBjdXJyZW50X29mZnNl dCA9IG5fYnl0ZXNfdG9fc2tpcDsKIAotICBpZiAobGltaXRfYnl0ZXNfdG9fZm9ybWF0KQor ICBpZiAoMCA8PSBlbmRfb2Zmc2V0KQogICAgIHsKICAgICAgIHdoaWxlIChvaykKICAgICAg ICAgewpAQCAtMTUzNyw3ICsxNTMyLDcgQEAgZHVtcCAodm9pZCkKIAogICBmb3JtYXRfYWRk cmVzcyAoY3VycmVudF9vZmZzZXQsICdcbicpOwogCi0gIGlmIChsaW1pdF9ieXRlc190b19m b3JtYXQgJiYgY3VycmVudF9vZmZzZXQgPj0gZW5kX29mZnNldCkKKyAgaWYgKDAgPD0gZW5k X29mZnNldCAmJiBlbmRfb2Zmc2V0IDw9IGN1cnJlbnRfb2Zmc2V0KQogICAgIG9rICY9IGNo ZWNrX2FuZF9jbG9zZSAoMCk7CiAKICAgZnJlZSAoYmxvY2tbMF0pOwpAQCAtMTU2NCwxMiAr MTU1OSwxMiBAQCBkdW1wX3N0cmluZ3MgKHZvaWQpCiAgICAgICBpZHhfdCBpID0gMDsKICAg ICAgIGludCBjID0gMTsgIC8qIEluaXQgdG8gMSBzbyBjYW4gZGlzdGluZ3Vpc2ggaWYgTlVM IHJlYWQuICAqLwogCi0gICAgICBpZiAobGltaXRfYnl0ZXNfdG9fZm9ybWF0CisgICAgICBp ZiAoMCA8PSBlbmRfb2Zmc2V0CiAgICAgICAgICAgJiYgKGVuZF9vZmZzZXQgPCBzdHJpbmdf bWluIHx8IGVuZF9vZmZzZXQgLSBzdHJpbmdfbWluIDwgYWRkcmVzcykpCiAgICAgICAgIGJy ZWFrOwogCiAgICAgICAvKiBTdG9yZSBjb25zZWN1dGl2ZSBwcmludGFibGUgY2hhcmFjdGVy cyB0byBCVUYuICAqLwotICAgICAgd2hpbGUgKCFsaW1pdF9ieXRlc190b19mb3JtYXQgfHwg YWRkcmVzcyA8IGVuZF9vZmZzZXQpCisgICAgICB3aGlsZSAoISAoMCA8PSBlbmRfb2Zmc2V0 ICYmIGVuZF9vZmZzZXQgPD0gYWRkcmVzcykpCiAgICAgICAgIHsKICAgICAgICAgICBpZiAo aSA9PSBidWZzaXplIC0gMSkKICAgICAgICAgICAgIGJ1ZiA9IHhwYWxsb2MgKGJ1ZiwgJmJ1 ZnNpemUsIDEsIC0xLCBzaXplb2YgKmJ1Zik7CkBAIC0xNjU4LDYgKzE2NTMsMTAgQEAgbWFp biAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICBpZHhfdCB3aWR0aF9wZXJfYmxvY2sgPSAw OwogICBzdGF0aWMgY2hhciBjb25zdCBtdWx0aXBsaWVyc1tdID0gImJFR0trTW1QUVJUWVow IjsKIAorICAvKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhhdCB3aWxsIGJlIGZv cm1hdHRlZC4KKyAgICAgSWYgbmVnYXRpdmUsIHRoZXJlIGlzIG5vIGxpbWl0LiAgKi8KKyAg aW50bWF4X3QgbWF4X2J5dGVzX3RvX2Zvcm1hdCA9IC0xOworCiAgIC8qIFRoZSBvbGQtc3R5 bGUgJ3BzZXVkbyBzdGFydGluZyBhZGRyZXNzJyB0byBiZSBwcmludGVkIGluIHBhcmVudGhl c2VzCiAgICAgIGFmdGVyIGFueSB0cnVlIGFkZHJlc3MuICAqLwogICBpbnRtYXhfdCBwc2V1 ZG9fc3RhcnQgSUZfTElOVCAoID0gMCk7CkBAIC0xNjcwLDE1ICsxNjY5LDYgQEAgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAgIGF0ZXhpdCAoY2xvc2Vfc3Rkb3V0KTsKIAot ICBuX3NwZWNzID0gMDsKLSAgbl9zcGVjc19hbGxvY2F0ZWQgPSAwOwotICBzcGVjID0gbnVs bHB0cjsKLQotICBmb3JtYXRfYWRkcmVzcyA9IGZvcm1hdF9hZGRyZXNzX3N0ZDsKLSAgYWRk cmVzc19iYXNlID0gODsKLSAgYWRkcmVzc19wYWRfbGVuID0gNzsKLSAgZmxhZ19kdW1wX3N0 cmluZ3MgPSBmYWxzZTsKLQogICB3aGlsZSAodHJ1ZSkKICAgICB7CiAgICAgICBpbnRtYXhf dCB0bXA7CkBAIC0xNzMxLDggKzE3MjEsNiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAKICAgICAgICAgY2FzZSAnTic6CiAgICAgICAgICAgbW9kZXJuID0gdHJ1ZTsKLSAg ICAgICAgICBsaW1pdF9ieXRlc190b19mb3JtYXQgPSB0cnVlOwotCiAgICAgICAgICAgc19l cnIgPSB4c3RyMm5vbm5lZyAob3B0YXJnLCAwLCAmbWF4X2J5dGVzX3RvX2Zvcm1hdCwgbXVs dGlwbGllcnMpOwogICAgICAgICAgIGlmIChzX2VyciAhPSBMT05HSU5UX09LKQogICAgICAg ICAgICAgeHN0cnRvbF9mYXRhbCAoc19lcnIsIG9pLCBjLCBsb25nX29wdGlvbnMsIG9wdGFy Zyk7CkBAIC0xOTQ2LDcgKzE5MzQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CiAgICAgICAgIGZvcm1hdF9hZGRyZXNzID0gZm9ybWF0X2FkZHJlc3NfbGFiZWw7CiAgICAg fQogCi0gIGlmIChsaW1pdF9ieXRlc190b19mb3JtYXQKKyAgaWYgKDAgPD0gbWF4X2J5dGVz X3RvX2Zvcm1hdAogICAgICAgJiYgY2tkX2FkZCAoJmVuZF9vZmZzZXQsIG5fYnl0ZXNfdG9f c2tpcCwgbWF4X2J5dGVzX3RvX2Zvcm1hdCkpCiAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwg MCwgXygic2tpcC1ieXRlcyArIHJlYWQtYnl0ZXMgaXMgdG9vIGxhcmdlIikpOwogCi0tIAoy LjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0015-od-simplify-away-one-loop-copy.patch" Content-Disposition: attachment; filename="0015-od-simplify-away-one-loop-copy.patch" Content-Transfer-Encoding: base64 RnJvbSA5YWFiNGZiMjg3ZTRlMGIwNzc4MzM3ZWQ5YzUzMTZhMTUzOTkzZjFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDE0OjAxOjE4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxNS8xOV0gb2Q6IHNpbXBsaWZ5IGF3YXkgb25lIGxvb3AgY29weQoKKiBzcmMvb2QuYyAo ZHVtcCk6IENvYWxlc2NlIHR3byBsb29wcyBpbnRvIG9uZS4KLS0tCiBzcmMvb2QuYyB8IDU1 ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IDU2M2JhZjBiMS4uODQ3 ZWI2ZDc0IDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTQ2Nyw3 ICsxNDY3LDYgQEAgc3RhdGljIGJvb2wKIGR1bXAgKHZvaWQpCiB7CiAgIGNoYXIgKmJsb2Nr WzJdOwotICBpbnRtYXhfdCBjdXJyZW50X29mZnNldDsKICAgYm9vbCBpZHggPSBmYWxzZTsK ICAgYm9vbCBvayA9IHRydWU7CiAgIGlkeF90IG5fYnl0ZXNfcmVhZDsKQEAgLTE0NzUsNDYg KzE0NzQsMzAgQEAgZHVtcCAodm9pZCkKICAgYmxvY2tbMF0gPSB4aW5tYWxsb2MgKDIsIGJ5 dGVzX3Blcl9ibG9jayk7CiAgIGJsb2NrWzFdID0gYmxvY2tbMF0gKyBieXRlc19wZXJfYmxv Y2s7CiAKLSAgY3VycmVudF9vZmZzZXQgPSBuX2J5dGVzX3RvX3NraXA7CisgIGludG1heF90 IGN1cnJlbnRfb2Zmc2V0ID0gbl9ieXRlc190b19za2lwOwogCi0gIGlmICgwIDw9IGVuZF9v ZmZzZXQpCi0gICAgewotICAgICAgd2hpbGUgKG9rKQotICAgICAgICB7Ci0gICAgICAgICAg aWYgKGN1cnJlbnRfb2Zmc2V0ID49IGVuZF9vZmZzZXQpCi0gICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgIG5fYnl0ZXNfcmVhZCA9IDA7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAg ICAgICAgICAgfQotICAgICAgICAgIGlkeF90IG5fbmVlZGVkID0gTUlOIChlbmRfb2Zmc2V0 IC0gY3VycmVudF9vZmZzZXQsIGJ5dGVzX3Blcl9ibG9jayk7Ci0gICAgICAgICAgb2sgJj0g cmVhZF9ibG9jayAobl9uZWVkZWQsIGJsb2NrW2lkeF0sICZuX2J5dGVzX3JlYWQpOwotICAg ICAgICAgIGlmIChuX2J5dGVzX3JlYWQgPCBieXRlc19wZXJfYmxvY2spCi0gICAgICAgICAg ICBicmVhazsKLSAgICAgICAgICBhZmZpcm0gKG5fYnl0ZXNfcmVhZCA9PSBieXRlc19wZXJf YmxvY2spOwotICAgICAgICAgIHdyaXRlX2Jsb2NrIChjdXJyZW50X29mZnNldCwgbl9ieXRl c19yZWFkLAotICAgICAgICAgICAgICAgICAgICAgICBibG9ja1shaWR4XSwgYmxvY2tbaWR4 XSk7Ci0gICAgICAgICAgaWYgKGZlcnJvciAoc3Rkb3V0KSkKLSAgICAgICAgICAgIG9rID0g ZmFsc2U7Ci0gICAgICAgICAgY3VycmVudF9vZmZzZXQgKz0gbl9ieXRlc19yZWFkOwotICAg ICAgICAgIGlkeCA9ICFpZHg7Ci0gICAgICAgIH0KLSAgICB9Ci0gIGVsc2UKKyAgZG8KICAg ICB7Ci0gICAgICB3aGlsZSAob2spCisgICAgICBpbnRtYXhfdCBuZWVkZWRfYm91bmQKKyAg ICAgICAgPSBlbmRfb2Zmc2V0IDwgMCA/IElOVE1BWF9NQVggOiBlbmRfb2Zmc2V0IC0gY3Vy cmVudF9vZmZzZXQ7CisgICAgICBpZiAobmVlZGVkX2JvdW5kIDw9IDApCiAgICAgICAgIHsK LSAgICAgICAgICBvayAmPSByZWFkX2Jsb2NrIChieXRlc19wZXJfYmxvY2ssIGJsb2NrW2lk eF0sICZuX2J5dGVzX3JlYWQpOwotICAgICAgICAgIGlmIChuX2J5dGVzX3JlYWQgPCBieXRl c19wZXJfYmxvY2spCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICBhZmZpcm0gKG5f Ynl0ZXNfcmVhZCA9PSBieXRlc19wZXJfYmxvY2spOwotICAgICAgICAgIHdyaXRlX2Jsb2Nr IChjdXJyZW50X29mZnNldCwgbl9ieXRlc19yZWFkLAotICAgICAgICAgICAgICAgICAgICAg ICBibG9ja1shaWR4XSwgYmxvY2tbaWR4XSk7Ci0gICAgICAgICAgaWYgKGZlcnJvciAoc3Rk b3V0KSkKLSAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgY3VycmVudF9vZmZz ZXQgKz0gbl9ieXRlc19yZWFkOwotICAgICAgICAgIGlkeCA9ICFpZHg7CisgICAgICAgICAg bl9ieXRlc19yZWFkID0gMDsKKyAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAg aWR4X3Qgbl9uZWVkZWQgPSBNSU4gKGJ5dGVzX3Blcl9ibG9jaywgbmVlZGVkX2JvdW5kKTsK KyAgICAgIG9rICY9IHJlYWRfYmxvY2sgKG5fbmVlZGVkLCBibG9ja1tpZHhdLCAmbl9ieXRl c19yZWFkKTsKKyAgICAgIGlmIChuX2J5dGVzX3JlYWQgPCBieXRlc19wZXJfYmxvY2spCisg ICAgICAgIGJyZWFrOworICAgICAgYWZmaXJtIChuX2J5dGVzX3JlYWQgPT0gYnl0ZXNfcGVy X2Jsb2NrKTsKKyAgICAgIHdyaXRlX2Jsb2NrIChjdXJyZW50X29mZnNldCwgbl9ieXRlc19y ZWFkLAorICAgICAgICAgICAgICAgICAgIGJsb2NrWyFpZHhdLCBibG9ja1tpZHhdKTsKKyAg ICAgIGlmIChmZXJyb3IgKHN0ZG91dCkpCisgICAgICAgIG9rID0gZmFsc2U7CisgICAgICBj dXJyZW50X29mZnNldCArPSBuX2J5dGVzX3JlYWQ7CisgICAgICBpZHggPSAhaWR4OwogICAg IH0KKyAgd2hpbGUgKG9rKTsKIAogICBpZiAobl9ieXRlc19yZWFkID4gMCkKICAgICB7Ci0t IAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0016-od-check-sign-bit-more-often.patch" Content-Disposition: attachment; filename="0016-od-check-sign-bit-more-often.patch" Content-Transfer-Encoding: base64 RnJvbSA5ODRkY2MzN2YyZTgyMWUyMGY3NDdkMzg3ZjFlOWQ2YTJhMzFmNDQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDE1OjA0OjMwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxNi8xOV0gb2Q6IGNoZWNrIHNpZ24gYml0IG1vcmUgb2Z0ZW4KCiogc3JjL29kLmMgKHJl YWRfY2hhciwgZHVtcF9zdHJpbmdzLCBtYWluKToKSW5zdGVhZCBvZiB0ZXN0aW5nIGZvciBh biBleGFjdCBuZWdhdGl2ZSBudW1iZXIsCmp1c3QgbG9vayBhdCB0aGUgc2lnbiBiaXQuICBU aGlzIGlzIGEgdmVyeSBtaW5vciB0d2Vhay4KLS0tCiBzcmMvb2QuYyB8IDEyICsrKy0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IDg0N2ViNmQ3NC4uNmQ5 YzVkMDY5IDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTMxNCwx NSArMTMxNCw5IEBAIHJlYWRfY2hhciAoaW50ICpjKQogCiAgICpjID0gRU9GOwogCi0gIHdo aWxlIChpbl9zdHJlYW0gIT0gbnVsbHB0cikJLyogRU9GLiAgKi8KKyAgd2hpbGUgKGluX3N0 cmVhbSAmJiAoKmMgPSBmZ2V0YyAoaW5fc3RyZWFtKSkgPCAwKQogICAgIHsKLSAgICAgICpj ID0gZmdldGMgKGluX3N0cmVhbSk7Ci0KLSAgICAgIGlmICgqYyAhPSBFT0YpCi0gICAgICAg IGJyZWFrOwotCiAgICAgICBvayAmPSBjaGVja19hbmRfY2xvc2UgKGVycm5vKTsKLQogICAg ICAgb2sgJj0gb3Blbl9uZXh0X2ZpbGUgKCk7CiAgICAgfQogCkBAIC0xNTY4LDcgKzE1NjIs NyBAQCBkdW1wX3N0cmluZ3MgKHZvaWQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot ICAgICAgaWYgKGMgPT0gLTEgfHwgaSAtICFjIDwgc3RyaW5nX21pbikKKyAgICAgIGlmIChj IDwgMCB8fCBpIC0gIWMgPCBzdHJpbmdfbWluKQogICAgICAgICBjb250aW51ZTsKIAogICAg ICAgYnVmW2ldID0gMDsKQEAgLTIwMDksNyArMjAwMyw3IEBAIG1haW4gKGludCBhcmdjLCBj aGFyICoqYXJndikKIAogY2xlYW51cDoKIAotICBpZiAoaGF2ZV9yZWFkX3N0ZGluICYmIGZj bG9zZSAoc3RkaW4pID09IEVPRikKKyAgaWYgKGhhdmVfcmVhZF9zdGRpbiAmJiBmY2xvc2Ug KHN0ZGluKSA8IDApCiAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sIF8oInN0YW5k YXJkIGlucHV0IikpOwogCiAgIHJldHVybiBvayA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJ TFVSRTsKLS0gCjIuNTAuMAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0017-od-speed-up-S.patch" Content-Disposition: attachment; filename="0017-od-speed-up-S.patch" Content-Transfer-Encoding: base64 RnJvbSA2NjdiZTI2OWVkYjIzYjg1NWMxNWJmMTNiZjAxMjM4ZGQyYmY0NzBiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDE1OjIxOjE4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxNy8xOV0gb2Q6IHNwZWVkIHVwIC1TCgoqIHNyYy9vZC5jIChyZWFkX2NoYXIpOiBVc2Ug Z2V0Yywgbm90IGZnZXRjLgotLS0KIHNyYy9vZC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL29kLmMg Yi9zcmMvb2QuYwppbmRleCA2ZDljNWQwNjkuLmIzYWY0YzcyZiAxMDA2NDQKLS0tIGEvc3Jj L29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTEzMTQsNyArMTMxNCw3IEBAIHJlYWRfY2hhciAo aW50ICpjKQogCiAgICpjID0gRU9GOwogCi0gIHdoaWxlIChpbl9zdHJlYW0gJiYgKCpjID0g ZmdldGMgKGluX3N0cmVhbSkpIDwgMCkKKyAgd2hpbGUgKGluX3N0cmVhbSAmJiAoKmMgPSBn ZXRjIChpbl9zdHJlYW0pKSA8IDApCiAgICAgewogICAgICAgb2sgJj0gY2hlY2tfYW5kX2Ns b3NlIChlcnJubyk7CiAgICAgICBvayAmPSBvcGVuX25leHRfZmlsZSAoKTsKLS0gCjIuNTAu MAoK --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0018-od-fix-integer-overflow-with-large-pseudos.patch" Content-Disposition: attachment; filename="0018-od-fix-integer-overflow-with-large-pseudos.patch" Content-Transfer-Encoding: base64 RnJvbSBkNWVhNWU4YWVkMzA0MzM3NDg5YTRkYmJhZjBmMDBkNDBiZDkyZmM2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDE3OjM2OjA0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxOC8xOV0gb2Q6IGZpeCBpbnRlZ2VyIG92ZXJmbG93IHdpdGggbGFyZ2UgcHNldWRvcwoK KiBzcmMvb2QuYyAoZm9ybWF0X2FkZHJlc3NfbGFiZWwpOiBEaWFnbm9zZSBvdmVyZmxvdy4K LS0tCiBzcmMvb2QuYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9vZC5jIGIvc3JjL29kLmMK aW5kZXggYjNhZjRjNzJmLi5jM2M3NmNjODYgMTAwNjQ0Ci0tLSBhL3NyYy9vZC5jCisrKyBi L3NyYy9vZC5jCkBAIC0xMjI3LDcgKzEyMjcsMTIgQEAgc3RhdGljIHZvaWQKIGZvcm1hdF9h ZGRyZXNzX2xhYmVsIChpbnRtYXhfdCBhZGRyZXNzLCBjaGFyIGMpCiB7CiAgIGZvcm1hdF9h ZGRyZXNzX3N0ZCAoYWRkcmVzcywgJyAnKTsKLSAgZm9ybWF0X2FkZHJlc3NfcGFyZW4gKGFk ZHJlc3MgKyBwc2V1ZG9fb2Zmc2V0LCBjKTsKKworICBpbnRtYXhfdCBhZGRyOworICBpZiAo Y2tkX2FkZCAoJmFkZHIsIGFkZHJlc3MsIHBzZXVkb19vZmZzZXQpKQorICAgIGVycm9yIChF WElUX0ZBSUxVUkUsIDAsIF8oInBzZXVkbyBhZGRyZXNzIHRvbyBsYXJnZSBmb3IgaW5wdXQi KSk7CisKKyAgZm9ybWF0X2FkZHJlc3NfcGFyZW4gKGFkZHIsIGMpOwogfQogCiAvKiBXcml0 ZSBOX0JZVEVTIGJ5dGVzIGZyb20gQ1VSUl9CTE9DSyB0byBzdGFuZGFyZCBvdXRwdXQgb25j ZSBmb3IgZWFjaAotLSAKMi41MC4wCgo= --------------w0h3O03NkNnwVhYzaVr04GxA Content-Type: text/x-patch; charset=UTF-8; name="0019-od-be-more-consistent-re-sizeof.patch" Content-Disposition: attachment; filename="0019-od-be-more-consistent-re-sizeof.patch" Content-Transfer-Encoding: base64 RnJvbSAyNTQ1NGZhMzRkYzZkMjcyMzlmOGFkMGIxZGRhNmUyMjcwZWVjZTYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDI4IEp1biAyMDI1IDIwOjU3OjAwIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxOS8xOV0gb2Q6IGJlIG1vcmUgY29uc2lzdGVudCByZSBzaXplb2YKTUlNRS1WZXJzaW9u OiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogc3JjL29kLmMgKHdpZHRoX2J5dGVzLCBkZWNv ZGVfb25lX2Zvcm1hdCk6IERvbuKAmXQgYXNzdW1lIGEgc2lnbmVkCnR5cGUgaGFzIHRoZSBz YW1lIHNpemUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgdW5zaWduZWQgdHlwZS4KVGhpcyBoYXMg bm8gZWZmZWN0IG9uIHByYWN0aWNhbCBwbGF0Zm9ybXM7IGl04oCZcyBqdXN0IGZvcgpjb25z aXN0ZW5jeSB0aGVyZS4KLS0tCiBzcmMvb2QuYyB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvb2QuYyBiL3NyYy9vZC5jCmluZGV4IGMzYzc2Y2M4Ni4uNTAzMTlhYTgz IDEwMDY0NAotLS0gYS9zcmMvb2QuYworKysgYi9zcmMvb2QuYwpAQCAtMTMxLDE1ICsxMzEs MTUgQEAgc3RydWN0IHRzcGVjCiBzdGF0aWMgY29uc3QgaW50IHdpZHRoX2J5dGVzW10gPQog ewogICAtMSwKLSAgc2l6ZW9mIChjaGFyKSwKKyAgc2l6ZW9mICh1bnNpZ25lZCBjaGFyKSwK ICNpZiBVQ0hBUl9NQVggPCBVU0hSVF9NQVgKLSAgc2l6ZW9mIChzaG9ydCBpbnQpLAorICBz aXplb2YgKHVuc2lnbmVkIHNob3J0IGludCksCiAjZW5kaWYKICNpZiBVU0hSVF9NQVggPCBV SU5UX01BWAotICBzaXplb2YgKGludCksCisgIHNpemVvZiAodW5zaWduZWQgaW50KSwKICNl bmRpZgogI2lmIFVJTlRfTUFYIDwgVUxPTkdfTUFYCi0gIHNpemVvZiAobG9uZyBpbnQpLAor ICBzaXplb2YgKHVuc2lnbmVkIGxvbmcgaW50KSwKICNlbmRpZgogI2lmIFVMT05HX01BWCA8 IFVMTE9OR19NQVgKICAgc2l6ZW9mICh1bnNpZ25lZCBsb25nIGxvbmcgaW50KSwKQEAgLTcx MiwyMiArNzEyLDIyIEBAIGRlY29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcs IGNoYXIgY29uc3QgKnMsIGNoYXIgY29uc3QgKipuZXh0LAogICAgICAgICB7CiAgICAgICAg IGNhc2UgJ0MnOgogICAgICAgICAgICsrczsKLSAgICAgICAgICBzaXplID0gc2l6ZW9mIChj aGFyKTsKKyAgICAgICAgICBzaXplID0gc2l6ZW9mICh1bnNpZ25lZCBjaGFyKTsKICAgICAg ICAgICBicmVhazsKIAogICAgICAgICBjYXNlICdTJzoKICAgICAgICAgICArK3M7Ci0gICAg ICAgICAgc2l6ZSA9IHNpemVvZiAoc2hvcnQgaW50KTsKKyAgICAgICAgICBzaXplID0gc2l6 ZW9mICh1bnNpZ25lZCBzaG9ydCBpbnQpOwogICAgICAgICAgIGJyZWFrOwogCiAgICAgICAg IGNhc2UgJ0knOgogICAgICAgICAgICsrczsKLSAgICAgICAgICBzaXplID0gc2l6ZW9mIChp bnQpOworICAgICAgICAgIHNpemUgPSBzaXplb2YgKHVuc2lnbmVkIGludCk7CiAgICAgICAg ICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAnTCc6CiAgICAgICAgICAgKytzOwotICAgICAg ICAgIHNpemUgPSBzaXplb2YgKGxvbmcgaW50KTsKKyAgICAgICAgICBzaXplID0gc2l6ZW9m ICh1bnNpZ25lZCBsb25nIGludCk7CiAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgZGVm YXVsdDoKQEAgLTc0MCw3ICs3NDAsNyBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25z dCAqc19vcmlnLCBjaGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICAgIGlmIChwID09 IHMpCi0gICAgICAgICAgICBzaXplID0gc2l6ZW9mIChpbnQpOworICAgICAgICAgICAgc2l6 ZSA9IHNpemVvZiAodW5zaWduZWQgaW50KTsKICAgICAgICAgICBlbHNlCiAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgIGlmIChBUlJBWV9DQVJESU5BTElUWSAoaW50ZWdyYWxfdHlw ZV9zaXplKSA8PSBzaXplCi0tIAoyLjUwLjAKCg== --------------w0h3O03NkNnwVhYzaVr04GxA-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Collin Funk Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 05:04:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr, =?UTF-8?Q?P=C3=A1draig?= Brady , Jim Meyering , Grisha Levit Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175117341722903 (code B ref 78880); Sun, 29 Jun 2025 05:04:03 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 05:03:37 +0000 Received: from localhost ([127.0.0.1]:53992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVkCW-0005xF-7N for submit@debbugs.gnu.org; Sun, 29 Jun 2025 01:03:37 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]:58751) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVkCT-0005vj-2k for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 01:03:34 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-74924255af4so1094877b3a.1 for <78880@debbugs.gnu.org>; Sat, 28 Jun 2025 22:03:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751173407; x=1751778207; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+4nUq4wTFqWkcAYfVWqZoYv6MXjnA+9UHtgSQK5DTx0=; b=MGEqvtXrNhX7nP6sas0xNql0dfPs5W3ir0RExtx725KJFAgdFwG4E6S+LJbLiEZTyU zG3bbBKS25rCrwJcOI60Rabg9p+v2oABWSSDMGpxuohfzH2zXsYA2YRtKU88/JRHhrp0 dFYzz6KgTkFuT0iuHuAN0o0nRQ00xzpkWF8lv2+nmUCn5sRf+bP2pXsigrUmjEIquxny VAQAfNfJUxMOUMTqLi1JQrX5Q9l3/tPi/O2zTT/xD5ZFDM3yctJ6o13e98+Y9781Wfce ft1lfNSfLcyhXRf251xQfrR/JPs9DgfI8S6pqQDYNp8YxfdcjlazzfZkuK4ie6OTeywL zL3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751173407; x=1751778207; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+4nUq4wTFqWkcAYfVWqZoYv6MXjnA+9UHtgSQK5DTx0=; b=oDU05KheGI3YVML126CqpJLqR+X1EQ9FXYH9AQJsdaKXtvSh2sfJWumBfmxmQOxBk1 Kov8WG2L3lNRi2aDnVYDruFAvPTrdX+PnXlKfKas4T9ulziI7jdeQVwVpeG4ZMrpmFua aU6kmtO4reHEzbHpF5a2eI7BasTTrHIeoAxj4MknwD8rdlYxInVZ79OilXcUp6t32bHW Xcn/URmewRCQV3IEuCAdhfXDrBkW39jfgBn4S8uxdCvNIngZ86dMTStnVvSriVzaP0Si PdUq3zRgA3pidbhQHi3zNRdlJKqCSKdA+MPmeRgUzOrt5hdxyYPnzpx5tmMn5J4RyAe5 virw== X-Forwarded-Encrypted: i=1; AJvYcCXInzQYtZQhzWRw6FMwQlx9X3IHDyaKjULN6hVpBh7yUzfIRWzxxCXZ9L/FttbbCoB6+cbb6w==@debbugs.gnu.org X-Gm-Message-State: AOJu0YyVGaxwIqonKeM0IP/a1vZEMNDXRRmYdsf0pjlxYKFwA518sw+y wIN1FwZb+5xBRzgzlUCgVx8MpQ/XgyX0mmStf67lldy8FXJBarf2qUYA X-Gm-Gg: ASbGncvaujySVSRMFB4UF81smOHOsey3sg9BQgeUtkRloo8As1GYvvi4Yfhe4EUEwzh p2hiaD4i3KDr1KEHuQPfKn0k7Fbo/IipbO5kAaLIYttn+9QlEFo8cOCNC2qCc6ALukbMmNIj4WD yENoT4vfHlf84KF5yfL84eOAqmllmHKNRx/fa0w5211LIo463hY+t5/PGyQ7gvoyTotWzOsj2QH xZjS1T/+fUydZ4bw9e3PSIwb1YSH9ETNBKaTYgyrs+xOdfIVIm8PIav3C066pMJ0Ryby6rcMQrF sMlirquCDAMUEGH8bdFl/giN/ShEdbDTctv7uUdxnyk= X-Google-Smtp-Source: AGHT+IHOuzmvxyhpLOtAaNn6h+Wr9H7Zfc3hHdpfTcD4HEDTuAE+poMT9QRibIWjb3vizSs7/ROlJA== X-Received: by 2002:a05:6a20:4327:b0:216:5f66:e382 with SMTP id adf61e73a8af0-220a16c3cb6mr16943426637.35.1751173406718; Sat, 28 Jun 2025 22:03:26 -0700 (PDT) Received: from fedora ([2601:646:8081:3770::5b17]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b34e31c28ebsm4998613a12.37.2025.06.28.22.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Jun 2025 22:03:26 -0700 (PDT) From: Collin Funk In-Reply-To: References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Date: Sat, 28 Jun 2025 22:03:25 -0700 Message-ID: <87zfdryw9u.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Paul, Paul Eggert writes: > * src/od.c (width_bytes, decode_one_format): Don=E2=80=99t assume a signed > type has the same size as the corresponding unsigned type. > This has no effect on practical platforms; it=E2=80=99s just for > consistency there. > --- > src/od.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/src/od.c b/src/od.c > index c3c76cc86..50319aa83 100644 > --- a/src/od.c > +++ b/src/od.c > @@ -131,15 +131,15 @@ struct tspec > static const int width_bytes[] =3D > { > -1, > - sizeof (char), > + sizeof (unsigned char), > #if UCHAR_MAX < USHRT_MAX > - sizeof (short int), > + sizeof (unsigned short int), I haven't looked at all the patches (started backwards). But regarding the commit message, the assumption is safe if we assume ISO C conformance. C99 states in =C2=A7 6.2.5: For each of the signed integer types, there is a corresponding (but different) unsigned integer type (designated with the keyword unsigned) that uses the same amount of storage (including sign information) and has the same alignment requirements. C23 has similar wording for the *_WIDTH macros that it added. For U?INT_WIDTH for example, from =C2=A7 5.2.5.3.2: The macro INT_WIDTH represents the width of the type int and shall expand to the same value as UINT_WIDTH. The patch is fine, and looks a bit cleaner when matching the U*_MAX in preprocessor directives. But figured I should let you know about those sections of the C standard if you did not know them already. Collin From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 12:18:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175119946628122 (code B ref 78880); Sun, 29 Jun 2025 12:18:03 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 12:17:46 +0000 Received: from localhost ([127.0.0.1]:55314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVqyf-0007JQ-KZ for submit@debbugs.gnu.org; Sun, 29 Jun 2025 08:17:45 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:57476) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVqyd-0007ID-BE for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 08:17:43 -0400 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-450cf0120cdso11508065e9.2 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 05:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751199457; x=1751804257; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=BeeKzW7BneXS8HhdBv8a/xbMti4HzJ2CdERRbXDdga4=; b=KpAq8tMSJ2gqE2LDXvWHNE5qdp0cFh/kD0bA4cQ2LGZNKL3kWnzM1/ZhfPw/EInvLH fGxGzMCpp8yzgXfn8i5Etrk2H3TsZionFUCm/jqRrp69P9HhRW6yc8xccnFydOXbHBcY 2R8t5TVL08KIkJSA7pylXciC1XibTC5JqcKhUPSBch/4W5bDV5dZ1UwZDmSEa62mZ8Oj 4A9DHWqnnN/8uUGFILZUn9W7ULuDcWYEAYx98eiJL+h3aVmuv6Oq4jj/J8KIoBRc453T kxLZtj6wlct9VlZbcKLQxalOdT25f+jjJFdovoQcm05NrbXfdN/Oeut9HjQYiEzZ4MVx tedA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751199457; x=1751804257; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=BeeKzW7BneXS8HhdBv8a/xbMti4HzJ2CdERRbXDdga4=; b=YhnQFW3MPOczekLB31ztXETgGf8KbHRJ8vrFDEnZXuPIWh6kdtPY7PeJnB/1tHXM76 kaTC0QibKm171NNIgQyqrGO+fDAeHQh/jcz2OYIMXFIZ678NPgXPlRoN895RQXrq6J7D jdDP6ty3i1wIQ0ZrxFgGc7cdt96/st3N04EcDEfut8nrcDpSUQG5ekAqI9ntCJ9OipyW +eRUjBUMBHNn3TuENY+pdpdqMMIy+E6xZA59jA8CQzJjgJZz3lrc/gQ7V1EEquMtFy9v 9dM25VTT6sVLzlFk4/rlvN20cTOIiJrLTB7tFWoWtSkhzbktcaCak4TqxMkRtKxUyvmO hM1A== X-Gm-Message-State: AOJu0YzwLzr/3cA1Y0nTE/rY54f0OucuRgs5J0EE495bkx5hz25YHKMV 6i8fqv/eRCVnAEwqDN/Otgwf0qJrLuX9365SVkcq+zfczq5XiyiTo5g0 X-Gm-Gg: ASbGncuyISn/TQOn7c1NOYavTbj2bXYgOZKqomInuBVakQlzExIg5apFCYXEoxc7+bs iv9ewx9D6iQ+XMBf7A0QTjpYH6lJYzXDSadup83n3ZSiA4j/wAvSYz1tnsT+8cOSPpN6A2mZJSP H0ZY96b71y0S1HBZokDTmepCTZnoRUqjUqwjsu+MPPNJL1voyYxCMbr2fkLX/LQ1yoqIFimTgo0 G8lcgQTuwFcy7/VdyGFK4BaYCD4byDY4APygWT8+QSr6bbR3pHcolpwqihc3Zqr8AzO5d9JmAao Fi5B1XKiB1cKEYy9Kj39+RPfjHunwXV+afa8oMI7Z/CgCbDfwiuEq46x+3SST7pBatxr9vTn1Cd KguFHAsT9fKxMXHfgTil+0yzFq1qm4/JNKRbIRd0hVg== X-Google-Smtp-Source: AGHT+IFInzYg/B/YEt/ekh04P92Sl61a5+5850LbFobynuRFYsWJrz1nap0sT4qqsc8gSDQl7edrxQ== X-Received: by 2002:a05:600c:a07:b0:442:f12f:bd9f with SMTP id 5b1f17b1804b1-4538ee8c552mr103683895e9.27.1751199456567; Sun, 29 Jun 2025 05:17:36 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a88c7facf9sm7555074f8f.22.2025.06.29.05.17.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 29 Jun 2025 05:17:35 -0700 (PDT) Message-ID: <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> Date: Sun, 29 Jun 2025 13:17:34 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 29/06/2025 05:25, Paul Eggert wrote: > od: omit some duplicate code > On x86-64 (for example) print_long, print_long_long, and > print_intmax all behave identically, so give GCC enough info so > that it generates code for just one of these functions. > * src/od.c (enum size_spec): Arrange for enum values to > be the same if they represent types that behave the same. > (width_bytes, ISPEC_TO_FORMAT, decode_one_format): > Match the enum size_spec changes. The patch above causes a warning on some systems: src/od.c: In function 'decode_one_format': src/od.c:900:28: error: duplicated 'if' condition [-Werror=duplicated-cond] 900 | else if (size_spec == FLOAT_HALF) | ~~~~~~~~~~^~~~~~~~~~~~~ src/od.c:895:28: note: previously used here 895 | else if (size_spec == FLOAT_SINGLE) | ~~~~~~~~~~^~~~~~~~~~~~~~~ If we want the compiler to just apply Dead Code Elimination here, then it may be best to push/pop ignoring that warning ? cheers, Padraig From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 16:22:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 78880@debbugs.gnu.org, jaehoon.jang@prosys.kaist.ac.kr, =?UTF-8?Q?P=C3=A1draig?= Brady , Grisha Levit Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175121412216027 (code B ref 78880); Sun, 29 Jun 2025 16:22:03 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 16:22:02 +0000 Received: from localhost ([127.0.0.1]:58395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVun2-0004AC-Sc for submit@debbugs.gnu.org; Sun, 29 Jun 2025 12:22:01 -0400 Received: from mail-pl1-f177.google.com ([209.85.214.177]:49218) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVun0-00048t-5j for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 12:21:59 -0400 Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-23633a6ac50so45302905ad.2 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 09:21:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751214112; x=1751818912; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WfgYlFeUk3M4vr6pOoRcZkGDIU9xYOo6glWRdi8wzFk=; b=QnTlG1TBJqhRXLwFIMeLdYFg8DTE97858eFxncf4MYG9fCkA+OsHTl+2iZ2gJ8Hebq W/lm2EbBrN6d/6Hd2VQAnzlrsp1nmsSLxB+nnxY9nNl4Q5WHGA88qOjMT+VUxaD5xjc4 MjGW0pIE4zU2wuW4iHGO3NrbMiP2mqVh1FJyDXurn8ToP0lHd6TF6cC/b7+kFACv5+y+ Sv2IYJAxOtvlP8ouaseWd462Udq5JMNRsBq1IFno1jDh2i1tMj7E8YGJ+xXp7zPKYqBz EgxVZt49BI2upTAYYR6kIZJZ02rCvhZD1Yo4vMSZTLepyfHKL+qsei2lGGSxpbPUk5Du e4Sg== X-Gm-Message-State: AOJu0Yx6kk7WOym6jNxth4pPRQlzRd2sgyPaj+36kmC+y0MoYyj65oI1 cM8G/gyPUdC0jSZnQLrikwO1zHRYSeZNWnw/mkfwvLzQLY9u4jyzRZq9SO28s7jScW6EX33daQK sXMfuvYeaCNkvLZ8SoHYmKn4d7KDw+NA= X-Gm-Gg: ASbGncvwWsgEMXjE0F763v0/MVv+7i8JdB60CMcaKyCmr5uTTX0sa4LLUKVUScuog3T caZpDVGueE82BTREAcwwO13qH2UcDm3pLt0ZX4Jgei5zWIxTBTDxQI1OCmQtSc+wgPsp6xWMLus 9eJUsuLV0HmMhRiqsba5M4bB8KPv3NO5nzHsNyW3s2LoEMtXX9he78oabYH0NCaN4B1ZCRlcGgl siPNXpAYQ== X-Google-Smtp-Source: AGHT+IHMn9e8MxLMu6NErKXOAwZX1hGm/K75LEgAqDY50nnAhhM8AqLHS4rWzKNfSklgaOIj5MctJ8GYIEHEADvA6p4= X-Received: by 2002:a17:902:eccd:b0:234:e8db:432d with SMTP id d9443c01a7336-23ac4653f35mr152854265ad.39.1751214111569; Sun, 29 Jun 2025 09:21:51 -0700 (PDT) MIME-Version: 1.0 References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> In-Reply-To: From: Jim Meyering Date: Sun, 29 Jun 2025 09:21:39 -0700 X-Gm-Features: Ac12FXzUMAs2JH6gElz38Y5ltfIJu_65veIyjN-I6p7f0KHKBpj7Mdqf_XDxYVs Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sat, Jun 28, 2025 at 9:25=E2=80=AFPM Paul Eggert wr= ote: > On 2025-06-24 18:31, Jim Meyering wrote: > > That goes way back. I think od.c > > was the second stand-alone program I contributed to coreutils (first > > was tr). The earliest email I still have that mentions it is from > > 1997-01 prior to textutils-1.22, but that was just a ChangeLog entry > > about adapting to a changed strtod API. > > I have a soft spot for 'od' as I remember using it in Unix in the 1970s. > So I looked for nearby bugs and found a few, mostly integer overflows. I > installed the attached patches to refactor the source and to fix the > bugs I found. > > You might be amused by patch 0007, which fixes a POSIX conformance bug > introduced in January 1995, in what is now Git commit > 851162a0da41f2b6b08a8c1ed045086db9a443a0. Evidently this POSIX-required > feature is not often used! The NEWS item in the fix says "[bug > introduced on 1995-01-25]" instead of the usual "[bug introduced in > coreutils-N]" comment because I don't know how to relate that commit to > a version number (would it be textutils? probably doesn't matter). > > You might also be amused (or appalled) by patch 0007's hacky fix. I > couldn't bestir myself to write a cleaner fix. The hacky fix doesn't > require memory allocation so in some sense it's better than a cleaner > one would be. Hi Paul, Wow. Thanks for all of those fixes (haven't looked at all of them yet). As for how to determine which release has the fix from your 0007 patch, that commit was after textutils-1.8b, and the following release was textutils-2.0: $ git desc 851162a0da41f2b6b08a8c1ed045086db9a443a0 TEXTUTILS-1_8b-499-g851162a0d $ git tag |grep -A1 1.8b TEXTUTILS-1_8b TEXTUTILS-2_0 I'm not appalled :-) It feels like accommodating the old format sort of justifies the hackiness. From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Jim Meyering Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 16:31:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 78880@debbugs.gnu.org, Paul Eggert Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175121463621365 (code B ref 78880); Sun, 29 Jun 2025 16:31:04 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 16:30:36 +0000 Received: from localhost ([127.0.0.1]:58465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVuvM-0005YU-5X for submit@debbugs.gnu.org; Sun, 29 Jun 2025 12:30:36 -0400 Received: from mail-pj1-f50.google.com ([209.85.216.50]:59862) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVuvJ-0005Vd-TA for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 12:30:34 -0400 Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-311da0bef4aso1281667a91.3 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 09:30:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751214628; x=1751819428; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/icPGcGkT+Ba0P+Y88Cu9U7tZuaHQqaxe1eqZFcvivc=; b=SlvDILBqdpDDmN//+bs6i8pB7nIToxizUrKIkuCgawX1WMjzBx2TEqFMrBj8z3xMCB +xw8k+KSSvwUbygK8A0gMY/k4uifnFTJu53VaSw6T7+91wDxAVH2LGYb7FRjrqI7AcCF 13ZPuRgp6TPnNK0ur0jk8jvlc1Ebl/G+6lFILrcEyFvqN/3oVE6cbUuTRBkmfkzZKqAy QtnHloQMYYoaPd/hQh+fWsBDfahgrkEtpWTZ1ZQBRUKielMALjqDt8jt38j7BCcuf9fx zraXcxqbYTFeLxD7eBqDw79CT/ck7vcE42WDpv+DWuhIKF/bXcAnyAaV+Z1e0JHzAqim 2blQ== X-Forwarded-Encrypted: i=1; AJvYcCV26RCxBNQqvWwLru1M4z3ey4MOG8/ZMRiU23s8O3mMc2qChpaURTBSPKShs7A5dPi5J8eppg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxmlQtI6dA5dSAY0P6ekQ3nQ6M0dE+tIDOfTswisnI8TvsHYCT3 saRaWWuM8CbGIUbgnkaDM5p+6UcgAcWUvuJ8cXWYOIKJ56T0yX5Y65DqJnXwXjy7nQOTRW6U0Ke VLJI5iFSyRfAhw/zS5pWyDFJb7Fqw3+983g== X-Gm-Gg: ASbGncuh2Z3Wk91Nq4LY4anlNlvQsPfwpoJHox41Ny6YOu0LeeObsbCyUrC0wyIC/8t ITIvHO3IOgvxW6hbla//IDsGc8QGVYqjHnkoYbz82u+AHuM+1x11PQazLzUB5y5cwC3/jwzLjYf yrx5nD1+OukuLbRZHQI3vSxLIwFtHCecZoMVYM9a2HpB1dN/t+BU4IT0rMTNX09NLtkvM/clc= X-Google-Smtp-Source: AGHT+IHFkH20NVgM7zHki+Q1zZUYV7rIsySF+oD1Z4Cf8LygceKX2hCcrnIILqp11PSvkJd9TdeaE4EBu0StgdRiJUI= X-Received: by 2002:a17:90b:37c4:b0:313:5d2f:5505 with SMTP id 98e67ed59e1d1-318c92a2e6dmr16085956a91.16.1751214627838; Sun, 29 Jun 2025 09:30:27 -0700 (PDT) MIME-Version: 1.0 References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> In-Reply-To: <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> From: Jim Meyering Date: Sun, 29 Jun 2025 09:30:14 -0700 X-Gm-Features: Ac12FXxoKb3o2EOk3zWBBC_boufdIqSpjhiAG7wa8RlnYUHALFTlNu6xKp7gKvc Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Sun, Jun 29, 2025 at 5:18=E2=80=AFAM P=C3=A1draig Brady wrote: > On 29/06/2025 05:25, Paul Eggert wrote: > > > od: omit some duplicate code > > On x86-64 (for example) print_long, print_long_long, and > > print_intmax all behave identically, so give GCC enough info so > > that it generates code for just one of these functions. > > * src/od.c (enum size_spec): Arrange for enum values to > > be the same if they represent types that behave the same. > > (width_bytes, ISPEC_TO_FORMAT, decode_one_format): > > Match the enum size_spec changes. > > The patch above causes a warning on some systems: > > src/od.c: In function 'decode_one_format': > src/od.c:900:28: error: duplicated 'if' condition [-Werror=3Dduplicate= d-cond] > 900 | else if (size_spec =3D=3D FLOAT_HALF) > | ~~~~~~~~~~^~~~~~~~~~~~~ > src/od.c:895:28: note: previously used here > 895 | else if (size_spec =3D=3D FLOAT_SINGLE) > | ~~~~~~~~~~^~~~~~~~~~~~~~~ > > If we want the compiler to just apply Dead Code Elimination here, > then it may be best to push/pop ignoring that warning ? Thanks. I agree. From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Sun, 29 Jun 2025 20:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175122716914773 (code B ref 78880); Sun, 29 Jun 2025 20:00:03 +0000 Received: (at 78880) by debbugs.gnu.org; 29 Jun 2025 19:59:29 +0000 Received: from localhost ([127.0.0.1]:59625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uVyBU-0003qA-HM for submit@debbugs.gnu.org; Sun, 29 Jun 2025 15:59:29 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:46428) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uVyBQ-0003oe-58 for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 15:59:26 -0400 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3a50956e5d3so3243966f8f.1 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 12:59:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751227157; x=1751831957; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:sender :from:to:cc:subject:date:message-id:reply-to; bh=ic+V7c/4ncrCeXjGyLHKao0Q/U3XzuaixjR5Eft5AJ4=; b=UGfgfLidbE21Oc8WTLN504jgQKPcNQEUdXRHtxwxBiXwRGANUArRhs2BsHRMkGi4XB LSdL9/uJG2neRnLRiNjn2oQOniAaRgBish75FNHzHb1BkkSgJxjf5kSq7ZD04Olnu/TR dJT3KsiJZscHrXhpw+9Nz/Io+sYxGkKOIiKTz6iWVdojpPhieULtD7wQjShiO8MpiW4g x/dP/QyOIu0cgEcnRaqscbC43YdVdE3a6IzspNGCGBsxcjWfZpV2HbJbz9S1Hb9tAbVN 3M6RjDOz26IBUWGgEhrgXZ/YaQqcnQqzyK+wacvE54skMlP+ZlEvZV+Yka4/FaXY0KZ1 wEuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751227157; x=1751831957; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ic+V7c/4ncrCeXjGyLHKao0Q/U3XzuaixjR5Eft5AJ4=; b=W7HojPFrTTkkietlwlbIRQRy0SldmSppd+cNcZRNq1F6/joXEbDxqwFBUZ/Rs7WuTS MX1lMiANBvlU3FkUXJW4DQeeiAJu0pC8NpeN00UrHeOY9WoQEDMBl3do/MBPrqivFyeF 7Z6U1e8CezZBFvUQKJri+1GYLKP3p/xYglhWs+hUYjpPucGUDPhPxvzxQ3E8A3SAxAqr M3LNsQ6ppXbeQvlWLBB4ySH2I3nV0SaBgyxUL+5PTToysqsS96oKXMWGoZMfKTY4u/tm bkXr3/y+1EXkwTdRYvy78dmVVtFjQknihG6w9S/TBtuKFSnd1NU9lUcw4zZpMBYC1oHv wCPw== X-Gm-Message-State: AOJu0YwbbL35A1q6GlogoTGuurvCRwNNhfqKTqL+tCApPbQgmwfX/Ibw ePYdk7i3Su0AAGvytUIVW5m+kiJ7nXt2cIg1iSGKRqZG/yGaS1QPb6Me X-Gm-Gg: ASbGncugUw0/HgyskZ7RjiFrodH8cH7FKmMMJ7RoGCJPFO8bqvfHWsjnuixec6N4o4R PhUqlTSFMnOboyNDyLthm08y0p8zwDMynGyKnAMmUgBk5/0P7BTJthfFI2NdcfDb8YxX6hxUEE6 b9d2OS7r7NZig0qUKLsAXahPufjROSOMYpaLl6S/bFyFkjkL7vg/XgDkrQXbU/TmqIRGzWPyzsq slM9xiai8A3DMMtq/blqFDS5ophZwQD+e1hoJBHJyZp1mc8UHkRDGeAykXPE7n7ub1K+i+G+Fi4 yYRAovs9+rHWmmS48QhJQEB3Zv5a4tEiWSA7pwvUTXKH51/1kWWCJ7ROYtf3uQAEeqx0Y0rQAP1 o1n0WiaaKH/uGk2x0TAdzyR4U+NgpMmce+N/7a3msKw== X-Google-Smtp-Source: AGHT+IEFuqLxZyjYvjxAQAzABMfz5o4cbhom4asUOKth/2FfCvrgRlsAsjzVSYxdDdLCaBR/tPib2g== X-Received: by 2002:adf:ba4b:0:b0:3a5:39d5:d962 with SMTP id ffacd0b85a97d-3a917bc78demr6098405f8f.41.1751227157315; Sun, 29 Jun 2025 12:59:17 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a892e52cbasm8597292f8f.62.2025.06.29.12.59.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 29 Jun 2025 12:59:16 -0700 (PDT) Message-ID: <9fb960aa-adb0-46e0-a658-bea1948228d9@draigBrady.com> Date: Sun, 29 Jun 2025 20:59:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta From: =?UTF-8?Q?P=C3=A1draig?= Brady References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> Content-Language: en-US In-Reply-To: <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 29/06/2025 13:17, Pádraig Brady wrote: > On 29/06/2025 05:25, Paul Eggert wrote: > > > od: omit some duplicate code > > On x86-64 (for example) print_long, print_long_long, and > > print_intmax all behave identically, so give GCC enough info so > > that it generates code for just one of these functions. > > * src/od.c (enum size_spec): Arrange for enum values to > > be the same if they represent types that behave the same. > > (width_bytes, ISPEC_TO_FORMAT, decode_one_format): > > Match the enum size_spec changes. > > The patch above causes a warning on some systems: > > src/od.c: In function 'decode_one_format': > src/od.c:900:28: error: duplicated 'if' condition [-Werror=duplicated-cond] > 900 | else if (size_spec == FLOAT_HALF) > | ~~~~~~~~~~^~~~~~~~~~~~~ > src/od.c:895:28: note: previously used here > 895 | else if (size_spec == FLOAT_SINGLE) > | ~~~~~~~~~~^~~~~~~~~~~~~~~ > > If we want the compiler to just apply Dead Code Elimination here, > then it may be best to push/pop ignoring that warning ? FYI, related to this I see our coverity instance is complaining about deadcode in the following block, which might be suppressed with this change: diff --git a/src/od.c b/src/od.cindex 50319aa83..c621ef227 100644 --- a/src/od.c +++ b/src/od.c @@ -802,12 +802,17 @@ decode_one_format (char const *s_orig, char const *s, char const **next, and prefer INTMAX to LONG_LONG. */ print_function = (size_spec == INT ? print_int + /* coverity[DEADCODE] */ : size_spec == SHORT ? (fmt == SIGNED_DECIMAL ? print_s_short : print_short) + /* coverity[DEADCODE] */ : size_spec == CHAR ? (fmt == SIGNED_DECIMAL ? print_s_char : print_char) + /* coverity[DEADCODE] */ : size_spec == LONG ? print_long + /* coverity[DEADCODE] */ : size_spec == INTMAX ? print_intmax + /* coverity[DEADCODE] */ : size_spec == LONG_LONG ? print_long_long : (affirm (false), nullptr)); break; That's a bit messy to me though (the existing comment should suffice for humans to know the deadcode is intentional). So I've manually suppressed that error instance in our coverity instance. cheers, Padraig From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 30 Jun 2025 00:23:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175124292525084 (code B ref 78880); Mon, 30 Jun 2025 00:23:03 +0000 Received: (at 78880) by debbugs.gnu.org; 30 Jun 2025 00:22:05 +0000 Received: from localhost ([127.0.0.1]:33103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uW2Hd-0006WW-3U for submit@debbugs.gnu.org; Sun, 29 Jun 2025 20:22:05 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:45806) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uW2HZ-0006Vi-RL for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 20:22:03 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 4B09B3C010858; Sun, 29 Jun 2025 17:21:55 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id K5XBjpSI-HBV; Sun, 29 Jun 2025 17:21:55 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 237783C01085D; Sun, 29 Jun 2025 17:21:55 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 237783C01085D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1751242915; bh=U4xeZdXT7uwAVY2YVZMsYdkqGwcAx2KyJdtQ4CQJbjo=; h=Message-ID:Date:MIME-Version:To:From; b=ouUzTNgEt8wDMpHQyugXQnhtCr12juu3JEU2FjsE19Yf7CJp9j6GwKx7/4NTdNjaq qo0Wv4n8x1y247tWDVnxsA1GHoZweEE2PKwSdzGGAh+0d816bMqfgXaWLW2Sm16Gbg 3H5pGacivz30MTXTkGQCak9eRPcRw1SDzMLiiCcO68GuBwfsjQxZ3mQg26YyIZJhNK BaZ6iXpWpvb0KPIdg6LtDuuHtqiKtgxXfds425F6VALgv+iyqWg8FQGrRf43PEYza0 pTd7kACcJWzG/nt9hIq3rqWKs3W2ZX8GOl4vq8wNU1WpG8K7zHRT8tcCNapQjRDvAN uhmyuXNzmwuvA== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id rlPcpgtOUMH5; Sun, 29 Jun 2025 17:21:55 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 06EA23C010858; Sun, 29 Jun 2025 17:21:55 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------TbEbpxFW5abPzmNTLzCtyZBP" Message-ID: <46b72f3e-24a6-4bbd-80b1-d106a2e002fa@cs.ucla.edu> Date: Sun, 29 Jun 2025 17:21:53 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------TbEbpxFW5abPzmNTLzCtyZBP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 2025-06-29 05:17, P=C3=A1draig Brady wrote: > If we want the compiler to just apply Dead Code Elimination here, > then it may be best to push/pop ignoring that warning ? Or, since GCC didn't complain about similar code elsewhere, we can=20 change the complained-about code to look more like the code elsewhere.=20 This is more likely to pacify any non-GCC compilers that are also flummox= ed. There's a similar situation with the floating point formats, which I=20 assume you didn't run into because they're all distinct on your platform. I installed the attached patch which I hope pacifies GCC on your=20 platform. I didn't observe the problem with gcc (GCC) 15.1.1 20250521=20 (Red Hat 15.1.1-2) on x86-64 so I can't easily test the patch myself. --------------TbEbpxFW5abPzmNTLzCtyZBP Content-Type: text/x-patch; charset=UTF-8; name="0001-od-pacify-gcc-Wduplicated-cond.patch" Content-Disposition: attachment; filename="0001-od-pacify-gcc-Wduplicated-cond.patch" Content-Transfer-Encoding: base64 RnJvbSBkY2RiMjU1MGM0YTY0ODAzOTRmYTNiNjMwM2E4MWM3Zjk0NDYxODY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDI5IEp1biAyMDI1IDE3OjEyOjA3IC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gb2Q6IHBhY2lmeSBnY2MgLVdkdXBsaWNhdGVkLWNvbmQKTUlNRS1WZXJzaW9uOiAxLjAK Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKClByb2JsZW0gcmVwb3J0ZWQgYnkgUMOhZHJhaWcgQnJhZHkg PGh0dHBzOi8vYnVncy5nbnUub3JnLzc4ODgwIzQzPi4KVGhpcyBwYXRjaCBkb2VzbuKAmXQg Zml4IGFueSBidWdzOyBpdCBtZXJlbHkgcGFjaWZpZXMgR0NDLgoqIHNyYy9vZC5jIChpc3Bl Y190b19mb3JtYXQpOiBOZXcgZnVuY3Rpb24sIHJlcGxhY2luZwp0aGUgb2xkIElTUEVDX1RP X0ZPUk1BVCBtYWNyby4gIEFsbCB1c2VzIGNoYW5nZWQuClRoaXMgcGFydCBvZiB0aGUgY2hh bmdlIGlzIGp1c3QgcmVmYWN0b3JpbmcuCihkZWNvZGVfb25lX2Zvcm1hdCk6IFBhY2lmeSDD oCBsYSBpc3BlY190b19mb3JtYXQuCi0tLQogc3JjL29kLmMgfCA1NiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyYy9vZC5jIGIvc3JjL29kLmMKaW5kZXggNTAzMTlhYTgzLi4zMzgxZWU0ODQgMTAwNjQ0 Ci0tLSBhL3NyYy9vZC5jCisrKyBiL3NyYy9vZC5jCkBAIC02NjgsNiArNjY4LDIxIEBAIHNp bXBsZV9zdHJ0b2kgKGNoYXIgY29uc3QgKnMsIGNoYXIgY29uc3QgKipwLCBpbnQgKnZhbCkK ICAgcmV0dXJuIHRydWU7CiB9CiAKKy8qIFJldHVybiBhIHByaW50ZiBmb3JtYXQgZm9yIFNQ RUMsIGdpdmVuIHRoYXQgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUKKyAgIGZvcm1hdHMgZm9y IGludCwgbG9uZywgbG9uZyBsb25nLCBhbmQgaW50bWF4X3QsIHJlc3BlY3RpdmVseS4gICov CitzdGF0aWMgY2hhciBjb25zdCAqCitpc3BlY190b19mb3JtYXQgKGVudW0gc2l6ZV9zcGVj IHNpemVfc3BlYywKKyAgICAgICAgICAgICAgICAgY2hhciBjb25zdCAqaW50X2Zvcm1hdCwK KyAgICAgICAgICAgICAgICAgY2hhciBjb25zdCAqbG9uZ19mb3JtYXQsCisgICAgICAgICAg ICAgICAgIGNoYXIgY29uc3QgKmxvbmdfbG9uZ19mb3JtYXQsCisgICAgICAgICAgICAgICAg IGNoYXIgY29uc3QgKmludG1heF9mb3JtYXQpCit7CisgIHJldHVybiAoTE9ORyA8IElOVE1B WCAmJiBzaXplX3NwZWMgPT0gSU5UTUFYID8gaW50bWF4X2Zvcm1hdAorICAgICAgICAgIDog TE9ORyA8IExPTkdfTE9ORyAmJiBzaXplX3NwZWMgPT0gTE9OR19MT05HID8gbG9uZ19sb25n X2Zvcm1hdAorICAgICAgICAgIDogSU5UIDwgTE9ORyAmJiBzaXplX3NwZWMgPT0gTE9ORyA/ IGxvbmdfZm9ybWF0CisgICAgICAgICAgOiBpbnRfZm9ybWF0KTsKK30KKwogLyogSWYgUyBw b2ludHMgdG8gYSBzaW5nbGUgdmFsaWQgbW9kZXJuIG9kIGZvcm1hdCBzdHJpbmcsIHB1dAog ICAgYSBkZXNjcmlwdGlvbiBvZiB0aGF0IGZvcm1hdCBpbiAqVFNQRUMsIG1ha2UgKk5FWFQg cG9pbnQgYXQgdGhlCiAgICBjaGFyYWN0ZXIgZm9sbG93aW5nIHRoZSBqdXN0LWRlY29kZWQg Zm9ybWF0IChpZiAqTkVYVCBpcyBub24tbnVsbCksCkBAIC03NTYsMTIgKzc3MSw2IEBAIGRl Y29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcsIGNoYXIgY29uc3QgKnMsIGNo YXIgY29uc3QgKipuZXh0LAogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSNkZWZp bmUgSVNQRUNfVE9fRk9STUFUKFNwZWMsIE1pbl9mbXQsIExvbmdfZm10LCBMb25nX2xvbmdf Zm10LCBNYXhfZm10KSBcCi0gIChMT05HIDwgSU5UTUFYICYmIChTcGVjKSA9PSBJTlRNQVgg PyAoTWF4X2ZtdCkJCQlcCi0gICA6IExPTkcgPCBMT05HX0xPTkcgJiYgKFNwZWMpID09IExP TkdfTE9ORyA/IChMb25nX2xvbmdfZm10KQkJXAotICAgOiBJTlQgPCBMT05HICYmIChTcGVj KSA9PSBMT05HID8gKExvbmdfZm10KQkJCQlcCi0gICA6IChNaW5fZm10KSkKLQogICAgICAg c2l6ZV9zcGVjID0gaW50ZWdyYWxfdHlwZV9zaXplW3NpemVdOwogCiAgICAgICBzd2l0Y2gg KGMpCkBAIC03NzAsMjggKzc3OSwyOCBAQCBkZWNvZGVfb25lX2Zvcm1hdCAoY2hhciBjb25z dCAqc19vcmlnLCBjaGFyIGNvbnN0ICpzLCBjaGFyIGNvbnN0ICoqbmV4dCwKICAgICAgICAg ICBmbXQgPSBTSUdORURfREVDSU1BTDsKICAgICAgICAgICBmaWVsZF93aWR0aCA9IElOVF9C SVRTX1NUUkxFTl9CT1VORCAoQ0hBUl9CSVQgKiBzaXplIC0gMSkgKyAxOwogICAgICAgICAg IHNwcmludGYgKHRzcGVjLT5mbXRfc3RyaW5nLCAiJSUqJXMiLAotICAgICAgICAgICAgICAg ICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6ZV9zcGVjLCAiZCIsICJsZCIsICJsbGQiLCAiamQi KSk7CisgICAgICAgICAgICAgICAgICAgaXNwZWNfdG9fZm9ybWF0IChzaXplX3NwZWMsICJk IiwgImxkIiwgImxsZCIsICJqZCIpKTsKICAgICAgICAgICBicmVhazsKIAogICAgICAgICBj YXNlICdvJzoKICAgICAgICAgICBmbXQgPSBPQ1RBTDsKICAgICAgICAgICBmaWVsZF93aWR0 aCA9IChDSEFSX0JJVCAqIHNpemUgKyAyKSAvIDM7CiAgICAgICAgICAgc3ByaW50ZiAodHNw ZWMtPmZtdF9zdHJpbmcsICIlJSouJWQlcyIsIGZpZWxkX3dpZHRoLAotICAgICAgICAgICAg ICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6ZV9zcGVjLCAibyIsICJsbyIsICJsbG8iLCAi am8iKSk7CisgICAgICAgICAgICAgICAgICAgaXNwZWNfdG9fZm9ybWF0IChzaXplX3NwZWMs ICJvIiwgImxvIiwgImxsbyIsICJqbyIpKTsKICAgICAgICAgICBicmVhazsKIAogICAgICAg ICBjYXNlICd1JzoKICAgICAgICAgICBmbXQgPSBVTlNJR05FRF9ERUNJTUFMOwogICAgICAg ICAgIGZpZWxkX3dpZHRoID0gSU5UX0JJVFNfU1RSTEVOX0JPVU5EIChDSEFSX0JJVCAqIHNp emUpOwogICAgICAgICAgIHNwcmludGYgKHRzcGVjLT5mbXRfc3RyaW5nLCAiJSUqJXMiLAot ICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6ZV9zcGVjLCAidSIsICJs dSIsICJsbHUiLCAianUiKSk7CisgICAgICAgICAgICAgICAgICAgaXNwZWNfdG9fZm9ybWF0 IChzaXplX3NwZWMsICJ1IiwgImx1IiwgImxsdSIsICJqdSIpKTsKICAgICAgICAgICBicmVh azsKIAogICAgICAgICBjYXNlICd4JzoKICAgICAgICAgICBmbXQgPSBIRVhBREVDSU1BTDsK ICAgICAgICAgICBmaWVsZF93aWR0aCA9IChDSEFSX0JJVCAqIHNpemUgKyAzKSAvIDQ7CiAg ICAgICAgICAgc3ByaW50ZiAodHNwZWMtPmZtdF9zdHJpbmcsICIlJSouJWQlcyIsIGZpZWxk X3dpZHRoLAotICAgICAgICAgICAgICAgICAgIElTUEVDX1RPX0ZPUk1BVCAoc2l6ZV9zcGVj LCAieCIsICJseCIsICJsbHgiLCAiangiKSk7CisgICAgICAgICAgICAgICAgICAgaXNwZWNf dG9fZm9ybWF0IChzaXplX3NwZWMsICJ4IiwgImx4IiwgImxseCIsICJqeCIpKTsKICAgICAg ICAgICBicmVhazsKIAogICAgICAgICBkZWZhdWx0OgpAQCAtODAxLDE0ICs4MTAsMTggQEAg ZGVjb2RlX29uZV9mb3JtYXQgKGNoYXIgY29uc3QgKnNfb3JpZywgY2hhciBjb25zdCAqcywg Y2hhciBjb25zdCAqKm5leHQsCiAgICAgICAvKiBQcmVmZXIgSU5ULCBwcmVmZXIgTE9ORyB0 byBsb25nZXIgdHlwZXMsCiAgICAgICAgICBhbmQgcHJlZmVyIElOVE1BWCB0byBMT05HX0xP TkcuICAqLwogICAgICAgcHJpbnRfZnVuY3Rpb24KLSAgICAgICAgPSAoc2l6ZV9zcGVjID09 IElOVCA/IHByaW50X2ludAotICAgICAgICAgICA6IHNpemVfc3BlYyA9PSBTSE9SVCA/IChm bXQgPT0gU0lHTkVEX0RFQ0lNQUwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPyBwcmludF9zX3Nob3J0IDogcHJpbnRfc2hvcnQpCi0gICAgICAgICAgIDogc2l6ZV9z cGVjID09IENIQVIgPyAoZm10ID09IFNJR05FRF9ERUNJTUFMCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPyBwcmludF9zX2NoYXIgOiBwcmludF9jaGFyKQotICAgICAg ICAgICA6IHNpemVfc3BlYyA9PSBMT05HID8gcHJpbnRfbG9uZwotICAgICAgICAgICA6IHNp emVfc3BlYyA9PSBJTlRNQVggPyBwcmludF9pbnRtYXgKLSAgICAgICAgICAgOiBzaXplX3Nw ZWMgPT0gTE9OR19MT05HID8gcHJpbnRfbG9uZ19sb25nCisgICAgICAgID0gKHNpemVfc3Bl YyA9PSBJTlQKKyAgICAgICAgICAgPyBwcmludF9pbnQKKyAgICAgICAgICAgOiBTSE9SVCA8 IElOVCAmJiBzaXplX3NwZWMgPT0gU0hPUlQKKyAgICAgICAgICAgPyAoZm10ID09IFNJR05F RF9ERUNJTUFMID8gcHJpbnRfc19zaG9ydCA6IHByaW50X3Nob3J0KQorICAgICAgICAgICA6 IENIQVIgPCBTSE9SVCAmJiBzaXplX3NwZWMgPT0gQ0hBUgorICAgICAgICAgICA/IChmbXQg PT0gU0lHTkVEX0RFQ0lNQUwgPyBwcmludF9zX2NoYXIgOiBwcmludF9jaGFyKQorICAgICAg ICAgICA6IElOVCA8IExPTkcgJiYgc2l6ZV9zcGVjID09IExPTkcKKyAgICAgICAgICAgPyBw cmludF9sb25nCisgICAgICAgICAgIDogTE9ORyA8IElOVE1BWCAmJiBzaXplX3NwZWMgPT0g SU5UTUFYCisgICAgICAgICAgID8gcHJpbnRfaW50bWF4CisgICAgICAgICAgIDogTE9ORyA8 IExPTkdfTE9ORyAmJiBMT05HX0xPTkcgPCBJTlRNQVggJiYgc2l6ZV9zcGVjID09IExPTkdf TE9ORworICAgICAgICAgICA/IHByaW50X2xvbmdfbG9uZwogICAgICAgICAgICA6IChhZmZp cm0gKGZhbHNlKSwgbnVsbHB0cikpOwogICAgICAgYnJlYWs7CiAKQEAgLTg5MiwxOCArOTA1 LDE5IEBAIGRlY29kZV9vbmVfZm9ybWF0IChjaGFyIGNvbnN0ICpzX29yaWcsIGNoYXIgY29u c3QgKnMsIGNoYXIgY29uc3QgKipuZXh0LAogICAgICAgICAgICAgcHJpbnRfZnVuY3Rpb24g PSBwcmludF9kb3VibGU7CiAgICAgICAgICAgICBmaWVsZF93aWR0aCA9IERCTF9TVFJMRU5f Qk9VTkRfTCAoZGVjaW1hbF9wb2ludF9sZW4pOwogICAgICAgICAgIH0KLSAgICAgICAgZWxz ZSBpZiAoc2l6ZV9zcGVjID09IEZMT0FUX1NJTkdMRSkKKyAgICAgICAgZWxzZSBpZiAoRkxP QVRfU0lOR0xFIDwgRkxPQVRfRE9VQkxFICYmIHNpemVfc3BlYyA9PSBGTE9BVF9TSU5HTEUp CiAgICAgICAgICAgewogICAgICAgICAgICAgcHJpbnRfZnVuY3Rpb24gPSBwcmludF9mbG9h dDsKICAgICAgICAgICAgIGZpZWxkX3dpZHRoID0gRkxUX1NUUkxFTl9CT1VORF9MIChkZWNp bWFsX3BvaW50X2xlbik7CiAgICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChzaXplX3Nw ZWMgPT0gRkxPQVRfSEFMRikKKyAgICAgICAgZWxzZSBpZiAoRkxPQVRfSEFMRiA8IEZMT0FU X1NJTkdMRSAmJiBzaXplX3NwZWMgPT0gRkxPQVRfSEFMRikKICAgICAgICAgICB7CiAgICAg ICAgICAgICBwcmludF9mdW5jdGlvbiA9IGZtdCA9PSBCRkxPQVRJTkdfUE9JTlQKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPyBwcmludF9iZmxvYXQgOiBwcmludF9oYWxmZmxv YXQ7CiAgICAgICAgICAgICBmaWVsZF93aWR0aCA9IEZMVF9TVFJMRU5fQk9VTkRfTCAoZGVj aW1hbF9wb2ludF9sZW4pOwogICAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoc2l6ZV9z cGVjID09IEZMT0FUX0xPTkdfRE9VQkxFKQorICAgICAgICBlbHNlIGlmIChGTE9BVF9ET1VC TEUgPCBGTE9BVF9MT05HX0RPVUJMRQorICAgICAgICAgICAgICAgICAmJiBzaXplX3NwZWMg PT0gRkxPQVRfTE9OR19ET1VCTEUpCiAgICAgICAgICAgewogICAgICAgICAgICAgcHJpbnRf ZnVuY3Rpb24gPSBwcmludF9sb25nX2RvdWJsZTsKICAgICAgICAgICAgIGZpZWxkX3dpZHRo ID0gTERCTF9TVFJMRU5fQk9VTkRfTCAoZGVjaW1hbF9wb2ludF9sZW4pOwotLSAKMi40OC4x Cgo= --------------TbEbpxFW5abPzmNTLzCtyZBP-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 30 Jun 2025 00:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: =?UTF-8?Q?P=C3=A1draig?= Brady Cc: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175124315826115 (code B ref 78880); Mon, 30 Jun 2025 00:26:01 +0000 Received: (at 78880) by debbugs.gnu.org; 30 Jun 2025 00:25:58 +0000 Received: from localhost ([127.0.0.1]:33130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uW2LO-0006n8-D2 for submit@debbugs.gnu.org; Sun, 29 Jun 2025 20:25:58 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:33108) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uW2LM-0006mp-53 for 78880@debbugs.gnu.org; Sun, 29 Jun 2025 20:25:56 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 882C53C010858; Sun, 29 Jun 2025 17:25:50 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id O31XUrKFaVHJ; Sun, 29 Jun 2025 17:25:50 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 5CCCD3C01085D; Sun, 29 Jun 2025 17:25:50 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 5CCCD3C01085D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1751243150; bh=EATOGtEWyVklsqM5YR5TfevhZBDd//o1SODsA+hVqbA=; h=Message-ID:Date:MIME-Version:To:From; b=eJnezIWiljXySxllpb1jzmIlHSHYj4psmeGOrNIGUjSqNGP0kDhxVNaufbilRD+o/ eKoszcwCC/RZ+aOKDZYlDXAd7N79Zeq5LDZ6fTYX+y1UrOZxkW19lIJQ7rqdSbyPmX f4zPOT+GV3VNTzBzIZKn52gr5hwmXAd9fkRp4WPVWSR6GscJxeYaN2miBWTwuamZ1l WrXqU8qSJsE0dQWbwAgTKqefZ/yexRE3lhoXwxBR2f06DESeaRpQaBnuBn0wL/Qvgp xOd5e+H5EbbM+ElX2zBsis4t4MpIJtapmM1Vixft6VZ+kG8kTUMsFNYw5ZAaGZp46f 5DdXC6kT9x5cA== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 7jfs5D9065Wi; Sun, 29 Jun 2025 17:25:50 -0700 (PDT) Received: from penguin.cs.ucla.edu (47-154-30-222.fdr01.snmn.ca.ip.frontiernet.net [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 3AB543C010858; Sun, 29 Jun 2025 17:25:50 -0700 (PDT) Message-ID: <2c53e5db-b05a-40e1-8c8d-96331ffc1c4d@cs.ucla.edu> Date: Sun, 29 Jun 2025 17:25:50 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> <9fb960aa-adb0-46e0-a658-bea1948228d9@draigBrady.com> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <9fb960aa-adb0-46e0-a658-bea1948228d9@draigBrady.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2025-06-29 12:59, P=C3=A1draig Brady wrote: > I've manually suppressed that error instance in our coverity instance. Maybe the change I just installed removed the need for that manual=20 suppression? From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 30 Jun 2025 05:35:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.17512616683477 (code B ref 78880); Mon, 30 Jun 2025 05:35:03 +0000 Received: (at 78880) by debbugs.gnu.org; 30 Jun 2025 05:34:28 +0000 Received: from localhost ([127.0.0.1]:36709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uW79u-0000tp-KY for submit@debbugs.gnu.org; Mon, 30 Jun 2025 01:34:27 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:54394) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uW79s-0000sr-7d for 78880@debbugs.gnu.org; Mon, 30 Jun 2025 01:34:25 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D14643C010858 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 22:34:17 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id a4bltzcOFXly for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 22:34:17 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id A8AEB3C0149C9 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 22:34:17 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu A8AEB3C0149C9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1751261657; bh=yphdptxgh5MkDC1EjXFsNBjQnANNQCnCv/RCeuKPEJY=; h=Message-ID:Date:MIME-Version:From:To; b=p5s0yxdETD0NqmdnXUd7U6svTD5+KLdf/LdwuR3paHEqkIbnOYZNsOwM0nr+IayRY /B0Zh/vuc4Vxd2KRpDdBllfB96hbnXVoZwQ+c0CVl3Nh18RcZU02JwFzPSBHAdKa76 cvnGvejGYTk1rrjtijL/zodORYxVx+OPOiAmKXu4J5/7qmUOB7/iNnalACStSfJpxZ 082gSoVW5Rhmd17KzPMsWx7UJymYo1WbP4dXKDMbcBy49jAoxdwCabfifKSSbL0KVW sZatxmZUSQFzQ9OLRphUN5SPrTEPDMEnXTez2gwPqHTf7xTOqErtURM1obFFq7de0/ 9DxYP0DOkPw3g== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id X4mYarkjK0UP for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 22:34:17 -0700 (PDT) Received: from penguin.cs.ucla.edu (unknown [47.154.30.222]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 843893C010858 for <78880@debbugs.gnu.org>; Sun, 29 Jun 2025 22:34:17 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Sqcf0lCl030psZilXzR1utd7" Message-ID: <26232797-91fc-46f1-803e-46f65b4b849d@cs.ucla.edu> Date: Sun, 29 Jun 2025 22:34:17 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Paul Eggert References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> <46b72f3e-24a6-4bbd-80b1-d106a2e002fa@cs.ucla.edu> Content-Language: en-US Organization: UCLA Computer Science Department In-Reply-To: <46b72f3e-24a6-4bbd-80b1-d106a2e002fa@cs.ucla.edu> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------Sqcf0lCl030psZilXzR1utd7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit As sometimes happens (in my case, while walking the dog) I thought of one or two more little problems in that area, and installed the attached patches to fix them. The first patch merely refactors; the second one does the fix; the third one adds test cases. --------------Sqcf0lCl030psZilXzR1utd7 Content-Type: text/x-patch; charset=UTF-8; name="0001-od-refactor-parse_old_offset.patch" Content-Disposition: attachment; filename="0001-od-refactor-parse_old_offset.patch" Content-Transfer-Encoding: base64 RnJvbSA2MTcyMjBlOTcwZjI2N2ZiZWVhODBkNWNkOGI2MmFlYzJiYTdlYWY2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDI5IEp1biAyMDI1IDE4OjA2OjIyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzNdIG9kOiByZWZhY3RvciBwYXJzZV9vbGRfb2Zmc2V0CgoqIHNyYy9vZC5jIChwYXJz ZV9vbGRfb2Zmc2V0KTogUmVmYWN0b3IgZm9yIGJyZXZpdHkgYW5kIGNsYXJpdHkuCi0tLQog c3JjL29kLmMgfCAzMiArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL29kLmMgYi9zcmMvb2QuYwppbmRleCAzMzgxZWU0ODQuLjhhY2YyMDVlMSAxMDA2 NDQKLS0tIGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTE0MTYsNDMgKzE0MTYsMjkg QEAgeHN0cjJub25uZWcgKGNoYXIgY29uc3QgKnJlc3RyaWN0IG5wdHIsIGludCBiYXNlLCBp bnRtYXhfdCAqdmFsLAogc3RhdGljIGJvb2wKIHBhcnNlX29sZF9vZmZzZXQgKGNoYXIgKnMs IGludG1heF90ICpvZmZzZXQpCiB7Ci0gIGludCByYWRpeDsKLQogICBpZiAoKnMgPT0gJ1ww JykKICAgICByZXR1cm4gZmFsc2U7CiAKLSAgLyogU2tpcCBvdmVyIGFueSBsZWFkaW5nICcr Jy4gKi8KLSAgaWYgKHNbMF0gPT0gJysnKQotICAgICsrczsKKyAgLyogU2tpcCBvdmVyIGFu eSBsZWFkaW5nICcrJy4gICovCisgIHMgKz0gc1swXSA9PSAnKyc7CiAKLSAgLyogRGV0ZXJt aW5lIHRoZSByYWRpeCB3ZSdsbCB1c2UgdG8gaW50ZXJwcmV0IFMuICBJZiB0aGVyZSBpcyBh ICcuJywKLSAgICAgb3B0aW9uYWxseSBmb2xsb3dlZCBieSAnQicgb3IgJ2InIGFuZCB0aGVu IGVuZCBvZiBzdHJpbmcsCi0gICAgIGl0J3MgZGVjaW1hbCwgb3RoZXJ3aXNlLCBpZiB0aGUg c3RyaW5nIGJlZ2lucyB3aXRoICcwWCdvciAnMHgnLAorICAvKiBEZXRlcm1pbmUgdGhlIHJh ZGl4IGZvciBTLiAgSWYgdGhlcmUgaXMgYSAnLicsIGZvbGxvd2VkIGZpcnN0IGJ5CisgICAg IG9wdGlvbmFsICdiJyBvciAodW5kb2N1bWVudGVkKSAnQicgYW5kIHRoZW4gYnkgZW5kIG9m IHN0cmluZywKKyAgICAgaXQncyBkZWNpbWFsLCBvdGhlcndpc2UsIGlmIHRoZSBzdHJpbmcg YmVnaW5zIHdpdGggJzBYJyBvciAnMHgnLAogICAgICBpdCdzIGhleGFkZWNpbWFsLCBlbHNl IG9jdGFsLiAgKi8KICAgY2hhciAqZG90ID0gc3RyY2hyIChzLCAnLicpOwotICBpZiAoZG90 KQotICAgIHsKLSAgICAgIGJvb2wgYiA9IGRvdFsxXSA9PSAnQicgfHwgZG90WzFdID09ICdi JzsKLSAgICAgIGlmIChkb3RbYiArIDFdKQotICAgICAgICBkb3QgPSBudWxscHRyOwotICAg IH0KKyAgaWYgKGRvdCAmJiBkb3RbKGRvdFsxXSA9PSAnYicgfHwgZG90WzFdID09ICdCJykg KyAxXSkKKyAgICBkb3QgPSBudWxscHRyOworICBpbnQgcmFkaXggPSBkb3QgPyAxMCA6IHNb MF0gPT0gJzAnICYmIChzWzFdID09ICd4JyB8fCBzWzFdID09ICdYJykgPyAxNiA6IDg7CiAK ICAgaWYgKGRvdCkKICAgICB7CiAgICAgICAvKiBUZW1wb3JhcmlseSByZW1vdmUgdGhlICcu JyBmcm9tIHRoZSBkZWNpbWFsIHN0cmluZy4gICovCiAgICAgICBkb3RbMF0gPSBkb3RbMV07 CiAgICAgICBkb3RbMV0gPSAnXDAnOwotICAgICAgcmFkaXggPSAxMDsKLSAgICB9Ci0gIGVs c2UKLSAgICB7Ci0gICAgICBpZiAoc1swXSA9PSAnMCcgJiYgKHNbMV0gPT0gJ3gnIHx8IHNb MV0gPT0gJ1gnKSkKLSAgICAgICAgcmFkaXggPSAxNjsKLSAgICAgIGVsc2UKLSAgICAgICAg cmFkaXggPSA4OwogICAgIH0KIAotICBlbnVtIHN0cnRvbF9lcnJvciBzX2VyciA9IHhzdHIy bm9ubmVnIChzLCByYWRpeCwgb2Zmc2V0LCAiQmIiKTsKKyAgZW51bSBzdHJ0b2xfZXJyb3Ig c19lcnIgPSB4c3RyMm5vbm5lZyAocywgcmFkaXgsIG9mZnNldCwgImJCIik7CiAKICAgaWYg KGRvdCkKICAgICB7Ci0tIAoyLjQ4LjEKCg== --------------Sqcf0lCl030psZilXzR1utd7 Content-Type: text/x-patch; charset=UTF-8; name="0002-od-more-minor-fixes-for-offsets.patch" Content-Disposition: attachment; filename="0002-od-more-minor-fixes-for-offsets.patch" Content-Transfer-Encoding: base64 RnJvbSA5MDAyYzA0Y2NjNTFjNzUzZWY4MDFkMTQxODEwOTMyY2E5ZGU0MWYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDI5IEp1biAyMDI1IDIyOjI1OjI4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzNdIG9kOiBtb3JlIG1pbm9yIGZpeGVzIGZvciBvZmZzZXRzCgoqIHNyYy9vZC5jIChw YXJzZV9vbGRfb2Zmc2V0KTogUmVqZWN0IGludmFsaWQgb2Zmc2V0cyBsaWtlICIrKzAiLgpU cmVhdCBvdmVyZmxvd2luZyBvZmZzZXRzIGFzIGVycm9ycywgbm90IGFzIGZpbGUgbmFtZXMu Ci0tLQogc3JjL29kLmMgfCAyMCArKysrKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDEyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L29kLmMgYi9zcmMvb2QuYwppbmRleCA4YWNmMjA1ZTEuLjkxOGQ1NjcyNSAxMDA2NDQKLS0t IGEvc3JjL29kLmMKKysrIGIvc3JjL29kLmMKQEAgLTE0MDksMTggKzE0MDksMjAgQEAgeHN0 cjJub25uZWcgKGNoYXIgY29uc3QgKnJlc3RyaWN0IG5wdHIsIGludCBiYXNlLCBpbnRtYXhf dCAqdmFsLAogICByZXR1cm4gc19lcnIgIT0gTE9OR0lOVF9JTlZBTElEICYmICp2YWwgPCAw ID8gTE9OR0lOVF9JTlZBTElEIDogc19lcnI7CiB9CiAKLS8qIElmIFMgaXMgYSB2YWxpZCB0 cmFkaXRpb25hbCBvZmZzZXQgc3BlY2lmaWNhdGlvbiB3aXRoIGFuIG9wdGlvbmFsCi0gICBs ZWFkaW5nICcrJyByZXR1cm4gdHJ1ZSBhbmQgc2V0ICpPRkZTRVQgdG8gdGhlIG9mZnNldCBp dCBkZW5vdGVzLgotICAgT3RoZXJ3aXNlIHJldHVybiBmYWxzZSBhbmQgcG9zc2libHkgc2V0 ICpPRkZTRVQuICAqLworLyogSWYgU1RSIGlzIGEgdmFsaWQgdHJhZGl0aW9uYWwgb2Zmc2V0 IHNwZWNpZmljYXRpb24gd2l0aCBhbiBvcHRpb25hbAorICAgbGVhZGluZyAnKycsIGFuZCBj YW4gYmUgcmVwcmVzZW50ZWQgaW4gaW50bWF4X3QsIHJldHVybiB0cnVlIGFuZAorICAgc2V0 ICpPRkZTRVQgdG8gdGhlIG9mZnNldCBpdCBkZW5vdGVzLiAgSWYgaXQgaXMgdmFsaWQgYnV0 IGNhbm5vdCBiZQorICAgcmVwcmVzZW50ZWQsIGRpYWdub3NlIHRoZSBwcm9ibGVtIGFuZCBl eGl0LiAgT3RoZXJ3aXNlIHJldHVybiBmYWxzZQorICAgYW5kIHBvc3NpYmx5IHNldCAqT0ZG U0VULiAgKi8KIAogc3RhdGljIGJvb2wKLXBhcnNlX29sZF9vZmZzZXQgKGNoYXIgKnMsIGlu dG1heF90ICpvZmZzZXQpCitwYXJzZV9vbGRfb2Zmc2V0IChjaGFyICpzdHIsIGludG1heF90 ICpvZmZzZXQpCiB7Ci0gIGlmICgqcyA9PSAnXDAnKQotICAgIHJldHVybiBmYWxzZTsKLQog ICAvKiBTa2lwIG92ZXIgYW55IGxlYWRpbmcgJysnLiAgKi8KLSAgcyArPSBzWzBdID09ICcr JzsKKyAgY2hhciAqcyA9IHN0ciArIChzdHJbMF0gPT0gJysnKTsKKworICBpZiAoISBjX2lz ZGlnaXQgKHNbMF0pKQorICAgIHJldHVybiBmYWxzZTsKIAogICAvKiBEZXRlcm1pbmUgdGhl IHJhZGl4IGZvciBTLiAgSWYgdGhlcmUgaXMgYSAnLicsIGZvbGxvd2VkIGZpcnN0IGJ5CiAg ICAgIG9wdGlvbmFsICdiJyBvciAodW5kb2N1bWVudGVkKSAnQicgYW5kIHRoZW4gYnkgZW5k IG9mIHN0cmluZywKQEAgLTE0NDcsNiArMTQ0OSw4IEBAIHBhcnNlX29sZF9vZmZzZXQgKGNo YXIgKnMsIGludG1heF90ICpvZmZzZXQpCiAgICAgICBkb3RbMF0gPSAnLic7CiAgICAgfQog CisgIGlmIChzX2VyciA9PSBMT05HSU5UX09WRVJGTE9XKQorICAgIGVycm9yIChFWElUX0ZB SUxVUkUsIEVSQU5HRSwgIiVzIiwgcXVvdGVhcmdfY29sb24gKHN0cikpOwogICByZXR1cm4g c19lcnIgPT0gTE9OR0lOVF9PSzsKIH0KIAotLSAKMi40OC4xCgo= --------------Sqcf0lCl030psZilXzR1utd7 Content-Type: text/x-patch; charset=UTF-8; name="0003-od-add-test-cases-for-recent-fix.patch" Content-Disposition: attachment; filename="0003-od-add-test-cases-for-recent-fix.patch" Content-Transfer-Encoding: base64 RnJvbSA1YzVmMDY5YTRjOGYzM2EwMTc3YWNkMDIxZGYyZjRjYWQ2ODYwMDI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDI5IEp1biAyMDI1IDIyOjMxOjAxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzLzNdIG9kOiBhZGQgdGVzdCBjYXNlcyBmb3IgcmVjZW50IGZpeAoKKiB0ZXN0cy9vZC9v ZC5wbDogTmV3IHRlc3RzIGZvciB0aGUgb2Zmc2V0IGlzc3VlcwotLS0KIE5FV1MgICAgICAg ICAgIHwgIDMgKysrCiB0ZXN0cy9vZC9vZC5wbCB8IDE4ICsrKysrKysrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvTkVXUyBi L05FV1MKaW5kZXggYTg1ODQwZGRhLi44N2JhMjY1OWMgMTAwNjQ0Ci0tLSBhL05FV1MKKysr IGIvTkVXUwpAQCAtMjcsNiArMjcsOSBAQCBHTlUgY29yZXV0aWxzIE5FV1MgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gb3V0bGluZSAtKi0KICAgb2QgJytOLicg KHdoZXJlIE4gaXMgYSBkZWNpbWFsIG51bWJlcikgd29ya3MgYWdhaW4gYXMgcGVyIFBPU0lY LgogICBbYnVnIGludHJvZHVjZWQgaW4gdGV4dHV0aWxzLTIuMF0KIAorICAnb2QgL2Rldi9u dWxsICsrMCcgbm8gbG9uZ2VyIG1pc3Rha2VubHkgdHJlYXRzIHRoZSArKzAgYXMgYW4gb2Zm c2V0LgorICBbVGhpcyBidWcgd2FzIHByZXNlbnQgaW4gInRoZSBiZWdpbm5pbmciLl0KKwog ICBzb3J0IHdpdGgga2V5IGNoYXJhY3RlciBvZmZzZXRzIG9mIFNJWkVfTUFYLCBjb3VsZCBp bmR1Y2UKICAgYSByZWFkIG9mIDEgYnl0ZSBiZWZvcmUgYW4gYWxsb2NhdGVkIGhlYXAgYnVm ZmVyLiBGb3IgZXhhbXBsZToKICAgJ3NvcnQgKzAuMTg0NDY3NDQwNzM3MDk1NTE2MTVSIGlu cHV0JyBvbiA2NCBiaXQgc3lzdGVtcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL29kL29kLnBsIGIv dGVzdHMvb2Qvb2QucGwKaW5kZXggOTY4ODYwN2M2Li5lNGUzMjhhZDYgMTAwNzU1Ci0tLSBh L3Rlc3RzL29kL29kLnBsCisrKyBiL3Rlc3RzL29kL29kLnBsCkBAIC02NCw2ICs2NCwyNCBA QCBteSBAVGVzdHMgPQogICAgICBbJ3RyYWQtZG90MScsICcrMS4nLCB7SU5fUElQRT0+J2En fSwge09VVD0+IjAwMDAwMDFcbiJ9XSwKICAgICAgWyd0cmFkLWRvdDUxMicsICcrMS5iJywg e0lOX1BJUEUgPT4gJ2EnIHggNTEyfSwge09VVD0+IjAwMDEwMDBcbiJ9XSwKIAorICAgICAj IEludmFsaWQgdHJhZGl0aW9uYWwgb2Zmc2V0cyBzaG91bGQgYmUgdHJlYXRlZCBhcyBmaWxl IG5hbWVzLgorICAgICBbJ2ludmFsaWQtb2ZmLTEnLCAnKyswJywge0lOX1BJUEU9PiIifSwg e0VYSVQ9PjF9LAorICAgICAge0VSUj0+IiRwcm9nOiArKzA6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnlcbiJ9XSwKKyAgICAgWydpbnZhbGlkLW9mZi0yJywgJystMCcsIHtJTl9QSVBF PT4iIn0sIHtFWElUPT4xfSwKKyAgICAgIHtFUlI9PiIkcHJvZzogKy0wOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5XG4ifV0sCisgICAgIFsnaW52YWxpZC1vZmYtMycsICciKyAwIics IHtJTl9QSVBFPT4iIn0sIHtFWElUPT4xfSwKKyAgICAgIHtFUlI9PiIkcHJvZzogJysgMCc6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiJ9XSwKKyAgICAgWydpbnZhbGlkLW9mZi00 JywgJy0tIC0wJywge0lOX1BJUEU9PiIifSwge0VYSVQ9PjF9LAorICAgICAge0VSUj0+IiRw cm9nOiAtMDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIn1dLAorCisgICAgICMgT3Zl cmZsb3dpbmcgdHJhZGl0aW9uYWwgb2Zmc2V0cyBzaG91bGQgYmUgZGlhZ25vc2VkLgorICAg ICBbJ292ZXJmbG93LW9mZi0xJywgJy0nLCAnNycgeCAyNTUsIHtJTl9QSVBFPT4iIn0sIHtF WElUPT4xfSwKKyAgICAgIHtFUlI9PiJvZDogIi4oJzcnIHggMjU1KS4iOiBOdW1lcmljYWwg cmVzdWx0IG91dCBvZiByYW5nZVxuIn1dLAorICAgICBbJ292ZXJmbG93LW9mZi0yJywgJy0n LCAoJzknIHggMjU0KS4nLicsIHtJTl9QSVBFPT4iIn0sIHtFWElUPT4xfSwKKyAgICAgIHtF UlI9PiJvZDogIi4oJzknIHggMjU0KS4iLjogTnVtZXJpY2FsIHJlc3VsdCBvdXQgb2YgcmFu Z2VcbiJ9XSwKKyAgICAgWydvdmVyZmxvdy1vZmYtMycsICctJywgJzB4Jy4oJ2YnIHggMjUz KSwge0lOX1BJUEU9PiIifSwge0VYSVQ9PjF9LAorICAgICAge0VSUj0+Im9kOiAweCIuKCdm JyB4IDI1MykuIjogTnVtZXJpY2FsIHJlc3VsdCBvdXQgb2YgcmFuZ2VcbiJ9XSwKKwogICAg ICAjIEVuc3VyZSB0aGF0IGEgbGFyZ2Ugd2lkdGggZG9lcyBub3QgY2F1c2UgdHJvdWJsZS4K ICAgICAgIyBGcm9tIGNvcmV1dGlscy03LjAgdGhyb3VnaCBjb3JldXRpbHMtOC4yMSwgdGhl c2Ugd291bGQgcHJpbnQKICAgICAgIyBhcHByb3hpbWF0ZWx5IDEyOEtpQiBvZiBwYWRkaW5n LgotLSAKMi40OC4xCgo= --------------Sqcf0lCl030psZilXzR1utd7-- From unknown Fri Sep 19 23:21:06 2025 X-Loop: help-debbugs@gnu.org Subject: bug#78880: od Heap-buffer overflow Resent-From: =?UTF-8?Q?P=C3=A1draig?= Brady Original-Sender: "Debbugs-submit" Resent-CC: bug-coreutils@gnu.org Resent-Date: Mon, 30 Jun 2025 13:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78880 X-GNU-PR-Package: coreutils X-GNU-PR-Keywords: To: Paul Eggert Cc: 78880@debbugs.gnu.org Received: via spool by 78880-submit@debbugs.gnu.org id=B78880.175129097132347 (code B ref 78880); Mon, 30 Jun 2025 13:43:02 +0000 Received: (at 78880) by debbugs.gnu.org; 30 Jun 2025 13:42:51 +0000 Received: from localhost ([127.0.0.1]:43166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uWEmX-0008Pa-Vh for submit@debbugs.gnu.org; Mon, 30 Jun 2025 09:42:51 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:54602) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uWEmS-0008OF-Vb for 78880@debbugs.gnu.org; Mon, 30 Jun 2025 09:42:46 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-453398e90e9so16594545e9.1 for <78880@debbugs.gnu.org>; Mon, 30 Jun 2025 06:42:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751290958; x=1751895758; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:from:to:cc:subject:date:message-id:reply-to; bh=0MtW46hrCleGOw0xNwRk5gNS4QwjN+ZYbMgpaWSS6vo=; b=mHOd6lnlVW78wnyLGidOKjzrLSWf2in2v8IjEo9AH6t6KvgfxSBSzV6nTZT2RUIiKs zNiGCrzruu2DIrJGbqV220UEkkfirx9aSW5+Iz8Q3jGNSAWuLnWdX8kw2By47IVTdeYB ppzkBm+wgu7QQuAVGWf987DCu0eG1Vp9qTC7MP6OI77ltddcLDIkG3g8QL/5djlctVmS WFO1uAbt7aGtw+aToLkp8z+fHQg0BzfUsnO7HzFacvBP5izOiP98Q/o91XrV2xT3MODK lpInuJA3S98t4RATh7OZ7yrUQaHM0vWt2Ne65E8vfe9MMaunMI/+740OXVgcrO786nrE ucIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751290958; x=1751895758; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0MtW46hrCleGOw0xNwRk5gNS4QwjN+ZYbMgpaWSS6vo=; b=dSTPi7/DFvyJxQRbvt/pqWidGjzhLKwEBMncXdSGyJUNaqKeMXxaAEGqXp6+qWdoW4 oCeh70ZZB0B0wUbwGKL9xksLNMja3dABGN747P1y949j8Kzwpn3WCmTbSHv+KUXbKO1R JzltcecaxV1gAuS92NhB6V127Jo7pCasMoqHxsmZOsLWIQKGxQO22euaCIWaD4gOspW4 /SPJmj+KAIIVDvDWgX0ceaCcCQQKlDx3aPmZI4BZqj34areKy3fey5v992MtHegNj8Gv t+bDJIHS2pAmJlsX8fIvWrHaB6wtScrwk72bG0d1pj9ylK0OB56WKssYv54kX1HwETsT KqeQ== X-Gm-Message-State: AOJu0Yxtzdde0O/l+CYcl8i4so3c4oS4ZSQShcyQZpivWZa0Hi/CrcTm wFDbT8gDSjhPwUrKGdnT2P3KbwnfKb4FLetMy+/DMm30N/N2XBYLmGks X-Gm-Gg: ASbGncsynmMSmFbyZd/c2jHo9bmM6lToB8Gh21Q3LE6ampsC4VJmQn8zL3VGE8c2RBn WnsS3NtgByXjY8qM/vBWlq/se6iHQ9zETvXhHYVizAZd/moGB8rDsGQUqtNPfsEmqPZqaZIW1rx AQ1dz85MW2mvi0pteFWIJL7bEmdRUO3jiOrm5KSeWqy6zzL1PbHtI/6EPRYyVjiJl9r7ktjKuwV xxmTqWbK/+N9nyY6pkZg+spEj3tRyqdDsODQbZBz+9sJUWkxgr576ER5BLCj7wGseG+ui1NxjQA xWvIfD+pxBbI0EqyHPXYpg1c2prM8vXEHTFFPyvzBQOMgZ1kKSy6WcTIDRjm0Xy9bd4wy8LDA55 FkXs6e7lAU4hJbGgHM+O3t1o6HCXkcV2FHXtZfCm6ww== X-Google-Smtp-Source: AGHT+IFm0EMRoBC/+xsW95wU1dnjRymJbiv4eydw/bGr+S90JwpaP1JSRy5U2rCPcuFPJ5H8ZSrTUg== X-Received: by 2002:a05:600c:c0c3:20b0:450:cd50:3c64 with SMTP id 5b1f17b1804b1-4538eea1cf7mr93237755e9.31.1751290957868; Mon, 30 Jun 2025 06:42:37 -0700 (PDT) Received: from [192.168.1.31] (86-44-211-146-dynamic.agg2.lod.rsl-rtd.eircom.net. [86.44.211.146]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-3a892e5b2a7sm10502637f8f.69.2025.06.30.06.42.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 30 Jun 2025 06:42:37 -0700 (PDT) Message-ID: <9a011113-8c97-4722-b7af-8d419791da27@draigBrady.com> Date: Mon, 30 Jun 2025 14:42:36 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta References: <51337d89-bcd4-420e-917f-84873c88fddd@draigBrady.com> <86c59eab-356b-49ce-bdbd-2b2ce5376afc@draigBrady.com> <6fa6d707-87e8-469b-af3d-6ba0b4bb0888@draigBrady.com> <47ff3d77-714e-40d2-af1e-fabcad1195e9@draigBrady.com> <9fb960aa-adb0-46e0-a658-bea1948228d9@draigBrady.com> <2c53e5db-b05a-40e1-8c8d-96331ffc1c4d@cs.ucla.edu> Content-Language: en-US From: =?UTF-8?Q?P=C3=A1draig?= Brady In-Reply-To: <2c53e5db-b05a-40e1-8c8d-96331ffc1c4d@cs.ucla.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 30/06/2025 01:25, Paul Eggert wrote: > On 2025-06-29 12:59, Pádraig Brady wrote: >> I've manually suppressed that error instance in our coverity instance. > > Maybe the change I just installed removed the need for that manual > suppression? Indeed it does. I checked with ./configure utils_cv_ieee_16_bit_supported=no and also installed the following to avoid issues with that configuration: I also installed a syntax-check tweak to use quotef() rather than quotearg_colon(). thanks! Padraig commit 87dcd447b165fee248ead5d15a8d2ea3eeaed15e (HEAD -> master) Author: Pádraig Brady Date: Mon Jun 30 14:25:56 2025 +0100 od: reinstate half float validation check Reinstate check removed in commit 56aa549a0 so that we disallow -f2 when configured with utils_cv_ieee_16_bit_supported=no. Otherwise the output routines will consume floats, i.e. 4 bytes at a time. Without this extra check the tests/od/od-endian.sh will fail with this configuration. * src/od.c (decode_one_format): Reinstate the explicit check for this configuration edge case. diff --git a/src/od.c b/src/od.c index 700470b85..24e981cb0 100644 --- a/src/od.c +++ b/src/od.c @@ -871,7 +871,9 @@ decode_one_format (char const *s_orig, char const *s, char const **next, else { if (ARRAY_CARDINALITY (fp_type_size) <= size - || fp_type_size[size] == NO_SIZE) + || fp_type_size[size] == NO_SIZE + || (! FLOAT16_SUPPORTED && BF16_SUPPORTED + && size == sizeof (bfloat16))) { error (0, 0, _("invalid type string %s;\n"