From nevion@gmail.com Wed Aug 1 00:55:56 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q715tuZQ254760 for ; Wed, 1 Aug 2012 00:55:56 -0500 X-ASG-Debug-ID: 1343800555-04cbb06db11dff10001-NocioJ Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com [209.85.214.181]) by cuda.sgi.com with ESMTP id 3F1Ng8bn5o541xbP (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Tue, 31 Jul 2012 22:55:55 -0700 (PDT) X-Barracuda-Envelope-From: nevion@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.181 Received: by obbup19 with SMTP id up19so12850980obb.26 for ; Tue, 31 Jul 2012 22:55:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=QuJIUaIKEU83mv3dwqBuFfLezTSYO/VRzor3fzM3710=; b=n1iDX+9+OJRXgq1mKQWz4uPNyZT6fdpe/Fkz7JNgNI+CnZvkH0POTxItVcnoWau2eY 1swZwp6/bTTF9MoJ2B3u/BaOvJj+ZBCvBFmS3NMLO9TO4uBZ2Ps240ytimK3KVnz4IdY kMdcWFNn0tQL+gYnnDhgJh1vz/rZBBgX8xpzMnAMIYxFYb2PX30NP1ALO1fXTK/y4xyn 19E96O6Ou5SW/n7Sxv8pTm0qE7EHlx2u3BTIR+YOCOXHhNDgIReF7xyIh4VQvbcA3LxV zUUdTMzlo/kQTgGFTd1zjAMowU32GwmvRieb0a6TsY/Ee4ZuVdkakMBYI+LiiwqmKcDs IV9g== MIME-Version: 1.0 Received: by 10.60.29.161 with SMTP id l1mr27610899oeh.43.1343800554880; Tue, 31 Jul 2012 22:55:54 -0700 (PDT) Received: by 10.76.112.143 with HTTP; Tue, 31 Jul 2012 22:55:54 -0700 (PDT) In-Reply-To: <5018A8C7.8050406@hardwarefreak.com> References: <20120730030333.GE2877@dastard> <50186E51.1020107@hardwarefreak.com> <5018A8C7.8050406@hardwarefreak.com> Date: Tue, 31 Jul 2012 22:55:54 -0700 Message-ID: Subject: Re: realtime section bugs still around From: Jason Newton X-ASG-Orig-Subj: Re: realtime section bugs still around To: stan@hardwarefreak.com Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=e89a8fb200fab8ff6804c62df2f6 X-Barracuda-Connect: mail-ob0-f181.google.com[209.85.214.181] X-Barracuda-Start-Time: 1343800555 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104344 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --e89a8fb200fab8ff6804c62df2f6 Content-Type: text/plain; charset=UTF-8 On Tue, Jul 31, 2012 at 8:55 PM, Stan Hoeppner wrote: > > Intel Matrix RAID is fakeraid. Designed for consumer workloads. You're > shoving a decidedly non consumer, high b/w IO stream through it. Don't > expect much. In fact I'm surprised you're using consumer grade gear for > this application. You are designing this software/system for a > commercial use case, correct? If so I'd get some better hardware. > > CPU overhead for fakeraid will be similar to md/RAID, depending on the > vendor and implementation. In some cases it may be much higher than md. > I see. Its important things stay COTS and small... things are sort of in a prototyping phase with some size and power constraints. We had problems packaging what we already have and consider we already have some specialized io hardware we've had to account for.. There's just not much if any room available anymore. We're getting refined tasks in the future and requirements will change as well... in particular this disk streaming component is perhaps a one-off thing that we were notified of late in the game. I did read around that from intel sources that Matrix Storage it really more of a hybrid solution... after all, they make sata controllers... and they already have to put up with 6Gb/s in hardware. But maybe they save a penny on the real-estate.. so maybe it's just fluff from intel PR. What kind of hardware do you need in addition to make hardware raid 0 or 1 though.... . > > > 2. ATA overhead > >> 3. IRQ/MSI overhead > >> 4. Etc. > >> > >> All these small bits add up to more than negligible CPU overhead at high > >> data rates. > >> > > > > Regarding the others, how would I go about measuring their overhead... > > To what end? > > Just to figure out for sure what the bottlenecks are and whether they can be dealt with rather than looking at it as opaque system and assuming nothing can be done. Also as a learning experience. -- > Stan > > --e89a8fb200fab8ff6804c62df2f6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On Tue, Jul 31, 2012 at 8:55 PM, Stan Ho= eppner <stan@hardwarefreak.com> wrote:

Intel Matrix RAID is fakeraid. =C2=A0Designed for consumer workloads.= =C2=A0You're
shoving a decidedly non consumer, high b/w IO stream through it. =C2=A0Don&= #39;t
expect much. =C2=A0In fact I'm surprised you're using consumer grad= e gear for
this application. =C2=A0You are designing this software/system for a
commercial use case, correct? =C2=A0If so I'd get some better hardware.=

CPU overhead for fakeraid will be similar to md/RAID, depending on the
vendor and implementation. =C2=A0In some cases it may be much higher than m= d.

I see.=C2=A0 Its important things stay COTS and= small... things are sort of in a prototyping phase with some size and powe= r constraints.=C2=A0 We had problems packaging what we already have and con= sider we already have some specialized io hardware we've had to account= for..=C2=A0 There's just not much if any room available anymore.=C2=A0= We're getting refined tasks in the future and requirements will change= as well... in particular this disk streaming component is perhaps a one-of= f=C2=A0 thing that we were notified of late in the game.

I did read around that from intel sources that Matrix Storage it really= more of a hybrid solution... after all, they make sata controllers... and = they already have to put up with 6Gb/s in hardware. But maybe they save a p= enny on the real-estate.. so maybe it's just fluff from intel PR.=C2=A0= What kind of hardware do you need in addition to make hardware raid 0 or 1= though.... .

> 2. =C2=A0ATA overhead
>> 3. =C2=A0IRQ/MSI overhead
>> 4. =C2=A0Etc.
>>
>> All these small bits add up to more than negligible CPU overhead a= t high
>> data rates.
>>
>
> Regarding the others, how would I go about measuring their overhead...=

To what end?

Just to figure out for sure what the bottlenecks are and whether th= ey can be dealt with rather than looking at it as opaque system and assumin= g nothing can be done.=C2=A0 Also as a learning experience.

--
Stan


--e89a8fb200fab8ff6804c62df2f6-- From 3WtsYUAsHA_kupnbysbdjoh274.dpnygtptt.thj.dpn@photos-server.bounces.google.com Wed Aug 1 02:31:41 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50,MIME_8BIT_HEADER autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q717VfkA261527 for ; Wed, 1 Aug 2012 02:31:41 -0500 X-ASG-Debug-ID: 1343806298-04bdf02d181d4700001-NocioJ Received: from mail-ob0-f201.google.com (mail-ob0-f201.google.com [209.85.214.201]) by cuda.sgi.com with ESMTP id Kk7QhqBNMsJlrGQm (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Aug 2012 00:31:39 -0700 (PDT) X-Barracuda-Envelope-From: 3WtsYUAsHA_kupnbysbdjoh274.dpnygtptt.thj.dpn@photos-server.bounces.google.com X-Barracuda-Apparent-Source-IP: 209.85.214.201 X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] Received: by obbun3 with SMTP id un3so4952170obb.2 for ; Wed, 01 Aug 2012 00:31:38 -0700 (PDT) X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] MIME-Version: 1.0 Received: by 10.50.40.230 with SMTP id a6mt5621452igl.2.1343806298602; Wed, 01 Aug 2012 00:31:38 -0700 (PDT) Reply-To: Tony tuningparts Message-ID: <14dae93411cf133d5804c62f49a1@google.com> Date: Wed, 01 Aug 2012 07:31:38 +0000 Subject: =?GB2312?B?VG9ueSB0dW5pbmdwYXJ0c9PrxPq5ss/twcvV1cas?= From: Tony tuningparts X-ASG-Orig-Subj: =?GB2312?B?VG9ueSB0dW5pbmdwYXJ0c9PrxPq5ss/twcvV1cas?= To: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=14dae93411cf138a3304c62f49b0 X-Barracuda-Connect: mail-ob0-f201.google.com[209.85.214.201] X-Barracuda-Start-Time: 1343806299 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104350 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --14dae93411cf138a3304c62f49b0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Hi,sir thank you very much for your time attached is scooter racing tuning parts list, if you are interest,please contact us soonest visit our website: www.tomaxracing.com we have many tuing parts for your scooter thank you verymuch for your time Tony www.tomaxracing.com --14dae93411cf138a3304c62f49b0 Content-Type: image/jpeg; name="=?GB2312?B?xKbN0LO1LmpwZw==?=" Content-Disposition: attachment; filename="=?GB2312?B?xKbN0LO1LmpwZw==?=" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/4QDWRXhpZgAASUkqAAgAAAADADEBAgAHAAAAMgAAADsBAgAH AAAAOQAAAGmHBAABAAAAQAAAAAAAAABQaWNhc2EAUGljYXNhAAUAAJAHAAQAAAAwMjIwAqAEAAEA AADgAQAAA6AEAAEAAADBAAAABaAEAAEAAACkAAAAIKQCACEAAACCAAAAAAAAAGRmMTMzODMzYzY5 YWVlZGM4YmMxYzY4ZTUzOWMyMDIzAAADAAIABwAEAAAAMDEwMAEQBAABAAAAAAQAAAIQBAABAAAA mwEAAAAAAAD/4QKJaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49 Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9 ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjEuMiI+IDxyZGY6UkRGIHhtbG5z OnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6 RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxl bWVudHMvMS4xLyI+IDxkYzpkZXNjcmlwdGlvbj4gPHJkZjpBbHQ+IDxyZGY6bGkgeG1sOmxhbmc9 IngtZGVmYXVsdCI+cXF2ZTwvcmRmOmxpPiA8L3JkZjpBbHQ+IDwvZGM6ZGVzY3JpcHRpb24+IDxk YzpjcmVhdG9yPiA8cmRmOlNlcT4gPHJkZjpsaT5QaWNhc2E8L3JkZjpsaT4gPC9yZGY6U2VxPiA8 L2RjOmNyZWF0b3I+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/7QBiUGhvdG9zaG9wIDMuMAA4QklNBAQA AAAAACocAQAAAgAEHAFaAAMbJUccAgAAAgAEHAJQAAZQaWNhc2EcAngABHFxdmU4QklNBCUAAAAA ABB7XXduTytpPMZsZOU0552m/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxER ExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAwQHgAwEiAAIR AQMRAf/EAB0AAQABBQEBAQAAAAAAAAAAAAADAgQFBgcBCAn/xABEEAABAwMDAgMFBgMGBAUFAAAB AAIDBAURBhIhBzETQVEUFSJh0QgyVXGBkyNCkRYzUqGx0hdywfAkVGJz4TRjdJKy/8QAHAEBAAID AQEBAAAAAAAAAAAAAAMEAQIFBgcI/8QANREAAgIBAwIDBgYBBAMBAAAAAAECAxEEEiEFMRNBUQYi MmFxkRSBobHR8OEzQsHxFSNScv/aAAwDAQACEQMRAD8A+PfeVx/EKv8Aed9U95XH8Qq/3nfVWiIC 795XH8Qq/wB531T3lcfxCr/ed9VaIgLv3lcfxCr/AHnfVPeVx/EKv9531VoiAu/eVx/EKv8Aed9U 95XH8Qq/3nfVWiIC795XH8Qq/wB531T3lcfxCr/ed9VaIgLv3lcvxCr/AHnfVPeVx/EKv9531Voi Au/eVx/EKv8Aed9U95XH8Qq/3nfVWiIC795XH8Qq/wB531T3lcfxCr/ed9VaL1AXXvK4/iFX+876 p7yuP4hV/vO+qtEQF37yuP4hV/vO+qe8rj+IVf7zvqrREBd+8rj+IVf7zvqnvK4/iFX+876q0RAX fvK4/iFX+876p7yuP4hV/vO+qtEQF37yuP4hV/vO+qe8rj+IVf7zvqrREBd+8rj+IVf7zvqnvK4/ iFX+876q0RAXfvK4/iFX+876p7yuP4hV/vO+qtEQHQ+ltUKmarjqppZahoa+MvlccN7HHP5LYdVa nnsLot1HLNFJ2k8XAz6LlVluVRarhHWUrgHs4I8nDzBXUrXf7HqGk9nm8Pe9v8SnmHn8ieCqN0Gp 7mso+t+yPU6dT0t9PqsjVqF8LaXvefn3fl64wzMWq4TVlrgrZQ6DxY95ZvJ2j8/y5WsWq7t1FqJk 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 --14dae93411cf138a3304c62f49b0-- From tracek@redhat.com Wed Aug 1 04:58:16 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,J_CHICKENPOX_43, J_CHICKENPOX_44,J_CHICKENPOX_62,J_CHICKENPOX_64,J_CHICKENPOX_66, J_CHICKENPOX_83 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q719wFCj010515 for ; Wed, 1 Aug 2012 04:58:16 -0500 X-ASG-Debug-ID: 1343815092-04cbb06db01ec420001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id aj4iwGe6bvFhTPQu for ; Wed, 01 Aug 2012 02:58:13 -0700 (PDT) X-Barracuda-Envelope-From: tracek@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q719wCXt005633 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 1 Aug 2012 05:58:12 -0400 Received: from luke.brq.redhat.com ([10.34.27.4]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q719wA5h022881; Wed, 1 Aug 2012 05:58:11 -0400 From: Tomas Racek To: xfs@oss.sgi.com Cc: lczerner@redhat.com, Tomas Racek Subject: [PATCH] xfstests: Use upstream version of fstrim instead of the local one Date: Wed, 1 Aug 2012 11:57:52 +0200 X-ASG-Orig-Subj: [PATCH] xfstests: Use upstream version of fstrim instead of the local one Message-Id: <1343815072-11232-1-git-send-email-tracek@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1343815093 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Local version of fstrim was dropped so that we depend on upstream version now. _require_fstrim was added to check if fstrim is available in the system and _require_batched_discard to check if we can run fstrim on certain mountpoint. Also tests 251 and 260 were modified to reflect this change. Signed-off-by: Tomas Racek --- .gitignore | 1 - 251 | 14 +-- 260 | 36 +++++---- 260.out | 8 +- common.rc | 11 +++ src/Makefile | 2 +- src/fstrim.c | 257 ---------------------------------------------------------- 7 files changed, 42 insertions(+), 287 deletions(-) delete mode 100644 src/fstrim.c diff --git a/.gitignore b/.gitignore index 900ff95..c0e0e4c 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,6 @@ src/fill src/fill2 src/fs_perms src/fstest -src/fstrim src/ftrunc src/genhashnames src/getdevicesize diff --git a/251 b/251 index f46b6e2..410511f 100755 --- a/251 +++ b/251 @@ -44,6 +44,7 @@ mypid=$$ _supported_fs generic _supported_os Linux _require_scratch +_require_fstrim _scratch_mkfs >/dev/null 2>&1 _scratch_mount @@ -71,16 +72,11 @@ _fail() kill $mypid 2> /dev/null } -_check_fstrim_support() -{ - $here/src/fstrim -l 10M $SCRATCH_MNT &> /dev/null -} - _guess_max_minlen() { mmlen=100000 while [ $mmlen -gt 1 ]; do - $here/src/fstrim -l $(($mmlen*2))k -m ${mmlen}k $SCRATCH_MNT &> /dev/null && break + fstrim -l $(($mmlen*2))k -m ${mmlen}k $SCRATCH_MNT &> /dev/null && break mmlen=$(($mmlen/2)) done echo $mmlen @@ -102,12 +98,12 @@ fstrim_loop() minlen=$(((RANDOM*($RANDOM%2+1))%$mmlen)) start=$RANDOM if [ $((RANDOM%10)) -gt 7 ]; then - $here/src/fstrim $SCRATCH_MNT & + fstrim $SCRATCH_MNT & fpid=$! wait $fpid fi while [ $start -lt $fsize ] ; do - $here/src/fstrim -m ${minlen}k -s ${start}k -l ${step}k $SCRATCH_MNT & + fstrim -m ${minlen}k -o ${start}k -l ${step}k $SCRATCH_MNT & fpid=$! wait $fpid start=$(( $start + $step )) @@ -157,7 +153,7 @@ content=$here # Check for FITRIM support echo -n "Checking FITRIM support: " -_check_fstrim_support || _notrun "FSTRIM is not supported" +_require_batched_discard $SCRATCH_MNT echo "done." mkdir -p $tmp diff --git a/260 b/260 index b005cd3..7321426 100755 --- a/260 +++ b/260 @@ -41,13 +41,13 @@ mypid=$$ _supported_fs generic _supported_os Linux _require_math +_require_fstrim _require_scratch _scratch_mkfs >/dev/null 2>&1 _scratch_mount -FSTRIM="$here/src/fstrim" -"$FSTRIM" -l 10M $SCRATCH_MNT &> /dev/null || _notrun "FSTRIM is not supported" +_require_batched_discard $SCRATCH_MNT fssize=$(df -k | grep "$SCRATCH_MNT" | grep "$SCRATCH_DEV" | awk '{print $2}') @@ -59,20 +59,24 @@ max_64bit=$(_math "2^64 - 1") # the file system echo "[+] Start beyond the end of fs (should fail)" -"$FSTRIM" -s $beyond_eofs $SCRATCH_MNT +out=$(fstrim -o $beyond_eofs $SCRATCH_MNT 2>&1) [ $? -eq 0 ] && status=1 +echo -n $out | cut -d ":" -f3- echo "[+] Start beyond the end of fs with len set (should fail)" -"$FSTRIM" -s $beyond_eofs -l1M $SCRATCH_MNT +out=$(fstrim -o $beyond_eofs -l1M $SCRATCH_MNT 2>&1) [ $? -eq 0 ] && status=1 +echo -n $out | cut -d ":" -f3- echo "[+] Start = 2^64-1 (should fail)" -"$FSTRIM" -s $max_64bit $SCRATCH_MNT +out=$(fstrim -o $max_64bit $SCRATCH_MNT 2>&1) [ $? -eq 0 ] && status=1 +echo -n $out | cut -d ":" -f3- echo "[+] Start = 2^64-1 and len is set (should fail)" -"$FSTRIM" -s $max_64bit -l1M $SCRATCH_MNT +out=$(fstrim -o $max_64bit -l1M $SCRATCH_MNT 2>&1) [ $? -eq 0 ] && status=1 +echo -n $out | cut -d ":" -f3- _scratch_unmount _scratch_mkfs >/dev/null 2>&1 @@ -82,16 +86,16 @@ _scratch_mount # since the length should be truncated echo "[+] Default length (should succeed)" -"$FSTRIM" $SCRATCH_MNT +fstrim $SCRATCH_MNT [ $? -ne 0 ] && status=1 echo "[+] Default length with start set (should succeed)" -"$FSTRIM" -s10M $SCRATCH_MNT +fstrim -o10M $SCRATCH_MNT [ $? -ne 0 ] && status=1 echo "[+] Length beyond the end of fs (should succeed)" -"$FSTRIM" -l $beyond_eofs $SCRATCH_MNT +fstrim -l $beyond_eofs $SCRATCH_MNT [ $? -ne 0 ] && status=1 echo "[+] Length beyond the end of fs with start set (should succeed)" -"$FSTRIM" -s10M -l $beyond_eofs $SCRATCH_MNT +fstrim -o10M -l $beyond_eofs $SCRATCH_MNT [ $? -ne 0 ] && status=1 _scratch_unmount @@ -101,8 +105,9 @@ _scratch_mount # This is a bit fuzzy, but since the file system is fresh # there should be at least (fssize/2) free space to trim. # This is supposed to catch wrong FITRIM argument handling -out=$("$FSTRIM" -v -s10M $SCRATCH_MNT) -bytes=${out%% *} +out=$(fstrim -v -o10M $SCRATCH_MNT) +nopref=${out##*: } +bytes=${nopref%% *} if [ $bytes -gt $(_math "$fssize*1024") ]; then status=1 @@ -155,7 +160,7 @@ _scratch_unmount _scratch_mkfs >/dev/null 2>&1 _scratch_mount # It should fail since $start is beyond the end of file system -"$FSTRIM" -s$start -l10M $SCRATCH_MNT &> /dev/null +fstrim -o$start -l10M $SCRATCH_MNT &> /dev/null if [ $? -eq 0 ]; then status=1 echo "It seems that fs logic handling start"\ @@ -173,8 +178,9 @@ _scratch_mount # It is because btrfs does not have not-yet-used parts of the device # mapped and since we got here right after the mkfs, there is not # enough free extents in the root tree. -out=$("$FSTRIM" -v -l$len $SCRATCH_MNT) -bytes=${out%% *} +out=$(fstrim -v -l$len $SCRATCH_MNT) +nopref=${out##*: } +bytes=${nopref%% *} if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ]; then status=1 echo "It seems that fs logic handling len argument overflows" diff --git a/260.out b/260.out index 199320a..cf0b14e 100644 --- a/260.out +++ b/260.out @@ -1,12 +1,12 @@ QA output created by 260 [+] Start beyond the end of fs (should fail) -fstrim: FSTRIM: Invalid argument + FITRIM ioctl failed: Invalid argument [+] Start beyond the end of fs with len set (should fail) -fstrim: FSTRIM: Invalid argument + FITRIM ioctl failed: Invalid argument [+] Start = 2^64-1 (should fail) -fstrim: FSTRIM: Invalid argument + FITRIM ioctl failed: Invalid argument [+] Start = 2^64-1 and len is set (should fail) -fstrim: FSTRIM: Invalid argument + FITRIM ioctl failed: Invalid argument [+] Default length (should succeed) [+] Default length with start set (should succeed) [+] Length beyond the end of fs (should succeed) diff --git a/common.rc b/common.rc index 602513a..bd539c0 100644 --- a/common.rc +++ b/common.rc @@ -1778,6 +1778,17 @@ _devmgt_add() echo ${tdl} > /sys/class/scsi_host/host${h}/scan || _fail "Add disk failed" } +_require_fstrim() +{ + which fstrim &>/dev/null || _notrun "This test requires fstrim utility." +} + +_require_batched_discard() +{ + _require_fstrim + fstrim ${1} &>/dev/null || _notrun "FITRIM not supported on mountpoint $1" +} + ################################################################################ if [ "$iam" != new -a "$iam" != bench ] diff --git a/src/Makefile b/src/Makefile index 67250ee..9671a38 100644 --- a/src/Makefile +++ b/src/Makefile @@ -17,7 +17,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \ preallo_rw_pattern_writer ftrunc trunc fs_perms testx looptest \ locktest unwritten_mmap bulkstat_unlink_test t_stripealign \ bulkstat_unlink_test_modified t_dir_offset t_futimens t_immutable \ - stale_handle pwrite_mmap_blocked fstrim t_dir_offset2 + stale_handle pwrite_mmap_blocked t_dir_offset2 SUBDIRS = diff --git a/src/fstrim.c b/src/fstrim.c deleted file mode 100644 index e23bcb3..0000000 --- a/src/fstrim.c +++ /dev/null @@ -1,257 +0,0 @@ -/* - * fstrim.c -- discard the part (or whole) of mounted filesystem. - * - * Copyright (C) 2010 Red Hat, Inc., Lukas Czerner - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This program uses FITRIM ioctl to discard parts or the whole filesystem - * online (mounted). You can specify range (start and lenght) to be - * discarded, or simply discard while filesystem. - * - * Usage: fstrim [options] - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#ifndef FITRIM -struct fstrim_range { - uint64_t start; - uint64_t len; - uint64_t minlen; -}; -#define FITRIM _IOWR('X', 121, struct fstrim_range) -#endif - -const char *program_name = "fstrim"; - -struct options { - struct fstrim_range *range; - char mpoint[PATH_MAX]; - char verbose; -}; - -static void usage(void) -{ - fprintf(stderr, - "Usage: %s [-s start] [-l length] [-m minimum-extent]" - " [-v] {mountpoint}\n\t" - "-s Starting Byte to discard from\n\t" - "-l Number of Bytes to discard from the start\n\t" - "-m Minimum extent length to discard\n\t" - "-v Verbose - number of discarded bytes\n", - program_name); -} - -static void err_exit(const char *fmt, ...) -{ - va_list pvar; - va_start(pvar, fmt); - vfprintf(stderr, fmt, pvar); - va_end(pvar); - usage(); - exit(EXIT_FAILURE); -} - -/** - * Get the number from argument. It can be number followed by - * units: k|K, m|M, g|G, t|T - */ -static unsigned long long get_number(char **optarg) -{ - char *opt, *end; - unsigned long long number, max; - - /* get the max to avoid overflow */ - max = ULLONG_MAX / 1024; - number = 0; - opt = *optarg; - - if (*opt == '-') { - err_exit("%s: %s (%s)\n", program_name, - strerror(ERANGE), *optarg); - } - - errno = 0; - number = strtoull(opt, &end , 0); - if (errno) - err_exit("%s: %s (%s)\n", program_name, - strerror(errno), *optarg); - - /* - * Convert units to numbers. Fall-through stack is used for units - * so absence of breaks is intentional. - */ - switch (*end) { - case 'T': /* terabytes */ - case 't': - if (number > max) - err_exit("%s: %s (%s)\n", program_name, - strerror(ERANGE), *optarg); - number *= 1024; - case 'G': /* gigabytes */ - case 'g': - if (number > max) - err_exit("%s: %s (%s)\n", program_name, - strerror(ERANGE), *optarg); - number *= 1024; - case 'M': /* megabytes */ - case 'm': - if (number > max) - err_exit("%s: %s (%s)\n", program_name, - strerror(ERANGE), *optarg); - number *= 1024; - case 'K': /* kilobytes */ - case 'k': - if (number > max) - err_exit("%s: %s (%s)\n", program_name, - strerror(ERANGE), *optarg); - number *= 1024; - end++; - case '\0': /* end of the string */ - break; - default: - err_exit("%s: %s (%s)\n", program_name, - strerror(EINVAL), *optarg); - return 0; - } - - if (*end != '\0') { - err_exit("%s: %s (%s)\n", program_name, - strerror(EINVAL), *optarg); - } - - return number; -} - -static int parse_opts(int argc, char **argv, struct options *opts) -{ - int c; - - while ((c = getopt(argc, argv, "s:l:m:v")) != EOF) { - switch (c) { - case 's': /* starting point */ - opts->range->start = get_number(&optarg); - break; - case 'l': /* length */ - opts->range->len = get_number(&optarg); - break; - case 'm': /* minlen */ - opts->range->minlen = get_number(&optarg); - break; - case 'v': /* verbose */ - opts->verbose = 1; - break; - default: - return EXIT_FAILURE; - } - } - - return 0; -} - -int main(int argc, char **argv) -{ - struct options *opts; - struct stat sb; - int fd, err = 0, ret = EXIT_FAILURE; - - opts = malloc(sizeof(struct options)); - if (!opts) - err_exit("%s: malloc(): %s\n", program_name, strerror(errno)); - - opts->range = NULL; - opts->verbose = 0; - - if (argc > 1) - strncpy(opts->mpoint, argv[argc - 1], sizeof(opts->mpoint)); - - opts->range = calloc(1, sizeof(struct fstrim_range)); - if (!opts->range) { - fprintf(stderr, "%s: calloc(): %s\n", program_name, - strerror(errno)); - goto free_opts; - } - - opts->range->len = ULLONG_MAX; - - if (argc > 2) - err = parse_opts(argc, argv, opts); - - if (err) { - usage(); - goto free_opts; - } - - if (strnlen(opts->mpoint, 1) < 1) { - fprintf(stderr, "%s: You have to specify mount point.\n", - program_name); - usage(); - goto free_opts; - } - - if (stat(opts->mpoint, &sb) == -1) { - fprintf(stderr, "%s: %s: %s\n", program_name, - opts->mpoint, strerror(errno)); - usage(); - goto free_opts; - } - - if (!S_ISDIR(sb.st_mode)) { - fprintf(stderr, "%s: %s: (%s)\n", program_name, - opts->mpoint, strerror(ENOTDIR)); - usage(); - goto free_opts; - } - - fd = open(opts->mpoint, O_RDONLY); - if (fd < 0) { - fprintf(stderr, "%s: open(%s): %s\n", program_name, - opts->mpoint, strerror(errno)); - goto free_opts; - } - - if (ioctl(fd, FITRIM, opts->range)) { - fprintf(stderr, "%s: FSTRIM: %s\n", program_name, - strerror(errno)); - goto free_opts; - } - - if ((opts->verbose) && (opts->range)) - fprintf(stdout, "%llu Bytes were trimmed\n", (unsigned long long)opts->range->len); - - ret = EXIT_SUCCESS; - -free_opts: - if (opts) { - if (opts->range) - free(opts->range); - free(opts); - } - - return ret; -} -- 1.7.7.6 From msnitzer@redhat.com Wed Aug 1 08:40:35 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71DeZMI029981 for ; Wed, 1 Aug 2012 08:40:35 -0500 X-ASG-Debug-ID: 1343828434-04cbb06db11f7270001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id opNk2sA4k7End3LR for ; Wed, 01 Aug 2012 06:40:34 -0700 (PDT) X-Barracuda-Envelope-From: msnitzer@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q71DePvR008709 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 1 Aug 2012 09:40:25 -0400 Received: from localhost (dhcp-185-13.bos.redhat.com [10.16.185.13]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q71DeIPB021861 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 1 Aug 2012 09:40:19 -0400 Date: Wed, 1 Aug 2012 09:40:18 -0400 From: Mike Snitzer To: axboe@kernel.dk Cc: linux-kernel@vger.kernel.org, Paolo Bonzini , martin.petersen@oracle.com, david@fromorbit.com, xfs@oss.sgi.com, dm-devel@redhat.com, hch@lst.de, vgoyal@redhat.com Subject: Re: [PATCH v3 0/2] block: improvements for discard alignment Message-ID: <20120801134018.GC20830@redhat.com> X-ASG-Orig-Subj: Re: [PATCH v3 0/2] block: improvements for discard alignment References: <1341504104-1674-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1341504104-1674-1-git-send-email-pbonzini@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1343828434 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On Thu, Jul 05 2012 at 12:01pm -0400, Paolo Bonzini wrote: > When a disk has a large discard_granularity, discards are not split with > optimal alignment; the pessimization gets bigger as discard_granularity > and max_discard_sectors become closer. > > Take the limit case of discard_granularity == max_discard_sectors == 64. > Then, if a request is submitted for 256 sectors 2..257 it will be split > like this: 2..65, 66..129, 130..193, 194..257. None of these requests > is aligned, so in fact you might end up with no discarded logical blocks > at all. With this patch, the split will be 2..63, 64..127, 128..191, > 192..255, 256..257. The patches also take the discard_alignment into > consideration. > > Patch 1 adjusts the computation of the granularity-adjusted > max_discard_sectors so that it prepares for the new code in patch 2, > which actually adjusts the split. > > v2->v3: drop addition of queue/discard_alignment to sysfs, use > correct alignment for partitions > > Paolo Bonzini (2): > block: reorganize rounding of max_discard_sectors > block: split discard into aligned requests > > block/blk-lib.c | 41 ++++++++++++++++++++++++++++------------- > include/linux/blkdev.h | 10 ++++++++++ > 2 files changed, 38 insertions(+), 13 deletions(-) Hey Jens, Would be great to get these discard fixes in. I know both Christoph and Vivek have reviewed these changes but that isn't reflected in the patch headers. These patches eliminate misaligned discard from being sent to the dm-thinp target. Tested-by: Mike Snitzer From tracek@redhat.com Wed Aug 1 08:46:06 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_55 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71Dk6Oe030517 for ; Wed, 1 Aug 2012 08:46:06 -0500 X-ASG-Debug-ID: 1343828765-04cb6c19411d16c0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id EApRQxSw8IAoxKOU; Wed, 01 Aug 2012 06:46:05 -0700 (PDT) X-Barracuda-Envelope-From: tracek@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q71Dk3K6006569 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 1 Aug 2012 09:46:04 -0400 Received: from luke.brq.redhat.com ([10.34.27.4]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q71Dk1Oi009906; Wed, 1 Aug 2012 09:46:01 -0400 From: Tomas Racek To: linux-xfs@vger.kernel.org Cc: lczerner@redhat.com, Tomas Racek , Ben Myers (supporter:XFS FILESYSTEM), Alex Elder (supporter:XFS FILESYSTEM), xfs@oss.sgi.com (supporter:XFS FILESYSTEM), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2] xfs: check for possible overflow in xfs_ioc_trim Date: Wed, 1 Aug 2012 15:45:37 +0200 X-ASG-Orig-Subj: [PATCH v2] xfs: check for possible overflow in xfs_ioc_trim Message-Id: <1343828737-5324-1-git-send-email-tracek@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1343828765 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com If range.start points behind the filesystem, return invalid value error. This fixes possible overflow in start = BTOBB(range.start) when range.start is nearly ULLONG_MAX. Signed-off-by: Tomas Racek --- fs/xfs/xfs_discard.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_discard.c b/fs/xfs/xfs_discard.c index f9c3fe3..33d367f 100644 --- a/fs/xfs/xfs_discard.c +++ b/fs/xfs/xfs_discard.c @@ -179,12 +179,13 @@ xfs_ioc_trim( * used by the fstrim application. In the end it really doesn't * matter as trimming blocks is an advisory interface. */ + if (range.start >= XFS_FSB_TO_B(mp, mp->m_sb.sb_dblocks)) + return -XFS_ERROR(EINVAL); + start = BTOBB(range.start); end = start + BTOBBT(range.len) - 1; minlen = BTOBB(max_t(u64, granularity, range.minlen)); - if (XFS_BB_TO_FSB(mp, start) >= mp->m_sb.sb_dblocks) - return -XFS_ERROR(EINVAL); if (end > XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks) - 1) end = XFS_FSB_TO_BB(mp, mp->m_sb.sb_dblocks)- 1; -- 1.7.7.6 From elder@inktank.com Wed Aug 1 09:56:53 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71Eur09036474 for ; Wed, 1 Aug 2012 09:56:53 -0500 X-ASG-Debug-ID: 1343833012-04cb6c193f1d7250001-NocioJ Received: from mail-yx0-f181.google.com (mail-yx0-f181.google.com [209.85.213.181]) by cuda.sgi.com with ESMTP id dBo3SNOPeFdUUEdm (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Aug 2012 07:56:52 -0700 (PDT) X-Barracuda-Envelope-From: elder@inktank.com X-Barracuda-Apparent-Source-IP: 209.85.213.181 Received: by yenl3 with SMTP id l3so9040749yen.26 for ; Wed, 01 Aug 2012 07:56:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding:x-gm-message-state; bh=E5JbpmMOUG2bZH5XDt7072pTY0t6oITiJMmyr+rNNRE=; b=PNAPn9yRXHErzqs82D0ciOzkJ78v7PZ/O63OzZ/1KPeAQeYfkNiSKbsGoLUA70ohmJ j/J+lGA9+iYL1/zeaXjtsz9ZIJADaJI5Xm3CPtvEutc/DaZnhbl0WQ7Vowkm7QRDfW2W oOoOEBo/yjR2xPg9f4vyWeIt1sYj9eeNYeYq6htN4qTSanxy69lCsI4Fz2ri6l4Nlui8 wqcp6W3zF0mH4PbJMDFizPLYJ3tnOqqTcPDw88LcvAWbrybEZmzdkw2J7aQDzXU8XQGr wSLd41DsFVdvbQ4h9hiY6U6HkwWlgDmJUdtwEedc2l8KFYJ6QfztT7U5TshLvtrkCcsy dQGQ== Received: by 10.236.165.35 with SMTP id d23mr16832480yhl.127.1343833011922; Wed, 01 Aug 2012 07:56:51 -0700 (PDT) Received: from [172.22.22.4] (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPS id q3sm2995960ani.15.2012.08.01.07.56.50 (version=SSLv3 cipher=OTHER); Wed, 01 Aug 2012 07:56:50 -0700 (PDT) Message-ID: <501943B1.5090300@inktank.com> Date: Wed, 01 Aug 2012 09:56:49 -0500 From: Alex Elder User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH] xfs: kill struct declarations in xfs_mount.h Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH] xfs: kill struct declarations in xfs_mount.h Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQkszRijopu3Wh/F7zwvvqMsw/20HPMyU92W4+u58o7MQl0c5ORPiryhFKTg7NmbbENpiU63 X-Barracuda-Connect: mail-yx0-f181.google.com[209.85.213.181] X-Barracuda-Start-Time: 1343833012 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104380 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- I noticed that "struct xfs_mount_args" was still declared in "fs/xfs/xfs_mount.h". That struct doesn't even exist any more (and is obviously not referenced elsewhere in that header file). While in there, delete four other unneeded struct declarations in that file. Doing so highlights that "fs/xfs/xfs_trace.h" was relying indirectly on "xfs_mount.h" to be #included in order to declare "struct xfs_bmbt_irec", so add that declaration to resolve that issue. Signed-off-by: Alex Elder --- fs/xfs/xfs_mount.h | 5 ----- fs/xfs/xfs_trace.h | 1 + 2 files changed, 1 insertion(+), 5 deletions(-) Index: b/fs/xfs/xfs_mount.h =================================================================== --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -54,12 +54,7 @@ typedef struct xfs_trans_reservations { #include "xfs_sync.h" struct xlog; -struct xfs_mount_args; struct xfs_inode; -struct xfs_bmbt_irec; -struct xfs_bmap_free; -struct xfs_extdelta; -struct xfs_swapext; struct xfs_mru_cache; struct xfs_nameops; struct xfs_ail; Index: b/fs/xfs/xfs_trace.h =================================================================== --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -37,6 +37,7 @@ struct xlog_recover; struct xlog_recover_item; struct xfs_buf_log_format; struct xfs_inode_log_format; +struct xfs_bmbt_irec; DECLARE_EVENT_CLASS(xfs_attr_list_class, TP_PROTO(struct xfs_attr_list_context *ctx), From elder@inktank.com Wed Aug 1 09:56:57 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71EuvvR036483 for ; Wed, 1 Aug 2012 09:56:57 -0500 X-ASG-Debug-ID: 1343833015-04cb6c19401d7260001-NocioJ Received: from mail-gg0-f181.google.com (mail-gg0-f181.google.com [209.85.161.181]) by cuda.sgi.com with ESMTP id IAgfz0jw0WTBOApD (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Aug 2012 07:56:55 -0700 (PDT) X-Barracuda-Envelope-From: elder@inktank.com X-Barracuda-Apparent-Source-IP: 209.85.161.181 Received: by ggnv5 with SMTP id v5so9005368ggn.26 for ; Wed, 01 Aug 2012 07:56:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding:x-gm-message-state; bh=nATTXDmG0BInznqSHtjLMB9zN5JGSUkAORxVDgIyXxo=; b=mc0nlayQUxDANf8hpRVR+birdKMN7A6SqmlEwum1/US8Qtm4SsXf3wqkV1IfwS6RjU zxOCzHG70tkX/g6wBZzJZgw6eeaI4/tiKO+rxq5IBvSJgtNFxcsquyBj8YhZ5nvKtCxG nXPgLnc+VP31FmVmhoartQiEdio8/+9md1C8ySLCpS3J1Onv4adaIg62ztoK1ms3ANpb I8sPH4au/x2i5IZDTF4dgpDOlbKt8F1se1fPZsjrg8Otiah9r/TgSX3CQIHu7me6Ci/C jEm92zuSU9BjZ6AFZjqIWVe8L9SFaktQT6YQzeo6shC1T2gMdZQymVJSb22tsQ3PFSFe E3zg== Received: by 10.236.130.240 with SMTP id k76mr17574364yhi.20.1343833015505; Wed, 01 Aug 2012 07:56:55 -0700 (PDT) Received: from [172.22.22.4] (c-71-195-31-37.hsd1.mn.comcast.net. [71.195.31.37]) by mx.google.com with ESMTPS id y10sm5895735yhd.6.2012.08.01.07.56.53 (version=SSLv3 cipher=OTHER); Wed, 01 Aug 2012 07:56:55 -0700 (PDT) Message-ID: <501943B5.4030309@inktank.com> Date: Wed, 01 Aug 2012 09:56:53 -0500 From: Alex Elder User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH] xfs: minor inode64 mount option cleanup Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH] xfs: minor inode64 mount option cleanup Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQnaOBsEkZu8TmErmJjgTH106XkpFdwdzYjlKrWZGhG6GqfUm0nB68Vfv8RWwashxb620CrW X-Barracuda-Connect: mail-gg0-f181.google.com[209.85.161.181] X-Barracuda-Start-Time: 1343833015 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104380 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Supplying the "inode64" mount option means inode allocations should not be restricted to "small" inode numbers (within a 32 bit range). So in xfs_parseargs(), the XFS_MOUNT_SMALL_INUMS flag is cleared if "inode64" is requested. If a kernel does not support 64-bit inodes (which may be because it doesn't support 64-bit block addresses), the "inode64" mount option is not allowed. But even though it's treated as an invalid mount option xfs_parseargs() still clears SMALL_INUMS flag if "inode64" is requested. The end result may not actually matter, but I think we should not be changing any state (clearing the SMALL_INUMS flag) when an invalid mount option is supplied. So this just makes sure the SMALL_INUMS flag is only cleared if the kernel supports big inode numbers. Signed-off-by: Alex Elder --- fs/xfs/xfs_super.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) Index: b/fs/xfs/xfs_super.c =================================================================== --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -295,12 +295,13 @@ xfs_parseargs( } dswidth = simple_strtoul(value, &eov, 10); } else if (!strcmp(this_char, MNTOPT_64BITINODE)) { +#if XFS_BIG_INUMS mp->m_flags &= ~XFS_MOUNT_SMALL_INUMS; -#if !XFS_BIG_INUMS +#else /* !XFS_BIG_INUMS */ xfs_warn(mp, "%s option not allowed on this system", this_char); return EINVAL; -#endif +#endif /* !XFS_BIG_INUMS */ } else if (!strcmp(this_char, MNTOPT_NOUUID)) { mp->m_flags |= XFS_MOUNT_NOUUID; } else if (!strcmp(this_char, MNTOPT_BARRIER)) { From treestem@gmail.com Wed Aug 1 10:17:24 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_00,FREEMAIL_FROM, FREEMAIL_REPLY,T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71FHN7n038146 for ; Wed, 1 Aug 2012 10:17:23 -0500 X-ASG-Debug-ID: 1343834233-04bdf02d181ef350001-NocioJ Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com [209.85.214.181]) by cuda.sgi.com with ESMTP id R3hpyOXkJerGUMbL (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Aug 2012 08:17:14 -0700 (PDT) X-Barracuda-Envelope-From: treestem@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.181 Received: by obbup19 with SMTP id up19so13509253obb.26 for ; Wed, 01 Aug 2012 08:17:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=atYo+x9K7yxwqzD4qFhdf3QyjVeBNjOEe55+ixQGM08=; b=br4NlYP9MEqH769UZkCkWcYdOrbjjCg96o6RrS3iE3+xUEgbY/DU28e3mBa3LeSSrX 9RZgcRuu+2TprdU/hk+oRPPSoVDplXUG25Ca4LIcBcPiEmdrfTfubXJ6fc7y4SCPP69Y D0v4p3yYH0gOSpxGYp78mlSBoNrSRtXdF+1p2FsrWb8wiK6Rfm9cyDBT9zUMvHCSnN4/ c1hMwk2+Ed/BEoZauik4QA2im23NZGKv4kCS52PBD/yFhyUI5mnK/WjVEiQOrB5mWIkB Hk7fFkEBOXRbxFz/NuOvrvoS3jO4TD6xZOkgATseu3KIHiD99K8YDqpl1jpwPz4ohwrQ DswA== MIME-Version: 1.0 Received: by 10.182.222.39 with SMTP id qj7mr29890213obc.16.1343834233607; Wed, 01 Aug 2012 08:17:13 -0700 (PDT) Received: by 10.76.18.79 with HTTP; Wed, 1 Aug 2012 08:17:13 -0700 (PDT) Date: Wed, 1 Aug 2012 11:17:13 -0400 Message-ID: Subject: xfs_db: bug in bmap command? From: Peter Watkins X-ASG-Orig-Subj: xfs_db: bug in bmap command? To: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=f46d0444738321968804c635ca89 X-Barracuda-Connect: mail-ob0-f181.google.com[209.85.214.181] X-Barracuda-Start-Time: 1343834234 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104380 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature --f46d0444738321968804c635ca89 Content-Type: text/plain; charset=ISO-8859-1 Hello, If you have a moment would you be kind enough to review the test case and patch below? I ran into this while using xfs_db to dump extents for a large, fragmented file. The extents were stored in btree form. -Peter --f46d0444738321968804c635ca89 Content-Type: text/x-patch; charset=US-ASCII; name="0001-xfstests-add-test-287-for-xfs_db-bmap.patch" Content-Disposition: attachment; filename="0001-xfstests-add-test-287-for-xfs_db-bmap.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h5ck344d0 RnJvbSBhNjYxMjhmZDI1NjM5YzA0ZGUzNjZjNDkyZmUyZjFjZTZjZjhkYmE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBXYXRraW5zIDx0cmVlc3RlbUBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgMzEgSnVsIDIwMTIgMTQ6MDc6MDQgLTA0MDAKU3ViamVjdDogW1BBVENIXSB4ZnN0 ZXN0czogYWRkIHRlc3QgMjg3IGZvciB4ZnNfZGIgYm1hcAoKVGVzdCBkdW1waW5nIGEgZmlsZSBi bWFwIGxhcmdlIGVub3VnaCB0byBiZSBpbiBidHJlZSBmb3JtLgoKU2lnbmVkLW9mZi1ieTogUGV0 ZXIgV2F0a2lucyA8dHJlZXN0ZW1AZ21haWwuY29tPgotLS0KIDI4NyAgICAgfCAgMTA4ICsrCiAy ODcub3V0IHwgNDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIGdyb3VwICAgfCAgICAxICsKIDMgZmlsZXMgY2hhbmdlZCwg NDIxMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNzU1IDI4 NwogY3JlYXRlIG1vZGUgMTAwNjQ0IDI4Ny5vdXQKCmRpZmYgLS1naXQgYS8yODcgYi8yODcKbmV3 IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2U4MmE4OQotLS0gL2Rldi9udWxsCisr KyBiLzI4NwpAQCAtMCwwICsxLDEwOCBAQAorIyEgL2Jpbi9iYXNoCisjIEZTIFFBIFRlc3QgTm8u IDMwMQorIworIyBUZXN0IG91dDoKKyMgeGZzX2RiIC1yIC1jICJibWFwIiB3aGVuIGV4dGVudHMg YXJlIGluIGJ0cmVlIGZvcm1hdAorIworIyBUZXN0IGEgYnVnIHByaW50aW5nIG91dCB0aGUgZGF0 YSBmb3JrIGV4dGVudCBsaXN0IHdoZW4gCisjIHRoZSBleHRlbnRzIGFyZSBzdG9yZWQgaW4gYnRy ZWUgZm9ybWF0LgorIworIyBXZSBjcmVhdGUgZW5vdWdoIGV4dGVudHMgdG8gZm9yY2UgdGhlIGJ0 cmVlIGZvcm1hdCwgdGhlbgorIyBkdW1wIG91dCB0aGUgd2hvbGUgbGlzdC4KKyMKKyMgQVRURU5J T046IHRoaXMgdGVzdCBjYW4gaGFuZyBpZiB5b3UgZG9uJ3QgaGF2ZSB0aGUgeGZzX2RiIGZpeAor IworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorIyBJbmMuLCAgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIwor IyBjcmVhdG9yCitvd25lcj10cmVlc3RlbUBnbWFpbC5jb20KKworc2VxPWBiYXNlbmFtZSAkMGAK K2VjaG8gIlFBIG91dHB1dCBjcmVhdGVkIGJ5ICRzZXEiCisKK2hlcmU9YHB3ZGAKK3RtcD0vdG1w LyQkCitzdGF0dXM9MQkjIGZhaWx1cmUgaXMgdGhlIGRlZmF1bHQhCit0cmFwICJfY2xlYW51cDsg ZXhpdCBcJHN0YXR1cyIgMCAxIDIgMyAxNQorCitfY2xlYW51cCgpCit7CisgICAgY2QgLworICAg IHJtIC1mICR0bXAuKgorfQorCitfZmlsdGVyX2JtYXAoKQoreworCXRlZSAtYSAkaGVyZS8kc2Vx LmZ1bGwgfCBcCisJCWVncmVwICdedS58XmRhdGEgb2Zmc2V0JworfQorCitfZG9fZnJhZygpCit7 CisJbnVtX2J5dGVzPSQoKCQxKjEwMjQqMTAyNCkpCisJaG9sZT0kKCg2NCoxMDI0KSkKKwljeWNs ZT0kKCgyKiRob2xlKSkKKwljeWNsZXM9JCgoJG51bV9ieXRlcy8kY3ljbGUpKQorCisJJFhGU19J T19QUk9HIC1mIC1jICJyZXN2c3AgMCAkbnVtX2J5dGVzIiAkd29ya19maWxlCisKKwlpPTAKKwlm b3IgY2MgaW4gYHNlcSAxICRjeWNsZXNgIDsgZG8KKyAgICAJICAkWEZTX0lPX1BST0cgLWMgInVu cmVzdnNwICRpICRob2xlIiAkd29ya19maWxlCisgICAgCSAgaT0kKCgkaSskY3ljbGUpKQorCWRv bmUKKworCWludW09YHN0YXQgLS1mb3JtYXQgIiVpIiAkd29ya19maWxlYAorCisJY2QgLzsgJFVN T1VOVF9QUk9HICRTQ1JBVENIX01OVAorfQorCitfZG9fYm1hcCgpCit7CisJJFhGU19EQl9QUk9H IC1yIC1jICJpbm9kZSAkaW51bSIgLWMgInAiIC1jICJibWFwIiAkU0NSQVRDSF9ERVYgMj4mMSB8 IF9maWx0ZXJfYm1hcAorfQorCisKKyMgZ2V0IHN0YW5kYXJkIGVudmlyb25tZW50LCBmaWx0ZXJz IGFuZCBjaGVja3MKKy4gLi9jb21tb24ucmMKKy4gLi9jb21tb24uZmlsdGVyCisuIC4vY29tbW9u LmF0dHIKKworIyByZWFsIFFBIHRlc3Qgc3RhcnRzIGhlcmUKKworIyBNb2RpZnkgYXMgYXBwcm9w cmlhdGUuCitfc3VwcG9ydGVkX2ZzIHhmcworX3N1cHBvcnRlZF9vcyBMaW51eAorCitfcmVxdWly ZV9zY3JhdGNoCisKK3JtIC1mICRzZXEuZnVsbAorCitfc2NyYXRjaF9ta2ZzIC1pIGF0dHI9Mixz aXplPTI1NiAtbCBsYXp5LWNvdW50PTEgPi9kZXYvbnVsbCAyPiYxCitfc2NyYXRjaF9tb3VudAor Cit3b3JrX2ZpbGU9JFNDUkFUQ0hfTU5UL2ZyYWdtZW50ZWQKKworIyBjcmVhdGUgZnJhZ21lbnRl ZCA1MTIgTUIgZmlsZQorX2RvX2ZyYWcgNTEyCisKK19kb19ibWFwCisKKyMgc3VjY2VzcywgYWxs IGRvbmUKK3N0YXR1cz0wCitleGl0CmRpZmYgLS1naXQgYS8yODcub3V0IGIvMjg3Lm91dApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWJlZDEzCi0tLSAvZGV2L251bGwKKysr IGIvMjg3Lm91dApAQCAtMCwwICsxLDQxMDEgQEAKK1FBIG91dHB1dCBjcmVhdGVkIGJ5IDMwMQor dS5ibWJ0LmxldmVsID0gMgordS5ibWJ0Lm51bXJlY3MgPSAxCit1LmJtYnQua2V5c1sxXSA9IFtz dGFydG9mZl0gMTpbMTZdCit1LmJtYnQucHRyc1sxXSA9IDE6MTMxMDk0CitkYXRhIG9mZnNldCAx NiBzdGFydGJsb2NrIDI4ICgwLzI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4IHN0 YXJ0YmxvY2sgNjAgKDAvNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODAgc3RhcnRi bG9jayA5MiAoMC85MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTIgc3RhcnRibG9j ayAxMjQgKDAvMTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0NCBzdGFydGJsb2Nr IDE1NiAoMC8xNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc2IHN0YXJ0YmxvY2sg MTg4ICgwLzE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDggc3RhcnRibG9jayAy MjAgKDAvMjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0MCBzdGFydGJsb2NrIDI1 MiAoMC8yNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjcyIHN0YXJ0YmxvY2sgMjg0 ICgwLzI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDQgc3RhcnRibG9jayAzMTYg KDAvMzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzNiBzdGFydGJsb2NrIDM0OCAo MC8zNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzY4IHN0YXJ0YmxvY2sgMzgwICgw LzM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDAgc3RhcnRibG9jayA0MTIgKDAv NDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzMiBzdGFydGJsb2NrIDQ0NCAoMC80 NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDY0IHN0YXJ0YmxvY2sgNDc2ICgwLzQ3 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTYgc3RhcnRibG9jayA1MDggKDAvNTA4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyOCBzdGFydGJsb2NrIDU0MCAoMC81NDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTYwIHN0YXJ0YmxvY2sgNTcyICgwLzU3Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTIgc3RhcnRibG9jayA2MDQgKDAvNjA0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyNCBzdGFydGJsb2NrIDYzNiAoMC82MzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjU2IHN0YXJ0YmxvY2sgNjY4ICgwLzY2OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODggc3RhcnRibG9jayA3MDAgKDAvNzAwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyMCBzdGFydGJsb2NrIDczMiAoMC83MzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzUyIHN0YXJ0YmxvY2sgNzY0ICgwLzc2NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODQgc3RhcnRibG9jayA3OTYgKDAvNzk2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgxNiBzdGFydGJsb2NrIDgyOCAoMC84MjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODQ4IHN0YXJ0YmxvY2sgODYwICgwLzg2MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4ODAgc3RhcnRibG9jayA4OTIgKDAvODkyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDkxMiBzdGFydGJsb2NrIDkyNCAoMC85MjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTQ0IHN0YXJ0YmxvY2sgOTU2ICgwLzk1NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5NzYgc3RhcnRibG9jayA5ODggKDAvOTg4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwMDggc3RhcnRibG9jayAxMDIwICgwLzEwMjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTA0MCBzdGFydGJsb2NrIDEwNTIgKDAvMTA1MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDcyIHN0YXJ0YmxvY2sgMTA4NCAoMC8xMDg0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDQgc3RhcnRibG9jayAxMTE2ICgwLzExMTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzNiBzdGFydGJsb2NrIDExNDggKDAvMTE0OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTY4IHN0YXJ0YmxvY2sgMTE4MCAoMC8xMTgwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDAgc3RhcnRibG9jayAxMjEyICgwLzEyMTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzMiBzdGFydGJsb2NrIDEyNDQgKDAvMTI0 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY0IHN0YXJ0YmxvY2sgMTI3NiAoMC8x Mjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTYgc3RhcnRibG9jayAxMzA4ICgw LzEzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMyOCBzdGFydGJsb2NrIDEzNDAg KDAvMTM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzYwIHN0YXJ0YmxvY2sgMTM3 MiAoMC8xMzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzOTIgc3RhcnRibG9jayAx NDA0ICgwLzE0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQyNCBzdGFydGJsb2Nr IDE0MzYgKDAvMTQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDU2IHN0YXJ0Ymxv Y2sgMTQ2OCAoMC8xNDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0ODggc3RhcnRi bG9jayAxNTAwICgwLzE1MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTUyMCBzdGFy dGJsb2NrIDE1MzIgKDAvMTUzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTUyIHN0 YXJ0YmxvY2sgMTU2NCAoMC8xNTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1ODQg c3RhcnRibG9jayAxNTk2ICgwLzE1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTYx NiBzdGFydGJsb2NrIDE2MjggKDAvMTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx NjQ4IHN0YXJ0YmxvY2sgMTY2MCAoMC8xNjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDE2ODAgc3RhcnRibG9jayAxNjkyICgwLzE2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTcxMiBzdGFydGJsb2NrIDE3MjQgKDAvMTcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxNzQ0IHN0YXJ0YmxvY2sgMTc1NiAoMC8xNzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDE3NzYgc3RhcnRibG9jayAxNzg4ICgwLzE3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTgwOCBzdGFydGJsb2NrIDE4MjAgKDAvMTgyMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxODQwIHN0YXJ0YmxvY2sgMTg1MiAoMC8xODUyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDE4NzIgc3RhcnRibG9jayAxODg0ICgwLzE4ODQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTkwNCBzdGFydGJsb2NrIDE5MTYgKDAvMTkxNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxOTM2IHN0YXJ0YmxvY2sgMTk0OCAoMC8xOTQ4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDE5Njggc3RhcnRibG9jayAxOTgwICgwLzE5ODApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjAwMCBzdGFydGJsb2NrIDIwMTIgKDAvMjAxMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDMyIHN0YXJ0YmxvY2sgMjA0NCAoMC8yMDQ0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwNjQgc3RhcnRibG9jayAyMDc2ICgwLzIwNzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjA5NiBzdGFydGJsb2NrIDIxMDggKDAvMjEwOCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTI4IHN0YXJ0YmxvY2sgMjE0MCAoMC8yMTQw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxNjAgc3RhcnRibG9jayAyMTcyICgwLzIx NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE5MiBzdGFydGJsb2NrIDIyMDQgKDAv MjIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjI0IHN0YXJ0YmxvY2sgMjIzNiAo MC8yMjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyNTYgc3RhcnRibG9jayAyMjY4 ICgwLzIyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjI4OCBzdGFydGJsb2NrIDIz MDAgKDAvMjMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzIwIHN0YXJ0YmxvY2sg MjMzMiAoMC8yMzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzNTIgc3RhcnRibG9j ayAyMzY0ICgwLzIzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM4NCBzdGFydGJs b2NrIDIzOTYgKDAvMjM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDE2IHN0YXJ0 YmxvY2sgMjQyOCAoMC8yNDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0NDggc3Rh cnRibG9jayAyNDYwICgwLzI0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQ4MCBz dGFydGJsb2NrIDI0OTIgKDAvMjQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTEy IHN0YXJ0YmxvY2sgMjUyNCAoMC8yNTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1 NDQgc3RhcnRibG9jayAyNTU2ICgwLzI1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MjU3NiBzdGFydGJsb2NrIDI1ODggKDAvMjU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyNjA4IHN0YXJ0YmxvY2sgMjYyMCAoMC8yNjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDI2NDAgc3RhcnRibG9jayAyNjUyICgwLzI2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjY3MiBzdGFydGJsb2NrIDI2ODQgKDAvMjY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyNzA0IHN0YXJ0YmxvY2sgMjcxNiAoMC8yNzE2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDI3MzYgc3RhcnRibG9jayAyNzQ4ICgwLzI3NDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjc2OCBzdGFydGJsb2NrIDI3ODAgKDAvMjc4MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyODAwIHN0YXJ0YmxvY2sgMjgxMiAoMC8yODEyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDI4MzIgc3RhcnRibG9jayAyODQ0ICgwLzI4NDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjg2NCBzdGFydGJsb2NrIDI4NzYgKDAvMjg3NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyODk2IHN0YXJ0YmxvY2sgMjkwOCAoMC8yOTA4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5Mjggc3RhcnRibG9jayAyOTQwICgwLzI5NDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjk2MCBzdGFydGJsb2NrIDI5NzIgKDAvMjk3MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTkyIHN0YXJ0YmxvY2sgMzAwNCAoMC8zMDA0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwMjQgc3RhcnRibG9jayAzMDM2ICgwLzMwMzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA1NiBzdGFydGJsb2NrIDMwNjggKDAvMzA2 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDg4IHN0YXJ0YmxvY2sgMzEwMCAoMC8z MTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxMjAgc3RhcnRibG9jayAzMTMyICgw LzMxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzE1MiBzdGFydGJsb2NrIDMxNjQg KDAvMzE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTg0IHN0YXJ0YmxvY2sgMzE5 NiAoMC8zMTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyMTYgc3RhcnRibG9jayAz MjI4ICgwLzMyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI0OCBzdGFydGJsb2Nr IDMyNjAgKDAvMzI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjgwIHN0YXJ0Ymxv Y2sgMzI5MiAoMC8zMjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzMTIgc3RhcnRi bG9jayAzMzI0ICgwLzMzMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzM0NCBzdGFy dGJsb2NrIDMzNTYgKDAvMzM1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzc2IHN0 YXJ0YmxvY2sgMzM4OCAoMC8zMzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0MDgg c3RhcnRibG9jayAzNDIwICgwLzM0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQ0 MCBzdGFydGJsb2NrIDM0NTIgKDAvMzQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz NDcyIHN0YXJ0YmxvY2sgMzQ4NCAoMC8zNDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDM1MDQgc3RhcnRibG9jayAzNTE2ICgwLzM1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzUzNiBzdGFydGJsb2NrIDM1NDggKDAvMzU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzNTY4IHN0YXJ0YmxvY2sgMzU4MCAoMC8zNTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDM2MDAgc3RhcnRibG9jayAzNjEyICgwLzM2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzYzMiBzdGFydGJsb2NrIDM2NDQgKDAvMzY0NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzNjY0IHN0YXJ0YmxvY2sgMzY3NiAoMC8zNjc2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDM2OTYgc3RhcnRibG9jayAzNzA4ICgwLzM3MDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzcyOCBzdGFydGJsb2NrIDM3NDAgKDAvMzc0MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzNzYwIHN0YXJ0YmxvY2sgMzc3MiAoMC8zNzcyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDM3OTIgc3RhcnRibG9jayAzODA0ICgwLzM4MDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzgyNCBzdGFydGJsb2NrIDM4MzYgKDAvMzgzNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODU2IHN0YXJ0YmxvY2sgMzg2OCAoMC8zODY4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4ODggc3RhcnRibG9jayAzOTAwICgwLzM5MDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzkyMCBzdGFydGJsb2NrIDM5MzIgKDAvMzkzMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTUyIHN0YXJ0YmxvY2sgMzk2NCAoMC8zOTY0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5ODQgc3RhcnRibG9jayAzOTk2ICgwLzM5 OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDAxNiBzdGFydGJsb2NrIDQwMjggKDAv NDAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDQ4IHN0YXJ0YmxvY2sgNDA2MCAo MC80MDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwODAgc3RhcnRibG9jayA0MDky ICgwLzQwOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDExMiBzdGFydGJsb2NrIDQx MjQgKDAvNDEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTQ0IHN0YXJ0YmxvY2sg NDE1NiAoMC80MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxNzYgc3RhcnRibG9j ayA0MTg4ICgwLzQxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDIwOCBzdGFydGJs b2NrIDQyMjAgKDAvNDIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjQwIHN0YXJ0 YmxvY2sgNDI1MiAoMC80MjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyNzIgc3Rh cnRibG9jayA0Mjg0ICgwLzQyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDMwNCBz dGFydGJsb2NrIDQzMTYgKDAvNDMxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzM2 IHN0YXJ0YmxvY2sgNDM0OCAoMC80MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQz Njggc3RhcnRibG9jayA0MzgwICgwLzQzODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDQwMCBzdGFydGJsb2NrIDQ0MTIgKDAvNDQxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0NDMyIHN0YXJ0YmxvY2sgNDQ0NCAoMC80NDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQ0NjQgc3RhcnRibG9jayA0NDc2ICgwLzQ0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDQ5NiBzdGFydGJsb2NrIDQ1MDggKDAvNDUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0NTI4IHN0YXJ0YmxvY2sgNDU0MCAoMC80NTQwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQ1NjAgc3RhcnRibG9jayA0NTcyICgwLzQ1NzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDU5MiBzdGFydGJsb2NrIDQ2MDQgKDAvNDYwNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0NjI0IHN0YXJ0YmxvY2sgNDYzNiAoMC80NjM2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQ2NTYgc3RhcnRibG9jayA0NjY4ICgwLzQ2NjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDY4OCBzdGFydGJsb2NrIDQ3MDAgKDAvNDcwMCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0NzIwIHN0YXJ0YmxvY2sgNDczMiAoMC80NzMyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3NTIgc3RhcnRibG9jayA0NzY0ICgwLzQ3NjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDc4NCBzdGFydGJsb2NrIDQ3OTYgKDAvNDc5NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODE2IHN0YXJ0YmxvY2sgNDgyOCAoMC80ODI4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4NDggc3RhcnRibG9jayA0ODYwICgwLzQ4NjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg4MCBzdGFydGJsb2NrIDQ4OTIgKDAvNDg5 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTEyIHN0YXJ0YmxvY2sgNDkyNCAoMC80 OTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5NDQgc3RhcnRibG9jayA0OTU2ICgw LzQ5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDk3NiBzdGFydGJsb2NrIDQ5ODgg KDAvNDk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDA4IHN0YXJ0YmxvY2sgNTAy MCAoMC81MDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUwNDAgc3RhcnRibG9jayA1 MDUyICgwLzUwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTA3MiBzdGFydGJsb2Nr IDUwODQgKDAvNTA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTA0IHN0YXJ0Ymxv Y2sgNTExNiAoMC81MTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxMzYgc3RhcnRi bG9jayA1MTQ4ICgwLzUxNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTE2OCBzdGFy dGJsb2NrIDUxODAgKDAvNTE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjAwIHN0 YXJ0YmxvY2sgNTIxMiAoMC81MjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyMzIg c3RhcnRibG9jayA1MjQ0ICgwLzUyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI2 NCBzdGFydGJsb2NrIDUyNzYgKDAvNTI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 Mjk2IHN0YXJ0YmxvY2sgNTMwOCAoMC81MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDUzMjggc3RhcnRibG9jayA1MzQwICgwLzUzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTM2MCBzdGFydGJsb2NrIDUzNzIgKDAvNTM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1MzkyIHN0YXJ0YmxvY2sgNTQwNCAoMC81NDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDU0MjQgc3RhcnRibG9jayA1NDM2ICgwLzU0MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTQ1NiBzdGFydGJsb2NrIDU0NjggKDAvNTQ2OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1NDg4IHN0YXJ0YmxvY2sgNTUwMCAoMC81NTAwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDU1MjAgc3RhcnRibG9jayA1NTMyICgwLzU1MzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTU1MiBzdGFydGJsb2NrIDU1NjQgKDAvNTU2NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1NTg0IHN0YXJ0YmxvY2sgNTU5NiAoMC81NTk2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDU2MTYgc3RhcnRibG9jayA1NjI4ICgwLzU2MjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY0OCBzdGFydGJsb2NrIDU2NjAgKDAvNTY2MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NjgwIHN0YXJ0YmxvY2sgNTY5MiAoMC81NjkyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3MTIgc3RhcnRibG9jayA1NzI0ICgwLzU3MjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTc0NCBzdGFydGJsb2NrIDU3NTYgKDAvNTc1Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Nzc2IHN0YXJ0YmxvY2sgNTc4OCAoMC81Nzg4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4MDggc3RhcnRibG9jayA1ODIwICgwLzU4 MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTg0MCBzdGFydGJsb2NrIDU4NTIgKDAv NTg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODcyIHN0YXJ0YmxvY2sgNTg4NCAo MC81ODg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5MDQgc3RhcnRibG9jayA1OTE2 ICgwLzU5MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTkzNiBzdGFydGJsb2NrIDU5 NDggKDAvNTk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTY4IHN0YXJ0YmxvY2sg NTk4MCAoMC81OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwMDAgc3RhcnRibG9j ayA2MDEyICgwLzYwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjAzMiBzdGFydGJs b2NrIDYwNDQgKDAvNjA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDY0IHN0YXJ0 YmxvY2sgNjA3NiAoMC82MDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwOTYgc3Rh cnRibG9jayA2MTA4ICgwLzYxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjEyOCBz dGFydGJsb2NrIDYxNDAgKDAvNjE0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTYw IHN0YXJ0YmxvY2sgNjE3MiAoMC82MTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYx OTIgc3RhcnRibG9jayA2MjA0ICgwLzYyMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NjIyNCBzdGFydGJsb2NrIDYyMzYgKDAvNjIzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2MjU2IHN0YXJ0YmxvY2sgNjI2OCAoMC82MjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDYyODggc3RhcnRibG9jayA2MzAwICgwLzYzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjMyMCBzdGFydGJsb2NrIDYzMzIgKDAvNjMzMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2MzUyIHN0YXJ0YmxvY2sgNjM2NCAoMC82MzY0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDYzODQgc3RhcnRibG9jayA2Mzk2ICgwLzYzOTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjQxNiBzdGFydGJsb2NrIDY0MjggKDAvNjQyOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2NDQ4IHN0YXJ0YmxvY2sgNjQ2MCAoMC82NDYwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDY0ODAgc3RhcnRibG9jayA2NDkyICgwLzY0OTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjUxMiBzdGFydGJsb2NrIDY1MjQgKDAvNjUyNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2NTQ0IHN0YXJ0YmxvY2sgNjU1NiAoMC82NTU2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1NzYgc3RhcnRibG9jayA2NTg4ICgwLzY1ODgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjYwOCBzdGFydGJsb2NrIDY2MjAgKDAvNjYyMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjQwIHN0YXJ0YmxvY2sgNjY1MiAoMC82NjUyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2NzIgc3RhcnRibG9jayA2Njg0ICgwLzY2ODQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjcwNCBzdGFydGJsb2NrIDY3MTYgKDAvNjcx NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NzM2IHN0YXJ0YmxvY2sgNjc0OCAoMC82 NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3Njggc3RhcnRibG9jayA2NzgwICgw LzY3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjgwMCBzdGFydGJsb2NrIDY4MTIg KDAvNjgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODMyIHN0YXJ0YmxvY2sgNjg0 NCAoMC82ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4NjQgc3RhcnRibG9jayA2 ODc2ICgwLzY4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjg5NiBzdGFydGJsb2Nr IDY5MDggKDAvNjkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2OTI4IHN0YXJ0Ymxv Y2sgNjk0MCAoMC82OTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5NjAgc3RhcnRi bG9jayA2OTcyICgwLzY5NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjk5MiBzdGFy dGJsb2NrIDcwMDQgKDAvNzAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDI0IHN0 YXJ0YmxvY2sgNzAzNiAoMC83MDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwNTYg c3RhcnRibG9jayA3MDY4ICgwLzcwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzA4 OCBzdGFydGJsb2NrIDcxMDAgKDAvNzEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 MTIwIHN0YXJ0YmxvY2sgNzEzMiAoMC83MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDcxNTIgc3RhcnRibG9jayA3MTY0ICgwLzcxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzE4NCBzdGFydGJsb2NrIDcxOTYgKDAvNzE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3MjE2IHN0YXJ0YmxvY2sgNzIyOCAoMC83MjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDcyNDggc3RhcnRibG9jayA3MjYwICgwLzcyNjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzI4MCBzdGFydGJsb2NrIDcyOTIgKDAvNzI5MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3MzEyIHN0YXJ0YmxvY2sgNzMyNCAoMC83MzI0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDczNDQgc3RhcnRibG9jayA3MzU2ICgwLzczNTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzM3NiBzdGFydGJsb2NrIDczODggKDAvNzM4OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3NDA4IHN0YXJ0YmxvY2sgNzQyMCAoMC83NDIwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDc0NDAgc3RhcnRibG9jayA3NDUyICgwLzc0NTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQ3MiBzdGFydGJsb2NrIDc0ODQgKDAvNzQ4NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTA0IHN0YXJ0YmxvY2sgNzUxNiAoMC83NTE2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1MzYgc3RhcnRibG9jayA3NTQ4ICgwLzc1NDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzU2OCBzdGFydGJsb2NrIDc1ODAgKDAvNzU4MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjAwIHN0YXJ0YmxvY2sgNzYxMiAoMC83NjEy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2MzIgc3RhcnRibG9jayA3NjQ0ICgwLzc2 NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY2NCBzdGFydGJsb2NrIDc2NzYgKDAv NzY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Njk2IHN0YXJ0YmxvY2sgNzcwOCAo MC83NzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3Mjggc3RhcnRibG9jayA3NzQw ICgwLzc3NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzc2MCBzdGFydGJsb2NrIDc3 NzIgKDAvNzc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzkyIHN0YXJ0YmxvY2sg NzgwNCAoMC83ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4MjQgc3RhcnRibG9j ayA3ODM2ICgwLzc4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzg1NiBzdGFydGJs b2NrIDc4NjggKDAvNzg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODg4IHN0YXJ0 YmxvY2sgNzkwMCAoMC83OTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5MjAgc3Rh cnRibG9jayA3OTMyICgwLzc5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk1MiBz dGFydGJsb2NrIDc5NjQgKDAvNzk2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTg0 IHN0YXJ0YmxvY2sgNzk5NiAoMC83OTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgw MTYgc3RhcnRibG9jayA4MDI4ICgwLzgwMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODA0OCBzdGFydGJsb2NrIDgwNjAgKDAvODA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4MDgwIHN0YXJ0YmxvY2sgODA5MiAoMC84MDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDgxMTIgc3RhcnRibG9jayA4MTI0ICgwLzgxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODE0NCBzdGFydGJsb2NrIDgxNTYgKDAvODE1NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4MTc2IHN0YXJ0YmxvY2sgODE4OCAoMC84MTg4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDgyMDggc3RhcnRibG9jayA4MjIwICgwLzgyMjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODI0MCBzdGFydGJsb2NrIDgyNTIgKDAvODI1MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4MjcyIHN0YXJ0YmxvY2sgODI4NCAoMC84Mjg0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDgzMDQgc3RhcnRibG9jayA4MzE2ICgwLzgzMTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODMzNiBzdGFydGJsb2NrIDgzNDggKDAvODM0OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4MzY4IHN0YXJ0YmxvY2sgODM4MCAoMC84MzgwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0MDAgc3RhcnRibG9jayA4NDEyICgwLzg0MTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQzMiBzdGFydGJsb2NrIDg0NDQgKDAvODQ0NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDY0IHN0YXJ0YmxvY2sgODQ3NiAoMC84NDc2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0OTYgc3RhcnRibG9jayA4NTA4ICgwLzg1MDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODUyOCBzdGFydGJsb2NrIDg1NDAgKDAvODU0 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTYwIHN0YXJ0YmxvY2sgODU3MiAoMC84 NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1OTIgc3RhcnRibG9jayA4NjA0ICgw Lzg2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODYyNCBzdGFydGJsb2NrIDg2MzYg KDAvODYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjU2IHN0YXJ0YmxvY2sgODY2 OCAoMC84NjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2ODggc3RhcnRibG9jayA4 NzAwICgwLzg3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODcyMCBzdGFydGJsb2Nr IDg3MzIgKDAvODczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NzUyIHN0YXJ0Ymxv Y2sgODc2NCAoMC84NzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3ODQgc3RhcnRi bG9jayA4Nzk2ICgwLzg3OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODgxNiBzdGFy dGJsb2NrIDg4MjggKDAvODgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODQ4IHN0 YXJ0YmxvY2sgODg2MCAoMC84ODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4ODAg c3RhcnRibG9jayA4ODkyICgwLzg4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODkx MiBzdGFydGJsb2NrIDg5MjQgKDAvODkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 OTQ0IHN0YXJ0YmxvY2sgODk1NiAoMC84OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDg5NzYgc3RhcnRibG9jayA4OTg4ICgwLzg5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTAwOCBzdGFydGJsb2NrIDkwMjAgKDAvOTAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5MDQwIHN0YXJ0YmxvY2sgOTA1MiAoMC85MDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDkwNzIgc3RhcnRibG9jayA5MDg0ICgwLzkwODQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTEwNCBzdGFydGJsb2NrIDkxMTYgKDAvOTExNikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5MTM2IHN0YXJ0YmxvY2sgOTE0OCAoMC85MTQ4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDkxNjggc3RhcnRibG9jayA5MTgwICgwLzkxODApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTIwMCBzdGFydGJsb2NrIDkyMTIgKDAvOTIxMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5MjMyIHN0YXJ0YmxvY2sgOTI0NCAoMC85MjQ0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDkyNjQgc3RhcnRibG9jayA5Mjc2ICgwLzkyNzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTI5NiBzdGFydGJsb2NrIDkzMDggKDAvOTMwOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzI4IHN0YXJ0YmxvY2sgOTM0MCAoMC85MzQwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzNjAgc3RhcnRibG9jayA5MzcyICgwLzkzNzIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTM5MiBzdGFydGJsb2NrIDk0MDQgKDAvOTQwNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDI0IHN0YXJ0YmxvY2sgOTQzNiAoMC85NDM2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0NTYgc3RhcnRibG9jayA5NDY4ICgwLzk0 NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ4OCBzdGFydGJsb2NrIDk1MDAgKDAv OTUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTIwIHN0YXJ0YmxvY2sgOTUzMiAo MC85NTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1NTIgc3RhcnRibG9jayA5NTY0 ICgwLzk1NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTU4NCBzdGFydGJsb2NrIDk1 OTYgKDAvOTU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjE2IHN0YXJ0YmxvY2sg OTYyOCAoMC85NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2NDggc3RhcnRibG9j ayA5NjYwICgwLzk2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTY4MCBzdGFydGJs b2NrIDk2OTIgKDAvOTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NzEyIHN0YXJ0 YmxvY2sgOTcyNCAoMC85NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3NDQgc3Rh cnRibG9jayA5NzU2ICgwLzk3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTc3NiBz dGFydGJsb2NrIDk3ODggKDAvOTc4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODA4 IHN0YXJ0YmxvY2sgOTgyMCAoMC85ODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4 NDAgc3RhcnRibG9jayA5ODUyICgwLzk4NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTg3MiBzdGFydGJsb2NrIDk4ODQgKDAvOTg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5OTA0IHN0YXJ0YmxvY2sgOTkxNiAoMC85OTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDk5MzYgc3RhcnRibG9jayA5OTQ4ICgwLzk5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTk2OCBzdGFydGJsb2NrIDk5ODAgKDAvOTk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDAwMCBzdGFydGJsb2NrIDEwMDEyICgwLzEwMDEyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwMDMyIHN0YXJ0YmxvY2sgMTAwNDQgKDAvMTAwNDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTAwNjQgc3RhcnRibG9jayAxMDA3NiAoMC8xMDA3NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDA5NiBzdGFydGJsb2NrIDEwMTA4ICgwLzEwMTA4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTI4IHN0YXJ0YmxvY2sgMTAxNDAgKDAvMTAx NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxNjAgc3RhcnRibG9jayAxMDE3MiAo MC8xMDE3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDE5MiBzdGFydGJsb2NrIDEw MjA0ICgwLzEwMjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjI0IHN0YXJ0Ymxv Y2sgMTAyMzYgKDAvMTAyMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyNTYgc3Rh cnRibG9jayAxMDI2OCAoMC8xMDI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDI4 OCBzdGFydGJsb2NrIDEwMzAwICgwLzEwMzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwMzIwIHN0YXJ0YmxvY2sgMTAzMzIgKDAvMTAzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTAzNTIgc3RhcnRibG9jayAxMDM2NCAoMC8xMDM2NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDM4NCBzdGFydGJsb2NrIDEwMzk2ICgwLzEwMzk2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwNDE2IHN0YXJ0YmxvY2sgMTA0MjggKDAvMTA0MjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0NDggc3RhcnRibG9jayAxMDQ2MCAoMC8xMDQ2MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQ4MCBzdGFydGJsb2NrIDEwNDkyICgwLzEwNDky KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTEyIHN0YXJ0YmxvY2sgMTA1MjQgKDAv MTA1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1NDQgc3RhcnRibG9jayAxMDU1 NiAoMC8xMDU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDU3NiBzdGFydGJsb2Nr IDEwNTg4ICgwLzEwNTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjA4IHN0YXJ0 YmxvY2sgMTA2MjAgKDAvMTA2MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2NDAg c3RhcnRibG9jayAxMDY1MiAoMC8xMDY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDY3MiBzdGFydGJsb2NrIDEwNjg0ICgwLzEwNjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwNzA0IHN0YXJ0YmxvY2sgMTA3MTYgKDAvMTA3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTA3MzYgc3RhcnRibG9jayAxMDc0OCAoMC8xMDc0OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDc2OCBzdGFydGJsb2NrIDEwNzgwICgwLzEwNzgwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwODAwIHN0YXJ0YmxvY2sgMTA4MTIgKDAvMTA4MTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4MzIgc3RhcnRibG9jayAxMDg0NCAoMC8xMDg0NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDg2NCBzdGFydGJsb2NrIDEwODc2ICgwLzEw ODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODk2IHN0YXJ0YmxvY2sgMTA5MDgg KDAvMTA5MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5Mjggc3RhcnRibG9jayAx MDk0MCAoMC8xMDk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDk2MCBzdGFydGJs b2NrIDEwOTcyICgwLzEwOTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTkyIHN0 YXJ0YmxvY2sgMTEwMDQgKDAvMTEwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEw MjQgc3RhcnRibG9jayAxMTAzNiAoMC8xMTAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTA1NiBzdGFydGJsb2NrIDExMDY4ICgwLzExMDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExMDg4IHN0YXJ0YmxvY2sgMTExMDAgKDAvMTExMDApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTExMjAgc3RhcnRibG9jayAxMTEzMiAoMC8xMTEzMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTE1MiBzdGFydGJsb2NrIDExMTY0ICgwLzExMTY0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTg0IHN0YXJ0YmxvY2sgMTExOTYgKDAvMTExOTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyMTYgc3RhcnRibG9jayAxMTIyOCAoMC8xMTIy OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTI0OCBzdGFydGJsb2NrIDExMjYwICgw LzExMjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjgwIHN0YXJ0YmxvY2sgMTEy OTIgKDAvMTEyOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzMTIgc3RhcnRibG9j ayAxMTMyNCAoMC8xMTMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTM0NCBzdGFy dGJsb2NrIDExMzU2ICgwLzExMzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzc2 IHN0YXJ0YmxvY2sgMTEzODggKDAvMTEzODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTE0MDggc3RhcnRibG9jayAxMTQyMCAoMC8xMTQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTQ0MCBzdGFydGJsb2NrIDExNDUyICgwLzExNDUyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExNDcyIHN0YXJ0YmxvY2sgMTE0ODQgKDAvMTE0ODQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTE1MDQgc3RhcnRibG9jayAxMTUxNiAoMC8xMTUxNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTUzNiBzdGFydGJsb2NrIDExNTQ4ICgwLzExNTQ4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTY4IHN0YXJ0YmxvY2sgMTE1ODAgKDAvMTE1ODAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2MDAgc3RhcnRibG9jayAxMTYxMiAoMC8x MTYxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTYzMiBzdGFydGJsb2NrIDExNjQ0 ICgwLzExNjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjY0IHN0YXJ0YmxvY2sg MTE2NzYgKDAvMTE2NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2OTYgc3RhcnRi bG9jayAxMTcwOCAoMC8xMTcwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTcyOCBz dGFydGJsb2NrIDExNzQwICgwLzExNzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx NzYwIHN0YXJ0YmxvY2sgMTE3NzIgKDAvMTE3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTE3OTIgc3RhcnRibG9jayAxMTgwNCAoMC8xMTgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTgyNCBzdGFydGJsb2NrIDExODM2ICgwLzExODM2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExODU2IHN0YXJ0YmxvY2sgMTE4NjggKDAvMTE4NjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTE4ODggc3RhcnRibG9jayAxMTkwMCAoMC8xMTkwMCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTkyMCBzdGFydGJsb2NrIDExOTMyICgwLzExOTMyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTUyIHN0YXJ0YmxvY2sgMTE5NjQgKDAvMTE5 NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5ODQgc3RhcnRibG9jayAxMTk5NiAo MC8xMTk5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjAxNiBzdGFydGJsb2NrIDEy MDI4ICgwLzEyMDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDQ4IHN0YXJ0Ymxv Y2sgMTIwNjAgKDAvMTIwNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwODAgc3Rh cnRibG9jayAxMjA5MiAoMC8xMjA5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjEx MiBzdGFydGJsb2NrIDEyMTI0ICgwLzEyMTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyMTQ0IHN0YXJ0YmxvY2sgMTIxNTYgKDAvMTIxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTIxNzYgc3RhcnRibG9jayAxMjE4OCAoMC8xMjE4OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjIwOCBzdGFydGJsb2NrIDEyMjIwICgwLzEyMjIwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyMjQwIHN0YXJ0YmxvY2sgMTIyNTIgKDAvMTIyNTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyNzIgc3RhcnRibG9jayAxMjI4NCAoMC8xMjI4NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjMwNCBzdGFydGJsb2NrIDEyMzE2ICgwLzEyMzE2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzM2IHN0YXJ0YmxvY2sgMTIzNDggKDAv MTIzNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzNjggc3RhcnRibG9jayAxMjM4 MCAoMC8xMjM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQwMCBzdGFydGJsb2Nr IDEyNDEyICgwLzEyNDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDMyIHN0YXJ0 YmxvY2sgMTI0NDQgKDAvMTI0NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0NjQg c3RhcnRibG9jayAxMjQ3NiAoMC8xMjQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjQ5NiBzdGFydGJsb2NrIDEyNTA4ICgwLzEyNTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyNTI4IHN0YXJ0YmxvY2sgMTI1NDAgKDAvMTI1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTI1NjAgc3RhcnRibG9jayAxMjU3MiAoMC8xMjU3MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjU5MiBzdGFydGJsb2NrIDEyNjA0ICgwLzEyNjA0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjI0IHN0YXJ0YmxvY2sgMTI2MzYgKDAvMTI2MzYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2NTYgc3RhcnRibG9jayAxMjY2OCAoMC8xMjY2OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY4OCBzdGFydGJsb2NrIDEyNzAwICgwLzEy NzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzIwIHN0YXJ0YmxvY2sgMTI3MzIg KDAvMTI3MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3NTIgc3RhcnRibG9jayAx Mjc2NCAoMC8xMjc2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjc4NCBzdGFydGJs b2NrIDEyNzk2ICgwLzEyNzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODE2IHN0 YXJ0YmxvY2sgMTI4MjggKDAvMTI4MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4 NDggc3RhcnRibG9jayAxMjg2MCAoMC8xMjg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjg4MCBzdGFydGJsb2NrIDEyODkyICgwLzEyODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyOTEyIHN0YXJ0YmxvY2sgMTI5MjQgKDAvMTI5MjQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTI5NDQgc3RhcnRibG9jayAxMjk1NiAoMC8xMjk1NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjk3NiBzdGFydGJsb2NrIDEyOTg4ICgwLzEyOTg4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDA4IHN0YXJ0YmxvY2sgMTMwMjAgKDAvMTMwMjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwNDAgc3RhcnRibG9jayAxMzA1MiAoMC8xMzA1 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzA3MiBzdGFydGJsb2NrIDEzMDg0ICgw LzEzMDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMTA0IHN0YXJ0YmxvY2sgMTMx MTYgKDAvMTMxMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMxMzYgc3RhcnRibG9j ayAxMzE0OCAoMC8xMzE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzE2OCBzdGFy dGJsb2NrIDEzMTgwICgwLzEzMTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMjAw IHN0YXJ0YmxvY2sgMTMyMTIgKDAvMTMyMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTMyMzIgc3RhcnRibG9jayAxMzI0NCAoMC8xMzI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMzI2NCBzdGFydGJsb2NrIDEzMjc2ICgwLzEzMjc2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEzMjk2IHN0YXJ0YmxvY2sgMTMzMDggKDAvMTMzMDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTMzMjggc3RhcnRibG9jayAxMzM0MCAoMC8xMzM0MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMzM2MCBzdGFydGJsb2NrIDEzMzcyICgwLzEzMzcyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMzkyIHN0YXJ0YmxvY2sgMTM0MDQgKDAvMTM0MDQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTM0MjQgc3RhcnRibG9jayAxMzQzNiAoMC8x MzQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzQ1NiBzdGFydGJsb2NrIDEzNDY4 ICgwLzEzNDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzNDg4IHN0YXJ0YmxvY2sg MTM1MDAgKDAvMTM1MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTM1MjAgc3RhcnRi bG9jayAxMzUzMiAoMC8xMzUzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzU1MiBz dGFydGJsb2NrIDEzNTY0ICgwLzEzNTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEz NTg0IHN0YXJ0YmxvY2sgMTM1OTYgKDAvMTM1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTM2MTYgc3RhcnRibG9jayAxMzYyOCAoMC8xMzYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMzY0OCBzdGFydGJsb2NrIDEzNjYwICgwLzEzNjYwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEzNjgwIHN0YXJ0YmxvY2sgMTM2OTIgKDAvMTM2OTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTM3MTIgc3RhcnRibG9jayAxMzcyNCAoMC8xMzcyNCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzc0NCBzdGFydGJsb2NrIDEzNzU2ICgwLzEzNzU2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzNzc2IHN0YXJ0YmxvY2sgMTM3ODggKDAvMTM3 ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTM4MDggc3RhcnRibG9jayAxMzgyMCAo MC8xMzgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzg0MCBzdGFydGJsb2NrIDEz ODUyICgwLzEzODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzODcyIHN0YXJ0Ymxv Y2sgMTM4ODQgKDAvMTM4ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTM5MDQgc3Rh cnRibG9jayAxMzkxNiAoMC8xMzkxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzkz NiBzdGFydGJsb2NrIDEzOTQ4ICgwLzEzOTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEzOTY4IHN0YXJ0YmxvY2sgMTM5ODAgKDAvMTM5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTQwMDAgc3RhcnRibG9jayAxNDAxMiAoMC8xNDAxMikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxNDAzMiBzdGFydGJsb2NrIDE0MDQ0ICgwLzE0MDQ0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDE0MDY0IHN0YXJ0YmxvY2sgMTQwNzYgKDAvMTQwNzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQwOTYgc3RhcnRibG9jayAxNDEwOCAoMC8xNDEwOCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDEyOCBzdGFydGJsb2NrIDE0MTQwICgwLzE0MTQw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0MTYwIHN0YXJ0YmxvY2sgMTQxNzIgKDAv MTQxNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQxOTIgc3RhcnRibG9jayAxNDIw NCAoMC8xNDIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDIyNCBzdGFydGJsb2Nr IDE0MjM2ICgwLzE0MjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0MjU2IHN0YXJ0 YmxvY2sgMTQyNjggKDAvMTQyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQyODgg c3RhcnRibG9jayAxNDMwMCAoMC8xNDMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx NDMyMCBzdGFydGJsb2NrIDE0MzMyICgwLzE0MzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDE0MzUyIHN0YXJ0YmxvY2sgMTQzNjQgKDAvMTQzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTQzODQgc3RhcnRibG9jayAxNDM5NiAoMC8xNDM5NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxNDQxNiBzdGFydGJsb2NrIDE0NDI4ICgwLzE0NDI4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDE0NDQ4IHN0YXJ0YmxvY2sgMTQ0NjAgKDAvMTQ0NjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQ0ODAgc3RhcnRibG9jayAxNDQ5MiAoMC8xNDQ5Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDUxMiBzdGFydGJsb2NrIDE0NTI0ICgwLzE0 NTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0NTQ0IHN0YXJ0YmxvY2sgMTQ1NTYg KDAvMTQ1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQ1NzYgc3RhcnRibG9jayAx NDU4OCAoMC8xNDU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDYwOCBzdGFydGJs b2NrIDE0NjIwICgwLzE0NjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0NjQwIHN0 YXJ0YmxvY2sgMTQ2NTIgKDAvMTQ2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQ2 NzIgc3RhcnRibG9jayAxNDY4NCAoMC8xNDY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxNDcwNCBzdGFydGJsb2NrIDE0NzE2ICgwLzE0NzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDE0NzM2IHN0YXJ0YmxvY2sgMTQ3NDggKDAvMTQ3NDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTQ3Njggc3RhcnRibG9jayAxNDc4MCAoMC8xNDc4MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxNDgwMCBzdGFydGJsb2NrIDE0ODEyICgwLzE0ODEyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0ODMyIHN0YXJ0YmxvY2sgMTQ4NDQgKDAvMTQ4NDQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQ4NjQgc3RhcnRibG9jayAxNDg3NiAoMC8xNDg3 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDg5NiBzdGFydGJsb2NrIDE0OTA4ICgw LzE0OTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE0OTI4IHN0YXJ0YmxvY2sgMTQ5 NDAgKDAvMTQ5NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTQ5NjAgc3RhcnRibG9j ayAxNDk3MiAoMC8xNDk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNDk5MiBzdGFy dGJsb2NrIDE1MDA0ICgwLzE1MDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1MDI0 IHN0YXJ0YmxvY2sgMTUwMzYgKDAvMTUwMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTUwNTYgc3RhcnRibG9jayAxNTA2OCAoMC8xNTA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxNTA4OCBzdGFydGJsb2NrIDE1MTAwICgwLzE1MTAwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDE1MTIwIHN0YXJ0YmxvY2sgMTUxMzIgKDAvMTUxMzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTUxNTIgc3RhcnRibG9jayAxNTE2NCAoMC8xNTE2NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxNTE4NCBzdGFydGJsb2NrIDE1MTk2ICgwLzE1MTk2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1MjE2IHN0YXJ0YmxvY2sgMTUyMjggKDAvMTUyMjgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTUyNDggc3RhcnRibG9jayAxNTI2MCAoMC8x NTI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTI4MCBzdGFydGJsb2NrIDE1Mjky ICgwLzE1MjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1MzEyIHN0YXJ0YmxvY2sg MTUzMjQgKDAvMTUzMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTUzNDQgc3RhcnRi bG9jayAxNTM1NiAoMC8xNTM1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTM3NiBz dGFydGJsb2NrIDE1Mzg4ICgwLzE1Mzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1 NDA4IHN0YXJ0YmxvY2sgMTU0MjAgKDAvMTU0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTU0NDAgc3RhcnRibG9jayAxNTQ1MiAoMC8xNTQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxNTQ3MiBzdGFydGJsb2NrIDE1NDg0ICgwLzE1NDg0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDE1NTA0IHN0YXJ0YmxvY2sgMTU1MTYgKDAvMTU1MTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTU1MzYgc3RhcnRibG9jayAxNTU0OCAoMC8xNTU0OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTU2OCBzdGFydGJsb2NrIDE1NTgwICgwLzE1NTgwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1NjAwIHN0YXJ0YmxvY2sgMTU2MTIgKDAvMTU2 MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTU2MzIgc3RhcnRibG9jayAxNTY0NCAo MC8xNTY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTY2NCBzdGFydGJsb2NrIDE1 Njc2ICgwLzE1Njc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1Njk2IHN0YXJ0Ymxv Y2sgMTU3MDggKDAvMTU3MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTU3Mjggc3Rh cnRibG9jayAxNTc0MCAoMC8xNTc0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTc2 MCBzdGFydGJsb2NrIDE1NzcyICgwLzE1NzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDE1NzkyIHN0YXJ0YmxvY2sgMTU4MDQgKDAvMTU4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTU4MjQgc3RhcnRibG9jayAxNTgzNiAoMC8xNTgzNikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxNTg1NiBzdGFydGJsb2NrIDE1ODY4ICgwLzE1ODY4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDE1ODg4IHN0YXJ0YmxvY2sgMTU5MDAgKDAvMTU5MDApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTU5MjAgc3RhcnRibG9jayAxNTkzMiAoMC8xNTkzMikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNTk1MiBzdGFydGJsb2NrIDE1OTY0ICgwLzE1OTY0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE1OTg0IHN0YXJ0YmxvY2sgMTU5OTYgKDAv MTU5OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTYwMTYgc3RhcnRibG9jayAxNjAy OCAoMC8xNjAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNjA0OCBzdGFydGJsb2Nr IDE2MDYwICgwLzE2MDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2MDgwIHN0YXJ0 YmxvY2sgMTYwOTIgKDAvMTYwOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTYxMTIg c3RhcnRibG9jayAxNjEyNCAoMC8xNjEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx NjE0NCBzdGFydGJsb2NrIDE2MTU2ICgwLzE2MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDE2MTc2IHN0YXJ0YmxvY2sgMTYxODggKDAvMTYxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTYyMDggc3RhcnRibG9jayAxNjIyMCAoMC8xNjIyMCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxNjI0MCBzdGFydGJsb2NrIDE2MjUyICgwLzE2MjUyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDE2MjcyIHN0YXJ0YmxvY2sgMTYyODQgKDAvMTYyODQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTYzMDQgc3RhcnRibG9jayAxNjMxNiAoMC8xNjMxNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNjMzNiBzdGFydGJsb2NrIDE2MzQ4ICgwLzE2 MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2MzY4IHN0YXJ0YmxvY2sgMTYzODAg KDAvMTYzODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTY0MDAgc3RhcnRibG9jayAx NjQxMiAoMC8xNjQxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNjQzMiBzdGFydGJs b2NrIDE2NDQ0ICgwLzE2NDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2NDY0IHN0 YXJ0YmxvY2sgMTY0NzYgKDAvMTY0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTY0 OTYgc3RhcnRibG9jayAxNjUwOCAoMC8xNjUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxNjUyOCBzdGFydGJsb2NrIDE2NTQwICgwLzE2NTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDE2NTYwIHN0YXJ0YmxvY2sgMTY1NzIgKDAvMTY1NzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTY1OTIgc3RhcnRibG9jayAxNjYwNCAoMC8xNjYwNCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxNjYyNCBzdGFydGJsb2NrIDE2NjM2ICgwLzE2NjM2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2NjU2IHN0YXJ0YmxvY2sgMTY2NjggKDAvMTY2NjgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTY2ODggc3RhcnRibG9jayAxNjcwMCAoMC8xNjcw MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNjcyMCBzdGFydGJsb2NrIDE2NzMyICgw LzE2NzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2NzUyIHN0YXJ0YmxvY2sgMTY3 NjQgKDAvMTY3NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTY3ODQgc3RhcnRibG9j ayAxNjc5NiAoMC8xNjc5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNjgxNiBzdGFy dGJsb2NrIDE2ODI4ICgwLzE2ODI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE2ODQ4 IHN0YXJ0YmxvY2sgMTY4NjAgKDAvMTY4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTY4ODAgc3RhcnRibG9jayAxNjg5MiAoMC8xNjg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxNjkxMiBzdGFydGJsb2NrIDE2OTI0ICgwLzE2OTI0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDE2OTQ0IHN0YXJ0YmxvY2sgMTY5NTYgKDAvMTY5NTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTY5NzYgc3RhcnRibG9jayAxNjk4OCAoMC8xNjk4OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxNzAwOCBzdGFydGJsb2NrIDE3MDIwICgwLzE3MDIwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3MDQwIHN0YXJ0YmxvY2sgMTcwNTIgKDAvMTcwNTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTcwNzIgc3RhcnRibG9jayAxNzA4NCAoMC8x NzA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzEwNCBzdGFydGJsb2NrIDE3MTE2 ICgwLzE3MTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3MTM2IHN0YXJ0YmxvY2sg MTcxNDggKDAvMTcxNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTcxNjggc3RhcnRi bG9jayAxNzE4MCAoMC8xNzE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzIwMCBz dGFydGJsb2NrIDE3MjEyICgwLzE3MjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3 MjMyIHN0YXJ0YmxvY2sgMTcyNDQgKDAvMTcyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTcyNjQgc3RhcnRibG9jayAxNzI3NiAoMC8xNzI3NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxNzI5NiBzdGFydGJsb2NrIDE3MzA4ICgwLzE3MzA4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDE3MzI4IHN0YXJ0YmxvY2sgMTczNDAgKDAvMTczNDApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTczNjAgc3RhcnRibG9jayAxNzM3MiAoMC8xNzM3MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzM5MiBzdGFydGJsb2NrIDE3NDA0ICgwLzE3NDA0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3NDI0IHN0YXJ0YmxvY2sgMTc0MzYgKDAvMTc0 MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc0NTYgc3RhcnRibG9jayAxNzQ2OCAo MC8xNzQ2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzQ4OCBzdGFydGJsb2NrIDE3 NTAwICgwLzE3NTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3NTIwIHN0YXJ0Ymxv Y2sgMTc1MzIgKDAvMTc1MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc1NTIgc3Rh cnRibG9jayAxNzU2NCAoMC8xNzU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzU4 NCBzdGFydGJsb2NrIDE3NTk2ICgwLzE3NTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDE3NjE2IHN0YXJ0YmxvY2sgMTc2MjggKDAvMTc2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTc2NDggc3RhcnRibG9jayAxNzY2MCAoMC8xNzY2MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxNzY4MCBzdGFydGJsb2NrIDE3NjkyICgwLzE3NjkyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDE3NzEyIHN0YXJ0YmxvY2sgMTc3MjQgKDAvMTc3MjQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc3NDQgc3RhcnRibG9jayAxNzc1NiAoMC8xNzc1NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzc3NiBzdGFydGJsb2NrIDE3Nzg4ICgwLzE3Nzg4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3ODA4IHN0YXJ0YmxvY2sgMTc4MjAgKDAv MTc4MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc4NDAgc3RhcnRibG9jayAxNzg1 MiAoMC8xNzg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxNzg3MiBzdGFydGJsb2Nr IDE3ODg0ICgwLzE3ODg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE3OTA0IHN0YXJ0 YmxvY2sgMTc5MTYgKDAvMTc5MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTc5MzYg c3RhcnRibG9jayAxNzk0OCAoMC8xNzk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx Nzk2OCBzdGFydGJsb2NrIDE3OTgwICgwLzE3OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDE4MDAwIHN0YXJ0YmxvY2sgMTgwMTIgKDAvMTgwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTgwMzIgc3RhcnRibG9jayAxODA0NCAoMC8xODA0NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxODA2NCBzdGFydGJsb2NrIDE4MDc2ICgwLzE4MDc2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDE4MDk2IHN0YXJ0YmxvY2sgMTgxMDggKDAvMTgxMDgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTgxMjggc3RhcnRibG9jayAxODE0MCAoMC8xODE0MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxODE2MCBzdGFydGJsb2NrIDE4MTcyICgwLzE4 MTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4MTkyIHN0YXJ0YmxvY2sgMTgyMDQg KDAvMTgyMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTgyMjQgc3RhcnRibG9jayAx ODIzNiAoMC8xODIzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxODI1NiBzdGFydGJs b2NrIDE4MjY4ICgwLzE4MjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4Mjg4IHN0 YXJ0YmxvY2sgMTgzMDAgKDAvMTgzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTgz MjAgc3RhcnRibG9jayAxODMzMiAoMC8xODMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxODM1MiBzdGFydGJsb2NrIDE4MzY0ICgwLzE4MzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDE4Mzg0IHN0YXJ0YmxvY2sgMTgzOTYgKDAvMTgzOTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTg0MTYgc3RhcnRibG9jayAxODQyOCAoMC8xODQyOCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxODQ0OCBzdGFydGJsb2NrIDE4NDYwICgwLzE4NDYwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4NDgwIHN0YXJ0YmxvY2sgMTg0OTIgKDAvMTg0OTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTg1MTIgc3RhcnRibG9jayAxODUyNCAoMC8xODUy NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxODU0NCBzdGFydGJsb2NrIDE4NTU2ICgw LzE4NTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4NTc2IHN0YXJ0YmxvY2sgMTg1 ODggKDAvMTg1ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTg2MDggc3RhcnRibG9j ayAxODYyMCAoMC8xODYyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxODY0MCBzdGFy dGJsb2NrIDE4NjUyICgwLzE4NjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4Njcy IHN0YXJ0YmxvY2sgMTg2ODQgKDAvMTg2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTg3MDQgc3RhcnRibG9jayAxODcxNiAoMC8xODcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxODczNiBzdGFydGJsb2NrIDE4NzQ4ICgwLzE4NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDE4NzY4IHN0YXJ0YmxvY2sgMTg3ODAgKDAvMTg3ODApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTg4MDAgc3RhcnRibG9jayAxODgxMiAoMC8xODgxMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxODgzMiBzdGFydGJsb2NrIDE4ODQ0ICgwLzE4ODQ0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4ODY0IHN0YXJ0YmxvY2sgMTg4NzYgKDAvMTg4NzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTg4OTYgc3RhcnRibG9jayAxODkwOCAoMC8x ODkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxODkyOCBzdGFydGJsb2NrIDE4OTQw ICgwLzE4OTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE4OTYwIHN0YXJ0YmxvY2sg MTg5NzIgKDAvMTg5NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTg5OTIgc3RhcnRi bG9jayAxOTAwNCAoMC8xOTAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTAyNCBz dGFydGJsb2NrIDE5MDM2ICgwLzE5MDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE5 MDU2IHN0YXJ0YmxvY2sgMTkwNjggKDAvMTkwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTkwODggc3RhcnRibG9jayAxOTEwMCAoMC8xOTEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxOTEyMCBzdGFydGJsb2NrIDE5MTMyICgwLzE5MTMyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDE5MTUyIHN0YXJ0YmxvY2sgMTkxNjQgKDAvMTkxNjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTkxODQgc3RhcnRibG9jayAxOTE5NiAoMC8xOTE5NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTIxNiBzdGFydGJsb2NrIDE5MjI4ICgwLzE5MjI4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE5MjQ4IHN0YXJ0YmxvY2sgMTkyNjAgKDAvMTky NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTkyODAgc3RhcnRibG9jayAxOTI5MiAo MC8xOTI5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTMxMiBzdGFydGJsb2NrIDE5 MzI0ICgwLzE5MzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE5MzQ0IHN0YXJ0Ymxv Y2sgMTkzNTYgKDAvMTkzNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTkzNzYgc3Rh cnRibG9jayAxOTM4OCAoMC8xOTM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTQw OCBzdGFydGJsb2NrIDE5NDIwICgwLzE5NDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDE5NDQwIHN0YXJ0YmxvY2sgMTk0NTIgKDAvMTk0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTk0NzIgc3RhcnRibG9jayAxOTQ4NCAoMC8xOTQ4NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxOTUwNCBzdGFydGJsb2NrIDE5NTE2ICgwLzE5NTE2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDE5NTM2IHN0YXJ0YmxvY2sgMTk1NDggKDAvMTk1NDgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTk1Njggc3RhcnRibG9jayAxOTU4MCAoMC8xOTU4MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTYwMCBzdGFydGJsb2NrIDE5NjEyICgwLzE5NjEy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE5NjMyIHN0YXJ0YmxvY2sgMTk2NDQgKDAv MTk2NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTk2NjQgc3RhcnRibG9jayAxOTY3 NiAoMC8xOTY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTY5NiBzdGFydGJsb2Nr IDE5NzA4ICgwLzE5NzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDE5NzI4IHN0YXJ0 YmxvY2sgMTk3NDAgKDAvMTk3NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTk3NjAg c3RhcnRibG9jayAxOTc3MiAoMC8xOTc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx OTc5MiBzdGFydGJsb2NrIDE5ODA0ICgwLzE5ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDE5ODI0IHN0YXJ0YmxvY2sgMTk4MzYgKDAvMTk4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTk4NTYgc3RhcnRibG9jayAxOTg2OCAoMC8xOTg2OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxOTg4OCBzdGFydGJsb2NrIDE5OTAwICgwLzE5OTAwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDE5OTIwIHN0YXJ0YmxvY2sgMTk5MzIgKDAvMTk5MzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTk5NTIgc3RhcnRibG9jayAxOTk2NCAoMC8xOTk2NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxOTk4NCBzdGFydGJsb2NrIDE5OTk2ICgwLzE5 OTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwMDE2IHN0YXJ0YmxvY2sgMjAwMjgg KDAvMjAwMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjAwNDggc3RhcnRibG9jayAy MDA2MCAoMC8yMDA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDA4MCBzdGFydGJs b2NrIDIwMDkyICgwLzIwMDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwMTEyIHN0 YXJ0YmxvY2sgMjAxMjQgKDAvMjAxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjAx NDQgc3RhcnRibG9jayAyMDE1NiAoMC8yMDE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyMDE3NiBzdGFydGJsb2NrIDIwMTg4ICgwLzIwMTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDIwMjA4IHN0YXJ0YmxvY2sgMjAyMjAgKDAvMjAyMjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjAyNDAgc3RhcnRibG9jayAyMDI1MiAoMC8yMDI1MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyMDI3MiBzdGFydGJsb2NrIDIwMjg0ICgwLzIwMjg0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwMzA0IHN0YXJ0YmxvY2sgMjAzMTYgKDAvMjAzMTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjAzMzYgc3RhcnRibG9jayAyMDM0OCAoMC8yMDM0 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDM2OCBzdGFydGJsb2NrIDIwMzgwICgw LzIwMzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwNDAwIHN0YXJ0YmxvY2sgMjA0 MTIgKDAvMjA0MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjA0MzIgc3RhcnRibG9j ayAyMDQ0NCAoMC8yMDQ0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDQ2NCBzdGFy dGJsb2NrIDIwNDc2ICgwLzIwNDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwNDk2 IHN0YXJ0YmxvY2sgMjA1MDggKDAvMjA1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MjA1Mjggc3RhcnRibG9jayAyMDU0MCAoMC8yMDU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyMDU2MCBzdGFydGJsb2NrIDIwNTcyICgwLzIwNTcyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDIwNTkyIHN0YXJ0YmxvY2sgMjA2MDQgKDAvMjA2MDQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjA2MjQgc3RhcnRibG9jayAyMDYzNiAoMC8yMDYzNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyMDY1NiBzdGFydGJsb2NrIDIwNjY4ICgwLzIwNjY4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwNjg4IHN0YXJ0YmxvY2sgMjA3MDAgKDAvMjA3MDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjA3MjAgc3RhcnRibG9jayAyMDczMiAoMC8y MDczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDc1MiBzdGFydGJsb2NrIDIwNzY0 ICgwLzIwNzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIwNzg0IHN0YXJ0YmxvY2sg MjA3OTYgKDAvMjA3OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjA4MTYgc3RhcnRi bG9jayAyMDgyOCAoMC8yMDgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMDg0OCBz dGFydGJsb2NrIDIwODYwICgwLzIwODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIw ODgwIHN0YXJ0YmxvY2sgMjA4OTIgKDAvMjA4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMjA5MTIgc3RhcnRibG9jayAyMDkyNCAoMC8yMDkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyMDk0NCBzdGFydGJsb2NrIDIwOTU2ICgwLzIwOTU2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDIwOTc2IHN0YXJ0YmxvY2sgMjA5ODggKDAvMjA5ODgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjEwMDggc3RhcnRibG9jayAyMTAyMCAoMC8yMTAyMCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTA0MCBzdGFydGJsb2NrIDIxMDUyICgwLzIxMDUyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxMDcyIHN0YXJ0YmxvY2sgMjEwODQgKDAvMjEw ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjExMDQgc3RhcnRibG9jayAyMTExNiAo MC8yMTExNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTEzNiBzdGFydGJsb2NrIDIx MTQ4ICgwLzIxMTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxMTY4IHN0YXJ0Ymxv Y2sgMjExODAgKDAvMjExODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjEyMDAgc3Rh cnRibG9jayAyMTIxMiAoMC8yMTIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTIz MiBzdGFydGJsb2NrIDIxMjQ0ICgwLzIxMjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDIxMjY0IHN0YXJ0YmxvY2sgMjEyNzYgKDAvMjEyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjEyOTYgc3RhcnRibG9jayAyMTMwOCAoMC8yMTMwOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAyMTMyOCBzdGFydGJsb2NrIDIxMzQwICgwLzIxMzQwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDIxMzYwIHN0YXJ0YmxvY2sgMjEzNzIgKDAvMjEzNzIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjEzOTIgc3RhcnRibG9jayAyMTQwNCAoMC8yMTQwNCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTQyNCBzdGFydGJsb2NrIDIxNDM2ICgwLzIxNDM2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxNDU2IHN0YXJ0YmxvY2sgMjE0NjggKDAv MjE0NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE0ODggc3RhcnRibG9jayAyMTUw MCAoMC8yMTUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTUyMCBzdGFydGJsb2Nr IDIxNTMyICgwLzIxNTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxNTUyIHN0YXJ0 YmxvY2sgMjE1NjQgKDAvMjE1NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE1ODQg c3RhcnRibG9jayAyMTU5NiAoMC8yMTU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAy MTYxNiBzdGFydGJsb2NrIDIxNjI4ICgwLzIxNjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDIxNjQ4IHN0YXJ0YmxvY2sgMjE2NjAgKDAvMjE2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMjE2ODAgc3RhcnRibG9jayAyMTY5MiAoMC8yMTY5MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyMTcxMiBzdGFydGJsb2NrIDIxNzI0ICgwLzIxNzI0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDIxNzQ0IHN0YXJ0YmxvY2sgMjE3NTYgKDAvMjE3NTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE3NzYgc3RhcnRibG9jayAyMTc4OCAoMC8yMTc4OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTgwOCBzdGFydGJsb2NrIDIxODIwICgwLzIx ODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxODQwIHN0YXJ0YmxvY2sgMjE4NTIg KDAvMjE4NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE4NzIgc3RhcnRibG9jayAy MTg4NCAoMC8yMTg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMTkwNCBzdGFydGJs b2NrIDIxOTE2ICgwLzIxOTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIxOTM2IHN0 YXJ0YmxvY2sgMjE5NDggKDAvMjE5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjE5 Njggc3RhcnRibG9jayAyMTk4MCAoMC8yMTk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyMjAwMCBzdGFydGJsb2NrIDIyMDEyICgwLzIyMDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDIyMDMyIHN0YXJ0YmxvY2sgMjIwNDQgKDAvMjIwNDQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjIwNjQgc3RhcnRibG9jayAyMjA3NiAoMC8yMjA3NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyMjA5NiBzdGFydGJsb2NrIDIyMTA4ICgwLzIyMTA4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyMTI4IHN0YXJ0YmxvY2sgMjIxNDAgKDAvMjIxNDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjIxNjAgc3RhcnRibG9jayAyMjE3MiAoMC8yMjE3 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjE5MiBzdGFydGJsb2NrIDIyMjA0ICgw LzIyMjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyMjI0IHN0YXJ0YmxvY2sgMjIy MzYgKDAvMjIyMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjIyNTYgc3RhcnRibG9j ayAyMjI2OCAoMC8yMjI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjI4OCBzdGFy dGJsb2NrIDIyMzAwICgwLzIyMzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyMzIw IHN0YXJ0YmxvY2sgMjIzMzIgKDAvMjIzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MjIzNTIgc3RhcnRibG9jayAyMjM2NCAoMC8yMjM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyMjM4NCBzdGFydGJsb2NrIDIyMzk2ICgwLzIyMzk2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDIyNDE2IHN0YXJ0YmxvY2sgMjI0MjggKDAvMjI0MjgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjI0NDggc3RhcnRibG9jayAyMjQ2MCAoMC8yMjQ2MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyMjQ4MCBzdGFydGJsb2NrIDIyNDkyICgwLzIyNDkyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyNTEyIHN0YXJ0YmxvY2sgMjI1MjQgKDAvMjI1MjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjI1NDQgc3RhcnRibG9jayAyMjU1NiAoMC8y MjU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjU3NiBzdGFydGJsb2NrIDIyNTg4 ICgwLzIyNTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyNjA4IHN0YXJ0YmxvY2sg MjI2MjAgKDAvMjI2MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjI2NDAgc3RhcnRi bG9jayAyMjY1MiAoMC8yMjY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjY3MiBz dGFydGJsb2NrIDIyNjg0ICgwLzIyNjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIy NzA0IHN0YXJ0YmxvY2sgMjI3MTYgKDAvMjI3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMjI3MzYgc3RhcnRibG9jayAyMjc0OCAoMC8yMjc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyMjc2OCBzdGFydGJsb2NrIDIyNzgwICgwLzIyNzgwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDIyODAwIHN0YXJ0YmxvY2sgMjI4MTIgKDAvMjI4MTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjI4MzIgc3RhcnRibG9jayAyMjg0NCAoMC8yMjg0NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjg2NCBzdGFydGJsb2NrIDIyODc2ICgwLzIyODc2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyODk2IHN0YXJ0YmxvY2sgMjI5MDggKDAvMjI5 MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjI5Mjggc3RhcnRibG9jayAyMjk0MCAo MC8yMjk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMjk2MCBzdGFydGJsb2NrIDIy OTcyICgwLzIyOTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIyOTkyIHN0YXJ0Ymxv Y2sgMjMwMDQgKDAvMjMwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjMwMjQgc3Rh cnRibG9jayAyMzAzNiAoMC8yMzAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzA1 NiBzdGFydGJsb2NrIDIzMDY4ICgwLzIzMDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDIzMDg4IHN0YXJ0YmxvY2sgMjMxMDAgKDAvMjMxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjMxMjAgc3RhcnRibG9jayAyMzEzMiAoMC8yMzEzMikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAyMzE1MiBzdGFydGJsb2NrIDIzMTY0ICgwLzIzMTY0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDIzMTg0IHN0YXJ0YmxvY2sgMjMxOTYgKDAvMjMxOTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjMyMTYgc3RhcnRibG9jayAyMzIyOCAoMC8yMzIyOCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzI0OCBzdGFydGJsb2NrIDIzMjYwICgwLzIzMjYw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzMjgwIHN0YXJ0YmxvY2sgMjMyOTIgKDAv MjMyOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjMzMTIgc3RhcnRibG9jayAyMzMy NCAoMC8yMzMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzM0NCBzdGFydGJsb2Nr IDIzMzU2ICgwLzIzMzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzMzc2IHN0YXJ0 YmxvY2sgMjMzODggKDAvMjMzODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM0MDgg c3RhcnRibG9jayAyMzQyMCAoMC8yMzQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAy MzQ0MCBzdGFydGJsb2NrIDIzNDUyICgwLzIzNDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDIzNDcyIHN0YXJ0YmxvY2sgMjM0ODQgKDAvMjM0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMjM1MDQgc3RhcnRibG9jayAyMzUxNiAoMC8yMzUxNikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyMzUzNiBzdGFydGJsb2NrIDIzNTQ4ICgwLzIzNTQ4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDIzNTY4IHN0YXJ0YmxvY2sgMjM1ODAgKDAvMjM1ODApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM2MDAgc3RhcnRibG9jayAyMzYxMiAoMC8yMzYxMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzYzMiBzdGFydGJsb2NrIDIzNjQ0ICgwLzIz NjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzNjY0IHN0YXJ0YmxvY2sgMjM2NzYg KDAvMjM2NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM2OTYgc3RhcnRibG9jayAy MzcwOCAoMC8yMzcwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyMzcyOCBzdGFydGJs b2NrIDIzNzQwICgwLzIzNzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzNzYwIHN0 YXJ0YmxvY2sgMjM3NzIgKDAvMjM3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM3 OTIgc3RhcnRibG9jayAyMzgwNCAoMC8yMzgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyMzgyNCBzdGFydGJsb2NrIDIzODM2ICgwLzIzODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDIzODU2IHN0YXJ0YmxvY2sgMjM4NjggKDAvMjM4NjgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjM4ODggc3RhcnRibG9jayAyMzkwMCAoMC8yMzkwMCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyMzkyMCBzdGFydGJsb2NrIDIzOTMyICgwLzIzOTMyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDIzOTUyIHN0YXJ0YmxvY2sgMjM5NjQgKDAvMjM5NjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjM5ODQgc3RhcnRibG9jayAyMzk5NiAoMC8yMzk5 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDAxNiBzdGFydGJsb2NrIDI0MDI4ICgw LzI0MDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0MDQ4IHN0YXJ0YmxvY2sgMjQw NjAgKDAvMjQwNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQwODAgc3RhcnRibG9j ayAyNDA5MiAoMC8yNDA5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDExMiBzdGFy dGJsb2NrIDI0MTI0ICgwLzI0MTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0MTQ0 IHN0YXJ0YmxvY2sgMjQxNTYgKDAvMjQxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MjQxNzYgc3RhcnRibG9jayAyNDE4OCAoMC8yNDE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyNDIwOCBzdGFydGJsb2NrIDI0MjIwICgwLzI0MjIwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDI0MjQwIHN0YXJ0YmxvY2sgMjQyNTIgKDAvMjQyNTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjQyNzIgc3RhcnRibG9jayAyNDI4NCAoMC8yNDI4NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyNDMwNCBzdGFydGJsb2NrIDI0MzE2ICgwLzI0MzE2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0MzM2IHN0YXJ0YmxvY2sgMjQzNDggKDAvMjQzNDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQzNjggc3RhcnRibG9jayAyNDM4MCAoMC8y NDM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDQwMCBzdGFydGJsb2NrIDI0NDEy ICgwLzI0NDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0NDMyIHN0YXJ0YmxvY2sg MjQ0NDQgKDAvMjQ0NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQ0NjQgc3RhcnRi bG9jayAyNDQ3NiAoMC8yNDQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDQ5NiBz dGFydGJsb2NrIDI0NTA4ICgwLzI0NTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0 NTI4IHN0YXJ0YmxvY2sgMjQ1NDAgKDAvMjQ1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMjQ1NjAgc3RhcnRibG9jayAyNDU3MiAoMC8yNDU3MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyNDU5MiBzdGFydGJsb2NrIDI0NjA0ICgwLzI0NjA0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDI0NjI0IHN0YXJ0YmxvY2sgMjQ2MzYgKDAvMjQ2MzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjQ2NTYgc3RhcnRibG9jayAyNDY2OCAoMC8yNDY2OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDY4OCBzdGFydGJsb2NrIDI0NzAwICgwLzI0NzAwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0NzIwIHN0YXJ0YmxvY2sgMjQ3MzIgKDAvMjQ3 MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQ3NTIgc3RhcnRibG9jayAyNDc2NCAo MC8yNDc2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDc4NCBzdGFydGJsb2NrIDI0 Nzk2ICgwLzI0Nzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI0ODE2IHN0YXJ0Ymxv Y2sgMjQ4MjggKDAvMjQ4MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjQ4NDggc3Rh cnRibG9jayAyNDg2MCAoMC8yNDg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNDg4 MCBzdGFydGJsb2NrIDI0ODkyICgwLzI0ODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDI0OTEyIHN0YXJ0YmxvY2sgMjQ5MjQgKDAvMjQ5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjQ5NDQgc3RhcnRibG9jayAyNDk1NiAoMC8yNDk1NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAyNDk3NiBzdGFydGJsb2NrIDI0OTg4ICgwLzI0OTg4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDI1MDA4IHN0YXJ0YmxvY2sgMjUwMjAgKDAvMjUwMjApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjUwNDAgc3RhcnRibG9jayAyNTA1MiAoMC8yNTA1MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTA3MiBzdGFydGJsb2NrIDI1MDg0ICgwLzI1MDg0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1MTA0IHN0YXJ0YmxvY2sgMjUxMTYgKDAv MjUxMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjUxMzYgc3RhcnRibG9jayAyNTE0 OCAoMC8yNTE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTE2OCBzdGFydGJsb2Nr IDI1MTgwICgwLzI1MTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1MjAwIHN0YXJ0 YmxvY2sgMjUyMTIgKDAvMjUyMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjUyMzIg c3RhcnRibG9jayAyNTI0NCAoMC8yNTI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAy NTI2NCBzdGFydGJsb2NrIDI1Mjc2ICgwLzI1Mjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDI1Mjk2IHN0YXJ0YmxvY2sgMjUzMDggKDAvMjUzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMjUzMjggc3RhcnRibG9jayAyNTM0MCAoMC8yNTM0MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyNTM2MCBzdGFydGJsb2NrIDI1MzcyICgwLzI1MzcyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDI1MzkyIHN0YXJ0YmxvY2sgMjU0MDQgKDAvMjU0MDQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjU0MjQgc3RhcnRibG9jayAyNTQzNiAoMC8yNTQzNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTQ1NiBzdGFydGJsb2NrIDI1NDY4ICgwLzI1 NDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1NDg4IHN0YXJ0YmxvY2sgMjU1MDAg KDAvMjU1MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjU1MjAgc3RhcnRibG9jayAy NTUzMiAoMC8yNTUzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTU1MiBzdGFydGJs b2NrIDI1NTY0ICgwLzI1NTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1NTg0IHN0 YXJ0YmxvY2sgMjU1OTYgKDAvMjU1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjU2 MTYgc3RhcnRibG9jayAyNTYyOCAoMC8yNTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyNTY0OCBzdGFydGJsb2NrIDI1NjYwICgwLzI1NjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDI1NjgwIHN0YXJ0YmxvY2sgMjU2OTIgKDAvMjU2OTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjU3MTIgc3RhcnRibG9jayAyNTcyNCAoMC8yNTcyNCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyNTc0NCBzdGFydGJsb2NrIDI1NzU2ICgwLzI1NzU2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1Nzc2IHN0YXJ0YmxvY2sgMjU3ODggKDAvMjU3ODgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjU4MDggc3RhcnRibG9jayAyNTgyMCAoMC8yNTgy MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTg0MCBzdGFydGJsb2NrIDI1ODUyICgw LzI1ODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1ODcyIHN0YXJ0YmxvY2sgMjU4 ODQgKDAvMjU4ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjU5MDQgc3RhcnRibG9j ayAyNTkxNiAoMC8yNTkxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNTkzNiBzdGFy dGJsb2NrIDI1OTQ4ICgwLzI1OTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI1OTY4 IHN0YXJ0YmxvY2sgMjU5ODAgKDAvMjU5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MjYwMDAgc3RhcnRibG9jayAyNjAxMiAoMC8yNjAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyNjAzMiBzdGFydGJsb2NrIDI2MDQ0ICgwLzI2MDQ0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDI2MDY0IHN0YXJ0YmxvY2sgMjYwNzYgKDAvMjYwNzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjYwOTYgc3RhcnRibG9jayAyNjEwOCAoMC8yNjEwOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyNjEyOCBzdGFydGJsb2NrIDI2MTQwICgwLzI2MTQwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2MTYwIHN0YXJ0YmxvY2sgMjYxNzIgKDAvMjYxNzIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjYxOTIgc3RhcnRibG9jayAyNjIwNCAoMC8y NjIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjIyNCBzdGFydGJsb2NrIDI2MjM2 ICgwLzI2MjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2MjU2IHN0YXJ0YmxvY2sg MjYyNjggKDAvMjYyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjYyODggc3RhcnRi bG9jayAyNjMwMCAoMC8yNjMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjMyMCBz dGFydGJsb2NrIDI2MzMyICgwLzI2MzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2 MzUyIHN0YXJ0YmxvY2sgMjYzNjQgKDAvMjYzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMjYzODQgc3RhcnRibG9jayAyNjM5NiAoMC8yNjM5NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyNjQxNiBzdGFydGJsb2NrIDI2NDI4ICgwLzI2NDI4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDI2NDQ4IHN0YXJ0YmxvY2sgMjY0NjAgKDAvMjY0NjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjY0ODAgc3RhcnRibG9jayAyNjQ5MiAoMC8yNjQ5MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjUxMiBzdGFydGJsb2NrIDI2NTI0ICgwLzI2NTI0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2NTQ0IHN0YXJ0YmxvY2sgMjY1NTYgKDAvMjY1 NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjY1NzYgc3RhcnRibG9jayAyNjU4OCAo MC8yNjU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjYwOCBzdGFydGJsb2NrIDI2 NjIwICgwLzI2NjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2NjQwIHN0YXJ0Ymxv Y2sgMjY2NTIgKDAvMjY2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjY2NzIgc3Rh cnRibG9jayAyNjY4NCAoMC8yNjY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjcw NCBzdGFydGJsb2NrIDI2NzE2ICgwLzI2NzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDI2NzM2IHN0YXJ0YmxvY2sgMjY3NDggKDAvMjY3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjY3Njggc3RhcnRibG9jayAyNjc4MCAoMC8yNjc4MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAyNjgwMCBzdGFydGJsb2NrIDI2ODEyICgwLzI2ODEyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDI2ODMyIHN0YXJ0YmxvY2sgMjY4NDQgKDAvMjY4NDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjY4NjQgc3RhcnRibG9jayAyNjg3NiAoMC8yNjg3NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjg5NiBzdGFydGJsb2NrIDI2OTA4ICgwLzI2OTA4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI2OTI4IHN0YXJ0YmxvY2sgMjY5NDAgKDAv MjY5NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjY5NjAgc3RhcnRibG9jayAyNjk3 MiAoMC8yNjk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNjk5MiBzdGFydGJsb2Nr IDI3MDA0ICgwLzI3MDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3MDI0IHN0YXJ0 YmxvY2sgMjcwMzYgKDAvMjcwMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjcwNTYg c3RhcnRibG9jayAyNzA2OCAoMC8yNzA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAy NzA4OCBzdGFydGJsb2NrIDI3MTAwICgwLzI3MTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDI3MTIwIHN0YXJ0YmxvY2sgMjcxMzIgKDAvMjcxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMjcxNTIgc3RhcnRibG9jayAyNzE2NCAoMC8yNzE2NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyNzE4NCBzdGFydGJsb2NrIDI3MTk2ICgwLzI3MTk2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDI3MjE2IHN0YXJ0YmxvY2sgMjcyMjggKDAvMjcyMjgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjcyNDggc3RhcnRibG9jayAyNzI2MCAoMC8yNzI2MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNzI4MCBzdGFydGJsb2NrIDI3MjkyICgwLzI3 MjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3MzEyIHN0YXJ0YmxvY2sgMjczMjQg KDAvMjczMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjczNDQgc3RhcnRibG9jayAy NzM1NiAoMC8yNzM1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNzM3NiBzdGFydGJs b2NrIDI3Mzg4ICgwLzI3Mzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3NDA4IHN0 YXJ0YmxvY2sgMjc0MjAgKDAvMjc0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjc0 NDAgc3RhcnRibG9jayAyNzQ1MiAoMC8yNzQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyNzQ3MiBzdGFydGJsb2NrIDI3NDg0ICgwLzI3NDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDI3NTA0IHN0YXJ0YmxvY2sgMjc1MTYgKDAvMjc1MTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjc1MzYgc3RhcnRibG9jayAyNzU0OCAoMC8yNzU0OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyNzU2OCBzdGFydGJsb2NrIDI3NTgwICgwLzI3NTgwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3NjAwIHN0YXJ0YmxvY2sgMjc2MTIgKDAvMjc2MTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjc2MzIgc3RhcnRibG9jayAyNzY0NCAoMC8yNzY0 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNzY2NCBzdGFydGJsb2NrIDI3Njc2ICgw LzI3Njc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3Njk2IHN0YXJ0YmxvY2sgMjc3 MDggKDAvMjc3MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjc3Mjggc3RhcnRibG9j ayAyNzc0MCAoMC8yNzc0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyNzc2MCBzdGFy dGJsb2NrIDI3NzcyICgwLzI3NzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3Nzky IHN0YXJ0YmxvY2sgMjc4MDQgKDAvMjc4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Mjc4MjQgc3RhcnRibG9jayAyNzgzNiAoMC8yNzgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyNzg1NiBzdGFydGJsb2NrIDI3ODY4ICgwLzI3ODY4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDI3ODg4IHN0YXJ0YmxvY2sgMjc5MDAgKDAvMjc5MDApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjc5MjAgc3RhcnRibG9jayAyNzkzMiAoMC8yNzkzMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyNzk1MiBzdGFydGJsb2NrIDI3OTY0ICgwLzI3OTY0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI3OTg0IHN0YXJ0YmxvY2sgMjc5OTYgKDAvMjc5OTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjgwMTYgc3RhcnRibG9jayAyODAyOCAoMC8y ODAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODA0OCBzdGFydGJsb2NrIDI4MDYw ICgwLzI4MDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4MDgwIHN0YXJ0YmxvY2sg MjgwOTIgKDAvMjgwOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjgxMTIgc3RhcnRi bG9jayAyODEyNCAoMC8yODEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODE0NCBz dGFydGJsb2NrIDI4MTU2ICgwLzI4MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4 MTc2IHN0YXJ0YmxvY2sgMjgxODggKDAvMjgxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMjgyMDggc3RhcnRibG9jayAyODIyMCAoMC8yODIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAyODI0MCBzdGFydGJsb2NrIDI4MjUyICgwLzI4MjUyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDI4MjcyIHN0YXJ0YmxvY2sgMjgyODQgKDAvMjgyODQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMjgzMDQgc3RhcnRibG9jayAyODMxNiAoMC8yODMxNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODMzNiBzdGFydGJsb2NrIDI4MzQ4ICgwLzI4MzQ4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4MzY4IHN0YXJ0YmxvY2sgMjgzODAgKDAvMjgz ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjg0MDAgc3RhcnRibG9jayAyODQxMiAo MC8yODQxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODQzMiBzdGFydGJsb2NrIDI4 NDQ0ICgwLzI4NDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4NDY0IHN0YXJ0Ymxv Y2sgMjg0NzYgKDAvMjg0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjg0OTYgc3Rh cnRibG9jayAyODUwOCAoMC8yODUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODUy OCBzdGFydGJsb2NrIDI4NTQwICgwLzI4NTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDI4NTYwIHN0YXJ0YmxvY2sgMjg1NzIgKDAvMjg1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMjg1OTIgc3RhcnRibG9jayAyODYwNCAoMC8yODYwNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAyODYyNCBzdGFydGJsb2NrIDI4NjM2ICgwLzI4NjM2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDI4NjU2IHN0YXJ0YmxvY2sgMjg2NjggKDAvMjg2NjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMjg2ODggc3RhcnRibG9jayAyODcwMCAoMC8yODcwMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODcyMCBzdGFydGJsb2NrIDI4NzMyICgwLzI4NzMy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4NzUyIHN0YXJ0YmxvY2sgMjg3NjQgKDAv Mjg3NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjg3ODQgc3RhcnRibG9jayAyODc5 NiAoMC8yODc5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyODgxNiBzdGFydGJsb2Nr IDI4ODI4ICgwLzI4ODI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI4ODQ4IHN0YXJ0 YmxvY2sgMjg4NjAgKDAvMjg4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjg4ODAg c3RhcnRibG9jayAyODg5MiAoMC8yODg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAy ODkxMiBzdGFydGJsb2NrIDI4OTI0ICgwLzI4OTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDI4OTQ0IHN0YXJ0YmxvY2sgMjg5NTYgKDAvMjg5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMjg5NzYgc3RhcnRibG9jayAyODk4OCAoMC8yODk4OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAyOTAwOCBzdGFydGJsb2NrIDI5MDIwICgwLzI5MDIwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDI5MDQwIHN0YXJ0YmxvY2sgMjkwNTIgKDAvMjkwNTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjkwNzIgc3RhcnRibG9jayAyOTA4NCAoMC8yOTA4NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTEwNCBzdGFydGJsb2NrIDI5MTE2ICgwLzI5 MTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5MTM2IHN0YXJ0YmxvY2sgMjkxNDgg KDAvMjkxNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjkxNjggc3RhcnRibG9jayAy OTE4MCAoMC8yOTE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTIwMCBzdGFydGJs b2NrIDI5MjEyICgwLzI5MjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5MjMyIHN0 YXJ0YmxvY2sgMjkyNDQgKDAvMjkyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjky NjQgc3RhcnRibG9jayAyOTI3NiAoMC8yOTI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAyOTI5NiBzdGFydGJsb2NrIDI5MzA4ICgwLzI5MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDI5MzI4IHN0YXJ0YmxvY2sgMjkzNDAgKDAvMjkzNDApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMjkzNjAgc3RhcnRibG9jayAyOTM3MiAoMC8yOTM3MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAyOTM5MiBzdGFydGJsb2NrIDI5NDA0ICgwLzI5NDA0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5NDI0IHN0YXJ0YmxvY2sgMjk0MzYgKDAvMjk0MzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjk0NTYgc3RhcnRibG9jayAyOTQ2OCAoMC8yOTQ2 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTQ4OCBzdGFydGJsb2NrIDI5NTAwICgw LzI5NTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5NTIwIHN0YXJ0YmxvY2sgMjk1 MzIgKDAvMjk1MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjk1NTIgc3RhcnRibG9j ayAyOTU2NCAoMC8yOTU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTU4NCBzdGFy dGJsb2NrIDI5NTk2ICgwLzI5NTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5NjE2 IHN0YXJ0YmxvY2sgMjk2MjggKDAvMjk2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Mjk2NDggc3RhcnRibG9jayAyOTY2MCAoMC8yOTY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAyOTY4MCBzdGFydGJsb2NrIDI5NjkyICgwLzI5NjkyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDI5NzEyIHN0YXJ0YmxvY2sgMjk3MjQgKDAvMjk3MjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMjk3NDQgc3RhcnRibG9jayAyOTc1NiAoMC8yOTc1NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAyOTc3NiBzdGFydGJsb2NrIDI5Nzg4ICgwLzI5Nzg4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5ODA4IHN0YXJ0YmxvY2sgMjk4MjAgKDAvMjk4MjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjk4NDAgc3RhcnRibG9jayAyOTg1MiAoMC8y OTg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTg3MiBzdGFydGJsb2NrIDI5ODg0 ICgwLzI5ODg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDI5OTA0IHN0YXJ0YmxvY2sg Mjk5MTYgKDAvMjk5MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMjk5MzYgc3RhcnRi bG9jayAyOTk0OCAoMC8yOTk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAyOTk2OCBz dGFydGJsb2NrIDI5OTgwICgwLzI5OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMw MDAwIHN0YXJ0YmxvY2sgMzAwMTIgKDAvMzAwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzAwMzIgc3RhcnRibG9jayAzMDA0NCAoMC8zMDA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzMDA2NCBzdGFydGJsb2NrIDMwMDc2ICgwLzMwMDc2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDMwMDk2IHN0YXJ0YmxvY2sgMzAxMDggKDAvMzAxMDgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzAxMjggc3RhcnRibG9jayAzMDE0MCAoMC8zMDE0MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDE2MCBzdGFydGJsb2NrIDMwMTcyICgwLzMwMTcyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwMTkyIHN0YXJ0YmxvY2sgMzAyMDQgKDAvMzAy MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzAyMjQgc3RhcnRibG9jayAzMDIzNiAo MC8zMDIzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDI1NiBzdGFydGJsb2NrIDMw MjY4ICgwLzMwMjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwMjg4IHN0YXJ0Ymxv Y2sgMzAzMDAgKDAvMzAzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzAzMjAgc3Rh cnRibG9jayAzMDMzMiAoMC8zMDMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDM1 MiBzdGFydGJsb2NrIDMwMzY0ICgwLzMwMzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDMwMzg0IHN0YXJ0YmxvY2sgMzAzOTYgKDAvMzAzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzA0MTYgc3RhcnRibG9jayAzMDQyOCAoMC8zMDQyOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzMDQ0OCBzdGFydGJsb2NrIDMwNDYwICgwLzMwNDYwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDMwNDgwIHN0YXJ0YmxvY2sgMzA0OTIgKDAvMzA0OTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA1MTIgc3RhcnRibG9jayAzMDUyNCAoMC8zMDUyNCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDU0NCBzdGFydGJsb2NrIDMwNTU2ICgwLzMwNTU2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwNTc2IHN0YXJ0YmxvY2sgMzA1ODggKDAv MzA1ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA2MDggc3RhcnRibG9jayAzMDYy MCAoMC8zMDYyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDY0MCBzdGFydGJsb2Nr IDMwNjUyICgwLzMwNjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwNjcyIHN0YXJ0 YmxvY2sgMzA2ODQgKDAvMzA2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA3MDQg c3RhcnRibG9jayAzMDcxNiAoMC8zMDcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz MDczNiBzdGFydGJsb2NrIDMwNzQ4ICgwLzMwNzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDMwNzY4IHN0YXJ0YmxvY2sgMzA3ODAgKDAvMzA3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzA4MDAgc3RhcnRibG9jayAzMDgxMiAoMC8zMDgxMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzMDgzMiBzdGFydGJsb2NrIDMwODQ0ICgwLzMwODQ0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDMwODY0IHN0YXJ0YmxvY2sgMzA4NzYgKDAvMzA4NzYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA4OTYgc3RhcnRibG9jayAzMDkwOCAoMC8zMDkwOCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMDkyOCBzdGFydGJsb2NrIDMwOTQwICgwLzMw OTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMwOTYwIHN0YXJ0YmxvY2sgMzA5NzIg KDAvMzA5NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzA5OTIgc3RhcnRibG9jayAz MTAwNCAoMC8zMTAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTAyNCBzdGFydGJs b2NrIDMxMDM2ICgwLzMxMDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxMDU2IHN0 YXJ0YmxvY2sgMzEwNjggKDAvMzEwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzEw ODggc3RhcnRibG9jayAzMTEwMCAoMC8zMTEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAzMTEyMCBzdGFydGJsb2NrIDMxMTMyICgwLzMxMTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDMxMTUyIHN0YXJ0YmxvY2sgMzExNjQgKDAvMzExNjQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMzExODQgc3RhcnRibG9jayAzMTE5NiAoMC8zMTE5NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzMTIxNiBzdGFydGJsb2NrIDMxMjI4ICgwLzMxMjI4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxMjQ4IHN0YXJ0YmxvY2sgMzEyNjAgKDAvMzEyNjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzEyODAgc3RhcnRibG9jayAzMTI5MiAoMC8zMTI5 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTMxMiBzdGFydGJsb2NrIDMxMzI0ICgw LzMxMzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxMzQ0IHN0YXJ0YmxvY2sgMzEz NTYgKDAvMzEzNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzEzNzYgc3RhcnRibG9j ayAzMTM4OCAoMC8zMTM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTQwOCBzdGFy dGJsb2NrIDMxNDIwICgwLzMxNDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxNDQw IHN0YXJ0YmxvY2sgMzE0NTIgKDAvMzE0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MzE0NzIgc3RhcnRibG9jayAzMTQ4NCAoMC8zMTQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzMTUwNCBzdGFydGJsb2NrIDMxNTE2ICgwLzMxNTE2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDMxNTM2IHN0YXJ0YmxvY2sgMzE1NDggKDAvMzE1NDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzE1Njggc3RhcnRibG9jayAzMTU4MCAoMC8zMTU4MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAzMTYwMCBzdGFydGJsb2NrIDMxNjEyICgwLzMxNjEyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxNjMyIHN0YXJ0YmxvY2sgMzE2NDQgKDAvMzE2NDQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzE2NjQgc3RhcnRibG9jayAzMTY3NiAoMC8z MTY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTY5NiBzdGFydGJsb2NrIDMxNzA4 ICgwLzMxNzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMxNzI4IHN0YXJ0YmxvY2sg MzE3NDAgKDAvMzE3NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzE3NjAgc3RhcnRi bG9jayAzMTc3MiAoMC8zMTc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTc5MiBz dGFydGJsb2NrIDMxODA0ICgwLzMxODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMx ODI0IHN0YXJ0YmxvY2sgMzE4MzYgKDAvMzE4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzE4NTYgc3RhcnRibG9jayAzMTg2OCAoMC8zMTg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzMTg4OCBzdGFydGJsb2NrIDMxOTAwICgwLzMxOTAwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDMxOTIwIHN0YXJ0YmxvY2sgMzE5MzIgKDAvMzE5MzIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzE5NTIgc3RhcnRibG9jayAzMTk2NCAoMC8zMTk2NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMTk4NCBzdGFydGJsb2NrIDMxOTk2ICgwLzMxOTk2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyMDE2IHN0YXJ0YmxvY2sgMzIwMjggKDAvMzIw MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzIwNDggc3RhcnRibG9jayAzMjA2MCAo MC8zMjA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjA4MCBzdGFydGJsb2NrIDMy MDkyICgwLzMyMDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyMTEyIHN0YXJ0Ymxv Y2sgMzIxMjQgKDAvMzIxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzIxNDQgc3Rh cnRibG9jayAzMjE1NiAoMC8zMjE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjE3 NiBzdGFydGJsb2NrIDMyMTg4ICgwLzMyMTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDMyMjA4IHN0YXJ0YmxvY2sgMzIyMjAgKDAvMzIyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzIyNDAgc3RhcnRibG9jayAzMjI1MiAoMC8zMjI1MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzMjI3MiBzdGFydGJsb2NrIDMyMjg0ICgwLzMyMjg0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDMyMzA0IHN0YXJ0YmxvY2sgMzIzMTYgKDAvMzIzMTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzIzMzYgc3RhcnRibG9jayAzMjM0OCAoMC8zMjM0OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjM2OCBzdGFydGJsb2NrIDMyMzgwICgwLzMyMzgw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyNDAwIHN0YXJ0YmxvY2sgMzI0MTIgKDAv MzI0MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI0MzIgc3RhcnRibG9jayAzMjQ0 NCAoMC8zMjQ0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjQ2NCBzdGFydGJsb2Nr IDMyNDc2ICgwLzMyNDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyNDk2IHN0YXJ0 YmxvY2sgMzI1MDggKDAvMzI1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI1Mjgg c3RhcnRibG9jayAzMjU0MCAoMC8zMjU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz MjU2MCBzdGFydGJsb2NrIDMyNTcyICgwLzMyNTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDMyNTkyIHN0YXJ0YmxvY2sgMzI2MDQgKDAvMzI2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzI2MjQgc3RhcnRibG9jayAzMjYzNiAoMC8zMjYzNikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzMjY1NiBzdGFydGJsb2NrIDMyNjY4ICgwLzMyNjY4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDMyNjg4IHN0YXJ0YmxvY2sgMzI3MDAgKDAvMzI3MDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI3MjAgc3RhcnRibG9jayAzMjczMiAoMC8zMjczMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjc1MiBzdGFydGJsb2NrIDMyNzY0ICgwLzMy NzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyNzg0IHN0YXJ0YmxvY2sgMzI3OTYg KDAvMzI3OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI4MTYgc3RhcnRibG9jayAz MjgyOCAoMC8zMjgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMjg0OCBzdGFydGJs b2NrIDMyODYwICgwLzMyODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMyODgwIHN0 YXJ0YmxvY2sgMzI4OTIgKDAvMzI4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzI5 MTIgc3RhcnRibG9jayAzMjkyNCAoMC8zMjkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAzMjk0NCBzdGFydGJsb2NrIDMyOTU2ICgwLzMyOTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDMyOTc2IHN0YXJ0YmxvY2sgMzI5ODggKDAvMzI5ODgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMzMwMDggc3RhcnRibG9jayAzMzAyMCAoMC8zMzAyMCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzMzA0MCBzdGFydGJsb2NrIDMzMDUyICgwLzMzMDUyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzMDcyIHN0YXJ0YmxvY2sgMzMwODQgKDAvMzMwODQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzMxMDQgc3RhcnRibG9jayAzMzExNiAoMC8zMzEx NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzEzNiBzdGFydGJsb2NrIDMzMTQ4ICgw LzMzMTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzMTY4IHN0YXJ0YmxvY2sgMzMx ODAgKDAvMzMxODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzMyMDAgc3RhcnRibG9j ayAzMzIxMiAoMC8zMzIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzIzMiBzdGFy dGJsb2NrIDMzMjQ0ICgwLzMzMjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzMjY0 IHN0YXJ0YmxvY2sgMzMyNzYgKDAvMzMyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MzMyOTYgc3RhcnRibG9jayAzMzMwOCAoMC8zMzMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzMzMyOCBzdGFydGJsb2NrIDMzMzQwICgwLzMzMzQwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDMzMzYwIHN0YXJ0YmxvY2sgMzMzNzIgKDAvMzMzNzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzMzOTIgc3RhcnRibG9jayAzMzQwNCAoMC8zMzQwNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAzMzQyNCBzdGFydGJsb2NrIDMzNDM2ICgwLzMzNDM2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzNDU2IHN0YXJ0YmxvY2sgMzM0NjggKDAvMzM0Njgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzM0ODggc3RhcnRibG9jayAzMzUwMCAoMC8z MzUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzUyMCBzdGFydGJsb2NrIDMzNTMy ICgwLzMzNTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzNTUyIHN0YXJ0YmxvY2sg MzM1NjQgKDAvMzM1NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzM1ODQgc3RhcnRi bG9jayAzMzU5NiAoMC8zMzU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzYxNiBz dGFydGJsb2NrIDMzNjI4ICgwLzMzNjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMz NjQ4IHN0YXJ0YmxvY2sgMzM2NjAgKDAvMzM2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzM2ODAgc3RhcnRibG9jayAzMzY5MiAoMC8zMzY5MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzMzcxMiBzdGFydGJsb2NrIDMzNzI0ICgwLzMzNzI0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDMzNzQ0IHN0YXJ0YmxvY2sgMzM3NTYgKDAvMzM3NTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzM3NzYgc3RhcnRibG9jayAzMzc4OCAoMC8zMzc4OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzgwOCBzdGFydGJsb2NrIDMzODIwICgwLzMzODIwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzODQwIHN0YXJ0YmxvY2sgMzM4NTIgKDAvMzM4 NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzM4NzIgc3RhcnRibG9jayAzMzg4NCAo MC8zMzg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzMzkwNCBzdGFydGJsb2NrIDMz OTE2ICgwLzMzOTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDMzOTM2IHN0YXJ0Ymxv Y2sgMzM5NDggKDAvMzM5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzM5Njggc3Rh cnRibG9jayAzMzk4MCAoMC8zMzk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDAw MCBzdGFydGJsb2NrIDM0MDEyICgwLzM0MDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDM0MDMyIHN0YXJ0YmxvY2sgMzQwNDQgKDAvMzQwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzQwNjQgc3RhcnRibG9jayAzNDA3NiAoMC8zNDA3NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzNDA5NiBzdGFydGJsb2NrIDM0MTA4ICgwLzM0MTA4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDM0MTI4IHN0YXJ0YmxvY2sgMzQxNDAgKDAvMzQxNDApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQxNjAgc3RhcnRibG9jayAzNDE3MiAoMC8zNDE3MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDE5MiBzdGFydGJsb2NrIDM0MjA0ICgwLzM0MjA0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0MjI0IHN0YXJ0YmxvY2sgMzQyMzYgKDAv MzQyMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQyNTYgc3RhcnRibG9jayAzNDI2 OCAoMC8zNDI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDI4OCBzdGFydGJsb2Nr IDM0MzAwICgwLzM0MzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0MzIwIHN0YXJ0 YmxvY2sgMzQzMzIgKDAvMzQzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQzNTIg c3RhcnRibG9jayAzNDM2NCAoMC8zNDM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz NDM4NCBzdGFydGJsb2NrIDM0Mzk2ICgwLzM0Mzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDM0NDE2IHN0YXJ0YmxvY2sgMzQ0MjggKDAvMzQ0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzQ0NDggc3RhcnRibG9jayAzNDQ2MCAoMC8zNDQ2MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzNDQ4MCBzdGFydGJsb2NrIDM0NDkyICgwLzM0NDkyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDM0NTEyIHN0YXJ0YmxvY2sgMzQ1MjQgKDAvMzQ1MjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQ1NDQgc3RhcnRibG9jayAzNDU1NiAoMC8zNDU1Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDU3NiBzdGFydGJsb2NrIDM0NTg4ICgwLzM0 NTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0NjA4IHN0YXJ0YmxvY2sgMzQ2MjAg KDAvMzQ2MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQ2NDAgc3RhcnRibG9jayAz NDY1MiAoMC8zNDY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDY3MiBzdGFydGJs b2NrIDM0Njg0ICgwLzM0Njg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0NzA0IHN0 YXJ0YmxvY2sgMzQ3MTYgKDAvMzQ3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQ3 MzYgc3RhcnRibG9jayAzNDc0OCAoMC8zNDc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAzNDc2OCBzdGFydGJsb2NrIDM0NzgwICgwLzM0NzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDM0ODAwIHN0YXJ0YmxvY2sgMzQ4MTIgKDAvMzQ4MTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMzQ4MzIgc3RhcnRibG9jayAzNDg0NCAoMC8zNDg0NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzNDg2NCBzdGFydGJsb2NrIDM0ODc2ICgwLzM0ODc2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0ODk2IHN0YXJ0YmxvY2sgMzQ5MDggKDAvMzQ5MDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzQ5Mjggc3RhcnRibG9jayAzNDk0MCAoMC8zNDk0 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNDk2MCBzdGFydGJsb2NrIDM0OTcyICgw LzM0OTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM0OTkyIHN0YXJ0YmxvY2sgMzUw MDQgKDAvMzUwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzUwMjQgc3RhcnRibG9j ayAzNTAzNiAoMC8zNTAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTA1NiBzdGFy dGJsb2NrIDM1MDY4ICgwLzM1MDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1MDg4 IHN0YXJ0YmxvY2sgMzUxMDAgKDAvMzUxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MzUxMjAgc3RhcnRibG9jayAzNTEzMiAoMC8zNTEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzNTE1MiBzdGFydGJsb2NrIDM1MTY0ICgwLzM1MTY0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDM1MTg0IHN0YXJ0YmxvY2sgMzUxOTYgKDAvMzUxOTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzUyMTYgc3RhcnRibG9jayAzNTIyOCAoMC8zNTIyOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAzNTI0OCBzdGFydGJsb2NrIDM1MjYwICgwLzM1MjYwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1MjgwIHN0YXJ0YmxvY2sgMzUyOTIgKDAvMzUyOTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzUzMTIgc3RhcnRibG9jayAzNTMyNCAoMC8z NTMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTM0NCBzdGFydGJsb2NrIDM1MzU2 ICgwLzM1MzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1Mzc2IHN0YXJ0YmxvY2sg MzUzODggKDAvMzUzODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzU0MDggc3RhcnRi bG9jayAzNTQyMCAoMC8zNTQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTQ0MCBz dGFydGJsb2NrIDM1NDUyICgwLzM1NDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1 NDcyIHN0YXJ0YmxvY2sgMzU0ODQgKDAvMzU0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzU1MDQgc3RhcnRibG9jayAzNTUxNiAoMC8zNTUxNikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzNTUzNiBzdGFydGJsb2NrIDM1NTQ4ICgwLzM1NTQ4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDM1NTY4IHN0YXJ0YmxvY2sgMzU1ODAgKDAvMzU1ODApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzU2MDAgc3RhcnRibG9jayAzNTYxMiAoMC8zNTYxMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTYzMiBzdGFydGJsb2NrIDM1NjQ0ICgwLzM1NjQ0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1NjY0IHN0YXJ0YmxvY2sgMzU2NzYgKDAvMzU2 NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzU2OTYgc3RhcnRibG9jayAzNTcwOCAo MC8zNTcwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTcyOCBzdGFydGJsb2NrIDM1 NzQwICgwLzM1NzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM1NzYwIHN0YXJ0Ymxv Y2sgMzU3NzIgKDAvMzU3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzU3OTIgc3Rh cnRibG9jayAzNTgwNCAoMC8zNTgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNTgy NCBzdGFydGJsb2NrIDM1ODM2ICgwLzM1ODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDM1ODU2IHN0YXJ0YmxvY2sgMzU4NjggKDAvMzU4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzU4ODggc3RhcnRibG9jayAzNTkwMCAoMC8zNTkwMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzNTkyMCBzdGFydGJsb2NrIDM1OTMyICgwLzM1OTMyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDM1OTUyIHN0YXJ0YmxvY2sgMzU5NjQgKDAvMzU5NjQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzU5ODQgc3RhcnRibG9jayAzNTk5NiAoMC8zNTk5NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjAxNiBzdGFydGJsb2NrIDM2MDI4ICgwLzM2MDI4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2MDQ4IHN0YXJ0YmxvY2sgMzYwNjAgKDAv MzYwNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzYwODAgc3RhcnRibG9jayAzNjA5 MiAoMC8zNjA5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjExMiBzdGFydGJsb2Nr IDM2MTI0ICgwLzM2MTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2MTQ0IHN0YXJ0 YmxvY2sgMzYxNTYgKDAvMzYxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzYxNzYg c3RhcnRibG9jayAzNjE4OCAoMC8zNjE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz NjIwOCBzdGFydGJsb2NrIDM2MjIwICgwLzM2MjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDM2MjQwIHN0YXJ0YmxvY2sgMzYyNTIgKDAvMzYyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzYyNzIgc3RhcnRibG9jayAzNjI4NCAoMC8zNjI4NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzNjMwNCBzdGFydGJsb2NrIDM2MzE2ICgwLzM2MzE2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDM2MzM2IHN0YXJ0YmxvY2sgMzYzNDggKDAvMzYzNDgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzYzNjggc3RhcnRibG9jayAzNjM4MCAoMC8zNjM4MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjQwMCBzdGFydGJsb2NrIDM2NDEyICgwLzM2 NDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2NDMyIHN0YXJ0YmxvY2sgMzY0NDQg KDAvMzY0NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzY0NjQgc3RhcnRibG9jayAz NjQ3NiAoMC8zNjQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjQ5NiBzdGFydGJs b2NrIDM2NTA4ICgwLzM2NTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2NTI4IHN0 YXJ0YmxvY2sgMzY1NDAgKDAvMzY1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzY1 NjAgc3RhcnRibG9jayAzNjU3MiAoMC8zNjU3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAzNjU5MiBzdGFydGJsb2NrIDM2NjA0ICgwLzM2NjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDM2NjI0IHN0YXJ0YmxvY2sgMzY2MzYgKDAvMzY2MzYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMzY2NTYgc3RhcnRibG9jayAzNjY2OCAoMC8zNjY2OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzNjY4OCBzdGFydGJsb2NrIDM2NzAwICgwLzM2NzAwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2NzIwIHN0YXJ0YmxvY2sgMzY3MzIgKDAvMzY3MzIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzY3NTIgc3RhcnRibG9jayAzNjc2NCAoMC8zNjc2 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjc4NCBzdGFydGJsb2NrIDM2Nzk2ICgw LzM2Nzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2ODE2IHN0YXJ0YmxvY2sgMzY4 MjggKDAvMzY4MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzY4NDggc3RhcnRibG9j ayAzNjg2MCAoMC8zNjg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNjg4MCBzdGFy dGJsb2NrIDM2ODkyICgwLzM2ODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM2OTEy IHN0YXJ0YmxvY2sgMzY5MjQgKDAvMzY5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MzY5NDQgc3RhcnRibG9jayAzNjk1NiAoMC8zNjk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzNjk3NiBzdGFydGJsb2NrIDM2OTg4ICgwLzM2OTg4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDM3MDA4IHN0YXJ0YmxvY2sgMzcwMjAgKDAvMzcwMjApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzcwNDAgc3RhcnRibG9jayAzNzA1MiAoMC8zNzA1MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAzNzA3MiBzdGFydGJsb2NrIDM3MDg0ICgwLzM3MDg0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3MTA0IHN0YXJ0YmxvY2sgMzcxMTYgKDAvMzcxMTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzcxMzYgc3RhcnRibG9jayAzNzE0OCAoMC8z NzE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzE2OCBzdGFydGJsb2NrIDM3MTgw ICgwLzM3MTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3MjAwIHN0YXJ0YmxvY2sg MzcyMTIgKDAvMzcyMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzcyMzIgc3RhcnRi bG9jayAzNzI0NCAoMC8zNzI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzI2NCBz dGFydGJsb2NrIDM3Mjc2ICgwLzM3Mjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3 Mjk2IHN0YXJ0YmxvY2sgMzczMDggKDAvMzczMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzczMjggc3RhcnRibG9jayAzNzM0MCAoMC8zNzM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzNzM2MCBzdGFydGJsb2NrIDM3MzcyICgwLzM3MzcyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDM3MzkyIHN0YXJ0YmxvY2sgMzc0MDQgKDAvMzc0MDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzc0MjQgc3RhcnRibG9jayAzNzQzNiAoMC8zNzQzNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzQ1NiBzdGFydGJsb2NrIDM3NDY4ICgwLzM3NDY4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3NDg4IHN0YXJ0YmxvY2sgMzc1MDAgKDAvMzc1 MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzc1MjAgc3RhcnRibG9jayAzNzUzMiAo MC8zNzUzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzU1MiBzdGFydGJsb2NrIDM3 NTY0ICgwLzM3NTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3NTg0IHN0YXJ0Ymxv Y2sgMzc1OTYgKDAvMzc1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzc2MTYgc3Rh cnRibG9jayAzNzYyOCAoMC8zNzYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzY0 OCBzdGFydGJsb2NrIDM3NjYwICgwLzM3NjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDM3NjgwIHN0YXJ0YmxvY2sgMzc2OTIgKDAvMzc2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzc3MTIgc3RhcnRibG9jayAzNzcyNCAoMC8zNzcyNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzNzc0NCBzdGFydGJsb2NrIDM3NzU2ICgwLzM3NzU2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDM3Nzc2IHN0YXJ0YmxvY2sgMzc3ODggKDAvMzc3ODgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzc4MDggc3RhcnRibG9jayAzNzgyMCAoMC8zNzgyMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzg0MCBzdGFydGJsb2NrIDM3ODUyICgwLzM3ODUy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3ODcyIHN0YXJ0YmxvY2sgMzc4ODQgKDAv Mzc4ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzc5MDQgc3RhcnRibG9jayAzNzkx NiAoMC8zNzkxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzNzkzNiBzdGFydGJsb2Nr IDM3OTQ4ICgwLzM3OTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM3OTY4IHN0YXJ0 YmxvY2sgMzc5ODAgKDAvMzc5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzgwMDAg c3RhcnRibG9jayAzODAxMiAoMC8zODAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz ODAzMiBzdGFydGJsb2NrIDM4MDQ0ICgwLzM4MDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDM4MDY0IHN0YXJ0YmxvY2sgMzgwNzYgKDAvMzgwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzgwOTYgc3RhcnRibG9jayAzODEwOCAoMC8zODEwOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzODEyOCBzdGFydGJsb2NrIDM4MTQwICgwLzM4MTQwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDM4MTYwIHN0YXJ0YmxvY2sgMzgxNzIgKDAvMzgxNzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzgxOTIgc3RhcnRibG9jayAzODIwNCAoMC8zODIwNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODIyNCBzdGFydGJsb2NrIDM4MjM2ICgwLzM4 MjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4MjU2IHN0YXJ0YmxvY2sgMzgyNjgg KDAvMzgyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzgyODggc3RhcnRibG9jayAz ODMwMCAoMC8zODMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODMyMCBzdGFydGJs b2NrIDM4MzMyICgwLzM4MzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4MzUyIHN0 YXJ0YmxvY2sgMzgzNjQgKDAvMzgzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzgz ODQgc3RhcnRibG9jayAzODM5NiAoMC8zODM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAzODQxNiBzdGFydGJsb2NrIDM4NDI4ICgwLzM4NDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDM4NDQ4IHN0YXJ0YmxvY2sgMzg0NjAgKDAvMzg0NjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMzg0ODAgc3RhcnRibG9jayAzODQ5MiAoMC8zODQ5MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAzODUxMiBzdGFydGJsb2NrIDM4NTI0ICgwLzM4NTI0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4NTQ0IHN0YXJ0YmxvY2sgMzg1NTYgKDAvMzg1NTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzg1NzYgc3RhcnRibG9jayAzODU4OCAoMC8zODU4 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODYwOCBzdGFydGJsb2NrIDM4NjIwICgw LzM4NjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4NjQwIHN0YXJ0YmxvY2sgMzg2 NTIgKDAvMzg2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzg2NzIgc3RhcnRibG9j ayAzODY4NCAoMC8zODY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODcwNCBzdGFy dGJsb2NrIDM4NzE2ICgwLzM4NzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4NzM2 IHN0YXJ0YmxvY2sgMzg3NDggKDAvMzg3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Mzg3Njggc3RhcnRibG9jayAzODc4MCAoMC8zODc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAzODgwMCBzdGFydGJsb2NrIDM4ODEyICgwLzM4ODEyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDM4ODMyIHN0YXJ0YmxvY2sgMzg4NDQgKDAvMzg4NDQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMzg4NjQgc3RhcnRibG9jayAzODg3NiAoMC8zODg3NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAzODg5NiBzdGFydGJsb2NrIDM4OTA4ICgwLzM4OTA4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM4OTI4IHN0YXJ0YmxvY2sgMzg5NDAgKDAvMzg5NDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzg5NjAgc3RhcnRibG9jayAzODk3MiAoMC8z ODk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzODk5MiBzdGFydGJsb2NrIDM5MDA0 ICgwLzM5MDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5MDI0IHN0YXJ0YmxvY2sg MzkwMzYgKDAvMzkwMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzkwNTYgc3RhcnRi bG9jayAzOTA2OCAoMC8zOTA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTA4OCBz dGFydGJsb2NrIDM5MTAwICgwLzM5MTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5 MTIwIHN0YXJ0YmxvY2sgMzkxMzIgKDAvMzkxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMzkxNTIgc3RhcnRibG9jayAzOTE2NCAoMC8zOTE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAzOTE4NCBzdGFydGJsb2NrIDM5MTk2ICgwLzM5MTk2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDM5MjE2IHN0YXJ0YmxvY2sgMzkyMjggKDAvMzkyMjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMzkyNDggc3RhcnRibG9jayAzOTI2MCAoMC8zOTI2MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTI4MCBzdGFydGJsb2NrIDM5MjkyICgwLzM5MjkyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5MzEyIHN0YXJ0YmxvY2sgMzkzMjQgKDAvMzkz MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzkzNDQgc3RhcnRibG9jayAzOTM1NiAo MC8zOTM1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTM3NiBzdGFydGJsb2NrIDM5 Mzg4ICgwLzM5Mzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5NDA4IHN0YXJ0Ymxv Y2sgMzk0MjAgKDAvMzk0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzk0NDAgc3Rh cnRibG9jayAzOTQ1MiAoMC8zOTQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTQ3 MiBzdGFydGJsb2NrIDM5NDg0ICgwLzM5NDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDM5NTA0IHN0YXJ0YmxvY2sgMzk1MTYgKDAvMzk1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMzk1MzYgc3RhcnRibG9jayAzOTU0OCAoMC8zOTU0OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAzOTU2OCBzdGFydGJsb2NrIDM5NTgwICgwLzM5NTgwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDM5NjAwIHN0YXJ0YmxvY2sgMzk2MTIgKDAvMzk2MTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMzk2MzIgc3RhcnRibG9jayAzOTY0NCAoMC8zOTY0NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTY2NCBzdGFydGJsb2NrIDM5Njc2ICgwLzM5Njc2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5Njk2IHN0YXJ0YmxvY2sgMzk3MDggKDAv Mzk3MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzk3Mjggc3RhcnRibG9jayAzOTc0 MCAoMC8zOTc0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAzOTc2MCBzdGFydGJsb2Nr IDM5NzcyICgwLzM5NzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDM5NzkyIHN0YXJ0 YmxvY2sgMzk4MDQgKDAvMzk4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMzk4MjQg c3RhcnRibG9jayAzOTgzNiAoMC8zOTgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAz OTg1NiBzdGFydGJsb2NrIDM5ODY4ICgwLzM5ODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDM5ODg4IHN0YXJ0YmxvY2sgMzk5MDAgKDAvMzk5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMzk5MjAgc3RhcnRibG9jayAzOTkzMiAoMC8zOTkzMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAzOTk1MiBzdGFydGJsb2NrIDM5OTY0ICgwLzM5OTY0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDM5OTg0IHN0YXJ0YmxvY2sgMzk5OTYgKDAvMzk5OTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDAwMTYgc3RhcnRibG9jayA0MDAyOCAoMC80MDAyOCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDA0OCBzdGFydGJsb2NrIDQwMDYwICgwLzQw MDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwMDgwIHN0YXJ0YmxvY2sgNDAwOTIg KDAvNDAwOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDAxMTIgc3RhcnRibG9jayA0 MDEyNCAoMC80MDEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDE0NCBzdGFydGJs b2NrIDQwMTU2ICgwLzQwMTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwMTc2IHN0 YXJ0YmxvY2sgNDAxODggKDAvNDAxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDAy MDggc3RhcnRibG9jayA0MDIyMCAoMC80MDIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0MDI0MCBzdGFydGJsb2NrIDQwMjUyICgwLzQwMjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQwMjcyIHN0YXJ0YmxvY2sgNDAyODQgKDAvNDAyODQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDAzMDQgc3RhcnRibG9jayA0MDMxNiAoMC80MDMxNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0MDMzNiBzdGFydGJsb2NrIDQwMzQ4ICgwLzQwMzQ4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwMzY4IHN0YXJ0YmxvY2sgNDAzODAgKDAvNDAzODApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDA0MDAgc3RhcnRibG9jayA0MDQxMiAoMC80MDQx MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDQzMiBzdGFydGJsb2NrIDQwNDQ0ICgw LzQwNDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwNDY0IHN0YXJ0YmxvY2sgNDA0 NzYgKDAvNDA0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDA0OTYgc3RhcnRibG9j ayA0MDUwOCAoMC80MDUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDUyOCBzdGFy dGJsb2NrIDQwNTQwICgwLzQwNTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwNTYw IHN0YXJ0YmxvY2sgNDA1NzIgKDAvNDA1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDA1OTIgc3RhcnRibG9jayA0MDYwNCAoMC80MDYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0MDYyNCBzdGFydGJsb2NrIDQwNjM2ICgwLzQwNjM2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQwNjU2IHN0YXJ0YmxvY2sgNDA2NjggKDAvNDA2NjgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDA2ODggc3RhcnRibG9jayA0MDcwMCAoMC80MDcwMCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0MDcyMCBzdGFydGJsb2NrIDQwNzMyICgwLzQwNzMyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwNzUyIHN0YXJ0YmxvY2sgNDA3NjQgKDAvNDA3NjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDA3ODQgc3RhcnRibG9jayA0MDc5NiAoMC80 MDc5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDgxNiBzdGFydGJsb2NrIDQwODI4 ICgwLzQwODI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQwODQ4IHN0YXJ0YmxvY2sg NDA4NjAgKDAvNDA4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDA4ODAgc3RhcnRi bG9jayA0MDg5MiAoMC80MDg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MDkxMiBz dGFydGJsb2NrIDQwOTI0ICgwLzQwOTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQw OTQ0IHN0YXJ0YmxvY2sgNDA5NTYgKDAvNDA5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNDA5NzYgc3RhcnRibG9jayA0MDk4OCAoMC80MDk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0MTAwOCBzdGFydGJsb2NrIDQxMDIwICgwLzQxMDIwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDQxMDQwIHN0YXJ0YmxvY2sgNDEwNTIgKDAvNDEwNTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDEwNzIgc3RhcnRibG9jayA0MTA4NCAoMC80MTA4NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTEwNCBzdGFydGJsb2NrIDQxMTE2ICgwLzQxMTE2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxMTM2IHN0YXJ0YmxvY2sgNDExNDggKDAvNDEx NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDExNjggc3RhcnRibG9jayA0MTE4MCAo MC80MTE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTIwMCBzdGFydGJsb2NrIDQx MjEyICgwLzQxMjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxMjMyIHN0YXJ0Ymxv Y2sgNDEyNDQgKDAvNDEyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDEyNjQgc3Rh cnRibG9jayA0MTI3NiAoMC80MTI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTI5 NiBzdGFydGJsb2NrIDQxMzA4ICgwLzQxMzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDQxMzI4IHN0YXJ0YmxvY2sgNDEzNDAgKDAvNDEzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDEzNjAgc3RhcnRibG9jayA0MTM3MiAoMC80MTM3MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA0MTM5MiBzdGFydGJsb2NrIDQxNDA0ICgwLzQxNDA0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQxNDI0IHN0YXJ0YmxvY2sgNDE0MzYgKDAvNDE0MzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNDE0NTYgc3RhcnRibG9jayA0MTQ2OCAoMC80MTQ2OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTQ4OCBzdGFydGJsb2NrIDQxNTAwICgwLzQxNTAw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxNTIwIHN0YXJ0YmxvY2sgNDE1MzIgKDAv NDE1MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDE1NTIgc3RhcnRibG9jayA0MTU2 NCAoMC80MTU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTU4NCBzdGFydGJsb2Nr IDQxNTk2ICgwLzQxNTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxNjE2IHN0YXJ0 YmxvY2sgNDE2MjggKDAvNDE2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDE2NDgg c3RhcnRibG9jayA0MTY2MCAoMC80MTY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0 MTY4MCBzdGFydGJsb2NrIDQxNjkyICgwLzQxNjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQxNzEyIHN0YXJ0YmxvY2sgNDE3MjQgKDAvNDE3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNDE3NDQgc3RhcnRibG9jayA0MTc1NiAoMC80MTc1NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0MTc3NiBzdGFydGJsb2NrIDQxNzg4ICgwLzQxNzg4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDQxODA4IHN0YXJ0YmxvY2sgNDE4MjAgKDAvNDE4MjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDE4NDAgc3RhcnRibG9jayA0MTg1MiAoMC80MTg1Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTg3MiBzdGFydGJsb2NrIDQxODg0ICgwLzQx ODg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQxOTA0IHN0YXJ0YmxvY2sgNDE5MTYg KDAvNDE5MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDE5MzYgc3RhcnRibG9jayA0 MTk0OCAoMC80MTk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MTk2OCBzdGFydGJs b2NrIDQxOTgwICgwLzQxOTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyMDAwIHN0 YXJ0YmxvY2sgNDIwMTIgKDAvNDIwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDIw MzIgc3RhcnRibG9jayA0MjA0NCAoMC80MjA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0MjA2NCBzdGFydGJsb2NrIDQyMDc2ICgwLzQyMDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQyMDk2IHN0YXJ0YmxvY2sgNDIxMDggKDAvNDIxMDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDIxMjggc3RhcnRibG9jayA0MjE0MCAoMC80MjE0MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0MjE2MCBzdGFydGJsb2NrIDQyMTcyICgwLzQyMTcyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyMTkyIHN0YXJ0YmxvY2sgNDIyMDQgKDAvNDIyMDQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDIyMjQgc3RhcnRibG9jayA0MjIzNiAoMC80MjIz NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjI1NiBzdGFydGJsb2NrIDQyMjY4ICgw LzQyMjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyMjg4IHN0YXJ0YmxvY2sgNDIz MDAgKDAvNDIzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDIzMjAgc3RhcnRibG9j ayA0MjMzMiAoMC80MjMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjM1MiBzdGFy dGJsb2NrIDQyMzY0ICgwLzQyMzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyMzg0 IHN0YXJ0YmxvY2sgNDIzOTYgKDAvNDIzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDI0MTYgc3RhcnRibG9jayA0MjQyOCAoMC80MjQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0MjQ0OCBzdGFydGJsb2NrIDQyNDYwICgwLzQyNDYwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQyNDgwIHN0YXJ0YmxvY2sgNDI0OTIgKDAvNDI0OTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDI1MTIgc3RhcnRibG9jayA0MjUyNCAoMC80MjUyNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0MjU0NCBzdGFydGJsb2NrIDQyNTU2ICgwLzQyNTU2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyNTc2IHN0YXJ0YmxvY2sgNDI1ODggKDAvNDI1ODgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDI2MDggc3RhcnRibG9jayA0MjYyMCAoMC80 MjYyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjY0MCBzdGFydGJsb2NrIDQyNjUy ICgwLzQyNjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyNjcyIHN0YXJ0YmxvY2sg NDI2ODQgKDAvNDI2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDI3MDQgc3RhcnRi bG9jayA0MjcxNiAoMC80MjcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjczNiBz dGFydGJsb2NrIDQyNzQ4ICgwLzQyNzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQy NzY4IHN0YXJ0YmxvY2sgNDI3ODAgKDAvNDI3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNDI4MDAgc3RhcnRibG9jayA0MjgxMiAoMC80MjgxMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0MjgzMiBzdGFydGJsb2NrIDQyODQ0ICgwLzQyODQ0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDQyODY0IHN0YXJ0YmxvY2sgNDI4NzYgKDAvNDI4NzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDI4OTYgc3RhcnRibG9jayA0MjkwOCAoMC80MjkwOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MjkyOCBzdGFydGJsb2NrIDQyOTQwICgwLzQyOTQwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQyOTYwIHN0YXJ0YmxvY2sgNDI5NzIgKDAvNDI5 NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDI5OTIgc3RhcnRibG9jayA0MzAwNCAo MC80MzAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzAyNCBzdGFydGJsb2NrIDQz MDM2ICgwLzQzMDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzMDU2IHN0YXJ0Ymxv Y2sgNDMwNjggKDAvNDMwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDMwODggc3Rh cnRibG9jayA0MzEwMCAoMC80MzEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzEy MCBzdGFydGJsb2NrIDQzMTMyICgwLzQzMTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDQzMTUyIHN0YXJ0YmxvY2sgNDMxNjQgKDAvNDMxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDMxODQgc3RhcnRibG9jayA0MzE5NiAoMC80MzE5NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA0MzIxNiBzdGFydGJsb2NrIDQzMjI4ICgwLzQzMjI4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQzMjQ4IHN0YXJ0YmxvY2sgNDMyNjAgKDAvNDMyNjApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNDMyODAgc3RhcnRibG9jayA0MzI5MiAoMC80MzI5MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzMxMiBzdGFydGJsb2NrIDQzMzI0ICgwLzQzMzI0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzMzQ0IHN0YXJ0YmxvY2sgNDMzNTYgKDAv NDMzNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDMzNzYgc3RhcnRibG9jayA0MzM4 OCAoMC80MzM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzQwOCBzdGFydGJsb2Nr IDQzNDIwICgwLzQzNDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzNDQwIHN0YXJ0 YmxvY2sgNDM0NTIgKDAvNDM0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDM0NzIg c3RhcnRibG9jayA0MzQ4NCAoMC80MzQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0 MzUwNCBzdGFydGJsb2NrIDQzNTE2ICgwLzQzNTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQzNTM2IHN0YXJ0YmxvY2sgNDM1NDggKDAvNDM1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNDM1Njggc3RhcnRibG9jayA0MzU4MCAoMC80MzU4MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0MzYwMCBzdGFydGJsb2NrIDQzNjEyICgwLzQzNjEyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDQzNjMyIHN0YXJ0YmxvY2sgNDM2NDQgKDAvNDM2NDQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDM2NjQgc3RhcnRibG9jayA0MzY3NiAoMC80MzY3Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0MzY5NiBzdGFydGJsb2NrIDQzNzA4ICgwLzQz NzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzNzI4IHN0YXJ0YmxvY2sgNDM3NDAg KDAvNDM3NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDM3NjAgc3RhcnRibG9jayA0 Mzc3MiAoMC80Mzc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0Mzc5MiBzdGFydGJs b2NrIDQzODA0ICgwLzQzODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQzODI0IHN0 YXJ0YmxvY2sgNDM4MzYgKDAvNDM4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDM4 NTYgc3RhcnRibG9jayA0Mzg2OCAoMC80Mzg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0Mzg4OCBzdGFydGJsb2NrIDQzOTAwICgwLzQzOTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQzOTIwIHN0YXJ0YmxvY2sgNDM5MzIgKDAvNDM5MzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDM5NTIgc3RhcnRibG9jayA0Mzk2NCAoMC80Mzk2NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0Mzk4NCBzdGFydGJsb2NrIDQzOTk2ICgwLzQzOTk2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0MDE2IHN0YXJ0YmxvY2sgNDQwMjggKDAvNDQwMjgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQwNDggc3RhcnRibG9jayA0NDA2MCAoMC80NDA2 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDA4MCBzdGFydGJsb2NrIDQ0MDkyICgw LzQ0MDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0MTEyIHN0YXJ0YmxvY2sgNDQx MjQgKDAvNDQxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQxNDQgc3RhcnRibG9j ayA0NDE1NiAoMC80NDE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDE3NiBzdGFy dGJsb2NrIDQ0MTg4ICgwLzQ0MTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0MjA4 IHN0YXJ0YmxvY2sgNDQyMjAgKDAvNDQyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDQyNDAgc3RhcnRibG9jayA0NDI1MiAoMC80NDI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0NDI3MiBzdGFydGJsb2NrIDQ0Mjg0ICgwLzQ0Mjg0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQ0MzA0IHN0YXJ0YmxvY2sgNDQzMTYgKDAvNDQzMTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDQzMzYgc3RhcnRibG9jayA0NDM0OCAoMC80NDM0OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0NDM2OCBzdGFydGJsb2NrIDQ0MzgwICgwLzQ0MzgwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0NDAwIHN0YXJ0YmxvY2sgNDQ0MTIgKDAvNDQ0MTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQ0MzIgc3RhcnRibG9jayA0NDQ0NCAoMC80 NDQ0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDQ2NCBzdGFydGJsb2NrIDQ0NDc2 ICgwLzQ0NDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0NDk2IHN0YXJ0YmxvY2sg NDQ1MDggKDAvNDQ1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQ1Mjggc3RhcnRi bG9jayA0NDU0MCAoMC80NDU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDU2MCBz dGFydGJsb2NrIDQ0NTcyICgwLzQ0NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0 NTkyIHN0YXJ0YmxvY2sgNDQ2MDQgKDAvNDQ2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNDQ2MjQgc3RhcnRibG9jayA0NDYzNiAoMC80NDYzNikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0NDY1NiBzdGFydGJsb2NrIDQ0NjY4ICgwLzQ0NjY4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDQ0Njg4IHN0YXJ0YmxvY2sgNDQ3MDAgKDAvNDQ3MDApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDQ3MjAgc3RhcnRibG9jayA0NDczMiAoMC80NDczMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDc1MiBzdGFydGJsb2NrIDQ0NzY0ICgwLzQ0NzY0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0Nzg0IHN0YXJ0YmxvY2sgNDQ3OTYgKDAvNDQ3 OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQ4MTYgc3RhcnRibG9jayA0NDgyOCAo MC80NDgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDg0OCBzdGFydGJsb2NrIDQ0 ODYwICgwLzQ0ODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ0ODgwIHN0YXJ0Ymxv Y2sgNDQ4OTIgKDAvNDQ4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDQ5MTIgc3Rh cnRibG9jayA0NDkyNCAoMC80NDkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NDk0 NCBzdGFydGJsb2NrIDQ0OTU2ICgwLzQ0OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDQ0OTc2IHN0YXJ0YmxvY2sgNDQ5ODggKDAvNDQ5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDUwMDggc3RhcnRibG9jayA0NTAyMCAoMC80NTAyMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA0NTA0MCBzdGFydGJsb2NrIDQ1MDUyICgwLzQ1MDUyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQ1MDcyIHN0YXJ0YmxvY2sgNDUwODQgKDAvNDUwODQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNDUxMDQgc3RhcnRibG9jayA0NTExNiAoMC80NTExNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NTEzNiBzdGFydGJsb2NrIDQ1MTQ4ICgwLzQ1MTQ4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1MTY4IHN0YXJ0YmxvY2sgNDUxODAgKDAv NDUxODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDUyMDAgc3RhcnRibG9jayA0NTIx MiAoMC80NTIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NTIzMiBzdGFydGJsb2Nr IDQ1MjQ0ICgwLzQ1MjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1MjY0IHN0YXJ0 YmxvY2sgNDUyNzYgKDAvNDUyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDUyOTYg c3RhcnRibG9jayA0NTMwOCAoMC80NTMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0 NTMyOCBzdGFydGJsb2NrIDQ1MzQwICgwLzQ1MzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQ1MzYwIHN0YXJ0YmxvY2sgNDUzNzIgKDAvNDUzNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNDUzOTIgc3RhcnRibG9jayA0NTQwNCAoMC80NTQwNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0NTQyNCBzdGFydGJsb2NrIDQ1NDM2ICgwLzQ1NDM2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDQ1NDU2IHN0YXJ0YmxvY2sgNDU0NjggKDAvNDU0NjgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDU0ODggc3RhcnRibG9jayA0NTUwMCAoMC80NTUwMCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NTUyMCBzdGFydGJsb2NrIDQ1NTMyICgwLzQ1 NTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1NTUyIHN0YXJ0YmxvY2sgNDU1NjQg KDAvNDU1NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDU1ODQgc3RhcnRibG9jayA0 NTU5NiAoMC80NTU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NTYxNiBzdGFydGJs b2NrIDQ1NjI4ICgwLzQ1NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1NjQ4IHN0 YXJ0YmxvY2sgNDU2NjAgKDAvNDU2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDU2 ODAgc3RhcnRibG9jayA0NTY5MiAoMC80NTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0NTcxMiBzdGFydGJsb2NrIDQ1NzI0ICgwLzQ1NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQ1NzQ0IHN0YXJ0YmxvY2sgNDU3NTYgKDAvNDU3NTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDU3NzYgc3RhcnRibG9jayA0NTc4OCAoMC80NTc4OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0NTgwOCBzdGFydGJsb2NrIDQ1ODIwICgwLzQ1ODIwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1ODQwIHN0YXJ0YmxvY2sgNDU4NTIgKDAvNDU4NTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDU4NzIgc3RhcnRibG9jayA0NTg4NCAoMC80NTg4 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NTkwNCBzdGFydGJsb2NrIDQ1OTE2ICgw LzQ1OTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ1OTM2IHN0YXJ0YmxvY2sgNDU5 NDggKDAvNDU5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDU5Njggc3RhcnRibG9j ayA0NTk4MCAoMC80NTk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NjAwMCBzdGFy dGJsb2NrIDQ2MDEyICgwLzQ2MDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2MDMy IHN0YXJ0YmxvY2sgNDYwNDQgKDAvNDYwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDYwNjQgc3RhcnRibG9jayA0NjA3NiAoMC80NjA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0NjA5NiBzdGFydGJsb2NrIDQ2MTA4ICgwLzQ2MTA4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQ2MTI4IHN0YXJ0YmxvY2sgNDYxNDAgKDAvNDYxNDApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDYxNjAgc3RhcnRibG9jayA0NjE3MiAoMC80NjE3MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0NjE5MiBzdGFydGJsb2NrIDQ2MjA0ICgwLzQ2MjA0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2MjI0IHN0YXJ0YmxvY2sgNDYyMzYgKDAvNDYyMzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDYyNTYgc3RhcnRibG9jayA0NjI2OCAoMC80 NjI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NjI4OCBzdGFydGJsb2NrIDQ2MzAw ICgwLzQ2MzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2MzIwIHN0YXJ0YmxvY2sg NDYzMzIgKDAvNDYzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDYzNTIgc3RhcnRi bG9jayA0NjM2NCAoMC80NjM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NjM4NCBz dGFydGJsb2NrIDQ2Mzk2ICgwLzQ2Mzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2 NDE2IHN0YXJ0YmxvY2sgNDY0MjggKDAvNDY0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNDY0NDggc3RhcnRibG9jayA0NjQ2MCAoMC80NjQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0NjQ4MCBzdGFydGJsb2NrIDQ2NDkyICgwLzQ2NDkyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDQ2NTEyIHN0YXJ0YmxvY2sgNDY1MjQgKDAvNDY1MjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDY1NDQgc3RhcnRibG9jayA0NjU1NiAoMC80NjU1NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NjU3NiBzdGFydGJsb2NrIDQ2NTg4ICgwLzQ2NTg4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2NjA4IHN0YXJ0YmxvY2sgNDY2MjAgKDAvNDY2 MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDY2NDAgc3RhcnRibG9jayA0NjY1MiAo MC80NjY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NjY3MiBzdGFydGJsb2NrIDQ2 Njg0ICgwLzQ2Njg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2NzA0IHN0YXJ0Ymxv Y2sgNDY3MTYgKDAvNDY3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDY3MzYgc3Rh cnRibG9jayA0Njc0OCAoMC80Njc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0Njc2 OCBzdGFydGJsb2NrIDQ2NzgwICgwLzQ2NzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDQ2ODAwIHN0YXJ0YmxvY2sgNDY4MTIgKDAvNDY4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDY4MzIgc3RhcnRibG9jayA0Njg0NCAoMC80Njg0NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA0Njg2NCBzdGFydGJsb2NrIDQ2ODc2ICgwLzQ2ODc2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQ2ODk2IHN0YXJ0YmxvY2sgNDY5MDggKDAvNDY5MDgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNDY5Mjggc3RhcnRibG9jayA0Njk0MCAoMC80Njk0MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0Njk2MCBzdGFydGJsb2NrIDQ2OTcyICgwLzQ2OTcy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ2OTkyIHN0YXJ0YmxvY2sgNDcwMDQgKDAv NDcwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDcwMjQgc3RhcnRibG9jayA0NzAz NiAoMC80NzAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NzA1NiBzdGFydGJsb2Nr IDQ3MDY4ICgwLzQ3MDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3MDg4IHN0YXJ0 YmxvY2sgNDcxMDAgKDAvNDcxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDcxMjAg c3RhcnRibG9jayA0NzEzMiAoMC80NzEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0 NzE1MiBzdGFydGJsb2NrIDQ3MTY0ICgwLzQ3MTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQ3MTg0IHN0YXJ0YmxvY2sgNDcxOTYgKDAvNDcxOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNDcyMTYgc3RhcnRibG9jayA0NzIyOCAoMC80NzIyOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0NzI0OCBzdGFydGJsb2NrIDQ3MjYwICgwLzQ3MjYwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDQ3MjgwIHN0YXJ0YmxvY2sgNDcyOTIgKDAvNDcyOTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDczMTIgc3RhcnRibG9jayA0NzMyNCAoMC80NzMyNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NzM0NCBzdGFydGJsb2NrIDQ3MzU2ICgwLzQ3 MzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3Mzc2IHN0YXJ0YmxvY2sgNDczODgg KDAvNDczODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDc0MDggc3RhcnRibG9jayA0 NzQyMCAoMC80NzQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NzQ0MCBzdGFydGJs b2NrIDQ3NDUyICgwLzQ3NDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3NDcyIHN0 YXJ0YmxvY2sgNDc0ODQgKDAvNDc0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDc1 MDQgc3RhcnRibG9jayA0NzUxNiAoMC80NzUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0NzUzNiBzdGFydGJsb2NrIDQ3NTQ4ICgwLzQ3NTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQ3NTY4IHN0YXJ0YmxvY2sgNDc1ODAgKDAvNDc1ODApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDc2MDAgc3RhcnRibG9jayA0NzYxMiAoMC80NzYxMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0NzYzMiBzdGFydGJsb2NrIDQ3NjQ0ICgwLzQ3NjQ0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3NjY0IHN0YXJ0YmxvY2sgNDc2NzYgKDAvNDc2NzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDc2OTYgc3RhcnRibG9jayA0NzcwOCAoMC80Nzcw OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NzcyOCBzdGFydGJsb2NrIDQ3NzQwICgw LzQ3NzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3NzYwIHN0YXJ0YmxvY2sgNDc3 NzIgKDAvNDc3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDc3OTIgc3RhcnRibG9j ayA0NzgwNCAoMC80NzgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0NzgyNCBzdGFy dGJsb2NrIDQ3ODM2ICgwLzQ3ODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ3ODU2 IHN0YXJ0YmxvY2sgNDc4NjggKDAvNDc4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDc4ODggc3RhcnRibG9jayA0NzkwMCAoMC80NzkwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0NzkyMCBzdGFydGJsb2NrIDQ3OTMyICgwLzQ3OTMyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQ3OTUyIHN0YXJ0YmxvY2sgNDc5NjQgKDAvNDc5NjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDc5ODQgc3RhcnRibG9jayA0Nzk5NiAoMC80Nzk5NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0ODAxNiBzdGFydGJsb2NrIDQ4MDI4ICgwLzQ4MDI4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4MDQ4IHN0YXJ0YmxvY2sgNDgwNjAgKDAvNDgwNjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDgwODAgc3RhcnRibG9jayA0ODA5MiAoMC80 ODA5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODExMiBzdGFydGJsb2NrIDQ4MTI0 ICgwLzQ4MTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4MTQ0IHN0YXJ0YmxvY2sg NDgxNTYgKDAvNDgxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDgxNzYgc3RhcnRi bG9jayA0ODE4OCAoMC80ODE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODIwOCBz dGFydGJsb2NrIDQ4MjIwICgwLzQ4MjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4 MjQwIHN0YXJ0YmxvY2sgNDgyNTIgKDAvNDgyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNDgyNzIgc3RhcnRibG9jayA0ODI4NCAoMC80ODI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA0ODMwNCBzdGFydGJsb2NrIDQ4MzE2ICgwLzQ4MzE2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDQ4MzM2IHN0YXJ0YmxvY2sgNDgzNDggKDAvNDgzNDgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNDgzNjggc3RhcnRibG9jayA0ODM4MCAoMC80ODM4MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODQwMCBzdGFydGJsb2NrIDQ4NDEyICgwLzQ4NDEyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4NDMyIHN0YXJ0YmxvY2sgNDg0NDQgKDAvNDg0 NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg0NjQgc3RhcnRibG9jayA0ODQ3NiAo MC80ODQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODQ5NiBzdGFydGJsb2NrIDQ4 NTA4ICgwLzQ4NTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4NTI4IHN0YXJ0Ymxv Y2sgNDg1NDAgKDAvNDg1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg1NjAgc3Rh cnRibG9jayA0ODU3MiAoMC80ODU3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODU5 MiBzdGFydGJsb2NrIDQ4NjA0ICgwLzQ4NjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDQ4NjI0IHN0YXJ0YmxvY2sgNDg2MzYgKDAvNDg2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNDg2NTYgc3RhcnRibG9jayA0ODY2OCAoMC80ODY2OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA0ODY4OCBzdGFydGJsb2NrIDQ4NzAwICgwLzQ4NzAwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDQ4NzIwIHN0YXJ0YmxvY2sgNDg3MzIgKDAvNDg3MzIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg3NTIgc3RhcnRibG9jayA0ODc2NCAoMC80ODc2NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODc4NCBzdGFydGJsb2NrIDQ4Nzk2ICgwLzQ4Nzk2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4ODE2IHN0YXJ0YmxvY2sgNDg4MjggKDAv NDg4MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg4NDggc3RhcnRibG9jayA0ODg2 MCAoMC80ODg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0ODg4MCBzdGFydGJsb2Nr IDQ4ODkyICgwLzQ4ODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ4OTEyIHN0YXJ0 YmxvY2sgNDg5MjQgKDAvNDg5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDg5NDQg c3RhcnRibG9jayA0ODk1NiAoMC80ODk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0 ODk3NiBzdGFydGJsb2NrIDQ4OTg4ICgwLzQ4OTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDQ5MDA4IHN0YXJ0YmxvY2sgNDkwMjAgKDAvNDkwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNDkwNDAgc3RhcnRibG9jayA0OTA1MiAoMC80OTA1MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA0OTA3MiBzdGFydGJsb2NrIDQ5MDg0ICgwLzQ5MDg0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDQ5MTA0IHN0YXJ0YmxvY2sgNDkxMTYgKDAvNDkxMTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDkxMzYgc3RhcnRibG9jayA0OTE0OCAoMC80OTE0OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTE2OCBzdGFydGJsb2NrIDQ5MTgwICgwLzQ5 MTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5MjAwIHN0YXJ0YmxvY2sgNDkyMTIg KDAvNDkyMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDkyMzIgc3RhcnRibG9jayA0 OTI0NCAoMC80OTI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTI2NCBzdGFydGJs b2NrIDQ5Mjc2ICgwLzQ5Mjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5Mjk2IHN0 YXJ0YmxvY2sgNDkzMDggKDAvNDkzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDkz Mjggc3RhcnRibG9jayA0OTM0MCAoMC80OTM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA0OTM2MCBzdGFydGJsb2NrIDQ5MzcyICgwLzQ5MzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDQ5MzkyIHN0YXJ0YmxvY2sgNDk0MDQgKDAvNDk0MDQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNDk0MjQgc3RhcnRibG9jayA0OTQzNiAoMC80OTQzNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA0OTQ1NiBzdGFydGJsb2NrIDQ5NDY4ICgwLzQ5NDY4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5NDg4IHN0YXJ0YmxvY2sgNDk1MDAgKDAvNDk1MDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDk1MjAgc3RhcnRibG9jayA0OTUzMiAoMC80OTUz MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTU1MiBzdGFydGJsb2NrIDQ5NTY0ICgw LzQ5NTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5NTg0IHN0YXJ0YmxvY2sgNDk1 OTYgKDAvNDk1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDk2MTYgc3RhcnRibG9j ayA0OTYyOCAoMC80OTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTY0OCBzdGFy dGJsb2NrIDQ5NjYwICgwLzQ5NjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5Njgw IHN0YXJ0YmxvY2sgNDk2OTIgKDAvNDk2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NDk3MTIgc3RhcnRibG9jayA0OTcyNCAoMC80OTcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA0OTc0NCBzdGFydGJsb2NrIDQ5NzU2ICgwLzQ5NzU2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDQ5Nzc2IHN0YXJ0YmxvY2sgNDk3ODggKDAvNDk3ODgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNDk4MDggc3RhcnRibG9jayA0OTgyMCAoMC80OTgyMCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA0OTg0MCBzdGFydGJsb2NrIDQ5ODUyICgwLzQ5ODUyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5ODcyIHN0YXJ0YmxvY2sgNDk4ODQgKDAvNDk4ODQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNDk5MDQgc3RhcnRibG9jayA0OTkxNiAoMC80 OTkxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA0OTkzNiBzdGFydGJsb2NrIDQ5OTQ4 ICgwLzQ5OTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDQ5OTY4IHN0YXJ0YmxvY2sg NDk5ODAgKDAvNDk5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTAwMDAgc3RhcnRi bG9jayA1MDAxMiAoMC81MDAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDAzMiBz dGFydGJsb2NrIDUwMDQ0ICgwLzUwMDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUw MDY0IHN0YXJ0YmxvY2sgNTAwNzYgKDAvNTAwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTAwOTYgc3RhcnRibG9jayA1MDEwOCAoMC81MDEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1MDEyOCBzdGFydGJsb2NrIDUwMTQwICgwLzUwMTQwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDUwMTYwIHN0YXJ0YmxvY2sgNTAxNzIgKDAvNTAxNzIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTAxOTIgc3RhcnRibG9jayA1MDIwNCAoMC81MDIwNCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDIyNCBzdGFydGJsb2NrIDUwMjM2ICgwLzUwMjM2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUwMjU2IHN0YXJ0YmxvY2sgNTAyNjggKDAvNTAy NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTAyODggc3RhcnRibG9jayA1MDMwMCAo MC81MDMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDMyMCBzdGFydGJsb2NrIDUw MzMyICgwLzUwMzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUwMzUyIHN0YXJ0Ymxv Y2sgNTAzNjQgKDAvNTAzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTAzODQgc3Rh cnRibG9jayA1MDM5NiAoMC81MDM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDQx NiBzdGFydGJsb2NrIDUwNDI4ICgwLzUwNDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDUwNDQ4IHN0YXJ0YmxvY2sgNTA0NjAgKDAvNTA0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTA0ODAgc3RhcnRibG9jayA1MDQ5MiAoMC81MDQ5MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1MDUxMiBzdGFydGJsb2NrIDUwNTI0ICgwLzUwNTI0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDUwNTQ0IHN0YXJ0YmxvY2sgNTA1NTYgKDAvNTA1NTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTA1NzYgc3RhcnRibG9jayA1MDU4OCAoMC81MDU4OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDYwOCBzdGFydGJsb2NrIDUwNjIwICgwLzUwNjIw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUwNjQwIHN0YXJ0YmxvY2sgNTA2NTIgKDAv NTA2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTA2NzIgc3RhcnRibG9jayA1MDY4 NCAoMC81MDY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDcwNCBzdGFydGJsb2Nr IDUwNzE2ICgwLzUwNzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUwNzM2IHN0YXJ0 YmxvY2sgNTA3NDggKDAvNTA3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTA3Njgg c3RhcnRibG9jayA1MDc4MCAoMC81MDc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 MDgwMCBzdGFydGJsb2NrIDUwODEyICgwLzUwODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDUwODMyIHN0YXJ0YmxvY2sgNTA4NDQgKDAvNTA4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTA4NjQgc3RhcnRibG9jayA1MDg3NiAoMC81MDg3NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA1MDg5NiBzdGFydGJsb2NrIDUwOTA4ICgwLzUwOTA4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDUwOTI4IHN0YXJ0YmxvY2sgNTA5NDAgKDAvNTA5NDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTA5NjAgc3RhcnRibG9jayA1MDk3MiAoMC81MDk3Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MDk5MiBzdGFydGJsb2NrIDUxMDA0ICgwLzUx MDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxMDI0IHN0YXJ0YmxvY2sgNTEwMzYg KDAvNTEwMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTEwNTYgc3RhcnRibG9jayA1 MTA2OCAoMC81MTA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTA4OCBzdGFydGJs b2NrIDUxMTAwICgwLzUxMTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxMTIwIHN0 YXJ0YmxvY2sgNTExMzIgKDAvNTExMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTEx NTIgc3RhcnRibG9jayA1MTE2NCAoMC81MTE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA1MTE4NCBzdGFydGJsb2NrIDUxMTk2ICgwLzUxMTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDUxMjE2IHN0YXJ0YmxvY2sgNTEyMjggKDAvNTEyMjgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNTEyNDggc3RhcnRibG9jayA1MTI2MCAoMC81MTI2MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1MTI4MCBzdGFydGJsb2NrIDUxMjkyICgwLzUxMjkyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxMzEyIHN0YXJ0YmxvY2sgNTEzMjQgKDAvNTEzMjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTEzNDQgc3RhcnRibG9jayA1MTM1NiAoMC81MTM1 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTM3NiBzdGFydGJsb2NrIDUxMzg4ICgw LzUxMzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxNDA4IHN0YXJ0YmxvY2sgNTE0 MjAgKDAvNTE0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTE0NDAgc3RhcnRibG9j ayA1MTQ1MiAoMC81MTQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTQ3MiBzdGFy dGJsb2NrIDUxNDg0ICgwLzUxNDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxNTA0 IHN0YXJ0YmxvY2sgNTE1MTYgKDAvNTE1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NTE1MzYgc3RhcnRibG9jayA1MTU0OCAoMC81MTU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1MTU2OCBzdGFydGJsb2NrIDUxNTgwICgwLzUxNTgwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDUxNjAwIHN0YXJ0YmxvY2sgNTE2MTIgKDAvNTE2MTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTE2MzIgc3RhcnRibG9jayA1MTY0NCAoMC81MTY0NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA1MTY2NCBzdGFydGJsb2NrIDUxNjc2ICgwLzUxNjc2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxNjk2IHN0YXJ0YmxvY2sgNTE3MDggKDAvNTE3MDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTE3Mjggc3RhcnRibG9jayA1MTc0MCAoMC81 MTc0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTc2MCBzdGFydGJsb2NrIDUxNzcy ICgwLzUxNzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUxNzkyIHN0YXJ0YmxvY2sg NTE4MDQgKDAvNTE4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTE4MjQgc3RhcnRi bG9jayA1MTgzNiAoMC81MTgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MTg1NiBz dGFydGJsb2NrIDUxODY4ICgwLzUxODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUx ODg4IHN0YXJ0YmxvY2sgNTE5MDAgKDAvNTE5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTE5MjAgc3RhcnRibG9jayA1MTkzMiAoMC81MTkzMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1MTk1MiBzdGFydGJsb2NrIDUxOTY0ICgwLzUxOTY0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDUxOTg0IHN0YXJ0YmxvY2sgNTE5OTYgKDAvNTE5OTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTIwMTYgc3RhcnRibG9jayA1MjAyOCAoMC81MjAyOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjA0OCBzdGFydGJsb2NrIDUyMDYwICgwLzUyMDYwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyMDgwIHN0YXJ0YmxvY2sgNTIwOTIgKDAvNTIw OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTIxMTIgc3RhcnRibG9jayA1MjEyNCAo MC81MjEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjE0NCBzdGFydGJsb2NrIDUy MTU2ICgwLzUyMTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyMTc2IHN0YXJ0Ymxv Y2sgNTIxODggKDAvNTIxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTIyMDggc3Rh cnRibG9jayA1MjIyMCAoMC81MjIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjI0 MCBzdGFydGJsb2NrIDUyMjUyICgwLzUyMjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDUyMjcyIHN0YXJ0YmxvY2sgNTIyODQgKDAvNTIyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTIzMDQgc3RhcnRibG9jayA1MjMxNiAoMC81MjMxNikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1MjMzNiBzdGFydGJsb2NrIDUyMzQ4ICgwLzUyMzQ4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDUyMzY4IHN0YXJ0YmxvY2sgNTIzODAgKDAvNTIzODApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI0MDAgc3RhcnRibG9jayA1MjQxMiAoMC81MjQxMikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjQzMiBzdGFydGJsb2NrIDUyNDQ0ICgwLzUyNDQ0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyNDY0IHN0YXJ0YmxvY2sgNTI0NzYgKDAv NTI0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI0OTYgc3RhcnRibG9jayA1MjUw OCAoMC81MjUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjUyOCBzdGFydGJsb2Nr IDUyNTQwICgwLzUyNTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyNTYwIHN0YXJ0 YmxvY2sgNTI1NzIgKDAvNTI1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI1OTIg c3RhcnRibG9jayA1MjYwNCAoMC81MjYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 MjYyNCBzdGFydGJsb2NrIDUyNjM2ICgwLzUyNjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDUyNjU2IHN0YXJ0YmxvY2sgNTI2NjggKDAvNTI2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTI2ODggc3RhcnRibG9jayA1MjcwMCAoMC81MjcwMCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA1MjcyMCBzdGFydGJsb2NrIDUyNzMyICgwLzUyNzMyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDUyNzUyIHN0YXJ0YmxvY2sgNTI3NjQgKDAvNTI3NjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI3ODQgc3RhcnRibG9jayA1Mjc5NiAoMC81Mjc5Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjgxNiBzdGFydGJsb2NrIDUyODI4ICgwLzUy ODI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyODQ4IHN0YXJ0YmxvY2sgNTI4NjAg KDAvNTI4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI4ODAgc3RhcnRibG9jayA1 Mjg5MiAoMC81Mjg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MjkxMiBzdGFydGJs b2NrIDUyOTI0ICgwLzUyOTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUyOTQ0IHN0 YXJ0YmxvY2sgNTI5NTYgKDAvNTI5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTI5 NzYgc3RhcnRibG9jayA1Mjk4OCAoMC81Mjk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA1MzAwOCBzdGFydGJsb2NrIDUzMDIwICgwLzUzMDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDUzMDQwIHN0YXJ0YmxvY2sgNTMwNTIgKDAvNTMwNTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNTMwNzIgc3RhcnRibG9jayA1MzA4NCAoMC81MzA4NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1MzEwNCBzdGFydGJsb2NrIDUzMTE2ICgwLzUzMTE2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzMTM2IHN0YXJ0YmxvY2sgNTMxNDggKDAvNTMxNDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTMxNjggc3RhcnRibG9jayA1MzE4MCAoMC81MzE4 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MzIwMCBzdGFydGJsb2NrIDUzMjEyICgw LzUzMjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzMjMyIHN0YXJ0YmxvY2sgNTMy NDQgKDAvNTMyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTMyNjQgc3RhcnRibG9j ayA1MzI3NiAoMC81MzI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MzI5NiBzdGFy dGJsb2NrIDUzMzA4ICgwLzUzMzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzMzI4 IHN0YXJ0YmxvY2sgNTMzNDAgKDAvNTMzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NTMzNjAgc3RhcnRibG9jayA1MzM3MiAoMC81MzM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1MzM5MiBzdGFydGJsb2NrIDUzNDA0ICgwLzUzNDA0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDUzNDI0IHN0YXJ0YmxvY2sgNTM0MzYgKDAvNTM0MzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTM0NTYgc3RhcnRibG9jayA1MzQ2OCAoMC81MzQ2OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA1MzQ4OCBzdGFydGJsb2NrIDUzNTAwICgwLzUzNTAwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzNTIwIHN0YXJ0YmxvY2sgNTM1MzIgKDAvNTM1MzIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTM1NTIgc3RhcnRibG9jayA1MzU2NCAoMC81 MzU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MzU4NCBzdGFydGJsb2NrIDUzNTk2 ICgwLzUzNTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzNjE2IHN0YXJ0YmxvY2sg NTM2MjggKDAvNTM2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTM2NDggc3RhcnRi bG9jayA1MzY2MCAoMC81MzY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1MzY4MCBz dGFydGJsb2NrIDUzNjkyICgwLzUzNjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUz NzEyIHN0YXJ0YmxvY2sgNTM3MjQgKDAvNTM3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTM3NDQgc3RhcnRibG9jayA1Mzc1NiAoMC81Mzc1NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1Mzc3NiBzdGFydGJsb2NrIDUzNzg4ICgwLzUzNzg4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDUzODA4IHN0YXJ0YmxvY2sgNTM4MjAgKDAvNTM4MjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTM4NDAgc3RhcnRibG9jayA1Mzg1MiAoMC81Mzg1MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Mzg3MiBzdGFydGJsb2NrIDUzODg0ICgwLzUzODg0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDUzOTA0IHN0YXJ0YmxvY2sgNTM5MTYgKDAvNTM5 MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTM5MzYgc3RhcnRibG9jayA1Mzk0OCAo MC81Mzk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Mzk2OCBzdGFydGJsb2NrIDUz OTgwICgwLzUzOTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0MDAwIHN0YXJ0Ymxv Y2sgNTQwMTIgKDAvNTQwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQwMzIgc3Rh cnRibG9jayA1NDA0NCAoMC81NDA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NDA2 NCBzdGFydGJsb2NrIDU0MDc2ICgwLzU0MDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDU0MDk2IHN0YXJ0YmxvY2sgNTQxMDggKDAvNTQxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTQxMjggc3RhcnRibG9jayA1NDE0MCAoMC81NDE0MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1NDE2MCBzdGFydGJsb2NrIDU0MTcyICgwLzU0MTcyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDU0MTkyIHN0YXJ0YmxvY2sgNTQyMDQgKDAvNTQyMDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQyMjQgc3RhcnRibG9jayA1NDIzNiAoMC81NDIzNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NDI1NiBzdGFydGJsb2NrIDU0MjY4ICgwLzU0MjY4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0Mjg4IHN0YXJ0YmxvY2sgNTQzMDAgKDAv NTQzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQzMjAgc3RhcnRibG9jayA1NDMz MiAoMC81NDMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NDM1MiBzdGFydGJsb2Nr IDU0MzY0ICgwLzU0MzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0Mzg0IHN0YXJ0 YmxvY2sgNTQzOTYgKDAvNTQzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQ0MTYg c3RhcnRibG9jayA1NDQyOCAoMC81NDQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 NDQ0OCBzdGFydGJsb2NrIDU0NDYwICgwLzU0NDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDU0NDgwIHN0YXJ0YmxvY2sgNTQ0OTIgKDAvNTQ0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTQ1MTIgc3RhcnRibG9jayA1NDUyNCAoMC81NDUyNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA1NDU0NCBzdGFydGJsb2NrIDU0NTU2ICgwLzU0NTU2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDU0NTc2IHN0YXJ0YmxvY2sgNTQ1ODggKDAvNTQ1ODgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQ2MDggc3RhcnRibG9jayA1NDYyMCAoMC81NDYyMCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NDY0MCBzdGFydGJsb2NrIDU0NjUyICgwLzU0 NjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0NjcyIHN0YXJ0YmxvY2sgNTQ2ODQg KDAvNTQ2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQ3MDQgc3RhcnRibG9jayA1 NDcxNiAoMC81NDcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NDczNiBzdGFydGJs b2NrIDU0NzQ4ICgwLzU0NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0NzY4IHN0 YXJ0YmxvY2sgNTQ3ODAgKDAvNTQ3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQ4 MDAgc3RhcnRibG9jayA1NDgxMiAoMC81NDgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA1NDgzMiBzdGFydGJsb2NrIDU0ODQ0ICgwLzU0ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDU0ODY0IHN0YXJ0YmxvY2sgNTQ4NzYgKDAvNTQ4NzYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNTQ4OTYgc3RhcnRibG9jayA1NDkwOCAoMC81NDkwOCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1NDkyOCBzdGFydGJsb2NrIDU0OTQwICgwLzU0OTQwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU0OTYwIHN0YXJ0YmxvY2sgNTQ5NzIgKDAvNTQ5NzIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTQ5OTIgc3RhcnRibG9jayA1NTAwNCAoMC81NTAw NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTAyNCBzdGFydGJsb2NrIDU1MDM2ICgw LzU1MDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1MDU2IHN0YXJ0YmxvY2sgNTUw NjggKDAvNTUwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTUwODggc3RhcnRibG9j ayA1NTEwMCAoMC81NTEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTEyMCBzdGFy dGJsb2NrIDU1MTMyICgwLzU1MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1MTUy IHN0YXJ0YmxvY2sgNTUxNjQgKDAvNTUxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NTUxODQgc3RhcnRibG9jayA1NTE5NiAoMC81NTE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1NTIxNiBzdGFydGJsb2NrIDU1MjI4ICgwLzU1MjI4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDU1MjQ4IHN0YXJ0YmxvY2sgNTUyNjAgKDAvNTUyNjApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTUyODAgc3RhcnRibG9jayA1NTI5MiAoMC81NTI5MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA1NTMxMiBzdGFydGJsb2NrIDU1MzI0ICgwLzU1MzI0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1MzQ0IHN0YXJ0YmxvY2sgNTUzNTYgKDAvNTUzNTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTUzNzYgc3RhcnRibG9jayA1NTM4OCAoMC81 NTM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTQwOCBzdGFydGJsb2NrIDU1NDIw ICgwLzU1NDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1NDQwIHN0YXJ0YmxvY2sg NTU0NTIgKDAvNTU0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTU0NzIgc3RhcnRi bG9jayA1NTQ4NCAoMC81NTQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTUwNCBz dGFydGJsb2NrIDU1NTE2ICgwLzU1NTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1 NTM2IHN0YXJ0YmxvY2sgNTU1NDggKDAvNTU1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTU1Njggc3RhcnRibG9jayA1NTU4MCAoMC81NTU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1NTYwMCBzdGFydGJsb2NrIDU1NjEyICgwLzU1NjEyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDU1NjMyIHN0YXJ0YmxvY2sgNTU2NDQgKDAvNTU2NDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTU2NjQgc3RhcnRibG9jayA1NTY3NiAoMC81NTY3NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTY5NiBzdGFydGJsb2NrIDU1NzA4ICgwLzU1NzA4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1NzI4IHN0YXJ0YmxvY2sgNTU3NDAgKDAvNTU3 NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTU3NjAgc3RhcnRibG9jayA1NTc3MiAo MC81NTc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTc5MiBzdGFydGJsb2NrIDU1 ODA0ICgwLzU1ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU1ODI0IHN0YXJ0Ymxv Y2sgNTU4MzYgKDAvNTU4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTU4NTYgc3Rh cnRibG9jayA1NTg2OCAoMC81NTg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NTg4 OCBzdGFydGJsb2NrIDU1OTAwICgwLzU1OTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDU1OTIwIHN0YXJ0YmxvY2sgNTU5MzIgKDAvNTU5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTU5NTIgc3RhcnRibG9jayA1NTk2NCAoMC81NTk2NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1NTk4NCBzdGFydGJsb2NrIDU1OTk2ICgwLzU1OTk2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDU2MDE2IHN0YXJ0YmxvY2sgNTYwMjggKDAvNTYwMjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTYwNDggc3RhcnRibG9jayA1NjA2MCAoMC81NjA2MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NjA4MCBzdGFydGJsb2NrIDU2MDkyICgwLzU2MDky KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2MTEyIHN0YXJ0YmxvY2sgNTYxMjQgKDAv NTYxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTYxNDQgc3RhcnRibG9jayA1NjE1 NiAoMC81NjE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NjE3NiBzdGFydGJsb2Nr IDU2MTg4ICgwLzU2MTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2MjA4IHN0YXJ0 YmxvY2sgNTYyMjAgKDAvNTYyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTYyNDAg c3RhcnRibG9jayA1NjI1MiAoMC81NjI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 NjI3MiBzdGFydGJsb2NrIDU2Mjg0ICgwLzU2Mjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDU2MzA0IHN0YXJ0YmxvY2sgNTYzMTYgKDAvNTYzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTYzMzYgc3RhcnRibG9jayA1NjM0OCAoMC81NjM0OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA1NjM2OCBzdGFydGJsb2NrIDU2MzgwICgwLzU2MzgwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDU2NDAwIHN0YXJ0YmxvY2sgNTY0MTIgKDAvNTY0MTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY0MzIgc3RhcnRibG9jayA1NjQ0NCAoMC81NjQ0NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NjQ2NCBzdGFydGJsb2NrIDU2NDc2ICgwLzU2 NDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2NDk2IHN0YXJ0YmxvY2sgNTY1MDgg KDAvNTY1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY1Mjggc3RhcnRibG9jayA1 NjU0MCAoMC81NjU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NjU2MCBzdGFydGJs b2NrIDU2NTcyICgwLzU2NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2NTkyIHN0 YXJ0YmxvY2sgNTY2MDQgKDAvNTY2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY2 MjQgc3RhcnRibG9jayA1NjYzNiAoMC81NjYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA1NjY1NiBzdGFydGJsb2NrIDU2NjY4ICgwLzU2NjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDU2Njg4IHN0YXJ0YmxvY2sgNTY3MDAgKDAvNTY3MDApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNTY3MjAgc3RhcnRibG9jayA1NjczMiAoMC81NjczMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1Njc1MiBzdGFydGJsb2NrIDU2NzY0ICgwLzU2NzY0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2Nzg0IHN0YXJ0YmxvY2sgNTY3OTYgKDAvNTY3OTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY4MTYgc3RhcnRibG9jayA1NjgyOCAoMC81Njgy OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Njg0OCBzdGFydGJsb2NrIDU2ODYwICgw LzU2ODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2ODgwIHN0YXJ0YmxvY2sgNTY4 OTIgKDAvNTY4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTY5MTIgc3RhcnRibG9j ayA1NjkyNCAoMC81NjkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Njk0NCBzdGFy dGJsb2NrIDU2OTU2ICgwLzU2OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU2OTc2 IHN0YXJ0YmxvY2sgNTY5ODggKDAvNTY5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NTcwMDggc3RhcnRibG9jayA1NzAyMCAoMC81NzAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1NzA0MCBzdGFydGJsb2NrIDU3MDUyICgwLzU3MDUyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDU3MDcyIHN0YXJ0YmxvY2sgNTcwODQgKDAvNTcwODQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTcxMDQgc3RhcnRibG9jayA1NzExNiAoMC81NzExNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA1NzEzNiBzdGFydGJsb2NrIDU3MTQ4ICgwLzU3MTQ4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3MTY4IHN0YXJ0YmxvY2sgNTcxODAgKDAvNTcxODAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTcyMDAgc3RhcnRibG9jayA1NzIxMiAoMC81 NzIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NzIzMiBzdGFydGJsb2NrIDU3MjQ0 ICgwLzU3MjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3MjY0IHN0YXJ0YmxvY2sg NTcyNzYgKDAvNTcyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTcyOTYgc3RhcnRi bG9jayA1NzMwOCAoMC81NzMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NzMyOCBz dGFydGJsb2NrIDU3MzQwICgwLzU3MzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3 MzYwIHN0YXJ0YmxvY2sgNTczNzIgKDAvNTczNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTczOTIgc3RhcnRibG9jayA1NzQwNCAoMC81NzQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1NzQyNCBzdGFydGJsb2NrIDU3NDM2ICgwLzU3NDM2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDU3NDU2IHN0YXJ0YmxvY2sgNTc0NjggKDAvNTc0NjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTc0ODggc3RhcnRibG9jayA1NzUwMCAoMC81NzUwMCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NzUyMCBzdGFydGJsb2NrIDU3NTMyICgwLzU3NTMyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3NTUyIHN0YXJ0YmxvY2sgNTc1NjQgKDAvNTc1 NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTc1ODQgc3RhcnRibG9jayA1NzU5NiAo MC81NzU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NzYxNiBzdGFydGJsb2NrIDU3 NjI4ICgwLzU3NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3NjQ4IHN0YXJ0Ymxv Y2sgNTc2NjAgKDAvNTc2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTc2ODAgc3Rh cnRibG9jayA1NzY5MiAoMC81NzY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1Nzcx MiBzdGFydGJsb2NrIDU3NzI0ICgwLzU3NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDU3NzQ0IHN0YXJ0YmxvY2sgNTc3NTYgKDAvNTc3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTc3NzYgc3RhcnRibG9jayA1Nzc4OCAoMC81Nzc4OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1NzgwOCBzdGFydGJsb2NrIDU3ODIwICgwLzU3ODIwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDU3ODQwIHN0YXJ0YmxvY2sgNTc4NTIgKDAvNTc4NTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTc4NzIgc3RhcnRibG9jayA1Nzg4NCAoMC81Nzg4NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1NzkwNCBzdGFydGJsb2NrIDU3OTE2ICgwLzU3OTE2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU3OTM2IHN0YXJ0YmxvY2sgNTc5NDggKDAv NTc5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTc5Njggc3RhcnRibG9jayA1Nzk4 MCAoMC81Nzk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODAwMCBzdGFydGJsb2Nr IDU4MDEyICgwLzU4MDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4MDMyIHN0YXJ0 YmxvY2sgNTgwNDQgKDAvNTgwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTgwNjQg c3RhcnRibG9jayA1ODA3NiAoMC81ODA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 ODA5NiBzdGFydGJsb2NrIDU4MTA4ICgwLzU4MTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDU4MTI4IHN0YXJ0YmxvY2sgNTgxNDAgKDAvNTgxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTgxNjAgc3RhcnRibG9jayA1ODE3MiAoMC81ODE3MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA1ODE5MiBzdGFydGJsb2NrIDU4MjA0ICgwLzU4MjA0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDU4MjI0IHN0YXJ0YmxvY2sgNTgyMzYgKDAvNTgyMzYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTgyNTYgc3RhcnRibG9jayA1ODI2OCAoMC81ODI2OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODI4OCBzdGFydGJsb2NrIDU4MzAwICgwLzU4 MzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4MzIwIHN0YXJ0YmxvY2sgNTgzMzIg KDAvNTgzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTgzNTIgc3RhcnRibG9jayA1 ODM2NCAoMC81ODM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODM4NCBzdGFydGJs b2NrIDU4Mzk2ICgwLzU4Mzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4NDE2IHN0 YXJ0YmxvY2sgNTg0MjggKDAvNTg0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTg0 NDggc3RhcnRibG9jayA1ODQ2MCAoMC81ODQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA1ODQ4MCBzdGFydGJsb2NrIDU4NDkyICgwLzU4NDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDU4NTEyIHN0YXJ0YmxvY2sgNTg1MjQgKDAvNTg1MjQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNTg1NDQgc3RhcnRibG9jayA1ODU1NiAoMC81ODU1NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA1ODU3NiBzdGFydGJsb2NrIDU4NTg4ICgwLzU4NTg4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4NjA4IHN0YXJ0YmxvY2sgNTg2MjAgKDAvNTg2MjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTg2NDAgc3RhcnRibG9jayA1ODY1MiAoMC81ODY1 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODY3MiBzdGFydGJsb2NrIDU4Njg0ICgw LzU4Njg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4NzA0IHN0YXJ0YmxvY2sgNTg3 MTYgKDAvNTg3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTg3MzYgc3RhcnRibG9j ayA1ODc0OCAoMC81ODc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1ODc2OCBzdGFy dGJsb2NrIDU4NzgwICgwLzU4NzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4ODAw IHN0YXJ0YmxvY2sgNTg4MTIgKDAvNTg4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NTg4MzIgc3RhcnRibG9jayA1ODg0NCAoMC81ODg0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA1ODg2NCBzdGFydGJsb2NrIDU4ODc2ICgwLzU4ODc2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDU4ODk2IHN0YXJ0YmxvY2sgNTg5MDggKDAvNTg5MDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNTg5Mjggc3RhcnRibG9jayA1ODk0MCAoMC81ODk0MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA1ODk2MCBzdGFydGJsb2NrIDU4OTcyICgwLzU4OTcyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU4OTkyIHN0YXJ0YmxvY2sgNTkwMDQgKDAvNTkwMDQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTkwMjQgc3RhcnRibG9jayA1OTAzNiAoMC81 OTAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTA1NiBzdGFydGJsb2NrIDU5MDY4 ICgwLzU5MDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5MDg4IHN0YXJ0YmxvY2sg NTkxMDAgKDAvNTkxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTkxMjAgc3RhcnRi bG9jayA1OTEzMiAoMC81OTEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTE1MiBz dGFydGJsb2NrIDU5MTY0ICgwLzU5MTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5 MTg0IHN0YXJ0YmxvY2sgNTkxOTYgKDAvNTkxOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNTkyMTYgc3RhcnRibG9jayA1OTIyOCAoMC81OTIyOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA1OTI0OCBzdGFydGJsb2NrIDU5MjYwICgwLzU5MjYwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDU5MjgwIHN0YXJ0YmxvY2sgNTkyOTIgKDAvNTkyOTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNTkzMTIgc3RhcnRibG9jayA1OTMyNCAoMC81OTMyNCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTM0NCBzdGFydGJsb2NrIDU5MzU2ICgwLzU5MzU2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5Mzc2IHN0YXJ0YmxvY2sgNTkzODggKDAvNTkz ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTk0MDggc3RhcnRibG9jayA1OTQyMCAo MC81OTQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTQ0MCBzdGFydGJsb2NrIDU5 NDUyICgwLzU5NDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5NDcyIHN0YXJ0Ymxv Y2sgNTk0ODQgKDAvNTk0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTk1MDQgc3Rh cnRibG9jayA1OTUxNiAoMC81OTUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTUz NiBzdGFydGJsb2NrIDU5NTQ4ICgwLzU5NTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDU5NTY4IHN0YXJ0YmxvY2sgNTk1ODAgKDAvNTk1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNTk2MDAgc3RhcnRibG9jayA1OTYxMiAoMC81OTYxMikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA1OTYzMiBzdGFydGJsb2NrIDU5NjQ0ICgwLzU5NjQ0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDU5NjY0IHN0YXJ0YmxvY2sgNTk2NzYgKDAvNTk2NzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNTk2OTYgc3RhcnRibG9jayA1OTcwOCAoMC81OTcwOCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTcyOCBzdGFydGJsb2NrIDU5NzQwICgwLzU5NzQw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5NzYwIHN0YXJ0YmxvY2sgNTk3NzIgKDAv NTk3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTk3OTIgc3RhcnRibG9jayA1OTgw NCAoMC81OTgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1OTgyNCBzdGFydGJsb2Nr IDU5ODM2ICgwLzU5ODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDU5ODU2IHN0YXJ0 YmxvY2sgNTk4NjggKDAvNTk4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNTk4ODgg c3RhcnRibG9jayA1OTkwMCAoMC81OTkwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA1 OTkyMCBzdGFydGJsb2NrIDU5OTMyICgwLzU5OTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDU5OTUyIHN0YXJ0YmxvY2sgNTk5NjQgKDAvNTk5NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNTk5ODQgc3RhcnRibG9jayA1OTk5NiAoMC81OTk5NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2MDAxNiBzdGFydGJsb2NrIDYwMDI4ICgwLzYwMDI4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDYwMDQ4IHN0YXJ0YmxvY2sgNjAwNjAgKDAvNjAwNjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjAwODAgc3RhcnRibG9jayA2MDA5MiAoMC82MDA5Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDExMiBzdGFydGJsb2NrIDYwMTI0ICgwLzYw MTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwMTQ0IHN0YXJ0YmxvY2sgNjAxNTYg KDAvNjAxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjAxNzYgc3RhcnRibG9jayA2 MDE4OCAoMC82MDE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDIwOCBzdGFydGJs b2NrIDYwMjIwICgwLzYwMjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwMjQwIHN0 YXJ0YmxvY2sgNjAyNTIgKDAvNjAyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjAy NzIgc3RhcnRibG9jayA2MDI4NCAoMC82MDI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2MDMwNCBzdGFydGJsb2NrIDYwMzE2ICgwLzYwMzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDYwMzM2IHN0YXJ0YmxvY2sgNjAzNDggKDAvNjAzNDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjAzNjggc3RhcnRibG9jayA2MDM4MCAoMC82MDM4MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2MDQwMCBzdGFydGJsb2NrIDYwNDEyICgwLzYwNDEyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwNDMyIHN0YXJ0YmxvY2sgNjA0NDQgKDAvNjA0NDQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjA0NjQgc3RhcnRibG9jayA2MDQ3NiAoMC82MDQ3 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDQ5NiBzdGFydGJsb2NrIDYwNTA4ICgw LzYwNTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwNTI4IHN0YXJ0YmxvY2sgNjA1 NDAgKDAvNjA1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjA1NjAgc3RhcnRibG9j ayA2MDU3MiAoMC82MDU3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDU5MiBzdGFy dGJsb2NrIDYwNjA0ICgwLzYwNjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwNjI0 IHN0YXJ0YmxvY2sgNjA2MzYgKDAvNjA2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NjA2NTYgc3RhcnRibG9jayA2MDY2OCAoMC82MDY2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2MDY4OCBzdGFydGJsb2NrIDYwNzAwICgwLzYwNzAwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDYwNzIwIHN0YXJ0YmxvY2sgNjA3MzIgKDAvNjA3MzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjA3NTIgc3RhcnRibG9jayA2MDc2NCAoMC82MDc2NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2MDc4NCBzdGFydGJsb2NrIDYwNzk2ICgwLzYwNzk2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwODE2IHN0YXJ0YmxvY2sgNjA4MjggKDAvNjA4Mjgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjA4NDggc3RhcnRibG9jayA2MDg2MCAoMC82 MDg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDg4MCBzdGFydGJsb2NrIDYwODky ICgwLzYwODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYwOTEyIHN0YXJ0YmxvY2sg NjA5MjQgKDAvNjA5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjA5NDQgc3RhcnRi bG9jayA2MDk1NiAoMC82MDk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MDk3NiBz dGFydGJsb2NrIDYwOTg4ICgwLzYwOTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYx MDA4IHN0YXJ0YmxvY2sgNjEwMjAgKDAvNjEwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNjEwNDAgc3RhcnRibG9jayA2MTA1MiAoMC82MTA1MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2MTA3MiBzdGFydGJsb2NrIDYxMDg0ICgwLzYxMDg0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDYxMTA0IHN0YXJ0YmxvY2sgNjExMTYgKDAvNjExMTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjExMzYgc3RhcnRibG9jayA2MTE0OCAoMC82MTE0OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTE2OCBzdGFydGJsb2NrIDYxMTgwICgwLzYxMTgwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYxMjAwIHN0YXJ0YmxvY2sgNjEyMTIgKDAvNjEy MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjEyMzIgc3RhcnRibG9jayA2MTI0NCAo MC82MTI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTI2NCBzdGFydGJsb2NrIDYx Mjc2ICgwLzYxMjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYxMjk2IHN0YXJ0Ymxv Y2sgNjEzMDggKDAvNjEzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjEzMjggc3Rh cnRibG9jayA2MTM0MCAoMC82MTM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTM2 MCBzdGFydGJsb2NrIDYxMzcyICgwLzYxMzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDYxMzkyIHN0YXJ0YmxvY2sgNjE0MDQgKDAvNjE0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjE0MjQgc3RhcnRibG9jayA2MTQzNiAoMC82MTQzNikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA2MTQ1NiBzdGFydGJsb2NrIDYxNDY4ICgwLzYxNDY4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDYxNDg4IHN0YXJ0YmxvY2sgNjE1MDAgKDAvNjE1MDApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNjE1MjAgc3RhcnRibG9jayA2MTUzMiAoMC82MTUzMikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTU1MiBzdGFydGJsb2NrIDYxNTY0ICgwLzYxNTY0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYxNTg0IHN0YXJ0YmxvY2sgNjE1OTYgKDAv NjE1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjE2MTYgc3RhcnRibG9jayA2MTYy OCAoMC82MTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTY0OCBzdGFydGJsb2Nr IDYxNjYwICgwLzYxNjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYxNjgwIHN0YXJ0 YmxvY2sgNjE2OTIgKDAvNjE2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjE3MTIg c3RhcnRibG9jayA2MTcyNCAoMC82MTcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2 MTc0NCBzdGFydGJsb2NrIDYxNzU2ICgwLzYxNzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDYxNzc2IHN0YXJ0YmxvY2sgNjE3ODggKDAvNjE3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNjE4MDggc3RhcnRibG9jayA2MTgyMCAoMC82MTgyMCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2MTg0MCBzdGFydGJsb2NrIDYxODUyICgwLzYxODUyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDYxODcyIHN0YXJ0YmxvY2sgNjE4ODQgKDAvNjE4ODQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjE5MDQgc3RhcnRibG9jayA2MTkxNiAoMC82MTkxNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MTkzNiBzdGFydGJsb2NrIDYxOTQ4ICgwLzYx OTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYxOTY4IHN0YXJ0YmxvY2sgNjE5ODAg KDAvNjE5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjIwMDAgc3RhcnRibG9jayA2 MjAxMiAoMC82MjAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MjAzMiBzdGFydGJs b2NrIDYyMDQ0ICgwLzYyMDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyMDY0IHN0 YXJ0YmxvY2sgNjIwNzYgKDAvNjIwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjIw OTYgc3RhcnRibG9jayA2MjEwOCAoMC82MjEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2MjEyOCBzdGFydGJsb2NrIDYyMTQwICgwLzYyMTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDYyMTYwIHN0YXJ0YmxvY2sgNjIxNzIgKDAvNjIxNzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjIxOTIgc3RhcnRibG9jayA2MjIwNCAoMC82MjIwNCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2MjIyNCBzdGFydGJsb2NrIDYyMjM2ICgwLzYyMjM2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyMjU2IHN0YXJ0YmxvY2sgNjIyNjggKDAvNjIyNjgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjIyODggc3RhcnRibG9jayA2MjMwMCAoMC82MjMw MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MjMyMCBzdGFydGJsb2NrIDYyMzMyICgw LzYyMzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyMzUyIHN0YXJ0YmxvY2sgNjIz NjQgKDAvNjIzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjIzODQgc3RhcnRibG9j ayA2MjM5NiAoMC82MjM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MjQxNiBzdGFy dGJsb2NrIDYyNDI4ICgwLzYyNDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyNDQ4 IHN0YXJ0YmxvY2sgNjI0NjAgKDAvNjI0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NjI0ODAgc3RhcnRibG9jayA2MjQ5MiAoMC82MjQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2MjUxMiBzdGFydGJsb2NrIDYyNTI0ICgwLzYyNTI0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDYyNTQ0IHN0YXJ0YmxvY2sgNjI1NTYgKDAvNjI1NTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjI1NzYgc3RhcnRibG9jayA2MjU4OCAoMC82MjU4OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2MjYwOCBzdGFydGJsb2NrIDYyNjIwICgwLzYyNjIwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyNjQwIHN0YXJ0YmxvY2sgNjI2NTIgKDAvNjI2NTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjI2NzIgc3RhcnRibG9jayA2MjY4NCAoMC82 MjY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MjcwNCBzdGFydGJsb2NrIDYyNzE2 ICgwLzYyNzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYyNzM2IHN0YXJ0YmxvY2sg NjI3NDggKDAvNjI3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjI3Njggc3RhcnRi bG9jayA2Mjc4MCAoMC82Mjc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MjgwMCBz dGFydGJsb2NrIDYyODEyICgwLzYyODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYy ODMyIHN0YXJ0YmxvY2sgNjI4NDQgKDAvNjI4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNjI4NjQgc3RhcnRibG9jayA2Mjg3NiAoMC82Mjg3NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2Mjg5NiBzdGFydGJsb2NrIDYyOTA4ICgwLzYyOTA4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDYyOTI4IHN0YXJ0YmxvY2sgNjI5NDAgKDAvNjI5NDApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjI5NjAgc3RhcnRibG9jayA2Mjk3MiAoMC82Mjk3MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Mjk5MiBzdGFydGJsb2NrIDYzMDA0ICgwLzYzMDA0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzMDI0IHN0YXJ0YmxvY2sgNjMwMzYgKDAvNjMw MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjMwNTYgc3RhcnRibG9jayA2MzA2OCAo MC82MzA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MzA4OCBzdGFydGJsb2NrIDYz MTAwICgwLzYzMTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzMTIwIHN0YXJ0Ymxv Y2sgNjMxMzIgKDAvNjMxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjMxNTIgc3Rh cnRibG9jayA2MzE2NCAoMC82MzE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MzE4 NCBzdGFydGJsb2NrIDYzMTk2ICgwLzYzMTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDYzMjE2IHN0YXJ0YmxvY2sgNjMyMjggKDAvNjMyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjMyNDggc3RhcnRibG9jayA2MzI2MCAoMC82MzI2MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA2MzI4MCBzdGFydGJsb2NrIDYzMjkyICgwLzYzMjkyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDYzMzEyIHN0YXJ0YmxvY2sgNjMzMjQgKDAvNjMzMjQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNjMzNDQgc3RhcnRibG9jayA2MzM1NiAoMC82MzM1NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MzM3NiBzdGFydGJsb2NrIDYzMzg4ICgwLzYzMzg4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzNDA4IHN0YXJ0YmxvY2sgNjM0MjAgKDAv NjM0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjM0NDAgc3RhcnRibG9jayA2MzQ1 MiAoMC82MzQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2MzQ3MiBzdGFydGJsb2Nr IDYzNDg0ICgwLzYzNDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzNTA0IHN0YXJ0 YmxvY2sgNjM1MTYgKDAvNjM1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjM1MzYg c3RhcnRibG9jayA2MzU0OCAoMC82MzU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2 MzU2OCBzdGFydGJsb2NrIDYzNTgwICgwLzYzNTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDYzNjAwIHN0YXJ0YmxvY2sgNjM2MTIgKDAvNjM2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNjM2MzIgc3RhcnRibG9jayA2MzY0NCAoMC82MzY0NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2MzY2NCBzdGFydGJsb2NrIDYzNjc2ICgwLzYzNjc2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDYzNjk2IHN0YXJ0YmxvY2sgNjM3MDggKDAvNjM3MDgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjM3Mjggc3RhcnRibG9jayA2Mzc0MCAoMC82Mzc0MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Mzc2MCBzdGFydGJsb2NrIDYzNzcyICgwLzYz NzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzNzkyIHN0YXJ0YmxvY2sgNjM4MDQg KDAvNjM4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjM4MjQgc3RhcnRibG9jayA2 MzgzNiAoMC82MzgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Mzg1NiBzdGFydGJs b2NrIDYzODY4ICgwLzYzODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDYzODg4IHN0 YXJ0YmxvY2sgNjM5MDAgKDAvNjM5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjM5 MjAgc3RhcnRibG9jayA2MzkzMiAoMC82MzkzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2Mzk1MiBzdGFydGJsb2NrIDYzOTY0ICgwLzYzOTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDYzOTg0IHN0YXJ0YmxvY2sgNjM5OTYgKDAvNjM5OTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjQwMTYgc3RhcnRibG9jayA2NDAyOCAoMC82NDAyOCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2NDA0OCBzdGFydGJsb2NrIDY0MDYwICgwLzY0MDYwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0MDgwIHN0YXJ0YmxvY2sgNjQwOTIgKDAvNjQwOTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQxMTIgc3RhcnRibG9jayA2NDEyNCAoMC82NDEy NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDE0NCBzdGFydGJsb2NrIDY0MTU2ICgw LzY0MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0MTc2IHN0YXJ0YmxvY2sgNjQx ODggKDAvNjQxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQyMDggc3RhcnRibG9j ayA2NDIyMCAoMC82NDIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDI0MCBzdGFy dGJsb2NrIDY0MjUyICgwLzY0MjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0Mjcy IHN0YXJ0YmxvY2sgNjQyODQgKDAvNjQyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NjQzMDQgc3RhcnRibG9jayA2NDMxNiAoMC82NDMxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2NDMzNiBzdGFydGJsb2NrIDY0MzQ4ICgwLzY0MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDY0MzY4IHN0YXJ0YmxvY2sgNjQzODAgKDAvNjQzODApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjQ0MDAgc3RhcnRibG9jayA2NDQxMiAoMC82NDQxMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2NDQzMiBzdGFydGJsb2NrIDY0NDQ0ICgwLzY0NDQ0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0NDY0IHN0YXJ0YmxvY2sgNjQ0NzYgKDAvNjQ0NzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQ0OTYgc3RhcnRibG9jayA2NDUwOCAoMC82 NDUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDUyOCBzdGFydGJsb2NrIDY0NTQw ICgwLzY0NTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0NTYwIHN0YXJ0YmxvY2sg NjQ1NzIgKDAvNjQ1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQ1OTIgc3RhcnRi bG9jayA2NDYwNCAoMC82NDYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDYyNCBz dGFydGJsb2NrIDY0NjM2ICgwLzY0NjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0 NjU2IHN0YXJ0YmxvY2sgNjQ2NjggKDAvNjQ2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNjQ2ODggc3RhcnRibG9jayA2NDcwMCAoMC82NDcwMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2NDcyMCBzdGFydGJsb2NrIDY0NzMyICgwLzY0NzMyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDY0NzUyIHN0YXJ0YmxvY2sgNjQ3NjQgKDAvNjQ3NjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjQ3ODQgc3RhcnRibG9jayA2NDc5NiAoMC82NDc5NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDgxNiBzdGFydGJsb2NrIDY0ODI4ICgwLzY0ODI4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0ODQ4IHN0YXJ0YmxvY2sgNjQ4NjAgKDAvNjQ4 NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQ4ODAgc3RhcnRibG9jayA2NDg5MiAo MC82NDg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NDkxMiBzdGFydGJsb2NrIDY0 OTI0ICgwLzY0OTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY0OTQ0IHN0YXJ0Ymxv Y2sgNjQ5NTYgKDAvNjQ5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjQ5NzYgc3Rh cnRibG9jayA2NDk4OCAoMC82NDk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTAw OCBzdGFydGJsb2NrIDY1MDIwICgwLzY1MDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDY1MDQwIHN0YXJ0YmxvY2sgNjUwNTIgKDAvNjUwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjUwNzIgc3RhcnRibG9jayA2NTA4NCAoMC82NTA4NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA2NTEwNCBzdGFydGJsb2NrIDY1MTE2ICgwLzY1MTE2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDY1MTM2IHN0YXJ0YmxvY2sgNjUxNDggKDAvNjUxNDgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNjUxNjggc3RhcnRibG9jayA2NTE4MCAoMC82NTE4MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTIwMCBzdGFydGJsb2NrIDY1MjEyICgwLzY1MjEy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1MjMyIHN0YXJ0YmxvY2sgNjUyNDQgKDAv NjUyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjUyNjQgc3RhcnRibG9jayA2NTI3 NiAoMC82NTI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTI5NiBzdGFydGJsb2Nr IDY1MzA4ICgwLzY1MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1MzI4IHN0YXJ0 YmxvY2sgNjUzNDAgKDAvNjUzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjUzNjAg c3RhcnRibG9jayA2NTM3MiAoMC82NTM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2 NTM5MiBzdGFydGJsb2NrIDY1NDA0ICgwLzY1NDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDY1NDI0IHN0YXJ0YmxvY2sgNjU0MzYgKDAvNjU0MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNjU0NTYgc3RhcnRibG9jayA2NTQ2OCAoMC82NTQ2OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2NTQ4OCBzdGFydGJsb2NrIDY1NTAwICgwLzY1NTAwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDY1NTIwIHN0YXJ0YmxvY2sgNjU1MzIgKDAvNjU1MzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjU1NTIgc3RhcnRibG9jayA2NTU2NCAoMC82NTU2NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTU4NCBzdGFydGJsb2NrIDY1NTk2ICgwLzY1 NTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1NjE2IHN0YXJ0YmxvY2sgNjU2Mjgg KDAvNjU2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjU2NDggc3RhcnRibG9jayA2 NTY2MCAoMC82NTY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTY4MCBzdGFydGJs b2NrIDY1NjkyICgwLzY1NjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1NzEyIHN0 YXJ0YmxvY2sgNjU3MjQgKDAvNjU3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjU3 NDQgc3RhcnRibG9jayA2NTc1NiAoMC82NTc1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2NTc3NiBzdGFydGJsb2NrIDY1Nzg4ICgwLzY1Nzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDY1ODA4IHN0YXJ0YmxvY2sgNjU4MjAgKDAvNjU4MjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjU4NDAgc3RhcnRibG9jayA2NTg1MiAoMC82NTg1MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2NTg3MiBzdGFydGJsb2NrIDY1ODg0ICgwLzY1ODg0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY1OTA0IHN0YXJ0YmxvY2sgNjU5MTYgKDAvNjU5MTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjU5MzYgc3RhcnRibG9jayA2NTk0OCAoMC82NTk0 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NTk2OCBzdGFydGJsb2NrIDY1OTgwICgw LzY1OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2MDAwIHN0YXJ0YmxvY2sgNjYw MTIgKDAvNjYwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjYwMzIgc3RhcnRibG9j ayA2NjA0NCAoMC82NjA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjA2NCBzdGFy dGJsb2NrIDY2MDc2ICgwLzY2MDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2MDk2 IHN0YXJ0YmxvY2sgNjYxMDggKDAvNjYxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NjYxMjggc3RhcnRibG9jayA2NjE0MCAoMC82NjE0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2NjE2MCBzdGFydGJsb2NrIDY2MTcyICgwLzY2MTcyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDY2MTkyIHN0YXJ0YmxvY2sgNjYyMDQgKDAvNjYyMDQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjYyMjQgc3RhcnRibG9jayA2NjIzNiAoMC82NjIzNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2NjI1NiBzdGFydGJsb2NrIDY2MjY4ICgwLzY2MjY4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2Mjg4IHN0YXJ0YmxvY2sgNjYzMDAgKDAvNjYzMDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjYzMjAgc3RhcnRibG9jayA2NjMzMiAoMC82 NjMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjM1MiBzdGFydGJsb2NrIDY2MzY0 ICgwLzY2MzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2Mzg0IHN0YXJ0YmxvY2sg NjYzOTYgKDAvNjYzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjY0MTYgc3RhcnRi bG9jayA2NjQyOCAoMC82NjQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjQ0OCBz dGFydGJsb2NrIDY2NDYwICgwLzY2NDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2 NDgwIHN0YXJ0YmxvY2sgNjY0OTIgKDAvNjY0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNjY1MTIgc3RhcnRibG9jayA2NjUyNCAoMC82NjUyNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2NjU0NCBzdGFydGJsb2NrIDY2NTU2ICgwLzY2NTU2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDY2NTc2IHN0YXJ0YmxvY2sgNjY1ODggKDAvNjY1ODgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjY2MDggc3RhcnRibG9jayA2NjYyMCAoMC82NjYyMCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjY0MCBzdGFydGJsb2NrIDY2NjUyICgwLzY2NjUyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2NjcyIHN0YXJ0YmxvY2sgNjY2ODQgKDAvNjY2 ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjY3MDQgc3RhcnRibG9jayA2NjcxNiAo MC82NjcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NjczNiBzdGFydGJsb2NrIDY2 NzQ4ICgwLzY2NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY2NzY4IHN0YXJ0Ymxv Y2sgNjY3ODAgKDAvNjY3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjY4MDAgc3Rh cnRibG9jayA2NjgxMiAoMC82NjgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Njgz MiBzdGFydGJsb2NrIDY2ODQ0ICgwLzY2ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDY2ODY0IHN0YXJ0YmxvY2sgNjY4NzYgKDAvNjY4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjY4OTYgc3RhcnRibG9jayA2NjkwOCAoMC82NjkwOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA2NjkyOCBzdGFydGJsb2NrIDY2OTQwICgwLzY2OTQwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDY2OTYwIHN0YXJ0YmxvY2sgNjY5NzIgKDAvNjY5NzIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNjY5OTIgc3RhcnRibG9jayA2NzAwNCAoMC82NzAwNCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NzAyNCBzdGFydGJsb2NrIDY3MDM2ICgwLzY3MDM2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3MDU2IHN0YXJ0YmxvY2sgNjcwNjggKDAv NjcwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjcwODggc3RhcnRibG9jayA2NzEw MCAoMC82NzEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NzEyMCBzdGFydGJsb2Nr IDY3MTMyICgwLzY3MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3MTUyIHN0YXJ0 YmxvY2sgNjcxNjQgKDAvNjcxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjcxODQg c3RhcnRibG9jayA2NzE5NiAoMC82NzE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2 NzIxNiBzdGFydGJsb2NrIDY3MjI4ICgwLzY3MjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDY3MjQ4IHN0YXJ0YmxvY2sgNjcyNjAgKDAvNjcyNjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNjcyODAgc3RhcnRibG9jayA2NzI5MiAoMC82NzI5MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2NzMxMiBzdGFydGJsb2NrIDY3MzI0ICgwLzY3MzI0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDY3MzQ0IHN0YXJ0YmxvY2sgNjczNTYgKDAvNjczNTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjczNzYgc3RhcnRibG9jayA2NzM4OCAoMC82NzM4OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NzQwOCBzdGFydGJsb2NrIDY3NDIwICgwLzY3 NDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3NDQwIHN0YXJ0YmxvY2sgNjc0NTIg KDAvNjc0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjc0NzIgc3RhcnRibG9jayA2 NzQ4NCAoMC82NzQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2NzUwNCBzdGFydGJs b2NrIDY3NTE2ICgwLzY3NTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3NTM2IHN0 YXJ0YmxvY2sgNjc1NDggKDAvNjc1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjc1 Njggc3RhcnRibG9jayA2NzU4MCAoMC82NzU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2NzYwMCBzdGFydGJsb2NrIDY3NjEyICgwLzY3NjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDY3NjMyIHN0YXJ0YmxvY2sgNjc2NDQgKDAvNjc2NDQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjc2NjQgc3RhcnRibG9jayA2NzY3NiAoMC82NzY3NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2NzY5NiBzdGFydGJsb2NrIDY3NzA4ICgwLzY3NzA4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3NzI4IHN0YXJ0YmxvY2sgNjc3NDAgKDAvNjc3NDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjc3NjAgc3RhcnRibG9jayA2Nzc3MiAoMC82Nzc3 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Nzc5MiBzdGFydGJsb2NrIDY3ODA0ICgw LzY3ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3ODI0IHN0YXJ0YmxvY2sgNjc4 MzYgKDAvNjc4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjc4NTYgc3RhcnRibG9j ayA2Nzg2OCAoMC82Nzg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2Nzg4OCBzdGFy dGJsb2NrIDY3OTAwICgwLzY3OTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY3OTIw IHN0YXJ0YmxvY2sgNjc5MzIgKDAvNjc5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Njc5NTIgc3RhcnRibG9jayA2Nzk2NCAoMC82Nzk2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2Nzk4NCBzdGFydGJsb2NrIDY3OTk2ICgwLzY3OTk2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDY4MDE2IHN0YXJ0YmxvY2sgNjgwMjggKDAvNjgwMjgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjgwNDggc3RhcnRibG9jayA2ODA2MCAoMC82ODA2MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2ODA4MCBzdGFydGJsb2NrIDY4MDkyICgwLzY4MDkyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4MTEyIHN0YXJ0YmxvY2sgNjgxMjQgKDAvNjgxMjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjgxNDQgc3RhcnRibG9jayA2ODE1NiAoMC82 ODE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODE3NiBzdGFydGJsb2NrIDY4MTg4 ICgwLzY4MTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4MjA4IHN0YXJ0YmxvY2sg NjgyMjAgKDAvNjgyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjgyNDAgc3RhcnRi bG9jayA2ODI1MiAoMC82ODI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODI3MiBz dGFydGJsb2NrIDY4Mjg0ICgwLzY4Mjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4 MzA0IHN0YXJ0YmxvY2sgNjgzMTYgKDAvNjgzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNjgzMzYgc3RhcnRibG9jayA2ODM0OCAoMC82ODM0OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA2ODM2OCBzdGFydGJsb2NrIDY4MzgwICgwLzY4MzgwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDY4NDAwIHN0YXJ0YmxvY2sgNjg0MTIgKDAvNjg0MTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNjg0MzIgc3RhcnRibG9jayA2ODQ0NCAoMC82ODQ0NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODQ2NCBzdGFydGJsb2NrIDY4NDc2ICgwLzY4NDc2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4NDk2IHN0YXJ0YmxvY2sgNjg1MDggKDAvNjg1 MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjg1Mjggc3RhcnRibG9jayA2ODU0MCAo MC82ODU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODU2MCBzdGFydGJsb2NrIDY4 NTcyICgwLzY4NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4NTkyIHN0YXJ0Ymxv Y2sgNjg2MDQgKDAvNjg2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjg2MjQgc3Rh cnRibG9jayA2ODYzNiAoMC82ODYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODY1 NiBzdGFydGJsb2NrIDY4NjY4ICgwLzY4NjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDY4Njg4IHN0YXJ0YmxvY2sgNjg3MDAgKDAvNjg3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNjg3MjAgc3RhcnRibG9jayA2ODczMiAoMC82ODczMikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA2ODc1MiBzdGFydGJsb2NrIDY4NzY0ICgwLzY4NzY0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDY4Nzg0IHN0YXJ0YmxvY2sgNjg3OTYgKDAvNjg3OTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNjg4MTYgc3RhcnRibG9jayA2ODgyOCAoMC82ODgyOCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODg0OCBzdGFydGJsb2NrIDY4ODYwICgwLzY4ODYw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4ODgwIHN0YXJ0YmxvY2sgNjg4OTIgKDAv Njg4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjg5MTIgc3RhcnRibG9jayA2ODky NCAoMC82ODkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2ODk0NCBzdGFydGJsb2Nr IDY4OTU2ICgwLzY4OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY4OTc2IHN0YXJ0 YmxvY2sgNjg5ODggKDAvNjg5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjkwMDgg c3RhcnRibG9jayA2OTAyMCAoMC82OTAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2 OTA0MCBzdGFydGJsb2NrIDY5MDUyICgwLzY5MDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDY5MDcyIHN0YXJ0YmxvY2sgNjkwODQgKDAvNjkwODQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNjkxMDQgc3RhcnRibG9jayA2OTExNiAoMC82OTExNikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA2OTEzNiBzdGFydGJsb2NrIDY5MTQ4ICgwLzY5MTQ4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDY5MTY4IHN0YXJ0YmxvY2sgNjkxODAgKDAvNjkxODApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjkyMDAgc3RhcnRibG9jayA2OTIxMiAoMC82OTIxMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2OTIzMiBzdGFydGJsb2NrIDY5MjQ0ICgwLzY5 MjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5MjY0IHN0YXJ0YmxvY2sgNjkyNzYg KDAvNjkyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjkyOTYgc3RhcnRibG9jayA2 OTMwOCAoMC82OTMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2OTMyOCBzdGFydGJs b2NrIDY5MzQwICgwLzY5MzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5MzYwIHN0 YXJ0YmxvY2sgNjkzNzIgKDAvNjkzNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjkz OTIgc3RhcnRibG9jayA2OTQwNCAoMC82OTQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA2OTQyNCBzdGFydGJsb2NrIDY5NDM2ICgwLzY5NDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDY5NDU2IHN0YXJ0YmxvY2sgNjk0NjggKDAvNjk0NjgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNjk0ODggc3RhcnRibG9jayA2OTUwMCAoMC82OTUwMCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA2OTUyMCBzdGFydGJsb2NrIDY5NTMyICgwLzY5NTMyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5NTUyIHN0YXJ0YmxvY2sgNjk1NjQgKDAvNjk1NjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjk1ODQgc3RhcnRibG9jayA2OTU5NiAoMC82OTU5 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2OTYxNiBzdGFydGJsb2NrIDY5NjI4ICgw LzY5NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5NjQ4IHN0YXJ0YmxvY2sgNjk2 NjAgKDAvNjk2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjk2ODAgc3RhcnRibG9j ayA2OTY5MiAoMC82OTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA2OTcxMiBzdGFy dGJsb2NrIDY5NzI0ICgwLzY5NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5NzQ0 IHN0YXJ0YmxvY2sgNjk3NTYgKDAvNjk3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Njk3NzYgc3RhcnRibG9jayA2OTc4OCAoMC82OTc4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA2OTgwOCBzdGFydGJsb2NrIDY5ODIwICgwLzY5ODIwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDY5ODQwIHN0YXJ0YmxvY2sgNjk4NTIgKDAvNjk4NTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNjk4NzIgc3RhcnRibG9jayA2OTg4NCAoMC82OTg4NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA2OTkwNCBzdGFydGJsb2NrIDY5OTE2ICgwLzY5OTE2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDY5OTM2IHN0YXJ0YmxvY2sgNjk5NDggKDAvNjk5NDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNjk5Njggc3RhcnRibG9jayA2OTk4MCAoMC82 OTk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDAwMCBzdGFydGJsb2NrIDcwMDEy ICgwLzcwMDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwMDMyIHN0YXJ0YmxvY2sg NzAwNDQgKDAvNzAwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzAwNjQgc3RhcnRi bG9jayA3MDA3NiAoMC83MDA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDA5NiBz dGFydGJsb2NrIDcwMTA4ICgwLzcwMTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcw MTI4IHN0YXJ0YmxvY2sgNzAxNDAgKDAvNzAxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzAxNjAgc3RhcnRibG9jayA3MDE3MiAoMC83MDE3MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3MDE5MiBzdGFydGJsb2NrIDcwMjA0ICgwLzcwMjA0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDcwMjI0IHN0YXJ0YmxvY2sgNzAyMzYgKDAvNzAyMzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzAyNTYgc3RhcnRibG9jayA3MDI2OCAoMC83MDI2OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDI4OCBzdGFydGJsb2NrIDcwMzAwICgwLzcwMzAwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwMzIwIHN0YXJ0YmxvY2sgNzAzMzIgKDAvNzAz MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzAzNTIgc3RhcnRibG9jayA3MDM2NCAo MC83MDM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDM4NCBzdGFydGJsb2NrIDcw Mzk2ICgwLzcwMzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwNDE2IHN0YXJ0Ymxv Y2sgNzA0MjggKDAvNzA0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzA0NDggc3Rh cnRibG9jayA3MDQ2MCAoMC83MDQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDQ4 MCBzdGFydGJsb2NrIDcwNDkyICgwLzcwNDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDcwNTEyIHN0YXJ0YmxvY2sgNzA1MjQgKDAvNzA1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzA1NDQgc3RhcnRibG9jayA3MDU1NiAoMC83MDU1NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3MDU3NiBzdGFydGJsb2NrIDcwNTg4ICgwLzcwNTg4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDcwNjA4IHN0YXJ0YmxvY2sgNzA2MjAgKDAvNzA2MjApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzA2NDAgc3RhcnRibG9jayA3MDY1MiAoMC83MDY1MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDY3MiBzdGFydGJsb2NrIDcwNjg0ICgwLzcwNjg0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwNzA0IHN0YXJ0YmxvY2sgNzA3MTYgKDAv NzA3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzA3MzYgc3RhcnRibG9jayA3MDc0 OCAoMC83MDc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MDc2OCBzdGFydGJsb2Nr IDcwNzgwICgwLzcwNzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcwODAwIHN0YXJ0 YmxvY2sgNzA4MTIgKDAvNzA4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzA4MzIg c3RhcnRibG9jayA3MDg0NCAoMC83MDg0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 MDg2NCBzdGFydGJsb2NrIDcwODc2ICgwLzcwODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDcwODk2IHN0YXJ0YmxvY2sgNzA5MDggKDAvNzA5MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzA5Mjggc3RhcnRibG9jayA3MDk0MCAoMC83MDk0MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA3MDk2MCBzdGFydGJsb2NrIDcwOTcyICgwLzcwOTcyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDcwOTkyIHN0YXJ0YmxvY2sgNzEwMDQgKDAvNzEwMDQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzEwMjQgc3RhcnRibG9jayA3MTAzNiAoMC83MTAzNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTA1NiBzdGFydGJsb2NrIDcxMDY4ICgwLzcx MDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxMDg4IHN0YXJ0YmxvY2sgNzExMDAg KDAvNzExMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzExMjAgc3RhcnRibG9jayA3 MTEzMiAoMC83MTEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTE1MiBzdGFydGJs b2NrIDcxMTY0ICgwLzcxMTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxMTg0IHN0 YXJ0YmxvY2sgNzExOTYgKDAvNzExOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzEy MTYgc3RhcnRibG9jayA3MTIyOCAoMC83MTIyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA3MTI0OCBzdGFydGJsb2NrIDcxMjYwICgwLzcxMjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDcxMjgwIHN0YXJ0YmxvY2sgNzEyOTIgKDAvNzEyOTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNzEzMTIgc3RhcnRibG9jayA3MTMyNCAoMC83MTMyNCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3MTM0NCBzdGFydGJsb2NrIDcxMzU2ICgwLzcxMzU2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxMzc2IHN0YXJ0YmxvY2sgNzEzODggKDAvNzEzODgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzE0MDggc3RhcnRibG9jayA3MTQyMCAoMC83MTQy MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTQ0MCBzdGFydGJsb2NrIDcxNDUyICgw LzcxNDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxNDcyIHN0YXJ0YmxvY2sgNzE0 ODQgKDAvNzE0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzE1MDQgc3RhcnRibG9j ayA3MTUxNiAoMC83MTUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTUzNiBzdGFy dGJsb2NrIDcxNTQ4ICgwLzcxNTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxNTY4 IHN0YXJ0YmxvY2sgNzE1ODAgKDAvNzE1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NzE2MDAgc3RhcnRibG9jayA3MTYxMiAoMC83MTYxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3MTYzMiBzdGFydGJsb2NrIDcxNjQ0ICgwLzcxNjQ0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDcxNjY0IHN0YXJ0YmxvY2sgNzE2NzYgKDAvNzE2NzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzE2OTYgc3RhcnRibG9jayA3MTcwOCAoMC83MTcwOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA3MTcyOCBzdGFydGJsb2NrIDcxNzQwICgwLzcxNzQwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxNzYwIHN0YXJ0YmxvY2sgNzE3NzIgKDAvNzE3NzIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzE3OTIgc3RhcnRibG9jayA3MTgwNCAoMC83 MTgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTgyNCBzdGFydGJsb2NrIDcxODM2 ICgwLzcxODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcxODU2IHN0YXJ0YmxvY2sg NzE4NjggKDAvNzE4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzE4ODggc3RhcnRi bG9jayA3MTkwMCAoMC83MTkwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MTkyMCBz dGFydGJsb2NrIDcxOTMyICgwLzcxOTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcx OTUyIHN0YXJ0YmxvY2sgNzE5NjQgKDAvNzE5NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzE5ODQgc3RhcnRibG9jayA3MTk5NiAoMC83MTk5NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3MjAxNiBzdGFydGJsb2NrIDcyMDI4ICgwLzcyMDI4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDcyMDQ4IHN0YXJ0YmxvY2sgNzIwNjAgKDAvNzIwNjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzIwODAgc3RhcnRibG9jayA3MjA5MiAoMC83MjA5MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MjExMiBzdGFydGJsb2NrIDcyMTI0ICgwLzcyMTI0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyMTQ0IHN0YXJ0YmxvY2sgNzIxNTYgKDAvNzIx NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzIxNzYgc3RhcnRibG9jayA3MjE4OCAo MC83MjE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MjIwOCBzdGFydGJsb2NrIDcy MjIwICgwLzcyMjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyMjQwIHN0YXJ0Ymxv Y2sgNzIyNTIgKDAvNzIyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzIyNzIgc3Rh cnRibG9jayA3MjI4NCAoMC83MjI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MjMw NCBzdGFydGJsb2NrIDcyMzE2ICgwLzcyMzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDcyMzM2IHN0YXJ0YmxvY2sgNzIzNDggKDAvNzIzNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzIzNjggc3RhcnRibG9jayA3MjM4MCAoMC83MjM4MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3MjQwMCBzdGFydGJsb2NrIDcyNDEyICgwLzcyNDEyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDcyNDMyIHN0YXJ0YmxvY2sgNzI0NDQgKDAvNzI0NDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzI0NjQgc3RhcnRibG9jayA3MjQ3NiAoMC83MjQ3NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MjQ5NiBzdGFydGJsb2NrIDcyNTA4ICgwLzcyNTA4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyNTI4IHN0YXJ0YmxvY2sgNzI1NDAgKDAv NzI1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzI1NjAgc3RhcnRibG9jayA3MjU3 MiAoMC83MjU3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MjU5MiBzdGFydGJsb2Nr IDcyNjA0ICgwLzcyNjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyNjI0IHN0YXJ0 YmxvY2sgNzI2MzYgKDAvNzI2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzI2NTYg c3RhcnRibG9jayA3MjY2OCAoMC83MjY2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 MjY4OCBzdGFydGJsb2NrIDcyNzAwICgwLzcyNzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDcyNzIwIHN0YXJ0YmxvY2sgNzI3MzIgKDAvNzI3MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzI3NTIgc3RhcnRibG9jayA3Mjc2NCAoMC83Mjc2NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA3Mjc4NCBzdGFydGJsb2NrIDcyNzk2ICgwLzcyNzk2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDcyODE2IHN0YXJ0YmxvY2sgNzI4MjggKDAvNzI4MjgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzI4NDggc3RhcnRibG9jayA3Mjg2MCAoMC83Mjg2MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Mjg4MCBzdGFydGJsb2NrIDcyODkyICgwLzcy ODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcyOTEyIHN0YXJ0YmxvY2sgNzI5MjQg KDAvNzI5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzI5NDQgc3RhcnRibG9jayA3 Mjk1NiAoMC83Mjk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Mjk3NiBzdGFydGJs b2NrIDcyOTg4ICgwLzcyOTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczMDA4IHN0 YXJ0YmxvY2sgNzMwMjAgKDAvNzMwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzMw NDAgc3RhcnRibG9jayA3MzA1MiAoMC83MzA1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA3MzA3MiBzdGFydGJsb2NrIDczMDg0ICgwLzczMDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDczMTA0IHN0YXJ0YmxvY2sgNzMxMTYgKDAvNzMxMTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNzMxMzYgc3RhcnRibG9jayA3MzE0OCAoMC83MzE0OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3MzE2OCBzdGFydGJsb2NrIDczMTgwICgwLzczMTgwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczMjAwIHN0YXJ0YmxvY2sgNzMyMTIgKDAvNzMyMTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzMyMzIgc3RhcnRibG9jayA3MzI0NCAoMC83MzI0 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MzI2NCBzdGFydGJsb2NrIDczMjc2ICgw LzczMjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczMjk2IHN0YXJ0YmxvY2sgNzMz MDggKDAvNzMzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzMzMjggc3RhcnRibG9j ayA3MzM0MCAoMC83MzM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MzM2MCBzdGFy dGJsb2NrIDczMzcyICgwLzczMzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczMzky IHN0YXJ0YmxvY2sgNzM0MDQgKDAvNzM0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NzM0MjQgc3RhcnRibG9jayA3MzQzNiAoMC83MzQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3MzQ1NiBzdGFydGJsb2NrIDczNDY4ICgwLzczNDY4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDczNDg4IHN0YXJ0YmxvY2sgNzM1MDAgKDAvNzM1MDApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzM1MjAgc3RhcnRibG9jayA3MzUzMiAoMC83MzUzMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA3MzU1MiBzdGFydGJsb2NrIDczNTY0ICgwLzczNTY0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczNTg0IHN0YXJ0YmxvY2sgNzM1OTYgKDAvNzM1OTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzM2MTYgc3RhcnRibG9jayA3MzYyOCAoMC83 MzYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MzY0OCBzdGFydGJsb2NrIDczNjYw ICgwLzczNjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczNjgwIHN0YXJ0YmxvY2sg NzM2OTIgKDAvNzM2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzM3MTIgc3RhcnRi bG9jayA3MzcyNCAoMC83MzcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Mzc0NCBz dGFydGJsb2NrIDczNzU2ICgwLzczNzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDcz Nzc2IHN0YXJ0YmxvY2sgNzM3ODggKDAvNzM3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzM4MDggc3RhcnRibG9jayA3MzgyMCAoMC83MzgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3Mzg0MCBzdGFydGJsb2NrIDczODUyICgwLzczODUyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDczODcyIHN0YXJ0YmxvY2sgNzM4ODQgKDAvNzM4ODQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzM5MDQgc3RhcnRibG9jayA3MzkxNiAoMC83MzkxNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3MzkzNiBzdGFydGJsb2NrIDczOTQ4ICgwLzczOTQ4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDczOTY4IHN0YXJ0YmxvY2sgNzM5ODAgKDAvNzM5 ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQwMDAgc3RhcnRibG9jayA3NDAxMiAo MC83NDAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDAzMiBzdGFydGJsb2NrIDc0 MDQ0ICgwLzc0MDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc0MDY0IHN0YXJ0Ymxv Y2sgNzQwNzYgKDAvNzQwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQwOTYgc3Rh cnRibG9jayA3NDEwOCAoMC83NDEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDEy OCBzdGFydGJsb2NrIDc0MTQwICgwLzc0MTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDc0MTYwIHN0YXJ0YmxvY2sgNzQxNzIgKDAvNzQxNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzQxOTIgc3RhcnRibG9jayA3NDIwNCAoMC83NDIwNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3NDIyNCBzdGFydGJsb2NrIDc0MjM2ICgwLzc0MjM2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDc0MjU2IHN0YXJ0YmxvY2sgNzQyNjggKDAvNzQyNjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQyODggc3RhcnRibG9jayA3NDMwMCAoMC83NDMwMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDMyMCBzdGFydGJsb2NrIDc0MzMyICgwLzc0MzMy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc0MzUyIHN0YXJ0YmxvY2sgNzQzNjQgKDAv NzQzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQzODQgc3RhcnRibG9jayA3NDM5 NiAoMC83NDM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDQxNiBzdGFydGJsb2Nr IDc0NDI4ICgwLzc0NDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc0NDQ4IHN0YXJ0 YmxvY2sgNzQ0NjAgKDAvNzQ0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQ0ODAg c3RhcnRibG9jayA3NDQ5MiAoMC83NDQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 NDUxMiBzdGFydGJsb2NrIDc0NTI0ICgwLzc0NTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDc0NTQ0IHN0YXJ0YmxvY2sgNzQ1NTYgKDAvNzQ1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzQ1NzYgc3RhcnRibG9jayA3NDU4OCAoMC83NDU4OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA3NDYwOCBzdGFydGJsb2NrIDc0NjIwICgwLzc0NjIwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDc0NjQwIHN0YXJ0YmxvY2sgNzQ2NTIgKDAvNzQ2NTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQ2NzIgc3RhcnRibG9jayA3NDY4NCAoMC83NDY4NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDcwNCBzdGFydGJsb2NrIDc0NzE2ICgwLzc0 NzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc0NzM2IHN0YXJ0YmxvY2sgNzQ3NDgg KDAvNzQ3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQ3Njggc3RhcnRibG9jayA3 NDc4MCAoMC83NDc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NDgwMCBzdGFydGJs b2NrIDc0ODEyICgwLzc0ODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc0ODMyIHN0 YXJ0YmxvY2sgNzQ4NDQgKDAvNzQ4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzQ4 NjQgc3RhcnRibG9jayA3NDg3NiAoMC83NDg3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA3NDg5NiBzdGFydGJsb2NrIDc0OTA4ICgwLzc0OTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDc0OTI4IHN0YXJ0YmxvY2sgNzQ5NDAgKDAvNzQ5NDApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNzQ5NjAgc3RhcnRibG9jayA3NDk3MiAoMC83NDk3MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3NDk5MiBzdGFydGJsb2NrIDc1MDA0ICgwLzc1MDA0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1MDI0IHN0YXJ0YmxvY2sgNzUwMzYgKDAvNzUwMzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzUwNTYgc3RhcnRibG9jayA3NTA2OCAoMC83NTA2 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTA4OCBzdGFydGJsb2NrIDc1MTAwICgw Lzc1MTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1MTIwIHN0YXJ0YmxvY2sgNzUx MzIgKDAvNzUxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzUxNTIgc3RhcnRibG9j ayA3NTE2NCAoMC83NTE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTE4NCBzdGFy dGJsb2NrIDc1MTk2ICgwLzc1MTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1MjE2 IHN0YXJ0YmxvY2sgNzUyMjggKDAvNzUyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NzUyNDggc3RhcnRibG9jayA3NTI2MCAoMC83NTI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3NTI4MCBzdGFydGJsb2NrIDc1MjkyICgwLzc1MjkyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDc1MzEyIHN0YXJ0YmxvY2sgNzUzMjQgKDAvNzUzMjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzUzNDQgc3RhcnRibG9jayA3NTM1NiAoMC83NTM1NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA3NTM3NiBzdGFydGJsb2NrIDc1Mzg4ICgwLzc1Mzg4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1NDA4IHN0YXJ0YmxvY2sgNzU0MjAgKDAvNzU0MjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzU0NDAgc3RhcnRibG9jayA3NTQ1MiAoMC83 NTQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTQ3MiBzdGFydGJsb2NrIDc1NDg0 ICgwLzc1NDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1NTA0IHN0YXJ0YmxvY2sg NzU1MTYgKDAvNzU1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzU1MzYgc3RhcnRi bG9jayA3NTU0OCAoMC83NTU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTU2OCBz dGFydGJsb2NrIDc1NTgwICgwLzc1NTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1 NjAwIHN0YXJ0YmxvY2sgNzU2MTIgKDAvNzU2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzU2MzIgc3RhcnRibG9jayA3NTY0NCAoMC83NTY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3NTY2NCBzdGFydGJsb2NrIDc1Njc2ICgwLzc1Njc2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDc1Njk2IHN0YXJ0YmxvY2sgNzU3MDggKDAvNzU3MDgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzU3Mjggc3RhcnRibG9jayA3NTc0MCAoMC83NTc0MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTc2MCBzdGFydGJsb2NrIDc1NzcyICgwLzc1NzcyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1NzkyIHN0YXJ0YmxvY2sgNzU4MDQgKDAvNzU4 MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzU4MjQgc3RhcnRibG9jayA3NTgzNiAo MC83NTgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTg1NiBzdGFydGJsb2NrIDc1 ODY4ICgwLzc1ODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc1ODg4IHN0YXJ0Ymxv Y2sgNzU5MDAgKDAvNzU5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzU5MjAgc3Rh cnRibG9jayA3NTkzMiAoMC83NTkzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NTk1 MiBzdGFydGJsb2NrIDc1OTY0ICgwLzc1OTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDc1OTg0IHN0YXJ0YmxvY2sgNzU5OTYgKDAvNzU5OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzYwMTYgc3RhcnRibG9jayA3NjAyOCAoMC83NjAyOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3NjA0OCBzdGFydGJsb2NrIDc2MDYwICgwLzc2MDYwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDc2MDgwIHN0YXJ0YmxvY2sgNzYwOTIgKDAvNzYwOTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzYxMTIgc3RhcnRibG9jayA3NjEyNCAoMC83NjEyNCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjE0NCBzdGFydGJsb2NrIDc2MTU2ICgwLzc2MTU2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2MTc2IHN0YXJ0YmxvY2sgNzYxODggKDAv NzYxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzYyMDggc3RhcnRibG9jayA3NjIy MCAoMC83NjIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjI0MCBzdGFydGJsb2Nr IDc2MjUyICgwLzc2MjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2MjcyIHN0YXJ0 YmxvY2sgNzYyODQgKDAvNzYyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzYzMDQg c3RhcnRibG9jayA3NjMxNiAoMC83NjMxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 NjMzNiBzdGFydGJsb2NrIDc2MzQ4ICgwLzc2MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDc2MzY4IHN0YXJ0YmxvY2sgNzYzODAgKDAvNzYzODApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzY0MDAgc3RhcnRibG9jayA3NjQxMiAoMC83NjQxMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA3NjQzMiBzdGFydGJsb2NrIDc2NDQ0ICgwLzc2NDQ0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDc2NDY0IHN0YXJ0YmxvY2sgNzY0NzYgKDAvNzY0NzYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY0OTYgc3RhcnRibG9jayA3NjUwOCAoMC83NjUwOCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjUyOCBzdGFydGJsb2NrIDc2NTQwICgwLzc2 NTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2NTYwIHN0YXJ0YmxvY2sgNzY1NzIg KDAvNzY1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY1OTIgc3RhcnRibG9jayA3 NjYwNCAoMC83NjYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjYyNCBzdGFydGJs b2NrIDc2NjM2ICgwLzc2NjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2NjU2IHN0 YXJ0YmxvY2sgNzY2NjggKDAvNzY2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY2 ODggc3RhcnRibG9jayA3NjcwMCAoMC83NjcwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA3NjcyMCBzdGFydGJsb2NrIDc2NzMyICgwLzc2NzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDc2NzUyIHN0YXJ0YmxvY2sgNzY3NjQgKDAvNzY3NjQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNzY3ODQgc3RhcnRibG9jayA3Njc5NiAoMC83Njc5NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3NjgxNiBzdGFydGJsb2NrIDc2ODI4ICgwLzc2ODI4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2ODQ4IHN0YXJ0YmxvY2sgNzY4NjAgKDAvNzY4NjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY4ODAgc3RhcnRibG9jayA3Njg5MiAoMC83Njg5 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NjkxMiBzdGFydGJsb2NrIDc2OTI0ICgw Lzc2OTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc2OTQ0IHN0YXJ0YmxvY2sgNzY5 NTYgKDAvNzY5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzY5NzYgc3RhcnRibG9j ayA3Njk4OCAoMC83Njk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzAwOCBzdGFy dGJsb2NrIDc3MDIwICgwLzc3MDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3MDQw IHN0YXJ0YmxvY2sgNzcwNTIgKDAvNzcwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg NzcwNzIgc3RhcnRibG9jayA3NzA4NCAoMC83NzA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3NzEwNCBzdGFydGJsb2NrIDc3MTE2ICgwLzc3MTE2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDc3MTM2IHN0YXJ0YmxvY2sgNzcxNDggKDAvNzcxNDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzcxNjggc3RhcnRibG9jayA3NzE4MCAoMC83NzE4MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA3NzIwMCBzdGFydGJsb2NrIDc3MjEyICgwLzc3MjEyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3MjMyIHN0YXJ0YmxvY2sgNzcyNDQgKDAvNzcyNDQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzcyNjQgc3RhcnRibG9jayA3NzI3NiAoMC83 NzI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzI5NiBzdGFydGJsb2NrIDc3MzA4 ICgwLzc3MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3MzI4IHN0YXJ0YmxvY2sg NzczNDAgKDAvNzczNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzczNjAgc3RhcnRi bG9jayA3NzM3MiAoMC83NzM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzM5MiBz dGFydGJsb2NrIDc3NDA0ICgwLzc3NDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3 NDI0IHN0YXJ0YmxvY2sgNzc0MzYgKDAvNzc0MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzc0NTYgc3RhcnRibG9jayA3NzQ2OCAoMC83NzQ2OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3NzQ4OCBzdGFydGJsb2NrIDc3NTAwICgwLzc3NTAwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDc3NTIwIHN0YXJ0YmxvY2sgNzc1MzIgKDAvNzc1MzIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzc1NTIgc3RhcnRibG9jayA3NzU2NCAoMC83NzU2NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzU4NCBzdGFydGJsb2NrIDc3NTk2ICgwLzc3NTk2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3NjE2IHN0YXJ0YmxvY2sgNzc2MjggKDAvNzc2 MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzc2NDggc3RhcnRibG9jayA3NzY2MCAo MC83NzY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3NzY4MCBzdGFydGJsb2NrIDc3 NjkyICgwLzc3NjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc3NzEyIHN0YXJ0Ymxv Y2sgNzc3MjQgKDAvNzc3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzc3NDQgc3Rh cnRibG9jayA3Nzc1NiAoMC83Nzc1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Nzc3 NiBzdGFydGJsb2NrIDc3Nzg4ICgwLzc3Nzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDc3ODA4IHN0YXJ0YmxvY2sgNzc4MjAgKDAvNzc4MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzc4NDAgc3RhcnRibG9jayA3Nzg1MiAoMC83Nzg1MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3Nzg3MiBzdGFydGJsb2NrIDc3ODg0ICgwLzc3ODg0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDc3OTA0IHN0YXJ0YmxvY2sgNzc5MTYgKDAvNzc5MTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzc5MzYgc3RhcnRibG9jayA3Nzk0OCAoMC83Nzk0OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3Nzk2OCBzdGFydGJsb2NrIDc3OTgwICgwLzc3OTgw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4MDAwIHN0YXJ0YmxvY2sgNzgwMTIgKDAv NzgwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzgwMzIgc3RhcnRibG9jayA3ODA0 NCAoMC83ODA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODA2NCBzdGFydGJsb2Nr IDc4MDc2ICgwLzc4MDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4MDk2IHN0YXJ0 YmxvY2sgNzgxMDggKDAvNzgxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzgxMjgg c3RhcnRibG9jayA3ODE0MCAoMC83ODE0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 ODE2MCBzdGFydGJsb2NrIDc4MTcyICgwLzc4MTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDc4MTkyIHN0YXJ0YmxvY2sgNzgyMDQgKDAvNzgyMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgNzgyMjQgc3RhcnRibG9jayA3ODIzNiAoMC83ODIzNikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA3ODI1NiBzdGFydGJsb2NrIDc4MjY4ICgwLzc4MjY4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDc4Mjg4IHN0YXJ0YmxvY2sgNzgzMDAgKDAvNzgzMDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzgzMjAgc3RhcnRibG9jayA3ODMzMiAoMC83ODMzMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODM1MiBzdGFydGJsb2NrIDc4MzY0ICgwLzc4 MzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4Mzg0IHN0YXJ0YmxvY2sgNzgzOTYg KDAvNzgzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzg0MTYgc3RhcnRibG9jayA3 ODQyOCAoMC83ODQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODQ0OCBzdGFydGJs b2NrIDc4NDYwICgwLzc4NDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4NDgwIHN0 YXJ0YmxvY2sgNzg0OTIgKDAvNzg0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzg1 MTIgc3RhcnRibG9jayA3ODUyNCAoMC83ODUyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA3ODU0NCBzdGFydGJsb2NrIDc4NTU2ICgwLzc4NTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDc4NTc2IHN0YXJ0YmxvY2sgNzg1ODggKDAvNzg1ODgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgNzg2MDggc3RhcnRibG9jayA3ODYyMCAoMC83ODYyMCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA3ODY0MCBzdGFydGJsb2NrIDc4NjUyICgwLzc4NjUyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4NjcyIHN0YXJ0YmxvY2sgNzg2ODQgKDAvNzg2ODQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzg3MDQgc3RhcnRibG9jayA3ODcxNiAoMC83ODcx NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODczNiBzdGFydGJsb2NrIDc4NzQ4ICgw Lzc4NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4NzY4IHN0YXJ0YmxvY2sgNzg3 ODAgKDAvNzg3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzg4MDAgc3RhcnRibG9j ayA3ODgxMiAoMC83ODgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3ODgzMiBzdGFy dGJsb2NrIDc4ODQ0ICgwLzc4ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc4ODY0 IHN0YXJ0YmxvY2sgNzg4NzYgKDAvNzg4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg Nzg4OTYgc3RhcnRibG9jayA3ODkwOCAoMC83ODkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA3ODkyOCBzdGFydGJsb2NrIDc4OTQwICgwLzc4OTQwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDc4OTYwIHN0YXJ0YmxvY2sgNzg5NzIgKDAvNzg5NzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgNzg5OTIgc3RhcnRibG9jayA3OTAwNCAoMC83OTAwNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA3OTAyNCBzdGFydGJsb2NrIDc5MDM2ICgwLzc5MDM2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5MDU2IHN0YXJ0YmxvY2sgNzkwNjggKDAvNzkwNjgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzkwODggc3RhcnRibG9jayA3OTEwMCAoMC83 OTEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTEyMCBzdGFydGJsb2NrIDc5MTMy ICgwLzc5MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5MTUyIHN0YXJ0YmxvY2sg NzkxNjQgKDAvNzkxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzkxODQgc3RhcnRi bG9jayA3OTE5NiAoMC83OTE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTIxNiBz dGFydGJsb2NrIDc5MjI4ICgwLzc5MjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5 MjQ4IHN0YXJ0YmxvY2sgNzkyNjAgKDAvNzkyNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgNzkyODAgc3RhcnRibG9jayA3OTI5MiAoMC83OTI5MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA3OTMxMiBzdGFydGJsb2NrIDc5MzI0ICgwLzc5MzI0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDc5MzQ0IHN0YXJ0YmxvY2sgNzkzNTYgKDAvNzkzNTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgNzkzNzYgc3RhcnRibG9jayA3OTM4OCAoMC83OTM4OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTQwOCBzdGFydGJsb2NrIDc5NDIwICgwLzc5NDIwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5NDQwIHN0YXJ0YmxvY2sgNzk0NTIgKDAvNzk0 NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk0NzIgc3RhcnRibG9jayA3OTQ4NCAo MC83OTQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTUwNCBzdGFydGJsb2NrIDc5 NTE2ICgwLzc5NTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5NTM2IHN0YXJ0Ymxv Y2sgNzk1NDggKDAvNzk1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk1Njggc3Rh cnRibG9jayA3OTU4MCAoMC83OTU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTYw MCBzdGFydGJsb2NrIDc5NjEyICgwLzc5NjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDc5NjMyIHN0YXJ0YmxvY2sgNzk2NDQgKDAvNzk2NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgNzk2NjQgc3RhcnRibG9jayA3OTY3NiAoMC83OTY3NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA3OTY5NiBzdGFydGJsb2NrIDc5NzA4ICgwLzc5NzA4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDc5NzI4IHN0YXJ0YmxvY2sgNzk3NDAgKDAvNzk3NDApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk3NjAgc3RhcnRibG9jayA3OTc3MiAoMC83OTc3MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTc5MiBzdGFydGJsb2NrIDc5ODA0ICgwLzc5ODA0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5ODI0IHN0YXJ0YmxvY2sgNzk4MzYgKDAv Nzk4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk4NTYgc3RhcnRibG9jayA3OTg2 OCAoMC83OTg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3OTg4OCBzdGFydGJsb2Nr IDc5OTAwICgwLzc5OTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDc5OTIwIHN0YXJ0 YmxvY2sgNzk5MzIgKDAvNzk5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgNzk5NTIg c3RhcnRibG9jayA3OTk2NCAoMC83OTk2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA3 OTk4NCBzdGFydGJsb2NrIDc5OTk2ICgwLzc5OTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDgwMDE2IHN0YXJ0YmxvY2sgODAwMjggKDAvODAwMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODAwNDggc3RhcnRibG9jayA4MDA2MCAoMC84MDA2MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4MDA4MCBzdGFydGJsb2NrIDgwMDkyICgwLzgwMDkyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDgwMTEyIHN0YXJ0YmxvY2sgODAxMjQgKDAvODAxMjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODAxNDQgc3RhcnRibG9jayA4MDE1NiAoMC84MDE1Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MDE3NiBzdGFydGJsb2NrIDgwMTg4ICgwLzgw MTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwMjA4IHN0YXJ0YmxvY2sgODAyMjAg KDAvODAyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODAyNDAgc3RhcnRibG9jayA4 MDI1MiAoMC84MDI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MDI3MiBzdGFydGJs b2NrIDgwMjg0ICgwLzgwMjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwMzA0IHN0 YXJ0YmxvY2sgODAzMTYgKDAvODAzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODAz MzYgc3RhcnRibG9jayA4MDM0OCAoMC84MDM0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4MDM2OCBzdGFydGJsb2NrIDgwMzgwICgwLzgwMzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDgwNDAwIHN0YXJ0YmxvY2sgODA0MTIgKDAvODA0MTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODA0MzIgc3RhcnRibG9jayA4MDQ0NCAoMC84MDQ0NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4MDQ2NCBzdGFydGJsb2NrIDgwNDc2ICgwLzgwNDc2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwNDk2IHN0YXJ0YmxvY2sgODA1MDggKDAvODA1MDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODA1Mjggc3RhcnRibG9jayA4MDU0MCAoMC84MDU0 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MDU2MCBzdGFydGJsb2NrIDgwNTcyICgw LzgwNTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwNTkyIHN0YXJ0YmxvY2sgODA2 MDQgKDAvODA2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODA2MjQgc3RhcnRibG9j ayA4MDYzNiAoMC84MDYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MDY1NiBzdGFy dGJsb2NrIDgwNjY4ICgwLzgwNjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwNjg4 IHN0YXJ0YmxvY2sgODA3MDAgKDAvODA3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODA3MjAgc3RhcnRibG9jayA4MDczMiAoMC84MDczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4MDc1MiBzdGFydGJsb2NrIDgwNzY0ICgwLzgwNzY0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDgwNzg0IHN0YXJ0YmxvY2sgODA3OTYgKDAvODA3OTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODA4MTYgc3RhcnRibG9jayA4MDgyOCAoMC84MDgyOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4MDg0OCBzdGFydGJsb2NrIDgwODYwICgwLzgwODYwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwODgwIHN0YXJ0YmxvY2sgODA4OTIgKDAvODA4OTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODA5MTIgc3RhcnRibG9jayA4MDkyNCAoMC84 MDkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MDk0NCBzdGFydGJsb2NrIDgwOTU2 ICgwLzgwOTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgwOTc2IHN0YXJ0YmxvY2sg ODA5ODggKDAvODA5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODEwMDggc3RhcnRi bG9jayA4MTAyMCAoMC84MTAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTA0MCBz dGFydGJsb2NrIDgxMDUyICgwLzgxMDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgx MDcyIHN0YXJ0YmxvY2sgODEwODQgKDAvODEwODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgODExMDQgc3RhcnRibG9jayA4MTExNiAoMC84MTExNikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4MTEzNiBzdGFydGJsb2NrIDgxMTQ4ICgwLzgxMTQ4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDgxMTY4IHN0YXJ0YmxvY2sgODExODAgKDAvODExODApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODEyMDAgc3RhcnRibG9jayA4MTIxMiAoMC84MTIxMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTIzMiBzdGFydGJsb2NrIDgxMjQ0ICgwLzgxMjQ0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgxMjY0IHN0YXJ0YmxvY2sgODEyNzYgKDAvODEy NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODEyOTYgc3RhcnRibG9jayA4MTMwOCAo MC84MTMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTMyOCBzdGFydGJsb2NrIDgx MzQwICgwLzgxMzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgxMzYwIHN0YXJ0Ymxv Y2sgODEzNzIgKDAvODEzNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODEzOTIgc3Rh cnRibG9jayA4MTQwNCAoMC84MTQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTQy NCBzdGFydGJsb2NrIDgxNDM2ICgwLzgxNDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDgxNDU2IHN0YXJ0YmxvY2sgODE0NjggKDAvODE0NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODE0ODggc3RhcnRibG9jayA4MTUwMCAoMC84MTUwMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA4MTUyMCBzdGFydGJsb2NrIDgxNTMyICgwLzgxNTMyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDgxNTUyIHN0YXJ0YmxvY2sgODE1NjQgKDAvODE1NjQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODE1ODQgc3RhcnRibG9jayA4MTU5NiAoMC84MTU5NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTYxNiBzdGFydGJsb2NrIDgxNjI4ICgwLzgxNjI4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgxNjQ4IHN0YXJ0YmxvY2sgODE2NjAgKDAv ODE2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODE2ODAgc3RhcnRibG9jayA4MTY5 MiAoMC84MTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MTcxMiBzdGFydGJsb2Nr IDgxNzI0ICgwLzgxNzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgxNzQ0IHN0YXJ0 YmxvY2sgODE3NTYgKDAvODE3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODE3NzYg c3RhcnRibG9jayA4MTc4OCAoMC84MTc4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 MTgwOCBzdGFydGJsb2NrIDgxODIwICgwLzgxODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDgxODQwIHN0YXJ0YmxvY2sgODE4NTIgKDAvODE4NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODE4NzIgc3RhcnRibG9jayA4MTg4NCAoMC84MTg4NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4MTkwNCBzdGFydGJsb2NrIDgxOTE2ICgwLzgxOTE2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDgxOTM2IHN0YXJ0YmxvY2sgODE5NDggKDAvODE5NDgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODE5Njggc3RhcnRibG9jayA4MTk4MCAoMC84MTk4MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MjAwMCBzdGFydGJsb2NrIDgyMDEyICgwLzgy MDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyMDMyIHN0YXJ0YmxvY2sgODIwNDQg KDAvODIwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODIwNjQgc3RhcnRibG9jayA4 MjA3NiAoMC84MjA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MjA5NiBzdGFydGJs b2NrIDgyMTA4ICgwLzgyMTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyMTI4IHN0 YXJ0YmxvY2sgODIxNDAgKDAvODIxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODIx NjAgc3RhcnRibG9jayA4MjE3MiAoMC84MjE3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4MjE5MiBzdGFydGJsb2NrIDgyMjA0ICgwLzgyMjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDgyMjI0IHN0YXJ0YmxvY2sgODIyMzYgKDAvODIyMzYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODIyNTYgc3RhcnRibG9jayA4MjI2OCAoMC84MjI2OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4MjI4OCBzdGFydGJsb2NrIDgyMzAwICgwLzgyMzAwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyMzIwIHN0YXJ0YmxvY2sgODIzMzIgKDAvODIzMzIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODIzNTIgc3RhcnRibG9jayA4MjM2NCAoMC84MjM2 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MjM4NCBzdGFydGJsb2NrIDgyMzk2ICgw LzgyMzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyNDE2IHN0YXJ0YmxvY2sgODI0 MjggKDAvODI0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODI0NDggc3RhcnRibG9j ayA4MjQ2MCAoMC84MjQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MjQ4MCBzdGFy dGJsb2NrIDgyNDkyICgwLzgyNDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyNTEy IHN0YXJ0YmxvY2sgODI1MjQgKDAvODI1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODI1NDQgc3RhcnRibG9jayA4MjU1NiAoMC84MjU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4MjU3NiBzdGFydGJsb2NrIDgyNTg4ICgwLzgyNTg4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDgyNjA4IHN0YXJ0YmxvY2sgODI2MjAgKDAvODI2MjApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODI2NDAgc3RhcnRibG9jayA4MjY1MiAoMC84MjY1MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4MjY3MiBzdGFydGJsb2NrIDgyNjg0ICgwLzgyNjg0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyNzA0IHN0YXJ0YmxvY2sgODI3MTYgKDAvODI3MTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODI3MzYgc3RhcnRibG9jayA4Mjc0OCAoMC84 Mjc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4Mjc2OCBzdGFydGJsb2NrIDgyNzgw ICgwLzgyNzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgyODAwIHN0YXJ0YmxvY2sg ODI4MTIgKDAvODI4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODI4MzIgc3RhcnRi bG9jayA4Mjg0NCAoMC84Mjg0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4Mjg2NCBz dGFydGJsb2NrIDgyODc2ICgwLzgyODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgy ODk2IHN0YXJ0YmxvY2sgODI5MDggKDAvODI5MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgODI5Mjggc3RhcnRibG9jayA4Mjk0MCAoMC84Mjk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4Mjk2MCBzdGFydGJsb2NrIDgyOTcyICgwLzgyOTcyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDgyOTkyIHN0YXJ0YmxvY2sgODMwMDQgKDAvODMwMDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODMwMjQgc3RhcnRibG9jayA4MzAzNiAoMC84MzAzNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzA1NiBzdGFydGJsb2NrIDgzMDY4ICgwLzgzMDY4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzMDg4IHN0YXJ0YmxvY2sgODMxMDAgKDAvODMx MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODMxMjAgc3RhcnRibG9jayA4MzEzMiAo MC84MzEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzE1MiBzdGFydGJsb2NrIDgz MTY0ICgwLzgzMTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzMTg0IHN0YXJ0Ymxv Y2sgODMxOTYgKDAvODMxOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODMyMTYgc3Rh cnRibG9jayA4MzIyOCAoMC84MzIyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzI0 OCBzdGFydGJsb2NrIDgzMjYwICgwLzgzMjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDgzMjgwIHN0YXJ0YmxvY2sgODMyOTIgKDAvODMyOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODMzMTIgc3RhcnRibG9jayA4MzMyNCAoMC84MzMyNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA4MzM0NCBzdGFydGJsb2NrIDgzMzU2ICgwLzgzMzU2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDgzMzc2IHN0YXJ0YmxvY2sgODMzODggKDAvODMzODgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODM0MDggc3RhcnRibG9jayA4MzQyMCAoMC84MzQyMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzQ0MCBzdGFydGJsb2NrIDgzNDUyICgwLzgzNDUy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzNDcyIHN0YXJ0YmxvY2sgODM0ODQgKDAv ODM0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODM1MDQgc3RhcnRibG9jayA4MzUx NiAoMC84MzUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzUzNiBzdGFydGJsb2Nr IDgzNTQ4ICgwLzgzNTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzNTY4IHN0YXJ0 YmxvY2sgODM1ODAgKDAvODM1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODM2MDAg c3RhcnRibG9jayA4MzYxMiAoMC84MzYxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 MzYzMiBzdGFydGJsb2NrIDgzNjQ0ICgwLzgzNjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDgzNjY0IHN0YXJ0YmxvY2sgODM2NzYgKDAvODM2NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODM2OTYgc3RhcnRibG9jayA4MzcwOCAoMC84MzcwOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4MzcyOCBzdGFydGJsb2NrIDgzNzQwICgwLzgzNzQwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDgzNzYwIHN0YXJ0YmxvY2sgODM3NzIgKDAvODM3NzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODM3OTIgc3RhcnRibG9jayA4MzgwNCAoMC84MzgwNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzgyNCBzdGFydGJsb2NrIDgzODM2ICgwLzgz ODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzODU2IHN0YXJ0YmxvY2sgODM4Njgg KDAvODM4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODM4ODggc3RhcnRibG9jayA4 MzkwMCAoMC84MzkwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4MzkyMCBzdGFydGJs b2NrIDgzOTMyICgwLzgzOTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDgzOTUyIHN0 YXJ0YmxvY2sgODM5NjQgKDAvODM5NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODM5 ODQgc3RhcnRibG9jayA4Mzk5NiAoMC84Mzk5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4NDAxNiBzdGFydGJsb2NrIDg0MDI4ICgwLzg0MDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDg0MDQ4IHN0YXJ0YmxvY2sgODQwNjAgKDAvODQwNjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODQwODAgc3RhcnRibG9jayA4NDA5MiAoMC84NDA5MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4NDExMiBzdGFydGJsb2NrIDg0MTI0ICgwLzg0MTI0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0MTQ0IHN0YXJ0YmxvY2sgODQxNTYgKDAvODQxNTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQxNzYgc3RhcnRibG9jayA4NDE4OCAoMC84NDE4 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDIwOCBzdGFydGJsb2NrIDg0MjIwICgw Lzg0MjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0MjQwIHN0YXJ0YmxvY2sgODQy NTIgKDAvODQyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQyNzIgc3RhcnRibG9j ayA4NDI4NCAoMC84NDI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDMwNCBzdGFy dGJsb2NrIDg0MzE2ICgwLzg0MzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0MzM2 IHN0YXJ0YmxvY2sgODQzNDggKDAvODQzNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODQzNjggc3RhcnRibG9jayA4NDM4MCAoMC84NDM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4NDQwMCBzdGFydGJsb2NrIDg0NDEyICgwLzg0NDEyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDg0NDMyIHN0YXJ0YmxvY2sgODQ0NDQgKDAvODQ0NDQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODQ0NjQgc3RhcnRibG9jayA4NDQ3NiAoMC84NDQ3NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4NDQ5NiBzdGFydGJsb2NrIDg0NTA4ICgwLzg0NTA4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0NTI4IHN0YXJ0YmxvY2sgODQ1NDAgKDAvODQ1NDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQ1NjAgc3RhcnRibG9jayA4NDU3MiAoMC84 NDU3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDU5MiBzdGFydGJsb2NrIDg0NjA0 ICgwLzg0NjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0NjI0IHN0YXJ0YmxvY2sg ODQ2MzYgKDAvODQ2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQ2NTYgc3RhcnRi bG9jayA4NDY2OCAoMC84NDY2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDY4OCBz dGFydGJsb2NrIDg0NzAwICgwLzg0NzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0 NzIwIHN0YXJ0YmxvY2sgODQ3MzIgKDAvODQ3MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgODQ3NTIgc3RhcnRibG9jayA4NDc2NCAoMC84NDc2NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4NDc4NCBzdGFydGJsb2NrIDg0Nzk2ICgwLzg0Nzk2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDg0ODE2IHN0YXJ0YmxvY2sgODQ4MjggKDAvODQ4MjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODQ4NDggc3RhcnRibG9jayA4NDg2MCAoMC84NDg2MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDg4MCBzdGFydGJsb2NrIDg0ODkyICgwLzg0ODkyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg0OTEyIHN0YXJ0YmxvY2sgODQ5MjQgKDAvODQ5 MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODQ5NDQgc3RhcnRibG9jayA4NDk1NiAo MC84NDk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NDk3NiBzdGFydGJsb2NrIDg0 OTg4ICgwLzg0OTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1MDA4IHN0YXJ0Ymxv Y2sgODUwMjAgKDAvODUwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODUwNDAgc3Rh cnRibG9jayA4NTA1MiAoMC84NTA1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTA3 MiBzdGFydGJsb2NrIDg1MDg0ICgwLzg1MDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDg1MTA0IHN0YXJ0YmxvY2sgODUxMTYgKDAvODUxMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODUxMzYgc3RhcnRibG9jayA4NTE0OCAoMC84NTE0OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA4NTE2OCBzdGFydGJsb2NrIDg1MTgwICgwLzg1MTgwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDg1MjAwIHN0YXJ0YmxvY2sgODUyMTIgKDAvODUyMTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODUyMzIgc3RhcnRibG9jayA4NTI0NCAoMC84NTI0NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTI2NCBzdGFydGJsb2NrIDg1Mjc2ICgwLzg1Mjc2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1Mjk2IHN0YXJ0YmxvY2sgODUzMDggKDAv ODUzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODUzMjggc3RhcnRibG9jayA4NTM0 MCAoMC84NTM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTM2MCBzdGFydGJsb2Nr IDg1MzcyICgwLzg1MzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1MzkyIHN0YXJ0 YmxvY2sgODU0MDQgKDAvODU0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODU0MjQg c3RhcnRibG9jayA4NTQzNiAoMC84NTQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 NTQ1NiBzdGFydGJsb2NrIDg1NDY4ICgwLzg1NDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDg1NDg4IHN0YXJ0YmxvY2sgODU1MDAgKDAvODU1MDApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODU1MjAgc3RhcnRibG9jayA4NTUzMiAoMC84NTUzMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4NTU1MiBzdGFydGJsb2NrIDg1NTY0ICgwLzg1NTY0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDg1NTg0IHN0YXJ0YmxvY2sgODU1OTYgKDAvODU1OTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODU2MTYgc3RhcnRibG9jayA4NTYyOCAoMC84NTYyOCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTY0OCBzdGFydGJsb2NrIDg1NjYwICgwLzg1 NjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1NjgwIHN0YXJ0YmxvY2sgODU2OTIg KDAvODU2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODU3MTIgc3RhcnRibG9jayA4 NTcyNCAoMC84NTcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NTc0NCBzdGFydGJs b2NrIDg1NzU2ICgwLzg1NzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1Nzc2IHN0 YXJ0YmxvY2sgODU3ODggKDAvODU3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODU4 MDggc3RhcnRibG9jayA4NTgyMCAoMC84NTgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4NTg0MCBzdGFydGJsb2NrIDg1ODUyICgwLzg1ODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDg1ODcyIHN0YXJ0YmxvY2sgODU4ODQgKDAvODU4ODQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODU5MDQgc3RhcnRibG9jayA4NTkxNiAoMC84NTkxNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4NTkzNiBzdGFydGJsb2NrIDg1OTQ4ICgwLzg1OTQ4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg1OTY4IHN0YXJ0YmxvY2sgODU5ODAgKDAvODU5ODApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODYwMDAgc3RhcnRibG9jayA4NjAxMiAoMC84NjAx MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjAzMiBzdGFydGJsb2NrIDg2MDQ0ICgw Lzg2MDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2MDY0IHN0YXJ0YmxvY2sgODYw NzYgKDAvODYwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODYwOTYgc3RhcnRibG9j ayA4NjEwOCAoMC84NjEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjEyOCBzdGFy dGJsb2NrIDg2MTQwICgwLzg2MTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2MTYw IHN0YXJ0YmxvY2sgODYxNzIgKDAvODYxNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODYxOTIgc3RhcnRibG9jayA4NjIwNCAoMC84NjIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4NjIyNCBzdGFydGJsb2NrIDg2MjM2ICgwLzg2MjM2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDg2MjU2IHN0YXJ0YmxvY2sgODYyNjggKDAvODYyNjgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODYyODggc3RhcnRibG9jayA4NjMwMCAoMC84NjMwMCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4NjMyMCBzdGFydGJsb2NrIDg2MzMyICgwLzg2MzMyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2MzUyIHN0YXJ0YmxvY2sgODYzNjQgKDAvODYzNjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODYzODQgc3RhcnRibG9jayA4NjM5NiAoMC84 NjM5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjQxNiBzdGFydGJsb2NrIDg2NDI4 ICgwLzg2NDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2NDQ4IHN0YXJ0YmxvY2sg ODY0NjAgKDAvODY0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODY0ODAgc3RhcnRi bG9jayA4NjQ5MiAoMC84NjQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjUxMiBz dGFydGJsb2NrIDg2NTI0ICgwLzg2NTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2 NTQ0IHN0YXJ0YmxvY2sgODY1NTYgKDAvODY1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgODY1NzYgc3RhcnRibG9jayA4NjU4OCAoMC84NjU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4NjYwOCBzdGFydGJsb2NrIDg2NjIwICgwLzg2NjIwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDg2NjQwIHN0YXJ0YmxvY2sgODY2NTIgKDAvODY2NTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODY2NzIgc3RhcnRibG9jayA4NjY4NCAoMC84NjY4NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjcwNCBzdGFydGJsb2NrIDg2NzE2ICgwLzg2NzE2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2NzM2IHN0YXJ0YmxvY2sgODY3NDggKDAvODY3 NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODY3Njggc3RhcnRibG9jayA4Njc4MCAo MC84Njc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NjgwMCBzdGFydGJsb2NrIDg2 ODEyICgwLzg2ODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg2ODMyIHN0YXJ0Ymxv Y2sgODY4NDQgKDAvODY4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODY4NjQgc3Rh cnRibG9jayA4Njg3NiAoMC84Njg3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4Njg5 NiBzdGFydGJsb2NrIDg2OTA4ICgwLzg2OTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDg2OTI4IHN0YXJ0YmxvY2sgODY5NDAgKDAvODY5NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODY5NjAgc3RhcnRibG9jayA4Njk3MiAoMC84Njk3MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA4Njk5MiBzdGFydGJsb2NrIDg3MDA0ICgwLzg3MDA0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDg3MDI0IHN0YXJ0YmxvY2sgODcwMzYgKDAvODcwMzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODcwNTYgc3RhcnRibG9jayA4NzA2OCAoMC84NzA2OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NzA4OCBzdGFydGJsb2NrIDg3MTAwICgwLzg3MTAw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3MTIwIHN0YXJ0YmxvY2sgODcxMzIgKDAv ODcxMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODcxNTIgc3RhcnRibG9jayA4NzE2 NCAoMC84NzE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NzE4NCBzdGFydGJsb2Nr IDg3MTk2ICgwLzg3MTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3MjE2IHN0YXJ0 YmxvY2sgODcyMjggKDAvODcyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODcyNDgg c3RhcnRibG9jayA4NzI2MCAoMC84NzI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 NzI4MCBzdGFydGJsb2NrIDg3MjkyICgwLzg3MjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDg3MzEyIHN0YXJ0YmxvY2sgODczMjQgKDAvODczMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODczNDQgc3RhcnRibG9jayA4NzM1NiAoMC84NzM1NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4NzM3NiBzdGFydGJsb2NrIDg3Mzg4ICgwLzg3Mzg4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDg3NDA4IHN0YXJ0YmxvY2sgODc0MjAgKDAvODc0MjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODc0NDAgc3RhcnRibG9jayA4NzQ1MiAoMC84NzQ1Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NzQ3MiBzdGFydGJsb2NrIDg3NDg0ICgwLzg3 NDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3NTA0IHN0YXJ0YmxvY2sgODc1MTYg KDAvODc1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODc1MzYgc3RhcnRibG9jayA4 NzU0OCAoMC84NzU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4NzU2OCBzdGFydGJs b2NrIDg3NTgwICgwLzg3NTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3NjAwIHN0 YXJ0YmxvY2sgODc2MTIgKDAvODc2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODc2 MzIgc3RhcnRibG9jayA4NzY0NCAoMC84NzY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4NzY2NCBzdGFydGJsb2NrIDg3Njc2ICgwLzg3Njc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDg3Njk2IHN0YXJ0YmxvY2sgODc3MDggKDAvODc3MDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODc3Mjggc3RhcnRibG9jayA4Nzc0MCAoMC84Nzc0MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4Nzc2MCBzdGFydGJsb2NrIDg3NzcyICgwLzg3NzcyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3NzkyIHN0YXJ0YmxvY2sgODc4MDQgKDAvODc4MDQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODc4MjQgc3RhcnRibG9jayA4NzgzNiAoMC84Nzgz NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4Nzg1NiBzdGFydGJsb2NrIDg3ODY4ICgw Lzg3ODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3ODg4IHN0YXJ0YmxvY2sgODc5 MDAgKDAvODc5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODc5MjAgc3RhcnRibG9j ayA4NzkzMiAoMC84NzkzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4Nzk1MiBzdGFy dGJsb2NrIDg3OTY0ICgwLzg3OTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg3OTg0 IHN0YXJ0YmxvY2sgODc5OTYgKDAvODc5OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODgwMTYgc3RhcnRibG9jayA4ODAyOCAoMC84ODAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4ODA0OCBzdGFydGJsb2NrIDg4MDYwICgwLzg4MDYwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDg4MDgwIHN0YXJ0YmxvY2sgODgwOTIgKDAvODgwOTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODgxMTIgc3RhcnRibG9jayA4ODEyNCAoMC84ODEyNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4ODE0NCBzdGFydGJsb2NrIDg4MTU2ICgwLzg4MTU2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4MTc2IHN0YXJ0YmxvY2sgODgxODggKDAvODgxODgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODgyMDggc3RhcnRibG9jayA4ODIyMCAoMC84 ODIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODI0MCBzdGFydGJsb2NrIDg4MjUy ICgwLzg4MjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4MjcyIHN0YXJ0YmxvY2sg ODgyODQgKDAvODgyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODgzMDQgc3RhcnRi bG9jayA4ODMxNiAoMC84ODMxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODMzNiBz dGFydGJsb2NrIDg4MzQ4ICgwLzg4MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4 MzY4IHN0YXJ0YmxvY2sgODgzODAgKDAvODgzODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgODg0MDAgc3RhcnRibG9jayA4ODQxMiAoMC84ODQxMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA4ODQzMiBzdGFydGJsb2NrIDg4NDQ0ICgwLzg4NDQ0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDg4NDY0IHN0YXJ0YmxvY2sgODg0NzYgKDAvODg0NzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgODg0OTYgc3RhcnRibG9jayA4ODUwOCAoMC84ODUwOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODUyOCBzdGFydGJsb2NrIDg4NTQwICgwLzg4NTQwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4NTYwIHN0YXJ0YmxvY2sgODg1NzIgKDAvODg1 NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODg1OTIgc3RhcnRibG9jayA4ODYwNCAo MC84ODYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODYyNCBzdGFydGJsb2NrIDg4 NjM2ICgwLzg4NjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4NjU2IHN0YXJ0Ymxv Y2sgODg2NjggKDAvODg2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODg2ODggc3Rh cnRibG9jayA4ODcwMCAoMC84ODcwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODcy MCBzdGFydGJsb2NrIDg4NzMyICgwLzg4NzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDg4NzUyIHN0YXJ0YmxvY2sgODg3NjQgKDAvODg3NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgODg3ODQgc3RhcnRibG9jayA4ODc5NiAoMC84ODc5NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA4ODgxNiBzdGFydGJsb2NrIDg4ODI4ICgwLzg4ODI4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDg4ODQ4IHN0YXJ0YmxvY2sgODg4NjAgKDAvODg4NjApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgODg4ODAgc3RhcnRibG9jayA4ODg5MiAoMC84ODg5MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4ODkxMiBzdGFydGJsb2NrIDg4OTI0ICgwLzg4OTI0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg4OTQ0IHN0YXJ0YmxvY2sgODg5NTYgKDAv ODg5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODg5NzYgc3RhcnRibG9jayA4ODk4 OCAoMC84ODk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4OTAwOCBzdGFydGJsb2Nr IDg5MDIwICgwLzg5MDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5MDQwIHN0YXJ0 YmxvY2sgODkwNTIgKDAvODkwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODkwNzIg c3RhcnRibG9jayA4OTA4NCAoMC84OTA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4 OTEwNCBzdGFydGJsb2NrIDg5MTE2ICgwLzg5MTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDg5MTM2IHN0YXJ0YmxvY2sgODkxNDggKDAvODkxNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgODkxNjggc3RhcnRibG9jayA4OTE4MCAoMC84OTE4MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA4OTIwMCBzdGFydGJsb2NrIDg5MjEyICgwLzg5MjEyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDg5MjMyIHN0YXJ0YmxvY2sgODkyNDQgKDAvODkyNDQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODkyNjQgc3RhcnRibG9jayA4OTI3NiAoMC84OTI3Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4OTI5NiBzdGFydGJsb2NrIDg5MzA4ICgwLzg5 MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5MzI4IHN0YXJ0YmxvY2sgODkzNDAg KDAvODkzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODkzNjAgc3RhcnRibG9jayA4 OTM3MiAoMC84OTM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4OTM5MiBzdGFydGJs b2NrIDg5NDA0ICgwLzg5NDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5NDI0IHN0 YXJ0YmxvY2sgODk0MzYgKDAvODk0MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODk0 NTYgc3RhcnRibG9jayA4OTQ2OCAoMC84OTQ2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA4OTQ4OCBzdGFydGJsb2NrIDg5NTAwICgwLzg5NTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDg5NTIwIHN0YXJ0YmxvY2sgODk1MzIgKDAvODk1MzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgODk1NTIgc3RhcnRibG9jayA4OTU2NCAoMC84OTU2NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA4OTU4NCBzdGFydGJsb2NrIDg5NTk2ICgwLzg5NTk2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5NjE2IHN0YXJ0YmxvY2sgODk2MjggKDAvODk2MjgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODk2NDggc3RhcnRibG9jayA4OTY2MCAoMC84OTY2 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4OTY4MCBzdGFydGJsb2NrIDg5NjkyICgw Lzg5NjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5NzEyIHN0YXJ0YmxvY2sgODk3 MjQgKDAvODk3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgODk3NDQgc3RhcnRibG9j ayA4OTc1NiAoMC84OTc1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA4OTc3NiBzdGFy dGJsb2NrIDg5Nzg4ICgwLzg5Nzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDg5ODA4 IHN0YXJ0YmxvY2sgODk4MjAgKDAvODk4MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg ODk4NDAgc3RhcnRibG9jayA4OTg1MiAoMC84OTg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA4OTg3MiBzdGFydGJsb2NrIDg5ODg0ICgwLzg5ODg0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDg5OTA0IHN0YXJ0YmxvY2sgODk5MTYgKDAvODk5MTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgODk5MzYgc3RhcnRibG9jayA4OTk0OCAoMC84OTk0OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA4OTk2OCBzdGFydGJsb2NrIDg5OTgwICgwLzg5OTgwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwMDAwIHN0YXJ0YmxvY2sgOTAwMTIgKDAvOTAwMTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTAwMzIgc3RhcnRibG9jayA5MDA0NCAoMC85 MDA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDA2NCBzdGFydGJsb2NrIDkwMDc2 ICgwLzkwMDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwMDk2IHN0YXJ0YmxvY2sg OTAxMDggKDAvOTAxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTAxMjggc3RhcnRi bG9jayA5MDE0MCAoMC85MDE0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDE2MCBz dGFydGJsb2NrIDkwMTcyICgwLzkwMTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkw MTkyIHN0YXJ0YmxvY2sgOTAyMDQgKDAvOTAyMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTAyMjQgc3RhcnRibG9jayA5MDIzNiAoMC85MDIzNikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5MDI1NiBzdGFydGJsb2NrIDkwMjY4ICgwLzkwMjY4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDkwMjg4IHN0YXJ0YmxvY2sgOTAzMDAgKDAvOTAzMDApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTAzMjAgc3RhcnRibG9jayA5MDMzMiAoMC85MDMzMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDM1MiBzdGFydGJsb2NrIDkwMzY0ICgwLzkwMzY0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwMzg0IHN0YXJ0YmxvY2sgOTAzOTYgKDAvOTAz OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTA0MTYgc3RhcnRibG9jayA5MDQyOCAo MC85MDQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDQ0OCBzdGFydGJsb2NrIDkw NDYwICgwLzkwNDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwNDgwIHN0YXJ0Ymxv Y2sgOTA0OTIgKDAvOTA0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTA1MTIgc3Rh cnRibG9jayA5MDUyNCAoMC85MDUyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDU0 NCBzdGFydGJsb2NrIDkwNTU2ICgwLzkwNTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDkwNTc2IHN0YXJ0YmxvY2sgOTA1ODggKDAvOTA1ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTA2MDggc3RhcnRibG9jayA5MDYyMCAoMC85MDYyMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5MDY0MCBzdGFydGJsb2NrIDkwNjUyICgwLzkwNjUyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDkwNjcyIHN0YXJ0YmxvY2sgOTA2ODQgKDAvOTA2ODQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTA3MDQgc3RhcnRibG9jayA5MDcxNiAoMC85MDcxNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDczNiBzdGFydGJsb2NrIDkwNzQ4ICgwLzkwNzQ4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwNzY4IHN0YXJ0YmxvY2sgOTA3ODAgKDAv OTA3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTA4MDAgc3RhcnRibG9jayA5MDgx MiAoMC85MDgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MDgzMiBzdGFydGJsb2Nr IDkwODQ0ICgwLzkwODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkwODY0IHN0YXJ0 YmxvY2sgOTA4NzYgKDAvOTA4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTA4OTYg c3RhcnRibG9jayA5MDkwOCAoMC85MDkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5 MDkyOCBzdGFydGJsb2NrIDkwOTQwICgwLzkwOTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDkwOTYwIHN0YXJ0YmxvY2sgOTA5NzIgKDAvOTA5NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTA5OTIgc3RhcnRibG9jayA5MTAwNCAoMC85MTAwNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA5MTAyNCBzdGFydGJsb2NrIDkxMDM2ICgwLzkxMDM2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDkxMDU2IHN0YXJ0YmxvY2sgOTEwNjggKDAvOTEwNjgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTEwODggc3RhcnRibG9jayA5MTEwMCAoMC85MTEwMCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTEyMCBzdGFydGJsb2NrIDkxMTMyICgwLzkx MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxMTUyIHN0YXJ0YmxvY2sgOTExNjQg KDAvOTExNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTExODQgc3RhcnRibG9jayA5 MTE5NiAoMC85MTE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTIxNiBzdGFydGJs b2NrIDkxMjI4ICgwLzkxMjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxMjQ4IHN0 YXJ0YmxvY2sgOTEyNjAgKDAvOTEyNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTEy ODAgc3RhcnRibG9jayA5MTI5MiAoMC85MTI5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5MTMxMiBzdGFydGJsb2NrIDkxMzI0ICgwLzkxMzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDkxMzQ0IHN0YXJ0YmxvY2sgOTEzNTYgKDAvOTEzNTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgOTEzNzYgc3RhcnRibG9jayA5MTM4OCAoMC85MTM4OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5MTQwOCBzdGFydGJsb2NrIDkxNDIwICgwLzkxNDIwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxNDQwIHN0YXJ0YmxvY2sgOTE0NTIgKDAvOTE0NTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTE0NzIgc3RhcnRibG9jayA5MTQ4NCAoMC85MTQ4 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTUwNCBzdGFydGJsb2NrIDkxNTE2ICgw LzkxNTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxNTM2IHN0YXJ0YmxvY2sgOTE1 NDggKDAvOTE1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTE1Njggc3RhcnRibG9j ayA5MTU4MCAoMC85MTU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTYwMCBzdGFy dGJsb2NrIDkxNjEyICgwLzkxNjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxNjMy IHN0YXJ0YmxvY2sgOTE2NDQgKDAvOTE2NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTE2NjQgc3RhcnRibG9jayA5MTY3NiAoMC85MTY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5MTY5NiBzdGFydGJsb2NrIDkxNzA4ICgwLzkxNzA4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDkxNzI4IHN0YXJ0YmxvY2sgOTE3NDAgKDAvOTE3NDApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTE3NjAgc3RhcnRibG9jayA5MTc3MiAoMC85MTc3MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA5MTc5MiBzdGFydGJsb2NrIDkxODA0ICgwLzkxODA0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxODI0IHN0YXJ0YmxvY2sgOTE4MzYgKDAvOTE4MzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTE4NTYgc3RhcnRibG9jayA5MTg2OCAoMC85 MTg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTg4OCBzdGFydGJsb2NrIDkxOTAw ICgwLzkxOTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkxOTIwIHN0YXJ0YmxvY2sg OTE5MzIgKDAvOTE5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTE5NTIgc3RhcnRi bG9jayA5MTk2NCAoMC85MTk2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MTk4NCBz dGFydGJsb2NrIDkxOTk2ICgwLzkxOTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDky MDE2IHN0YXJ0YmxvY2sgOTIwMjggKDAvOTIwMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTIwNDggc3RhcnRibG9jayA5MjA2MCAoMC85MjA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5MjA4MCBzdGFydGJsb2NrIDkyMDkyICgwLzkyMDkyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDkyMTEyIHN0YXJ0YmxvY2sgOTIxMjQgKDAvOTIxMjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTIxNDQgc3RhcnRibG9jayA5MjE1NiAoMC85MjE1NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MjE3NiBzdGFydGJsb2NrIDkyMTg4ICgwLzkyMTg4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkyMjA4IHN0YXJ0YmxvY2sgOTIyMjAgKDAvOTIy MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTIyNDAgc3RhcnRibG9jayA5MjI1MiAo MC85MjI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MjI3MiBzdGFydGJsb2NrIDky Mjg0ICgwLzkyMjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkyMzA0IHN0YXJ0Ymxv Y2sgOTIzMTYgKDAvOTIzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTIzMzYgc3Rh cnRibG9jayA5MjM0OCAoMC85MjM0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MjM2 OCBzdGFydGJsb2NrIDkyMzgwICgwLzkyMzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDkyNDAwIHN0YXJ0YmxvY2sgOTI0MTIgKDAvOTI0MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTI0MzIgc3RhcnRibG9jayA5MjQ0NCAoMC85MjQ0NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5MjQ2NCBzdGFydGJsb2NrIDkyNDc2ICgwLzkyNDc2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDkyNDk2IHN0YXJ0YmxvY2sgOTI1MDggKDAvOTI1MDgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTI1Mjggc3RhcnRibG9jayA5MjU0MCAoMC85MjU0MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MjU2MCBzdGFydGJsb2NrIDkyNTcyICgwLzkyNTcy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkyNTkyIHN0YXJ0YmxvY2sgOTI2MDQgKDAv OTI2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTI2MjQgc3RhcnRibG9jayA5MjYz NiAoMC85MjYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MjY1NiBzdGFydGJsb2Nr IDkyNjY4ICgwLzkyNjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkyNjg4IHN0YXJ0 YmxvY2sgOTI3MDAgKDAvOTI3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTI3MjAg c3RhcnRibG9jayA5MjczMiAoMC85MjczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5 Mjc1MiBzdGFydGJsb2NrIDkyNzY0ICgwLzkyNzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDkyNzg0IHN0YXJ0YmxvY2sgOTI3OTYgKDAvOTI3OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTI4MTYgc3RhcnRibG9jayA5MjgyOCAoMC85MjgyOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA5Mjg0OCBzdGFydGJsb2NrIDkyODYwICgwLzkyODYwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDkyODgwIHN0YXJ0YmxvY2sgOTI4OTIgKDAvOTI4OTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTI5MTIgc3RhcnRibG9jayA5MjkyNCAoMC85MjkyNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5Mjk0NCBzdGFydGJsb2NrIDkyOTU2ICgwLzky OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkyOTc2IHN0YXJ0YmxvY2sgOTI5ODgg KDAvOTI5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTMwMDggc3RhcnRibG9jayA5 MzAyMCAoMC85MzAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzA0MCBzdGFydGJs b2NrIDkzMDUyICgwLzkzMDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzMDcyIHN0 YXJ0YmxvY2sgOTMwODQgKDAvOTMwODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTMx MDQgc3RhcnRibG9jayA5MzExNiAoMC85MzExNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5MzEzNiBzdGFydGJsb2NrIDkzMTQ4ICgwLzkzMTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDkzMTY4IHN0YXJ0YmxvY2sgOTMxODAgKDAvOTMxODApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgOTMyMDAgc3RhcnRibG9jayA5MzIxMiAoMC85MzIxMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5MzIzMiBzdGFydGJsb2NrIDkzMjQ0ICgwLzkzMjQ0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzMjY0IHN0YXJ0YmxvY2sgOTMyNzYgKDAvOTMyNzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTMyOTYgc3RhcnRibG9jayA5MzMwOCAoMC85MzMw OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzMyOCBzdGFydGJsb2NrIDkzMzQwICgw LzkzMzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzMzYwIHN0YXJ0YmxvY2sgOTMz NzIgKDAvOTMzNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTMzOTIgc3RhcnRibG9j ayA5MzQwNCAoMC85MzQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzQyNCBzdGFy dGJsb2NrIDkzNDM2ICgwLzkzNDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzNDU2 IHN0YXJ0YmxvY2sgOTM0NjggKDAvOTM0NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTM0ODggc3RhcnRibG9jayA5MzUwMCAoMC85MzUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5MzUyMCBzdGFydGJsb2NrIDkzNTMyICgwLzkzNTMyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDkzNTUyIHN0YXJ0YmxvY2sgOTM1NjQgKDAvOTM1NjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTM1ODQgc3RhcnRibG9jayA5MzU5NiAoMC85MzU5NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA5MzYxNiBzdGFydGJsb2NrIDkzNjI4ICgwLzkzNjI4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzNjQ4IHN0YXJ0YmxvY2sgOTM2NjAgKDAvOTM2NjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTM2ODAgc3RhcnRibG9jayA5MzY5MiAoMC85 MzY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzcxMiBzdGFydGJsb2NrIDkzNzI0 ICgwLzkzNzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkzNzQ0IHN0YXJ0YmxvY2sg OTM3NTYgKDAvOTM3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTM3NzYgc3RhcnRi bG9jayA5Mzc4OCAoMC85Mzc4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5MzgwOCBz dGFydGJsb2NrIDkzODIwICgwLzkzODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDkz ODQwIHN0YXJ0YmxvY2sgOTM4NTIgKDAvOTM4NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTM4NzIgc3RhcnRibG9jayA5Mzg4NCAoMC85Mzg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5MzkwNCBzdGFydGJsb2NrIDkzOTE2ICgwLzkzOTE2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDkzOTM2IHN0YXJ0YmxvY2sgOTM5NDggKDAvOTM5NDgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTM5Njggc3RhcnRibG9jayA5Mzk4MCAoMC85Mzk4MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDAwMCBzdGFydGJsb2NrIDk0MDEyICgwLzk0MDEyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0MDMyIHN0YXJ0YmxvY2sgOTQwNDQgKDAvOTQw NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQwNjQgc3RhcnRibG9jayA5NDA3NiAo MC85NDA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDA5NiBzdGFydGJsb2NrIDk0 MTA4ICgwLzk0MTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0MTI4IHN0YXJ0Ymxv Y2sgOTQxNDAgKDAvOTQxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQxNjAgc3Rh cnRibG9jayA5NDE3MiAoMC85NDE3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDE5 MiBzdGFydGJsb2NrIDk0MjA0ICgwLzk0MjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDk0MjI0IHN0YXJ0YmxvY2sgOTQyMzYgKDAvOTQyMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTQyNTYgc3RhcnRibG9jayA5NDI2OCAoMC85NDI2OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5NDI4OCBzdGFydGJsb2NrIDk0MzAwICgwLzk0MzAwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDk0MzIwIHN0YXJ0YmxvY2sgOTQzMzIgKDAvOTQzMzIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQzNTIgc3RhcnRibG9jayA5NDM2NCAoMC85NDM2NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDM4NCBzdGFydGJsb2NrIDk0Mzk2ICgwLzk0Mzk2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0NDE2IHN0YXJ0YmxvY2sgOTQ0MjggKDAv OTQ0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ0NDggc3RhcnRibG9jayA5NDQ2 MCAoMC85NDQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDQ4MCBzdGFydGJsb2Nr IDk0NDkyICgwLzk0NDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0NTEyIHN0YXJ0 YmxvY2sgOTQ1MjQgKDAvOTQ1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ1NDQg c3RhcnRibG9jayA5NDU1NiAoMC85NDU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5 NDU3NiBzdGFydGJsb2NrIDk0NTg4ICgwLzk0NTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDk0NjA4IHN0YXJ0YmxvY2sgOTQ2MjAgKDAvOTQ2MjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTQ2NDAgc3RhcnRibG9jayA5NDY1MiAoMC85NDY1MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA5NDY3MiBzdGFydGJsb2NrIDk0Njg0ICgwLzk0Njg0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDk0NzA0IHN0YXJ0YmxvY2sgOTQ3MTYgKDAvOTQ3MTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ3MzYgc3RhcnRibG9jayA5NDc0OCAoMC85NDc0OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDc2OCBzdGFydGJsb2NrIDk0NzgwICgwLzk0 NzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0ODAwIHN0YXJ0YmxvY2sgOTQ4MTIg KDAvOTQ4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ4MzIgc3RhcnRibG9jayA5 NDg0NCAoMC85NDg0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NDg2NCBzdGFydGJs b2NrIDk0ODc2ICgwLzk0ODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk0ODk2IHN0 YXJ0YmxvY2sgOTQ5MDggKDAvOTQ5MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTQ5 Mjggc3RhcnRibG9jayA5NDk0MCAoMC85NDk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5NDk2MCBzdGFydGJsb2NrIDk0OTcyICgwLzk0OTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDk0OTkyIHN0YXJ0YmxvY2sgOTUwMDQgKDAvOTUwMDQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgOTUwMjQgc3RhcnRibG9jayA5NTAzNiAoMC85NTAzNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5NTA1NiBzdGFydGJsb2NrIDk1MDY4ICgwLzk1MDY4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1MDg4IHN0YXJ0YmxvY2sgOTUxMDAgKDAvOTUxMDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTUxMjAgc3RhcnRibG9jayA5NTEzMiAoMC85NTEz MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTE1MiBzdGFydGJsb2NrIDk1MTY0ICgw Lzk1MTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1MTg0IHN0YXJ0YmxvY2sgOTUx OTYgKDAvOTUxOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTUyMTYgc3RhcnRibG9j ayA5NTIyOCAoMC85NTIyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTI0OCBzdGFy dGJsb2NrIDk1MjYwICgwLzk1MjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1Mjgw IHN0YXJ0YmxvY2sgOTUyOTIgKDAvOTUyOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTUzMTIgc3RhcnRibG9jayA5NTMyNCAoMC85NTMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5NTM0NCBzdGFydGJsb2NrIDk1MzU2ICgwLzk1MzU2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDk1Mzc2IHN0YXJ0YmxvY2sgOTUzODggKDAvOTUzODgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTU0MDggc3RhcnRibG9jayA5NTQyMCAoMC85NTQyMCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA5NTQ0MCBzdGFydGJsb2NrIDk1NDUyICgwLzk1NDUyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1NDcyIHN0YXJ0YmxvY2sgOTU0ODQgKDAvOTU0ODQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTU1MDQgc3RhcnRibG9jayA5NTUxNiAoMC85 NTUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTUzNiBzdGFydGJsb2NrIDk1NTQ4 ICgwLzk1NTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1NTY4IHN0YXJ0YmxvY2sg OTU1ODAgKDAvOTU1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTU2MDAgc3RhcnRi bG9jayA5NTYxMiAoMC85NTYxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTYzMiBz dGFydGJsb2NrIDk1NjQ0ICgwLzk1NjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1 NjY0IHN0YXJ0YmxvY2sgOTU2NzYgKDAvOTU2NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTU2OTYgc3RhcnRibG9jayA5NTcwOCAoMC85NTcwOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5NTcyOCBzdGFydGJsb2NrIDk1NzQwICgwLzk1NzQwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDk1NzYwIHN0YXJ0YmxvY2sgOTU3NzIgKDAvOTU3NzIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTU3OTIgc3RhcnRibG9jayA5NTgwNCAoMC85NTgwNCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTgyNCBzdGFydGJsb2NrIDk1ODM2ICgwLzk1ODM2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1ODU2IHN0YXJ0YmxvY2sgOTU4NjggKDAvOTU4 NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTU4ODggc3RhcnRibG9jayA5NTkwMCAo MC85NTkwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NTkyMCBzdGFydGJsb2NrIDk1 OTMyICgwLzk1OTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk1OTUyIHN0YXJ0Ymxv Y2sgOTU5NjQgKDAvOTU5NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTU5ODQgc3Rh cnRibG9jayA5NTk5NiAoMC85NTk5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjAx NiBzdGFydGJsb2NrIDk2MDI4ICgwLzk2MDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDk2MDQ4IHN0YXJ0YmxvY2sgOTYwNjAgKDAvOTYwNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTYwODAgc3RhcnRibG9jayA5NjA5MiAoMC85NjA5MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5NjExMiBzdGFydGJsb2NrIDk2MTI0ICgwLzk2MTI0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDk2MTQ0IHN0YXJ0YmxvY2sgOTYxNTYgKDAvOTYxNTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTYxNzYgc3RhcnRibG9jayA5NjE4OCAoMC85NjE4OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjIwOCBzdGFydGJsb2NrIDk2MjIwICgwLzk2MjIw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2MjQwIHN0YXJ0YmxvY2sgOTYyNTIgKDAv OTYyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTYyNzIgc3RhcnRibG9jayA5NjI4 NCAoMC85NjI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjMwNCBzdGFydGJsb2Nr IDk2MzE2ICgwLzk2MzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2MzM2IHN0YXJ0 YmxvY2sgOTYzNDggKDAvOTYzNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTYzNjgg c3RhcnRibG9jayA5NjM4MCAoMC85NjM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5 NjQwMCBzdGFydGJsb2NrIDk2NDEyICgwLzk2NDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDk2NDMyIHN0YXJ0YmxvY2sgOTY0NDQgKDAvOTY0NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTY0NjQgc3RhcnRibG9jayA5NjQ3NiAoMC85NjQ3NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA5NjQ5NiBzdGFydGJsb2NrIDk2NTA4ICgwLzk2NTA4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDk2NTI4IHN0YXJ0YmxvY2sgOTY1NDAgKDAvOTY1NDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTY1NjAgc3RhcnRibG9jayA5NjU3MiAoMC85NjU3Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjU5MiBzdGFydGJsb2NrIDk2NjA0ICgwLzk2 NjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2NjI0IHN0YXJ0YmxvY2sgOTY2MzYg KDAvOTY2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTY2NTYgc3RhcnRibG9jayA5 NjY2OCAoMC85NjY2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NjY4OCBzdGFydGJs b2NrIDk2NzAwICgwLzk2NzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2NzIwIHN0 YXJ0YmxvY2sgOTY3MzIgKDAvOTY3MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTY3 NTIgc3RhcnRibG9jayA5Njc2NCAoMC85Njc2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5Njc4NCBzdGFydGJsb2NrIDk2Nzk2ICgwLzk2Nzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDk2ODE2IHN0YXJ0YmxvY2sgOTY4MjggKDAvOTY4MjgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgOTY4NDggc3RhcnRibG9jayA5Njg2MCAoMC85Njg2MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5Njg4MCBzdGFydGJsb2NrIDk2ODkyICgwLzk2ODkyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk2OTEyIHN0YXJ0YmxvY2sgOTY5MjQgKDAvOTY5MjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTY5NDQgc3RhcnRibG9jayA5Njk1NiAoMC85Njk1 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5Njk3NiBzdGFydGJsb2NrIDk2OTg4ICgw Lzk2OTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3MDA4IHN0YXJ0YmxvY2sgOTcw MjAgKDAvOTcwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTcwNDAgc3RhcnRibG9j ayA5NzA1MiAoMC85NzA1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NzA3MiBzdGFy dGJsb2NrIDk3MDg0ICgwLzk3MDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3MTA0 IHN0YXJ0YmxvY2sgOTcxMTYgKDAvOTcxMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTcxMzYgc3RhcnRibG9jayA5NzE0OCAoMC85NzE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5NzE2OCBzdGFydGJsb2NrIDk3MTgwICgwLzk3MTgwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDk3MjAwIHN0YXJ0YmxvY2sgOTcyMTIgKDAvOTcyMTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTcyMzIgc3RhcnRibG9jayA5NzI0NCAoMC85NzI0NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA5NzI2NCBzdGFydGJsb2NrIDk3Mjc2ICgwLzk3Mjc2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3Mjk2IHN0YXJ0YmxvY2sgOTczMDggKDAvOTczMDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTczMjggc3RhcnRibG9jayA5NzM0MCAoMC85 NzM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NzM2MCBzdGFydGJsb2NrIDk3Mzcy ICgwLzk3MzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3MzkyIHN0YXJ0YmxvY2sg OTc0MDQgKDAvOTc0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTc0MjQgc3RhcnRi bG9jayA5NzQzNiAoMC85NzQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NzQ1NiBz dGFydGJsb2NrIDk3NDY4ICgwLzk3NDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3 NDg4IHN0YXJ0YmxvY2sgOTc1MDAgKDAvOTc1MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTc1MjAgc3RhcnRibG9jayA5NzUzMiAoMC85NzUzMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5NzU1MiBzdGFydGJsb2NrIDk3NTY0ICgwLzk3NTY0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDk3NTg0IHN0YXJ0YmxvY2sgOTc1OTYgKDAvOTc1OTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTc2MTYgc3RhcnRibG9jayA5NzYyOCAoMC85NzYyOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5NzY0OCBzdGFydGJsb2NrIDk3NjYwICgwLzk3NjYwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3NjgwIHN0YXJ0YmxvY2sgOTc2OTIgKDAvOTc2 OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTc3MTIgc3RhcnRibG9jayA5NzcyNCAo MC85NzcyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5Nzc0NCBzdGFydGJsb2NrIDk3 NzU2ICgwLzk3NzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk3Nzc2IHN0YXJ0Ymxv Y2sgOTc3ODggKDAvOTc3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTc4MDggc3Rh cnRibG9jayA5NzgyMCAoMC85NzgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5Nzg0 MCBzdGFydGJsb2NrIDk3ODUyICgwLzk3ODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDk3ODcyIHN0YXJ0YmxvY2sgOTc4ODQgKDAvOTc4ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTc5MDQgc3RhcnRibG9jayA5NzkxNiAoMC85NzkxNikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5NzkzNiBzdGFydGJsb2NrIDk3OTQ4ICgwLzk3OTQ4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDk3OTY4IHN0YXJ0YmxvY2sgOTc5ODAgKDAvOTc5ODApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTgwMDAgc3RhcnRibG9jayA5ODAxMiAoMC85ODAxMikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODAzMiBzdGFydGJsb2NrIDk4MDQ0ICgwLzk4MDQ0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4MDY0IHN0YXJ0YmxvY2sgOTgwNzYgKDAv OTgwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTgwOTYgc3RhcnRibG9jayA5ODEw OCAoMC85ODEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODEyOCBzdGFydGJsb2Nr IDk4MTQwICgwLzk4MTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4MTYwIHN0YXJ0 YmxvY2sgOTgxNzIgKDAvOTgxNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTgxOTIg c3RhcnRibG9jayA5ODIwNCAoMC85ODIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5 ODIyNCBzdGFydGJsb2NrIDk4MjM2ICgwLzk4MjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDk4MjU2IHN0YXJ0YmxvY2sgOTgyNjggKDAvOTgyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgOTgyODggc3RhcnRibG9jayA5ODMwMCAoMC85ODMwMCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCA5ODMyMCBzdGFydGJsb2NrIDk4MzMyICgwLzk4MzMyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDk4MzUyIHN0YXJ0YmxvY2sgOTgzNjQgKDAvOTgzNjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTgzODQgc3RhcnRibG9jayA5ODM5NiAoMC85ODM5Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODQxNiBzdGFydGJsb2NrIDk4NDI4ICgwLzk4 NDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4NDQ4IHN0YXJ0YmxvY2sgOTg0NjAg KDAvOTg0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTg0ODAgc3RhcnRibG9jayA5 ODQ5MiAoMC85ODQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODUxMiBzdGFydGJs b2NrIDk4NTI0ICgwLzk4NTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4NTQ0IHN0 YXJ0YmxvY2sgOTg1NTYgKDAvOTg1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTg1 NzYgc3RhcnRibG9jayA5ODU4OCAoMC85ODU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCA5ODYwOCBzdGFydGJsb2NrIDk4NjIwICgwLzk4NjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDk4NjQwIHN0YXJ0YmxvY2sgOTg2NTIgKDAvOTg2NTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgOTg2NzIgc3RhcnRibG9jayA5ODY4NCAoMC85ODY4NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCA5ODcwNCBzdGFydGJsb2NrIDk4NzE2ICgwLzk4NzE2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4NzM2IHN0YXJ0YmxvY2sgOTg3NDggKDAvOTg3NDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTg3Njggc3RhcnRibG9jayA5ODc4MCAoMC85ODc4 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODgwMCBzdGFydGJsb2NrIDk4ODEyICgw Lzk4ODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4ODMyIHN0YXJ0YmxvY2sgOTg4 NDQgKDAvOTg4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTg4NjQgc3RhcnRibG9j ayA5ODg3NiAoMC85ODg3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5ODg5NiBzdGFy dGJsb2NrIDk4OTA4ICgwLzk4OTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk4OTI4 IHN0YXJ0YmxvY2sgOTg5NDAgKDAvOTg5NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg OTg5NjAgc3RhcnRibG9jayA5ODk3MiAoMC85ODk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCA5ODk5MiBzdGFydGJsb2NrIDk5MDA0ICgwLzk5MDA0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDk5MDI0IHN0YXJ0YmxvY2sgOTkwMzYgKDAvOTkwMzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgOTkwNTYgc3RhcnRibG9jayA5OTA2OCAoMC85OTA2OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCA5OTA4OCBzdGFydGJsb2NrIDk5MTAwICgwLzk5MTAwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5MTIwIHN0YXJ0YmxvY2sgOTkxMzIgKDAvOTkxMzIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTkxNTIgc3RhcnRibG9jayA5OTE2NCAoMC85 OTE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTE4NCBzdGFydGJsb2NrIDk5MTk2 ICgwLzk5MTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5MjE2IHN0YXJ0YmxvY2sg OTkyMjggKDAvOTkyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTkyNDggc3RhcnRi bG9jayA5OTI2MCAoMC85OTI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTI4MCBz dGFydGJsb2NrIDk5MjkyICgwLzk5MjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5 MzEyIHN0YXJ0YmxvY2sgOTkzMjQgKDAvOTkzMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgOTkzNDQgc3RhcnRibG9jayA5OTM1NiAoMC85OTM1NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCA5OTM3NiBzdGFydGJsb2NrIDk5Mzg4ICgwLzk5Mzg4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDk5NDA4IHN0YXJ0YmxvY2sgOTk0MjAgKDAvOTk0MjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgOTk0NDAgc3RhcnRibG9jayA5OTQ1MiAoMC85OTQ1MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTQ3MiBzdGFydGJsb2NrIDk5NDg0ICgwLzk5NDg0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5NTA0IHN0YXJ0YmxvY2sgOTk1MTYgKDAvOTk1 MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTk1MzYgc3RhcnRibG9jayA5OTU0OCAo MC85OTU0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTU2OCBzdGFydGJsb2NrIDk5 NTgwICgwLzk5NTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5NjAwIHN0YXJ0Ymxv Y2sgOTk2MTIgKDAvOTk2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTk2MzIgc3Rh cnRibG9jayA5OTY0NCAoMC85OTY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTY2 NCBzdGFydGJsb2NrIDk5Njc2ICgwLzk5Njc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDk5Njk2IHN0YXJ0YmxvY2sgOTk3MDggKDAvOTk3MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgOTk3Mjggc3RhcnRibG9jayA5OTc0MCAoMC85OTc0MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCA5OTc2MCBzdGFydGJsb2NrIDk5NzcyICgwLzk5NzcyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDk5NzkyIHN0YXJ0YmxvY2sgOTk4MDQgKDAvOTk4MDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgOTk4MjQgc3RhcnRibG9jayA5OTgzNiAoMC85OTgzNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTg1NiBzdGFydGJsb2NrIDk5ODY4ICgwLzk5ODY4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5ODg4IHN0YXJ0YmxvY2sgOTk5MDAgKDAv OTk5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgOTk5MjAgc3RhcnRibG9jayA5OTkz MiAoMC85OTkzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCA5OTk1MiBzdGFydGJsb2Nr IDk5OTY0ICgwLzk5OTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDk5OTg0IHN0YXJ0 YmxvY2sgOTk5OTYgKDAvOTk5OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwMDE2 IHN0YXJ0YmxvY2sgMTAwMDI4ICgwLzEwMDAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDAwNDggc3RhcnRibG9jayAxMDAwNjAgKDAvMTAwMDYwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwMDA4MCBzdGFydGJsb2NrIDEwMDA5MiAoMC8xMDAwOTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTAwMTEyIHN0YXJ0YmxvY2sgMTAwMTI0ICgwLzEwMDEyNCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDAxNDQgc3RhcnRibG9jayAxMDAxNTYgKDAvMTAw MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMDE3NiBzdGFydGJsb2NrIDEwMDE4 OCAoMC8xMDAxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwMjA4IHN0YXJ0Ymxv Y2sgMTAwMjIwICgwLzEwMDIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDAyNDAg c3RhcnRibG9jayAxMDAyNTIgKDAvMTAwMjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwMDI3MiBzdGFydGJsb2NrIDEwMDI4NCAoMC8xMDAyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTAwMzA0IHN0YXJ0YmxvY2sgMTAwMzE2ICgwLzEwMDMxNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDAzMzYgc3RhcnRibG9jayAxMDAzNDggKDAvMTAwMzQ4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMDM2OCBzdGFydGJsb2NrIDEwMDM4MCAoMC8xMDAz ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwNDAwIHN0YXJ0YmxvY2sgMTAwNDEy ICgwLzEwMDQxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDA0MzIgc3RhcnRibG9j ayAxMDA0NDQgKDAvMTAwNDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMDQ2NCBz dGFydGJsb2NrIDEwMDQ3NiAoMC8xMDA0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTAwNDk2IHN0YXJ0YmxvY2sgMTAwNTA4ICgwLzEwMDUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDA1Mjggc3RhcnRibG9jayAxMDA1NDAgKDAvMTAwNTQwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwMDU2MCBzdGFydGJsb2NrIDEwMDU3MiAoMC8xMDA1NzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwNTkyIHN0YXJ0YmxvY2sgMTAwNjA0ICgwLzEwMDYw NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDA2MjQgc3RhcnRibG9jayAxMDA2MzYg KDAvMTAwNjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMDY1NiBzdGFydGJsb2Nr IDEwMDY2OCAoMC8xMDA2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwNjg4IHN0 YXJ0YmxvY2sgMTAwNzAwICgwLzEwMDcwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDA3MjAgc3RhcnRibG9jayAxMDA3MzIgKDAvMTAwNzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwMDc1MiBzdGFydGJsb2NrIDEwMDc2NCAoMC8xMDA3NjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTAwNzg0IHN0YXJ0YmxvY2sgMTAwNzk2ICgwLzEwMDc5NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDA4MTYgc3RhcnRibG9jayAxMDA4MjggKDAvMTAwODI4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMDg0OCBzdGFydGJsb2NrIDEwMDg2MCAo MC8xMDA4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAwODgwIHN0YXJ0YmxvY2sg MTAwODkyICgwLzEwMDg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDA5MTIgc3Rh cnRibG9jayAxMDA5MjQgKDAvMTAwOTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEw MDk0NCBzdGFydGJsb2NrIDEwMDk1NiAoMC8xMDA5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTAwOTc2IHN0YXJ0YmxvY2sgMTAwOTg4ICgwLzEwMDk4OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDEwMDggc3RhcnRibG9jayAxMDEwMjAgKDAvMTAxMDIwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTA0MCBzdGFydGJsb2NrIDEwMTA1MiAoMC8xMDEwNTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxMDcyIHN0YXJ0YmxvY2sgMTAxMDg0ICgw LzEwMTA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDExMDQgc3RhcnRibG9jayAx MDExMTYgKDAvMTAxMTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTEzNiBzdGFy dGJsb2NrIDEwMTE0OCAoMC8xMDExNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAx MTY4IHN0YXJ0YmxvY2sgMTAxMTgwICgwLzEwMTE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMDEyMDAgc3RhcnRibG9jayAxMDEyMTIgKDAvMTAxMjEyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwMTIzMiBzdGFydGJsb2NrIDEwMTI0NCAoMC8xMDEyNDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxMjY0IHN0YXJ0YmxvY2sgMTAxMjc2ICgwLzEwMTI3Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDEyOTYgc3RhcnRibG9jayAxMDEzMDggKDAv MTAxMzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTMyOCBzdGFydGJsb2NrIDEw MTM0MCAoMC8xMDEzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxMzYwIHN0YXJ0 YmxvY2sgMTAxMzcyICgwLzEwMTM3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDEz OTIgc3RhcnRibG9jayAxMDE0MDQgKDAvMTAxNDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwMTQyNCBzdGFydGJsb2NrIDEwMTQzNiAoMC8xMDE0MzYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTAxNDU2IHN0YXJ0YmxvY2sgMTAxNDY4ICgwLzEwMTQ2OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDE0ODggc3RhcnRibG9jayAxMDE1MDAgKDAvMTAxNTAwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTUyMCBzdGFydGJsb2NrIDEwMTUzMiAoMC8x MDE1MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxNTUyIHN0YXJ0YmxvY2sgMTAx NTY0ICgwLzEwMTU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDE1ODQgc3RhcnRi bG9jayAxMDE1OTYgKDAvMTAxNTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTYx NiBzdGFydGJsb2NrIDEwMTYyOCAoMC8xMDE2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTAxNjQ4IHN0YXJ0YmxvY2sgMTAxNjYwICgwLzEwMTY2MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDE2ODAgc3RhcnRibG9jayAxMDE2OTIgKDAvMTAxNjkyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTcxMiBzdGFydGJsb2NrIDEwMTcyNCAoMC8xMDE3MjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxNzQ0IHN0YXJ0YmxvY2sgMTAxNzU2ICgwLzEw MTc1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDE3NzYgc3RhcnRibG9jayAxMDE3 ODggKDAvMTAxNzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMTgwOCBzdGFydGJs b2NrIDEwMTgyMCAoMC8xMDE4MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAxODQw IHN0YXJ0YmxvY2sgMTAxODUyICgwLzEwMTg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDE4NzIgc3RhcnRibG9jayAxMDE4ODQgKDAvMTAxODg0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwMTkwNCBzdGFydGJsb2NrIDEwMTkxNiAoMC8xMDE5MTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTAxOTM2IHN0YXJ0YmxvY2sgMTAxOTQ4ICgwLzEwMTk0OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDE5Njggc3RhcnRibG9jayAxMDE5ODAgKDAvMTAx OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjAwMCBzdGFydGJsb2NrIDEwMjAx MiAoMC8xMDIwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyMDMyIHN0YXJ0Ymxv Y2sgMTAyMDQ0ICgwLzEwMjA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDIwNjQg c3RhcnRibG9jayAxMDIwNzYgKDAvMTAyMDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwMjA5NiBzdGFydGJsb2NrIDEwMjEwOCAoMC8xMDIxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTAyMTI4IHN0YXJ0YmxvY2sgMTAyMTQwICgwLzEwMjE0MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDIxNjAgc3RhcnRibG9jayAxMDIxNzIgKDAvMTAyMTcyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjE5MiBzdGFydGJsb2NrIDEwMjIwNCAoMC8xMDIy MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyMjI0IHN0YXJ0YmxvY2sgMTAyMjM2 ICgwLzEwMjIzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDIyNTYgc3RhcnRibG9j ayAxMDIyNjggKDAvMTAyMjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjI4OCBz dGFydGJsb2NrIDEwMjMwMCAoMC8xMDIzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTAyMzIwIHN0YXJ0YmxvY2sgMTAyMzMyICgwLzEwMjMzMikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDIzNTIgc3RhcnRibG9jayAxMDIzNjQgKDAvMTAyMzY0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwMjM4NCBzdGFydGJsb2NrIDEwMjM5NiAoMC8xMDIzOTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyNDE2IHN0YXJ0YmxvY2sgMTAyNDI4ICgwLzEwMjQy OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDI0NDggc3RhcnRibG9jayAxMDI0NjAg KDAvMTAyNDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjQ4MCBzdGFydGJsb2Nr IDEwMjQ5MiAoMC8xMDI0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyNTEyIHN0 YXJ0YmxvY2sgMTAyNTI0ICgwLzEwMjUyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDI1NDQgc3RhcnRibG9jayAxMDI1NTYgKDAvMTAyNTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwMjU3NiBzdGFydGJsb2NrIDEwMjU4OCAoMC8xMDI1ODgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTAyNjA4IHN0YXJ0YmxvY2sgMTAyNjIwICgwLzEwMjYyMCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDI2NDAgc3RhcnRibG9jayAxMDI2NTIgKDAvMTAyNjUy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjY3MiBzdGFydGJsb2NrIDEwMjY4NCAo MC8xMDI2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyNzA0IHN0YXJ0YmxvY2sg MTAyNzE2ICgwLzEwMjcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDI3MzYgc3Rh cnRibG9jayAxMDI3NDggKDAvMTAyNzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEw Mjc2OCBzdGFydGJsb2NrIDEwMjc4MCAoMC8xMDI3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTAyODAwIHN0YXJ0YmxvY2sgMTAyODEyICgwLzEwMjgxMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDI4MzIgc3RhcnRibG9jayAxMDI4NDQgKDAvMTAyODQ0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjg2NCBzdGFydGJsb2NrIDEwMjg3NiAoMC8xMDI4NzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAyODk2IHN0YXJ0YmxvY2sgMTAyOTA4ICgw LzEwMjkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDI5Mjggc3RhcnRibG9jayAx MDI5NDAgKDAvMTAyOTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMjk2MCBzdGFy dGJsb2NrIDEwMjk3MiAoMC8xMDI5NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAy OTkyIHN0YXJ0YmxvY2sgMTAzMDA0ICgwLzEwMzAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMDMwMjQgc3RhcnRibG9jayAxMDMwMzYgKDAvMTAzMDM2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwMzA1NiBzdGFydGJsb2NrIDEwMzA2OCAoMC8xMDMwNjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzMDg4IHN0YXJ0YmxvY2sgMTAzMTAwICgwLzEwMzEwMCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDMxMjAgc3RhcnRibG9jayAxMDMxMzIgKDAv MTAzMTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzE1MiBzdGFydGJsb2NrIDEw MzE2NCAoMC8xMDMxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzMTg0IHN0YXJ0 YmxvY2sgMTAzMTk2ICgwLzEwMzE5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDMy MTYgc3RhcnRibG9jayAxMDMyMjggKDAvMTAzMjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwMzI0OCBzdGFydGJsb2NrIDEwMzI2MCAoMC8xMDMyNjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTAzMjgwIHN0YXJ0YmxvY2sgMTAzMjkyICgwLzEwMzI5MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDMzMTIgc3RhcnRibG9jayAxMDMzMjQgKDAvMTAzMzI0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzM0NCBzdGFydGJsb2NrIDEwMzM1NiAoMC8x MDMzNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzMzc2IHN0YXJ0YmxvY2sgMTAz Mzg4ICgwLzEwMzM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDM0MDggc3RhcnRi bG9jayAxMDM0MjAgKDAvMTAzNDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzQ0 MCBzdGFydGJsb2NrIDEwMzQ1MiAoMC8xMDM0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTAzNDcyIHN0YXJ0YmxvY2sgMTAzNDg0ICgwLzEwMzQ4NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDM1MDQgc3RhcnRibG9jayAxMDM1MTYgKDAvMTAzNTE2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzUzNiBzdGFydGJsb2NrIDEwMzU0OCAoMC8xMDM1NDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzNTY4IHN0YXJ0YmxvY2sgMTAzNTgwICgwLzEw MzU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDM2MDAgc3RhcnRibG9jayAxMDM2 MTIgKDAvMTAzNjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzYzMiBzdGFydGJs b2NrIDEwMzY0NCAoMC8xMDM2NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzNjY0 IHN0YXJ0YmxvY2sgMTAzNjc2ICgwLzEwMzY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDM2OTYgc3RhcnRibG9jayAxMDM3MDggKDAvMTAzNzA4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwMzcyOCBzdGFydGJsb2NrIDEwMzc0MCAoMC8xMDM3NDApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTAzNzYwIHN0YXJ0YmxvY2sgMTAzNzcyICgwLzEwMzc3MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDM3OTIgc3RhcnRibG9jayAxMDM4MDQgKDAvMTAz ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwMzgyNCBzdGFydGJsb2NrIDEwMzgz NiAoMC8xMDM4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTAzODU2IHN0YXJ0Ymxv Y2sgMTAzODY4ICgwLzEwMzg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDM4ODgg c3RhcnRibG9jayAxMDM5MDAgKDAvMTAzOTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwMzkyMCBzdGFydGJsb2NrIDEwMzkzMiAoMC8xMDM5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTAzOTUyIHN0YXJ0YmxvY2sgMTAzOTY0ICgwLzEwMzk2NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDM5ODQgc3RhcnRibG9jayAxMDM5OTYgKDAvMTAzOTk2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDAxNiBzdGFydGJsb2NrIDEwNDAyOCAoMC8xMDQw MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0MDQ4IHN0YXJ0YmxvY2sgMTA0MDYw ICgwLzEwNDA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQwODAgc3RhcnRibG9j ayAxMDQwOTIgKDAvMTA0MDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDExMiBz dGFydGJsb2NrIDEwNDEyNCAoMC8xMDQxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTA0MTQ0IHN0YXJ0YmxvY2sgMTA0MTU2ICgwLzEwNDE1NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDQxNzYgc3RhcnRibG9jayAxMDQxODggKDAvMTA0MTg4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwNDIwOCBzdGFydGJsb2NrIDEwNDIyMCAoMC8xMDQyMjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0MjQwIHN0YXJ0YmxvY2sgMTA0MjUyICgwLzEwNDI1 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQyNzIgc3RhcnRibG9jayAxMDQyODQg KDAvMTA0Mjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDMwNCBzdGFydGJsb2Nr IDEwNDMxNiAoMC8xMDQzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0MzM2IHN0 YXJ0YmxvY2sgMTA0MzQ4ICgwLzEwNDM0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDQzNjggc3RhcnRibG9jayAxMDQzODAgKDAvMTA0MzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwNDQwMCBzdGFydGJsb2NrIDEwNDQxMiAoMC8xMDQ0MTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTA0NDMyIHN0YXJ0YmxvY2sgMTA0NDQ0ICgwLzEwNDQ0NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQ0NjQgc3RhcnRibG9jayAxMDQ0NzYgKDAvMTA0NDc2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDQ5NiBzdGFydGJsb2NrIDEwNDUwOCAo MC8xMDQ1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0NTI4IHN0YXJ0YmxvY2sg MTA0NTQwICgwLzEwNDU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQ1NjAgc3Rh cnRibG9jayAxMDQ1NzIgKDAvMTA0NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEw NDU5MiBzdGFydGJsb2NrIDEwNDYwNCAoMC8xMDQ2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTA0NjI0IHN0YXJ0YmxvY2sgMTA0NjM2ICgwLzEwNDYzNikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDQ2NTYgc3RhcnRibG9jayAxMDQ2NjggKDAvMTA0NjY4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDY4OCBzdGFydGJsb2NrIDEwNDcwMCAoMC8xMDQ3MDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0NzIwIHN0YXJ0YmxvY2sgMTA0NzMyICgw LzEwNDczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQ3NTIgc3RhcnRibG9jayAx MDQ3NjQgKDAvMTA0NzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDc4NCBzdGFy dGJsb2NrIDEwNDc5NiAoMC8xMDQ3OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0 ODE2IHN0YXJ0YmxvY2sgMTA0ODI4ICgwLzEwNDgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMDQ4NDggc3RhcnRibG9jayAxMDQ4NjAgKDAvMTA0ODYwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwNDg4MCBzdGFydGJsb2NrIDEwNDg5MiAoMC8xMDQ4OTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA0OTEyIHN0YXJ0YmxvY2sgMTA0OTI0ICgwLzEwNDkyNCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDQ5NDQgc3RhcnRibG9jayAxMDQ5NTYgKDAv MTA0OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNDk3NiBzdGFydGJsb2NrIDEw NDk4OCAoMC8xMDQ5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1MDA4IHN0YXJ0 YmxvY2sgMTA1MDIwICgwLzEwNTAyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDUw NDAgc3RhcnRibG9jayAxMDUwNTIgKDAvMTA1MDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwNTA3MiBzdGFydGJsb2NrIDEwNTA4NCAoMC8xMDUwODQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTA1MTA0IHN0YXJ0YmxvY2sgMTA1MTE2ICgwLzEwNTExNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDUxMzYgc3RhcnRibG9jayAxMDUxNDggKDAvMTA1MTQ4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTE2OCBzdGFydGJsb2NrIDEwNTE4MCAoMC8x MDUxODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1MjAwIHN0YXJ0YmxvY2sgMTA1 MjEyICgwLzEwNTIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDUyMzIgc3RhcnRi bG9jayAxMDUyNDQgKDAvMTA1MjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTI2 NCBzdGFydGJsb2NrIDEwNTI3NiAoMC8xMDUyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTA1Mjk2IHN0YXJ0YmxvY2sgMTA1MzA4ICgwLzEwNTMwOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDUzMjggc3RhcnRibG9jayAxMDUzNDAgKDAvMTA1MzQwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTM2MCBzdGFydGJsb2NrIDEwNTM3MiAoMC8xMDUzNzIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1MzkyIHN0YXJ0YmxvY2sgMTA1NDA0ICgwLzEw NTQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDU0MjQgc3RhcnRibG9jayAxMDU0 MzYgKDAvMTA1NDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTQ1NiBzdGFydGJs b2NrIDEwNTQ2OCAoMC8xMDU0NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1NDg4 IHN0YXJ0YmxvY2sgMTA1NTAwICgwLzEwNTUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDU1MjAgc3RhcnRibG9jayAxMDU1MzIgKDAvMTA1NTMyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwNTU1MiBzdGFydGJsb2NrIDEwNTU2NCAoMC8xMDU1NjQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTA1NTg0IHN0YXJ0YmxvY2sgMTA1NTk2ICgwLzEwNTU5NikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDU2MTYgc3RhcnRibG9jayAxMDU2MjggKDAvMTA1 NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTY0OCBzdGFydGJsb2NrIDEwNTY2 MCAoMC8xMDU2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1NjgwIHN0YXJ0Ymxv Y2sgMTA1NjkyICgwLzEwNTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDU3MTIg c3RhcnRibG9jayAxMDU3MjQgKDAvMTA1NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwNTc0NCBzdGFydGJsb2NrIDEwNTc1NiAoMC8xMDU3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTA1Nzc2IHN0YXJ0YmxvY2sgMTA1Nzg4ICgwLzEwNTc4OCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDU4MDggc3RhcnRibG9jayAxMDU4MjAgKDAvMTA1ODIwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTg0MCBzdGFydGJsb2NrIDEwNTg1MiAoMC8xMDU4 NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA1ODcyIHN0YXJ0YmxvY2sgMTA1ODg0 ICgwLzEwNTg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDU5MDQgc3RhcnRibG9j ayAxMDU5MTYgKDAvMTA1OTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNTkzNiBz dGFydGJsb2NrIDEwNTk0OCAoMC8xMDU5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTA1OTY4IHN0YXJ0YmxvY2sgMTA1OTgwICgwLzEwNTk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDYwMDAgc3RhcnRibG9jayAxMDYwMTIgKDAvMTA2MDEyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwNjAzMiBzdGFydGJsb2NrIDEwNjA0NCAoMC8xMDYwNDQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2MDY0IHN0YXJ0YmxvY2sgMTA2MDc2ICgwLzEwNjA3 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDYwOTYgc3RhcnRibG9jayAxMDYxMDgg KDAvMTA2MTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjEyOCBzdGFydGJsb2Nr IDEwNjE0MCAoMC8xMDYxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2MTYwIHN0 YXJ0YmxvY2sgMTA2MTcyICgwLzEwNjE3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDYxOTIgc3RhcnRibG9jayAxMDYyMDQgKDAvMTA2MjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwNjIyNCBzdGFydGJsb2NrIDEwNjIzNiAoMC8xMDYyMzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTA2MjU2IHN0YXJ0YmxvY2sgMTA2MjY4ICgwLzEwNjI2OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDYyODggc3RhcnRibG9jayAxMDYzMDAgKDAvMTA2MzAw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjMyMCBzdGFydGJsb2NrIDEwNjMzMiAo MC8xMDYzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2MzUyIHN0YXJ0YmxvY2sg MTA2MzY0ICgwLzEwNjM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDYzODQgc3Rh cnRibG9jayAxMDYzOTYgKDAvMTA2Mzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEw NjQxNiBzdGFydGJsb2NrIDEwNjQyOCAoMC8xMDY0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTA2NDQ4IHN0YXJ0YmxvY2sgMTA2NDYwICgwLzEwNjQ2MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDY0ODAgc3RhcnRibG9jayAxMDY0OTIgKDAvMTA2NDkyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjUxMiBzdGFydGJsb2NrIDEwNjUyNCAoMC8xMDY1MjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2NTQ0IHN0YXJ0YmxvY2sgMTA2NTU2ICgw LzEwNjU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDY1NzYgc3RhcnRibG9jayAx MDY1ODggKDAvMTA2NTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjYwOCBzdGFy dGJsb2NrIDEwNjYyMCAoMC8xMDY2MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2 NjQwIHN0YXJ0YmxvY2sgMTA2NjUyICgwLzEwNjY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMDY2NzIgc3RhcnRibG9jayAxMDY2ODQgKDAvMTA2Njg0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwNjcwNCBzdGFydGJsb2NrIDEwNjcxNiAoMC8xMDY3MTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2NzM2IHN0YXJ0YmxvY2sgMTA2NzQ4ICgwLzEwNjc0OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDY3Njggc3RhcnRibG9jayAxMDY3ODAgKDAv MTA2NzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjgwMCBzdGFydGJsb2NrIDEw NjgxMiAoMC8xMDY4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA2ODMyIHN0YXJ0 YmxvY2sgMTA2ODQ0ICgwLzEwNjg0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDY4 NjQgc3RhcnRibG9jayAxMDY4NzYgKDAvMTA2ODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwNjg5NiBzdGFydGJsb2NrIDEwNjkwOCAoMC8xMDY5MDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTA2OTI4IHN0YXJ0YmxvY2sgMTA2OTQwICgwLzEwNjk0MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDY5NjAgc3RhcnRibG9jayAxMDY5NzIgKDAvMTA2OTcyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNjk5MiBzdGFydGJsb2NrIDEwNzAwNCAoMC8x MDcwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3MDI0IHN0YXJ0YmxvY2sgMTA3 MDM2ICgwLzEwNzAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDcwNTYgc3RhcnRi bG9jayAxMDcwNjggKDAvMTA3MDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzA4 OCBzdGFydGJsb2NrIDEwNzEwMCAoMC8xMDcxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTA3MTIwIHN0YXJ0YmxvY2sgMTA3MTMyICgwLzEwNzEzMikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDcxNTIgc3RhcnRibG9jayAxMDcxNjQgKDAvMTA3MTY0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzE4NCBzdGFydGJsb2NrIDEwNzE5NiAoMC8xMDcxOTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3MjE2IHN0YXJ0YmxvY2sgMTA3MjI4ICgwLzEw NzIyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDcyNDggc3RhcnRibG9jayAxMDcy NjAgKDAvMTA3MjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzI4MCBzdGFydGJs b2NrIDEwNzI5MiAoMC8xMDcyOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3MzEy IHN0YXJ0YmxvY2sgMTA3MzI0ICgwLzEwNzMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDczNDQgc3RhcnRibG9jayAxMDczNTYgKDAvMTA3MzU2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwNzM3NiBzdGFydGJsb2NrIDEwNzM4OCAoMC8xMDczODgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTA3NDA4IHN0YXJ0YmxvY2sgMTA3NDIwICgwLzEwNzQyMCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDc0NDAgc3RhcnRibG9jayAxMDc0NTIgKDAvMTA3 NDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzQ3MiBzdGFydGJsb2NrIDEwNzQ4 NCAoMC8xMDc0ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3NTA0IHN0YXJ0Ymxv Y2sgMTA3NTE2ICgwLzEwNzUxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDc1MzYg c3RhcnRibG9jayAxMDc1NDggKDAvMTA3NTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwNzU2OCBzdGFydGJsb2NrIDEwNzU4MCAoMC8xMDc1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTA3NjAwIHN0YXJ0YmxvY2sgMTA3NjEyICgwLzEwNzYxMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDc2MzIgc3RhcnRibG9jayAxMDc2NDQgKDAvMTA3NjQ0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzY2NCBzdGFydGJsb2NrIDEwNzY3NiAoMC8xMDc2 NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3Njk2IHN0YXJ0YmxvY2sgMTA3NzA4 ICgwLzEwNzcwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDc3Mjggc3RhcnRibG9j ayAxMDc3NDAgKDAvMTA3NzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzc2MCBz dGFydGJsb2NrIDEwNzc3MiAoMC8xMDc3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTA3NzkyIHN0YXJ0YmxvY2sgMTA3ODA0ICgwLzEwNzgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDc4MjQgc3RhcnRibG9jayAxMDc4MzYgKDAvMTA3ODM2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwNzg1NiBzdGFydGJsb2NrIDEwNzg2OCAoMC8xMDc4NjgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3ODg4IHN0YXJ0YmxvY2sgMTA3OTAwICgwLzEwNzkw MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDc5MjAgc3RhcnRibG9jayAxMDc5MzIg KDAvMTA3OTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwNzk1MiBzdGFydGJsb2Nr IDEwNzk2NCAoMC8xMDc5NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA3OTg0IHN0 YXJ0YmxvY2sgMTA3OTk2ICgwLzEwNzk5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDgwMTYgc3RhcnRibG9jayAxMDgwMjggKDAvMTA4MDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwODA0OCBzdGFydGJsb2NrIDEwODA2MCAoMC8xMDgwNjApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTA4MDgwIHN0YXJ0YmxvY2sgMTA4MDkyICgwLzEwODA5MikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDgxMTIgc3RhcnRibG9jayAxMDgxMjQgKDAvMTA4MTI0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODE0NCBzdGFydGJsb2NrIDEwODE1NiAo MC8xMDgxNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4MTc2IHN0YXJ0YmxvY2sg MTA4MTg4ICgwLzEwODE4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDgyMDggc3Rh cnRibG9jayAxMDgyMjAgKDAvMTA4MjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEw ODI0MCBzdGFydGJsb2NrIDEwODI1MiAoMC8xMDgyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTA4MjcyIHN0YXJ0YmxvY2sgMTA4Mjg0ICgwLzEwODI4NCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMDgzMDQgc3RhcnRibG9jayAxMDgzMTYgKDAvMTA4MzE2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODMzNiBzdGFydGJsb2NrIDEwODM0OCAoMC8xMDgzNDgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4MzY4IHN0YXJ0YmxvY2sgMTA4MzgwICgw LzEwODM4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDg0MDAgc3RhcnRibG9jayAx MDg0MTIgKDAvMTA4NDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODQzMiBzdGFy dGJsb2NrIDEwODQ0NCAoMC8xMDg0NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4 NDY0IHN0YXJ0YmxvY2sgMTA4NDc2ICgwLzEwODQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMDg0OTYgc3RhcnRibG9jayAxMDg1MDggKDAvMTA4NTA4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEwODUyOCBzdGFydGJsb2NrIDEwODU0MCAoMC8xMDg1NDApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4NTYwIHN0YXJ0YmxvY2sgMTA4NTcyICgwLzEwODU3Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDg1OTIgc3RhcnRibG9jayAxMDg2MDQgKDAv MTA4NjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODYyNCBzdGFydGJsb2NrIDEw ODYzNiAoMC8xMDg2MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4NjU2IHN0YXJ0 YmxvY2sgMTA4NjY4ICgwLzEwODY2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDg2 ODggc3RhcnRibG9jayAxMDg3MDAgKDAvMTA4NzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEwODcyMCBzdGFydGJsb2NrIDEwODczMiAoMC8xMDg3MzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTA4NzUyIHN0YXJ0YmxvY2sgMTA4NzY0ICgwLzEwODc2NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMDg3ODQgc3RhcnRibG9jayAxMDg3OTYgKDAvMTA4Nzk2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODgxNiBzdGFydGJsb2NrIDEwODgyOCAoMC8x MDg4MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA4ODQ4IHN0YXJ0YmxvY2sgMTA4 ODYwICgwLzEwODg2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDg4ODAgc3RhcnRi bG9jayAxMDg4OTIgKDAvMTA4ODkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwODkx MiBzdGFydGJsb2NrIDEwODkyNCAoMC8xMDg5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTA4OTQ0IHN0YXJ0YmxvY2sgMTA4OTU2ICgwLzEwODk1NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMDg5NzYgc3RhcnRibG9jayAxMDg5ODggKDAvMTA4OTg4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTAwOCBzdGFydGJsb2NrIDEwOTAyMCAoMC8xMDkwMjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5MDQwIHN0YXJ0YmxvY2sgMTA5MDUyICgwLzEw OTA1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDkwNzIgc3RhcnRibG9jayAxMDkw ODQgKDAvMTA5MDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTEwNCBzdGFydGJs b2NrIDEwOTExNiAoMC8xMDkxMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5MTM2 IHN0YXJ0YmxvY2sgMTA5MTQ4ICgwLzEwOTE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMDkxNjggc3RhcnRibG9jayAxMDkxODAgKDAvMTA5MTgwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEwOTIwMCBzdGFydGJsb2NrIDEwOTIxMiAoMC8xMDkyMTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTA5MjMyIHN0YXJ0YmxvY2sgMTA5MjQ0ICgwLzEwOTI0NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDkyNjQgc3RhcnRibG9jayAxMDkyNzYgKDAvMTA5 Mjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTI5NiBzdGFydGJsb2NrIDEwOTMw OCAoMC8xMDkzMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5MzI4IHN0YXJ0Ymxv Y2sgMTA5MzQwICgwLzEwOTM0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDkzNjAg c3RhcnRibG9jayAxMDkzNzIgKDAvMTA5MzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEwOTM5MiBzdGFydGJsb2NrIDEwOTQwNCAoMC8xMDk0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTA5NDI0IHN0YXJ0YmxvY2sgMTA5NDM2ICgwLzEwOTQzNikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMDk0NTYgc3RhcnRibG9jayAxMDk0NjggKDAvMTA5NDY4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTQ4OCBzdGFydGJsb2NrIDEwOTUwMCAoMC8xMDk1 MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5NTIwIHN0YXJ0YmxvY2sgMTA5NTMy ICgwLzEwOTUzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDk1NTIgc3RhcnRibG9j ayAxMDk1NjQgKDAvMTA5NTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTU4NCBz dGFydGJsb2NrIDEwOTU5NiAoMC8xMDk1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTA5NjE2IHN0YXJ0YmxvY2sgMTA5NjI4ICgwLzEwOTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMDk2NDggc3RhcnRibG9jayAxMDk2NjAgKDAvMTA5NjYwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEwOTY4MCBzdGFydGJsb2NrIDEwOTY5MiAoMC8xMDk2OTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5NzEyIHN0YXJ0YmxvY2sgMTA5NzI0ICgwLzEwOTcy NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDk3NDQgc3RhcnRibG9jayAxMDk3NTYg KDAvMTA5NzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTc3NiBzdGFydGJsb2Nr IDEwOTc4OCAoMC8xMDk3ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTA5ODA4IHN0 YXJ0YmxvY2sgMTA5ODIwICgwLzEwOTgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MDk4NDAgc3RhcnRibG9jayAxMDk4NTIgKDAvMTA5ODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEwOTg3MiBzdGFydGJsb2NrIDEwOTg4NCAoMC8xMDk4ODQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTA5OTA0IHN0YXJ0YmxvY2sgMTA5OTE2ICgwLzEwOTkxNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMDk5MzYgc3RhcnRibG9jayAxMDk5NDggKDAvMTA5OTQ4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEwOTk2OCBzdGFydGJsb2NrIDEwOTk4MCAo MC8xMDk5ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwMDAwIHN0YXJ0YmxvY2sg MTEwMDEyICgwLzExMDAxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTAwMzIgc3Rh cnRibG9jayAxMTAwNDQgKDAvMTEwMDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx MDA2NCBzdGFydGJsb2NrIDExMDA3NiAoMC8xMTAwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTEwMDk2IHN0YXJ0YmxvY2sgMTEwMTA4ICgwLzExMDEwOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTAxMjggc3RhcnRibG9jayAxMTAxNDAgKDAvMTEwMTQwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDE2MCBzdGFydGJsb2NrIDExMDE3MiAoMC8xMTAxNzIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwMTkyIHN0YXJ0YmxvY2sgMTEwMjA0ICgw LzExMDIwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTAyMjQgc3RhcnRibG9jayAx MTAyMzYgKDAvMTEwMjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDI1NiBzdGFy dGJsb2NrIDExMDI2OCAoMC8xMTAyNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEw Mjg4IHN0YXJ0YmxvY2sgMTEwMzAwICgwLzExMDMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTAzMjAgc3RhcnRibG9jayAxMTAzMzIgKDAvMTEwMzMyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExMDM1MiBzdGFydGJsb2NrIDExMDM2NCAoMC8xMTAzNjQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwMzg0IHN0YXJ0YmxvY2sgMTEwMzk2ICgwLzExMDM5Nikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTA0MTYgc3RhcnRibG9jayAxMTA0MjggKDAv MTEwNDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDQ0OCBzdGFydGJsb2NrIDEx MDQ2MCAoMC8xMTA0NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwNDgwIHN0YXJ0 YmxvY2sgMTEwNDkyICgwLzExMDQ5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTA1 MTIgc3RhcnRibG9jayAxMTA1MjQgKDAvMTEwNTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExMDU0NCBzdGFydGJsb2NrIDExMDU1NiAoMC8xMTA1NTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTEwNTc2IHN0YXJ0YmxvY2sgMTEwNTg4ICgwLzExMDU4OCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTA2MDggc3RhcnRibG9jayAxMTA2MjAgKDAvMTEwNjIwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDY0MCBzdGFydGJsb2NrIDExMDY1MiAoMC8x MTA2NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwNjcyIHN0YXJ0YmxvY2sgMTEw Njg0ICgwLzExMDY4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTA3MDQgc3RhcnRi bG9jayAxMTA3MTYgKDAvMTEwNzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDcz NiBzdGFydGJsb2NrIDExMDc0OCAoMC8xMTA3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTEwNzY4IHN0YXJ0YmxvY2sgMTEwNzgwICgwLzExMDc4MCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTA4MDAgc3RhcnRibG9jayAxMTA4MTIgKDAvMTEwODEyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExMDgzMiBzdGFydGJsb2NrIDExMDg0NCAoMC8xMTA4NDQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwODY0IHN0YXJ0YmxvY2sgMTEwODc2ICgwLzEx MDg3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTA4OTYgc3RhcnRibG9jayAxMTA5 MDggKDAvMTEwOTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMDkyOCBzdGFydGJs b2NrIDExMDk0MCAoMC8xMTA5NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEwOTYw IHN0YXJ0YmxvY2sgMTEwOTcyICgwLzExMDk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTA5OTIgc3RhcnRibG9jayAxMTEwMDQgKDAvMTExMDA0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExMTAyNCBzdGFydGJsb2NrIDExMTAzNiAoMC8xMTEwMzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTExMDU2IHN0YXJ0YmxvY2sgMTExMDY4ICgwLzExMTA2OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTEwODggc3RhcnRibG9jayAxMTExMDAgKDAvMTEx MTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTEyMCBzdGFydGJsb2NrIDExMTEz MiAoMC8xMTExMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTExMTUyIHN0YXJ0Ymxv Y2sgMTExMTY0ICgwLzExMTE2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTExODQg c3RhcnRibG9jayAxMTExOTYgKDAvMTExMTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDExMTIxNiBzdGFydGJsb2NrIDExMTIyOCAoMC8xMTEyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTExMjQ4IHN0YXJ0YmxvY2sgMTExMjYwICgwLzExMTI2MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTEyODAgc3RhcnRibG9jayAxMTEyOTIgKDAvMTExMjkyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTMxMiBzdGFydGJsb2NrIDExMTMyNCAoMC8xMTEz MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTExMzQ0IHN0YXJ0YmxvY2sgMTExMzU2 ICgwLzExMTM1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTEzNzYgc3RhcnRibG9j ayAxMTEzODggKDAvMTExMzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTQwOCBz dGFydGJsb2NrIDExMTQyMCAoMC8xMTE0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTExNDQwIHN0YXJ0YmxvY2sgMTExNDUyICgwLzExMTQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTE0NzIgc3RhcnRibG9jayAxMTE0ODQgKDAvMTExNDg0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDExMTUwNCBzdGFydGJsb2NrIDExMTUxNiAoMC8xMTE1MTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTExNTM2IHN0YXJ0YmxvY2sgMTExNTQ4ICgwLzExMTU0 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTE1Njggc3RhcnRibG9jayAxMTE1ODAg KDAvMTExNTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTYwMCBzdGFydGJsb2Nr IDExMTYxMiAoMC8xMTE2MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTExNjMyIHN0 YXJ0YmxvY2sgMTExNjQ0ICgwLzExMTY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MTE2NjQgc3RhcnRibG9jayAxMTE2NzYgKDAvMTExNjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExMTY5NiBzdGFydGJsb2NrIDExMTcwOCAoMC8xMTE3MDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTExNzI4IHN0YXJ0YmxvY2sgMTExNzQwICgwLzExMTc0MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTE3NjAgc3RhcnRibG9jayAxMTE3NzIgKDAvMTExNzcy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTc5MiBzdGFydGJsb2NrIDExMTgwNCAo MC8xMTE4MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTExODI0IHN0YXJ0YmxvY2sg MTExODM2ICgwLzExMTgzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTE4NTYgc3Rh cnRibG9jayAxMTE4NjggKDAvMTExODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx MTg4OCBzdGFydGJsb2NrIDExMTkwMCAoMC8xMTE5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTExOTIwIHN0YXJ0YmxvY2sgMTExOTMyICgwLzExMTkzMikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTE5NTIgc3RhcnRibG9jayAxMTE5NjQgKDAvMTExOTY0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMTk4NCBzdGFydGJsb2NrIDExMTk5NiAoMC8xMTE5OTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyMDE2IHN0YXJ0YmxvY2sgMTEyMDI4ICgw LzExMjAyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTIwNDggc3RhcnRibG9jayAx MTIwNjAgKDAvMTEyMDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjA4MCBzdGFy dGJsb2NrIDExMjA5MiAoMC8xMTIwOTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEy MTEyIHN0YXJ0YmxvY2sgMTEyMTI0ICgwLzExMjEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTIxNDQgc3RhcnRibG9jayAxMTIxNTYgKDAvMTEyMTU2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExMjE3NiBzdGFydGJsb2NrIDExMjE4OCAoMC8xMTIxODgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyMjA4IHN0YXJ0YmxvY2sgMTEyMjIwICgwLzExMjIyMCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTIyNDAgc3RhcnRibG9jayAxMTIyNTIgKDAv MTEyMjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjI3MiBzdGFydGJsb2NrIDEx MjI4NCAoMC8xMTIyODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyMzA0IHN0YXJ0 YmxvY2sgMTEyMzE2ICgwLzExMjMxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTIz MzYgc3RhcnRibG9jayAxMTIzNDggKDAvMTEyMzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExMjM2OCBzdGFydGJsb2NrIDExMjM4MCAoMC8xMTIzODApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTEyNDAwIHN0YXJ0YmxvY2sgMTEyNDEyICgwLzExMjQxMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTI0MzIgc3RhcnRibG9jayAxMTI0NDQgKDAvMTEyNDQ0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjQ2NCBzdGFydGJsb2NrIDExMjQ3NiAoMC8x MTI0NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyNDk2IHN0YXJ0YmxvY2sgMTEy NTA4ICgwLzExMjUwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTI1Mjggc3RhcnRi bG9jayAxMTI1NDAgKDAvMTEyNTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjU2 MCBzdGFydGJsb2NrIDExMjU3MiAoMC8xMTI1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTEyNTkyIHN0YXJ0YmxvY2sgMTEyNjA0ICgwLzExMjYwNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTI2MjQgc3RhcnRibG9jayAxMTI2MzYgKDAvMTEyNjM2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExMjY1NiBzdGFydGJsb2NrIDExMjY2OCAoMC8xMTI2NjgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyNjg4IHN0YXJ0YmxvY2sgMTEyNzAwICgwLzEx MjcwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTI3MjAgc3RhcnRibG9jayAxMTI3 MzIgKDAvMTEyNzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjc1MiBzdGFydGJs b2NrIDExMjc2NCAoMC8xMTI3NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyNzg0 IHN0YXJ0YmxvY2sgMTEyNzk2ICgwLzExMjc5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTI4MTYgc3RhcnRibG9jayAxMTI4MjggKDAvMTEyODI4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExMjg0OCBzdGFydGJsb2NrIDExMjg2MCAoMC8xMTI4NjApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTEyODgwIHN0YXJ0YmxvY2sgMTEyODkyICgwLzExMjg5MikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTI5MTIgc3RhcnRibG9jayAxMTI5MjQgKDAvMTEy OTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMjk0NCBzdGFydGJsb2NrIDExMjk1 NiAoMC8xMTI5NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEyOTc2IHN0YXJ0Ymxv Y2sgMTEyOTg4ICgwLzExMjk4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTMwMDgg c3RhcnRibG9jayAxMTMwMjAgKDAvMTEzMDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDExMzA0MCBzdGFydGJsb2NrIDExMzA1MiAoMC8xMTMwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTEzMDcyIHN0YXJ0YmxvY2sgMTEzMDg0ICgwLzExMzA4NCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTMxMDQgc3RhcnRibG9jayAxMTMxMTYgKDAvMTEzMTE2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzEzNiBzdGFydGJsb2NrIDExMzE0OCAoMC8xMTMx NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzMTY4IHN0YXJ0YmxvY2sgMTEzMTgw ICgwLzExMzE4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTMyMDAgc3RhcnRibG9j ayAxMTMyMTIgKDAvMTEzMjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzIzMiBz dGFydGJsb2NrIDExMzI0NCAoMC8xMTMyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTEzMjY0IHN0YXJ0YmxvY2sgMTEzMjc2ICgwLzExMzI3NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTMyOTYgc3RhcnRibG9jayAxMTMzMDggKDAvMTEzMzA4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDExMzMyOCBzdGFydGJsb2NrIDExMzM0MCAoMC8xMTMzNDApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzMzYwIHN0YXJ0YmxvY2sgMTEzMzcyICgwLzExMzM3 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTMzOTIgc3RhcnRibG9jayAxMTM0MDQg KDAvMTEzNDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzQyNCBzdGFydGJsb2Nr IDExMzQzNiAoMC8xMTM0MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzNDU2IHN0 YXJ0YmxvY2sgMTEzNDY4ICgwLzExMzQ2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MTM0ODggc3RhcnRibG9jayAxMTM1MDAgKDAvMTEzNTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExMzUyMCBzdGFydGJsb2NrIDExMzUzMiAoMC8xMTM1MzIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTEzNTUyIHN0YXJ0YmxvY2sgMTEzNTY0ICgwLzExMzU2NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTM1ODQgc3RhcnRibG9jayAxMTM1OTYgKDAvMTEzNTk2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzYxNiBzdGFydGJsb2NrIDExMzYyOCAo MC8xMTM2MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzNjQ4IHN0YXJ0YmxvY2sg MTEzNjYwICgwLzExMzY2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTM2ODAgc3Rh cnRibG9jayAxMTM2OTIgKDAvMTEzNjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx MzcxMiBzdGFydGJsb2NrIDExMzcyNCAoMC8xMTM3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTEzNzQ0IHN0YXJ0YmxvY2sgMTEzNzU2ICgwLzExMzc1NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTM3NzYgc3RhcnRibG9jayAxMTM3ODggKDAvMTEzNzg4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzgwOCBzdGFydGJsb2NrIDExMzgyMCAoMC8xMTM4MjAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEzODQwIHN0YXJ0YmxvY2sgMTEzODUyICgw LzExMzg1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTM4NzIgc3RhcnRibG9jayAx MTM4ODQgKDAvMTEzODg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExMzkwNCBzdGFy dGJsb2NrIDExMzkxNiAoMC8xMTM5MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTEz OTM2IHN0YXJ0YmxvY2sgMTEzOTQ4ICgwLzExMzk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTM5Njggc3RhcnRibG9jayAxMTM5ODAgKDAvMTEzOTgwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExNDAwMCBzdGFydGJsb2NrIDExNDAxMiAoMC8xMTQwMTIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0MDMyIHN0YXJ0YmxvY2sgMTE0MDQ0ICgwLzExNDA0NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQwNjQgc3RhcnRibG9jayAxMTQwNzYgKDAv MTE0MDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDA5NiBzdGFydGJsb2NrIDEx NDEwOCAoMC8xMTQxMDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0MTI4IHN0YXJ0 YmxvY2sgMTE0MTQwICgwLzExNDE0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQx NjAgc3RhcnRibG9jayAxMTQxNzIgKDAvMTE0MTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExNDE5MiBzdGFydGJsb2NrIDExNDIwNCAoMC8xMTQyMDQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTE0MjI0IHN0YXJ0YmxvY2sgMTE0MjM2ICgwLzExNDIzNikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTQyNTYgc3RhcnRibG9jayAxMTQyNjggKDAvMTE0MjY4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDI4OCBzdGFydGJsb2NrIDExNDMwMCAoMC8x MTQzMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0MzIwIHN0YXJ0YmxvY2sgMTE0 MzMyICgwLzExNDMzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQzNTIgc3RhcnRi bG9jayAxMTQzNjQgKDAvMTE0MzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDM4 NCBzdGFydGJsb2NrIDExNDM5NiAoMC8xMTQzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTE0NDE2IHN0YXJ0YmxvY2sgMTE0NDI4ICgwLzExNDQyOCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTQ0NDggc3RhcnRibG9jayAxMTQ0NjAgKDAvMTE0NDYwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExNDQ4MCBzdGFydGJsb2NrIDExNDQ5MiAoMC8xMTQ0OTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0NTEyIHN0YXJ0YmxvY2sgMTE0NTI0ICgwLzEx NDUyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQ1NDQgc3RhcnRibG9jayAxMTQ1 NTYgKDAvMTE0NTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDU3NiBzdGFydGJs b2NrIDExNDU4OCAoMC8xMTQ1ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0NjA4 IHN0YXJ0YmxvY2sgMTE0NjIwICgwLzExNDYyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTQ2NDAgc3RhcnRibG9jayAxMTQ2NTIgKDAvMTE0NjUyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExNDY3MiBzdGFydGJsb2NrIDExNDY4NCAoMC8xMTQ2ODQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTE0NzA0IHN0YXJ0YmxvY2sgMTE0NzE2ICgwLzExNDcxNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQ3MzYgc3RhcnRibG9jayAxMTQ3NDggKDAvMTE0 NzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDc2OCBzdGFydGJsb2NrIDExNDc4 MCAoMC8xMTQ3ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0ODAwIHN0YXJ0Ymxv Y2sgMTE0ODEyICgwLzExNDgxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTQ4MzIg c3RhcnRibG9jayAxMTQ4NDQgKDAvMTE0ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDExNDg2NCBzdGFydGJsb2NrIDExNDg3NiAoMC8xMTQ4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTE0ODk2IHN0YXJ0YmxvY2sgMTE0OTA4ICgwLzExNDkwOCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTQ5Mjggc3RhcnRibG9jayAxMTQ5NDAgKDAvMTE0OTQwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNDk2MCBzdGFydGJsb2NrIDExNDk3MiAoMC8xMTQ5 NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE0OTkyIHN0YXJ0YmxvY2sgMTE1MDA0 ICgwLzExNTAwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTUwMjQgc3RhcnRibG9j ayAxMTUwMzYgKDAvMTE1MDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTA1NiBz dGFydGJsb2NrIDExNTA2OCAoMC8xMTUwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTE1MDg4IHN0YXJ0YmxvY2sgMTE1MTAwICgwLzExNTEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTUxMjAgc3RhcnRibG9jayAxMTUxMzIgKDAvMTE1MTMyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDExNTE1MiBzdGFydGJsb2NrIDExNTE2NCAoMC8xMTUxNjQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1MTg0IHN0YXJ0YmxvY2sgMTE1MTk2ICgwLzExNTE5 NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTUyMTYgc3RhcnRibG9jayAxMTUyMjgg KDAvMTE1MjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTI0OCBzdGFydGJsb2Nr IDExNTI2MCAoMC8xMTUyNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1MjgwIHN0 YXJ0YmxvY2sgMTE1MjkyICgwLzExNTI5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MTUzMTIgc3RhcnRibG9jayAxMTUzMjQgKDAvMTE1MzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExNTM0NCBzdGFydGJsb2NrIDExNTM1NiAoMC8xMTUzNTYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTE1Mzc2IHN0YXJ0YmxvY2sgMTE1Mzg4ICgwLzExNTM4OCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTU0MDggc3RhcnRibG9jayAxMTU0MjAgKDAvMTE1NDIw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTQ0MCBzdGFydGJsb2NrIDExNTQ1MiAo MC8xMTU0NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1NDcyIHN0YXJ0YmxvY2sg MTE1NDg0ICgwLzExNTQ4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTU1MDQgc3Rh cnRibG9jayAxMTU1MTYgKDAvMTE1NTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx NTUzNiBzdGFydGJsb2NrIDExNTU0OCAoMC8xMTU1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTE1NTY4IHN0YXJ0YmxvY2sgMTE1NTgwICgwLzExNTU4MCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTU2MDAgc3RhcnRibG9jayAxMTU2MTIgKDAvMTE1NjEyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTYzMiBzdGFydGJsb2NrIDExNTY0NCAoMC8xMTU2NDQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1NjY0IHN0YXJ0YmxvY2sgMTE1Njc2ICgw LzExNTY3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTU2OTYgc3RhcnRibG9jayAx MTU3MDggKDAvMTE1NzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTcyOCBzdGFy dGJsb2NrIDExNTc0MCAoMC8xMTU3NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1 NzYwIHN0YXJ0YmxvY2sgMTE1NzcyICgwLzExNTc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTU3OTIgc3RhcnRibG9jayAxMTU4MDQgKDAvMTE1ODA0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExNTgyNCBzdGFydGJsb2NrIDExNTgzNiAoMC8xMTU4MzYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1ODU2IHN0YXJ0YmxvY2sgMTE1ODY4ICgwLzExNTg2OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTU4ODggc3RhcnRibG9jayAxMTU5MDAgKDAv MTE1OTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNTkyMCBzdGFydGJsb2NrIDEx NTkzMiAoMC8xMTU5MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE1OTUyIHN0YXJ0 YmxvY2sgMTE1OTY0ICgwLzExNTk2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTU5 ODQgc3RhcnRibG9jayAxMTU5OTYgKDAvMTE1OTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExNjAxNiBzdGFydGJsb2NrIDExNjAyOCAoMC8xMTYwMjgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTE2MDQ4IHN0YXJ0YmxvY2sgMTE2MDYwICgwLzExNjA2MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTYwODAgc3RhcnRibG9jayAxMTYwOTIgKDAvMTE2MDkyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjExMiBzdGFydGJsb2NrIDExNjEyNCAoMC8x MTYxMjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2MTQ0IHN0YXJ0YmxvY2sgMTE2 MTU2ICgwLzExNjE1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTYxNzYgc3RhcnRi bG9jayAxMTYxODggKDAvMTE2MTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjIw OCBzdGFydGJsb2NrIDExNjIyMCAoMC8xMTYyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTE2MjQwIHN0YXJ0YmxvY2sgMTE2MjUyICgwLzExNjI1MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTYyNzIgc3RhcnRibG9jayAxMTYyODQgKDAvMTE2Mjg0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExNjMwNCBzdGFydGJsb2NrIDExNjMxNiAoMC8xMTYzMTYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2MzM2IHN0YXJ0YmxvY2sgMTE2MzQ4ICgwLzEx NjM0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTYzNjggc3RhcnRibG9jayAxMTYz ODAgKDAvMTE2MzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjQwMCBzdGFydGJs b2NrIDExNjQxMiAoMC8xMTY0MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2NDMy IHN0YXJ0YmxvY2sgMTE2NDQ0ICgwLzExNjQ0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTY0NjQgc3RhcnRibG9jayAxMTY0NzYgKDAvMTE2NDc2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExNjQ5NiBzdGFydGJsb2NrIDExNjUwOCAoMC8xMTY1MDgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTE2NTI4IHN0YXJ0YmxvY2sgMTE2NTQwICgwLzExNjU0MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTY1NjAgc3RhcnRibG9jayAxMTY1NzIgKDAvMTE2 NTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjU5MiBzdGFydGJsb2NrIDExNjYw NCAoMC8xMTY2MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2NjI0IHN0YXJ0Ymxv Y2sgMTE2NjM2ICgwLzExNjYzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTY2NTYg c3RhcnRibG9jayAxMTY2NjggKDAvMTE2NjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDExNjY4OCBzdGFydGJsb2NrIDExNjcwMCAoMC8xMTY3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTE2NzIwIHN0YXJ0YmxvY2sgMTE2NzMyICgwLzExNjczMikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTY3NTIgc3RhcnRibG9jayAxMTY3NjQgKDAvMTE2NzY0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjc4NCBzdGFydGJsb2NrIDExNjc5NiAoMC8xMTY3 OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE2ODE2IHN0YXJ0YmxvY2sgMTE2ODI4 ICgwLzExNjgyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTY4NDggc3RhcnRibG9j ayAxMTY4NjAgKDAvMTE2ODYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNjg4MCBz dGFydGJsb2NrIDExNjg5MiAoMC8xMTY4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTE2OTEyIHN0YXJ0YmxvY2sgMTE2OTI0ICgwLzExNjkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTY5NDQgc3RhcnRibG9jayAxMTY5NTYgKDAvMTE2OTU2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDExNjk3NiBzdGFydGJsb2NrIDExNjk4OCAoMC8xMTY5ODgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3MDA4IHN0YXJ0YmxvY2sgMTE3MDIwICgwLzExNzAy MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTcwNDAgc3RhcnRibG9jayAxMTcwNTIg KDAvMTE3MDUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzA3MiBzdGFydGJsb2Nr IDExNzA4NCAoMC8xMTcwODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3MTA0IHN0 YXJ0YmxvY2sgMTE3MTE2ICgwLzExNzExNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MTcxMzYgc3RhcnRibG9jayAxMTcxNDggKDAvMTE3MTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExNzE2OCBzdGFydGJsb2NrIDExNzE4MCAoMC8xMTcxODApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTE3MjAwIHN0YXJ0YmxvY2sgMTE3MjEyICgwLzExNzIxMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTcyMzIgc3RhcnRibG9jayAxMTcyNDQgKDAvMTE3MjQ0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzI2NCBzdGFydGJsb2NrIDExNzI3NiAo MC8xMTcyNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3Mjk2IHN0YXJ0YmxvY2sg MTE3MzA4ICgwLzExNzMwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTczMjggc3Rh cnRibG9jayAxMTczNDAgKDAvMTE3MzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx NzM2MCBzdGFydGJsb2NrIDExNzM3MiAoMC8xMTczNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTE3MzkyIHN0YXJ0YmxvY2sgMTE3NDA0ICgwLzExNzQwNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTc0MjQgc3RhcnRibG9jayAxMTc0MzYgKDAvMTE3NDM2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzQ1NiBzdGFydGJsb2NrIDExNzQ2OCAoMC8xMTc0Njgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3NDg4IHN0YXJ0YmxvY2sgMTE3NTAwICgw LzExNzUwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTc1MjAgc3RhcnRibG9jayAx MTc1MzIgKDAvMTE3NTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzU1MiBzdGFy dGJsb2NrIDExNzU2NCAoMC8xMTc1NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3 NTg0IHN0YXJ0YmxvY2sgMTE3NTk2ICgwLzExNzU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTc2MTYgc3RhcnRibG9jayAxMTc2MjggKDAvMTE3NjI4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExNzY0OCBzdGFydGJsb2NrIDExNzY2MCAoMC8xMTc2NjApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3NjgwIHN0YXJ0YmxvY2sgMTE3NjkyICgwLzExNzY5Mikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTc3MTIgc3RhcnRibG9jayAxMTc3MjQgKDAv MTE3NzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzc0NCBzdGFydGJsb2NrIDEx Nzc1NiAoMC8xMTc3NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3Nzc2IHN0YXJ0 YmxvY2sgMTE3Nzg4ICgwLzExNzc4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTc4 MDggc3RhcnRibG9jayAxMTc4MjAgKDAvMTE3ODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExNzg0MCBzdGFydGJsb2NrIDExNzg1MiAoMC8xMTc4NTIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTE3ODcyIHN0YXJ0YmxvY2sgMTE3ODg0ICgwLzExNzg4NCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTc5MDQgc3RhcnRibG9jayAxMTc5MTYgKDAvMTE3OTE2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExNzkzNiBzdGFydGJsb2NrIDExNzk0OCAoMC8x MTc5NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE3OTY4IHN0YXJ0YmxvY2sgMTE3 OTgwICgwLzExNzk4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTgwMDAgc3RhcnRi bG9jayAxMTgwMTIgKDAvMTE4MDEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODAz MiBzdGFydGJsb2NrIDExODA0NCAoMC8xMTgwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTE4MDY0IHN0YXJ0YmxvY2sgMTE4MDc2ICgwLzExODA3NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTgwOTYgc3RhcnRibG9jayAxMTgxMDggKDAvMTE4MTA4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExODEyOCBzdGFydGJsb2NrIDExODE0MCAoMC8xMTgxNDApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4MTYwIHN0YXJ0YmxvY2sgMTE4MTcyICgwLzEx ODE3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTgxOTIgc3RhcnRibG9jayAxMTgy MDQgKDAvMTE4MjA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODIyNCBzdGFydGJs b2NrIDExODIzNiAoMC8xMTgyMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4MjU2 IHN0YXJ0YmxvY2sgMTE4MjY4ICgwLzExODI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMTgyODggc3RhcnRibG9jayAxMTgzMDAgKDAvMTE4MzAwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDExODMyMCBzdGFydGJsb2NrIDExODMzMiAoMC8xMTgzMzIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTE4MzUyIHN0YXJ0YmxvY2sgMTE4MzY0ICgwLzExODM2NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTgzODQgc3RhcnRibG9jayAxMTgzOTYgKDAvMTE4 Mzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODQxNiBzdGFydGJsb2NrIDExODQy OCAoMC8xMTg0MjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4NDQ4IHN0YXJ0Ymxv Y2sgMTE4NDYwICgwLzExODQ2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTg0ODAg c3RhcnRibG9jayAxMTg0OTIgKDAvMTE4NDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDExODUxMiBzdGFydGJsb2NrIDExODUyNCAoMC8xMTg1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTE4NTQ0IHN0YXJ0YmxvY2sgMTE4NTU2ICgwLzExODU1NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMTg1NzYgc3RhcnRibG9jayAxMTg1ODggKDAvMTE4NTg4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODYwOCBzdGFydGJsb2NrIDExODYyMCAoMC8xMTg2 MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4NjQwIHN0YXJ0YmxvY2sgMTE4NjUy ICgwLzExODY1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTg2NzIgc3RhcnRibG9j ayAxMTg2ODQgKDAvMTE4Njg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODcwNCBz dGFydGJsb2NrIDExODcxNiAoMC8xMTg3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTE4NzM2IHN0YXJ0YmxvY2sgMTE4NzQ4ICgwLzExODc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMTg3Njggc3RhcnRibG9jayAxMTg3ODAgKDAvMTE4NzgwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDExODgwMCBzdGFydGJsb2NrIDExODgxMiAoMC8xMTg4MTIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4ODMyIHN0YXJ0YmxvY2sgMTE4ODQ0ICgwLzExODg0 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTg4NjQgc3RhcnRibG9jayAxMTg4NzYg KDAvMTE4ODc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExODg5NiBzdGFydGJsb2Nr IDExODkwOCAoMC8xMTg5MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE4OTI4IHN0 YXJ0YmxvY2sgMTE4OTQwICgwLzExODk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MTg5NjAgc3RhcnRibG9jayAxMTg5NzIgKDAvMTE4OTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDExODk5MiBzdGFydGJsb2NrIDExOTAwNCAoMC8xMTkwMDQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTE5MDI0IHN0YXJ0YmxvY2sgMTE5MDM2ICgwLzExOTAzNikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTkwNTYgc3RhcnRibG9jayAxMTkwNjggKDAvMTE5MDY4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTA4OCBzdGFydGJsb2NrIDExOTEwMCAo MC8xMTkxMDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5MTIwIHN0YXJ0YmxvY2sg MTE5MTMyICgwLzExOTEzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTkxNTIgc3Rh cnRibG9jayAxMTkxNjQgKDAvMTE5MTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEx OTE4NCBzdGFydGJsb2NrIDExOTE5NiAoMC8xMTkxOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTE5MjE2IHN0YXJ0YmxvY2sgMTE5MjI4ICgwLzExOTIyOCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMTkyNDggc3RhcnRibG9jayAxMTkyNjAgKDAvMTE5MjYwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTI4MCBzdGFydGJsb2NrIDExOTI5MiAoMC8xMTkyOTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5MzEyIHN0YXJ0YmxvY2sgMTE5MzI0ICgw LzExOTMyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTkzNDQgc3RhcnRibG9jayAx MTkzNTYgKDAvMTE5MzU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTM3NiBzdGFy dGJsb2NrIDExOTM4OCAoMC8xMTkzODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5 NDA4IHN0YXJ0YmxvY2sgMTE5NDIwICgwLzExOTQyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMTk0NDAgc3RhcnRibG9jayAxMTk0NTIgKDAvMTE5NDUyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDExOTQ3MiBzdGFydGJsb2NrIDExOTQ4NCAoMC8xMTk0ODQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5NTA0IHN0YXJ0YmxvY2sgMTE5NTE2ICgwLzExOTUxNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTk1MzYgc3RhcnRibG9jayAxMTk1NDggKDAv MTE5NTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTU2OCBzdGFydGJsb2NrIDEx OTU4MCAoMC8xMTk1ODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5NjAwIHN0YXJ0 YmxvY2sgMTE5NjEyICgwLzExOTYxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTk2 MzIgc3RhcnRibG9jayAxMTk2NDQgKDAvMTE5NjQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDExOTY2NCBzdGFydGJsb2NrIDExOTY3NiAoMC8xMTk2NzYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTE5Njk2IHN0YXJ0YmxvY2sgMTE5NzA4ICgwLzExOTcwOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMTk3Mjggc3RhcnRibG9jayAxMTk3NDAgKDAvMTE5NzQwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTc2MCBzdGFydGJsb2NrIDExOTc3MiAoMC8x MTk3NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5NzkyIHN0YXJ0YmxvY2sgMTE5 ODA0ICgwLzExOTgwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMTk4MjQgc3RhcnRi bG9jayAxMTk4MzYgKDAvMTE5ODM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDExOTg1 NiBzdGFydGJsb2NrIDExOTg2OCAoMC8xMTk4NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTE5ODg4IHN0YXJ0YmxvY2sgMTE5OTAwICgwLzExOTkwMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMTk5MjAgc3RhcnRibG9jayAxMTk5MzIgKDAvMTE5OTMyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDExOTk1MiBzdGFydGJsb2NrIDExOTk2NCAoMC8xMTk5NjQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTE5OTg0IHN0YXJ0YmxvY2sgMTE5OTk2ICgwLzEx OTk5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjAwMTYgc3RhcnRibG9jayAxMjAw MjggKDAvMTIwMDI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDA0OCBzdGFydGJs b2NrIDEyMDA2MCAoMC8xMjAwNjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwMDgw IHN0YXJ0YmxvY2sgMTIwMDkyICgwLzEyMDA5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjAxMTIgc3RhcnRibG9jayAxMjAxMjQgKDAvMTIwMTI0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyMDE0NCBzdGFydGJsb2NrIDEyMDE1NiAoMC8xMjAxNTYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTIwMTc2IHN0YXJ0YmxvY2sgMTIwMTg4ICgwLzEyMDE4OCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjAyMDggc3RhcnRibG9jayAxMjAyMjAgKDAvMTIw MjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDI0MCBzdGFydGJsb2NrIDEyMDI1 MiAoMC8xMjAyNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwMjcyIHN0YXJ0Ymxv Y2sgMTIwMjg0ICgwLzEyMDI4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjAzMDQg c3RhcnRibG9jayAxMjAzMTYgKDAvMTIwMzE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyMDMzNiBzdGFydGJsb2NrIDEyMDM0OCAoMC8xMjAzNDgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTIwMzY4IHN0YXJ0YmxvY2sgMTIwMzgwICgwLzEyMDM4MCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjA0MDAgc3RhcnRibG9jayAxMjA0MTIgKDAvMTIwNDEyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDQzMiBzdGFydGJsb2NrIDEyMDQ0NCAoMC8xMjA0 NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwNDY0IHN0YXJ0YmxvY2sgMTIwNDc2 ICgwLzEyMDQ3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjA0OTYgc3RhcnRibG9j ayAxMjA1MDggKDAvMTIwNTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDUyOCBz dGFydGJsb2NrIDEyMDU0MCAoMC8xMjA1NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTIwNTYwIHN0YXJ0YmxvY2sgMTIwNTcyICgwLzEyMDU3MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjA1OTIgc3RhcnRibG9jayAxMjA2MDQgKDAvMTIwNjA0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyMDYyNCBzdGFydGJsb2NrIDEyMDYzNiAoMC8xMjA2MzYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwNjU2IHN0YXJ0YmxvY2sgMTIwNjY4ICgwLzEyMDY2 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjA2ODggc3RhcnRibG9jayAxMjA3MDAg KDAvMTIwNzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDcyMCBzdGFydGJsb2Nr IDEyMDczMiAoMC8xMjA3MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwNzUyIHN0 YXJ0YmxvY2sgMTIwNzY0ICgwLzEyMDc2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjA3ODQgc3RhcnRibG9jayAxMjA3OTYgKDAvMTIwNzk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyMDgxNiBzdGFydGJsb2NrIDEyMDgyOCAoMC8xMjA4MjgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTIwODQ4IHN0YXJ0YmxvY2sgMTIwODYwICgwLzEyMDg2MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjA4ODAgc3RhcnRibG9jayAxMjA4OTIgKDAvMTIwODky KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMDkxMiBzdGFydGJsb2NrIDEyMDkyNCAo MC8xMjA5MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIwOTQ0IHN0YXJ0YmxvY2sg MTIwOTU2ICgwLzEyMDk1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjA5NzYgc3Rh cnRibG9jayAxMjA5ODggKDAvMTIwOTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEy MTAwOCBzdGFydGJsb2NrIDEyMTAyMCAoMC8xMjEwMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTIxMDQwIHN0YXJ0YmxvY2sgMTIxMDUyICgwLzEyMTA1MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjEwNzIgc3RhcnRibG9jayAxMjEwODQgKDAvMTIxMDg0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTEwNCBzdGFydGJsb2NrIDEyMTExNiAoMC8xMjExMTYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxMTM2IHN0YXJ0YmxvY2sgMTIxMTQ4ICgw LzEyMTE0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjExNjggc3RhcnRibG9jayAx MjExODAgKDAvMTIxMTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTIwMCBzdGFy dGJsb2NrIDEyMTIxMiAoMC8xMjEyMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIx MjMyIHN0YXJ0YmxvY2sgMTIxMjQ0ICgwLzEyMTI0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMjEyNjQgc3RhcnRibG9jayAxMjEyNzYgKDAvMTIxMjc2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEyMTI5NiBzdGFydGJsb2NrIDEyMTMwOCAoMC8xMjEzMDgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxMzI4IHN0YXJ0YmxvY2sgMTIxMzQwICgwLzEyMTM0MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjEzNjAgc3RhcnRibG9jayAxMjEzNzIgKDAv MTIxMzcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTM5MiBzdGFydGJsb2NrIDEy MTQwNCAoMC8xMjE0MDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxNDI0IHN0YXJ0 YmxvY2sgMTIxNDM2ICgwLzEyMTQzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjE0 NTYgc3RhcnRibG9jayAxMjE0NjggKDAvMTIxNDY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyMTQ4OCBzdGFydGJsb2NrIDEyMTUwMCAoMC8xMjE1MDApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTIxNTIwIHN0YXJ0YmxvY2sgMTIxNTMyICgwLzEyMTUzMikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMjE1NTIgc3RhcnRibG9jayAxMjE1NjQgKDAvMTIxNTY0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTU4NCBzdGFydGJsb2NrIDEyMTU5NiAoMC8x MjE1OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxNjE2IHN0YXJ0YmxvY2sgMTIx NjI4ICgwLzEyMTYyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjE2NDggc3RhcnRi bG9jayAxMjE2NjAgKDAvMTIxNjYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTY4 MCBzdGFydGJsb2NrIDEyMTY5MiAoMC8xMjE2OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTIxNzEyIHN0YXJ0YmxvY2sgMTIxNzI0ICgwLzEyMTcyNCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjE3NDQgc3RhcnRibG9jayAxMjE3NTYgKDAvMTIxNzU2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTc3NiBzdGFydGJsb2NrIDEyMTc4OCAoMC8xMjE3ODgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxODA4IHN0YXJ0YmxvY2sgMTIxODIwICgwLzEy MTgyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjE4NDAgc3RhcnRibG9jayAxMjE4 NTIgKDAvMTIxODUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMTg3MiBzdGFydGJs b2NrIDEyMTg4NCAoMC8xMjE4ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIxOTA0 IHN0YXJ0YmxvY2sgMTIxOTE2ICgwLzEyMTkxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjE5MzYgc3RhcnRibG9jayAxMjE5NDggKDAvMTIxOTQ4KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyMTk2OCBzdGFydGJsb2NrIDEyMTk4MCAoMC8xMjE5ODApIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTIyMDAwIHN0YXJ0YmxvY2sgMTIyMDEyICgwLzEyMjAxMikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjIwMzIgc3RhcnRibG9jayAxMjIwNDQgKDAvMTIy MDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjA2NCBzdGFydGJsb2NrIDEyMjA3 NiAoMC8xMjIwNzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyMDk2IHN0YXJ0Ymxv Y2sgMTIyMTA4ICgwLzEyMjEwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjIxMjgg c3RhcnRibG9jayAxMjIxNDAgKDAvMTIyMTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyMjE2MCBzdGFydGJsb2NrIDEyMjE3MiAoMC8xMjIxNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTIyMTkyIHN0YXJ0YmxvY2sgMTIyMjA0ICgwLzEyMjIwNCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjIyMjQgc3RhcnRibG9jayAxMjIyMzYgKDAvMTIyMjM2KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjI1NiBzdGFydGJsb2NrIDEyMjI2OCAoMC8xMjIy NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyMjg4IHN0YXJ0YmxvY2sgMTIyMzAw ICgwLzEyMjMwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjIzMjAgc3RhcnRibG9j ayAxMjIzMzIgKDAvMTIyMzMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjM1MiBz dGFydGJsb2NrIDEyMjM2NCAoMC8xMjIzNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTIyMzg0IHN0YXJ0YmxvY2sgMTIyMzk2ICgwLzEyMjM5NikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjI0MTYgc3RhcnRibG9jayAxMjI0MjggKDAvMTIyNDI4KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyMjQ0OCBzdGFydGJsb2NrIDEyMjQ2MCAoMC8xMjI0NjApIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyNDgwIHN0YXJ0YmxvY2sgMTIyNDkyICgwLzEyMjQ5 MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjI1MTIgc3RhcnRibG9jayAxMjI1MjQg KDAvMTIyNTI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjU0NCBzdGFydGJsb2Nr IDEyMjU1NiAoMC8xMjI1NTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyNTc2IHN0 YXJ0YmxvY2sgMTIyNTg4ICgwLzEyMjU4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjI2MDggc3RhcnRibG9jayAxMjI2MjAgKDAvMTIyNjIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyMjY0MCBzdGFydGJsb2NrIDEyMjY1MiAoMC8xMjI2NTIpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTIyNjcyIHN0YXJ0YmxvY2sgMTIyNjg0ICgwLzEyMjY4NCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjI3MDQgc3RhcnRibG9jayAxMjI3MTYgKDAvMTIyNzE2 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjczNiBzdGFydGJsb2NrIDEyMjc0OCAo MC8xMjI3NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyNzY4IHN0YXJ0YmxvY2sg MTIyNzgwICgwLzEyMjc4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjI4MDAgc3Rh cnRibG9jayAxMjI4MTIgKDAvMTIyODEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEy MjgzMiBzdGFydGJsb2NrIDEyMjg0NCAoMC8xMjI4NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTIyODY0IHN0YXJ0YmxvY2sgMTIyODc2ICgwLzEyMjg3NikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjI4OTYgc3RhcnRibG9jayAxMjI5MDggKDAvMTIyOTA4KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMjkyOCBzdGFydGJsb2NrIDEyMjk0MCAoMC8xMjI5NDAp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIyOTYwIHN0YXJ0YmxvY2sgMTIyOTcyICgw LzEyMjk3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjI5OTIgc3RhcnRibG9jayAx MjMwMDQgKDAvMTIzMDA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzAyNCBzdGFy dGJsb2NrIDEyMzAzNiAoMC8xMjMwMzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIz MDU2IHN0YXJ0YmxvY2sgMTIzMDY4ICgwLzEyMzA2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMjMwODggc3RhcnRibG9jayAxMjMxMDAgKDAvMTIzMTAwKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEyMzEyMCBzdGFydGJsb2NrIDEyMzEzMiAoMC8xMjMxMzIpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzMTUyIHN0YXJ0YmxvY2sgMTIzMTY0ICgwLzEyMzE2NCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjMxODQgc3RhcnRibG9jayAxMjMxOTYgKDAv MTIzMTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzIxNiBzdGFydGJsb2NrIDEy MzIyOCAoMC8xMjMyMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzMjQ4IHN0YXJ0 YmxvY2sgMTIzMjYwICgwLzEyMzI2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjMy ODAgc3RhcnRibG9jayAxMjMyOTIgKDAvMTIzMjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyMzMxMiBzdGFydGJsb2NrIDEyMzMyNCAoMC8xMjMzMjQpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTIzMzQ0IHN0YXJ0YmxvY2sgMTIzMzU2ICgwLzEyMzM1NikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMjMzNzYgc3RhcnRibG9jayAxMjMzODggKDAvMTIzMzg4KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzQwOCBzdGFydGJsb2NrIDEyMzQyMCAoMC8x MjM0MjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzNDQwIHN0YXJ0YmxvY2sgMTIz NDUyICgwLzEyMzQ1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjM0NzIgc3RhcnRi bG9jayAxMjM0ODQgKDAvMTIzNDg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzUw NCBzdGFydGJsb2NrIDEyMzUxNiAoMC8xMjM1MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTIzNTM2IHN0YXJ0YmxvY2sgMTIzNTQ4ICgwLzEyMzU0OCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjM1Njggc3RhcnRibG9jayAxMjM1ODAgKDAvMTIzNTgwKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzYwMCBzdGFydGJsb2NrIDEyMzYxMiAoMC8xMjM2MTIpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzNjMyIHN0YXJ0YmxvY2sgMTIzNjQ0ICgwLzEy MzY0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjM2NjQgc3RhcnRibG9jayAxMjM2 NzYgKDAvMTIzNjc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzY5NiBzdGFydGJs b2NrIDEyMzcwOCAoMC8xMjM3MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzNzI4 IHN0YXJ0YmxvY2sgMTIzNzQwICgwLzEyMzc0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjM3NjAgc3RhcnRibG9jayAxMjM3NzIgKDAvMTIzNzcyKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyMzc5MiBzdGFydGJsb2NrIDEyMzgwNCAoMC8xMjM4MDQpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTIzODI0IHN0YXJ0YmxvY2sgMTIzODM2ICgwLzEyMzgzNikgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjM4NTYgc3RhcnRibG9jayAxMjM4NjggKDAvMTIz ODY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyMzg4OCBzdGFydGJsb2NrIDEyMzkw MCAoMC8xMjM5MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTIzOTIwIHN0YXJ0Ymxv Y2sgMTIzOTMyICgwLzEyMzkzMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjM5NTIg c3RhcnRibG9jayAxMjM5NjQgKDAvMTIzOTY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyMzk4NCBzdGFydGJsb2NrIDEyMzk5NiAoMC8xMjM5OTYpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTI0MDE2IHN0YXJ0YmxvY2sgMTI0MDI4ICgwLzEyNDAyOCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjQwNDggc3RhcnRibG9jayAxMjQwNjAgKDAvMTI0MDYwKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDA4MCBzdGFydGJsb2NrIDEyNDA5MiAoMC8xMjQw OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0MTEyIHN0YXJ0YmxvY2sgMTI0MTI0 ICgwLzEyNDEyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQxNDQgc3RhcnRibG9j ayAxMjQxNTYgKDAvMTI0MTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDE3NiBz dGFydGJsb2NrIDEyNDE4OCAoMC8xMjQxODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTI0MjA4IHN0YXJ0YmxvY2sgMTI0MjIwICgwLzEyNDIyMCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjQyNDAgc3RhcnRibG9jayAxMjQyNTIgKDAvMTI0MjUyKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyNDI3MiBzdGFydGJsb2NrIDEyNDI4NCAoMC8xMjQyODQpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0MzA0IHN0YXJ0YmxvY2sgMTI0MzE2ICgwLzEyNDMx NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQzMzYgc3RhcnRibG9jayAxMjQzNDgg KDAvMTI0MzQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDM2OCBzdGFydGJsb2Nr IDEyNDM4MCAoMC8xMjQzODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0NDAwIHN0 YXJ0YmxvY2sgMTI0NDEyICgwLzEyNDQxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjQ0MzIgc3RhcnRibG9jayAxMjQ0NDQgKDAvMTI0NDQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyNDQ2NCBzdGFydGJsb2NrIDEyNDQ3NiAoMC8xMjQ0NzYpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTI0NDk2IHN0YXJ0YmxvY2sgMTI0NTA4ICgwLzEyNDUwOCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQ1Mjggc3RhcnRibG9jayAxMjQ1NDAgKDAvMTI0NTQw KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDU2MCBzdGFydGJsb2NrIDEyNDU3MiAo MC8xMjQ1NzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0NTkyIHN0YXJ0YmxvY2sg MTI0NjA0ICgwLzEyNDYwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQ2MjQgc3Rh cnRibG9jayAxMjQ2MzYgKDAvMTI0NjM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEy NDY1NiBzdGFydGJsb2NrIDEyNDY2OCAoMC8xMjQ2NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTI0Njg4IHN0YXJ0YmxvY2sgMTI0NzAwICgwLzEyNDcwMCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjQ3MjAgc3RhcnRibG9jayAxMjQ3MzIgKDAvMTI0NzMyKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDc1MiBzdGFydGJsb2NrIDEyNDc2NCAoMC8xMjQ3NjQp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0Nzg0IHN0YXJ0YmxvY2sgMTI0Nzk2ICgw LzEyNDc5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjQ4MTYgc3RhcnRibG9jayAx MjQ4MjggKDAvMTI0ODI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNDg0OCBzdGFy dGJsb2NrIDEyNDg2MCAoMC8xMjQ4NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0 ODgwIHN0YXJ0YmxvY2sgMTI0ODkyICgwLzEyNDg5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMjQ5MTIgc3RhcnRibG9jayAxMjQ5MjQgKDAvMTI0OTI0KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEyNDk0NCBzdGFydGJsb2NrIDEyNDk1NiAoMC8xMjQ5NTYpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI0OTc2IHN0YXJ0YmxvY2sgMTI0OTg4ICgwLzEyNDk4OCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjUwMDggc3RhcnRibG9jayAxMjUwMjAgKDAv MTI1MDIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTA0MCBzdGFydGJsb2NrIDEy NTA1MiAoMC8xMjUwNTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1MDcyIHN0YXJ0 YmxvY2sgMTI1MDg0ICgwLzEyNTA4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjUx MDQgc3RhcnRibG9jayAxMjUxMTYgKDAvMTI1MTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyNTEzNiBzdGFydGJsb2NrIDEyNTE0OCAoMC8xMjUxNDgpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTI1MTY4IHN0YXJ0YmxvY2sgMTI1MTgwICgwLzEyNTE4MCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMjUyMDAgc3RhcnRibG9jayAxMjUyMTIgKDAvMTI1MjEyKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTIzMiBzdGFydGJsb2NrIDEyNTI0NCAoMC8x MjUyNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1MjY0IHN0YXJ0YmxvY2sgMTI1 Mjc2ICgwLzEyNTI3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjUyOTYgc3RhcnRi bG9jayAxMjUzMDggKDAvMTI1MzA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTMy OCBzdGFydGJsb2NrIDEyNTM0MCAoMC8xMjUzNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTI1MzYwIHN0YXJ0YmxvY2sgMTI1MzcyICgwLzEyNTM3MikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjUzOTIgc3RhcnRibG9jayAxMjU0MDQgKDAvMTI1NDA0KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTQyNCBzdGFydGJsb2NrIDEyNTQzNiAoMC8xMjU0MzYpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1NDU2IHN0YXJ0YmxvY2sgMTI1NDY4ICgwLzEy NTQ2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjU0ODggc3RhcnRibG9jayAxMjU1 MDAgKDAvMTI1NTAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTUyMCBzdGFydGJs b2NrIDEyNTUzMiAoMC8xMjU1MzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1NTUy IHN0YXJ0YmxvY2sgMTI1NTY0ICgwLzEyNTU2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjU1ODQgc3RhcnRibG9jayAxMjU1OTYgKDAvMTI1NTk2KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyNTYxNiBzdGFydGJsb2NrIDEyNTYyOCAoMC8xMjU2MjgpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTI1NjQ4IHN0YXJ0YmxvY2sgMTI1NjYwICgwLzEyNTY2MCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjU2ODAgc3RhcnRibG9jayAxMjU2OTIgKDAvMTI1 NjkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTcxMiBzdGFydGJsb2NrIDEyNTcy NCAoMC8xMjU3MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1NzQ0IHN0YXJ0Ymxv Y2sgMTI1NzU2ICgwLzEyNTc1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjU3NzYg c3RhcnRibG9jayAxMjU3ODggKDAvMTI1Nzg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyNTgwOCBzdGFydGJsb2NrIDEyNTgyMCAoMC8xMjU4MjApIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTI1ODQwIHN0YXJ0YmxvY2sgMTI1ODUyICgwLzEyNTg1MikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjU4NzIgc3RhcnRibG9jayAxMjU4ODQgKDAvMTI1ODg0KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNTkwNCBzdGFydGJsb2NrIDEyNTkxNiAoMC8xMjU5 MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI1OTM2IHN0YXJ0YmxvY2sgMTI1OTQ4 ICgwLzEyNTk0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjU5Njggc3RhcnRibG9j ayAxMjU5ODAgKDAvMTI1OTgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjAwMCBz dGFydGJsb2NrIDEyNjAxMiAoMC8xMjYwMTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTI2MDMyIHN0YXJ0YmxvY2sgMTI2MDQ0ICgwLzEyNjA0NCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjYwNjQgc3RhcnRibG9jayAxMjYwNzYgKDAvMTI2MDc2KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyNjA5NiBzdGFydGJsb2NrIDEyNjEwOCAoMC8xMjYxMDgpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2MTI4IHN0YXJ0YmxvY2sgMTI2MTQwICgwLzEyNjE0 MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjYxNjAgc3RhcnRibG9jayAxMjYxNzIg KDAvMTI2MTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjE5MiBzdGFydGJsb2Nr IDEyNjIwNCAoMC8xMjYyMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2MjI0IHN0 YXJ0YmxvY2sgMTI2MjM2ICgwLzEyNjIzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjYyNTYgc3RhcnRibG9jayAxMjYyNjggKDAvMTI2MjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyNjI4OCBzdGFydGJsb2NrIDEyNjMwMCAoMC8xMjYzMDApIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTI2MzIwIHN0YXJ0YmxvY2sgMTI2MzMyICgwLzEyNjMzMikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjYzNTIgc3RhcnRibG9jayAxMjYzNjQgKDAvMTI2MzY0 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjM4NCBzdGFydGJsb2NrIDEyNjM5NiAo MC8xMjYzOTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2NDE2IHN0YXJ0YmxvY2sg MTI2NDI4ICgwLzEyNjQyOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY0NDggc3Rh cnRibG9jayAxMjY0NjAgKDAvMTI2NDYwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEy NjQ4MCBzdGFydGJsb2NrIDEyNjQ5MiAoMC8xMjY0OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTI2NTEyIHN0YXJ0YmxvY2sgMTI2NTI0ICgwLzEyNjUyNCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjY1NDQgc3RhcnRibG9jayAxMjY1NTYgKDAvMTI2NTU2KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjU3NiBzdGFydGJsb2NrIDEyNjU4OCAoMC8xMjY1ODgp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2NjA4IHN0YXJ0YmxvY2sgMTI2NjIwICgw LzEyNjYyMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY2NDAgc3RhcnRibG9jayAx MjY2NTIgKDAvMTI2NjUyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjY3MiBzdGFy dGJsb2NrIDEyNjY4NCAoMC8xMjY2ODQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2 NzA0IHN0YXJ0YmxvY2sgMTI2NzE2ICgwLzEyNjcxNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMjY3MzYgc3RhcnRibG9jayAxMjY3NDggKDAvMTI2NzQ4KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEyNjc2OCBzdGFydGJsb2NrIDEyNjc4MCAoMC8xMjY3ODApIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2ODAwIHN0YXJ0YmxvY2sgMTI2ODEyICgwLzEyNjgxMikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY4MzIgc3RhcnRibG9jayAxMjY4NDQgKDAv MTI2ODQ0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNjg2NCBzdGFydGJsb2NrIDEy Njg3NiAoMC8xMjY4NzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI2ODk2IHN0YXJ0 YmxvY2sgMTI2OTA4ICgwLzEyNjkwOCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjY5 Mjggc3RhcnRibG9jayAxMjY5NDAgKDAvMTI2OTQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyNjk2MCBzdGFydGJsb2NrIDEyNjk3MiAoMC8xMjY5NzIpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTI2OTkyIHN0YXJ0YmxvY2sgMTI3MDA0ICgwLzEyNzAwNCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMjcwMjQgc3RhcnRibG9jayAxMjcwMzYgKDAvMTI3MDM2KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzA1NiBzdGFydGJsb2NrIDEyNzA2OCAoMC8x MjcwNjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3MDg4IHN0YXJ0YmxvY2sgMTI3 MTAwICgwLzEyNzEwMCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjcxMjAgc3RhcnRi bG9jayAxMjcxMzIgKDAvMTI3MTMyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzE1 MiBzdGFydGJsb2NrIDEyNzE2NCAoMC8xMjcxNjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTI3MTg0IHN0YXJ0YmxvY2sgMTI3MTk2ICgwLzEyNzE5NikgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjcyMTYgc3RhcnRibG9jayAxMjcyMjggKDAvMTI3MjI4KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzI0OCBzdGFydGJsb2NrIDEyNzI2MCAoMC8xMjcyNjApIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3MjgwIHN0YXJ0YmxvY2sgMTI3MjkyICgwLzEy NzI5MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjczMTIgc3RhcnRibG9jayAxMjcz MjQgKDAvMTI3MzI0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzM0NCBzdGFydGJs b2NrIDEyNzM1NiAoMC8xMjczNTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3Mzc2 IHN0YXJ0YmxvY2sgMTI3Mzg4ICgwLzEyNzM4OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjc0MDggc3RhcnRibG9jayAxMjc0MjAgKDAvMTI3NDIwKSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyNzQ0MCBzdGFydGJsb2NrIDEyNzQ1MiAoMC8xMjc0NTIpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTI3NDcyIHN0YXJ0YmxvY2sgMTI3NDg0ICgwLzEyNzQ4NCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjc1MDQgc3RhcnRibG9jayAxMjc1MTYgKDAvMTI3 NTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzUzNiBzdGFydGJsb2NrIDEyNzU0 OCAoMC8xMjc1NDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3NTY4IHN0YXJ0Ymxv Y2sgMTI3NTgwICgwLzEyNzU4MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjc2MDAg c3RhcnRibG9jayAxMjc2MTIgKDAvMTI3NjEyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyNzYzMiBzdGFydGJsb2NrIDEyNzY0NCAoMC8xMjc2NDQpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTI3NjY0IHN0YXJ0YmxvY2sgMTI3Njc2ICgwLzEyNzY3NikgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjc2OTYgc3RhcnRibG9jayAxMjc3MDggKDAvMTI3NzA4KSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzcyOCBzdGFydGJsb2NrIDEyNzc0MCAoMC8xMjc3 NDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3NzYwIHN0YXJ0YmxvY2sgMTI3Nzcy ICgwLzEyNzc3MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjc3OTIgc3RhcnRibG9j ayAxMjc4MDQgKDAvMTI3ODA0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyNzgyNCBz dGFydGJsb2NrIDEyNzgzNiAoMC8xMjc4MzYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTI3ODU2IHN0YXJ0YmxvY2sgMTI3ODY4ICgwLzEyNzg2OCkgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjc4ODggc3RhcnRibG9jayAxMjc5MDAgKDAvMTI3OTAwKSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyNzkyMCBzdGFydGJsb2NrIDEyNzkzMiAoMC8xMjc5MzIpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI3OTUyIHN0YXJ0YmxvY2sgMTI3OTY0ICgwLzEyNzk2 NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjc5ODQgc3RhcnRibG9jayAxMjc5OTYg KDAvMTI3OTk2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODAxNiBzdGFydGJsb2Nr IDEyODAyOCAoMC8xMjgwMjgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4MDQ4IHN0 YXJ0YmxvY2sgMTI4MDYwICgwLzEyODA2MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx MjgwODAgc3RhcnRibG9jayAxMjgwOTIgKDAvMTI4MDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyODExMiBzdGFydGJsb2NrIDEyODEyNCAoMC8xMjgxMjQpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTI4MTQ0IHN0YXJ0YmxvY2sgMTI4MTU2ICgwLzEyODE1NikgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjgxNzYgc3RhcnRibG9jayAxMjgxODggKDAvMTI4MTg4 KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODIwOCBzdGFydGJsb2NrIDEyODIyMCAo MC8xMjgyMjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4MjQwIHN0YXJ0YmxvY2sg MTI4MjUyICgwLzEyODI1MikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjgyNzIgc3Rh cnRibG9jayAxMjgyODQgKDAvMTI4Mjg0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEy ODMwNCBzdGFydGJsb2NrIDEyODMxNiAoMC8xMjgzMTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTI4MzM2IHN0YXJ0YmxvY2sgMTI4MzQ4ICgwLzEyODM0OCkgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMjgzNjggc3RhcnRibG9jayAxMjgzODAgKDAvMTI4MzgwKSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODQwMCBzdGFydGJsb2NrIDEyODQxMiAoMC8xMjg0MTIp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4NDMyIHN0YXJ0YmxvY2sgMTI4NDQ0ICgw LzEyODQ0NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjg0NjQgc3RhcnRibG9jayAx Mjg0NzYgKDAvMTI4NDc2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODQ5NiBzdGFy dGJsb2NrIDEyODUwOCAoMC8xMjg1MDgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4 NTI4IHN0YXJ0YmxvY2sgMTI4NTQwICgwLzEyODU0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMjg1NjAgc3RhcnRibG9jayAxMjg1NzIgKDAvMTI4NTcyKSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEyODU5MiBzdGFydGJsb2NrIDEyODYwNCAoMC8xMjg2MDQpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4NjI0IHN0YXJ0YmxvY2sgMTI4NjM2ICgwLzEyODYzNikg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjg2NTYgc3RhcnRibG9jayAxMjg2NjggKDAv MTI4NjY4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODY4OCBzdGFydGJsb2NrIDEy ODcwMCAoMC8xMjg3MDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4NzIwIHN0YXJ0 YmxvY2sgMTI4NzMyICgwLzEyODczMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjg3 NTIgc3RhcnRibG9jayAxMjg3NjQgKDAvMTI4NzY0KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEyODc4NCBzdGFydGJsb2NrIDEyODc5NiAoMC8xMjg3OTYpIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTI4ODE2IHN0YXJ0YmxvY2sgMTI4ODI4ICgwLzEyODgyOCkgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMjg4NDggc3RhcnRibG9jayAxMjg4NjAgKDAvMTI4ODYwKSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODg4MCBzdGFydGJsb2NrIDEyODg5MiAoMC8x Mjg4OTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI4OTEyIHN0YXJ0YmxvY2sgMTI4 OTI0ICgwLzEyODkyNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjg5NDQgc3RhcnRi bG9jayAxMjg5NTYgKDAvMTI4OTU2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyODk3 NiBzdGFydGJsb2NrIDEyODk4OCAoMC8xMjg5ODgpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTI5MDA4IHN0YXJ0YmxvY2sgMTI5MDIwICgwLzEyOTAyMCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMjkwNDAgc3RhcnRibG9jayAxMjkwNTIgKDAvMTI5MDUyKSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTA3MiBzdGFydGJsb2NrIDEyOTA4NCAoMC8xMjkwODQpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5MTA0IHN0YXJ0YmxvY2sgMTI5MTE2ICgwLzEy OTExNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjkxMzYgc3RhcnRibG9jayAxMjkx NDggKDAvMTI5MTQ4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTE2OCBzdGFydGJs b2NrIDEyOTE4MCAoMC8xMjkxODApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5MjAw IHN0YXJ0YmxvY2sgMTI5MjEyICgwLzEyOTIxMikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMjkyMzIgc3RhcnRibG9jayAxMjkyNDQgKDAvMTI5MjQ0KSBjb3VudCAxNiBmbGFnIDEKK2Rh dGEgb2Zmc2V0IDEyOTI2NCBzdGFydGJsb2NrIDEyOTI3NiAoMC8xMjkyNzYpIGNvdW50IDE2IGZs YWcgMQorZGF0YSBvZmZzZXQgMTI5Mjk2IHN0YXJ0YmxvY2sgMTI5MzA4ICgwLzEyOTMwOCkgY291 bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjkzMjggc3RhcnRibG9jayAxMjkzNDAgKDAvMTI5 MzQwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTM2MCBzdGFydGJsb2NrIDEyOTM3 MiAoMC8xMjkzNzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5MzkyIHN0YXJ0Ymxv Y2sgMTI5NDA0ICgwLzEyOTQwNCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjk0MjQg c3RhcnRibG9jayAxMjk0MzYgKDAvMTI5NDM2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0 IDEyOTQ1NiBzdGFydGJsb2NrIDEyOTQ2OCAoMC8xMjk0NjgpIGNvdW50IDE2IGZsYWcgMQorZGF0 YSBvZmZzZXQgMTI5NDg4IHN0YXJ0YmxvY2sgMTI5NTAwICgwLzEyOTUwMCkgY291bnQgMTYgZmxh ZyAxCitkYXRhIG9mZnNldCAxMjk1MjAgc3RhcnRibG9jayAxMjk1MzIgKDAvMTI5NTMyKSBjb3Vu dCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTU1MiBzdGFydGJsb2NrIDEyOTU2NCAoMC8xMjk1 NjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5NTg0IHN0YXJ0YmxvY2sgMTI5NTk2 ICgwLzEyOTU5NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjk2MTYgc3RhcnRibG9j ayAxMjk2MjggKDAvMTI5NjI4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTY0OCBz dGFydGJsb2NrIDEyOTY2MCAoMC8xMjk2NjApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQg MTI5NjgwIHN0YXJ0YmxvY2sgMTI5NjkyICgwLzEyOTY5MikgY291bnQgMTYgZmxhZyAxCitkYXRh IG9mZnNldCAxMjk3MTIgc3RhcnRibG9jayAxMjk3MjQgKDAvMTI5NzI0KSBjb3VudCAxNiBmbGFn IDEKK2RhdGEgb2Zmc2V0IDEyOTc0NCBzdGFydGJsb2NrIDEyOTc1NiAoMC8xMjk3NTYpIGNvdW50 IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5Nzc2IHN0YXJ0YmxvY2sgMTI5Nzg4ICgwLzEyOTc4 OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMjk4MDggc3RhcnRibG9jayAxMjk4MjAg KDAvMTI5ODIwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEyOTg0MCBzdGFydGJsb2Nr IDEyOTg1MiAoMC8xMjk4NTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTI5ODcyIHN0 YXJ0YmxvY2sgMTI5ODg0ICgwLzEyOTg4NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAx Mjk5MDQgc3RhcnRibG9jayAxMjk5MTYgKDAvMTI5OTE2KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEg b2Zmc2V0IDEyOTkzNiBzdGFydGJsb2NrIDEyOTk0OCAoMC8xMjk5NDgpIGNvdW50IDE2IGZsYWcg MQorZGF0YSBvZmZzZXQgMTI5OTY4IHN0YXJ0YmxvY2sgMTI5OTgwICgwLzEyOTk4MCkgY291bnQg MTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzAwMDAgc3RhcnRibG9jayAxMzAwMTIgKDAvMTMwMDEy KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDAzMiBzdGFydGJsb2NrIDEzMDA0NCAo MC8xMzAwNDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwMDY0IHN0YXJ0YmxvY2sg MTMwMDc2ICgwLzEzMDA3NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzAwOTYgc3Rh cnRibG9jayAxMzAxMDggKDAvMTMwMTA4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEz MDEyOCBzdGFydGJsb2NrIDEzMDE0MCAoMC8xMzAxNDApIGNvdW50IDE2IGZsYWcgMQorZGF0YSBv ZmZzZXQgMTMwMTYwIHN0YXJ0YmxvY2sgMTMwMTcyICgwLzEzMDE3MikgY291bnQgMTYgZmxhZyAx CitkYXRhIG9mZnNldCAxMzAxOTIgc3RhcnRibG9jayAxMzAyMDQgKDAvMTMwMjA0KSBjb3VudCAx NiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDIyNCBzdGFydGJsb2NrIDEzMDIzNiAoMC8xMzAyMzYp IGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwMjU2IHN0YXJ0YmxvY2sgMTMwMjY4ICgw LzEzMDI2OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzAyODggc3RhcnRibG9jayAx MzAzMDAgKDAvMTMwMzAwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDMyMCBzdGFy dGJsb2NrIDEzMDMzMiAoMC8xMzAzMzIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMw MzUyIHN0YXJ0YmxvY2sgMTMwMzY0ICgwLzEzMDM2NCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9m ZnNldCAxMzAzODQgc3RhcnRibG9jayAxMzAzOTYgKDAvMTMwMzk2KSBjb3VudCAxNiBmbGFnIDEK K2RhdGEgb2Zmc2V0IDEzMDQxNiBzdGFydGJsb2NrIDEzMDQyOCAoMC8xMzA0MjgpIGNvdW50IDE2 IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwNDQ4IHN0YXJ0YmxvY2sgMTMwNDYwICgwLzEzMDQ2MCkg Y291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzA0ODAgc3RhcnRibG9jayAxMzA0OTIgKDAv MTMwNDkyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDUxMiBzdGFydGJsb2NrIDEz MDUyNCAoMC8xMzA1MjQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwNTQ0IHN0YXJ0 YmxvY2sgMTMwNTU2ICgwLzEzMDU1NikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzA1 NzYgc3RhcnRibG9jayAxMzA1ODggKDAvMTMwNTg4KSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zm c2V0IDEzMDYwOCBzdGFydGJsb2NrIDEzMDYyMCAoMC8xMzA2MjApIGNvdW50IDE2IGZsYWcgMQor ZGF0YSBvZmZzZXQgMTMwNjQwIHN0YXJ0YmxvY2sgMTMwNjUyICgwLzEzMDY1MikgY291bnQgMTYg ZmxhZyAxCitkYXRhIG9mZnNldCAxMzA2NzIgc3RhcnRibG9jayAxMzA2ODQgKDAvMTMwNjg0KSBj b3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDcwNCBzdGFydGJsb2NrIDEzMDcxNiAoMC8x MzA3MTYpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwNzM2IHN0YXJ0YmxvY2sgMTMw NzQ4ICgwLzEzMDc0OCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzA3Njggc3RhcnRi bG9jayAxMzA3ODAgKDAvMTMwNzgwKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDgw MCBzdGFydGJsb2NrIDEzMDgxMiAoMC8xMzA4MTIpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZz ZXQgMTMwODMyIHN0YXJ0YmxvY2sgMTMwODQ0ICgwLzEzMDg0NCkgY291bnQgMTYgZmxhZyAxCitk YXRhIG9mZnNldCAxMzA4NjQgc3RhcnRibG9jayAxMzA4NzYgKDAvMTMwODc2KSBjb3VudCAxNiBm bGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDg5NiBzdGFydGJsb2NrIDEzMDkwOCAoMC8xMzA5MDgpIGNv dW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMwOTI4IHN0YXJ0YmxvY2sgMTMwOTQwICgwLzEz MDk0MCkgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNldCAxMzA5NjAgc3RhcnRibG9jayAxMzA5 NzIgKDAvMTMwOTcyKSBjb3VudCAxNiBmbGFnIDEKK2RhdGEgb2Zmc2V0IDEzMDk5MiBzdGFydGJs b2NrIDEzMTAwNCAoMC8xMzEwMDQpIGNvdW50IDE2IGZsYWcgMQorZGF0YSBvZmZzZXQgMTMxMDI0 IHN0YXJ0YmxvY2sgMTMxMDM2ICgwLzEzMTAzNikgY291bnQgMTYgZmxhZyAxCitkYXRhIG9mZnNl dCAxMzEwNTYgc3RhcnRibG9jayAxMzEwNjggKDAvMTMxMDY4KSBjb3VudCAxNiBmbGFnIDEKZGlm ZiAtLWdpdCBhL2dyb3VwIGIvZ3JvdXAKaW5kZXggY2JlOTEwMS4uMmYyYWU5ZiAxMDA2NDQKLS0t IGEvZ3JvdXAKKysrIGIvZ3JvdXAKQEAgLTQwNSwzICs0MDUsNCBAQCBkZXByZWNhdGVkCiAyODQg YXV0bwogMjg1IGF1dG8gcncKIDI4NiBvdGhlcgorMjg3IGRiCi0tIAoxLjcuMC40Cgo= --f46d0444738321968804c635ca89 Content-Type: text/x-patch; charset=US-ASCII; name="0001-xfs_db-bmap-dump-uses-wrong-btree-key-ptr-macro.patch" Content-Disposition: attachment; filename="0001-xfs_db-bmap-dump-uses-wrong-btree-key-ptr-macro.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h5ck3afg1 RnJvbSBhZjIyYzc2OWRmOTAyYTAxNGIxMTU0NTQ0Nzc5YTkzOTFkNzA4YzJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBXYXRraW5zIDx0cmVlc3RlbUBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgMzEgSnVsIDIwMTIgMTQ6MDQ6MzggLTA0MDAKU3ViamVjdDogW1BBVENIXSB4ZnNf ZGI6IGJtYXAgZHVtcCB1c2VzIHdyb25nIGJ0cmVlIGtleS9wdHIgbWFjcm8KCldoZW4gZHVtcGlu ZyB0aGUgYm1hcCB3aXRoIGV4dGVudHMgaW4gYnRyZWUgZm9ybSwgdGhlIHRyYXZlcnNhbApjb2Rl IHNob3VsZCB1c2UgWEZTX0JNQlRfIG1hY3JvcyBpbnN0ZWFkIG9mIFhGU19CTURSXyBtYWNyb3Mg dG8KYWNjZXNzIHRoZSBrZXkgYW5kIHBvaW50ZXIgZmllbGRzIGJlbG93IHRoZSByb290IG5vZGUu CgpTaWduZWQtb2ZmLWJ5OiBQZXRlciBXYXRraW5zIDx0cmVlc3RlbUBnbWFpbC5jb20+Ci0tLQog ZGIvYm1hcC5jIHwgICAgNCArKy0tCiAxIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kYi9ibWFwLmMgYi9kYi9ibWFwLmMKaW5kZXgg ZGRhZDQ5Yy4uMGVmN2E2MiAxMDA2NDQKLS0tIGEvZGIvYm1hcC5jCisrKyBiL2RiL2JtYXAuYwpA QCAtMTAxLDkgKzEwMSw5IEBAIGJtYXAoCiAJCQlibG9jayA9IChzdHJ1Y3QgeGZzX2J0cmVlX2Js b2NrICopaW9jdXJfdG9wLT5kYXRhOwogCQkJaWYgKGJlMTZfdG9fY3B1KGJsb2NrLT5iYl9sZXZl bCkgPT0gMCkKIAkJCQlicmVhazsKLQkJCXBwID0gWEZTX0JNRFJfUFRSX0FERFIoYmxvY2ssIDEs CisJCQlwcCA9IFhGU19CTUJUX1BUUl9BRERSKG1wLCBibG9jaywgMSwKIAkJCQl4ZnNfYm1idF9t YXhyZWNzKG1wLCBtcC0+bV9zYi5zYl9ibG9ja3NpemUsIDApKTsKLQkJCWtwID0gWEZTX0JNRFJf S0VZX0FERFIoYmxvY2ssIDEpOworCQkJa3AgPSBYRlNfQk1CVF9LRVlfQUREUihtcCwgYmxvY2ss IDEpOwogCQkJYm5vID0gc2VsZWN0X2NoaWxkKGN1cm9mZnNldCwga3AsIHBwLAogCQkJCQliZTE2 X3RvX2NwdShibG9jay0+YmJfbnVtcmVjcykpOwogCQl9Ci0tIAoxLjcuMC40Cgo= --f46d0444738321968804c635ca89-- From axboe@kernel.dk Wed Aug 1 10:50:10 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q71Fo96f040311 for ; Wed, 1 Aug 2012 10:50:10 -0500 X-ASG-Debug-ID: 1343836207-04bdf02d171f1f80001-NocioJ Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by cuda.sgi.com with ESMTP id DUQoUmPM5X8tM4wI (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Aug 2012 08:50:08 -0700 (PDT) X-Barracuda-Envelope-From: axboe@kernel.dk X-Barracuda-Apparent-Source-IP: 205.233.59.134 Received: from canuck.infradead.org ([2001:4978:20e::1]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1SwbBU-00040q-Vq; Wed, 01 Aug 2012 15:50:05 +0000 Received: from brick.kernel.dk ([87.104.106.3] helo=kernel.dk) by canuck.infradead.org with esmtpsa (Exim 4.76 #1 (Red Hat Linux)) id 1SwbBU-00024d-J6; Wed, 01 Aug 2012 15:50:04 +0000 Received: from [192.168.0.33] (nelson.home.kernel.dk [192.168.0.33]) by kernel.dk (Postfix) with ESMTPA id 3B144484001; Wed, 1 Aug 2012 17:50:03 +0200 (CEST) Message-ID: <50195026.4030901@kernel.dk> Date: Wed, 01 Aug 2012 17:49:58 +0200 From: Jens Axboe MIME-Version: 1.0 To: Mike Snitzer CC: linux-kernel@vger.kernel.org, Paolo Bonzini , martin.petersen@oracle.com, david@fromorbit.com, xfs@oss.sgi.com, dm-devel@redhat.com, hch@lst.de, vgoyal@redhat.com Subject: Re: [PATCH v3 0/2] block: improvements for discard alignment References: <1341504104-1674-1-git-send-email-pbonzini@redhat.com> <20120801134018.GC20830@redhat.com> X-ASG-Orig-Subj: Re: [PATCH v3 0/2] block: improvements for discard alignment In-Reply-To: <20120801134018.GC20830@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: merlin.infradead.org[205.233.59.134] X-Barracuda-Start-Time: 1343836208 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104384 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 08/01/2012 03:40 PM, Mike Snitzer wrote: > On Thu, Jul 05 2012 at 12:01pm -0400, > Paolo Bonzini wrote: > >> When a disk has a large discard_granularity, discards are not split with >> optimal alignment; the pessimization gets bigger as discard_granularity >> and max_discard_sectors become closer. >> >> Take the limit case of discard_granularity == max_discard_sectors == 64. >> Then, if a request is submitted for 256 sectors 2..257 it will be split >> like this: 2..65, 66..129, 130..193, 194..257. None of these requests >> is aligned, so in fact you might end up with no discarded logical blocks >> at all. With this patch, the split will be 2..63, 64..127, 128..191, >> 192..255, 256..257. The patches also take the discard_alignment into >> consideration. >> >> Patch 1 adjusts the computation of the granularity-adjusted >> max_discard_sectors so that it prepares for the new code in patch 2, >> which actually adjusts the split. >> >> v2->v3: drop addition of queue/discard_alignment to sysfs, use >> correct alignment for partitions >> >> Paolo Bonzini (2): >> block: reorganize rounding of max_discard_sectors >> block: split discard into aligned requests >> >> block/blk-lib.c | 41 ++++++++++++++++++++++++++++------------- >> include/linux/blkdev.h | 10 ++++++++++ >> 2 files changed, 38 insertions(+), 13 deletions(-) > > Hey Jens, > > Would be great to get these discard fixes in. I know both Christoph and > Vivek have reviewed these changes but that isn't reflected in the patch > headers. > > These patches eliminate misaligned discard from being sent to the > dm-thinp target. > > Tested-by: Mike Snitzer Sure, I'll get it in for this series. Thanks. -- Jens Axboe From andyjpb@ashurst.eu.org Wed Aug 1 19:12:47 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q720CluB091874 for ; Wed, 1 Aug 2012 19:12:47 -0500 X-ASG-Debug-ID: 1343866364-04cb6c193f201160001-NocioJ Received: from pavilion.ashurst.eu.org (pavilion.ashurst.eu.org [85.119.82.45]) by cuda.sgi.com with ESMTP id Wph9vdq5KiPMyDIy (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Aug 2012 17:12:45 -0700 (PDT) X-Barracuda-Envelope-From: andyjpb@ashurst.eu.org X-Barracuda-Apparent-Source-IP: 85.119.82.45 Received: from 79.70.112.87.dyn.plus.net ([87.112.70.79] helo=[192.168.1.155]) by pavilion.ashurst.eu.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1Swj1u-0004rG-K2 for xfs@oss.sgi.com; Thu, 02 Aug 2012 01:12:44 +0100 Message-ID: <5019C5F9.1080302@ashurst.eu.org> Date: Thu, 02 Aug 2012 01:12:41 +0100 From: Andy Bennett User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 MIME-Version: 1.0 To: xfs@oss.sgi.com X-Enigmail-Version: 1.4.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 87.112.70.79 X-SA-Exim-Mail-From: andyjpb@ashurst.eu.org Subject: XFS Recovery Behaviour X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000) X-ASG-Orig-Subj: XFS Recovery Behaviour X-SA-Exim-Scanned: Yes (on pavilion.ashurst.eu.org) X-Barracuda-Connect: pavilion.ashurst.eu.org[85.119.82.45] X-Barracuda-Start-Time: 1343866365 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104416 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, This post isn't going to be too detailed as I ended up in a recovery situation and was focused on checking the integrity of my files rather than recording every step as I went. I thought it was worth reporting as the file system seemed to recover in an odd way. I am not expecting any assistance as I was able to recover all my data. I am using an XFS partition for storing my digital camera photos. I have 2 cards, card-1 and card-2. On any day when I injest the contents of the cards I make directories import-YYYY-MM-DD/card-{1,2}/ I have a script that creates the directories and performs the injesting. I had previously (2012/07/04) injested import-2012-07-04/card-1/ On 2012-07-28 I went into import-2012-07-04/ and created a thumbnail gallery with my thumbnail script. This involved creating a directory import-2012-07-05/gal-card-1 and populating it with files. The directory entry for import-2012-07-04 was now dirty. Simultaneously, I began a fresh injest session into import-2012-07-28/card-2/. Whilst these two jobs were running I suffered a hard power failure as I unplugged the thing (it's a laptop) not realising that my battery was flat. :-( When I rebooted I noticed that import-2012-07-04 was showing up somewhat thusly in 'ls -la': ----- ?????????? ? ? ? ?? ??? ? ??:?? import-2012-07-04 ----- I could not 'cd' into it nor could I 'cat' it. I thought the directory was lost and resolved to restore it from backups when I returned home. I didn't pay much attention at the time to the contents of import-2012-07-28/ Over the course of the day I injested a few more things into import-2012-07-28/ When I returned home I looked into restoring the backups. To my surprise, import-2012-07-04/ was showing up as a valid directory again. Even more surprisingly it contained a (somewhat corrupt) card-2/ directory that should have been in import-2012-07-28/. It did not contain the card-1/ directory. There is anecdotal evidence that import-2012-07-28/card-2/ was no longer present. I recovered import-2012-07-04/card-1/ from an xfsdump. I recovered import-2012-07-28/card-2/ because I hadn't gotten around to verifying the injest so didn't format the card before I reused it. It wasn't full so I added more shots to it and injested it again later in the day. Today, I deleted import-2012-07-04/card-2/ after much to-ing and fro-ing. It was a subset of import-2012-07-28/card-2b/ (an injest of the same card later in the day, albeit with extra files) and some of the overlapping files were corrupt or empty in 2012-07-04/card-2/. (My injest script records checksums and I used a visual verification of the images I was concerned about.) The corrupt & missing files were the ones towards the end of the injest: they had high numbered filenames, so would have been the ones in flight at the time of the power failure. I'm running XFS on Debian Testing (Wheezy) ----- $ dpkg -l |grep xfs | grep -v x11 ii xfsdump 3.0.6 Administrative utilities for the XFS filesystem ii xfslibs-dev 3.1.7+b1 XFS filesystem-specific static libraries and headers ii xfsprogs 3.1.7+b1 Utilities for managing the XFS filesystem ----- ----- $ uname -a Linux lago 3.2.0-3-amd64 #1 SMP Thu Jun 28 09:07:26 UTC 2012 x86_64 GNU/Linux ----- I have "defaults" under "options" in /etc/fstab. I'm using Debian defaults on a Lenovo Thinkpad X200 laptop. I didn't expect to see the import-2012-07-04/ directory again and I certainly didn't expect to see it populated with the card-2/ subdirectory. Regards, @ndy -- andyjpb@ashurst.eu.org http://www.ashurst.eu.org/ 0x7EBA75FF From andyjpb@ashurst.eu.org Wed Aug 1 19:24:02 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q720O27F092950 for ; Wed, 1 Aug 2012 19:24:02 -0500 X-ASG-Debug-ID: 1343867040-04bdf02d15219f90001-NocioJ Received: from pavilion.ashurst.eu.org (pavilion.ashurst.eu.org [85.119.82.45]) by cuda.sgi.com with ESMTP id o2EtOb8v0FIISzMx (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Aug 2012 17:24:01 -0700 (PDT) X-Barracuda-Envelope-From: andyjpb@ashurst.eu.org X-Barracuda-Apparent-Source-IP: 85.119.82.45 Received: from 79.70.112.87.dyn.plus.net ([87.112.70.79] helo=[192.168.1.155]) by pavilion.ashurst.eu.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1SwjCo-0004s8-CJ for xfs@oss.sgi.com; Thu, 02 Aug 2012 01:23:59 +0100 Message-ID: <5019C89D.2020303@ashurst.eu.org> Date: Thu, 02 Aug 2012 01:23:57 +0100 From: Andy Bennett User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 MIME-Version: 1.0 To: xfs@oss.sgi.com References: <5019C5F9.1080302@ashurst.eu.org> In-Reply-To: <5019C5F9.1080302@ashurst.eu.org> X-Enigmail-Version: 1.4.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 87.112.70.79 X-SA-Exim-Mail-From: andyjpb@ashurst.eu.org Subject: Re: XFS Recovery Behaviour X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000) X-ASG-Orig-Subj: Re: XFS Recovery Behaviour X-SA-Exim-Scanned: Yes (on pavilion.ashurst.eu.org) X-Barracuda-Connect: pavilion.ashurst.eu.org[85.119.82.45] X-Barracuda-Start-Time: 1343867040 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104418 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, > I didn't expect to see the import-2012-07-04/ directory again and I > certainly didn't expect to see it populated with the card-2/ subdirectory. I've been moving the files to my archive disk and now import-2012-07-28/ seems to be in a pickle: ----- $ ls -la import-2012-07-28/ total 0 $ rmdir import-2012-07-28/ rmdir: failed to remove `import-2012-07-28/': Directory not empty $ rm -fr import-2012-07-28/ rm: cannot remove `import-2012-07-28': Directory not empty $ cd import-2012-07-28/ $ ls -la total 0 $ touch hello touch: cannot touch `hello': No such file or directory $ cd . $ cd .. $ ----- I can't seem to remove it. It doesn't seem to contain '.' or '..' entries but I do seem to be able to 'cd' in and out of it with bash 4.2.36(1). I also seem to be able to 'cd .' whilst I am in it. ... I tried 'umount'ing and 'mount'ing the filesystem. Now it shows up thusly in 'ls -la': ----- ?????????? ? ? ? ? ? import-2012-07-28 ----- 'umount'ing and 'mount'ing again results in the same thing. dmesg shows this for the two "re"mounts: ----- [48160.832197] XFS (sda10): Mounting Filesystem [48161.047407] XFS (sda10): Ending clean mount [48247.692309] XFS (sda10): Mounting Filesystem [48247.844421] XFS (sda10): Ending clean mount ----- Does anyone have any idea how I can remove this entry? Regards, @ndy -- andyjpb@ashurst.eu.org http://www.ashurst.eu.org/ 0x7EBA75FF From stan@hardwarefreak.com Wed Aug 1 19:39:17 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q720dGYx094039 for ; Wed, 1 Aug 2012 19:39:17 -0500 X-ASG-Debug-ID: 1343867955-04bdf02d1821ab90001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id F0NvYbYDymVv5b4I for ; Wed, 01 Aug 2012 17:39:15 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 1BF3B6C12E; Wed, 1 Aug 2012 19:39:15 -0500 (CDT) Message-ID: <5019CC34.5050003@hardwarefreak.com> Date: Wed, 01 Aug 2012 19:39:16 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Jason Newton CC: xfs@oss.sgi.com Subject: Re: realtime section bugs still around References: <20120730030333.GE2877@dastard> <50186E51.1020107@hardwarefreak.com> <5018A8C7.8050406@hardwarefreak.com> X-ASG-Orig-Subj: Re: realtime section bugs still around In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1343867955 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On 8/1/2012 12:55 AM, Jason Newton wrote: >> Just to figure out for sure what the bottlenecks are and whether they can > be dealt with rather than looking at it as opaque system and assuming > nothing can be done. Also as a learning experience. Jason, have you considered something like this to solve your problems? RAM is cheap. Far cheaper than attacking this problem with any other hardware type. And you can't easily solve it by rewriting to use AIO, given the effort involved with that. You should be able to fit 32GB of RAM on the board. Create a 24GB RAM disk and use that for writing your 5.7MB frame files in real time. This eliminates any latency and stutter issues during capture. Treat the RAM disk as a FIFO, taking each new file and copying it out to SSD after it's been closed, then delete the original. This gives you in essence a very fast buffer. If my math is correct, 24,000MB / 300MB/s = roughly 80 seconds of buffer at a 300MB/s streaming capture rate, 40 seconds at 600MB/s. This should be very easy to implement, and cheaper than all other alternatives. It should eliminate all possible latency issues, though it will increase CPU cycles due to the data movement to/from the RAM disk, though how much I can't guess at this point. 8GB RAM disk will give you 26 seconds of buffering at 300MB/s, and a 4GB RAM disk will give you 13 seconds of buffering. If 13 seconds is sufficient, you can implement this on a machine with only 8GB RAM, assuming you need no more than 4GB for kernel/user space/application. -- Stan From ventas@abasist.com Wed Aug 1 19:51:17 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.3 required=5.0 tests=BAYES_99,MIME_8BIT_HEADER autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q720pGNA094969 for ; Wed, 1 Aug 2012 19:51:17 -0500 X-ASG-Debug-ID: 1343868674-04cbb06db022b0e0001-NocioJ Received: from p53-122.ich-17.com (p53-122.makro.mx [174.132.236.157]) by cuda.sgi.com with ESMTP id vGCGp63vH63FEx4m (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 01 Aug 2012 17:51:15 -0700 (PDT) X-Barracuda-Envelope-From: ventas@abasist.com X-Barracuda-Apparent-Source-IP: 174.132.236.157 Received: from [219.138.237.2] (port=2088 helo=zdhlptycg) by p53-122.ich-17.com with esmtpa (Exim 4.77) (envelope-from ) id 1SwjZK-0003UK-7d; Wed, 01 Aug 2012 19:47:18 -0500 From: "xfs" Subject: =?GB2312?B?yMvBptfKINS0tcS8pMD40+vUvMr4LS3G89K1xNogsr+53MDtu/rWxrS00MI=?= To: xfs@lqlz.com X-ASG-Orig-Subj: =?GB2312?B?yMvBptfKINS0tcS8pMD40+vUvMr4LS3G89K1xNogsr+53MDtu/rWxrS00MI=?= Content-Type: multipart/mixed; charset="GB2312"; boundary="W=_AsvdtrM99eYZ2lbPLqtjDtcDFq1igNQ" MIME-Version: 1.0 Date: Thu, 2 Aug 2012 08:50:56 +0800 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - p53-122.ich-17.com X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - abasist.com X-Barracuda-Connect: p53-122.makro.mx[174.132.236.157] X-Barracuda-Start-Time: 1343868675 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.14 X-Barracuda-Spam-Status: No, SCORE=0.14 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, MISSING_MID X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104420 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.14 MISSING_MID Missing Message-Id: header 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Message-Id: <20120802005116.8D312106C9FC@cuda.sgi.com> This is a multi-part message in MIME format --W=_AsvdtrM99eYZ2lbPLqtjDtcDFq1igNQ Content-Type: text/plain Content-Transfer-Encoding: 8bit g83687MDDHHNNSS ---Ô± ¹¤³ÉÎªÕæÕýµÄ¹É ¶«---¼¤ Àø¹ý ¶ÈÓ뼤 Àø²»×ã --W=_AsvdtrM99eYZ2lbPLqtjDtcDFq1igNQ Content-Type: application/octet-stream; name="Mqvz_1729.xls" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Mqvz_1729.xls" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAARQAAAAAAAAAA EAAA/v///wAAAAD+////AAAAAEQAAAD///////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////8J CBAAAAYFABcZzQfJQAAABgEAAOEAAgCwBMEAAgAAAOIAAABcAHAACgAAamlhbmNoZW5nMyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIAAgCwBGEBAgAAAMABAAA9AQQA AQACAJwAAgAOABkAAgAAABIAAgAAABMAAgAAAK8BAgAAALwBAgAAAD0AEgB4AGkAazqgIzgAAAAA AAEAWAJAAAIAAACNAAIAAAAiAAIAAAAOAAIAAQC3AQIAAADaAAIAAAAxABQA8AAAAP9/kAEAAAAA hgECAYtbU08xABQA8AAAAP9/kAEAAAAAhgECAYtbU08xABQA8AAAAP9/kAEAAAAAhgECAYtbU08x ABQA8AAAAP9/kAEAAAAAhgECAYtbU08xABQA8AAAAP9/kAEAAAAAhgECAYtbU08xABQA3AAAAP9/ kAEAAAAAhgECAYtbU08xABQAtAAAAP9/kAEAAAAAhgECAYtbU08xAC4A3AAAAP9/kAEAAAABAAEP AVQAaQBtAGUAcwAgAE4AZQB3ACAAUgBvAG0AYQBuADEAFADIAAAA/3+QAQAAAACGAQIBi1tTTzEA IgDIAAAA/3+QAQAAAAOGAQkB/06LW18ARwBCADIAMwAxADIAMQAiANwAAAD/f5ABAAAAA4YBCQH/ TotbXwBHAEIAMgAzADEAMgAxABgAGAEBAAoAvAIAAAAAhgEEAU5Th2UtTotbMQAUANwAAAAMAJAB AAAAAIYBAgGLW1NPMQAUANwAAAAQAJABAAAAAIYBAgGLW1NPMQAUANwAAAASAJABAAAAAIYBAgGL W1NPMQAuANwAAAASAJABAAAAAQABDwFUAGkAbQBlAHMAIABOAGUAdwAgAFIAbwBtAGEAbgAxABQA 3AAAADwAkAEAAAAAhgECAYtbU08xAC4A3AAAADwAkAEAAAABAAEPAVQAaQBtAGUAcwAgAE4AZQB3 ACAAUgBvAG0AYQBuADEAIgDcAAAACgCQAQAAAAOGAQkBd2lTT18ARwBCADIAMwAxADIAMQAYAEAB AQAKALwCAAAAAIYBBAFOU4dlLU6LWzEAGADwAAEACgC8AgAAAACGAQQBTlOHZS1Oi1sxACIAyAAA ABIAkAEAAAADhgEJAf9Oi1tfAEcAQgAyADMAMQAyADEAFADIAAAAEgCQAQAAAACGAQIBi1tTTzEA FADcAAAACgCQAQAAAACGAQIBi1tTTzEAIgDcAAAACgCQAQAAAAOGAQkB/06LW18ARwBCADIAMwAx ADIAHgQrAAUAEwABIgDl/yIAIwAsACMAIwAwADsAIgDl/yIAXAAtACMALAAjACMAMAAeBDUABgAY AAEiAOX/IgAjACwAIwAjADAAOwBbAFIAZQBkAF0AIgDl/yIAXAAtACMALAAjACMAMAAeBDcABwAZ AAEiAOX/IgAjACwAIwAjADAALgAwADAAOwAiAOX/IgBcAC0AIwAsACMAIwAwAC4AMAAwAB4EQQAI AB4AASIA5f8iACMALAAjACMAMAAuADAAMAA7AFsAUgBlAGQAXQAiAOX/IgBcAC0AIwAsACMAIwAw AC4AMAAwAB4EaQAqADIAAV8AIAAiAOX/IgAqACAAIwAsACMAIwAwAF8AIAA7AF8AIAAiAOX/IgAq ACAAXAAtACMALAAjACMAMABfACAAOwBfACAAIgDl/yIAKgAgACIALQAiAF8AIAA7AF8AIABAAF8A IAAeBC4AKQApAABfICogIywjIzBfIDtfICogXC0jLCMjMF8gO18gKiAiLSJfIDtfIEBfIB4EeQAs ADoAAV8AIAAiAOX/IgAqACAAIwAsACMAIwAwAC4AMAAwAF8AIAA7AF8AIAAiAOX/IgAqACAAXAAt ACMALAAjACMAMAAuADAAMABfACAAOwBfACAAIgDl/yIAKgAgACIALQAiAD8APwBfACAAOwBfACAA QABfACAAHgQ2ACsAMQAAXyAqICMsIyMwLjAwXyA7XyAqIFwtIywjIzAuMDBfIDtfICogIi0iPz9f IDtfIEBfIB4EGgAXABUAAFwkIywjIzBfKTtcKFwkIywjIzBcKR4EHwAYABoAAFwkIywjIzBfKTtb UmVkXVwoXCQjLCMjMFwpHgQgABkAGwAAXCQjLCMjMC4wMF8pO1woXCQjLCMjMC4wMFwpHgQlABoA IAAAXCQjLCMjMC4wMF8pO1tSZWRdXChcJCMsIyMwLjAwXCngABQAAAAAAPX/IAAAAAAAAAAAAAAA wCDgABQAAQAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAQAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAgAA APX/IAAA9AAAAAAAAAAAwCDgABQAAgAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAA AAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDg ABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/ IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAA AAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQA AAAAAAEAIAAAAAAAAAAAAAAAwCDgABQABQAJAPX/IAAA+AAAAAAAAAAAwCDgABQABQAsAPX/IAAA +AAAAAAAAAAAwCDgABQABQAqAPX/IAAA+AAAAAAAAAAAwCDgABQABQArAPX/IAAA+AAAAAAAAAAA wCDgABQABQApAPX/IAAA+AAAAAAAAAAAwCDgABQABgAAAAEAIAAASAAAAAAAAAAECSDgABQACQAA AAEAIAAAaAAAAAAAAAAECSDgABQABgAAAAEAIAAAaAAAAAAAAAAECSDgABQACAAAAAEAIAAASAAA AAAAAAAECSDgABQABgAAAAEAIAAAaCICoRAhAAAECSDgABQAFAAAAAEAIgAAeCIAoRAAAAAECSDg ABQABgAAAAEAIAAAaCIAoRAAAAAECSDgABQADQAAAAEAIQAAeCIAoRAAAAAECSDgABQABgAAAAEA IgAAeCIAoRAAAAAECSDgABQADgAAAAEAIAAAaCIAoRAAAAAECSDgABQADwAAAAEAIAAAaCIAoRAA AAAECSDgABQACAAAAAEAIAAAaCIAoRAAAAAECSDgABQAEAAAAAEAIAAAaCIAoRAAAAAECSDgABQA CwAAAAEAIAAAaCIAoRAAAAAECSDgABQAEwAAAAEAIgAAeCIAoRAAAAAECSDgABQACQAAAAEAIAAA aCIAoRAAAAAECSDgABQAFgAAAAEAIAAAaCIAoRAAAAAECSDgABQACgAAAAEAIAAAaCIAoRAAAAAE CSDgABQACwAAAAEAIAAAaCIgoRCAEAAECSDgABQABQAAAAEAIgAAeCIAoRAAAAAECSDgABQAGAAA AAEAIAAAaCIAoRAAAAAECSDgABQAGQAAAAEAIAAAaCIAoRAAAAAECSCTAgQAEIAF/5MCBAAAgAD/ kwIEABGABP+TAgQAEoAH/5MCBAATgAP/kwIEABSABv9gAQIAAACFABEArD0AAAAACQBzZTU0dGg2 a22FAA4As2YAAAAABgBTaGVldDGMAAQAVgBWAMEBCADBAQAAYGkBAPwAHyDpAAAA4QAAABYAAQj/ K1T5V62LATAHY5pb+Veti1llUGcBMEhTEJkBMDaDuXABMA56OY1Jewn/GgABKVLPfgZ0ATCVYkSN z34GdAEwLU7YmkJcoXsGdLpOWFQBMEgAUgChewZ0zk4aTrpOWFQCMAkAAc8l/osLesyAb2YOTjZl ynYa/xYAAQpcbGWEdgFPGk62Wy0ALQAtAKhgL2YmVGNrq4jlTgtO7pWYmEBi8FZwYhr/KQANAQAQ AAAAIAAgAC0ALQAtADpOwE5ITgxUL2a2W89lAU8aToR2rl9vjwEwg2wUXJtzATAwTjB1EGI6Thwg 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 AAAADAAoAAUQAAAAIADudk1SDP8tTv1WOQAwACUAhHYBTxpOtlvyXc9+5XdTkKGAQ2fAb7FS71Pl TgxU9mXjibNR5U4KTkBiCWfulZiYDP9GTyhXAU8aTi1OnlsBAAwABwA3AAAAAAAAAAAAKQAFEAAA AL1loYBDZ8BvsVKEdgFPGk62Ww1OMFIyADAAJQAM/+BWOk45ADkAJQCEdgFPGk62W/2QWFsoVwBO Kk4AZydZhHZ+mFGGjFTFYudfFCAUIAFPGk4BAAwABwA3AAAAAAAAAIABJgAFEAAAAIR2p2M2UkNn Af/gZbqLL2aScIR2uGy4bGxibGKEdsSeSVHViA5OSJZTZoR2/VaOf0tOiU4M/9iPL2YfV0aMUX8b UstZuk5aWthT/FsBAAwABwA3AAAAAAAAAAAAJgAFEAAAAPSBCk4CXqZoNHhtcAz//ZAvZgFPGk62 W+xOH3cfdwdSB1KEdk1SZo9LTnSSAf/qVCpOAU8aTrZbP2EPYQZc5oLDX89+JYSEdhBinGcBAAwA BwA3AAAAAAAAAAARJgAFEAAAABpOWlAQYix7jE4qThwgf5VfbJ5bGk4dIBZiHCANWR9mxpbiVh0g DP90U51PNnFicmJyjGPhY6djNlJDZx//6lQqTgFPGk62Ww1ODF4BAAwABwA3AAAAAAAAAAAREgAB G2f6VxpOf5VSlwz/Fk7jTvZe7X4BTxpOhHYfdX1UH/8mICYgJgAFEAAAAH12fXbxYkti+Hapix// 6lQqTgFPGk62Wz9hD2Gpi+qB8V2EdrZboVKLTnVy3o8BTxpOfVTQjx//6lQqTgFPGk62Ww1ODF4b Z4piAU8BAAwABwA3AAAAAAAAAAARGgABwIsB/wdj/FsBMIWP/FsBTxpO+l7LegBnApAIVOqBq44B TxpOhHahgENnwG+xUrllSGgB/x4AATpOqGCEdgFPGk5TYiCQHCDRkUti0JQdICwACWdIZVl1T084 aMNfuk5NYiwAnlg6XwFPGk7dUVqAm1Ib/yQAATpOqGCEdgFPGk5TYiCQHCDRkaWUGVMdIAz/e1+V XsBv0VNYVOVdXG/9gAz/oFIfkAFPGk6eW7Bz7nYHaAz/0VNVXO5YJ1kb/xwAATpOqGCEdgFPGk5T YiCQHCDRkXKCTZY9hB5PHSAM/wZX4W7jibNRQ1EBgACQ+lEEVCdZvpaYmBv/JQABzyUQMIhj/osT TrZb/FsIXhEwVU/XX2qASFEfdS0ALQAtAC0ALU79VgFPGk4cIKGAQ2fAb7FSHSCGmN9XhHaeWxhi Q2cBWhNOtlsnAAUQAAAA+FMIVBlPuk4sANiap35vUjtgwYgCMCgACk53bWODY2uVYkSNqFTiiwln UJZsUfhTL2b9VoVRbFGki4R2oYBDZ8BvsVKoVOKLLHsATsFUAQAMAAcANwAAAAAAAAAAACYABRAA AAAaToR2Y2vEiTpnhGcCMP1WhVHOTotO5YuGmN9XqFTii4R2Kk66ThZihVEWWUSNqFTiizpnhGca TqFSqJpyXidZGllfTjF1Y4Nja/lXAQAMAAcANwAAAAAAAAAAAAMAAXtRAjApACkADQEAEAAAACAA IAAgACAAxyXFZH+VsouIY7pOm1JEjZBuDk5EjSxn0I9cTwRUIWpXV4R2/osLegz/JFx2US9moYBD Z8BvsVL+iwt6DP9zXkdX+Veti+FuD2EEAAYAAQAMAAcANwAAAAAAAAAAEScABRAAAACmXtiavo85 ADYAJQDlTgpODP8aWSFrwlMOTsGL0XYaT4xU/VZEjdRZCWdzUaqFbJEGUk2RATChgENnwG+xUgEw AU8aTjllNlJJez9lVnsBAAwABwA3AAAAAAAAAAAAJgAFEAAAAIR2SYPfYoxU7k+ii+VdXE8CMAow sGUijcxbCzABMAowY4SLThpPCzABMAowLHsATiKNz34LMAEwCjDPa+Vlz35ObbBl+5ULMEl7GlkB AAwABwA3AAAAAAAAAAAAJgAFEAAAALZbIo3PfpJaU0+EdjhedF5+mO6VAjC6TptSRI0sZ4tOGk7o kDtg0XYM/6F7BnRmW1V461gCMP5mO04BYxxOzph9bGaPATCQX+VdOmcBAAwABwA3AAAAAAAAAAAA JgAFEAAAALBoATDbYkZV9pRMiAEwUpebXHdtFFwBMF9sf4nclBpOATAtTpViwYs4Ugj/n1NXU7ll wYs4Ugn/ATDcgClSuWwwdQEwiVvwbNF5gGIBAAwABwA3AAAAAAAAAAAAJgAFEAAAAAEwomPvjQWA ATBeed5d8GyzXEl721ZBUxpZtlvldw1UAU8aTqqFbJGhewZ0Dk6hgENnwG+xUnmY7nYb//5mO04B Y/1WoVJilv1WRI0BAAwABwA3AAAAAAAAAAAAJgAFEAAAANRZBlJNkUBcATAtTv1WwYvRdhpPCk4C XuiQATBfbH+JAXf9VkSN1FkBMFZuF1MBd2ZrSWwCXhxOVm7Pfk5tAF/RUzpTSXsaWSpOLU4BAAwA BwA3AAAAAAAAAGNrJgAFEAAAAH+VH2fAb7FS/ouYmBR4dnoCMJ5bnlsoVyhX44mzUYZOAU8aTqGA Q2fAb7FSvpaYmAIweXIrUi9mGlIaUhtSy3qEdi1O/VYbUhpOf2cBAAwABwA3AAAAAAAAAAAAJgAF EAAAAAJeOlcKTgz/LHsATipOG1IaTn9nCk4CXmxR+FOEdqGAQ2fAb7FSuWVIaBQgFCAcIKJj740F gB0gDP8xXC9mVU/XX2qASFEfdTtOAWMBAAwABwA3AAAAAAAAAAAABAABvouhi4R2AjAnAA0GABAA AADBlNVs/YCQbgEwLU79VldTuWUqgnp6ATAKTndtsGUWTrJQxpbiVgEwTlNHbOVdC3q+i6GLxpbi VgEwzZGGXn+VX2wgkItXUGeZZSgAxpYEAAkABQAGABMACQAUAAYAHAAJAB0ABgABAAwABwA3AAAA AAAAAAARJwANBgAQAAAA4lYpAAEw+IuoZq9lHY2+jzpnsGgBMKaeA4CXZ9F5gGIBMApOd20MVClZ sGVQZ5llATDNkYZef4lPnjKW95Y1dVBbATBma0lOGpC+j7p+AgAJAAMABgAQAAkAEQAGACEACQAi AAYAAQAMAAcANwAAAAAAAAAAEScADQYAEAAAAMd+OmewaAEwCk53ba5fG1K5W992b4/2TgEwCk53 bYdb/H81dVBb0XmAYgEwWW1fbC1OaXJdTg6f0XmAYnVbFlNoVgEw2JoWU2ZbKAAKTgwACQANAAYA FQAJABYABgAhAAkAIgAGAAEADAAHADcAAAAAAAAAABEnAA0GABAAAAB3bSkA/VZFljiNE2YBMApO d20dXhqQNXUUbL6LB1kBMC1O/VaHdqBRlWJEjcaW4lYBMDhe3l0CXn1ZKVKxg0lRNXXReYBiATAK TndtJpUGAAkABwAGAA8ACQAQAAYAIwAJACQABgABAAwABwA3AAAAAAAAAAARJgAFEAAAAMJzUVj2 gNF5ATBXUxqQXnQnaw1ncJkBMPFtM1cCXgxUynaeWxpOATDRkN5dWlN5cmx4KI1QZ5llATBbbl9s Al4tTn9eGpChe1OQ5V0BAAwABwA3AAAAAAAAAAARJgAFEAAAAAt6ATBxXBxOPU5PnqGA/U4BMPFt M1cCXvhb0ZGeWxpOATAtTutfEJlumcaW4lYBMFtPcVwCXgpPr2X8ZvpeUGcBMI9beXIpUv1WRZYB AAwABwA3AAAAAAAAAAARJgAFEAAAAAEw21bdXfBs7miNh0SNxWLdTwEw8W0zV4xUCFTgc51bATB/ Xt5dCmbXXzpnNXUBMHdtV1MfdQFgb4/2Tu1WATAnWX524U81dVBbATABAAwABwA3AAAAAAAAAAAR JgAFEAAAAH9eHE5TU/R+UX/cfgEwHE6egwVuDF41dVBbglMBMPFtM1cCXq9zg1jlXQt60XlmWwEw 8W0zVwJer3ODWOVdC3rReWZbgGIvZy1Ow18BAAwABwA3AAAAAAAAAAAAJgAFEAAAAAEw8W0zVwJe WlMnWcWIcJnlXQt6ATDxbTNXAl5PU5tSvo++fMZblE7RkTV1UFsBMF9sz4JJUTOWqFKbUq9z3U8B MFltX2zMWzOW41MBAAwABwA3AAAAAAAAAAAAJgAFEAAAALhc/VZFlmlyQW0BMApOd20IVLde0XmA YgEw21bdXWNrCVS5bBRsMHXlXQt6+l6+iwEwCk53bTVyPGjlXRpO5V0LegEwz4LeXQJeHY0BAAwA BwA3AAAAAAAAAAAAJgAFEAAAACJ96oGoUhZT0XmAYgEwWW1fbHaYy3r2gBpOATCxgxRcr2V5cgj/ plPolQn/VV6ZWNF5gGIBMNt2aowFU8WInlsaTgEwBmZxXLdf23YBAAwABwA3AAAAAAAAAAAAJgAF EAAAAL58xlshandRATBtZ95daGaJW8aJr4twZVdbgGIvZwEwcVx/iUtmRlX9VkWWJ1lSkZdeATDP gt5dAl4nWQlntlsodbp+x37BVAEwNFQBAAwABwA3AAAAAAAAAAAAJgAFEAAAAF9sAl4OZjOWsGVQ Z5ll0XmAYgEwF1OsTqxOHE65ZT5mOnmAYi9nATBxXH+JDmauTj9iMFenTgBf0VMBMBdTrE5wZVdb KVkCWOFPb2ABAAwABwA3AAAAAAAAAAAAJgAFEAAAANF5gGIBMPFtM1cJTqBSAE7ReYBiATApWSVt 4U+oTkZVOI0BMLNsF1OUTmuUsYLtVgEws2xXUwF3mZ9fbBCZbpmhewZ0ATB/ieFcv1MBAAwABwA3 AAAAAAAAAAARKAAFEAAAAIVRw3E6Z9uPkmMUbKF7ATCIbDOWUE7RkXp6A4zAURZT5V0LegEwQQBF AE0A0XmAYigAz4LeXSkAATDxbTNXTlMnWfpX4FYUeHZ6YpYBMAlOAQAMAAcANwAAAAAAAACAARsA AfGDzZHlXRxOuWXDcRRsbo86Zy4ALgAuAC4ALgAuAEl7cVGhizMAMAAwADAAGlm2WwFPGk4CMBsA Ac8lEDD+iy0AC3otACdZLQCyfhEwCP8yAClZhVHTfghUGlkqTh93nltIaItP5ovGflZSkGcJ/wgA AcYlIWpXVwBOGv8GdLqLx3sLAAEcIOVOuk46TixnHSCEdmxR+FO7bAZ0DgABoYBDZ8BvsVIsZyiN Gv+VYkSNoYAOTsBvsVKhgAkAAbpOm1JEjZBuhHahewZ05V13URIAAaGAQ2fAb7FSMVkljUhoi0/K U0BiJl5lZ4R2H41il0hllF4a/w0AASAALQAtAC0AwG+xUsePpl4OTsBvsVINTrONDQABIAAtAC0A LQBYVOVdEGI6Th93Y2uEdqGAHE4OAAEgAC0ALQAtABpO6X4LTtFuWFTlXTZlZVEKTqhtFAABIAAt AC0ALQDAb7FSAE7okAZSuk5TYvtRhk7mUxZZAE4nWeiQBlK6ThkAAUyIGk4BMNFTVVw2lrVrATC6 Tk1ieXKBXwEwqoVskVNP+3wLToR2wG+xUiFqD1+EZ/peFgABIAAtAC0ALQDeeolOJ2BMiBpODk4g T99+NlIgkBpOwG+xUrllD1+EdjpTK1IYAAEgAC0ALQAtALBz0ZEWYgWAoYBDZwz/AU8aTg1ODFTR U1VcNpa1awz/uWUPXw1OAE4KAAEgAC0ALQAtAO9T/2bjTidgWFTlXRMAASAALQAtAC0ADk6qhWyR U0/7fIR2OVNNkQz/CZDpYsBvsVK5ZQ9fDwABxiUhaldXjE4a/55boVLHexr/oYBDZ8BvsVLNZFxP FQABMQABMGODY2shaotXCP9SAGUAYQBsAGkAegBlACAATQBvAGQAZQBsAAn/CwABIAAtAC0ALQDt dx9nwG+xUhr/CGemXgsAASAALQAtAC0ALU4fZ8BvsVIa/3Repl4PAAEgAC0ALQAtAH+VH2fAb7FS Gv8JTl7/lE50XuVOCk4RAAGhgENnwG+xUg5OAE4sgqqFbJE2ZWVRhHY6UytSylNzUft8BgABMgAB MPpXLGefUxlSCQABIAAtAC0ALQCFUeiQbFFzXidgCQABIAAtAC0ALQAWWeiQ3nqJTidgCQABIAAt AC0ALQDTfoRnjFt0ZSdgCQABIAAtAC0ALQADgDho0XlmWydgEQABoYBDZ8BvsVKEdixnKI0vZrpO m1JEjZBuhHY9hDBX5V13UQwAATMAATAcIKGAQ2cdIEtOHCBDZx0ghVG1bQkAASAALQAtAC0A+lcs Z0NnynYa/wcAASAALQAtAC0AYFMJZ0NnBwABIAAtAC0ALQA2Zcp2Q2cJAAEgAC0ALQAtAE2IH3VD Z8p2Gv8HAAEgAC0ALQAtAKF7BnRDZwcAASAALQAtAC0ABFluf0NnEgABAGc4aMNfhHZDZ1CWL2bA TkhODP9/kE1RiWNlUdVsi193ljGWBgABNAABMHdRU0+5ZQ9fBgABIAAtAC0ALQCeW6GAFgABIAAt AC0ALQBaht9ioYD9Tgj/BlKifkNnATBaht9ioYBoeQEwnlg8UENnCf8LAAEgAC0ALQAtAB9nQ2cI /6SLoYBDZwn/GAABIAAtAC0ALQBWWbFS+lfRkQj/9l4fZy9l2E4BMGhUH2ehi8+RATBRUbBzuWUP Xwn/FQABIAAtAC0ALQCPeSlSJ2AUIBQgPgDAb7FSJ2AUIBQgPgCnYzZSQ2dsj/t5CQABDU4MVMBv sVK5ZQ9fhHYJkCh1CAAB512HWb6WOk7gZXN8S06KcAkAATUAATChgENnwG+xUoR2XE8odQkAASAA LQAtAC0A+lcsZ1xPKHUa/wgAASAALQAtAC0ATYgfdVxPKHUNAAEgAC0ALQAtANBj2JoWWeiQlWJE jQWA4U/DXwoAASAALQAtAC0Aw0/bj7BlAYCkTv9mCQABIAAtAC0ALQDdT6RiAU8aTrZbDgABxiUh aldXCU4a/6GAQ2fAb7FSzWRcT7ll1WzHew8AATEAATCeW71loYBDZ8BvsVKhixJShHbbVipOgYkg fREAASAALQAtAC0AoCW6TjoAHCDNkShXuk6bUkSNLGeVYkSNHSAPAAEgAC0ALQAtAPlbIgCXXCIA 2I8vZvlbIgC6TiIAPwAXAAEgAC0ALQAtAM5OvnzxgjBSWFTlXSwAGlknWQOD9FahgENnwG+xUk1i CFQCkB//HwABIAAtAC0ALQDlXVxPJ2AojQ5OoYBDZ8BvsVIa/9iaoXssADhow1+AYi9nuk5YVCwA 2I8vZiWEAJWomnJeH/8RAAEgAC0ALQAtAKGAQ2fAb7FSWXW6ToR2OGjDXyhX6lTMkR//EAABIAAt AC0ALQCgJfdOOgAcILpOm1JEjSxn71Ohi8+RHSAQAAEgAC0ALQAtAIJZVU/ZfgFPGk4IVAZ0ME88 UJpb904f/xAAASAALQAtAC0AgllVT9l+uk5YVAhUBnQwTzxQmlv3Th//EQABIAAtAC0ALQCAYi9n oXsGdIGJIH2CWVVPCFQGdGVRoYAf/w8AASAALQAtAC0AgllVTwhUBnS+i6GLwG+xUmBnRmcf/xQA AR1gA4AxABr/hVHokAJeOlf3TjxoVgBTACAAFlnokMSLME/3TjxoH/8HAAEdYAOAMgAa/wJeyHaH cxIAASAALQAtAC0AoCXPkToAHCDHj7lyDU7KUywADk72ZfFP248dIAwAASAALQAtAC0AYE+EdsuG 1XwJZxpZJ1kf/wsAASAALQAtAC0Azk4xACUAMFIxADAAJQANAAEgAC0ALQAtAG1RQVN0Xg5UC3dg T4R2AU8aTiEABRAAAAAgAC0ALQAtADllhFVsUfhTu2wGdAz/f5UfZ8BvsVI6ZzZSDP/PURFc404G dBBiLGcM/wOMgoI2ZWVRBlJNkSYgJiABAAwABwA3AAAAAAAAAAAAJgAFEAAAAB1gA4Aa/4JZVU8I VAZ0BlJNkaGA/U4M/x9nQ2edmKZejFRwZc+RH//iZQ1OOn9PTsBvsVKbUqZeDP/IU3+QTVHHj6Ze wG+xUgz/AHoBAAwABwA3AAAAAAAAAAAADgABypGhgENnAjChgENnwG+xUoR2+Hb5W3BluosCMA4A ASAALQAtAC0AoCX2ZToAHCBMXVdZDk6qX69zHSAOAAEgAC0ALQAtAB91fVRoVB9ndgBzAEyIGk55 crlwEAABIAAtAC0ALQChgENnwG+xUoR2f5VoVB9nDk7td2hUH2cNAAEgAC0ALQAtAPZeH2cvZdhO Dk48AEgRAaGAQ2fAb7FSDwABMgABMJ5bvWWhgENnwG+xUqGLElKEdiROKk5lZ5BuCgABIAAtAC0A LQChgP1OZWeQbu6VmJgKAAEgAC0ALQAtAESN0ZFlZ5Bu7pWYmAwAAR1gA4Aa/6GAQ2fAb7FS0X62 Z6GAHE70iwYAATMAATAAkPpROmc2UggAASAALQAtAC0A3lYwUp9TuXAIAAEgAC0ALQAtAAGACWdA YntRCAABIAAtAC0ALQC7eUyAEGIsZwYAATQAATABY6GAfY9TTxMAASAALQAtAC0A6oE2cbpODk4B Y6GAbFH4Uxr/pn5fZydghHaBZ/SBEAABHWADgBr/bFH4UwpOAl4AZ+9T/YA0eE9XwG+xUlNP+3wH AAE1AAEwIo2hUg5ODno2ZQ0AASAALQAtAC0AIo2hUmxRAF+EdgRZBnS5ZQ9fCQABIAAtAC0ALQAB TxpOQGKXXw56CQABIAAtAC0ALQAqTrpOQGKXXw56CwABNgABMKGAQ2fAb7FShHbMU82ReXKBXxoA ASAALQAtAC0Auk6bUkSNkG6EdsBvsVIOTqZ+X2cUIBQgAU8aToVR6JChewZ0Omc2UhtSsGUhAAEg AC0ALQAtAKdOQ2caWUNRFlOMVPpey3oJZ0hlR1dhiIR2bFH4U7tsBnTTfoRnFCAUIAFPGk4WWeiQ p05DZxtSsGULAAE3AAEwnlu9ZaGAQ2fAb7FShHafUxlSCAABIAAtAC0ALQCmXquOmls2UgcAASAA LQAtAC0AGllCXCFrCQABIAAtAC0ALQBsUWNrATAtTst6CwABIAAtAC0ALQAYYmV1J2AOTmhRYpcn YAoAASAALQAtAC0AAU8aThhiZXXSiaZeCgABIAAtAC0ALQC6TptSRI2QbtKJpl4IAAEgAC0ALQAt ACKNoVLSiaZeCgABIAAtAC0ALQDVbItfP2VWe9KJpl4PAAHGJSFqV1fbVhr/oYBDZ8BvsVKeW/WN ylNIaItPx3sTAAEyAAEw32IKTgJebFH4U6GAQ2fAb7FSGv/VbItfATAijaFSgYlCbAwAATMAATBB AKGACk4CXmxR+FOhgENnwG+xUicADQQAEAAAADEAATBelwpOAl5sUfhToYBDZ8BvsVIa/xtSGk6L V6GAQ2fAb7FSATDeeolOJ2BMiBpOoYBDZ8BvsVIBMCBP335MiBpOoYBDZ8BvsVJJexMACQAUAAYA HQAJAB4ABgABAAwABwA3AAAAAAAAAAARDQABzyX5Vy0ArYstAKViLQANVC0ALU4tAMNfOgAjAAHx bSAAM1cgAKViIAANVCAANXUgAN2LGv8Q/xf/Ff8V/y0ALQAS/xH/E/8S/xf/E/8U/xj/ATAS/xH/ E/8S/xf/F/8U/xb/IgABCk4gAHdtIAClYiAADVQgADV1IADdixr/EP8S/xH/LQAtABX/Ef8Q/xn/ Gf8X/xL/Gf8BMBX/Ef8Q/xn/Gf8Y/xX/Fv8mAAEBJQElASUBJQElASUBJQElASUBJQElASUBJQEl ASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElFAABLQAtAC0A LQAgAKViIAANVCAA3lYgAGdiIABoiCAAIAAtAC0ALQAtAD8ADQUAEAAAAMJTGk/jTmiIGv9fAF8A XwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AIAD7eahSNXXdixr/XwBfAF8AXwBfAF8AXwBfAF8AXwBf AF8AXwBfAF8AIABMgCAAoVI6ACAAXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAAQA CQAUAAoAGAAJACkACgAsAAkAAQAMAAcANwAAAAAAAACAATUADQEAEAAAAABf0VNoeVVTTU8NVPB5 Gv9fAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBf AF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwAHAAYAAQAMAAcANwAAAAAAAAAAADgA DQUAEAAAAFSAIAD7fCAAuk4a/18AXwBfAF8AXwBfAF8AXwBfAF8AXwBfACAAVID7fDV13Ysa/18A XwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AIAD7eahSNXXdixr/XwBfAF8AXwBfAF8AXwBfAF8AXwBf AF8AXwAFAAYAEwALABcABgAmAAsAKgAGAAEADAAHADcAAAAAAAAAAABBAA0CABAAAABFAC0AbQBh AGkAbAA6ACAAXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8A XwBfAF8AXwBfAF8AXwBfAF8AXwBfACAAVID7fCBPH3ca/18AXwBfAF8AXwBfAF8AXwBfAF8AXwBf AF8AXwBfAF8ALAALADAABgABAAwABwA3AAAAAAAAAAAAEwANAwAQAAAAcVGhizmNKHUa/18AXwBf AF8AXwBfAF8AXwBfAF8AIABDUXRlAjAEAAYAEAALABIABgABAAwABwA3AAAAAAAAAAAAIAAFEAAA ANhOPmu5ZQ9fGv8I//eLCZDpYlNiHCAaIh0gCf+hJbBz0ZEgACAAoSVsjxBeIAAgAKElL2VoeSAA IAChJTV1R2wBAAwABwA3AAAAAAAAALwEPwANBQAQAAAAwlMaT+NOaIga/18AXwBfAF8AXwBfAF8A XwBfAF8AXwBfAF8AXwAgAPt5qFI1dd2LGv9fAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwAg AEyAIAChUjoAIABfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8ABAAJABQACgAYAAkA KQAKACwACQABAAwABwA3AAAAAAAAAAAAPwANAgAQAAAAwlMaT+NOaIga/18AXwBfAF8AXwBfAF8A XwBfAF8AXwBfAF8AXwAgAPt5qFI1dd2LGv9fAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwAg AEyAIAChUjoAIABfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AXwBfAF8AFAAKABgACQABAAwA BwA3AAAAAAAAAAAADwANAQAQAAAAEDA7Tp5SVVNNTxEwsGUgANF5IAD5VyAArYsgAFF/BgAGAAEA DAAHADcAAAAAAAAAAAAmAA0BABAAAAAQMPlXrYv5W2GMETABTxpOO2DBiAEwY4SLTn+VATA7YM9+ BnQBMLNRVnsFgAEwuk6bUkSNkG47YNF2ATAijaFSO2DRdspTqoVEjY95BgAGAAEADAAHADcAAAAA AAAAgAErAA0BABAAAADGJWhR/VbffgBOOY0odRr/QGIJZ8JTGk+6TutYaFH9Vt9+AE73TjQAOQAw ADAAQ1G6ThFsAV4vALpODP+fU/dOGv82ADgAMAAwAENRuk4RbAFeLwC6TggABgABAAwABwA3AAAA AAAAAAAAKQANAQAQAAAAIAAgACAAIAAtTv1WAU8aThwgoYBDZ8BvsVIdIIaY31eEdp5bGGJDZwFa E062W1VP119qgEhRH3UgT4hjqYuhgENnHCA2ZT5l6oGCWR0ghHbYeQQADwABAAwABwA3AAAAAAAA AAAAKQANAQAQAAAAIAAgACAAIABVT9dfaoBIUR91Gv/9VoVRAU8aThwgoYBDZ8BvsVIdIIaY31eE dp5bGGJDZwFaE062Wwz/Ck53bWODY2uVYkSNqFTiiwlnUJZsUQQADwABAAwABwA3AAAAAAAAAAAA JgAFEAAAAExyOmeEZwz/d1EJZy1O/VbBi9F2Gk+IY4hOwYs4UqhU4ovOThpORI08aAz/L2YtTv1W 5YvGfgZSqFTii4aY31eGU/JTAGdFTgEwzWQBAAwABwA3AAAAAAAAAAAAJgAFEAAAAFxPSGiLTwBn GlkBMMJTDk79VrZbp34/ZVZ7CP8FU+xiRk8NTlCWjk79VkSN1FkBMMGL0XYaTwn/AGcaWc5ODIAA Z0NnAVoBMABnE04BAAwABwA3AAAAAAAAAAAAKQANAwAQAAAAIAAgACAAIAD+ZsJToFLHj1VP119q gEhRH3X5V62LAU8aThwgoYBDZ8BvsVIdIGxRAF/+i4R26JAGUgFPGk6iWzdiGv/tZRxOOmewaAEw vY+BWwMAEgAEABEAIgAGAAEADAAHADcAAAAAAAAAAAASAA0DABAAAACeW6FSLQAtAC0AWXV7mgEw OFQVXwEwwG+xUjhow1+6Tk1iCzACAAkABQAKABEACQABAAwABwA3AAAAAAAAAAAANQANCAAQAAAA EWJVU01PcVFfAF8AXwBfAF8Auk6lYg1UwlOgUiAAMgAwADEAMgB0Xl8AXwBfAAhnXwBfAF8AXwDl ZSAAKFcgAF8AXwBfAF8AXwAgAD5OnlKEdgowEGJ/lYtXAU8aTqGAQ2fAb7FSzWRcTwQACQAJAAoA FAAJABcACgAYAAkAHAAKAB8ACQAmAAoAAQAMAAcANwAAAAAAAAAAEQ8AAUNnwYtmTuVOylN2UdZO +HZzUdVsi1+HZfZOCf8CMCkABRAAAAAgACAAFCAUIAFPGk4cIKGAQ2fAb7FSHSCGmN9XhHaeWxhi Q2cBWhNOtltVT9dfaoBIUR91IAAtAC0ALQAtAAdj/FsBMIWP/FsBTxpO+l7LegBnAQAMAAcANwAA AAAAAAD7cyYABRAAAACMW4RVATAAZwKQCFTqgauOAU8aToR2oYBDZ8BvsVK5ZUhoG//CU6BSZltY VEdX71NNUTmNt4NgjfdOPFAKTgdOhHYKMKGAQ2fAb7FSAQAMAAcANwAAAAAAAAAAACcABRAAAAC5 ZUhovouhiyFqf2cBMDV1UFtIcmZbYE7+i/ZOATBIaItPCzAATldZCP8FU+xioYBDZzZSpl6hewZ0 nlLVbCwAoYBDZ09TrotmTiwAoYABAAwABwA3AAAAAAAAAAAAJgAFEAAAAAElASUBJQElASUBJQEl ASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUBJQElASUB JQElASUBAAwABwA3AAAAAAAAAAAAHAANBgAQAAAAEGJ/lYtXAU8aTqGAQ2fAb7FSzWRcT55boVIt AC0ALQBZdXuaATA4VBVfATDAb7FSOGjDX7pOTWINAAwAEAAUABIADAATABQAFQAVABYAFAABAAwA BwA3AAAAAAAAAAAAAwAEEAAAACAgIAEADAAHADcAAAAAAAAAAAAWAAEyADAAMQAyAHReOAAIZzEA MQAtAC0AMQAyAOVlIAAgACAAIAAI/wpOd20J/xYAATIAMAAxADIAdF45AAhnOAAtAC0AOQDlZSAA IAAgACAAIAAgAAj/8W0zVwn/FgABMgAwADEAMgB0XjEAMAAIZzIAMAAtAC0AMgAxAOVlIAAgACAA CP8KTndtCf8WAAEyADAAMQAyAHReMQAwAAhnMgA3AC0ALQAyADgA5WUgACAAIAAI/xdTrE4J/xYA ATIAMAAxADIAdF4xADEACGcxADAALQAtADEAMQDlZSAAIAAgAAj/8W0zVwn/OQANBwAQAAAApWIN VCBPH3c6AAj/MAA3ADUANQAtAC0AMgAxADMAMgA3ADcANAA2APFtM1cJ/wj/MAAyADEALQAtADUA MQAwADkAOQA4ADUANgAKTndtCf8I/zAAMgAwAC0ALQAzADQANwAwADQAMgA5ADEAf17eXQn/BQAX ABQAFgAWABcAJQAWACcAFwA2ABYAOAAXAAEADAAHADcAAAAAAAAAEwARAAUQAAAAVIAgAPt8IAC6 Thr/SJYPXNBZATCXZ0hRH3UBMAdOD1zQWQEADAAHADcAAAAAAAAAGf//AOoACABXCwAADAAAADUN AADqAQAA6w4AAKADAAAzEAAA6AQAAG8RAAAkBgAAxRIAAHoHAACFFQAAOgoAAPkXAACuDAAAxRoA AHoPAAD1HQAAqhIAAA0hAADCFQAAqSIAAF4XAADrIwAAoBgAAPEkAACmGQAAqSUAAF4aAABHJgAA /BoAAEEnAAD2GwAAIygAANgcAABpKQAAHh4AANkqAACOHwAAyisAAFwAAACILAAAGgEAAI4tAAAg AgAAOC4AAMoCAAAQMAAAogQAAPozAACMCAAAVDcAAOYLAABsOgAA/g4AAIE8AAATEQAACgAAAAkI EAAABhAAFxnNB8lAAAAGAQAACwI0AAAAAAAAAAAAHgEAAIg+AAAAQwAAiEcAAARMAACIUAAADFUA AJBZAAAUXgAAbGIAADhmAAANAAIAAQAMAAIAZAAPAAIAAQARAAIAAAAQAAgA/Knx0k1iUD9fAAIA AQAqAAIAAAArAAIAAACCAAIAAQCAAAgAAAAAAAAAAAAlAgQAAQApAYEAAgDBBBQAAAAVAAAAgwAC AAAAhAACAAAAoQAiAAAAKQEBAAEAAQAEAAAAAAAAAAAAAADgPwAAAAAAAOA/AABVAAIACAB9AAwA AAAAAGAKFQACAAQAfQAMAAEAAQBASBUAAgAEAH0ADAACAAABAAkVAAAABAAAAg4AAAAAAB4BAAAA AAIAAAAIAhAAAAAAAAIAKQEAAAAAQAEPIAgCEAABAAAAAgApAQAAAABAAQ8ACAIQAAIAAAACAKQB AAAAAEABDwAIAhAAAwAAAAIAaAEAAAAAQAEPAAgCEAAEAAAAAgApAQAAAABAAQ8ACAIQAAUAAAAC ACkBAAAAAEABDwAIAhAABgAAAAIAKQEAAAAAQAEPAAgCEAAHAAAAAgApAQAAAABAAQ8ACAIQAAgA AAACAP8AAAAAAEABDwAIAhAACQAAAAIADwAAAAAAQAEPAAgCEAAKAAAAAgApAQAAAABAAQ8ACAIQ AAsAAAACACkBAAAAAEABDwAIAhAADAAAAAIAKQEAAAAAQAEPAAgCEAANAAAAAgAOAQAAAABAAQ8A CAIQAA4AAAACACwBAAAAAEABDwAIAhAADwAAAAIAKQEAAAAAQAEPAAgCEAAQAAEAAgApAQAAAABA AQ8ACAIQABEAAQACACkBAAAAAEABDwAIAhAAEgABAAIAKQEAAAAAQAEPAAgCEAATAAEAAgApAQAA AABAAQ8ACAIQABQAAQACACkBAAAAAEABDwAIAhAAFQABAAIAKQEAAAAAQAEPAAgCEAAWAAEAAgAp AQAAAABAAQ8ACAIQABcAAQACACkBAAAAAEABDwAIAhAAGAABAAIAKQEAAAAAQAEPAAgCEAAZAAEA AgApAQAAAABAAQ8ACAIQABoAAQACACkBAAAAAEABDwAIAhAAGwABAAIAKQEAAAAAQAEPAAgCEAAc AAEAAgApAQAAAABAAQ8ACAIQAB0AAQACACkBAAAAAEABDwAIAhAAHgABAAIAKQEAAAAAQAEPAAgC EAAfAAEAAgApAQAAAABAAQ8A/QAKAAEAAAAYANkAAAABAgYAAQABABkA/QAKAAIAAQAaANgAAAAB AgYAAwABABsA/QAKAAQAAQAcANQAAAD9AAoABQABABwA1QAAAP0ACgAGAAEAHADWAAAA/QAKAAcA AQAcANMAAAD9AAoACAABAB0AvwAAAAECBgAJAAEAHQD9AAoACgABACgA2gAAAP0ACgALAAEAKADb AAAA/QAKAAwAAQAoANwAAAD9AAoADQABACgA3QAAAP0ACgAOAAEAKADeAAAA/QAKAA8AAQAbAL8A AAD9AAoAEAABAB4AyQAAAP0ACgARAAEAHgDKAAAA/QAKABIAAQAbAAEAAAD9AAoAEwABAB4AywAA AP0ACgAUAAEAGwAAAAAA/QAKABUAAQAbANcAAAD9AAoAFgABACkAAgAAAAECBgAXAAEAGwD9AAoA GAABAB8AAwAAAP0ACgAZAAEAIAAEAAAA/QAKABoAAQAbAA8AAAD9AAoAGwABABsABQAAAP0ACgAc AAEAGwAGAAAA/QAKAB0AAQAbAAcAAAD9AAoAHgABABsACAAAAP0ACgAfAAEAGwAJAAAA1wBEADAE AABsAgAAGAAOAAoADgAOAA4ADgAOAAoADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAKAA4ADgAO AA4ADgAOAA4ACAIQACAAAQACACkBAAAAAEABDwAIAhAAIQABAAIAKQEAAAAAQAEPAAgCEAAiAAEA AgApAQAAAABAAQ8ACAIQACMAAQACACkBAAAAAEABDwAIAhAAJAABAAIAKQEAAAAAQAEPAAgCEAAl AAEAAgApAQAAAABAAQ8ACAIQACYAAQACACkBAAAAAEABDwAIAhAAJwABAAIAKQEAAAAAQAEPAAgC EAAoAAEAAgApAQAAAABAAQ8ACAIQACkAAQACACkBAAAAAEABDwAIAhAAKgABAAIAKQEAAAAAQAEP AAgCEAArAAEAAgApAQAAAABAAQ8ACAIQACwAAQACACkBAAAAAEABDwAIAhAALQABAAIAKQEAAAAA QAEPAAgCEAAuAAEAAgApAQAAAABAAQ8ACAIQAC8AAQACACkBAAAAAEABDwAIAhAAMAABAAIAKQEA AAAAQAEPAAgCEAAxAAEAAgApAQAAAABAAQ8ACAIQADIAAQACACkBAAAAAEABDwAIAhAAMwABAAIA KQEAAAAAQAEPAAgCEAA0AAEAAgApAQAAAABAAQ8ACAIQADUAAQACACkBAAAAAEABDwAIAhAANgAB AAIAKQEAAAAAQAEPAAgCEAA3AAEAAgApAQAAAABAAQ8ACAIQADgAAQACACkBAAAAAEABDwAIAhAA OQABAAIAKQEAAAAAQAEPAAgCEAA6AAEAAgApAQAAAABAAQ8ACAIQADsAAQACACkBAAAAAEABDwAI AhAAPAABAAIAKQEAAAAAQAEPAAgCEAA9AAEAAgApAQAAAABAAQ8ACAIQAD4AAQACACkBAAAAAEAB DwAIAhAAPwABAAIAKQEAAAAAQAEPAP0ACgAgAAEAGwAKAAAA/QAKACEAAQAbAAsAAAD9AAoAIgAB ABsADAAAAP0ACgAjAAEAGwANAAAA/QAKACQAAQAbAA4AAAD9AAoAJQABABsAEAAAAP0ACgAmAAEA GwARAAAA/QAKACcAAQAbABIAAAD9AAoAKAABABsAEwAAAP0ACgApAAEAGwAUAAAA/QAKACoAAQAb ABUAAAD9AAoAKwABABsAFgAAAP0ACgAsAAEAGwAXAAAA/QAKAC0AAQAbABgAAAD9AAoALgABABsA GQAAAP0ACgAvAAEAGwAUAAAA/QAKADAAAQAfABoAAAD9AAoAMQABABsAGwAAAP0ACgAyAAEAGwAc AAAA/QAKADMAAQAbAB0AAAD9AAoANAABABsAHgAAAP0ACgA1AAEAGwAfAAAA/QAKADYAAQAbACAA AAD9AAoANwABABsAIQAAAP0ACgA4AAEAGwAiAAAA/QAKADkAAQAbACMAAAD9AAoAOgABABsAJAAA AP0ACgA7AAEAGwAlAAAA/QAKADwAAQAbACYAAAD9AAoAPQABABsAJwAAAP0ACgA+AAEAGwAoAAAA /QAKAD8AAQAbACkAAADXAEQAQAQAAGwCDgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAO AA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAIAhAAQAABAAIAeAAAAAAAQAEPAAgCEABBAAEA AgApAQAAAABAAQ8ACAIQAEIAAQACACkBAAAAAEABDwAIAhAAQwABAAIAKQEAAAAAQAEPAAgCEABE AAEAAgApAQAAAABAAQ8ACAIQAEUAAQACACkBAAAAAEABDwAIAhAARgABAAIAKQEAAAAAQAEPAAgC EABHAAEAAgApAQAAAABAAQ8ACAIQAEgAAQACAHgAAAAAAEABDwAIAhAASQABAAIAKQEAAAAAQAEP AAgCEABKAAEAAgApAQAAAABAAQ8ACAIQAEsAAQACACkBAAAAAEABDwAIAhAATAABAAIAKQEAAAAA QAEPAAgCEABNAAEAAgApAQAAAABAAQ8ACAIQAE4AAQACACkBAAAAAEABDwAIAhAATwABAAIAKQEA AAAAQAEPAAgCEABQAAEAAgApAQAAAABAAQ8ACAIQAFEAAQACACkBAAAAAEABDwAIAhAAUgABAAIA KQEAAAAAQAEPAAgCEABTAAEAAgApAQAAAABAAQ8ACAIQAFQAAQACACkBAAAAAEABDwAIAhAAVQAB AAIAKQEAAAAAQAEPAAgCEABWAAEAAgApAQAAAABAAQ8ACAIQAFcAAQACACkBAAAAAEABDwAIAhAA WAABAAIAKQEAAAAAQAEPAAgCEABZAAEAAgApAQAAAABAAQ8ACAIQAFoAAQACACkBAAAAAEABDwAI AhAAWwABAAIAKQEAAAAAQAEPAAgCEABcAAEAAgApAQAAAABAAQ8ACAIQAF0AAQACACkBAAAAAEAB DwAIAhAAXgABAAIAKQEAAAAAQAEPAAgCEABfAAEAAgApAQAAAABAAQ8AAQIGAEAAAQAbAP0ACgBB AAEAGwAqAAAA/QAKAEIAAQAbACsAAAD9AAoAQwABABsALAAAAP0ACgBEAAEAGwAtAAAA/QAKAEUA AQAbADAAAAD9AAoARgABABsALgAAAP0ACgBHAAEAGwAvAAAAAQIGAEgAAQAbAP0ACgBJAAEAIQDM AAAA/QAKAEoAAQAfADEAAAD9AAoASwABAB8AMgAAAP0ACgBMAAEAHwAzAAAA/QAKAE0AAQAfADQA AAD9AAoATgABABsAvwAAAP0ACgBPAAEAKQA1AAAAAQIGAFAAAQAbAP0ACgBRAAEAIQDNAAAA/QAK AFIAAQAfADYAAAD9AAoAUwABAB8AzgAAAP0ACgBUAAEAHwDPAAAA/QAKAFUAAQAfADcAAAD9AAoA VgABAB8AOAAAAP0ACgBXAAEAIAA5AAAA/QAKAFgAAQAbADoAAAD9AAoAWQABABsAOwAAAP0ACgBa AAEAGwA8AAAA/QAKAFsAAQAbAD0AAAD9AAoAXAABABsAPgAAAP0ACgBdAAEAGwA/AAAA/QAKAF4A AQAbAEAAAAD9AAoAXwABABsAQQAAANcARAA0BAAAbAIKAA4ADgAOAA4ADgAOAA4ACgAOAA4ADgAO AA4ADgAOAAoADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAgCEABgAAEAAgApAQAAAABAAQ8A CAIQAGEAAQACACkBAAAAAEABDwAIAhAAYgABAAIAKQEAAAAAQAEPAAgCEABjAAEAAgApAQAAAABA AQ8ACAIQAGQAAQACACkBAAAAAEABDwAIAhAAZQABAAIAKQEAAAAAQAEPAAgCEABmAAEAAgApAQAA AABAAQ8ACAIQAGcAAQACACkBAAAAAEABDwAIAhAAaAABAAIAKQEAAAAAQAEPAAgCEABpAAEAAgAp AQAAAABAAQ8ACAIQAGoAAQACACkBAAAAAEABDwAIAhAAawABAAIAKQEAAAAAQAEPAAgCEABsAAEA AgApAQAAAABAAQ8ACAIQAG0AAQACACkBAAAAAEABDwAIAhAAbgABAAIAKQEAAAAAQAEPAAgCEABv AAEAAgApAQAAAABAAQ8ACAIQAHAAAQACACkBAAAAAEABDwAIAhAAcQABAAIAKQEAAAAAQAEPAAgC EAByAAEAAgApAQAAAABAAQ8ACAIQAHMAAQACACkBAAAAAEABDwAIAhAAdAABAAIAKQEAAAAAQAEP AAgCEAB1AAEAAgApAQAAAABAAQ8ACAIQAHYAAQACACkBAAAAAEABDwAIAhAAdwABAAIAKQEAAAAA QAEPAAgCEAB4AAEAAgApAQAAAABAAQ8ACAIQAHkAAQACACkBAAAAAEABDwAIAhAAegABAAIAKQEA AAAAQAEPAAgCEAB7AAEAAgApAQAAAABAAQ8ACAIQAHwAAQACACkBAAAAAEABDwAIAhAAfQABAAIA KQEAAAAAQAEPAAgCEAB+AAEAAgApAQAAAABAAQ8ACAIQAH8AAQACACkBAAAAAEABDwD9AAoAYAAB ABsAQgAAAP0ACgBhAAEAIADQAAAA/QAKAGIAAQAbAEMAAAD9AAoAYwABABsARAAAAP0ACgBkAAEA GwBFAAAA/QAKAGUAAQAbAEYAAAD9AAoAZgABABsARwAAAP0ACgBnAAEAGwBIAAAA/QAKAGgAAQAb AEkAAAD9AAoAaQABABsASgAAAP0ACgBqAAEAGwBLAAAA/QAKAGsAAQAbAEwAAAD9AAoAbAABABsA TQAAAP0ACgBtAAEAGwBOAAAA/QAKAG4AAQAbAE8AAAD9AAoAbwABABsAUAAAAP0ACgBwAAEAGwBR AAAA/QAKAHEAAQAbAFIAAAD9AAoAcgABABsAvwAAAP0ACgBzAAEAKQBTAAAAAQIGAHQAAQAbAP0A CgB1AAEAHwBUAAAA/QAKAHYAAQAbAFUAAAD9AAoAdwABABsAVgAAAP0ACgB4AAEAGwBXAAAA/QAK AHkAAQAbAFgAAAD9AAoAegABABsAWQAAAP0ACgB7AAEAGwBaAAAA/QAKAHwAAQAbAFsAAAD9AAoA fQABABsAXAAAAP0ACgB+AAEAGwBdAAAA/QAKAH8AAQAbAF4AAADXAEQAPAQAAGwCDgAOAA4ADgAO AA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAoADgAOAA4ADgAOAA4ADgAOAA4ADgAIAhAA gAABAAIAKQEAAAAAQAEPAAgCEACBAAEAAgApAQAAAABAAQ8ACAIQAIIAAQACACkBAAAAAEABDwAI AhAAgwABAAIAKQEAAAAAQAEPAAgCEACEAAEAAgApAQAAAABAAQ8ACAIQAIUAAQACACkBAAAAAEAB DwAIAhAAhgABAAIAKQEAAAAAQAEPAAgCEACHAAEAAgApAQAAAABAAQ8ACAIQAIgAAQACACkBAAAA AEABDwAIAhAAiQABAAIAKQEAAAAAQAEPAAgCEACKAAEAAgApAQAAAABAAQ8ACAIQAIsAAQACACkB AAAAAEABDwAIAhAAjAABAAIAKQEAAAAAQAEPAAgCEACNAAEAAgApAQAAAABAAQ8ACAIQAI4AAQAC ACkBAAAAAEABDwAIAhAAjwABAAIAKQEAAAAAQAEPAAgCEACQAAEAAgApAQAAAABAAQ8ACAIQAJEA AQACACkBAAAAAEABDwAIAhAAkgABAAIAKQEAAAAAQAEPAAgCEACTAAEAAgApAQAAAABAAQ8ACAIQ AJQAAQACACkBAAAAAEABDwAIAhAAlQABAAIAKQEAAAAAQAEPAAgCEACWAAEAAgApAQAAAABAAQ8A CAIQAJcAAQACACkBAAAAAEABDwAIAhAAmAABAAIAKQEAAAAAQAEPAAgCEACZAAEAAgApAQAAAABA AQ8ACAIQAJoAAQACACkBAAAAAEABDwAIAhAAmwABAAIAKQEAAAAAQAEPAAgCEACcAAEAAgApAQAA AABAAQ8ACAIQAJ0AAQACACkBAAAAAEABDwAIAhAAngABAAIAKQEAAAAAQAEPAAgCEACfAAEAAgAp AQAAAABAAQ8A/QAKAIAAAQAbAF8AAAD9AAoAgQABABsAYAAAAP0ACgCCAAEAGwBhAAAAAQIGAIMA AQAbAP0ACgCEAAEAHwBiAAAA/QAKAIUAAQAbAGMAAAD9AAoAhgABABsAZAAAAP0ACgCHAAEAGwBl AAAA/QAKAIgAAQAbAGYAAAD9AAoAiQABABsAZwAAAP0ACgCKAAEAGwBoAAAA/QAKAIsAAQAbAGkA AAD9AAoAjAABABsAagAAAP0ACgCNAAEAGwBrAAAA/QAKAI4AAQAbAGwAAAD9AAoAjwABABsAbQAA AP0ACgCQAAEAGwBuAAAA/QAKAJEAAQAbAG8AAAD9AAoAkgABABsAcAAAAP0ACgCTAAEAGwBxAAAA /QAKAJQAAQAbAHIAAAD9AAoAlQABABsAcwAAAP0ACgCWAAEAGwB0AAAA/QAKAJcAAQAbAHUAAAD9 AAoAmAABABsAdgAAAP0ACgCZAAEAGwB3AAAA/QAKAJoAAQAbAHgAAAD9AAoAmwABABsAeQAAAP0A CgCcAAEAGwB6AAAA/QAKAJ0AAQAbAHsAAAD9AAoAngABABsAfAAAAP0ACgCfAAEAGwB9AAAA1wBE ADwEAABsAg4ADgAOAAoADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4A DgAOAA4ADgAOAA4ACAIQAKAAAQACACkBAAAAAEABDwAIAhAAoQABAAIAKQEAAAAAQAEPAAgCEACi AAEAAgApAQAAAABAAQ8ACAIQAKMAAQACACkBAAAAAEABDwAIAhAApAABAAIAKQEAAAAAQAEPAAgC EAClAAEAAgApAQAAAABAAQ8ACAIQAKYAAQACACkBAAAAAEABDwAIAhAApwABAAIAKQEAAAAAQAEP AAgCEACoAAEAAgApAQAAAABAAQ8ACAIQAKkAAQACACkBAAAAAEABDwAIAhAAqgABAAIAKQEAAAAA QAEPAAgCEACrAAEAAgApAQAAAABAAQ8ACAIQAKwAAQACACkBAAAAAEABDwAIAhAArQABAAIAKQEA AAAAQAEPAAgCEACuAAEAAgApAQAAAABAAQ8ACAIQAK8AAQACACkBAAAAAEABDwAIAhAAsAABAAIA KQEAAAAAQAEPAAgCEACxAAEAAgApAQAAAABAAQ8ACAIQALIAAQACACkBAAAAAEABDwAIAhAAswAB AAIAKQEAAAAAQAEPAAgCEAC0AAEAAgApAQAAAABAAQ8ACAIQALUAAQACACkBAAAAAEABDwAIAhAA tgABAAIAKQEAAAAAQAEPAAgCEAC3AAEAAgApAQAAAABAAQ8ACAIQALgAAQACACkBAAAAAEABDwAI AhAAuQABAAIAKQEAAAAAQAEPAAgCEAC6AAEAAgApAQAAAABAAQ8ACAIQALsAAQACACkBAAAAAEAB DwAIAhAAvAABAAIAKQEAAAAAQAEPAAgCEAC9AAEAAgApAQAAAABAAQ8ACAIQAL4AAQACACkBAAAA AEABDwAIAhAAvwABAAIAKQEAAAAAQAEPAP0ACgCgAAEAGwB+AAAA/QAKAKEAAQAbAH8AAAD9AAoA ogABABsAlgAAAP0ACgCjAAEAGwCAAAAA/QAKAKQAAQAbAIEAAAD9AAoApQABABsAggAAAP0ACgCm AAEAGwCDAAAAAQIGAKcAAQAbAP0ACgCoAAEAHwCEAAAA/QAKAKkAAQAbAIUAAAD9AAoAqgABABsA hgAAAP0ACgCrAAEAGwCHAAAA/QAKAKwAAQAbAIgAAAD9AAoArQABABsAiQAAAP0ACgCuAAEAGwCK AAAA/QAKAK8AAQAbAIsAAAD9AAoAsAABABsAjAAAAP0ACgCxAAEAGwCNAAAA/QAKALIAAQAbAI4A AAD9AAoAswABABsAjwAAAP0ACgC0AAEAGwCQAAAA/QAKALUAAQAbAJEAAAD9AAoAtgABABsAkgAA AP0ACgC3AAEAGwCTAAAA/QAKALgAAQAbAJQAAAD9AAoAuQABABsAlQAAAP0ACgC6AAEAGwCXAAAA /QAKALsAAQAbAJgAAAD9AAoAvAABABsAmQAAAP0ACgC9AAEAGwCaAAAA/QAKAL4AAQAbAJsAAAD9 AAoAvwABABsAnAAAANcARAA8BAAAbAIOAA4ADgAOAA4ADgAOAAoADgAOAA4ADgAOAA4ADgAOAA4A DgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAgCEADAAAEAAgApAQAAAABAAQ8ACAIQAMEAAQAC ACkBAAAAAEABDwAIAhAAwgABAAIAKQEAAAAAQAEPAAgCEADDAAEAAgApAQAAAABAAQ8ACAIQAMQA AQACACkBAAAAAEABDwAIAhAAxQABAAIAKQEAAAAAQAEPAAgCEADGAAEAAgApAQAAAABAAQ8ACAIQ AMcAAQACACkBAAAAAEABDwAIAhAAyAABAAIAKQEAAAAAQAEPAAgCEADJAAEAAgApAQAAAABAAQ8A CAIQAMoAAQACACkBAAAAAEABDwAIAhAAywABAAIAKQEAAAAAQAEPAAgCEADMAAEAAgApAQAAAABA AQ8ACAIQAM0AAQACACkBAAAAAEABDwAIAhAAzgABAAIAKQEAAAAAQAEPAAgCEADPAAEAAgApAQAA AABAAQ8ACAIQANAAAQACACkBAAAAAEABDwAIAhAA0QABAAIAKQEAAAAAQAEPAAgCEADSAAEAAgAp AQAAAABAAQ8ACAIQANMAAQACACkBAAAAAEABDwAIAhAA1AABAAIAKQEAAAAAQAEPAAgCEADVAAEA AgApAQAAAABAAQ8ACAIQANYAAQACACkBAAAAAEABDwAIAhAA1wABAAIAKQEAAAAAQAEPAAgCEADY AAEAAgApAQAAAABAAQ8ACAIQANkAAQACACkBAAAAAEABDwAIAhAA2gABAAIAKQEAAAAAQAEPAAgC EADbAAEAAgApAQAAAABAAQ8ACAIQANwAAQACACkBAAAAAEABDwAIAhAA3QABAAIAKQEAAAAAQAEP AAgCEADeAAEAAgApAQAAAABAAQ8ACAIQAN8AAQACACkBAAAAAEABDwD9AAoAwAABABsAnQAAAP0A CgDBAAEAGwCeAAAA/QAKAMIAAQAbAJ8AAAD9AAoAwwABABsAoAAAAP0ACgDEAAEAGwChAAAA/QAK AMUAAQAbAKIAAAD9AAoAxgABABsAowAAAP0ACgDHAAEAGwCkAAAA/QAKAMgAAQAbAKUAAAD9AAoA yQABABsApgAAAP0ACgDKAAEAGwCnAAAA/QAKAMsAAQAbAKgAAAD9AAoAzAABABsAqQAAAP0ACgDN AAEAGwCqAAAA/QAKAM4AAQAbAKsAAAD9AAoAzwABABsArAAAAP0ACgDQAAEAGwCtAAAA/QAKANEA AQAbAK4AAAD9AAoA0gABABsArwAAAP0ACgDTAAEAGwCwAAAA/QAKANQAAQAbALEAAAD9AAoA1QAB ABsAsgAAAP0ACgDWAAEAGwCzAAAA/QAKANcAAQAbALQAAAD9AAoA2AABABsAtQAAAP0ACgDZAAEA GwC2AAAA/QAKANoAAQAbALcAAAABAgYA2wABABsA/QAKANwAAQAfALgAAAD9AAoA3QABABsAuwAA AP0ACgDeAAEAGwC5AAAA/QAKAN8AAQAbALoAAADXAEQAPAQAAGwCDgAOAA4ADgAOAA4ADgAOAA4A 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+/wAA BQECAAAAAAAAAAAAAAAAAAAAAAABAAAAAtXN1ZwuGxCTlwgAKyz5rjAAAADUAAAACQAAAAEAAABQ AAAADwAAAFgAAAAXAAAAbAAAAAsAAAB0AAAAEAAAAHwAAAATAAAAhAAAABYAAACMAAAADQAAAJQA AAAMAAAAtQAAAAIAAACoAwAAHgAAAAoAAABNaWNyb3NvZnQAdDEDAAAA/AoJAAsAAAAAAAAACwAA AAAAAAALAAAAAAAAAAsAAAAAAAAAHhAAAAIAAAAKAAAAc2U1NHRoNmttAAcAAABTaGVldDEADBAA AAIAAAAeAAAABwAAALmk1/ex7QADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAA BAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAAS AAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAA AAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAA AC8AAAAwAAAAMQAAADIAAAAzAAAA/v///zUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAD+//// PQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAP7////9/////v////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////9SAG8AbwB0ACAARQBu AHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAf// ////////AgAAACAIAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAAAAAA AFcAbwByAGsAYgBvAG8AawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAASAAIB////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALpnAAAAAAAABQBTAHUAbQBtAGEAcgB5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgEBAAAAAwAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAA0AAAAABAAAAAAAAAFAEQAbwBjAHUAbQBlAG4AdABTAHUAbQBtAGEA cgB5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgAAAAAAAAAAAAAAOAACAf///////////////wAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAEAAAAAAAAA== --W=_AsvdtrM99eYZ2lbPLqtjDtcDFq1igNQ-- From nevion@gmail.com Wed Aug 1 21:38:44 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q722chW4103599 for ; Wed, 1 Aug 2012 21:38:43 -0500 X-ASG-Debug-ID: 1343875122-04bdf02d15221570001-NocioJ Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com [209.85.214.181]) by cuda.sgi.com with ESMTP id qhweeQHHIAniNQhH (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Wed, 01 Aug 2012 19:38:42 -0700 (PDT) X-Barracuda-Envelope-From: nevion@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] Received: by obbup19 with SMTP id up19so14348358obb.26 for ; Wed, 01 Aug 2012 19:38:41 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=DXk8um1r+juHka6km6y23IQh4VgZTdGAAYV5NJ0KrcA=; b=iCtSquSOz8e2mjgbLgXZP84o0kyVgxPEKKijkYdjH40FFj1TAzo3uFYD26K3s9um6A HpAYaleyIJJm+6v2jkre1MPyGZey4AMoo4Gw7EIzhy4Zf78nTWdFcIN0+hsI9CFwD3CL Smfk/xmAQMBCoJnftNuNKyM/AsRfj/KooFQdo7v9TvQqLdSiXO6EUfLElHdLXThHXvhn jJqNW2beGG8fwso0sYR8lIOlHtzYfWxUJf0uZ43SBWwq1DetKPO7Rik/yezFijEav98M SWmsZte2sZFHenzrwMFFvvz0pGKtw3FYXDqD1gLDNTvpQ0EW78nccpVaD0Xz8DBC6j3D ZTaQ== MIME-Version: 1.0 Received: by 10.182.110.37 with SMTP id hx5mr32498450obb.48.1343875121784; Wed, 01 Aug 2012 19:38:41 -0700 (PDT) Received: by 10.76.112.143 with HTTP; Wed, 1 Aug 2012 19:38:41 -0700 (PDT) In-Reply-To: <5019CC34.5050003@hardwarefreak.com> References: <20120730030333.GE2877@dastard> <50186E51.1020107@hardwarefreak.com> <5018A8C7.8050406@hardwarefreak.com> <5019CC34.5050003@hardwarefreak.com> Date: Wed, 1 Aug 2012 19:38:41 -0700 Message-ID: Subject: Re: realtime section bugs still around From: Jason Newton X-ASG-Orig-Subj: Re: realtime section bugs still around To: stan@hardwarefreak.com Cc: xfs@oss.sgi.com Content-Type: multipart/alternative; boundary=f46d0445181141a95204c63f4f54 X-Barracuda-Connect: mail-ob0-f181.google.com[209.85.214.181] X-Barracuda-Start-Time: 1343875122 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO, DKIM_SIGNED, DKIM_VERIFIED, HTML_MESSAGE X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104425 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature 0.00 HTML_MESSAGE BODY: HTML included in message --f46d0445181141a95204c63f4f54 Content-Type: text/plain; charset=UTF-8 On Wed, Aug 1, 2012 at 5:39 PM, Stan Hoeppner wrote: > On 8/1/2012 12:55 AM, Jason Newton wrote: > > >> Just to figure out for sure what the bottlenecks are and whether they > can > > be dealt with rather than looking at it as opaque system and assuming > > nothing can be done. Also as a learning experience. > > Jason, have you considered something like this to solve your problems? > > RAM is cheap. Far cheaper than attacking this problem with any other > hardware type. And you can't easily solve it by rewriting to use AIO, > given the effort involved with that. > > You should be able to fit 32GB of RAM on the board. Create a 24GB RAM > disk and use that for writing your 5.7MB frame files in real time. This > eliminates any latency and stutter issues during capture. Treat the RAM > disk as a FIFO, taking each new file and copying it out to SSD after > it's been closed, then delete the original. This gives you in essence a > very fast buffer. If my math is correct, 24,000MB / 300MB/s = roughly > 80 seconds of buffer at a 300MB/s streaming capture rate, 40 seconds at > 600MB/s. > The system has a single slot of SODIMM. We have an 8GB DDR3 stick in it. I've added a circular buffer for each frame and limit it to some number of frames (so far 2 seconds, I haven't had time to experiment with it yet). The serialization thread is now separate and consumes the circular buffer so we're effectively talking about the same thing sans files. This solves the problem but as I mentioned before... I do have a desire to seek out the sources of the latency and cpu usage... I'm not really sure of how to go about it though. > > This should be very easy to implement, and cheaper than all other > alternatives. It should eliminate all possible latency issues, though > it will increase CPU cycles due to the data movement to/from the RAM > disk, though how much I can't guess at this point. 8GB RAM disk will > give you 26 seconds of buffering at 300MB/s, and a 4GB RAM disk will > give you 13 seconds of buffering. If 13 seconds is sufficient, you can > implement this on a machine with only 8GB RAM, assuming you need no more > than 4GB for kernel/user space/application. > > Agreed that it's the easiest and cheapest solution. Average performance probably won't change but burst of cpu will as it compensates for the high latency writes in future cycles... this is undesirable but I think OK (the important stuff is at high priority on SCHED_RR, these serialization threads are high priority SCHED_OTHER). Again, I haven't had time to test it as I've been putting out other fires. -Jason --f46d0445181141a95204c63f4f54 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Aug 1, 2012 at 5:39 PM, Stan Hoeppner <stan@hardwarefreak.com= > wrote:
On 8/1/2012 12:55 AM, Jason Newton wrote:

>> Just to figure out for sure what the bottlenecks are and whether t= hey can
> be dealt with rather than looking at it as opaque system and assuming<= br> > nothing can be done. =C2=A0Also as a learning experience.

Jason, have you considered something like this to solve your problems= ?

RAM is cheap. =C2=A0Far cheaper than attacking this problem with any other<= br> hardware type. =C2=A0And you can't easily solve it by rewriting to use = AIO,
given the effort involved with that.

You should be able to fit 32GB of RAM on the board. =C2=A0Create a 24GB RAM=
disk and use that for writing your 5.7MB frame files in real time. =C2=A0Th= is
eliminates any latency and stutter issues during capture. =C2=A0Treat the R= AM
disk as a FIFO, taking each new file and copying it out to SSD after
it's been closed, then delete the original. =C2=A0This gives you in ess= ence a
very fast buffer. =C2=A0If my math is correct, 24,000MB / 300MB/s =3D rough= ly
80 seconds of buffer at a 300MB/s streaming capture rate, 40 seconds at
600MB/s.
=C2=A0
The system has a single slot= of SODIMM. We have an 8GB DDR3 stick in it.=C2=A0 I've added a circula= r buffer for each frame and limit it to some number of frames (so far 2 sec= onds, I haven't had time to experiment with it yet).=C2=A0 The serializ= ation thread is now separate and consumes the circular buffer so we're = effectively talking about the same thing sans files.=C2=A0 This solves the = problem but as I mentioned before... I do have a desire to seek out the sou= rces of the latency and cpu usage... I'm not really sure of how to go a= bout it though.

This should be very easy to implement, and cheaper than all other
alternatives. =C2=A0It should eliminate all possible latency issues, though=
it will increase CPU cycles due to the data movement to/from the RAM
disk, though how much I can't guess at this point. =C2=A08GB RAM disk w= ill
give you 26 seconds of buffering at 300MB/s, and a 4GB RAM disk will
give you 13 seconds of buffering. =C2=A0If 13 seconds is sufficient, you ca= n
implement this on a machine with only 8GB RAM, assuming you need no more than 4GB for kernel/user space/application.

Agreed that it's the easiest and cheapest solution. Average per= formance probably won't change but burst of cpu will as it compensates = for the high latency writes in future cycles... this is undesirable but I t= hink OK (the important stuff is at high priority on SCHED_RR, these seriali= zation threads are high priority SCHED_OTHER).=C2=A0 Again, I haven't h= ad time to test it as I've been putting out other fires.

-Jason
--f46d0445181141a95204c63f4f54-- From xfs=oss.sgi.com+1343881315+14869_377+201208@mdabs.maildirect.co.in Wed Aug 1 23:54:53 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.8 required=5.0 tests=BAYES_50,HTML_MESSAGE, MIME_QP_LONG_LINE autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q724sppg114369 for ; Wed, 1 Aug 2012 23:54:53 -0500 X-ASG-Debug-ID: 1343883285-04cb6c194120f4e0001-NocioJ Received: from n.two.digitalcontract.in (n.two.digitalcontract.in [180.149.243.136]) by cuda.sgi.com with ESMTP id gz4FJUD20neJMziy for ; Wed, 01 Aug 2012 21:54:45 -0700 (PDT) X-Barracuda-Envelope-From: xfs=oss.sgi.com+1343881315+14869_377+201208@mailer.projectstoday.com X-Barracuda-Apparent-Source-IP: 180.149.243.136 Received: from g.two.digitalcontract.in (g.two.digitalcontract.in [180.149.243.129]) by n.two.digitalcontract.in (Postfix) with ESMTP id C245012F30B0 for ; Thu, 2 Aug 2012 10:24:44 +0530 (IST) Received: from e.two.digitalcontract.in (e.two.digitalcontract.in [180.149.243.127]) by g.two.digitalcontract.in (Postfix) with ESMTP id BE30BEB802A for ; Thu, 2 Aug 2012 10:24:44 +0530 (IST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by e.two.digitalcontract.in (Postfix) with ESMTP id B305A9D8050 for ; Thu, 2 Aug 2012 10:24:44 +0530 (IST) Reply-To: "promotion@projectvendor.net" From: "Project Vendor" To: xfs@oss.sgi.com Subject: A Construction & Engineering magazine for Projects X-Abuse-Reports-To: abuse@mailer.projectstoday.com X-ASG-Orig-Subj: A Construction & Engineering magazine for Projects Precedence: Bulk List-Id: <14869_377_3_1343881315_2525900> ListMember: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Archive: List-Owner: List-Post: NO Errors-To: errors@mdabs.maildirect.co.in X-Mailer: MailDirect v2.03 for [Economic Research India Ltd {MD}] MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_6538252f462b5a45682a1615c0392d22" Message-Id: <20120802045444.B305A9D8050@e.two.digitalcontract.in> Date: Thu, 2 Aug 2012 10:24:44 +0530 (IST) X-Barracuda-Connect: n.two.digitalcontract.in[180.149.243.136] X-Barracuda-Start-Time: 1343883285 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.82 X-Barracuda-Spam-Status: No, SCORE=0.82 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e, HTML_MESSAGE, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104436 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars 0.00 BSF_SC5_SA210e Custom Rule SA210e --b1_6538252f462b5a45682a1615c0392d22 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: quoted-printable =C2=A0 Would you like to reach out to procurement / purchase heads = of 44,000 live projects in India? =C2=A0If your answer is YES, then read on The new projects business in India is worth an astounding a = massive $ 1340 billion Hundreds of products and services will be needed for = translating this investment into assets Our experience suggests that decisions relating to purchase of = products in projects are highly influenced by=20 Procurement / Purchase Heads. Presenting Project Vendor - A Construction & Engineering = magazine for Projects Your advertisement in Project Vendor will help you = reach out to over 40,000 purchase professionals involved in = new projects, with precision and economy that no medium can = match To know more, simply "reply" to this email with your = contact details..... We will be with you soon! You are receiving this email because of your relationship with = the sender. To safely unsubscribe or modify your subscription = settings please click here --b1_6538252f462b5a45682a1615c0392d22 Content-Type: text/html; charset = "utf-8" Content-Transfer-Encoding: quoted-printable

 


3D""

Would you like to reach out to = procurement / purchase heads of 44,000 live projects in = India?

 If your = answer is YES, then read on

The new projects business in India is worth an = astounding a massive $ 1340 = billion

Hundreds = of products and services will be needed for translating this = investment into assets

Our = experience suggests that decisions relating to purchase of = products in projects are highly influenced by
Procurement / Purchase Heads.

Presenting Project Vendor - A Construction = & Engineering magazine for Projects

Your advertisement in Project = Vendor will help you reach out to over 40,000 = purchase professionals involved in new projects, with = precision and economy that no medium can match

To know more, simply "reply" = to this email with your contact details.....

We will be with you soon!


3D""
You are receiving this email because of = your relationship with the sender. To safely unsubscribe or modify = your subscription settings please click here
= You are receiving this email because of your relationship with the sender. To safely unsubscribe or modify your subscription settings please click here
--b1_6538252f462b5a45682a1615c0392d22-- From xfs-owner@oss.sgi.com Thu Aug 2 00:38:56 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.7 required=5.0 tests=BAYES_60,FROM_STARTS_WITH_NUMS autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q725ct7a119794 for ; Thu, 2 Aug 2012 00:38:56 -0500 X-ASG-Debug-ID: 1343885933-04cb6c193e2132a0001-w1Z2WR Received: from barracuda.corett.gob.mx (customer-200-79-36-4.uninet-ide.com.mx [200.79.36.4]) by cuda.sgi.com with ESMTP id HFFnDxhdXzHxPr7u for ; Wed, 01 Aug 2012 22:38:54 -0700 (PDT) X-Barracuda-Envelope-From: 9898.beatriz.hernandez@corett.gob.mx X-Barracuda-Apparent-Source-IP: 200.79.36.4 Received: from mail.corett.gob.mx (localhost [127.0.0.1]) by barracuda.corett.gob.mx (Spam & Virus Firewall) with ESMTP id AD5A282047D; Thu, 2 Aug 2012 00:56:52 -0500 (CDT) Received: from mail.corett.gob.mx ([172.16.9.168]) by barracuda.corett.gob.mx with ESMTP id PQstLRr2KX3RCnfp; Thu, 02 Aug 2012 00:56:52 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by mail.corett.gob.mx (Postfix) with ESMTP id 5461D184005; Thu, 2 Aug 2012 00:41:03 -0500 (CDT) X-Virus-Scanned: amavisd-new at mail.corett.gob.mx Received: from mail.corett.gob.mx ([127.0.0.1]) by localhost (mail.corett.gob.mx [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7rMNmTX+1WJX; Thu, 2 Aug 2012 00:41:03 -0500 (CDT) Received: from mail.corett.gob.mx (customer-200-79-36-4.uninet-ide.com.mx [200.79.36.4]) by mail.corett.gob.mx (Postfix) with ESMTP id D066B18400A; Thu, 2 Aug 2012 00:40:58 -0500 (CDT) Date: Thu, 2 Aug 2012 00:40:58 -0500 (CDT) From: WEBMASTER ADMINSTRATOR <9898.beatriz.hernandez@corett.gob.mx> Reply-To: WEBMASTER ADMINSTRATOR Message-ID: <1388707995.105969.1343886058449.JavaMail.root@mail> Subject: UW WEBMAIL limiet MIME-Version: 1.0 X-ASG-Orig-Subj: UW WEBMAIL limiet Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [90.182.128.18] X-Mailer: Zimbra 6.0.9_GA_2686 (zclient/6.0.9_GA_2686) To: undisclosed-recipients:; X-Barracuda-Connect: customer-200-79-36-4.uninet-ide.com.mx[200.79.36.4] X-Barracuda-Start-Time: 1343885934 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 2.10 X-Barracuda-Spam-Status: No, SCORE=2.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC7_SA_HREF_FROM_MISMATCH_TEXT_URIx1_HL, RDNS_DYNAMIC X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104438 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 RDNS_DYNAMIC Delivered to trusted network by host with dynamic-looking rDNS 2.00 BSF_SC7_SA_HREF_FROM_MISMATCH_TEXT_URIx1_HL Custom Rule HREF_FROM_MISMATCH_TEXT_URIx1_HL Uw Mailbox heeft overschreden opslaglimiet Het als ingesteld door de beheerder, en U zult niet in staat zijn om nieuwe mails ontvangen totdat u opnieuw valideren It. Klik hier: http://houasb.phpforms.net/view_forms/view/6b5895d973#top System Administrator From stan@hardwarefreak.com Thu Aug 2 05:39:23 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_51 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72AdNqK161291 for ; Thu, 2 Aug 2012 05:39:23 -0500 X-ASG-Debug-ID: 1343903962-04cbb06db126a670001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id WAmYiBMCU4pTb4R1 for ; Thu, 02 Aug 2012 03:39:22 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 0F9EA6C12E; Thu, 2 Aug 2012 05:39:22 -0500 (CDT) Message-ID: <501A58DB.7070801@hardwarefreak.com> Date: Thu, 02 Aug 2012 05:39:23 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Jason Newton CC: xfs@oss.sgi.com Subject: Re: realtime section bugs still around References: <20120730030333.GE2877@dastard> <50186E51.1020107@hardwarefreak.com> <5018A8C7.8050406@hardwarefreak.com> <5019CC34.5050003@hardwarefreak.com> X-ASG-Orig-Subj: Re: realtime section bugs still around In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1343903962 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On 8/1/2012 9:38 PM, Jason Newton wrote: > The system has a single slot of SODIMM. We have an 8GB DDR3 stick in it. > I've added a circular buffer for each frame and limit it to some number of > frames (so far 2 seconds, I haven't had time to experiment with it yet). > The serialization thread is now separate and consumes the circular buffer > so we're effectively talking about the same thing sans files. This solves > the problem but as I mentioned before... Same idea, but your solution is far more elegant I think. > I do have a desire to seek out the > sources of the latency and cpu usage... I'm not really sure of how to go > about it though. We already gave you the biggest cause of your latency, which is garbage collection/wear leveling. You can't see inside the SSDs, but you can see the latency jump with either top (%wa) or iostat (await, milliseconds). Run iostat -x -d 1 20 and you get 20 reports 1 second apart. 1s is minimum granularity. This should clearly show the latency spikes caused by the SSDs. Maybe even execute it for 60 seconds and pipe to a file. Regarding CPU burn, the quickest, and probably least exact, way to see this is with top. On Linux sorting top by CPU usage should be the default. If not just hit Shift+P to toggle to that sort method. This should be sufficient to find out who is eating the cycles. I'd think running top and iostat while pushing 3 streams should do the trick. But I'm sure you've already looked at top. Which makes me wonder why you were unable to see what's burning the cycles. > Agreed that it's the easiest and cheapest solution. Average performance > probably won't change but burst of cpu will as it compensates for the high > latency writes in future cycles... this is undesirable but I think OK (the > important stuff is at high priority on SCHED_RR, these serialization > threads are high priority SCHED_OTHER). Again, I haven't had time to test > it as I've been putting out other fires. Keep us posted. BTW, do you mind sharing the make/model of that mobo, and exactly which model that i7 is? -- Stan From stefanrin@gmail.com Thu Aug 2 08:14:56 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72DEu5m181668 for ; Thu, 2 Aug 2012 08:14:56 -0500 X-ASG-Debug-ID: 1343913294-04cbb06daf271960001-NocioJ Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com [209.85.214.181]) by cuda.sgi.com with ESMTP id 8rTq0DCmP0djg3Eb (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Thu, 02 Aug 2012 06:14:55 -0700 (PDT) X-Barracuda-Envelope-From: stefanrin@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.214.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] Received: by obbup19 with SMTP id up19so15123430obb.26 for ; Thu, 02 Aug 2012 06:14:54 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.214.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=fCG8CkiM5zXBOmcV2ffXgbBurSUcRDSKj9DO7a5QnDc=; b=hehqVXKyBlFcHLM1VphJMI7Pi2OQ/l6VJIC0hdBRAiNiP9FqdKgp+YfdEuBS95pjJn NRwttDSxPfAUEvo2Tk0j7Glc8xfknUhP/QX6UrvITzup8mPDWD4tUUq3YxwRCxDK5JiZ w6rAYGsQuXT28zJu5YxhV7xJXUJ3CT5O1rXf1GB7DmZhyp8wOcAeoc/hmAN1Xpx6k7oA 68iW7YPbIAdOHDWtRLMtuRl8C4MzJwUo/LJU2fYO+WInoAkh9BVwkGASL+gLux8PeUSi F+fTCmv7ZsU7krYESab3r/b6045jrqHdbKXkKgeZnP2IMqEOU6C1dnr4LtGIk/JAfDvN bYuA== MIME-Version: 1.0 Received: by 10.182.46.65 with SMTP id t1mr5404784obm.20.1343913294569; Thu, 02 Aug 2012 06:14:54 -0700 (PDT) Received: by 10.76.2.6 with HTTP; Thu, 2 Aug 2012 06:14:54 -0700 (PDT) In-Reply-To: References: Date: Thu, 2 Aug 2012 15:14:54 +0200 Message-ID: Subject: Re: [PATCH] German translation for xfsdump From: Stefan Ring X-ASG-Orig-Subj: Re: [PATCH] German translation for xfsdump To: xfs@oss.sgi.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mail-ob0-f181.google.com[209.85.214.181] X-Barracuda-Start-Time: 1343913295 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104468 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature On Wed, Aug 1, 2012 at 2:31 AM, Nathan Scott wrote: > Thanks to Chris Leick , reported via Debian BTS as > bug #576257. I wonder why anyone would even want that translated. German is my mother tongue, and still I find it mentally disturbing to read through the messages. If I'd have to look at these monstrosities all day, I would certainly not want to touch XFS ever again ;). Not that the translations are bad, they are just worse than useless. English error messages can be googled, while for the german ones I'd have to mentally translate them back and guess what the original meaning was in order to make any sense of them. One random error I caught: Schlu=C3=9Fdialog -> Schlussdialog "ausrangieren" for "discarding"? Hehe ;). Maybe rather "verwerfen"? From gwehrman@sgi.com Thu Aug 2 12:42:40 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72Hgelv212506 for ; Thu, 2 Aug 2012 12:42:40 -0500 Received: from goalpost.americas.sgi.com (goalpost.americas.sgi.com [128.162.232.54]) by relay2.corp.sgi.com (Postfix) with ESMTP id 72CA2304092; Thu, 2 Aug 2012 10:42:37 -0700 (PDT) Received: by goalpost.americas.sgi.com (Postfix, from userid 14442) id 561F02A9ED; Thu, 2 Aug 2012 12:42:37 -0500 (CDT) Date: Thu, 2 Aug 2012 12:42:37 -0500 From: Geoffrey Wehrman To: Andy Bennett Cc: xfs@oss.sgi.com Subject: Re: XFS Recovery Behaviour Message-ID: <20120802174237.GB11592@sgi.com> References: <5019C5F9.1080302@ashurst.eu.org> <5019C89D.2020303@ashurst.eu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5019C89D.2020303@ashurst.eu.org> User-Agent: Mutt/1.5.14 (2007-02-12) On Thu, Aug 02, 2012 at 01:23:57AM +0100, Andy Bennett wrote: | Hi, | | > I didn't expect to see the import-2012-07-04/ directory again and I | > certainly didn't expect to see it populated with the card-2/ subdirectory. | | I've been moving the files to my archive disk and now import-2012-07-28/ | seems to be in a pickle: ... | Does anyone have any idea how I can remove this entry? I recommend xfs_repair(8) -- Geoffrey Wehrman From sandeen@sandeen.net Thu Aug 2 12:44:38 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72HicDl212701 for ; Thu, 2 Aug 2012 12:44:38 -0500 X-ASG-Debug-ID: 1343929477-04cbb06dae281a20001-NocioJ Received: from mail.sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 2kk8HFk05HMU3b91 for ; Thu, 02 Aug 2012 10:44:37 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 15F4F4963292; Thu, 2 Aug 2012 12:44:37 -0500 (CDT) Message-ID: <501ABC84.6030708@sandeen.net> Date: Thu, 02 Aug 2012 12:44:36 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: xfs-oss CC: Christoph Hellwig Subject: XFS regression: Oops in xfs_buf_do_callbacks on xfstest 137 X-Enigmail-Version: 1.4.3 X-ASG-Orig-Subj: XFS regression: Oops in xfs_buf_do_callbacks on xfstest 137 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1343929477 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104485 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Putting this on the list for posterity, I'll try to work it out but don't want to lose the issue. When running w/ slab debugging, particularly memory poisoning, I oops on test 137: [ 6734.901318] general protection fault: 0000 [#1] SMP [ 6734.906337] CPU 1 [ 6734.908183] Modules linked in:[ 6734.911258] ext4 jbd2 ext2 xfs sunrpc ip6table_filter ip6_tables binfmt_misc vhost_net macvtap macvlan tun iTCO_wdt iTCO_vendor_support dcdbas microcode i2c_i801 lpc_ich mfd_core tg3 shpchp i3000_edac edac_core ext3 jbd mbcache ata_generic pata_acpi pata_sil680 radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded: scsi_wait_scan] [ 6734.942722] Pid: 19860, comm: umount Not tainted 3.5.0-rc6+ #1 Dell Computer Corporation PowerEdge 860/0RH817 [ 6734.952696] RIP: 0010:[] [] xfs_buf_do_callbacks+0x20/0x50 [xfs] [ 6734.962011] RSP: 0018:ffff880058e178f8 EFLAGS: 00010202 [ 6734.967334] RAX: 6b6b6b6b6b6b6b6b RBX: ffff880058088e00 RCX: 00000001001d001b [ 6734.974472] RDX: 00000001001d001c RSI: ffffea0001603a10 RDI: 0000000000000246 [ 6734.981613] RBP: ffff880058e17908 R08: ffffea0001603a18 R09: 0000000000000000 [ 6734.988752] R10: 0000000000000000 R11: 00000000000000e8 R12: ffff880058088e00 [ 6734.995893] R13: ffffffffa02e8086 R14: 0000000000000000 R15: 0000000000000000 [ 6735.003034] FS: 00007f7a0b77d740(0000) GS:ffff88007d000000(0000) knlGS:0000000000000000 [ 6735.011125] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 6735.016879] CR2: 00007f7a0ade3400 CR3: 000000007991a000 CR4: 00000000000007e0 [ 6735.024017] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 6735.031158] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 6735.038299] Process umount (pid: 19860, threadinfo ffff880058e16000, task ffff8800588ecce0) [ 6735.046647] Stack: [ 6735.048676] ffffffffa03496e4 ffff880058088e00 ffff880058e17938 ffffffffa0348bce [ 6735.056188] ffff880058088e30 ffff880058088e00 ffff880058088e00 ffffffffa03496e4 [ 6735.063682] ffff880058e17958 ffffffffa02e8086 ffff880058e17988 ffff880058088e00 [ 6735.071185] Call Trace: [ 6735.080337] [] xfs_buf_iodone_callbacks+0x3e/0x310 [xfs] [ 6735.093982] [] xfs_buf_iodone_work+0x26/0x50 [xfs] [ 6735.100454] [] xfs_buf_ioend+0x6b/0x1b0 [xfs] [ 6735.106505] [] xfs_buf_item_unpin+0x94/0x2e0 [xfs] [ 6735.118564] [] xfs_trans_committed_bulk+0x1bd/0x2a0 [xfs] [ 6735.136898] [] xlog_cil_committed+0x3d/0x100 [xfs] [ 6735.143380] [] xlog_cil_push+0x33b/0x410 [xfs] [ 6735.149515] [] xlog_cil_force_lsn+0x167/0x170 [xfs] [ 6735.156084] [] _xfs_log_force+0x6d/0x250 [xfs] [ 6735.162216] [] xfs_log_force+0x2a/0x100 [xfs] [ 6735.168257] [] xfs_quiesce_data+0x23/0x70 [xfs] [ 6735.174470] [] xfs_fs_sync_fs+0x30/0x60 [xfs] [ 6735.180486] [] __sync_filesystem+0x30/0x60 [ 6735.186238] [] sync_filesystem+0x4b/0x70 [ 6735.191821] [] generic_shutdown_super+0x3b/0xf0 [ 6735.198011] [] kill_block_super+0x31/0x80 [ 6735.203680] [] deactivate_locked_super+0x3d/0xa0 [ 6735.209964] [] deactivate_super+0x4a/0x70 [ 6735.215631] [] mntput_no_expire+0xd2/0x130 [ 6735.221384] [] sys_umount+0x7e/0x3c0 [ 6735.226619] [] system_call_fastpath+0x16/0x1b [ 6735.232628] Code: 00 90 8b 34 a0 c9 c3 0f 1f 40 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 48 8b 87 d8 01 00 00 48 89 fb 48 85 c0 74 2b 0f 1f 00 <48> 8b 50 38 48 89 c6 48 89 df 48 89 93 d8 01 00 00 48 c7 40 38 [ 6735.252741] RIP [] xfs_buf_do_callbacks+0x20/0x50 [xfs] [ 6735.259681] RSP [ 6735.278084] ---[ end trace a626b9b4cafd61da ]--- It's dying due to a use after free; RAX / bp->b_fspriv / lip is 0x6b6b6b6.... (POISON_FREE) STATIC void xfs_buf_do_callbacks( struct xfs_buf *bp) { 712a5: 48 89 fb mov %rdi,%rbx struct xfs_log_item *lip; while ((lip = bp->b_fspriv) != NULL) { 712a8: 48 85 c0 test %rax,%rax 712ab: 74 2b je 712d8 712ad: 0f 1f 00 nopl (%rax) bp->b_fspriv = lip->li_bio_list; 712b0: 48 8b 50 38 mov 0x38(%rax),%rdx <--- HERE The behavior started with: commit 960c60af8b9481595e68875e79b2602e73169c29 Author: Christoph Hellwig Date: Mon Apr 23 15:58:38 2012 +1000 xfs: do not add buffers to the delwri queue until pushed Instead of adding buffers to the delwri list as soon as they are logged, even if they can't be written until commited because they are pinned defer adding them to the delwri list until xfsaild pushes them. This makes the code more similar to other log items and prepares for writing buffers directly from xfsaild. The complication here is that we need to fail buffers that were added but not logged yet in xfs_buf_item_unpin, borrowing code from xfs_bioerror. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Reviewed-by: Mark Tinguely Signed-off-by: Ben Myers I'm guessing it's a problem w/ the handling in xfs_buf_item_unpin() but not sure yet. -Eric From sandeen@sandeen.net Thu Aug 2 17:19:31 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72MJVMm245126 for ; Thu, 2 Aug 2012 17:19:31 -0500 X-ASG-Debug-ID: 1343945970-04cb6c19402891c0001-NocioJ Received: from mail.sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id y7ItIzyrq6akIwfF for ; Thu, 02 Aug 2012 15:19:30 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id D76C14963292; Thu, 2 Aug 2012 17:19:29 -0500 (CDT) Message-ID: <501AFCF1.70804@sandeen.net> Date: Thu, 02 Aug 2012 17:19:29 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Peter Watkins CC: xfs@oss.sgi.com Subject: Re: xfs_db: bug in bmap command? References: X-ASG-Orig-Subj: Re: xfs_db: bug in bmap command? In-Reply-To: X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1343945970 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104506 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 8/1/12 10:17 AM, Peter Watkins wrote: > Hello, > > If you have a moment would you be kind enough to review the test case > and patch below? > > I ran into this while using xfs_db to dump extents for a large, > fragmented file. The extents were stored in btree form. The xfs_db change looks right. Way back when, commit b3563c19992d0453db1826ffdbf0be6039998023 did this: @@ -91,29 +91,27 @@ bmap( bno = NULLFSBLOCK; rblock = (xfs_bmdr_block_t *)XFS_DFORK_PTR(dip, whichfork); fsize = XFS_DFORK_SIZE(dip, mp, whichfork); - pp = XFS_BTREE_PTR_ADDR(xfs_bmdr, rblock, 1, - XFS_BTREE_BLOCK_MAXRECS(fsize, xfs_bmdr, 0)); - kp = XFS_BTREE_KEY_ADDR(xfs_bmdr, rblock, 1); + pp = XFS_BMDR_PTR_ADDR(rblock, 1, xfs_bmdr_maxrecs(mp, fsize, 0)); + kp = XFS_BMDR_KEY_ADDR(rblock, 1); bno = select_child(curoffset, kp, pp, be16_to_cpu(rblock->bb_numrecs)); for (;;) { set_cur(&typtab[typ], XFS_FSB_TO_DADDR(mp, bno), blkbb, DB_RING_IGN, NULL); - block = (xfs_bmbt_block_t *)iocur_top->data; + block = (struct xfs_btree_block *)iocur_top->data; if (be16_to_cpu(block->bb_level) == 0) break; - pp = XFS_BTREE_PTR_ADDR(xfs_bmbt, block, 1, - XFS_BTREE_BLOCK_MAXRECS(mp->m_sb.sb_blocksize, - xfs_bmbt, 0)); - kp = XFS_BTREE_KEY_ADDR(xfs_bmbt, block, 1); + pp = XFS_BMDR_PTR_ADDR(block, 1, + xfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0)); + kp = XFS_BMDR_KEY_ADDR(block, 1); as part of a kernel<->userspace syncup. But you can see that some "bmdt's" turned into "bmdr's" along the way. Surprised that hasn't been found sooner! I wonder if there's a way to make to make a testcase which a) doesn't require 256k of "good" output, and b) more robust to failure (a timeout & kill might let it proceed...) -Eric > -Peter > > > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From sandeen@sandeen.net Thu Aug 2 17:26:10 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72MQAo6246205 for ; Thu, 2 Aug 2012 17:26:10 -0500 X-ASG-Debug-ID: 1343946369-04cbb06db02b34f0001-NocioJ Received: from mail.sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id rcztniOAxhUECH4B for ; Thu, 02 Aug 2012 15:26:09 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 179C74963292; Thu, 2 Aug 2012 17:26:09 -0500 (CDT) Message-ID: <501AFE80.40709@sandeen.net> Date: Thu, 02 Aug 2012 17:26:08 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Peter Watkins CC: xfs@oss.sgi.com Subject: Re: xfs_db: bug in bmap command? References: <501AFCF1.70804@sandeen.net> X-ASG-Orig-Subj: Re: xfs_db: bug in bmap command? In-Reply-To: <501AFCF1.70804@sandeen.net> X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1343946369 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104506 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 8/2/12 5:19 PM, Eric Sandeen wrote: > On 8/1/12 10:17 AM, Peter Watkins wrote: >> Hello, >> >> If you have a moment would you be kind enough to review the test case >> and patch below? >> >> I ran into this while using xfs_db to dump extents for a large, >> fragmented file. The extents were stored in btree form. > > The xfs_db change looks right. (and I'll merge it, Reviewed-by: Eric Sandeen ) Thanks! -Eric From david@fromorbit.com Thu Aug 2 18:30:32 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72NUVIY254700 for ; Thu, 2 Aug 2012 18:30:31 -0500 X-ASG-Debug-ID: 1343950228-04bdf02d182ab000001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id FuTovKo7Cis7AcGZ for ; Thu, 02 Aug 2012 16:30:29 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtkMAGkMG1B5LBl6/2dsb2JhbABFhRKzBgECf4EIgiABAQQBJxMcIwULCAMOAwMBAgEuFA0YAxMOE4d+AwYFs3kNiU4Uik9ngRZXhRcDk3SBUoksgV+FA4JxgU0 Received: from ppp121-44-25-122.lns20.syd6.internode.on.net (HELO dastard) ([121.44.25.122]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Aug 2012 09:00:27 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1Sx4qX-00035d-Ct; Fri, 03 Aug 2012 09:30:25 +1000 Date: Fri, 3 Aug 2012 09:30:25 +1000 From: Dave Chinner To: Peter Watkins Cc: xfs@oss.sgi.com Subject: Re: xfs_db: bug in bmap command? Message-ID: <20120802233025.GP2877@dastard> X-ASG-Orig-Subj: Re: xfs_db: bug in bmap command? References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1343950228 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC5_SA210e X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104509 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC5_SA210e Custom Rule SA210e On Wed, Aug 01, 2012 at 11:17:13AM -0400, Peter Watkins wrote: > Hello, > > If you have a moment would you be kind enough to review the test case > and patch below? > > I ran into this while using xfs_db to dump extents for a large, > fragmented file. The extents were stored in btree form. > > -Peter > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > From a66128fd25639c04de366c492fe2f1ce6cf8dba4 Mon Sep 17 00:00:00 2001 > From: Peter Watkins > Date: Tue, 31 Jul 2012 14:07:04 -0400 > Subject: [PATCH] xfstests: add test 287 for xfs_db bmap > > Test dumping a file bmap large enough to be in btree form. > > Signed-off-by: Peter Watkins > --- > 287 | 108 ++ > 287.out | 4101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > group | 1 + > 3 files changed, 4210 insertions(+), 0 deletions(-) > create mode 100755 287 > create mode 100644 287.out > > diff --git a/287 b/287 > new file mode 100755 > index 0000000..3e82a89 > --- /dev/null > +++ b/287 > @@ -0,0 +1,108 @@ > +#! /bin/bash > +# FS QA Test No. 301 Test 301? You have another 15 or tests before this one? > +_do_frag() > +{ > + num_bytes=$(($1*1024*1024)) > + hole=$((64*1024)) Why select a hole of only 64k? > + cycle=$((2*$hole)) > + cycles=$(($num_bytes/$cycle)) > + > + $XFS_IO_PROG -f -c "resvsp 0 $num_bytes" $work_file > + > + i=0 > + for cc in `seq 1 $cycles` ; do > + $XFS_IO_PROG -c "unresvsp $i $hole" $work_file > + i=$(($i+$cycle)) Indents are 8 space tabs... > + done All you are trying to create is a fragmented file with lots of extents, right? Then just doing: for i in `seq 1 $num`; do $XFS_IO_PROG -c "resvsp $(($i * 128))k 4k" $workfile done should create a block every 128k. That will work on filesystems up to the maximum supported block size of 64k. Allocating space then punching holes out of it is not necessary, as the hole between each block is all that is necessary to create separate extents. There doesn't appear to be a need for a fixed size file, as btree format occurs once the number of extents exceeds what can fit in in the inode. i.e. there are 3 forms: - local: data fits in inode literal area - extent: extent records in inode literal area - btree: extent btree root in inode literal area. Given that an extent record is 16 bytes, the maximum that can be stored in any inode is roughly 120 (2k inodes with no attributes). Hence creating thousands of extents is not necessary to move the inode into btree format. But, just creating a btree format extent tree with 120 extents (i.e. single leaf block btree) doesn't hang. Nor does a 2 leaf block tree.... Ok, so the problem isn't as obvious as the description makes it seem. Ah, It doesn't hang until a root split occurs when we move to a 2-level tree (root->node->leaf). That's worth documenting in the test. i.e. it's not testing single level btree formats as such, it's testing node format btrees.... > +rm -f $seq.full > + > +_scratch_mkfs -i attr=2,size=256 -l lazy-count=1 >/dev/null 2>&1 They are all mkfs defaults, so no need to specify them. > new file mode 100644 > index 0000000..91bed13 > --- /dev/null > +++ b/287.out > @@ -0,0 +1,4101 @@ > +QA output created by 301 > +u.bmbt.level = 2 > +u.bmbt.numrecs = 1 > +u.bmbt.keys[1] = [startoff] 1:[16] This fails right here on my test machines - it doesn't allocate blocks in the same place. The filtering is not correct - they should be nothing that is dependent on block size, filesytsem layout, etc in the golden output. e.g. this should read: data offset 3696 startblock 3708 (0/3708) count 16 flag 1 something like data offset OFF startblock SBLK (AG/BNO) count CNT flag 1 if it is correctly filtered. As soon as the filesytem size, mkfs or mount options change, you can't rely on any of these being correct - no even that allocation occurs in the same AG on an empty filesystem.... FWIW, if this is just a hang/pass test, then this output should be in $seq.full, not $seq.out as it is not necessary for verifying the correct operation of the xfs_db command. That also gets around the problem of needing massive amounts of output in the $seq.out file. > diff --git a/group b/group > index cbe9101..2f2ae9f 100644 > --- a/group > +++ b/group > @@ -405,3 +405,4 @@ deprecated > 284 auto > 285 auto rw > 286 other > +287 db And auto group, as well, otherwise it will never get run.... > Subject: [PATCH] xfs_db: bmap dump uses wrong btree key/ptr macro One patch per email, please. > When dumping the bmap with extents in btree form, the traversal > code should use XFS_BMBT_ macros instead of XFS_BMDR_ macros to > access the key and pointer fields below the root node. > > Signed-off-by: Peter Watkins > --- > db/bmap.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/db/bmap.c b/db/bmap.c > index ddad49c..0ef7a62 100644 > --- a/db/bmap.c > +++ b/db/bmap.c > @@ -101,9 +101,9 @@ bmap( > block = (struct xfs_btree_block *)iocur_top->data; > if (be16_to_cpu(block->bb_level) == 0) > break; > - pp = XFS_BMDR_PTR_ADDR(block, 1, > + pp = XFS_BMBT_PTR_ADDR(mp, block, 1, > xfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0)); > - kp = XFS_BMDR_KEY_ADDR(block, 1); > + kp = XFS_BMBT_KEY_ADDR(mp, block, 1); That, I'm pretty sure, is wrong, too, because the root block is a different format to the tree blocks. IOWs,the old code parses tree node blocks with the root block format macro, while your code parses the root node with tree block format macros. Both are wrong. The original was also wrong in that it used xfs_bmbt_maxrecs() instead of xfs_bmdr_maxrecs() for the number of records in the inode root block. I think the correct fix is to use the correct macro depending on the level of the block being processed. i.e. if (block->bb_level == rblock->bb_level) { /* root block in inode */ sz = whichfork = XFS_DATA_FORK ? XFS_BMDR_SPACE_CALC(MINDBTPTRS) : XFS_BMDR_SPACE_CALC(MINABTPTRS); pp = XFS_BMDR_PTR_ADDR(block, 1, xfs_bmdr_maxrecs(mp, sz, 0)); kp = XFS_BMDR_KEY_ADDR(block, 1); } else { /* node block in tree */ pp = XFS_BMBT_PTR_ADDR(mp, block, 1, xfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0)); kp = XFS_BMBT_KEY_ADDR(mp, block, 1); } Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Aug 2 18:31:34 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q72NVXCO254878 for ; Thu, 2 Aug 2012 18:31:34 -0500 X-ASG-Debug-ID: 1343950292-04bdf02d152ab110001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id ObKNC9MJinhNpTG9 for ; Thu, 02 Aug 2012 16:31:32 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AtcMAGkMG1B5LBl6/2dsb2JhbABFhRKzBgECf4EIgiABAQU6HCMQCAMYLhQlAyETiAy9VBSLNoEWV4UXA5VGiSyGYoJx Received: from ppp121-44-25-122.lns20.syd6.internode.on.net (HELO dastard) ([121.44.25.122]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Aug 2012 09:01:31 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1Sx4rb-000362-4T; Fri, 03 Aug 2012 09:31:31 +1000 Date: Fri, 3 Aug 2012 09:31:31 +1000 From: Dave Chinner To: Eric Sandeen Cc: Peter Watkins , xfs@oss.sgi.com Subject: Re: xfs_db: bug in bmap command? Message-ID: <20120802233131.GQ2877@dastard> X-ASG-Orig-Subj: Re: xfs_db: bug in bmap command? References: <501AFCF1.70804@sandeen.net> <501AFE80.40709@sandeen.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <501AFE80.40709@sandeen.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1343950292 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104509 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Thu, Aug 02, 2012 at 05:26:08PM -0500, Eric Sandeen wrote: > On 8/2/12 5:19 PM, Eric Sandeen wrote: > > On 8/1/12 10:17 AM, Peter Watkins wrote: > >> Hello, > >> > >> If you have a moment would you be kind enough to review the test case > >> and patch below? > >> > >> I ran into this while using xfs_db to dump extents for a large, > >> fragmented file. The extents were stored in btree form. > > > > The xfs_db change looks right. > > (and I'll merge it, Reviewed-by: Eric Sandeen ) Not so fast! Cheers, Dave. -- Dave Chinner david@fromorbit.com From david@fromorbit.com Thu Aug 2 21:37:19 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q732bIK7014830 for ; Thu, 2 Aug 2012 21:37:19 -0500 X-ASG-Debug-ID: 1343961436-04bdf02d172c6b90001-NocioJ Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id Gw0wAxevx5GCrOs8 for ; Thu, 02 Aug 2012 19:37:16 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.143 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AroMAMw3G1B5LBl6/2dsb2JhbABFhRKzDgECgQCBCIIgAQEFJxMcIxAIAw4KLhQlAyETiAy9WxSLM4EWV4UXA5VHiSyGYoJx Received: from ppp121-44-25-122.lns20.syd6.internode.on.net (HELO dastard) ([121.44.25.122]) by ipmail05.adl6.internode.on.net with ESMTP; 03 Aug 2012 12:07:14 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1Sx7lH-0003NE-TM; Fri, 03 Aug 2012 12:37:11 +1000 Date: Fri, 3 Aug 2012 12:37:11 +1000 From: Dave Chinner To: Peter Watkins Cc: xfs@oss.sgi.com Subject: Re: xfs_db: bug in bmap command? Message-ID: <20120803023711.GR2877@dastard> X-ASG-Orig-Subj: Re: xfs_db: bug in bmap command? References: <20120802233025.GP2877@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120802233025.GP2877@dastard> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail05.adl6.internode.on.net[150.101.137.143] X-Barracuda-Start-Time: 1343961436 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104522 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Fri, Aug 03, 2012 at 09:30:25AM +1000, Dave Chinner wrote: > > diff --git a/db/bmap.c b/db/bmap.c > > index ddad49c..0ef7a62 100644 > > --- a/db/bmap.c > > +++ b/db/bmap.c > > @@ -101,9 +101,9 @@ bmap( > > block = (struct xfs_btree_block *)iocur_top->data; > > if (be16_to_cpu(block->bb_level) == 0) > > break; > > - pp = XFS_BMDR_PTR_ADDR(block, 1, > > + pp = XFS_BMBT_PTR_ADDR(mp, block, 1, > > xfs_bmbt_maxrecs(mp, mp->m_sb.sb_blocksize, 0)); > > - kp = XFS_BMDR_KEY_ADDR(block, 1); > > + kp = XFS_BMBT_KEY_ADDR(mp, block, 1); > > That, I'm pretty sure, is wrong, too, because the root block is a > different format to the tree blocks. IOWs,the old code parses > tree node blocks with the root block format macro, while your code > parses the root node with tree block format macros. Both are wrong. > The original was also wrong in that it used xfs_bmbt_maxrecs() > instead of xfs_bmdr_maxrecs() for the number of records in the inode > root block. Ignore this, I misread the code in bmap(). the root block is already dealt with before entering the first loop, so it will never come across the root block and so have to handle it. My mistake, the patch as is should work just fine. Cheers, Dave. -- Dave Chinner david@fromorbit.com From sandeen@sandeen.net Thu Aug 2 23:03:19 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q7343I83025513 for ; Thu, 2 Aug 2012 23:03:19 -0500 X-ASG-Debug-ID: 1343966591-04bdf02d162d4430001-NocioJ Received: from mail.sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id O59SCDUviQWzaCyn for ; Thu, 02 Aug 2012 21:03:11 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 2F988496334D; Thu, 2 Aug 2012 23:03:11 -0500 (CDT) Message-ID: <501B4D7E.1000303@sandeen.net> Date: Thu, 02 Aug 2012 23:03:10 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Stefan Priebe - Profihost AG CC: "xfs@oss.sgi.com" Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <5017E426.2040709@profihost.ag> X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1343966591 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104528 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 7/31/12 8:56 AM, Stefan Priebe - Profihost AG wrote: > Hello list, > > i'm planning to create a couple of VMs with just 30GB of space while using xfs as the main filesystem. > > Now i alreay know that some of the VMs will grow up to 250GB while resizing the block device and using xfs_growfs. > > Should i take care of that and format these disks with special parameters? > > I've discovered that a 500GB volume has agcount=4 and 64000 blocks of internal log - while a 300GB volume resized to 500GB has agcount 7 ad only 40960 blocks of internal log. > > Is it a problem if this grow will happen in small portions (30GB => 50GB => 75GB => 100GB => ... 300GB)? This incremental part doesn't matter a bit. The first mkfs will choose the AG count & size according to defaults; further growth after this will add new (possibly partial) AGs of that pre-chosen size. -Eric > Thanks! > > Greets, > Stefan > > _______________________________________________ > xfs mailing list > xfs@oss.sgi.com > http://oss.sgi.com/mailman/listinfo/xfs > From s.priebe@profihost.ag Fri Aug 3 01:09:16 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q7369FUq044422 for ; Fri, 3 Aug 2012 01:09:16 -0500 X-ASG-Debug-ID: 1343974153-04cb6c19402ca6e0001-NocioJ Received: from mail.profihost.ag (mail.profihost.ag [85.158.179.208]) by cuda.sgi.com with ESMTP id PG4Pc0Exxg4uKo1N (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:09:14 -0700 (PDT) X-Barracuda-Envelope-From: s.priebe@profihost.ag X-Barracuda-Apparent-Source-IP: 85.158.179.208 Received: (qmail 13151 invoked from network); 3 Aug 2012 08:09:12 +0200 Received: from fw-office.allied-internet.ag (HELO [192.168.1.148]) (85.158.179.66) (smtp-auth username hostmaster@profihost.com, mechanism plain) by mail.profihost.ag (qpsmtpd/0.82) with (AES256-SHA encrypted) ESMTPSA; Fri, 03 Aug 2012 08:09:12 +0200 Message-ID: <501B6B04.2090002@profihost.ag> Date: Fri, 03 Aug 2012 08:09:08 +0200 From: Stefan Priebe - Profihost AG User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0 MIME-Version: 1.0 To: Eric Sandeen CC: "xfs@oss.sgi.com" Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <501B4D7E.1000303@sandeen.net> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <501B4D7E.1000303@sandeen.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-User-Auth: Auth by hostmaster@profihost.com through 85.158.179.66 X-Barracuda-Connect: mail.profihost.ag[85.158.179.208] X-Barracuda-Start-Time: 1343974153 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104536 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Am 03.08.2012 06:03, schrieb Eric Sandeen: > On 7/31/12 8:56 AM, Stefan Priebe - Profihost AG wrote: >> Hello list, >> >> i'm planning to create a couple of VMs with just 30GB of space while using xfs as the main filesystem. >> >> Now i alreay know that some of the VMs will grow up to 250GB while resizing the block device and using xfs_growfs. >> >> Should i take care of that and format these disks with special parameters? >> >> I've discovered that a 500GB volume has agcount=4 and 64000 blocks of internal log - while a 300GB volume resized to 500GB has agcount 7 ad only 40960 blocks of internal log. >> >> Is it a problem if this grow will happen in small portions (30GB => 50GB => 75GB => 100GB => ... 300GB)? > > This incremental part doesn't matter a bit. The first mkfs will choose the AG count & size according to defaults; > further growth after this will add new (possibly partial) AGs of that pre-chosen size. OK thanks for your reply. But does this influence performance? Should i perhaps start creating the 30GB with agcount 1 so that while raising the disk i don't end up with such a high agcount value? Does it make sense to create a bigger internal log from he beginning? Thanks Stefan From jeff.liu@oracle.com Fri Aug 3 01:11:29 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q736BS1B044797 for ; Fri, 3 Aug 2012 01:11:29 -0500 X-ASG-Debug-ID: 1343974287-04cb6c19402ca870001-NocioJ Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by cuda.sgi.com with ESMTP id rqAQtTDi12giH3eA (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:11:28 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 148.87.113.117 X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q736BQBa006213 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 3 Aug 2012 06:11:27 GMT X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q736BP3F029351 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 3 Aug 2012 06:11:26 GMT Received: from abhmt120.oracle.com (abhmt120.oracle.com [141.146.116.72]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q736BP3l019175 for ; Fri, 3 Aug 2012 01:11:25 -0500 Received: from [192.168.1.103] (/221.223.111.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 02 Aug 2012 23:11:25 -0700 Message-ID: <501B6B62.7040303@oracle.com> Date: Fri, 03 Aug 2012 14:10:42 +0800 From: Jeff Liu Reply-To: jeff.liu@oracle.com Organization: Oracle User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.28) Gecko/20120313 Thunderbird/3.1.20 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH v6 1/4] xfs: Remove type argument from xfs_seek_data()/xfs_seek_hole() Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v6 1/4] xfs: Remove type argument from xfs_seek_data()/xfs_seek_hole() Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: rcsinet15.oracle.com[148.87.113.117] X-Barracuda-Start-Time: 1343974288 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com The type is already indicated by the function naming explicitly, so this argument can be omitted from those calls. Signed-off-by: Jie Liu --- fs/xfs/xfs_file.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 9f7ec15..98642cf 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -969,8 +969,7 @@ xfs_vm_page_mkwrite( STATIC loff_t xfs_seek_data( struct file *file, - loff_t start, - u32 type) + loff_t start) { struct inode *inode = file->f_mapping->host; struct xfs_inode *ip = XFS_I(inode); @@ -1036,8 +1035,7 @@ out_unlock: STATIC loff_t xfs_seek_hole( struct file *file, - loff_t start, - u32 type) + loff_t start) { struct inode *inode = file->f_mapping->host; struct xfs_inode *ip = XFS_I(inode); @@ -1099,9 +1097,9 @@ xfs_file_llseek( case SEEK_SET: return generic_file_llseek(file, offset, origin); case SEEK_DATA: - return xfs_seek_data(file, offset, origin); + return xfs_seek_data(file, offset); case SEEK_HOLE: - return xfs_seek_hole(file, offset, origin); + return xfs_seek_hole(file, offset); default: return -EINVAL; } -- 1.7.4.1 From jeff.liu@oracle.com Fri Aug 3 01:11:29 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q736BTvB044804 for ; Fri, 3 Aug 2012 01:11:29 -0500 X-ASG-Debug-ID: 1343974288-04cbb06daf2f6a10001-NocioJ Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by cuda.sgi.com with ESMTP id qXioV2HLq6BX6Uo3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:11:28 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 148.87.113.117 X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q736BRFE006221 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 3 Aug 2012 06:11:28 GMT X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q736BQYD029367 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 3 Aug 2012 06:11:27 GMT Received: from abhmt118.oracle.com (abhmt118.oracle.com [141.146.116.70]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q736BQoN019189 for ; Fri, 3 Aug 2012 01:11:26 -0500 Received: from [192.168.1.103] (/221.223.111.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 02 Aug 2012 23:10:51 -0700 ORGANIZATION: Oracle USER-AGENT: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.28) Gecko/20120313 Thunderbird/3.1.20 MIME-Version: 1.0 Message-ID: <501B6B3F.7040502@oracle.com> Date: Thu, 2 Aug 2012 23:10:07 -0700 (PDT) From: Jeff Liu To: xfs@oss.sgi.com Subject: [PATCH v6 0/4] xfs: seek_data/seek_hole refinements Reply-To: jeff.liu@oracle.com X-ASG-Orig-Subj: [PATCH v6 0/4] xfs: seek_data/seek_hole refinements Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: rcsinet15.oracle.com[148.87.113.117] X-Barracuda-Start-Time: 1343974288 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Hello, This is the new version of supplying xfs_seek_data/xfs_seek_hole refinements by probing page cache to find out the desired offset for unwritten extents. Hi Dave, According to your comments for v5, we have to check both page->index && page->mapping after locking a page due to memory reclaim or truncate. For page->mapping, it definitely need to check up again as it may be invalidated or truncated. For page->index, we have a reference on this page at pagevec_lookup(), to this point, its mapping may be set to NULL, but it would still resides in cache or swap space IMHO, so the index will not change because of that. I think I must missing something in this point, could you please give some hints? Changes from v6 to v5: - Fix off-by-one bug for calculating the number of pages to be mapped. - Fix a few comments according to Mark and Dave's comments. - Introduce a new helper routine xfs_lookup_buffer_offset() to lookup the desired offset from one page. This could help reducing one level of indention at xfs_find_get_pgoff(). - Verify page->mapping after page got locked at xfs_find_get_pgoff() as a searched page may be invalidated/truncated at memory reclarim or page truncation stage. - xfs_seek_data()/xfs_seek_hole(): loop bodys are indent by one level as for if statements. Old version: Version 5 of this posting can be found at http://www.spinics.net/lists/xfs/msg12987.html Version 4 of this posting can be found at http://oss.sgi.com/archives/xfs/2012-07/msg00279.html Version 3 of this posting can be found at http://oss.sgi.com/archives/xfs/2012-07/msg00050.html Version 2 of this posting can be found at http://oss.sgi.com/archives/xfs/2012-06/msg00407.html Version 1 of this posting can be found at http://www.digipedia.pl/usenet/thread/11980/26875/ Thanks, -Jeff From jeff.liu@oracle.com Fri Aug 3 01:11:43 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_64 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q736Bh6E044845 for ; Fri, 3 Aug 2012 01:11:43 -0500 X-ASG-Debug-ID: 1343974301-04cb6c193e2ca890001-NocioJ Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) by cuda.sgi.com with ESMTP id kQmWu7IPdQ2Ix5bb (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:11:42 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 141.146.126.227 X-Barracuda-IPDD: Level2 [oracle.com/141.146.126.227] Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q736BdxH014116 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 3 Aug 2012 06:11:40 GMT X-Barracuda-IPDD: Level2 [oracle.com/141.146.126.227] X-Barracuda-IPDD: Level2 [oracle.com/141.146.126.227] X-Barracuda-IPDD: Level2 [oracle.com/141.146.126.227] X-Barracuda-IPDD: Level2 [oracle.com/141.146.126.227] Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q736BcsM029569 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 3 Aug 2012 06:11:39 GMT Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q736BcTG024157 for ; Fri, 3 Aug 2012 01:11:38 -0500 Received: from [192.168.1.103] (/221.223.111.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 02 Aug 2012 23:11:37 -0700 Message-ID: <501B6B6F.2090101@oracle.com> Date: Fri, 03 Aug 2012 14:10:55 +0800 From: Jeff Liu Reply-To: jeff.liu@oracle.com Organization: Oracle User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.28) Gecko/20120313 Thunderbird/3.1.20 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH v6 2/4] xfs: Introduce a new function to find the desired type of offset from page cache Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v6 2/4] xfs: Introduce a new function to find the desired type of offset from page cache Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Barracuda-Connect: acsinet15.oracle.com[141.146.126.227] X-Barracuda-Start-Time: 1343974301 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Introduce helpers to probe data or hole offset from page cache for unwritten extents. --- fs/xfs/xfs_file.c | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 213 insertions(+), 0 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index 98642cf..aff0c30 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -36,6 +36,7 @@ #include #include +#include static const struct vm_operations_struct xfs_file_vm_ops; @@ -966,6 +967,218 @@ xfs_vm_page_mkwrite( return block_page_mkwrite(vma, vmf, xfs_get_blocks); } +/* + * This type is designed to indicate the type of offset we would like + * to search from page cache for either xfs_seek_data() or xfs_seek_hole(). + */ +enum { + HOLE_OFF = 0, + DATA_OFF, +}; + +/* + * Lookup the desired type of offset from the given page. + * + * On success, return true and the offset argument will point to the + * searched offset. Otherwise this function will return false and + * keep the offset argument unchanged. + */ +STATIC bool +xfs_lookup_buffer_offset( + struct page *page, + loff_t *offset, + unsigned int type) +{ + loff_t lastoff = page_offset(page); + bool found = false; + struct buffer_head *bh, *head; + + bh = head = page_buffers(page); + do { + /* + * Unwritten extents that have data in the page + * cache covering them can be identified by the + * BH_Unwritten state flag. Pages with multiple + * buffers might have a mix of holes, data and + * unwritten extents - any buffer with valid + * data in it should have BH_Uptodate flag set + * on it. + */ + if (buffer_unwritten(bh) || + buffer_uptodate(bh)) { + if (type == DATA_OFF) + found = true; + } else { + if (type == HOLE_OFF) + found = true; + } + + if (found) { + *offset = lastoff; + unlock_page(page); + break; + } + lastoff += bh->b_size; + } while ((bh = bh->b_this_page) != head); + + return found; +} + +/* + * This routine is called to find out and return a data or hole offset + * from the page cache for unwritten extents according to the desired + * type for xfs_seek_data() or xfs_seek_hole(). + * + * The argument offset is used to tell where we start to search from the + * page cache. Map is used to figure out the end points of the range to + * lookup pages. + * + * Return true if the desired type of offset was found, and the argument + * offset is filled with that address. Otherwise, return false and keep + * offset unchanged. + */ +STATIC bool +xfs_find_get_desired_pgoff( + struct inode *inode, + struct xfs_bmbt_irec *map, + unsigned int type, + loff_t *offset) +{ + struct xfs_inode *ip = XFS_I(inode); + struct xfs_mount *mp = ip->i_mount; + struct pagevec pvec; + pgoff_t index; + pgoff_t end; + loff_t endoff; + loff_t startoff = *offset; + loff_t lastoff = startoff; + bool found = false; + + pagevec_init(&pvec, 0); + + index = startoff >> PAGE_CACHE_SHIFT; + endoff = XFS_FSB_TO_B(mp, map->br_startoff + map->br_blockcount); + end = endoff >> PAGE_CACHE_SHIFT; + do { + int want; + unsigned nr_pages; + unsigned int i; + + want = min_t(pgoff_t, end - index, (pgoff_t)PAGEVEC_SIZE); + nr_pages = pagevec_lookup(&pvec, inode->i_mapping, index, + want); + /* + * No page mapped into given range. If we are searching holes + * and if this is the first time we got into the loop, it means + * that the given offset is landed in a hole, return it. + * + * If we have already stepped through some block buffers to find + * holes but they all contains data. In this case, the last + * offset is already updated and pointed to the end of the last + * mapped page, if it does not reach the endpoint to search, + * that means there should be a hole between them. + */ + if (nr_pages == 0) { + /* Data search found nothing */ + if (type == DATA_OFF) + break; + + ASSERT(type == HOLE_OFF); + if (lastoff == startoff || lastoff < endoff) { + found = true; + *offset = lastoff; + } + break; + } + + /* + * At lease we found one page. If this is the first time we + * step into the loop, and if the first page index offset is + * greater than the given search offset, a hole was found. + */ + if (type == HOLE_OFF && lastoff == startoff && + lastoff < page_offset(pvec.pages[0])) { + found = true; + break; + } + + for (i = 0; i < nr_pages; i++) { + struct page *page = pvec.pages[i]; + loff_t b_offset; + + /* + * Page index is out of range, searching done. + * If the current offset is not reaches the end + * of the specified search range, there should + * be a hole between them. + */ + if (page->index > end) { + if (type == HOLE_OFF && lastoff < endoff) { + *offset = lastoff; + found = true; + } + goto out; + } + + lock_page(page); + /* + * Page truncated or invalidated(page->mapping == NULL). + * We can freely skip it and proceed to check the next + * page. + */ + if (unlikely(page->mapping != inode->i_mapping)) { + unlock_page(page); + continue; + } + + if (!page_has_buffers(page)) { + unlock_page(page); + continue; + } + + found = xfs_lookup_buffer_offset(page, &b_offset, type); + if (found) { + /* + * The found offset may be less than the start + * point to search if this is the first time to + * come here. + */ + *offset = max_t(loff_t, startoff, b_offset); + goto out; + } + + /* + * We either searching data but nothing was found, or + * searching hole but found a data buffer. In either + * case, probably the next page contains the desired + * things, update the last offset to it so. + */ + lastoff = page_offset(page) + PAGE_SIZE; + unlock_page(page); + } + + /* + * The number of returned pages less than our desired, search + * done. In this case, nothing was found for searching data, + * but we found a hole behind the last offset. + */ + if (nr_pages < want) { + if (type == HOLE_OFF) { + *offset = lastoff; + found = true; + } + break; + } + + index = pvec.pages[i - 1]->index + 1; + pagevec_release(&pvec); + } while (index < end); + +out: + pagevec_release(&pvec); + return found; +} + STATIC loff_t xfs_seek_data( struct file *file, -- 1.7.4.1 From jeff.liu@oracle.com Fri Aug 3 01:11:54 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q736BsLc044875 for ; Fri, 3 Aug 2012 01:11:54 -0500 X-ASG-Debug-ID: 1343974312-04bdf02d172e57c0001-NocioJ Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by cuda.sgi.com with ESMTP id IkEXYYExZgX365OD (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:11:53 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 148.87.113.117 X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q736BpUo006473 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 3 Aug 2012 06:11:51 GMT X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q736BoXp012515 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 3 Aug 2012 06:11:51 GMT Received: from abhmt105.oracle.com (abhmt105.oracle.com [141.146.116.57]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q736BofX024256 for ; Fri, 3 Aug 2012 01:11:50 -0500 Received: from [192.168.1.103] (/221.223.111.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 02 Aug 2012 23:11:50 -0700 Message-ID: <501B6B7B.5040602@oracle.com> Date: Fri, 03 Aug 2012 14:11:07 +0800 From: Jeff Liu Reply-To: jeff.liu@oracle.com Organization: Oracle User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.28) Gecko/20120313 Thunderbird/3.1.20 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH v6 3/4] xfs: xfs_seek_data() refinement with lookup data buffer offset from page cache Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v6 3/4] xfs: xfs_seek_data() refinement with lookup data buffer offset from page cache Content-Transfer-Encoding: 7bit X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-Barracuda-Connect: rcsinet15.oracle.com[148.87.113.117] X-Barracuda-Start-Time: 1343974312 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Refine xfs_seek_data() to check up data buffer offset from page cache for unwritten extents. Signed-off-by: Jie Liu --- fs/xfs/xfs_file.c | 77 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 59 insertions(+), 18 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index aff0c30..e852e52 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -1187,8 +1187,6 @@ xfs_seek_data( struct inode *inode = file->f_mapping->host; struct xfs_inode *ip = XFS_I(inode); struct xfs_mount *mp = ip->i_mount; - struct xfs_bmbt_irec map[2]; - int nmap = 2; loff_t uninitialized_var(offset); xfs_fsize_t isize; xfs_fileoff_t fsbno; @@ -1204,34 +1202,77 @@ xfs_seek_data( goto out_unlock; } - fsbno = XFS_B_TO_FSBT(mp, start); - /* * Try to read extents from the first block indicated * by fsbno to the end block of the file. */ + fsbno = XFS_B_TO_FSBT(mp, start); end = XFS_B_TO_FSB(mp, isize); + for (;;) { + struct xfs_bmbt_irec map[2]; + int nmap = 2; - error = xfs_bmapi_read(ip, fsbno, end - fsbno, map, &nmap, - XFS_BMAPI_ENTIRE); - if (error) - goto out_unlock; + error = xfs_bmapi_read(ip, fsbno, end - fsbno, map, &nmap, + XFS_BMAPI_ENTIRE); + if (error) + goto out_unlock; - /* - * Treat unwritten extent as data extent since it might - * contains dirty data in page cache. - */ - if (map[0].br_startblock != HOLESTARTBLOCK) { - offset = max_t(loff_t, start, - XFS_FSB_TO_B(mp, map[0].br_startoff)); - } else { + /* No extents at given offset, must be beyond EOF */ + if (nmap == 0) { + error = ENXIO; + goto out_unlock; + } + + offset = start; + /* Landed in a data extent */ + if (map[0].br_startblock == DELAYSTARTBLOCK || + (map[0].br_state == XFS_EXT_NORM && + !isnullstartblock(map[0].br_startblock))) + break; + + /* + * Landed in an unwritten extent, try to search data + * from page cache. + */ + if (map[0].br_state == XFS_EXT_UNWRITTEN) { + if (xfs_find_get_desired_pgoff(inode, &map[0], + DATA_OFF, &offset)) + break; + } + + /* + * map[0] is hole or its an unwritten extent but + * without data in page cache. Probably means that + * we are reading after EOF if nothing in map[1]. + */ if (nmap == 1) { error = ENXIO; goto out_unlock; } - offset = max_t(loff_t, start, - XFS_FSB_TO_B(mp, map[1].br_startoff)); + /* We have two mappings, proceed to check map[1] */ + offset = XFS_FSB_TO_B(mp, map[1].br_startoff); + if (map[1].br_startblock == DELAYSTARTBLOCK || + (map[1].br_state == XFS_EXT_NORM && + !isnullstartblock(map[1].br_startblock))) + break; + + if (map[1].br_state == XFS_EXT_UNWRITTEN) { + if (xfs_find_get_desired_pgoff(inode, &map[1], + DATA_OFF, &offset)) + break; + } + + /* + * Nothing was found, proceed to the next round of search + * if reading offset not beyond or hit EOF. + */ + fsbno = map[1].br_startoff + map[1].br_blockcount; + start = XFS_FSB_TO_B(mp, fsbno); + if (start >= isize) { + error = ENXIO; + goto out_unlock; + } } if (offset != file->f_pos) -- 1.7.4.1 From jeff.liu@oracle.com Fri Aug 3 01:11:59 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q736BxoL044888 for ; Fri, 3 Aug 2012 01:11:59 -0500 X-ASG-Debug-ID: 1343974318-04cb6c193e2ca8c0001-NocioJ Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by cuda.sgi.com with ESMTP id Pb4r7ZXuCZxQ7agP (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Thu, 02 Aug 2012 23:11:58 -0700 (PDT) X-Barracuda-Envelope-From: jeff.liu@oracle.com X-Barracuda-Apparent-Source-IP: 148.87.113.117 X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from ucsinet21.oracle.com (ucsinet21.oracle.com [156.151.31.93]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q736BvDx006544 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 3 Aug 2012 06:11:58 GMT X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] X-Barracuda-IPDD: Level2 [oracle.com/148.87.113.117] Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by ucsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q736Bv6g022424 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 3 Aug 2012 06:11:57 GMT Received: from abhmt117.oracle.com (abhmt117.oracle.com [141.146.116.69]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q736Bu4M019467 for ; Fri, 3 Aug 2012 01:11:56 -0500 Received: from [192.168.1.103] (/221.223.111.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 02 Aug 2012 23:11:56 -0700 Message-ID: <501B6B82.10405@oracle.com> Date: Fri, 03 Aug 2012 14:11:14 +0800 From: Jeff Liu Reply-To: jeff.liu@oracle.com Organization: Oracle User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.28) Gecko/20120313 Thunderbird/3.1.20 MIME-Version: 1.0 To: xfs@oss.sgi.com Subject: [PATCH v6 4/4] xfs: xfs_seek_hole() refinement with lookup hole offset from page cache Content-Type: text/plain; charset=ISO-8859-1 X-ASG-Orig-Subj: [PATCH v6 4/4] xfs: xfs_seek_hole() refinement with lookup hole offset from page cache Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet21.oracle.com [156.151.31.93] X-Barracuda-Connect: rcsinet15.oracle.com[148.87.113.117] X-Barracuda-Start-Time: 1343974318 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com xfs_seek_hole() refinement with hole searching from page cache for unwritten extent. Signed-off-by: Jie Liu --- fs/xfs/xfs_file.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 69 insertions(+), 10 deletions(-) diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c index e852e52..0ab27eb 100644 --- a/fs/xfs/xfs_file.c +++ b/fs/xfs/xfs_file.c @@ -1295,9 +1295,9 @@ xfs_seek_hole( struct xfs_inode *ip = XFS_I(inode); struct xfs_mount *mp = ip->i_mount; loff_t uninitialized_var(offset); - loff_t holeoff; xfs_fsize_t isize; xfs_fileoff_t fsbno; + xfs_filblks_t end; uint lock; int error; @@ -1313,21 +1313,80 @@ xfs_seek_hole( } fsbno = XFS_B_TO_FSBT(mp, start); - error = xfs_bmap_first_unused(NULL, ip, 1, &fsbno, XFS_DATA_FORK); - if (error) - goto out_unlock; + end = XFS_B_TO_FSB(mp, isize); + + for (;;) { + struct xfs_bmbt_irec map[2]; + int nmap = 2; + + error = xfs_bmapi_read(ip, fsbno, end - fsbno, map, &nmap, + XFS_BMAPI_ENTIRE); + if (error) + goto out_unlock; + + /* No extents at given offset, must be beyond EOF */ + if (nmap == 0) { + error = ENXIO; + goto out_unlock; + } - holeoff = XFS_FSB_TO_B(mp, fsbno); - if (holeoff <= start) offset = start; - else { + /* Landed in a hole */ + if (map[0].br_startblock == HOLESTARTBLOCK) + break; + /* - * xfs_bmap_first_unused() could return a value bigger than - * isize if there are no more holes past the supplied offset. + * Landed in an unwritten extent, try to search hole from + * page cache. */ - offset = min_t(loff_t, holeoff, isize); + if (map[0].br_state == XFS_EXT_UNWRITTEN) { + if (xfs_find_get_desired_pgoff(inode, &map[0], + HOLE_OFF, &offset)) + break; + } + + /* + * map[0] contains data or its unwritten but contains + * data in page cache, probably means that we are + * reading after EOF. We should fix offset to point + * to the end of the file(i.e., there is an implicit + * hole at the end of any file). + */ + if (nmap == 1) { + offset = isize; + break; + } + + /* We have two mappings, proceed to check map[1] */ + offset = XFS_FSB_TO_B(mp, map[1].br_startoff); + if (map[1].br_startblock == HOLESTARTBLOCK) + break; + + if (map[1].br_state == XFS_EXT_UNWRITTEN) { + if (xfs_find_get_desired_pgoff(inode, &map[1], + HOLE_OFF, &offset)) + break; + } + + /* + * Both mappings contains data, proceed to the next round of + * search if the current reading offset not beyond or hit EOF. + */ + fsbno = map[1].br_startoff + map[1].br_blockcount; + start = XFS_FSB_TO_B(mp, fsbno); + if (start >= isize) { + offset = isize; + break; + } } + /* + * At this point, we must have found a hole. However, the returned + * offset may be bigger than the file size as it may be aligned to + * page boundary for unwritten extents, we need to deal with this + * situation in particular. + */ + offset = min_t(loff_t, offset, isize); if (offset != file->f_pos) file->f_pos = offset; -- 1.7.4.1 From stan@hardwarefreak.com Fri Aug 3 06:28:29 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73BSTpa088411 for ; Fri, 3 Aug 2012 06:28:29 -0500 X-ASG-Debug-ID: 1343993308-04cb6c19402fbdc0001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id tCLj45WquCDhF3VC for ; Fri, 03 Aug 2012 04:28:28 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 1F7D36C0B3; Fri, 3 Aug 2012 06:28:28 -0500 (CDT) Message-ID: <501BB5DD.1000302@hardwarefreak.com> Date: Fri, 03 Aug 2012 06:28:29 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: stan@hardwarefreak.com CC: Jason Newton , xfs@oss.sgi.com Subject: Re: realtime section bugs still around References: <20120730030333.GE2877@dastard> <50186E51.1020107@hardwarefreak.com> <5018A8C7.8050406@hardwarefreak.com> <5019CC34.5050003@hardwarefreak.com> <501A58DB.7070801@hardwarefreak.com> X-ASG-Orig-Subj: Re: realtime section bugs still around In-Reply-To: <501A58DB.7070801@hardwarefreak.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1343993308 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On 8/2/2012 5:39 AM, Stan Hoeppner wrote: > We already gave you the biggest cause of your latency, which is garbage > collection/wear leveling. You can't see inside the SSDs, but you can > see the latency jump with either top (%wa) or iostat (await, > milliseconds). Run > > iostat -x -d 1 20 > > and you get 20 reports 1 second apart. 1s is minimum granularity. This > should clearly show the latency spikes caused by the SSDs. Maybe even > execute it for 60 seconds and pipe to a file. The above assumes Linux can see the individual devices. I've never used Intel's fakeraid. If its driver presents a single device to the kernel instead of both SSD devices, iostat won't show which SSD's garbage collection is kicking in and/or when. It would be most beneficial if you could see the iostat data for both SSD devices as it would tell you exactly when each drive's GC/leveling kicks in. If the Intel fakeraid doesn't allow you to see both devices, you'll need to switch to md/RAID. I'm sure that will be problematic as you're very likely booting from the Intel RAIDed SSD device. -- Stan From sandeen@sandeen.net Fri Aug 3 08:46:15 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73DkFeL108636 for ; Fri, 3 Aug 2012 08:46:15 -0500 X-ASG-Debug-ID: 1344001573-04bdf02d1832ac50001-NocioJ Received: from mail.sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id BSXXqJ67PqTzrKgu for ; Fri, 03 Aug 2012 06:46:13 -0700 (PDT) X-Barracuda-Envelope-From: sandeen@sandeen.net X-Barracuda-Apparent-Source-IP: 63.231.237.45 Received: from liberator.sandeen.net (liberator.sandeen.net [10.0.0.4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sandeen.net (Postfix) with ESMTP id 5BA69496334D; Fri, 3 Aug 2012 08:46:13 -0500 (CDT) Message-ID: <501BD625.9000505@sandeen.net> Date: Fri, 03 Aug 2012 08:46:13 -0500 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Stefan Priebe - Profihost AG CC: "xfs@oss.sgi.com" Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <501B4D7E.1000303@sandeen.net> <501B6B04.2090002@profihost.ag> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <501B6B04.2090002@profihost.ag> X-Enigmail-Version: 1.4.3 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: sandeen.net[63.231.237.45] X-Barracuda-Start-Time: 1344001573 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104566 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On 8/3/12 1:09 AM, Stefan Priebe - Profihost AG wrote: > Am 03.08.2012 06:03, schrieb Eric Sandeen: >> On 7/31/12 8:56 AM, Stefan Priebe - Profihost AG wrote: >>> Hello list, >>> >>> i'm planning to create a couple of VMs with just 30GB of space >>> while using xfs as the main filesystem. >>> >>> Now i alreay know that some of the VMs will grow up to 250GB >>> while resizing the block device and using xfs_growfs. >>> >>> Should i take care of that and format these disks with special >>> parameters? >>> >>> I've discovered that a 500GB volume has agcount=4 and 64000 >>> blocks of internal log - while a 300GB volume resized to 500GB >>> has agcount 7 ad only 40960 blocks of internal log. >>> >>> Is it a problem if this grow will happen in small portions (30GB >>> => 50GB => 75GB => 100GB => ... 300GB)? >> >> This incremental part doesn't matter a bit. The first mkfs will >> choose the AG count & size according to defaults; further growth >> after this will add new (possibly partial) AGs of that pre-chosen >> size. > > OK thanks for your reply. But does this influence performance? Should > i perhaps start creating the 30GB with agcount 1 so that while > raising the disk i don't end up with such a high agcount value? Does > it make sense to create a bigger internal log from he beginning? You can't make a single-AG filesystem, for starters. I'd really suggest that you just do some testing, and see if your proposed mkfs/growth plan impacts your VM performance in any significant way. -Eric > Thanks > > Stefan > From 31OUbUBEGA5U4D1JH_7CCDKzI7DCSFF.1DBM4HDHH.H57.1DB@photos-server.bounces.google.com Fri Aug 3 09:53:14 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=BAYES_80,FREEMAIL_FROM, MIME_8BIT_HEADER,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73ErDKG116747 for ; Fri, 3 Aug 2012 09:53:14 -0500 X-ASG-Debug-ID: 1344005588-04cb6c193f31be20001-NocioJ Received: from mail-ob0-f201.google.com (mail-ob0-f201.google.com [209.85.214.201]) by cuda.sgi.com with ESMTP id JzdyQNcjUYIoLgwJ (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Fri, 03 Aug 2012 07:53:09 -0700 (PDT) X-Barracuda-Envelope-From: 31OUbUBEGA5U4D1JH_7CCDKzI7DCSFF.1DBM4HDHH.H57.1DB@photos-server.bounces.google.com X-Barracuda-Apparent-Source-IP: 209.85.214.201 X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] Received: by obbun3 with SMTP id un3so663701obb.2 for ; Fri, 03 Aug 2012 07:53:08 -0700 (PDT) X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] MIME-Version: 1.0 Received: by 10.43.12.198 with SMTP id pj6mt1811709icb.8.1344005588163; Fri, 03 Aug 2012 07:53:08 -0700 (PDT) Reply-To: Hat Supply Message-ID: Date: Fri, 03 Aug 2012 14:53:08 +0000 Subject: =?GB2312?B?SGF0IFN1cHBsedPrxPq5ss/twcvV1cas?= From: Hat Supply X-ASG-Orig-Subj: =?GB2312?B?SGF0IFN1cHBsedPrxPq5ss/twcvV1cas?= To: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=bcaec518701ca9a6d904c65dafed X-Barracuda-Connect: mail-ob0-f201.google.com[209.85.214.201] X-Barracuda-Start-Time: 1344005588 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104572 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --bcaec518701ca9a6d904c65dafed Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Dear Mr/Miss, We have a hat factory in China! Do you need us to help you to gain more and more market on your country? Ok, if so, pls let us know, we will be happy to help you to provide our newest styles selling well on market! Focus Innovation Gifts Company Best Regards, Helen --bcaec518701ca9a6d904c65dafed Content-Type: image/jpeg; name="F3469.jpg" Content-Disposition: attachment; filename="F3469.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAD6AVcDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqC9vbfTrWS5upkt4IxueSRgqqPcmue8d/EPS fh/phutQlzKw/dWyH55D7e3vXyB8S/jLrPj66f7VObbT1Y+VZQnCL7n1PvXPVrworU7MPhamJlaK 0PbfH/7T9lpskln4cgF9MODdScRg+w6mvnbxl8TPEPi6d31HVZnQniJW2oB6YHFcnPdlmOCfxNUp 5mJVc5rxauKnUVtj6vDZdToNS3J550Z/mkZjVSWaJTnBNQXErKTjiqNxKzA/MAa4G22e3BJJalw3 inIVBS/2iV2ghRg1kqzAH5hUe5pGxuFCk09DWUISWpr3msPC7quODxxWf/wkt5kjdx6CmXcLNKee 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 --bcaec518701ca9a6d904c65dafed Content-Type: image/jpeg; name="1.jpg" Content-Disposition: attachment; filename="1.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/4QEWRXhpZgAASUkqAAgAAAAEADEBAgAHAAAAPgAAADIBAgAU AAAARQAAADsBAgAHAAAAWQAAAGmHBAABAAAAYAAAAAAAAABQaWNhc2EAMjAxMjowODowMyAyMjo1 MzowMgBQaWNhc2EABgAAkAcABAAAADAyMjADkAIAFAAAAK4AAAACoAQAAQAAAOABAAADoAQAAQAA ACEBAAAFoAQAAQAAAOQAAAAgpAIAIQAAAMIAAAAAAAAAMjAxMjowNzoyOCAxNjozMToxMgBlN2Zj Y2FlZDhiMzEwZGE4YzhkNDcyYjQ0NzRlODI3MgAAAwACAAcABAAAADAxMDABEAQAAQAAAE8DAAAC EAQAAQAAAP4BAAAAAAAA/+EC12h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0 IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4 bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPiA8cmRmOlJE RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMi PiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9i ZS5jb20veGFwLzEuMC8iIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAv IiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtcDpNb2RpZnlE YXRlPSIyMDEyLTA4LTAzVDIyOjUzOjAyKzA4OjAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIw MTItMDctMjhUMTY6MzE6MTIrMDg6MDAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+ UGljYXNhPC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9kYzpjcmVhdG9yPiA8L3JkZjpEZXNjcmlwdGlv bj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3 Ij8+/+0AdlBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAA+HAEAAAIABBwBWgADGyVHHAIAAAIABBwC NwAIMjAxMjA3MjgcAjwACzE2MzExMiswODAwHAJQAAZQaWNhc2E4QklNBCUAAAAAABAuZWpe0/py 5wnu1oSqnrp0/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhUR ERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgBIQHgAwEiAAIRAQMRAf/EAB0A AAAHAQEBAAAAAAAAAAAAAAABAgUGBwgEAwn/xABSEAABAwMDAgMFBAcFAwgHCQABAgMEAAURBhIh BzETQVEiYXGBkQgUMqEVNkJSdLGzI2KywdEWMzQkQ1RkcpLh8CUmRFWCk5QXNUVTY3WE0vH/xAAb AQEBAQEBAQEBAAAAAAAAAAAAAQIDBAUGB//EAC0RAAICAQQBAwQBAwUAAAAAAAABAhEDBBIhMQUT QVEGFCIycSNCoWGBkcHw/9oADAMBAAIRAxEAPwC+9S6juVkj2BuJK8Jh22NqWNoOTgDPIpkHUS7s qIcluOo/ZUEICh8sc1z9VVKEbTIBOP0Sj+SagSnSlYKlZA5+lLpFVFgzdf6h2qVHnuDjI3No493a mqT1I1QhG43ZaPgyg/5VXmsb9NtNpRIiMJfeU6lAQTyRgqVj1OAa4rJd3rvYkTHktBSlKSS2cg4P Brgpy/b2NSq6J7I6oauT+C+rH/8AHb/0qxug+p7zqZu8Lu88yzHW0GiW0p2hQUT2A9BVCtsNOoyF E5q5/szRxHYv+P2nGP8ACqu5iy41dqru+X+dGuUllm5lCW3VpCQpPGD2qxFVQGs+NS3MlP8A7U5/ Ol0VEhlasuiFKIvSkjAx7Sf9KiuqOpF/t6NsW7vOOHndlO1I+nemt1l1balEbU4qHXVt6ZN8IBSv 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 --bcaec518701ca9a6d904c65dafed Content-Type: image/jpeg; name="F3478.jpg" Content-Disposition: attachment; filename="F3478.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEGAWQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiq99f2+m27T3UyQRL1dzgVwes /F6ygdo7ELLj/lrIcD8qB2ueiUx5Uj+86r9TivBdc+JN/qaMn9oGIHtCcCuRXXLy1ujcxXkjE/eV 2JDVEpxguaTsilBvRH1L9rgP/LaP/vsVIkiyDKsGHsc18+WfxDtJrIx3CyQTAYGASDTbn4jafp8L SJdSgqMgLnNeXLN8uje9eP3o3WFrPaD+4+h6K+aPCH7TFvqermxW8ZSilitwODg4xntXsOg/FHT9 TCrcEQsf+Wincn59q3wmPwuOjzYeopfn925NXD1aLtUjY7aimQzR3EayRurowyGU5Bp9egc4UUUU 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 7A3Y3YzgZx0FFFFAH//Z --bcaec518701ca9a6d904c65dafed Content-Type: image/jpeg; name="F3275.jpg" Content-Disposition: attachment; filename="F3275.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEEAWIDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7y/ZG bf8As9eFD6/a/wD0rmr2GvGv2Pjn9nTwkfe8/wDSyevZaACiiigAooooAKKKKACiiigAooooAKKK KACiiigArD8VeM9J8HWRudTuli4+SIcu/wBBXLfFP4u2fgSNbC123etzrlIAciMf3m9P6183a/q9 94gu5LzUrlp5n5LOeFHoBWNSpyLzNYQ5tXsd74y/aC1PWWkh0tf7OtOm5TmRh7nt+FeYXviG7vHa SRmlc9XdixP4msi71NPMMVsnnOOp/hH1qqYJbj/XSFh/cXgVx+1m+pvyxWyLs+pmbgzkH+7HzXPa 3qGrW/y2VnHPGSMF3wxP5VuxwpCBtXFVr+UCMtkfL835VLlfdjOb0i+1aaSQ6jb/AGU9FVHzWqbi 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 --bcaec518701ca9a6d904c65dafed Content-Type: image/jpeg; name="F3272.jpg" Content-Disposition: attachment; filename="F3272.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEHAV0DASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKZLNHBGXldY0HJZjgCgB9FcD4l+NXhvw8WjWdr+4Xjy7cZGfc15jr/wC0drF2 WXTLOCwjPR3HmP8Arx+lK6HZn0WSFGScD3qpdavY2Slp7uGIDuzgV8fax8RfE+tM32rWbsqeqxSG NfyXArmp3luHLyyNIx6s5yT+NTzFcp9n3HxG8MWpxLrtih9DMKrf8LV8JD/mPWX/AH9FfEOo+INP 0oYuLuNG/ug5P5CsR/iDZFsR217MB/EsJwa0jCpP4YtmU506fxySPv2L4n+FJThdfsc+hmFaln4o 0jUCBbalbTZ6bJQa/PFfHULD5bC9GPWKg+N7RFDSrNbLn70i7QK3WFxDdvZv7mc7xmFSb9otPNH6 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 xj0VQKkoooAKKKKACiiigAooooAKKKKAP//Z --bcaec518701ca9a6d904c65dafed-- From bpm@oss.sgi.com Fri Aug 3 16:39:47 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=ALL_TRUSTED,BAYES_00, J_CHICKENPOX_24 autolearn=no version=3.4.0-r929098 Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73LdlWx160595 for ; Fri, 3 Aug 2012 16:39:47 -0500 Received: (from bpm@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id q73LdjAu160482; Fri, 3 Aug 2012 16:39:45 -0500 Date: Fri, 3 Aug 2012 16:39:45 -0500 Message-Id: <201208032139.q73LdjAu160482@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, master, updated. for-linus-v3.6-rc1-10897-g0d7614f X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 9a57fa8ee7c29e11c2a29ce058573ba99157eda7 X-Git-Newrev: 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, master has been updated a0e881b Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs d9457dc xfs: Convert to new freezing code 37cd960 Merge tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs a66d2c8 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 765927b switch dentry_open() to struct path, make it grab references itself ebfc3b4 don't pass nameidata to ->create() 00cd8dd stop passing nameidata to ->lookup() 1632dcc xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks 40a9b79 xfs: prevent recursion in xfs_buf_iorequest aa29284 xfs: don't defer metadata allocation to the workqueue e3a746f5 xfs: really fix the cursor leak in xfs_alloc_ag_vextent_near f7bdf03 xfs: rename log structure to xlog 8866fc6 xfs: shutdown xfs_sync_worker before the log 59c84ed0 xfs: Fix overallocation in xfs_buf_allocate_memory() 76d0953 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near 9a3a5da xfs: check for stale inode before acquiring iflock on push 3b876c8 xfs: fix debug_object WARN at xfs_alloc_vextent() 66f9311 xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2) from 9a57fa8ee7c29e11c2a29ce058573ba99157eda7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a0e881b7c189fa2bd76c024dbff91e79511c971d Merge: eff0d13 dbc6e02 Author: Linus Torvalds Date: Wed Aug 1 10:26:23 2012 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull second vfs pile from Al Viro: "The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the deadlock reproduced by xfstests 068), symlink and hardlink restriction patches, plus assorted cleanups and fixes. Note that another fsfreeze deadlock (emergency thaw one) is *not* dealt with - the series by Fernando conflicts a lot with Jan's, breaks userland ABI (FIFREEZE semantics gets changed) and trades the deadlock for massive vfsmount leak; this is going to be handled next cycle. There probably will be another pull request, but that stuff won't be in it." Fix up trivial conflicts due to unrelated changes next to each other in drivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c} * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits) delousing target_core_file a bit Documentation: Correct s_umount state for freeze_fs/unfreeze_fs fs: Remove old freezing mechanism ext2: Implement freezing btrfs: Convert to new freezing mechanism nilfs2: Convert to new freezing mechanism ntfs: Convert to new freezing mechanism fuse: Convert to new freezing mechanism gfs2: Convert to new freezing mechanism ocfs2: Convert to new freezing mechanism xfs: Convert to new freezing code ext4: Convert to new freezing mechanism fs: Protect write paths by sb_start_write - sb_end_write fs: Skip atime update on frozen filesystem fs: Add freezing handling to mnt_want_write() / mnt_drop_write() fs: Improve filesystem freezing handling switch the protection of percpu_counter list to spinlock nfsd: Push mnt_want_write() outside of i_mutex btrfs: Push mnt_want_write() outside of i_mutex fat: Push mnt_want_write() outside of i_mutex ... commit d9457dc056249913a7abe8b71dc09e427e590e35 Author: Jan Kara Date: Tue Jun 12 16:20:39 2012 +0200 xfs: Convert to new freezing code Generic code now blocks all writers from standard write paths. So we add blocking of all writers coming from ioctl (we get a protection of ioctl against racing remount read-only as a bonus) and convert xfs_file_aio_write() to a non-racy freeze protection. We also keep freeze protection on transaction start to block internal filesystem writes such as removal of preallocated blocks. CC: Ben Myers CC: Alex Elder CC: xfs@oss.sgi.com Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 37cd9600a9e20359b0283983c9e3a55d84347168 Merge: 95b18e6 9a57fa8 Author: Linus Torvalds Date: Mon Jul 30 13:37:53 2012 -0700 Merge tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs Pull xfs update from Ben Myers: "Numerous cleanups and several bug fixes. Here are some highlights: - Discontiguous directory buffer support - Inode allocator refactoring - Removal of the IO lock in inode reclaim - Implementation of .update_time - Fix for handling of EOF in xfs_vm_writepage - Fix for races in xfsaild, and idle mode is re-enabled - Fix for a crash in xfs_buf completion handlers on unmount." Fix up trivial conflicts in fs/xfs/{xfs_buf.c,xfs_log.c,xfs_log_priv.h} due to duplicate patches that had already been merged for 3.5. * tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs: (44 commits) xfs: wait for the write the superblock on unmount xfs: re-enable xfsaild idle mode and fix associated races xfs: remove iolock lock classes xfs: avoid the iolock in xfs_free_eofblocks for evicted inodes xfs: do not take the iolock in xfs_inactive xfs: remove xfs_inactive_attrs xfs: clean up xfs_inactive xfs: do not read the AGI buffer in xfs_dialloc until nessecary xfs: refactor xfs_ialloc_ag_select xfs: add a short cut to xfs_dialloc for the non-NULL agbp case xfs: remove the alloc_done argument to xfs_dialloc xfs: split xfs_dialloc xfs: remove xfs_ialloc_find_free Prefix IO_XX flags with XFS_IO_XX to avoid namespace colision. xfs: remove xfs_inotobp xfs: merge xfs_itobp into xfs_imap_to_bp xfs: handle EOF correctly in xfs_vm_writepage xfs: implement ->update_time xfs: fix comment typo of struct xfs_da_blkinfo. xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks ... commit a66d2c8f7ec1284206ca7c14569e2a607583f1e3 Merge: a6be1fc 8cae6f7 Author: Linus Torvalds Date: Mon Jul 23 12:27:27 2012 -0700 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull the big VFS changes from Al Viro: "This one is *big* and changes quite a few things around VFS. What's in there: - the first of two really major architecture changes - death to open intents. The former is finally there; it was very long in making, but with Miklos getting through really hard and messy final push in fs/namei.c, we finally have it. Unlike his variant, this one doesn't introduce struct opendata; what we have instead is ->atomic_open() taking preallocated struct file * and passing everything via its fields. Instead of returning struct file *, it returns -E... on error, 0 on success and 1 in "deal with it yourself" case (e.g. symlink found on server, etc.). See comments before fs/namei.c:atomic_open(). That made a lot of goodies finally possible and quite a few are in that pile: ->lookup(), ->d_revalidate() and ->create() do not get struct nameidata * anymore; ->lookup() and ->d_revalidate() get lookup flags instead, ->create() gets "do we want it exclusive" flag. With the introduction of new helper (kern_path_locked()) we are rid of all struct nameidata instances outside of fs/namei.c; it's still visible in namei.h, but not for long. Come the next cycle, declaration will move either to fs/internal.h or to fs/namei.c itself. [me, miklos, hch] - The second major change: behaviour of final fput(). Now we have __fput() done without any locks held by caller *and* not from deep in call stack. That obviously lifts a lot of constraints on the locking in there. Moreover, it's legal now to call fput() from atomic contexts (which has immediately simplified life for aio.c). We also don't need anti-recursion logics in __scm_destroy() anymore. There is a price, though - the damn thing has become partially asynchronous. For fput() from normal process we are guaranteed that pending __fput() will be done before the caller returns to userland, exits or gets stopped for ptrace. For kernel threads and atomic contexts it's done via schedule_work(), so theoretically we might need a way to make sure it's finished; so far only one such place had been found, but there might be more. There's flush_delayed_fput() (do all pending __fput()) and there's __fput_sync() (fput() analog doing __fput() immediately). I hope we won't need them often; see warnings in fs/file_table.c for details. [me, based on task_work series from Oleg merged last cycle] - sync series from Jan - large part of "death to sync_supers()" work from Artem; the only bits missing here are exofs and ext4 ones. As far as I understand, those are going via the exofs and ext4 trees resp.; once they are in, we can put ->write_super() to the rest, along with the thread calling it. - preparatory bits from unionmount series (from dhowells). - assorted cleanups and fixes all over the place, as usual. This is not the last pile for this cycle; there's at least jlayton's ESTALE work and fsfreeze series (the latter - in dire need of fixes, so I'm not sure it'll make the cut this cycle). I'll probably throw symlink/hardlink restrictions stuff from Kees into the next pile, too. Plus there's a lot of misc patches I hadn't thrown into that one - it's large enough as it is..." * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (127 commits) ext4: switch EXT4_IOC_RESIZE_FS to mnt_want_write_file() btrfs: switch btrfs_ioctl_balance() to mnt_want_write_file() switch dentry_open() to struct path, make it grab references itself spufs: shift dget/mntget towards dentry_open() zoran: don't bother with struct file * in zoran_map ecryptfs: don't reinvent the wheels, please - use struct completion don't expose I_NEW inodes via dentry->d_inode tidy up namei.c a bit unobfuscate follow_up() a bit ext3: pass custom EOF to generic_file_llseek_size() ext4: use core vfs llseek code for dir seeks vfs: allow custom EOF in generic_file_llseek code vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes vfs: Remove unnecessary flushing of block devices vfs: Make sys_sync writeout also block device inodes vfs: Create function for iterating over block devices vfs: Reorder operations during sys_sync quota: Move quota syncing to ->sync_fs method quota: Split dquot_quota_sync() to writeback and cache flushing part vfs: Move noop_backing_dev_info check from sync into writeback ... commit 765927b2d508712d320c8934db963bbe14c3fcec Author: Al Viro Date: Tue Jun 26 21:58:53 2012 +0400 switch dentry_open() to struct path, make it grab references itself Signed-off-by: Al Viro commit ebfc3b49a7ac25920cb5be5445f602e51d2ea559 Author: Al Viro Date: Sun Jun 10 18:05:36 2012 -0400 don't pass nameidata to ->create() boolean "does it have to be exclusive?" flag is passed instead; Local filesystem should just ignore it - the object is guaranteed not to be there yet. Signed-off-by: Al Viro commit 00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b Author: Al Viro Date: Sun Jun 10 17:13:09 2012 -0400 stop passing nameidata to ->lookup() Just the flags; only NFS cares even about that, but there are legitimate uses for such argument. And getting rid of that completely would require splitting ->lookup() into a couple of methods (at least), so let's leave that alone for now... Signed-off-by: Al Viro commit 1632dcc93f55f9ab407b373da1957a727b1a7fe3 Author: Christoph Hellwig Date: Fri Jul 13 02:24:10 2012 -0400 xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks xfs_bdstrat_cb only adds a check for a shutdown filesystem over xfs_buf_iorequest, but xfs_buf_iodone_callbacks just checked for a shut down filesystem a little earlier. In addition the shutdown handling in xfs_bdstrat_cb is not very suitable for this caller. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit 40a9b7963df32e743c45d79a5f41445fe2476f15 Author: Christoph Hellwig Date: Mon Jul 2 06:00:04 2012 -0400 xfs: prevent recursion in xfs_buf_iorequest If the b_iodone handler is run in calling context in xfs_buf_iorequest we can run into a recursion where xfs_buf_iodone_callbacks keeps calling back into xfs_buf_iorequest because an I/O error happened, which keeps calling back into xfs_buf_iorequest. This chain will usually not take long because the filesystem gets shut down because of log I/O errors, but even over a short time it can cause stack overflows if run on the same context. As a short term workaround make sure we always call the iodone handler in workqueue context. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit aa292847b9fc6e187547110de833a7d3131bbddf Author: Dave Chinner Date: Thu Jul 12 07:40:43 2012 +1000 xfs: don't defer metadata allocation to the workqueue Almost all metadata allocations come from shallow stack usage situations. Avoid the overhead of switching the allocation to a workqueue as we are not in danger of running out of stack when making these allocations. Metadata allocations are already marked through the args that are passed down, so this is trivial to do. Signed-off-by: Dave Chinner Reported-by: Mel Gorman Tested-by: Mel Gorman Signed-off-by: Ben Myers commit e3a746f5aab71f2dd0a83116772922fb37ae29d6 Author: Dave Chinner Date: Thu Jul 12 07:40:42 2012 +1000 xfs: really fix the cursor leak in xfs_alloc_ag_vextent_near The current cursor is reallocated when retrying the allocation, so the existing cursor needs to be destroyed in both the restart and the failure cases. Signed-off-by: Dave Chinner Tested-by: Mike Snitzer Signed-off-by: Ben Myers commit f7bdf03a99efc083608cd9c0c3e03abff311c79e Author: Mark Tinguely Date: Thu Jun 14 09:22:15 2012 -0500 xfs: rename log structure to xlog Rename the XFS log structure to xlog to help crash distinquish it from the other logs in Linux. Signed-off-by: Mark Tinguely Reviewed-by: Christoph Hellwig Signed-off-by: Ben Myers commit 8866fc6fa55e31b2bce931b7963ff16641b39dc7 Author: Ben Myers Date: Fri May 25 15:45:36 2012 -0500 xfs: shutdown xfs_sync_worker before the log Revert commit 1307bbd, which uses the s_umount semaphore to provide exclusion between xfs_sync_worker and unmount, in favor of shutting down the sync worker before freeing the log in xfs_log_unmount. This is a cleaner way of resolving the race between xfs_sync_worker and unmount than using s_umount. Signed-off-by: Ben Myers Reviewed-by: Mark Tinguely Reviewed-by: Dave Chinner commit 59c84ed0ddc11f1823b4a33ace4fbcc948261bb2 Author: Jan Kara Date: Wed Jun 6 00:32:26 2012 +0200 xfs: Fix overallocation in xfs_buf_allocate_memory() Commit de1cbee which removed b_file_offset in favor of b_bn introduced a bug causing xfs_buf_allocate_memory() to overestimate the number of necessary pages. The problem is that xfs_buf_alloc() sets b_bn to -1 and thus effectively every buffer is straddling a page boundary which causes xfs_buf_allocate_memory() to allocate two pages and use vmalloc() for access which is unnecessary. Dave says xfs_buf_alloc() doesn't need to set b_bn to -1 anymore since the buffer is inserted into the cache only after being fully initialized now. So just make xfs_buf_alloc() fill in proper block number from the beginning. CC: David Chinner Signed-off-by: Jan Kara Reviewed-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit 76d095388b040229ea1aad7dea45be0cfa20f589 Author: Dave Chinner Date: Tue Jun 12 14:20:26 2012 +1000 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near When we fail to find an matching extent near the requested extent specification during a left-right distance search in xfs_alloc_ag_vextent_near, we fail to free the original cursor that we used to look up the XFS_BTNUM_CNT tree and hence leak it. Reported-by: Chris J Arges Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Ben Myers commit 9a3a5dab63461b84213052888bf38a962b22d035 Author: Brian Foster Date: Mon Jun 11 10:39:43 2012 -0400 xfs: check for stale inode before acquiring iflock on push An inode in the AIL can be flush locked and marked stale if a cluster free transaction occurs at the right time. The inode item is then marked as flushing, which causes xfsaild to spin and leaves the filesystem stalled. This is reproduced by running xfstests 273 in a loop for an extended period of time. Check for stale inodes before the flush lock. This marks the inode as pinned, leads to a log flush and allows the filesystem to proceed. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Mark Tinguely Signed-off-by: Ben Myers commit 3b876c8f2a361ceeed3fed894980c69066f903a0 Author: Jeff Liu Date: Thu Jun 7 15:44:32 2012 +0800 xfs: fix debug_object WARN at xfs_alloc_vextent() Fengguang reports: [ 780.529603] XFS (vdd): Ending clean mount [ 781.454590] ODEBUG: object is on stack, but not annotated [ 781.455433] ------------[ cut here ]------------ [ 781.455433] WARNING: at /c/kernel-tests/sound/lib/debugobjects.c:301 __debug_object_init+0x173/0x1f1() [ 781.455433] Hardware name: Bochs [ 781.455433] Modules linked in: [ 781.455433] Pid: 26910, comm: kworker/0:2 Not tainted 3.4.0+ #51 [ 781.455433] Call Trace: [ 781.455433] [] warn_slowpath_common+0x83/0x9b [ 781.455433] [] warn_slowpath_null+0x1a/0x1c [ 781.455433] [] __debug_object_init+0x173/0x1f1 [ 781.455433] [] debug_object_init+0x14/0x16 [ 781.455433] [] __init_work+0x20/0x22 [ 781.455433] [] xfs_alloc_vextent+0x6c/0xd5 Use INIT_WORK_ONSTACK in xfs_alloc_vextent instead of INIT_WORK. Reported-by: Wu Fengguang Signed-off-by: Jie Liu Signed-off-by: Ben Myers commit 66f9311381b4772003d595fb6c518f1647450db0 Author: Alain Renaud Date: Fri Jun 8 15:34:46 2012 -0400 xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2) On filesytems with a block size smaller than PAGE_SIZE we currently have a problem with unwritten extents. If a we have multi-block page for which an unwritten extent has been allocated, and only some of the buffers have been written to, and they are not contiguous, we can expose stale data from disk in the blocks between the writes after extent conversion. Example of a page with unwritten and real data. buffer content 0 empty b_state = 0 1 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 2 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 3 empty b_state = 0 4 empty b_state = 0 5 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 6 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 7 empty b_state = 0 Buffers 1, 2, 5, and 6 have been written to, leaving 0, 3, 4, and 7 empty. Currently buffers 1, 2, 5, and 6 are added to a single ioend, and when IO has completed, extent conversion creates a real extent from block 1 through block 6, leaving 0 and 7 unwritten. However buffers 3 and 4 were not written to disk, so stale data is exposed from those blocks on a subsequent read. Fix this by setting iomap_valid = 0 when we find a buffer that is not Uptodate. This ensures that buffers 5 and 6 are not added to the same ioend as buffers 1 and 2. Later these blocks will be converted into two separate real extents, leaving the blocks in between unwritten. Signed-off-by: Alain Renaud Reviewed-by: Dave Chinner Signed-off-by: Ben Myers ----------------------------------------------------------------------- Summary of changes: fs/xfs/xfs_aops.c | 18 +++++++++++++++ fs/xfs/xfs_file.c | 10 +++++--- fs/xfs/xfs_ioctl.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++---- fs/xfs/xfs_ioctl32.c | 12 ++++++++++ fs/xfs/xfs_iomap.c | 4 ++-- fs/xfs/xfs_iops.c | 6 ++--- fs/xfs/xfs_mount.c | 2 +- fs/xfs/xfs_mount.h | 3 --- fs/xfs/xfs_sync.c | 2 +- fs/xfs/xfs_trans.c | 17 +++++++++++--- fs/xfs/xfs_trans.h | 2 ++ 11 files changed, 117 insertions(+), 21 deletions(-) hooks/post-receive -- XFS development tree From bpm@oss.sgi.com Fri Aug 3 16:43:47 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73Lhlve161520 for ; Fri, 3 Aug 2012 16:43:47 -0500 Received: (from bpm@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id q73LhijU161376; Fri, 3 Aug 2012 16:43:44 -0500 Date: Fri, 3 Aug 2012 16:43:44 -0500 Message-Id: <201208032143.q73LhijU161376@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. v3.3-rc1-51-gc999a22 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: 9a57fa8ee7c29e11c2a29ce058573ba99157eda7 X-Git-Newrev: c999a223c2f0d31c64ef7379814cea1378b2b800 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated discards 9a57fa8ee7c29e11c2a29ce058573ba99157eda7 (commit) discards 8375f922aaa6e7a880022529202fb486315568c3 (commit) discards 4f59af758f9092bc7b266ca919ce6067170e5172 (commit) discards 5a15322da1a51ad8f3af1962de355885b6c606f2 (commit) discards 0b56185b0d64ef89dad1c85bb7403fa762cbe50d (commit) discards fe67be036ff2f713b1c5f24dd4cdffae75bcb97a (commit) discards b373e98daa70d7ddb10f53f81e711c4d17651795 (commit) discards be60fe54b216a62403b816d3930a66ad7c51cbc6 (commit) discards 55d6af64cb8bf8c7e9a84b254d2c3479be8c067c (commit) discards 4bb61069d2019dea2a7e4e0f4432101f03a9b820 (commit) discards 08358906ed78f6ab4d3ff8e4fd1b87b9a4aea645 (commit) discards f2ecc5e453134a13c3b2b0f2cac52ab2d5c540d7 (commit) discards 824c313139c2ce678011bf11c4823a0c99651c1f (commit) discards 0d882a360b9012bc7a7e921c935774c3fba1bfd9 (commit) discards 129dbc9a2d93bab823e57fe47f53d098a0d350f3 (commit) discards 475ee413f34165f8e6fcd7fbff3a4da1dce48c99 (commit) discards 6b7a03f03a2f8b1629133e35729eba4727fae3cc (commit) discards 69ff2826117f1cde9a2491be57a578212bca551e (commit) discards 96ee34be7a0965a117080a28b2c0cc6d4ee6adb1 (commit) discards a2dcf5df5f3813a44423d4a5026666e751ec00dd (commit) discards 08023d6dbe840dc4271805a9ea376fcbdee9f744 (commit) discards eb71a12e411fe065f8663e12a8d81d561f9502ee (commit) discards 1f432a887e9a5a5c25be6ac72b5da13652c8bed3 (commit) discards 9b73bd7b61f320ffe7bda0126592ccf836d7ef90 (commit) discards 1d9025e56143c0c4aebebdb62e46618d3d284218 (commit) discards 3605431fb9739a30ccd0c6380ae8e3c6f8e670a5 (commit) discards 372cc85ec6820c91b4eeff303880f25cb5a00ab5 (commit) discards de2a4f59190303ff5b82ead2969968a325e61230 (commit) discards 6dde27077eaf590eac279627f74b7e4e40b864b2 (commit) discards 3e85c868a697805a3d4c7800a6bacdfc81d15cdf (commit) discards cbb7baab285a540f173ef1ec3d5bcf9d0ad29d16 (commit) discards 77c1a08fc9ece4cb130b9fd279738e799f0c2864 (commit) discards 9a8d2fdbb47aaa1eaa136b89da5e5e6b60015c78 (commit) discards ad223e6030be017470e46f153de27a43979759e0 (commit) discards 11159a0500c1eb7a8a2de37b7dceb53373c75350 (commit) discards bcf62ab64d1ba257dd9d4283a077a7219a05073a (commit) discards 079da28c64ebeca357adae77aea3ae7160e45d98 (commit) discards 76e8f1386673b864cfca3c24c4d5814740e76465 (commit) discards 51c84223af604ce2d00d0416c30a38c50aed00bd (commit) discards 5276432997feb2366ac1e77949e94fe86a394813 (commit) discards 32972383ca46223aa2b129826b3789721ec147aa (commit) discards d2c2819117176e139dc761873c664aaa770c79c9 (commit) discards 0f2cf9d3d917b269645902506adaa4ff92b5e506 (commit) discards 7d0fa3ecba2f12ceef93fffe615e5dd9b50bb794 (commit) discards c3b2da314834499f34cba94f7053e55f6d6f92d8 (commit) discards b0b0382bb4904965a9e9fca77ad87514dfda0d1c (commit) discards 77ba78776e90e8de541f13b326e284c74286252f (commit) discards 90324cc1b11a211e37eabd8cb863e1a1561d6b1d (commit) discards 14c26c6a05de138a4fd9a0c05ff8e7435a618324 (commit) discards 3ba316037470bbf98c8a16c2179c02794fb8862e (commit) discards ea562ed6e7df5acd9392d993882c39e855099165 (commit) discards 1307bbd2af67283131728637e9489002adb26f10 (commit) discards 3fe3e6b18216c1247497dfd51c35484338856e1b (commit) discards e700a06c71dbbc0879a5d15881cca7b772282484 (commit) discards 611c99468c7aa1a5c2bb6d46e7b5d8e53eecfefd (commit) discards d4f3512b0891658b6b4d5fc99567242b3fc2d6b7 (commit) discards 12bcb3f7d4371f74bd25372e98e0d2da978e82b2 (commit) discards ad1e95c54eb3980ab2b4683fba29ad0ef954ec51 (commit) discards 2af51f3a4ef93945d20ff27ab28c5c68b5a21efc (commit) discards 2a0ec1d9ed7f3aa7974fccfbb612fadda2e10bad (commit) discards fd50092c08068b5bc5d170bc17894db584aaf7b2 (commit) discards 4ecbfe637cbcc0f093d1f295ef483f4e31e3987b (commit) discards efc27b52594e322d4c94e379489fa3690bf74739 (commit) discards 60a34607b26b60d6b5c5c928ede7fc84b0f06b85 (commit) discards bc4010ecb8f4d4316e1a63a879a2715e49d113ad (commit) discards aa5c158ec97bd4014f47a2bc0150fb6b20e6c48b (commit) discards 7ca790a507a9288ebedab90a8e40b9afa8e4e949 (commit) discards a8acad70731e7d0585f25f33f8a009176f001f70 (commit) discards 795cac72e902496adac399389f9affe5d1ab821a (commit) discards aa0e8833b05cbd9d34d6a1ddaf23a74a58d76a03 (commit) discards 4e94b71b7068b4bd9c615301197e09dbf0c3b770 (commit) discards de1cbee46269a3b707eb99b37f33afdd4cfaaea4 (commit) discards e70b73f84f474cc594a39bd8ff083974e6d69aea (commit) discards bf813cdddfb3a5bc88e1612e8f62a12367871213 (commit) discards ead360c50d33772f45943792893a58865adf3638 (commit) discards 0e95f19ad983e72a9cb93a67b3290b58f0467b36 (commit) discards fe2429b0966a7ec42b5fe3bf96f0f10de0a3b536 (commit) discards aff3a9edb7080f69f07fe76a8bd089b3dfa4cb5d (commit) discards 3ed9116e8a3e9c0870b2076340b3da9b8f900f3b (commit) discards 58e20770646932fe9b758c94e8c278ea9ec93878 (commit) discards 81158e0cecdf53b1f6d88a514c6c20e0ee18ec7b (commit) discards d3bc815afb549eecb3679a4b2f0df216e34df998 (commit) discards 6ffc4db5de61d36e969a26bc94509c59246c81f8 (commit) discards 4c2d542f2e786537db33b613d5199dc6d69a96da (commit) discards 04913fdd91f342e537005ef1233f98068b925a7f (commit) discards a8569171ba26344a4c0308fc0da8f41795408ebc (commit) discards 43ff2122e6492bcc88b065c433453dce88223b30 (commit) discards 960c60af8b9481595e68875e79b2602e73169c29 (commit) discards fe7257fd4b8ae9a3e354d9edb61890973e373ef0 (commit) discards 4c46819a8097a75d3b378c5e56d2bcf47bb7408d (commit) discards 8a48088f6439249019b5e17f6391e710656879d9 (commit) discards 211e4d434bd737be38aabad0247ce3da9964370e (commit) discards 1c30462542bac8abffb4823638b6b1659c1cfcf5 (commit) discards 32ce90a4b79155a155de2b284d8b69023e5e8fea (commit) discards dea9609527a55b65638a6323894269334dfe6ec5 (commit) discards 7582df516c93046b8d2111a780c69de77f9882fb (commit) discards 01c84d2dc1311fb76ea217dadfd5b3a5f3cab563 (commit) discards 507630b29f13a3d8689895618b12015308402e22 (commit) discards 193aec10504e4c24521449c46317282141fb36e8 (commit) discards f38996f5768713fb60e1d2de66c097367d54bb6a (commit) discards 467f78992a0743e0e71729e4faa20b67b0f25289 (commit) discards b4d05e3019692fc5a8c573fbce60de2d48c5b7a1 (commit) discards dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430 (commit) discards 8a00ebe4cfc90eda9ecb575ba97e22021cd8cf70 (commit) discards da5bf95e3cdca348327c82568c2860229c0daaa2 (commit) discards 0195c00244dc2e9f522475868fa278c473ba7339 (commit) discards f21ce8f8447c8be8847dadcfdbcc76b0d7365fa5 (commit) discards 9ffc93f203c18a70623f21950f1dd473c9ec48cd (commit) discards 5a5881cdeec2c019b5c9a307800218ee029f7f61 (commit) discards d97d32edcd732110758799ae60af725e5110b3dc (commit) discards a66d636385d621e98a915233250356c394a437de (commit) discards 3948659e30808fbaa7673bbe89de2ae9769e20a7 (commit) discards 5132ba8f2b7705fb6b06fa6ad3d009233c816b67 (commit) discards f616137519feb17b849894fcbe634a021d3fa7db (commit) discards 49d99a2f9c4d033cc3965958a1397b1fad573dd3 (commit) discards 48fde701aff662559b38d9a609574068f22d00fe (commit) discards 8de52778798fe39660a8d6b26f290e0c93202761 (commit) discards c922bbc819324558e61402a7a76c10c550ca61bc (commit) discards 20f12d8ac01917d96860f352f67eddd912df0afb (commit) discards 05293485a0b6b1f803e8a3c0ff188c38f6969985 (commit) discards 04da0c8196ac0b12fb6b84f4b7a51ad2fa56d869 (commit) from 9a57fa8ee7c29e11c2a29ce058573ba99157eda7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: fs/xfs/Makefile | 2 +- fs/xfs/kmem.c | 10 +- fs/xfs/kmem.h | 21 +- fs/xfs/xfs_ag.h | 18 + fs/xfs/xfs_alloc.c | 607 +++++++++++++++++++++++++++++-- fs/xfs/xfs_alloc.h | 35 +- fs/xfs/xfs_alloc_btree.c | 9 +- fs/xfs/xfs_alloc_btree.h | 14 + fs/xfs/xfs_aops.c | 300 +++++----------- fs/xfs/xfs_aops.h | 14 +- fs/xfs/xfs_attr.c | 119 +++--- fs/xfs/xfs_attr_leaf.c | 298 +++++++-------- fs/xfs/xfs_attr_leaf.h | 21 +- fs/xfs/xfs_bmap.c | 34 +- fs/xfs/xfs_bmap.h | 3 - fs/xfs/xfs_bmap_btree.c | 1 + fs/xfs/xfs_btree.c | 1 + fs/xfs/xfs_buf.c | 828 +++++++++++++++++++++--------------------- fs/xfs/xfs_buf.h | 190 ++++------ fs/xfs/xfs_buf_item.c | 462 +++++++++--------------- fs/xfs/xfs_buf_item.h | 38 +- fs/xfs/xfs_da_btree.c | 856 +++++++++++++++++++++++++------------------- fs/xfs/xfs_da_btree.h | 38 +- fs/xfs/xfs_dfrag.c | 2 + fs/xfs/xfs_dinode.h | 2 +- fs/xfs/xfs_dir2.c | 5 +- fs/xfs/xfs_dir2_block.c | 119 +++--- fs/xfs/xfs_dir2_data.c | 51 +-- fs/xfs/xfs_dir2_leaf.c | 622 ++++++++++++++++---------------- fs/xfs/xfs_dir2_node.c | 237 ++++++------ fs/xfs/xfs_dir2_priv.h | 46 +-- fs/xfs/xfs_dir2_sf.c | 5 +- fs/xfs/xfs_discard.c | 67 ++-- fs/xfs/xfs_dquot.c | 91 +++-- fs/xfs/xfs_dquot.h | 3 +- fs/xfs/xfs_dquot_item.c | 162 ++++++--- fs/xfs/xfs_error.c | 1 + fs/xfs/xfs_export.c | 24 +- fs/xfs/xfs_extent_busy.c | 603 ------------------------------- fs/xfs/xfs_extent_busy.h | 69 ---- fs/xfs/xfs_extfree_item.c | 59 ++- fs/xfs/xfs_file.c | 353 +++++++----------- fs/xfs/xfs_fsops.c | 82 +---- fs/xfs/xfs_ialloc.c | 442 ++++++++++++----------- fs/xfs/xfs_ialloc.h | 11 + fs/xfs/xfs_ialloc_btree.c | 1 + fs/xfs/xfs_iget.c | 47 ++- fs/xfs/xfs_inode.c | 326 +++++++++++------ fs/xfs/xfs_inode.h | 22 +- fs/xfs/xfs_inode_item.c | 183 +++++++--- fs/xfs/xfs_inode_item.h | 2 +- fs/xfs/xfs_inum.h | 5 + fs/xfs/xfs_ioctl.c | 2 + fs/xfs/xfs_ioctl32.c | 2 + fs/xfs/xfs_iomap.c | 61 ++-- fs/xfs/xfs_iops.c | 60 +--- fs/xfs/xfs_itable.c | 6 +- fs/xfs/xfs_log.c | 348 +++++++----------- fs/xfs/xfs_log.h | 1 - fs/xfs/xfs_log_cil.c | 265 ++++++-------- fs/xfs/xfs_log_priv.h | 64 +--- fs/xfs/xfs_log_recover.c | 306 ++++++++-------- fs/xfs/xfs_message.c | 1 + fs/xfs/xfs_mount.c | 88 +++-- fs/xfs/xfs_mount.h | 9 +- fs/xfs/xfs_qm.c | 198 +++++----- fs/xfs/xfs_qm_bhv.c | 2 + fs/xfs/xfs_qm_syscalls.c | 1 + fs/xfs/xfs_quotaops.c | 1 + fs/xfs/xfs_rename.c | 12 + fs/xfs/xfs_rtalloc.c | 10 +- fs/xfs/xfs_rw.c | 156 ++++++++ fs/xfs/xfs_rw.h | 47 +++ fs/xfs/xfs_super.c | 161 ++++++--- fs/xfs/xfs_sync.c | 276 +++++++++----- fs/xfs/xfs_trace.c | 2 + fs/xfs/xfs_trace.h | 151 ++------ fs/xfs/xfs_trans.c | 9 +- fs/xfs/xfs_trans.h | 70 +--- fs/xfs/xfs_trans_ail.c | 238 ++++++------ fs/xfs/xfs_trans_buf.c | 184 ++++++---- fs/xfs/xfs_trans_dquot.c | 2 + fs/xfs/xfs_trans_extfree.c | 1 + fs/xfs/xfs_trans_inode.c | 2 + fs/xfs/xfs_trans_priv.h | 13 +- fs/xfs/xfs_types.h | 19 - fs/xfs/xfs_utils.c | 21 +- fs/xfs/xfs_vnodeops.c | 332 +++++++++++------ 88 files changed, 5429 insertions(+), 5253 deletions(-) delete mode 100644 fs/xfs/xfs_extent_busy.c delete mode 100644 fs/xfs/xfs_extent_busy.h create mode 100644 fs/xfs/xfs_rw.c create mode 100644 fs/xfs/xfs_rw.h hooks/post-receive -- XFS development tree From bpm@oss.sgi.com Fri Aug 3 16:48:15 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=ALL_TRUSTED,BAYES_00, J_CHICKENPOX_24,J_CHICKENPOX_33 autolearn=no version=3.4.0-r929098 Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73LmF2e163096 for ; Fri, 3 Aug 2012 16:48:15 -0500 Received: (from bpm@localhost) by oss.sgi.com (8.14.3/8.14.3/Submit) id q73LmDtc162374; Fri, 3 Aug 2012 16:48:13 -0500 Date: Fri, 3 Aug 2012 16:48:13 -0500 Message-Id: <201208032148.q73LmDtc162374@oss.sgi.com> From: xfs@oss.sgi.com To: xfs@oss.sgi.com Subject: [XFS updates] XFS development tree branch, for-next, updated. v3.6-rc1 X-Git-Refname: refs/heads/for-next X-Git-Reftype: branch X-Git-Oldrev: c999a223c2f0d31c64ef7379814cea1378b2b800 X-Git-Newrev: 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "XFS development tree". The branch, for-next has been updated a0e881b Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs d9457dc xfs: Convert to new freezing code 37cd960 Merge tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs 9a57fa8 xfs: wait for the write the superblock on unmount 8375f92 xfs: re-enable xfsaild idle mode and fix associated races 4f59af7 xfs: remove iolock lock classes 5a15322 xfs: avoid the iolock in xfs_free_eofblocks for evicted inodes 0b56185 xfs: do not take the iolock in xfs_inactive fe67be0 xfs: remove xfs_inactive_attrs b373e98 xfs: clean up xfs_inactive be60fe5 xfs: do not read the AGI buffer in xfs_dialloc until nessecary 55d6af6 xfs: refactor xfs_ialloc_ag_select 4bb6106 xfs: add a short cut to xfs_dialloc for the non-NULL agbp case 0835890 xfs: remove the alloc_done argument to xfs_dialloc f2ecc5e xfs: split xfs_dialloc a66d2c8 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 765927b switch dentry_open() to struct path, make it grab references itself 824c313 xfs: remove xfs_ialloc_find_free 0d882a3 Prefix IO_XX flags with XFS_IO_XX to avoid namespace colision. 129dbc9 xfs: remove xfs_inotobp 475ee41 xfs: merge xfs_itobp into xfs_imap_to_bp 6b7a03f xfs: handle EOF correctly in xfs_vm_writepage 69ff282 xfs: implement ->update_time 96ee34b xfs: fix comment typo of struct xfs_da_blkinfo. ebfc3b4 don't pass nameidata to ->create() 00cd8dd stop passing nameidata to ->lookup() 1632dcc xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks 40a9b79 xfs: prevent recursion in xfs_buf_iorequest aa29284 xfs: don't defer metadata allocation to the workqueue e3a746f5 xfs: really fix the cursor leak in xfs_alloc_ag_vextent_near a2dcf5d xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks 08023d6 xfs: prevent recursion in xfs_buf_iorequest eb71a12 xfs: don't defer metadata allocation to the workqueue 1f432a8 xfs: really fix the cursor leak in xfs_alloc_ag_vextent_near 9b73bd7 xfs: factor buffer reading from xfs_dir2_leaf_getdents 1d9025e xfs: remove struct xfs_dabuf and infrastructure 3605431 xfs: use discontiguous xfs_buf support in dabuf wrappers 372cc85 xfs: support discontiguous buffers in the xfs_buf_log_item de2a4f5 xfs: add discontiguous buffer support to transactions 6dde270 xfs: add discontiguous buffer map interface 3e85c86 xfs: convert internal buffer functions to pass maps cbb7baa xfs: separate buffer indexing from block map 77c1a08 xfs: struct xfs_buf_log_format isn't variable sized. 9a8d2fd xfs: remove xlog_t typedef f7bdf03 xfs: rename log structure to xlog 8866fc6 xfs: shutdown xfs_sync_worker before the log 59c84ed0 xfs: Fix overallocation in xfs_buf_allocate_memory() 76d0953 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near 9a3a5da xfs: check for stale inode before acquiring iflock on push ad223e6 xfs: rename log structure to xlog 11159a0 xfs: shutdown xfs_sync_worker before the log bcf62ab xfs: Fix overallocation in xfs_buf_allocate_memory() 079da28 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near 76e8f13 xfs: check for stale inode before acquiring iflock on push 3b876c8 xfs: fix debug_object WARN at xfs_alloc_vextent() 66f9311 xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2) 51c8422 xfs: fix typo in comment of xfs_dinode_t. 5276432 xfs: kill copy and paste segment checks in xfs_file_aio_read 3297238 xfs: make largest supported offset less shouty d2c2819 xfs: m_maxioffset is redundant 0f2cf9d xfs: fix debug_object WARN at xfs_alloc_vextent() 7d0fa3e xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2) c3b2da3 fs: introduce inode operation ->update_time b0b0382 ->encode_fh() API change 77ba787 xfs: switch to proper __bitwise type for KM_... flags 90324cc Merge tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux 14c26c6 xfs: add trace points for log forces 3ba3160 xfs: fix memory reclaim deadlock on agi buffer ea562ed xfs: fix delalloc quota accounting on failure 1307bbd xfs: protect xfs_sync_worker with s_umount semaphore 3fe3e6b xfs: introduce SEEK_DATA/SEEK_HOLE support e700a06 xfs: make xfs_extent_busy_trim not static 611c994 xfs: make XBF_MAPPED the default behaviour d4f3512 xfs: flush outstanding buffers on log mount failure 12bcb3f xfs: Properly exclude IO type flags from buffer flags ad1e95c xfs: clean up xfs_bit.h includes 2af51f3 xfs: move xfs_do_force_shutdown() and kill xfs_rw.c 2a0ec1d xfs: move xfs_get_extsz_hint() and kill xfs_rw.h fd50092 xfs: move xfs_fsb_to_db to xfs_bmap.h 4ecbfe6 xfs: clean up busy extent naming efc27b5 xfs: move busy extent handling to it's own file 60a3460 xfs: move xfsagino_t to xfs_types.h bc4010e xfs: use iolock on XFS_IOC_ALLOCSP calls aa5c158 xfs: kill XBF_DONTBLOCK 7ca790a xfs: kill xfs_read_buf() a8acad7 xfs: kill XBF_LOCK 795cac7 xfs: kill xfs_buf_btoc aa0e883 xfs: use blocks for storing the desired IO size 4e94b71 xfs: use blocks for counting length of buffers de1cbee xfs: kill b_file_offset e70b73f xfs: clean up buffer get/read call API bf813cd xfs: use kmem_zone_zalloc for buffers ead360c xfs: fix incorrect b_offset initialisation 0e95f19 xfs: check for buffer errors before waiting fe2429b xfs: fix buffer lookup race on allocation failure aff3a9e xfs: Use preallocation for inodes with extsz hints 3ed9116 xfs: limit specualtive delalloc to maxioffset 58e2077 xfs: don't assert on delalloc regions beyond EOF 81158e0 xfs: prevent needless mount warning causing test failures d3bc815 xfs: punch new delalloc blocks out of failed writes inside EOF. 6ffc4db xfs: page type check in writeback only checks last buffer 4c2d542 xfs: Do background CIL flushes via a workqueue 04913fd xfs: pass shutdown method into xfs_trans_ail_delete_bulk a856917 xfs: remove some obsolete comments in xfs_trans_ail.c 43ff212 xfs: on-stack delayed write buffer lists 960c60a xfs: do not add buffers to the delwri queue until pushed fe7257f xfs: do not write the buffer from xfs_qm_dqflush 4c46819 xfs: do not write the buffer from xfs_iflush 8a48088 xfs: don't flush inodes from background inode reclaim 211e4d4 xfs: implement freezing by emptying the AIL 1c30462 xfs: allow assigning the tail lsn with the AIL lock held 32ce90a xfs: remove log item from AIL in xfs_iflush after a shutdown dea9609 xfs: remove log item from AIL in xfs_qm_dqflush after a shutdown 7582df5 xfs: using GFP_NOFS for blkdev_issue_flush 01c84d2 xfs: punch all delalloc blocks beyond EOF on write failure. 507630b xfs: use shared ilock mode for direct IO writes by default 193aec1 xfs: push the ilock into xfs_zero_eof f38996f xfs: reduce ilock hold times in xfs_setattr_size 467f789 xfs: reduce ilock hold times in xfs_file_aio_write_checks b4d05e3 xfs: avoid taking the ilock unnessecarily in xfs_qm_dqattach dbd5768 vfs: Rename end_writeback() to clear_inode() 8a00ebe xfs: Ensure inode reclaim can run during quotacheck da5bf95 xfs: don't fill statvfs with project quota for a directory if it was not enabled. 0195c00 Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system f21ce8f Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs 9ffc93f Remove all #inclusions of asm/system.h 5a5881c xfs: add lots of attribute trace points d97d32e xfs: Fix oops on IO error during xlog_recover_process_iunlinks() a66d636 xfs: fix fstrim offset calculations 3948659 xfs: Account log unmount transaction correctly 5132ba8 xfs: don't cache inodes read through bulkstat f616137 xfs: trace xfs_name strings correctly 49d99a2 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs 48fde70 switch open-coded instances of d_make_root() to new helper 8de5277 vfs: check i_nlink limits in vfs_{mkdir,rename_dir,link} c922bbc xfs: make inode quota check more general 20f12d8 xfs: change available ranges of softlimit and hardlimit in quota check 0529348 XFS: xfs_trans_add_item() - don't assign in ASSERT() when compare is intended 04da0c8 xfs: use a normal shrinker for the dquot freelist from c999a223c2f0d31c64ef7379814cea1378b2b800 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a0e881b7c189fa2bd76c024dbff91e79511c971d Merge: eff0d13 dbc6e02 Author: Linus Torvalds Date: Wed Aug 1 10:26:23 2012 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull second vfs pile from Al Viro: "The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the deadlock reproduced by xfstests 068), symlink and hardlink restriction patches, plus assorted cleanups and fixes. Note that another fsfreeze deadlock (emergency thaw one) is *not* dealt with - the series by Fernando conflicts a lot with Jan's, breaks userland ABI (FIFREEZE semantics gets changed) and trades the deadlock for massive vfsmount leak; this is going to be handled next cycle. There probably will be another pull request, but that stuff won't be in it." Fix up trivial conflicts due to unrelated changes next to each other in drivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c} * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits) delousing target_core_file a bit Documentation: Correct s_umount state for freeze_fs/unfreeze_fs fs: Remove old freezing mechanism ext2: Implement freezing btrfs: Convert to new freezing mechanism nilfs2: Convert to new freezing mechanism ntfs: Convert to new freezing mechanism fuse: Convert to new freezing mechanism gfs2: Convert to new freezing mechanism ocfs2: Convert to new freezing mechanism xfs: Convert to new freezing code ext4: Convert to new freezing mechanism fs: Protect write paths by sb_start_write - sb_end_write fs: Skip atime update on frozen filesystem fs: Add freezing handling to mnt_want_write() / mnt_drop_write() fs: Improve filesystem freezing handling switch the protection of percpu_counter list to spinlock nfsd: Push mnt_want_write() outside of i_mutex btrfs: Push mnt_want_write() outside of i_mutex fat: Push mnt_want_write() outside of i_mutex ... commit d9457dc056249913a7abe8b71dc09e427e590e35 Author: Jan Kara Date: Tue Jun 12 16:20:39 2012 +0200 xfs: Convert to new freezing code Generic code now blocks all writers from standard write paths. So we add blocking of all writers coming from ioctl (we get a protection of ioctl against racing remount read-only as a bonus) and convert xfs_file_aio_write() to a non-racy freeze protection. We also keep freeze protection on transaction start to block internal filesystem writes such as removal of preallocated blocks. CC: Ben Myers CC: Alex Elder CC: xfs@oss.sgi.com Signed-off-by: Jan Kara Signed-off-by: Al Viro commit 37cd9600a9e20359b0283983c9e3a55d84347168 Merge: 95b18e6 9a57fa8 Author: Linus Torvalds Date: Mon Jul 30 13:37:53 2012 -0700 Merge tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs Pull xfs update from Ben Myers: "Numerous cleanups and several bug fixes. Here are some highlights: - Discontiguous directory buffer support - Inode allocator refactoring - Removal of the IO lock in inode reclaim - Implementation of .update_time - Fix for handling of EOF in xfs_vm_writepage - Fix for races in xfsaild, and idle mode is re-enabled - Fix for a crash in xfs_buf completion handlers on unmount." Fix up trivial conflicts in fs/xfs/{xfs_buf.c,xfs_log.c,xfs_log_priv.h} due to duplicate patches that had already been merged for 3.5. * tag 'for-linus-v3.6-rc1' of git://oss.sgi.com/xfs/xfs: (44 commits) xfs: wait for the write the superblock on unmount xfs: re-enable xfsaild idle mode and fix associated races xfs: remove iolock lock classes xfs: avoid the iolock in xfs_free_eofblocks for evicted inodes xfs: do not take the iolock in xfs_inactive xfs: remove xfs_inactive_attrs xfs: clean up xfs_inactive xfs: do not read the AGI buffer in xfs_dialloc until nessecary xfs: refactor xfs_ialloc_ag_select xfs: add a short cut to xfs_dialloc for the non-NULL agbp case xfs: remove the alloc_done argument to xfs_dialloc xfs: split xfs_dialloc xfs: remove xfs_ialloc_find_free Prefix IO_XX flags with XFS_IO_XX to avoid namespace colision. xfs: remove xfs_inotobp xfs: merge xfs_itobp into xfs_imap_to_bp xfs: handle EOF correctly in xfs_vm_writepage xfs: implement ->update_time xfs: fix comment typo of struct xfs_da_blkinfo. xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks ... commit a66d2c8f7ec1284206ca7c14569e2a607583f1e3 Merge: a6be1fc 8cae6f7 Author: Linus Torvalds Date: Mon Jul 23 12:27:27 2012 -0700 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull the big VFS changes from Al Viro: "This one is *big* and changes quite a few things around VFS. What's in there: - the first of two really major architecture changes - death to open intents. The former is finally there; it was very long in making, but with Miklos getting through really hard and messy final push in fs/namei.c, we finally have it. Unlike his variant, this one doesn't introduce struct opendata; what we have instead is ->atomic_open() taking preallocated struct file * and passing everything via its fields. Instead of returning struct file *, it returns -E... on error, 0 on success and 1 in "deal with it yourself" case (e.g. symlink found on server, etc.). See comments before fs/namei.c:atomic_open(). That made a lot of goodies finally possible and quite a few are in that pile: ->lookup(), ->d_revalidate() and ->create() do not get struct nameidata * anymore; ->lookup() and ->d_revalidate() get lookup flags instead, ->create() gets "do we want it exclusive" flag. With the introduction of new helper (kern_path_locked()) we are rid of all struct nameidata instances outside of fs/namei.c; it's still visible in namei.h, but not for long. Come the next cycle, declaration will move either to fs/internal.h or to fs/namei.c itself. [me, miklos, hch] - The second major change: behaviour of final fput(). Now we have __fput() done without any locks held by caller *and* not from deep in call stack. That obviously lifts a lot of constraints on the locking in there. Moreover, it's legal now to call fput() from atomic contexts (which has immediately simplified life for aio.c). We also don't need anti-recursion logics in __scm_destroy() anymore. There is a price, though - the damn thing has become partially asynchronous. For fput() from normal process we are guaranteed that pending __fput() will be done before the caller returns to userland, exits or gets stopped for ptrace. For kernel threads and atomic contexts it's done via schedule_work(), so theoretically we might need a way to make sure it's finished; so far only one such place had been found, but there might be more. There's flush_delayed_fput() (do all pending __fput()) and there's __fput_sync() (fput() analog doing __fput() immediately). I hope we won't need them often; see warnings in fs/file_table.c for details. [me, based on task_work series from Oleg merged last cycle] - sync series from Jan - large part of "death to sync_supers()" work from Artem; the only bits missing here are exofs and ext4 ones. As far as I understand, those are going via the exofs and ext4 trees resp.; once they are in, we can put ->write_super() to the rest, along with the thread calling it. - preparatory bits from unionmount series (from dhowells). - assorted cleanups and fixes all over the place, as usual. This is not the last pile for this cycle; there's at least jlayton's ESTALE work and fsfreeze series (the latter - in dire need of fixes, so I'm not sure it'll make the cut this cycle). I'll probably throw symlink/hardlink restrictions stuff from Kees into the next pile, too. Plus there's a lot of misc patches I hadn't thrown into that one - it's large enough as it is..." * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (127 commits) ext4: switch EXT4_IOC_RESIZE_FS to mnt_want_write_file() btrfs: switch btrfs_ioctl_balance() to mnt_want_write_file() switch dentry_open() to struct path, make it grab references itself spufs: shift dget/mntget towards dentry_open() zoran: don't bother with struct file * in zoran_map ecryptfs: don't reinvent the wheels, please - use struct completion don't expose I_NEW inodes via dentry->d_inode tidy up namei.c a bit unobfuscate follow_up() a bit ext3: pass custom EOF to generic_file_llseek_size() ext4: use core vfs llseek code for dir seeks vfs: allow custom EOF in generic_file_llseek code vfs: Avoid unnecessary WB_SYNC_NONE writeback during sys_sync and reorder sync passes vfs: Remove unnecessary flushing of block devices vfs: Make sys_sync writeout also block device inodes vfs: Create function for iterating over block devices vfs: Reorder operations during sys_sync quota: Move quota syncing to ->sync_fs method quota: Split dquot_quota_sync() to writeback and cache flushing part vfs: Move noop_backing_dev_info check from sync into writeback ... commit 765927b2d508712d320c8934db963bbe14c3fcec Author: Al Viro Date: Tue Jun 26 21:58:53 2012 +0400 switch dentry_open() to struct path, make it grab references itself Signed-off-by: Al Viro commit ebfc3b49a7ac25920cb5be5445f602e51d2ea559 Author: Al Viro Date: Sun Jun 10 18:05:36 2012 -0400 don't pass nameidata to ->create() boolean "does it have to be exclusive?" flag is passed instead; Local filesystem should just ignore it - the object is guaranteed not to be there yet. Signed-off-by: Al Viro commit 00cd8dd3bf95f2cc8435b4cac01d9995635c6d0b Author: Al Viro Date: Sun Jun 10 17:13:09 2012 -0400 stop passing nameidata to ->lookup() Just the flags; only NFS cares even about that, but there are legitimate uses for such argument. And getting rid of that completely would require splitting ->lookup() into a couple of methods (at least), so let's leave that alone for now... Signed-off-by: Al Viro commit 1632dcc93f55f9ab407b373da1957a727b1a7fe3 Author: Christoph Hellwig Date: Fri Jul 13 02:24:10 2012 -0400 xfs: do not call xfs_bdstrat_cb in xfs_buf_iodone_callbacks xfs_bdstrat_cb only adds a check for a shutdown filesystem over xfs_buf_iorequest, but xfs_buf_iodone_callbacks just checked for a shut down filesystem a little earlier. In addition the shutdown handling in xfs_bdstrat_cb is not very suitable for this caller. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit 40a9b7963df32e743c45d79a5f41445fe2476f15 Author: Christoph Hellwig Date: Mon Jul 2 06:00:04 2012 -0400 xfs: prevent recursion in xfs_buf_iorequest If the b_iodone handler is run in calling context in xfs_buf_iorequest we can run into a recursion where xfs_buf_iodone_callbacks keeps calling back into xfs_buf_iorequest because an I/O error happened, which keeps calling back into xfs_buf_iorequest. This chain will usually not take long because the filesystem gets shut down because of log I/O errors, but even over a short time it can cause stack overflows if run on the same context. As a short term workaround make sure we always call the iodone handler in workqueue context. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit aa292847b9fc6e187547110de833a7d3131bbddf Author: Dave Chinner Date: Thu Jul 12 07:40:43 2012 +1000 xfs: don't defer metadata allocation to the workqueue Almost all metadata allocations come from shallow stack usage situations. Avoid the overhead of switching the allocation to a workqueue as we are not in danger of running out of stack when making these allocations. Metadata allocations are already marked through the args that are passed down, so this is trivial to do. Signed-off-by: Dave Chinner Reported-by: Mel Gorman Tested-by: Mel Gorman Signed-off-by: Ben Myers commit e3a746f5aab71f2dd0a83116772922fb37ae29d6 Author: Dave Chinner Date: Thu Jul 12 07:40:42 2012 +1000 xfs: really fix the cursor leak in xfs_alloc_ag_vextent_near The current cursor is reallocated when retrying the allocation, so the existing cursor needs to be destroyed in both the restart and the failure cases. Signed-off-by: Dave Chinner Tested-by: Mike Snitzer Signed-off-by: Ben Myers commit f7bdf03a99efc083608cd9c0c3e03abff311c79e Author: Mark Tinguely Date: Thu Jun 14 09:22:15 2012 -0500 xfs: rename log structure to xlog Rename the XFS log structure to xlog to help crash distinquish it from the other logs in Linux. Signed-off-by: Mark Tinguely Reviewed-by: Christoph Hellwig Signed-off-by: Ben Myers commit 8866fc6fa55e31b2bce931b7963ff16641b39dc7 Author: Ben Myers Date: Fri May 25 15:45:36 2012 -0500 xfs: shutdown xfs_sync_worker before the log Revert commit 1307bbd, which uses the s_umount semaphore to provide exclusion between xfs_sync_worker and unmount, in favor of shutting down the sync worker before freeing the log in xfs_log_unmount. This is a cleaner way of resolving the race between xfs_sync_worker and unmount than using s_umount. Signed-off-by: Ben Myers Reviewed-by: Mark Tinguely Reviewed-by: Dave Chinner commit 59c84ed0ddc11f1823b4a33ace4fbcc948261bb2 Author: Jan Kara Date: Wed Jun 6 00:32:26 2012 +0200 xfs: Fix overallocation in xfs_buf_allocate_memory() Commit de1cbee which removed b_file_offset in favor of b_bn introduced a bug causing xfs_buf_allocate_memory() to overestimate the number of necessary pages. The problem is that xfs_buf_alloc() sets b_bn to -1 and thus effectively every buffer is straddling a page boundary which causes xfs_buf_allocate_memory() to allocate two pages and use vmalloc() for access which is unnecessary. Dave says xfs_buf_alloc() doesn't need to set b_bn to -1 anymore since the buffer is inserted into the cache only after being fully initialized now. So just make xfs_buf_alloc() fill in proper block number from the beginning. CC: David Chinner Signed-off-by: Jan Kara Reviewed-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Ben Myers commit 76d095388b040229ea1aad7dea45be0cfa20f589 Author: Dave Chinner Date: Tue Jun 12 14:20:26 2012 +1000 xfs: fix allocbt cursor leak in xfs_alloc_ag_vextent_near When we fail to find an matching extent near the requested extent specification during a left-right distance search in xfs_alloc_ag_vextent_near, we fail to free the original cursor that we used to look up the XFS_BTNUM_CNT tree and hence leak it. Reported-by: Chris J Arges Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Ben Myers commit 9a3a5dab63461b84213052888bf38a962b22d035 Author: Brian Foster Date: Mon Jun 11 10:39:43 2012 -0400 xfs: check for stale inode before acquiring iflock on push An inode in the AIL can be flush locked and marked stale if a cluster free transaction occurs at the right time. The inode item is then marked as flushing, which causes xfsaild to spin and leaves the filesystem stalled. This is reproduced by running xfstests 273 in a loop for an extended period of time. Check for stale inodes before the flush lock. This marks the inode as pinned, leads to a log flush and allows the filesystem to proceed. Signed-off-by: Brian Foster Reviewed-by: Dave Chinner Reviewed-by: Christoph Hellwig Reviewed-by: Mark Tinguely Signed-off-by: Ben Myers commit 3b876c8f2a361ceeed3fed894980c69066f903a0 Author: Jeff Liu Date: Thu Jun 7 15:44:32 2012 +0800 xfs: fix debug_object WARN at xfs_alloc_vextent() Fengguang reports: [ 780.529603] XFS (vdd): Ending clean mount [ 781.454590] ODEBUG: object is on stack, but not annotated [ 781.455433] ------------[ cut here ]------------ [ 781.455433] WARNING: at /c/kernel-tests/sound/lib/debugobjects.c:301 __debug_object_init+0x173/0x1f1() [ 781.455433] Hardware name: Bochs [ 781.455433] Modules linked in: [ 781.455433] Pid: 26910, comm: kworker/0:2 Not tainted 3.4.0+ #51 [ 781.455433] Call Trace: [ 781.455433] [] warn_slowpath_common+0x83/0x9b [ 781.455433] [] warn_slowpath_null+0x1a/0x1c [ 781.455433] [] __debug_object_init+0x173/0x1f1 [ 781.455433] [] debug_object_init+0x14/0x16 [ 781.455433] [] __init_work+0x20/0x22 [ 781.455433] [] xfs_alloc_vextent+0x6c/0xd5 Use INIT_WORK_ONSTACK in xfs_alloc_vextent instead of INIT_WORK. Reported-by: Wu Fengguang Signed-off-by: Jie Liu Signed-off-by: Ben Myers commit 66f9311381b4772003d595fb6c518f1647450db0 Author: Alain Renaud Date: Fri Jun 8 15:34:46 2012 -0400 xfs: xfs_vm_writepage clear iomap_valid when !buffer_uptodate (REV2) On filesytems with a block size smaller than PAGE_SIZE we currently have a problem with unwritten extents. If a we have multi-block page for which an unwritten extent has been allocated, and only some of the buffers have been written to, and they are not contiguous, we can expose stale data from disk in the blocks between the writes after extent conversion. Example of a page with unwritten and real data. buffer content 0 empty b_state = 0 1 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 2 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 3 empty b_state = 0 4 empty b_state = 0 5 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 6 DATA b_state = 0x1023 Uptodate,Dirty,Mapped,Unwritten 7 empty b_state = 0 Buffers 1, 2, 5, and 6 have been written to, leaving 0, 3, 4, and 7 empty. Currently buffers 1, 2, 5, and 6 are added to a single ioend, and when IO has completed, extent conversion creates a real extent from block 1 through block 6, leaving 0 and 7 unwritten. However buffers 3 and 4 were not written to disk, so stale data is exposed from those blocks on a subsequent read. Fix this by setting iomap_valid = 0 when we find a buffer that is not Uptodate. This ensures that buffers 5 and 6 are not added to the same ioend as buffers 1 and 2. Later these blocks will be converted into two separate real extents, leaving the blocks in between unwritten. Signed-off-by: Alain Renaud Reviewed-by: Dave Chinner Signed-off-by: Ben Myers ----------------------------------------------------------------------- Summary of changes: fs/xfs/Makefile | 2 +- fs/xfs/kmem.c | 10 +- fs/xfs/kmem.h | 21 +- fs/xfs/xfs_ag.h | 18 - fs/xfs/xfs_alloc.c | 607 ++----------------------------- fs/xfs/xfs_alloc.h | 35 +- fs/xfs/xfs_alloc_btree.c | 9 +- fs/xfs/xfs_alloc_btree.h | 14 - fs/xfs/xfs_aops.c | 318 +++++++++++----- fs/xfs/xfs_aops.h | 14 +- fs/xfs/xfs_attr.c | 119 +++--- fs/xfs/xfs_attr_leaf.c | 298 ++++++++------- fs/xfs/xfs_attr_leaf.h | 21 +- fs/xfs/xfs_bmap.c | 34 +- fs/xfs/xfs_bmap.h | 3 + fs/xfs/xfs_bmap_btree.c | 1 - fs/xfs/xfs_btree.c | 1 - fs/xfs/xfs_buf.c | 828 +++++++++++++++++++++--------------------- fs/xfs/xfs_buf.h | 190 ++++++---- fs/xfs/xfs_buf_item.c | 462 +++++++++++++++--------- fs/xfs/xfs_buf_item.h | 38 +- fs/xfs/xfs_da_btree.c | 856 +++++++++++++++++++------------------------- fs/xfs/xfs_da_btree.h | 38 +- fs/xfs/xfs_dfrag.c | 2 - fs/xfs/xfs_dinode.h | 2 +- fs/xfs/xfs_dir2.c | 5 +- fs/xfs/xfs_dir2_block.c | 119 +++--- fs/xfs/xfs_dir2_data.c | 51 ++- fs/xfs/xfs_dir2_leaf.c | 622 ++++++++++++++++---------------- fs/xfs/xfs_dir2_node.c | 237 ++++++------ fs/xfs/xfs_dir2_priv.h | 46 +-- fs/xfs/xfs_dir2_sf.c | 5 +- fs/xfs/xfs_discard.c | 67 ++-- fs/xfs/xfs_dquot.c | 91 ++--- fs/xfs/xfs_dquot.h | 3 +- fs/xfs/xfs_dquot_item.c | 162 +++------ fs/xfs/xfs_error.c | 1 - fs/xfs/xfs_export.c | 24 +- fs/xfs/xfs_extent_busy.c | 603 +++++++++++++++++++++++++++++++ fs/xfs/xfs_extent_busy.h | 69 ++++ fs/xfs/xfs_extfree_item.c | 59 +-- fs/xfs/xfs_file.c | 363 ++++++++++++------- fs/xfs/xfs_fsops.c | 82 ++++- fs/xfs/xfs_ialloc.c | 442 +++++++++++------------ fs/xfs/xfs_ialloc.h | 11 - fs/xfs/xfs_ialloc_btree.c | 1 - fs/xfs/xfs_iget.c | 47 +-- fs/xfs/xfs_inode.c | 326 ++++++----------- fs/xfs/xfs_inode.h | 22 +- fs/xfs/xfs_inode_item.c | 183 +++------- fs/xfs/xfs_inode_item.h | 2 +- fs/xfs/xfs_inum.h | 5 - fs/xfs/xfs_ioctl.c | 64 +++- fs/xfs/xfs_ioctl32.c | 14 +- fs/xfs/xfs_iomap.c | 65 ++-- fs/xfs/xfs_iops.c | 66 +++- fs/xfs/xfs_itable.c | 6 +- fs/xfs/xfs_log.c | 348 +++++++++++------- fs/xfs/xfs_log.h | 1 + fs/xfs/xfs_log_cil.c | 265 ++++++++------ fs/xfs/xfs_log_priv.h | 64 +++- fs/xfs/xfs_log_recover.c | 306 ++++++++-------- fs/xfs/xfs_message.c | 1 - fs/xfs/xfs_mount.c | 90 ++--- fs/xfs/xfs_mount.h | 12 +- fs/xfs/xfs_qm.c | 198 +++++----- fs/xfs/xfs_qm_bhv.c | 2 - fs/xfs/xfs_qm_syscalls.c | 1 - fs/xfs/xfs_quotaops.c | 1 - fs/xfs/xfs_rename.c | 12 - fs/xfs/xfs_rtalloc.c | 10 +- fs/xfs/xfs_rw.c | 156 -------- fs/xfs/xfs_rw.h | 47 --- fs/xfs/xfs_super.c | 161 +++------ fs/xfs/xfs_sync.c | 278 +++++--------- fs/xfs/xfs_trace.c | 2 - fs/xfs/xfs_trace.h | 151 ++++++-- fs/xfs/xfs_trans.c | 26 +- fs/xfs/xfs_trans.h | 72 +++- fs/xfs/xfs_trans_ail.c | 238 ++++++------ fs/xfs/xfs_trans_buf.c | 184 ++++------ fs/xfs/xfs_trans_dquot.c | 2 - fs/xfs/xfs_trans_extfree.c | 1 - fs/xfs/xfs_trans_inode.c | 2 - fs/xfs/xfs_trans_priv.h | 13 +- fs/xfs/xfs_types.h | 19 + fs/xfs/xfs_utils.c | 21 +- fs/xfs/xfs_vnodeops.c | 332 ++++++----------- 88 files changed, 5370 insertions(+), 5450 deletions(-) create mode 100644 fs/xfs/xfs_extent_busy.c create mode 100644 fs/xfs/xfs_extent_busy.h delete mode 100644 fs/xfs/xfs_rw.c delete mode 100644 fs/xfs/xfs_rw.h hooks/post-receive -- XFS development tree From bpm@sgi.com Fri Aug 3 16:52:37 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73LqbfR163575 for ; Fri, 3 Aug 2012 16:52:37 -0500 Received: from whiskey.americas.sgi.com (eagdhcp-232-197.americas.sgi.com [128.162.232.197]) by relay2.corp.sgi.com (Postfix) with ESMTP id ABA4B304051 for ; Fri, 3 Aug 2012 14:52:34 -0700 (PDT) Received: by whiskey.americas.sgi.com (Postfix, from userid 4600) id 8531D4266DC; Fri, 3 Aug 2012 16:52:34 -0500 (CDT) Date: Fri, 3 Aug 2012 16:52:34 -0500 From: Ben Myers To: xfs@oss.sgi.com Subject: Re: [XFS updates] XFS development tree branch, for-next, updated. v3.3-rc1-51-gc999a22 Message-ID: <20120803215234.GQ29979@sgi.com> References: <201208032143.q73LhijU161376@oss.sgi.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201208032143.q73LhijU161376@oss.sgi.com> User-Agent: Mutt/1.5.20 (2009-06-14) Hi, Oops... I didn't get that quite right the first time. I've got it fixed up now. Our for-next is (and should be) v3.6-rc1. Regards, Ben From ndsco1@student.monash.edu Fri Aug 3 18:51:48 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q73Npl7l181779 for ; Fri, 3 Aug 2012 18:51:48 -0500 X-ASG-Debug-ID: 1344037904-04cb6c194034d460001-NocioJ Received: from kyle.its.monash.edu.au (kyle.its.monash.edu.au [130.194.13.163]) by cuda.sgi.com with ESMTP id YSzqoFCt5RZ8ubot for ; Fri, 03 Aug 2012 16:51:45 -0700 (PDT) X-Barracuda-Envelope-From: ndsco1@student.monash.edu X-Barracuda-Apparent-Source-IP: 130.194.13.163 Received: from palin.its.monash.edu.au ([130.194.13.83]) by kyle.its.monash.edu.au (Sun Java System Messaging Server 6.2-4.03 (built Sep 22 2005)) with ESMTP id <0M87009T7E8PEG10@kyle.its.monash.edu.au> for xfs@oss.sgi.com; Sat, 04 Aug 2012 09:50:49 +1000 (EST) Received: from palin.its.monash.edu.au (localhost.localdomain [127.0.0.1]) by localhost (Postfix) with SMTP id 69D29546C94 for ; Sat, 04 Aug 2012 09:50:49 +1000 (EST) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by palin.its.monash.edu.au (Postfix) with ESMTPS id ECC23546C89 for ; Sat, 04 Aug 2012 09:50:48 +1000 (EST) Received: by pbbro2 with SMTP id ro2so1927317pbb.41 for ; Fri, 03 Aug 2012 16:50:45 -0700 (PDT) Received: by 10.68.217.40 with SMTP id ov8mr1160152pbc.131.1344037845738; Fri, 03 Aug 2012 16:50:45 -0700 (PDT) Received: by 10.68.44.135 with HTTP; Fri, 03 Aug 2012 16:50:45 -0700 (PDT) Date: Sat, 04 Aug 2012 09:50:45 +1000 From: Nathan Scott Subject: Re: [PATCH] German translation for xfsdump In-reply-to: X-ASG-Orig-Subj: Re: [PATCH] German translation for xfsdump Sender: ndsco1@student.monash.edu To: Stefan Ring Cc: xfs@oss.sgi.com Message-id: MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: quoted-printable X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding:x-gm-message-state; bh=dZbRCHPkAyIUwafnc2mDLCoz908wXsXGMQK3zFnDEgY=; b=Zom//Nmv6mQzCzfe+S1UlMUvIujaahEEmZvuRHUmmmqE/K3AuFIOo8z5F2SVW3e6Qz BLHnlfGYdVaEkYfa/0ULFrIb+euf/v00QdQNk8Dx5M18bOb7faalmGDb6eNDRAFrylMc 3JGFRt8464500gInEFK+UXkcMYeJqOBR3c2S1i2gvwczRd8h63FVQ65ZR+hsLsnmjefS ejMGTlAjpHffoEioSiKQuUyGDiu2BvSbKNP8u1OoB+r516NUhjVyijIuOu+RZhQuN81Y jsmC2yfYra2nR06NG5m9iT5/Sn7q0Nhqsdm+5oBGR316EZ8b318cT4EVrON9LEYZg0Zj kV8w== X-Google-Sender-Auth: yAmA1S8RMOwC16rIPLZ3ljAewQQ X-Gm-Message-State: ALoCoQnDrV+l1PeAAMKgA+1q2ExfSupHspSgCl/5kgni/JrY2hDQ/yGdinQDhTcXhjRibhCjXBa0 References: X-Barracuda-Connect: kyle.its.monash.edu.au[130.194.13.163] X-Barracuda-Start-Time: 1344037905 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104608 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi Stefan, On 2 August 2012 23:14, Stefan Ring wrote: > On Wed, Aug 1, 2012 at 2:31 AM, Nathan Scott wrote: >> Thanks to Chris Leick , reported via Debian BTS as >> bug #576257. > > I wonder why anyone would even want that translated. I imagine it might be of some use for non-English speakers? Some kind soul has gone to the trouble of translating it (maybe for his mum? or Aunt Tillie?) and the infrastructure is there to support such translations, so I'm all for it. > ... and still I find it mentally disturbing to read through > the messages. If you want mentally disturbing, you should try reading the code. :) > One random error I caught: Schlu=DFdialog -> Schlussdialog > "ausrangieren" for "discarding"? Hehe ;). Maybe rather "verwerfen"? Please send a follow-up patch, thanks! cheers. -- Nathan From xfs-owner@oss.sgi.com Sat Aug 4 14:17:24 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: **** X-Spam-Status: No, score=4.3 required=5.0 tests=BAYES_99,MIME_8BIT_HEADER autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q74JHOg6060991 for ; Sat, 4 Aug 2012 14:17:24 -0500 X-ASG-Debug-ID: 1344107842-04cbb06dae3b0ae0001-w1Z2WR Received: from correo4.supernet.com.bo (mail2.supernet.com.bo [200.58.72.75]) by cuda.sgi.com with ESMTP id Ik1MZPNp9JDtFBdF for ; Sat, 04 Aug 2012 12:17:23 -0700 (PDT) X-Barracuda-Envelope-From: rdelgado@supernet.com.bo X-Barracuda-Apparent-Source-IP: 200.58.72.75 Received: from localhost (localhost [127.0.0.1]) by correo4.supernet.com.bo (Postfix) with ESMTP id BFB76129C79; Sat, 4 Aug 2012 15:17:08 -0400 (BOT) X-Virus-Scanned: amavisd-new at supernet.com.bo Received: from correo4.supernet.com.bo ([127.0.0.1]) by localhost (correo4.supernet.com.bo [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nWwgIvKq-oiM; Sat, 4 Aug 2012 15:17:08 -0400 (BOT) Received: from correo4.supernet.com.bo (correo4.supernet.com.bo [200.58.72.75]) by correo4.supernet.com.bo (Postfix) with ESMTP id CDD41129C73; Sat, 4 Aug 2012 15:17:07 -0400 (BOT) Date: Sat, 4 Aug 2012 15:17:07 -0400 (BOT) From: "John Collins " Reply-To: John Collins Message-ID: <1352434665.247653.1344107827823.JavaMail.root@supernet.com.bo> Subject: =?ISO-8859-1?Q?Darlehen_bieten_bei_4%_Zinsen_?= =?ISO-8859-1?Q?mit_30_Jahren_der_R=FCckzahlung.?= MIME-Version: 1.0 X-ASG-Orig-Subj: =?ISO-8859-1?Q?Darlehen_bieten_bei_4%_Zinsen_?= =?ISO-8859-1?Q?mit_30_Jahren_der_R=FCckzahlung.?= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [41.138.172.37] X-Mailer: Zimbra 7.2.0_GA_2669 (zclient/7.2.0_GA_2669) To: undisclosed-recipients:; X-Barracuda-Connect: mail2.supernet.com.bo[200.58.72.75] X-Barracuda-Start-Time: 1344107842 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=FUZZY_CREDIT X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104684 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 FUZZY_CREDIT BODY: Attempt to obfuscate words in spam Sie ben=F6tigen einen Kredit zu beginnen, eine neue Gesch=E4ftskultur? oder= brauchen Sie ein Darlehen auszahlen alle Ihre Schulden? Bewerben Sie sich = f=FCr ein Darlehen jetzt und innerhalb der Frist von 3 Tagen bieten wir all= e Arten von Darlehen zu einem reduzierten Zinssatz von 4% pro Jahr genehmig= t zu bekommen. F=FCr weitere Informationen mailen Sie uns jetzt an: johncol= linsloanfirm@careceo.com From david@fromorbit.com Sat Aug 4 17:43:41 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q74MhfbH087858 for ; Sat, 4 Aug 2012 17:43:41 -0500 X-ASG-Debug-ID: 1344120219-04cbb050cc085f0001-NocioJ Received: from ipmail06.adl2.internode.on.net (ipmail06.adl2.internode.on.net [150.101.137.129]) by cuda.sgi.com with ESMTP id 7X60LU8MCsUk8Rt9 for ; Sat, 04 Aug 2012 15:43:40 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.129 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArUMAL2kHVB5LIM1/2dsb2JhbABFhRKzJQECgQOBCIIgAQEEATocIwULCAMYLhQlAyETiAcFuiMUizYVgQFXhRcDlUiJLIZhgnGBRQ Received: from ppp121-44-131-53.lns20.syd7.internode.on.net (HELO dastard) ([121.44.131.53]) by ipmail06.adl2.internode.on.net with ESMTP; 05 Aug 2012 08:13:38 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1Sxn4K-0007mO-5d; Sun, 05 Aug 2012 08:43:36 +1000 Date: Sun, 5 Aug 2012 08:43:36 +1000 From: Dave Chinner To: Stefan Priebe - Profihost AG Cc: "xfs@oss.sgi.com" Subject: Re: xfs_growfs / planned resize / performance impact Message-ID: <20120804224336.GS2877@dastard> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5017E426.2040709@profihost.ag> User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail06.adl2.internode.on.net[150.101.137.129] X-Barracuda-Start-Time: 1344120219 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104698 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Tue, Jul 31, 2012 at 03:56:54PM +0200, Stefan Priebe - Profihost AG wrote: > Hello list, > > i'm planning to create a couple of VMs with just 30GB of space while > using xfs as the main filesystem. > > Now i alreay know that some of the VMs will grow up to 250GB while > resizing the block device and using xfs_growfs. Just use thin provisioning and make it 250GB to begin with. Thin provisioning mades filsystem grow/shrink pretty much redundant.... > Should i take care of that and format these disks with special parameters? > > I've discovered that a 500GB volume has agcount=4 and 64000 blocks > of internal log - while a 300GB volume resized to 500GB has agcount > 7 ad only 40960 blocks of internal log. I doubt you'll ever notice the difference. > Is it a problem if this grow will happen in small portions (30GB => > 50GB => 75GB => 100GB => ... 300GB)? Growing a filesystem by an order of magnitude is the limit of what I'd suggest is sane. Growing it by two orders of magnitude (espcially if you start with a 16 AG filesystem because of stripe alignment) is going to cause problems with the number of AGs and the subsequent freespace management scale issue.... Cheers, Dave. -- Dave Chinner david@fromorbit.com From 3ps4dUBEGA0Eirfxv_lqqrydwlrq6tt.frp0ivrvv.vjl.frp@photos-server.bounces.google.com Sat Aug 4 20:38:51 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: *** X-Spam-Status: No, score=3.3 required=5.0 tests=BAYES_80,FREEMAIL_FROM, MIME_8BIT_HEADER,T_TO_NO_BRKTS_FREEMAIL autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q751co6Q109093 for ; Sat, 4 Aug 2012 20:38:51 -0500 X-ASG-Debug-ID: 1344130727-04cbb050cf0e8a0001-NocioJ Received: from mail-ob0-f201.google.com (mail-ob0-f201.google.com [209.85.214.201]) by cuda.sgi.com with ESMTP id 12gzQO6VADg06840 (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Sat, 04 Aug 2012 18:38:47 -0700 (PDT) X-Barracuda-Envelope-From: 3ps4dUBEGA0Eirfxv_lqqrydwlrq6tt.frp0ivrvv.vjl.frp@photos-server.bounces.google.com X-Barracuda-Apparent-Source-IP: 209.85.214.201 X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] Received: by obbun3 with SMTP id un3so1498084obb.2 for ; Sat, 04 Aug 2012 18:38:47 -0700 (PDT) X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] X-Barracuda-IPDD: Level1 [photos-server.bounces.google.com/209.85.214.201] MIME-Version: 1.0 Received: by 10.43.12.198 with SMTP id pj6mt4981035icb.8.1344130726608; Sat, 04 Aug 2012 18:38:46 -0700 (PDT) Reply-To: Hat Supply Message-ID: Date: Sun, 05 Aug 2012 01:38:46 +0000 Subject: =?GB2312?B?SGF0IFN1cHBsedPrxPq5ss/twcvV1cas?= From: Hat Supply X-ASG-Orig-Subj: =?GB2312?B?SGF0IFN1cHBsedPrxPq5ss/twcvV1cas?= To: xfs@oss.sgi.com Content-Type: multipart/mixed; boundary=bcaec518701c7ebc0704c67ad284 X-Barracuda-Connect: mail-ob0-f201.google.com[209.85.214.201] X-Barracuda-Start-Time: 1344130727 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104710 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --bcaec518701c7ebc0704c67ad284 Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes Dear Mr/Miss, We have a hat factory in China! Do you need us to help you to gain more and more market on your country? Ok, if so, pls let us know, we will be happy to help you to provide our newest styles selling well on market! Focus Innovation Gifts Company Best Regards, Helen --bcaec518701c7ebc0704c67ad284 Content-Type: image/jpeg; name="F3469.jpg" Content-Disposition: attachment; filename="F3469.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAD6AVcDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqC9vbfTrWS5upkt4IxueSRgqqPcmue8d/EPS fh/phutQlzKw/dWyH55D7e3vXyB8S/jLrPj66f7VObbT1Y+VZQnCL7n1PvXPVrworU7MPhamJlaK 0PbfH/7T9lpskln4cgF9MODdScRg+w6mvnbxl8TPEPi6d31HVZnQniJW2oB6YHFcnPdlmOCfxNUp 5mJVc5rxauKnUVtj6vDZdToNS3J550Z/mkZjVSWaJTnBNQXErKTjiqNxKzA/MAa4G22e3BJJalw3 inIVBS/2iV2ghRg1kqzAH5hUe5pGxuFCk09DWUISWpr3msPC7quODxxWf/wkt5kjdx6CmXcLNKee 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 --bcaec518701c7ebc0704c67ad284 Content-Type: image/jpeg; name="1.jpg" Content-Disposition: attachment; filename="1.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/4QEWRXhpZgAASUkqAAgAAAAEADEBAgAHAAAAPgAAADIBAgAU AAAARQAAADsBAgAHAAAAWQAAAGmHBAABAAAAYAAAAAAAAABQaWNhc2EAMjAxMjowODowNSAwOToz ODozNgBQaWNhc2EABgAAkAcABAAAADAyMjADkAIAFAAAAK4AAAACoAQAAQAAAOABAAADoAQAAQAA ACEBAAAFoAQAAQAAAOQAAAAgpAIAIQAAAMIAAAAAAAAAMjAxMjowNzoyOCAxNjozMToxMgBlN2Zj Y2FlZDhiMzEwZGE4YzhkNDcyYjQ0NzRlODI3MgAAAwACAAcABAAAADAxMDABEAQAAQAAAE8DAAAC EAQAAQAAAP4BAAAAAAAA/+EC12h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0 IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4 bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS4xLjIiPiA8cmRmOlJE RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMi PiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9i ZS5jb20veGFwLzEuMC8iIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAv IiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtcDpNb2RpZnlE YXRlPSIyMDEyLTA4LTA1VDA5OjM4OjM2KzA4OjAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIw MTItMDctMjhUMTY6MzE6MTIrMDg6MDAiPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+ UGljYXNhPC9yZGY6bGk+IDwvcmRmOlNlcT4gPC9kYzpjcmVhdG9yPiA8L3JkZjpEZXNjcmlwdGlv bj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3 Ij8+/+0AdlBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAA+HAEAAAIABBwBWgADGyVHHAIAAAIABBwC NwAIMjAxMjA3MjgcAjwACzE2MzExMiswODAwHAJQAAZQaWNhc2E4QklNBCUAAAAAABAuZWpe0/py 5wnu1oSqnrp0/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhUR ERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4e Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgBIQHgAwEiAAIRAQMRAf/EAB0A AAAHAQEBAAAAAAAAAAAAAAABAgUGBwgEAwn/xABSEAABAwMDAgMFBAcFAwgHCQABAgMEAAURBhIh BzETQVEiYXGBkQgUMqEVNkJSdLGzI2KywdEWMzQkQ1RkcpLh8CUmRFWCk5QXNUVTY3WE0vH/xAAb AQEBAQEBAQEBAAAAAAAAAAAAAQIDBAUGB//EAC0RAAICAQQBAwQBAwUAAAAAAAABAhEDBBIhMQUT QVEGFCIycSNCoWGBkcHw/9oADAMBAAIRAxEAPwC+9S6juVkj2BuJK8Jh22NqWNoOTgDPIpkHUS7s qIcluOo/ZUEICh8sc1z9VVKEbTIBOP0Sj+SagSnSlYKlZA5+lLpFVFgzdf6h2qVHnuDjI3No493a mqT1I1QhG43ZaPgyg/5VXmsb9NtNpRIiMJfeU6lAQTyRgqVj1OAa4rJd3rvYkTHktBSlKSS2cg4P Brgpy/b2NSq6J7I6oauT+C+rH/8AHb/0qxug+p7zqZu8Lu88yzHW0GiW0p2hQUT2A9BVCtsNOoyF E5q5/szRxHYv+P2nGP8ACqu5iy41dqru+X+dGuUllm5lCW3VpCQpPGD2qxFVQGs+NS3MlP8A7U5/ Ol0VEhlasuiFKIvSkjAx7Sf9KiuqOpF/t6NsW7vOOHndlO1I+nemt1l1balEbU4qHXVt6ZN8IBSv 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 --bcaec518701c7ebc0704c67ad284 Content-Type: image/jpeg; name="F3478.jpg" Content-Disposition: attachment; filename="F3478.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEGAWQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiq99f2+m27T3UyQRL1dzgVwes /F6ygdo7ELLj/lrIcD8qB2ueiUx5Uj+86r9TivBdc+JN/qaMn9oGIHtCcCuRXXLy1ujcxXkjE/eV 2JDVEpxguaTsilBvRH1L9rgP/LaP/vsVIkiyDKsGHsc18+WfxDtJrIx3CyQTAYGASDTbn4jafp8L SJdSgqMgLnNeXLN8uje9eP3o3WFrPaD+4+h6K+aPCH7TFvqermxW8ZSilitwODg4xntXsOg/FHT9 TCrcEQsf+Wincn59q3wmPwuOjzYeopfn925NXD1aLtUjY7aimQzR3EayRurowyGU5Bp9egc4UUUU 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 7A3Y3YzgZx0FFFFAH//Z --bcaec518701c7ebc0704c67ad284 Content-Type: image/jpeg; name="F3275.jpg" Content-Disposition: attachment; filename="F3275.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEEAWIDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD7y/ZG bf8As9eFD6/a/wD0rmr2GvGv2Pjn9nTwkfe8/wDSyevZaACiiigAooooAKKKKACiiigAooooAKKK KACiiigArD8VeM9J8HWRudTuli4+SIcu/wBBXLfFP4u2fgSNbC123etzrlIAciMf3m9P6183a/q9 94gu5LzUrlp5n5LOeFHoBWNSpyLzNYQ5tXsd74y/aC1PWWkh0tf7OtOm5TmRh7nt+FeYXviG7vHa SRmlc9XdixP4msi71NPMMVsnnOOp/hH1qqYJbj/XSFh/cXgVx+1m+pvyxWyLs+pmbgzkH+7HzXPa 3qGrW/y2VnHPGSMF3wxP5VuxwpCBtXFVr+UCMtkfL835VLlfdjOb0i+1aaSQ6jb/AGU9FVHzWqbi 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 --bcaec518701c7ebc0704c67ad284 Content-Type: image/jpeg; name="F3272.jpg" Content-Disposition: attachment; filename="F3272.jpg" Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAEHAV0DASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK KACiiigAooooAKKKZLNHBGXldY0HJZjgCgB9FcD4l+NXhvw8WjWdr+4Xjy7cZGfc15jr/wC0drF2 WXTLOCwjPR3HmP8Arx+lK6HZn0WSFGScD3qpdavY2Slp7uGIDuzgV8fax8RfE+tM32rWbsqeqxSG NfyXArmp3luHLyyNIx6s5yT+NTzFcp9n3HxG8MWpxLrtih9DMKrf8LV8JD/mPWX/AH9FfEOo+INP 0oYuLuNG/ug5P5CsR/iDZFsR217MB/EsJwa0jCpP4YtmU506fxySPv2L4n+FJThdfsc+hmFaln4o 0jUCBbalbTZ6bJQa/PFfHULD5bC9GPWKg+N7RFDSrNbLn70i7QK3WFxDdvZv7mc7xmFSb9otPNH6 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 xj0VQKkoooAKKKKACiiigAooooAKKKKAP//Z --bcaec518701c7ebc0704c67ad284-- From s.priebe@profihost.ag Sun Aug 5 00:46:42 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_00,HTML_MESSAGE, MIME_QP_LONG_LINE autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q755kgJD137431 for ; Sun, 5 Aug 2012 00:46:42 -0500 X-ASG-Debug-ID: 1344145598-04cbb050ce156f0001-NocioJ Received: from mail.profihost.ag (mail.profihost.ag [85.158.179.208]) by cuda.sgi.com with ESMTP id VIPK5aYHzIWrdsGB (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sat, 04 Aug 2012 22:46:39 -0700 (PDT) X-Barracuda-Envelope-From: s.priebe@profihost.ag X-Barracuda-Apparent-Source-IP: 85.158.179.208 Received: (qmail 9431 invoked from network); 5 Aug 2012 07:46:38 +0200 Received: from p579D6C34.dip.t-dialin.net (HELO [192.168.178.45]) (87.157.108.52) (smtp-auth username s.priebe@profihost.ag, mechanism plain) by mail.profihost.ag (qpsmtpd/0.82) with (AES128-SHA encrypted) ESMTPSA; Sun, 05 Aug 2012 07:46:38 +0200 References: <5017E426.2040709@profihost.ag> <20120804224336.GS2877@dastard> In-Reply-To: <20120804224336.GS2877@dastard> Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: 7bit Content-Type: multipart/alternative; boundary=Apple-Mail-3FC41BFA-C889-4588-9DF4-F1334EB3CD1B Message-Id: Cc: "xfs@oss.sgi.com" X-Mailer: iPhone Mail (9A405) From: Stefan Priebe Subject: Re: xfs_growfs / planned resize / performance impact Date: Sun, 5 Aug 2012 07:46:33 +0200 X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact To: Dave Chinner X-User-Auth: Auth by s.priebe@profihost.ag through 87.157.108.52 X-Barracuda-Connect: mail.profihost.ag[85.158.179.208] X-Barracuda-Start-Time: 1344145599 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.82 X-Barracuda-Spam-Status: No, SCORE=0.82 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=HTML_MESSAGE, MIME_QP_LONG_LINE, MIME_QP_LONG_LINE_2 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104726 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars 0.82 MIME_QP_LONG_LINE_2 RAW: Quoted-printable line longer than 76 chars --Apple-Mail-3FC41BFA-C889-4588-9DF4-F1334EB3CD1B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Am 05.08.2012 um 00:43 schrieb Dave Chinner : > On Tue, Jul 31, 2012 at 03:56:54PM +0200, Stefan Priebe - Profihost AG wro= te: >> Hello list, >>=20 >> i'm planning to create a couple of VMs with just 30GB of space while >> using xfs as the main filesystem. >>=20 >> Now i alreay know that some of the VMs will grow up to 250GB while >> resizing the block device and using xfs_growfs. >=20 > Just use thin provisioning and make it 250GB to begin with. Thin > provisioning mades filsystem grow/shrink pretty much redundant.... But dm thin isn't stable isn't it? Does xfs reallocate used parts of the blo= ck Device before using new parts? Otherwise deleting and recreating files will r= esult in full used space pretty fast. >> Is it a problem if this grow will happen in small portions (30GB =3D> >> 50GB =3D> 75GB =3D> 100GB =3D> ... 300GB)? >=20 > Growing a filesystem by an order of magnitude is the limit of what > I'd suggest is sane. Growing it by two orders of magnitude > (espcially if you start with a 16 AG filesystem because of stripe > alignment) is going to cause problems with the number of AGs and > the subsequent freespace management scale issue.... I would start with ag=3D4 and end up in ag 48 in my tests. > Growing it by two orders of magnitude what does that mean? (sorry no native speaker) Thanks! Stefan= --Apple-Mail-3FC41BFA-C889-4588-9DF4-F1334EB3CD1B Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
Am 05.08.2012 um 00:43 sch= rieb Dave Chinner <david@fromorbit= .com>:

O= n Tue, Jul 31, 2012 at 03:56:54PM +0200, Stefan Priebe - Profihost AG wrote:=
Hello list,

i'm planning to create a couple of VMs with just 30GB of space w= hile
using xfs as the= main filesystem.

Now i alreay know that s= ome of the VMs will grow up to 250GB while
resizing the block device and using xfs_growfs.=

Just use thin provisioning and make i= t 250GB to begin with. Thin
provisioning mades filsystem gro= w/shrink pretty much redundant....

But dm thin isn't stable isn't it? Does xfs reallocate used parts of= the block
Device before using new parts? Otherwise deleting and r= ecreating files will result in full used space pretty fast.

Is it a= problem if this grow will happen in small portions (30GB =3D>
=
50GB =3D> 75GB =3D> 100GB= =3D> ... 300GB)?

Growing a= filesystem by an order of magnitude is the limit of what
I'= d suggest is sane. Growing it by two orders of magnitude
(es= pcially if you start with a 16 AG filesystem because of stripe
alignment) is going to cause problems with the number of AGs andthe subsequent freespace management scale issue....
= I would start with ag=3D4 and end up in ag 48 in my tests.
=
Growing it by two orders of magnitude
what does that mean? (sorry no native speaker)

<= div>Thanks!

Stefan
= --Apple-Mail-3FC41BFA-C889-4588-9DF4-F1334EB3CD1B-- From Martin@lichtvoll.de Sun Aug 5 06:03:15 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75B3EEF194641 for ; Sun, 5 Aug 2012 06:03:14 -0500 X-ASG-Debug-ID: 1344164590-04bdf0345522150001-NocioJ Received: from mail.lichtvoll.de (mondschein.lichtvoll.de [194.150.191.11]) by cuda.sgi.com with ESMTP id XCJiWnWL5FSfBtdS for ; Sun, 05 Aug 2012 04:03:10 -0700 (PDT) X-Barracuda-Envelope-From: Martin@lichtvoll.de X-Barracuda-Apparent-Source-IP: 194.150.191.11 Received: from merkaba.localnet (ppp-93-104-157-132.dynamic.mnet-online.de [93.104.157.132]) by mail.lichtvoll.de (Postfix) with ESMTPSA id D32441D9; Sun, 5 Aug 2012 13:03:09 +0200 (CEST) From: Martin Steigerwald To: xfs@oss.sgi.com Subject: Re: xfs_growfs / planned resize / performance impact Date: Sun, 5 Aug 2012 13:03:09 +0200 X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact User-Agent: KMail/1.13.7 (Linux/3.5.0-tp520; KDE/4.8.4; x86_64; ; ) Cc: "Stefan Priebe - Profihost AG" , Eric Sandeen References: <5017E426.2040709@profihost.ag> <501B4D7E.1000303@sandeen.net> <501B6B04.2090002@profihost.ag> (sfid-20120803_140801_426027_0A33D973) In-Reply-To: <501B6B04.2090002@profihost.ag> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <201208051303.09337.Martin@lichtvoll.de> X-Barracuda-Connect: mondschein.lichtvoll.de[194.150.191.11] X-Barracuda-Start-Time: 1344164590 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104748 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Am Freitag, 3. August 2012 schrieb Stefan Priebe - Profihost AG: > Am 03.08.2012 06:03, schrieb Eric Sandeen: > > On 7/31/12 8:56 AM, Stefan Priebe - Profihost AG wrote: > >> Hello list, > >>=20 > >> i'm planning to create a couple of VMs with just 30GB of space while > >> using xfs as the main filesystem. > >>=20 > >> Now i alreay know that some of the VMs will grow up to 250GB while > >> resizing the block device and using xfs_growfs. > >>=20 > >> Should i take care of that and format these disks with special > >> parameters? > >>=20 > >> I've discovered that a 500GB volume has agcount=3D4 and 64000 blocks > >> of internal log - while a 300GB volume resized to 500GB has agcount > >> 7 ad only 40960 blocks of internal log. > >>=20 > >> Is it a problem if this grow will happen in small portions (30GB =3D> > >> 50GB =3D> 75GB =3D> 100GB =3D> ... 300GB)? > >=20 > > This incremental part doesn't matter a bit. The first mkfs will > > choose the AG count & size according to defaults; > >=20 > > further growth after this will add new (possibly partial) AGs of > > that >=20 > pre-chosen size. >=20 > OK thanks for your reply. But does this influence performance? Should i > perhaps start creating the 30GB with agcount 1 so that while raising > the disk i don't end up with such a high agcount value? Does it make > sense to create a bigger internal log from he beginning? Well the default was 16 AGs for volumes < 2 TiB AFAIR. And it has been=20 reduced to 4 for as I remember exactly performance reasons. Too many AGs=20 on a single device can incur too much parallelity. Thats at least is what=20 I have understood back then. But then you didn=C2=B4t describe where those VM disks are located. If that= =20 location has many spindles it might not matter at all or even improve=20 performance. Anyway, I do not see much sense to make them 30 GiB when they can grow to=20 500 GiB =E2=80=93 at least provided that you use thin provisioning. Cause=20 xfs_growfs and resizing the image will likely be a manual step while thin=20 provisioning goes automatically and only needs to be monitored. That manual step makes sense tough if you want to guarentee all the space=20 thats visibly in df output is really physically available, without=20 providing for x times 500 GiB initially. As you see much guesswork in here, cause the data you provided was not=20 enough for any clear recommendation. =2D-=20 Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 From Martin@lichtvoll.de Sun Aug 5 06:06:59 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75B6xaw195460 for ; Sun, 5 Aug 2012 06:06:59 -0500 X-ASG-Debug-ID: 1344164817-04cb6c3c72216d0001-NocioJ Received: from mail.lichtvoll.de (mondschein.lichtvoll.de [194.150.191.11]) by cuda.sgi.com with ESMTP id KdousH1z6UI1aGkV for ; Sun, 05 Aug 2012 04:06:58 -0700 (PDT) X-Barracuda-Envelope-From: Martin@lichtvoll.de X-Barracuda-Apparent-Source-IP: 194.150.191.11 Received: from merkaba.localnet (ppp-93-104-157-132.dynamic.mnet-online.de [93.104.157.132]) by mail.lichtvoll.de (Postfix) with ESMTPSA id 7C5991D9; Sun, 5 Aug 2012 13:06:57 +0200 (CEST) From: Martin Steigerwald To: xfs@oss.sgi.com Subject: Re: xfs_growfs / planned resize / performance impact Date: Sun, 5 Aug 2012 13:06:56 +0200 X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact User-Agent: KMail/1.13.7 (Linux/3.5.0-tp520; KDE/4.8.4; x86_64; ; ) Cc: Stefan Priebe , Dave Chinner References: <5017E426.2040709@profihost.ag> <20120804224336.GS2877@dastard> (sfid-20120805_095300_150817_93C5E635) In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201208051306.56937.Martin@lichtvoll.de> X-Barracuda-Connect: mondschein.lichtvoll.de[194.150.191.11] X-Barracuda-Start-Time: 1344164817 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104748 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Am Sonntag, 5. August 2012 schrieb Stefan Priebe: > Am 05.08.2012 um 00:43 schrieb Dave Chinner : > > On Tue, Jul 31, 2012 at 03:56:54PM +0200, Stefan Priebe - Profihost AG wrote: > >> Hello list, > >> > >> i'm planning to create a couple of VMs with just 30GB of space while > >> using xfs as the main filesystem. > >> > >> Now i alreay know that some of the VMs will grow up to 250GB while > >> resizing the block device and using xfs_growfs. > > > > Just use thin provisioning and make it 250GB to begin with. Thin > > provisioning mades filsystem grow/shrink pretty much redundant.... > > But dm thin isn't stable isn't it? Does xfs reallocate used parts of > the block Device before using new parts? Otherwise deleting and > recreating files will result in full used space pretty fast. A periodic fstrim might help if the TRIM/DISCARD is supported in all layers. And whether it is is a good question that depends on well where your data is stored and what layers in the kernel are involved in storing it and the kernel version of course. > >> Is it a problem if this grow will happen in small portions (30GB => > >> 50GB => 75GB => 100GB => ... 300GB)? > > > > Growing a filesystem by an order of magnitude is the limit of what > > I'd suggest is sane. Growing it by two orders of magnitude > > (espcially if you start with a 16 AG filesystem because of stripe > > alignment) is going to cause problems with the number of AGs and > > the subsequent freespace management scale issue.... > > I would start with ag=4 and end up in ag 48 in my tests. Thats IMHO quite much for upto 500 GiB. But it still depends on what kind of storage this is located. -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 From andyjpb@ashurst.eu.org Sun Aug 5 06:35:36 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75BZa8D199129 for ; Sun, 5 Aug 2012 06:35:36 -0500 X-ASG-Debug-ID: 1344166534-04cb6c3c7222390001-NocioJ Received: from pavilion.ashurst.eu.org (pavilion.ashurst.eu.org [85.119.82.45]) by cuda.sgi.com with ESMTP id 8pmRZUSNAzexAbi3 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 05 Aug 2012 04:35:35 -0700 (PDT) X-Barracuda-Envelope-From: andyjpb@ashurst.eu.org X-Barracuda-Apparent-Source-IP: 85.119.82.45 Received: from 79.70.112.87.dyn.plus.net ([87.112.70.79] helo=[192.168.1.155]) by pavilion.ashurst.eu.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1Sxz7L-0005cz-AF; Sun, 05 Aug 2012 12:35:31 +0100 Message-ID: <501E5A82.1020909@ashurst.eu.org> Date: Sun, 05 Aug 2012 12:35:30 +0100 From: Andy Bennett User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 MIME-Version: 1.0 To: Stefan Priebe CC: Dave Chinner , "xfs@oss.sgi.com" References: <5017E426.2040709@profihost.ag> <20120804224336.GS2877@dastard> In-Reply-To: X-Enigmail-Version: 1.4.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 87.112.70.79 X-SA-Exim-Mail-From: andyjpb@ashurst.eu.org Subject: Re: xfs_growfs / planned resize / performance impact X-SA-Exim-Version: 4.2.1 (built Mon, 22 Mar 2010 06:51:10 +0000) X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact X-SA-Exim-Scanned: Yes (on pavilion.ashurst.eu.org) X-Barracuda-Connect: pavilion.ashurst.eu.org[85.119.82.45] X-Barracuda-Start-Time: 1344166534 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104750 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Hi, >>> Is it a problem if this grow will happen in small portions (30GB => >>> 50GB => 75GB => 100GB => ... 300GB)? >> >> Growing a filesystem by an order of magnitude is the limit of what >> I'd suggest is sane. Growing it by two orders of magnitude >> (espcially if you start with a 16 AG filesystem because of stripe >> alignment) is going to cause problems with the number of AGs and >> the subsequent freespace management scale issue.... > I would start with ag=4 and end up in ag 48 in my tests. > >> Growing it by two orders of magnitude > what does that mean? (sorry no native speaker) In base 10 an order of magnitude is 10x. Two orders of magnitude would be 100x. Numbers of the same order of magnitude have the decimal point (comma in EU) in the same place. 300GB is an order of magnitude larger than 30GB. Sometimes, I've seen computer scientists use binary orders of magnitude. I.e. 2x, 4x, 8x, 16x. I'm not sure if this is generally accepted or not. Regards, @ndy -- andyjpb@ashurst.eu.org http://www.ashurst.eu.org/ 0x7EBA75FF From stan@hardwarefreak.com Sun Aug 5 07:34:57 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75CYv5X206395 for ; Sun, 5 Aug 2012 07:34:57 -0500 X-ASG-Debug-ID: 1344170096-04cbb050cd21ac0001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id JKaerDgDgFqZmKXC for ; Sun, 05 Aug 2012 05:34:56 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 62A336C02E; Sun, 5 Aug 2012 07:34:56 -0500 (CDT) Message-ID: <501E6872.6000503@hardwarefreak.com> Date: Sun, 05 Aug 2012 07:34:58 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Martin Steigerwald CC: xfs@oss.sgi.com, Eric Sandeen , Stefan Priebe - Profihost AG Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <501B4D7E.1000303@sandeen.net> <501B6B04.2090002@profihost.ag> (sfid-20120803_140801_426027_0A33D973) <201208051303.09337.Martin@lichtvoll.de> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <201208051303.09337.Martin@lichtvoll.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1344170096 X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On 8/5/2012 6:03 AM, Martin Steigerwald wrote: > Well the default was 16 AGs for volumes < 2 TiB AFAIR. And it has been > reduced to 4 for as I remember exactly performance reasons. Too many AGs > on a single device can incur too much parallelity. Thats at least is what > I have understood back then. For striped md/RAID or LVM volumes mkfs.xfs will create 16 AGs by default because it reads the configuration and finds a striped volume. The theory here is that more AGs offers better performance in the average case on a striped volume. With hardware RAID or a single drive, or any storage configuration for which mkfs.xfs is unable to query the parameters, mkfs.xfs creates 4 AGs by default. The 4 AG default has been with us for a very long time. It was never reduced. -- Stan From Martin@lichtvoll.de Sun Aug 5 08:49:25 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75DnPH2217390 for ; Sun, 5 Aug 2012 08:49:25 -0500 X-ASG-Debug-ID: 1344174563-04cb6c3c7026300001-NocioJ Received: from mail.lichtvoll.de (mondschein.lichtvoll.de [194.150.191.11]) by cuda.sgi.com with ESMTP id 1HsLd443iQo2QHWu for ; Sun, 05 Aug 2012 06:49:23 -0700 (PDT) X-Barracuda-Envelope-From: Martin@lichtvoll.de X-Barracuda-Apparent-Source-IP: 194.150.191.11 Received: from merkaba.localnet (ppp-93-104-157-132.dynamic.mnet-online.de [93.104.157.132]) by mail.lichtvoll.de (Postfix) with ESMTPSA id 5BA49A8; Sun, 5 Aug 2012 15:49:23 +0200 (CEST) From: Martin Steigerwald To: stan@hardwarefreak.com Subject: Re: xfs_growfs / planned resize / performance impact Date: Sun, 5 Aug 2012 15:49:22 +0200 X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact User-Agent: KMail/1.13.7 (Linux/3.5.0-tp520; KDE/4.8.4; x86_64; ; ) Cc: xfs@oss.sgi.com, Eric Sandeen , "Stefan Priebe - Profihost AG" References: <5017E426.2040709@profihost.ag> <201208051303.09337.Martin@lichtvoll.de> <501E6872.6000503@hardwarefreak.com> (sfid-20120805_153826_573731_00E594B5) In-Reply-To: <501E6872.6000503@hardwarefreak.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message-Id: <201208051549.22830.Martin@lichtvoll.de> X-Barracuda-Connect: mondschein.lichtvoll.de[194.150.191.11] X-Barracuda-Start-Time: 1344174563 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_MISMATCH_TO X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104760 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.00 BSF_SC0_MISMATCH_TO Envelope rcpt doesn't match header Am Sonntag, 5. August 2012 schrieb Stan Hoeppner: > On 8/5/2012 6:03 AM, Martin Steigerwald wrote: > > Well the default was 16 AGs for volumes < 2 TiB AFAIR. And it has > > been reduced to 4 for as I remember exactly performance reasons. Too > > many AGs on a single device can incur too much parallelity. Thats at > > least is what I have understood back then. >=20 > For striped md/RAID or LVM volumes mkfs.xfs will create 16 AGs by > default because it reads the configuration and finds a striped volume. > The theory here is that more AGs offers better performance in the > average case on a striped volume. >=20 > With hardware RAID or a single drive, or any storage configuration for > which mkfs.xfs is unable to query the parameters, mkfs.xfs creates 4 > AGs by default. The 4 AG default has been with us for a very long > time. It was never reduced. That does not match my memory, but I=B4d have to look it up. Maybe next=20 week. I am pretty sure mkfs.xfs on a single partition on a single harddisk upto=20 2 TiB used 16 AGs for quite some time and now uses 4 AGs since quite some=20 time already. I think I have noted the exact xfsprogs version where it was= =20 changed in my training slides. =2D-=20 Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 From s.priebe@profihost.ag Sun Aug 5 10:54:21 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75FsLHC234451 for ; Sun, 5 Aug 2012 10:54:21 -0500 X-ASG-Debug-ID: 1344182058-04cb6c3c712a240001-NocioJ Received: from mail.profihost.ag (mail.profihost.ag [85.158.179.208]) by cuda.sgi.com with ESMTP id gmr3GN4AhJVchg53 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Sun, 05 Aug 2012 08:54:20 -0700 (PDT) X-Barracuda-Envelope-From: s.priebe@profihost.ag X-Barracuda-Apparent-Source-IP: 85.158.179.208 Received: (qmail 32442 invoked from network); 5 Aug 2012 17:54:17 +0200 Received: from fw-office.allied-internet.ag (HELO [10.23.66.100]) (85.158.179.66) (smtp-auth username s.priebe@profihost.ag, mechanism plain) by mail.profihost.ag (qpsmtpd/0.82) with (AES256-SHA encrypted) ESMTPSA; Sun, 05 Aug 2012 17:54:17 +0200 Message-ID: <501E9734.8020905@profihost.ag> Date: Sun, 05 Aug 2012 17:54:28 +0200 From: Stefan Priebe User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Martin Steigerwald CC: xfs@oss.sgi.com, Eric Sandeen Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <501B4D7E.1000303@sandeen.net> <501B6B04.2090002@profihost.ag> (sfid-20120803_140801_426027_0A33D973) <201208051303.09337.Martin@lichtvoll.de> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <201208051303.09337.Martin@lichtvoll.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-User-Auth: Auth by s.priebe@profihost.ag through 85.158.179.66 X-Barracuda-Connect: mail.profihost.ag[85.158.179.208] X-Barracuda-Start-Time: 1344182059 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104768 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Am 05.08.2012 13:03, schrieb Martin Steigerwald: > Am Freitag, 3. August 2012 schrieb Stefan Priebe - Profihost AG: > But then you didn´t describe where those VM disks are located. If that > location has many spindles it might not matter at all or even improve > performance. 30 disks raid 50 via LIO iSCSI and LVM. > Anyway, I do not see much sense to make them 30 GiB when they can grow to > 500 GiB – at least provided that you use thin provisioning. Cause > xfs_growfs and resizing the image will likely be a manual step while thin > provisioning goes automatically and only needs to be monitored. I do not use thin provisioning as dm thin is not production ready isn't it? > That manual step makes sense tough if you want to guarentee all the space > thats visibly in df output is really physically available, without > providing for x times 500 GiB initially. Oh i can easily automate the whole resizing stuff. Stefan From stan@hardwarefreak.com Sun Aug 5 15:26:08 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,J_CHICKENPOX_43 autolearn=no version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75KQ7iv002896 for ; Sun, 5 Aug 2012 15:26:08 -0500 X-ASG-Debug-ID: 1344198366-04cb6c3c7031090001-NocioJ Received: from greer.hardwarefreak.com (mo-65-41-216-221.sta.embarqhsd.net [65.41.216.221]) by cuda.sgi.com with ESMTP id LyTwVzvfE1Un1xpw for ; Sun, 05 Aug 2012 13:26:06 -0700 (PDT) X-Barracuda-Envelope-From: stan@hardwarefreak.com X-Barracuda-Apparent-Source-IP: 65.41.216.221 X-Barracuda-User-Whitelist: xfs@oss.sgi.com Received: from [192.168.100.53] (gffx.hardwarefreak.com [192.168.100.53]) by greer.hardwarefreak.com (Postfix) with ESMTP id 845C56C02E; Sun, 5 Aug 2012 15:26:06 -0500 (CDT) Message-ID: <501ED6E0.802@hardwarefreak.com> Date: Sun, 05 Aug 2012 15:26:08 -0500 From: Stan Hoeppner Reply-To: stan@hardwarefreak.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: Martin Steigerwald CC: Stefan Priebe - Profihost AG , Eric Sandeen , xfs@oss.sgi.com Subject: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <201208051303.09337.Martin@lichtvoll.de> <501E6872.6000503@hardwarefreak.com> (sfid-20120805_153826_573731_00E594B5) <201208051549.22830.Martin@lichtvoll.de> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact In-Reply-To: <201208051549.22830.Martin@lichtvoll.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Barracuda-Connect: mo-65-41-216-221.sta.embarqhsd.net[65.41.216.221] X-Barracuda-Start-Time: 1344198366 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com On 8/5/2012 8:49 AM, Martin Steigerwald wrote: > Am Sonntag, 5. August 2012 schrieb Stan Hoeppner: >> On 8/5/2012 6:03 AM, Martin Steigerwald wrote: >>> Well the default was 16 AGs for volumes < 2 TiB AFAIR. And it has >>> been reduced to 4 for as I remember exactly performance reasons. Too >>> many AGs on a single device can incur too much parallelity. Thats at >>> least is what I have understood back then. >> >> For striped md/RAID or LVM volumes mkfs.xfs will create 16 AGs by >> default because it reads the configuration and finds a striped volume. >> The theory here is that more AGs offers better performance in the >> average case on a striped volume. >> >> With hardware RAID or a single drive, or any storage configuration for >> which mkfs.xfs is unable to query the parameters, mkfs.xfs creates 4 >> AGs by default. The 4 AG default has been with us for a very long >> time. It was never reduced. > > That does not match my memory, but I´d have to look it up. Maybe next > week. > > I am pretty sure mkfs.xfs on a single partition on a single harddisk upto > 2 TiB used 16 AGs for quite some time and now uses 4 AGs since quite some > time already. I think I have noted the exact xfsprogs version where it was > changed in my training slides. >From 'man mkfs.xfs' of xfsprogs 3.1.4 (probably not the latest) "The data section of the filesystem is divided into _value_ allocation groups (default value is scaled automatically based on the underlying device size)." It's not stated in man but the minimum is 4 AGs, unless that has changed in the last couple of years. This is what I was referring to previously when I stated 4 AGs is the default. What you likely did was format a 2TB device and saw 16 AGs due to the automatic scaling, then shortly thereafter formatted a much smaller device and saw the default minimum 4 AGs. Assuming agcount was statically defined, you assumed the default value had been decreased. -- Stan From david@fromorbit.com Sun Aug 5 15:57:34 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q75KvXq9006389 for ; Sun, 5 Aug 2012 15:57:34 -0500 X-ASG-Debug-ID: 1344200251-04bdf0345636a70001-NocioJ Received: from ipmail04.adl6.internode.on.net (ipmail04.adl6.internode.on.net [150.101.137.141]) by cuda.sgi.com with ESMTP id NIVS3jejaKBQwQSA for ; Sun, 05 Aug 2012 13:57:32 -0700 (PDT) X-Barracuda-Envelope-From: david@fromorbit.com X-Barracuda-Apparent-Source-IP: 150.101.137.141 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar0MAM7dHlB5LIM1/2dsb2JhbABEhRKzIwECgQSBCIIgAQEEATocIwULCAMOCi4UJQMhE4gHBbo1FIs2gRZXhRcDlUiJLIZhgnE Received: from ppp121-44-131-53.lns20.syd7.internode.on.net (HELO dastard) ([121.44.131.53]) by ipmail04.adl6.internode.on.net with ESMTP; 06 Aug 2012 06:27:30 +0930 Received: from dave by dastard with local (Exim 4.76) (envelope-from ) id 1Sy7tA-0001HU-60; Mon, 06 Aug 2012 06:57:28 +1000 Date: Mon, 6 Aug 2012 06:57:28 +1000 From: Dave Chinner To: Stefan Priebe Cc: "xfs@oss.sgi.com" Subject: Re: xfs_growfs / planned resize / performance impact Message-ID: <20120805205728.GT2877@dastard> X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact References: <5017E426.2040709@profihost.ag> <20120804224336.GS2877@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Barracuda-Connect: ipmail04.adl6.internode.on.net[150.101.137.141] X-Barracuda-Start-Time: 1344200251 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104788 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- On Sun, Aug 05, 2012 at 07:46:33AM +0200, Stefan Priebe wrote: > Am 05.08.2012 um 00:43 schrieb Dave Chinner : > > > On Tue, Jul 31, 2012 at 03:56:54PM +0200, Stefan Priebe - Profihost AG wrote: > >> Hello list, > >> > >> i'm planning to create a couple of VMs with just 30GB of space while > >> using xfs as the main filesystem. > >> > >> Now i alreay know that some of the VMs will grow up to 250GB while > >> resizing the block device and using xfs_growfs. > > > > Just use thin provisioning and make it 250GB to begin with. Thin > > provisioning mades filsystem grow/shrink pretty much redundant.... > > But dm thin isn't stable isn't it? AFAIK, It's mostly stable. > Does xfs reallocate used parts of the block > Device before using new parts? Sometimes. Depends on workload, locality of reference, patterns of freeing and allocation, etc. > Otherwise deleting and recreating files will result in full used space pretty fast. fstrim. dm-thinp supports discard commands just fine. Cheers, Dave. -- Dave Chinner david@fromorbit.com From adam.huffman@gmail.com Mon Aug 6 04:50:45 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q769ojWr103651 for ; Mon, 6 Aug 2012 04:50:45 -0500 X-ASG-Debug-ID: 1344246643-04cbb050ce54350001-NocioJ Received: from mail-gh0-f181.google.com (mail-gh0-f181.google.com [209.85.160.181]) by cuda.sgi.com with ESMTP id 7W9U2ZtyXjDIoupB (version=TLSv1 cipher=RC4-SHA bits=128 verify=NO) for ; Mon, 06 Aug 2012 02:50:44 -0700 (PDT) X-Barracuda-Envelope-From: adam.huffman@gmail.com X-Barracuda-Apparent-Source-IP: 209.85.160.181 X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.181] Received: by ghz3 with SMTP id 3so559253ghz.26 for ; Mon, 06 Aug 2012 02:50:43 -0700 (PDT) X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.181] X-Barracuda-IPDD: Level1 [gmail.com/209.85.160.181] DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=GQc5yoHZS+jvDIKIsseMe52jlc7g+YLZ9xnOfES234E=; b=0we1bzf9W2fpZTggkAB798J1loFH9hNZqSxSXphcYADGAcFiOzB/bnusQbNWCppZB1 BnDMZXTRYYwVdVDQEvkZt67NamQbByowfEfxE7yPRWfhTxZatRcdyVsEO637EjKnjSEa CUDNIDvHMw1Rq/YBID3LgExqgW0EiNXs+Xd1OspokTtuHy+YqlhwPAgxh0sRGI/59qeM /nOp4L3AWXrinzn55JjO9gvESgztfWRtgSmzcAPT0A+UKQfZBajTH5v2/AGpjRQJ4Dm9 IcyuFAfcHkh/tLF0D0vZ+1WntPfaNm4ScoVF5Eghj/5Nssbnmogb7HESdV7DnfPtHcSR 76Iw== MIME-Version: 1.0 Received: by 10.42.53.132 with SMTP id n4mr8433500icg.32.1344246643514; Mon, 06 Aug 2012 02:50:43 -0700 (PDT) Received: by 10.231.146.2 with HTTP; Mon, 6 Aug 2012 02:50:43 -0700 (PDT) Date: Mon, 6 Aug 2012 10:50:43 +0100 Message-ID: Subject: XFS_WANT_CORRUPTED_GOTO error From: Adam Huffman X-ASG-Orig-Subj: XFS_WANT_CORRUPTED_GOTO error To: xfs@oss.sgi.com Content-Type: text/plain; charset=ISO-8859-1 X-Barracuda-Connect: mail-gh0-f181.google.com[209.85.160.181] X-Barracuda-Start-Time: 1344246644 X-Barracuda-Encrypted: RC4-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=DKIM_SIGNED, DKIM_VERIFIED X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104840 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- -0.00 DKIM_VERIFIED Domain Keys Identified Mail: signature passes verification 0.00 DKIM_SIGNED Domain Keys Identified Mail: message has a signature Hello We suffered a power 'blip' yesterday morning and it caused some corruption on our of our storage servers. I had to run xfs_repair and xfs_repair -L on several filesystems, after which I was able to mount everything normally. However, when I restart the storage software on the server immediately messages like this appear: kernel: XFS: Internal error XFS_WANT_CORRUPTED_GOTO at line 4135 of file fs/xfs/xfs_bmap.c. Caller 0xffffffffa0229886 kernel: kernel: Pid: 28552, comm: java Not tainted 2.6.32-279.2.1.el6.x86_64 #1 kernel: Call Trace: kernel: [] ? xfs_error_report+0x3f/0x50 [xfs] kernel: [] ? xfs_iread_extents+0x86/0x110 [xfs] kernel: [] ? xfs_bmap_read_extents+0x154/0x350 [xfs] kernel: [] ? xfs_iext_add+0x156/0x260 [xfs] kernel: [] ? xfs_iread_extents+0x86/0x110 [xfs] kernel: [] ? xfs_bmapi+0x198/0x1090 [xfs] kernel: [] ? down_write+0x16/0x40 kernel: [] ? xfs_ilock+0x7e/0xd0 [xfs] kernel: [] ? __xfs_get_blocks+0x14f/0x440 [xfs] kernel: [] ? xfs_get_blocks+0x11/0x20 [xfs] kernel: [] ? block_read_full_page+0x198/0x3d0 kernel: [] ? xfs_get_blocks+0x0/0x20 [xfs] kernel: [] ? do_mpage_readpage+0x3cf/0x5f0 kernel: [] ? avc_has_perm+0x71/0x90 kernel: [] ? mpage_readpage+0x4f/0x70 kernel: [] ? xfs_get_blocks+0x0/0x20 [xfs] kernel: [] ? avc_has_perm+0x71/0x90 kernel: [] ? xfs_vm_readpage+0x18/0x20 [xfs] kernel: [] ? generic_file_aio_read+0x1fc/0x700 kernel: [] ? xfs_file_aio_read+0x17f/0x2d0 [xfs] kernel: [] ? do_sync_read+0xfa/0x140 kernel: [] ? autoremove_wake_function+0x0/0x40 kernel: [] ? cp_new_stat+0xe4/0x100 kernel: [] ? selinux_file_permission+0xfb/0x150 kernel: [] ? security_file_permission+0x16/0x20 kernel: [] ? vfs_read+0xb5/0x1a0 kernel: [] ? audit_syscall_entry+0x272/0x2a0 kernel: [] ? sys_read+0x51/0x90 kernel: [] ? system_call_fastpath+0x16/0x1b The server is running CentOS 6.3, kernel 2.6.32-279.2.1.el6.x86_64. The RAID controller is an Adaptec 5805ZQ, with 2 x 16-disk RAID6 logical drives. Is there any way I can find out where this error is occurring i.e. on which LVM logical volume? Can it be fixed or is the filesystem irretrievably corrupted? Best Wishes, Adam From michael.monnerie@is.it-management.at Mon Aug 6 05:41:49 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76AfnwS111978 for ; Mon, 6 Aug 2012 05:41:49 -0500 X-ASG-Debug-ID: 1344249703-04bdf034545c690001-NocioJ Received: from mailsrv14.zmi.at (mailsrv14.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id YLNIFVKu3Ev0Tg05 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Aug 2012 03:41:45 -0700 (PDT) X-Barracuda-Envelope-From: michael.monnerie@is.it-management.at X-Barracuda-Apparent-Source-IP: 212.69.164.54 Received: from mailsrv.i.zmi.at (mailgate.i.zmi.at [10.72.17.3]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv14.zmi.at (Postfix) with ESMTPS id 73FD81800160; Mon, 6 Aug 2012 12:41:42 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) by mailsrv.i.zmi.at (Postfix) with ESMTP id 2BAE9C0005B; Mon, 6 Aug 2012 12:33:32 +0200 (CEST) From: Michael Monnerie To: xfs@oss.sgi.com Cc: Adam Huffman Subject: Re: XFS_WANT_CORRUPTED_GOTO error Date: Mon, 06 Aug 2012 12:33:24 +0200 X-ASG-Orig-Subj: Re: XFS_WANT_CORRUPTED_GOTO error Message-ID: <1929929.ZGsW6LLNXR@saturn> Organization: it-management http://it-management.at User-Agent: KMail/4.7.2 (Linux/3.5.0-zmi; KDE/4.7.2; x86_64; ; ) In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1946296.aonBfBRXqe"; micalg="pgp-sha1"; protocol="application/pgp-signature" Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mailsrv14.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1344249705 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.10 X-Barracuda-Spam-Status: No, SCORE=0.10 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=BSF_SC0_SA085 X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104842 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 BSF_SC0_SA085 Custom Rule SA085 --nextPart1946296.aonBfBRXqe Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Am Montag, 6. August 2012, 10:50:43 schrieb Adam Huffman: > Is there any way I can find out where this error is occurring i.e. on= > which LVM logical volume? By trying a manual mount on each fs this server has? > Can it be fixed or is the filesystem irretrievably corrupted? Try "xfs_repair -n" to see what it would fix. Try to get the newest=20 version of xfs_repair first. If there was "only" a power outage chances are high you'll get it fixed= ,=20 but of course if your storage doesn't have BBWC or has disk write cache= s=20 on or you mis-used the nobarrier option you might have lost a whole lot= =20 of important in-flight data. See http://xfs.org/index.php/XFS_FAQ --=20 mit freundlichen Gr=C3=BCssen, Michael Monnerie, Ing. BSc it-management Internet Services: Prot=C3=A9ger http://proteger.at [gesprochen: Prot-e-schee] Tel: +43 660 / 415 6531 --nextPart1946296.aonBfBRXqe Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iEYEABECAAYFAlAfnXQACgkQzhSR9xwSCbTWuACffOfBJoYHOpPvNkJSvoG5zcg9 uXUAoIweyR+MYCH/2UpV7mnbKLlSpIfe =JBu1 -----END PGP SIGNATURE----- --nextPart1946296.aonBfBRXqe-- From michael.monnerie@is.it-management.at Mon Aug 6 06:42:19 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76BgI9V121978 for ; Mon, 6 Aug 2012 06:42:19 -0500 X-ASG-Debug-ID: 1344253334-04bdf034555f790001-NocioJ Received: from mailsrv14.zmi.at (mailsrv14.zmi.at [212.69.164.54]) by cuda.sgi.com with ESMTP id cXNhIRL9Ad4JfOGK (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Aug 2012 04:42:15 -0700 (PDT) X-Barracuda-Envelope-From: michael.monnerie@is.it-management.at X-Barracuda-Apparent-Source-IP: 212.69.164.54 Received: from mailsrv.i.zmi.at (mailgate.i.zmi.at [10.72.17.3]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailsrv2.i.zmi.at", Issuer "power4u.zmi.at" (not verified)) by mailsrv14.zmi.at (Postfix) with ESMTPS id BBA49182242B for ; Mon, 6 Aug 2012 13:42:13 +0200 (CEST) Received: from saturn.localnet (saturn.i.zmi.at [10.72.27.2]) by mailsrv.i.zmi.at (Postfix) with ESMTP id 26DEDC8C449 for ; Mon, 6 Aug 2012 13:42:21 +0200 (CEST) From: Michael Monnerie To: xfs@oss.sgi.com Subject: Re: xfs_growfs / planned resize / performance impact Date: Mon, 06 Aug 2012 13:42:09 +0200 X-ASG-Orig-Subj: Re: xfs_growfs / planned resize / performance impact Message-ID: <1862116.UCdvhtskSU@saturn> Organization: it-management http://it-management.at User-Agent: KMail/4.7.2 (Linux/3.5.0-zmi; KDE/4.7.2; x86_64; ; ) In-Reply-To: <501E9734.8020905@profihost.ag> References: <5017E426.2040709@profihost.ag> <201208051303.09337.Martin@lichtvoll.de> <501E9734.8020905@profihost.ag> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3897121.DipcIJHeJD"; micalg="pgp-sha1"; protocol="application/pgp-signature" Content-Transfer-Encoding: quoted-printable X-Barracuda-Connect: mailsrv14.zmi.at[212.69.164.54] X-Barracuda-Start-Time: 1344253335 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104846 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- --nextPart3897121.DipcIJHeJD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Am Sonntag, 5. August 2012, 17:54:28 schrieb Stefan Priebe: > I do not use thin provisioning as dm thin is not production ready > isn't it? So you're using Linux as virtualization host? Because with VMware your=20= argument would be wrong. --=20 mit freundlichen Gr=C3=BCssen, Michael Monnerie, Ing. BSc it-management Internet Services: Prot=C3=A9ger http://proteger.at [gesprochen: Prot-e-schee] Tel: +43 660 / 415 6531 --nextPart3897121.DipcIJHeJD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iEYEABECAAYFAlAfrZUACgkQzhSR9xwSCbQjpACfXG24+hTy4SOUFbhtdgU5+kZd BNUAn2eQFFrq7qupD2eDcFqrbpiN3Hd1 =Zd+H -----END PGP SIGNATURE----- --nextPart3897121.DipcIJHeJD-- From cmaiolino@redhat.com Mon Aug 6 10:26:42 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76FQfdT162017 for ; Mon, 6 Aug 2012 10:26:42 -0500 X-ASG-Debug-ID: 1344266800-04cb6c3c736fb80001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id v1AWx7bIlvw5gt1q for ; Mon, 06 Aug 2012 08:26:41 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q76FQemM022101 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Aug 2012 11:26:40 -0400 Received: from orion.usersys.redhat.com (vpn1-5-205.gru2.redhat.com [10.97.5.205]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q76FQdxu018640; Mon, 6 Aug 2012 11:26:39 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Cc: Carlos Maiolino Subject: [PATCH] xfs: fix race while discarding buffers Date: Mon, 6 Aug 2012 12:26:37 -0300 X-ASG-Orig-Subj: [PATCH] xfs: fix race while discarding buffers Message-Id: <1344266797-7749-1-git-send-email-cmaiolino@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1344266801 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com While xfs_buftarg_shrink() is freeing buffers from the dispose list (filled with buffers from lru list), there is a possibility to have xfs_buf_stale() racing with it, and removing buffers from dispose list before xfs_buftarg_shrink() does it. This happens because xfs_buftarg_shrink() handle the dispose list without locking and since the test condition in xfs_buf_stale() -- if (!list_empty(&bp->b_lru)) -- checks for the buffer being in *any* list, if the buffer happens to be on dispose list, this causes the buffer counter of the lru list (btp->bt_lru_nr) to be decremented twice (once in xfs_buftarg_shrink() and another in xfs_buf_stale()) causing a wrong account usage of the lru list, which may cause xfs_buftarg_shrink() to return a wrong value to the memory shrinker function (shrink_slab()), such account error may also cause a underflowed value to be returned; since the counter is lower than the current number of items in the lru list, a decrement may happen when the counter is 0, causing an underflow since the counter is an unsigned value. The fix uses a new flag field (and a new buffer flag) to serialize buffer handling during the shrink process. The new flag fied has been designed to use btp->bt_lru_lock/unlock instead of xfs_buf_lock/unlock mechanism. Thanks to dchinner, sandeen and aris for the help and hints on this Signed-off-by: Carlos Maiolino --- fs/xfs/xfs_buf.c | 7 ++++++- fs/xfs/xfs_buf.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index d7a9dd7..52b27c4 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -96,6 +96,8 @@ xfs_buf_lru_add( atomic_inc(&bp->b_hold); list_add_tail(&bp->b_lru, &btp->bt_lru); btp->bt_lru_nr++; + if (bp->b_lru_flags & XBF_LRU_DISPOSE) + bp->b_lru_flags &= ~XBF_LRU_DISPOSE; } spin_unlock(&btp->bt_lru_lock); } @@ -154,7 +156,8 @@ xfs_buf_stale( struct xfs_buftarg *btp = bp->b_target; spin_lock(&btp->bt_lru_lock); - if (!list_empty(&bp->b_lru)) { + if (!list_empty(&bp->b_lru) && + !(bp->b_lru_flags & XBF_LRU_DISPOSE)) { list_del_init(&bp->b_lru); btp->bt_lru_nr--; atomic_dec(&bp->b_hold); @@ -228,6 +231,7 @@ _xfs_buf_alloc( XB_SET_OWNER(bp); bp->b_target = target; bp->b_flags = flags; + bp->b_lru_flags = 0; /* * Set length and io_length to the same value initially. @@ -1500,6 +1504,7 @@ xfs_buftarg_shrink( * lock round trip inside xfs_buf_rele(). */ list_move(&bp->b_lru, &dispose); + bp->b_lru_flags |= XBF_LRU_DISPOSE; btp->bt_lru_nr--; } spin_unlock(&btp->bt_lru_lock); diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h index d03b73b..ec0a17e 100644 --- a/fs/xfs/xfs_buf.h +++ b/fs/xfs/xfs_buf.h @@ -60,6 +60,9 @@ typedef enum { #define _XBF_DELWRI_Q (1 << 22)/* buffer on a delwri queue */ #define _XBF_COMPOUND (1 << 23)/* compound buffer */ +/* flags used to handle lru items */ +#define XBF_LRU_DISPOSE (1 << 24) /* buffer being discarded */ + typedef unsigned int xfs_buf_flags_t; #define XFS_BUF_FLAGS \ @@ -77,7 +80,8 @@ typedef unsigned int xfs_buf_flags_t; { _XBF_PAGES, "PAGES" }, \ { _XBF_KMEM, "KMEM" }, \ { _XBF_DELWRI_Q, "DELWRI_Q" }, \ - { _XBF_COMPOUND, "COMPOUND" } + { _XBF_COMPOUND, "COMPOUND" }, \ + { XBF_LRU_DISPOSE, "LRU_DISPOSE" } typedef struct xfs_buftarg { dev_t bt_dev; @@ -122,6 +126,7 @@ typedef struct xfs_buf { atomic_t b_hold; /* reference count */ atomic_t b_lru_ref; /* lru reclaim ref count */ xfs_buf_flags_t b_flags; /* status flags */ + xfs_buf_flags_t b_lru_flags; /* internal lru status flags */ struct semaphore b_sema; /* semaphore for lockables */ struct list_head b_lru; /* lru list */ -- 1.7.11.2 From cmaiolino@redhat.com Mon Aug 6 10:48:11 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76FmAWq164106 for ; Mon, 6 Aug 2012 10:48:11 -0500 X-ASG-Debug-ID: 1344268089-04bdf0345576990001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id TnMrlANpAAlSnKRE for ; Mon, 06 Aug 2012 08:48:10 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q76Fm8up022586 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Aug 2012 11:48:09 -0400 Received: from orion.usersys.redhat.com (vpn1-5-205.gru2.redhat.com [10.97.5.205]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q76Fm5rU017326 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Mon, 6 Aug 2012 11:48:07 -0400 Date: Mon, 6 Aug 2012 12:48:04 -0300 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix race while discarding buffers Message-ID: <20120806154804.GA8670@orion.usersys.redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix race while discarding buffers Mail-Followup-To: xfs@oss.sgi.com References: <1344266797-7749-1-git-send-email-cmaiolino@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1344266797-7749-1-git-send-email-cmaiolino@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1344268090 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Please, ignore this patch. I've made a mistake on this patch, and I'm sending a V2 patch to fix the error signed below: > fs/xfs/xfs_buf.c | 7 ++++++- > fs/xfs/xfs_buf.h | 7 ++++++- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c > index d7a9dd7..52b27c4 100644 > --- a/fs/xfs/xfs_buf.c > +++ b/fs/xfs/xfs_buf.c > @@ -96,6 +96,8 @@ xfs_buf_lru_add( > atomic_inc(&bp->b_hold); > list_add_tail(&bp->b_lru, &btp->bt_lru); > btp->bt_lru_nr++; > + if (bp->b_lru_flags & XBF_LRU_DISPOSE) ^^^^^^ This should be if (!(b_lru_flags & XBF_LRU_DISPOSE)) I'm sending the V2 patch. Sorry about that. -- --Carlos From cmaiolino@redhat.com Mon Aug 6 10:48:15 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76FmFhk164119 for ; Mon, 6 Aug 2012 10:48:15 -0500 X-ASG-Debug-ID: 1344268094-04cb6c3c73710e0001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id 0DPF9NXXSJ0hv80v for ; Mon, 06 Aug 2012 08:48:14 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q76FmEHE008511 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Aug 2012 11:48:14 -0400 Received: from orion.usersys.redhat.com (vpn1-5-205.gru2.redhat.com [10.97.5.205]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q76FmCF2003696; Mon, 6 Aug 2012 11:48:13 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Cc: Carlos Maiolino Subject: [PATCH] xfs: fix race while discarding buffers [V2] Date: Mon, 6 Aug 2012 12:45:48 -0300 X-ASG-Orig-Subj: [PATCH] xfs: fix race while discarding buffers [V2] Message-Id: <1344267948-8552-1-git-send-email-cmaiolino@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1344268094 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com While xfs_buftarg_shrink() is freeing buffers from the dispose list (filled with buffers from lru list), there is a possibility to have xfs_buf_stale() racing with it, and removing buffers from dispose list before xfs_buftarg_shrink() does it. This happens because xfs_buftarg_shrink() handle the dispose list without locking and since the test condition in xfs_buf_stale() -- if (!list_empty(&bp->b_lru)) -- checks for the buffer being in *any* list, if the buffer happens to be on dispose list, this causes the buffer counter of the lru list (btp->bt_lru_nr) to be decremented twice (once in xfs_buftarg_shrink() and another in xfs_buf_stale()) causing a wrong account usage of the lru list, which may cause xfs_buftarg_shrink() to return a wrong value to the memory shrinker function (shrink_slab()), such account error may also cause a underflowed value to be returned; since the counter is lower than the current number of items in the lru list, a decrement may happen when the counter is 0, causing an underflow since the counter is an unsigned value. The fix uses a new flag field (and a new buffer flag) to serialize buffer handling during the shrink process. The new flag fied has been designed to use btp->bt_lru_lock/unlock instead of xfs_buf_lock/unlock mechanism. Thanks to dchinner, sandeen and aris for the help and hints on this Signed-off-by: Carlos Maiolino --- fs/xfs/xfs_buf.c | 7 ++++++- fs/xfs/xfs_buf.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index d7a9dd7..8e681ec 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -96,6 +96,8 @@ xfs_buf_lru_add( atomic_inc(&bp->b_hold); list_add_tail(&bp->b_lru, &btp->bt_lru); btp->bt_lru_nr++; + if (!(bp->b_lru_flags & XBF_LRU_DISPOSE)) + bp->b_lru_flags &= ~XBF_LRU_DISPOSE; } spin_unlock(&btp->bt_lru_lock); } @@ -154,7 +156,8 @@ xfs_buf_stale( struct xfs_buftarg *btp = bp->b_target; spin_lock(&btp->bt_lru_lock); - if (!list_empty(&bp->b_lru)) { + if (!list_empty(&bp->b_lru) && + !(bp->b_lru_flags & XBF_LRU_DISPOSE)) { list_del_init(&bp->b_lru); btp->bt_lru_nr--; atomic_dec(&bp->b_hold); @@ -228,6 +231,7 @@ _xfs_buf_alloc( XB_SET_OWNER(bp); bp->b_target = target; bp->b_flags = flags; + bp->b_lru_flags = 0; /* * Set length and io_length to the same value initially. @@ -1500,6 +1504,7 @@ xfs_buftarg_shrink( * lock round trip inside xfs_buf_rele(). */ list_move(&bp->b_lru, &dispose); + bp->b_lru_flags |= XBF_LRU_DISPOSE; btp->bt_lru_nr--; } spin_unlock(&btp->bt_lru_lock); diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h index d03b73b..ec0a17e 100644 --- a/fs/xfs/xfs_buf.h +++ b/fs/xfs/xfs_buf.h @@ -60,6 +60,9 @@ typedef enum { #define _XBF_DELWRI_Q (1 << 22)/* buffer on a delwri queue */ #define _XBF_COMPOUND (1 << 23)/* compound buffer */ +/* flags used to handle lru items */ +#define XBF_LRU_DISPOSE (1 << 24) /* buffer being discarded */ + typedef unsigned int xfs_buf_flags_t; #define XFS_BUF_FLAGS \ @@ -77,7 +80,8 @@ typedef unsigned int xfs_buf_flags_t; { _XBF_PAGES, "PAGES" }, \ { _XBF_KMEM, "KMEM" }, \ { _XBF_DELWRI_Q, "DELWRI_Q" }, \ - { _XBF_COMPOUND, "COMPOUND" } + { _XBF_COMPOUND, "COMPOUND" }, \ + { XBF_LRU_DISPOSE, "LRU_DISPOSE" } typedef struct xfs_buftarg { dev_t bt_dev; @@ -122,6 +126,7 @@ typedef struct xfs_buf { atomic_t b_hold; /* reference count */ atomic_t b_lru_ref; /* lru reclaim ref count */ xfs_buf_flags_t b_flags; /* status flags */ + xfs_buf_flags_t b_lru_flags; /* internal lru status flags */ struct semaphore b_sema; /* semaphore for lockables */ struct list_head b_lru; /* lru list */ -- 1.7.11.2 From cmaiolino@redhat.com Mon Aug 6 10:59:09 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda1.sgi.com [192.48.157.11]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76Fx8No165233 for ; Mon, 6 Aug 2012 10:59:08 -0500 X-ASG-Debug-ID: 1344268747-04bdf0345777370001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id ZymNeDG9m27gybXl for ; Mon, 06 Aug 2012 08:59:07 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q76Fx7wB023667 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Aug 2012 11:59:07 -0400 Received: from orion.usersys.redhat.com (vpn1-5-205.gru2.redhat.com [10.97.5.205]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q76Fx0NR026864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Mon, 6 Aug 2012 11:59:07 -0400 Date: Mon, 6 Aug 2012 12:58:59 -0300 From: Carlos Maiolino To: xfs@oss.sgi.com Subject: Re: [PATCH] xfs: fix race while discarding buffers [V2] Message-ID: <20120806155859.GA9787@orion.usersys.redhat.com> X-ASG-Orig-Subj: Re: [PATCH] xfs: fix race while discarding buffers [V2] Mail-Followup-To: xfs@oss.sgi.com References: <1344267948-8552-1-git-send-email-cmaiolino@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1344267948-8552-1-git-send-email-cmaiolino@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Scanned-By: MIMEDefang 2.67 on 10.5.11.12 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1344268747 X-Barracuda-URL: http://192.48.157.11:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com Meh, noticed another mistake, sorry about that, will review the patch and send a later V3 version of this properly reviewed. Discard this for now. On Mon, Aug 06, 2012 at 12:45:48PM -0300, Carlos Maiolino wrote: > While xfs_buftarg_shrink() is freeing buffers from the dispose list (filled with -- --Carlos From cmaiolino@redhat.com Mon Aug 6 13:20:51 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76IKpoD182738 for ; Mon, 6 Aug 2012 13:20:51 -0500 X-ASG-Debug-ID: 1344277250-04cb6c3c7380030001-NocioJ Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by cuda.sgi.com with ESMTP id nPGa5ZRE6X5Wguez for ; Mon, 06 Aug 2012 11:20:50 -0700 (PDT) X-Barracuda-Envelope-From: cmaiolino@redhat.com X-Barracuda-Apparent-Source-IP: 209.132.183.28 X-ASG-Whitelist: Client Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q76IKm6S025503 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 6 Aug 2012 14:20:50 -0400 Received: from orion.usersys.redhat.com (vpn1-5-205.gru2.redhat.com [10.97.5.205]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q76HaO12001116; Mon, 6 Aug 2012 13:36:24 -0400 From: Carlos Maiolino To: xfs@oss.sgi.com Cc: Carlos Maiolino Subject: [PATCH] xfs: fix race while discarding buffers [V3] Date: Mon, 6 Aug 2012 14:36:16 -0300 X-ASG-Orig-Subj: [PATCH] xfs: fix race while discarding buffers [V3] Message-Id: <1344274576-13292-1-git-send-email-cmaiolino@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Barracuda-Connect: mx1.redhat.com[209.132.183.28] X-Barracuda-Start-Time: 1344277250 X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com While xfs_buftarg_shrink() is freeing buffers from the dispose list (filled with buffers from lru list), there is a possibility to have xfs_buf_stale() racing with it, and removing buffers from dispose list before xfs_buftarg_shrink() does it. This happens because xfs_buftarg_shrink() handle the dispose list without locking and since the test condition in xfs_buf_stale() -- if (!list_empty(&bp->b_lru)) -- checks for the buffer being in *any* list, if the buffer happens to be on dispose list, this causes the buffer counter of the lru list (btp->bt_lru_nr) to be decremented twice (once in xfs_buftarg_shrink() and another in xfs_buf_stale()) causing a wrong account usage of the lru list, which may cause xfs_buftarg_shrink() to return a wrong value to the memory shrinker function (shrink_slab()), such account error may also cause a underflowed value to be returned; since the counter is lower than the current number of items in the lru list, a decrement may happen when the counter is 0, causing an underflow since the counter is an unsigned value. The fix uses a new flag field (and a new buffer flag) to serialize buffer handling during the shrink process. The new flag fied has been designed to use btp->bt_lru_lock/unlock instead of xfs_buf_lock/unlock mechanism. Thanks to dchinner, sandeen and aris for the help and hints on this Signed-off-by: Carlos Maiolino --- fs/xfs/xfs_buf.c | 7 ++++++- fs/xfs/xfs_buf.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index d7a9dd7..196ec32 100644 --- a/fs/xfs/xfs_buf.c +++ b/fs/xfs/xfs_buf.c @@ -96,6 +96,8 @@ xfs_buf_lru_add( atomic_inc(&bp->b_hold); list_add_tail(&bp->b_lru, &btp->bt_lru); btp->bt_lru_nr++; + if (bp->b_lru_flags & XBF_LRU_DISPOSE) + bp->b_lru_flags &= ~XBF_LRU_DISPOSE; } spin_unlock(&btp->bt_lru_lock); } @@ -154,7 +156,8 @@ xfs_buf_stale( struct xfs_buftarg *btp = bp->b_target; spin_lock(&btp->bt_lru_lock); - if (!list_empty(&bp->b_lru)) { + if (!list_empty(&bp->b_lru) && + !(bp->b_lru_flags & XBF_LRU_DISPOSE)) { list_del_init(&bp->b_lru); btp->bt_lru_nr--; atomic_dec(&bp->b_hold); @@ -228,6 +231,7 @@ _xfs_buf_alloc( XB_SET_OWNER(bp); bp->b_target = target; bp->b_flags = flags; + bp->b_lru_flags = 0; /* * Set length and io_length to the same value initially. @@ -1501,6 +1505,7 @@ xfs_buftarg_shrink( */ list_move(&bp->b_lru, &dispose); btp->bt_lru_nr--; + bp->b_lru_flags |= XBF_LRU_DISPOSE; } spin_unlock(&btp->bt_lru_lock); diff --git a/fs/xfs/xfs_buf.h b/fs/xfs/xfs_buf.h index d03b73b..ec0a17e 100644 --- a/fs/xfs/xfs_buf.h +++ b/fs/xfs/xfs_buf.h @@ -60,6 +60,9 @@ typedef enum { #define _XBF_DELWRI_Q (1 << 22)/* buffer on a delwri queue */ #define _XBF_COMPOUND (1 << 23)/* compound buffer */ +/* flags used to handle lru items */ +#define XBF_LRU_DISPOSE (1 << 24) /* buffer being discarded */ + typedef unsigned int xfs_buf_flags_t; #define XFS_BUF_FLAGS \ @@ -77,7 +80,8 @@ typedef unsigned int xfs_buf_flags_t; { _XBF_PAGES, "PAGES" }, \ { _XBF_KMEM, "KMEM" }, \ { _XBF_DELWRI_Q, "DELWRI_Q" }, \ - { _XBF_COMPOUND, "COMPOUND" } + { _XBF_COMPOUND, "COMPOUND" }, \ + { XBF_LRU_DISPOSE, "LRU_DISPOSE" } typedef struct xfs_buftarg { dev_t bt_dev; @@ -122,6 +126,7 @@ typedef struct xfs_buf { atomic_t b_hold; /* reference count */ atomic_t b_lru_ref; /* lru reclaim ref count */ xfs_buf_flags_t b_flags; /* status flags */ + xfs_buf_flags_t b_lru_flags; /* internal lru status flags */ struct semaphore b_sema; /* semaphore for lockables */ struct list_head b_lru; /* lru list */ -- 1.7.11.2 From xfs-owner@oss.sgi.com Mon Aug 6 16:35:58 2012 X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76LZwQf206856 for ; Mon, 6 Aug 2012 16:35:58 -0500 X-ASG-Debug-ID: 1344288953-04cbb050cc8ea20001-w1Z2WR Received: from vm-emlprdomr-02.its.yale.edu (vm-emlprdomr-02.its.yale.edu [130.132.50.143]) by cuda.sgi.com with ESMTP id Mx9vPmY5sPYaAKxh (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Aug 2012 14:35:53 -0700 (PDT) X-Barracuda-Envelope-From: web@yale.edu X-Barracuda-Apparent-Source-IP: 130.132.50.143 Received: from [10.200.3.158] (173.254.206.126.static.quadranet.com [173.254.206.126] (may be forged)) (authenticated bits=0) by vm-emlprdomr-02.its.yale.edu (8.14.4/8.14.4) with ESMTP id q76LBqhk018106 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 6 Aug 2012 17:32:58 -0400 Message-Id: <201208062132.q76LBqhk018106@vm-emlprdomr-02.its.yale.edu> Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Description: Mail message body Subject: **Re-Virus Detected To: Recipients X-ASG-Orig-Subj: **Re-Virus Detected From: "Webmail Helpdesk Support Centre" Date: Mon, 06 Aug 2012 22:32:05 +0100 X-Scanned-By: MIMEDefang 2.71 on 130.132.50.143 X-Barracuda-Connect: vm-emlprdomr-02.its.yale.edu[130.132.50.143] X-Barracuda-Start-Time: 1344288953 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.25:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: 0.50 X-Barracuda-Spam-Status: No, SCORE=0.50 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7 tests=STAR, STAR_NOMAG X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.104885 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- 0.10 STAR * 0.40 STAR_NOMAG * A hard virus has been detected in your mail box, it might cause you to loos= e your email account, to delete this virus, click link below: https://docs.google.com/a/my.liu.edu/spreadsheet/viewform?formkey=3DdFNkYVV= jOEQwV1BNMzdhMjNHRGFadHc6MQ Copyright =A92012 Yale University Central Webmail From xfs-owner@oss.sgi.com Mon Aug 6 18:44:13 2012 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id q76NiCXB227774 for ; Mon, 6 Aug 2012 18:44:13 -0500 X-ASG-Debug-ID: 1344296646-04cb6c3c7197230001-w1Z2WR Received: from host.feriasyeventos.info (host.feriasyeventos.info [108.160.156.49]) by cuda.sgi.com with ESMTP id 7PK1NjeVKDvfMY7Y (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 06 Aug 2012 16:44:07 -0700 (PDT) X-Barracuda-Envelope-From: ofertangasbolivia@yahoo.com.mx Received: from nobody by host.feriasyeventos.info with local (Exim 4.77) (envelope-from ) id 1SyWxy-0007G3-6H for linux-xfs@oss.sgi.com; Mon, 06 Aug 2012 19:44:06 -0400 To: linux-xfs@oss.sgi.com Subject: =?iso-8859-1?Q?Al_fin,_c=F3mo_entrevistar_al_personal_que_se_postula_a_un?= =?iso-8859-1?Q?_cargo?= X-PHP-Script: emoncada.tk/boletin/cron_sendengine.php for 200.105.163.82 X-ASG-Orig-Subj: =?iso-8859-1?Q?Al_fin,_c=F3mo_entrevistar_al_personal_que_se_postula_a_un?= =?iso-8859-1?Q?_cargo?= Date: Mon, 6 Aug 2012 19:44:06 -0400 X-Sender: ofertangasbolivia@yahoo.com.mx Errors-To: ofertangasbolivia@yahoo.com.mx From: Paxis Internacional Reply-To: reply Message-ID: <03ca20675a3c1e3cb87d6a1e6c996eb6@emoncada.tk> X-Priority: 1 X-Mailer: oemPro X-Mailer-MsgId: bGludXgteGZzQG9zcy5zZ2kuY29t X-Mailer-CSID: MjlfNTc= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/html; charset="iso-8859-1" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host.feriasyeventos.info X-AntiAbuse: Original Domain - oss.sgi.com X-AntiAbuse: Originator/Caller UID/GID - [99 32007] / [47 12] X-AntiAbuse: Sender Address Domain - yahoo.com.mx X-Source: X-Source-Args: /usr/local/apache/bin/httpd -k start -DSSL X-Source-Dir: emoncada.tk:/public_html/boletin X-Barracuda-Connect: host.feriasyeventos.info[108.160.156.49] X-Barracuda-Start-Time: 1344296647 X-Barracuda-Encrypted: AES256-SHA X-Barracuda-URL: http://192.48.176.15:80/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at sgi.com X-Barracuda-Spam-Score: -1001.00 X-Barracuda-Spam-Status: No, SCORE=-1001.00 using per-user scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.7