add fj palm vein SDK
This commit is contained in:
parent
cf62ee2db1
commit
46710ce8c9
10
doc/README
10
doc/README
@ -36,4 +36,14 @@
|
|||||||
Pre-requisites:
|
Pre-requisites:
|
||||||
imgutes
|
imgutes
|
||||||
|
|
||||||
|
Possible modules:
|
||||||
|
camera.py - use opencv to get data from a cheap YUV USB camera
|
||||||
|
seek.py - use seek lib to get data from a seek IR camera
|
||||||
|
flir.py - not implemented
|
||||||
|
fjpalmvein - get data from a fujitsu palm vein sensor
|
||||||
|
yolov5 - use yolov5 to find objects (faces)
|
||||||
|
yolov8 - use yolov8 to find objects (faces)
|
||||||
|
paravision - use paravision to compare two face images (proprietary $$$)
|
||||||
|
facematch - use facematch to compare two face images (open source)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
44
modules/atlantean/Makefile
Normal file
44
modules/atlantean/Makefile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#
|
||||||
|
# Makefile for Atlantean low level USB and image processing
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
clean::
|
||||||
|
rm bin/* obj/*
|
||||||
|
|
||||||
|
all:: bin/fjpv bin/pgmutes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# FJ Palmvein Sensor application
|
||||||
|
bin/fjpv: obj/fjpv.o obj/pgmutes.o obj/usbutes.o obj/fjpvutes.o
|
||||||
|
gcc -o bin/fjpv obj/fjpv.o obj/pgmutes.o obj/usbutes.o obj/fjpvutes.o -lusb-1.0 -lm
|
||||||
|
|
||||||
|
|
||||||
|
# FJ PV application
|
||||||
|
obj/fjpv.o: src/fjpv.c
|
||||||
|
gcc -c -o obj/fjpv.o -Iinclude -I/usr/include/libusb-1.0 src/fjpv.c
|
||||||
|
|
||||||
|
# FJ PV sensor utilities
|
||||||
|
obj/fjpvutes.o: src/fjpvutes.c
|
||||||
|
gcc -c -o obj/fjpvutes.o -Iinclude -I/usr/include/libusb-1.0 src/fjpvutes.c
|
||||||
|
|
||||||
|
# PGM image processing
|
||||||
|
obj/pgmutes.o: src/pgmutes.c
|
||||||
|
gcc -c -o obj/pgmutes.o -Iinclude src/pgmutes.c -lm
|
||||||
|
|
||||||
|
# USB utilities
|
||||||
|
obj/usbutes.o: src/usbutes.c
|
||||||
|
gcc -c -o obj/usbutes.o -Iinclude -I/usr/include/libusb-1.0 src/usbutes.c
|
||||||
|
|
||||||
|
|
||||||
|
# PGMTest =- do some image processing on a PGM
|
||||||
|
obj/pgmtest.o: src/pgmtest.c
|
||||||
|
gcc -c -o obj/pgmtest.o -Iinclude src/pgmtest.c
|
||||||
|
|
||||||
|
bin/pgmtest: obj/pgmtest.o obj/pgmutes.o
|
||||||
|
gcc -o bin/pgmtest obj/pgmtest.o obj/pgmutes.o -lm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BIN
modules/atlantean/bin/fjpv
Executable file
BIN
modules/atlantean/bin/fjpv
Executable file
Binary file not shown.
BIN
modules/atlantean/bin/pgmtest
Executable file
BIN
modules/atlantean/bin/pgmtest
Executable file
Binary file not shown.
14
modules/atlantean/doc/README
Normal file
14
modules/atlantean/doc/README
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
ATLANTEAN Image processing and USB tools
|
||||||
|
========================================
|
||||||
|
|
||||||
|
Copyright (C) 2014-2023 Atlantean Technical Solutions Limited
|
||||||
|
|
||||||
|
These files will enable you to quickly build C programs
|
||||||
|
that need to get data to and from USB, and to perform
|
||||||
|
simple image processing tasks.
|
||||||
|
|
||||||
|
To build:
|
||||||
|
|
||||||
|
make -f sbin/Makefile
|
||||||
|
|
||||||
8
modules/atlantean/html/test.html
Normal file
8
modules/atlantean/html/test.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Testing JS image processing</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<img src="../pic/yuv.jpg" width="200">
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
51
modules/atlantean/include/fjpvutes.h
Normal file
51
modules/atlantean/include/fjpvutes.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#ifndef _fjpvutes_
|
||||||
|
#define _fjpvutes_
|
||||||
|
|
||||||
|
#include "pgmutes.h"
|
||||||
|
|
||||||
|
#define PICSIZ 307200
|
||||||
|
#define PICWID 640
|
||||||
|
#define TOOFAR 6
|
||||||
|
#define TOONEAR 8
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _typPics {
|
||||||
|
typImg * pvisible;
|
||||||
|
typImg * pir;
|
||||||
|
typImg * pmask;
|
||||||
|
typImg * pdots;
|
||||||
|
typImg * pxxx;
|
||||||
|
} typPics;
|
||||||
|
|
||||||
|
void unmask(typImg * );
|
||||||
|
int quadrant(typImg * );
|
||||||
|
unsigned char * capture_on(libusb_device_handle * );
|
||||||
|
int prep(libusb_device_handle * );
|
||||||
|
int lights_on(libusb_device_handle * );
|
||||||
|
int lights_off(libusb_device_handle * );
|
||||||
|
int scanmode(libusb_device_handle * );
|
||||||
|
int detect(libusb_device_handle * , typPics * );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
Copyright (c) Atlantean Technical Solutions Limited (ATSL) 2022
|
||||||
|
|
||||||
|
This software has been produced by ATSL and is the copyright of ATSL. The
|
||||||
|
use of source code for the software is strictly governed by the terms and
|
||||||
|
conditions of the source code licence. Any unauthorised use of the source
|
||||||
|
source code for the software in any manner shall invalidate the licence,
|
||||||
|
any existing warranty and software support agreements by ATSL.
|
||||||
|
|
||||||
|
@proj usbutes
|
||||||
|
@subsys CCL
|
||||||
|
@file ccl.c
|
||||||
|
@brief <B> *** Useful general purpose common C functions *** </B>
|
||||||
|
@author GoodwinC
|
||||||
|
@date 2022-10-27
|
||||||
|
@spec N.A
|
||||||
|
|
||||||
|
*/
|
||||||
86
modules/atlantean/include/pgmutes.h
Normal file
86
modules/atlantean/include/pgmutes.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#ifndef _pgmutes_
|
||||||
|
#define _pgmutes_
|
||||||
|
|
||||||
|
typedef struct _typImg {
|
||||||
|
char * filename;
|
||||||
|
unsigned char * imgc;
|
||||||
|
float * imgf;
|
||||||
|
int * imgi;
|
||||||
|
int w;
|
||||||
|
int h;
|
||||||
|
int mx;
|
||||||
|
int my;
|
||||||
|
} typImg;
|
||||||
|
|
||||||
|
/* src/pgmutes.c */
|
||||||
|
typImg *create(int w, int h);
|
||||||
|
typImg * copy(typImg *pImg1);
|
||||||
|
typImg *clone(typImg *pImg);
|
||||||
|
typImg * init(unsigned char * gab, int w, int h);
|
||||||
|
unsigned char *getptr(typImg *pImg, int x, int y);
|
||||||
|
unsigned char getval(typImg *pImg, int x, int y);
|
||||||
|
void setval(typImg *pImg, int x, int y, int val);
|
||||||
|
void floatify(typImg *pImg);
|
||||||
|
void intify(typImg *pImg);
|
||||||
|
int place(typImg *pImg1, typImg *pImg2, int x, int y);
|
||||||
|
typImg *pgmload(char *filename);
|
||||||
|
typImg *load(char *filename, int w, int h);
|
||||||
|
void arrload(typImg *pImg, int arr[]);
|
||||||
|
int save(typImg *pImg, char *filename);
|
||||||
|
int pgmsave(typImg *pImg, char *filename);
|
||||||
|
void pgmascii(typImg *pImg, int s);
|
||||||
|
int seektop(typImg *pImg, int val);
|
||||||
|
int seekbottom(typImg *pImg, int val);
|
||||||
|
int seekleft(typImg *pImg, int val);
|
||||||
|
int seekright(typImg *pImg, int val);
|
||||||
|
void line(typImg * pImg, int x1, int x2, int y1, int y2);
|
||||||
|
typImg *rotate(typImg *pImg);
|
||||||
|
typImg *threshold(typImg *pImg, int lo, int hi, int new1, int new2);
|
||||||
|
typImg *normalise(typImg *pImg, int _lo, int _hi);
|
||||||
|
int countnonzero(typImg * pImg);
|
||||||
|
int suberode(typImg *pImg, int x, int y, typImg *pFilt);
|
||||||
|
typImg * erode(typImg *pImg, typImg *pFilt);
|
||||||
|
typImg * dilate(typImg *pImg, typImg *pFilt);
|
||||||
|
typImg * mix(typImg *pIm1, typImg * pIm2, int op);
|
||||||
|
typImg * linear10(typImg * pImg, int window);
|
||||||
|
typImg * linear20(typImg * pImg, int window);
|
||||||
|
typImg * logical(typImg * p1, typImg * p2, int mode);
|
||||||
|
unsigned long sum(typImg *pImg, int x1, int y1, int x2, int y2);
|
||||||
|
int avg(typImg *pImg, int x1, int y1, int x2, int y2);
|
||||||
|
void dump(typImg *pImg);
|
||||||
|
int min(typImg *pImg);
|
||||||
|
int max(typImg *pImg);
|
||||||
|
typImg * cross(typImg *pImg, int x, int y, int threshold);
|
||||||
|
int grid(typImg * pImg, int x, int y, int w, int h, int step);
|
||||||
|
typImg * fliph(typImg *pImg);
|
||||||
|
int subconvolve(typImg *pImg, int x, int y, typImg *pFilt);
|
||||||
|
typImg * convolve(typImg * pImg, typImg * pFilt, int thresh);
|
||||||
|
int findmid(typImg * pImg, int thresh);
|
||||||
|
typImg * smooth(typImg *pImg, int w, int h);
|
||||||
|
int isclear(typImg *pImg, int x1, int y1, int x2, int y2, int tolerance, int val);
|
||||||
|
typImg * square(typImg *pImg, int x, int y, int tolerance, int val);
|
||||||
|
typImg * cut(typImg *pImg1, int x, int y, int w, int h);
|
||||||
|
typImg *resize(typImg *pImg1, int x, int y);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
Copyright (c) Atlantean Technical Solutions Limited (ATSL) 2022
|
||||||
|
|
||||||
|
This software has been produced by ATSL and is the copyright of ATSL. The
|
||||||
|
use of source code for the software is strictly governed by the terms and
|
||||||
|
conditions of the source code licence. Any unauthorised use of the source
|
||||||
|
source code for the software in any manner shall invalidate the licence,
|
||||||
|
any existing warranty and software support agreements by ATSL.
|
||||||
|
|
||||||
|
@proj usbutes
|
||||||
|
@subsys CCL
|
||||||
|
@file ccl.c
|
||||||
|
@brief <B> *** Useful general purpose common C functions *** </B>
|
||||||
|
@author GoodwinC
|
||||||
|
@date 2022-10-27
|
||||||
|
@spec N.A
|
||||||
|
|
||||||
|
*/
|
||||||
107
modules/atlantean/include/usbutes.h
Normal file
107
modules/atlantean/include/usbutes.h
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <libusb.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _usbutes_
|
||||||
|
#define _usbutes_
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _typUSB {
|
||||||
|
libusb_context * pctx;
|
||||||
|
libusb_device_handle * hdev;
|
||||||
|
libusb_device * pdev;
|
||||||
|
int iface;
|
||||||
|
int config;
|
||||||
|
int vendor;
|
||||||
|
int device;
|
||||||
|
int debug;
|
||||||
|
} typUSB;
|
||||||
|
|
||||||
|
|
||||||
|
void hexdump(unsigned char * , int , int );
|
||||||
|
void imgdump(unsigned char[], int, int, int);
|
||||||
|
unsigned char * ctlxfer(libusb_device_handle * , uint , uint , uint , uint , int );
|
||||||
|
int bulkSend(libusb_device_handle * , int , unsigned char * , int );
|
||||||
|
unsigned char * bulkReceive(libusb_device_handle * , int , int );
|
||||||
|
int usbscan(libusb_context * );
|
||||||
|
void usbstats( libusb_device_handle * , libusb_device * , int);
|
||||||
|
int usbopen(typUSB * , int, int, int, int);
|
||||||
|
int usbclose(typUSB * );
|
||||||
|
void usbdump(typUSB * );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
enum libusb_error {
|
||||||
|
** Success (no error) *
|
||||||
|
LIBUSB_SUCCESS = 0,
|
||||||
|
|
||||||
|
** Input/output error *
|
||||||
|
LIBUSB_ERROR_IO = -1,
|
||||||
|
|
||||||
|
** Invalid parameter *
|
||||||
|
LIBUSB_ERROR_INVALID_PARAM = -2,
|
||||||
|
|
||||||
|
** Access denied (insufficient permissions) *
|
||||||
|
LIBUSB_ERROR_ACCESS = -3,
|
||||||
|
|
||||||
|
** No such device (it may have been disconnected) *
|
||||||
|
LIBUSB_ERROR_NO_DEVICE = -4,
|
||||||
|
|
||||||
|
** Entity not found *
|
||||||
|
LIBUSB_ERROR_NOT_FOUND = -5,
|
||||||
|
|
||||||
|
** Resource busy *
|
||||||
|
LIBUSB_ERROR_BUSY = -6,
|
||||||
|
|
||||||
|
** Operation timed out *
|
||||||
|
LIBUSB_ERROR_TIMEOUT = -7,
|
||||||
|
|
||||||
|
** Overflow *
|
||||||
|
LIBUSB_ERROR_OVERFLOW = -8,
|
||||||
|
|
||||||
|
** Pipe error *
|
||||||
|
LIBUSB_ERROR_PIPE = -9,
|
||||||
|
|
||||||
|
** System call interrupted (perhaps due to signal) *
|
||||||
|
LIBUSB_ERROR_INTERRUPTED = -10,
|
||||||
|
|
||||||
|
** Insufficient memory *
|
||||||
|
LIBUSB_ERROR_NO_MEM = -11,
|
||||||
|
|
||||||
|
** Operation not supported or unimplemented on this platform *
|
||||||
|
LIBUSB_ERROR_NOT_SUPPORTED = -12,
|
||||||
|
|
||||||
|
* NB: Remember to update LIBUSB_ERROR_COUNT below as well as the
|
||||||
|
message strings in strerror.c when adding new error codes here. *
|
||||||
|
|
||||||
|
** Other error *
|
||||||
|
LIBUSB_ERROR_OTHER = -99
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
|
||||||
|
Copyright (c) Atlantean Technical Solutions Limited (ATSL) 2022
|
||||||
|
|
||||||
|
This software has been produced by ATSL and is the copyright of ATSL. The
|
||||||
|
use of source code for the software is strictly governed by the terms and
|
||||||
|
conditions of the source code licence. Any unauthorised use of the source
|
||||||
|
source code for the software in any manner shall invalidate the licence,
|
||||||
|
any existing warranty and software support agreements by ATSL.
|
||||||
|
|
||||||
|
@proj usbutes
|
||||||
|
@subsys CCL
|
||||||
|
@file ccl.c
|
||||||
|
@brief <B> *** Useful general purpose common C functions *** </B>
|
||||||
|
@author GoodwinC
|
||||||
|
@date 2022-10-27
|
||||||
|
@spec N.A
|
||||||
|
|
||||||
|
*/
|
||||||
BIN
modules/atlantean/obj/fjpv.o
Normal file
BIN
modules/atlantean/obj/fjpv.o
Normal file
Binary file not shown.
BIN
modules/atlantean/obj/fjpvutes.o
Normal file
BIN
modules/atlantean/obj/fjpvutes.o
Normal file
Binary file not shown.
BIN
modules/atlantean/obj/pgmtest.o
Normal file
BIN
modules/atlantean/obj/pgmtest.o
Normal file
Binary file not shown.
BIN
modules/atlantean/obj/pgmutes.o
Normal file
BIN
modules/atlantean/obj/pgmutes.o
Normal file
Binary file not shown.
BIN
modules/atlantean/obj/usbutes.o
Normal file
BIN
modules/atlantean/obj/usbutes.o
Normal file
Binary file not shown.
325
modules/atlantean/pics/left.pgm
Normal file
325
modules/atlantean/pics/left.pgm
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
P2
|
||||||
|
311 322
|
||||||
|
255
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 85 0 83 0 83 83 0 86 83 88 88 88 85 86 0 88 89 88 88 86 0 0 83 85 89 83 86 89 93 88 88 91 89 86 86 85 86 83 88 85 85 83 83 89 86 85 83 85 0 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 0 83 85 0 0 85 88 85 83 86 0 88 93 86 86 86 89 88 88 88 91 89 83 88 86 86 86 86 91 86 89 96 91 88 91 89 88 89 85 91 89 88 89 91 91 91 86 88 89 86 85 0 89 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 0 0 83 0 83 0 85 85 85 85 86 88 0 89 88 88 86 89 89 83 88 91 94 91 91 93 91 89 93 89 91 93 91 91 94 96 85 91 89 94 94 88 91 96 94 89 94 89 93 93 89 91 91 88 85 93 88 86 88 91 88 89 85 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 85 0 0 0 0 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 0 83 0 85 0 85 83 86 88 83 88 88 88 83 91 83 88 86 96 91 89 86 93 91 91 91 93 89 89 96 96 91 94 93 91 96 94 96 98 91 96 96 99 94 94 93 94 96 96 101 96 91 91 91 89 93 94 93 94 98 89 89 93 88 85 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0 83 83 83 85 85 0 86 0 0 0 85 0 83 83 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 83 85 0 85 86 89 88 88 89 85 85 93 93 93 89 93 94 91 89 93 93 88 89 94 94 91 89 96 89 99 94 99 91 93 98 94 93 96 96 96 94 96 101 101 98 96 94 94 99 99 96 96 98 91 98 93 93 94 94 94 94 93 86 88 91 86 86 0 0 86 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 83 0 83 83 0 0 83 85 85 83 86 0 0 85 85 0 0 83 0 85 0 83 0 0 0 0 83 0 83 0 0 0 0 0 0 0 83 86 88 86 88 88 93 89 89 91 88 89 89 94 91 89 96 96 91 89 94 99 94 96 94 99 94 98 96 99 98 91 98 99 94 98 102 96 98 99 94 99 102 99 94 101 98 101 96 101 96 102 96 98 98 99 94 94 94 94 91 93 94 91 89 96 88 85 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 83 0 83 83 83 86 83 0 83 83 86 88 86 86 83 85 86 89 85 85 89 0 83 0 85 85 88 85 85 0 88 85 86 83 83 0 0 0 0 85 85 85 85 86 89 93 94 91 88 91 98 94 98 89 91 96 101 93 91 96 96 99 99 94 98 102 96 93 98 98 101 102 98 102 99 99 99 96 98 98 94 98 98 98 99 98 98 106 107 101 98 102 101 102 106 102 101 96 98 99 94 98 98 94 89 93 89 89 89 88 89 86 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 89 91 0 86 86 89 85 86 85 85 83 86 0 85 86 0 85 85 86 83 83 88 89 85 86 86 88 0 85 88 86 85 86 86 91 85 0 85 85 86 89 88 91 86 88 89 96 96 89 91 94 99 98 99 96 106 98 99 94 102 96 99 104 96 102 96 101 102 99 99 99 102 101 98 102 104 98 98 104 102 106 99 106 106 107 102 106 99 106 104 106 104 99 102 98 109 104 101 101 104 98 96 99 98 98 89 94 94 96 89 88 86 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 0 85 83 89 86 83 85 85 86 88 88 0 88 85 83 88 89 86 89 89 88 88 89 91 86 86 86 91 86 89 94 93 88 93 86 88 88 83 86 89 89 89 88 89 88 99 93 93 91 98 98 99 98 94 98 94 98 99 101 101 101 102 102 101 104 102 94 104 99 106 106 104 101 101 99 102 101 102 101 106 106 102 102 106 107 111 102 104 107 102 106 99 107 107 102 106 104 104 99 104 101 101 101 99 102 98 96 96 98 98 96 91 93 91 88 83 83 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 88 86 88 86 83 88 86 85 89 88 91 89 89 88 89 88 85 93 85 88 83 88 89 91 91 85 94 89 89 86 85 89 85 91 93 86 91 89 88 94 91 93 86 88 88 93 94 98 94 96 101 96 96 98 96 104 96 101 94 104 101 104 101 107 107 107 102 102 107 109 107 109 106 102 104 104 104 107 106 104 107 106 109 112 106 106 111 111 109 109 104 106 114 102 101 107 106 109 104 106 104 107 104 104 106 101 101 101 102 102 98 98 102 89 94 89 91 89 86 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 83 86 88 86 89 89 86 89 88 85 88 88 89 93 91 88 89 89 89 89 86 91 94 93 89 93 88 94 93 93 93 96 94 93 93 89 89 96 91 93 93 88 93 91 86 94 98 94 96 98 96 101 104 96 101 104 104 102 99 107 104 109 102 112 102 107 116 107 111 109 111 106 107 109 106 104 109 106 107 106 102 112 109 104 114 109 114 111 114 112 106 107 107 107 107 111 109 111 111 107 106 111 109 101 106 101 99 101 107 101 99 98 96 99 96 94 91 94 96 88 89 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 0 0 88 86 86 85 88 93 93 86 93 86 93 94 89 89 91 89 93 96 93 89 86 91 98 94 94 94 91 96 93 93 91 96 98 93 101 93 99 93 94 89 91 91 93 94 91 91 96 94 98 99 98 102 104 98 104 107 102 104 102 109 107 109 107 107 116 104 109 106 102 107 112 114 112 111 112 111 107 109 117 109 111 109 111 111 109 107 114 114 109 107 111 107 116 114 112 112 114 111 112 111 114 107 112 109 109 111 106 106 102 102 99 99 102 98 98 93 94 93 91 96 93 89 86 0 83 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 85 0 86 88 83 88 89 88 85 94 91 88 93 91 93 91 93 91 91 93 94 94 94 93 99 96 91 96 98 98 94 94 91 93 102 94 99 93 94 93 96 98 99 96 101 98 98 98 101 94 94 93 94 101 99 101 101 107 107 107 102 102 107 111 111 112 107 111 109 116 107 112 112 107 111 112 112 120 109 114 112 114 114 114 111 114 109 114 111 109 116 114 116 111 117 117 111 116 112 111 116 116 112 114 111 114 112 114 109 114 109 112 104 109 106 106 106 104 101 104 101 96 101 98 96 93 89 89 89 85 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 91 85 88 86 86 89 93 94 93 93 91 89 88 91 96 88 91 99 93 96 94 94 96 94 98 96 99 101 101 98 98 96 101 99 99 102 102 102 106 99 99 104 99 99 101 96 99 101 96 98 94 99 99 98 106 99 106 104 107 107 107 106 109 109 114 109 114 112 114 116 119 116 116 117 116 114 120 114 114 120 114 117 116 116 117 114 124 114 116 116 116 114 112 112 111 117 112 112 112 122 112 122 116 116 111 116 114 109 114 117 111 112 111 107 111 107 109 106 106 99 98 107 98 96 94 101 96 88 96 91 0 0 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 88 86 91 91 88 89 86 88 89 94 89 93 94 94 101 94 91 93 96 101 102 93 102 101 102 101 96 102 99 99 96 96 96 99 102 104 94 101 99 102 102 104 101 96 101 98 102 102 106 98 102 104 102 102 101 109 104 114 111 111 111 119 107 112 111 114 112 117 112 119 116 114 122 117 119 120 119 122 117 117 116 119 116 116 116 117 119 117 107 117 114 117 124 119 117 117 119 119 114 120 116 114 117 117 117 120 120 114 120 116 112 114 107 111 106 106 109 109 109 109 107 106 99 101 99 91 96 91 88 89 85 86 83 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 83 86 88 89 88 88 91 91 91 94 88 94 93 93 93 93 94 96 99 96 94 96 96 99 93 98 101 101 104 102 104 99 102 102 109 102 104 101 104 102 106 104 104 104 104 99 101 107 102 102 106 106 104 109 106 96 101 104 109 107 112 106 104 107 117 112 112 120 111 120 119 117 116 112 120 116 120 119 120 124 119 122 119 117 117 119 124 117 119 124 119 117 119 116 117 117 116 119 114 117 114 119 116 119 124 119 117 119 122 119 120 119 117 122 114 117 117 117 109 114 109 109 111 109 107 101 101 98 99 102 98 98 94 91 91 89 86 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 86 85 85 88 91 88 86 89 91 96 93 88 85 99 96 94 98 99 101 98 98 98 104 99 96 101 102 96 101 102 104 102 102 106 102 102 101 101 106 106 104 104 102 111 106 106 107 109 106 106 104 109 104 106 107 107 111 106 109 104 111 109 111 116 116 112 120 117 119 112 124 111 120 122 125 127 122 120 122 119 124 124 120 119 122 122 125 119 120 120 120 117 124 114 120 117 122 120 117 122 117 122 122 119 124 112 125 122 124 120 124 119 114 122 117 119 122 124 116 111 116 114 114 109 104 106 107 101 107 99 101 102 96 89 91 96 88 85 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 88 0 86 89 85 93 88 89 91 91 89 98 94 96 96 96 96 98 99 102 99 99 99 102 102 98 104 101 96 112 101 107 112 107 102 109 106 109 111 109 102 101 107 111 104 104 107 109 106 111 106 107 104 111 111 109 111 109 114 109 111 114 112 116 111 120 117 122 119 124 122 122 125 122 129 124 129 124 125 124 124 122 124 124 120 125 125 125 122 127 127 119 124 129 122 117 124 125 116 124 125 119 130 120 124 119 125 119 125 122 119 120 120 119 119 120 114 117 120 119 120 109 114 111 109 104 111 109 101 106 98 96 101 101 96 98 94 89 88 85 88 0 83 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 85 0 0 88 89 88 86 85 93 89 91 91 96 91 96 98 98 93 94 96 102 98 99 98 98 102 102 99 101 101 104 106 101 104 106 107 109 107 111 107 112 109 112 106 106 106 109 112 104 111 107 109 112 114 107 109 106 107 112 109 112 112 116 116 106 109 114 119 119 117 125 124 125 122 120 125 125 125 127 129 134 122 129 134 129 127 132 129 124 127 122 127 129 125 127 130 129 125 125 125 125 129 122 122 122 127 125 124 122 129 125 119 122 120 124 129 124 119 120 125 125 120 120 120 122 116 111 112 114 109 112 116 114 107 102 102 101 104 98 96 98 93 94 93 89 86 83 0 83 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 88 0 88 83 86 89 88 88 89 94 89 89 96 94 98 96 99 104 99 101 98 104 101 99 102 99 102 101 101 104 106 104 109 111 109 102 114 109 114 109 112 114 112 112 107 114 109 117 114 114 117 112 114 114 119 109 112 114 107 116 109 112 109 112 116 107 111 120 112 120 124 125 125 125 125 122 127 127 129 130 129 129 135 130 129 127 130 127 127 134 130 134 129 129 129 127 127 129 127 124 125 119 125 122 124 124 122 129 129 119 129 125 129 124 124 124 127 122 124 122 122 134 117 119 120 125 120 117 112 111 114 111 111 106 107 104 107 102 96 96 98 98 96 88 93 89 83 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 0 86 85 89 88 89 88 93 91 91 96 96 91 96 96 102 101 96 104 101 99 101 104 101 102 102 106 106 106 104 106 111 104 111 107 107 112 109 116 116 114 112 114 114 116 112 112 117 117 117 117 109 114 114 117 114 117 116 119 112 112 116 119 119 116 116 119 119 119 125 122 125 125 130 127 132 127 132 130 135 137 134 132 132 132 134 129 130 132 134 134 127 125 130 130 127 127 129 129 129 129 134 132 122 124 129 129 125 127 132 135 129 130 129 134 132 130 125 122 122 124 125 127 125 124 112 122 122 112 111 111 114 112 109 111 106 109 104 102 96 98 102 94 94 93 88 88 85 88 86 85 83 0 83 83 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 86 91 86 93 93 91 89 89 101 99 98 98 106 96 106 101 102 109 99 102 104 102 106 109 102 107 109 109 106 109 106 111 106 109 107 114 112 109 114 114 116 116 116 116 111 117 120 117 117 116 117 116 119 120 119 116 119 120 119 117 112 120 122 114 112 117 122 124 129 129 132 127 130 130 129 137 130 134 135 129 134 132 138 140 134 135 135 138 138 134 130 130 138 130 138 130 130 132 137 130 132 125 129 125 134 130 125 130 134 132 125 130 129 130 127 129 134 124 129 124 130 124 127 124 120 119 116 114 116 112 112 112 112 106 111 107 104 102 102 102 101 101 91 98 91 89 94 88 85 89 83 83 85 91 83 83 0 83 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 86 83 0 89 86 91 83 89 98 94 93 96 98 99 99 98 99 104 96 101 106 102 104 101 101 106 107 106 104 104 102 112 106 106 114 104 111 111 112 114 114 109 116 116 114 116 116 116 124 122 120 119 117 119 125 116 120 112 119 114 124 122 124 122 122 122 117 127 124 116 122 125 129 135 134 134 129 132 132 135 127 134 130 143 135 135 140 130 135 135 135 134 137 135 137 137 135 130 132 137 132 135 127 125 129 122 130 132 127 127 130 132 135 129 132 138 130 125 132 130 134 125 130 120 125 129 125 119 119 122 120 119 120 114 116 112 107 109 109 106 109 102 98 106 96 98 89 94 93 91 89 88 89 86 89 85 85 86 86 86 86 88 83 0 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 85 85 88 88 89 88 86 91 93 94 96 98 98 96 96 104 107 102 104 104 104 106 104 107 104 109 109 111 109 111 104 106 109 104 111 106 112 112 111 116 119 107 117 117 122 119 122 120 122 125 122 122 119 124 124 122 122 120 129 122 124 127 129 134 119 125 125 125 125 120 122 120 122 132 129 137 134 137 130 142 132 140 137 142 138 143 140 145 143 140 137 142 137 142 134 138 135 138 142 138 135 137 137 135 130 138 138 137 130 132 135 127 130 130 135 134 134 127 132 134 130 127 135 130 134 122 132 125 125 125 124 120 120 120 120 114 111 117 112 114 109 106 102 106 104 102 99 101 94 98 89 93 94 88 89 89 89 85 83 85 86 86 88 88 83 83 83 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 85 85 85 83 88 85 93 91 88 98 94 101 104 102 99 102 106 106 106 102 107 104 109 109 109 109 109 106 107 116 111 112 109 109 112 112 107 111 114 119 117 112 111 119 119 122 122 122 120 122 124 124 125 122 127 127 125 127 125 122 122 124 129 129 130 122 124 130 125 124 130 129 132 125 129 137 137 130 137 135 143 142 142 138 147 142 142 135 142 145 145 147 143 137 140 138 143 134 135 134 135 135 135 134 132 134 130 135 134 137 140 142 134 138 135 134 132 140 132 132 135 129 135 130 127 130 127 122 124 125 125 125 127 122 125 120 119 117 109 109 114 107 106 104 101 101 98 93 99 99 98 93 96 91 96 94 89 91 89 91 88 85 83 89 91 83 89 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 83 85 85 86 88 89 89 89 91 94 96 98 96 98 104 104 102 106 102 106 106 109 111 114 112 114 111 112 107 119 116 107 111 109 116 116 112 116 114 119 116 117 117 114 117 122 119 127 120 125 124 122 130 125 125 120 127 125 129 129 129 127 127 132 132 130 127 132 134 129 127 124 129 127 132 137 135 137 134 138 140 137 142 150 142 142 147 150 145 140 145 147 145 143 145 143 143 143 140 143 143 143 138 142 134 134 135 142 138 137 147 135 134 143 135 142 132 140 142 132 134 137 138 130 132 135 132 129 134 127 129 134 127 124 122 124 125 122 117 114 116 116 111 116 104 107 101 106 101 101 101 104 94 96 96 94 96 93 93 96 96 94 96 89 93 85 89 86 85 86 88 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 0 83 83 83 83 88 86 93 88 94 91 96 101 91 98 106 106 106 107 106 107 107 102 107 107 109 116 111 116 107 112 114 112 112 119 114 117 112 112 114 114 112 112 114 119 117 119 122 120 119 127 125 132 129 120 127 124 125 125 125 129 127 129 134 130 132 129 138 127 135 137 129 129 125 130 134 134 134 135 142 142 137 142 142 147 148 150 145 138 143 147 152 147 156 142 153 147 145 145 145 143 140 140 142 135 135 135 142 137 134 140 143 135 143 137 140 142 140 147 134 140 132 143 135 138 134 137 130 132 138 134 134 130 130 125 130 127 130 119 122 119 119 116 116 107 114 111 109 109 98 107 96 98 99 101 102 98 94 98 91 94 96 91 89 91 94 91 89 88 89 91 86 85 86 83 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 88 0 85 83 83 85 91 93 86 91 94 93 98 102 101 96 107 107 111 107 107 111 112 112 111 117 111 114 116 119 120 117 111 117 114 119 114 119 119 111 114 122 116 120 122 122 120 122 122 122 122 120 127 125 124 127 130 129 132 130 132 132 129 132 137 135 134 135 135 137 130 134 137 132 135 132 127 130 137 138 142 150 143 142 145 152 153 150 150 150 145 143 147 155 143 147 150 150 147 140 145 142 143 147 143 143 147 145 142 147 138 148 145 147 145 143 147 145 145 143 148 137 143 132 142 142 138 137 143 135 143 138 132 132 134 132 122 130 122 130 125 122 124 122 119 117 109 111 109 106 104 102 107 107 94 99 96 101 94 99 94 98 98 94 96 94 93 93 98 89 93 88 93 86 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 86 83 83 85 93 89 96 98 88 96 94 101 99 101 101 106 106 109 106 109 111 112 116 112 111 114 114 111 116 119 120 120 117 116 114 117 122 119 120 111 117 120 125 120 119 124 117 127 125 119 125 127 130 125 132 127 132 127 132 132 130 134 132 135 137 134 134 135 142 135 137 132 135 135 130 137 137 135 140 142 145 148 143 150 147 150 148 150 150 152 143 152 152 152 145 143 148 150 148 145 143 143 143 140 147 140 140 145 142 142 145 143 147 143 142 147 143 147 145 150 150 147 142 147 143 147 137 137 135 142 135 135 135 134 130 130 130 132 129 127 124 124 120 124 117 117 111 109 114 106 107 107 106 106 101 102 98 102 102 99 99 101 99 101 96 98 98 93 94 91 94 91 89 89 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 83 83 86 83 86 86 88 93 93 96 96 94 98 102 99 107 107 104 109 116 109 112 114 117 106 120 116 120 119 125 114 119 124 119 117 117 122 122 122 117 116 127 124 119 122 124 120 120 130 122 125 129 127 120 125 130 130 124 135 134 130 140 135 137 137 143 132 142 142 140 135 138 137 143 138 135 143 135 137 137 138 148 148 147 148 148 155 155 152 155 147 150 156 150 153 155 148 156 152 156 156 148 156 148 152 143 148 147 140 142 147 147 147 145 145 153 148 147 150 147 147 148 152 145 147 150 145 147 138 142 147 138 137 142 135 142 135 134 135 129 127 132 129 120 122 122 124 120 116 117 111 106 104 107 107 106 104 107 102 102 101 106 104 101 98 102 99 99 106 96 99 101 91 93 89 86 85 85 0 0 0 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 88 0 89 91 93 94 96 99 101 101 102 101 106 109 102 114 109 117 114 119 116 117 119 119 112 117 122 122 124 124 120 127 120 122 120 124 125 122 119 127 122 124 127 125 124 127 132 125 129 125 129 132 129 127 135 127 129 137 140 142 134 137 140 142 140 140 145 142 140 138 140 140 132 143 140 138 142 137 145 153 148 148 148 153 152 156 153 153 155 147 147 155 152 161 150 155 155 150 145 150 153 150 140 150 145 148 150 147 153 147 147 153 148 148 153 148 155 150 153 147 152 147 143 148 140 147 145 142 137 135 137 138 138 130 134 135 130 134 129 130 125 127 124 120 117 114 112 114 112 117 107 109 107 106 102 106 101 102 107 107 104 104 104 106 99 99 101 96 93 93 88 88 85 89 89 85 83 88 0 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 83 0 0 86 86 88 88 93 94 94 94 99 101 109 104 107 109 111 111 107 116 112 111 111 116 114 117 120 117 120 120 120 124 120 124 122 120 122 125 124 130 125 127 129 129 127 120 130 124 127 127 127 132 127 135 134 132 137 130 134 132 134 135 135 145 142 142 140 145 145 145 147 145 138 142 143 142 135 148 140 138 143 147 145 156 152 153 158 155 155 158 156 158 155 163 155 153 160 155 153 148 161 155 156 150 148 155 148 145 147 148 148 148 152 148 153 150 152 145 155 150 155 153 156 145 153 150 152 152 145 148 147 138 145 145 138 140 138 137 142 134 135 134 127 127 130 119 120 117 116 116 114 112 111 111 117 112 109 106 107 111 104 102 106 107 104 104 106 102 101 99 96 98 93 89 93 93 93 93 85 88 83 85 83 85 83 86 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 85 0 88 86 89 88 93 96 99 96 107 98 101 104 106 111 117 114 107 120 112 117 117 120 119 120 120 119 116 120 122 124 124 124 122 124 125 124 122 129 125 125 125 125 125 127 130 127 132 124 129 132 134 132 127 137 129 135 137 137 134 137 129 135 143 145 145 152 145 145 143 148 147 143 148 135 140 143 140 145 148 155 147 152 156 152 155 158 158 155 153 155 153 155 156 161 160 158 160 153 156 155 158 156 147 155 155 148 158 155 147 152 153 158 153 152 155 156 155 158 155 160 156 147 153 147 155 148 145 150 148 150 143 145 143 143 143 142 137 148 130 134 129 132 130 127 119 117 122 124 122 119 117 112 112 112 116 111 109 111 106 102 109 104 109 107 101 104 101 98 102 96 99 102 94 93 89 89 91 93 85 85 89 83 83 83 85 85 0 86 0 0 0 89 0 85 0 88 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 86 85 0 89 88 86 96 93 96 101 102 101 102 99 111 114 109 109 109 116 119 114 116 119 116 122 124 120 124 120 119 122 125 122 130 129 120 127 129 124 132 130 127 125 132 127 127 132 127 129 132 129 127 137 130 134 138 143 138 135 137 140 138 138 142 142 147 142 148 150 143 142 153 152 148 150 143 147 138 142 148 142 147 152 156 158 153 160 155 156 163 160 161 168 165 166 160 161 160 155 153 158 153 155 150 150 150 152 150 148 150 152 153 158 155 156 155 150 155 156 165 160 156 156 156 150 155 150 158 148 156 152 145 148 137 143 142 147 145 147 137 142 130 135 129 129 132 122 124 124 119 122 122 119 117 116 112 111 111 107 114 106 107 107 112 106 111 109 106 107 101 101 106 94 101 93 96 96 91 93 89 93 91 85 86 86 86 85 85 86 88 85 83 85 83 89 85 88 83 0 83 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 83 85 85 86 91 96 88 94 101 98 101 111 104 107 112 109 111 117 114 114 117 116 119 125 119 127 119 125 117 124 129 124 129 127 132 127 130 134 134 127 127 132 130 138 127 135 130 129 137 130 130 130 130 137 132 138 135 137 138 137 143 135 140 143 142 142 145 147 143 138 147 142 147 148 153 148 143 142 140 147 150 145 155 155 153 153 152 160 158 163 156 158 163 158 160 163 160 166 158 160 163 155 155 165 155 156 147 153 155 152 158 161 150 156 160 163 158 156 156 153 160 161 158 160 152 156 152 158 147 163 155 153 152 145 152 148 145 148 152 140 140 140 142 138 140 134 130 130 134 129 125 127 119 119 116 120 120 119 111 114 112 111 114 114 111 112 107 109 102 106 109 107 109 99 98 99 101 99 94 88 89 88 91 96 89 88 91 89 91 85 88 89 91 86 89 88 0 86 88 86 86 0 0 83 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 83 85 91 89 91 93 93 98 102 102 99 102 104 109 112 116 114 114 120 122 120 119 120 122 116 119 124 129 130 122 125 130 130 127 127 129 134 134 135 129 127 129 129 132 135 132 129 135 127 130 132 137 130 137 134 138 134 137 145 135 138 143 138 148 147 147 143 145 152 148 148 142 143 153 148 142 147 148 150 155 147 156 152 152 166 161 161 163 161 171 170 166 163 161 161 158 165 163 166 155 156 160 156 160 158 152 156 156 161 150 158 158 160 155 158 166 161 168 155 163 160 160 160 158 163 153 160 161 155 152 156 156 152 150 152 147 148 143 142 137 143 140 142 138 135 135 135 135 127 132 127 130 125 124 117 122 124 116 120 112 116 117 112 114 112 106 112 106 107 109 107 107 106 109 102 104 98 96 98 98 98 93 94 93 94 96 88 94 94 91 93 89 89 89 88 93 88 89 94 86 88 94 88 86 85 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 0 88 86 85 89 93 96 98 99 101 102 112 109 104 112 111 114 116 119 116 119 116 122 122 124 125 125 124 119 127 127 129 125 130 122 130 134 130 134 130 130 135 129 140 132 138 137 134 127 135 140 138 134 140 132 138 134 137 137 140 142 138 145 145 138 148 147 147 156 150 155 150 153 153 148 150 150 147 150 150 147 153 152 152 158 156 155 165 163 161 168 171 156 168 165 163 161 156 170 161 165 165 166 163 160 155 158 150 163 156 155 153 160 158 160 158 160 163 156 168 163 161 163 160 161 161 163 158 165 153 163 160 160 158 152 155 142 148 140 148 145 138 142 140 140 137 137 135 129 130 129 132 122 124 124 127 120 119 122 114 120 116 114 114 116 114 109 114 112 109 109 116 107 112 102 102 104 104 102 99 107 96 98 96 91 98 96 96 91 94 96 94 91 91 91 88 91 89 91 88 89 93 93 88 88 89 88 0 88 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 83 88 88 86 93 96 98 98 106 109 107 112 114 117 114 114 116 112 117 120 119 124 119 129 122 122 127 129 127 130 127 138 134 125 125 134 134 134 135 132 138 135 129 137 132 137 132 134 138 130 134 129 140 134 143 134 138 143 140 140 145 143 145 145 145 150 145 143 148 156 153 148 155 158 147 147 148 155 150 152 150 152 153 158 156 155 160 163 173 168 168 166 168 165 165 170 173 173 168 163 171 158 158 153 161 153 155 153 160 166 163 161 163 160 165 163 160 160 156 163 170 158 170 161 165 161 160 161 155 170 161 155 163 160 163 155 150 153 147 142 143 148 145 143 140 143 140 145 130 137 132 124 129 125 132 122 124 119 116 125 122 124 119 119 116 120 120 116 117 112 119 111 107 109 107 107 104 104 98 99 102 96 94 99 99 96 96 96 98 94 93 94 96 91 94 89 91 88 88 91 88 94 91 89 91 91 88 86 85 88 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 88 88 94 93 94 96 99 101 107 102 107 112 114 112 114 116 116 124 116 119 125 122 130 122 124 125 124 129 125 138 122 130 134 135 138 135 138 127 140 132 132 138 143 138 134 140 140 137 137 135 129 137 137 135 143 140 143 138 137 138 147 143 142 153 150 150 152 153 160 150 155 161 152 156 153 153 150 148 143 143 148 150 153 153 156 153 163 158 166 168 163 171 165 163 165 163 171 170 168 163 163 166 158 160 160 163 163 158 170 155 163 165 161 163 160 165 165 163 160 161 165 163 160 165 163 161 163 161 166 155 161 166 161 152 156 158 158 152 150 150 152 147 143 150 147 140 138 147 142 134 134 130 132 132 129 129 124 124 127 122 119 125 119 122 117 119 117 117 114 117 109 112 117 111 107 107 107 107 109 101 101 104 101 102 98 96 98 98 99 93 96 96 94 93 99 98 94 93 96 96 89 94 91 94 93 88 89 88 88 85 86 0 0 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 83 86 89 86 89 96 99 99 106 106 107 107 109 112 107 116 119 116 119 122 124 122 124 127 127 127 134 134 140 134 129 130 130 135 137 130 127 137 135 135 140 137 142 140 137 132 134 134 135 147 135 135 140 137 135 140 140 142 142 142 138 145 152 143 147 155 147 152 155 155 158 155 158 155 153 153 158 158 155 155 152 155 143 155 163 150 161 165 160 163 168 166 165 165 170 168 166 174 165 166 161 173 161 168 160 158 158 160 163 160 156 161 161 166 168 170 166 165 160 171 165 165 168 170 160 165 170 165 163 160 163 163 166 163 165 161 158 156 155 147 147 148 156 138 143 147 147 147 138 135 134 145 129 132 127 137 129 135 130 129 130 122 119 125 122 119 116 120 117 124 119 117 111 116 117 112 114 107 106 107 106 107 104 104 99 104 104 98 104 96 96 101 99 94 98 101 99 98 94 94 94 101 94 96 93 96 93 96 88 91 88 86 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 89 89 94 91 93 94 101 102 104 102 102 112 116 117 114 117 120 120 116 119 132 127 130 129 120 129 130 134 132 134 132 130 135 135 138 140 142 140 134 137 145 138 137 138 135 140 137 142 135 134 145 135 140 140 140 135 145 148 142 150 147 150 140 143 150 155 152 156 148 152 158 158 156 153 158 153 160 150 150 156 158 145 153 148 155 158 155 160 168 171 165 166 168 168 173 166 165 178 170 165 165 163 166 161 158 165 160 166 160 170 165 163 163 161 166 166 166 171 166 176 165 160 166 166 165 165 161 170 163 165 161 160 160 165 161 158 155 160 156 150 148 150 153 148 150 148 147 142 145 138 142 138 135 135 127 138 137 132 132 125 124 125 124 125 124 124 122 122 120 120 116 114 114 122 109 112 109 112 109 111 109 111 107 107 112 102 98 101 99 106 104 102 101 101 98 99 96 101 93 102 102 93 99 96 96 91 91 91 96 91 88 86 88 86 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 89 89 93 96 94 102 99 98 101 107 106 107 111 114 114 117 119 122 120 124 122 122 132 122 132 127 132 132 134 134 134 135 135 137 134 140 143 138 142 134 138 135 147 145 138 140 143 140 140 137 145 138 138 135 150 140 145 145 135 147 147 163 148 148 152 153 156 150 160 152 160 155 161 155 155 163 163 152 160 150 152 148 156 153 153 158 161 165 166 160 168 170 173 165 170 171 173 174 165 170 173 160 168 166 163 163 161 161 160 166 165 163 161 161 171 166 168 170 161 166 168 165 166 163 165 161 155 161 160 168 161 166 166 156 156 156 150 155 152 142 142 150 143 140 145 143 143 147 148 135 132 143 143 134 129 135 130 134 140 134 130 127 125 135 132 125 125 120 125 124 120 117 114 116 119 116 119 111 107 111 111 111 109 109 107 109 109 114 111 104 99 106 104 104 102 102 101 96 101 98 104 102 102 99 102 99 102 96 94 94 94 89 91 83 89 85 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 89 89 91 101 93 101 99 98 106 109 114 107 116 116 114 119 120 120 125 124 130 124 122 135 132 130 132 137 127 137 129 135 135 137 142 142 142 145 138 140 140 138 142 138 142 147 132 138 148 135 147 140 140 142 143 143 143 145 145 145 145 150 145 153 152 165 152 156 161 160 156 166 158 156 160 160 163 158 163 152 156 156 156 155 155 160 158 166 168 168 176 171 174 165 166 168 161 170 163 171 170 170 170 168 170 163 170 160 166 168 163 173 165 171 163 166 165 166 160 161 165 161 161 165 170 166 161 170 166 170 158 163 165 166 160 155 156 156 158 147 150 143 147 147 145 145 142 143 142 142 140 143 137 138 137 138 138 132 134 130 135 125 129 130 129 130 130 127 124 124 120 120 119 114 117 116 116 116 117 112 114 116 117 114 114 111 112 114 109 106 106 106 104 106 101 107 101 109 102 102 101 98 101 106 99 101 99 98 99 93 96 89 88 94 94 0 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 88 94 91 91 101 98 102 102 102 99 106 109 116 111 116 120 124 124 120 119 119 134 122 124 130 132 127 138 135 132 134 140 138 145 132 130 132 145 142 142 143 142 142 143 142 138 142 142 140 143 140 145 142 152 147 140 145 148 148 150 152 156 158 148 156 150 155 158 158 160 161 160 160 166 161 163 153 161 158 155 165 156 165 160 152 156 152 153 155 158 168 165 168 173 168 165 168 170 173 165 173 171 166 170 161 168 166 161 166 161 171 170 165 163 163 171 158 166 168 165 168 163 161 170 166 166 165 163 161 166 161 170 168 168 158 166 165 160 155 156 153 148 156 153 153 153 148 147 148 153 150 150 145 138 140 140 137 143 137 130 130 129 134 138 138 124 132 132 134 125 125 124 122 114 124 122 112 112 114 111 122 112 116 116 114 117 112 114 111 112 114 109 109 104 104 109 101 106 104 109 109 104 106 106 106 101 104 104 98 98 94 98 93 94 93 91 91 91 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 86 85 86 93 91 99 102 99 104 106 111 109 107 109 111 112 119 119 119 124 124 127 125 127 127 134 132 135 132 135 135 143 135 137 135 140 140 143 137 145 148 138 145 147 145 140 147 145 143 143 140 142 145 150 142 145 153 145 158 152 150 147 143 150 152 161 155 156 160 158 163 160 163 161 160 163 170 161 161 171 163 163 160 163 163 153 166 160 160 163 158 166 166 165 174 166 171 166 174 165 168 174 174 170 174 166 163 170 168 173 170 166 163 168 161 163 165 168 165 168 171 165 161 165 160 166 165 168 163 166 165 161 163 165 160 171 166 158 156 160 156 156 155 155 148 152 148 158 153 155 150 150 143 142 138 140 137 142 142 142 138 137 129 135 134 134 129 132 129 127 130 124 129 117 120 120 125 122 119 114 119 119 119 120 120 125 111 119 117 120 114 109 117 111 114 106 107 111 109 104 107 104 106 101 106 106 106 102 106 104 101 101 101 98 96 98 89 89 88 85 88 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 85 0 86 89 89 94 91 96 94 99 102 107 109 107 114 116 116 119 116 119 117 122 127 122 124 129 130 137 134 132 137 134 145 137 138 138 140 145 142 140 138 150 150 150 140 145 142 143 140 148 142 143 147 145 142 142 148 147 153 148 148 155 148 160 150 156 153 160 160 160 156 160 158 163 166 158 166 166 161 170 161 165 161 161 168 160 168 161 161 160 153 158 158 161 165 163 161 178 173 166 171 171 171 166 168 168 178 170 170 166 173 171 173 170 168 173 168 165 168 160 166 160 166 168 168 160 170 163 166 171 166 173 163 173 168 168 163 163 168 166 160 160 158 160 160 148 158 160 158 152 153 152 148 150 142 143 143 143 143 143 135 143 138 137 130 135 137 137 137 137 138 134 125 125 122 129 130 127 122 120 119 116 117 119 125 124 117 122 120 120 117 114 119 114 117 117 117 116 112 112 107 107 109 117 102 112 107 107 104 106 106 102 102 101 99 98 99 96 94 91 85 86 86 86 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 88 83 89 89 91 91 93 93 94 99 91 106 102 104 112 107 112 116 116 120 117 124 120 122 130 125 132 132 134 129 138 135 138 142 137 142 137 138 140 140 147 147 142 145 142 142 145 147 155 153 142 153 148 145 143 147 148 148 150 153 147 155 153 147 150 156 152 160 153 156 160 155 156 158 161 158 168 165 170 163 171 165 161 165 161 163 166 160 161 163 158 165 161 161 170 166 161 170 171 165 170 174 174 170 173 174 174 166 174 166 173 181 171 168 170 165 171 170 168 174 168 176 165 171 171 173 165 168 163 163 165 161 165 176 161 161 165 166 161 165 161 160 163 156 155 158 160 155 145 152 158 160 156 148 152 150 142 147 143 147 142 142 145 140 143 138 140 142 135 137 137 134 129 135 129 132 124 124 132 122 127 127 122 122 117 122 125 124 125 124 119 124 127 117 116 119 116 114 117 111 116 117 114 109 117 109 106 117 111 106 116 104 109 104 99 106 99 99 99 91 93 94 88 85 86 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 83 83 88 86 88 91 91 91 98 96 93 96 104 101 104 106 109 107 107 119 119 112 111 120 117 120 120 132 127 129 132 137 130 135 137 138 138 145 137 142 142 143 140 145 145 145 145 150 150 150 150 150 152 152 148 148 145 147 145 143 143 153 153 148 153 152 155 156 158 152 160 155 156 155 161 163 160 161 166 161 166 166 173 171 161 170 165 171 165 163 163 165 160 160 163 165 163 165 161 166 173 171 168 174 176 174 179 173 174 179 174 170 176 174 171 176 170 176 171 178 171 171 173 176 173 170 173 174 166 166 165 168 171 173 165 165 168 163 168 163 165 160 166 163 160 166 163 160 160 158 160 163 153 160 156 155 153 153 155 156 155 143 150 140 147 148 143 137 138 142 143 140 135 137 142 137 135 127 129 127 127 125 122 120 129 122 125 124 127 125 127 129 124 129 122 120 124 120 117 122 117 116 120 124 117 117 117 116 116 114 109 112 109 109 107 112 104 106 106 99 101 98 96 96 96 96 89 86 88 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 86 86 88 88 88 93 89 96 91 99 96 94 102 101 107 109 109 112 109 114 114 116 119 117 119 119 125 130 124 130 132 135 132 132 135 135 138 138 137 148 143 142 147 145 143 148 153 148 155 152 148 143 147 142 142 145 153 147 148 150 153 153 153 156 156 153 150 160 155 160 156 158 158 165 156 163 163 166 165 166 171 166 166 163 171 170 165 163 165 170 168 165 170 163 161 156 161 165 168 170 171 176 171 174 174 174 179 178 178 174 178 183 178 179 176 178 181 176 173 181 171 170 170 171 171 176 174 170 170 170 166 165 166 173 171 165 166 163 165 173 168 160 160 165 161 160 161 158 163 160 152 153 158 161 160 156 160 153 152 155 143 147 145 147 145 143 140 140 145 140 138 137 140 132 132 130 130 132 130 127 129 130 124 130 127 127 125 125 127 125 129 125 127 129 127 132 130 125 120 124 125 117 119 120 122 112 114 119 117 124 114 116 111 112 111 111 106 104 107 102 101 96 99 101 98 98 89 88 86 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 86 93 91 85 89 96 96 99 98 102 96 104 106 107 107 107 117 107 117 117 120 117 120 120 120 125 129 132 138 134 132 135 129 132 137 143 132 145 143 145 147 148 140 142 150 150 147 153 148 153 142 158 152 147 150 152 152 153 150 153 161 158 150 165 161 161 166 160 158 161 165 168 163 170 168 170 161 170 171 168 173 171 158 166 171 168 163 170 166 170 173 168 170 170 163 174 173 166 174 178 179 179 176 179 181 173 181 178 181 176 176 184 184 181 184 181 174 176 173 179 176 181 176 178 179 173 174 170 171 176 168 179 168 161 168 168 166 165 171 170 166 166 165 161 156 165 158 160 161 165 158 158 150 161 156 153 155 148 150 155 148 150 143 143 143 147 148 143 140 143 137 145 138 135 134 135 135 134 135 129 134 127 129 130 122 132 130 127 135 134 130 130 132 125 127 129 130 127 125 125 122 122 116 119 125 124 120 116 116 114 116 117 112 112 114 111 106 104 101 102 102 98 98 93 93 93 93 88 89 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 85 86 89 88 93 91 93 93 96 99 96 107 101 104 101 107 109 119 111 116 120 119 124 120 122 125 125 125 127 129 134 135 134 135 130 142 137 132 150 137 150 147 148 142 145 147 143 153 155 148 148 152 145 153 153 158 148 155 161 156 163 160 161 165 163 160 160 163 161 158 163 163 163 161 165 163 168 161 163 163 171 166 174 163 171 173 171 170 171 168 165 168 170 166 178 174 174 168 173 173 171 174 174 183 184 184 181 178 186 183 181 187 181 181 187 189 191 178 176 186 186 178 183 179 171 171 176 181 173 174 166 168 171 176 179 174 170 176 173 166 171 168 168 165 166 165 168 160 158 161 170 161 161 155 155 158 158 150 153 153 155 152 152 150 147 148 148 153 150 148 152 145 142 137 138 138 134 138 137 132 138 137 134 132 135 135 137 135 138 138 130 132 130 132 127 130 129 132 125 130 124 129 129 127 124 122 120 119 119 119 119 119 112 114 114 111 117 114 106 107 106 102 101 102 99 94 94 96 91 86 88 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 0 85 89 91 88 89 89 96 98 101 96 99 102 104 104 109 107 109 112 114 112 111 112 122 124 122 122 124 130 127 132 129 129 132 130 143 137 135 138 140 142 143 135 143 148 148 143 148 145 143 147 152 153 153 156 150 155 163 160 163 156 163 158 163 170 165 166 156 171 165 166 163 161 163 166 170 168 166 165 170 168 174 168 174 170 163 171 171 166 173 173 171 178 166 171 176 184 174 174 174 176 178 174 173 186 181 181 181 189 179 184 184 176 183 187 186 186 183 189 181 179 173 183 178 187 181 181 183 178 178 181 176 181 178 171 176 171 170 171 171 170 165 168 166 165 163 173 163 166 160 160 158 152 160 163 163 158 156 152 156 156 156 147 158 152 155 150 155 147 150 145 148 147 147 147 138 140 135 140 135 138 132 135 135 134 134 143 140 138 137 143 138 130 134 147 134 129 138 134 129 130 134 134 129 127 125 127 124 125 122 119 124 116 120 120 117 116 119 112 111 112 107 106 104 106 107 99 98 98 93 91 91 86 93 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 83 83 88 91 93 89 91 101 99 99 101 104 102 106 107 109 114 112 119 124 116 120 112 120 124 124 124 127 125 127 135 138 132 137 134 138 137 142 142 135 145 143 147 147 145 147 150 148 150 153 152 155 150 155 160 163 153 158 168 170 163 161 163 163 163 166 161 163 166 163 160 168 174 166 168 166 170 171 168 178 166 163 166 166 176 173 173 168 174 173 173 173 183 189 179 179 181 174 186 186 178 184 183 176 183 183 184 186 186 189 189 191 184 189 187 187 189 189 179 179 184 186 186 183 187 181 184 183 174 179 178 178 176 178 174 174 176 176 174 179 171 165 168 168 171 170 166 161 163 171 158 163 165 161 160 158 160 155 158 158 158 152 156 150 152 147 155 155 148 152 145 155 143 148 137 143 134 138 145 142 134 142 140 134 145 147 135 147 138 140 140 137 137 140 137 140 135 132 135 134 132 130 130 132 125 125 127 124 129 124 117 127 122 119 120 119 116 119 117 111 114 107 104 106 107 104 99 101 89 99 91 89 89 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 88 88 91 89 91 94 94 96 99 104 102 104 109 104 112 111 109 112 119 116 119 117 124 120 120 120 120 130 125 130 132 134 130 127 137 142 134 134 143 143 145 142 140 142 155 147 150 153 150 152 150 156 150 158 161 161 160 163 160 163 161 160 168 170 166 168 166 170 166 171 166 171 165 173 171 170 173 168 166 165 166 173 173 171 170 166 168 178 181 174 179 183 178 179 176 186 183 183 178 183 174 181 184 183 186 183 183 183 184 194 201 191 196 187 196 189 196 186 186 191 183 187 189 186 194 183 184 184 184 184 179 178 181 184 186 176 179 178 174 186 179 174 176 179 166 171 168 165 163 166 165 161 163 168 161 165 155 156 160 160 160 158 155 152 150 152 155 152 153 155 155 150 150 153 145 145 148 143 142 147 140 140 143 142 142 142 147 148 150 145 145 142 140 145 137 142 138 137 130 132 132 132 132 127 132 134 125 122 129 129 127 124 125 125 125 119 120 117 116 119 107 111 107 112 107 109 106 102 98 99 99 96 91 88 85 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0 88 86 86 89 94 89 96 93 104 102 102 109 102 106 111 112 109 119 116 119 119 119 117 120 122 125 122 127 130 132 122 130 130 132 137 135 138 142 132 143 143 140 148 147 148 150 150 150 153 152 155 155 160 155 155 155 163 168 166 160 165 170 163 173 163 171 166 166 168 174 171 173 176 170 171 174 174 174 174 165 176 176 176 168 166 170 174 179 168 178 168 179 179 179 179 179 179 186 179 179 186 187 186 184 187 183 186 178 179 194 196 196 194 187 191 192 189 191 194 187 191 192 184 183 187 191 194 192 189 192 184 187 194 183 178 184 184 184 183 186 178 171 179 174 174 170 168 171 165 161 170 168 161 163 161 166 158 160 156 163 155 158 161 163 152 153 155 147 148 152 155 148 150 160 142 153 145 142 150 145 135 142 142 147 147 142 148 148 145 150 150 143 148 148 138 143 142 138 147 135 135 137 138 142 137 140 130 129 135 132 129 134 130 129 129 129 120 119 116 122 112 117 112 116 112 104 111 109 106 101 106 96 94 93 88 88 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 85 85 93 91 94 94 94 98 102 98 101 104 106 106 109 117 107 119 120 119 124 122 117 124 120 134 125 132 130 132 132 130 134 134 135 135 135 140 138 143 145 147 147 148 148 145 153 150 147 148 160 155 155 160 158 156 168 166 160 165 165 166 170 171 165 171 173 179 170 179 178 170 174 174 174 174 176 178 179 174 174 176 176 174 168 173 170 176 179 171 184 171 181 179 186 186 183 191 191 189 184 194 194 192 184 191 189 194 186 192 183 196 192 191 196 187 189 187 194 192 191 196 191 191 197 183 194 186 189 192 187 184 187 194 191 192 183 179 186 179 189 178 171 183 179 174 170 174 173 170 168 171 165 156 166 160 170 165 161 161 163 158 155 161 163 156 160 156 145 148 155 160 155 150 148 155 140 150 150 147 147 148 137 152 145 145 152 152 147 152 152 148 147 148 145 150 138 145 140 135 135 140 138 135 135 132 132 134 140 137 125 132 130 134 124 130 129 124 122 122 114 119 117 116 116 109 106 104 109 102 99 96 101 96 96 86 86 85 0 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 93 88 91 96 98 96 99 99 102 102 104 111 111 106 116 117 124 117 122 120 125 129 124 132 127 135 134 135 137 135 135 138 140 137 134 143 143 138 147 145 150 147 152 152 152 148 152 158 150 155 163 160 156 160 171 168 165 170 170 173 168 168 166 170 166 171 173 178 173 174 170 179 178 174 183 187 179 179 170 181 181 178 173 179 171 179 176 181 176 176 187 178 184 187 181 183 192 194 196 187 187 184 192 191 187 187 191 194 196 184 181 199 196 196 201 194 197 184 187 192 192 194 189 194 199 191 191 197 196 189 192 191 186 191 194 194 189 186 184 183 187 186 173 176 178 166 171 170 171 170 165 170 163 165 166 160 161 158 168 156 160 165 158 155 155 153 155 160 156 158 152 153 150 148 143 150 150 145 155 148 147 148 148 148 148 150 150 143 152 150 147 147 150 152 142 147 143 145 145 135 140 137 142 132 130 142 138 135 137 137 129 132 138 130 122 134 120 122 117 125 127 117 111 116 116 109 106 111 101 106 102 101 96 91 94 89 85 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 93 86 89 91 94 96 96 101 96 101 104 112 107 109 116 114 119 125 122 122 124 129 130 129 129 130 132 130 140 134 132 132 137 135 137 142 140 138 147 147 147 148 152 152 150 160 153 152 156 155 158 152 158 163 158 161 168 161 166 166 176 163 170 170 178 170 173 178 176 176 174 181 178 178 176 178 178 178 183 181 176 181 186 186 174 176 181 187 184 179 183 187 187 179 183 187 199 194 191 194 196 192 192 191 187 196 194 189 199 181 186 189 184 196 194 194 197 191 201 194 197 186 204 196 197 192 194 197 197 196 187 194 187 192 184 191 186 189 183 191 187 186 189 183 181 173 176 168 171 171 170 168 166 168 163 166 161 156 156 161 161 170 163 156 165 156 161 152 153 153 153 156 158 152 143 153 145 152 150 155 153 153 150 148 150 158 158 143 160 156 158 152 152 143 150 153 148 150 138 138 138 137 142 137 142 143 138 137 138 130 138 135 138 125 132 127 130 124 124 125 120 124 117 109 117 116 109 114 112 104 99 104 101 98 94 96 91 88 89 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 85 93 85 93 96 99 96 101 101 112 107 109 109 116 116 117 117 122 132 120 130 124 127 138 137 137 138 142 143 135 140 134 140 145 140 143 140 142 148 147 150 150 158 150 160 156 160 161 158 161 156 168 173 166 163 163 171 171 165 168 174 173 173 174 179 179 179 179 183 171 183 179 184 184 178 173 184 181 184 178 183 183 189 181 183 189 178 189 184 181 187 189 191 189 189 191 184 189 189 199 201 189 197 192 191 194 194 199 191 184 187 196 189 191 199 197 201 192 191 191 194 194 197 201 204 197 196 204 192 189 197 197 197 197 192 196 199 204 187 189 186 181 183 184 183 176 174 163 166 170 170 168 168 163 160 166 163 161 165 158 156 161 163 160 161 160 161 153 156 153 152 148 156 150 156 145 150 150 147 153 156 150 152 150 155 161 156 150 160 150 152 150 153 143 145 145 142 148 142 137 142 142 147 138 142 143 147 135 138 138 138 132 140 134 132 125 127 135 125 125 124 125 122 111 117 111 109 111 107 111 99 106 99 99 94 94 91 86 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 89 94 93 96 99 104 98 99 104 109 109 106 116 114 109 120 122 117 124 122 130 124 129 134 138 137 138 135 137 134 142 143 147 142 140 143 148 150 147 152 145 150 155 153 158 161 160 163 165 168 168 168 163 168 165 171 170 170 173 171 174 176 176 171 179 174 176 176 186 176 181 174 181 183 183 186 179 186 186 186 179 186 183 189 194 186 183 191 184 186 183 184 194 184 191 191 192 192 202 197 194 191 199 197 197 189 194 204 191 187 196 189 183 191 189 194 191 196 197 196 197 201 196 194 201 204 201 196 196 199 205 196 197 201 197 191 202 196 189 189 196 189 191 179 178 183 174 174 171 170 163 170 161 160 165 166 161 163 155 163 163 166 165 158 161 158 165 161 156 155 161 156 150 148 148 150 152 152 150 160 155 152 158 161 155 150 160 155 166 156 165 142 155 150 150 152 156 145 142 145 148 138 150 147 148 140 135 135 137 140 138 143 137 142 135 129 130 134 124 125 127 122 117 120 116 116 114 112 107 109 107 106 99 99 96 88 93 86 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 86 93 94 99 96 102 102 104 114 109 114 114 114 119 117 120 125 132 122 130 130 137 132 135 132 135 143 132 135 140 142 138 142 140 143 148 147 153 158 152 155 153 163 161 158 161 166 163 163 166 166 165 166 165 165 171 174 178 168 178 171 171 184 179 174 178 184 174 181 186 179 184 186 187 183 184 173 187 184 191 181 189 187 181 184 184 181 187 189 189 192 187 187 199 191 191 196 194 196 204 187 196 201 197 191 202 204 202 191 197 194 197 189 192 202 191 197 199 192 187 196 199 199 201 194 199 196 197 199 201 202 194 199 202 192 192 191 191 189 186 189 189 183 183 181 183 174 168 165 170 166 168 170 165 168 170 161 166 165 166 163 166 160 161 156 161 160 150 156 148 156 152 147 148 150 155 152 156 156 153 153 155 161 152 153 158 163 150 158 153 152 152 153 150 155 153 150 145 148 148 145 145 147 140 147 147 140 140 135 138 137 137 137 132 138 134 130 129 130 125 122 120 122 119 119 112 114 111 111 106 99 101 94 98 91 94 89 91 85 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 93 86 99 98 99 104 106 102 111 117 112 119 117 119 116 129 125 130 132 132 132 125 138 135 142 140 138 138 143 143 140 135 145 142 143 150 148 153 145 160 160 160 158 158 166 161 156 171 168 171 173 166 168 171 168 166 173 174 179 183 183 168 181 183 183 173 184 183 187 184 184 183 186 184 183 192 191 192 189 191 189 191 178 186 184 184 186 191 189 197 192 192 187 191 196 202 199 199 196 204 194 196 202 207 207 199 197 199 205 202 201 194 192 192 194 201 204 187 189 201 194 204 202 199 202 202 197 205 205 194 202 205 201 197 192 199 197 196 192 191 194 194 186 191 184 181 176 178 174 170 168 171 165 171 166 160 171 168 163 168 163 168 163 163 166 163 163 158 163 150 148 153 155 156 155 153 156 160 156 155 158 161 163 155 155 155 158 156 152 156 156 156 155 152 152 147 147 150 148 145 150 150 145 148 147 145 147 147 145 142 143 137 137 147 135 134 130 129 127 129 124 125 119 120 117 112 111 111 109 106 99 99 101 96 96 93 89 91 86 85 86 85 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 86 93 89 96 96 96 106 107 102 106 107 109 116 114 122 117 119 120 129 127 132 134 140 137 134 134 140 143 140 152 142 143 145 142 145 140 150 148 158 153 152 158 161 168 160 171 161 168 171 170 173 174 176 168 166 171 179 173 176 173 174 178 186 179 179 186 183 189 189 192 186 194 189 181 181 197 183 191 197 196 192 196 186 192 191 187 192 197 194 196 194 196 201 192 194 191 197 199 201 199 199 201 199 197 202 201 204 202 209 207 209 184 199 191 196 197 196 194 194 197 194 197 197 204 197 199 192 204 204 201 202 207 204 199 204 196 194 201 192 201 192 196 196 192 189 186 186 176 171 174 174 166 165 160 174 163 174 165 163 171 165 165 165 165 170 163 161 161 158 155 152 163 158 158 156 155 155 161 161 163 161 166 165 161 155 163 161 158 160 163 158 158 153 155 158 153 148 148 148 148 150 147 148 143 152 145 140 143 148 148 140 137 145 142 143 134 137 132 135 130 132 130 127 122 120 117 117 119 109 104 109 106 104 106 98 94 94 91 89 88 86 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85 89 89 91 96 91 101 102 102 111 109 112 112 119 114 122 124 120 125 120 130 137 130 135 143 138 143 142 145 143 145 143 143 145 148 140 142 147 153 152 161 163 160 168 170 168 160 165 163 171 178 173 176 166 170 173 174 179 176 183 166 178 173 184 176 186 186 174 189 187 186 191 187 184 192 196 189 183 196 191 192 187 191 201 201 194 189 192 194 192 187 191 199 194 199 202 197 196 194 212 201 202 205 197 204 197 202 202 199 202 212 205 205 204 204 196 183 186 196 197 194 204 191 204 204 207 202 197 199 205 204 205 205 201 204 207 202 204 199 201 189 199 197 194 192 187 183 179 174 183 179 176 168 173 174 165 165 161 165 173 160 163 168 161 165 165 158 158 163 160 161 156 153 158 155 155 158 160 156 161 163 166 163 168 165 161 161 163 168 165 158 163 158 158 153 155 155 158 156 152 152 150 155 143 147 147 143 140 145 150 138 135 150 138 143 142 138 135 130 138 122 130 129 127 120 124 116 116 112 106 109 109 104 102 101 102 94 96 93 94 85 86 85 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 89 85 93 96 98 101 104 109 106 109 117 125 117 122 119 124 127 125 132 132 138 132 140 138 137 147 142 150 140 150 148 150 145 147 145 148 155 147 156 155 160 161 158 166 171 170 170 173 174 179 174 174 176 174 176 174 174 171 181 181 181 189 186 171 181 179 183 187 189 187 187 183 192 179 186 186 191 191 183 192 191 192 199 197 194 192 197 196 191 192 192 196 192 194 205 202 199 201 196 205 202 197 202 204 205 207 210 196 204 207 205 202 202 201 197 192 186 187 197 191 207 196 204 205 197 202 209 192 202 205 202 202 205 207 192 201 194 196 199 199 199 194 186 189 179 191 183 176 183 179 174 171 173 174 161 161 165 166 173 160 163 174 163 166 170 163 170 163 160 156 158 158 168 155 160 165 166 165 165 165 168 165 166 160 161 160 156 160 161 158 161 165 155 161 156 148 148 150 150 153 152 152 145 147 148 150 147 147 147 145 143 145 145 142 145 137 137 137 132 134 129 127 122 122 117 116 114 116 106 112 107 101 104 101 94 94 98 93 91 85 89 89 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 86 85 86 89 96 96 101 94 102 111 106 109 112 117 119 125 124 125 130 129 130 134 132 134 137 137 140 138 140 153 140 143 142 143 155 152 148 150 153 156 160 156 166 160 170 173 166 176 168 174 176 171 179 174 174 176 184 173 181 183 181 181 187 192 184 176 179 186 178 184 186 191 186 184 187 178 183 189 189 179 191 186 184 186 194 186 189 189 192 187 192 199 201 199 201 201 191 197 199 201 204 210 205 199 207 210 201 205 205 207 209 209 201 207 201 207 192 187 191 189 194 194 201 196 204 207 202 199 201 197 209 199 205 205 202 207 199 207 205 207 191 201 205 197 187 199 189 191 189 189 184 181 179 178 174 170 166 166 168 168 166 166 165 165 166 163 168 163 165 168 158 161 158 158 161 166 163 170 161 166 165 166 168 166 160 168 166 173 166 161 170 161 161 158 163 158 158 158 150 160 153 156 158 145 150 150 147 152 153 145 143 142 143 147 143 147 135 138 137 140 129 134 134 137 127 120 119 124 119 111 114 109 109 104 104 101 101 94 98 99 96 89 89 85 88 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 83 91 89 89 93 88 96 99 101 109 107 112 112 117 114 127 130 129 129 130 135 130 135 137 134 137 147 140 148 148 145 147 145 143 142 147 152 150 150 156 161 160 166 161 170 173 171 173 184 173 178 181 176 178 186 181 181 179 181 181 186 189 189 184 183 186 184 179 189 184 184 184 191 184 183 186 187 186 187 187 191 186 186 187 184 191 194 191 201 191 192 196 201 192 196 197 201 196 197 196 201 205 207 214 212 212 214 210 204 212 207 201 202 197 205 204 194 191 178 184 192 194 201 197 202 207 199 205 207 209 204 202 210 201 205 199 204 199 196 205 204 194 197 204 189 192 192 191 187 181 181 184 181 174 173 176 166 166 165 165 174 163 163 160 165 168 165 165 161 166 168 155 160 168 158 168 166 170 168 168 171 161 161 174 168 165 165 163 168 165 168 166 158 161 156 158 158 158 161 161 156 152 156 156 153 160 150 152 148 148 145 150 147 145 138 142 140 138 134 137 129 130 125 127 125 125 114 119 116 112 116 112 111 104 99 101 99 104 94 101 93 91 91 88 85 88 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 86 86 88 85 94 93 91 94 98 101 102 111 111 111 114 117 120 130 125 124 127 132 132 138 135 135 142 137 147 150 140 155 142 150 148 152 145 155 152 165 156 165 166 163 161 168 165 178 170 178 184 179 181 181 183 186 179 176 178 184 194 184 186 191 179 187 181 192 181 184 189 184 189 184 183 187 183 184 186 194 192 192 191 196 196 189 191 196 184 196 186 191 202 191 194 194 194 186 192 202 194 194 197 205 204 197 202 210 199 210 212 209 207 201 209 202 204 197 192 189 192 191 184 194 192 202 207 202 214 205 201 210 204 210 210 197 201 209 201 205 204 197 202 197 196 192 201 186 191 187 192 196 184 178 181 179 178 170 165 168 179 166 171 160 170 156 168 161 166 170 160 165 168 163 168 165 173 168 166 174 170 168 173 168 171 168 161 170 173 163 171 173 160 163 161 165 163 158 156 163 158 160 155 161 158 156 155 153 155 155 145 148 147 142 148 150 137 142 145 134 137 137 130 130 127 122 122 117 119 112 116 112 114 112 101 102 104 104 102 99 99 96 89 96 88 86 89 88 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 86 88 86 89 91 93 93 96 101 104 109 109 112 112 117 117 122 125 127 130 132 127 134 135 142 143 142 143 142 145 148 150 147 156 150 148 156 158 155 155 155 158 163 170 163 174 173 170 174 173 171 173 186 189 181 184 187 184 196 184 187 186 183 187 191 183 186 184 187 184 194 194 181 186 187 189 192 186 199 189 199 197 196 187 201 197 201 202 201 197 197 197 199 205 194 197 199 189 199 201 197 205 207 199 199 202 210 212 205 212 205 197 209 209 204 212 201 201 201 196 189 196 184 189 192 196 197 205 201 192 205 201 214 197 205 210 201 202 202 204 196 202 201 201 201 191 199 194 187 184 194 189 181 189 179 179 179 173 166 174 170 166 166 158 158 161 163 163 174 155 170 158 170 160 171 173 171 173 171 170 173 168 166 178 174 170 174 168 168 168 176 171 168 170 163 163 160 161 163 163 160 153 155 163 163 161 156 152 153 156 147 145 152 147 145 150 147 147 138 137 143 135 132 127 125 125 124 116 116 112 112 112 107 107 111 104 101 99 104 104 98 96 94 94 89 89 88 85 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 0 85 86 85 89 86 88 91 96 99 96 107 109 114 116 109 122 124 122 127 125 129 137 137 135 137 138 138 148 145 147 152 150 158 155 156 155 153 153 150 155 165 165 166 168 170 173 173 179 179 176 181 186 178 186 186 187 192 187 187 186 187 192 191 192 196 187 184 186 189 191 187 199 187 189 184 189 191 192 196 186 192 192 194 199 197 196 194 199 189 199 196 204 204 199 197 194 202 194 207 205 209 207 209 209 214 204 217 199 207 210 212 217 202 209 205 202 205 204 199 202 187 186 196 191 192 191 194 196 201 205 204 210 205 209 210 204 199 207 201 204 199 199 199 202 196 196 201 202 187 192 186 192 187 183 184 178 179 179 178 174 173 163 168 161 166 166 170 163 170 165 168 163 174 173 171 176 174 176 171 170 171 168 166 174 173 174 179 179 174 176 174 173 174 166 168 165 160 163 156 161 150 161 153 161 158 158 153 155 156 153 156 155 152 147 152 148 145 156 145 137 142 135 135 132 125 125 125 122 117 112 117 111 111 106 109 106 107 109 107 104 101 98 98 96 96 91 88 83 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 86 86 86 91 94 88 86 0 93 91 101 98 107 106 109 114 111 116 120 122 130 130 134 132 130 142 142 143 142 148 150 153 152 153 153 153 152 147 156 156 153 158 160 163 168 165 166 173 170 179 174 174 178 174 181 186 186 189 178 183 181 192 189 181 191 187 196 187 186 191 191 187 186 189 192 192 186 186 192 189 191 189 194 189 197 196 192 192 199 196 199 201 202 192 199 197 196 201 199 199 204 199 201 201 199 192 207 214 214 210 214 204 210 207 204 212 212 202 202 205 201 192 204 192 189 181 199 194 194 191 199 199 202 197 199 196 199 196 205 202 201 204 204 199 202 202 204 204 196 192 194 191 189 191 187 189 183 181 183 173 173 173 170 173 168 163 161 166 161 166 170 165 165 166 171 165 176 173 174 176 176 168 166 163 176 170 168 170 173 174 174 176 173 171 173 168 168 170 160 158 165 161 161 152 160 160 156 156 156 155 156 152 153 147 147 152 147 153 148 135 140 138 142 135 134 134 130 132 130 122 127 114 114 111 109 112 106 106 109 106 107 99 99 98 94 98 93 88 89 89 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 91 88 93 93 86 88 91 93 98 99 109 107 109 111 111 117 124 122 120 127 134 137 143 142 140 145 145 138 150 153 152 153 150 148 150 155 148 150 153 158 160 165 170 173 171 183 168 168 181 178 184 183 179 186 191 183 187 187 181 187 194 191 191 186 194 196 186 192 201 187 189 189 196 194 192 194 204 191 196 189 186 197 197 199 197 202 192 196 191 196 196 199 201 196 201 194 194 199 197 201 194 202 202 204 209 210 201 201 204 207 212 215 204 205 212 204 212 205 209 201 197 201 191 197 192 199 192 202 194 205 192 202 207 205 204 204 210 204 209 201 201 207 205 205 199 207 196 194 194 189 191 191 191 183 181 179 179 178 174 174 173 166 166 163 163 163 168 168 163 165 178 166 166 168 170 178 174 168 166 161 173 168 163 170 168 174 173 178 176 173 183 176 168 176 170 166 158 166 160 161 166 158 166 158 156 163 158 160 152 152 155 156 153 148 152 148 153 143 142 143 137 132 135 129 127 127 132 124 116 119 119 112 112 109 112 111 111 107 106 102 101 94 98 96 99 98 88 86 88 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 91 88 91 88 91 93 89 94 96 99 106 109 102 111 116 117 116 127 130 127 135 129 130 142 142 142 140 140 147 148 147 152 150 153 156 160 153 158 153 152 160 161 165 166 170 181 178 174 174 179 178 181 189 192 191 191 191 186 187 191 189 184 187 196 192 186 192 197 187 186 201 196 196 196 184 194 189 194 202 201 192 191 187 192 192 194 196 199 197 202 201 196 202 199 196 197 196 205 199 197 202 207 201 202 199 196 205 209 204 201 204 210 201 212 217 204 209 205 204 197 205 202 192 204 194 191 192 194 184 191 201 197 199 197 199 201 197 204 214 199 202 210 207 202 204 207 199 205 196 194 196 194 191 186 183 187 179 183 174 178 176 171 166 171 165 161 170 165 165 168 174 174 171 168 168 173 174 173 166 173 174 171 171 171 176 183 181 179 179 174 179 166 171 165 160 165 171 165 165 165 161 160 165 165 166 165 165 160 156 158 152 148 156 148 155 148 147 150 147 142 140 142 142 130 129 130 129 127 124 119 124 122 114 116 112 114 111 102 111 109 106 101 99 98 98 98 91 88 91 91 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 94 89 93 93 89 93 94 91 96 102 106 106 107 107 119 109 124 119 125 129 132 132 129 137 138 142 145 142 150 152 147 145 145 155 158 155 155 150 150 153 158 166 160 171 168 176 174 187 176 189 187 179 187 187 184 189 189 186 201 189 196 186 191 196 192 199 196 192 199 187 197 194 189 199 192 191 202 191 204 199 192 194 199 204 192 197 199 192 197 197 199 202 204 202 205 196 202 209 199 201 196 204 205 207 204 201 207 201 205 204 215 205 207 205 207 212 207 205 197 204 199 196 202 199 199 187 196 192 187 196 201 201 196 201 197 201 199 210 201 207 207 205 204 201 205 207 209 199 201 202 191 189 189 196 187 189 186 189 186 181 173 178 171 160 170 161 170 166 166 170 173 166 173 171 166 163 173 166 170 171 166 171 173 178 178 179 184 184 174 173 179 176 174 170 168 168 160 173 163 166 168 166 165 168 166 160 160 161 153 156 153 156 153 156 147 148 152 148 145 145 143 142 140 134 135 138 134 127 120 122 119 122 114 117 114 114 109 114 107 112 107 104 101 101 94 98 96 91 88 91 89 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 89 89 85 94 94 94 93 94 99 101 101 106 107 107 112 117 119 120 122 129 127 135 135 137 138 134 150 147 148 148 147 147 153 153 142 147 147 140 150 155 153 150 160 163 168 171 168 178 178 179 178 187 184 181 189 186 192 202 192 197 197 199 194 187 196 196 196 199 201 199 189 202 202 199 201 189 202 199 199 191 189 192 202 205 192 189 192 197 194 205 197 194 201 201 194 201 205 197 201 204 204 207 199 201 202 201 204 215 204 207 202 196 204 196 207 202 209 209 210 199 207 202 202 192 202 209 196 201 189 201 192 199 191 194 196 202 191 202 202 207 207 204 210 207 205 201 202 205 202 192 197 191 192 192 191 187 184 189 183 181 183 171 173 174 170 161 168 168 168 165 176 176 171 178 168 174 176 176 174 168 171 171 173 174 171 176 171 174 186 179 174 178 176 166 181 170 170 178 161 166 166 170 163 170 160 166 165 166 155 153 163 158 153 152 155 155 155 148 150 148 142 147 145 143 134 140 130 127 129 130 125 120 124 116 116 112 117 116 116 111 106 106 102 98 101 91 99 91 89 91 91 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 83 83 85 88 88 88 91 91 94 99 98 99 101 102 111 107 109 111 112 117 119 124 124 142 132 135 143 140 140 143 145 143 145 150 150 147 158 156 153 148 147 148 148 152 152 158 158 168 174 176 176 179 183 189 183 183 186 187 192 194 184 194 197 199 191 192 189 199 204 197 201 189 197 197 197 191 201 196 201 204 194 201 196 199 194 187 205 194 194 201 197 201 197 201 194 202 199 197 197 201 205 202 202 199 210 202 205 212 207 217 205 210 214 202 205 209 207 207 209 199 212 204 204 199 202 199 194 207 194 199 192 189 202 201 201 196 187 201 194 189 204 207 212 199 194 201 210 205 207 210 207 201 210 191 192 191 192 191 187 184 187 187 176 183 178 178 173 171 171 173 168 173 173 171 168 174 171 170 168 174 170 179 178 173 178 179 176 178 174 179 178 184 181 179 184 173 171 174 173 161 168 163 165 171 170 165 165 168 165 165 160 161 156 155 156 160 155 156 150 148 153 153 147 147 143 140 143 137 132 142 130 132 127 127 124 125 119 116 116 117 114 112 104 107 102 107 107 101 99 101 96 91 86 89 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 88 88 86 89 91 94 96 94 96 94 99 102 101 107 106 111 112 112 119 125 124 124 137 134 129 127 135 138 140 140 147 142 145 143 152 150 156 156 148 153 155 152 150 145 153 156 158 160 171 166 179 179 183 184 179 194 187 187 191 196 196 187 197 204 194 194 199 204 192 202 204 202 197 202 197 192 204 197 197 196 202 192 210 197 194 199 199 202 194 199 192 191 201 197 199 194 197 197 205 207 201 207 209 194 204 209 202 197 201 207 207 199 204 197 212 199 196 189 202 209 207 204 204 209 201 199 197 199 202 189 194 192 199 196 196 196 189 199 194 194 196 204 205 199 201 210 202 197 197 205 204 191 197 201 187 192 191 186 186 183 189 186 186 179 179 174 174 165 168 170 170 173 166 181 184 173 174 171 179 174 179 168 174 171 176 173 174 179 173 174 176 179 178 176 170 171 174 174 171 168 166 168 165 171 171 168 163 163 174 165 166 166 158 163 160 155 160 161 152 150 150 148 150 143 142 142 143 137 138 132 132 129 122 129 125 122 125 125 109 120 116 112 106 102 106 101 101 99 96 98 93 94 93 93 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 91 89 96 91 99 94 98 96 102 102 102 114 106 107 112 114 119 120 122 119 127 129 129 135 137 134 137 142 135 140 150 152 152 145 155 145 153 156 156 153 155 150 155 153 156 158 161 163 165 176 183 178 184 179 187 187 191 194 194 192 201 201 197 199 199 194 201 202 201 197 201 207 197 199 201 204 205 207 205 204 204 194 196 202 204 199 202 199 204 196 204 196 199 199 192 196 197 202 205 210 207 202 209 194 202 209 210 204 199 207 205 205 204 205 204 197 199 204 196 204 199 202 205 202 207 207 199 194 194 194 204 196 197 186 194 191 187 194 187 205 204 201 201 204 204 207 204 201 207 201 204 205 192 199 187 197 189 189 187 183 178 183 186 179 183 171 165 171 170 173 166 176 173 178 176 178 181 171 174 173 181 170 166 173 173 171 171 178 173 174 171 176 171 178 176 166 173 171 173 170 163 173 166 166 168 168 165 171 163 165 166 158 161 155 155 161 153 153 153 148 147 145 143 138 142 142 137 142 138 135 137 127 129 125 124 122 120 119 117 117 116 112 112 109 107 98 102 98 98 91 96 89 86 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 88 86 89 91 91 91 91 96 101 99 104 99 102 107 107 112 114 112 119 117 122 124 132 132 125 132 137 138 142 135 147 140 147 155 153 150 158 161 148 160 155 153 153 155 156 158 160 156 174 161 165 165 171 176 179 181 196 187 196 189 186 187 196 196 192 199 201 192 199 201 199 197 199 197 201 202 194 202 201 199 194 199 199 201 194 201 194 204 197 202 197 192 204 197 202 197 201 204 201 205 204 202 212 207 204 205 205 202 197 204 214 212 192 204 204 197 201 205 201 201 204 205 204 209 209 210 202 197 204 207 205 197 201 197 196 192 187 196 192 194 192 201 199 196 205 204 204 210 201 215 202 201 201 199 202 202 189 191 192 179 181 186 183 183 184 186 181 183 170 168 179 176 166 174 171 174 174 181 181 176 168 173 179 174 173 171 173 174 171 176 176 178 178 174 181 176 165 165 170 165 171 170 171 166 170 165 171 170 163 163 168 168 165 158 161 161 158 156 153 150 150 148 145 150 148 143 143 142 140 135 135 130 138 125 129 130 119 116 119 119 117 114 114 117 111 109 101 102 101 102 101 99 96 93 89 85 88 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 86 88 89 93 94 99 94 98 98 102 98 109 99 107 109 111 114 117 119 117 125 122 119 130 127 132 130 138 132 143 145 143 145 142 148 152 155 155 155 155 156 161 158 160 161 161 161 163 156 171 168 174 168 173 178 176 176 191 189 194 196 191 189 194 192 202 191 202 197 194 197 194 204 192 197 204 201 205 209 202 201 204 204 192 210 209 194 199 202 201 192 199 191 194 196 196 197 197 199 196 205 197 204 201 202 204 201 209 207 207 204 202 205 204 204 191 199 199 196 210 199 202 205 201 204 205 199 202 196 201 204 201 202 196 202 201 197 194 191 192 197 192 199 197 196 201 204 202 205 217 207 204 202 194 196 201 191 197 186 187 183 184 184 184 178 174 181 179 173 170 166 179 176 173 176 176 170 173 174 173 178 173 178 174 174 176 171 176 183 174 178 176 181 186 179 171 168 170 166 161 168 165 171 170 170 170 176 161 174 166 170 171 161 168 170 156 156 156 160 160 153 147 143 153 148 143 147 147 138 138 140 142 132 137 130 130 134 130 122 122 122 119 114 117 112 114 104 106 107 102 99 99 101 101 93 88 89 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 88 89 91 94 96 93 101 98 98 101 104 104 101 107 112 112 112 116 116 117 122 127 132 129 129 130 127 137 137 142 138 145 147 145 142 152 153 158 153 158 153 156 158 160 156 156 150 156 160 158 170 171 179 171 173 173 181 181 186 187 189 196 191 191 194 197 197 201 187 201 196 201 202 199 189 194 196 201 196 197 199 201 201 207 194 205 194 207 201 199 196 196 202 196 192 196 202 197 201 196 205 202 207 204 205 205 202 197 202 204 207 207 209 209 204 194 194 197 205 199 202 204 202 212 201 205 209 197 214 204 204 197 199 202 197 199 194 201 189 189 191 199 201 197 196 189 197 197 209 199 204 201 205 197 201 192 197 192 181 191 186 187 191 183 179 179 174 184 179 179 178 178 176 174 176 174 168 176 179 176 181 181 176 176 184 178 174 171 173 166 178 178 173 173 176 176 171 170 170 163 176 168 168 176 163 166 173 168 166 166 166 168 166 165 158 161 153 156 152 158 150 148 150 148 145 145 142 150 145 138 143 132 135 135 134 130 130 129 124 122 116 119 112 119 111 114 109 111 104 107 104 107 101 93 96 86 89 85 85 85 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 86 86 89 89 91 96 98 99 98 98 99 98 102 107 102 107 111 111 114 111 112 125 114 122 124 124 134 135 134 137 138 138 138 143 147 152 143 150 155 156 153 158 153 161 160 150 163 161 160 161 165 165 171 173 176 176 178 183 183 184 184 194 189 191 199 189 196 204 197 201 197 201 204 194 197 197 196 199 199 199 204 192 201 199 196 199 204 201 191 197 196 197 201 191 189 192 191 194 197 194 209 210 197 201 210 199 201 197 202 202 202 199 202 212 205 197 196 202 202 199 192 204 207 215 210 207 209 201 207 205 207 210 209 210 205 202 205 202 202 197 204 194 191 194 199 194 199 201 197 204 197 199 207 199 196 207 197 191 191 189 181 183 179 191 186 184 183 176 179 186 184 178 186 179 178 178 181 179 176 184 178 183 174 176 174 181 179 178 171 174 186 168 176 176 178 171 174 178 173 166 171 166 168 168 166 166 165 173 168 166 168 173 166 166 160 160 168 155 156 155 152 158 147 147 153 142 147 152 145 145 142 135 138 138 132 143 134 132 132 127 122 124 124 116 122 117 119 117 112 112 111 104 106 106 102 96 91 88 83 89 85 0 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 89 88 94 91 98 93 98 101 96 99 106 102 106 111 111 107 107 116 114 116 119 119 127 125 125 125 132 129 140 137 142 150 152 145 150 148 147 150 158 158 158 161 161 160 152 156 156 156 155 153 165 163 181 173 174 173 179 173 184 184 178 186 186 194 191 196 199 199 196 199 194 204 199 201 204 197 196 201 194 201 192 197 207 204 201 201 196 194 204 201 204 194 197 202 192 192 196 196 199 192 191 202 196 194 205 194 202 204 202 199 209 205 205 199 205 197 199 191 199 192 192 205 196 204 209 207 204 202 201 210 214 209 205 204 199 202 204 197 197 204 192 201 204 196 196 197 191 197 191 196 202 202 201 194 191 189 191 192 189 192 184 189 181 179 179 191 184 181 179 174 170 181 183 171 184 173 174 174 178 187 184 183 186 174 165 174 176 187 171 189 174 181 178 178 176 176 174 174 170 161 163 166 166 170 170 170 170 166 171 168 171 174 170 160 163 158 160 158 155 156 147 152 143 148 147 143 140 142 142 143 142 138 145 137 137 132 132 130 127 125 120 125 122 117 125 117 116 116 116 107 107 107 104 99 93 96 93 89 91 83 89 83 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 83 86 93 93 93 98 96 94 99 102 99 104 101 107 99 111 111 120 111 112 112 117 119 124 120 132 130 129 130 137 137 135 145 140 142 153 147 152 148 150 156 158 165 156 156 163 156 158 160 153 158 163 171 170 170 184 183 178 192 183 189 186 191 183 189 191 197 184 189 192 192 192 197 194 202 196 207 201 192 207 197 204 201 192 199 197 204 196 205 196 202 194 194 205 194 194 199 196 199 202 196 199 191 196 196 196 204 199 207 194 210 205 201 207 207 207 202 201 196 196 194 192 202 202 205 207 204 210 207 210 209 209 204 201 205 201 202 207 199 196 197 199 197 201 201 191 192 194 201 196 202 194 201 207 196 196 199 192 202 191 191 189 183 186 174 179 187 178 187 186 178 178 173 178 178 174 178 183 186 183 181 186 189 184 183 184 181 183 174 179 184 183 186 174 174 184 176 171 179 168 170 168 171 178 165 170 170 168 171 173 171 171 171 176 170 168 171 160 158 155 155 150 153 145 145 142 150 153 147 145 138 142 140 145 143 148 142 135 130 132 130 125 124 124 120 117 117 117 116 116 117 111 109 104 101 101 107 101 94 93 85 85 93 89 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0 91 93 91 94 88 98 96 101 99 104 106 106 109 107 107 107 107 116 116 117 119 117 124 124 132 124 137 137 130 142 140 147 147 145 147 150 148 148 153 155 156 155 161 165 153 161 152 150 155 156 160 166 176 178 168 179 176 189 186 184 187 189 184 189 187 187 187 191 194 194 196 199 205 197 201 209 205 197 199 202 197 205 201 201 204 196 194 201 201 194 204 197 197 199 197 196 194 192 194 186 191 196 201 197 196 202 202 209 204 194 205 201 199 207 205 204 202 201 204 199 207 199 197 204 202 207 204 205 210 210 210 212 207 210 201 202 194 209 205 204 201 194 187 199 196 194 192 192 197 196 189 194 204 201 197 197 191 196 191 186 187 179 181 178 178 173 186 179 191 184 173 176 181 176 184 183 179 181 186 181 187 189 196 194 186 187 176 183 184 181 181 181 179 179 173 178 179 166 174 174 171 160 165 168 165 171 166 170 163 168 171 170 176 161 163 165 163 155 156 155 150 147 147 142 148 147 147 143 143 142 143 142 147 142 138 138 137 137 130 130 130 127 132 119 120 124 114 119 122 114 112 111 111 104 99 98 96 96 91 89 88 85 91 89 88 85 0 0 83 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 88 88 91 94 93 96 94 96 99 99 104 104 107 107 106 109 109 107 109 119 112 117 114 125 117 124 135 129 134 137 137 137 142 140 142 145 150 150 155 152 153 156 156 155 158 165 155 158 161 156 156 161 168 166 168 176 174 179 184 184 192 183 191 191 189 194 189 192 184 186 181 196 196 191 202 197 199 207 199 202 199 205 196 197 192 199 197 197 205 191 205 202 196 189 197 191 192 196 192 197 192 187 197 196 189 194 189 201 202 196 205 192 202 201 201 214 202 199 210 207 204 194 199 201 207 207 209 202 217 217 207 210 212 212 215 202 212 207 207 204 196 201 196 199 187 194 186 189 199 192 189 187 199 191 196 194 201 192 194 201 201 192 189 178 179 178 173 183 183 176 189 183 183 186 184 189 181 186 191 187 194 187 186 179 186 184 181 178 187 178 186 176 187 186 178 186 178 176 178 181 176 176 168 173 170 170 174 166 171 170 165 170 168 171 163 171 171 165 160 163 158 152 155 147 140 143 148 142 145 145 148 143 145 140 140 148 145 138 138 140 134 130 134 132 129 122 130 129 119 117 125 112 114 112 114 109 104 101 101 98 93 93 93 89 91 93 88 86 83 83 85 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 83 85 88 93 86 91 94 93 96 101 104 101 106 104 106 112 109 104 109 112 116 120 119 125 125 129 130 127 134 137 132 137 143 143 142 147 152 147 150 153 155 160 160 153 150 152 147 158 153 158 150 160 168 166 173 176 174 174 179 186 187 194 187 189 187 189 199 196 194 189 197 189 194 189 192 199 199 210 205 197 204 199 204 204 192 207 196 201 196 201 201 197 196 197 201 202 196 192 187 191 194 191 199 199 201 204 202 196 207 197 199 197 205 197 199 204 201 207 202 201 202 199 202 204 196 202 205 201 212 202 205 204 212 209 214 212 215 214 212 210 210 202 199 202 197 187 199 199 191 189 189 192 189 194 199 194 192 189 192 196 191 196 186 187 183 183 181 179 181 184 178 181 189 189 187 184 189 191 189 189 192 183 186 187 196 192 192 189 191 176 189 184 189 189 178 189 189 183 189 184 186 178 178 176 166 176 168 171 163 163 163 173 170 171 166 163 170 160 153 165 161 155 152 145 147 145 153 153 145 147 150 147 145 156 150 150 148 138 145 142 145 137 135 129 127 124 132 127 119 120 122 122 120 111 111 114 109 109 106 99 99 99 98 94 98 89 89 89 88 0 83 83 86 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 88 83 89 88 91 91 93 101 101 101 101 104 107 109 107 106 106 112 109 107 117 116 119 119 124 120 127 132 134 130 132 140 137 140 145 142 147 156 160 153 155 155 155 152 153 160 155 155 158 156 163 155 158 170 176 179 181 181 179 181 186 187 187 183 189 197 194 189 199 189 194 197 194 197 197 202 196 199 199 201 196 204 202 207 202 199 202 199 197 202 199 194 201 197 192 199 196 196 194 192 191 199 196 196 197 202 210 201 196 194 209 201 204 201 197 201 197 207 207 209 204 207 202 207 199 204 199 205 199 214 215 210 214 215 205 214 215 219 205 207 205 207 210 196 204 197 196 204 196 196 189 187 191 194 191 196 191 196 191 191 187 189 186 179 189 184 184 178 176 181 183 181 194 186 181 179 189 184 184 197 184 196 196 197 194 196 189 183 184 183 187 189 189 189 192 189 187 192 184 186 181 183 181 178 170 173 163 174 165 165 168 166 170 166 171 166 168 171 168 161 158 161 158 155 150 152 150 145 148 145 152 155 147 155 150 148 145 147 142 147 138 135 140 135 135 135 129 125 127 125 122 125 122 116 114 111 109 107 107 102 101 93 101 96 94 89 96 98 83 85 83 0 0 83 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 83 86 89 93 93 94 98 99 102 104 111 106 107 114 109 117 111 112 111 111 114 120 122 127 124 129 125 130 135 137 135 143 138 140 138 148 148 152 153 147 153 148 148 155 148 161 156 153 156 156 156 158 168 173 173 171 176 186 179 184 186 187 186 186 191 191 187 199 194 196 199 194 196 189 187 199 189 192 196 199 202 194 202 197 199 196 199 201 192 197 202 201 187 201 187 194 192 197 189 194 196 202 201 204 196 197 204 204 205 204 202 196 204 205 201 202 201 210 205 205 192 204 204 194 210 197 210 210 210 214 202 219 217 207 207 210 207 217 210 205 199 199 205 209 209 199 192 196 191 194 189 191 199 187 194 187 184 191 189 186 186 189 178 184 176 186 176 187 179 186 181 181 181 186 189 187 189 192 191 184 189 191 192 187 196 187 189 186 189 186 187 187 178 189 186 179 186 191 181 179 178 181 170 170 165 174 168 170 168 176 168 173 170 163 170 165 161 165 166 163 156 156 152 152 153 147 152 150 155 158 153 152 150 150 147 153 155 138 142 145 140 135 142 137 135 132 127 125 124 124 116 117 116 114 114 109 112 104 104 107 99 101 99 98 96 91 91 88 85 88 83 86 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 89 88 89 94 98 96 98 101 106 104 109 114 116 111 112 119 112 112 114 119 116 124 120 127 124 127 130 127 132 134 137 134 138 140 148 145 145 152 152 152 150 143 155 155 152 147 155 152 163 158 165 166 168 171 178 183 178 183 184 187 186 187 186 191 194 194 196 196 194 204 192 205 205 202 192 192 191 199 197 194 194 199 201 204 202 199 207 194 194 194 192 194 202 197 197 197 191 196 194 202 191 199 197 196 202 205 202 204 202 205 204 201 207 210 202 209 212 209 207 199 204 199 199 196 201 202 204 207 209 205 214 214 204 202 214 215 214 212 212 209 215 214 209 207 204 204 196 201 197 194 187 186 189 187 186 186 187 186 179 184 179 184 179 179 181 181 173 184 179 186 191 179 192 191 196 189 199 196 187 192 194 196 189 194 201 186 186 186 186 186 184 189 187 186 184 181 181 183 176 179 183 181 179 173 166 174 170 171 174 168 166 161 168 170 170 161 171 166 170 170 165 161 160 155 160 152 156 156 150 153 150 150 150 150 150 153 150 145 147 145 138 138 140 138 140 134 125 129 125 125 124 119 120 117 104 114 116 109 104 106 101 101 93 99 94 91 94 86 86 85 88 0 0 83 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 89 93 89 98 96 104 96 102 109 111 112 111 116 117 116 120 117 119 117 119 127 132 122 125 125 124 130 137 129 130 138 135 145 153 142 152 143 150 140 145 155 143 148 152 153 148 155 153 163 155 161 160 168 170 173 178 181 191 186 183 187 184 186 187 189 201 199 196 197 201 196 196 196 197 197 189 196 196 197 189 186 194 194 197 194 201 201 196 199 197 191 204 197 196 191 202 192 201 196 191 192 191 196 199 212 207 201 209 201 205 212 205 209 201 207 202 209 199 205 205 214 209 205 199 196 192 205 201 209 196 209 219 215 209 214 215 207 209 202 202 205 204 207 204 197 214 196 207 189 191 187 184 189 189 187 179 192 183 186 186 181 183 179 170 184 173 178 183 181 181 184 189 186 187 197 192 192 187 192 194 196 191 199 191 201 191 194 184 184 181 187 183 189 186 186 181 191 179 181 184 183 186 170 174 183 173 173 171 170 178 176 170 171 171 173 165 171 171 170 168 161 165 152 160 148 153 150 158 153 155 155 158 153 152 150 143 148 145 147 143 138 142 145 142 143 135 132 129 134 124 122 114 111 117 112 111 109 107 109 109 99 99 96 96 101 94 89 93 91 85 88 85 83 86 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 91 91 98 99 101 102 102 107 114 112 116 116 116 112 116 122 119 119 125 124 120 127 129 129 125 129 130 132 134 135 134 132 138 140 134 138 147 143 147 147 140 153 147 152 153 147 152 158 165 166 166 165 166 173 173 179 184 181 178 181 183 189 184 194 192 189 194 205 191 199 197 194 197 201 197 192 191 196 197 189 191 187 194 192 196 201 194 201 199 202 197 197 199 192 192 187 189 194 194 196 199 201 207 194 204 209 209 212 204 207 207 201 205 210 209 204 214 209 210 207 204 207 205 197 207 201 201 204 205 199 210 205 209 205 210 209 205 209 201 199 199 209 204 197 199 204 205 194 187 189 191 184 192 184 183 187 183 183 181 181 181 176 178 174 171 166 176 183 178 186 189 186 187 186 189 197 194 194 192 196 197 191 197 201 192 189 197 186 192 184 176 186 187 192 189 186 189 183 179 183 179 179 173 176 178 179 183 176 174 173 170 171 181 174 176 176 168 176 171 171 168 158 161 156 158 156 160 155 153 156 150 153 150 155 156 155 148 152 145 145 147 148 145 138 140 134 135 134 132 127 129 124 120 122 117 112 109 116 114 109 104 104 99 99 102 101 98 93 89 91 86 83 88 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 89 91 93 98 102 109 99 109 111 112 112 119 114 117 116 120 119 124 122 129 127 124 125 127 129 129 127 132 134 143 142 138 130 135 137 138 142 147 138 140 145 145 143 150 155 147 160 147 161 160 168 165 165 168 171 179 178 178 181 183 184 187 181 189 186 192 191 192 196 199 189 209 194 194 197 199 196 197 202 199 192 189 191 197 191 192 189 189 192 199 196 189 191 192 191 192 191 189 194 191 194 202 196 202 204 204 202 205 207 204 209 199 205 209 212 204 205 204 204 214 205 201 209 217 209 197 197 196 202 199 205 204 212 210 197 202 202 207 202 201 205 204 202 205 204 199 197 199 201 197 197 189 187 184 187 187 183 181 179 187 183 176 174 174 168 168 170 173 174 181 184 181 184 199 192 186 192 189 196 192 194 197 194 194 197 189 192 191 191 183 186 189 189 184 191 184 179 183 181 179 181 178 173 176 174 179 174 176 173 176 186 181 174 176 168 170 176 178 178 168 173 165 171 158 155 160 155 158 158 158 163 158 163 158 150 148 148 148 143 143 150 152 150 143 140 137 135 134 129 130 122 130 119 119 117 112 117 117 116 112 109 104 112 107 104 101 104 102 96 98 89 93 86 86 83 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 89 91 98 101 104 101 106 114 109 112 119 114 119 117 119 116 116 127 127 125 125 127 132 135 132 135 135 137 132 134 135 132 132 132 130 137 137 137 142 140 140 145 138 150 148 153 153 152 155 152 166 163 160 170 171 166 170 174 178 184 186 179 186 192 181 187 189 192 196 187 199 187 187 194 202 199 196 199 204 204 196 201 207 191 186 187 187 191 194 192 184 187 192 194 181 183 186 183 186 202 201 202 199 205 194 209 214 205 201 210 214 214 210 207 215 202 212 202 209 205 205 201 204 207 196 205 202 196 204 201 207 201 210 204 205 214 205 202 205 205 205 205 210 215 204 201 204 202 192 199 199 196 191 187 184 189 189 181 179 174 173 178 171 173 168 170 170 171 174 178 173 181 186 178 189 184 189 197 201 191 191 196 194 199 202 199 189 197 194 189 191 186 183 189 183 179 174 181 187 181 181 179 173 179 183 176 176 179 184 183 184 168 176 174 181 171 181 165 173 174 176 168 158 171 160 158 155 156 148 155 152 160 158 147 153 158 163 148 143 152 153 142 147 148 148 145 134 135 132 129 135 129 129 130 120 120 119 119 117 114 111 117 109 109 107 104 99 99 94 94 93 91 86 88 86 86 83 83 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 89 89 96 98 104 101 111 107 111 119 114 111 116 119 116 124 120 125 122 130 125 132 134 134 134 134 134 137 137 134 142 140 132 135 134 138 135 137 147 143 143 145 143 142 145 156 150 152 163 161 156 156 163 165 165 171 170 168 173 170 181 181 178 184 191 179 191 184 183 202 189 197 196 199 192 207 196 199 196 196 196 196 199 197 192 186 184 178 178 186 186 181 174 179 181 191 184 184 187 191 184 192 192 197 199 204 202 207 212 215 212 215 207 207 209 209 207 209 201 210 207 202 209 205 207 201 202 205 204 205 202 199 202 202 205 212 202 214 202 205 210 207 199 204 210 202 201 202 207 210 199 196 186 183 184 183 186 179 184 168 171 171 174 163 166 166 165 170 171 166 170 176 178 174 184 186 189 186 194 194 187 197 192 194 192 199 192 189 189 189 191 184 181 187 187 181 179 184 178 184 178 183 179 178 179 174 178 181 171 181 181 179 184 184 178 178 178 173 176 173 173 165 168 163 163 166 158 158 161 153 161 160 160 158 158 160 155 158 153 148 153 155 153 150 155 147 140 138 140 129 138 125 132 124 127 120 130 122 120 119 119 119 112 111 109 102 106 106 102 101 101 93 91 89 89 85 85 83 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 91 93 101 101 106 106 112 117 114 112 117 119 114 120 119 122 124 125 129 134 132 132 134 137 140 135 138 143 140 135 130 138 134 140 140 135 137 135 143 142 142 145 142 145 142 145 155 148 155 160 170 156 168 161 166 173 168 165 165 178 174 174 181 181 181 183 176 196 191 196 192 201 196 187 194 196 197 196 192 197 194 197 201 199 192 192 194 197 186 183 184 184 171 174 170 178 184 184 187 181 176 196 189 201 201 209 201 220 212 212 210 207 205 210 209 212 201 209 215 205 209 207 199 199 205 194 214 201 207 199 201 205 197 201 201 205 204 209 204 209 197 210 209 202 210 205 205 202 202 194 196 199 199 192 183 184 184 184 179 173 170 174 163 161 163 165 160 170 174 176 176 171 181 183 187 192 184 194 191 196 194 191 197 191 196 191 196 192 186 186 187 186 186 189 179 186 191 178 179 184 183 173 183 184 184 176 186 179 183 181 181 181 183 181 179 178 181 174 178 170 176 176 178 173 161 166 160 163 158 165 161 161 160 156 160 168 163 158 156 156 152 155 158 150 148 142 143 138 135 140 130 134 132 130 122 127 127 127 130 122 122 116 116 112 114 109 109 104 104 101 99 98 91 89 88 89 83 85 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 88 93 91 93 102 96 104 102 106 112 112 112 114 116 122 120 124 122 124 130 130 132 137 140 143 138 138 148 140 135 137 138 135 137 142 142 137 132 140 140 142 145 137 135 143 143 152 152 150 153 163 152 161 163 166 174 168 166 171 173 168 178 171 183 178 179 181 181 192 186 184 186 183 197 187 194 191 191 191 196 194 196 187 191 201 197 192 192 192 196 187 183 181 173 176 168 168 171 176 181 184 181 181 192 199 196 197 202 202 204 210 207 217 210 212 219 207 212 214 210 212 219 219 202 214 217 204 212 202 207 205 197 197 207 201 202 201 204 209 217 202 207 197 192 205 204 204 204 205 201 199 197 196 194 186 187 184 184 181 181 181 174 166 163 165 161 166 163 161 171 168 174 173 176 179 179 178 181 181 192 192 189 186 191 189 189 191 184 196 194 183 186 192 191 191 184 192 184 181 178 181 179 179 181 179 184 181 179 178 178 176 179 176 176 178 184 178 179 178 178 174 179 183 174 166 170 166 155 160 158 156 158 163 165 155 166 155 165 161 160 158 166 153 155 153 153 153 147 137 142 138 135 125 129 130 127 124 129 127 127 120 124 117 120 120 117 119 112 111 107 106 101 99 98 98 91 89 86 88 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 91 89 94 94 104 106 111 101 112 111 114 117 120 122 117 117 124 127 132 137 132 138 140 137 137 140 135 137 140 137 135 138 142 145 137 140 147 135 142 143 137 147 142 143 147 143 153 152 155 160 160 158 158 158 165 171 171 165 173 173 176 168 170 174 176 176 178 186 186 179 192 187 183 186 184 191 191 186 194 191 194 194 187 204 201 194 194 192 191 186 184 181 178 176 174 170 165 163 170 166 179 179 183 189 191 196 205 202 201 214 209 222 209 215 210 217 214 209 214 217 220 205 207 207 204 205 201 207 210 207 207 197 205 194 207 199 207 202 205 197 207 202 209 204 202 202 202 212 205 197 201 201 196 199 186 192 184 191 176 184 173 178 174 170 178 165 170 173 174 178 174 183 176 178 176 171 176 183 191 189 194 191 183 186 196 187 192 192 184 189 194 192 186 179 186 192 186 184 189 178 174 183 183 173 181 183 178 183 176 178 178 179 178 186 184 187 179 183 181 181 173 178 171 168 178 171 168 163 168 161 168 158 166 166 161 163 160 156 166 155 158 156 155 153 153 153 145 148 143 147 137 132 137 134 129 129 127 125 124 130 124 124 120 120 120 114 117 114 112 104 107 99 98 98 91 89 91 91 85 89 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 91 96 94 101 94 111 107 111 114 119 116 119 119 120 122 127 129 129 135 142 129 135 135 142 143 135 132 145 135 137 143 147 140 138 143 140 143 153 150 148 140 140 145 150 143 153 152 156 150 156 160 161 163 166 165 166 179 174 176 171 171 163 170 170 179 173 183 179 186 191 183 183 189 184 196 191 191 186 181 192 197 202 201 191 191 194 186 187 202 186 184 181 178 179 170 171 171 160 171 166 178 174 186 183 189 201 202 205 205 210 215 209 215 219 217 215 223 207 220 212 207 210 214 220 210 220 215 210 205 207 199 204 207 209 199 197 202 205 199 214 201 207 197 202 205 207 204 197 204 209 196 197 199 194 187 189 183 181 173 173 181 178 171 168 178 173 176 168 176 174 178 183 181 186 179 181 178 181 183 186 189 192 187 187 194 192 191 189 189 181 192 179 183 189 181 196 184 184 191 184 181 184 181 179 186 174 183 179 184 174 176 176 181 179 183 186 178 178 179 171 178 174 170 166 168 171 170 161 173 155 158 165 158 161 166 158 160 163 160 163 168 158 156 163 160 147 148 147 145 142 134 137 127 134 129 132 132 134 127 120 125 125 122 120 119 117 114 114 107 114 111 114 102 96 94 99 89 89 86 86 83 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 88 89 94 99 101 107 107 106 111 111 114 117 120 125 125 125 137 134 135 135 127 137 135 137 137 135 137 137 140 143 138 138 138 140 148 145 152 147 150 148 150 145 147 148 147 147 152 153 163 160 163 161 161 170 163 168 170 174 171 174 176 170 174 173 168 173 184 178 183 178 189 186 191 192 186 183 186 187 189 191 187 192 196 196 192 197 196 199 192 194 187 179 183 174 176 170 166 168 173 173 178 171 178 181 186 192 194 197 207 201 207 212 209 215 212 222 214 214 225 214 217 217 219 205 210 219 217 212 209 212 199 201 210 210 217 205 207 201 204 204 202 205 197 202 204 201 199 201 210 204 204 209 199 202 205 191 192 191 183 184 178 174 179 174 170 173 173 173 171 173 174 183 174 181 176 178 184 183 179 186 189 186 189 189 189 187 184 187 191 183 196 196 187 199 187 194 191 187 186 186 189 186 186 189 181 181 184 183 173 183 173 176 179 181 183 171 183 179 178 179 176 174 163 171 166 168 171 165 170 166 166 160 163 163 165 163 171 170 166 158 155 160 156 160 153 152 150 148 140 140 142 138 134 138 134 138 134 124 129 129 127 124 122 119 127 125 117 112 111 114 104 107 101 104 101 94 91 93 88 83 86 85 85 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 91 96 96 98 107 104 104 107 114 114 114 119 120 127 125 130 129 129 132 134 130 135 138 135 137 138 138 142 145 147 142 135 142 142 145 143 147 148 138 147 145 150 148 150 147 148 156 156 152 153 161 168 170 168 170 171 173 170 176 181 174 170 174 171 163 174 179 181 179 187 184 184 187 183 179 179 186 181 191 192 196 191 194 196 194 201 191 184 194 189 179 179 173 173 170 166 166 173 168 173 179 179 178 178 183 191 186 187 196 202 209 209 214 210 217 217 222 207 217 222 214 210 210 220 227 210 217 214 212 215 204 210 215 214 214 207 209 207 209 215 196 199 207 205 204 204 204 207 205 201 197 201 197 201 192 196 194 194 191 186 176 178 184 176 174 173 163 178 184 173 181 179 179 178 189 186 179 183 181 184 191 191 187 194 187 184 187 181 191 187 189 194 191 186 189 184 187 189 187 187 196 187 189 189 179 176 184 186 179 174 173 181 176 187 179 173 179 174 174 176 176 179 176 170 170 166 170 174 160 166 168 173 166 173 166 166 163 156 160 165 168 163 160 170 163 155 148 142 135 148 135 137 135 140 127 134 130 132 132 129 130 130 125 127 125 124 124 114 120 111 111 112 104 99 101 101 98 98 86 89 88 85 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 0 89 93 94 96 106 102 107 112 116 120 116 124 125 120 125 120 127 130 129 129 124 134 138 142 138 140 143 140 143 138 142 143 145 142 148 152 153 137 148 150 148 158 152 148 152 142 148 156 153 158 165 165 174 166 166 178 166 176 179 178 178 176 170 176 170 174 170 179 181 179 178 186 184 181 183 183 191 189 189 191 187 186 197 191 189 192 191 191 191 187 181 178 184 170 179 173 179 174 178 183 183 173 183 181 192 181 191 186 186 192 197 202 207 196 210 215 220 214 212 214 220 222 215 215 217 209 214 228 212 209 207 223 207 217 219 210 214 214 207 201 197 205 210 205 201 207 207 201 204 201 197 202 194 204 194 192 196 196 186 187 192 186 184 181 171 181 179 178 181 171 184 181 187 179 179 189 183 183 186 191 184 186 191 196 184 187 183 183 187 186 189 191 192 184 196 196 187 187 184 197 189 187 192 191 189 184 186 186 181 179 179 181 176 181 171 184 179 183 181 184 186 178 174 170 170 176 171 161 168 163 171 173 170 168 171 166 171 168 161 158 166 155 155 160 155 156 147 147 147 148 138 142 132 142 138 130 132 124 130 127 127 132 135 119 135 120 122 117 112 116 117 112 104 109 104 99 96 91 94 93 94 88 0 0 0 83 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 94 96 99 102 102 109 109 117 111 119 119 120 124 119 129 127 129 125 129 135 140 140 143 138 137 140 147 147 148 140 150 147 150 140 142 156 150 148 150 152 152 150 155 150 148 145 147 158 165 160 165 171 176 171 178 176 176 181 176 178 179 178 179 178 178 166 173 183 179 174 181 192 189 183 184 192 191 179 187 191 191 194 194 186 189 199 196 187 191 186 183 171 183 174 178 174 171 179 187 171 186 184 183 186 184 194 191 187 199 192 199 197 202 197 212 199 205 217 217 215 215 215 222 209 217 227 220 215 217 210 222 217 220 209 219 212 220 209 217 219 214 214 207 214 199 212 202 205 205 214 197 197 201 194 192 201 201 196 197 194 192 186 183 191 186 176 176 173 181 189 183 184 186 181 187 191 191 183 189 186 194 194 197 186 191 192 191 178 178 179 186 184 196 191 194 196 196 189 187 194 196 199 196 183 189 187 192 183 183 181 176 179 179 166 179 174 179 173 178 174 181 176 178 171 178 174 171 170 170 165 166 166 171 168 171 163 170 165 165 160 165 161 161 165 156 156 150 142 145 145 140 138 140 137 135 135 130 134 132 135 132 134 129 127 125 130 124 122 119 116 107 114 114 106 102 102 99 98 99 93 93 85 88 83 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 88 86 98 102 104 106 112 107 117 117 119 117 119 120 122 127 129 130 130 129 138 137 138 142 140 145 138 140 140 145 147 147 143 145 155 153 148 148 152 147 153 150 150 145 142 150 145 145 155 163 158 160 165 170 168 179 168 173 178 179 174 181 176 174 192 178 186 184 176 174 176 174 184 186 189 189 186 184 191 194 184 186 189 196 196 189 192 189 181 184 183 176 184 179 176 179 184 181 186 184 179 181 189 192 192 194 187 187 181 192 194 191 199 197 205 202 210 215 207 214 219 223 217 219 214 222 209 215 217 219 217 215 223 214 209 225 219 227 210 220 215 214 209 207 212 212 205 204 202 204 205 207 192 192 199 194 197 197 196 196 187 191 194 184 184 174 179 181 181 176 178 173 183 184 184 184 181 189 186 189 187 192 191 199 192 192 191 189 176 174 166 192 186 192 192 194 194 183 194 186 199 196 191 201 194 194 183 186 183 183 181 187 176 181 179 171 168 178 174 173 173 178 171 173 170 171 176 173 174 176 170 166 168 170 165 174 165 166 168 161 168 161 163 161 156 156 147 150 145 153 147 145 137 138 135 134 129 130 130 127 127 130 130 130 125 129 125 127 117 122 117 114 106 109 107 106 99 99 98 93 94 96 94 83 86 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 93 94 99 104 102 107 114 109 114 111 112 116 120 124 119 119 130 130 125 137 135 137 140 143 137 137 138 150 145 148 147 150 140 143 150 153 150 150 150 158 148 153 152 152 150 148 148 156 152 160 161 173 171 170 174 170 179 173 179 186 181 187 186 184 187 187 179 179 187 183 179 183 181 187 191 197 179 186 184 183 192 189 191 197 186 184 186 186 183 189 178 184 183 178 186 176 184 191 187 189 186 187 187 186 191 189 191 184 201 197 197 202 199 205 204 204 205 209 212 217 214 215 215 220 219 222 219 217 222 215 227 220 228 223 223 227 219 225 215 217 217 219 212 217 210 207 209 202 199 207 199 204 199 201 197 199 196 199 187 199 191 201 187 191 194 184 187 183 179 174 174 179 181 178 184 191 194 191 194 197 199 194 192 191 201 191 186 189 184 179 170 176 183 184 196 187 189 196 189 191 191 196 192 197 202 191 186 183 186 191 186 179 184 170 178 178 179 174 171 171 173 178 176 176 174 181 171 171 170 178 173 173 178 174 166 170 168 171 168 163 161 161 168 165 160 158 150 153 153 142 147 153 135 135 137 134 132 134 137 130 130 130 129 125 132 120 124 125 119 122 119 112 116 107 106 99 99 106 93 96 94 91 89 86 85 86 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 89 91 98 99 99 99 104 109 109 111 112 112 116 112 122 119 122 129 132 130 132 132 134 137 135 145 137 142 138 142 156 147 147 145 152 148 153 148 147 156 160 150 142 153 152 150 153 155 148 152 153 158 161 168 165 174 179 171 179 178 186 176 181 186 184 183 189 181 186 187 181 176 176 194 186 192 192 191 186 187 191 184 186 196 191 184 191 186 184 186 183 178 186 186 187 189 174 186 184 184 191 191 197 189 192 199 192 201 201 201 196 199 210 207 205 204 207 205 205 199 212 205 215 220 215 215 223 217 215 220 212 230 220 225 219 230 222 225 227 227 227 220 210 225 219 212 214 205 214 205 205 204 196 199 205 194 192 194 201 201 201 202 204 189 204 196 187 194 186 187 171 178 178 179 183 184 183 186 197 192 191 191 194 191 199 187 189 186 186 186 181 173 174 176 176 183 187 189 183 196 197 196 191 202 194 194 199 192 192 186 192 192 184 191 181 186 171 171 176 171 173 179 181 173 173 168 176 176 174 170 178 173 179 174 168 170 165 166 168 161 163 163 166 160 158 161 155 156 153 150 150 152 147 142 135 130 138 135 137 134 129 129 129 130 134 130 132 127 127 120 120 116 119 114 111 107 106 107 101 102 94 98 98 91 88 93 85 86 86 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 89 96 99 104 96 104 109 111 109 111 117 120 117 120 125 124 122 125 127 132 137 130 135 147 137 138 142 147 150 140 145 147 150 150 150 153 153 155 148 153 143 155 147 150 148 150 153 148 155 150 161 163 170 168 166 176 179 187 186 191 181 184 187 183 194 186 194 194 181 179 192 184 181 181 187 196 191 191 184 186 194 186 191 179 192 192 178 192 186 183 181 186 184 183 192 187 183 187 187 191 189 184 194 194 196 196 187 199 201 199 196 201 202 209 210 202 207 202 212 209 205 212 209 220 217 222 217 220 220 214 219 220 220 220 225 230 232 220 227 223 217 222 215 220 215 222 217 219 212 219 204 207 212 207 209 202 197 197 201 199 201 202 202 196 197 192 197 194 181 183 184 183 178 183 184 184 184 187 194 192 191 196 199 202 194 196 194 189 183 186 187 176 170 170 186 186 178 192 184 186 192 192 191 187 192 196 194 191 183 192 192 194 184 192 181 179 178 166 173 174 174 170 176 176 179 168 176 176 178 178 176 178 179 170 163 170 168 163 165 165 168 158 165 160 160 153 158 158 155 150 145 145 138 142 140 140 134 134 134 135 135 134 130 124 127 134 125 125 124 125 117 119 109 111 107 109 109 102 106 101 99 94 94 93 93 91 86 83 85 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 89 93 91 101 101 98 109 102 107 114 111 114 122 116 117 124 130 124 122 130 129 137 137 143 140 142 134 138 138 143 150 148 143 148 155 152 155 152 148 155 147 155 155 153 150 152 152 148 153 150 160 163 163 161 161 176 173 178 173 184 187 187 197 191 189 194 189 192 191 184 187 191 189 191 189 191 184 194 194 192 194 191 186 187 184 189 186 184 183 184 179 183 179 183 181 189 187 187 197 191 196 196 197 199 199 197 201 201 196 201 201 194 204 210 205 217 215 210 210 212 210 214 212 207 210 207 222 217 222 220 223 220 215 217 228 223 225 222 227 222 230 223 223 217 222 217 217 209 210 209 217 204 202 205 196 207 199 197 204 199 199 202 197 205 199 196 199 194 187 191 183 189 183 179 187 189 184 186 189 187 181 189 194 184 201 207 192 201 189 191 189 184 189 181 174 173 178 176 184 183 184 187 196 194 192 197 191 201 186 191 191 194 192 183 184 189 184 184 176 174 176 173 173 183 163 173 174 170 183 184 184 171 183 171 174 168 168 171 168 170 163 160 166 160 168 158 152 153 155 155 155 148 145 135 140 143 137 135 135 142 129 135 129 130 127 125 122 127 125 120 129 119 116 114 114 111 107 107 104 102 98 99 98 96 94 91 86 88 83 85 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 94 93 96 96 106 101 111 107 117 120 117 119 119 120 122 129 132 132 130 134 135 140 137 137 145 138 142 142 140 145 143 145 150 145 147 150 152 153 148 153 152 158 153 147 155 152 150 147 160 155 165 166 168 170 174 181 179 184 181 197 191 194 191 187 187 191 197 194 194 189 189 197 189 186 189 187 192 194 192 189 183 189 181 187 187 181 187 181 183 179 178 189 194 181 189 187 199 181 197 194 194 199 192 199 197 196 201 196 196 191 214 197 204 212 209 205 209 210 202 207 215 207 205 215 204 209 219 222 223 222 223 217 220 212 225 233 225 230 233 232 219 223 225 219 214 217 217 220 214 209 215 205 207 210 199 202 204 197 196 202 197 207 196 201 205 194 194 192 187 183 183 183 187 179 176 179 187 184 181 196 192 192 204 194 201 194 197 196 187 181 191 178 179 176 173 176 184 181 176 187 184 186 191 186 192 196 194 191 184 179 201 181 186 187 181 181 174 171 173 174 166 173 165 174 171 171 174 178 179 168 179 176 176 166 166 170 161 161 168 163 160 158 160 160 160 158 155 147 153 147 152 145 140 145 142 135 135 137 137 137 135 135 127 127 127 132 127 127 125 119 117 122 119 111 112 112 104 104 99 104 99 96 91 91 88 88 88 0 83 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 89 94 98 96 104 99 107 102 111 109 114 114 122 125 119 135 122 129 125 138 134 130 134 134 145 142 137 140 147 145 142 147 150 150 150 147 145 150 150 152 153 155 155 148 155 150 148 155 156 165 161 155 161 166 171 173 171 178 183 184 189 194 194 186 184 194 191 191 189 192 194 191 191 197 191 187 191 186 189 187 191 192 189 187 181 186 191 181 183 183 186 187 187 184 192 186 184 187 194 196 199 201 186 201 202 199 204 201 202 197 205 202 204 201 210 210 204 214 215 220 210 215 204 217 207 214 209 212 214 215 217 222 223 222 225 225 219 227 217 230 223 220 228 227 222 217 222 217 217 217 210 205 210 205 197 201 199 204 205 199 209 201 207 214 204 199 201 199 196 201 196 187 181 184 181 178 181 179 183 191 189 191 202 187 204 201 204 191 196 189 181 181 183 181 174 170 173 176 179 186 201 187 183 186 186 194 192 196 187 189 181 178 186 189 183 178 173 181 174 173 171 170 166 165 174 170 170 176 179 176 178 178 170 170 170 166 170 170 166 161 160 160 163 158 158 152 150 148 143 143 145 145 143 145 147 145 140 147 140 137 132 132 132 125 132 129 129 132 119 120 122 116 119 114 107 111 106 106 101 101 98 98 93 93 91 85 85 85 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 89 88 91 91 93 99 104 106 112 111 107 111 117 119 124 125 127 130 134 134 134 130 135 138 142 142 143 147 148 147 143 148 152 152 148 142 148 152 148 155 150 153 150 150 155 153 152 147 152 150 153 158 156 166 171 179 179 176 176 178 191 189 191 187 187 199 194 189 199 197 199 201 197 189 199 192 186 186 196 192 201 184 194 189 186 186 174 183 187 184 186 194 187 192 191 184 187 191 201 199 199 202 201 207 202 202 207 196 199 196 205 202 204 205 202 212 210 212 214 227 215 215 217 214 215 209 209 204 214 212 217 219 220 220 217 217 219 233 228 227 227 225 223 220 230 225 220 214 228 219 217 220 210 210 207 197 199 207 202 204 202 197 207 199 204 207 201 202 197 197 192 189 187 183 189 187 183 183 184 183 186 192 187 197 201 192 201 197 196 197 191 179 189 178 171 178 179 184 181 183 178 186 183 191 187 184 183 187 181 192 181 186 194 194 178 181 179 178 173 174 168 171 168 166 170 166 165 166 174 171 173 173 173 168 168 163 170 170 158 156 165 158 155 160 156 158 158 153 153 152 152 148 150 143 152 147 145 140 142 137 135 145 135 130 127 127 132 122 127 117 119 124 119 114 116 112 107 107 104 106 104 99 99 98 96 85 89 86 83 85 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 89 91 91 91 98 96 106 106 107 111 117 114 116 117 122 122 124 124 132 129 127 138 130 138 145 142 145 138 145 147 148 150 147 143 152 148 148 153 148 153 148 155 152 152 143 152 148 148 153 160 158 156 166 174 166 171 174 178 183 192 192 197 196 196 179 189 202 201 201 202 187 196 201 197 201 197 191 192 186 186 186 192 204 186 189 186 184 187 186 183 179 181 196 187 187 187 199 202 202 202 207 201 204 204 209 207 210 199 199 209 196 202 192 204 210 212 207 207 212 219 212 217 212 212 217 212 215 210 214 207 212 209 210 223 220 233 223 230 223 228 227 227 223 223 220 227 230 222 220 220 217 212 207 209 202 210 205 205 204 202 209 209 196 204 207 210 207 202 196 204 201 194 201 187 192 183 186 179 187 189 194 197 192 196 201 196 196 204 201 201 202 189 181 178 179 181 176 179 181 191 189 189 186 183 187 184 186 189 183 187 186 187 189 186 192 179 178 168 168 168 171 166 166 168 163 168 166 168 176 173 168 173 168 170 163 168 173 161 161 168 171 165 171 161 158 152 150 148 158 152 147 155 152 145 152 140 148 142 143 143 137 137 135 130 134 124 125 127 125 120 120 120 116 119 111 109 111 112 104 99 106 98 98 96 94 88 88 89 91 86 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 89 91 91 94 98 99 99 102 111 104 111 109 117 116 129 120 120 125 135 130 137 132 130 137 130 135 145 135 143 138 148 148 150 148 147 147 142 155 147 152 152 152 153 150 155 152 156 150 155 150 153 153 163 155 170 174 187 179 176 184 191 192 191 199 192 194 194 194 199 196 201 201 199 204 202 197 199 196 194 184 184 189 187 194 191 187 176 189 181 181 178 186 178 184 184 191 191 196 201 196 197 196 199 209 210 207 199 202 204 197 205 196 202 205 196 210 209 215 209 210 214 215 210 215 210 215 214 209 207 217 207 215 215 215 219 220 233 232 225 232 220 232 220 219 230 223 212 228 219 223 227 215 223 210 219 207 215 207 201 197 196 204 197 202 204 205 204 202 204 196 204 204 199 191 197 194 192 181 187 196 189 189 191 196 196 187 192 197 201 196 196 196 187 183 184 184 187 186 187 187 183 186 189 186 189 189 184 187 186 192 184 183 183 194 181 191 179 171 168 166 170 166 156 161 168 161 170 170 171 174 170 174 171 166 166 170 168 170 165 168 166 168 165 161 158 161 158 160 160 148 155 145 155 150 152 150 152 148 147 145 142 143 140 134 129 135 135 127 130 127 127 122 119 120 117 111 109 109 102 104 104 94 102 93 91 99 94 89 85 85 86 83 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 86 93 98 94 102 98 106 102 111 112 116 120 116 127 125 122 129 129 127 130 132 130 137 135 142 142 143 142 156 142 147 143 142 143 145 150 152 145 150 153 150 147 152 148 143 155 156 152 153 156 152 163 168 173 173 181 183 184 184 183 196 194 192 189 202 201 199 191 194 194 192 192 201 205 201 197 204 196 189 197 194 192 189 196 196 189 183 183 179 181 184 178 186 196 199 197 192 201 201 202 204 204 197 204 210 201 202 210 204 204 202 202 199 209 191 209 202 210 214 219 214 210 212 217 207 210 215 215 215 217 217 210 207 215 219 217 219 219 223 219 227 230 228 227 223 223 222 222 228 217 219 220 205 207 207 207 204 202 210 204 214 204 202 202 212 202 209 202 202 204 201 199 197 201 196 184 189 189 189 186 191 192 189 197 197 204 199 199 207 191 199 192 186 187 186 187 197 186 186 194 192 194 192 196 191 189 194 192 192 191 184 191 181 184 176 170 165 166 163 155 165 163 155 166 160 170 168 173 171 171 173 174 166 161 168 171 158 170 173 173 171 161 170 163 161 163 163 150 163 161 158 155 155 150 155 147 148 140 148 143 142 142 135 137 125 132 134 137 129 134 124 130 122 114 109 109 106 107 106 94 101 99 98 96 91 94 93 88 83 85 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 0 83 86 91 96 91 99 99 102 111 112 111 112 116 114 124 119 119 125 129 127 127 130 134 140 129 138 137 138 142 143 138 142 143 145 147 153 150 155 145 153 153 143 153 148 158 156 155 152 156 152 152 152 170 166 168 170 171 183 178 189 197 192 192 201 197 194 202 183 197 205 192 199 205 196 192 207 201 199 201 199 204 187 192 187 189 192 189 189 186 184 186 179 189 181 194 192 189 201 199 196 205 205 209 210 205 205 209 202 201 205 201 202 202 197 204 212 201 201 209 212 215 212 212 215 212 214 220 219 214 214 220 215 210 215 223 210 225 209 212 219 215 222 228 225 223 225 228 215 223 219 217 228 217 209 210 217 205 202 210 204 205 204 207 207 212 204 212 210 207 204 197 212 197 196 196 197 192 189 191 197 181 194 183 196 194 187 194 197 197 192 202 196 199 194 196 186 187 194 186 187 187 183 192 197 184 192 189 196 202 191 192 199 191 183 181 171 168 173 170 166 163 161 155 158 155 166 161 165 171 171 166 166 170 166 166 165 168 173 171 176 171 165 171 166 160 173 160 168 165 161 156 161 161 158 161 156 155 153 158 155 148 145 143 143 147 138 134 130 135 129 130 127 130 125 127 120 114 114 104 104 102 102 98 99 93 98 89 91 86 85 83 86 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 86 88 93 91 99 99 106 101 107 112 111 109 116 122 119 125 130 130 130 130 127 137 130 129 137 140 138 145 137 143 142 147 150 138 145 148 147 148 152 155 153 155 152 150 148 155 153 150 150 156 158 163 156 170 170 179 181 179 178 194 184 189 187 186 196 204 202 209 199 194 202 192 196 194 196 205 204 202 197 197 189 192 183 184 186 187 189 183 187 181 178 186 187 183 192 192 204 201 204 201 201 205 204 207 209 214 210 210 209 201 207 205 201 201 204 199 204 209 207 205 212 214 214 214 215 215 223 219 217 215 217 230 220 227 225 223 212 220 219 225 215 220 220 222 230 215 225 225 222 215 220 217 215 205 210 214 204 196 204 202 209 201 209 202 199 202 210 214 205 201 205 209 204 201 191 194 189 196 184 187 187 189 184 189 196 197 194 201 197 202 204 204 199 196 196 196 187 187 184 187 191 192 189 191 201 197 202 199 191 194 196 184 191 187 186 178 178 171 166 173 168 161 161 158 161 155 165 165 173 176 171 171 171 165 165 166 161 178 171 178 173 176 170 176 165 166 168 166 163 165 161 161 161 163 158 155 156 155 158 150 152 145 148 152 138 145 142 140 132 134 134 135 125 125 122 116 122 117 109 112 106 102 102 98 94 88 93 89 91 86 83 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 88 89 91 94 93 98 99 107 99 106 112 114 116 122 124 124 127 120 130 125 129 142 132 137 138 134 130 134 135 137 140 138 143 147 140 150 145 148 147 145 148 150 156 150 152 152 148 152 160 150 156 158 166 166 174 170 176 181 189 184 187 191 189 204 191 202 197 204 192 199 205 202 199 204 201 201 199 199 204 196 202 204 184 187 194 184 183 183 183 186 181 183 176 184 194 194 197 202 197 197 201 204 217 209 214 204 209 209 207 209 212 194 210 204 201 204 201 205 207 215 212 212 219 212 227 219 223 222 232 220 214 225 215 215 220 217 225 220 222 207 214 207 222 217 219 219 217 233 225 227 212 212 222 202 205 212 207 207 205 202 197 197 199 197 201 197 204 204 207 205 207 204 205 209 207 199 192 197 192 189 187 189 191 196 194 186 189 186 202 202 197 207 201 201 196 184 189 192 191 191 186 181 192 187 194 199 189 202 205 197 197 202 191 189 189 187 179 179 181 160 163 170 165 166 166 161 160 158 166 171 171 168 166 160 170 166 163 165 173 170 173 168 171 168 171 165 165 171 166 166 165 155 165 155 163 156 158 150 158 155 148 143 147 152 143 153 140 137 137 137 134 137 135 130 125 125 117 119 119 114 111 112 107 96 102 93 91 91 91 88 88 0 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 86 93 98 94 98 101 101 104 107 109 114 120 119 119 119 122 125 130 130 127 132 134 135 135 137 140 130 135 138 137 147 142 147 145 147 143 148 156 152 145 142 156 156 147 150 142 153 153 150 152 160 168 171 166 183 178 174 179 173 183 187 183 196 196 196 194 194 197 196 196 202 209 201 197 201 197 201 204 199 199 197 199 194 191 189 187 179 187 184 183 183 183 184 179 183 174 192 194 192 204 212 197 207 209 217 219 212 210 207 209 207 207 201 210 204 199 207 209 201 210 207 210 210 220 212 214 222 219 219 220 228 222 227 219 215 217 222 222 219 219 212 210 217 217 214 220 222 217 210 222 219 220 215 201 204 207 204 210 209 196 202 187 194 197 202 192 209 197 207 205 196 205 205 202 210 201 201 192 199 192 191 196 194 197 202 199 202 197 201 201 202 196 189 192 199 196 189 187 192 187 192 194 194 196 199 199 189 196 209 204 194 194 201 196 187 189 176 174 173 165 173 168 174 178 171 171 166 166 166 168 165 170 165 170 171 171 171 170 174 160 165 166 160 168 171 165 166 173 160 166 156 166 158 161 158 153 153 160 158 158 152 150 148 147 152 138 147 143 142 138 134 130 132 132 129 130 129 129 119 114 116 112 104 104 99 99 96 96 94 83 86 88 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 86 86 89 94 94 99 98 101 99 101 107 111 109 112 120 116 124 124 125 127 129 137 137 137 135 135 137 135 132 138 135 140 142 142 147 145 143 148 150 148 143 137 147 143 155 153 143 148 150 150 148 152 163 155 161 170 171 176 183 176 181 183 189 189 191 194 192 204 201 204 205 199 196 196 199 197 197 197 209 197 207 204 201 204 204 192 202 187 189 192 191 189 179 181 176 181 187 191 187 189 202 194 201 204 209 207 212 204 210 209 212 202 204 204 207 205 204 210 204 205 214 217 220 209 223 215 214 220 222 217 209 225 228 214 225 227 227 223 220 215 222 219 217 223 209 212 210 217 212 217 214 219 232 214 205 220 210 214 210 209 210 205 204 194 191 202 196 197 204 191 201 207 204 205 197 197 202 205 197 199 204 201 207 196 204 196 196 194 197 191 192 194 197 202 197 205 197 197 192 197 196 196 197 192 199 194 194 194 199 199 196 201 201 209 197 192 196 186 187 176 174 174 179 174 171 171 179 178 174 178 178 166 166 168 170 171 168 170 163 158 166 160 165 168 163 160 170 173 166 156 163 161 165 165 163 163 161 165 158 156 158 156 155 156 153 148 150 152 148 142 138 135 140 138 138 130 134 124 129 125 119 116 116 116 107 104 101 101 101 96 93 89 86 85 83 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 0 85 88 91 94 91 104 99 102 109 111 111 101 111 119 119 120 129 132 127 127 130 129 138 137 140 140 138 140 138 132 142 143 142 150 135 147 148 143 143 152 145 148 158 147 153 145 143 145 153 152 160 161 158 160 168 174 174 173 174 176 184 196 191 186 187 187 196 201 192 201 201 194 197 196 199 202 201 191 202 204 202 199 201 201 191 197 191 186 174 181 183 183 178 171 179 181 184 184 187 194 199 204 194 202 210 210 220 204 212 214 214 202 207 205 212 207 199 207 202 197 209 215 217 210 217 220 222 217 214 228 222 217 215 230 220 217 219 223 225 222 225 222 220 217 223 219 215 215 222 217 220 215 225 214 219 217 217 212 209 204 209 209 204 197 191 197 202 199 209 209 199 204 209 205 207 219 202 212 205 205 202 199 201 196 194 194 192 197 191 194 189 199 202 197 201 204 194 204 189 191 201 196 192 194 189 197 201 204 201 205 192 192 202 201 199 192 187 194 184 178 183 176 176 186 183 178 181 179 178 178 165 171 173 171 173 168 165 168 158 168 166 163 163 165 160 156 160 161 161 156 165 163 160 153 156 161 158 158 153 158 155 158 155 152 153 155 145 140 145 140 140 140 135 138 137 129 129 129 124 120 117 116 114 111 111 101 101 98 93 89 93 88 88 85 0 83 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 83 85 94 89 94 94 101 99 102 106 106 106 114 116 117 124 116 125 130 130 132 130 135 137 140 142 142 137 135 140 137 142 135 143 147 142 148 145 148 153 152 152 153 147 152 152 150 147 152 155 150 156 161 166 165 178 171 173 178 184 183 186 184 184 196 194 194 186 191 191 199 194 189 197 201 194 201 197 209 197 201 197 197 204 202 197 197 199 191 184 179 183 184 181 187 178 181 181 179 184 186 196 201 194 199 201 209 210 207 210 210 207 205 205 209 202 215 207 214 215 220 215 214 215 215 223 220 214 223 212 214 227 217 223 219 225 215 220 228 228 223 228 220 230 215 225 210 222 220 210 215 215 214 215 219 217 215 219 227 222 210 209 210 204 204 207 207 194 210 207 202 212 205 210 215 207 205 210 209 207 204 207 199 207 194 199 192 194 191 194 191 197 194 194 199 210 201 191 197 192 196 196 196 191 196 197 199 201 207 199 194 199 196 199 199 194 189 181 181 178 186 168 176 178 179 174 184 179 179 179 179 171 173 170 165 170 163 165 168 170 165 170 163 163 156 161 165 161 163 153 155 163 155 158 158 156 153 160 153 158 161 158 156 158 155 145 155 152 153 142 140 140 134 138 137 134 124 129 125 125 119 119 112 111 107 104 102 99 98 96 88 94 91 88 85 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 91 88 91 88 93 96 102 104 111 107 112 117 111 114 119 120 130 127 129 125 127 134 129 134 140 137 140 138 138 143 140 145 147 138 140 147 152 147 138 142 153 147 148 152 158 148 147 150 150 150 148 166 160 168 165 173 176 173 178 189 183 191 181 189 194 194 186 189 201 196 201 192 196 199 196 191 197 199 201 196 204 199 204 205 194 199 196 201 192 187 176 189 181 181 183 181 171 176 186 187 186 189 189 196 202 201 204 205 205 204 204 205 202 204 212 214 214 207 215 210 210 214 215 215 220 215 215 220 220 220 223 220 223 223 225 230 225 230 219 237 235 235 227 217 237 223 222 212 225 215 222 220 212 220 217 225 223 219 220 225 217 215 214 210 212 205 209 201 197 207 214 205 209 199 214 202 215 209 212 207 207 207 210 197 196 196 189 184 192 196 194 199 196 196 205 199 205 202 196 192 197 189 189 191 192 192 194 196 204 202 201 202 204 205 191 194 194 183 187 186 181 176 178 174 184 174 184 178 178 178 179 170 174 179 168 178 170 166 160 166 165 170 171 166 171 165 168 173 163 161 161 160 158 153 153 156 160 156 156 145 145 150 150 155 150 145 148 145 148 140 142 134 130 138 134 134 132 122 130 120 119 117 114 112 104 111 101 98 101 96 93 91 91 86 83 0 0 83 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 88 86 91 99 93 102 101 101 107 111 109 112 112 119 116 124 122 124 127 125 130 132 132 138 138 137 140 143 135 143 142 147 143 150 142 152 145 147 142 150 148 147 152 150 148 145 140 145 150 153 158 158 163 170 173 174 166 186 181 184 183 171 183 191 187 187 189 191 197 196 201 197 197 194 191 194 205 201 197 201 199 196 192 199 207 205 199 194 196 189 189 183 187 189 181 178 174 171 176 183 187 187 194 199 199 205 205 201 199 199 212 194 205 201 204 212 210 217 215 210 210 205 215 220 207 223 222 222 217 225 219 220 223 233 219 227 223 230 233 232 233 237 232 233 227 230 217 223 215 215 215 214 214 219 225 225 225 232 232 227 219 214 207 207 207 215 204 207 209 202 205 209 210 212 209 205 207 201 209 209 209 205 197 204 202 199 201 186 196 187 196 199 199 202 205 212 197 197 194 191 202 197 194 201 192 197 196 189 199 207 202 199 199 192 196 191 192 189 187 179 178 187 181 176 184 178 179 183 174 179 178 178 176 178 170 168 171 168 165 174 171 170 176 168 166 171 161 170 168 170 176 160 156 158 161 160 153 160 150 152 150 150 145 147 142 152 145 142 142 142 140 137 137 132 130 129 129 134 127 127 119 127 112 112 109 109 106 102 98 94 99 89 89 86 86 85 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 89 86 93 93 96 94 107 106 106 112 109 120 116 120 117 122 124 122 125 134 130 130 132 135 140 135 140 140 143 140 143 145 145 145 150 153 150 148 152 147 152 150 145 150 143 150 150 147 156 156 160 166 161 165 174 176 170 176 179 176 181 183 187 191 189 184 196 192 196 194 201 202 199 201 197 201 199 197 205 202 196 199 201 202 204 204 194 201 202 189 186 192 183 183 187 174 174 174 176 187 181 191 191 194 197 199 199 201 199 199 204 207 215 204 207 209 205 210 209 217 214 215 219 212 214 217 217 215 219 223 232 223 219 223 235 222 230 232 222 237 225 228 230 240 223 230 225 223 217 214 212 219 219 210 225 220 235 225 227 215 232 215 217 220 220 207 209 210 209 209 212 210 207 210 202 209 210 204 217 204 210 205 197 209 201 197 201 189 191 192 201 186 194 194 202 196 207 196 204 201 194 201 197 197 192 194 196 201 201 197 204 199 204 199 197 197 194 187 187 189 181 170 176 186 183 183 183 184 181 179 179 181 181 171 171 173 176 165 173 168 165 176 170 171 171 171 165 168 170 168 173 165 168 163 166 156 166 155 156 148 156 147 150 150 147 147 143 147 137 143 134 137 125 125 130 130 124 125 122 124 119 114 119 114 111 104 104 104 101 91 86 94 93 88 88 86 85 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 89 93 94 99 101 99 112 111 112 114 112 117 124 124 125 124 129 127 130 127 138 135 134 135 145 142 147 137 145 140 148 147 145 148 143 147 152 152 158 150 152 150 148 145 147 147 153 152 156 163 163 161 166 170 173 178 176 183 181 181 179 189 186 199 192 189 189 196 207 202 201 197 202 192 197 199 199 197 197 197 199 201 201 202 207 197 210 192 194 192 189 189 187 183 183 176 168 173 186 183 186 181 201 191 192 202 194 204 202 210 196 207 207 205 207 209 215 219 217 217 219 214 219 230 217 220 222 220 215 223 219 228 230 227 225 228 228 223 230 232 222 235 232 223 232 227 225 228 217 215 210 220 214 225 225 233 227 230 233 219 217 219 217 214 215 207 204 207 205 201 205 212 196 217 199 205 207 201 205 209 201 199 207 197 197 201 192 189 196 196 189 197 202 214 201 205 201 192 199 205 199 192 204 196 196 197 194 201 194 194 209 201 199 199 196 194 187 192 186 186 181 181 183 174 179 176 181 186 187 183 181 176 184 179 181 170 171 178 168 173 165 170 178 176 168 178 170 171 166 171 168 171 166 160 168 160 163 161 152 153 148 145 143 145 142 142 135 140 134 132 135 130 127 127 127 125 119 117 122 119 117 107 112 106 107 101 98 102 94 93 96 89 89 85 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 86 0 86 93 93 91 98 101 104 102 111 116 112 114 119 122 120 116 122 129 132 134 129 134 135 138 140 140 138 140 143 150 153 147 145 152 156 142 152 145 156 156 150 156 145 145 153 145 152 156 156 158 160 163 166 166 168 173 176 181 183 187 184 184 189 192 192 199 201 196 204 209 204 202 197 192 199 196 197 192 197 199 205 197 204 196 205 197 197 199 201 202 194 192 186 181 176 178 173 171 179 179 176 186 192 187 196 187 199 197 192 196 199 209 202 212 217 212 217 214 217 212 214 219 223 227 217 219 217 212 233 214 230 228 219 232 233 223 228 230 228 232 235 230 232 222 225 233 230 225 220 220 222 219 215 214 219 223 227 225 228 225 227 223 232 215 209 207 212 212 207 202 209 204 212 207 214 204 210 205 210 202 202 214 205 201 197 201 194 199 186 194 199 197 194 204 197 201 204 205 209 197 199 196 197 194 197 192 194 199 199 202 201 204 197 205 194 197 192 196 192 189 186 189 183 181 192 186 186 181 187 191 192 183 179 181 171 181 176 173 174 179 176 174 179 174 176 176 178 173 178 176 181 178 173 166 171 174 163 160 171 155 155 160 153 153 153 150 148 148 137 138 137 134 130 129 130 124 119 117 117 114 117 114 106 112 104 104 104 102 104 101 98 93 91 86 88 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 85 86 93 89 96 104 102 109 114 109 112 117 116 119 117 117 129 129 120 134 132 137 145 135 138 143 142 153 147 148 145 152 155 156 145 153 156 153 152 153 148 148 148 150 152 161 153 155 158 158 152 160 161 166 171 173 178 173 178 178 183 191 189 186 196 187 192 202 192 194 204 204 210 201 194 202 191 204 201 199 201 191 201 202 205 207 201 205 201 196 197 194 187 187 186 176 176 171 178 176 179 186 184 186 184 187 183 194 204 189 204 202 199 205 212 205 217 207 214 215 220 217 207 217 217 215 228 228 227 233 225 227 232 219 233 228 238 223 232 228 223 233 230 238 228 233 228 227 225 228 228 210 214 214 222 222 223 232 228 233 225 228 222 222 212 209 204 214 212 205 205 201 199 207 201 209 205 209 207 202 205 204 204 209 209 196 205 194 205 199 201 202 209 197 204 205 199 210 201 199 205 201 196 197 191 202 194 196 199 205 197 205 202 191 197 194 192 191 192 186 194 176 183 179 184 184 179 181 178 184 183 191 186 187 183 179 176 174 176 173 181 181 176 181 170 179 178 176 181 174 171 170 178 173 170 170 170 163 165 163 163 150 158 153 155 150 147 137 147 134 135 130 135 132 130 124 125 119 117 116 111 107 107 106 109 107 102 96 98 94 89 94 88 88 83 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 83 83 91 86 93 99 98 98 112 107 112 116 116 119 114 120 124 129 127 127 130 130 130 137 134 145 143 137 142 147 148 148 153 148 150 158 150 160 158 158 153 150 148 148 145 150 156 147 156 160 158 158 153 160 165 165 170 176 171 174 187 187 181 187 186 189 194 192 189 201 201 199 194 201 201 197 199 196 196 202 194 204 207 205 204 212 209 209 204 204 192 191 192 191 189 186 184 178 174 170 174 178 176 187 183 189 187 194 194 199 204 197 196 205 212 205 210 210 217 223 214 222 217 212 215 223 223 220 210 223 227 228 219 228 222 232 230 235 228 230 227 235 230 230 225 233 227 232 227 240 222 233 225 227 217 215 222 222 225 225 233 227 225 230 222 225 220 209 214 204 207 210 199 204 202 205 202 210 202 204 210 209 207 209 219 202 202 199 197 196 196 199 196 189 197 194 196 207 205 196 209 204 205 204 196 199 192 196 201 196 194 194 199 197 194 196 196 201 197 191 192 186 191 184 178 187 186 186 183 178 179 189 191 181 184 176 181 183 174 181 176 179 181 181 179 181 184 178 171 176 183 174 176 176 170 174 173 165 168 166 166 161 163 156 155 152 147 147 143 145 142 145 135 135 140 130 127 125 125 117 119 117 117 111 107 107 106 94 104 98 96 98 91 94 86 86 85 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 85 85 83 96 96 98 104 104 106 106 111 116 119 116 122 116 122 122 130 129 135 132 129 142 134 135 143 145 137 143 153 152 145 153 155 156 152 153 163 152 150 152 152 147 145 153 155 156 153 153 160 158 160 160 170 166 171 171 178 170 178 184 184 184 181 186 196 196 196 197 201 201 204 202 207 202 199 201 196 202 201 202 197 209 202 199 197 194 202 196 202 197 189 192 194 196 189 176 171 174 178 176 187 189 184 187 191 189 194 189 192 199 201 209 210 212 210 214 209 220 222 214 222 220 230 222 230 222 219 219 225 230 220 219 228 232 220 228 232 227 228 225 233 235 230 227 237 220 223 223 230 225 235 228 219 225 214 219 223 237 217 230 220 223 223 219 219 217 217 214 207 212 217 205 197 210 207 201 201 212 201 205 210 207 204 209 207 209 196 205 199 194 192 201 189 186 196 197 202 201 209 197 210 191 197 201 199 197 187 197 202 201 199 192 209 201 196 196 199 202 183 187 184 186 183 181 183 187 183 184 192 186 187 186 187 187 187 181 174 179 184 178 178 179 179 179 178 183 179 183 174 173 174 174 174 173 174 174 163 170 163 158 155 155 165 160 156 153 152 148 147 138 140 132 137 129 132 125 119 117 116 114 117 116 104 106 102 106 98 96 93 93 91 91 86 83 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 86 91 94 98 96 101 104 106 107 112 114 117 114 116 124 124 122 129 127 129 132 132 137 137 140 140 143 142 140 143 152 148 152 160 150 152 158 158 150 148 152 148 148 147 156 152 152 168 155 158 155 156 163 166 170 163 163 173 176 181 181 174 179 191 179 187 196 192 204 204 202 196 194 201 201 199 207 194 197 204 202 202 199 210 209 196 199 197 204 191 197 192 194 194 189 181 173 171 173 174 176 184 201 192 197 196 191 192 196 191 201 204 204 210 212 210 222 217 222 219 219 220 219 220 223 227 223 222 227 223 227 223 225 220 228 237 225 233 223 230 233 230 233 220 230 233 230 228 235 230 225 220 222 230 220 215 227 225 225 227 222 223 227 223 214 223 222 212 207 212 210 217 209 212 212 201 204 205 201 207 210 197 205 204 210 209 202 209 201 197 202 197 194 194 191 189 197 202 192 202 207 199 202 201 197 201 204 199 197 194 202 204 199 202 197 192 194 191 184 192 186 189 184 183 186 178 183 189 184 186 191 187 189 189 187 179 189 170 176 178 183 189 179 178 189 183 183 184 181 179 174 173 178 173 176 171 168 165 170 165 161 161 163 152 152 152 156 147 143 143 142 140 137 140 134 125 125 124 124 124 119 114 112 107 111 109 109 101 98 93 89 89 89 85 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 83 0 89 98 93 99 104 107 111 112 114 112 117 120 120 117 125 124 125 124 137 129 130 132 132 140 137 143 140 138 150 147 152 156 153 153 160 161 145 153 150 153 152 152 158 161 155 155 165 163 161 163 160 166 165 165 165 168 168 173 173 184 176 192 183 187 192 196 196 194 199 194 202 194 204 194 201 197 194 201 192 191 199 199 202 196 207 194 201 197 194 196 189 191 192 194 184 181 173 174 178 178 183 204 192 197 186 189 192 187 197 199 210 212 209 217 214 217 212 219 219 215 225 217 219 225 220 228 220 227 222 220 222 230 227 225 228 227 223 223 225 228 233 225 222 222 228 238 225 223 230 237 230 227 230 227 215 214 220 227 230 235 223 219 223 215 212 220 209 212 219 204 202 209 205 212 207 204 202 201 210 199 202 212 201 207 194 201 202 199 197 199 194 187 202 191 197 204 196 204 197 199 201 199 201 207 199 196 201 202 192 189 192 202 202 191 191 196 197 197 197 189 191 179 183 184 181 173 181 184 184 186 184 186 187 189 189 183 187 181 178 179 184 186 184 186 181 174 187 181 184 179 171 174 178 176 168 173 173 170 161 160 158 155 158 152 150 150 145 153 152 143 137 134 135 134 132 129 125 127 119 117 120 117 112 109 107 104 99 104 98 93 88 86 89 85 85 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 88 86 94 93 101 99 106 107 107 117 117 114 112 116 116 122 125 124 120 125 130 132 132 132 142 138 143 137 140 148 150 152 152 155 148 156 158 156 155 150 153 155 150 155 156 153 163 161 160 165 173 166 161 165 166 161 166 163 173 174 171 173 183 192 179 189 197 199 189 202 197 196 201 202 199 197 194 192 187 189 196 199 199 204 194 207 202 207 207 197 192 192 192 184 192 187 189 178 181 171 174 184 189 192 181 191 197 194 196 199 202 201 202 209 210 210 210 202 222 223 225 210 223 223 219 223 228 214 219 215 223 219 217 223 222 232 227 228 228 227 230 223 232 228 230 228 233 227 227 237 233 225 227 222 223 228 228 222 214 212 219 230 219 222 220 225 217 219 210 209 212 207 212 201 215 207 207 204 201 205 201 205 207 201 196 205 202 201 197 199 202 199 197 192 191 192 196 191 196 192 201 201 204 204 201 204 194 202 192 194 202 197 199 194 199 194 197 196 187 197 192 189 187 189 187 184 178 179 186 181 187 192 189 183 189 189 191 179 183 178 176 184 178 179 187 187 189 187 178 184 184 178 179 181 176 174 178 168 165 173 158 153 155 161 148 155 155 150 147 148 145 143 143 142 138 135 137 134 130 124 125 120 122 119 107 112 107 111 101 106 98 94 86 89 86 85 83 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 83 91 88 93 101 98 102 104 106 114 107 114 114 111 114 119 120 130 127 132 130 129 127 129 135 143 150 135 155 138 147 148 155 155 150 156 153 165 156 158 156 155 152 156 153 158 153 155 170 165 170 165 165 168 168 166 158 165 160 168 170 173 176 176 183 186 183 183 189 191 201 199 202 197 197 189 189 201 197 191 194 197 199 202 196 197 199 202 199 204 192 201 196 201 192 191 187 184 179 186 184 171 178 187 191 202 196 196 194 199 197 207 205 202 207 217 220 212 215 220 222 220 219 214 228 220 227 222 217 214 219 215 217 225 222 215 223 228 227 235 223 225 227 222 237 230 237 232 228 241 232 235 230 223 223 233 225 215 210 222 225 222 217 232 225 223 227 220 223 217 220 219 209 202 210 205 202 205 210 196 207 202 205 202 201 207 201 201 202 209 197 189 201 199 199 197 192 189 196 199 197 197 199 204 199 197 201 192 192 199 189 194 199 192 197 192 189 197 189 192 187 192 189 186 187 179 178 181 179 179 183 191 187 187 179 186 186 186 194 179 184 184 183 186 176 176 186 178 181 178 181 181 183 179 178 174 174 176 174 163 171 160 165 155 160 160 152 150 153 150 147 147 147 134 142 135 132 138 132 125 129 129 119 119 117 112 111 107 107 102 104 101 96 91 91 88 88 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 85 85 89 93 94 96 102 107 112 102 111 117 117 114 120 122 120 122 129 127 132 134 127 134 140 138 140 140 143 145 148 152 148 156 152 163 161 155 152 152 166 158 150 150 152 165 161 160 158 165 163 168 174 158 168 166 171 160 168 166 171 171 176 181 184 176 181 183 196 194 199 196 204 197 199 199 196 191 192 192 189 191 186 196 201 197 197 194 205 204 196 201 202 189 191 191 192 196 186 178 187 186 186 189 191 205 202 204 197 199 205 202 196 204 209 205 215 210 214 222 225 220 212 223 215 222 223 215 227 219 214 219 220 222 223 220 220 219 228 230 228 230 227 227 223 233 233 228 232 223 227 230 222 232 223 222 228 228 219 217 220 220 220 212 230 214 225 223 225 227 222 215 214 212 220 207 201 215 214 204 207 205 205 204 192 207 197 196 194 202 196 192 201 197 201 194 199 194 191 199 192 201 199 205 201 202 205 205 201 204 199 189 197 189 194 197 196 191 192 186 189 184 186 183 189 174 176 181 183 179 178 186 184 189 184 189 187 181 178 183 176 179 179 183 181 176 176 178 187 179 186 183 178 173 176 173 166 174 165 165 165 161 165 152 161 152 153 152 152 145 145 145 145 142 137 140 137 134 138 132 130 127 117 120 119 112 119 114 101 106 98 101 91 91 88 88 83 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 85 83 89 94 93 102 99 102 106 112 107 111 109 112 117 124 125 119 132 127 129 137 129 130 137 137 138 132 148 150 145 147 148 148 156 152 156 160 160 155 155 155 153 155 156 163 156 156 168 165 173 170 173 168 173 165 166 171 163 171 168 165 174 173 174 186 181 189 183 186 201 194 202 199 194 196 191 191 204 201 196 187 187 194 196 199 194 199 196 199 201 209 197 196 202 186 196 199 189 183 181 179 194 187 189 192 201 199 202 201 196 199 199 204 204 209 209 209 212 215 217 222 217 228 219 220 219 223 219 222 210 219 210 222 219 223 219 228 215 227 227 225 220 225 230 227 225 223 230 232 233 225 228 235 225 232 233 225 230 220 220 225 210 220 212 227 225 230 222 222 227 223 209 219 210 212 214 209 205 204 204 202 209 205 207 199 199 194 201 196 201 197 194 199 192 191 196 197 189 192 192 191 202 204 197 202 196 199 196 205 202 201 197 184 187 192 192 189 186 186 191 192 178 194 186 183 183 183 179 187 181 184 189 183 184 183 184 181 176 187 174 181 181 184 183 183 189 179 183 183 174 189 176 181 179 174 174 173 168 166 163 160 160 158 160 153 150 150 152 147 148 148 145 147 143 143 143 137 137 134 127 129 125 117 117 117 109 119 112 104 102 102 98 93 91 86 83 88 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 86 86 93 94 96 99 104 104 107 107 114 107 116 116 119 125 124 127 129 127 124 127 132 130 130 132 142 135 142 145 147 150 142 156 148 158 155 160 160 152 156 158 160 156 161 160 166 165 166 158 171 174 166 170 166 174 181 165 170 165 165 166 166 171 183 179 189 183 187 184 192 192 197 196 196 191 201 186 191 197 194 197 191 197 197 196 201 199 197 196 197 197 202 191 199 194 189 186 191 191 184 174 187 189 196 189 192 191 205 199 199 204 204 204 209 197 205 210 207 223 217 214 212 215 215 215 222 223 222 222 215 210 212 220 217 214 223 220 225 230 227 223 228 220 227 235 230 235 225 235 233 220 223 225 225 230 222 222 225 220 230 228 219 223 222 220 220 214 220 222 219 212 217 219 215 217 214 210 217 212 207 205 212 204 197 202 196 202 199 201 197 201 196 194 204 191 201 194 197 196 186 196 192 196 201 202 209 201 192 201 194 194 194 194 194 187 186 191 186 186 184 179 184 186 192 179 179 183 178 174 183 187 176 184 186 186 183 183 179 173 181 179 181 187 179 178 183 183 184 187 176 184 173 174 174 183 171 173 173 166 161 161 155 155 158 152 147 156 158 153 152 153 148 147 147 143 143 142 135 132 135 127 124 127 119 119 112 107 112 111 102 101 99 94 93 91 89 83 88 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 85 88 91 102 98 99 104 104 109 111 107 116 114 117 120 120 124 132 129 130 129 129 132 125 132 142 140 143 140 142 145 150 148 153 156 156 158 153 153 156 153 152 155 160 153 158 161 165 171 174 178 165 173 171 173 173 171 168 165 166 166 163 165 173 173 176 171 192 176 184 186 192 199 199 197 197 192 197 202 197 196 199 196 194 197 192 199 194 202 210 202 201 202 192 197 191 183 196 191 187 191 192 189 191 201 196 199 194 201 204 201 205 199 197 202 204 209 214 212 212 212 219 217 212 223 222 214 215 220 222 219 215 212 220 214 220 215 223 222 219 219 230 228 227 220 228 228 223 237 232 228 233 238 225 227 222 223 227 230 223 219 225 233 217 215 217 220 225 219 227 225 219 219 225 227 217 214 210 215 202 215 204 214 202 214 205 199 202 210 199 199 205 197 205 194 196 209 189 196 192 192 197 199 202 197 201 191 199 204 194 201 205 187 184 184 191 187 186 181 179 191 181 181 181 183 186 176 184 183 184 186 181 191 189 186 187 189 181 179 187 189 181 181 189 184 179 186 184 179 179 178 176 174 174 173 166 165 165 168 166 163 160 158 160 156 161 148 153 145 143 147 153 140 147 143 145 145 142 145 137 135 129 124 125 127 119 112 112 106 102 102 101 98 96 91 91 86 85 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 85 89 94 94 101 102 101 107 107 107 114 114 120 120 122 120 125 132 129 125 130 135 134 132 142 142 138 137 147 150 148 147 150 158 152 153 153 155 155 152 152 152 150 161 163 165 170 168 170 165 171 174 176 170 170 170 168 168 174 171 173 163 170 179 174 174 183 174 179 181 187 194 187 196 201 199 197 201 194 192 196 191 199 196 199 194 191 197 194 201 194 189 201 191 189 189 187 186 187 191 187 189 196 184 199 204 197 194 207 202 209 204 214 204 199 202 199 210 210 205 217 207 219 205 220 210 222 214 207 215 212 214 217 217 220 225 232 220 220 230 227 222 227 217 230 222 227 232 228 235 227 225 225 220 228 232 232 219 223 223 220 225 233 220 217 225 214 219 220 222 223 215 228 225 214 215 219 217 210 217 209 212 207 201 201 204 207 202 197 201 202 194 197 194 194 201 197 202 191 191 194 187 196 192 197 204 197 201 204 191 204 184 194 197 194 191 179 186 186 184 186 186 181 183 184 186 187 183 183 192 184 181 184 184 191 191 183 194 186 181 178 179 191 181 186 183 183 178 186 181 179 179 179 179 173 181 171 176 163 170 171 165 165 158 156 148 148 156 152 152 143 148 140 152 147 140 143 142 140 132 132 135 125 125 122 119 117 116 111 106 101 101 98 98 98 91 89 85 85 85 0 0 0
|
||||||
|
0 0 0 0 0 0 83 86 91 89 96 101 98 101 102 104 106 119 114 116 116 116 120 124 127 120 130 129 134 130 134 142 132 140 145 140 137 148 142 148 155 152 148 155 161 158 150 155 158 156 158 158 161 156 166 168 179 168 178 178 173 173 178 173 170 173 174 168 170 171 170 176 171 174 181 189 184 183 181 189 189 194 192 192 202 199 196 196 194 197 191 189 186 187 192 199 191 196 194 197 194 194 201 191 183 189 189 191 187 194 186 199 202 202 207 204 189 201 197 210 205 204 207 210 202 205 210 219 214 217 210 212 212 212 217 217 217 210 222 212 217 214 223 217 214 227 237 228 217 223 235 225 227 225 220 230 238 222 222 228 225 233 230 235 227 230 230 225 222 225 233 228 219 227 222 219 217 223 215 217 210 222 225 215 214 223 215 223 209 217 217 207 207 202 210 199 201 204 191 192 196 197 187 194 196 197 194 192 194 189 187 196 202 201 199 197 192 191 199 196 187 191 192 186 183 183 183 178 183 189 178 187 187 179 176 184 184 184 179 179 192 192 186 183 189 183 186 183 183 179 183 183 189 183 184 176 184 181 174 179 176 174 166 170 166 166 170 166 168 165 161 166 155 158 150 152 152 148 152 153 150 142 143 145 143 142 142 135 132 130 127 124 124 120 117 111 107 109 104 94 98 96 93 89 89 89 0 86 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 88 89 99 99 99 98 101 107 109 106 114 116 111 122 117 120 125 129 122 129 124 129 134 138 135 143 142 142 142 145 150 147 147 158 156 153 152 153 156 165 153 160 160 161 156 170 166 165 178 174 181 178 176 181 176 173 179 174 165 174 178 174 170 168 174 174 173 184 184 192 184 186 194 197 196 199 191 194 196 197 199 196 189 187 187 189 189 181 192 186 189 192 191 197 187 197 187 192 192 189 187 194 197 189 199 201 205 209 207 201 204 199 210 207 212 209 210 209 204 219 217 204 214 215 215 220 210 210 209 212 214 219 223 220 225 227 230 228 237 238 232 225 232 228 228 228 230 228 230 228 222 232 220 228 223 215 232 233 230 227 227 228 228 232 228 217 222 225 210 222 217 220 223 217 222 223 222 215 220 215 210 214 210 214 215 205 204 202 196 201 196 194 197 189 209 191 202 192 201 192 192 187 186 196 201 194 199 194 209 192 191 197 192 194 194 187 196 183 181 179 178 186 179 183 183 179 187 179 183 179 186 192 183 186 186 184 181 183 184 183 183 181 181 186 178 179 183 181 183 170 171 174 176 174 176 176 178 166 168 171 168 171 163 163 161 155 153 152 148 152 150 155 147 143 152 143 138 143 147 138 137 135 127 135 122 119 116 111 107 109 104 99 102 96 89 93 89 88 83 0 0 0 0
|
||||||
|
0 0 0 0 0 0 85 89 91 91 98 94 99 99 112 111 107 112 119 114 122 122 127 124 119 129 132 125 130 134 129 134 143 134 135 147 150 143 147 152 155 155 158 158 153 153 148 160 152 163 165 163 165 165 170 166 171 168 171 181 173 183 176 174 174 178 183 173 176 176 170 176 168 171 179 171 186 184 184 184 191 192 196 199 191 183 194 196 199 196 189 189 187 191 186 186 186 196 194 191 191 189 191 194 187 186 191 187 187 186 196 207 201 205 214 209 204 204 202 212 207 207 215 204 207 202 219 210 215 214 217 219 205 214 215 214 214 209 210 225 220 222 232 220 227 232 223 232 227 230 238 232 230 223 232 233 235 232 222 230 225 220 222 225 227 230 233 233 235 220 230 230 225 228 227 217 217 227 220 217 220 222 217 217 225 219 223 222 220 222 215 217 214 212 214 207 205 207 204 197 196 197 199 199 201 194 194 192 186 191 194 194 191 202 202 197 199 191 194 189 199 189 196 183 187 186 187 192 171 184 187 183 181 178 187 192 178 183 184 186 192 184 187 179 179 186 189 176 184 179 186 179 173 179 176 174 174 181 178 176 173 179 173 171 174 166 171 171 171 163 163 168 156 156 163 161 155 148 150 152 145 145 143 143 142 138 134 134 132 132 132 119 120 119 120 112 112 107 107 106 98 102 93 94 94 91 86 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 86 91 88 93 99 98 101 101 107 106 112 116 117 112 119 122 125 119 127 129 134 129 137 135 135 138 138 145 142 145 148 152 148 153 155 150 153 152 155 152 155 153 158 163 168 155 165 165 166 178 176 171 170 178 179 178 183 174 181 181 178 178 178 173 174 176 174 166 178 181 183 186 189 187 191 194 187 192 199 194 194 197 191 186 186 186 186 191 192 189 192 191 186 184 181 194 187 191 194 189 194 192 194 192 199 202 204 209 214 212 205 209 202 199 207 205 209 205 217 207 212 207 209 212 214 207 215 202 210 210 222 212 225 228 220 223 228 235 230 238 232 228 230 230 230 230 228 223 223 235 238 228 220 233 222 228 228 230 228 225 238 223 223 237 235 223 227 233 232 217 219 219 217 225 219 225 225 222 227 228 227 220 219 223 219 217 217 214 217 207 201 207 205 202 209 201 197 201 197 202 187 187 187 191 201 192 196 192 192 189 194 191 191 189 196 187 196 192 183 179 187 187 186 181 179 178 181 179 178 183 184 181 183 197 186 184 192 187 183 181 181 181 181 181 184 186 183 183 176 170 173 184 173 176 179 176 178 171 184 170 176 165 166 170 166 161 160 163 163 150 155 145 152 145 150 145 145 140 138 142 142 132 130 134 125 127 119 120 107 111 112 109 109 101 102 99 93 88 88 86 83 0 0 0
|
||||||
|
0 0 0 0 0 0 83 88 86 96 96 96 98 99 104 107 107 112 116 116 114 120 117 120 125 127 122 129 125 130 138 137 135 140 142 137 140 147 152 147 153 158 153 152 145 155 153 153 152 165 158 156 163 166 161 170 168 178 166 181 178 184 179 183 186 174 181 176 174 171 173 174 174 171 176 176 184 186 184 186 186 189 184 194 201 191 191 197 186 187 187 194 179 183 184 194 183 191 189 186 186 189 189 187 187 189 197 189 197 199 214 196 209 207 204 209 209 220 202 204 205 209 204 212 215 205 214 204 212 205 205 215 214 214 207 219 215 202 215 222 222 227 232 233 223 228 227 227 232 235 233 227 230 223 233 222 230 227 241 233 233 227 227 219 223 225 235 227 227 230 235 233 230 222 225 222 228 212 217 214 220 222 222 220 227 232 219 230 222 215 228 219 214 220 217 212 217 207 202 197 205 199 205 202 201 194 191 194 189 187 189 199 191 192 197 187 191 196 186 194 192 194 191 186 192 192 184 181 192 176 186 179 178 179 184 179 178 181 184 186 187 187 187 187 183 191 187 187 183 183 184 176 183 174 176 173 171 176 171 174 178 173 181 173 178 173 173 170 160 171 170 161 170 156 163 163 161 150 156 147 143 145 145 147 140 135 142 132 130 132 127 125 127 114 114 116 114 116 109 109 102 98 102 99 91 91 85 83 0 0 0
|
||||||
|
0 0 0 0 0 0 85 85 91 91 89 96 104 99 104 117 104 111 112 114 124 120 120 124 124 124 129 125 137 130 140 134 138 145 134 143 137 147 147 150 155 155 155 153 147 155 150 148 158 155 160 170 166 165 168 176 174 178 171 184 173 176 176 176 183 179 178 179 174 178 174 173 183 170 171 184 191 189 184 186 184 186 199 189 192 194 196 187 196 187 186 194 187 192 186 191 189 184 183 184 186 192 184 179 184 186 191 197 201 199 205 202 209 217 215 212 210 210 204 209 209 205 207 207 210 207 210 207 207 210 210 223 219 210 210 207 210 219 217 232 220 219 222 230 235 235 238 228 237 238 240 232 232 233 233 227 235 237 241 235 228 235 230 227 228 225 240 228 228 228 235 228 235 228 223 222 228 223 223 222 215 223 223 228 220 220 232 232 235 222 232 230 228 217 228 212 215 219 204 204 204 210 205 199 205 204 196 205 196 191 186 189 186 191 191 187 191 197 192 201 192 196 196 192 191 187 187 187 183 187 176 176 178 178 176 192 176 179 183 183 184 186 191 179 187 183 183 181 186 179 179 178 174 174 178 178 178 176 176 178 174 173 178 174 179 174 179 168 166 168 171 163 161 161 158 152 155 153 156 156 150 150 150 145 147 143 134 130 137 132 125 125 124 120 116 119 114 112 109 104 102 101 98 98 89 91 91 83 0 0 0
|
||||||
|
0 0 0 0 0 0 0 89 86 88 88 94 101 104 106 106 112 112 112 116 124 120 116 124 124 127 124 127 129 135 134 134 137 140 138 140 145 143 152 155 153 152 148 152 155 150 155 155 156 163 160 168 166 168 179 165 174 181 173 176 178 184 179 179 176 183 181 176 178 170 178 174 171 181 176 183 178 183 186 181 183 187 192 187 199 197 194 194 194 189 194 197 181 186 196 191 191 181 181 179 186 183 183 189 181 181 196 189 194 201 205 201 197 197 212 209 214 212 214 210 205 204 202 202 207 194 204 202 204 215 210 215 219 215 225 215 214 217 217 223 222 223 223 235 228 232 238 225 230 235 227 240 235 230 233 232 238 240 233 235 227 230 225 227 223 230 225 227 230 237 228 235 240 232 225 225 228 212 223 223 217 214 215 222 230 225 233 233 227 222 227 227 227 219 214 219 220 212 212 210 210 212 194 209 197 201 204 204 186 194 205 189 192 187 191 191 189 187 187 186 191 187 189 196 196 191 183 194 183 179 184 174 176 184 179 178 174 183 181 183 179 184 186 184 181 191 186 189 171 191 184 181 181 179 176 171 178 178 181 173 179 170 178 183 173 170 168 168 170 173 173 166 163 163 165 163 156 158 148 152 150 145 142 135 143 135 140 132 132 130 124 122 125 120 122 114 114 112 114 102 102 102 96 101 93 86 85 88 0 83 0
|
||||||
|
0 0 0 0 0 0 83 86 88 96 94 99 102 106 106 107 112 114 117 117 120 116 119 119 116 125 129 134 130 134 138 138 137 142 143 135 142 147 156 147 150 156 155 155 152 156 150 153 158 161 158 168 168 163 170 166 174 166 166 184 181 179 183 184 189 181 183 184 173 174 176 181 174 176 178 178 183 186 183 187 189 189 194 187 196 189 199 196 194 196 194 186 189 184 184 183 183 187 187 178 178 183 174 179 174 189 183 186 197 199 199 204 196 201 204 210 210 205 215 215 217 205 205 201 196 201 205 209 214 202 215 205 220 222 212 222 215 219 210 217 225 223 219 232 235 233 232 240 238 235 241 232 245 232 238 235 240 238 237 240 233 235 233 223 230 235 223 237 227 238 227 233 228 228 233 227 230 230 225 217 222 222 225 228 214 232 223 227 228 222 228 227 222 219 217 223 214 220 210 219 212 207 197 212 201 204 197 205 191 205 192 187 184 194 186 194 191 184 191 196 197 201 191 192 194 191 186 181 191 186 173 181 181 179 183 178 186 187 181 179 184 183 187 184 181 171 181 183 174 183 181 173 184 181 168 173 176 173 176 174 174 186 174 166 179 173 179 166 170 168 174 168 170 160 163 160 166 160 156 150 150 150 145 147 145 143 135 135 130 129 124 127 122 120 122 114 111 109 109 109 99 101 102 99 89 91 89 85 83 0 0
|
||||||
|
0 0 0 0 0 0 0 91 91 93 94 99 101 102 104 109 109 114 117 120 117 119 120 125 125 125 122 129 132 134 134 148 135 138 147 142 145 140 152 156 148 150 156 153 152 152 147 158 152 163 163 173 168 173 174 181 176 183 183 179 171 176 186 183 178 179 181 181 179 178 176 173 183 178 174 183 181 186 183 181 191 192 189 194 199 194 205 196 194 196 192 187 187 189 178 186 178 181 183 186 179 179 187 183 184 187 186 199 196 197 201 197 202 201 212 215 215 207 212 205 207 209 212 209 199 210 201 214 202 215 217 207 212 225 223 220 215 223 227 215 220 222 219 228 233 232 230 233 232 237 235 232 238 227 228 230 235 233 233 233 227 230 228 219 220 232 228 233 235 228 237 227 238 233 240 222 223 232 230 233 214 219 228 219 230 227 235 220 225 227 222 220 230 219 219 217 220 215 209 207 205 210 204 212 196 207 196 197 204 191 194 194 196 187 187 189 186 186 199 191 187 194 194 192 187 194 184 186 183 184 176 173 179 179 178 187 178 183 181 181 184 186 178 184 183 186 173 176 184 178 183 178 176 181 170 176 178 176 179 181 174 179 176 173 179 176 168 174 171 178 165 170 160 171 165 161 165 161 160 156 152 152 148 143 138 135 137 135 137 129 127 122 122 119 117 119 114 104 107 109 106 99 99 98 98 96 86 89 85 83 0
|
||||||
|
0 0 0 0 0 0 83 86 88 94 96 99 99 106 107 111 116 112 114 120 119 120 120 124 127 127 129 130 127 134 142 142 145 135 145 145 150 140 143 153 150 155 155 152 148 150 145 156 163 161 166 165 168 170 173 170 170 174 178 173 184 179 176 184 181 179 173 174 176 168 174 171 176 186 181 183 184 184 194 187 191 189 191 192 199 197 201 197 199 194 191 189 194 189 192 179 192 179 189 184 181 181 187 183 191 197 191 197 196 201 196 201 201 197 205 209 214 209 214 212 223 210 210 204 210 204 204 205 219 212 210 214 225 222 222 217 223 219 222 219 220 222 225 230 230 232 238 228 230 238 232 237 230 245 237 243 241 240 233 228 230 233 232 222 233 232 230 233 235 227 235 230 227 228 225 223 225 222 232 225 227 220 228 215 219 217 223 227 233 225 223 228 223 217 222 215 219 219 217 210 210 209 199 201 207 201 207 192 201 202 194 192 196 186 201 197 191 187 187 192 191 192 191 199 192 189 189 191 179 179 178 183 184 178 179 176 179 178 178 184 179 181 186 181 183 181 184 176 173 183 178 176 171 176 174 178 179 181 179 176 179 179 181 181 178 170 174 170 174 166 170 171 166 166 168 160 163 165 166 163 155 150 145 142 145 138 135 135 134 122 125 120 120 122 112 114 116 111 111 106 106 102 96 99 96 91 89 83 85 0 0
|
||||||
|
0 0 0 0 0 85 88 86 91 91 99 101 102 107 111 114 112 114 116 117 116 124 122 124 122 122 130 122 130 148 135 134 148 145 142 140 138 143 148 155 152 153 153 156 155 158 153 155 160 163 160 165 168 171 165 176 173 179 178 173 179 176 174 174 178 173 179 176 173 170 171 179 174 181 178 186 183 183 189 186 181 181 189 187 196 194 194 204 199 196 192 189 189 183 189 186 184 187 186 179 179 181 176 181 181 191 196 194 202 207 196 205 204 219 204 207 212 222 215 217 214 214 214 205 199 204 207 202 201 217 209 215 219 220 225 227 222 220 223 222 220 219 228 232 232 228 238 223 241 235 232 243 225 228 241 237 240 241 243 245 228 232 237 232 245 227 235 235 228 235 237 228 237 220 230 210 227 232 230 223 227 237 220 223 219 222 222 217 227 228 230 230 232 227 225 227 212 220 219 219 210 210 202 210 202 204 194 194 197 192 194 196 192 192 183 197 194 187 197 204 201 189 199 192 191 192 184 186 186 191 187 176 176 181 183 181 179 174 181 178 176 181 176 178 178 178 187 179 186 184 179 187 179 184 171 179 174 174 181 174 170 176 171 179 166 186 171 174 178 178 165 166 165 165 168 163 163 160 158 156 153 152 148 143 142 143 143 135 135 129 127 120 127 124 120 119 112 111 111 107 111 101 101 98 99 93 86 85 89 0 0
|
||||||
|
0 0 0 0 0 83 88 93 91 98 98 101 109 106 114 114 114 114 120 120 120 122 120 125 129 127 127 130 135 138 137 140 137 138 150 145 148 143 150 143 152 148 152 156 150 152 147 161 155 165 161 176 170 170 173 174 163 174 168 171 170 178 174 183 174 179 166 174 170 171 174 178 171 186 179 181 186 187 184 184 187 181 183 183 189 199 194 196 196 194 189 192 194 191 186 189 187 186 184 176 173 179 176 183 189 191 192 201 196 199 202 201 204 207 230 201 219 212 220 214 217 215 215 212 202 202 209 207 212 209 220 225 220 223 238 240 222 222 228 210 219 220 228 227 225 232 215 237 232 230 238 237 227 237 237 238 243 243 227 233 238 230 241 240 235 238 240 232 238 228 227 232 232 223 237 225 228 233 227 240 223 233 232 225 217 217 222 222 227 225 214 217 225 235 212 219 222 220 227 212 214 205 202 205 205 205 197 201 205 189 194 194 189 194 189 189 191 191 201 194 199 194 194 194 191 187 186 184 189 178 187 184 184 176 179 184 174 179 181 178 184 186 176 181 181 181 183 178 183 173 179 179 179 176 170 178 174 171 181 176 183 176 178 178 174 183 176 168 176 178 170 171 168 166 160 168 163 165 158 161 153 147 153 148 145 142 140 135 135 135 124 130 122 127 117 122 112 112 106 111 98 102 99 94 98 91 93 86 85 83 85
|
||||||
|
0 0 0 0 85 83 86 88 89 94 101 98 106 109 106 112 112 114 116 119 119 122 124 124 127 124 135 129 140 135 140 140 142 142 142 145 142 148 147 152 145 150 158 147 156 152 158 160 160 165 161 173 173 171 168 168 173 171 173 174 166 179 179 174 173 173 171 166 171 171 173 181 181 179 183 176 186 187 181 189 194 187 187 183 189 197 186 194 192 184 197 194 192 189 194 191 192 186 189 181 186 174 189 187 187 196 192 204 199 202 212 207 205 199 215 223 217 214 222 219 222 210 219 201 207 199 197 207 205 220 214 215 220 227 215 220 222 228 233 223 225 217 230 232 227 228 228 228 238 232 228 237 235 238 245 235 240 248 237 238 235 230 238 235 241 235 238 225 232 232 227 233 240 235 232 233 228 227 223 227 235 222 228 230 222 225 215 217 220 230 225 225 235 215 227 225 223 214 220 219 217 219 209 209 201 199 204 202 202 192 199 189 192 187 184 196 187 187 197 199 192 194 196 202 184 194 186 187 189 178 186 181 179 184 176 173 181 168 174 176 173 178 179 183 184 176 181 183 178 174 183 183 183 181 183 178 174 176 184 181 174 183 183 183 178 176 179 181 178 170 173 171 171 165 158 163 160 155 160 160 155 152 148 147 147 138 145 138 134 134 127 135 120 127 120 119 117 114 107 107 102 101 99 98 91 91 89 89 86 83 0
|
||||||
|
0 0 0 85 85 0 89 86 89 96 96 99 104 106 109 111 111 114 116 116 117 125 120 124 129 132 129 135 132 132 134 145 142 137 145 156 152 147 148 142 145 150 155 156 156 152 152 156 163 158 163 166 165 173 168 174 176 173 176 178 171 179 174 178 170 170 166 161 168 173 173 178 179 178 179 187 181 186 179 189 191 192 186 178 184 183 186 187 194 186 204 192 191 192 194 189 194 189 189 189 186 183 192 194 184 202 199 202 194 202 209 207 215 215 210 217 223 215 217 214 215 225 223 217 210 199 196 209 214 212 217 220 222 222 232 217 222 220 235 225 222 222 225 222 232 233 227 235 233 235 238 238 237 235 235 237 237 240 243 240 241 232 245 243 233 233 246 241 243 220 232 240 223 237 235 225 228 237 230 233 232 228 237 228 228 225 217 215 220 225 215 230 222 227 214 227 227 228 215 222 219 215 205 215 207 207 201 197 197 199 197 199 191 194 186 196 189 191 189 196 187 189 201 201 192 189 189 192 186 189 189 176 186 176 174 179 171 171 173 174 173 171 181 183 173 181 173 179 184 184 174 174 178 173 183 174 179 173 178 173 186 179 179 186 176 179 183 173 171 170 173 173 168 161 163 165 161 163 160 152 153 156 152 145 143 142 143 135 137 132 134 130 122 122 120 122 119 112 111 111 106 102 104 96 96 93 93 88 89 83 83
|
||||||
|
0 0 0 0 0 83 85 86 93 98 94 99 106 106 109 104 107 112 111 122 119 124 122 122 124 129 127 134 135 135 142 135 140 138 140 138 142 143 156 147 150 143 150 152 153 156 150 156 161 163 170 163 170 174 173 174 170 178 170 178 171 168 178 171 166 173 168 163 165 168 174 176 178 178 184 179 192 189 184 184 186 179 174 173 181 179 183 189 194 191 192 197 201 196 196 191 187 181 196 179 184 184 184 191 202 192 197 205 201 202 207 205 207 219 222 212 228 214 215 220 212 219 217 214 209 201 191 192 210 210 215 223 227 220 230 230 233 230 225 227 225 227 223 230 227 230 237 227 243 235 238 230 237 237 235 235 251 237 243 233 245 233 253 238 238 235 238 241 237 237 228 227 237 240 235 240 237 237 237 235 235 228 233 237 228 219 222 212 219 220 219 210 220 219 227 219 230 223 223 209 214 210 204 209 205 205 199 204 204 197 192 196 191 191 192 186 186 187 194 194 187 189 192 192 196 183 196 189 194 189 186 179 178 173 181 174 171 171 171 173 183 178 174 170 174 176 178 179 183 179 176 181 178 181 176 183 176 178 181 181 174 184 178 179 174 173 176 173 171 170 170 171 168 170 161 168 160 161 160 156 161 147 147 145 148 140 135 127 140 127 127 127 122 125 122 119 114 116 109 109 109 102 102 96 96 89 91 0 0 83 0
|
||||||
|
0 0 0 0 83 86 88 89 93 98 98 99 94 107 107 112 111 112 116 117 117 125 120 127 125 125 132 137 132 129 140 137 142 143 143 147 143 143 148 152 148 150 150 145 155 155 158 158 161 168 168 171 165 176 179 168 171 178 171 176 174 176 170 160 168 163 170 160 170 170 166 179 183 176 187 187 178 181 189 187 179 174 176 170 170 181 179 194 191 194 196 192 197 189 197 197 196 189 189 191 191 187 189 191 194 194 205 201 204 207 205 217 209 215 215 220 232 223 220 222 219 225 222 212 202 204 209 204 207 210 214 219 222 219 230 222 222 233 220 235 232 228 233 228 230 233 222 223 235 228 237 241 248 243 232 238 232 241 240 240 228 238 228 237 238 248 233 240 241 233 243 240 235 232 235 238 240 232 228 235 233 232 233 220 230 228 225 222 228 217 219 217 230 223 227 227 222 219 220 220 209 220 212 219 215 209 205 197 202 197 201 205 192 196 192 196 191 194 194 189 197 191 189 194 191 191 197 194 187 189 181 183 178 179 166 178 171 174 171 178 176 173 178 183 176 176 183 191 183 178 179 186 176 178 173 171 176 184 178 171 179 179 181 184 181 178 168 179 170 166 171 170 171 165 165 166 160 158 158 160 148 153 150 148 137 145 137 134 132 129 127 132 130 125 124 120 120 114 111 104 107 101 99 93 93 91 86 89 0 0 0
|
||||||
|
0 0 0 0 85 88 89 89 94 96 98 98 107 104 106 111 112 112 122 120 117 119 122 129 127 129 132 137 135 135 142 143 137 145 142 145 153 145 150 145 150 152 152 150 153 152 152 156 163 161 170 174 166 173 176 174 165 173 178 171 178 170 173 163 160 168 166 171 166 171 170 183 183 178 181 184 181 179 176 184 187 179 179 179 179 184 179 186 189 192 194 197 196 201 191 194 194 196 186 191 192 197 186 189 192 199 202 197 199 207 199 205 215 217 215 223 214 222 220 220 222 219 215 228 204 214 204 209 209 222 219 222 214 228 223 227 227 237 228 232 222 227 223 227 227 219 228 232 220 227 230 230 237 235 238 235 235 243 250 245 253 237 243 240 238 243 232 243 243 237 230 232 232 230 235 230 237 237 233 235 227 223 230 232 227 230 225 228 222 232 222 225 223 230 220 227 227 217 210 219 217 210 212 212 212 215 207 197 204 196 196 192 194 199 194 189 192 191 199 192 196 194 201 189 187 197 189 194 191 183 187 178 179 174 176 176 179 174 178 174 176 174 179 178 181 183 189 171 173 176 183 170 176 178 171 176 173 178 178 178 176 178 184 181 171 176 178 171 166 168 171 170 163 166 163 161 163 155 160 156 153 152 156 155 147 142 140 137 142 129 130 130 122 124 127 120 116 119 114 107 102 104 101 96 93 96 89 85 86 0 83
|
||||||
|
0 0 0 0 88 91 93 89 93 96 99 94 104 106 102 112 111 112 117 117 117 122 124 122 125 132 132 134 138 137 137 140 140 143 142 152 143 153 148 143 148 148 153 147 143 153 156 160 160 168 166 160 171 173 173 178 173 168 174 168 173 168 168 168 163 160 163 161 173 173 168 181 178 191 186 183 183 181 174 178 171 176 176 176 183 183 184 194 196 199 186 183 192 199 197 199 194 199 202 196 196 192 199 194 197 194 201 202 210 205 210 205 212 223 215 215 217 220 223 214 223 225 214 215 214 215 205 202 205 210 223 222 222 225 222 225 227 219 230 237 227 232 232 222 223 230 222 228 225 223 232 235 227 232 237 230 246 238 243 248 241 248 240 246 233 243 238 237 235 238 227 232 232 233 238 235 228 241 232 241 232 228 228 225 222 227 225 227 228 232 220 219 223 219 219 223 225 222 222 228 227 215 215 215 209 199 197 205 204 201 199 204 192 196 194 194 183 194 191 192 191 187 197 187 196 186 187 196 191 191 184 178 179 178 176 176 173 181 179 170 174 178 186 176 184 179 179 176 179 189 178 171 176 183 166 179 174 173 176 174 176 179 186 176 176 171 173 171 163 163 161 168 161 160 158 163 156 161 152 153 155 148 142 148 148 143 140 147 135 130 130 127 129 127 125 116 116 117 106 114 106 101 98 98 91 91 89 88 85 86 0
|
||||||
|
0 0 0 0 86 91 91 96 96 99 98 107 102 104 107 109 109 116 112 125 120 125 124 129 130 129 130 134 135 137 140 142 140 134 142 145 153 142 142 148 152 148 145 138 156 148 155 163 168 161 168 173 174 174 174 171 171 174 170 171 171 168 165 168 163 163 170 161 171 170 184 178 178 174 176 179 183 173 179 176 174 173 179 174 171 184 184 187 191 191 196 194 197 189 196 205 192 201 189 197 204 205 196 194 199 209 205 210 204 205 212 210 212 207 217 219 222 217 222 230 220 217 223 207 217 207 209 215 202 219 205 222 219 228 230 219 227 237 228 233 230 243 230 238 235 232 222 228 227 228 235 219 235 241 240 240 240 238 241 238 240 245 240 241 243 235 240 240 238 232 246 228 240 230 230 240 241 235 227 228 230 223 220 225 233 225 230 235 233 235 220 219 227 222 227 220 223 219 227 217 223 219 220 222 209 212 207 202 197 207 196 201 199 194 201 196 194 189 183 191 192 191 191 196 189 197 192 187 187 187 189 178 179 179 178 174 176 181 173 184 179 174 174 171 178 176 174 183 181 173 176 176 173 176 176 171 170 176 181 171 174 173 183 174 178 179 171 160 174 171 161 165 160 166 163 158 161 165 160 161 155 147 153 143 148 148 137 138 127 132 129 127 125 124 120 119 116 120 112 114 109 98 101 98 99 91 89 85 85 0 0
|
||||||
|
0 0 83 83 86 88 89 91 94 101 98 106 104 104 107 109 112 111 120 119 122 125 122 125 127 129 129 134 137 138 142 145 138 147 143 143 153 150 148 153 152 153 145 147 150 153 158 165 165 165 161 160 160 161 174 171 165 174 166 165 178 170 168 163 160 156 168 173 168 166 173 171 176 173 179 183 181 168 192 178 178 174 174 176 176 176 176 184 191 194 194 194 196 191 205 202 199 197 201 199 192 212 199 209 205 207 204 209 214 210 209 220 210 223 215 220 222 217 222 228 225 227 228 214 215 217 214 212 210 215 210 217 215 225 219 228 228 233 233 233 240 237 241 230 230 225 233 228 232 232 228 228 232 232 228 232 246 241 233 238 241 240 233 238 241 248 250 237 248 240 233 238 235 235 235 233 241 225 233 228 233 228 233 227 233 230 227 232 237 230 228 219 228 222 217 220 222 219 223 230 227 225 220 219 214 214 209 204 209 201 196 201 196 204 191 186 191 192 186 183 184 192 199 194 197 183 189 184 183 186 181 181 181 170 181 178 174 186 181 174 176 181 179 178 178 171 176 181 179 176 173 170 171 174 173 179 181 170 171 170 168 176 171 171 173 174 173 171 166 161 158 153 161 165 161 156 161 161 158 152 158 143 148 147 142 150 142 135 135 134 135 130 127 129 117 119 114 114 111 107 107 101 101 98 94 94 86 83 85 83 0
|
||||||
|
0 0 88 83 93 86 94 94 94 101 96 94 104 101 104 106 109 112 122 122 119 125 124 127 135 130 135 134 138 138 135 140 148 143 148 148 148 143 147 148 150 145 152 145 158 155 152 153 155 158 168 163 163 170 168 168 165 173 174 160 160 168 166 163 166 165 170 166 166 161 166 163 171 168 179 176 176 184 176 178 174 179 181 181 184 179 179 186 192 191 196 199 197 197 202 194 204 205 196 204 196 207 207 209 212 214 207 209 215 207 212 212 212 215 219 217 233 223 227 225 223 220 214 215 215 217 210 222 219 214 220 219 222 222 223 220 227 228 237 223 238 230 233 227 238 232 235 235 230 227 228 233 235 237 233 245 240 238 238 243 243 235 240 241 237 240 238 237 240 245 238 237 237 233 227 238 225 233 233 228 235 232 228 232 237 225 227 233 233 230 225 227 225 220 217 219 227 227 219 215 230 232 225 220 219 205 214 212 202 197 201 199 197 199 197 194 192 189 192 187 186 187 197 192 199 196 187 183 189 187 184 184 179 174 176 173 178 183 179 183 174 174 178 178 186 179 179 173 178 171 181 174 173 173 170 174 171 174 171 173 173 170 165 171 168 166 166 168 163 171 160 163 152 155 165 161 156 152 160 150 156 147 158 140 147 140 137 137 140 132 132 125 130 125 119 122 122 114 111 114 107 106 98 101 93 93 88 89 0 85 0
|
||||||
|
0 0 83 86 89 88 89 96 93 96 94 102 107 104 109 109 111 111 114 125 119 120 129 124 134 132 135 135 129 137 130 138 142 147 137 145 143 142 143 142 142 143 147 147 148 152 165 158 160 163 166 165 166 170 170 170 165 171 168 161 165 171 168 171 165 171 166 163 165 165 174 173 173 173 176 173 173 178 179 174 181 178 176 176 186 183 194 192 192 192 192 194 197 205 196 194 194 191 197 202 197 201 205 212 199 215 215 214 212 215 210 209 223 222 220 227 220 225 222 225 225 223 215 219 220 217 215 222 228 223 214 215 225 223 217 220 230 235 227 235 233 228 233 240 230 235 227 227 230 232 222 225 228 235 243 238 235 233 245 241 237 243 243 237 232 241 237 237 238 243 243 240 233 241 233 243 232 230 241 235 233 232 233 233 232 233 227 228 232 222 220 228 230 228 223 220 225 225 232 227 223 212 225 220 219 215 217 210 205 207 204 197 202 191 189 194 184 187 186 184 183 186 187 196 191 189 189 191 181 184 181 181 183 181 171 178 176 186 186 184 181 176 170 186 178 176 170 174 176 183 174 174 166 170 178 166 174 171 168 174 174 178 170 173 179 174 171 168 174 168 166 166 161 163 153 160 155 165 158 160 155 153 150 143 148 145 140 137 140 134 127 129 129 124 125 120 117 117 117 112 107 109 102 99 94 91 91 88 85 0 0
|
||||||
|
0 86 0 86 83 89 91 98 93 94 99 102 104 106 106 109 109 119 119 117 122 122 122 117 130 132 127 134 134 137 132 135 140 140 142 138 137 134 143 137 140 153 147 145 153 158 156 158 163 153 156 166 160 160 163 163 168 166 160 166 160 170 163 170 163 158 156 158 165 163 170 171 170 179 173 165 173 174 170 176 174 174 179 176 179 191 187 191 183 196 197 184 199 202 196 201 197 202 202 202 204 202 204 205 204 212 215 215 217 219 222 222 215 212 214 217 227 214 230 223 225 220 223 220 219 212 215 220 222 225 217 222 223 217 225 222 228 233 228 238 228 238 232 235 225 233 223 237 225 228 230 232 232 235 232 240 233 245 225 235 233 235 230 243 246 246 248 243 241 240 238 232 230 243 235 235 235 235 227 233 233 219 230 232 220 232 235 233 223 237 230 230 238 222 227 220 219 227 227 225 222 228 223 222 222 214 209 201 204 207 204 201 197 201 186 187 184 184 187 178 184 187 187 186 194 186 179 184 186 179 186 179 183 174 178 178 179 186 184 178 179 184 181 173 176 181 184 174 174 176 176 178 173 178 170 174 170 166 163 173 168 165 173 163 166 163 168 173 161 170 163 156 160 158 161 155 163 155 161 153 150 152 148 143 150 145 138 142 129 137 127 130 120 122 122 127 116 117 117 109 104 106 106 101 98 94 89 86 88 83 0
|
||||||
|
0 83 85 88 83 93 86 98 102 96 96 99 107 104 112 111 116 117 119 120 117 122 124 120 132 125 132 127 132 132 142 143 142 140 140 140 142 147 135 140 145 138 147 150 153 155 153 158 155 163 156 165 160 158 165 165 166 166 161 163 161 165 160 156 161 163 158 160 158 170 170 171 170 168 176 173 176 171 171 174 179 176 183 173 178 187 189 187 191 184 197 196 199 197 204 201 194 197 212 212 205 209 197 215 205 210 223 207 215 220 219 222 210 219 227 219 223 227 230 230 222 223 223 215 227 212 205 220 227 212 222 220 220 217 220 220 217 240 227 232 233 223 240 237 240 233 232 228 232 220 237 232 225 228 237 233 235 235 233 237 237 246 241 241 237 251 241 241 243 243 240 233 240 245 233 228 238 235 233 233 230 233 238 232 238 235 235 240 230 235 227 237 241 233 233 228 222 223 227 232 220 227 223 227 220 215 205 204 209 201 199 204 201 199 191 186 194 191 187 187 186 191 178 186 191 189 183 186 187 189 179 183 179 181 181 179 183 183 184 184 179 183 179 179 181 176 187 179 176 170 173 171 173 171 168 170 174 166 179 170 174 174 174 174 166 170 163 168 163 163 166 158 166 161 158 165 160 163 156 152 155 153 150 145 140 147 145 137 135 135 134 122 122 130 120 119 119 111 111 114 112 101 106 98 93 93 91 88 83 83 0
|
||||||
|
0 85 85 86 86 93 91 93 96 98 101 106 106 107 112 116 109 120 116 119 116 119 122 129 130 124 129 134 137 138 135 137 134 147 142 142 138 140 140 137 147 145 142 152 150 153 153 153 160 158 155 160 160 155 155 163 160 170 168 173 166 165 160 161 155 160 163 152 161 166 158 171 163 174 171 176 173 174 171 179 171 178 181 184 194 191 202 196 196 196 187 199 201 207 199 197 194 207 209 199 207 207 210 204 212 204 217 214 223 212 223 219 225 225 217 220 217 222 220 220 222 217 220 210 222 214 219 219 222 227 228 219 225 210 225 225 232 227 230 237 235 233 228 238 233 237 235 225 227 225 223 245 230 235 237 228 235 233 243 237 248 237 241 240 240 237 228 240 250 243 245 225 233 237 243 235 237 235 238 228 240 238 232 238 228 228 233 220 230 233 228 230 227 235 230 233 223 225 228 225 227 227 225 227 212 225 219 209 210 202 204 201 201 199 191 196 192 191 189 179 184 187 186 184 192 194 184 191 178 187 187 183 179 184 174 186 176 184 187 184 192 184 181 186 189 176 181 179 184 173 179 171 170 166 171 170 168 166 166 170 171 168 173 168 173 165 166 166 170 165 161 166 158 163 152 156 163 158 156 150 156 153 140 148 145 132 143 132 138 132 127 129 125 124 119 119 116 117 117 109 109 104 102 98 94 96 93 85 0 86 0
|
||||||
|
0 83 83 88 86 91 98 98 94 101 106 102 107 114 102 117 112 111 119 116 127 117 122 124 130 125 138 132 132 138 135 134 138 145 135 138 137 143 148 148 145 147 147 147 156 160 158 163 155 158 155 153 161 155 160 160 158 155 163 163 160 168 163 156 165 158 156 158 163 168 165 170 171 168 160 170 170 174 181 165 183 176 181 186 187 197 199 196 196 189 197 199 204 202 197 197 205 209 194 205 214 204 207 217 227 209 214 219 215 222 215 217 214 223 212 215 212 219 220 214 219 214 223 217 217 219 207 207 220 220 228 214 220 220 217 222 219 230 235 237 230 230 232 230 238 230 232 241 232 237 230 233 230 232 233 232 238 240 233 238 241 245 246 248 232 245 238 237 245 233 240 232 240 237 237 233 227 225 237 230 233 235 238 237 230 233 237 227 235 228 232 235 235 238 227 230 232 223 227 223 219 230 222 212 223 219 210 210 214 205 202 204 205 202 201 191 197 197 187 191 181 187 187 186 186 186 184 186 179 181 183 191 179 179 184 183 179 181 184 183 187 183 178 179 183 181 183 178 183 176 170 176 166 170 176 176 174 173 170 181 171 170 173 163 166 165 168 166 168 168 160 166 161 166 165 160 160 163 160 150 152 147 150 148 143 138 140 134 134 127 132 125 132 125 122 120 122 111 111 109 109 102 101 94 98 93 89 86 86 85 85
|
||||||
|
0 83 0 91 85 93 91 94 101 99 102 111 106 109 111 111 112 122 122 122 122 125 127 124 129 135 125 132 134 140 138 145 132 138 143 138 147 140 140 142 145 143 152 150 155 155 165 160 160 153 156 161 161 153 160 156 155 168 160 170 158 160 160 165 165 166 166 158 163 161 160 165 163 166 163 170 170 173 173 171 174 183 186 186 181 187 186 194 197 191 202 192 207 194 196 192 196 205 209 201 207 223 209 205 210 207 212 220 214 215 219 217 209 219 217 222 215 215 222 220 222 223 225 219 214 212 223 219 214 217 222 232 219 220 214 219 217 233 227 225 227 228 243 232 230 225 235 232 235 237 238 233 238 227 233 228 238 238 241 240 240 245 238 240 238 233 235 238 237 232 228 238 223 225 240 245 233 233 238 238 237 233 227 225 235 225 228 232 228 232 237 235 220 223 238 228 232 232 223 215 220 215 225 230 217 214 214 207 212 209 199 197 199 199 191 194 194 184 184 184 184 186 179 184 184 184 184 183 181 189 181 183 183 181 183 184 184 183 187 191 187 183 178 181 179 183 186 184 174 183 179 163 178 171 170 173 168 168 178 179 173 168 173 171 165 166 161 166 163 165 161 158 156 161 160 161 150 152 153 156 148 153 143 145 138 142 142 134 140 137 132 124 127 124 117 120 109 111 107 112 106 99 107 99 94 88 89 89 88 83 83
|
||||||
|
0 86 86 83 86 91 94 98 101 98 101 109 104 112 117 111 112 116 114 122 119 127 122 130 134 125 134 129 132 132 135 138 129 138 137 135 140 143 138 138 145 145 150 150 152 152 147 150 160 148 156 153 166 163 156 160 160 158 166 163 166 160 166 165 161 161 161 163 163 168 161 165 158 173 168 166 170 173 170 181 171 174 186 192 183 186 189 191 191 187 194 196 197 210 201 194 201 194 205 201 196 209 207 212 212 212 215 210 217 219 217 215 223 220 215 215 220 217 219 220 215 217 220 214 223 222 212 214 220 217 219 230 222 209 219 222 228 223 235 228 232 225 232 233 235 235 238 233 237 232 240 243 240 235 233 241 232 238 240 241 245 248 240 245 245 228 243 235 238 248 245 238 235 240 230 230 233 232 237 235 228 228 237 235 223 230 228 219 233 240 230 238 230 237 230 232 233 228 222 220 237 215 217 223 217 223 219 217 207 212 199 199 199 194 194 187 189 191 189 191 186 187 186 186 183 187 187 179 187 179 176 187 179 184 181 178 183 183 187 189 183 183 183 187 179 179 186 183 181 181 178 173 168 174 168 173 174 176 174 173 171 170 178 170 170 168 168 170 160 163 160 161 163 161 156 158 158 163 150 150 148 153 147 140 143 143 138 138 135 132 130 124 130 124 119 120 112 112 117 102 102 101 101 96 94 93 93 85 86 85 83
|
||||||
|
0 0 0 85 93 91 98 98 104 104 102 109 107 102 117 111 112 114 117 124 127 122 120 129 129 132 134 129 134 132 132 137 138 143 138 137 135 140 145 145 148 145 150 150 160 153 158 158 158 156 153 165 155 152 161 160 160 160 163 163 166 163 163 163 178 166 161 170 170 161 160 165 161 165 163 166 168 170 173 176 176 179 179 196 189 189 197 191 189 191 189 189 201 205 196 202 199 201 209 217 210 204 205 210 207 209 214 219 222 217 215 215 217 215 215 215 220 227 225 212 219 215 217 220 212 215 217 215 228 217 219 222 223 222 223 223 227 220 233 228 233 220 232 228 237 237 238 232 241 228 243 232 235 245 243 232 240 237 237 241 240 246 241 246 241 235 240 237 240 238 237 241 227 233 235 240 240 240 246 233 240 245 238 227 230 233 232 230 232 228 230 241 233 235 223 240 228 228 219 241 217 210 223 215 219 207 217 209 215 210 210 204 199 199 194 191 186 184 192 179 191 192 181 178 187 181 192 192 189 184 179 176 178 178 178 181 181 178 181 183 187 186 189 183 189 184 183 186 184 179 178 178 178 176 171 170 181 170 176 170 173 179 168 174 178 166 176 171 170 165 161 166 161 160 158 153 158 150 155 153 155 143 150 142 145 135 137 138 135 137 132 127 127 122 117 116 114 114 109 111 102 101 94 94 98 89 89 91 89 86 0
|
||||||
|
83 83 89 89 89 89 94 91 99 99 104 106 111 114 107 117 116 116 116 122 116 125 122 130 129 124 137 130 125 134 132 135 137 130 138 143 138 145 138 142 142 152 152 148 153 152 148 158 148 160 153 150 153 158 156 155 161 171 166 170 165 170 173 173 166 171 174 170 166 163 160 160 165 161 156 173 168 174 166 173 176 178 179 174 189 189 181 189 189 184 184 204 191 192 197 204 207 196 197 204 215 199 205 219 219 212 212 212 207 220 222 209 215 215 214 219 220 217 217 227 219 219 217 219 219 210 219 219 219 219 219 220 235 219 222 227 217 222 232 227 223 225 237 225 241 230 233 237 232 240 241 246 241 241 237 233 237 235 233 250 243 246 240 243 238 243 240 235 235 240 240 237 238 232 235 241 243 238 241 237 240 237 237 235 241 225 223 232 232 230 233 237 227 238 230 230 230 238 235 223 222 219 217 219 215 222 215 215 207 204 199 201 197 201 187 194 192 187 191 186 191 187 187 186 196 186 192 183 184 187 186 181 184 181 179 179 183 183 183 197 189 181 186 184 181 178 181 187 179 181 174 181 176 174 176 178 173 178 176 173 176 170 173 166 160 160 171 166 170 168 161 166 155 163 155 155 153 160 158 153 148 147 152 143 138 143 137 138 135 137 130 122 130 122 122 117 120 112 107 111 109 102 102 94 93 86 86 89 86 86 0
|
||||||
|
0 85 0 86 93 96 96 99 99 93 102 104 117 106 107 111 114 114 117 119 122 122 125 129 130 134 130 138 135 135 140 138 135 135 134 134 140 134 140 137 152 147 148 152 148 158 152 148 155 148 152 158 161 155 152 160 161 163 168 165 173 171 173 174 170 178 174 171 170 168 168 168 165 166 161 168 170 161 176 171 174 178 183 174 184 191 189 183 189 187 192 197 199 197 192 201 194 199 194 204 202 210 202 223 210 222 212 214 210 214 220 228 219 225 215 219 227 212 215 215 222 215 219 219 212 215 210 223 223 227 225 220 230 220 230 223 227 228 227 230 225 232 233 227 237 240 237 237 235 240 245 240 238 240 237 238 230 240 232 233 232 233 238 237 237 243 246 233 243 233 241 253 233 241 233 241 237 243 241 240 240 238 225 232 230 232 228 233 233 233 225 232 237 237 240 228 228 232 225 235 223 217 222 217 220 217 215 214 207 209 219 201 199 196 192 189 187 196 184 189 187 197 184 184 181 189 176 184 186 179 183 176 179 181 173 176 181 187 183 184 187 184 176 184 183 179 187 183 186 183 176 178 176 178 183 170 176 174 178 171 176 171 173 173 176 170 168 161 170 158 166 163 153 158 160 158 155 153 153 147 155 143 145 140 137 138 142 140 134 134 134 129 120 132 124 119 119 112 114 106 107 101 101 99 91 91 91 88 83 0 0
|
||||||
|
0 85 83 93 93 93 98 101 99 102 107 107 109 112 107 114 116 114 116 124 120 124 125 125 124 134 130 132 127 140 135 134 129 132 135 138 138 138 137 138 142 143 145 150 147 155 145 153 150 150 148 158 152 156 161 168 165 155 170 170 173 176 173 178 178 174 181 173 165 166 171 166 173 168 171 166 168 173 173 178 178 176 176 174 181 184 186 184 187 184 179 184 186 191 194 197 189 201 207 199 202 207 205 209 207 214 214 214 222 220 215 220 217 220 223 210 222 223 223 223 222 220 214 215 214 214 212 227 223 220 223 230 225 219 227 223 230 230 227 227 228 233 238 228 238 240 240 232 235 235 240 241 243 250 241 227 233 228 227 241 232 230 235 235 240 230 246 227 237 235 238 235 241 238 235 241 233 250 243 235 248 238 240 230 230 223 237 232 212 227 227 225 237 227 230 225 228 233 230 228 227 215 222 217 212 212 215 212 207 219 205 199 205 204 197 194 191 192 191 199 189 192 197 194 192 184 192 187 187 186 179 178 181 179 184 181 183 178 184 183 184 192 184 183 186 178 181 187 183 187 184 183 183 187 181 178 174 174 178 168 174 174 173 171 171 166 171 166 160 160 173 161 165 155 160 155 153 155 153 155 150 150 142 145 143 138 142 137 140 125 130 127 127 124 127 119 117 114 109 107 107 104 96 96 93 89 86 86 85 0 0
|
||||||
|
85 83 86 86 91 94 96 99 102 104 101 111 107 109 112 111 111 117 112 122 120 124 122 124 129 125 127 127 125 137 135 130 134 134 124 135 137 135 135 142 140 140 150 142 145 143 153 153 145 150 148 152 152 161 161 166 168 171 168 174 171 179 170 183 183 179 184 179 174 170 165 165 165 166 173 168 171 179 178 178 174 179 181 178 176 179 186 184 187 183 189 194 179 189 191 194 197 197 202 205 204 197 210 212 209 209 210 219 220 214 223 214 217 217 220 210 220 214 225 214 214 222 214 214 214 210 222 210 227 228 222 228 232 228 230 238 223 230 227 227 241 230 230 227 230 232 240 237 245 243 235 241 241 240 235 233 238 232 232 228 227 233 245 240 238 245 238 246 240 235 241 241 228 228 233 243 230 241 255 240 230 228 235 235 230 238 227 225 232 230 222 230 227 222 230 240 235 230 228 230 222 230 223 227 222 210 214 210 214 204 215 197 201 194 197 194 194 197 197 196 191 202 197 196 191 181 187 191 183 183 181 179 171 183 178 179 184 179 181 187 183 184 194 181 183 178 189 178 187 184 184 176 183 178 183 184 179 178 170 173 173 170 171 174 163 168 170 163 174 168 155 165 161 160 156 158 155 152 155 148 152 143 147 140 140 137 140 135 132 134 134 130 125 125 124 119 122 112 112 109 106 104 98 91 91 94 93 88 83 0 0
|
||||||
|
83 85 91 88 94 94 99 98 101 101 104 107 109 107 116 114 107 119 114 117 120 120 122 120 120 125 127 125 134 130 138 132 132 129 137 130 137 138 135 137 140 138 142 152 147 152 147 152 152 148 155 155 160 155 163 163 171 174 178 171 179 176 189 171 186 186 186 178 176 179 168 166 170 163 178 176 166 174 171 171 173 173 171 176 176 178 181 184 183 186 184 183 194 194 191 202 186 199 191 201 202 210 210 210 215 207 212 215 222 214 217 217 225 220 214 212 205 220 225 214 223 214 212 212 212 210 227 233 222 227 230 227 230 227 227 227 228 228 215 232 222 233 237 235 232 241 243 240 246 240 235 248 235 238 238 227 232 237 233 232 235 241 237 238 237 233 240 240 237 251 238 237 235 223 230 241 238 230 243 245 235 241 237 241 232 232 227 228 225 223 233 223 233 230 228 225 227 227 222 230 225 222 227 228 212 219 207 210 209 204 202 204 197 196 196 187 194 199 194 189 189 197 194 189 192 194 189 184 181 184 181 183 178 173 174 174 178 181 189 186 176 178 174 191 184 186 181 183 184 187 191 181 184 183 179 176 183 174 176 179 171 171 166 170 171 174 161 166 158 158 158 163 163 153 158 152 153 155 155 155 152 145 143 145 138 138 137 135 134 135 129 132 127 117 124 120 114 109 112 101 101 98 96 96 93 89 89 89 0 83 0
|
||||||
|
88 86 85 83 91 91 89 101 102 102 109 104 107 112 111 112 114 114 117 119 122 119 117 124 124 125 122 129 125 127 132 129 130 132 134 134 127 140 135 135 143 135 145 137 145 152 148 148 147 152 158 163 163 161 171 174 171 173 181 181 173 183 179 179 184 176 186 187 176 176 168 168 174 174 170 171 174 174 171 174 173 176 173 189 176 179 181 184 179 186 183 187 184 194 194 184 194 201 197 192 201 207 204 223 215 207 210 214 212 223 217 219 219 209 215 215 220 215 219 215 220 214 205 219 209 217 228 225 223 227 233 230 222 238 228 228 227 222 227 220 230 225 232 230 233 230 232 241 235 235 241 238 232 243 230 238 233 228 230 232 230 235 240 246 238 245 241 237 241 241 243 227 232 233 233 235 241 243 241 248 238 235 237 237 235 225 232 232 230 220 228 232 220 232 227 228 227 230 228 227 232 223 225 225 225 214 210 212 214 207 205 212 199 184 194 184 186 184 191 192 194 196 201 191 194 194 199 189 189 186 183 178 183 179 183 173 179 178 183 181 181 187 178 194 183 186 194 184 189 181 186 183 187 178 187 181 181 181 179 183 178 174 173 165 166 165 170 158 163 163 158 158 156 153 156 153 152 147 153 152 152 145 145 142 143 135 137 140 140 130 137 130 122 120 117 117 117 116 107 106 102 101 96 98 89 88 91 86 0 0 0
|
||||||
|
83 85 85 93 91 99 96 96 98 101 101 96 111 107 106 111 111 116 116 122 117 125 116 117 117 120 124 132 132 127 127 130 125 130 130 132 130 138 140 135 138 140 143 143 150 145 155 163 153 156 158 161 168 171 166 173 174 174 170 178 187 171 179 183 181 179 178 176 181 176 179 173 171 178 174 183 176 171 174 178 176 170 174 179 179 179 187 178 187 183 181 189 181 183 186 187 196 196 197 202 201 204 201 202 202 210 205 212 220 210 222 217 209 217 207 220 217 222 215 214 219 217 219 212 215 214 217 219 220 223 225 223 238 223 235 228 230 230 222 223 222 223 235 225 230 240 230 233 243 230 232 237 240 225 238 230 228 230 225 232 230 235 237 237 238 241 240 237 240 237 237 243 238 232 240 233 243 243 251 238 240 233 243 237 225 243 233 235 225 230 228 233 228 223 225 227 230 227 223 217 227 223 217 217 222 219 215 212 210 202 205 199 207 191 199 189 189 184 184 191 187 191 191 194 194 199 194 189 183 179 189 176 181 173 178 179 183 168 187 183 184 179 191 183 183 176 186 186 186 191 191 186 189 183 181 178 178 179 181 184 174 179 168 173 170 165 160 168 168 161 158 158 158 153 153 148 153 150 143 148 142 143 138 140 137 138 140 138 134 132 125 130 120 124 119 124 114 112 104 102 101 98 98 93 89 89 89 85 85 0 0
|
||||||
|
83 86 91 93 99 94 98 101 102 106 106 101 104 109 107 107 106 112 112 114 119 116 124 117 122 125 127 124 127 127 135 130 135 137 130 137 132 130 142 142 143 147 148 143 153 160 158 150 153 155 158 166 171 173 168 170 179 174 183 184 178 183 178 178 176 181 186 179 174 184 183 176 183 174 170 171 176 174 173 173 176 184 176 183 176 176 178 179 183 181 189 189 187 183 183 197 184 196 196 199 202 209 205 212 210 219 204 214 212 220 214 217 207 225 210 219 220 222 215 219 212 214 219 210 219 219 220 223 223 223 227 228 227 227 233 230 222 217 228 220 227 227 230 238 230 240 237 240 237 235 237 225 241 241 237 232 233 232 232 230 233 230 227 225 240 238 232 232 238 241 241 232 237 235 240 235 243 243 246 241 233 243 230 232 232 237 233 230 235 230 230 225 227 230 223 227 222 227 220 219 215 215 214 212 227 219 209 209 207 202 207 209 201 199 194 187 191 194 181 196 186 189 201 191 197 197 199 196 192 179 181 178 178 179 179 178 179 178 183 178 183 189 173 179 186 184 189 189 187 181 184 187 191 191 183 181 183 181 176 181 174 163 165 171 170 161 161 155 165 165 155 152 158 158 155 152 150 148 147 138 140 150 138 138 140 135 137 135 130 132 132 129 124 125 119 114 112 112 106 104 101 94 98 93 99 91 93 85 85 0 0
|
||||||
|
85 91 89 88 94 94 94 99 98 104 102 106 111 111 106 111 117 114 117 117 127 116 124 122 120 120 122 134 129 127 125 130 134 134 132 132 137 140 140 142 140 150 148 147 148 153 153 158 163 170 160 170 170 170 163 178 174 176 171 179 184 181 189 174 176 187 181 178 179 183 183 173 178 174 173 170 171 183 178 179 189 181 187 184 181 184 176 191 186 181 186 186 184 184 179 191 196 194 191 202 207 207 204 204 204 209 210 207 215 214 223 219 219 220 214 219 214 209 212 210 217 214 219 210 215 220 219 222 233 235 219 227 228 227 233 228 219 240 215 220 220 230 219 222 233 232 240 227 243 245 243 238 238 233 225 237 225 240 230 232 237 227 238 227 237 230 240 235 237 235 233 230 235 230 240 237 240 240 243 248 241 240 240 232 243 233 235 228 232 225 227 235 223 223 230 222 227 215 219 214 209 222 222 222 214 215 210 214 215 212 207 205 209 199 201 187 194 187 187 189 191 192 191 187 186 194 192 191 192 187 176 181 173 183 179 174 171 176 179 179 183 179 187 183 189 179 186 187 183 191 181 186 189 176 186 179 181 181 170 174 178 176 174 166 160 170 163 168 161 165 163 163 160 156 153 148 153 152 147 147 145 137 142 145 137 137 140 138 134 130 129 125 127 122 117 116 117 112 104 107 102 102 94 89 88 91 88 83 0 0 0
|
||||||
|
85 83 88 91 94 99 98 99 99 104 102 106 104 106 109 112 111 112 117 116 117 124 119 120 119 125 124 127 127 125 129 130 134 127 137 135 140 137 140 145 147 152 145 150 160 153 156 161 161 160 170 168 170 171 181 174 176 178 173 183 174 184 178 194 181 184 179 189 189 183 183 174 178 178 176 176 173 179 179 191 181 194 183 183 184 189 183 181 187 184 183 192 186 189 181 187 191 196 194 197 201 197 205 201 202 209 215 212 209 214 210 220 228 207 219 209 209 222 215 219 219 217 222 217 205 209 212 220 230 228 222 227 227 227 227 228 233 222 228 230 225 222 227 230 235 230 233 246 237 240 238 235 233 240 241 235 237 240 227 233 243 228 243 230 241 240 241 233 233 243 245 235 238 233 238 243 235 233 245 246 241 246 237 222 238 233 237 235 228 230 228 227 230 230 219 222 217 220 209 219 225 219 220 225 219 219 210 205 209 210 214 202 201 207 186 192 187 186 184 183 194 191 196 194 194 189 187 194 187 184 184 176 174 171 179 173 189 173 174 183 187 186 186 183 179 181 191 181 184 187 184 181 186 181 181 181 178 181 179 181 173 170 171 178 178 168 171 166 166 165 165 165 158 158 156 156 152 145 147 150 148 143 140 145 137 135 135 138 134 135 120 127 129 117 117 119 111 111 104 102 101 104 94 94 93 94 88 85 83 0 0
|
||||||
|
0 86 88 89 89 93 96 99 101 101 104 107 106 102 107 111 111 117 117 114 120 125 119 125 125 124 124 125 127 132 129 137 137 143 142 140 132 142 132 143 147 145 155 150 153 150 160 156 155 168 161 171 171 166 174 171 173 178 181 186 187 181 179 191 184 184 183 184 181 184 181 181 176 176 178 173 179 181 192 191 192 181 186 191 186 181 194 181 183 189 176 191 186 179 187 184 194 194 194 192 204 202 196 209 214 205 204 219 209 202 209 209 219 217 209 214 205 225 222 209 215 215 227 217 215 228 225 223 220 227 223 233 215 233 238 230 222 223 223 227 228 219 227 220 228 225 237 235 237 237 237 228 237 238 232 240 233 235 237 230 228 227 230 240 233 235 237 245 235 232 238 240 245 237 246 243 245 240 237 233 230 238 238 238 241 238 225 233 235 235 225 223 228 225 215 220 219 214 214 225 225 223 220 215 220 220 219 204 217 207 209 201 199 199 201 184 191 186 187 196 187 194 192 194 191 191 194 187 189 189 179 179 178 174 179 174 173 181 179 181 181 179 181 192 183 187 179 184 181 178 189 179 178 189 184 184 181 179 176 183 174 173 170 163 163 174 166 166 168 163 168 160 152 161 158 155 152 148 145 145 143 138 148 132 138 140 132 132 137 134 127 124 122 119 114 119 109 112 107 106 101 96 93 91 89 93 85 88 0 0 0
|
||||||
|
85 85 86 89 93 91 99 94 101 104 101 104 107 114 109 111 111 114 117 119 116 116 125 124 125 127 129 137 124 127 134 125 130 134 130 140 143 140 142 143 147 153 158 148 160 161 163 163 166 179 170 166 181 181 174 184 179 189 171 181 183 186 187 178 186 176 184 181 178 184 171 179 174 176 173 184 181 179 189 194 192 186 183 186 186 184 191 191 186 183 189 181 189 189 179 191 192 199 194 199 201 209 202 205 202 212 204 209 214 205 210 220 219 217 214 205 214 204 212 220 217 212 222 227 217 228 215 232 219 214 227 220 230 220 228 223 225 222 225 228 220 230 217 227 225 237 230 233 232 230 235 238 238 235 240 232 235 240 237 237 233 233 223 233 237 233 235 237 237 235 237 241 223 233 240 237 232 233 238 233 245 238 235 243 235 237 230 225 228 232 225 227 227 228 217 232 214 222 215 209 214 220 223 217 220 214 215 210 205 199 199 202 194 197 199 197 191 192 186 189 192 189 189 189 192 194 192 197 192 189 184 181 183 174 173 178 179 187 179 183 186 178 179 183 174 189 191 183 186 184 173 183 184 186 181 186 178 184 181 178 181 173 171 170 171 170 171 166 161 165 158 156 156 156 145 152 150 145 148 138 147 147 145 140 138 134 137 132 129 130 127 132 117 125 116 112 106 109 109 106 101 102 98 96 96 94 88 83 0 0 0
|
||||||
|
0 86 89 91 91 94 98 99 99 96 101 99 106 99 111 111 114 112 114 119 122 119 122 127 127 129 120 125 132 129 132 132 134 137 137 135 137 145 143 147 152 150 168 160 161 161 163 156 171 166 166 176 174 176 174 184 183 181 183 184 184 186 186 176 176 179 178 187 178 174 191 179 184 174 179 178 183 191 187 186 184 184 194 186 189 184 191 192 192 186 186 189 187 178 183 179 184 189 194 187 199 196 205 207 209 212 205 204 219 205 219 215 222 214 210 204 215 215 207 212 222 207 219 217 225 209 230 228 215 219 228 228 227 225 232 223 225 228 230 222 228 228 225 217 238 220 222 232 237 230 246 238 235 238 246 235 237 235 232 230 227 238 238 219 227 235 233 243 233 232 238 228 238 238 233 232 235 227 238 237 243 232 240 241 227 225 227 232 235 222 227 228 228 233 232 222 223 214 217 212 207 223 212 214 217 210 212 219 205 204 207 201 205 197 197 196 192 187 194 194 191 186 191 187 194 194 197 192 178 192 187 186 187 187 178 173 173 174 176 183 178 184 184 186 191 178 181 179 187 186 184 183 179 186 181 178 183 179 186 181 178 170 174 171 170 179 170 170 174 160 163 160 160 156 156 152 148 152 138 152 143 138 143 143 138 138 137 137 137 124 127 127 127 122 114 112 112 109 101 102 102 99 91 94 96 96 83 88 0 0 0
|
||||||
|
0 85 89 88 88 94 93 98 93 102 102 98 107 107 106 107 109 116 117 117 112 117 114 122 127 134 132 125 129 132 134 134 132 137 143 137 140 148 142 148 156 160 161 163 155 163 168 166 165 165 173 171 178 174 173 178 183 183 184 176 184 191 191 183 176 171 189 173 176 183 183 181 176 171 171 174 184 187 186 183 194 187 189 186 189 192 186 187 191 179 183 187 191 187 187 184 186 197 187 204 205 205 204 196 205 202 209 207 205 215 209 210 217 214 207 214 212 209 215 212 207 214 220 217 225 215 217 215 215 222 228 222 223 217 232 230 227 227 237 237 228 222 225 219 222 223 225 228 223 233 241 240 230 233 225 237 237 243 228 238 230 230 225 238 228 228 232 238 233 237 235 232 232 240 235 230 240 235 241 240 233 232 230 235 228 233 225 238 235 223 227 222 220 225 223 227 220 212 220 220 220 215 222 220 214 222 210 209 210 201 202 196 197 194 186 189 194 197 189 192 201 197 194 189 191 194 192 196 192 197 192 186 187 184 184 178 181 168 171 178 179 176 187 187 181 187 186 183 187 184 183 183 191 186 178 181 184 181 184 178 179 178 171 176 176 173 161 168 171 166 158 152 153 161 158 150 147 147 155 145 138 148 140 138 138 135 137 134 134 132 125 122 119 117 117 116 107 107 106 101 99 102 99 94 89 96 86 0 0 0 0
|
||||||
|
85 86 89 91 91 98 93 99 99 98 102 102 104 104 99 111 107 111 112 114 114 112 116 124 116 127 124 129 129 129 130 132 135 134 138 142 147 148 150 153 155 153 161 153 163 163 160 170 174 168 168 178 179 174 178 181 181 181 184 184 189 186 184 174 184 174 170 178 174 179 181 181 181 176 176 178 178 186 181 181 183 187 192 191 191 199 184 189 186 183 183 183 184 187 184 189 174 192 189 196 202 204 199 205 209 205 209 204 207 201 196 207 215 214 212 201 205 205 205 210 212 210 219 217 214 217 219 219 225 227 215 228 232 228 227 232 227 225 212 222 222 233 230 228 230 225 220 235 228 235 241 233 235 245 235 228 237 240 233 235 228 235 235 227 222 230 220 227 227 237 238 228 232 225 235 240 233 232 237 233 240 233 232 232 227 238 230 228 230 220 227 233 225 223 219 227 212 220 219 209 215 217 219 222 223 212 217 209 215 209 202 202 196 192 201 196 192 187 192 189 189 199 191 196 189 199 196 197 194 187 186 189 187 178 183 184 176 186 168 183 187 186 183 192 189 179 187 189 194 187 183 187 174 183 186 186 184 178 183 181 178 166 174 168 166 173 161 165 160 166 158 156 158 156 156 153 152 155 147 152 145 143 148 134 137 137 137 134 125 129 124 122 124 114 112 116 112 109 104 102 104 99 96 91 94 86 85 0 0 0 0
|
||||||
|
86 88 88 93 91 96 96 101 99 96 101 101 101 102 106 107 111 111 111 117 112 119 117 117 124 120 122 125 122 129 130 127 124 135 134 135 142 142 153 156 153 160 155 168 163 163 179 165 168 161 176 173 174 178 181 179 183 184 174 181 183 186 184 186 183 176 178 176 173 179 173 173 179 183 170 174 174 178 184 184 191 187 183 191 191 186 184 184 184 186 183 186 176 181 183 183 186 191 196 197 205 202 202 202 210 204 197 204 194 204 199 202 205 207 201 215 202 212 207 205 212 217 204 212 214 223 215 222 219 217 222 215 228 233 228 220 225 228 232 233 235 227 241 227 222 232 230 237 227 228 228 243 232 227 243 237 235 243 233 243 237 232 233 232 232 238 227 235 235 225 237 232 237 243 233 233 237 228 237 225 230 232 233 228 230 232 225 230 227 220 227 212 225 223 220 220 225 212 220 212 220 217 217 219 223 215 219 210 205 205 202 207 202 194 194 196 196 186 192 191 197 197 191 192 196 194 192 199 186 192 183 197 178 186 181 183 179 184 184 178 178 183 181 174 192 186 187 187 184 189 184 189 183 189 184 187 183 179 183 179 176 183 181 176 173 165 166 173 166 161 155 161 150 160 155 153 148 145 148 148 147 140 138 138 140 138 130 137 132 132 125 134 122 119 117 114 114 101 112 102 101 96 99 96 86 93 86 0 0 0 0
|
||||||
|
83 86 88 94 89 91 99 102 99 98 101 106 106 104 111 116 109 111 116 117 114 119 119 120 120 125 120 122 124 125 129 132 132 129 145 140 145 150 145 152 152 147 160 156 168 161 168 173 168 179 178 181 176 179 179 181 179 174 179 179 181 184 181 186 178 183 179 176 176 179 173 174 173 178 170 173 174 181 191 181 191 192 189 197 191 197 197 186 189 176 181 181 186 187 179 176 181 192 189 202 197 204 201 194 204 197 201 205 210 196 201 205 207 207 205 205 205 201 202 214 209 214 210 219 217 219 223 220 220 215 225 219 219 222 227 230 228 220 220 230 223 223 241 228 220 222 220 230 225 215 228 228 237 240 235 235 228 237 233 241 233 228 233 235 223 230 233 233 227 230 225 228 225 228 235 233 230 232 223 238 233 225 227 222 232 235 228 232 223 228 222 232 222 219 222 220 212 230 215 215 220 220 215 217 210 209 209 209 209 202 204 199 194 199 197 187 196 191 194 191 187 196 199 197 191 196 187 199 192 183 187 191 194 186 178 176 179 183 179 178 179 176 176 183 183 179 186 189 186 191 186 189 181 189 183 178 181 181 178 179 181 171 176 176 173 166 166 168 171 155 160 156 156 150 153 147 148 148 140 148 138 143 142 142 140 132 135 135 132 125 127 124 124 117 117 112 114 109 102 106 99 99 91 98 93 89 86 83 0 0 0
|
||||||
|
89 93 89 91 99 94 96 96 96 99 96 102 107 109 107 109 112 111 116 109 120 120 130 124 122 117 125 122 122 127 135 129 137 140 138 140 145 145 148 150 155 156 160 163 163 156 166 168 166 168 168 183 179 174 181 178 183 183 181 184 183 178 184 189 184 176 174 183 178 176 170 176 179 178 183 174 176 174 183 184 191 191 189 192 192 189 178 189 186 189 183 183 181 183 184 183 184 183 196 187 197 202 204 204 197 201 192 196 215 201 202 205 199 205 201 197 201 205 209 212 205 204 214 217 228 223 219 230 232 222 222 219 237 223 227 232 225 237 232 228 228 223 232 230 222 228 225 223 227 223 227 233 228 222 235 241 233 238 235 228 233 227 238 240 223 222 232 228 232 240 227 228 230 238 227 225 228 235 225 227 235 233 223 225 233 232 227 223 222 230 222 223 223 222 227 219 215 215 215 215 204 210 204 219 220 207 205 210 205 199 199 201 187 192 194 194 192 197 191 196 197 192 197 187 194 192 196 187 191 202 186 184 189 189 187 176 179 189 178 178 181 179 186 179 183 179 191 184 183 189 187 186 184 183 181 183 184 181 179 186 178 170 176 174 171 174 161 171 161 161 166 153 156 147 155 152 147 152 145 147 142 138 145 137 137 132 137 130 129 127 127 125 116 120 116 111 111 106 111 102 102 98 96 98 88 85 0 83 0 0 0
|
||||||
|
83 88 89 91 96 93 98 102 96 98 99 104 107 104 102 109 119 114 111 119 116 122 122 124 129 124 119 122 124 130 129 140 135 138 147 147 148 147 148 152 153 155 156 160 155 156 160 160 168 165 163 170 174 170 171 176 181 179 171 178 181 179 181 181 178 174 178 181 181 173 174 171 178 174 173 181 179 178 181 184 186 189 192 194 191 189 187 184 184 181 176 176 179 184 183 186 179 184 186 196 205 189 197 197 194 207 201 201 204 202 212 207 202 210 199 207 204 209 199 201 204 205 215 209 215 219 214 233 215 220 223 227 222 233 225 220 219 228 217 230 230 225 222 230 227 233 217 228 230 222 233 230 233 227 233 238 238 240 243 230 241 232 235 228 230 227 222 233 228 232 233 237 241 235 232 230 240 235 228 237 227 227 223 228 223 222 223 223 237 223 215 225 225 230 217 217 223 220 217 217 209 210 212 219 209 212 212 205 205 207 204 202 191 191 196 199 196 187 194 192 189 196 189 191 187 192 201 196 191 194 191 184 183 183 174 181 179 176 181 178 186 179 184 173 186 178 186 189 179 186 178 186 186 184 186 186 174 184 174 179 179 174 173 173 170 161 173 163 168 165 156 153 156 155 156 153 153 150 148 148 152 140 140 143 135 138 134 134 132 124 132 125 124 116 117 112 111 112 109 96 101 98 94 94 93 85 83 83 0 0 0
|
||||||
|
88 89 91 93 93 94 102 104 99 106 101 106 109 107 106 114 112 116 112 116 114 117 127 127 120 124 120 129 130 124 138 142 145 143 135 152 150 148 148 152 156 158 153 161 170 166 160 165 165 166 166 171 166 171 168 171 171 173 174 179 179 174 183 181 179 174 173 166 179 173 170 174 174 166 178 168 168 176 186 181 187 181 191 186 189 187 191 191 181 184 173 178 173 179 181 176 184 184 191 191 197 201 199 209 199 207 201 202 205 210 207 204 201 201 212 201 204 210 204 202 205 214 209 222 222 230 230 223 220 223 230 222 233 219 225 225 225 220 225 230 228 232 225 220 227 222 223 220 223 225 228 228 240 237 230 250 237 240 243 228 233 230 235 227 222 228 222 225 227 232 230 230 233 230 233 235 223 235 227 240 230 240 227 235 223 227 225 219 220 217 225 220 225 222 209 214 215 207 215 207 220 210 214 209 209 204 214 204 210 204 197 199 197 189 202 189 199 197 197 192 192 189 196 201 197 194 191 187 189 196 192 187 192 181 179 181 183 184 181 174 181 178 186 178 178 183 183 183 187 186 184 189 194 181 187 181 186 183 181 179 174 173 170 171 166 173 165 165 160 165 163 156 158 153 155 153 152 150 147 152 147 147 138 140 138 137 132 130 130 129 127 122 119 112 111 122 107 107 101 106 104 101 96 94 85 88 83 83 0 0 0
|
||||||
|
86 93 89 96 96 94 99 101 102 99 104 111 104 111 107 107 116 116 112 116 117 122 122 119 120 119 124 125 129 130 132 134 140 138 152 143 158 152 153 152 156 161 155 163 165 160 166 165 166 166 165 171 173 176 168 168 174 168 176 181 178 174 178 178 176 171 171 171 176 173 171 174 176 173 176 176 171 179 174 181 181 184 187 187 183 196 187 186 196 187 179 181 179 181 183 184 183 178 186 202 201 202 196 205 199 202 204 201 201 201 212 207 205 204 191 209 202 204 201 207 207 205 215 214 215 223 219 219 225 228 230 228 222 227 223 228 225 230 227 222 228 225 222 225 232 222 223 219 225 223 223 228 232 235 243 241 246 232 235 241 232 228 228 232 230 227 222 225 232 233 228 235 232 223 225 233 223 227 230 227 223 228 230 214 228 220 225 227 219 219 220 220 220 219 217 217 217 223 215 210 210 212 210 207 207 212 209 209 204 201 201 199 192 194 194 187 194 199 192 196 184 199 191 189 191 197 192 191 187 191 178 189 186 181 179 178 183 176 178 186 179 186 187 181 187 186 189 181 183 187 181 186 186 183 176 189 181 176 183 183 171 174 168 168 170 163 165 166 166 156 163 158 155 155 153 150 155 143 148 145 145 143 137 140 140 138 130 129 129 132 122 127 124 120 112 107 111 111 99 106 102 98 101 93 88 86 86 0 0 0 0
|
||||||
|
86 86 94 99 94 102 99 102 101 102 104 106 109 112 114 114 116 116 120 119 119 117 117 122 122 120 122 127 129 134 140 140 142 145 143 150 147 153 155 150 158 153 163 165 168 165 165 166 171 168 171 173 168 168 178 171 181 171 183 181 179 176 176 176 174 174 176 173 170 179 174 174 173 176 170 173 178 178 178 184 189 194 187 192 199 183 189 187 189 179 187 181 178 179 178 181 181 187 191 184 191 199 201 194 205 199 205 207 202 201 201 196 210 205 219 204 197 202 199 199 197 214 217 219 214 214 225 227 237 214 222 225 220 228 235 228 230 230 225 232 232 215 227 225 225 227 220 222 227 230 230 230 237 246 245 230 238 237 243 232 233 237 233 237 222 222 232 223 232 230 227 225 225 232 227 232 222 214 222 225 230 233 228 223 222 219 223 230 228 223 220 220 220 212 212 212 220 212 219 217 212 210 205 209 205 215 204 202 205 199 204 204 194 199 194 189 191 201 186 189 194 191 197 192 194 192 191 192 194 189 192 184 183 184 178 174 183 174 184 186 186 178 179 186 176 184 186 181 187 184 194 186 179 186 179 179 181 173 170 178 171 176 166 168 168 166 163 166 161 160 163 158 152 161 150 155 155 153 147 138 143 140 140 138 137 145 129 130 134 129 132 124 122 122 112 107 112 104 101 102 102 98 94 93 89 88 0 0 0 0 0
|
||||||
|
89 91 91 96 101 99 99 98 101 99 101 111 104 104 111 114 111 111 114 111 119 120 119 122 120 119 127 129 129 132 135 140 142 143 147 148 153 150 152 155 153 160 165 165 158 165 165 168 170 163 165 171 166 174 171 176 171 174 171 181 176 176 184 186 184 171 189 179 170 174 178 173 170 184 179 174 189 189 174 176 189 184 186 192 178 187 187 192 183 183 171 178 176 168 178 186 183 186 189 192 197 202 201 204 205 204 207 204 201 196 215 205 204 209 196 209 194 197 194 194 212 210 207 217 215 225 223 209 222 225 222 232 235 219 217 230 214 225 223 228 223 230 237 220 222 225 232 220 223 220 232 230 241 228 240 241 243 232 233 228 238 227 223 222 223 219 223 228 225 227 233 233 232 220 220 223 228 223 219 228 214 227 225 223 222 225 220 223 210 209 217 214 219 215 217 215 215 220 215 214 217 204 210 205 204 205 204 207 202 205 202 202 204 192 196 186 186 191 189 189 196 196 192 189 194 196 181 192 187 187 181 191 176 183 181 178 184 178 173 181 181 181 183 181 183 181 186 179 179 174 184 181 186 179 181 179 178 178 178 171 174 174 163 168 163 168 163 166 165 163 163 160 153 147 153 150 150 145 158 140 143 137 138 135 134 130 134 129 125 125 127 124 119 116 109 111 111 111 102 107 98 98 98 93 88 85 85 0 0 0 0
|
||||||
|
83 94 94 93 96 102 99 99 102 101 104 107 107 104 109 114 112 116 111 117 112 122 122 120 119 125 120 122 130 130 137 135 143 143 142 148 147 160 152 156 160 158 163 161 166 173 165 171 161 168 168 170 168 165 166 173 168 179 171 171 173 174 176 179 181 178 178 174 187 181 179 189 178 173 183 181 184 183 178 194 191 184 196 192 196 187 186 191 189 189 173 174 176 173 174 178 183 184 191 192 204 197 201 197 192 202 199 205 196 202 199 201 202 204 197 204 197 201 205 207 207 210 209 219 214 219 219 219 227 223 230 222 223 227 223 225 232 227 227 233 225 227 219 215 227 230 223 219 228 232 230 238 240 230 232 237 232 240 222 241 238 230 233 230 219 228 222 223 228 222 227 225 225 225 228 223 219 223 223 214 230 223 219 220 227 215 214 230 220 222 222 217 220 212 215 215 219 212 212 214 210 205 205 210 209 204 207 199 202 204 192 184 202 199 184 183 186 189 201 191 186 186 187 192 186 186 187 189 189 196 179 186 184 184 178 187 179 184 174 183 183 176 186 178 184 186 184 186 189 174 179 181 173 181 181 174 174 178 166 170 178 166 163 166 163 163 163 165 160 163 161 152 152 155 156 153 145 150 145 138 142 142 137 140 129 129 127 129 124 129 114 124 120 119 107 109 109 104 101 104 96 94 93 96 88 89 83 0 0 0 0
|
||||||
|
86 94 94 96 98 99 99 98 106 101 102 101 106 104 112 109 107 114 116 116 114 117 119 119 122 119 116 122 129 125 132 132 134 142 153 152 150 155 156 156 161 160 160 163 161 158 160 168 166 170 171 173 171 170 170 170 171 166 171 179 170 174 176 171 173 176 178 179 173 183 181 176 179 178 181 179 183 178 176 184 187 184 179 192 187 184 187 194 186 187 183 174 174 181 173 179 176 181 186 187 192 192 191 199 202 201 210 201 201 199 194 202 207 199 199 196 194 197 186 196 205 204 210 209 217 223 225 220 222 228 225 223 220 228 227 227 215 225 227 228 227 232 222 225 223 233 227 223 225 223 232 225 237 233 241 246 237 228 232 240 230 241 232 227 225 209 223 219 222 228 220 222 230 217 230 222 215 227 223 230 222 225 220 223 222 227 217 219 219 223 217 217 215 215 217 215 214 222 219 210 214 210 204 210 205 199 202 197 201 192 196 199 201 194 194 194 189 184 194 194 196 189 187 196 192 194 197 184 184 184 178 183 174 174 178 178 176 178 181 181 183 187 183 189 183 183 189 186 174 179 178 183 184 181 178 173 178 176 178 174 171 171 161 165 165 168 166 163 160 158 156 156 156 161 150 145 148 135 143 145 142 142 132 134 134 134 130 132 124 124 122 120 117 116 112 109 109 106 99 99 98 94 94 93 89 83 83 0 0 0 0
|
||||||
|
94 89 96 96 96 98 96 106 104 107 109 106 107 107 116 116 114 116 116 117 116 117 117 122 116 116 127 122 124 129 127 134 138 134 137 143 148 148 153 158 155 165 156 163 156 163 158 161 166 170 166 166 174 173 174 174 168 174 179 178 165 173 178 168 171 168 173 173 171 178 176 181 176 174 176 184 179 186 184 178 179 197 186 194 197 187 183 192 189 181 178 176 179 179 176 178 178 178 184 184 191 194 192 197 204 202 199 202 204 209 204 201 202 196 191 197 192 194 194 201 199 202 202 214 220 215 220 219 219 222 232 230 222 237 219 223 235 222 219 233 219 230 228 230 227 228 222 225 227 225 230 235 233 233 235 232 237 238 222 235 228 230 232 225 228 215 223 227 227 220 215 210 220 222 227 227 225 223 215 220 220 219 215 230 217 212 225 223 214 217 217 214 209 215 219 214 212 217 220 215 210 207 205 201 212 207 202 204 199 202 192 191 197 194 192 187 194 189 187 184 189 189 191 189 191 187 187 194 183 194 181 184 178 181 186 179 181 184 186 181 178 181 179 176 178 183 179 178 178 183 181 181 176 181 173 179 179 183 173 173 168 166 168 170 160 166 165 156 158 156 158 158 152 160 147 152 147 143 152 138 138 132 145 130 135 124 132 127 127 119 125 119 114 114 116 107 109 106 102 104 93 98 89 93 86 86 0 0 0 0 0
|
||||||
|
89 94 96 98 99 101 101 104 101 104 106 109 111 109 117 117 114 111 120 122 119 119 124 117 125 120 122 119 130 120 125 125 137 135 135 145 140 145 150 152 145 156 155 160 161 161 166 165 165 156 171 168 168 170 173 171 178 170 174 178 176 186 178 178 174 181 179 174 179 178 173 186 178 186 174 178 184 178 181 181 176 189 187 191 183 192 189 186 184 192 183 183 174 178 170 176 184 184 186 186 192 191 196 196 202 199 209 207 202 196 201 196 197 202 199 192 197 189 197 201 199 204 210 210 212 220 217 228 223 223 227 217 223 222 228 228 219 228 233 233 233 223 222 222 225 222 225 220 232 225 235 232 230 230 240 232 228 237 238 238 230 230 237 225 225 220 207 215 222 223 219 223 228 223 225 222 220 219 212 215 215 220 232 217 219 223 220 222 210 230 214 222 210 217 222 217 209 215 220 207 217 207 207 201 202 196 199 202 192 201 189 189 201 189 196 194 187 192 189 191 191 196 181 191 197 191 194 196 179 183 184 176 174 184 183 181 184 183 184 178 181 176 173 184 184 184 187 186 178 186 186 178 176 176 183 174 173 170 176 176 165 168 166 168 168 165 161 168 160 161 160 147 153 153 153 150 145 145 137 143 142 140 137 132 135 127 135 124 127 120 120 122 112 109 106 112 104 107 101 96 98 93 88 89 88 0 0 0 0 0 0
|
||||||
|
93 94 91 93 96 96 102 99 106 101 107 111 112 111 109 111 112 119 120 114 125 124 119 120 119 117 120 130 125 120 127 135 132 134 135 147 142 152 153 145 150 145 160 155 160 166 155 165 163 170 171 171 168 176 168 168 176 170 174 171 174 173 178 181 178 183 178 179 184 179 191 186 187 176 189 191 174 181 183 184 187 187 186 191 191 181 184 192 184 184 184 181 173 173 173 176 168 178 187 186 186 189 187 199 194 197 199 199 207 199 197 196 197 194 199 192 197 189 192 197 202 197 207 207 210 217 220 217 222 227 222 228 225 223 220 219 225 228 230 228 228 227 230 220 225 228 223 222 230 232 228 227 220 230 228 230 235 235 237 237 245 238 227 233 223 232 219 227 223 212 220 220 227 219 217 220 220 220 212 219 222 217 214 219 219 219 222 219 219 219 215 223 215 219 220 210 219 210 207 212 202 204 207 210 209 207 201 197 199 197 192 191 194 194 194 186 197 192 192 192 197 187 196 191 196 194 199 191 191 179 183 179 183 181 179 184 186 173 176 179 178 171 178 176 178 184 192 181 181 179 186 183 181 183 171 179 178 173 174 174 173 168 166 165 171 165 161 163 161 160 161 156 156 153 152 148 145 153 145 143 147 140 137 130 134 130 124 129 125 124 122 116 117 116 106 107 111 106 101 102 94 93 93 88 86 0 0 0 0 0 0
|
||||||
|
91 89 94 91 99 99 99 101 101 101 107 107 106 111 112 114 116 116 119 119 116 119 119 119 117 124 124 120 132 125 130 134 129 137 135 138 147 147 145 148 148 150 156 153 150 156 161 161 166 168 173 171 174 173 174 178 170 171 176 176 176 178 170 178 174 174 176 179 183 187 183 187 183 192 192 196 191 194 191 187 187 191 187 184 184 184 187 183 183 184 183 181 179 174 170 170 176 176 181 178 181 191 186 196 187 209 205 204 202 199 204 202 201 196 197 201 191 189 192 197 204 204 207 207 215 220 225 223 225 230 220 227 222 232 227 225 220 225 237 230 228 230 223 222 232 214 230 223 220 225 232 228 232 223 230 233 228 233 232 233 228 237 225 235 227 235 210 220 219 215 214 223 223 227 222 222 217 219 214 220 222 210 227 223 223 227 217 223 219 217 212 223 217 212 223 219 214 214 210 207 212 204 199 202 201 201 205 199 197 197 186 194 183 189 192 199 186 191 194 189 196 194 192 196 196 181 189 187 184 189 183 181 181 183 181 178 181 179 189 181 181 178 184 179 184 181 179 184 174 181 184 179 178 176 184 173 178 179 171 174 170 168 170 166 170 165 163 160 156 158 160 156 155 148 150 148 148 147 147 140 140 138 137 132 127 127 134 129 122 120 119 120 111 116 114 107 107 102 94 101 94 88 89 88 86 0 0 0 0 0 0
|
||||||
|
93 91 93 99 101 98 102 102 101 104 107 106 111 102 109 112 114 119 119 114 114 120 116 122 129 122 125 129 134 125 138 134 137 135 137 142 143 148 143 152 147 152 158 148 155 160 158 166 168 168 178 168 166 174 168 174 168 168 178 173 170 176 173 181 179 181 186 184 184 183 191 189 187 181 189 196 183 187 191 192 191 186 191 194 187 187 181 187 184 184 176 173 173 178 165 166 168 176 178 178 186 189 192 183 192 196 194 201 197 202 199 192 199 192 191 194 194 194 191 197 196 194 204 214 214 217 222 219 219 223 219 232 219 217 228 230 227 230 233 223 223 225 220 214 225 228 220 232 225 222 227 228 225 227 230 222 238 233 243 232 220 233 230 223 240 220 223 225 212 223 215 220 215 227 220 219 228 228 220 215 215 212 220 223 220 228 220 222 214 225 220 220 212 215 214 212 214 205 209 207 205 204 197 196 196 205 199 199 194 186 194 199 191 191 192 201 189 189 191 191 191 192 187 196 191 196 189 189 186 191 178 181 178 183 183 181 170 186 178 179 179 181 187 183 186 178 176 179 181 176 184 181 176 184 176 174 174 181 168 173 168 171 165 166 166 156 163 161 158 161 153 153 160 150 155 155 140 142 142 135 138 132 143 138 129 127 129 127 122 117 116 116 111 111 109 106 109 102 102 88 98 91 89 88 85 0 0 0 0 0 0
|
||||||
|
94 94 96 98 94 94 101 106 109 101 102 106 101 107 109 111 114 112 120 117 116 116 117 119 125 116 127 134 125 125 129 130 130 130 137 142 143 147 142 152 152 153 155 153 155 158 155 160 165 160 170 171 165 170 171 163 174 171 184 176 174 181 189 179 176 183 187 186 183 183 187 196 186 194 186 191 191 196 192 194 191 194 184 197 197 189 194 186 179 183 181 183 178 165 171 165 176 171 173 176 184 183 181 181 187 194 186 205 194 196 199 194 196 196 194 199 191 197 192 197 201 196 214 209 214 212 217 223 215 222 230 225 223 225 225 220 214 232 228 223 233 227 220 217 219 214 223 230 215 228 222 219 228 223 235 235 233 232 246 233 233 232 233 230 228 222 225 230 223 227 223 220 222 217 214 217 212 210 222 217 215 223 222 220 230 220 222 219 217 228 219 215 212 220 215 214 214 210 207 212 210 199 204 199 194 194 194 204 194 192 192 191 196 187 197 189 196 189 187 189 191 184 197 197 191 189 191 186 184 187 186 179 187 186 176 179 181 184 183 176 178 176 183 183 174 178 176 171 178 181 189 178 179 173 170 173 168 174 173 173 173 166 173 173 168 166 158 158 156 153 153 158 153 153 147 150 147 148 142 135 140 137 135 127 132 132 122 122 124 122 124 119 114 112 107 109 102 101 104 98 91 91 88 91 83 86 0 0 0 0 0
|
||||||
|
89 98 94 98 94 102 101 104 104 107 104 102 102 102 109 104 114 116 116 114 120 120 119 120 114 125 119 127 129 124 127 129 127 130 134 137 137 140 135 147 156 145 158 152 156 163 155 163 161 168 168 171 166 176 168 174 179 184 176 181 173 181 184 187 189 183 184 189 189 196 176 199 191 192 187 196 191 192 191 194 191 191 196 186 191 192 189 187 181 184 191 176 176 178 171 168 173 173 176 171 173 178 181 181 187 194 189 194 199 204 196 197 197 192 194 197 191 199 191 194 197 196 207 205 217 215 220 223 223 220 227 232 225 212 222 220 230 222 223 219 230 215 217 219 220 219 222 215 225 228 223 223 225 227 232 228 232 225 232 235 235 238 233 228 230 237 227 223 223 217 222 215 225 220 219 223 220 215 214 223 217 220 215 225 228 232 225 220 217 215 210 219 214 214 215 219 212 210 205 204 204 204 202 187 202 199 187 192 191 189 186 192 189 186 179 192 194 192 189 196 194 202 197 192 191 189 191 196 186 187 196 186 179 174 179 179 184 183 181 178 178 184 179 176 170 181 179 176 181 178 176 174 179 174 178 183 181 170 166 174 173 178 170 168 166 166 158 158 158 155 158 153 150 148 152 143 145 138 138 147 147 134 137 132 127 127 129 122 122 122 112 109 116 109 106 104 107 99 91 96 93 93 85 86 0 0 0 0 0 0 0
|
||||||
|
91 96 102 94 101 101 96 102 102 99 104 101 106 102 111 107 116 111 117 120 117 117 120 120 124 127 124 125 127 127 129 132 130 130 137 138 135 143 143 140 142 150 138 156 160 153 156 161 160 174 165 168 173 176 174 170 176 181 174 179 178 181 179 183 179 191 189 186 187 189 191 201 191 194 197 191 191 189 189 187 187 191 191 184 192 191 189 183 181 187 191 184 186 174 178 171 166 166 173 179 181 174 176 181 191 186 186 191 187 201 201 187 189 196 192 201 187 197 191 196 199 192 209 212 212 214 212 222 217 222 219 219 219 223 220 228 217 227 223 223 219 219 215 225 215 212 223 228 223 225 222 227 227 227 228 232 237 237 230 235 228 227 233 230 237 223 235 228 219 214 228 222 217 225 223 212 227 215 219 222 214 222 215 219 219 228 215 227 217 222 220 215 223 215 205 217 219 210 210 204 210 209 199 194 191 199 192 189 187 191 192 181 197 187 189 196 201 201 192 189 202 191 191 191 186 187 181 191 189 192 184 192 183 184 186 181 183 178 187 181 178 178 181 181 171 178 181 184 176 176 181 178 176 174 174 173 171 176 170 174 166 166 165 166 165 163 160 165 163 156 156 150 147 150 145 142 145 142 137 142 142 132 132 132 130 125 124 120 122 117 119 112 112 106 107 104 104 94 99 101 93 91 88 0 85 0 0 0 0 0 0
|
||||||
|
89 91 91 98 94 96 101 101 102 99 104 109 111 107 107 107 114 119 119 114 117 117 116 114 122 119 127 119 129 134 130 134 132 135 135 132 137 134 137 145 145 147 150 150 147 158 156 160 158 161 170 166 170 170 174 174 181 184 181 187 178 179 183 179 194 187 194 191 194 192 194 192 196 196 183 197 191 189 196 186 186 197 189 196 191 186 191 186 187 192 179 178 178 176 179 174 179 176 176 176 179 184 178 184 183 181 183 199 189 192 197 197 189 201 201 194 192 189 191 196 199 197 197 209 217 217 215 220 217 223 222 223 217 230 222 219 217 227 219 219 220 215 225 225 225 219 217 219 222 220 222 220 220 235 220 223 232 238 235 232 227 237 230 228 240 217 228 227 220 219 215 222 225 219 223 227 212 217 215 222 220 217 217 215 222 228 217 225 214 217 215 217 215 220 217 217 214 210 214 199 202 204 199 196 194 192 187 187 192 189 183 189 184 192 194 191 191 191 191 187 191 194 194 191 196 189 194 186 192 189 184 186 183 181 184 187 186 179 181 183 183 184 184 174 181 184 184 179 186 174 183 178 187 179 179 178 171 170 166 166 171 165 163 160 163 170 152 156 155 158 152 150 147 155 145 147 142 138 138 135 134 135 129 125 130 129 122 120 117 117 119 116 111 107 102 104 99 107 106 93 98 88 85 86 0 0 0 0 0 0 0
|
||||||
|
89 98 96 99 102 96 104 98 101 98 109 102 106 107 111 114 111 117 117 117 117 117 124 124 120 125 124 125 134 132 127 145 134 137 140 137 143 137 135 143 147 143 150 153 155 148 150 160 161 160 161 161 170 161 174 174 174 168 179 183 184 179 192 186 192 194 189 196 196 192 197 199 192 191 192 192 199 192 202 204 197 197 191 186 194 197 186 189 191 183 192 186 178 173 181 173 174 163 178 181 176 174 178 176 178 192 187 186 192 197 194 187 201 186 196 183 196 186 191 189 191 207 194 204 207 205 212 215 219 212 220 225 217 222 215 222 219 217 228 220 227 215 227 222 220 230 227 223 222 220 220 227 223 230 220 232 228 235 225 228 240 232 233 240 230 238 222 223 223 228 219 220 227 210 219 223 215 219 222 220 225 222 215 212 219 220 222 217 220 225 225 222 215 220 202 215 210 209 210 205 209 202 197 199 199 192 194 187 189 181 183 183 187 194 192 187 187 191 192 196 183 192 192 192 189 186 194 189 194 187 189 187 184 179 186 181 191 170 183 186 179 183 178 181 179 178 181 179 176 181 171 187 176 170 174 174 168 174 168 170 168 170 165 161 160 152 156 158 152 155 152 150 150 148 147 143 145 140 138 140 140 130 137 134 132 125 124 120 120 119 114 116 114 107 107 104 98 106 98 94 91 93 91 85 83 0 0 0 0 0 0
|
||||||
|
85 99 93 94 101 99 101 99 102 102 102 109 106 109 109 109 109 112 114 111 119 119 119 125 117 127 120 134 129 135 130 129 130 134 134 138 138 137 142 135 143 150 148 156 152 152 155 155 155 161 166 165 171 165 171 174 184 176 179 181 187 179 184 187 186 191 186 192 201 201 192 189 192 196 189 189 197 194 187 201 194 189 201 201 197 192 192 187 191 186 184 181 183 176 168 173 170 181 181 178 184 192 179 183 184 191 187 194 191 192 197 189 196 194 187 194 187 183 184 184 191 189 194 197 210 212 209 209 215 217 215 227 210 214 215 222 217 214 219 220 219 225 225 223 219 217 222 222 232 227 227 225 227 222 225 225 228 228 228 237 227 228 241 235 225 237 232 228 219 232 227 217 223 220 217 219 215 222 217 220 225 220 210 225 220 225 217 217 220 219 220 222 220 209 214 220 209 209 205 210 199 205 201 199 197 196 187 189 197 176 181 187 183 183 186 184 199 191 194 191 196 194 194 197 197 194 187 191 192 189 191 181 192 187 184 191 181 194 189 174 174 183 191 184 179 174 176 176 181 176 178 176 171 176 179 178 173 176 174 170 161 163 158 158 150 156 161 161 148 155 153 150 150 153 148 142 140 143 134 137 138 130 137 130 127 122 120 120 114 112 114 107 109 111 106 101 106 98 89 94 91 93 86 85 0 83 0 0 0 0 0
|
||||||
|
94 94 98 96 96 96 102 102 102 99 102 102 106 107 104 111 112 109 119 122 116 119 122 122 120 122 124 134 127 132 132 130 135 134 132 138 137 145 142 142 145 148 145 156 152 152 163 160 158 166 161 158 168 171 174 174 181 176 183 174 176 179 186 183 186 187 189 186 192 189 197 199 192 197 192 192 187 197 192 192 189 212 199 202 191 189 197 194 189 192 187 184 183 179 181 171 173 163 174 179 176 183 183 179 176 186 189 187 199 187 194 194 184 194 184 194 186 192 192 189 191 194 189 201 197 202 207 207 217 217 219 214 215 214 210 210 214 204 223 223 220 214 228 227 225 223 227 220 220 235 227 238 222 235 223 235 241 228 233 238 227 228 230 227 238 228 228 230 223 232 222 220 222 219 212 222 212 223 223 223 225 214 220 215 220 222 223 225 217 220 212 227 220 222 212 220 214 217 205 207 202 202 199 194 201 191 194 187 187 191 187 189 181 184 189 184 187 186 189 191 191 194 201 186 196 189 189 196 186 189 187 189 194 191 186 184 179 189 178 181 183 187 183 186 183 179 178 179 178 181 178 179 176 178 176 173 174 171 173 173 170 168 161 163 158 160 153 145 148 148 152 150 145 145 153 142 137 140 137 137 142 137 132 129 134 125 127 119 114 111 111 109 111 104 104 101 98 101 98 93 93 89 88 0 0 0 0 0 0 0 0
|
||||||
|
91 98 96 93 98 96 104 102 104 101 102 104 107 112 107 109 114 116 117 119 119 116 114 119 120 124 127 125 134 130 135 135 130 132 135 138 134 137 140 143 140 145 150 148 143 153 155 148 160 160 161 166 163 163 166 174 174 174 166 181 179 189 184 186 186 181 192 189 192 194 197 202 194 197 197 197 199 192 199 197 202 201 209 201 199 202 192 191 196 192 191 181 187 179 176 183 173 178 173 179 173 174 186 174 189 181 196 189 186 189 199 192 187 192 191 189 187 191 189 187 186 191 187 191 196 202 202 205 204 210 223 212 219 210 215 210 214 228 219 222 214 220 222 223 225 230 228 233 228 222 222 223 220 214 228 223 235 230 227 223 227 228 232 237 233 233 228 228 230 233 220 222 217 219 222 219 217 223 222 223 219 222 222 215 214 220 217 217 215 215 217 212 227 219 219 215 210 212 207 212 197 204 197 205 192 197 184 187 184 179 183 191 181 181 187 184 186 194 183 197 197 187 189 197 196 191 192 191 194 194 192 191 184 181 186 183 183 184 176 184 183 183 186 179 181 174 179 174 183 176 178 181 174 178 178 171 176 174 171 163 179 158 156 161 155 160 156 152 152 143 148 147 152 142 145 142 142 138 143 132 137 130 132 127 129 122 124 129 119 112 116 114 104 99 107 106 98 99 93 93 88 86 83 0 0 0 0 0 0 0 0
|
||||||
|
93 93 98 96 96 98 98 98 101 99 101 106 109 114 106 114 116 119 117 117 122 122 125 127 127 125 125 127 135 127 134 137 137 134 135 135 135 134 138 140 138 143 145 148 153 156 158 161 161 165 161 173 166 174 173 176 178 184 179 179 176 183 186 192 186 189 191 183 187 192 192 181 199 194 192 192 189 192 194 202 201 201 204 197 199 199 192 187 187 184 189 189 183 189 176 183 173 171 168 187 179 178 184 187 184 194 192 196 192 187 194 187 191 196 197 189 191 186 186 186 191 187 199 187 201 194 194 204 199 207 199 214 202 205 215 219 212 217 210 223 217 223 222 220 232 228 225 227 235 210 228 222 215 219 223 225 225 238 235 235 228 233 223 238 237 232 233 230 222 222 227 217 212 222 215 217 220 228 219 223 219 223 219 212 220 225 215 222 214 212 222 210 219 223 215 210 209 214 205 207 209 199 202 196 192 192 192 187 186 187 179 176 179 181 176 184 187 187 192 194 192 194 194 189 191 191 192 197 187 194 186 184 194 187 187 189 184 184 178 186 179 179 181 179 181 187 186 179 179 173 178 179 170 173 174 176 174 168 174 166 168 170 160 155 148 152 152 153 140 148 148 150 147 137 138 145 135 142 135 143 130 129 134 125 122 129 124 116 112 111 111 116 109 106 106 101 99 96 91 91 85 83 83 0 0 86 0 0 0 0 0
|
||||||
|
93 101 94 91 101 101 101 98 101 102 102 101 102 102 109 107 111 116 120 117 114 122 127 117 134 132 130 130 130 130 132 130 137 135 137 135 140 142 135 138 145 142 142 153 156 158 155 163 160 160 165 166 165 168 178 178 178 184 184 171 186 184 189 183 192 186 192 191 181 191 184 187 186 189 191 187 191 199 191 196 189 199 196 196 201 189 201 194 189 189 194 181 187 181 181 174 178 179 183 179 186 189 181 186 194 194 192 192 184 187 191 187 197 184 196 189 191 192 186 186 184 189 181 191 191 199 204 197 202 210 205 202 212 214 204 212 209 219 210 225 227 222 223 214 228 219 225 232 225 220 222 225 222 227 223 228 217 228 220 232 235 233 232 243 227 232 233 228 225 227 222 225 219 215 210 220 220 222 225 223 225 225 223 219 215 220 214 212 219 217 210 214 220 214 219 219 214 207 210 204 196 199 207 204 199 192 192 191 191 186 181 187 186 183 187 181 183 192 184 201 191 192 196 197 197 196 189 192 192 189 189 194 191 189 181 184 189 174 186 184 186 181 184 187 181 176 178 179 176 168 181 176 171 176 178 174 170 170 171 170 163 166 160 158 147 152 152 153 147 147 143 140 145 143 138 142 140 138 138 132 138 137 129 125 127 124 124 116 111 117 114 111 109 102 101 99 93 98 96 86 88 85 83 0 0 0 0 0 0 0 0
|
||||||
|
91 94 93 96 94 99 99 94 102 104 101 101 104 102 104 106 114 117 120 117 124 127 124 127 124 125 132 135 127 127 130 127 135 137 132 135 137 132 140 135 145 147 148 148 150 156 155 156 155 163 156 166 165 166 166 171 178 176 174 176 179 187 191 187 186 184 191 191 192 197 194 196 181 192 184 184 194 192 196 191 192 201 201 202 192 186 194 196 189 194 186 186 184 191 186 183 176 179 178 184 186 189 179 194 184 189 199 184 184 189 191 197 189 192 184 192 192 186 189 191 189 189 194 199 202 194 205 204 205 209 204 205 202 215 209 217 214 217 217 225 217 220 222 225 230 220 230 217 220 227 220 223 225 212 222 222 225 223 225 225 238 235 230 225 235 227 233 232 227 227 217 227 228 223 222 228 214 214 223 217 215 215 223 223 220 222 219 228 212 223 212 210 214 215 210 219 212 197 219 210 204 210 202 194 209 197 192 191 186 187 183 183 191 191 184 192 183 189 192 197 189 194 187 189 196 189 191 189 196 179 197 186 186 191 187 186 186 194 184 184 186 178 189 181 178 181 181 176 181 176 171 183 178 183 173 166 168 170 168 166 161 168 161 156 148 150 145 153 152 147 147 140 148 140 143 138 143 135 137 138 130 134 132 130 122 122 124 114 114 114 111 109 104 101 98 96 96 94 93 93 89 88 0 0 0 0 0 0 0 0 0
|
||||||
|
91 93 98 93 99 96 91 101 96 104 99 106 104 107 107 109 109 109 109 120 120 120 122 122 125 134 130 129 129 134 132 130 137 137 145 140 137 140 140 140 137 140 147 142 155 147 158 153 153 155 163 155 161 163 171 173 171 176 184 179 178 178 191 181 184 187 184 192 192 194 189 194 194 186 184 187 187 197 189 196 187 199 197 197 191 199 184 192 189 191 184 178 187 181 187 189 184 179 181 187 179 189 178 183 186 194 187 191 191 187 181 183 187 183 192 186 191 187 192 191 194 194 184 192 186 202 199 199 204 205 209 212 210 207 204 205 217 210 220 219 217 215 232 222 217 232 222 228 219 222 217 214 220 205 215 223 219 219 217 225 232 222 238 230 233 235 227 232 217 219 222 219 210 215 219 215 220 220 223 220 219 215 219 215 209 220 209 215 215 212 212 215 214 209 210 212 212 210 210 205 202 199 207 205 201 189 199 191 196 186 186 178 176 181 187 178 187 191 189 196 199 194 186 192 197 192 194 184 189 187 186 184 196 196 186 189 184 183 184 181 176 189 181 181 178 179 178 174 179 168 176 176 170 178 170 173 163 161 173 165 163 166 155 153 153 143 145 143 148 140 138 142 138 145 143 134 135 134 135 130 129 130 127 122 122 120 122 114 114 116 112 102 106 102 96 96 96 86 89 91 85 83 0 0 0 0 0 0 0 0 0
|
||||||
|
96 94 96 89 94 96 98 99 101 98 102 98 101 102 101 112 111 116 111 124 116 122 117 122 132 129 125 134 132 127 134 137 132 135 138 138 138 142 135 138 140 137 140 147 153 152 148 155 153 158 158 160 168 168 170 170 174 178 179 179 184 181 179 187 191 187 194 191 186 196 189 192 184 192 189 189 192 191 183 197 197 184 199 194 192 192 191 196 196 187 186 183 194 192 184 184 179 191 184 181 184 178 184 187 184 186 184 189 189 194 189 187 186 187 197 183 187 186 187 181 183 191 184 191 191 194 194 197 199 199 196 197 205 201 215 214 204 222 215 222 225 223 217 217 223 220 219 215 222 214 220 222 220 217 223 215 217 220 225 230 223 230 237 233 233 227 230 232 215 219 217 207 212 219 217 223 220 220 225 219 222 223 219 223 223 220 214 215 215 215 210 214 210 212 209 219 215 205 214 212 202 205 204 202 197 196 194 192 186 189 184 191 186 178 183 181 186 194 192 199 199 199 191 189 196 186 191 196 191 186 199 191 187 181 184 184 191 183 192 183 179 178 187 179 183 183 186 176 183 174 179 179 176 170 170 176 170 165 166 161 160 163 156 158 155 148 147 142 145 148 142 142 138 142 138 137 138 130 135 130 130 134 127 122 119 119 114 119 107 109 107 107 99 102 99 94 99 91 0 88 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
93 94 96 96 93 96 99 102 98 98 101 106 102 104 102 106 112 114 114 116 117 122 112 130 120 120 130 122 130 132 132 135 135 140 137 142 135 137 140 145 142 153 142 142 155 145 152 155 153 165 170 161 161 173 165 171 176 174 181 183 179 186 181 179 186 186 191 191 186 187 191 184 189 196 184 194 197 189 191 192 189 192 192 194 199 199 189 189 187 189 187 192 189 184 187 186 181 186 183 184 183 176 179 179 184 191 183 186 184 186 183 186 187 186 191 189 189 184 189 191 189 184 192 192 197 183 197 196 197 201 194 209 205 197 204 214 210 212 217 219 215 227 227 215 219 223 225 217 228 222 217 220 219 209 214 214 214 225 222 222 230 232 225 232 228 235 232 222 220 217 210 219 220 207 205 210 207 222 212 217 210 215 225 223 210 212 217 220 210 225 215 214 209 215 214 210 209 207 202 207 205 209 192 196 201 196 194 183 184 186 187 187 181 189 187 189 184 187 197 189 201 191 189 184 196 194 192 194 191 187 192 187 189 192 192 186 189 178 179 181 191 179 183 179 183 174 183 181 176 179 173 178 170 174 170 173 165 161 173 160 161 161 160 152 150 155 153 143 143 142 145 140 142 138 140 137 138 137 135 130 130 130 125 119 124 119 114 114 117 111 109 106 99 101 93 99 93 94 85 0 85 83 0 0 0 0 0 0 0 0 0
|
||||||
|
88 94 93 98 93 94 104 102 96 99 104 101 101 104 106 106 111 111 120 117 116 114 120 119 129 130 120 124 127 127 132 135 135 132 140 134 147 135 138 140 143 145 147 150 150 152 148 153 156 163 155 166 166 163 173 171 176 179 171 189 184 181 186 186 178 187 183 187 196 184 189 191 189 189 183 191 187 194 184 189 197 186 192 194 197 184 184 197 196 179 187 187 191 194 184 184 187 184 181 183 176 187 187 186 181 186 184 173 184 184 184 186 189 187 186 187 196 192 183 192 189 187 184 189 192 194 187 197 196 197 197 199 201 207 205 210 217 219 219 222 225 228 223 222 223 223 225 223 222 215 210 215 222 219 214 219 207 219 222 225 228 228 233 223 228 220 220 217 230 220 220 217 215 212 219 210 217 225 217 223 219 220 220 219 217 219 219 214 212 220 215 209 217 210 209 202 209 204 202 215 209 199 204 205 207 199 197 194 187 184 187 183 186 186 183 184 187 191 192 199 187 196 194 191 192 194 189 196 189 186 196 196 184 186 189 189 178 186 191 184 179 181 178 184 173 179 183 179 174 181 176 174 173 178 166 170 170 161 166 163 160 161 160 145 155 145 152 140 138 138 147 135 130 138 140 135 137 138 130 134 129 129 125 124 127 122 119 112 109 107 106 102 99 94 101 91 93 94 86 86 0 0 83 0 0 0 0 0 0 0 0
|
||||||
|
91 89 93 94 91 99 101 93 98 99 99 98 99 104 104 111 112 114 114 119 114 122 120 122 120 127 127 130 125 130 130 137 138 134 140 134 143 135 143 134 140 143 138 143 143 145 148 152 148 158 156 179 171 168 179 179 173 179 174 178 181 184 178 178 189 187 191 191 184 187 186 191 184 194 192 194 189 189 183 197 189 191 197 184 196 189 183 187 187 194 187 192 192 184 184 196 178 181 184 178 176 183 186 183 184 184 181 187 176 176 186 186 183 181 181 183 186 189 191 191 194 184 187 192 187 184 192 189 197 189 192 194 199 207 207 209 214 219 225 219 219 228 225 225 227 222 215 217 222 225 225 217 217 222 219 212 222 219 225 230 223 233 240 222 225 222 223 223 217 219 223 209 207 212 205 210 209 212 209 219 219 217 214 222 217 222 219 209 217 210 209 214 214 217 212 212 205 207 205 201 194 212 197 205 197 199 197 196 184 197 186 183 189 176 179 192 189 192 189 191 191 191 192 187 197 184 197 192 191 194 197 187 189 189 179 179 192 186 183 184 184 191 179 174 183 176 171 173 183 178 176 171 173 170 163 171 161 163 165 166 165 150 153 155 150 148 145 140 145 142 135 138 145 140 138 134 130 132 137 130 129 122 122 125 122 112 116 107 112 109 102 101 104 96 96 94 91 85 0 83 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
91 98 93 94 98 93 96 99 99 93 94 99 102 104 102 109 106 114 109 114 112 120 117 122 120 130 132 125 132 129 134 135 137 127 132 134 134 137 143 132 140 138 135 140 138 150 147 155 156 158 166 166 171 176 170 178 179 178 170 183 179 189 189 189 186 189 187 196 178 183 197 184 186 197 186 197 191 197 186 194 194 191 189 194 187 192 192 183 187 192 184 186 186 186 186 184 186 181 179 183 186 186 184 183 179 186 181 187 183 186 184 181 191 186 189 178 183 191 194 184 201 196 181 192 191 197 191 184 194 191 202 199 204 205 207 212 205 212 210 232 225 225 219 222 225 223 222 223 228 220 223 223 209 228 223 217 214 227 223 223 232 230 223 220 222 228 228 223 223 223 219 212 210 212 209 219 199 215 219 220 219 217 220 215 220 207 215 212 217 215 212 204 209 215 210 201 212 209 207 202 197 204 199 197 201 196 197 194 191 186 183 186 183 187 187 183 187 194 187 194 187 189 186 187 192 191 196 192 186 187 187 189 196 186 189 186 184 183 186 186 176 181 179 176 176 189 171 176 178 171 170 171 171 166 168 168 165 171 163 156 160 160 152 153 155 148 150 145 142 147 143 140 138 142 138 140 134 124 132 130 130 125 122 124 127 122 117 116 111 109 102 104 101 98 94 94 89 85 86 83 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
89 93 91 94 99 98 94 98 93 99 96 101 102 99 106 107 106 111 111 120 119 124 122 119 124 129 122 132 130 125 134 135 134 132 135 142 142 134 138 134 137 137 143 143 148 145 148 147 156 160 163 161 170 173 174 171 166 186 186 187 184 184 186 189 191 191 191 184 186 191 189 192 187 191 179 187 181 189 192 191 192 189 186 192 183 196 192 181 181 187 184 191 191 186 183 186 179 181 181 183 181 181 189 186 189 191 178 178 184 183 176 186 187 187 184 176 186 186 184 186 191 191 192 187 189 187 191 192 194 189 196 201 207 205 207 212 217 215 219 209 220 220 214 214 233 220 220 222 227 220 220 225 230 215 223 220 219 214 212 233 219 225 223 225 227 220 220 230 214 212 215 219 215 219 210 207 217 212 214 215 215 217 222 214 217 222 207 214 210 214 210 210 209 209 214 202 207 197 202 204 196 210 204 192 202 201 191 184 187 184 183 189 187 184 181 183 187 187 187 192 192 191 189 191 191 189 197 191 194 186 184 191 189 191 191 187 179 179 183 181 184 179 174 181 178 178 171 168 178 178 165 166 170 171 165 160 170 170 160 158 158 160 155 150 143 150 153 150 140 138 145 134 135 137 132 134 135 137 132 125 127 124 122 119 119 117 114 116 119 107 104 106 98 102 93 93 86 86 86 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
91 88 89 93 93 94 93 98 99 98 96 101 106 106 106 114 111 107 109 117 114 119 119 120 125 124 125 124 120 127 129 134 137 135 132 134 135 138 140 143 138 142 143 148 150 145 145 155 147 152 156 166 165 165 165 168 174 183 184 174 186 191 189 187 189 194 184 194 189 189 187 187 189 192 183 191 187 187 186 187 192 194 189 187 186 181 189 183 184 187 181 186 178 189 183 189 178 184 179 179 183 179 178 183 176 179 178 178 183 179 179 181 186 191 189 184 186 186 189 187 191 191 183 191 191 194 187 183 191 196 199 201 202 202 205 209 209 215 219 215 222 215 219 215 228 219 230 207 225 233 235 225 222 220 232 219 210 214 219 230 228 228 228 222 223 223 223 223 223 225 217 210 207 219 210 214 215 215 212 212 222 212 212 219 209 217 215 212 219 214 209 209 205 214 201 209 204 205 204 202 205 196 202 210 199 201 196 197 192 189 189 181 187 176 187 191 183 199 181 186 189 184 184 187 191 189 192 186 187 194 187 189 189 184 181 189 183 191 181 186 179 183 183 174 173 181 173 168 170 178 173 173 166 165 163 171 166 163 163 158 153 156 153 155 155 137 145 150 145 143 145 137 143 135 138 138 129 134 127 127 122 120 120 122 116 116 116 107 111 104 109 109 102 96 91 91 91 89 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 89 89 93 93 93 99 93 98 101 99 101 102 106 111 107 114 107 112 116 112 119 120 122 117 125 134 129 129 130 129 134 132 132 142 138 138 138 140 137 140 140 138 148 145 145 155 155 156 155 161 156 168 158 171 176 168 170 170 176 176 189 189 184 186 191 196 196 189 184 194 194 191 202 199 192 191 194 194 194 186 196 187 196 183 189 181 186 183 186 181 183 187 189 191 184 181 178 183 184 181 183 176 181 178 178 176 183 179 179 187 183 187 181 192 181 181 187 191 191 189 189 194 196 184 187 189 192 191 199 201 207 201 204 207 210 210 215 219 220 222 217 219 227 220 219 220 227 223 227 228 222 227 219 225 222 217 220 210 225 223 225 228 232 225 230 220 217 222 220 214 212 212 214 210 217 217 207 217 210 210 219 219 222 220 225 210 214 212 210 217 212 214 209 209 199 205 199 197 192 204 202 194 199 201 196 194 201 191 186 194 181 183 187 191 186 181 181 189 191 184 189 192 191 186 183 184 186 189 192 184 191 191 186 187 191 187 187 176 178 187 178 186 171 171 176 171 171 171 173 176 173 174 165 168 163 158 163 161 160 158 163 155 152 142 148 143 147 143 143 138 135 140 134 135 130 127 129 132 127 130 117 122 119 120 117 119 109 114 111 111 101 101 96 94 88 83 83 86 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 88 93 93 91 96 98 101 94 98 99 96 101 107 109 109 112 114 114 111 120 119 120 124 120 120 122 130 132 129 130 135 142 140 135 140 134 137 138 137 143 138 147 145 152 147 148 150 156 158 161 163 170 163 165 161 165 171 178 173 174 176 184 181 184 183 189 191 187 199 196 197 189 191 197 197 197 192 191 183 187 189 192 189 191 186 194 196 186 187 186 181 187 186 184 183 181 189 183 184 176 181 181 178 178 174 181 179 179 184 178 189 187 186 181 183 184 192 187 186 184 192 181 196 184 184 197 192 192 191 184 202 196 209 205 210 209 210 219 232 215 217 220 220 227 214 223 222 219 223 219 219 219 233 222 217 222 209 223 212 233 225 235 217 228 225 222 222 215 217 210 210 217 209 205 214 207 204 212 210 220 220 219 219 222 210 228 217 212 205 215 217 204 215 210 199 202 197 199 204 202 186 196 194 197 201 194 196 187 191 187 186 187 181 194 191 186 186 184 189 186 186 184 184 187 189 189 181 187 192 187 192 187 187 187 186 183 183 179 183 176 181 181 178 176 176 171 171 178 170 173 158 166 165 168 165 161 155 161 152 160 150 155 153 153 150 152 143 152 145 137 138 137 135 129 134 125 129 127 122 125 119 122 119 116 114 116 114 109 104 101 102 101 91 93 91 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 89 88 94 96 93 98 98 101 96 101 107 107 102 111 109 119 119 116 114 117 116 112 124 125 122 132 124 130 127 135 135 135 140 143 134 138 140 138 137 140 142 143 143 152 156 155 155 155 163 155 165 160 168 168 163 166 173 171 178 181 186 181 178 181 181 181 179 192 189 191 189 189 194 186 192 199 196 201 187 199 196 189 189 196 191 181 184 178 187 183 183 191 186 184 184 176 178 181 179 181 178 179 176 173 179 174 171 176 179 186 191 189 179 181 184 192 186 186 189 194 186 192 189 194 189 194 191 191 196 197 196 192 202 212 209 222 219 227 212 220 225 220 230 219 227 223 227 222 220 222 225 222 222 217 222 220 215 220 217 222 219 228 220 225 217 223 220 215 210 219 210 209 209 215 212 205 210 215 215 207 219 214 219 222 214 219 212 217 217 214 207 215 210 204 207 202 197 212 191 194 201 201 205 192 187 194 199 191 186 191 191 184 184 181 184 184 187 186 186 189 187 184 191 176 186 192 183 189 187 191 189 186 181 184 184 179 181 179 181 178 178 174 183 174 174 181 170 166 176 168 171 165 168 148 160 160 158 150 158 150 153 153 150 152 143 147 148 145 142 138 140 137 132 137 132 134 130 125 127 132 117 119 119 117 114 112 112 111 109 104 102 91 98 88 91 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
88 86 91 91 89 98 89 102 98 99 99 99 102 109 107 107 112 116 112 112 112 117 114 122 122 124 125 120 127 130 132 135 137 129 137 129 135 134 140 138 142 135 145 153 147 152 152 147 160 156 161 161 165 168 166 174 171 160 181 174 176 174 174 171 183 179 186 181 187 183 187 186 179 187 192 186 187 196 192 189 194 187 194 196 186 186 192 192 183 184 183 186 181 194 183 183 183 181 183 171 176 171 173 181 174 173 171 181 178 184 184 187 179 187 183 191 186 181 184 189 197 186 189 186 194 191 196 186 194 192 186 194 197 204 215 209 217 217 209 214 214 220 225 227 223 223 220 223 223 215 223 220 222 222 219 227 225 214 217 207 228 214 228 219 223 220 219 223 222 219 215 220 209 212 207 204 212 214 210 209 222 217 214 219 220 217 210 219 210 204 205 217 217 204 210 196 205 209 196 205 199 194 189 194 199 191 192 186 186 189 187 183 191 181 183 183 186 184 184 189 184 194 189 184 189 186 186 179 184 186 184 186 184 189 179 181 181 173 179 178 178 171 171 170 174 174 171 173 168 161 168 168 163 168 163 156 156 153 150 148 148 156 148 150 145 145 142 145 145 142 135 135 135 137 135 127 125 130 125 125 122 125 122 119 119 119 114 114 111 112 104 99 101 96 96 86 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
88 91 91 89 91 93 98 94 99 98 101 104 107 109 107 114 116 109 116 111 116 114 120 124 125 119 120 129 129 125 129 129 130 134 137 140 140 138 142 145 142 142 142 156 152 152 155 156 150 163 163 160 165 170 170 166 165 166 170 173 174 173 179 181 178 173 176 183 181 184 178 191 191 186 187 186 186 189 192 186 197 199 197 189 197 189 191 192 196 189 189 181 181 186 186 183 187 189 178 179 174 174 170 170 176 171 176 171 179 184 184 187 187 183 187 189 187 187 187 187 187 191 191 186 189 196 196 186 189 191 197 199 202 207 199 205 214 215 210 219 223 215 230 217 215 225 223 222 217 214 227 228 228 228 217 220 212 225 202 219 212 220 222 222 223 212 215 209 215 219 201 214 209 214 210 214 214 212 212 220 212 212 212 220 223 222 215 219 212 210 214 209 214 214 205 202 205 201 199 197 196 199 194 192 192 191 191 189 191 189 196 186 184 184 174 179 186 187 184 183 181 186 187 187 179 181 189 176 179 184 187 187 184 194 191 187 176 181 174 179 176 170 174 176 173 171 166 171 168 166 166 156 160 158 161 156 160 160 158 161 152 145 148 150 152 147 145 142 142 140 132 138 130 135 125 130 129 134 130 119 124 119 117 119 119 114 117 114 107 106 109 102 101 94 98 93 85 0 85 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
89 86 88 89 91 94 93 96 91 98 99 102 104 107 109 112 114 109 111 111 117 117 117 122 122 122 119 129 120 127 129 132 124 132 135 134 137 135 138 140 145 140 138 148 152 150 155 161 163 152 170 165 166 161 171 168 168 176 174 173 181 176 171 189 176 181 183 183 181 176 183 183 183 183 187 192 183 181 191 186 186 191 187 191 194 189 189 192 194 189 179 184 184 189 186 181 179 174 174 178 176 174 170 166 170 173 163 178 178 183 178 183 178 179 181 187 181 186 187 197 184 196 191 194 189 187 192 189 189 196 192 197 192 204 205 212 209 204 220 214 219 222 220 210 225 219 215 215 217 217 214 219 223 223 215 222 225 217 220 214 220 214 222 223 220 215 225 205 215 227 219 209 212 214 209 214 214 214 210 220 205 219 215 210 220 220 219 215 210 207 214 214 202 215 204 212 202 201 205 201 202 191 196 192 196 187 189 187 194 192 192 186 189 178 181 183 174 178 189 184 196 183 186 184 189 187 183 179 181 184 187 186 187 183 183 178 183 176 174 178 176 176 178 174 168 176 166 173 166 173 168 168 163 166 161 161 163 158 152 153 150 155 147 142 143 147 148 142 145 140 138 137 137 134 135 134 134 125 124 119 117 114 117 119 111 119 109 109 109 111 107 99 96 94 96 91 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
88 88 91 89 94 93 98 99 101 99 102 102 101 106 109 114 109 111 111 117 116 109 117 119 114 122 122 129 127 134 127 127 132 134 135 135 138 138 148 138 138 137 150 153 145 152 155 153 161 165 156 171 166 168 166 171 178 179 173 174 174 174 178 179 187 181 174 171 183 176 187 187 183 178 181 178 183 184 186 183 181 183 191 189 183 186 186 174 184 179 184 189 191 186 186 179 183 184 173 173 179 168 173 171 171 176 174 176 176 184 179 176 184 186 191 192 191 181 194 192 192 191 191 194 197 186 194 202 184 191 194 187 205 201 209 210 209 217 205 219 212 214 222 215 220 219 220 210 219 217 215 223 214 214 219 220 207 215 210 214 212 217 217 222 209 227 219 222 222 209 214 215 215 207 209 212 210 217 212 214 215 209 220 210 220 215 214 212 210 212 215 209 202 202 209 205 209 197 202 202 199 196 197 194 191 197 191 184 191 189 191 186 179 181 179 184 184 186 178 187 183 186 178 181 179 179 183 184 176 183 181 181 181 179 187 176 181 173 178 181 176 176 173 174 178 163 168 171 165 171 168 161 165 165 160 160 153 153 156 147 147 150 145 150 140 147 142 145 147 138 134 140 137 135 129 129 125 125 129 124 120 122 116 116 116 116 112 107 106 106 102 101 99 93 91 86 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 85 89 85 93 94 98 94 94 98 96 99 109 101 104 106 106 111 111 111 114 112 116 112 124 125 122 129 132 130 130 130 137 132 140 134 140 143 142 145 140 138 147 150 148 153 148 152 160 160 161 161 168 165 168 163 171 174 179 176 174 181 179 174 183 186 174 179 178 189 189 183 186 186 184 184 191 178 184 186 181 183 181 186 189 183 184 186 189 183 171 183 184 183 173 183 174 178 178 168 174 170 171 176 176 171 176 176 168 192 183 186 183 184 191 187 184 181 189 191 187 186 192 184 194 187 187 187 189 187 191 191 196 204 199 210 202 207 214 209 217 209 212 220 220 215 222 225 227 223 217 223 215 227 219 222 215 210 210 212 209 214 214 215 219 207 212 214 220 212 210 209 214 220 205 210 214 214 212 204 209 222 205 220 210 215 205 205 219 209 219 209 212 212 209 202 202 199 204 202 197 197 199 196 194 196 194 187 192 187 191 189 183 176 179 179 181 183 186 174 179 178 187 187 184 184 179 183 179 187 186 178 191 181 183 178 183 178 178 171 170 174 170 173 171 170 160 166 168 161 163 161 160 160 156 166 163 152 153 152 152 153 143 142 143 147 147 145 142 140 132 132 130 125 132 125 125 120 120 124 119 122 114 117 112 111 111 102 111 101 101 98 94 96 86 91 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 85 86 88 93 91 94 101 98 93 99 104 106 107 107 111 116 112 106 112 117 111 116 116 120 122 125 122 125 130 127 132 132 137 135 142 134 143 140 135 147 143 147 155 152 155 150 156 158 165 163 156 166 166 174 163 165 165 171 173 176 178 178 184 187 181 178 187 183 187 187 184 187 194 186 187 186 189 183 179 192 189 187 186 186 178 184 176 174 178 181 183 181 189 178 181 181 179 176 174 168 171 171 179 173 179 178 186 186 176 184 179 191 189 184 184 183 196 194 187 186 183 187 186 194 191 187 189 191 187 187 187 192 199 204 201 207 215 207 205 207 214 215 210 212 209 220 215 217 220 228 219 223 212 215 217 212 220 212 204 205 207 215 217 210 217 220 214 217 210 223 217 212 214 201 205 205 207 210 215 222 212 201 214 212 215 212 214 212 209 207 201 207 201 209 199 204 199 202 199 194 201 192 194 186 194 187 187 192 181 191 181 184 176 181 184 184 184 176 183 183 184 183 186 179 178 186 183 178 183 179 184 179 184 179 176 174 179 170 176 174 170 174 168 173 165 165 170 168 163 158 160 163 161 158 160 155 156 148 147 145 153 147 137 142 142 142 145 142 142 135 137 137 130 132 130 122 124 119 122 124 119 116 114 112 114 109 109 99 104 99 99 93 88 89 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 88 91 93 91 88 89 96 96 94 99 104 107 102 107 104 104 111 116 107 117 112 116 120 116 124 119 122 124 127 127 134 134 132 132 134 137 135 140 142 145 142 145 148 147 155 155 153 160 158 158 168 171 158 166 174 165 165 171 171 176 170 173 179 181 174 178 186 178 191 189 192 186 189 191 192 192 181 192 184 194 199 186 192 179 186 181 187 187 187 186 191 181 184 171 174 191 184 181 174 171 165 165 163 161 168 173 183 183 181 184 178 184 184 181 186 186 186 184 191 187 186 192 189 189 183 196 191 183 196 186 184 191 189 201 207 201 210 210 210 210 209 210 209 215 204 214 207 215 215 212 219 222 219 214 215 222 219 210 205 207 212 207 217 219 214 214 212 217 217 207 209 212 209 204 215 204 217 207 209 212 210 212 214 210 210 210 207 212 199 205 205 201 210 201 204 197 205 199 197 191 194 194 189 194 194 192 189 184 189 189 191 174 184 178 183 176 179 179 178 183 183 183 181 184 184 176 171 179 174 183 178 183 173 178 184 184 179 174 171 171 174 176 163 171 176 166 168 163 170 165 165 158 152 150 152 155 156 150 145 150 152 147 153 134 150 140 140 138 138 137 134 130 129 132 122 125 122 125 117 120 117 111 114 111 107 107 111 106 98 96 99 91 89 86 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
89 89 88 91 89 91 91 99 96 104 101 102 102 101 102 109 106 114 114 114 112 119 114 116 116 119 120 124 125 124 125 130 135 132 132 140 134 135 137 142 143 147 147 140 148 163 152 150 158 156 161 161 163 170 166 173 163 171 163 179 174 186 171 178 176 176 179 183 187 184 187 194 194 184 196 194 197 205 192 187 191 189 197 186 187 186 186 184 183 181 186 184 186 183 181 184 176 176 179 179 173 174 171 166 165 173 174 179 176 179 183 186 184 192 184 184 184 192 179 184 184 192 196 191 192 192 186 189 187 186 178 192 199 183 197 202 209 202 205 212 209 214 215 210 207 212 214 212 215 222 214 220 219 223 223 225 210 214 209 209 209 215 214 207 212 209 214 220 215 225 212 215 202 210 215 212 205 210 207 201 209 205 209 207 215 209 207 207 207 209 207 201 207 209 197 205 204 194 202 194 186 192 191 186 192 189 191 189 189 186 181 178 179 181 184 187 178 181 186 181 184 178 184 176 179 173 178 187 178 179 173 176 181 176 181 178 176 178 170 165 170 171 168 176 168 166 163 165 166 163 165 158 160 152 158 160 156 150 147 152 145 147 142 138 140 142 138 142 142 138 140 134 138 130 125 134 124 129 114 122 120 114 117 112 109 102 107 106 102 98 98 93 96 89 91 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 89 88 88 93 91 94 96 94 101 101 102 101 101 107 107 111 111 111 111 112 114 116 111 117 119 120 122 120 124 122 125 129 132 130 135 132 135 137 140 134 145 145 142 152 150 153 156 163 163 158 163 165 171 165 170 168 171 171 168 173 173 183 166 178 183 176 174 178 186 186 191 178 178 187 187 186 187 189 192 187 199 196 191 194 197 196 189 186 183 187 189 184 183 179 176 171 179 176 178 173 168 171 168 158 174 173 176 176 174 179 184 189 183 184 183 178 183 189 186 189 191 187 191 192 189 186 192 189 189 186 189 196 192 192 207 196 199 210 207 207 201 202 209 207 210 207 207 212 212 223 220 223 212 219 227 219 223 219 209 210 212 210 210 210 205 210 210 212 210 214 215 207 215 215 210 202 209 207 210 210 210 207 214 210 217 210 202 204 209 212 207 197 199 205 197 204 197 202 192 189 191 189 192 186 197 186 189 184 179 181 183 181 179 176 184 179 181 178 184 181 179 178 178 179 179 174 173 181 178 176 186 171 173 174 179 176 174 171 168 170 161 161 166 166 168 166 160 168 161 163 161 150 158 158 152 152 150 147 147 150 145 148 145 140 145 135 142 140 138 134 137 125 127 127 124 124 120 119 120 117 114 119 112 107 111 107 98 104 104 99 98 93 89 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 86 93 89 93 93 94 96 96 96 104 104 98 109 104 107 106 109 112 116 116 116 111 112 120 127 116 124 129 124 130 132 132 132 132 137 132 135 135 132 140 140 135 152 143 153 150 153 156 158 158 160 163 170 160 173 173 166 171 173 178 173 178 181 178 171 186 178 186 189 179 187 184 192 186 183 191 181 189 184 197 191 189 187 184 192 189 181 194 194 183 184 181 186 184 178 179 174 178 176 179 176 163 165 168 170 174 173 178 178 181 187 179 187 176 186 183 178 187 178 184 178 191 191 186 196 187 189 184 187 187 183 192 192 192 202 205 207 201 209 196 214 205 204 205 202 209 207 214 214 222 214 223 217 222 214 217 220 220 214 207 210 210 210 210 215 212 212 220 212 214 209 210 205 212 210 210 209 207 204 217 207 210 199 205 209 212 204 196 209 202 199 205 201 204 209 196 196 187 194 199 191 194 186 197 189 183 187 181 178 186 179 179 184 183 183 178 183 174 178 183 179 187 173 179 181 178 170 170 176 171 178 183 181 181 179 179 166 173 171 174 166 170 163 166 166 170 158 163 166 161 160 156 152 160 156 152 150 150 148 143 148 140 142 145 142 138 134 134 134 134 134 134 129 125 127 125 122 124 119 119 116 111 109 114 106 109 104 104 96 94 93 91 86 89 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 89 88 91 91 91 93 99 94 96 104 102 104 104 109 109 112 114 112 111 114 112 114 119 120 114 117 125 122 125 124 132 127 127 134 130 135 138 142 132 142 138 138 145 145 148 148 155 150 156 160 161 168 168 171 161 173 171 170 171 171 174 179 174 179 171 183 179 183 183 186 178 183 186 183 187 186 178 183 194 181 191 179 189 187 186 187 186 184 183 192 186 187 186 187 178 176 179 191 176 183 170 173 173 173 171 173 174 178 184 184 186 186 184 189 173 174 181 179 191 186 179 184 181 194 192 191 187 184 186 181 192 184 197 191 196 199 205 201 209 204 205 201 209 204 199 209 212 214 210 212 214 215 220 217 227 217 219 207 217 202 204 204 209 209 214 217 204 207 210 214 215 217 210 210 209 214 204 207 214 204 209 202 204 205 201 204 217 197 209 196 199 199 204 204 201 192 199 191 191 187 192 189 187 184 178 183 187 179 181 179 174 178 176 176 179 178 170 178 181 170 174 171 178 174 173 171 179 184 173 176 176 171 173 171 173 178 171 171 168 168 161 161 160 168 166 161 168 158 163 153 158 161 155 158 153 152 150 147 145 145 145 137 143 143 142 143 148 140 130 134 130 129 127 125 125 120 119 125 114 116 116 112 116 112 109 109 104 101 102 94 94 93 89 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 88 91 86 94 89 96 93 93 98 101 101 101 104 101 107 111 109 109 109 112 116 122 120 117 122 122 120 122 124 122 130 122 134 135 130 142 132 134 134 137 145 143 147 147 153 152 156 153 155 165 161 160 163 161 170 170 171 173 173 170 178 183 179 174 183 178 179 178 189 179 186 191 187 194 192 186 197 191 196 191 184 189 176 196 183 189 189 189 187 187 191 184 184 184 186 183 181 187 174 178 173 168 176 170 173 174 176 178 184 174 181 183 183 183 184 183 183 178 184 186 183 179 189 192 187 191 194 196 191 184 187 187 189 186 196 194 199 194 205 204 197 199 199 202 201 209 210 204 210 215 220 210 215 220 215 219 214 217 219 214 205 204 204 212 207 212 202 209 209 215 209 207 202 217 205 210 207 205 207 207 201 204 201 207 212 210 207 207 202 194 204 196 197 199 194 196 192 199 191 186 187 189 186 181 184 179 174 183 178 179 183 174 181 174 183 179 178 170 181 174 176 183 171 176 171 174 170 178 176 171 176 176 179 176 174 171 170 173 168 161 163 168 163 160 160 165 161 161 160 165 156 158 158 156 158 147 155 148 152 145 142 148 143 140 138 135 140 140 135 135 134 129 132 124 122 125 127 117 125 116 107 114 102 109 102 107 101 96 96 99 94 86 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 88 86 91 91 93 99 96 96 94 101 101 101 106 102 104 109 112 112 109 120 117 114 119 120 119 120 120 122 127 129 130 125 134 132 130 138 138 138 137 135 140 143 152 152 145 153 155 153 155 160 163 166 161 160 166 168 163 171 166 166 176 170 173 184 178 184 186 191 178 183 186 187 181 186 189 192 194 192 186 191 187 194 191 183 194 192 187 194 189 196 187 183 191 184 192 183 181 183 176 179 174 173 170 173 173 176 178 184 183 186 176 183 184 179 181 178 178 178 181 184 186 187 196 184 194 197 181 194 181 187 189 189 186 187 194 196 204 194 196 201 197 204 204 202 205 210 214 209 212 217 217 209 215 214 217 214 214 214 212 212 215 204 209 207 201 210 210 209 212 209 201 201 210 205 207 209 202 205 209 204 204 204 204 209 204 209 204 202 202 199 197 192 191 194 194 199 197 191 196 186 187 178 176 181 184 183 186 183 179 183 181 178 178 179 181 176 176 174 179 174 178 174 176 173 173 171 176 178 178 173 178 179 174 183 174 171 173 171 170 168 178 170 165 156 168 160 165 161 158 158 158 158 160 158 156 156 148 153 147 153 138 147 143 138 140 138 140 135 134 130 130 132 127 122 125 122 120 120 119 119 114 119 107 109 104 106 101 98 96 96 94 86 85 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
89 86 89 88 91 96 94 94 96 101 106 98 104 102 104 104 107 107 107 107 111 119 114 116 119 122 122 122 129 127 125 138 129 130 132 134 138 135 137 140 138 138 145 143 147 150 153 153 155 158 158 160 160 165 168 173 168 166 168 163 173 174 173 179 176 178 191 178 171 181 186 186 189 187 194 187 191 196 187 186 197 189 191 187 187 186 183 189 179 186 187 191 178 192 202 189 189 179 184 178 174 186 173 176 170 173 165 176 178 174 179 183 183 189 176 181 189 178 183 183 184 187 181 184 191 184 192 197 192 187 191 179 189 191 191 186 194 199 196 204 196 205 201 194 199 209 202 210 209 209 210 214 212 219 212 215 217 210 205 212 201 204 205 199 212 201 210 214 210 207 201 217 207 210 209 204 201 205 212 201 209 197 205 207 194 207 197 202 194 202 204 191 194 199 205 199 187 196 191 191 186 181 187 179 178 184 181 184 181 176 181 171 181 174 178 178 178 174 176 176 176 176 176 174 176 170 176 179 168 173 181 181 173 166 179 171 168 174 168 165 170 165 161 166 163 161 166 160 160 150 156 156 156 163 153 150 160 152 150 155 143 143 147 138 137 135 134 135 137 129 134 134 132 124 127 124 120 117 119 114 114 114 112 104 107 104 106 98 104 96 93 93 91 91 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 86 91 85 94 89 99 94 94 102 102 102 99 104 107 106 109 106 104 106 109 114 116 119 116 111 120 124 125 117 125 125 132 130 130 132 137 137 140 148 142 143 142 148 148 150 152 152 150 161 161 160 155 160 171 168 161 174 165 170 168 171 178 168 181 178 174 176 173 186 187 183 181 187 187 179 194 189 191 187 187 196 189 191 186 183 178 191 184 189 187 186 191 187 184 191 186 189 173 183 179 186 171 171 173 168 174 170 173 174 181 174 176 174 181 179 178 183 178 183 183 181 179 184 186 187 186 184 186 191 196 189 184 187 192 189 189 199 194 196 192 201 204 201 210 199 215 209 217 214 217 205 215 204 222 214 212 205 210 205 209 207 199 210 212 207 202 207 204 209 207 209 210 207 205 205 202 202 201 204 202 204 202 204 202 201 202 201 199 201 196 196 201 201 192 197 187 191 189 186 187 186 178 189 186 171 186 179 178 174 170 176 173 168 171 165 174 179 174 174 171 176 176 170 173 179 176 170 168 176 174 179 179 174 173 173 173 176 168 173 163 163 163 155 158 160 161 161 163 156 152 156 148 152 155 152 147 152 145 148 142 145 143 145 134 135 132 135 140 132 129 132 125 122 129 125 124 119 122 114 116 109 111 106 104 107 101 99 101 98 89 91 88 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 88 91 88 91 93 94 94 94 99 98 102 107 104 106 104 104 107 111 106 116 109 112 112 124 116 120 124 122 124 129 132 134 129 140 143 135 134 137 140 138 150 138 140 145 147 145 152 153 156 155 163 163 166 161 170 170 161 176 173 168 171 171 176 178 178 181 179 183 179 179 181 179 189 183 186 184 191 187 183 189 187 186 189 186 183 186 187 192 186 192 189 189 189 187 187 189 189 184 181 179 174 174 168 168 168 165 168 171 173 178 184 174 178 183 173 184 179 184 186 181 184 183 192 187 186 189 197 187 196 187 189 186 184 183 197 187 191 197 202 202 201 194 202 204 209 209 210 201 209 215 209 205 212 214 212 219 207 214 215 209 201 197 199 209 209 199 207 204 207 202 205 207 201 196 202 205 199 201 201 205 202 202 201 194 199 204 196 204 196 199 194 192 197 199 194 187 187 196 189 191 174 187 179 174 181 183 181 184 178 174 171 176 174 176 174 174 173 174 174 178 179 179 171 171 176 171 176 173 174 176 174 173 166 173 174 161 165 166 165 165 161 160 161 163 155 168 160 160 156 155 160 158 155 153 143 155 150 145 150 138 138 145 135 142 135 132 135 132 135 132 129 129 127 124 124 120 116 116 112 114 109 112 109 109 104 102 99 98 96 93 93 89 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 86 83 88 91 89 94 98 93 99 98 101 94 104 102 106 106 107 109 111 109 111 111 109 114 117 119 124 122 124 124 122 130 132 132 134 140 140 140 138 142 140 138 140 147 145 153 152 158 158 161 166 160 156 161 166 171 166 170 173 163 173 173 174 176 176 179 184 186 173 186 179 181 181 184 191 181 181 184 183 183 184 189 183 197 187 181 183 181 186 183 184 192 191 189 197 192 191 187 191 179 181 181 174 171 171 166 163 168 168 173 176 173 174 181 171 176 173 187 176 171 183 184 189 181 186 189 192 179 192 184 189 178 184 189 191 187 204 191 187 209 196 196 199 204 205 205 210 207 207 204 209 209 212 205 214 210 212 214 210 207 199 194 192 201 202 207 207 202 205 207 209 201 201 201 189 199 202 205 201 194 204 202 194 202 201 201 202 196 197 191 192 194 192 191 192 192 194 186 181 183 183 183 181 192 176 174 178 176 170 179 174 174 171 174 181 166 183 173 178 174 174 176 173 178 174 174 179 170 174 174 176 174 170 170 165 168 170 158 168 153 166 161 163 156 156 160 161 155 150 150 161 150 147 158 147 155 150 145 145 145 143 135 140 137 135 132 129 129 134 127 125 120 125 125 120 117 116 116 117 111 109 109 104 106 101 98 96 93 93 86 91 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 86 91 85 89 94 93 93 96 99 99 101 98 98 107 104 106 102 104 106 107 112 112 116 114 127 116 125 124 125 122 130 129 134 132 127 132 134 140 142 140 143 147 148 145 156 147 155 153 155 153 165 156 158 166 170 174 165 173 163 160 165 165 173 176 173 181 176 181 184 181 186 187 183 186 179 184 183 181 184 178 179 181 186 189 187 183 189 189 187 191 194 184 196 194 189 186 178 187 189 183 178 179 174 176 171 161 168 161 170 176 174 176 171 181 174 174 179 176 183 183 183 181 189 187 189 187 186 186 189 184 189 194 189 184 192 187 186 191 186 196 197 199 202 194 210 212 204 215 207 205 214 207 207 212 212 207 209 207 207 199 199 202 191 197 196 197 194 204 197 191 207 196 196 191 201 199 212 201 197 199 201 204 202 199 199 197 202 197 199 187 186 192 196 201 197 202 191 191 192 183 197 178 191 184 179 181 176 174 179 174 171 171 178 166 171 176 170 170 173 176 174 174 168 171 176 174 173 173 181 173 170 170 170 166 165 166 161 163 163 160 163 150 155 158 158 153 158 150 158 152 158 150 148 156 150 147 143 142 147 145 143 142 137 134 130 135 134 134 132 132 129 129 124 125 129 124 112 116 117 111 109 111 98 106 101 96 98 94 93 89 89 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 88 88 85 86 88 96 96 99 99 99 99 101 104 101 104 104 106 109 104 106 111 109 116 111 124 116 119 127 125 125 130 127 134 132 132 137 129 140 142 137 137 138 148 147 140 148 156 156 160 163 160 160 160 160 160 163 165 165 165 161 171 176 170 176 179 183 173 179 176 174 174 184 189 178 187 181 176 183 184 191 179 187 186 189 187 192 186 189 197 187 189 191 192 202 189 191 179 181 186 178 181 186 173 168 171 166 168 171 171 170 170 165 174 170 181 173 183 179 170 178 183 179 181 186 179 191 197 184 187 186 186 183 192 192 184 186 194 192 192 197 194 192 197 202 199 207 209 210 210 205 214 205 205 210 209 215 209 205 207 205 209 201 197 196 202 199 197 205 192 199 201 197 194 199 187 196 196 196 197 194 194 196 194 202 199 199 196 189 199 191 184 191 194 186 186 189 192 187 191 187 184 179 181 179 176 178 171 174 181 176 176 168 174 171 176 171 173 176 173 171 173 173 176 176 178 171 171 171 174 173 170 165 168 161 158 163 171 163 166 153 160 153 156 155 153 155 153 155 153 148 147 150 148 143 147 142 150 143 142 140 135 143 135 134 135 135 134 132 132 125 127 125 124 124 122 122 119 116 116 112 107 107 102 102 99 96 96 93 88 88 86 88 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 83 89 93 86 88 98 94 94 99 99 101 102 101 112 102 104 102 101 109 102 106 111 112 116 120 117 122 120 125 127 132 130 134 134 137 132 142 130 137 138 145 142 145 150 147 153 155 155 155 158 156 158 160 156 163 161 158 173 168 163 165 173 174 179 174 179 181 183 184 183 187 179 183 176 187 186 187 178 179 181 181 181 194 192 187 191 191 201 189 191 191 196 192 189 197 189 189 181 181 179 171 183 176 170 163 173 170 171 174 184 178 168 178 173 181 174 174 171 179 183 192 189 181 187 189 184 184 192 176 187 192 186 192 189 187 194 191 196 192 194 201 196 194 201 204 205 205 212 207 217 217 215 214 209 212 215 201 212 192 205 202 196 197 196 201 194 194 205 189 197 187 207 191 201 194 194 184 197 191 199 192 196 196 199 194 192 204 197 187 184 191 194 187 192 186 194 187 186 191 183 186 179 179 179 176 183 178 171 174 168 163 165 174 163 174 176 171 170 170 170 174 181 170 173 173 170 179 171 174 171 166 165 173 165 168 155 160 155 156 158 160 155 153 156 152 152 150 152 152 150 155 145 152 148 138 147 143 137 145 140 145 134 135 135 129 132 125 122 135 127 122 127 122 116 119 116 119 114 114 109 112 106 99 104 101 91 96 88 88 86 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 89 86 96 94 91 91 94 96 98 99 102 99 104 106 102 104 104 106 106 107 114 109 109 111 117 120 125 122 127 124 132 127 127 132 137 134 135 137 140 138 142 140 143 148 148 148 148 152 156 153 160 158 163 165 160 163 153 171 168 166 173 165 173 178 178 179 166 181 176 183 187 179 184 173 173 176 184 181 184 183 181 176 183 191 183 186 191 191 192 194 186 197 204 189 196 196 194 181 181 179 174 178 173 170 168 166 171 168 166 174 176 170 171 181 176 179 170 174 173 176 181 183 183 183 186 189 194 192 186 187 183 186 184 192 187 189 191 189 192 194 186 197 194 201 204 196 202 207 212 214 209 209 202 212 212 210 201 207 205 205 204 196 199 196 189 194 192 196 196 197 187 191 194 199 194 192 187 196 184 192 199 191 196 204 201 197 192 192 191 192 179 181 191 192 187 192 187 181 179 192 187 176 181 179 181 178 174 171 170 171 176 174 171 168 171 166 170 165 184 178 174 178 170 171 168 176 173 171 168 179 174 171 170 166 156 163 160 158 163 158 161 160 155 155 148 155 150 153 148 150 147 145 148 147 148 142 140 142 143 135 135 138 138 134 134 135 129 134 127 129 130 124 116 111 127 116 111 116 116 109 102 104 99 99 99 99 93 89 88 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 86 88 83 91 94 91 93 96 94 101 99 104 99 111 104 106 109 106 106 107 109 111 104 114 119 117 122 122 129 130 125 127 134 135 134 137 138 140 134 142 143 147 148 145 140 148 147 147 148 152 158 155 160 158 160 161 158 163 161 170 166 176 170 178 174 181 183 176 181 173 183 178 179 174 178 176 183 183 179 181 187 179 183 189 189 184 187 187 187 197 201 191 192 194 194 196 191 178 183 184 178 168 170 161 174 166 176 168 176 171 178 181 187 183 170 179 171 176 174 176 181 174 191 189 186 181 191 191 189 186 189 184 187 187 197 194 183 191 191 186 191 189 191 197 202 197 199 207 204 204 210 215 205 209 214 214 209 207 204 199 207 199 199 191 196 189 187 189 187 191 189 202 194 194 187 196 187 196 192 189 186 192 189 191 192 197 189 181 187 189 187 196 187 181 184 184 191 186 191 183 187 179 174 179 178 170 174 170 170 166 161 174 171 170 168 174 165 173 178 173 178 173 174 181 171 171 166 168 170 168 166 161 168 166 163 160 155 156 152 150 155 155 140 152 155 152 147 147 150 145 148 150 145 147 145 142 150 142 147 142 140 143 135 130 130 129 127 122 124 130 120 124 122 112 111 116 112 111 111 107 104 101 101 102 94 94 93 89 85 86 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 86 85 91 91 98 91 99 93 99 102 98 102 101 101 101 104 104 104 106 107 112 114 109 107 111 120 117 120 120 122 130 125 134 130 134 135 130 134 137 143 147 147 142 140 147 145 152 147 155 150 158 160 161 160 163 163 166 165 170 168 173 179 165 170 178 176 178 176 181 178 176 176 173 178 178 189 181 179 191 184 184 183 179 186 179 184 191 186 191 199 201 194 194 196 187 194 187 192 178 186 176 174 168 171 161 168 171 168 165 183 176 181 170 176 179 168 178 174 178 186 179 183 186 181 187 184 187 186 183 186 184 189 184 191 179 186 191 189 186 187 184 194 194 192 196 197 202 201 210 209 212 209 209 204 204 204 202 209 207 201 204 205 199 191 197 189 196 191 191 187 197 201 191 183 197 189 181 184 192 184 189 189 197 192 199 192 192 191 187 187 179 184 189 191 187 199 187 187 179 186 178 184 178 173 173 173 170 165 171 173 174 170 168 170 171 173 168 173 171 173 176 171 178 171 179 173 178 166 170 170 160 163 165 163 156 153 163 155 153 158 147 155 150 161 148 150 152 147 153 147 150 148 147 145 138 138 140 132 135 138 137 134 137 135 132 130 132 127 119 127 122 119 116 117 119 106 114 109 107 102 107 102 101 96 91 99 94 89 91 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
88 88 88 91 94 91 91 96 98 91 96 101 98 102 99 106 106 104 106 107 104 106 112 112 111 117 119 119 122 124 125 127 132 135 127 135 135 137 140 137 138 142 148 143 145 147 153 153 161 152 150 153 160 153 161 163 161 166 170 161 170 163 176 178 171 173 176 178 176 178 184 174 170 173 181 174 174 178 173 179 174 181 179 183 181 186 186 187 194 181 196 189 197 194 194 187 178 187 184 178 181 184 170 178 173 170 166 160 168 173 183 184 179 183 178 174 184 181 178 179 179 173 184 179 181 183 184 183 186 186 179 187 187 183 181 186 184 179 187 184 179 187 194 191 191 196 205 197 209 204 207 197 209 199 204 210 209 212 205 207 196 205 207 191 191 189 189 191 191 191 192 189 187 183 187 194 181 184 196 192 191 196 183 191 191 191 194 191 191 186 184 187 187 184 187 189 183 189 186 189 176 186 176 186 171 171 173 170 163 170 168 173 168 163 170 171 171 173 173 174 171 168 170 174 176 176 174 171 166 171 168 171 168 170 163 156 165 163 153 160 155 156 152 152 147 155 148 150 147 142 145 145 145 142 140 134 147 148 142 135 138 137 137 134 132 124 134 122 134 127 125 120 124 117 112 114 114 109 109 104 102 101 98 102 98 93 93 88 86 86 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 86 93 89 94 91 98 98 98 98 98 101 98 101 102 101 102 104 102 107 111 101 104 111 116 117 116 120 122 120 125 125 127 129 130 132 135 145 130 138 135 143 142 140 140 143 153 150 156 145 152 150 155 161 156 161 163 161 163 165 168 171 165 170 178 181 173 179 170 181 181 176 174 176 178 173 176 184 168 171 184 174 178 178 178 181 187 192 191 191 187 189 196 189 187 189 179 187 189 173 176 183 168 173 168 165 166 165 171 170 168 183 174 176 176 174 174 181 184 186 174 178 176 176 179 174 189 184 191 184 189 187 187 189 184 183 183 178 181 186 181 184 186 184 192 199 194 201 191 202 204 205 205 205 207 205 212 197 205 204 209 205 194 197 184 184 183 186 186 196 194 183 183 189 187 178 176 194 184 192 192 183 186 189 197 199 201 189 187 187 187 186 184 186 187 194 189 187 187 184 186 186 171 178 165 170 168 171 168 160 178 166 178 166 166 176 173 178 165 178 176 171 166 173 163 170 161 170 165 170 161 170 165 165 161 163 161 155 160 152 152 160 145 158 145 153 145 148 147 145 147 140 138 143 147 134 137 138 138 138 135 125 137 134 129 129 129 129 125 124 120 119 119 119 112 112 111 109 102 106 102 104 102 99 96 99 89 89 85 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 86 89 89 91 93 89 96 94 98 94 98 106 96 99 102 104 102 106 109 104 111 104 116 109 119 117 117 119 127 120 122 132 122 137 127 134 127 137 140 137 143 140 145 143 143 140 153 143 147 155 153 152 156 156 152 152 165 165 171 166 174 171 165 174 173 173 178 186 174 187 184 163 170 174 173 176 183 178 176 176 187 181 181 178 184 191 183 183 189 183 192 183 189 194 186 191 184 186 178 176 184 170 171 166 161 166 158 166 173 174 183 178 165 176 181 171 181 178 179 183 174 181 186 176 186 181 186 192 178 183 186 187 183 186 184 183 181 176 179 181 191 189 194 194 187 197 201 196 207 201 201 199 210 209 207 197 205 201 204 204 199 197 199 191 189 187 187 174 186 187 183 181 178 183 186 179 176 181 183 186 187 194 191 187 191 194 192 192 187 184 187 191 189 181 183 189 183 189 181 189 181 174 170 176 170 174 168 168 166 165 173 166 168 174 173 166 171 171 168 165 173 178 173 173 170 174 176 174 171 166 163 166 163 163 160 161 160 155 152 153 155 153 155 148 150 145 152 143 145 138 150 142 135 143 142 137 137 132 130 135 130 129 127 130 134 120 132 125 122 119 122 116 116 119 117 111 114 109 106 104 101 102 94 96 96 89 91 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 85 83 85 94 88 93 93 99 91 96 98 99 99 99 106 106 98 106 107 102 106 106 111 112 119 119 116 119 122 120 122 122 132 135 132 130 142 135 137 138 134 138 138 150 147 140 143 147 152 153 155 156 158 153 152 153 153 165 165 161 161 166 174 171 171 174 176 178 181 178 181 179 173 176 179 179 174 176 178 178 176 181 179 178 183 179 191 189 187 183 187 181 189 187 184 179 179 181 178 178 181 168 166 178 171 170 163 173 174 166 171 174 176 174 181 178 179 184 178 179 178 183 181 183 181 187 179 189 187 184 178 184 184 184 171 183 181 176 178 189 187 189 191 189 194 194 192 201 201 201 204 209 202 204 210 205 212 205 205 205 201 192 196 184 189 186 184 184 187 187 184 181 186 174 181 184 181 186 174 189 178 192 187 186 181 184 189 186 186 179 181 179 181 187 178 183 189 179 181 183 173 179 173 170 168 171 163 173 161 171 166 161 171 170 170 171 171 170 174 168 165 161 163 171 174 171 173 161 163 173 158 165 161 161 158 150 160 155 150 152 150 142 150 152 152 145 148 147 142 142 137 145 140 137 135 140 138 134 134 134 134 129 127 134 129 127 129 122 127 119 120 116 112 120 114 107 107 104 101 99 102 94 93 94 91 88 85 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 89 86 89 89 93 96 91 94 96 94 99 101 99 104 102 101 107 106 106 102 109 109 112 106 117 120 117 120 125 129 129 130 130 127 125 129 135 138 134 138 140 138 140 137 142 148 143 145 143 155 158 152 160 150 158 158 165 156 160 160 165 171 166 171 165 170 183 176 171 174 178 173 176 179 183 184 176 183 178 178 176 176 178 184 181 176 179 186 197 189 181 186 196 191 183 189 179 176 176 179 171 163 168 166 161 168 173 168 171 178 181 181 176 176 178 174 174 181 184 174 184 183 183 179 183 183 184 189 186 183 184 194 179 183 173 181 174 176 186 184 187 189 184 186 191 189 196 201 192 199 209 199 209 201 209 205 199 199 204 194 196 192 194 187 181 184 184 184 189 176 183 184 178 184 183 174 184 174 181 183 179 183 181 181 186 186 196 184 183 187 183 187 184 189 184 189 184 179 178 174 173 173 168 166 165 171 170 166 163 161 161 165 170 166 166 173 165 174 170 174 161 174 161 174 173 174 163 166 166 166 166 161 168 163 158 155 158 156 152 155 148 147 155 142 145 143 140 145 140 143 145 134 140 143 138 138 127 129 132 125 130 129 124 125 127 124 127 130 120 119 120 120 114 116 112 107 109 109 106 106 98 98 93 98 91 89 86 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 86 86 83 89 88 94 89 93 89 98 96 101 101 94 102 98 104 101 98 102 106 107 109 112 112 114 120 120 120 119 127 127 127 137 129 130 132 135 135 137 134 138 143 145 140 150 143 150 147 147 152 148 153 161 155 158 170 165 161 160 166 165 166 166 174 170 171 166 176 174 173 173 178 176 174 183 179 170 179 184 176 174 176 178 186 186 170 181 184 184 179 184 189 189 189 186 178 181 174 178 179 165 165 165 170 173 176 171 168 176 173 176 173 171 184 176 179 183 178 181 174 176 176 184 181 184 186 181 174 183 178 181 178 176 178 173 178 183 186 174 181 192 199 187 187 194 201 196 191 201 202 197 205 205 204 202 204 204 201 197 197 191 196 181 189 176 178 181 183 186 179 179 178 173 183 174 181 186 187 183 186 189 181 184 179 191 183 191 184 189 189 181 187 184 187 183 179 184 178 176 174 174 173 168 171 165 165 165 163 166 161 163 163 174 165 173 165 174 170 174 163 163 170 166 166 163 160 161 161 170 165 160 161 163 161 153 153 153 147 153 152 147 152 145 143 145 147 147 147 140 142 142 138 135 138 135 135 137 135 130 127 134 125 125 125 124 127 117 119 122 117 117 112 111 117 106 106 106 102 99 99 93 96 93 98 88 85 83 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
86 0 0 88 88 91 88 91 96 96 93 96 99 98 102 99 101 106 99 98 102 107 106 109 112 116 117 120 117 120 127 125 130 125 130 137 132 140 138 135 135 138 135 143 143 135 143 138 147 148 145 153 150 155 153 160 155 163 163 165 161 166 160 161 166 166 173 166 173 171 181 170 168 168 187 178 181 176 189 174 176 173 179 171 179 179 181 181 179 181 176 181 187 187 187 183 179 186 178 178 171 171 173 163 170 165 163 174 173 170 165 183 174 178 176 179 181 181 179 181 179 176 178 176 176 178 173 176 179 176 176 184 176 176 174 176 183 174 179 179 178 181 184 186 189 196 191 191 192 197 201 201 202 196 212 207 205 202 192 191 192 196 196 184 196 183 181 184 184 184 181 178 179 173 171 181 168 181 181 171 183 173 186 186 170 184 184 189 186 184 196 181 186 178 194 183 184 178 178 178 179 176 176 173 166 163 161 165 161 165 161 165 166 166 166 166 165 166 165 163 166 170 168 166 165 163 171 161 163 160 171 166 161 156 156 150 161 153 152 153 145 148 148 148 148 148 143 135 143 130 138 138 142 137 140 135 132 132 134 134 130 127 129 125 129 124 127 120 117 124 112 117 112 112 107 106 109 109 104 98 101 96 96 89 89 89 86 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 85 89 88 93 0 88 93 93 94 101 94 96 96 101 99 101 102 107 106 106 104 109 107 120 117 116 120 122 124 122 122 129 132 125 130 132 135 130 138 132 137 135 135 137 145 143 145 147 150 143 148 152 150 153 155 156 156 153 168 165 171 163 166 170 171 168 171 170 166 171 173 171 176 171 170 174 166 174 181 179 179 174 184 173 178 170 183 176 179 178 187 176 184 181 174 174 181 181 170 178 168 165 166 165 170 165 174 163 165 170 178 176 163 171 170 176 178 176 179 181 173 173 183 186 176 181 181 178 174 176 181 181 171 179 178 176 173 178 179 173 186 186 173 194 187 186 197 187 191 189 201 196 202 204 204 204 205 196 201 202 199 197 201 186 184 176 183 179 184 181 176 176 179 165 174 178 176 178 184 183 186 178 178 187 183 187 186 183 184 186 183 183 183 184 179 186 171 183 171 171 171 178 168 166 165 163 165 160 168 163 168 166 161 165 161 166 170 171 165 166 161 161 166 155 158 160 160 166 160 161 168 150 156 155 155 153 145 153 143 145 145 140 150 145 147 143 134 140 140 135 132 138 135 132 134 137 135 132 130 132 127 135 125 127 120 122 129 117 117 114 114 117 111 111 104 104 99 102 96 96 89 93 91 88 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
85 0 0 88 85 88 94 91 93 89 94 94 94 94 99 104 102 99 101 104 109 109 112 117 109 114 116 116 120 122 122 119 127 127 130 129 124 125 135 135 132 135 135 137 138 138 137 138 138 142 152 147 150 152 152 155 158 163 160 165 163 166 163 170 168 170 171 173 179 170 178 173 178 179 174 170 173 174 183 176 168 179 183 174 170 173 176 173 179 178 174 183 184 181 191 184 181 171 183 174 168 171 166 161 166 166 170 166 165 173 176 173 170 184 170 170 170 171 173 179 181 173 179 173 178 178 176 174 178 176 183 189 173 179 173 171 170 170 176 176 174 178 184 184 189 192 191 186 186 197 189 189 189 204 202 197 207 192 196 196 199 194 191 184 189 181 173 176 179 178 184 181 168 173 170 174 166 176 179 178 171 171 181 181 181 179 184 183 184 184 184 176 187 186 183 183 179 181 174 173 174 170 165 168 171 165 161 160 161 166 160 163 160 165 168 163 166 168 165 158 170 166 168 165 170 161 165 161 160 165 161 153 161 161 155 156 153 155 150 150 148 152 155 143 143 153 135 142 143 135 138 140 137 137 135 132 134 132 130 129 130 132 122 120 117 122 124 114 116 117 119 114 116 109 109 106 102 104 99 98 93 93 91 89 88 83 86 83 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
83 0 86 85 91 85 89 93 89 86 91 91 99 94 94 94 98 98 104 106 101 107 109 116 111 116 116 116 122 117 124 127 122 127 127 130 130 130 130 134 137 134 135 135 137 135 134 147 143 142 145 145 153 153 153 148 152 158 160 155 163 161 160 170 161 165 165 171 170 178 181 171 173 174 181 173 173 176 174 178 178 186 179 174 181 166 170 178 173 170 178 179 178 184 173 176 184 181 168 168 165 171 170 161 170 171 166 170 176 170 173 165 173 170 176 171 170 168 174 173 166 173 179 181 176 173 173 178 168 178 178 179 176 174 176 178 171 181 173 173 174 178 179 179 183 186 186 191 189 192 201 199 201 199 196 201 199 196 197 201 192 192 201 192 189 187 179 176 186 178 181 176 170 179 174 181 171 178 178 174 181 183 176 181 178 178 176 178 183 181 184 181 186 187 183 181 184 176 174 174 171 165 165 170 163 165 170 158 171 165 161 163 163 161 161 168 161 153 160 160 161 163 163 166 158 161 165 161 163 156 161 155 158 156 158 148 152 158 150 150 153 147 142 138 148 145 143 134 142 140 135 132 135 132 134 134 130 130 127 122 129 130 124 119 120 122 122 122 117 111 117 114 117 104 109 104 104 98 101 102 99 93 88 89 88 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 85 86 89 0 86 85 89 91 89 91 89 93 99 96 101 96 102 99 102 107 109 106 112 109 120 114 119 117 117 120 122 122 127 130 130 127 135 132 129 137 138 137 129 134 140 140 142 140 152 152 150 145 153 150 156 158 156 160 161 161 166 158 163 165 158 161 168 170 173 173 184 174 176 178 176 179 170 184 176 184 181 179 181 173 178 179 176 179 174 173 173 181 174 170 178 174 171 171 174 171 166 166 161 153 165 166 171 163 170 174 171 174 174 173 170 178 176 170 178 178 176 179 173 179 174 170 173 178 171 170 170 171 174 163 176 168 174 170 174 176 179 179 179 181 189 178 194 187 194 199 189 197 197 201 196 197 199 192 196 194 194 187 197 184 181 183 178 176 186 181 178 181 181 170 176 176 168 184 184 179 183 181 174 176 170 191 179 178 187 181 173 174 186 183 178 181 170 176 173 173 166 163 163 163 168 163 168 165 163 163 161 165 166 160 165 170 161 161 160 160 163 171 165 158 158 160 155 158 153 160 156 155 155 155 152 153 155 148 145 148 148 148 148 145 140 137 138 137 129 132 132 134 132 135 130 130 127 132 125 125 132 122 122 120 122 111 112 116 114 112 112 111 106 104 101 101 96 91 94 89 91 93 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 85 86 83 86 89 85 89 93 94 91 89 98 93 98 101 101 101 107 107 106 107 116 111 117 117 122 116 125 124 129 125 130 127 129 129 132 132 135 137 137 138 140 137 132 137 143 143 147 147 145 148 155 158 148 158 160 155 155 160 165 160 153 165 163 165 163 168 170 168 171 178 178 181 176 178 176 184 186 181 179 189 186 183 179 171 173 176 168 174 179 176 166 174 174 176 174 173 168 176 161 160 168 166 165 173 173 166 166 170 163 174 174 173 168 174 176 170 176 176 176 170 178 173 165 170 174 174 168 170 173 176 173 168 170 168 173 173 168 176 170 181 187 179 187 186 189 189 207 196 192 196 194 201 194 196 194 199 199 199 192 186 184 187 181 179 183 173 184 179 173 179 171 181 173 184 173 181 170 171 174 174 170 179 176 174 183 179 179 186 173 179 173 178 183 179 174 171 171 168 161 170 160 161 161 161 160 160 168 168 163 163 160 168 163 160 160 156 158 165 163 160 165 163 160 158 161 160 153 156 150 155 150 150 153 148 150 148 148 150 143 142 138 137 138 140 135 135 138 135 132 132 130 132 129 134 124 127 120 124 120 119 120 116 112 114 107 116 112 102 112 104 101 99 93 93 98 91 91 93 89 85 0 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 85 83 0 0 88 85 88 89 88 89 88 93 96 93 94 96 102 106 102 99 109 111 109 107 111 117 124 119 119 119 122 124 122 130 127 130 132 135 132 137 138 137 138 129 132 138 140 145 145 147 148 153 155 156 148 161 150 160 158 153 156 161 165 160 160 163 168 168 166 168 171 174 173 173 171 170 183 174 183 187 183 183 184 178 181 178 178 181 178 173 174 166 178 171 176 171 173 166 170 171 166 163 165 166 171 171 171 178 176 171 170 171 165 171 168 170 168 166 168 170 174 171 165 165 166 170 168 174 174 165 170 163 168 163 163 168 156 173 166 176 176 174 183 186 191 196 186 192 189 194 194 187 191 194 194 189 183 196 189 189 192 197 184 178 178 178 170 171 176 174 173 174 183 174 171 174 170 176 176 179 173 173 173 176 174 181 176 181 183 184 183 178 181 179 176 178 173 173 170 165 166 161 160 158 160 163 156 158 161 163 161 161 166 160 161 165 160 161 161 161 161 160 160 163 155 155 160 150 156 153 153 153 148 155 145 145 143 138 138 140 142 140 134 135 138 137 134 135 130 134 134 132 134 132 130 127 124 124 122 122 119 116 114 116 114 117 114 114 106 109 107 102 107 98 101 96 98 88 89 88 83 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 85 0 85 89 85 91 88 86 91 94 91 98 94 98 96 101 106 102 112 104 112 111 112 111 122 114 122 124 129 129 125 124 130 127 134 129 134 135 138 135 140 135 140 140 138 137 140 150 145 148 156 152 161 152 160 163 163 163 161 161 158 161 166 165 166 161 166 168 166 168 170 173 173 173 179 174 179 179 174 192 184 183 181 174 181 179 174 174 174 173 171 181 165 173 165 160 163 173 163 158 176 166 161 171 171 171 166 179 171 163 174 168 176 163 165 173 171 171 165 163 166 160 163 174 165 165 165 163 166 166 168 165 168 161 168 166 165 171 168 187 174 186 186 189 186 189 197 197 196 196 192 191 191 191 187 187 194 184 192 189 181 191 174 181 183 171 178 170 173 178 171 176 173 171 178 179 170 183 171 176 176 174 174 174 176 178 168 171 170 176 174 178 173 176 176 168 166 165 166 161 161 160 158 165 158 161 160 158 166 163 165 160 165 158 161 163 158 156 160 158 161 155 160 155 153 160 153 152 150 150 150 152 143 147 138 142 138 140 142 137 132 137 135 132 130 132 127 124 130 127 137 125 125 129 125 120 120 120 119 111 111 111 107 109 107 116 111 107 99 99 101 94 98 93 91 93 89 89 86 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 83 86 83 86 83 89 86 85 91 93 89 94 94 96 98 94 99 99 102 101 109 109 104 106 112 117 120 120 119 119 122 127 124 125 129 130 134 129 134 137 137 135 134 138 137 135 143 150 148 156 152 155 152 153 160 156 156 161 156 156 163 161 163 156 155 168 166 163 168 173 171 171 166 171 165 168 171 183 176 183 178 176 176 179 176 179 173 170 174 173 174 171 170 166 166 170 173 168 168 161 155 170 166 168 166 166 166 170 181 165 163 168 171 165 173 176 170 165 168 171 171 168 161 166 165 165 163 161 166 161 165 161 170 158 158 160 166 171 165 173 174 183 178 176 186 181 194 194 192 196 196 191 183 199 187 196 186 192 191 196 187 181 184 184 178 176 166 181 179 178 168 171 173 176 174 178 179 171 168 174 178 174 183 174 171 181 179 171 171 179 171 176 174 176 174 173 170 161 166 161 166 160 160 158 160 156 161 160 161 158 160 158 166 160 158 161 155 158 158 160 153 152 161 148 150 153 156 150 153 150 152 148 143 145 145 145 142 143 140 137 142 145 129 132 135 132 135 130 127 130 129 127 124 127 122 125 125 119 119 114 116 117 114 114 109 109 107 104 102 99 101 99 96 94 91 94 91 85 86 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 88 0 85 85 96 88 89 89 89 94 93 96 101 98 102 102 107 104 106 106 109 111 114 120 120 122 122 127 124 132 132 124 132 129 135 132 132 137 134 134 138 130 134 140 140 145 148 145 156 155 152 158 156 163 165 173 153 161 156 153 163 168 165 174 168 171 171 173 168 173 170 171 178 163 173 174 170 181 176 168 179 176 174 179 173 173 171 174 170 170 171 166 173 161 168 165 160 163 165 165 163 166 174 170 176 170 165 163 165 170 161 163 166 165 173 166 165 173 173 163 161 166 158 161 168 165 160 155 163 166 165 163 163 156 170 170 173 174 171 179 179 191 189 196 187 192 189 191 184 189 184 187 179 187 192 181 186 186 189 186 183 174 176 179 181 173 171 174 170 174 171 173 178 171 176 168 171 173 171 176 176 171 173 176 173 166 173 166 173 178 174 171 166 170 160 161 168 158 160 158 161 160 163 160 160 158 158 160 160 155 158 161 153 158 153 160 158 158 148 153 152 152 153 147 142 152 148 145 150 148 152 147 143 138 143 143 138 132 134 138 132 130 130 122 125 125 130 117 124 124 114 130 119 119 119 112 114 114 112 116 112 111 111 109 107 102 101 99 99 96 99 88 89 88 83 88 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 83 86 83 85 86 88 88 89 88 91 91 94 98 99 99 101 98 104 109 116 111 109 112 116 116 114 117 122 124 122 130 124 125 129 132 132 127 130 129 132 129 132 137 143 137 145 145 145 150 148 150 153 150 166 160 158 166 158 163 165 160 156 161 165 166 166 165 176 173 174 166 178 171 179 176 173 176 178 171 176 179 173 173 173 170 168 170 171 171 176 171 170 163 171 168 165 166 160 160 165 160 160 171 163 168 166 161 166 168 171 161 171 158 163 166 160 163 166 165 165 158 165 158 156 158 166 161 165 170 158 160 156 158 156 161 163 166 171 174 174 186 181 183 192 192 186 191 192 189 184 186 191 178 183 191 183 184 181 181 183 183 184 171 174 163 174 166 174 174 170 170 173 174 171 166 174 181 174 179 178 174 171 170 174 176 171 173 168 176 173 178 171 168 168 165 160 158 160 160 158 155 152 160 155 160 166 160 163 161 160 155 160 156 147 158 152 156 156 160 156 148 153 153 153 156 158 143 148 145 148 142 145 142 137 137 138 140 137 132 130 134 127 129 129 125 130 127 130 125 119 119 127 116 117 117 119 114 117 114 109 111 111 104 109 106 102 102 96 96 94 91 93 91 91 88 83 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 83 0 0 0 83 83 86 86 91 86 91 89 96 89 94 96 96 99 99 99 99 107 111 109 116 111 119 122 114 122 124 120 125 129 127 129 130 127 135 132 137 132 134 129 130 138 143 142 143 145 143 152 152 155 156 161 156 155 158 158 161 165 166 156 153 156 163 165 166 165 163 165 165 165 178 178 176 171 174 174 173 171 171 171 166 171 163 165 168 173 168 171 165 163 168 161 168 166 166 158 158 163 155 161 168 166 165 173 168 168 158 168 160 161 166 158 165 160 165 152 158 160 165 165 165 158 171 163 166 160 168 160 165 161 160 165 166 165 163 170 178 174 176 187 191 183 187 187 189 191 187 179 187 183 181 184 184 184 184 181 184 184 184 176 178 170 165 173 174 178 168 176 168 171 171 176 176 170 174 173 174 168 170 170 171 176 170 171 170 170 173 174 174 168 171 170 158 166 160 163 160 155 158 155 155 153 150 161 161 158 155 150 158 153 152 153 156 147 158 142 158 152 155 152 150 150 152 150 153 152 145 147 143 150 140 142 143 135 132 137 134 129 134 129 130 122 124 124 120 124 125 124 122 122 120 119 119 112 117 117 112 112 107 107 104 112 98 102 104 99 96 98 89 91 86 88 88 0 0 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 85 0 83 83 88 89 93 86 93 89 93 93 93 94 98 99 98 104 104 106 107 116 114 116 116 119 120 120 120 120 122 129 130 127 129 134 137 132 135 130 132 138 132 134 138 140 138 137 147 150 153 145 160 152 152 161 152 160 161 168 165 158 163 165 161 158 163 168 165 163 176 170 166 170 166 170 176 176 178 178 170 181 173 168 163 168 165 163 168 171 160 171 165 165 160 166 158 161 153 165 163 160 166 168 176 163 160 163 161 165 165 165 163 160 156 156 160 158 165 160 163 161 153 165 163 163 166 158 165 161 161 156 158 158 158 163 174 171 179 179 189 189 187 189 189 184 187 192 181 187 187 187 191 179 192 181 186 191 187 183 179 168 170 173 168 170 166 171 170 174 179 174 178 174 176 173 166 174 176 178 181 174 171 170 171 171 168 163 165 178 163 166 165 165 153 156 156 155 153 163 155 155 163 155 160 160 158 158 153 156 156 156 153 148 156 152 152 150 152 143 143 143 153 148 142 142 140 140 142 142 148 140 138 137 138 138 135 134 130 130 134 124 124 120 122 117 120 122 116 111 114 112 112 114 116 111 109 112 109 104 102 102 106 102 96 99 96 94 89 93 86 86 85 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 85 86 88 88 89 93 91 89 96 101 96 98 99 99 104 104 104 112 107 112 114 116 122 107 119 122 119 122 122 125 124 132 132 130 134 132 134 132 140 142 140 135 142 138 135 140 145 148 148 152 145 152 147 150 161 155 161 158 161 161 165 166 166 165 166 165 168 168 170 168 173 171 165 161 171 173 174 170 170 166 168 166 168 176 163 168 161 166 163 165 155 161 155 163 160 161 161 163 166 170 165 163 163 161 158 165 165 155 163 160 158 156 161 161 155 160 153 163 160 165 163 163 158 161 163 161 168 161 158 156 166 166 160 166 173 174 174 181 191 183 184 184 186 187 184 186 187 192 181 183 179 186 189 186 184 181 176 181 174 173 168 171 173 168 179 173 171 166 174 178 174 168 173 171 173 181 170 173 173 174 170 165 165 165 166 166 158 170 174 161 163 161 156 158 156 153 152 148 156 153 155 156 153 155 158 156 158 156 153 145 150 156 153 145 153 148 147 145 150 145 147 143 143 145 143 137 135 137 137 135 137 135 132 130 132 125 130 125 124 127 119 119 116 119 116 122 116 119 114 114 116 109 114 116 107 107 102 102 99 102 99 93 93 93 94 94 89 85 88 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 88 93 94 91 98 93 93 93 98 99 106 101 107 106 107 107 111 106 112 120 117 119 117 119 122 122 120 125 125 122 129 124 135 134 137 138 138 138 135 137 137 140 142 147 147 150 145 150 143 153 145 153 155 153 156 153 156 165 161 160 166 166 158 165 168 160 171 166 166 171 165 170 170 160 176 174 165 171 170 168 161 165 165 166 161 160 158 166 163 153 158 153 155 153 165 158 155 156 161 161 166 170 156 155 161 158 156 160 156 156 155 155 160 153 163 155 165 160 166 163 168 161 163 166 156 163 160 156 166 173 163 174 174 178 181 183 181 184 186 183 186 186 184 183 181 181 186 179 184 183 179 176 186 183 176 170 170 174 170 165 178 166 176 171 179 173 171 176 170 173 166 165 171 171 168 171 168 165 160 170 168 161 163 163 166 168 166 156 161 161 152 156 147 153 152 155 152 153 158 150 150 153 152 152 158 150 152 145 153 153 148 150 145 150 145 150 145 143 134 142 140 135 140 137 138 132 137 130 135 135 129 130 122 129 124 119 122 119 117 124 117 114 119 119 106 109 107 111 114 106 106 106 102 106 104 102 98 99 96 93 93 91 89 89 88 86 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 83 0 0 83 85 86 85 91 86 93 94 89 96 94 101 104 96 104 111 106 116 112 114 117 114 119 112 119 114 117 120 124 124 119 127 130 130 132 137 132 140 135 140 135 140 137 145 148 140 143 148 150 145 153 140 143 150 155 152 152 160 161 158 156 163 166 171 163 166 166 163 165 166 166 168 163 173 165 163 171 170 163 170 165 163 166 165 165 160 161 166 160 158 153 161 156 155 158 161 158 153 160 152 161 155 161 156 153 160 160 165 155 161 155 153 160 156 155 152 160 163 160 170 163 161 158 160 160 160 155 165 155 161 166 173 170 173 181 187 174 179 187 176 181 181 186 179 183 179 176 181 179 181 181 184 178 174 178 179 170 168 168 176 168 163 176 168 173 166 170 173 170 176 176 173 166 168 168 165 178 173 170 158 161 171 166 161 161 163 163 156 156 160 153 158 156 152 156 155 147 150 153 156 148 152 155 158 152 152 155 148 148 148 152 147 148 147 138 147 148 140 135 137 138 140 140 138 137 137 138 132 129 130 129 134 134 127 125 120 125 122 122 116 120 117 112 117 116 114 109 111 107 109 109 106 101 107 101 102 101 99 99 93 89 94 96 88 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 83 0 89 0 86 83 86 94 91 94 93 99 99 98 101 102 102 109 109 109 114 112 112 116 114 114 119 114 120 124 120 120 125 125 122 127 135 134 134 132 130 138 135 135 142 142 138 142 142 138 140 153 143 152 152 147 153 155 155 158 153 158 156 161 168 165 170 163 163 166 163 168 158 171 168 166 171 160 174 173 173 163 166 156 163 161 158 155 156 158 155 156 153 161 155 156 153 166 158 156 155 160 152 155 165 160 153 156 155 155 160 150 158 153 160 155 161 163 155 161 161 160 163 165 163 165 161 163 156 160 163 165 166 161 163 179 173 181 176 181 179 184 179 186 181 181 187 179 179 178 183 176 179 176 176 181 181 178 173 168 163 165 165 165 161 173 168 165 173 178 171 170 170 171 166 173 171 173 168 171 168 166 161 166 156 163 156 160 160 161 160 158 161 152 153 155 148 153 155 150 150 152 153 153 158 161 147 156 152 155 145 150 148 147 148 142 143 147 138 147 145 134 137 130 138 134 137 140 130 135 130 130 127 122 129 122 120 122 120 119 117 114 111 116 114 114 111 107 107 107 109 102 101 102 101 101 93 96 96 93 96 93 89 86 89 86 83 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 85 83 0 91 89 86 88 89 94 94 93 94 94 94 102 96 102 104 107 111 111 116 114 116 114 117 124 125 117 124 122 120 124 122 125 124 129 129 132 132 132 132 132 134 140 130 138 143 142 138 145 147 140 150 152 145 150 155 155 163 163 158 161 160 156 160 158 161 161 160 165 168 161 163 161 168 165 166 163 156 161 163 163 158 158 161 158 160 153 156 156 153 153 153 156 153 165 163 152 161 158 161 165 163 156 153 155 153 148 152 153 153 158 163 155 160 155 161 161 160 158 165 165 163 165 155 156 160 161 155 158 166 170 178 174 178 186 186 187 174 184 181 183 179 179 178 174 176 183 168 174 176 173 176 179 178 178 174 161 163 170 168 168 165 171 173 174 161 173 168 166 170 170 174 165 163 170 166 168 168 168 166 160 161 160 165 160 156 155 170 158 163 152 155 156 150 153 143 153 153 152 153 155 152 143 142 153 150 153 148 145 143 147 143 140 147 142 147 142 137 137 130 137 137 138 134 134 130 130 132 130 130 125 125 122 124 119 116 119 114 116 119 109 109 109 109 109 102 104 109 101 104 104 99 96 93 94 93 93 94 94 94 89 89 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 85 0 0 88 0 88 91 91 88 93 89 91 91 91 99 91 98 99 106 104 106 101 109 111 111 107 109 109 116 109 117 122 127 120 122 122 120 122 122 124 130 122 129 127 125 132 125 132 132 137 140 137 145 138 142 138 143 145 147 150 148 152 160 156 160 163 158 171 168 168 166 160 156 160 165 166 166 166 161 163 163 156 170 163 163 170 153 161 153 161 160 148 155 163 148 155 147 156 160 165 158 152 155 158 158 156 155 165 158 155 150 155 156 156 152 155 161 158 156 155 155 156 155 161 158 160 163 161 161 160 160 163 158 158 158 163 165 173 174 171 183 174 174 183 181 179 183 179 181 179 173 174 170 181 173 174 173 181 173 174 181 173 165 163 161 168 168 166 168 173 171 168 168 168 171 168 165 163 173 166 165 178 165 166 155 158 165 161 160 165 163 160 163 161 161 160 158 153 148 153 145 148 150 148 155 152 150 147 152 152 148 143 153 145 145 145 143 147 142 143 137 138 145 138 137 132 127 137 127 127 129 125 127 127 129 127 124 120 117 117 117 119 117 119 116 112 119 107 112 109 111 107 104 104 107 101 99 98 101 99 94 91 94 91 91 85 88 85 83 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 83 85 85 83 83 86 88 91 91 91 94 94 91 98 99 104 99 101 111 104 106 111 109 112 112 107 114 116 119 114 124 122 122 127 125 125 122 124 127 124 124 124 125 127 132 134 134 134 138 138 143 138 135 140 142 143 153 147 145 148 156 158 163 158 165 166 161 166 158 165 166 163 161 165 166 171 168 166 166 163 150 165 160 160 158 155 155 155 150 152 153 155 150 150 152 145 152 152 153 158 155 153 155 158 158 147 156 152 148 156 152 158 158 152 156 158 161 158 155 160 160 160 158 161 161 158 161 158 165 156 153 156 156 161 178 165 168 174 181 178 179 173 181 176 179 187 181 174 166 176 171 170 176 168 165 178 171 173 166 165 156 165 163 173 166 168 170 168 163 176 166 160 173 173 165 166 165 170 165 165 160 156 158 161 165 152 165 165 155 155 153 165 153 148 152 155 153 145 142 150 145 152 148 153 147 153 150 147 153 145 145 150 143 147 143 142 142 140 137 137 134 137 127 130 134 120 129 124 125 125 124 120 127 114 119 125 117 119 116 117 117 111 111 107 109 104 106 102 104 101 102 101 98 98 93 93 94 91 94 94 96 88 89 86 86 86 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 83 86 83 89 86 89 89 91 91 83 96 96 96 93 98 104 102 101 102 104 104 112 114 109 114 107 114 117 120 122 124 124 120 124 122 122 127 125 124 122 127 124 119 125 125 135 129 132 130 135 132 142 138 138 138 143 150 143 148 153 160 158 156 152 166 160 156 160 160 166 160 165 165 163 160 161 166 163 161 165 158 156 160 153 158 158 155 155 150 150 148 148 145 145 153 155 155 150 158 160 152 148 152 152 158 147 153 155 148 153 152 153 156 153 163 158 156 161 158 160 158 170 161 161 163 158 152 161 160 160 163 165 163 160 165 173 173 170 171 166 171 170 171 171 173 166 176 176 173 166 171 171 168 173 171 176 170 168 161 166 161 168 161 160 166 161 158 161 163 166 171 168 160 166 163 165 171 166 165 166 166 163 158 156 158 156 163 153 158 163 158 158 160 155 153 152 143 148 150 148 153 148 150 152 147 152 145 147 143 145 148 143 138 140 135 142 140 140 143 134 132 132 130 130 127 124 130 125 122 117 122 117 119 114 119 119 119 116 114 112 111 111 116 106 106 109 101 106 101 106 99 96 99 94 93 91 93 91 91 85 88 86 86 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 86 85 88 88 93 89 89 96 94 96 104 98 101 106 101 102 112 114 106 112 107 119 112 116 116 117 122 117 122 125 119 127 122 120 125 120 122 124 127 129 125 127 129 129 134 132 137 142 135 135 147 137 147 145 150 155 158 155 156 158 155 161 158 161 160 155 168 165 163 160 165 156 156 165 158 160 158 156 150 153 155 155 152 148 156 143 152 150 147 148 140 150 156 158 155 152 153 153 153 153 152 147 155 150 155 155 155 153 152 156 165 163 148 158 163 166 160 168 161 158 166 163 156 163 153 156 165 161 155 163 166 171 168 179 171 171 174 181 174 176 176 174 168 173 165 171 170 170 168 171 170 165 170 166 163 160 161 163 165 168 165 158 161 165 161 171 165 165 163 161 168 160 166 158 166 160 163 158 153 156 161 155 156 152 152 153 156 153 152 147 147 147 145 148 147 143 142 145 145 147 145 145 143 148 138 143 145 142 142 140 140 137 134 135 130 130 130 130 127 122 130 127 122 124 117 119 120 120 119 109 119 114 116 107 112 109 111 106 111 102 102 104 104 99 99 96 101 98 91 94 96 88 89 88 83 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 83 0 0 0 0 88 83 86 88 93 88 93 93 94 91 98 96 98 106 102 102 102 107 102 106 107 116 112 112 109 114 117 119 116 117 122 122 124 124 122 119 124 129 120 124 122 127 129 130 130 130 132 132 138 132 137 140 142 140 143 143 148 153 155 156 148 158 155 156 155 156 155 166 161 158 156 163 161 155 160 155 156 158 156 158 155 156 153 153 150 150 148 145 150 150 150 140 145 155 150 153 147 153 153 150 152 153 156 155 152 160 152 152 155 156 158 158 161 166 161 158 163 153 163 158 160 165 165 156 161 150 153 148 161 156 156 168 171 165 166 171 171 171 170 171 173 171 171 171 165 173 166 168 173 178 168 168 173 168 170 158 160 160 163 155 161 160 158 163 160 168 160 165 165 163 166 171 163 160 165 166 158 150 155 156 155 156 160 160 160 158 150 152 148 155 150 148 147 147 140 143 152 150 148 150 145 148 147 147 145 137 147 145 138 137 134 143 135 138 142 134 132 127 130 127 127 127 127 122 120 124 117 117 117 119 116 116 117 116 109 107 111 102 107 106 102 102 102 101 106 104 99 89 91 89 89 93 86 88 88 83 86 0 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 85 83 83 85 85 93 91 86 93 93 94 91 96 94 96 102 98 104 107 106 102 109 106 104 106 117 114 116 116 112 112 122 124 122 117 124 120 117 122 119 122 119 127 129 130 129 129 127 130 125 134 138 143 137 145 135 143 142 152 155 148 156 153 150 158 156 155 155 158 152 163 155 161 150 158 155 161 155 152 153 150 160 150 155 148 150 150 150 142 150 145 150 152 152 155 150 152 155 148 153 150 153 152 145 155 152 160 152 153 155 160 163 163 158 165 161 161 165 161 155 161 155 168 161 155 152 155 158 160 158 160 158 156 166 170 173 166 166 171 174 163 170 171 166 170 165 166 165 165 166 165 165 170 163 166 161 165 161 153 156 158 158 161 161 153 160 160 165 161 166 168 165 165 170 160 161 158 158 156 156 158 156 153 152 158 150 153 153 156 150 147 152 147 150 153 145 148 147 147 145 145 148 142 143 147 137 145 140 137 140 135 142 138 132 135 135 130 127 125 125 127 129 122 125 122 124 114 119 112 117 114 114 112 106 109 107 101 96 107 107 104 106 107 102 101 98 99 101 94 93 96 89 89 88 85 88 86 85 85 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 88 0 85 85 88 86 86 93 91 98 94 88 94 99 98 102 99 101 109 109 109 104 109 112 107 111 114 116 114 119 112 119 119 119 120 120 119 117 119 122 119 125 127 130 127 129 129 129 125 132 135 127 138 138 140 138 158 152 147 147 143 156 152 152 147 152 153 155 148 156 156 156 156 148 153 153 155 152 160 153 150 150 148 158 153 147 147 147 147 147 143 148 145 145 152 152 147 152 148 150 148 155 153 156 142 158 153 166 160 165 153 160 161 166 160 163 156 153 160 165 160 161 160 158 156 163 158 156 156 152 153 163 155 165 161 161 165 165 168 168 163 165 163 161 163 163 160 168 158 166 163 160 168 163 163 161 160 155 155 163 153 161 156 161 163 168 161 158 170 163 160 161 161 161 158 171 163 160 160 156 153 158 158 158 148 158 155 158 152 150 153 153 152 150 148 147 145 148 148 145 147 147 142 148 145 135 140 142 140 140 137 138 134 134 134 124 129 127 122 127 120 125 119 122 119 122 120 117 114 116 117 114 112 107 111 104 101 96 98 101 106 104 99 102 96 94 94 93 91 89 89 88 88 88 91 0 0 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 88 88 85 83 86 88 91 91 89 94 94 96 98 98 99 98 106 106 109 111 104 116 114 116 111 116 119 117 112 119 117 114 122 122 119 117 116 122 117 122 125 125 122 125 125 119 130 129 132 132 138 135 140 145 145 150 150 152 155 155 148 148 147 153 145 153 153 155 152 150 153 150 152 155 147 155 153 152 155 143 150 152 156 143 145 143 143 143 143 148 150 138 147 147 152 147 150 153 153 153 158 155 156 153 158 160 155 166 163 160 161 161 163 160 156 160 161 163 150 163 163 153 163 153 158 148 156 153 153 155 160 161 166 161 163 161 160 168 165 165 163 160 166 165 163 165 160 168 165 153 161 163 158 161 156 163 153 163 156 153 158 158 158 160 155 163 160 156 158 161 163 163 156 160 155 153 160 148 155 153 161 152 155 155 156 150 153 147 152 152 148 143 150 148 152 145 145 143 145 137 145 150 143 140 143 140 138 142 135 138 132 132 130 134 125 124 122 124 120 119 120 120 119 117 119 114 116 109 117 111 109 102 104 104 101 98 98 99 99 99 102 93 98 94 94 91 89 86 86 83 86 0 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 85 88 88 88 86 91 93 93 91 88 89 98 98 94 98 106 102 106 106 107 111 111 106 114 114 114 114 122 120 117 116 114 122 114 117 119 120 117 122 127 124 124 129 130 124 127 125 137 134 134 142 140 142 147 137 145 150 155 148 150 148 155 156 147 152 152 152 152 155 145 150 156 147 152 153 152 153 153 150 152 150 153 155 147 145 142 143 140 137 152 143 147 145 142 150 145 147 155 153 152 152 153 148 160 156 158 160 160 163 165 165 161 163 156 163 161 156 158 163 160 158 153 155 152 147 155 150 155 156 165 166 158 161 160 155 161 165 158 161 160 161 153 161 158 161 156 158 161 160 163 158 158 156 156 152 155 158 160 153 166 156 156 158 161 163 158 158 158 165 161 155 161 158 150 155 153 155 155 150 152 153 153 158 145 155 147 147 153 153 155 147 138 143 143 148 148 142 145 142 142 138 143 140 138 137 137 137 130 135 129 132 134 124 124 124 127 122 119 122 125 114 119 116 114 114 114 114 111 107 107 101 111 104 106 101 104 96 96 94 101 98 94 96 94 89 89 85 88 88 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 0 83 83 88 83 86 85 89 89 89 93 89 99 86 99 101 99 101 98 106 107 106 111 109 112 116 119 114 120 114 119 122 112 125 119 119 114 120 120 117 120 120 125 129 124 125 124 125 132 134 137 135 137 140 140 142 140 145 147 147 143 150 148 143 152 148 155 147 147 158 150 155 150 148 155 148 155 153 152 147 152 142 150 147 153 145 142 143 145 145 143 145 145 143 150 152 152 156 155 148 153 150 150 165 158 158 160 153 155 163 163 161 160 165 155 153 160 156 160 156 158 158 150 152 150 148 150 147 153 153 152 165 155 155 165 156 163 156 163 160 156 155 160 156 158 161 153 158 161 161 158 158 163 156 158 155 158 148 156 152 156 158 155 165 160 161 160 156 158 160 160 156 163 160 161 153 161 156 150 156 152 148 156 148 148 150 148 153 155 143 150 147 142 140 143 140 152 137 143 143 138 138 140 145 140 138 140 137 134 130 137 129 125 129 129 124 125 117 122 119 119 117 114 117 117 107 119 107 111 109 109 102 104 106 101 101 101 96 99 99 94 96 91 89 91 91 86 83 88 83 85 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 85 0 83 83 88 88 89 91 93 91 96 96 94 91 99 94 99 94 102 104 111 106 119 107 109 112 107 116 122 119 112 119 119 119 117 122 122 117 120 122 122 122 122 119 129 122 127 134 132 132 132 132 143 140 142 150 145 147 145 143 147 150 138 147 150 150 142 148 147 158 153 152 153 148 147 145 155 155 147 153 156 145 147 158 143 150 143 147 140 140 145 148 143 148 150 147 153 148 148 150 153 143 148 155 158 163 158 152 158 158 160 152 147 156 155 153 155 148 148 152 152 150 147 148 147 147 148 153 148 152 155 153 155 153 152 160 156 158 155 152 161 160 160 156 156 155 161 158 158 148 152 155 152 150 155 155 150 152 155 152 163 153 160 165 150 161 153 163 156 156 160 155 160 155 156 153 150 148 153 158 152 153 148 153 156 158 148 143 155 148 150 145 145 145 137 142 150 143 137 143 140 142 137 137 140 134 132 132 127 125 132 120 125 125 119 125 116 116 117 117 117 116 114 114 112 114 106 107 102 106 106 99 99 101 94 106 96 94 98 96 96 93 88 91 91 88 83 86 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 86 83 86 88 91 88 93 86 94 88 93 96 96 96 94 96 101 102 98 104 112 102 106 107 104 112 116 111 116 114 114 114 120 117 122 122 122 122 122 127 122 124 124 122 122 122 134 129 134 132 140 134 140 142 143 142 143 143 153 140 152 148 150 150 148 145 143 140 150 153 150 150 148 150 153 148 145 152 150 147 145 148 147 140 142 143 142 143 142 143 140 147 143 143 143 148 150 145 147 148 152 156 158 158 163 155 158 158 156 152 155 158 158 158 150 155 152 148 142 150 147 147 148 147 152 148 153 147 150 152 156 155 152 150 150 155 148 152 148 153 152 150 150 155 155 152 160 158 153 156 153 152 152 153 153 152 156 156 153 150 156 158 156 153 153 155 156 165 158 161 155 148 160 148 152 148 150 145 148 147 147 145 145 147 148 148 147 145 148 150 148 145 142 147 138 140 134 142 142 145 135 134 135 135 134 135 124 129 125 125 124 119 119 125 120 122 116 111 117 114 109 111 107 111 106 107 107 102 101 101 94 102 94 96 94 96 96 89 94 89 88 88 88 88 0 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 85 0 85 0 86 91 86 88 94 96 89 99 99 102 96 101 107 102 98 106 102 104 107 107 111 111 112 112 107 117 112 114 117 122 119 119 127 122 122 125 129 129 132 125 134 132 134 140 132 140 145 145 142 142 145 140 140 143 148 138 145 147 143 147 134 142 143 143 152 147 143 143 152 148 148 145 145 140 148 143 143 145 148 148 145 143 145 140 143 148 138 142 150 147 142 147 148 152 147 147 152 150 147 156 160 153 156 153 155 150 148 156 155 143 150 143 148 148 140 152 147 147 142 153 145 148 156 143 150 150 148 145 148 152 148 156 153 150 155 152 152 150 152 153 150 155 155 166 152 158 155 156 153 152 147 150 152 156 153 152 160 156 150 155 152 155 158 160 160 156 155 150 156 150 152 145 156 152 147 142 147 152 152 148 147 150 138 142 145 142 142 150 143 142 147 140 137 134 142 135 140 134 137 135 129 127 130 127 122 124 127 120 116 116 112 112 116 111 109 107 112 109 107 111 101 106 106 101 99 98 98 98 94 96 91 94 93 93 88 88 89 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 85 86 86 88 86 85 93 89 93 98 91 94 99 98 94 104 102 102 101 101 109 106 104 109 107 109 106 112 111 111 112 114 114 117 114 117 117 120 119 119 120 127 127 125 125 130 129 135 135 135 143 140 143 135 140 142 142 138 140 143 143 142 140 138 142 142 147 145 143 152 148 152 145 152 140 145 143 145 147 148 140 143 143 137 142 134 135 135 138 140 134 138 142 142 145 145 143 143 143 143 150 150 147 150 148 155 150 148 155 150 147 150 150 143 147 145 142 147 145 147 140 145 143 145 145 142 143 147 148 145 155 143 148 145 155 140 142 143 153 147 150 150 150 143 150 158 155 153 147 152 147 145 148 150 145 153 153 150 152 150 150 158 155 155 152 158 148 161 155 147 155 148 148 147 150 150 143 145 143 147 150 147 147 150 148 145 147 142 143 143 140 142 137 142 137 137 138 138 135 127 142 134 135 130 132 125 125 122 129 117 120 124 117 116 117 117 114 106 112 107 106 109 106 109 104 104 101 99 101 94 93 91 94 91 91 93 89 86 86 91 89 0 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 85 88 89 86 89 88 99 96 98 101 98 99 99 99 98 102 104 107 107 104 101 112 104 101 109 111 114 114 116 114 112 119 117 112 117 119 127 120 116 129 130 124 125 125 135 134 138 135 140 134 135 138 135 142 137 135 138 142 142 137 142 143 145 140 143 152 142 142 147 145 145 145 143 145 138 140 143 145 137 142 135 137 135 134 132 137 134 138 134 140 142 140 140 140 142 143 142 148 140 148 145 147 155 155 142 153 143 145 147 147 152 143 138 145 143 138 147 145 142 140 135 140 137 147 140 153 140 137 143 148 148 142 143 145 152 145 147 145 150 153 145 148 148 155 152 150 150 155 142 142 161 150 150 156 150 148 153 150 150 158 150 148 148 150 156 150 148 152 148 150 152 145 143 143 140 150 148 143 145 143 140 142 143 135 140 138 142 143 150 137 137 135 137 134 134 132 135 130 127 125 129 125 120 119 125 124 119 117 119 116 111 116 107 116 104 107 106 102 107 106 106 104 96 96 96 93 93 93 91 98 98 86 88 89 93 83 86 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 0 85 86 86 96 91 88 93 96 96 102 99 104 99 99 101 104 101 106 107 102 106 111 114 107 106 112 109 114 109 116 119 109 117 122 112 117 119 117 125 120 127 129 130 130 129 135 132 135 134 140 140 135 138 134 142 138 135 137 137 138 140 143 138 142 143 140 137 140 137 142 145 142 143 138 137 147 137 140 134 140 130 130 130 132 135 137 134 132 142 147 135 140 140 138 135 137 142 140 143 143 147 145 140 147 140 143 137 143 143 138 142 143 148 138 145 138 138 143 138 140 142 140 140 145 142 143 147 148 140 145 142 137 142 143 143 145 142 148 145 147 145 150 147 145 150 148 145 145 147 147 150 152 155 147 150 147 145 148 155 152 152 161 153 156 150 145 150 140 147 145 145 140 142 142 138 142 148 142 147 138 140 140 143 138 138 138 138 140 137 134 143 129 138 135 124 134 134 127 129 129 120 120 120 119 122 114 112 111 111 106 107 111 111 102 102 109 106 98 104 98 94 101 91 89 94 93 98 91 88 88 91 85 83 0 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 89 93 88 91 99 96 96 94 98 99 102 101 99 106 102 99 101 104 106 112 104 111 109 109 116 109 119 116 120 116 117 114 117 120 120 116 120 114 127 122 127 130 132 127 127 137 138 129 137 138 140 138 135 140 138 142 135 137 140 142 143 138 142 142 142 138 148 142 145 142 137 132 142 138 143 138 140 135 142 134 132 129 130 125 134 135 135 135 130 132 140 135 134 132 137 135 140 140 147 137 140 142 142 140 140 135 138 148 142 137 145 152 138 135 135 130 132 140 142 134 130 138 138 148 143 137 143 137 147 143 145 145 145 145 150 145 147 145 148 147 145 142 153 148 143 143 148 147 148 153 147 150 152 143 155 158 152 150 152 158 155 147 143 145 142 145 142 140 142 140 145 142 137 138 138 138 147 138 142 137 145 137 138 138 137 137 135 135 129 132 134 127 135 127 129 124 130 122 117 120 117 116 119 116 116 117 111 111 104 102 102 102 99 101 102 101 101 98 93 96 93 94 94 94 91 88 85 85 88 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 0 86 88 89 91 93 94 94 96 98 96 101 104 104 107 102 106 111 102 101 111 107 107 111 114 111 111 116 111 116 119 116 112 120 117 120 119 119 116 125 129 125 129 132 130 130 127 130 135 130 132 138 132 135 132 134 135 145 134 138 137 140 142 137 140 142 135 143 143 137 143 143 135 140 137 135 140 137 135 138 132 130 129 134 135 134 134 132 134 130 130 138 129 132 134 135 135 138 143 137 140 140 143 137 142 142 137 137 143 134 143 138 132 134 129 135 134 132 134 134 137 132 137 142 143 135 138 134 135 135 145 138 138 142 148 143 145 147 143 143 140 148 147 142 142 142 148 147 153 150 152 148 147 147 153 152 155 148 153 148 148 148 148 145 145 145 148 138 143 142 140 138 137 142 137 142 143 137 142 140 137 140 142 142 138 137 134 137 135 130 130 130 130 125 125 124 129 117 119 117 116 117 114 122 116 109 107 111 104 102 99 102 101 99 101 99 94 98 98 91 94 94 91 89 85 89 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 0 89 85 91 93 91 94 89 99 89 98 98 99 99 101 101 107 101 109 106 107 109 109 109 102 107 114 109 111 111 116 114 117 119 125 119 124 122 116 120 120 129 125 122 125 129 129 134 135 129 132 130 134 130 130 135 137 135 132 135 134 138 135 138 137 135 137 143 138 134 143 137 140 145 140 142 135 138 134 137 129 130 142 134 134 135 130 130 127 138 127 127 132 132 132 134 135 132 138 134 137 135 145 135 137 135 135 134 135 143 142 138 135 132 129 130 129 134 134 132 130 132 137 137 140 137 138 135 137 142 135 137 140 142 138 140 145 143 145 138 150 145 138 152 138 143 145 140 152 143 150 143 152 145 147 150 152 147 148 150 148 153 147 148 147 142 140 143 143 142 145 140 137 140 134 138 134 135 137 140 142 137 132 135 135 140 137 135 134 130 130 130 127 125 127 124 129 116 120 120 120 125 112 114 104 116 106 106 111 107 107 101 102 98 98 99 96 93 94 96 94 89 91 94 91 88 88 83 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 0 86 0 88 91 91 86 93 93 89 94 94 99 96 93 101 102 104 109 107 106 112 106 112 107 111 109 112 111 114 116 114 119 111 122 119 125 124 122 120 129 127 125 129 127 127 125 135 132 130 134 137 135 134 130 138 132 130 132 132 132 137 138 135 142 145 134 138 137 132 135 143 134 142 138 135 137 125 132 129 137 130 130 137 140 137 138 134 138 132 125 135 127 130 132 130 135 135 134 137 132 135 130 137 134 132 138 129 145 134 134 129 134 134 129 135 130 127 137 129 130 132 134 140 135 130 135 138 137 143 142 134 135 138 142 140 145 137 137 135 138 143 138 147 138 145 142 147 145 145 145 147 148 147 143 152 143 148 147 150 143 143 142 143 140 140 142 138 135 143 140 142 137 135 137 130 138 137 140 132 143 137 130 137 137 135 137 143 134 132 132 127 124 134 120 117 122 119 114 114 109 114 111 109 109 112 104 106 107 102 101 99 99 93 98 98 94 96 93 86 93 86 88 0 86 86 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 0 91 83 89 85 88 91 91 93 93 98 96 98 94 96 98 102 102 102 106 107 107 107 107 114 111 111 109 109 109 111 107 117 109 114 117 120 127 120 124 124 127 127 132 125 130 130 127 125 130 129 132 127 127 129 134 132 132 130 137 130 134 138 142 138 137 140 135 140 137 142 138 143 134 140 137 142 138 132 138 129 130 130 134 134 137 138 134 130 134 135 129 124 134 132 135 127 129 138 134 134 135 135 137 135 134 135 137 138 134 135 125 129 122 124 130 132 124 130 132 137 129 130 129 137 147 140 138 140 138 138 142 138 140 135 142 140 142 137 138 138 142 143 142 138 143 134 142 140 143 147 142 147 147 147 145 152 148 150 148 147 148 143 142 143 147 138 143 137 137 134 142 137 140 132 137 135 135 138 140 137 134 138 137 130 137 134 129 127 130 130 124 125 125 122 119 122 119 117 117 117 114 109 117 109 107 104 107 101 101 99 98 102 96 96 94 93 88 93 93 91 91 91 85 83 83 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 85 85 91 86 85 94 89 91 89 98 94 93 98 104 99 102 102 102 102 102 106 111 109 111 109 116 102 114 114 111 117 109 116 112 112 117 117 122 120 122 129 122 124 130 134 127 129 125 132 127 127 132 129 135 125 130 132 137 130 135 135 135 140 140 132 138 142 135 138 140 145 140 138 132 140 137 134 135 135 132 135 130 129 130 127 129 132 132 129 130 130 132 129 127 130 130 127 137 125 132 134 137 137 134 137 129 130 130 130 134 135 124 135 137 129 129 134 134 129 134 130 135 134 137 137 138 132 138 137 137 142 142 138 142 137 142 135 135 138 138 137 140 147 142 140 142 143 152 145 147 140 147 142 142 143 142 145 142 148 147 140 143 143 140 147 138 140 134 140 142 137 137 135 135 134 130 138 134 134 140 138 134 130 132 130 132 125 134 129 125 127 127 122 120 119 116 114 116 111 109 116 112 106 102 104 111 106 104 99 99 96 94 94 91 93 89 85 88 89 86 85 86 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 83 86 86 89 88 93 91 94 96 94 98 93 99 98 101 101 99 99 102 102 106 107 111 107 106 106 114 116 111 116 117 111 111 112 114 120 112 124 120 125 119 122 129 130 130 132 132 129 135 130 129 134 130 132 132 125 135 132 132 129 137 135 140 138 140 142 132 138 134 137 137 130 140 135 138 134 135 129 134 129 132 127 124 127 127 130 129 138 134 130 127 134 130 134 122 140 134 129 135 138 134 137 134 132 138 132 140 135 129 132 130 125 134 132 127 130 130 132 129 134 130 134 137 135 137 140 142 135 142 134 134 140 142 138 137 137 135 140 132 137 138 137 142 140 140 137 142 135 145 147 147 142 140 134 147 143 147 140 134 140 137 135 140 135 140 140 143 137 130 134 132 135 129 134 140 138 134 134 130 134 130 140 132 135 132 127 125 124 124 124 120 120 119 117 122 112 119 114 107 107 112 107 106 102 101 104 102 99 98 96 94 96 89 94 94 89 89 91 0 88 86 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 85 85 88 85 86 91 89 94 93 94 99 98 101 98 96 98 99 98 99 98 102 102 107 106 111 104 106 109 114 116 116 114 112 119 116 119 124 122 120 119 120 119 127 119 129 122 127 129 125 129 127 130 134 130 132 125 130 125 135 132 129 130 132 138 132 135 134 138 134 135 134 134 134 134 129 127 135 130 132 127 129 129 125 125 132 130 132 125 127 125 132 132 127 132 132 132 132 134 135 142 138 135 134 134 137 132 129 127 129 132 130 127 127 129 132 130 127 134 135 134 134 137 142 137 137 138 134 138 138 135 134 138 138 129 140 130 137 134 137 142 137 140 142 138 148 137 140 142 140 142 143 143 140 145 140 145 138 138 135 135 138 135 135 140 138 137 138 140 135 129 140 130 135 132 134 134 135 135 137 130 130 129 129 129 130 124 120 125 124 122 120 122 109 119 116 109 111 104 112 104 102 107 107 102 96 96 107 94 93 93 91 96 94 86 88 88 86 85 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 85 88 85 93 89 86 93 88 94 98 91 94 99 96 98 96 94 99 101 99 101 101 106 104 101 109 104 109 109 111 116 120 117 122 122 120 116 117 119 122 119 120 129 127 119 125 125 130 124 122 129 129 124 132 125 127 129 127 125 130 129 130 132 130 135 130 130 132 132 137 132 135 132 129 132 127 132 134 129 134 130 132 129 132 132 137 134 130 130 129 129 129 127 124 137 137 130 138 138 138 140 132 137 135 134 129 134 132 127 130 132 130 127 134 134 135 132 132 129 135 135 134 130 137 135 137 138 129 143 132 132 134 130 132 130 134 137 130 137 137 134 137 137 134 137 140 142 137 140 140 138 140 142 138 135 140 137 142 138 138 140 134 135 142 140 135 134 135 135 132 129 132 129 132 132 134 134 130 132 127 132 137 127 132 127 129 124 125 119 119 117 114 114 109 111 111 112 104 112 104 102 101 106 96 104 96 93 96 98 93 88 88 91 93 86 85 85 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 0 88 86 85 89 91 93 93 93 89 91 93 94 94 94 99 98 96 101 96 104 96 98 96 99 102 101 107 111 111 109 116 117 124 117 119 117 122 117 122 127 120 122 120 122 125 124 122 124 124 124 130 124 127 130 125 119 124 124 129 127 127 132 132 129 130 140 130 129 134 132 130 134 134 129 132 125 125 132 130 127 132 135 137 137 137 130 125 125 132 125 122 125 120 127 134 129 134 132 137 137 134 132 120 132 127 134 129 125 129 125 130 130 130 120 130 124 137 132 134 135 138 134 134 134 135 138 135 138 137 137 137 134 135 125 132 134 140 138 137 140 132 138 129 137 138 135 129 134 135 134 142 145 137 138 132 137 134 143 137 135 135 132 127 134 135 134 134 132 132 130 125 127 132 127 130 132 132 130 127 129 134 125 120 125 124 127 130 122 117 112 116 116 107 109 114 104 106 102 104 101 101 99 93 99 96 98 98 94 91 94 86 88 89 86 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 86 0 86 89 89 91 94 94 91 88 93 93 93 94 94 98 101 96 93 94 106 101 106 109 102 104 107 106 107 111 109 112 112 114 116 114 120 122 120 122 120 120 122 122 122 124 120 124 122 124 125 127 124 125 122 127 125 125 124 125 130 127 125 129 122 132 129 129 132 137 130 129 132 129 134 132 132 127 135 137 130 137 135 132 130 125 130 130 125 130 125 125 130 130 130 137 129 132 130 129 134 130 134 130 125 129 122 129 130 130 129 129 129 130 130 130 132 134 134 130 137 134 142 127 135 132 134 130 134 130 129 132 132 130 135 130 132 135 138 135 137 132 134 134 142 140 137 132 135 137 142 134 140 135 142 138 132 134 137 135 130 132 135 135 135 137 132 134 129 130 134 127 132 120 129 122 125 122 122 132 124 116 120 124 114 119 117 114 112 112 109 109 106 107 102 102 104 104 99 99 99 96 99 91 96 88 88 91 83 83 0 0 85 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 86 89 91 93 88 91 89 91 83 86 91 89 93 96 94 99 94 99 102 102 96 101 104 106 102 107 104 106 109 111 111 111 119 114 109 112 116 117 114 114 116 117 124 119 124 122 125 120 122 122 124 124 124 120 124 117 129 119 129 124 130 127 129 135 132 129 125 127 130 129 134 127 129 127 130 125 130 122 130 130 129 127 132 125 129 127 124 132 130 135 127 127 119 127 130 130 134 124 127 135 125 134 122 127 125 127 124 125 130 130 127 130 134 134 129 135 134 134 137 138 135 135 130 137 132 132 129 125 130 129 130 134 135 135 138 135 137 130 135 138 134 137 135 134 134 130 135 130 134 137 135 134 129 132 134 129 130 130 135 132 134 130 129 134 137 120 127 129 122 129 125 132 124 127 122 119 120 132 117 122 120 116 116 112 112 107 109 107 109 106 104 102 102 99 98 98 99 98 93 93 88 89 88 83 88 86 0 88 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 83 85 88 91 85 89 91 93 99 96 93 96 93 89 89 91 96 94 98 99 99 101 101 106 111 104 104 104 101 111 107 109 109 107 109 106 114 116 109 112 117 112 117 119 120 119 117 124 125 117 122 117 124 122 119 127 114 119 124 124 124 122 129 129 129 129 127 132 124 124 122 122 130 125 122 129 125 127 125 130 127 130 129 129 125 124 130 122 132 129 129 125 124 137 124 125 127 134 129 129 124 125 124 124 125 130 120 129 129 127 130 120 129 125 132 135 138 135 138 132 132 137 142 134 130 127 130 130 132 132 130 135 135 130 127 135 132 135 135 137 135 127 134 137 132 127 134 132 138 135 134 132 130 127 125 135 125 129 125 135 130 129 132 130 122 125 127 125 122 124 125 127 127 120 119 119 119 122 117 124 109 111 111 109 111 107 104 106 107 106 104 102 98 99 96 98 101 91 93 89 88 89 83 89 86 86 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 88 0 85 88 89 91 88 89 94 96 101 93 91 94 89 91 91 98 96 98 101 104 101 104 104 99 102 102 109 106 107 107 104 109 111 106 114 111 107 112 117 112 116 114 117 112 120 114 117 116 117 117 109 120 119 122 120 124 127 120 119 127 129 122 122 129 124 124 120 125 122 124 124 124 127 125 122 124 117 124 122 119 127 125 132 125 120 120 125 134 125 120 127 125 125 129 129 122 132 119 122 127 130 124 125 127 130 127 130 134 134 135 134 132 142 129 132 134 134 132 134 130 130 124 129 125 127 134 129 134 130 140 130 134 134 135 134 130 130 130 135 137 125 134 140 130 132 125 132 125 124 130 127 125 134 130 127 124 135 130 125 130 127 130 120 129 119 122 122 124 122 122 122 116 119 116 114 114 116 116 111 111 111 111 107 107 101 101 99 99 102 98 98 93 94 91 88 88 88 83 0 0 0 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 83 88 86 89 85 91 94 91 91 93 94 94 91 93 99 96 98 101 101 101 101 98 102 99 106 102 99 104 104 102 102 106 102 109 104 106 109 109 111 107 114 112 111 114 111 116 111 114 114 112 116 120 119 117 112 116 127 122 125 122 120 117 125 120 122 120 117 122 120 124 117 122 120 117 120 116 125 117 120 129 134 132 130 124 125 130 122 122 122 124 135 124 124 122 127 120 125 122 124 127 125 127 127 129 125 125 129 127 125 132 130 130 130 137 127 137 134 138 137 130 122 130 132 127 130 132 129 132 129 135 129 138 130 130 132 132 129 129 129 135 125 130 130 130 129 135 129 129 125 129 120 129 129 127 130 122 120 129 132 129 124 127 119 120 124 119 120 125 117 119 120 117 120 120 119 116 117 111 112 111 102 109 106 107 104 98 101 102 99 94 96 89 94 91 88 88 88 86 83 86 83 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 86 85 91 88 89 85 89 93 91 94 99 96 96 102 99 101 102 101 102 101 102 109 107 107 102 109 107 104 102 107 109 112 109 112 114 111 117 116 119 117 119 116 122 117 120 120 116 120 120 119 119 120 122 119 122 119 120 125 120 120 120 120 120 122 120 129 119 125 124 122 125 117 122 124 127 122 124 125 129 122 127 124 124 125 125 122 120 127 127 127 127 130 124 127 125 122 124 129 127 124 127 122 124 127 125 130 122 132 130 129 130 137 135 132 127 127 127 127 129 129 127 125 124 129 127 132 125 129 127 127 130 129 134 130 125 129 129 127 130 124 127 129 127 122 117 122 117 132 122 120 127 124 120 125 125 122 117 120 120 122 117 117 117 120 122 112 119 117 116 112 112 114 114 112 107 106 111 101 104 102 102 104 102 96 104 96 96 94 98 94 89 88 88 0 83 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 91 85 88 91 88 89 89 93 93 94 98 98 96 102 102 98 106 102 107 99 106 102 102 107 106 102 104 109 109 109 109 107 117 119 114 116 124 114 112 119 124 122 116 127 122 119 120 119 124 120 122 127 122 122 129 125 120 129 130 127 122 130 122 122 120 125 122 122 127 119 124 124 124 125 125 130 134 124 125 122 120 124 120 117 125 124 117 120 119 125 129 120 127 130 127 125 124 125 124 119 134 122 127 127 129 130 130 130 127 130 129 130 125 125 129 129 124 130 129 129 122 130 125 134 130 132 127 132 127 124 127 127 122 124 122 122 124 129 119 124 125 125 122 124 124 122 122 124 122 124 127 124 125 122 122 125 116 117 116 117 114 120 120 119 117 119 116 107 109 109 109 106 111 107 111 102 98 101 101 98 98 96 98 96 91 88 88 86 83 88 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 83 85 85 86 86 85 88 88 88 89 89 93 94 94 93 98 94 98 93 94 99 98 96 99 106 101 101 102 99 102 102 106 114 109 114 112 107 114 111 112 109 119 119 117 119 117 117 120 117 117 120 119 122 120 124 127 125 124 125 120 120 124 127 122 122 125 119 119 120 120 119 116 120 117 125 122 125 129 129 129 127 127 127 130 125 119 124 119 127 122 125 127 127 132 129 124 127 125 127 129 127 130 132 132 127 135 127 132 130 129 124 129 125 127 125 124 125 124 130 125 125 127 127 122 127 127 127 120 129 127 125 119 124 127 127 124 125 127 122 117 117 119 114 120 122 122 122 125 120 124 119 122 120 124 120 119 122 122 116 111 116 117 114 117 112 116 114 111 114 109 111 112 104 106 102 101 106 101 99 101 96 99 93 99 91 86 86 86 93 85 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 83 0 86 83 85 0 89 86 85 89 94 91 94 96 93 96 91 96 98 96 98 96 96 93 101 99 101 107 109 106 109 104 107 109 106 114 111 112 112 112 119 116 117 114 119 114 122 120 116 117 112 120 117 116 124 122 122 119 120 119 124 114 117 119 119 122 112 114 114 120 119 122 120 125 127 122 124 125 124 132 124 124 120 124 122 122 132 125 125 130 129 125 124 134 129 125 127 125 124 130 127 124 127 125 120 127 125 132 127 132 124 127 122 119 120 124 132 124 127 120 127 125 130 127 127 129 124 122 124 117 117 124 125 127 122 120 117 119 119 111 122 122 125 117 122 122 117 122 116 124 117 114 112 112 117 117 114 109 114 116 116 112 109 107 109 112 104 102 101 101 102 102 101 102 99 102 93 96 94 93 93 94 89 86 0 88 88 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 83 88 91 83 85 86 91 91 93 86 94 93 91 98 94 98 96 91 98 91 98 98 104 96 99 101 102 104 102 101 104 107 102 107 107 111 109 107 114 117 111 111 114 114 116 116 120 116 112 114 114 119 114 119 116 116 119 116 119 120 117 117 117 119 119 119 114 122 120 124 120 119 122 129 119 124 122 124 119 119 119 125 124 125 127 127 129 125 122 124 120 122 129 125 120 120 124 124 134 120 127 127 127 130 122 120 134 124 117 125 122 117 124 117 124 120 122 124 122 129 124 124 122 127 119 120 125 125 120 117 120 117 117 117 119 114 117 114 112 116 117 120 120 116 119 114 114 114 112 112 114 112 117 111 119 114 116 111 114 111 107 102 106 98 106 101 101 106 98 104 99 96 98 99 96 91 96 91 89 89 86 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 83 86 85 89 85 88 85 91 89 88 93 96 91 93 94 91 96 96 91 94 98 99 96 102 102 102 106 106 102 104 101 104 114 102 107 111 112 111 114 111 116 114 117 116 109 116 111 114 117 111 116 112 117 111 111 120 112 112 112 116 119 111 112 119 124 116 117 124 117 122 114 120 119 119 122 116 117 119 120 119 120 125 124 119 124 119 119 127 117 125 127 122 117 122 117 129 120 122 117 124 122 124 125 124 117 125 117 124 127 119 117 116 117 122 119 125 122 122 120 124 124 119 116 116 117 112 119 114 114 119 117 114 112 112 111 112 119 114 117 117 116 116 114 114 114 116 111 112 109 116 106 111 109 106 109 107 109 102 101 107 101 104 102 99 101 96 106 94 98 98 96 94 93 89 91 93 88 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 83 83 0 85 86 85 86 86 86 89 91 88 88 91 88 88 91 89 91 94 96 94 89 96 101 98 96 104 104 106 104 104 107 102 106 112 109 106 106 112 106 104 114 109 114 111 111 112 116 112 114 112 114 117 112 109 112 116 109 117 114 120 109 107 112 111 117 114 117 114 119 120 116 122 117 116 119 117 117 112 119 120 122 119 119 124 125 119 116 120 117 122 122 117 120 124 120 120 117 122 120 117 122 124 122 122 119 120 117 120 124 117 116 120 119 117 119 112 119 119 116 117 116 120 117 117 119 119 112 117 116 117 109 112 111 114 114 114 117 112 114 114 114 112 112 107 114 109 114 109 106 112 112 107 107 107 109 104 101 104 102 101 104 99 98 94 91 98 93 96 94 91 96 91 94 88 89 88 86 86 0 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 83 85 85 86 86 86 88 86 93 94 89 91 89 94 93 96 94 96 94 99 101 102 104 104 104 101 107 102 106 104 104 107 109 107 114 111 116 114 111 111 111 117 117 109 112 116 107 112 116 117 109 117 120 112 117 114 112 111 111 107 112 112 114 117 116 114 116 116 119 112 111 119 107 116 116 117 117 122 117 117 120 112 114 122 116 119 119 114 122 122 116 114 119 120 124 125 122 119 117 120 120 119 119 116 117 119 114 116 119 122 117 116 117 112 114 116 112 120 114 114 112 111 107 109 114 114 114 109 111 114 107 112 112 109 109 111 112 114 111 106 107 104 109 107 111 104 106 104 109 107 109 99 98 102 98 98 98 96 94 93 91 93 94 89 93 86 91 91 86 91 85 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 86 86 83 88 89 93 85 89 88 88 89 89 96 93 94 96 96 99 101 96 107 102 104 104 102 101 107 111 111 114 111 106 111 109 112 112 116 114 114 117 111 116 114 111 116 116 116 117 112 107 111 109 112 109 109 106 111 111 102 109 114 116 109 112 112 117 114 114 119 107 117 116 111 112 116 112 117 116 116 112 114 120 119 117 117 116 112 122 119 119 112 120 124 119 119 119 116 120 116 114 114 114 112 114 116 112 114 116 112 119 109 116 111 117 116 111 116 111 109 111 111 111 109 112 109 107 109 107 106 114 106 107 106 106 111 102 109 104 102 104 106 106 104 104 104 102 101 101 107 106 106 99 98 94 96 96 99 99 94 93 91 89 88 88 86 88 89 86 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 83 86 85 0 85 83 86 89 86 85 94 85 89 94 94 96 93 99 101 106 101 96 101 99 102 106 102 109 107 109 106 116 107 107 109 112 109 107 109 107 112 117 114 111 111 112 114 109 109 114 112 109 104 104 104 111 111 109 107 106 104 109 107 111 112 114 109 112 107 112 116 112 116 116 107 114 109 112 106 114 114 109 119 112 114 114 117 119 112 116 117 122 117 120 116 114 112 116 116 111 111 112 114 116 111 107 112 114 114 111 120 114 111 114 116 107 109 111 107 104 104 107 102 107 112 111 102 102 107 104 107 102 106 107 104 107 107 107 104 104 104 99 112 104 99 106 101 99 99 98 99 101 98 96 93 94 96 91 94 89 91 86 88 88 86 85 0 86 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 0 0 83 83 86 83 0 88 89 86 93 93 91 94 99 96 96 98 99 99 99 99 99 101 107 106 102 109 107 111 107 104 109 109 109 107 112 112 114 106 114 109 106 107 109 109 111 112 109 112 106 107 107 102 109 106 102 106 107 112 104 112 111 106 107 107 102 109 106 107 107 109 109 112 112 109 107 109 111 111 114 112 112 116 107 107 117 109 109 116 116 117 112 122 109 117 111 111 109 111 112 111 111 107 112 114 111 114 114 111 107 107 109 109 112 101 111 107 107 109 101 107 101 102 107 101 104 106 106 102 106 101 106 107 102 102 99 104 101 101 104 99 98 99 96 99 93 99 96 94 96 93 94 93 89 91 89 93 88 88 88 0 83 85 83 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 83 85 85 0 88 86 86 86 86 89 94 94 94 93 89 101 94 93 98 101 99 101 101 104 102 102 101 104 106 106 111 102 106 104 111 104 111 106 102 109 107 109 106 104 111 102 106 109 104 104 102 106 102 106 106 104 102 107 102 109 107 109 107 109 104 106 104 102 106 106 107 109 104 106 107 107 104 109 109 106 114 111 109 112 106 116 111 111 112 116 109 119 114 112 111 107 107 104 114 107 114 112 106 109 114 109 111 109 107 107 109 102 109 106 107 106 111 109 104 99 102 101 101 102 107 107 102 104 102 106 106 107 106 98 102 106 98 102 102 99 96 101 101 98 98 94 89 99 89 91 91 91 91 91 93 93 85 85 83 86 0 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 0 0 86 83 85 83 0 88 88 86 89 86 88 89 93 93 96 91 94 94 99 94 101 96 99 98 99 104 99 99 101 106 109 102 101 107 102 102 101 102 99 106 99 107 104 107 106 104 106 104 101 99 101 106 104 104 101 107 104 106 102 104 104 104 104 99 102 106 101 101 109 104 98 106 104 104 104 102 104 99 106 104 107 101 107 106 102 112 107 106 107 107 112 112 107 109 107 104 111 102 111 99 106 104 106 104 102 106 107 107 109 101 104 98 102 102 104 104 104 104 104 99 102 98 104 101 99 96 101 112 99 98 96 98 98 98 99 99 94 102 96 96 98 96 96 98 94 98 94 98 94 93 88 88 88 89 86 89 83 86 85 85 85 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 85 0 86 83 85 88 93 89 89 93 89 88 93 96 89 94 94 91 102 101 99 102 102 104 102 106 101 101 102 104 98 107 107 104 106 106 102 106 104 104 102 102 104 102 104 99 99 104 96 99 106 111 112 104 109 104 104 101 101 99 96 99 98 101 102 101 98 98 102 99 99 101 101 96 104 109 98 104 106 104 102 104 102 111 102 104 106 109 111 107 104 106 106 102 101 106 104 101 102 107 106 99 104 102 99 104 102 101 96 101 102 99 93 104 98 99 98 96 99 101 98 96 102 99 94 96 94 96 96 96 96 98 99 96 98 96 93 96 94 94 93 94 94 93 88 91 94 89 83 89 86 0 83 85 0 83 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 0 83 88 88 86 93 89 88 85 86 94 91 93 94 96 96 94 98 93 101 99 99 101 104 99 104 102 106 106 102 106 111 102 106 107 99 104 104 104 109 104 106 99 101 101 102 102 109 101 106 101 102 109 102 99 99 104 99 93 96 96 94 93 98 98 96 98 98 98 98 98 102 102 99 99 99 101 99 101 106 102 102 98 101 106 106 106 104 99 104 102 106 101 96 98 104 99 101 104 106 106 104 98 101 96 99 99 99 94 94 98 94 98 93 98 89 93 98 101 99 98 98 93 101 94 94 98 96 94 96 93 94 98 99 91 91 96 91 96 86 89 89 88 88 89 88 0 86 86 0 85 0 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 85 0 83 88 86 89 89 88 88 89 88 89 91 93 94 101 101 101 101 99 106 102 101 102 98 102 102 101 99 94 98 98 101 99 104 102 101 101 101 101 102 101 102 99 99 101 102 99 102 104 99 93 102 98 99 101 93 96 91 98 99 99 96 91 94 101 93 96 91 94 94 96 99 98 98 102 101 98 106 102 101 99 98 101 104 94 109 99 104 99 101 98 99 94 99 99 98 101 106 96 93 99 98 98 94 94 98 93 91 94 98 93 91 91 94 93 93 99 98 94 98 96 93 98 96 88 93 93 94 96 89 93 93 93 86 85 89 88 89 91 86 86 83 86 85 0 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 83 0 86 85 85 86 88 89 94 86 94 93 98 96 94 98 98 99 102 96 104 96 99 96 98 101 96 101 98 96 102 91 93 96 94 96 98 101 101 102 96 101 101 101 101 98 99 98 96 101 89 91 93 98 94 91 98 96 93 91 93 93 93 93 89 98 91 91 93 98 94 94 96 94 99 96 101 101 98 101 102 101 94 96 99 96 99 98 99 96 96 96 93 96 91 98 93 102 93 98 93 99 101 101 94 91 96 91 94 89 88 88 89 94 91 93 94 91 94 98 91 93 96 94 94 91 93 93 89 86 96 91 88 93 85 85 88 86 88 0 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 85 83 85 88 86 88 85 91 88 91 93 93 89 88 96 98 94 93 93 93 93 94 98 96 96 91 94 91 93 93 94 99 93 86 91 93 94 88 93 96 89 91 99 96 98 91 99 98 93 93 94 91 91 89 88 89 91 88 96 88 93 88 88 91 86 89 93 91 93 91 93 91 93 93 99 98 96 96 96 96 99 98 98 91 94 98 96 91 98 93 93 93 99 96 93 98 93 89 96 93 94 89 91 89 93 91 86 88 88 89 89 93 91 91 94 88 88 88 89 88 89 89 89 91 88 88 88 93 91 86 86 88 86 85 88 83 85 85 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 85 89 86 83 85 86 86 94 88 89 86 86 94 89 93 94 88 96 91 94 91 93 89 93 93 94 93 89 91 91 93 96 89 91 94 94 91 94 89 96 98 93 93 94 94 93 88 91 86 89 91 86 89 89 86 85 85 83 89 86 88 88 93 91 98 91 93 96 94 91 94 101 94 94 94 98 96 93 94 94 91 94 89 93 89 94 89 94 94 89 89 91 94 99 96 93 89 89 89 91 83 91 88 89 88 89 86 86 88 91 91 89 91 88 89 88 88 88 93 89 91 86 86 89 86 89 88 88 86 83 85 86 0 85 0 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 83 0 0 0 0 86 0 83 86 0 85 83 85 85 83 85 89 93 86 86 83 89 88 93 85 88 89 86 88 93 88 86 85 88 86 89 91 88 93 91 88 89 86 89 94 86 94 93 94 89 89 88 88 88 86 86 89 86 0 88 85 85 85 0 89 86 88 88 89 93 89 89 91 96 94 96 94 98 93 94 96 93 96 98 96 96 93 91 91 88 88 91 89 91 91 93 85 96 89 93 93 91 88 91 86 88 88 88 86 88 86 83 85 85 86 91 86 88 88 85 86 88 85 85 86 85 86 85 89 85 83 89 0 85 0 83 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 83 83 86 86 0 85 88 0 88 86 86 88 91 86 85 86 91 85 83 0 86 83 86 83 83 91 88 85 91 89 88 89 91 88 88 0 83 88 85 86 0 0 85 0 85 86 88 91 86 83 91 85 88 85 88 86 91 91 86 93 94 98 94 94 93 94 93 91 91 91 86 88 85 85 88 88 88 83 89 89 94 86 85 89 88 88 86 85 91 83 88 85 83 85 85 0 86 85 0 85 88 89 88 83 88 0 85 83 85 85 83 0 83 86 83 86 85 0 0 83 0 85 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 0 0 85 0 0 0 85 0 83 83 88 83 83 85 85 83 89 0 83 88 0 83 83 88 85 0 86 85 83 83 93 86 85 88 86 83 88 86 85 83 0 88 0 89 85 83 88 88 83 91 0 88 83 0 85 83 89 86 91 85 88 89 89 93 91 89 96 91 89 89 89 86 94 88 91 86 88 86 85 0 88 83 0 85 85 86 89 0 85 85 86 83 85 0 85 0 83 85 0 83 85 83 0 0 83 83 85 88 88 0 0 0 85 0 0 83 0 0 0 83 85 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 83 83 0 0 85 83 83 0 85 83 83 0 83 85 0 0 0 0 86 86 85 83 86 85 86 0 0 85 83 83 85 88 85 0 83 0 85 83 85 0 83 0 83 0 0 0 83 0 89 88 88 88 86 94 91 89 89 93 86 89 85 86 89 86 0 83 83 0 85 86 0 86 86 0 83 88 85 86 86 86 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 85 83 83 83 0 0 0 0 0 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 0 0 85 0 83 0 85 0 83 86 83 88 88 86 86 85 88 86 89 85 86 83 0 0 0 0 0 86 85 83 0 0 0 0 0 0 83 83 0 0 83 83 83 0 0 0 83 88 89 89 83 85 88 85 86 88 86 86 83 85 83 83 85 83 0 83 0 0 0 83 0 83 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 0 0 0 0 0 85 86 85 83 83 83 86 86 89 83 85 0 0 0 85 0 0 0 0 0 0 0 0 0 83 0 0 83 0 0 0 0 0 0 0 83 0 0 0 83 83 86 86 89 86 88 88 86 85 89 88 86 85 85 83 0 0 0 0 0 0 85 0 0 0 83 83 83 0 86 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
BIN
modules/atlantean/pics/noir_filter.jpg
Normal file
BIN
modules/atlantean/pics/noir_filter.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
BIN
modules/atlantean/pics/noir_nofilt.jpg
Normal file
BIN
modules/atlantean/pics/noir_nofilt.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
BIN
modules/atlantean/pics/noir_noleds.jpg
Normal file
BIN
modules/atlantean/pics/noir_noleds.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
319
modules/atlantean/pics/right.pgm
Normal file
319
modules/atlantean/pics/right.pgm
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
P2
|
||||||
|
329 316
|
||||||
|
255
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 0 0 78 0 80 0 80 80 80 0 78 83 80 78 78 85 81 78 78 86 81 80 85 83 83 80 83 81 80 86 0 81 80 78 81 78 0 85 78 0 0 0 78 0 81 80 81 0 78 0 0 0 81 78 78 0 81 0 81 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 80 80 0 78 80 78 0 0 0 0 0 0 0 78 0 78 78 0 0 0 78 0 80 78 81 80 81 81 83 80 78 83 81 83 85 81 86 85 86 80 83 85 81 85 88 85 83 81 83 83 86 88 80 83 83 83 81 80 81 86 83 80 78 83 80 81 83 83 85 78 80 83 80 0 85 78 80 78 0 0 78 78 0 0 0 0 78 0 80 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 78 80 78 81 78 81 0 78 0 80 83 81 78 81 78 81 81 80 78 78 78 78 83 83 83 83 85 85 83 83 85 80 86 86 86 85 86 85 86 83 89 86 89 88 89 88 85 86 86 85 85 86 88 86 85 86 86 85 85 89 83 80 86 89 89 85 89 83 86 81 86 83 83 85 81 83 83 80 0 78 81 80 0 80 0 81 80 81 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 80 0 81 0 0 81 80 80 78 83 80 80 80 80 85 85 80 86 83 85 83 80 80 81 85 83 81 86 88 85 81 85 86 81 85 85 83 85 89 91 89 86 89 83 88 86 91 86 86 91 92 91 88 85 92 89 88 88 92 88 85 89 91 88 91 85 86 88 91 86 88 85 89 85 85 85 86 85 89 88 86 83 83 85 80 85 83 83 85 81 80 83 81 83 85 81 83 80 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 81 83 83 80 83 80 88 83 80 81 81 81 80 88 83 85 81 85 85 80 80 86 85 86 83 83 86 81 85 83 81 81 86 85 85 89 88 86 85 89 86 86 89 89 91 91 94 89 95 91 91 91 94 95 94 91 88 92 91 91 91 97 86 91 85 89 91 86 89 91 88 92 86 89 94 92 91 89 91 89 88 86 89 91 88 85 89 81 85 81 86 81 86 86 83 83 86 85 83 85 85 83 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 81 78 78 0 85 85 80 81 88 86 86 83 85 86 86 86 88 88 89 86 83 83 85 89 85 83 89 83 88 81 88 88 88 89 91 86 88 85 88 88 92 95 88 91 89 91 94 94 88 91 92 89 89 91 97 97 97 95 95 91 98 91 92 98 97 91 95 94 94 92 89 92 92 94 92 97 91 94 94 95 95 98 89 97 95 94 92 92 89 88 86 86 88 85 86 89 88 86 88 83 83 89 88 85 81 81 80 83 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 78 78 83 85 85 88 88 86 89 86 91 83 86 89 89 86 86 91 92 88 89 89 89 89 91 92 86 91 88 89 92 92 89 89 91 88 89 91 91 89 95 91 94 89 92 95 94 95 95 97 95 94 97 97 95 95 92 95 95 100 97 97 97 95 97 97 95 94 97 97 92 97 94 97 94 95 94 97 97 91 95 94 94 95 95 95 94 92 92 89 86 92 85 88 95 91 91 86 89 88 86 88 89 81 86 83 86 83 81 80 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 83 81 78 86 86 86 88 88 88 91 92 92 88 94 88 92 88 94 89 95 92 91 89 89 91 92 91 92 91 91 91 94 89 88 92 89 88 91 89 95 89 94 89 94 95 92 95 94 98 95 100 98 98 94 97 100 97 102 100 98 103 97 98 103 100 98 98 100 95 98 105 95 97 95 98 97 94 97 95 95 95 94 100 98 100 100 95 95 92 94 91 91 95 89 89 95 89 89 86 88 88 89 89 88 92 88 86 89 86 85 81 83 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 85 88 88 85 88 92 88 95 97 92 97 92 100 97 95 98 98 97 95 102 95 94 94 94 95 92 91 88 91 92 95 92 95 92 92 97 95 92 92 97 94 97 94 97 95 95 95 97 105 100 102 105 97 102 100 102 102 102 105 103 105 105 97 97 95 100 102 95 102 100 100 98 98 103 97 103 102 102 98 102 103 97 97 100 94 94 102 98 91 89 94 97 95 94 94 95 100 98 97 92 91 92 89 94 88 88 92 88 88 81 83 86 83 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 80 85 85 88 85 89 89 94 91 91 92 94 95 91 94 95 92 97 97 95 94 102 94 94 97 95 100 91 94 94 95 95 92 98 95 94 97 94 95 92 92 97 95 98 100 98 100 98 98 98 100 102 100 106 100 100 105 108 105 102 106 105 108 112 97 106 103 102 103 100 100 103 102 105 106 100 103 98 106 102 102 106 103 103 98 100 105 105 103 100 100 89 98 97 95 97 95 94 94 94 91 94 95 89 97 94 94 94 91 89 91 91 85 85 88 80 85 83 80 80 80 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 83 81 88 80 86 92 91 102 92 95 94 95 95 97 102 102 103 98 95 103 100 97 102 102 95 97 92 94 95 102 94 95 95 100 97 98 102 97 98 102 98 102 94 98 98 100 98 106 106 103 111 98 105 100 109 106 108 111 103 108 106 106 108 105 106 106 102 103 105 103 97 102 105 100 102 103 102 106 103 103 103 106 108 106 108 102 102 106 98 102 100 100 95 100 97 100 94 98 97 98 100 95 95 98 94 97 94 98 89 92 86 89 91 86 85 88 83 85 80 78 80 80 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 83 86 86 92 88 88 92 92 98 102 98 102 103 95 102 95 103 103 94 97 102 103 100 102 98 98 95 100 100 98 98 103 98 102 102 97 97 97 98 100 97 102 100 106 105 102 105 109 106 105 106 103 105 106 108 108 111 109 108 112 109 114 109 112 108 103 105 106 106 102 109 111 103 108 102 109 105 106 105 109 108 108 108 103 105 105 109 103 103 105 102 103 103 103 108 105 103 100 102 97 94 94 97 100 97 98 97 95 95 92 94 91 89 92 91 89 85 85 85 89 83 81 0 83 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 83 86 88 89 97 94 91 103 97 100 95 98 103 100 105 103 105 105 100 106 103 106 102 105 97 102 100 100 100 95 100 102 98 102 97 102 105 102 103 103 105 105 103 97 102 105 100 103 105 103 106 105 106 105 109 112 114 114 115 112 111 108 111 111 111 112 111 111 112 109 108 106 111 115 111 114 111 108 108 108 105 106 105 103 108 111 109 109 108 106 103 105 106 103 106 103 100 102 102 102 95 102 102 97 97 98 98 100 102 98 97 91 98 92 89 88 91 91 85 89 81 85 81 83 78 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 80 78 83 83 83 94 92 92 95 102 100 100 100 102 102 103 106 106 103 106 105 106 100 108 100 112 103 105 105 105 109 105 100 102 102 105 103 105 106 105 103 105 108 106 102 109 106 108 105 106 106 106 108 112 108 115 114 111 114 117 115 112 111 119 115 115 114 114 115 115 114 119 111 117 112 112 111 114 111 114 112 114 111 109 111 108 115 111 106 108 111 112 108 105 106 105 112 106 105 106 105 106 103 105 106 102 98 98 103 100 105 98 100 97 97 95 97 92 94 95 92 91 89 89 89 85 86 81 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 83 85 81 94 88 91 94 97 92 98 97 103 106 108 103 106 105 102 111 105 106 105 112 102 109 105 109 106 111 105 108 105 108 108 109 105 108 108 106 105 105 105 105 108 106 108 102 106 106 111 111 114 114 114 112 112 111 119 115 112 114 115 120 115 117 114 120 117 112 115 112 112 112 117 117 115 117 111 112 114 114 112 117 111 111 112 112 112 112 106 111 108 105 103 105 114 105 109 108 105 108 105 108 103 105 111 108 106 103 103 102 103 106 103 95 97 97 97 94 97 91 92 89 89 89 83 89 85 83 86 0 78 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 85 88 85 92 91 88 91 97 102 94 106 103 100 106 106 102 105 111 111 108 106 112 111 108 109 111 108 111 106 109 112 109 106 111 111 111 106 111 109 108 111 109 111 109 105 105 106 109 111 112 109 109 114 114 117 117 115 119 117 120 120 122 117 114 122 126 117 117 122 115 122 119 112 120 111 115 119 112 120 112 117 117 120 115 115 115 114 112 120 120 120 108 109 112 106 112 112 111 109 111 114 106 105 109 109 109 112 103 109 108 98 105 105 105 102 100 102 98 102 97 95 94 92 92 94 91 88 88 86 89 81 86 81 80 78 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 80 85 89 89 88 92 97 91 94 100 100 103 100 103 106 105 106 109 105 109 111 115 109 117 112 114 114 111 109 112 109 111 111 114 112 115 111 112 115 109 112 114 106 112 111 115 109 108 108 111 106 108 117 122 114 114 119 117 120 120 123 119 125 122 119 119 122 122 123 122 119 115 120 122 119 122 120 119 115 120 115 117 114 115 120 119 112 115 117 120 112 115 108 114 111 108 119 112 109 112 105 117 117 115 112 112 111 111 108 105 109 109 106 102 105 100 103 100 105 100 94 95 94 91 95 91 94 92 91 91 86 86 88 86 83 80 80 83 81 78 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 81 88 86 89 94 92 97 100 100 105 105 109 105 102 109 111 102 108 108 105 109 109 112 109 112 115 120 115 114 114 115 117 115 114 119 115 111 114 111 112 114 112 117 114 112 109 112 109 115 117 108 115 117 122 123 122 119 114 119 123 125 123 126 122 122 126 120 128 119 123 119 126 126 125 122 120 122 120 123 117 123 117 120 119 123 123 122 120 119 122 115 115 115 114 123 114 114 120 117 122 117 117 117 111 115 109 115 114 109 109 112 109 119 106 112 108 103 106 102 103 105 103 100 92 92 94 95 92 89 89 91 89 89 89 85 86 81 81 85 78 81 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 78 78 81 85 81 86 91 94 98 95 94 94 94 100 102 102 97 111 105 109 102 103 106 111 111 112 114 109 114 114 119 112 115 112 114 112 119 119 114 119 119 114 120 115 120 115 117 122 112 120 109 111 108 112 119 119 115 114 115 114 119 119 117 126 125 119 126 126 122 119 126 125 126 122 128 125 125 129 123 131 132 122 123 119 128 125 126 120 120 123 126 128 115 120 119 122 117 117 117 119 114 122 115 119 112 117 114 112 117 119 114 115 108 114 112 105 111 111 108 111 105 112 111 103 103 100 105 97 97 95 97 97 94 94 92 94 86 92 89 86 83 85 88 88 83 81 78 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 0 0 0 81 83 89 83 89 88 91 92 92 94 102 98 105 95 102 109 111 111 112 115 112 112 109 117 115 115 115 112 117 119 115 120 119 117 117 117 120 128 120 122 120 119 117 120 117 117 122 119 122 125 122 122 123 119 126 119 117 115 120 125 123 128 120 125 126 129 132 120 128 125 128 123 129 126 129 132 128 128 129 129 126 126 123 128 129 132 125 128 128 131 123 125 123 123 120 122 115 120 119 119 122 120 119 122 119 126 123 120 119 111 117 120 111 111 115 111 109 109 115 109 111 103 109 106 102 103 98 102 97 103 95 91 92 98 95 94 91 92 92 88 86 83 86 85 85 88 83 80 78 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 80 78 80 80 83 83 89 85 88 92 94 94 97 95 105 100 105 100 105 103 112 105 108 112 114 112 109 115 120 112 112 117 120 122 123 120 117 123 117 119 125 122 125 125 125 119 123 125 126 119 123 117 120 126 122 120 125 123 117 120 123 119 122 123 122 125 125 126 128 129 128 137 125 128 129 131 128 123 129 125 129 126 131 126 131 126 129 129 132 129 128 126 128 131 122 128 126 125 126 120 123 125 117 117 123 123 120 125 122 120 120 122 125 120 125 112 111 119 112 119 112 112 111 109 115 112 108 106 102 105 102 103 102 97 103 95 95 102 97 95 95 95 91 89 89 83 89 83 83 83 86 83 81 81 78 80 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 80 80 78 85 80 80 83 85 88 92 92 91 92 91 97 98 98 98 106 112 105 108 115 111 114 115 111 112 112 115 114 122 114 120 120 120 119 119 125 123 120 125 126 126 125 122 126 125 123 123 125 123 123 123 128 126 120 123 122 125 125 125 125 123 126 123 123 125 129 126 132 131 126 125 131 136 131 128 131 128 126 131 134 122 134 129 125 134 129 136 134 129 125 129 131 129 126 128 126 132 122 126 131 128 129 126 126 126 123 126 117 123 119 126 126 123 126 119 119 122 122 123 114 117 117 117 115 111 112 106 111 106 106 108 102 103 100 102 100 100 100 98 97 97 91 89 91 91 91 88 88 88 88 80 89 81 81 85 78 80 81 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 80 78 83 81 81 83 86 86 85 86 95 94 91 95 92 102 100 98 103 105 106 106 108 109 115 111 112 112 112 112 114 119 115 123 120 123 126 115 120 123 117 126 120 125 125 128 123 120 128 132 129 128 126 122 120 120 123 125 128 126 123 125 125 126 126 126 131 123 123 129 129 134 125 132 131 131 131 134 136 131 128 123 129 128 125 131 139 134 134 132 129 136 132 132 132 131 132 129 129 125 131 131 125 129 128 132 134 128 131 126 132 126 136 122 125 125 125 123 125 122 119 123 122 115 115 115 111 112 112 112 108 112 109 103 108 103 103 102 97 97 100 97 100 94 97 95 97 95 94 91 92 94 92 88 86 88 88 88 88 83 0 80 88 80 83 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 78 78 81 85 83 85 83 88 86 88 92 91 92 94 98 100 102 103 97 109 111 103 109 108 112 112 117 119 117 117 117 123 115 115 120 122 117 117 129 122 129 128 129 128 128 132 126 132 134 126 129 128 131 129 125 134 125 129 128 122 132 128 131 126 132 123 128 129 123 129 125 128 132 125 122 131 131 131 142 136 128 131 136 129 139 134 132 132 136 143 136 140 139 136 139 132 137 134 139 134 140 126 131 139 129 125 132 131 132 128 126 129 129 126 128 126 134 126 132 126 129 125 122 125 115 117 114 112 115 111 112 112 115 106 109 106 111 105 103 103 102 100 102 102 97 98 102 100 91 94 94 92 95 88 92 91 89 88 92 83 86 85 83 86 81 0 81 81 78 0 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 80 80 81 81 83 81 85 86 85 88 91 88 92 89 98 97 97 94 98 98 98 105 102 105 108 114 114 111 122 123 115 117 119 119 117 122 122 125 122 123 119 126 122 123 126 128 129 128 131 126 128 125 129 131 134 134 123 132 126 131 128 129 131 134 131 132 129 134 129 128 134 125 132 132 129 134 134 129 134 134 126 131 132 137 134 139 140 134 137 139 129 143 134 142 136 140 140 136 140 145 139 134 136 134 137 137 137 131 137 129 131 131 128 129 129 136 137 132 131 134 131 134 134 134 128 126 122 119 117 122 114 119 115 114 111 111 112 111 108 108 106 106 108 102 103 105 105 95 98 103 102 98 100 95 94 95 88 92 91 91 89 92 89 91 88 91 85 85 88 83 83 0 78 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 80 88 81 89 85 83 85 86 88 86 89 86 91 97 97 94 100 97 97 100 105 108 108 111 115 108 114 117 114 120 123 122 123 119 122 120 123 123 128 131 126 128 128 131 125 126 132 126 131 126 134 128 132 132 134 131 134 131 131 137 129 136 129 134 134 134 131 140 125 132 136 129 137 132 134 131 136 134 132 137 136 134 129 132 137 132 137 140 139 139 143 142 137 140 148 139 145 139 140 139 139 136 134 139 137 136 137 136 129 132 132 128 128 136 134 132 136 128 129 134 132 131 136 126 131 120 117 119 123 119 119 120 115 112 112 115 109 106 111 112 112 106 105 105 105 103 103 106 100 102 102 97 94 98 95 92 100 94 88 95 94 97 91 89 86 91 85 88 86 81 85 80 80 78 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 80 83 85 88 83 81 88 88 86 89 86 92 97 95 97 100 102 102 100 106 103 106 106 109 117 112 117 117 122 123 120 123 123 120 123 122 126 125 129 125 132 125 131 129 128 142 131 129 140 136 131 131 126 134 136 134 131 134 136 132 137 128 131 137 136 139 137 136 137 137 131 134 134 140 143 131 137 136 137 137 137 136 136 132 134 136 136 137 134 140 132 148 137 149 146 149 142 143 145 139 134 143 139 143 139 131 140 140 139 136 139 140 143 131 134 132 132 136 136 129 132 132 123 129 128 128 125 120 126 122 122 119 120 119 109 115 115 112 115 112 112 109 112 108 105 102 103 108 103 109 109 102 102 102 98 100 89 95 98 94 94 91 92 89 91 88 88 83 85 88 80 85 85 83 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 0 80 80 80 81 86 88 91 85 88 94 92 92 97 97 92 105 105 97 109 106 105 106 106 108 103 112 119 112 119 120 123 126 123 123 119 128 122 126 131 128 123 132 126 128 134 136 132 134 131 134 134 134 136 137 143 137 139 139 134 131 139 132 136 139 136 131 142 132 137 137 134 143 142 140 132 139 137 139 139 139 140 137 140 140 145 136 136 142 140 137 143 149 142 145 139 145 140 139 145 151 146 143 145 146 139 136 139 140 140 137 142 140 136 140 136 134 131 139 136 132 129 132 128 134 136 125 126 128 129 122 126 123 123 117 120 117 123 115 117 114 115 117 109 114 114 108 111 105 109 103 108 108 109 109 103 98 98 102 98 94 102 88 95 94 94 94 85 91 91 92 94 88 85 83 83 80 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 86 86 86 88 94 94 89 94 91 92 100 91 98 100 102 98 103 105 106 106 106 105 111 111 112 117 115 119 115 123 126 126 122 122 132 122 129 129 129 128 128 137 132 129 131 139 136 132 136 139 142 140 139 132 140 136 136 132 142 136 140 139 134 139 134 142 139 139 142 137 142 140 143 142 140 139 139 140 136 136 140 143 142 139 139 134 142 142 140 143 140 142 146 145 151 146 140 154 151 145 146 143 149 145 142 140 140 145 137 143 142 146 145 139 139 134 140 134 134 132 132 136 132 140 136 131 134 136 132 123 126 126 122 123 125 123 117 119 120 112 119 114 117 119 115 115 115 109 108 108 111 105 108 109 105 108 103 106 95 98 102 91 102 94 88 91 91 89 92 89 86 81 89 85 80 85 78 78 80 0 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 81 80 81 83 85 86 89 95 92 92 94 97 97 94 103 102 102 103 100 108 108 106 111 111 112 112 115 112 119 125 120 123 125 125 125 122 132 128 131 128 132 136 134 129 137 132 136 139 137 139 139 137 139 142 140 139 146 139 139 139 136 142 142 143 137 145 142 142 137 143 140 145 139 140 145 146 136 142 149 146 146 154 142 149 149 142 143 142 139 145 139 143 140 148 143 153 149 145 148 149 148 151 146 149 154 136 148 148 142 140 151 146 148 139 136 134 137 131 137 131 139 136 137 143 136 134 140 129 132 134 134 131 131 131 128 128 131 128 122 120 125 122 123 115 117 114 117 115 114 115 114 108 115 114 109 109 106 102 109 100 100 100 100 97 97 98 94 97 94 92 97 89 89 88 88 85 86 81 89 83 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 81 80 81 85 86 85 86 91 89 89 89 92 94 100 95 98 100 103 103 100 105 109 106 111 106 112 114 119 112 119 122 115 126 119 129 123 128 134 129 139 132 136 134 134 137 134 134 136 140 145 137 140 143 139 137 143 143 140 136 140 137 136 140 140 142 146 142 142 146 140 142 139 139 146 143 149 145 142 145 148 140 146 149 146 145 140 148 146 142 145 140 139 149 139 146 151 143 153 156 145 154 151 153 145 149 149 153 148 148 149 148 149 148 145 145 137 132 139 139 139 131 136 145 137 142 137 140 134 134 134 137 132 128 128 131 129 128 134 126 125 131 125 122 119 125 126 119 115 117 117 112 119 119 117 112 115 112 111 109 111 106 106 103 102 97 98 100 94 95 97 95 95 97 94 91 88 83 83 81 81 85 83 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 81 81 83 88 94 89 85 89 92 88 94 94 91 102 97 100 108 103 108 108 111 108 109 108 111 112 114 115 119 119 117 122 129 125 128 126 129 134 136 132 129 134 134 132 134 137 137 131 139 139 142 140 139 142 142 142 145 145 143 139 139 145 140 146 148 145 140 149 145 146 146 153 148 146 148 145 153 146 149 146 153 146 149 151 149 143 151 153 146 149 149 148 146 146 143 146 151 153 140 145 156 149 153 156 156 159 149 151 148 148 143 140 151 142 142 143 143 142 142 139 140 142 132 142 140 140 139 139 145 142 139 136 136 132 132 139 129 128 132 136 131 134 131 125 123 119 122 123 125 120 119 123 112 115 115 115 112 112 112 117 103 111 108 108 100 103 103 105 94 98 97 88 95 91 89 91 91 88 86 86 86 85 80 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 83 88 81 88 91 91 91 92 94 92 95 97 102 95 100 102 109 105 105 102 105 108 108 108 115 112 115 115 117 117 122 123 120 123 125 125 131 132 132 132 136 137 137 136 137 137 139 137 136 131 142 142 139 140 137 139 143 143 140 146 143 146 140 146 137 149 145 142 153 151 149 148 145 151 148 156 154 149 154 154 153 146 156 156 149 154 149 154 149 148 154 151 148 148 148 146 149 151 149 148 151 148 154 153 153 149 146 146 154 148 145 153 151 149 148 142 145 142 143 142 142 137 142 146 143 142 142 143 143 139 139 143 136 143 134 137 139 136 132 139 132 129 129 131 123 126 126 123 119 119 120 125 120 123 111 119 112 115 117 108 112 112 111 109 105 109 105 105 103 98 95 100 97 98 97 97 91 89 88 88 86 83 81 81 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 83 85 80 89 89 89 94 92 89 97 95 95 102 100 103 105 103 103 106 103 112 108 111 108 112 112 115 117 120 122 123 123 126 125 126 131 132 126 134 134 136 134 134 142 136 137 139 136 140 140 146 139 137 143 148 145 146 143 143 145 149 142 140 142 149 151 151 157 154 156 151 145 148 146 151 153 148 149 153 149 154 154 159 156 154 154 154 154 153 156 166 157 156 151 149 151 153 146 146 149 151 163 156 151 153 153 154 154 142 149 146 149 148 156 145 149 149 151 154 145 146 142 142 148 145 145 143 142 143 140 142 140 139 143 139 137 142 139 139 132 136 132 134 131 128 132 131 125 128 120 117 123 122 125 120 119 117 120 122 120 120 114 119 111 109 109 111 111 102 109 98 102 103 95 98 94 94 95 92 92 88 89 89 88 86 80 85 78 78 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 83 81 85 89 86 89 89 92 94 94 95 98 97 105 108 106 103 106 111 106 108 109 111 117 117 112 119 115 122 120 128 123 122 128 125 128 131 128 139 143 128 139 137 139 136 139 137 142 139 146 143 145 137 143 146 140 149 153 143 143 149 148 148 148 146 151 151 153 142 153 153 148 154 151 148 154 162 156 154 162 156 159 160 153 165 157 159 157 157 162 153 160 156 154 154 156 156 156 156 149 149 157 151 148 162 154 159 153 157 153 151 149 154 153 153 149 146 149 145 143 145 148 146 142 146 143 140 143 146 148 140 145 140 145 140 145 142 140 139 136 139 137 145 137 134 140 126 129 126 129 128 123 125 125 123 122 122 126 119 119 120 114 122 117 115 112 109 103 111 115 109 108 103 103 103 102 97 95 97 92 95 94 89 88 85 88 81 85 80 83 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 83 88 91 92 92 94 95 94 97 98 103 106 106 106 103 108 105 108 112 108 114 106 112 122 117 122 117 128 125 122 134 132 132 126 132 132 134 132 142 139 136 136 140 139 140 143 140 142 146 140 148 145 153 148 153 145 145 154 148 148 149 151 151 151 153 146 151 154 153 153 151 157 154 153 153 159 151 159 157 165 163 166 165 160 160 156 151 165 162 157 159 157 149 154 159 154 156 148 151 159 159 157 153 151 145 151 156 156 159 154 154 154 157 160 156 157 151 149 154 149 145 153 151 146 146 140 143 149 148 143 146 142 143 143 143 139 143 143 139 134 139 140 139 131 131 134 131 131 126 129 126 128 123 125 126 125 122 123 119 119 122 112 115 112 114 112 114 114 109 114 105 102 103 97 103 102 97 98 95 92 88 89 89 91 86 83 83 89 81 0 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 88 83 91 86 89 94 89 92 103 100 98 100 106 106 103 109 103 112 109 114 111 115 112 114 111 117 119 122 120 125 123 125 125 131 136 134 139 134 132 140 139 139 136 136 137 137 148 143 142 140 151 140 151 154 148 148 148 151 151 156 159 148 151 154 146 154 154 153 151 148 153 154 151 163 157 153 165 160 166 162 157 162 165 159 168 159 166 162 159 165 157 160 160 160 159 157 156 153 148 153 149 154 157 151 154 143 154 159 157 156 159 153 145 156 156 149 153 148 154 154 154 153 153 148 153 151 148 146 153 148 146 143 146 153 151 146 145 145 145 145 136 142 137 134 139 131 139 134 129 139 129 129 129 126 120 119 120 122 131 122 125 125 119 120 117 120 114 122 120 117 106 108 106 105 106 102 105 105 102 98 95 95 89 89 88 91 85 83 81 85 81 85 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 83 80 85 85 89 91 91 91 94 95 98 98 103 106 106 103 109 108 109 108 109 109 108 112 112 114 112 122 119 122 123 123 125 128 125 134 136 137 132 137 140 137 139 142 136 136 143 139 139 142 140 153 143 145 148 148 154 153 151 156 154 154 145 148 153 151 154 151 149 159 156 154 151 156 154 157 159 162 166 162 171 165 170 163 160 168 162 166 166 160 165 162 162 157 165 165 160 162 156 153 156 159 156 154 149 156 156 151 149 159 157 153 163 162 160 159 159 151 163 154 163 157 157 154 154 148 151 154 149 149 146 153 153 153 154 146 145 151 148 146 143 148 142 149 139 148 136 142 140 137 132 140 128 128 126 132 129 128 126 126 129 126 125 128 122 125 126 119 122 117 115 115 114 120 114 115 109 111 109 108 111 95 100 97 100 97 95 92 94 89 88 85 83 83 81 78 81 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 86 89 89 91 89 91 95 94 102 100 106 103 108 106 106 108 112 114 114 108 114 114 109 114 122 114 119 120 122 122 132 125 128 132 136 136 139 126 129 134 139 137 140 142 145 145 145 151 145 151 151 149 149 153 154 149 154 153 156 148 153 151 151 149 151 148 154 157 153 162 159 156 156 162 160 157 157 170 162 165 168 170 163 165 165 163 163 163 166 166 170 163 168 165 166 165 160 157 156 151 156 156 157 149 149 151 159 154 153 160 157 160 156 157 154 163 162 160 157 156 160 154 148 159 154 151 149 153 154 151 149 148 146 153 149 146 151 149 145 149 145 140 146 142 140 140 136 136 136 137 139 137 136 128 132 129 136 128 129 131 123 128 126 123 120 122 120 125 115 117 123 122 117 112 112 112 108 112 103 102 105 100 100 95 100 95 88 92 88 92 86 85 81 81 81 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 78 83 91 89 92 88 95 97 95 102 106 98 102 106 108 111 109 112 114 115 123 115 115 115 120 119 120 123 122 126 125 134 131 132 137 129 136 140 132 137 137 145 142 148 143 146 148 146 143 148 143 143 156 154 156 148 157 153 157 151 154 159 151 154 154 154 157 153 157 157 165 160 157 170 165 165 162 162 163 173 168 165 159 170 171 171 176 170 171 168 168 168 168 166 166 166 165 162 157 156 154 154 154 149 148 157 157 157 160 162 160 160 163 159 157 156 156 166 153 160 157 154 160 160 159 154 153 156 153 156 151 153 151 153 148 149 149 154 145 145 153 153 153 146 145 139 143 146 142 140 139 136 142 131 139 131 131 129 136 129 129 125 129 129 132 126 128 123 125 128 120 123 117 120 115 117 111 111 108 108 109 103 103 102 97 94 91 92 94 88 91 91 88 88 85 0 80 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 0 80 85 89 91 88 92 95 98 100 102 100 106 111 106 106 109 111 114 119 115 117 122 115 112 119 119 120 125 122 117 128 131 131 131 137 134 134 142 142 136 137 137 140 143 146 149 146 149 148 148 146 159 156 151 159 154 162 159 157 157 159 153 149 157 156 157 159 163 157 163 157 165 165 171 165 170 165 168 173 174 176 173 174 176 176 168 174 170 168 165 170 170 165 171 166 157 160 160 163 157 156 157 148 160 151 160 170 159 162 162 162 163 160 168 170 159 165 156 160 160 159 154 156 159 154 157 156 156 154 156 159 159 151 149 149 154 153 153 154 156 146 146 145 153 145 146 148 146 139 140 142 136 140 140 136 129 129 136 131 129 129 134 132 132 128 126 126 125 122 122 122 126 119 115 122 119 109 106 111 105 112 108 103 100 102 100 95 97 86 92 94 86 92 89 85 83 81 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 78 81 81 86 91 92 95 100 100 100 103 108 106 112 114 106 112 117 119 120 115 123 120 119 123 122 119 125 125 126 126 123 126 131 137 132 143 136 140 140 149 145 148 145 143 146 145 143 153 140 160 154 149 153 157 160 157 162 157 156 151 153 159 159 159 166 159 159 160 163 165 159 162 165 166 162 170 174 171 171 165 171 171 179 170 174 171 173 173 170 168 174 170 170 165 165 170 163 168 170 159 160 145 149 154 157 162 163 165 162 157 159 160 168 160 165 154 163 165 163 163 159 153 166 160 162 159 157 154 156 159 157 156 149 151 151 159 151 148 151 153 149 157 148 149 149 145 153 154 145 143 145 143 139 137 137 137 132 134 136 129 132 131 136 134 132 136 129 126 132 128 122 123 125 125 115 111 117 119 115 108 112 111 106 105 106 95 97 95 102 92 95 88 92 86 88 85 83 83 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 83 83 83 83 89 86 89 97 97 100 100 105 105 108 105 109 111 115 117 119 117 122 122 119 123 125 125 123 122 122 126 128 134 134 136 128 139 132 145 148 142 143 146 148 140 145 143 145 142 154 151 154 148 159 159 157 157 163 159 154 157 159 159 159 157 168 160 162 159 160 165 171 163 160 165 168 165 176 171 166 174 176 180 174 177 177 180 173 179 179 173 171 176 168 168 163 168 165 166 159 162 163 156 160 149 159 162 163 159 165 168 163 166 166 162 163 165 163 165 168 159 165 165 162 160 162 157 162 159 156 159 159 159 156 153 160 153 154 157 162 154 156 154 153 151 153 149 149 149 151 148 149 142 140 136 142 136 140 145 142 143 136 136 134 131 132 134 128 125 126 129 132 123 123 125 117 117 120 115 119 106 106 109 109 111 109 100 102 100 97 91 95 94 94 91 91 89 81 85 83 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 83 81 81 78 85 83 88 85 89 95 95 102 95 103 106 102 106 102 109 112 115 117 115 122 120 120 129 123 120 131 123 131 132 134 134 131 132 140 134 139 140 140 137 145 142 143 143 148 145 149 153 151 157 153 151 156 156 156 159 160 159 156 160 160 163 163 163 159 160 165 163 170 162 168 166 168 168 170 173 166 176 174 180 182 179 176 173 173 176 174 170 177 173 170 176 173 171 177 168 163 165 165 157 165 157 154 159 160 168 168 166 170 168 168 159 171 168 174 165 160 170 165 162 162 168 168 163 163 160 159 160 156 153 154 157 154 156 160 157 151 153 153 156 151 149 151 157 159 148 148 154 146 153 148 148 143 143 143 143 139 140 136 134 142 136 139 143 132 132 132 137 134 131 126 128 122 128 126 126 122 122 114 117 115 115 111 106 108 102 103 102 102 95 95 97 102 92 92 89 89 89 85 83 78 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 81 80 81 85 89 85 86 86 91 91 91 91 94 97 102 98 100 106 103 108 103 106 115 112 117 120 119 131 131 128 126 128 125 129 131 129 132 136 134 134 139 137 140 136 145 142 143 149 143 151 140 149 151 146 154 157 156 165 154 156 151 163 156 166 159 162 159 159 160 166 157 168 165 168 170 166 170 171 166 171 176 168 171 174 180 173 177 173 177 176 182 179 176 182 177 177 174 179 174 173 171 163 176 168 165 160 160 159 151 166 163 166 173 173 171 166 170 171 163 173 160 173 171 163 168 165 162 166 165 160 163 163 159 165 168 162 163 165 154 163 159 156 160 156 159 153 156 153 156 146 159 154 149 148 148 148 146 146 148 136 145 137 139 143 139 142 139 143 136 142 137 139 146 136 134 132 131 129 126 131 120 125 123 117 120 117 114 114 112 103 105 105 102 97 95 98 95 97 95 94 86 91 88 88 83 86 81 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 80 85 86 86 83 85 86 86 89 91 88 92 95 94 100 100 103 103 106 106 106 112 109 114 115 115 119 122 123 123 125 126 125 128 131 128 131 126 129 132 137 136 140 145 140 142 142 143 143 151 153 143 151 146 146 153 156 156 160 154 165 163 156 162 159 162 160 159 166 160 163 159 173 165 160 162 170 170 174 166 173 176 166 179 177 176 180 177 183 174 174 180 180 180 171 183 182 176 183 180 176 170 177 170 168 168 166 163 163 154 156 165 163 174 170 176 174 173 168 168 174 171 165 170 166 170 165 170 168 173 166 170 168 162 173 166 166 157 162 159 159 163 162 163 165 154 156 159 160 157 156 160 154 157 154 151 157 153 149 146 145 145 146 143 143 139 142 136 142 139 137 139 142 140 139 137 132 136 131 131 131 128 123 123 119 125 120 115 120 111 111 111 111 106 102 102 98 105 100 98 92 94 92 92 91 88 83 83 78 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 81 78 80 85 88 89 88 89 88 86 92 91 92 94 95 98 97 102 102 108 108 111 109 109 111 114 112 114 119 119 122 123 123 128 120 136 128 129 131 136 131 136 129 134 139 136 139 140 142 137 143 145 153 153 153 153 156 154 159 157 156 154 162 166 154 160 165 163 162 168 162 168 159 162 170 165 173 168 163 170 171 173 183 166 177 176 185 182 174 182 185 179 176 183 179 185 187 182 183 177 177 183 180 185 180 176 170 174 166 163 163 165 159 162 163 168 173 170 168 173 171 176 171 171 170 171 168 168 173 168 168 165 165 165 171 168 170 165 168 163 163 171 162 160 165 170 163 163 160 168 156 163 162 157 159 156 153 159 148 157 154 156 145 143 146 145 145 140 149 140 143 145 142 143 146 137 146 142 139 145 132 139 122 134 131 125 126 125 125 123 119 117 117 114 112 103 103 105 98 102 95 95 95 92 95 94 89 89 88 86 83 86 78 80 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 85 83 85 85 86 89 88 97 92 92 94 98 94 102 103 105 102 105 103 102 105 108 111 114 114 111 120 117 115 117 123 122 132 134 123 128 134 140 134 137 134 131 136 142 132 140 140 140 142 142 142 143 145 143 146 153 149 151 154 159 153 157 156 160 162 151 154 162 166 165 165 157 166 170 170 170 166 171 171 173 168 171 177 177 176 182 182 182 191 176 180 177 185 173 180 188 182 182 183 185 188 179 179 174 182 176 174 170 171 165 171 163 162 163 160 162 179 165 176 174 171 177 176 180 173 176 176 173 171 176 168 166 171 171 171 163 171 166 168 168 171 171 171 173 166 168 170 165 173 163 163 165 153 163 159 163 157 157 146 162 149 151 154 146 151 139 145 145 142 143 142 146 146 145 142 145 139 139 143 134 139 129 129 128 131 131 126 125 125 126 119 117 122 114 112 108 109 108 103 100 105 97 98 94 95 92 89 89 88 81 88 86 86 80 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 81 83 88 86 83 92 92 92 95 92 94 94 97 95 105 102 100 106 112 105 103 111 111 115 111 114 117 115 120 125 122 117 126 128 126 125 132 134 139 136 136 132 137 134 139 140 142 139 139 139 137 136 145 142 142 139 151 145 146 153 156 160 157 156 163 154 163 165 160 170 168 162 165 166 159 171 166 171 162 173 170 183 171 174 176 177 180 182 174 193 187 179 174 179 188 187 183 179 188 193 187 188 176 191 177 180 183 182 177 177 171 166 166 166 165 170 163 168 170 173 174 173 177 173 182 176 173 174 173 170 182 176 174 174 177 171 162 179 166 168 168 165 171 173 171 166 173 171 173 170 170 165 168 162 171 163 162 162 159 157 162 157 151 154 149 156 146 148 149 145 146 146 143 146 149 149 139 140 145 148 142 139 136 134 139 132 129 128 128 125 123 128 122 115 117 117 112 114 111 108 105 102 98 100 97 94 95 92 89 88 85 85 83 83 80 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 81 85 86 86 86 89 92 91 91 94 94 94 94 100 100 108 105 103 103 109 109 111 112 108 117 119 119 119 115 125 123 122 123 126 126 125 134 131 136 134 136 139 137 140 140 140 134 142 142 140 142 140 137 137 136 140 145 149 157 146 154 151 159 163 156 166 163 165 160 166 163 166 163 163 165 170 171 173 176 168 166 173 179 174 177 179 176 179 180 176 185 179 183 183 188 191 177 190 191 194 191 193 190 188 187 182 185 183 182 174 171 168 163 166 171 165 173 165 168 171 179 177 174 174 170 180 176 179 176 173 176 174 176 171 176 179 173 173 179 166 177 174 174 176 171 168 166 174 171 170 168 168 174 165 173 168 166 165 170 173 162 162 160 156 159 156 153 154 149 146 140 149 143 149 149 153 154 146 145 143 148 140 142 140 143 140 136 131 132 129 129 131 123 125 114 117 119 112 103 109 108 106 105 97 102 98 95 91 92 92 89 91 81 80 83 80 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 80 85 81 83 86 89 89 91 95 92 97 94 100 97 98 102 102 103 109 106 109 106 111 109 114 115 115 120 120 120 122 115 125 120 122 126 129 128 128 132 134 134 139 143 137 140 139 142 143 143 145 148 137 145 140 146 143 154 142 151 148 151 154 151 149 163 162 162 165 160 166 162 165 173 170 165 165 170 171 165 166 179 182 171 171 174 177 182 187 180 183 187 182 185 188 182 190 185 185 191 187 188 188 182 191 188 188 188 183 188 187 180 173 177 173 171 176 173 176 173 170 170 177 173 174 185 183 180 180 177 174 177 174 176 176 182 182 177 171 176 176 174 173 176 173 174 177 171 173 174 162 170 171 170 171 173 165 171 165 166 163 166 162 163 162 163 159 160 165 159 159 154 148 149 143 148 143 154 143 146 148 148 148 146 142 148 139 137 143 142 136 136 134 125 123 123 123 123 117 111 115 114 111 105 109 112 100 102 100 102 95 89 89 88 85 83 80 81 83 81 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 80 83 80 83 88 85 91 88 91 94 95 95 102 97 100 102 106 105 103 106 106 115 112 114 111 109 117 119 120 119 119 120 123 126 129 126 126 125 131 132 134 134 136 134 139 142 139 136 143 146 145 145 148 149 143 149 145 146 146 151 148 149 154 157 154 162 153 159 165 157 173 168 171 162 162 170 166 165 166 165 176 171 174 171 170 182 179 173 174 177 179 187 179 191 188 188 187 193 190 191 196 191 187 190 187 200 183 190 191 190 188 180 180 183 174 174 174 179 177 165 166 163 168 180 179 183 191 179 176 187 187 180 187 177 185 176 176 173 171 177 183 182 173 177 177 179 171 174 173 171 174 173 165 168 170 165 173 170 176 171 163 170 160 165 168 165 166 160 162 157 153 160 159 157 156 153 151 153 151 154 148 153 142 149 149 151 145 142 143 139 132 137 136 131 129 125 129 123 119 117 119 119 111 106 106 106 106 103 100 94 102 92 94 91 89 88 88 89 81 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 80 85 88 86 85 88 85 94 95 92 94 94 98 100 105 98 105 108 105 111 112 114 109 114 108 109 117 115 119 117 119 122 123 123 125 123 125 128 129 131 132 132 134 131 137 139 139 140 137 140 145 143 145 146 140 149 151 149 154 151 151 149 146 145 149 156 170 153 153 159 160 165 166 162 168 170 170 165 170 170 173 173 165 177 176 179 180 173 185 180 183 183 188 182 191 190 190 188 188 191 193 191 187 193 193 191 183 199 188 191 190 179 183 188 182 187 179 174 182 183 174 170 177 166 176 179 180 177 177 187 185 179 171 183 173 180 185 177 177 176 182 179 180 176 180 177 173 179 176 176 180 168 174 166 165 177 166 179 170 166 166 174 173 168 174 174 171 166 163 166 162 162 160 154 157 154 156 156 146 156 143 153 146 156 153 153 149 145 151 143 140 142 145 132 139 126 137 129 125 125 120 117 119 115 119 114 108 111 103 108 100 100 97 94 95 94 89 86 88 85 85 86 83 78 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 80 81 85 85 88 89 89 88 91 95 94 100 92 98 98 100 102 105 109 106 106 112 108 109 112 115 115 117 117 119 125 117 120 125 129 125 126 126 128 122 123 134 136 132 132 140 140 142 142 146 137 137 145 149 146 145 146 148 149 162 156 157 157 156 154 149 157 159 162 166 166 156 165 165 160 165 165 160 170 170 171 173 170 173 166 168 174 177 180 183 180 183 183 180 182 183 188 193 188 196 190 191 190 183 190 200 193 190 194 200 194 185 188 187 183 182 176 180 185 180 180 182 173 176 177 179 176 182 179 188 171 185 194 182 177 176 185 185 176 188 183 183 185 179 185 183 183 180 185 174 173 179 173 183 183 173 173 174 174 174 168 177 173 177 173 177 166 166 165 171 173 170 168 166 163 159 163 159 151 143 154 149 148 153 153 151 154 146 149 153 149 143 143 142 132 136 139 142 128 129 126 123 125 117 122 115 117 111 111 105 105 108 106 103 100 97 94 94 91 88 94 86 86 89 89 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 0 81 85 86 86 85 86 91 94 91 98 92 97 92 95 100 102 103 108 111 105 114 117 117 114 112 119 115 123 119 125 115 126 125 125 132 125 123 129 129 128 132 128 126 129 136 142 134 143 143 143 146 148 145 145 145 143 148 154 156 149 157 157 146 154 162 149 153 156 157 163 170 156 165 165 157 166 174 171 165 165 174 173 174 170 170 176 177 176 177 174 176 185 179 179 183 188 190 182 188 199 183 197 182 194 193 194 193 193 200 194 194 191 196 182 188 183 187 182 185 180 190 182 176 177 171 171 180 176 188 179 182 187 182 185 185 183 191 180 183 179 182 187 180 190 185 190 177 177 185 179 183 180 176 182 176 179 180 176 174 182 185 182 176 176 174 171 174 177 174 173 168 163 170 170 165 165 166 165 163 160 154 154 148 154 156 149 149 149 153 154 136 140 143 143 137 139 137 134 132 131 129 126 125 126 119 122 114 114 109 117 109 105 108 100 97 100 97 95 94 94 94 91 86 85 85 83 85 83 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 80 85 85 86 86 92 95 94 92 94 94 97 92 98 103 100 105 100 108 103 109 112 114 114 115 119 114 122 122 120 125 125 120 125 125 126 131 131 125 134 131 132 123 131 132 139 139 140 142 146 137 146 143 148 146 154 143 145 146 157 157 154 151 153 156 153 157 149 154 160 160 163 159 165 166 165 166 163 160 166 166 171 174 170 176 180 173 174 180 173 176 182 190 182 188 187 183 191 193 196 194 188 196 191 193 197 199 190 194 199 196 200 188 199 191 194 193 183 185 180 185 193 187 185 183 180 177 180 179 188 183 179 185 188 190 182 174 183 183 190 179 187 180 182 185 185 173 177 182 179 174 176 185 182 171 183 183 174 177 182 180 182 179 183 179 177 173 180 179 174 171 173 176 177 171 166 176 170 168 163 159 160 154 154 156 149 156 151 154 151 149 148 139 143 151 145 136 139 136 143 136 129 134 125 125 126 123 123 115 117 108 111 111 111 108 103 103 98 98 92 98 94 91 86 86 89 86 91 81 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 86 83 89 89 94 91 92 97 102 92 95 95 100 100 98 97 102 106 106 103 108 108 119 115 114 119 120 122 120 122 125 125 120 125 128 126 129 131 131 125 132 129 134 128 139 137 134 136 136 140 142 143 143 148 145 148 146 153 151 151 156 156 153 157 159 157 153 154 156 154 163 160 162 165 165 163 166 165 166 173 173 173 171 171 176 174 176 174 182 182 180 177 177 183 183 180 187 191 188 190 193 193 188 190 193 197 191 193 193 194 199 196 196 200 197 196 185 183 190 190 182 187 188 187 182 177 190 182 179 179 183 183 177 185 185 183 185 180 190 191 176 182 180 180 180 180 185 177 182 185 179 185 183 179 188 183 185 193 180 171 180 180 179 176 179 182 170 180 179 176 179 177 166 183 173 171 165 174 166 168 162 166 159 160 157 156 153 156 154 159 149 151 154 149 151 146 143 149 146 136 136 134 136 134 132 126 122 122 119 122 109 117 115 103 108 105 109 102 102 98 100 98 98 98 92 88 88 88 83 83 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 78 85 86 88 86 89 97 92 98 97 91 97 98 102 97 100 105 103 100 98 111 106 111 112 109 112 117 123 126 125 126 131 125 131 126 132 128 136 134 136 132 132 134 139 132 136 134 136 136 139 136 136 146 139 140 149 153 146 149 153 157 156 160 154 157 162 151 159 154 160 159 162 159 166 165 168 160 166 165 165 166 171 168 174 166 170 176 177 185 176 177 183 191 180 182 188 180 185 196 191 190 185 197 194 196 196 199 188 199 191 199 199 199 196 199 205 200 191 193 191 182 191 191 187 187 191 180 185 180 174 176 179 176 180 179 177 182 179 188 185 187 185 188 188 187 182 182 193 180 183 177 177 185 182 177 187 183 183 188 182 185 187 180 188 179 176 179 182 177 182 176 187 174 171 174 182 176 170 176 171 171 174 168 165 159 159 160 157 160 157 153 149 153 154 156 145 140 145 140 137 137 137 136 136 128 132 131 123 129 117 119 120 119 115 117 108 109 109 103 105 106 105 98 102 95 98 92 95 91 88 81 85 85 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 86 88 91 94 94 98 92 98 98 100 100 98 103 105 109 105 106 103 108 105 115 108 112 117 115 117 126 114 126 122 125 129 132 136 134 139 128 137 136 139 137 134 137 131 136 142 134 140 139 140 145 145 145 145 148 151 148 154 149 153 157 160 156 156 165 156 159 159 159 159 157 166 170 163 165 165 162 168 166 177 171 170 174 174 174 188 179 185 182 188 179 185 182 182 179 190 193 191 190 197 187 191 187 196 187 188 199 196 197 204 193 197 196 204 199 191 182 188 185 193 185 188 183 185 176 180 191 177 185 185 176 185 179 187 179 182 179 182 188 191 190 185 182 183 182 187 180 176 171 182 182 185 182 185 183 179 187 188 182 180 183 188 182 180 187 179 187 183 185 176 176 182 179 179 170 182 182 183 171 174 174 165 163 165 165 162 154 156 148 160 151 159 149 149 148 149 142 145 139 143 140 142 140 134 126 132 128 123 122 125 119 122 115 117 112 111 111 109 105 105 105 98 103 97 97 92 89 86 86 85 81 81 80 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 85 78 86 89 95 92 92 97 100 98 108 98 105 111 106 105 103 105 111 112 108 114 112 111 119 114 117 119 120 126 128 129 140 128 132 132 136 131 136 129 140 134 136 145 137 137 143 146 142 146 143 143 140 148 148 148 149 151 148 151 157 154 157 156 154 165 157 157 168 160 165 156 160 162 171 168 165 176 166 168 173 166 168 176 182 179 176 176 180 188 176 179 179 191 187 188 185 185 183 190 194 188 188 193 199 191 196 197 190 197 197 199 194 200 199 200 196 194 190 191 188 190 187 190 197 185 188 191 179 177 183 187 191 187 193 185 182 179 185 185 176 188 187 185 190 191 190 183 185 182 182 180 180 182 185 190 182 193 176 190 183 196 187 183 187 190 190 188 179 182 187 188 182 179 185 183 176 183 177 174 179 179 176 176 171 166 162 163 165 160 159 162 165 151 149 151 154 151 143 140 142 134 137 136 137 132 126 136 129 125 129 128 123 125 123 114 120 109 109 106 103 103 105 105 100 97 95 91 92 97 89 86 85 85 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 92 86 94 91 95 98 100 100 108 106 105 106 111 109 105 105 108 115 112 114 111 115 117 115 114 117 117 119 128 131 126 132 134 134 132 132 131 142 140 136 139 136 136 142 143 145 143 145 139 143 154 142 139 153 148 153 151 156 156 151 156 159 163 165 157 162 163 166 163 156 166 157 162 163 166 157 174 162 174 174 174 173 177 185 179 183 177 182 196 188 188 183 187 187 182 190 193 188 188 190 196 196 194 185 200 194 196 196 200 204 199 214 200 199 191 196 191 187 182 190 190 179 193 183 187 177 183 193 187 183 179 183 179 187 179 182 183 182 182 187 187 183 191 188 177 190 183 180 187 183 183 185 180 187 187 187 190 188 187 190 183 188 190 185 182 185 182 190 191 190 177 180 183 179 180 185 180 179 177 182 174 174 179 171 163 171 170 165 163 159 160 151 162 157 149 154 154 146 145 146 143 134 140 129 134 132 132 128 129 128 128 122 120 120 125 119 111 108 109 109 111 105 103 102 97 95 97 95 94 86 81 81 81 81 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 85 88 83 85 86 97 92 102 98 103 105 106 109 109 117 115 112 112 111 112 117 115 115 112 114 115 119 120 122 131 125 129 128 129 129 143 139 140 136 137 140 139 143 146 142 145 145 140 146 146 146 146 145 146 148 149 160 156 153 159 163 153 157 156 162 160 159 160 159 162 165 160 168 163 159 170 163 173 174 174 170 173 170 177 174 180 180 185 183 190 183 187 183 183 188 194 190 190 194 191 185 187 191 191 199 190 200 194 194 199 204 202 207 196 204 193 197 194 194 180 194 190 190 188 190 193 191 188 190 188 185 185 188 182 187 187 183 183 182 188 188 188 185 182 185 187 188 180 183 190 187 183 182 191 191 187 185 180 185 190 188 193 193 197 185 191 187 191 193 188 188 183 187 180 191 183 177 180 177 177 187 185 177 177 174 173 173 173 162 176 171 162 171 160 153 157 160 153 160 156 146 145 142 143 143 145 134 140 134 134 134 126 134 125 129 125 120 125 112 111 112 109 105 105 98 98 97 97 97 94 91 88 86 86 85 81 85 78 80 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 86 88 94 95 98 97 100 105 105 105 106 112 109 115 117 115 114 115 122 122 115 122 119 120 122 122 119 126 122 125 131 128 131 136 131 136 142 140 146 143 145 140 142 145 145 139 149 139 148 148 146 154 156 153 151 156 153 157 154 151 159 156 162 162 163 159 165 157 163 159 166 166 165 168 157 160 166 163 173 176 174 171 176 180 187 180 179 182 182 185 182 188 188 182 182 182 187 179 187 193 188 196 193 193 200 197 193 197 200 200 199 204 191 193 196 200 187 187 187 183 197 191 199 188 194 185 188 190 191 187 194 191 182 191 185 179 179 182 188 185 191 190 188 188 187 191 187 188 185 187 187 185 187 185 188 187 191 196 194 188 187 188 200 191 188 188 193 187 196 194 187 193 190 182 187 183 188 174 187 177 180 173 182 187 185 170 176 166 168 176 163 165 165 163 160 149 165 159 154 148 145 142 142 142 149 140 139 137 136 137 132 125 126 126 129 125 128 125 114 108 111 105 103 100 97 102 95 92 89 91 89 95 89 86 88 83 80 85 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 85 85 83 92 95 92 95 95 105 103 108 111 112 109 111 115 112 119 120 115 123 115 119 114 125 122 125 128 125 131 126 129 132 136 132 134 140 143 139 145 134 140 143 139 143 143 145 148 142 148 149 149 149 154 149 153 153 156 154 157 159 153 162 159 159 156 162 156 162 157 162 165 160 163 160 166 165 170 170 179 176 185 179 179 177 182 182 185 185 187 182 183 182 183 179 193 185 187 185 187 191 187 188 194 190 207 202 200 196 200 199 193 202 191 202 204 194 196 183 196 188 188 187 196 190 190 191 197 200 193 199 191 191 193 197 191 187 185 188 185 185 185 179 187 185 185 187 190 197 194 187 196 190 191 180 193 200 191 191 194 193 190 199 199 188 196 194 188 196 193 194 185 188 191 191 183 187 188 182 182 187 179 185 182 176 170 177 174 176 173 176 171 173 171 168 162 159 159 157 159 145 145 145 153 140 153 140 139 142 139 136 139 136 134 129 129 129 123 128 122 114 112 105 109 108 100 102 97 91 94 92 95 95 89 91 89 86 86 85 86 80 83 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 86 92 95 95 92 100 102 102 108 105 108 109 114 111 112 115 112 122 123 122 119 125 125 126 132 125 128 125 126 129 136 129 132 137 136 142 136 143 143 143 146 140 137 149 142 156 142 146 153 156 151 154 154 153 153 157 154 160 160 156 156 162 162 154 151 160 166 170 165 165 173 168 159 160 171 166 165 163 171 170 173 174 183 188 179 183 182 190 180 183 190 188 185 183 190 190 196 191 196 185 190 188 191 191 194 193 194 199 190 194 199 196 196 200 200 190 194 191 194 193 191 194 191 187 194 196 194 193 199 194 200 193 194 197 193 182 191 191 185 185 173 183 191 185 188 193 190 196 191 185 190 188 196 187 196 193 193 191 191 208 190 202 197 193 194 193 190 193 191 193 196 188 193 190 199 188 188 193 190 182 177 180 180 185 174 177 180 171 179 168 173 176 171 170 171 165 160 162 160 156 154 149 156 149 151 149 148 139 140 145 143 142 142 132 131 131 134 129 125 128 115 112 111 106 105 102 103 92 98 100 94 98 94 94 95 86 86 88 83 86 81 85 80 80 83 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 85 91 89 89 97 100 100 105 103 103 108 115 117 114 117 119 119 114 120 122 123 126 119 126 128 125 122 125 126 134 132 128 134 131 134 132 143 137 142 140 140 148 145 146 143 151 149 149 146 148 146 154 151 156 156 149 159 163 160 160 160 162 159 160 163 162 162 163 159 168 165 162 174 163 166 170 160 166 165 182 171 177 179 182 176 187 185 174 188 187 188 182 183 193 182 188 183 191 194 197 191 183 191 190 190 191 199 193 194 193 188 202 196 190 196 193 190 187 191 190 183 193 205 197 202 196 196 196 193 200 191 188 187 197 191 194 197 191 179 187 191 185 187 187 193 199 194 193 188 194 197 196 194 197 196 199 194 190 196 200 197 197 190 196 190 191 196 199 194 197 194 185 197 193 197 187 197 187 187 191 185 190 183 179 182 180 180 177 174 177 180 179 173 182 171 173 168 170 160 156 162 157 151 154 159 153 151 146 145 143 149 142 142 140 136 139 134 136 120 128 119 120 112 112 111 106 103 108 106 100 103 98 100 97 92 92 97 92 89 89 89 83 86 85 83 83 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 91 91 92 94 95 94 102 102 106 108 109 119 115 125 123 119 126 119 126 126 122 131 129 126 129 125 129 131 126 129 136 128 137 139 137 145 142 145 142 143 146 153 146 146 151 145 151 154 151 151 154 154 159 153 154 160 156 159 154 163 165 154 163 165 159 165 165 165 157 163 159 171 173 160 162 163 168 174 170 173 174 176 187 177 188 180 185 196 196 193 188 182 188 196 188 183 194 196 190 190 188 188 197 187 197 194 185 193 191 199 193 193 197 204 185 187 187 191 188 190 199 196 200 196 204 191 196 197 197 199 196 197 199 194 193 190 194 190 185 185 190 183 187 190 188 194 196 196 202 196 190 196 197 202 191 197 197 193 199 197 194 202 196 194 188 204 200 197 202 194 200 188 197 204 193 193 193 196 190 187 182 187 185 179 182 180 182 173 174 182 174 177 182 171 182 168 170 157 171 157 159 159 157 148 153 146 154 142 146 148 145 139 143 137 145 136 132 131 131 119 120 114 115 114 112 114 102 109 103 94 102 103 103 100 100 97 100 95 91 88 88 85 91 86 81 81 83 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 81 88 91 95 98 98 102 106 108 105 114 109 112 112 119 120 128 125 126 126 122 125 129 126 128 123 129 137 134 131 134 139 131 139 142 142 145 137 146 143 146 148 145 146 151 156 157 159 156 154 151 156 159 156 159 156 163 166 163 168 166 170 166 168 162 159 168 163 166 163 163 166 162 163 168 170 170 168 163 180 177 182 177 180 185 182 182 190 194 190 187 183 191 190 187 196 187 194 185 187 187 196 197 190 190 194 187 202 197 194 200 196 193 193 193 188 188 187 188 196 211 193 210 204 200 204 204 210 202 194 208 199 200 194 197 204 196 187 191 190 196 200 188 187 194 197 193 196 199 194 199 202 197 199 197 194 199 200 197 197 202 197 207 197 200 204 199 196 200 199 194 193 193 200 199 188 199 194 193 197 190 187 188 185 185 190 183 190 182 176 183 180 179 177 179 176 174 173 168 171 166 160 162 162 159 149 156 149 151 142 143 145 143 153 142 139 142 132 136 126 128 122 120 115 117 109 114 112 109 109 109 103 100 103 102 98 102 95 97 94 92 91 88 88 86 86 81 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 85 92 92 97 94 102 97 106 106 106 109 117 112 119 117 119 125 115 125 126 126 128 131 131 126 129 134 132 136 129 131 131 134 142 134 137 140 146 143 151 146 156 146 154 149 160 153 154 162 162 160 156 162 162 160 166 163 163 163 163 163 165 171 166 170 168 166 163 160 170 168 166 166 170 163 165 170 166 168 174 173 174 182 177 179 187 177 183 183 185 197 193 197 183 190 194 191 194 187 193 187 190 194 191 182 187 187 194 187 196 194 191 199 183 188 180 194 190 196 197 207 204 207 210 208 205 208 199 200 208 199 196 199 199 196 194 208 205 193 197 190 191 191 191 193 193 196 196 194 193 191 204 194 204 200 199 197 199 204 197 196 194 200 207 199 191 199 207 196 196 196 205 193 199 191 196 196 190 199 194 191 190 190 191 185 187 183 182 191 176 173 183 187 183 177 177 174 173 176 165 165 165 165 160 157 151 157 149 149 143 145 142 140 139 140 132 136 132 126 129 123 122 114 119 115 117 115 108 105 112 108 102 105 98 95 103 100 95 97 94 89 98 91 89 88 85 86 80 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 86 89 86 94 95 100 100 103 105 109 115 117 114 115 117 122 125 120 125 132 125 131 132 129 132 134 129 140 134 136 134 136 137 140 136 142 140 142 146 146 153 151 148 154 156 153 154 157 162 156 157 156 165 160 163 166 170 163 171 168 165 165 165 173 173 174 177 159 170 168 170 166 170 170 171 170 165 171 163 177 176 182 176 177 182 180 188 187 190 190 188 193 188 193 191 194 191 188 193 187 196 194 188 183 188 191 194 190 196 193 187 191 194 191 187 191 187 183 194 202 205 202 205 204 204 208 205 202 199 207 193 197 205 190 197 197 202 197 199 190 194 202 196 194 196 190 197 194 197 194 207 199 200 199 202 190 202 205 196 205 199 193 210 202 194 204 208 199 205 204 199 194 200 204 196 197 193 190 187 193 185 190 193 194 188 183 185 190 182 185 191 188 183 183 180 176 174 185 171 174 168 171 173 162 162 160 156 162 148 149 153 139 137 137 140 142 136 143 132 134 128 126 126 125 119 122 114 117 106 109 109 106 105 100 103 103 103 103 103 98 94 92 97 94 92 83 91 85 86 83 81 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 85 81 86 92 92 97 98 100 103 103 108 111 111 109 117 125 125 125 120 128 123 125 129 136 129 136 131 139 136 145 136 137 132 129 140 136 146 145 143 142 143 148 146 157 153 154 157 160 157 160 151 163 163 162 156 160 168 160 166 168 166 170 168 165 174 173 173 170 174 170 173 171 171 170 179 163 168 173 166 168 179 171 180 179 183 183 180 187 183 193 187 185 194 194 190 199 188 196 188 196 196 193 190 190 187 202 194 185 188 191 191 196 187 194 190 188 183 190 200 202 204 211 207 210 210 214 205 210 202 204 207 205 202 210 207 205 204 202 196 204 208 196 199 193 204 185 193 196 194 199 204 196 196 199 199 202 204 196 199 205 207 200 210 199 207 200 202 194 207 204 202 200 214 202 194 196 193 199 202 194 187 193 193 185 187 196 187 187 193 190 190 187 177 187 180 187 190 177 177 177 176 179 171 176 166 171 162 157 156 153 153 148 142 142 137 131 140 139 136 136 128 128 131 125 122 119 115 117 111 112 114 112 111 103 105 103 100 102 100 98 98 95 97 94 89 89 89 85 88 85 85 86 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 85 0 89 91 92 95 98 102 100 102 105 109 112 112 114 119 123 122 125 123 123 125 129 123 136 137 137 131 143 136 139 145 143 140 146 142 146 146 142 142 146 153 154 148 151 156 159 154 153 160 166 166 157 163 168 171 165 166 168 173 166 170 173 173 176 174 171 176 170 174 173 171 170 176 170 174 170 166 168 171 170 176 177 177 179 187 187 187 183 187 191 190 191 196 187 188 188 196 191 202 191 193 194 193 196 196 191 193 190 185 190 188 185 199 194 185 191 191 199 200 208 200 213 207 210 207 210 214 211 211 205 205 207 205 205 200 208 205 197 197 200 193 204 200 199 191 199 191 200 191 196 197 202 202 202 202 200 204 210 204 199 214 204 196 200 205 207 207 204 202 197 202 199 204 202 197 193 200 196 188 196 185 193 197 197 196 197 185 193 188 193 196 193 190 183 190 187 185 174 183 180 177 170 173 166 170 171 159 162 163 162 151 154 146 142 143 142 129 140 129 134 137 126 128 128 128 125 115 123 117 112 115 112 111 108 108 106 97 103 98 97 95 95 94 91 92 92 89 81 88 85 81 85 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 86 89 95 94 95 100 100 100 109 112 112 112 117 117 114 119 123 128 126 123 132 134 136 132 139 137 137 139 139 139 142 142 146 148 142 143 142 143 151 139 157 149 159 148 157 162 159 163 162 173 168 162 163 163 166 173 166 168 166 177 170 166 176 166 176 173 177 176 173 170 168 173 173 176 171 174 174 168 179 177 166 190 183 193 179 187 185 185 190 190 193 191 197 193 194 196 204 194 205 194 194 197 196 196 199 200 197 188 191 185 185 193 188 180 190 188 197 199 208 217 210 213 214 207 210 207 208 202 213 204 208 211 197 194 207 208 205 204 199 205 197 204 197 204 199 200 197 205 208 207 204 202 211 200 207 205 208 204 205 197 202 200 204 204 207 199 204 197 202 197 200 197 200 202 205 191 207 199 197 197 199 197 197 197 200 194 191 194 190 190 194 193 196 194 187 187 183 180 182 179 179 173 176 171 166 165 163 160 160 157 153 149 146 137 140 139 137 136 137 132 132 123 122 126 126 125 125 115 108 115 112 108 111 109 109 105 106 100 98 100 97 97 97 89 88 88 85 83 83 83 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 80 86 80 88 91 94 98 97 103 106 105 106 109 112 111 114 115 119 122 122 128 131 132 136 126 131 136 134 132 139 137 136 143 143 145 137 145 140 146 149 145 148 148 151 153 146 153 159 159 163 168 159 168 163 171 168 168 166 168 171 176 179 177 170 166 179 171 173 176 177 179 176 177 177 177 183 176 174 182 174 176 176 174 174 180 179 179 190 188 187 183 187 194 191 199 199 196 196 196 204 193 207 199 188 194 194 196 190 194 196 196 182 193 190 187 188 191 183 188 196 204 204 200 208 208 207 210 213 211 214 213 221 205 208 204 207 202 204 208 208 210 207 205 202 210 208 197 204 194 196 205 204 200 200 205 202 208 214 200 205 211 207 211 207 205 197 196 211 199 205 199 196 204 207 202 196 204 204 197 199 204 204 193 202 196 204 196 197 193 202 190 196 191 196 188 191 183 191 188 185 188 188 182 182 179 170 174 168 173 173 165 159 159 154 159 149 148 143 142 148 137 140 136 134 132 126 125 128 125 126 120 117 117 114 114 106 108 109 112 105 105 109 103 98 89 98 94 92 91 92 88 83 86 83 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 85 86 89 97 91 95 95 98 100 108 106 108 109 120 117 123 122 122 131 131 129 132 131 136 129 134 142 143 140 142 148 143 149 153 146 145 149 153 140 148 145 151 159 148 153 154 154 166 163 163 166 166 168 165 173 163 165 173 165 174 177 174 177 168 177 183 183 176 182 180 173 176 182 174 182 177 179 180 179 174 180 177 188 177 183 190 179 191 188 196 190 193 194 200 197 196 200 199 197 199 199 196 196 196 197 200 194 193 194 194 191 188 183 187 180 182 190 190 197 200 202 204 214 200 210 213 205 207 214 205 205 208 211 204 204 196 210 207 194 204 207 205 210 199 194 194 199 207 196 202 204 200 207 211 210 202 210 208 210 207 208 205 208 200 200 210 207 207 196 210 199 202 200 202 211 197 200 196 204 200 200 200 204 196 210 200 197 202 194 197 190 196 196 199 193 196 187 185 190 182 180 180 177 183 176 177 179 170 168 165 157 157 160 142 149 149 156 140 140 143 134 134 137 128 128 126 129 122 123 119 122 120 119 119 112 111 114 114 109 108 105 103 102 102 98 100 92 94 92 95 86 85 83 89 81 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 83 85 88 88 92 95 97 103 105 108 115 108 114 115 120 117 119 119 122 126 126 131 132 134 132 137 137 140 145 143 142 146 142 148 145 148 153 148 146 149 153 156 156 151 157 157 163 162 157 170 168 166 170 171 170 174 176 168 177 176 180 170 176 176 174 174 177 179 179 174 185 183 180 180 182 187 180 185 182 177 180 173 180 179 182 179 180 196 177 196 187 190 194 196 196 200 199 199 204 197 190 199 194 199 196 196 200 202 196 190 183 191 182 183 187 188 187 194 205 204 204 213 214 202 208 214 211 213 217 211 217 213 210 210 210 208 216 216 208 207 210 202 204 202 207 200 210 205 196 204 204 200 210 202 207 207 200 213 199 200 208 211 213 211 207 205 207 207 202 200 205 200 204 210 205 208 204 207 196 199 202 202 199 205 196 197 199 202 190 196 190 197 200 194 204 197 197 197 193 194 188 183 183 182 187 179 174 180 179 162 168 156 151 157 151 149 151 149 148 142 140 145 129 134 129 126 132 132 128 129 120 126 115 119 112 109 114 114 112 108 105 109 106 102 100 97 103 97 94 94 95 89 86 89 80 83 86 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 81 85 88 91 91 95 100 100 105 100 106 111 111 114 115 114 129 122 128 129 125 126 125 136 137 140 140 142 146 143 134 145 153 142 148 145 146 143 146 149 153 151 146 154 151 151 156 163 162 163 160 176 163 171 171 166 176 170 176 177 174 174 179 179 179 182 182 174 177 179 177 183 179 180 183 176 182 182 177 183 179 179 177 177 174 183 190 187 190 187 187 188 190 190 197 193 193 202 208 197 197 204 199 205 207 196 205 204 204 187 193 188 187 180 190 187 191 190 196 204 196 208 208 205 208 208 217 219 205 208 207 211 207 207 210 207 211 202 197 213 200 211 205 207 211 200 197 204 210 204 194 205 199 210 202 211 204 202 213 197 210 204 199 199 200 202 199 200 202 204 204 199 205 210 211 202 199 200 205 197 205 199 202 204 194 208 200 204 200 196 200 207 197 194 199 200 199 199 194 188 190 187 180 187 188 183 183 179 179 170 160 168 159 163 156 163 154 156 149 146 149 140 143 131 132 136 131 131 129 123 122 123 120 123 123 115 119 120 120 117 117 114 111 105 100 103 105 103 102 98 94 91 92 91 91 86 83 81 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 83 86 86 89 92 94 94 100 100 103 108 109 108 109 109 120 119 119 128 122 129 132 126 129 139 139 131 140 143 148 142 148 145 145 149 143 146 149 159 154 157 162 154 151 154 151 159 159 162 159 173 160 166 171 168 170 171 177 174 174 177 183 177 173 180 176 187 182 179 187 180 177 191 182 185 183 182 188 187 185 183 191 182 183 173 185 185 182 182 190 182 187 191 190 199 199 197 204 202 197 197 207 204 204 196 207 197 197 202 200 194 191 188 188 183 183 185 190 196 207 210 208 204 211 210 208 217 210 208 211 221 211 208 207 211 205 208 210 210 202 205 200 205 208 204 199 194 208 193 199 200 202 202 197 207 207 207 205 208 202 208 202 199 202 204 205 200 200 196 200 199 202 202 202 207 216 207 205 211 200 208 202 205 214 202 207 202 202 202 208 208 204 199 197 202 200 200 199 202 196 191 193 187 183 177 179 180 171 179 170 171 170 165 160 162 159 156 159 157 145 146 148 146 139 136 137 132 139 131 129 129 129 122 120 126 123 119 120 115 117 119 112 112 112 112 115 112 105 103 105 100 102 100 95 92 88 88 89 86 85 81 0 78 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 83 85 89 91 94 92 97 97 100 108 102 105 105 108 109 115 114 125 123 122 128 131 132 129 134 129 134 136 148 149 148 149 146 142 149 143 148 154 151 154 156 153 151 151 156 154 168 159 160 160 173 165 168 165 176 176 183 183 180 180 177 177 176 179 182 180 177 179 188 182 188 183 188 174 176 190 182 188 182 187 187 188 185 176 182 174 180 185 177 183 188 191 193 191 197 193 191 197 202 204 199 197 204 207 197 202 194 197 197 204 202 199 188 182 183 183 194 194 194 200 202 208 207 214 208 213 211 205 208 213 213 217 208 210 214 208 207 205 207 210 208 216 210 204 204 204 214 200 204 200 199 199 204 207 199 205 208 208 211 205 197 202 207 196 202 197 193 196 197 200 197 200 199 199 197 208 208 200 207 207 205 210 202 200 204 207 207 202 207 199 205 207 204 207 208 211 205 194 202 196 200 196 193 191 185 187 182 179 183 179 177 166 165 165 160 162 157 157 156 160 159 154 145 139 142 143 136 134 132 132 129 125 125 132 128 125 122 120 119 119 119 123 117 120 112 111 114 114 109 103 105 103 102 100 100 92 95 92 89 88 81 86 83 80 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 83 80 85 88 89 95 91 102 97 95 103 106 106 108 112 108 109 112 119 115 126 128 131 136 131 131 134 137 139 140 148 146 148 149 151 153 149 154 151 154 156 157 160 153 148 153 157 156 159 162 168 168 170 174 176 174 179 182 183 173 187 185 182 177 185 176 185 187 183 190 185 185 182 183 177 185 185 191 185 185 188 190 190 188 187 185 183 180 187 185 193 187 187 196 194 194 194 205 197 205 199 213 208 208 208 193 200 204 210 196 196 193 188 188 194 187 180 193 208 196 199 204 208 205 207 217 222 210 211 214 213 219 208 217 208 202 207 211 214 199 200 213 211 214 216 202 199 200 199 196 204 205 204 207 211 213 210 205 208 213 221 207 207 210 204 205 197 197 207 200 200 204 202 188 199 200 196 202 197 205 202 207 207 199 204 219 202 207 207 210 210 199 204 205 200 208 211 204 204 202 202 194 188 193 190 182 171 180 180 176 179 176 174 176 177 171 165 166 163 159 159 151 156 153 146 143 137 139 142 136 131 129 129 136 128 134 131 128 122 126 122 120 120 122 123 122 122 109 114 105 109 105 103 103 103 102 105 95 97 91 91 92 88 89 85 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 91 85 92 88 94 98 102 102 95 105 108 106 112 114 112 111 114 122 122 128 129 136 134 134 137 145 140 148 140 148 145 148 148 156 149 151 154 153 162 154 156 157 153 149 170 157 160 159 165 166 165 168 170 179 179 179 183 174 177 177 179 185 177 191 182 180 185 185 183 180 183 187 187 182 174 183 185 185 191 188 187 187 183 187 177 185 183 191 187 193 191 193 191 188 194 194 197 210 200 208 207 200 197 196 207 205 204 200 200 199 191 188 183 193 190 191 187 197 202 204 208 200 207 210 208 213 208 216 222 207 208 216 202 211 208 204 204 210 208 211 213 211 208 204 211 211 205 200 208 202 204 205 205 208 199 208 208 207 202 205 213 207 210 207 199 205 202 196 196 208 204 207 202 205 199 205 197 202 204 200 200 204 210 200 213 205 208 210 207 208 211 210 207 211 205 207 204 200 200 197 197 196 191 187 180 183 190 183 185 183 176 176 170 173 166 173 160 160 160 156 156 149 148 140 142 140 136 142 140 140 132 132 134 129 126 134 129 123 126 122 131 128 119 123 120 117 117 117 112 108 119 105 105 103 103 100 100 102 100 97 94 88 86 91 83 78 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 83 88 85 88 92 95 92 97 100 103 106 105 108 111 112 119 115 114 122 122 120 126 125 136 131 131 137 139 140 145 151 146 151 145 146 154 149 159 157 156 165 160 156 157 162 153 156 154 165 163 159 163 173 173 170 174 179 183 182 182 187 182 185 183 185 182 191 179 177 188 194 188 193 176 179 190 183 179 190 183 187 190 190 188 190 182 190 187 187 188 197 196 197 199 197 207 199 196 204 207 197 200 204 202 202 197 208 204 208 200 199 199 197 196 194 185 191 194 199 199 207 205 207 219 207 207 216 210 224 208 214 210 222 213 207 207 214 213 210 214 204 211 213 202 211 210 210 199 210 199 204 202 197 211 210 211 202 211 204 205 217 205 208 211 204 207 204 207 202 204 205 204 204 199 210 213 207 210 210 210 210 202 204 200 204 204 207 207 208 213 210 205 210 205 205 208 205 200 208 200 199 197 194 193 194 187 185 185 185 177 194 179 173 176 176 173 176 165 165 163 159 159 157 151 153 153 149 140 153 145 142 142 143 136 136 129 136 131 134 134 128 134 129 125 123 126 120 119 117 115 114 111 111 111 114 109 105 100 103 98 98 97 89 94 91 88 88 83 81 78 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 85 78 86 88 92 95 91 97 100 98 100 109 108 109 109 111 114 112 112 122 117 122 123 136 132 136 131 134 137 142 146 149 153 148 149 153 148 153 153 160 156 162 162 154 163 163 163 165 159 165 162 165 171 168 168 174 183 174 180 183 187 187 185 190 193 191 182 185 190 193 193 185 191 185 185 187 191 188 182 185 190 197 193 191 188 185 190 187 183 188 191 202 193 188 204 197 204 199 200 200 199 200 205 205 207 202 207 204 205 202 207 193 193 197 182 185 193 194 202 202 207 213 207 210 204 214 211 214 208 208 219 214 202 210 216 208 199 207 208 197 208 208 208 207 210 207 208 205 207 205 202 210 207 202 205 204 205 210 205 207 211 211 205 213 202 202 202 213 207 202 208 204 205 213 200 204 202 204 202 216 205 208 202 210 204 204 216 200 200 213 207 219 205 214 210 217 207 211 210 200 197 196 196 197 190 190 194 191 194 188 185 177 180 176 176 179 179 166 160 173 168 162 160 156 156 146 151 146 146 146 154 137 149 142 140 137 137 137 134 134 125 131 126 131 123 131 126 120 119 120 123 120 119 114 112 108 111 105 105 100 105 102 95 97 92 94 88 89 85 88 83 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 81 81 83 83 91 95 95 94 94 103 105 102 108 109 111 112 120 108 125 115 120 119 122 123 123 131 136 137 136 140 139 146 146 143 148 156 157 156 156 165 156 159 153 163 163 157 165 160 163 160 163 168 163 168 170 182 177 171 182 183 177 185 190 188 185 187 180 196 187 191 190 193 191 190 188 194 190 188 190 185 190 191 194 191 183 188 187 190 194 188 196 185 188 197 196 197 199 204 194 199 202 208 202 199 210 208 205 208 202 200 207 199 202 194 191 193 196 188 204 196 202 210 205 210 213 207 213 214 221 205 210 211 213 204 211 211 208 211 213 208 204 205 214 205 216 210 210 207 199 205 205 205 205 204 204 205 205 211 214 213 210 205 208 210 214 204 208 207 208 204 213 205 202 213 214 207 211 211 208 199 211 205 205 211 207 205 202 208 214 213 204 210 213 210 214 210 216 210 208 197 193 200 194 197 193 193 199 185 196 190 187 185 182 180 182 179 179 174 173 176 176 165 168 159 163 163 154 153 146 153 151 146 146 143 146 149 140 140 140 139 139 140 137 129 134 128 131 128 131 120 122 126 120 120 111 120 120 106 111 109 111 112 108 98 100 94 95 102 89 91 88 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 81 89 91 88 91 94 98 103 103 106 102 105 109 109 109 115 119 122 114 120 123 129 129 129 125 137 139 140 146 143 149 148 149 160 154 160 149 154 163 163 160 163 162 162 166 170 160 163 162 166 166 170 166 177 174 171 177 182 182 190 188 187 196 187 188 188 183 197 188 200 194 187 197 194 188 191 190 188 183 190 194 196 191 194 199 185 196 191 194 193 188 202 197 194 199 197 196 194 196 202 196 202 208 207 205 200 204 197 207 197 199 199 194 190 185 193 197 199 202 205 207 224 204 208 210 214 217 214 211 210 208 208 205 210 205 213 208 204 210 210 202 211 211 208 214 213 216 207 210 199 207 197 202 211 213 199 207 211 207 210 207 216 213 200 210 207 208 210 208 205 205 214 211 202 210 204 210 204 207 202 207 207 213 210 207 211 214 205 213 217 211 211 208 213 216 207 207 202 205 202 197 194 199 200 193 199 191 190 196 183 176 180 182 188 176 180 177 171 173 173 165 166 162 166 157 159 159 159 151 153 153 143 149 140 140 143 142 137 143 136 134 134 140 128 132 131 125 131 120 122 122 120 122 122 112 111 117 111 109 106 108 103 100 102 100 98 91 92 91 86 86 85 81 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 83 85 81 88 92 91 92 97 105 103 100 106 108 109 111 115 119 123 119 119 123 120 128 131 131 136 134 136 142 143 146 153 145 151 151 156 151 153 157 163 165 163 170 165 166 162 159 160 165 165 166 171 168 174 174 179 185 176 180 182 187 193 190 194 190 193 196 185 194 182 185 188 185 199 194 200 193 194 188 194 194 191 194 196 197 197 190 200 190 190 193 200 200 199 196 202 202 205 197 200 196 207 205 210 213 207 207 211 207 207 204 197 199 187 183 190 200 196 205 190 199 207 210 211 208 211 210 216 211 214 216 208 210 210 205 207 210 207 207 207 204 214 210 213 217 205 207 213 211 208 207 210 204 208 217 204 214 207 210 213 214 207 208 210 213 211 210 208 205 205 213 214 211 211 214 219 213 208 207 213 219 205 213 216 214 210 217 213 213 222 221 213 211 219 208 213 213 208 211 204 208 199 202 205 202 204 194 191 188 190 188 190 187 185 185 173 176 177 177 179 170 168 160 166 162 160 160 156 154 153 159 151 151 148 156 140 142 142 146 142 140 132 139 137 131 134 137 126 129 128 131 122 128 125 122 117 112 119 111 112 106 114 103 102 105 98 94 97 94 92 91 89 85 81 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 81 88 88 86 91 89 91 98 97 105 105 100 108 114 111 112 117 114 123 117 126 123 128 126 131 129 136 132 134 146 149 143 146 159 151 149 153 154 160 154 163 165 165 165 165 162 168 170 168 165 160 171 170 173 179 180 177 173 180 188 180 190 190 196 199 190 193 193 193 190 191 204 190 204 193 200 194 191 190 190 193 193 193 197 196 193 187 196 193 194 202 194 190 200 193 204 199 202 202 202 199 202 204 210 204 204 207 205 207 207 204 197 194 197 190 196 196 200 210 199 207 207 199 207 210 208 208 214 211 214 217 214 222 217 210 217 204 210 207 208 210 221 211 210 202 211 211 217 214 216 205 205 205 204 207 202 207 208 214 210 216 208 202 213 208 210 213 207 208 205 207 210 210 207 213 207 217 211 207 216 211 216 219 216 214 210 217 216 214 217 208 219 214 225 216 216 221 210 204 207 208 210 208 200 194 200 196 194 202 194 193 185 183 188 187 190 183 176 179 173 168 173 170 166 166 160 156 157 159 151 156 160 159 148 154 156 151 145 143 145 145 142 142 142 129 129 134 132 132 132 129 132 126 119 122 122 119 117 123 120 112 108 106 109 105 100 105 103 100 97 92 91 91 86 85 81 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 78 85 85 85 83 89 94 88 97 98 103 106 106 108 108 114 112 114 119 120 122 120 128 123 123 136 126 136 136 139 139 140 143 143 153 156 162 159 159 156 160 163 162 160 162 166 163 160 168 166 171 160 168 162 174 174 179 176 187 179 185 188 188 188 187 194 190 197 188 191 190 190 193 191 194 199 204 194 197 194 193 193 197 193 196 199 194 197 197 191 196 199 188 196 193 196 207 199 200 197 196 205 197 207 202 208 204 213 207 205 205 199 205 199 194 193 183 196 199 200 210 208 193 204 213 211 224 204 207 222 217 217 219 221 210 214 208 213 210 214 199 213 208 213 214 217 216 213 216 211 211 208 210 214 210 207 200 213 207 211 221 217 211 208 211 210 210 205 214 204 202 199 199 214 210 217 207 211 213 216 211 213 219 211 219 211 224 217 213 214 222 208 211 217 200 214 213 216 217 208 205 210 207 207 213 210 204 205 204 202 197 197 188 194 191 191 193 183 190 180 176 179 180 177 165 166 168 170 159 166 157 156 160 157 159 151 159 146 151 146 149 149 139 143 137 136 137 131 137 137 131 128 129 128 125 137 128 123 122 122 117 115 115 112 114 109 105 102 108 102 89 94 91 92 88 88 83 81 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 83 80 83 83 86 89 86 94 92 94 98 106 102 108 106 112 109 119 117 112 123 122 128 123 122 131 132 134 136 134 134 145 146 146 149 149 151 151 154 160 157 163 159 163 166 163 163 171 173 170 163 162 157 174 173 168 168 182 188 174 183 188 183 180 179 182 187 194 188 185 188 190 202 191 193 196 199 196 197 194 202 197 194 205 200 202 191 196 202 196 190 194 190 200 194 200 199 197 197 202 207 202 202 211 197 197 208 208 205 199 199 202 207 204 194 183 194 193 196 202 204 211 210 219 214 211 216 216 211 211 210 208 221 210 217 217 211 211 216 210 216 213 208 222 216 217 213 216 208 211 208 216 211 213 205 211 210 211 204 210 207 210 205 208 205 213 216 207 213 214 210 208 219 216 208 213 214 214 210 214 221 207 213 213 217 211 216 228 213 211 214 217 219 224 213 214 216 211 210 208 205 210 205 208 207 208 205 205 197 193 199 197 191 190 190 185 190 185 185 187 182 185 177 174 170 171 170 168 162 163 160 159 157 159 153 156 154 153 153 153 151 151 146 145 136 142 143 134 142 129 136 136 132 137 136 129 132 123 129 125 120 126 120 114 114 108 108 103 108 102 102 98 98 94 91 91 86 86 80 80 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 81 85 86 88 89 92 92 92 100 97 100 102 103 103 102 109 115 112 117 114 128 128 123 126 126 131 131 128 136 142 140 149 142 146 151 157 154 160 160 166 159 166 162 165 166 174 165 165 165 170 168 170 171 170 179 171 176 180 190 183 188 182 187 187 191 196 197 194 193 191 199 188 193 194 190 194 196 207 202 194 193 196 202 200 197 199 193 197 197 191 194 191 196 202 199 199 196 202 199 208 205 207 199 197 208 202 213 205 210 204 205 208 202 190 190 191 191 196 199 199 197 211 205 202 207 205 205 214 213 213 208 219 204 211 216 222 217 214 216 211 214 214 211 208 211 205 216 213 213 205 214 208 217 204 208 210 219 205 216 200 210 208 210 210 210 211 217 211 213 211 213 213 217 210 214 216 221 213 214 211 211 213 214 221 217 217 216 219 214 216 222 216 214 210 214 210 204 204 208 207 213 202 210 211 208 207 211 202 205 197 191 194 191 197 190 194 188 191 193 182 183 177 177 171 173 171 165 173 163 168 165 166 162 160 162 162 148 153 151 148 143 148 142 151 146 143 142 145 142 140 142 136 134 132 134 131 126 131 131 126 123 122 120 120 117 114 111 105 106 103 98 97 100 88 86 89 81 89 78 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 80 83 83 83 86 85 88 94 97 92 94 97 97 102 108 106 109 114 114 120 115 119 126 125 131 126 126 131 134 143 139 145 145 143 146 149 153 156 163 156 162 160 154 174 166 160 163 170 168 168 166 168 171 163 170 170 166 171 179 180 176 185 183 187 185 199 190 191 188 191 187 188 191 193 193 200 196 194 191 188 199 199 197 196 202 197 200 197 205 205 196 202 197 194 197 196 196 200 196 202 202 204 207 204 207 205 205 202 205 202 204 207 213 200 200 196 199 200 197 202 199 191 207 210 204 211 210 207 204 208 208 200 219 216 213 217 211 221 221 216 213 210 216 207 216 221 217 211 217 216 222 221 204 214 210 208 211 207 214 210 200 207 211 214 205 213 216 217 210 214 208 217 211 202 222 214 205 210 213 208 208 216 214 211 221 216 219 214 219 216 208 224 214 214 217 208 211 208 204 214 204 214 204 214 210 205 199 210 200 208 199 199 191 194 193 191 191 194 183 183 177 177 177 177 174 176 176 177 176 177 165 171 165 163 163 165 156 163 156 151 148 156 149 142 153 142 146 142 140 149 148 145 137 136 136 134 137 131 136 126 131 128 123 122 123 115 115 117 108 106 108 105 98 94 94 97 92 89 85 85 91 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 80 81 85 85 92 94 91 94 92 95 97 106 109 106 109 112 112 112 119 115 120 120 119 125 128 131 128 132 134 137 142 145 148 143 156 160 159 157 163 154 160 160 162 159 160 168 165 171 170 170 166 170 171 166 166 170 174 170 180 182 177 179 187 187 190 196 194 205 196 194 199 196 197 197 190 190 200 204 194 202 202 196 200 197 197 197 202 197 199 200 193 199 190 193 207 196 196 210 202 196 207 214 207 202 210 219 213 207 202 216 211 211 202 194 197 199 205 191 194 199 199 205 194 204 210 211 204 200 213 211 205 214 208 208 213 214 214 211 213 213 216 205 213 214 213 217 213 221 211 214 216 207 219 211 217 210 210 217 205 207 213 210 207 207 211 216 214 205 216 217 219 210 213 211 213 219 210 219 214 216 211 211 213 217 210 208 210 214 216 216 211 216 216 216 208 211 210 207 200 216 211 211 207 217 217 208 216 197 205 200 197 194 193 187 196 193 183 176 176 176 174 176 174 174 170 170 174 176 182 174 170 170 168 166 162 162 157 160 151 151 146 148 145 149 151 145 145 137 143 143 145 140 143 137 137 139 140 137 132 132 136 128 120 119 119 117 117 114 105 106 103 102 97 103 97 92 92 89 88 86 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 85 81 86 88 86 88 91 95 100 98 98 102 108 108 111 108 111 111 115 112 120 119 128 126 126 131 128 139 136 145 140 148 148 143 146 154 149 151 160 159 162 160 162 165 170 168 166 171 166 168 173 176 166 171 170 171 177 185 176 185 180 191 185 187 191 191 193 197 199 193 194 191 188 185 199 194 194 191 197 199 200 197 197 197 200 196 199 204 207 199 205 196 200 191 194 196 202 204 211 202 207 205 211 216 204 205 211 210 210 202 200 200 200 197 204 197 194 197 200 191 202 196 216 199 208 207 213 219 208 219 217 216 217 211 213 210 213 211 221 214 216 227 211 213 221 216 217 211 211 210 219 216 217 213 214 214 216 205 205 211 210 204 213 213 208 210 214 216 211 219 213 211 221 224 224 213 216 214 205 222 214 216 217 208 208 221 208 211 210 216 214 214 208 211 204 213 208 210 208 213 213 213 216 204 214 202 207 210 213 187 199 191 196 187 194 190 187 179 179 180 173 170 183 171 170 171 174 163 174 171 179 166 162 166 162 162 163 157 156 165 149 148 149 149 143 146 140 145 146 143 143 143 146 139 140 139 143 140 134 139 134 131 128 123 122 122 119 115 112 106 105 102 97 97 92 94 92 86 86 88 81 81 81 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 81 81 81 83 85 89 88 94 98 92 100 97 100 100 109 109 115 115 111 112 112 115 119 120 126 126 129 125 134 139 134 146 145 146 145 149 163 153 153 159 157 163 159 168 166 163 165 171 162 173 171 171 162 173 163 171 168 179 185 182 185 183 177 179 187 194 191 193 190 197 197 194 193 194 193 183 199 194 193 196 196 190 202 200 208 204 202 204 196 204 200 204 208 193 204 193 202 199 208 204 213 205 216 207 211 197 210 210 205 202 200 204 200 196 200 190 197 197 193 202 204 204 202 205 205 204 214 216 216 219 217 216 205 216 221 224 221 221 216 214 211 221 225 221 231 230 225 214 217 214 213 221 217 225 208 214 219 213 211 213 219 210 207 217 211 217 213 222 217 210 217 219 216 219 214 221 214 222 211 222 213 219 221 211 217 214 205 205 210 213 214 221 211 211 213 211 210 208 216 213 221 204 219 211 213 219 211 213 205 208 207 202 191 196 193 199 193 191 190 180 176 179 176 174 176 173 177 170 170 174 168 168 165 160 166 163 159 159 159 160 157 153 153 154 156 149 145 151 142 148 142 137 139 151 142 137 136 139 137 134 136 132 136 131 126 126 122 119 115 112 115 114 108 100 100 94 95 91 94 89 88 85 81 81 81 81 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 0 80 81 83 91 89 88 94 94 95 95 98 100 106 102 112 106 112 109 114 115 117 117 125 123 122 132 125 129 136 137 143 137 142 143 154 151 153 156 153 154 160 162 162 165 168 165 173 173 170 171 168 171 176 170 166 170 177 182 179 176 183 183 190 182 190 190 194 191 196 193 193 204 200 187 197 193 191 196 202 196 196 202 200 200 200 204 205 207 211 204 204 199 199 197 205 202 196 197 205 199 200 207 208 211 210 214 202 202 208 207 202 196 202 202 196 196 199 197 193 199 202 200 207 207 211 216 216 214 222 207 228 213 222 213 214 221 213 217 228 222 219 216 211 222 208 225 219 228 216 224 214 221 216 217 213 217 211 214 219 211 211 211 208 219 221 210 213 213 227 213 219 216 221 216 222 217 217 210 213 219 224 214 211 208 213 219 214 205 213 214 210 205 205 205 214 217 221 213 219 210 216 221 216 205 214 211 208 213 205 210 202 197 202 196 200 202 194 190 185 185 185 177 183 174 179 173 182 170 165 162 163 168 166 170 160 159 168 162 154 153 153 149 153 149 151 153 151 151 143 151 151 148 140 143 140 136 140 136 136 137 132 129 131 134 128 123 122 128 114 117 111 112 106 103 106 106 98 97 91 86 91 81 86 83 80 81 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 83 80 81 88 86 91 89 92 97 91 100 103 103 108 106 109 112 112 117 115 115 122 126 125 128 126 122 129 131 139 139 139 143 149 154 151 151 154 160 154 160 166 162 160 166 163 163 171 173 165 166 166 176 170 173 173 171 176 182 179 187 190 187 190 187 193 191 191 194 196 188 205 196 199 199 197 197 193 199 188 194 199 204 202 204 207 204 196 194 200 194 204 207 194 208 200 207 205 197 210 207 202 210 211 208 208 205 205 200 196 196 207 196 202 200 202 196 208 200 208 214 208 210 219 207 210 214 211 221 208 213 219 219 208 221 211 225 211 217 214 214 216 213 221 216 225 222 210 224 224 228 211 222 214 214 217 221 213 216 213 214 211 211 214 213 208 217 224 221 217 214 216 222 210 219 207 211 211 216 213 211 210 211 211 219 213 216 207 214 213 217 205 205 213 208 213 207 219 219 214 213 214 219 211 217 210 213 205 210 211 204 197 200 204 194 193 194 183 183 182 185 183 171 174 174 171 180 173 171 176 165 160 165 163 162 163 162 162 160 156 156 153 151 148 145 142 151 140 146 145 140 143 145 136 145 140 142 142 136 139 132 131 129 126 126 126 123 125 120 117 112 114 114 106 103 102 102 100 95 100 94 85 85 81 85 80 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 80 83 81 86 89 95 92 94 97 105 106 100 109 106 111 114 111 115 122 117 122 122 125 120 132 122 132 126 131 139 143 140 149 143 148 148 149 153 157 156 160 166 163 165 170 171 170 174 176 171 174 171 171 176 176 174 179 177 191 183 180 183 187 185 196 187 194 196 202 196 199 187 191 196 197 197 193 204 200 200 199 197 196 194 207 205 208 204 202 199 200 211 199 202 200 208 204 205 205 202 213 210 211 208 207 202 199 205 200 194 200 200 207 202 204 200 194 200 207 205 211 211 213 213 216 210 221 213 213 221 207 217 216 217 214 214 208 213 221 210 221 214 219 227 221 230 224 222 231 219 224 217 208 227 214 211 217 214 207 219 210 216 211 214 213 221 213 216 221 224 217 225 219 219 219 222 214 219 219 213 213 214 211 210 196 199 213 211 214 197 213 216 202 211 213 216 222 222 216 211 224 219 217 219 219 207 210 211 216 204 194 197 202 202 199 190 193 196 185 183 183 177 188 180 182 177 179 170 168 162 176 165 168 168 163 159 156 162 157 157 149 154 153 149 146 148 143 146 140 140 145 139 142 149 148 137 139 140 136 140 134 129 129 131 122 119 122 117 115 120 115 117 111 114 111 100 103 98 100 92 88 85 86 88 83 78 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 83 83 83 91 88 89 88 92 98 103 103 102 108 106 108 115 117 119 117 119 122 122 123 128 129 126 129 131 134 132 143 137 148 140 149 149 156 153 163 156 156 165 163 165 166 168 163 171 174 170 170 176 165 174 177 171 176 174 182 182 173 179 188 185 191 187 191 190 193 197 196 204 200 196 202 197 193 194 196 202 197 205 199 199 207 205 208 214 205 205 204 200 204 204 194 208 200 204 205 211 205 208 210 211 210 214 207 204 200 196 197 193 202 204 199 197 193 202 210 207 217 205 217 208 216 217 207 213 208 221 214 222 213 204 214 221 221 214 217 219 216 216 230 219 219 224 228 222 216 221 224 224 221 217 225 214 213 219 210 204 217 211 222 213 224 219 217 222 224 221 225 231 224 224 221 216 224 214 224 221 213 213 216 217 200 211 207 208 210 200 211 213 205 213 213 216 214 225 210 217 221 221 224 225 227 214 213 207 210 205 199 207 207 211 194 197 190 190 190 190 185 190 188 174 183 179 174 176 177 179 171 176 173 170 160 159 165 160 165 163 151 154 151 151 151 151 143 140 140 146 145 142 145 145 145 148 142 143 140 142 136 129 140 131 123 126 125 119 119 120 122 114 112 111 114 109 102 106 103 98 97 94 94 89 86 86 83 81 81 78 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 80 86 86 88 89 89 95 94 95 102 105 109 109 111 108 115 112 115 122 117 122 125 129 123 128 126 129 126 129 132 137 145 143 142 149 145 154 153 151 163 157 170 165 171 170 160 170 174 177 168 174 171 171 170 179 180 173 180 174 177 187 177 183 177 194 187 194 190 205 196 193 204 188 199 200 196 199 194 205 196 207 193 204 204 199 205 210 213 204 210 202 207 196 197 200 202 207 200 208 208 208 213 216 211 210 207 202 199 205 204 197 200 205 196 202 200 200 219 207 211 205 211 204 216 208 202 210 219 210 211 208 217 205 213 210 213 216 207 222 211 216 221 217 228 224 222 225 224 227 222 221 221 230 222 224 216 219 214 216 219 225 208 214 217 213 217 208 228 216 222 217 221 222 231 213 217 224 214 217 217 219 221 217 217 208 200 205 199 208 208 221 207 216 222 211 214 219 222 222 217 216 219 217 214 211 219 208 217 204 210 207 202 202 199 199 196 196 196 200 183 191 188 188 182 182 179 174 177 173 171 177 171 170 165 162 165 166 156 156 153 154 153 145 148 146 145 143 145 146 149 143 146 142 143 142 137 143 140 139 143 139 131 136 139 136 136 117 125 120 119 115 114 109 111 111 108 106 102 103 95 97 95 94 89 85 89 78 86 83 78 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 89 85 83 92 92 91 95 102 100 106 103 105 108 111 114 112 114 117 125 129 119 125 125 126 136 129 131 132 129 136 142 151 139 146 146 153 154 151 156 163 166 159 163 163 162 168 174 168 176 179 176 173 177 173 179 173 177 183 176 185 180 187 180 185 188 191 190 200 185 197 193 199 202 194 199 204 202 205 208 205 207 200 210 200 213 205 210 205 199 200 200 202 196 200 200 210 202 210 202 210 211 208 214 214 208 202 208 210 208 205 205 200 204 205 196 208 210 211 210 217 208 217 208 211 214 214 211 216 221 211 216 213 208 208 207 211 216 221 221 214 217 222 216 224 230 224 227 225 225 222 222 222 224 214 219 222 217 216 208 217 216 217 214 231 216 221 233 219 217 228 221 233 217 221 225 213 222 216 221 222 221 216 214 210 208 207 210 205 214 211 213 216 217 219 222 224 219 217 221 222 227 219 225 211 227 204 207 207 199 207 204 204 199 204 196 200 202 194 190 193 196 187 191 190 190 188 180 180 174 176 177 183 171 170 168 165 165 157 156 157 156 148 148 143 145 151 145 145 149 149 151 153 148 145 142 145 149 140 145 145 139 143 137 143 136 129 131 128 123 122 120 123 117 111 111 103 108 102 100 91 92 102 92 91 94 86 85 83 85 86 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 81 85 92 92 100 94 95 94 98 106 111 108 108 109 126 115 119 120 122 122 125 126 128 128 136 132 131 128 137 131 137 139 145 142 153 151 151 149 159 163 159 163 166 170 166 166 176 173 174 174 177 170 171 174 171 179 177 182 174 182 182 180 185 185 191 188 193 190 199 191 200 200 202 199 200 205 199 197 200 197 202 205 204 207 213 211 205 205 214 208 205 200 200 200 213 204 207 210 197 210 213 208 210 213 210 210 205 197 210 207 204 193 204 197 200 210 208 213 216 208 208 217 216 207 214 211 216 214 216 214 217 208 219 211 197 213 214 222 219 214 222 219 221 221 227 222 221 227 221 228 222 222 221 214 224 216 211 224 214 219 208 211 221 214 219 216 217 224 222 225 228 222 217 217 221 217 219 221 213 213 222 216 214 210 208 204 210 207 210 214 213 217 221 208 222 227 208 217 219 217 219 224 217 222 214 204 210 205 211 208 205 208 204 214 210 200 197 199 190 197 188 190 196 187 185 179 183 174 182 179 180 176 173 171 168 168 163 159 159 156 157 151 156 148 146 151 146 153 143 148 149 153 146 146 149 148 145 140 143 142 145 132 136 137 131 134 136 126 132 119 120 119 112 111 112 103 111 103 98 98 94 94 88 91 91 88 88 89 85 81 78 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 86 89 88 91 92 94 97 100 103 106 106 114 111 108 111 112 122 122 123 129 129 128 126 131 131 131 131 132 137 139 137 142 140 142 149 156 153 154 165 157 165 173 166 163 174 170 170 173 170 179 168 177 171 180 180 176 174 176 174 174 176 183 183 190 183 188 190 194 187 194 202 197 202 199 205 207 205 205 197 204 207 205 204 219 207 207 211 208 211 197 205 200 207 200 207 208 210 205 217 210 210 210 210 213 210 214 200 205 205 208 204 204 204 204 199 216 213 211 214 205 210 214 219 211 214 204 214 213 217 225 214 213 216 208 211 208 217 221 221 227 222 228 219 227 219 228 221 224 222 224 228 221 222 228 221 222 221 217 211 214 219 211 216 219 219 221 224 227 225 221 228 225 219 221 225 225 225 214 217 219 213 222 210 208 200 204 210 214 214 222 214 217 214 225 222 219 221 230 224 222 230 219 222 214 204 210 211 210 200 197 210 210 207 210 204 208 204 197 194 196 197 188 191 191 190 183 185 182 180 177 177 177 174 168 163 173 171 165 162 156 154 145 149 148 146 145 151 146 151 142 145 145 148 146 153 143 145 143 145 153 142 145 140 142 136 132 136 126 126 128 119 119 122 119 109 112 106 102 106 100 97 100 94 97 91 88 89 86 86 81 86 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 89 89 98 97 94 95 98 100 103 109 109 115 112 115 117 122 126 120 125 132 126 126 137 137 132 139 137 134 136 142 132 143 140 148 154 159 157 159 160 165 165 168 168 173 162 170 177 171 179 177 182 174 174 177 173 179 179 174 176 185 190 183 185 191 193 193 191 202 205 202 200 205 204 204 199 208 200 200 199 194 199 204 200 208 202 213 214 205 216 207 207 197 207 214 211 208 207 210 216 214 213 214 213 213 199 213 207 205 197 194 202 205 210 211 219 200 207 202 207 213 211 208 207 216 211 214 219 214 217 214 213 213 217 217 214 211 216 221 221 222 221 227 216 230 227 230 224 228 222 225 214 222 228 217 225 221 213 219 216 219 210 221 225 224 221 222 214 224 222 224 231 236 216 222 225 221 224 211 207 208 214 210 213 208 207 210 213 217 211 213 213 214 228 225 227 213 221 214 216 221 213 213 207 205 207 202 197 210 214 204 202 204 200 204 200 191 194 205 197 197 191 187 193 196 179 190 190 182 176 177 173 170 177 168 157 166 168 160 157 157 156 154 151 156 154 151 151 153 149 153 148 142 143 142 143 140 157 145 145 153 148 146 142 139 139 134 134 128 126 128 120 115 114 109 108 106 103 100 102 102 97 97 92 91 92 88 91 89 83 86 83 78 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 80 85 89 92 92 95 95 98 103 108 106 108 108 112 117 117 117 119 123 120 122 134 131 131 128 131 129 136 137 140 131 143 136 139 145 146 146 148 154 162 156 162 160 166 174 173 170 179 168 166 173 183 171 171 185 177 182 179 176 171 173 177 176 185 188 185 185 197 183 191 199 196 204 205 202 205 200 200 202 205 200 204 199 211 205 214 208 205 207 208 202 205 194 208 210 210 207 214 221 210 213 219 210 213 225 214 205 211 202 199 197 197 196 200 204 199 202 208 204 207 213 208 210 208 211 217 219 210 214 210 214 205 208 213 207 210 213 213 217 228 225 228 216 219 228 228 224 221 222 227 217 225 224 234 222 217 221 217 217 227 213 219 222 222 217 225 221 227 227 221 231 217 228 216 234 222 221 217 219 214 217 217 213 208 207 219 210 219 221 216 216 224 216 213 219 210 213 219 221 217 221 216 219 216 216 213 204 199 210 204 204 205 208 205 205 196 196 200 208 199 194 191 187 196 196 191 194 191 185 185 182 179 177 180 179 171 165 168 166 166 166 160 157 156 151 156 156 148 151 149 154 153 151 146 145 149 149 146 145 149 149 156 148 148 140 143 143 137 136 136 126 129 125 123 115 115 114 117 108 103 105 97 102 102 94 94 95 97 92 94 92 86 85 85 85 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 78 0 83 83 86 91 83 88 94 97 102 100 98 106 106 105 112 112 117 120 117 117 128 128 128 126 131 129 129 134 132 136 139 131 145 137 139 140 145 149 149 149 153 157 157 160 160 166 165 157 168 176 180 179 174 182 182 182 173 180 171 168 177 171 179 173 187 180 187 188 188 191 191 191 200 200 196 202 205 199 207 202 205 207 202 204 202 213 210 205 208 202 208 207 207 207 208 205 214 211 210 211 213 216 219 221 210 214 213 208 216 200 197 199 191 191 213 205 200 199 216 205 207 205 204 211 213 216 210 221 199 208 207 211 210 211 216 219 207 217 217 222 222 224 233 221 231 230 219 227 225 221 224 219 227 219 221 222 224 217 214 216 217 216 208 219 227 208 224 213 222 225 219 228 231 227 234 224 222 225 222 214 213 213 207 214 213 216 217 217 210 217 213 214 214 221 221 207 221 221 213 222 216 216 210 217 216 219 213 202 211 204 205 221 211 207 205 205 197 200 204 208 197 196 197 202 199 199 193 191 193 182 185 187 187 180 185 176 174 166 170 163 162 157 157 157 156 156 156 153 154 154 153 151 157 149 151 154 148 145 148 156 148 146 151 154 149 149 140 143 140 140 134 128 129 123 122 120 111 115 114 105 109 103 105 98 94 97 94 94 97 94 86 88 88 85 83 81 85 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 81 78 81 88 86 88 95 98 91 102 106 103 100 106 106 111 112 114 119 119 120 123 119 129 128 134 129 134 128 137 136 136 140 129 134 134 146 139 142 149 151 153 149 156 163 154 166 165 166 173 170 174 174 171 174 177 173 174 180 177 171 174 171 176 171 179 188 179 187 185 191 193 190 196 204 207 205 202 208 202 204 204 205 200 211 216 210 207 205 213 205 207 202 205 207 210 208 210 219 213 214 217 213 217 214 217 214 219 202 204 213 200 200 197 210 199 208 205 207 207 200 208 211 205 210 211 204 208 205 213 216 213 219 219 224 210 216 217 213 216 219 225 227 234 222 228 224 224 221 228 221 227 216 224 228 228 219 219 221 214 207 225 221 210 216 219 228 225 221 219 222 219 217 227 227 225 219 225 217 216 214 211 216 221 219 211 213 208 222 221 208 217 217 214 219 224 217 222 210 207 222 216 219 221 225 221 210 213 202 205 208 200 202 204 211 196 202 204 202 196 205 202 207 200 200 197 202 200 190 197 188 193 194 188 182 180 182 171 168 173 174 165 168 162 159 162 154 160 159 162 153 157 154 160 154 154 156 148 157 149 154 149 146 151 143 146 145 149 142 143 149 137 132 139 131 125 120 120 119 111 111 109 106 105 102 106 100 98 97 97 95 94 92 86 86 85 89 88 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 78 83 88 85 85 88 92 95 97 94 102 103 103 109 105 109 112 111 112 122 122 123 132 128 131 132 137 137 134 134 143 132 137 143 143 140 143 142 140 154 149 154 151 159 154 166 166 170 165 166 171 180 176 185 176 179 190 174 185 191 177 170 177 177 171 177 174 176 191 191 188 191 194 194 204 196 210 207 200 204 205 199 207 208 211 208 211 210 216 216 199 207 205 208 210 207 205 205 211 224 211 222 217 217 210 225 211 208 210 202 199 204 200 208 204 205 200 205 208 207 200 208 208 208 210 219 210 207 204 211 214 211 210 221 214 219 216 213 213 214 221 222 221 219 230 225 233 228 222 224 228 228 222 228 224 225 225 225 221 219 216 213 211 224 210 222 216 221 227 224 231 227 217 227 231 224 216 219 221 207 217 213 208 211 217 219 213 208 214 211 216 214 224 222 221 217 217 224 219 227 213 217 219 213 225 210 213 213 208 200 204 210 205 207 200 207 202 207 205 210 196 200 200 197 197 197 191 191 196 196 191 183 188 187 182 176 177 177 179 176 174 174 162 165 165 159 159 157 160 153 160 162 151 159 157 157 157 157 156 151 149 149 149 149 146 148 148 143 145 145 143 140 139 132 134 131 119 114 120 112 114 111 111 108 108 108 108 102 98 98 97 98 97 97 94 85 88 83 83 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 78 80 85 85 88 95 92 89 97 95 100 105 105 105 112 115 111 117 115 115 126 120 125 131 131 132 131 136 136 139 142 145 137 143 136 137 137 139 146 140 156 153 159 159 156 165 168 170 166 166 173 176 173 173 185 183 182 176 177 173 174 170 176 171 177 173 188 188 190 194 185 187 196 196 204 205 199 208 200 210 205 205 219 202 216 216 207 202 208 205 211 208 202 208 213 205 211 216 221 211 217 213 219 219 221 216 214 211 210 210 199 204 207 208 199 207 208 211 210 205 210 210 205 207 213 207 207 210 210 208 217 207 217 221 225 211 221 222 228 225 217 221 219 231 224 231 227 230 234 228 233 231 225 222 222 225 217 217 217 221 221 222 219 216 216 219 216 219 217 219 222 214 224 217 231 214 224 214 216 214 211 208 208 217 211 211 214 216 225 221 225 221 228 222 224 222 221 217 221 219 216 219 214 228 221 227 217 204 202 205 207 204 211 210 207 210 208 207 213 208 207 199 207 205 199 197 196 197 194 191 196 193 183 188 185 185 183 174 174 168 171 168 171 163 157 166 163 162 166 160 159 159 159 156 160 151 157 156 151 156 157 151 149 151 154 148 151 145 149 146 142 142 146 137 125 123 126 122 122 117 114 115 115 112 108 103 103 100 98 97 98 95 94 94 88 86 89 83 88 83 0 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 78 78 85 85 78 89 89 89 92 89 98 97 100 109 106 108 111 108 111 112 115 123 122 122 128 125 136 136 131 136 146 143 143 139 142 146 134 139 142 149 145 143 154 146 153 159 159 162 163 171 168 163 166 171 173 174 171 173 180 171 179 183 176 180 177 183 183 190 183 187 187 191 190 194 196 197 200 213 202 202 205 208 205 197 213 211 210 205 216 207 211 211 216 208 207 207 210 211 211 207 213 216 222 214 213 211 214 210 204 207 211 199 199 196 207 204 204 208 204 204 208 202 200 202 221 208 211 210 219 213 211 219 210 216 214 217 217 214 222 216 224 225 233 225 225 227 228 230 225 230 225 231 233 222 222 221 225 230 222 221 227 214 221 211 224 217 216 214 213 224 214 222 221 222 217 221 216 227 219 214 213 205 221 210 213 208 216 211 225 222 219 222 217 227 225 219 230 228 221 230 221 214 221 222 217 217 210 214 222 207 210 211 205 208 208 213 211 210 208 199 202 200 207 208 204 210 199 194 200 194 196 194 193 188 190 187 183 177 187 180 171 176 179 168 165 160 162 166 162 165 162 162 165 166 159 165 163 159 156 154 156 154 146 154 154 153 149 146 145 142 149 143 142 140 140 139 131 126 128 122 122 122 115 117 119 111 112 111 112 106 108 103 102 98 98 94 102 88 89 91 85 85 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 85 89 94 95 95 98 100 103 105 106 103 109 109 117 112 117 123 123 126 126 129 131 129 132 137 142 139 143 142 145 149 140 142 132 140 146 148 153 148 151 159 157 170 170 162 165 168 179 173 176 170 176 177 180 176 179 173 179 174 182 182 174 177 183 185 197 204 191 193 200 196 200 194 204 207 205 204 204 210 205 214 213 208 207 216 211 216 204 208 213 199 210 210 210 216 219 211 221 216 214 210 205 216 213 208 204 204 205 211 197 207 202 205 200 205 210 208 202 208 211 204 211 208 208 214 213 202 219 214 213 219 216 224 227 228 222 221 227 233 224 227 238 224 227 233 228 228 230 227 230 224 222 222 225 217 225 214 214 216 224 217 214 225 222 224 221 221 225 221 211 219 221 213 217 208 221 219 221 217 228 224 219 217 228 214 219 216 225 228 233 228 233 224 228 219 213 224 217 217 225 221 213 217 214 204 202 210 211 224 200 214 204 216 199 205 210 202 211 202 199 200 202 199 196 204 200 194 188 187 188 190 191 187 185 174 171 174 168 170 176 162 157 163 163 170 168 162 162 162 159 159 170 156 166 156 159 157 159 156 157 153 153 157 148 145 146 142 142 145 143 139 139 134 125 126 125 123 125 120 119 117 119 114 109 115 109 105 105 102 103 94 94 94 91 86 85 86 83 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 80 0 80 81 88 86 85 91 92 97 95 95 95 102 105 108 108 109 119 114 119 115 128 123 125 126 139 132 128 137 132 145 140 139 140 146 139 142 136 142 146 145 154 154 157 166 162 151 166 168 166 174 174 166 173 180 179 180 179 174 170 183 182 177 173 183 179 188 183 190 191 194 191 194 194 202 197 200 205 210 210 205 211 217 208 213 214 210 216 207 216 208 211 213 211 211 207 221 216 221 211 213 222 213 210 211 205 216 207 204 194 202 202 196 207 199 207 207 204 205 208 213 211 204 214 210 219 208 216 216 205 205 224 222 222 219 221 224 219 224 227 225 225 224 227 227 230 233 230 247 234 224 233 222 222 225 225 225 224 217 219 213 228 222 217 217 219 228 219 222 214 221 217 216 211 214 214 216 213 221 210 213 224 219 214 224 222 228 211 221 221 227 225 236 241 224 233 225 225 227 219 222 211 219 214 217 219 219 210 204 219 219 205 211 210 210 211 208 204 208 204 205 204 207 202 199 202 200 204 199 196 191 191 190 194 190 187 187 177 177 179 173 171 170 173 176 170 166 163 173 163 162 165 165 165 165 156 160 165 153 162 157 151 151 153 149 146 148 142 149 140 146 136 145 132 137 137 134 134 125 123 123 122 122 119 123 120 119 115 112 115 111 109 103 98 103 95 95 92 94 89 86 86 80 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 78 80 81 85 85 89 94 92 97 91 92 103 102 105 106 108 109 111 114 114 119 123 126 123 125 129 129 129 126 136 137 134 139 143 146 143 142 143 136 143 146 145 151 153 157 163 157 163 154 165 163 173 174 174 174 166 177 179 174 174 179 177 174 179 182 183 179 183 191 183 185 191 196 188 199 194 199 199 202 199 208 207 202 214 208 214 207 208 211 211 214 202 205 204 199 202 205 210 214 222 219 210 219 208 219 216 210 216 214 196 204 204 207 199 197 204 196 202 207 211 216 210 217 214 213 204 210 219 211 208 211 219 217 216 216 225 222 225 225 231 219 227 233 231 234 230 238 234 228 234 244 236 239 230 225 230 222 222 221 228 216 214 211 217 217 216 219 219 216 216 221 214 221 211 205 219 211 219 213 217 217 221 225 224 222 219 224 221 225 225 224 231 221 238 230 228 217 228 236 231 222 221 214 222 211 210 210 210 207 211 216 207 207 211 216 216 213 213 204 202 207 210 211 202 211 202 200 204 185 196 194 194 190 193 185 187 183 193 183 180 176 180 171 176 171 171 174 173 174 170 168 157 166 165 171 157 157 165 166 160 160 162 160 156 148 159 153 151 143 153 142 145 139 137 145 137 140 140 134 126 128 128 132 126 128 117 119 115 117 111 119 112 109 109 108 102 100 97 95 94 89 89 83 78 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 78 78 80 81 86 81 91 91 92 94 94 89 100 102 100 108 105 112 112 114 119 117 122 117 125 126 128 128 129 136 131 134 142 139 145 143 146 146 146 149 151 146 153 151 157 159 159 159 159 166 168 163 166 177 170 170 174 176 171 177 165 179 176 177 171 171 180 176 182 185 185 183 188 185 200 188 197 194 202 211 207 207 214 211 204 210 210 200 208 213 205 211 216 204 211 207 202 204 205 211 217 216 208 210 210 207 210 213 199 205 202 197 199 199 207 210 210 208 216 216 222 210 217 219 211 213 219 213 210 216 208 216 214 228 221 224 219 231 225 221 224 239 222 231 233 233 234 228 225 231 233 230 234 230 225 221 224 224 228 219 225 221 217 213 225 210 213 211 208 219 221 221 211 214 211 205 208 207 211 217 217 222 216 224 219 227 228 231 224 222 224 224 230 227 236 228 228 228 230 230 225 227 224 219 217 219 219 213 213 207 208 214 213 216 207 208 211 210 217 199 216 207 204 202 200 204 197 205 194 194 199 196 197 187 196 187 191 190 182 182 174 182 176 177 182 176 179 174 174 170 170 171 171 171 170 168 165 170 166 162 165 156 159 154 154 149 157 153 157 153 149 151 142 136 139 139 136 137 131 140 131 125 128 134 123 125 119 120 119 120 119 111 109 108 106 106 100 102 98 95 98 91 94 89 88 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 83 80 81 88 88 91 89 97 91 98 97 102 102 106 111 111 115 114 114 114 120 125 119 128 134 131 131 129 140 134 134 143 143 142 146 146 145 142 149 148 156 149 157 157 153 163 154 163 163 166 170 166 166 173 174 180 171 179 174 176 176 182 168 174 182 187 180 180 191 193 190 188 190 193 200 199 200 199 210 205 208 202 213 214 202 205 205 210 210 207 204 205 211 207 205 207 210 214 207 213 207 208 204 213 208 199 200 199 196 202 197 196 204 208 211 211 211 214 210 211 221 207 214 221 216 216 217 216 214 217 214 222 222 221 219 221 225 225 228 225 236 236 233 227 238 236 236 231 231 242 234 236 225 222 222 228 225 230 233 222 221 207 213 217 217 214 219 219 214 205 207 207 222 208 214 214 210 214 216 224 227 225 221 213 227 230 228 234 222 228 227 230 231 236 225 227 228 225 219 222 233 227 224 213 207 207 199 205 205 216 208 213 217 210 217 217 211 204 208 200 202 207 204 196 205 199 197 194 196 194 190 193 188 194 183 177 183 177 183 177 177 179 177 180 177 171 177 177 170 170 174 168 177 163 171 165 159 165 159 163 159 159 159 156 157 151 149 149 146 148 146 143 143 142 146 140 129 139 131 134 131 134 128 131 125 119 125 120 120 111 112 112 115 112 105 103 103 95 95 92 92 89 88 88 80 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 78 0 78 81 88 85 86 89 91 92 95 95 97 105 102 100 102 111 106 114 114 114 120 120 126 122 131 125 131 134 137 137 143 136 140 148 146 136 151 146 142 146 151 145 153 153 151 151 156 159 162 170 168 162 173 168 174 170 168 177 171 176 177 179 173 174 177 180 176 177 183 188 185 188 182 196 199 191 199 197 197 199 205 200 210 214 202 211 207 204 200 207 208 207 204 202 204 199 210 208 211 205 205 211 204 208 204 197 208 211 193 202 200 200 202 204 208 211 214 210 214 216 211 208 213 216 213 208 222 214 214 216 216 213 225 224 230 225 230 224 228 227 230 231 247 228 238 238 236 228 234 228 236 234 236 231 227 233 231 230 222 222 214 213 217 211 213 213 208 208 213 208 213 207 202 210 210 219 214 219 213 222 222 222 219 230 219 227 224 228 233 217 233 238 228 222 231 231 219 228 228 231 225 222 224 213 213 219 217 202 204 210 217 210 207 208 213 214 205 213 214 208 200 205 196 197 208 202 199 200 199 193 200 193 190 200 196 187 185 188 180 180 173 176 177 168 185 174 177 179 173 177 179 173 171 168 168 173 173 165 171 162 162 159 157 154 156 153 149 149 142 145 142 145 145 140 134 142 139 139 137 131 139 132 134 132 132 131 128 123 117 119 117 120 112 114 109 95 106 102 97 103 98 91 94 92 86 81 78 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 80 0 83 81 86 92 88 92 91 94 97 98 102 108 105 106 108 112 117 112 119 119 120 122 125 122 129 132 131 137 134 137 142 142 145 140 148 142 159 151 153 149 149 151 154 156 157 159 153 159 162 166 165 166 168 170 170 174 174 173 171 177 176 174 180 171 177 180 180 182 180 187 187 191 187 190 205 194 196 208 196 205 208 207 204 205 204 202 211 210 204 204 204 207 197 202 200 205 204 216 208 213 208 200 199 208 202 200 199 204 204 208 202 205 210 208 217 214 210 214 216 207 217 216 214 211 213 216 221 216 214 208 225 219 224 234 217 231 222 238 233 233 234 231 236 238 230 241 234 245 238 230 233 230 222 231 233 225 231 224 227 231 216 213 216 214 221 211 205 211 216 205 208 205 214 208 228 210 221 211 224 225 217 214 214 217 222 227 231 227 234 230 231 233 233 231 230 234 225 233 221 219 219 219 217 222 216 211 205 207 204 204 207 217 211 210 213 217 204 211 200 210 204 196 205 205 194 200 196 197 202 194 193 194 191 185 187 187 183 177 174 170 176 174 171 168 177 171 182 177 170 176 179 173 179 171 165 165 177 171 163 159 159 163 157 160 149 154 149 149 142 142 145 142 140 151 142 143 134 137 136 136 137 131 132 131 123 122 122 128 119 119 122 115 111 114 111 106 106 103 102 92 92 91 89 85 88 85 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 78 78 0 83 81 88 81 86 89 92 94 97 97 102 98 103 106 111 106 114 108 119 115 115 126 122 126 136 125 131 128 136 137 142 142 142 149 143 151 149 149 157 148 156 157 153 154 156 151 153 157 157 162 163 166 170 170 179 165 176 173 173 177 177 173 176 173 171 179 173 182 182 183 183 182 182 194 196 199 197 193 204 199 197 202 214 208 214 207 205 202 199 205 207 197 202 200 196 197 200 199 208 196 199 194 200 202 199 204 202 205 202 200 213 205 202 200 210 214 216 210 214 213 214 214 217 216 217 213 221 216 211 224 222 225 217 227 227 230 231 231 227 236 234 233 242 242 234 242 234 236 234 234 227 234 234 234 224 236 230 227 225 228 221 221 216 213 205 200 199 193 210 200 196 211 204 208 211 213 213 219 221 213 217 221 234 224 230 224 230 238 227 238 227 236 222 238 225 225 219 231 233 227 225 228 217 225 210 211 204 204 216 210 205 211 208 207 204 216 208 219 213 210 205 204 208 202 200 196 199 197 199 197 200 191 194 185 194 187 187 183 179 177 173 177 170 179 179 177 173 166 177 176 171 170 173 173 173 174 177 166 166 165 159 168 153 159 159 153 154 151 148 145 145 139 142 142 140 136 142 142 136 136 136 140 134 129 129 136 128 125 122 122 115 117 115 114 115 108 109 106 106 103 100 94 92 92 92 85 83 81 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 78 0 80 85 83 88 88 91 89 94 91 97 102 100 106 100 111 109 119 122 114 120 119 123 123 120 123 125 132 129 139 132 140 140 142 137 139 145 145 151 153 159 159 156 159 149 159 156 157 157 160 162 166 168 171 165 171 170 180 174 177 177 174 182 179 180 176 174 177 176 183 179 176 177 191 187 197 190 191 200 196 196 204 202 208 207 202 199 204 208 202 202 204 207 197 194 199 207 202 196 196 200 205 196 199 196 204 211 200 202 204 211 204 210 204 210 213 216 221 211 214 217 216 227 217 219 213 219 217 217 224 219 225 219 231 227 228 228 227 224 234 222 228 225 236 236 242 233 238 239 234 242 234 236 241 228 231 230 238 224 227 234 234 225 217 211 217 214 200 196 196 194 191 208 202 202 213 211 221 216 216 224 225 224 225 219 227 225 224 228 231 227 231 231 228 234 230 227 236 239 225 222 227 224 222 216 214 213 210 205 208 213 202 213 210 213 208 210 204 217 202 210 207 210 213 211 205 202 196 202 200 200 191 193 190 200 190 187 183 191 182 179 177 177 174 173 176 171 179 174 180 171 176 173 173 179 168 165 170 166 174 174 171 170 165 168 156 166 159 159 153 148 146 143 146 140 137 146 145 140 136 139 131 139 131 136 129 134 132 125 128 126 123 119 122 119 117 114 108 109 111 106 102 98 97 94 100 88 91 85 78 78 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 81 0 80 81 89 89 88 92 92 97 97 98 95 105 98 106 111 109 114 117 114 117 122 115 123 129 129 129 131 132 131 137 139 137 143 151 149 146 153 148 148 153 159 170 157 163 157 154 156 157 160 165 166 166 170 177 171 174 168 179 177 179 182 176 180 179 170 173 176 177 182 185 187 177 182 187 190 193 200 188 200 196 197 202 207 204 205 210 207 204 202 202 207 197 210 196 207 193 197 194 204 194 199 200 196 202 199 204 207 197 205 208 199 210 207 211 214 200 211 214 217 216 216 210 211 213 219 222 216 216 221 227 221 230 222 224 228 231 236 231 241 230 227 239 238 239 233 239 231 233 242 236 234 236 230 222 230 230 236 233 236 228 221 228 211 217 210 216 194 191 187 193 199 199 199 210 211 210 214 217 219 216 224 230 230 224 230 227 228 228 221 225 234 231 230 230 227 239 231 224 230 227 225 222 227 227 217 213 202 208 207 210 217 207 210 211 207 222 211 214 210 200 208 208 199 200 204 205 204 193 196 200 204 202 196 191 193 190 183 187 180 176 180 174 174 180 168 180 183 174 176 173 177 179 173 174 174 177 168 168 173 157 170 166 170 166 170 156 162 151 149 146 142 145 153 142 140 140 139 146 137 142 143 137 137 139 132 126 132 132 125 123 122 120 117 123 117 115 114 108 100 103 103 100 103 100 100 91 88 85 80 85 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 78 80 81 85 85 88 92 91 97 95 103 95 100 109 106 114 109 115 112 119 123 122 128 120 129 132 126 128 132 146 132 139 142 146 145 151 153 146 149 159 156 159 165 159 162 156 156 160 165 163 165 165 163 168 173 170 170 180 177 179 173 179 182 183 182 179 188 182 187 176 190 176 183 197 185 185 193 183 194 193 194 204 204 204 205 207 207 199 204 210 199 202 202 194 190 196 187 191 197 197 197 199 197 202 211 210 211 197 202 200 207 213 211 200 208 208 217 211 213 216 210 214 222 216 224 213 219 219 219 224 219 225 227 224 234 231 234 227 228 233 234 236 244 242 230 233 251 233 244 230 245 238 233 239 231 236 233 230 233 222 234 224 222 217 214 213 190 202 202 194 202 191 204 202 207 214 208 214 213 225 225 225 221 227 221 228 230 231 224 230 234 233 234 231 238 236 236 233 227 233 231 221 217 219 217 213 207 213 205 213 204 214 214 214 211 213 216 213 211 217 200 199 208 208 202 200 194 193 190 202 190 197 196 199 191 185 190 187 177 179 180 176 179 176 179 170 174 176 179 182 190 180 174 173 168 171 174 174 171 176 166 165 163 165 168 163 168 156 162 153 143 148 142 137 151 142 146 148 142 142 142 142 137 139 131 132 136 137 126 132 126 119 123 120 125 120 115 117 103 109 108 102 100 102 102 92 91 89 86 83 80 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 81 78 85 85 86 91 92 92 91 97 100 105 105 112 106 119 117 117 115 120 123 122 126 126 131 132 126 136 134 132 143 139 146 145 148 143 146 156 159 157 156 162 159 165 166 168 168 162 165 162 163 165 170 174 177 174 176 182 185 182 183 177 180 179 182 187 179 185 185 182 191 187 188 183 187 188 193 191 200 193 202 199 199 197 202 207 204 216 200 205 197 199 197 191 194 185 194 202 197 194 196 204 207 207 200 204 208 205 204 210 217 211 217 211 219 200 214 216 216 213 216 216 219 221 222 214 227 217 222 225 216 225 225 222 231 233 234 230 236 234 234 228 234 250 236 238 233 245 230 248 238 236 233 225 236 225 228 230 234 234 225 222 217 224 210 216 205 190 188 199 193 193 202 204 205 205 214 221 214 231 217 221 234 228 239 219 231 230 233 238 231 228 228 230 225 234 224 228 222 233 227 221 227 221 217 213 202 216 210 219 205 221 214 214 213 221 208 216 213 211 214 211 205 207 207 208 200 200 196 191 190 191 190 193 193 182 193 187 182 182 179 177 183 177 179 177 176 176 174 176 168 177 176 179 176 166 174 166 170 162 168 168 170 170 160 160 166 159 151 146 145 157 146 145 148 142 145 145 139 151 143 137 139 136 136 140 139 132 136 128 129 126 120 126 123 120 122 114 112 112 109 102 106 100 103 95 92 89 88 85 0 78 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 78 0 83 86 88 86 85 88 92 94 98 100 102 109 108 111 108 112 119 129 126 126 126 131 129 131 129 139 134 137 140 146 148 151 151 148 154 153 156 159 148 157 154 166 157 163 170 166 171 168 166 166 171 171 171 176 174 173 173 177 177 182 183 183 185 183 182 183 183 187 179 183 182 193 188 188 183 187 190 196 193 196 210 204 197 194 200 205 208 199 200 197 199 193 190 187 196 196 194 207 197 208 208 219 199 211 208 200 208 210 213 207 210 213 210 210 221 221 214 216 216 222 214 217 227 230 214 221 222 216 216 227 217 228 228 230 233 222 239 234 231 236 233 233 236 236 233 238 241 238 234 238 231 238 228 239 231 222 241 224 225 221 228 221 217 210 210 207 202 200 204 199 208 214 208 211 219 211 225 222 222 221 228 227 228 230 228 230 233 224 230 228 231 231 228 224 233 228 233 230 221 227 222 219 219 222 221 216 210 214 219 208 216 211 216 211 213 216 211 217 211 217 210 213 205 213 202 197 205 194 199 187 199 188 182 190 176 185 188 196 182 188 179 183 180 183 177 176 173 176 176 177 174 183 177 173 165 170 174 176 171 168 170 162 162 163 157 157 157 151 157 145 145 140 145 146 143 151 146 140 145 143 148 142 143 139 140 137 136 134 129 126 128 128 125 126 122 117 112 114 115 109 111 106 100 98 97 91 91 85 86 81 78 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 78 78 81 81 86 89 92 95 97 98 102 103 103 109 108 108 115 119 117 122 128 125 125 136 131 128 128 129 139 137 140 151 148 145 162 154 149 156 149 162 163 154 160 165 160 170 171 166 171 165 171 177 177 171 171 176 177 177 174 174 182 180 188 180 183 182 182 182 179 179 183 191 188 190 188 188 187 188 182 190 197 193 191 197 202 196 194 204 204 204 196 193 191 193 190 190 199 193 202 210 210 217 207 217 211 204 205 211 211 205 211 213 214 217 208 216 213 216 216 224 225 222 213 216 214 222 219 214 222 225 216 217 225 217 224 233 230 234 233 234 231 224 234 241 239 242 233 231 238 239 234 234 236 234 233 225 227 227 231 228 230 227 225 214 211 222 207 210 211 202 210 199 208 216 210 211 216 213 224 221 227 233 225 225 221 227 230 228 228 228 231 231 238 227 231 230 225 238 231 233 227 228 225 230 216 221 217 217 213 216 219 211 216 211 216 219 210 213 214 211 213 211 213 213 210 207 205 200 199 190 194 185 190 190 199 191 182 185 185 188 174 187 179 180 182 173 182 173 177 179 176 173 180 183 176 180 174 179 177 171 170 168 168 163 159 173 157 162 157 151 149 142 146 146 142 143 145 143 143 146 149 148 142 143 140 140 139 140 134 128 132 132 131 125 125 126 122 119 117 122 119 109 103 103 105 100 92 92 95 86 85 78 0 78 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 80 85 83 89 89 89 91 95 102 98 106 102 108 109 114 122 114 119 123 126 129 129 128 136 132 137 139 140 137 140 142 143 153 146 149 153 153 162 153 162 162 173 160 168 165 171 168 171 171 165 168 173 176 173 173 177 177 176 179 179 185 174 180 185 185 177 183 193 183 185 183 190 193 193 187 190 183 188 185 191 191 188 204 196 196 191 197 202 200 193 183 182 185 193 185 197 204 204 216 213 210 200 207 204 208 210 204 211 210 208 210 208 222 216 214 221 219 221 227 224 217 219 221 216 217 211 222 217 224 225 225 227 231 222 233 238 228 244 242 233 239 241 238 242 238 231 234 239 236 239 234 230 242 224 234 221 227 225 224 227 224 222 210 216 214 213 210 211 211 208 208 224 211 222 227 216 233 213 216 228 230 227 227 222 227 234 224 231 239 234 234 236 233 236 231 234 231 230 236 228 225 217 224 214 214 210 213 219 216 216 210 224 224 213 230 208 217 221 214 221 213 216 211 211 208 193 205 202 204 194 187 202 191 199 187 193 194 187 177 180 174 182 182 182 177 177 185 177 177 176 176 183 177 188 174 168 176 173 170 170 174 163 170 165 156 157 156 146 159 149 143 148 146 149 145 140 139 143 148 143 142 145 143 143 142 142 146 142 136 132 137 125 134 126 125 125 123 119 115 112 112 106 108 106 102 98 97 94 89 86 85 80 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 78 80 81 85 92 91 91 94 95 95 100 102 108 103 112 114 111 117 120 122 125 126 125 134 131 129 142 132 142 134 143 145 145 149 153 156 153 154 153 159 157 162 159 166 162 165 174 168 173 179 170 176 171 177 173 180 171 180 180 177 183 174 176 191 177 182 177 180 187 185 188 188 191 190 188 187 193 191 190 183 187 185 182 194 193 191 199 200 191 193 197 188 193 187 182 187 194 200 208 211 202 214 213 214 216 213 213 211 213 211 213 208 213 213 221 216 214 221 221 219 216 214 221 219 219 216 222 219 221 221 225 222 225 228 228 228 231 238 234 231 227 236 233 236 244 236 238 245 239 245 241 225 234 238 231 221 224 236 227 228 219 230 224 219 227 217 222 213 224 221 211 217 211 211 216 221 221 228 217 217 225 216 227 217 233 224 227 227 236 225 225 238 231 227 231 231 230 228 234 227 234 230 228 230 224 213 216 211 219 219 213 219 216 211 211 217 216 227 214 219 216 217 221 214 208 217 207 205 205 196 199 197 190 197 199 199 196 196 194 191 185 188 188 185 182 182 182 174 177 182 177 182 183 180 179 179 179 176 183 174 166 166 182 171 168 156 168 162 153 153 156 151 151 142 145 142 140 146 139 143 146 148 153 145 145 143 148 142 143 142 140 137 134 132 131 123 122 129 128 115 122 108 115 109 105 105 102 95 91 92 91 91 83 81 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 78 83 81 80 83 88 86 91 94 92 103 102 103 108 112 111 114 119 115 125 120 120 128 129 132 136 145 136 136 146 140 148 142 145 153 149 153 151 154 156 156 162 162 165 165 159 160 170 168 173 176 174 166 173 173 180 185 179 180 180 177 185 182 179 180 182 179 191 185 187 188 188 187 185 190 187 190 194 188 190 182 183 182 182 193 194 193 193 196 191 188 191 183 187 182 197 197 202 204 204 207 204 221 210 213 208 214 207 211 208 211 211 210 217 205 217 219 219 214 224 222 219 219 213 219 217 221 224 214 224 219 227 222 228 230 228 228 225 230 233 242 234 238 234 242 236 231 241 236 245 245 227 242 239 233 230 231 228 222 225 227 225 221 231 219 233 227 222 221 222 219 213 222 224 224 213 221 219 224 222 231 225 228 225 234 222 224 228 239 228 233 230 227 233 224 233 231 221 234 225 233 222 231 222 225 231 219 217 217 221 221 222 213 213 222 216 219 225 214 219 221 222 208 216 210 213 213 216 207 205 204 197 196 193 200 200 196 194 199 199 193 190 187 187 187 183 179 187 174 179 180 176 180 174 180 179 180 185 180 177 171 177 171 176 170 163 165 160 156 154 157 159 148 145 145 146 143 148 146 142 145 146 149 139 151 146 146 137 142 143 142 139 139 140 134 131 136 125 122 125 120 115 112 114 108 106 105 103 97 94 92 91 85 83 83 0 81 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 78 80 80 86 81 86 91 91 94 98 102 105 105 111 111 112 119 117 119 123 125 123 134 125 131 132 134 139 142 139 143 148 149 145 148 157 154 157 154 156 159 162 163 159 163 160 168 168 174 176 171 179 170 176 182 179 176 180 177 179 187 177 180 177 187 185 187 188 183 185 187 196 187 193 188 191 187 197 187 182 190 179 180 185 179 188 187 193 191 187 183 193 193 180 190 205 207 200 205 202 216 210 202 217 217 210 210 205 211 208 200 213 210 208 213 219 216 222 221 222 221 227 217 216 217 227 213 222 219 224 221 231 228 233 224 231 233 244 225 231 236 233 244 231 239 225 241 241 236 241 227 238 231 233 231 234 227 222 224 228 228 224 222 230 225 231 224 230 227 221 219 225 224 217 216 222 214 224 219 227 222 219 228 224 219 234 233 227 227 224 238 233 230 231 238 230 228 230 234 238 231 230 224 225 225 230 214 208 219 221 214 208 225 219 213 217 217 228 231 228 219 219 216 219 219 210 210 211 210 213 191 200 193 199 197 200 207 210 197 202 191 193 180 193 188 188 190 180 176 185 174 177 177 182 173 176 177 177 179 173 176 171 171 173 171 165 168 157 159 154 157 153 145 146 146 143 140 142 143 143 148 151 145 142 142 143 137 145 137 142 137 137 137 137 137 140 129 129 125 125 120 115 117 112 108 112 102 102 98 92 98 94 85 86 83 85 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 78 81 86 88 91 94 88 98 95 98 105 102 108 109 114 117 115 122 123 128 126 129 126 137 132 139 142 146 146 146 154 148 151 148 148 156 159 159 162 162 162 163 162 166 168 165 174 173 170 176 170 176 179 185 187 182 177 176 185 182 179 177 185 185 174 187 179 187 188 185 187 188 190 193 190 194 194 190 194 179 177 176 174 182 188 188 188 183 183 183 179 191 185 199 200 202 199 211 208 216 208 217 214 214 210 204 210 211 217 210 207 210 211 213 213 222 216 219 228 214 217 219 222 224 224 219 224 221 228 221 225 222 230 234 236 236 227 231 241 241 239 247 247 242 239 242 238 234 231 244 230 236 225 231 222 217 224 217 228 227 230 221 219 230 227 230 219 219 227 225 228 221 233 224 214 225 225 221 221 216 222 217 225 224 225 227 230 225 227 228 233 233 228 238 225 236 227 233 233 213 230 233 230 228 221 216 214 211 221 219 224 219 219 221 222 222 222 219 224 224 222 227 213 211 211 211 205 200 207 197 196 196 200 200 200 202 202 199 196 190 191 182 190 187 187 183 191 188 185 185 182 180 179 176 176 171 177 173 179 176 176 174 173 170 168 163 162 162 165 157 153 157 154 153 143 146 143 143 145 140 153 143 140 142 142 139 139 140 142 139 136 137 136 137 136 134 129 123 125 119 125 119 109 112 109 102 98 100 95 95 88 85 88 81 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 78 80 81 80 83 83 89 94 98 98 103 103 111 109 111 115 115 120 119 120 122 123 122 132 129 136 140 139 142 142 148 142 146 148 153 157 156 153 157 156 160 159 163 159 160 163 165 166 171 166 177 179 182 183 177 182 180 185 182 176 179 182 182 180 182 173 180 180 194 183 183 183 191 182 191 188 194 187 188 183 187 180 173 171 171 179 179 168 179 173 180 185 185 194 196 190 208 200 208 208 214 207 225 216 208 214 211 200 213 210 208 207 211 207 216 217 224 227 214 224 216 211 217 221 224 224 224 219 228 224 227 222 228 225 228 228 236 228 225 234 234 238 234 231 233 234 234 239 228 231 241 230 227 233 230 225 224 217 222 227 228 233 224 227 228 236 233 231 225 239 228 227 222 227 217 219 217 219 221 227 221 227 217 230 233 225 224 227 224 233 230 230 221 236 227 244 225 233 225 233 231 227 228 225 228 222 217 224 216 219 225 214 217 224 221 224 227 222 230 221 219 219 213 219 211 208 213 211 211 210 202 207 205 210 211 199 200 200 205 204 193 194 196 191 188 190 193 191 188 182 176 182 187 174 171 179 174 176 185 180 180 173 174 173 173 173 170 160 162 159 157 153 149 151 154 149 143 146 148 140 143 146 146 143 143 139 146 143 140 143 143 143 145 132 131 132 129 131 129 129 122 114 117 114 115 111 111 109 103 98 97 94 94 92 83 86 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 78 80 85 81 83 89 94 94 97 95 108 100 106 106 109 117 114 122 117 119 128 134 129 129 132 134 134 139 142 142 148 142 145 153 153 156 156 153 157 160 159 157 159 163 165 168 163 165 163 170 177 174 179 168 183 176 182 182 183 187 187 182 173 180 183 187 182 185 183 193 185 185 194 185 182 190 187 182 187 182 182 185 179 174 173 171 165 170 165 174 177 176 183 185 193 194 197 196 202 196 211 207 221 213 214 219 222 208 217 214 213 208 216 207 207 213 211 227 224 227 222 216 222 217 221 221 225 222 227 228 224 234 225 234 227 236 234 228 236 234 238 233 233 238 242 241 242 236 234 239 230 236 225 225 231 238 228 225 224 230 230 227 236 228 234 236 231 231 227 228 231 228 239 228 222 227 224 224 225 216 219 227 227 216 230 222 225 225 222 231 228 233 233 228 238 227 234 231 225 225 236 228 227 230 222 225 224 224 231 225 222 214 222 224 222 213 217 219 213 222 214 228 221 214 216 219 227 219 208 211 211 199 207 205 211 208 202 199 204 207 197 204 200 193 190 193 188 196 190 188 190 182 190 182 182 188 180 179 174 176 176 176 180 173 176 170 165 177 171 159 157 157 156 153 149 151 156 154 148 148 148 146 145 148 148 142 153 143 143 142 139 143 139 142 136 136 139 139 132 134 132 123 122 120 119 117 117 115 108 106 105 92 100 89 91 91 85 81 83 0 0 0 0 0 0 0
|
||||||
|
0 0 0 78 80 83 88 83 86 92 94 102 100 102 102 106 114 111 114 120 112 115 120 126 125 134 128 131 132 136 140 139 146 142 143 149 153 146 146 156 156 156 157 156 162 163 162 163 159 165 170 171 163 170 176 177 174 183 176 176 180 188 183 182 182 182 185 180 177 182 188 188 190 185 182 188 187 182 191 197 190 188 188 185 183 179 180 171 174 168 166 174 177 182 188 187 187 197 194 197 200 208 208 208 210 214 227 217 217 214 213 207 211 202 214 213 208 210 222 221 224 222 224 222 231 211 213 216 216 225 227 225 225 231 224 227 227 227 227 228 239 228 236 227 238 244 231 238 236 230 244 238 244 230 238 228 230 224 239 227 225 228 219 230 234 233 234 224 234 228 230 227 227 225 227 224 225 225 216 219 227 216 219 216 233 222 221 227 217 225 225 224 233 233 225 225 227 230 231 230 241 225 221 228 225 233 221 222 222 221 216 211 227 219 227 221 224 216 217 224 221 222 216 217 224 221 217 216 216 211 213 211 211 213 200 211 211 204 204 207 205 211 200 207 194 200 191 196 197 191 185 194 194 179 188 182 171 171 174 171 173 174 173 173 177 176 177 168 179 166 165 165 163 160 156 160 156 149 154 156 156 148 149 148 156 149 145 146 145 146 140 139 142 140 139 139 137 137 134 134 132 126 129 128 126 129 122 115 119 112 111 105 108 100 103 103 94 91 89 86 83 85 81 0 0 0 0 0 0
|
||||||
|
0 0 78 78 81 81 88 86 91 97 98 100 98 105 112 105 112 117 117 114 119 120 122 129 129 132 136 134 136 140 142 137 142 143 143 148 154 153 160 159 154 159 154 160 162 162 160 157 165 163 160 171 168 173 180 168 174 170 174 182 180 185 176 187 187 176 187 190 183 180 185 179 180 185 191 191 193 183 191 185 191 193 183 183 182 182 174 173 171 174 168 177 180 182 180 177 194 188 205 202 202 208 207 210 214 217 216 217 214 216 210 213 210 207 208 213 208 207 216 213 225 213 219 216 219 216 216 216 221 216 217 217 222 224 225 228 231 234 231 236 228 236 234 230 228 230 234 224 231 230 234 234 225 224 239 228 236 230 222 224 227 233 227 227 239 233 233 233 236 233 247 221 233 228 231 233 221 224 231 231 219 228 222 210 227 222 227 219 227 224 217 224 222 233 230 236 238 236 231 231 225 236 227 236 222 225 228 231 224 227 219 225 222 230 225 231 230 230 228 222 222 217 221 221 230 216 211 216 213 210 216 217 210 200 210 213 213 202 208 210 207 208 200 200 208 187 194 190 197 199 193 197 190 185 182 180 177 182 176 176 174 173 171 179 182 179 177 176 171 168 165 162 170 159 162 154 156 162 154 163 154 151 153 156 153 143 149 146 159 148 140 137 143 142 140 143 140 134 139 128 129 131 134 129 125 126 119 122 119 112 112 108 109 103 105 98 94 89 91 91 83 83 80 78 0 0 0 0 0
|
||||||
|
0 78 0 86 80 86 86 89 88 98 97 98 103 103 106 111 112 115 112 117 117 125 125 128 128 128 132 134 137 140 139 142 145 142 153 156 154 154 149 151 159 160 162 162 160 154 160 160 162 166 159 173 170 166 171 170 177 177 174 179 176 179 185 187 185 185 183 182 185 187 187 180 185 190 191 191 183 183 188 194 185 183 177 182 180 179 173 174 179 171 171 179 182 185 180 190 190 187 197 205 200 205 207 214 204 213 216 207 211 219 217 208 210 213 219 216 214 224 213 222 210 219 213 216 221 210 222 208 214 216 216 221 219 224 225 231 227 227 221 225 231 227 224 233 224 238 231 238 228 228 233 236 238 244 231 238 230 228 227 224 231 234 242 228 231 233 236 242 238 236 231 221 233 228 228 230 234 224 219 221 225 213 221 222 222 222 227 219 222 225 224 221 233 233 233 230 236 234 236 234 234 236 221 230 228 239 227 221 225 211 227 233 222 224 227 227 217 225 217 221 221 224 231 211 217 236 217 224 207 213 224 207 213 211 205 205 213 208 200 205 200 204 205 199 199 196 193 197 199 199 193 191 190 188 176 183 177 170 170 174 166 170 173 174 173 180 177 168 171 168 173 165 159 159 160 163 160 156 157 159 163 157 154 154 149 149 151 151 145 139 148 140 146 142 143 136 134 137 142 132 140 137 129 126 126 129 122 120 120 114 112 115 106 105 106 98 94 94 89 89 89 86 78 0 0 0 0 0 0
|
||||||
|
0 0 0 80 86 89 91 94 98 97 98 100 106 108 108 109 105 117 119 122 123 123 128 122 132 126 132 140 136 142 140 140 146 146 149 151 153 156 163 149 154 153 157 154 159 166 162 160 162 159 168 166 173 170 171 180 174 176 179 185 187 177 179 183 187 185 185 176 193 180 179 185 182 188 182 179 187 183 182 188 188 185 179 183 174 177 173 174 177 177 187 182 176 177 182 183 182 191 193 196 199 199 202 207 207 213 210 217 210 210 214 214 211 224 219 211 214 227 221 216 225 214 217 211 217 225 216 214 216 214 222 219 222 224 222 228 217 227 228 230 228 236 224 228 228 230 238 236 247 236 238 241 242 231 230 241 233 227 219 225 234 233 244 231 236 238 245 231 236 245 238 217 225 233 228 230 234 222 228 222 225 224 224 221 217 233 219 230 221 222 227 228 230 239 234 231 233 239 233 230 230 231 231 230 233 230 231 225 217 214 221 216 227 227 224 216 224 225 225 222 228 217 230 230 225 221 221 208 221 208 213 214 211 211 202 211 208 205 214 211 208 205 204 196 197 188 193 194 200 196 196 191 196 197 190 177 179 171 168 168 177 168 170 176 173 174 174 168 174 168 171 165 168 154 165 159 160 163 156 157 154 156 148 156 148 160 148 156 145 142 142 139 139 137 139 139 140 136 140 136 131 134 129 128 122 120 120 117 115 120 112 111 111 111 106 103 100 89 95 94 88 86 81 0 0 0 0 0 0
|
||||||
|
0 80 78 85 92 88 92 92 95 102 102 102 102 105 108 111 114 115 115 119 125 123 125 122 129 131 129 131 137 136 140 145 148 145 149 151 159 159 156 151 153 160 162 157 160 159 163 162 168 159 170 168 170 162 171 173 176 171 185 180 176 180 180 180 185 180 191 183 182 183 182 188 179 176 179 185 190 187 185 185 177 180 176 177 179 174 182 177 182 177 179 170 187 183 183 191 197 194 200 193 202 207 204 207 210 213 213 216 211 216 214 213 217 221 214 213 222 219 216 221 217 221 216 224 213 210 221 222 227 216 225 225 224 230 231 228 234 236 228 224 228 227 225 234 234 236 231 248 233 244 236 244 230 242 228 242 228 221 224 228 225 230 230 239 239 238 234 238 239 234 230 238 227 233 227 225 230 225 222 219 231 217 219 225 216 222 224 219 219 224 228 228 230 231 233 239 228 230 234 233 234 231 233 228 238 222 233 221 217 225 228 225 221 224 230 224 221 227 221 222 221 222 213 230 222 219 217 222 221 211 214 211 214 214 211 210 214 214 204 208 207 207 205 197 194 193 196 202 197 197 193 197 185 194 182 187 176 171 171 170 170 168 174 168 177 176 171 171 163 176 168 166 160 165 170 156 159 156 165 157 159 157 151 149 156 145 149 145 146 151 143 145 142 142 139 142 137 139 139 139 139 131 129 129 129 131 115 120 115 120 111 112 111 106 106 102 98 97 92 89 86 81 85 78 0 0 0 0 0
|
||||||
|
0 0 83 85 80 88 92 94 95 102 102 100 102 112 111 112 111 119 119 119 122 126 125 132 129 137 134 136 143 139 140 139 145 142 145 151 156 159 156 156 156 154 157 156 163 154 163 157 162 160 168 166 163 168 174 165 179 171 176 177 176 182 177 183 180 183 185 187 182 182 183 183 177 183 179 183 177 183 176 179 182 185 171 183 182 176 180 182 183 174 180 179 180 179 185 191 199 196 191 205 194 197 200 210 202 211 210 221 208 208 216 211 211 219 227 219 221 224 219 210 225 222 222 221 221 228 225 228 221 227 225 225 233 216 239 230 233 230 244 231 234 238 244 234 236 236 242 241 238 231 231 233 238 234 228 225 236 231 225 236 236 234 238 231 234 239 239 234 247 242 239 228 227 233 225 224 228 228 225 224 216 222 214 227 213 219 222 222 219 219 225 230 230 228 225 228 236 231 233 234 227 224 230 231 236 233 227 219 217 225 217 231 227 222 230 230 231 228 228 230 221 225 231 214 221 214 221 219 216 210 222 210 210 208 208 211 210 208 213 210 211 210 204 204 190 191 202 197 197 200 202 197 188 183 193 173 176 173 171 166 165 166 168 173 170 171 173 170 176 166 165 163 166 159 171 159 165 163 165 159 154 153 156 156 148 149 153 151 148 145 143 140 149 142 142 143 140 134 142 134 136 131 128 129 123 125 123 125 122 122 115 112 109 109 106 103 102 98 92 89 91 91 83 83 80 0 0 0 0
|
||||||
|
0 0 86 81 88 85 92 94 97 100 100 103 105 108 111 111 112 117 117 123 123 128 119 128 134 132 137 137 136 140 143 140 139 149 154 154 153 153 151 156 156 154 159 154 159 154 157 163 160 166 157 163 168 166 171 180 173 177 176 177 176 177 176 183 180 188 183 182 187 182 185 180 180 177 179 174 174 177 177 187 173 174 171 180 182 177 177 176 173 179 183 188 180 191 183 191 194 196 202 199 204 205 196 207 210 216 207 208 204 213 210 219 219 214 211 213 222 219 224 211 222 214 217 219 225 224 222 222 219 228 231 221 230 225 234 241 227 230 236 236 236 233 231 231 228 233 239 238 234 248 234 250 239 231 230 225 231 228 233 228 238 233 239 233 233 233 241 248 242 241 236 234 234 233 241 231 211 222 214 219 224 225 207 216 217 217 217 219 221 219 230 233 224 239 242 231 238 233 239 225 236 238 233 230 228 222 217 214 217 217 224 214 222 224 222 228 227 228 222 224 221 228 225 225 225 224 221 222 222 214 211 216 211 205 213 210 208 207 205 207 211 205 208 202 197 200 205 205 205 194 197 200 202 191 180 187 171 174 174 170 162 159 163 166 173 168 171 165 177 165 166 162 171 159 160 163 162 159 154 160 157 154 157 151 151 145 151 146 143 156 137 139 145 143 148 140 145 137 137 146 131 136 129 126 125 125 122 125 126 114 117 115 111 106 106 108 103 91 103 91 91 89 86 85 81 0 0 0 0
|
||||||
|
0 0 80 85 85 94 97 98 91 100 98 103 102 112 114 114 114 126 122 126 122 125 126 129 134 129 137 137 143 145 142 140 145 148 146 151 157 154 153 154 159 157 159 154 157 162 162 156 157 157 163 160 162 163 173 163 162 180 173 185 182 182 183 173 187 180 183 177 183 183 187 179 187 177 176 179 174 171 179 176 174 185 182 177 185 182 179 179 174 180 173 191 187 194 190 191 196 197 196 188 202 204 204 210 200 210 208 213 204 210 213 207 210 211 222 219 211 217 214 216 225 221 222 231 221 221 221 219 225 228 236 230 241 230 231 231 241 236 231 238 228 224 238 239 245 236 233 239 239 244 244 233 239 221 234 227 228 227 231 241 234 239 231 233 247 230 236 234 236 236 242 234 228 228 230 221 233 219 222 211 216 219 228 221 217 221 221 217 230 221 234 230 230 230 238 231 239 239 239 233 231 231 244 225 221 224 221 221 222 222 224 227 219 222 224 221 233 233 227 225 227 227 227 230 217 221 217 227 211 219 210 216 221 210 216 224 210 213 210 210 202 210 208 196 199 196 200 205 202 200 196 197 196 193 183 180 187 173 171 170 159 165 166 165 162 163 163 163 157 166 166 171 165 163 159 159 165 163 162 166 162 159 159 154 154 149 149 146 148 148 139 140 146 139 134 145 137 136 137 134 131 132 136 126 132 123 128 125 125 119 122 112 108 112 100 103 100 95 97 91 92 86 83 81 83 80 0 0 0
|
||||||
|
0 0 83 86 88 89 97 94 94 105 103 109 115 109 112 117 112 119 119 119 129 129 131 125 134 131 136 134 134 139 139 148 148 146 153 151 149 154 159 156 149 148 154 157 153 153 160 159 157 160 166 166 171 166 171 165 168 168 170 168 177 177 176 180 180 179 185 180 180 173 174 182 174 170 165 170 166 174 183 179 183 185 187 177 187 180 182 177 180 179 183 185 187 185 194 193 197 193 197 196 193 204 200 199 197 208 207 205 211 214 210 221 214 214 219 224 210 224 221 213 224 213 228 217 231 224 221 222 230 228 228 225 230 230 233 233 221 231 233 233 236 241 231 234 236 236 234 244 236 230 236 242 231 224 231 233 233 231 241 238 242 241 247 245 234 239 236 241 230 241 230 221 230 231 230 217 216 225 221 219 217 231 214 221 216 224 224 224 216 228 228 219 230 230 222 222 242 231 230 234 238 227 233 236 221 236 217 217 224 224 227 222 227 236 227 211 225 231 222 225 234 225 219 222 228 221 227 219 221 213 221 199 214 216 216 211 210 211 216 210 211 207 202 204 202 202 204 211 204 196 205 196 193 187 183 187 173 171 162 156 154 160 168 159 159 163 165 165 162 163 157 165 160 170 165 156 162 157 156 153 151 156 148 157 156 151 149 151 143 145 148 149 139 136 143 142 140 137 142 139 139 129 131 134 134 132 129 125 123 120 119 120 112 105 106 102 98 98 97 92 92 85 85 81 78 0 0 0 0
|
||||||
|
0 80 80 83 86 89 97 95 100 100 102 106 105 108 114 114 115 119 114 122 125 129 126 136 131 129 136 136 139 143 145 149 143 140 149 149 153 163 154 153 151 151 159 157 148 163 159 159 159 160 163 168 162 173 166 170 171 171 177 171 179 170 170 171 171 176 173 179 179 180 176 177 177 177 170 174 171 177 180 182 183 185 187 185 187 182 190 179 179 183 182 191 187 193 191 202 191 190 202 193 199 199 200 199 208 205 211 207 210 211 216 217 219 216 210 224 219 219 221 221 224 221 211 219 214 224 221 230 227 230 219 238 224 230 228 230 236 239 228 231 239 228 238 241 227 234 238 238 248 236 247 234 231 230 228 230 227 239 234 242 234 239 233 239 227 245 236 234 230 230 234 234 228 231 221 228 224 227 219 214 216 221 219 227 217 216 224 217 222 227 221 234 222 239 228 227 231 236 233 239 234 228 219 244 230 217 211 224 216 230 225 228 227 228 227 230 233 224 231 224 219 231 230 222 219 227 224 217 219 217 213 216 213 214 216 225 219 219 213 216 210 213 202 196 204 191 210 207 204 199 197 197 194 194 188 180 177 173 162 159 156 163 162 159 160 170 160 160 159 160 159 160 160 170 163 160 166 156 165 160 162 149 163 160 149 148 148 145 143 137 142 143 139 139 132 136 136 137 134 142 132 137 128 129 128 126 131 122 126 126 119 115 115 108 106 108 97 97 94 92 89 85 88 81 80 0 0 0 0
|
||||||
|
0 81 80 85 88 89 94 94 95 102 103 105 114 109 108 114 120 115 120 119 123 129 129 129 131 132 128 132 140 149 142 140 143 146 149 145 153 157 157 154 156 160 145 159 160 154 159 157 154 165 159 168 163 159 165 173 162 173 166 171 168 171 174 168 173 171 174 173 179 168 177 177 168 174 179 166 176 179 180 182 183 191 182 179 180 180 174 177 182 185 185 179 191 196 199 187 200 200 199 199 200 200 197 207 211 210 211 204 217 205 207 210 216 222 214 221 219 217 216 221 222 227 224 216 217 222 221 222 233 225 224 225 227 230 228 233 227 236 230 233 233 239 233 225 233 241 244 224 236 239 231 227 231 230 227 231 233 236 227 242 236 245 248 233 244 238 248 236 222 239 224 228 227 228 222 227 225 224 217 222 227 219 219 216 216 214 224 225 219 225 234 221 234 230 233 228 233 219 231 230 231 225 225 224 221 217 214 221 222 225 228 228 227 222 241 227 219 234 230 224 230 225 231 227 219 227 217 225 221 221 217 217 222 214 216 208 216 213 217 211 205 211 207 213 205 207 204 196 205 200 191 194 190 187 180 180 179 174 168 160 163 160 160 166 171 162 154 157 162 157 157 159 168 160 156 160 162 162 163 156 157 159 156 159 154 151 146 146 146 143 142 140 137 136 142 139 140 139 132 131 134 131 132 134 128 132 128 125 120 119 117 119 109 108 102 106 100 95 94 89 88 86 85 80 0 0 0 0 0
|
||||||
|
0 80 85 85 85 91 88 95 97 97 108 105 108 109 112 117 114 119 119 131 128 125 129 128 132 132 129 132 136 145 148 145 146 148 148 153 149 151 156 151 148 154 154 154 159 156 157 157 163 157 157 159 160 160 163 157 163 162 168 163 171 168 171 168 168 171 168 166 176 171 177 182 179 173 177 168 176 182 179 180 185 177 185 183 183 180 180 182 182 182 187 182 191 191 196 196 197 200 202 200 207 207 205 200 211 202 208 213 208 219 208 219 211 216 210 213 214 217 211 221 219 211 224 219 224 231 233 227 224 241 236 236 233 236 231 234 227 234 236 228 239 217 236 233 234 238 236 233 234 236 236 239 231 227 219 236 238 242 239 239 241 250 244 244 242 236 241 233 231 238 239 234 239 222 228 227 231 225 214 221 211 214 214 219 210 219 217 222 230 222 231 227 227 233 234 233 233 234 234 230 236 231 234 230 210 221 219 221 224 222 217 225 222 224 221 236 225 227 216 239 225 225 228 224 222 219 228 219 221 217 219 210 222 217 219 216 224 217 216 219 213 210 219 200 197 207 207 202 197 197 199 193 191 187 191 191 182 174 174 163 170 160 151 162 160 159 160 166 160 151 159 159 159 156 162 163 160 168 165 165 162 154 156 154 151 151 149 143 148 136 145 142 139 132 143 136 137 139 131 136 134 136 125 132 125 131 126 125 122 120 123 119 108 112 108 103 97 102 98 92 91 86 86 81 80 0 0 0 0
|
||||||
|
78 78 81 89 91 91 95 91 105 97 100 105 105 105 108 112 120 122 119 120 123 129 126 126 132 129 134 134 137 139 143 142 145 145 145 146 140 156 140 156 148 154 151 153 159 160 156 160 156 156 156 159 156 163 157 159 157 165 162 162 165 171 162 176 168 166 168 177 173 174 173 177 173 170 173 180 185 180 190 187 187 174 179 183 183 180 183 180 174 183 183 187 188 193 187 191 194 200 202 194 193 204 213 207 205 210 200 207 208 216 211 211 208 219 217 225 214 224 216 214 227 216 222 221 228 221 219 219 219 219 228 219 233 230 221 234 230 247 231 227 238 234 239 239 238 242 236 231 234 231 228 241 242 225 230 236 233 244 238 241 242 244 233 234 227 238 233 231 238 231 228 236 230 239 225 221 219 222 217 227 221 221 225 222 225 221 227 224 217 231 225 222 224 224 221 221 234 233 233 228 228 233 222 222 221 216 222 224 225 228 225 217 228 227 228 225 231 224 239 230 230 231 222 231 224 224 222 217 222 221 217 216 217 222 221 221 211 216 216 221 214 207 210 200 205 202 205 204 197 197 197 202 190 187 190 182 179 174 170 165 165 165 173 165 159 165 162 166 157 160 153 156 153 160 163 162 165 154 157 154 159 159 157 156 156 151 154 146 148 143 140 146 139 139 143 137 137 131 136 131 131 136 128 132 129 125 131 120 123 120 123 117 111 109 106 100 105 92 106 88 92 86 86 85 86 80 0 0 0
|
||||||
|
78 81 83 88 85 89 97 94 94 103 105 112 103 109 114 111 119 115 120 123 129 125 128 123 132 131 128 132 132 132 140 146 143 145 143 145 149 151 157 140 153 154 151 151 154 159 156 156 159 154 156 154 162 154 154 151 157 157 165 166 160 170 174 173 173 177 174 168 174 177 173 170 171 173 183 177 177 179 190 180 182 180 182 185 177 183 182 182 180 182 183 183 190 187 188 193 191 207 196 194 207 204 211 210 205 202 197 205 208 207 211 214 207 219 225 213 222 224 216 213 221 224 224 217 225 221 224 222 221 225 221 228 231 228 227 234 228 230 228 238 233 231 245 242 247 236 242 233 236 234 239 228 224 227 233 239 242 247 247 231 242 250 244 239 234 239 236 221 231 233 231 225 233 227 217 219 214 224 221 225 228 221 210 219 221 219 227 216 222 224 219 230 234 219 225 225 234 225 238 228 228 236 227 222 224 216 228 217 224 219 219 219 230 221 231 227 222 228 231 230 231 230 227 227 238 225 221 238 227 221 227 219 224 219 222 221 213 219 221 214 210 213 208 216 207 204 197 202 204 207 197 202 197 194 176 187 180 173 168 176 165 168 165 171 165 163 163 159 160 159 160 156 156 154 160 159 163 165 162 160 162 146 153 159 163 154 149 143 149 145 143 142 140 139 143 132 132 136 136 131 129 126 126 132 126 128 125 123 120 119 115 115 108 108 108 103 105 102 95 100 94 86 85 81 85 81 0 0 0
|
||||||
|
0 0 83 89 89 92 97 98 98 102 105 105 111 111 112 114 114 117 115 119 123 120 125 128 131 132 128 137 131 134 142 137 140 145 143 148 145 149 149 148 149 153 151 154 153 156 149 154 153 154 153 156 156 153 156 153 151 162 168 159 170 170 176 177 171 166 173 174 174 170 173 176 170 180 176 183 183 182 182 177 182 177 183 185 180 177 177 185 183 179 187 188 188 191 193 190 202 194 197 207 196 200 205 205 207 202 210 200 210 214 210 211 208 214 213 210 211 213 210 213 213 213 219 227 227 222 219 233 228 231 227 231 231 236 228 227 228 228 236 242 238 234 233 228 234 230 242 236 230 228 224 239 227 233 236 241 234 255 242 238 247 238 242 239 244 231 231 238 233 227 241 233 234 231 224 228 221 222 227 224 216 216 222 219 227 219 222 227 238 224 225 233 233 234 224 230 234 228 230 233 231 225 230 225 222 221 224 225 221 214 224 219 225 228 224 225 230 230 228 228 227 234 230 228 222 230 231 228 225 222 224 219 217 222 214 234 224 224 216 225 219 214 202 213 216 202 205 213 205 204 207 200 197 193 190 185 185 170 176 171 171 162 165 170 168 162 160 159 162 162 160 168 154 156 156 163 162 159 162 157 154 159 157 160 146 151 145 153 159 145 140 149 146 140 145 139 140 136 140 131 137 139 134 131 132 126 131 122 122 119 120 114 114 109 108 100 102 100 97 94 91 94 89 85 83 80 0 0 0
|
||||||
|
80 78 88 88 89 94 97 97 97 103 103 108 111 106 115 115 117 115 119 120 125 123 126 122 128 129 136 132 142 136 140 140 142 137 148 146 149 146 143 143 148 151 149 146 148 156 154 154 153 156 153 165 162 151 160 157 163 163 163 176 165 166 168 166 173 163 168 170 176 166 171 174 179 180 177 179 174 180 176 180 180 179 185 183 183 177 179 177 185 183 191 193 188 196 197 197 196 190 196 197 200 205 207 205 208 202 208 199 211 200 205 217 216 208 222 222 214 213 217 214 214 224 221 221 216 221 225 228 217 227 230 224 233 228 231 236 230 233 230 238 234 233 241 238 236 245 241 238 231 228 236 233 234 230 233 231 245 241 239 241 245 234 244 241 233 231 234 234 230 241 231 231 224 227 227 217 224 222 219 224 228 214 219 221 224 225 222 219 231 228 230 228 228 224 225 221 228 230 236 236 231 234 221 216 221 219 221 219 217 219 225 219 221 221 222 233 231 227 234 238 234 233 231 230 222 221 227 222 225 227 227 227 216 222 227 228 224 222 224 216 211 217 207 200 213 214 213 210 204 208 199 204 199 193 197 185 187 176 182 173 174 163 170 162 157 160 163 163 157 163 165 163 162 157 173 153 168 165 163 157 160 163 160 151 148 148 151 146 146 139 145 143 142 148 142 140 137 139 139 134 134 139 129 128 131 126 120 126 125 120 119 114 115 112 105 108 105 98 95 94 95 94 85 81 91 78 0 0 0
|
||||||
|
81 85 86 92 91 92 97 95 98 102 103 106 106 108 109 115 114 112 123 120 128 123 126 126 125 131 131 136 134 137 132 145 137 136 140 153 142 146 148 151 153 146 151 151 151 157 153 157 157 154 163 154 159 165 166 171 162 165 157 170 165 171 176 168 166 168 171 166 166 168 171 168 179 173 174 174 182 183 180 179 180 180 179 174 180 179 183 180 180 183 191 187 191 196 188 193 199 193 196 207 200 202 200 200 207 200 210 200 213 204 207 213 210 207 216 208 211 213 219 221 228 213 224 227 219 222 221 227 225 228 224 227 233 224 234 222 239 231 233 239 227 238 241 238 239 244 238 236 238 236 233 244 241 241 236 247 244 250 231 238 236 234 239 239 233 238 233 236 222 224 230 234 228 231 224 230 228 227 231 216 219 214 224 222 221 225 222 216 231 227 228 228 225 225 222 233 228 228 230 231 228 236 217 225 224 225 224 224 224 222 221 219 225 224 233 228 222 234 228 227 234 230 227 230 224 230 227 224 224 217 230 225 224 227 225 231 227 222 225 216 208 217 213 202 210 216 207 200 207 210 207 191 199 193 183 185 179 174 176 174 170 176 168 166 162 170 162 165 162 163 166 165 163 170 160 168 163 165 166 163 163 160 153 166 151 149 156 146 148 142 148 145 143 137 137 143 145 137 139 134 134 131 129 125 126 126 122 126 123 122 117 112 112 109 109 103 103 105 100 94 94 91 91 85 85 80 80 78 0
|
||||||
|
86 88 83 86 92 98 94 98 102 102 103 103 108 111 111 112 117 112 120 122 123 126 125 125 129 125 134 136 136 134 139 134 139 140 143 143 137 140 143 139 148 145 145 149 154 149 159 160 157 160 168 159 165 174 159 163 162 165 171 160 160 165 166 176 168 170 170 163 170 170 174 170 168 177 173 177 185 180 182 183 183 177 188 177 180 176 179 176 191 185 190 183 191 190 193 199 196 191 202 207 194 199 204 205 200 200 199 204 217 205 208 219 208 214 211 211 214 214 217 210 219 216 219 228 222 224 230 224 225 221 224 225 228 228 228 231 224 233 234 236 230 236 241 241 239 238 236 238 236 230 231 236 236 245 247 250 242 236 245 238 242 239 231 236 231 233 234 233 236 234 233 222 236 221 230 228 230 216 224 219 222 221 216 219 219 217 219 224 221 225 225 222 227 230 225 236 227 230 231 234 234 221 225 233 228 231 230 224 216 217 224 217 230 234 225 224 227 233 222 231 231 225 227 224 227 227 230 228 224 216 225 227 222 227 225 225 225 227 221 222 224 214 207 211 219 211 204 197 211 191 202 204 197 196 194 193 183 179 177 173 177 176 168 168 165 162 156 163 166 162 162 163 166 165 162 166 170 170 168 162 163 160 162 162 153 153 143 151 153 149 142 143 140 142 142 137 137 137 137 134 126 126 129 134 125 128 128 123 122 120 114 120 115 111 111 106 106 100 98 103 94 94 91 85 85 83 78 78 0
|
||||||
|
83 83 88 85 92 91 97 92 98 100 98 103 105 106 109 117 112 119 115 119 115 129 129 126 132 131 136 137 136 140 134 139 136 134 139 140 134 136 137 142 154 154 148 160 149 162 163 162 166 166 160 162 159 168 165 165 165 157 166 170 166 168 163 170 170 170 168 176 166 176 173 176 177 177 173 183 182 188 182 179 182 180 185 171 182 174 187 182 182 183 183 188 199 196 196 200 194 194 197 207 202 210 205 199 202 202 205 210 199 200 211 211 210 213 210 211 208 222 211 216 217 216 222 213 227 217 227 219 221 225 211 224 234 227 230 231 231 238 233 230 233 230 230 236 234 236 231 242 230 234 234 242 242 239 242 231 236 245 241 231 236 247 233 236 236 231 230 233 231 236 230 238 230 231 230 231 228 233 225 230 221 216 224 221 216 213 213 221 228 222 222 222 228 230 228 231 233 230 230 231 225 230 222 224 228 230 231 230 230 222 222 227 224 219 230 233 227 222 227 221 234 228 219 227 225 222 227 222 211 221 217 221 222 221 217 219 221 216 224 214 208 217 216 207 205 211 213 210 210 202 200 197 199 197 193 187 187 177 176 180 177 173 170 170 170 156 166 163 166 165 162 163 171 156 160 165 165 171 170 163 160 166 159 160 156 151 153 153 148 151 149 143 149 140 142 139 132 139 136 137 132 132 126 134 129 126 123 123 123 114 119 117 120 109 109 105 108 98 98 97 89 89 94 94 85 81 81 0 0
|
||||||
|
81 85 83 88 88 92 95 94 97 106 102 100 109 108 109 112 114 122 117 120 125 122 122 126 132 134 131 129 134 128 129 139 131 137 134 137 132 136 143 145 151 157 156 154 159 160 162 162 165 170 166 163 171 162 165 168 168 170 163 170 170 168 173 166 166 171 173 176 173 171 173 174 170 183 180 180 177 183 180 182 183 182 177 182 177 185 179 177 179 180 177 194 190 191 185 196 202 194 204 202 205 199 204 205 205 197 210 205 208 207 214 214 213 213 216 210 211 216 213 214 230 219 211 225 225 221 224 224 221 227 228 228 231 230 230 227 222 234 230 231 231 245 231 230 241 238 238 231 233 234 239 247 248 242 245 241 244 239 241 234 248 233 242 248 224 234 241 233 241 236 231 238 224 236 228 236 224 231 228 228 225 219 233 228 224 224 222 225 222 219 228 227 216 230 231 222 228 227 228 224 233 224 222 227 228 233 230 221 228 216 222 231 225 216 217 225 224 222 224 224 222 228 227 230 230 224 225 231 221 221 224 227 225 227 221 219 227 221 214 216 214 205 216 211 208 207 204 202 204 202 211 207 199 197 187 187 183 182 180 180 174 179 171 170 166 168 166 166 166 166 170 165 166 166 170 166 163 170 173 157 171 168 160 163 159 159 160 151 149 145 151 142 145 142 140 145 140 139 131 136 131 134 126 123 126 128 126 126 122 119 122 119 111 117 108 109 108 100 102 92 92 94 92 88 86 85 80 0 0
|
||||||
|
83 83 89 85 86 92 88 97 100 100 100 103 106 111 109 106 109 115 115 117 115 123 123 128 128 129 129 131 131 134 134 128 129 129 128 134 134 140 142 154 156 159 153 160 153 168 162 160 163 165 163 163 160 170 165 165 165 168 174 168 166 166 168 173 168 179 174 170 174 179 168 168 183 168 177 174 179 177 183 173 180 176 183 183 176 173 180 179 177 185 187 190 193 183 194 197 196 200 199 202 204 202 197 207 202 197 204 208 208 205 200 216 211 216 210 210 211 221 207 211 222 219 213 217 214 219 211 228 225 225 221 225 225 230 228 238 227 241 231 233 241 238 234 238 228 245 234 225 234 228 245 242 241 248 242 248 241 242 247 247 251 242 234 239 236 234 234 239 230 230 245 230 236 234 233 234 228 225 227 230 216 225 219 211 224 213 216 216 217 222 217 216 225 217 227 228 230 231 231 238 228 225 227 225 217 236 227 228 222 224 224 236 224 225 227 221 222 228 225 231 230 227 227 231 239 228 231 230 230 230 230 228 224 217 224 222 222 219 227 221 214 219 214 208 205 210 204 205 197 202 211 196 204 204 190 187 190 188 190 185 182 174 163 171 162 168 168 165 165 165 168 168 168 173 170 170 168 171 159 170 168 166 165 162 157 153 154 151 154 149 148 142 143 139 148 137 139 137 140 137 137 129 134 128 125 125 126 120 122 115 115 111 112 115 108 105 108 102 98 98 97 92 91 89 89 83 81 0 0
|
||||||
|
85 83 85 88 88 94 94 95 95 95 103 102 108 106 109 112 109 105 114 119 115 126 125 125 128 125 134 129 132 126 131 134 132 134 137 136 132 143 145 149 151 154 159 151 154 163 160 163 166 162 163 157 171 163 168 176 168 165 171 162 168 171 170 179 170 173 168 176 174 168 173 179 179 177 176 183 182 177 180 177 180 180 183 185 179 187 182 180 182 190 180 182 185 185 196 191 197 199 207 199 199 211 202 194 193 200 199 210 207 204 210 207 200 213 219 214 213 200 221 224 221 216 213 222 224 224 225 227 228 227 236 227 242 222 231 225 233 234 241 228 228 241 241 238 231 230 228 227 234 238 239 241 241 242 244 244 236 245 238 231 242 238 238 231 244 244 239 230 236 233 245 234 233 238 233 234 231 233 227 217 231 221 222 217 216 213 219 221 217 221 214 214 221 222 227 228 225 221 228 231 219 231 231 225 231 219 225 224 216 221 225 221 222 224 214 225 216 236 241 233 230 222 231 225 231 231 234 230 234 227 228 217 228 224 222 227 224 225 219 230 214 217 208 210 207 197 211 193 207 210 208 205 207 200 199 193 197 185 188 190 182 171 173 168 173 165 159 170 170 170 176 165 168 170 171 168 171 160 159 166 166 166 160 163 159 160 163 153 157 159 143 145 148 139 140 142 137 139 136 139 131 134 128 131 131 125 123 122 120 122 115 115 109 114 114 109 109 106 102 98 97 98 89 88 86 88 81 80 0
|
||||||
|
81 80 83 86 86 89 94 92 95 97 100 102 102 106 106 109 106 109 111 119 119 122 119 126 129 120 125 120 131 131 134 131 137 137 134 145 146 140 145 151 148 153 156 154 156 162 160 162 166 165 171 163 160 159 170 162 170 163 166 166 170 170 171 174 179 174 170 173 177 173 176 177 171 179 176 180 177 179 177 182 185 180 177 182 182 183 177 185 182 182 187 185 185 190 193 199 204 200 202 200 210 197 204 202 196 204 200 202 197 200 202 208 204 211 216 217 210 214 214 216 213 211 228 216 224 219 217 230 231 224 230 222 233 225 239 233 242 236 233 227 234 239 233 236 231 230 238 231 238 234 253 247 250 238 242 238 238 234 241 245 241 245 239 234 233 233 238 231 239 236 230 238 239 238 234 234 225 231 224 214 222 225 225 216 225 219 216 224 217 216 219 213 227 227 230 224 225 230 225 227 217 228 225 234 225 227 224 221 231 225 217 228 224 225 222 225 222 227 224 222 225 224 217 234 233 230 230 222 227 224 224 219 224 224 225 219 227 217 217 216 221 221 216 210 211 205 200 210 208 193 202 202 200 196 199 197 194 185 177 185 180 174 173 166 163 168 168 166 168 173 165 174 160 168 166 165 174 171 168 170 166 166 165 160 160 156 156 157 156 156 151 142 145 148 145 143 131 140 132 134 132 129 131 126 126 123 122 123 119 123 115 112 112 112 109 108 105 109 108 100 97 92 92 86 88 83 85 80 0
|
||||||
|
78 83 81 86 86 91 92 91 94 98 97 98 105 105 109 111 112 109 111 115 115 115 117 123 120 126 125 128 132 134 140 132 140 131 140 134 142 143 148 154 149 156 160 157 168 162 160 162 165 168 171 163 171 177 168 173 166 163 170 174 173 171 174 170 180 180 174 176 180 171 174 170 174 179 173 176 176 176 180 180 179 179 176 180 174 180 176 180 180 183 185 183 180 191 202 196 196 191 202 197 199 199 197 200 194 204 204 197 202 204 202 202 204 207 202 210 204 217 213 222 214 207 216 222 208 213 228 219 221 219 227 224 230 228 236 231 236 238 234 236 236 238 233 238 231 236 233 241 236 242 239 251 241 242 236 231 239 244 234 251 239 239 233 233 236 238 238 238 247 234 230 234 230 231 233 234 221 230 228 230 230 219 230 225 214 222 217 217 217 217 214 221 224 219 221 234 225 224 231 225 227 225 219 228 221 230 224 222 224 219 230 230 230 221 227 236 221 222 231 230 221 227 230 231 234 224 230 224 227 228 222 213 217 224 216 227 227 221 219 221 219 217 214 207 211 214 207 207 211 202 205 210 197 202 197 193 191 183 183 171 185 177 168 168 165 171 165 174 166 165 166 168 176 166 165 176 171 179 171 170 170 163 165 168 162 166 160 154 157 149 153 142 148 140 143 137 139 136 132 128 136 128 129 129 123 123 122 119 115 111 123 111 115 108 111 109 111 105 103 100 97 97 92 92 89 86 83 81 81
|
||||||
|
78 80 81 86 85 85 89 91 97 94 98 108 108 109 112 105 109 106 108 114 117 115 114 122 125 123 125 129 137 136 139 139 140 143 145 143 142 145 149 145 148 157 154 160 162 157 165 166 162 171 170 168 171 168 168 171 170 166 171 173 170 182 176 163 174 165 179 179 177 174 177 182 179 174 171 182 179 174 174 182 179 173 177 180 179 177 182 176 185 179 180 185 194 188 193 193 194 200 196 202 204 200 194 197 197 200 196 204 200 202 204 199 211 208 208 216 208 211 213 216 217 219 219 219 219 224 217 230 222 233 230 228 230 225 233 234 234 231 236 239 242 236 234 239 231 230 241 233 241 239 248 253 245 248 245 247 236 245 242 245 234 234 238 234 233 241 227 236 230 233 241 238 228 236 236 236 230 236 234 231 228 230 225 228 217 211 217 213 217 225 216 211 221 221 224 238 225 227 230 224 233 227 224 227 227 230 222 227 228 228 228 224 227 230 228 216 227 233 227 224 236 224 230 225 234 230 236 228 241 217 225 230 224 224 224 227 231 221 219 224 217 214 214 208 208 208 204 204 202 202 197 199 200 196 182 188 191 188 185 182 182 180 173 170 160 168 171 163 168 173 170 170 168 171 174 166 170 170 171 168 168 166 149 165 165 159 160 149 156 149 153 143 142 145 143 142 145 140 136 137 134 134 129 134 125 131 128 122 123 114 117 111 111 111 109 109 109 109 100 103 103 95 98 94 89 86 80 80 81
|
||||||
|
0 80 80 81 83 86 89 92 100 98 98 108 97 106 109 106 102 108 111 112 114 114 119 120 122 125 128 131 129 132 143 132 140 146 142 143 145 146 146 148 149 153 159 162 166 156 165 163 165 168 163 168 163 173 173 170 173 165 165 174 176 174 177 182 177 176 183 177 174 168 176 176 174 177 168 182 174 174 177 174 179 179 182 179 174 177 180 180 180 185 190 187 183 183 193 191 183 197 204 204 197 204 196 196 191 200 196 202 207 193 197 207 200 208 208 213 208 214 210 213 211 208 211 208 217 228 213 225 230 224 227 233 238 234 234 231 238 230 236 228 238 231 234 231 234 241 238 230 247 253 245 253 250 239 245 239 245 242 239 233 231 245 238 228 225 241 230 242 233 239 244 228 233 231 227 227 230 233 233 225 230 228 221 225 224 225 216 216 222 219 214 219 219 225 227 214 230 214 217 227 234 234 231 224 233 224 221 233 228 228 230 227 230 224 234 221 227 225 228 221 227 227 228 227 234 236 236 234 221 231 227 221 224 221 221 231 228 219 222 219 216 217 216 217 217 204 207 197 207 208 204 202 204 191 197 187 187 187 177 179 180 177 173 173 173 159 174 170 174 165 165 170 179 168 166 165 174 173 171 165 165 168 159 160 163 160 162 149 153 153 149 145 142 143 143 137 143 137 136 137 140 136 131 125 128 128 126 123 119 117 120 112 114 109 111 111 103 103 100 106 102 102 95 91 88 94 89 81 83
|
||||||
|
0 78 78 80 88 83 85 95 91 95 95 98 100 109 105 111 106 114 106 112 126 117 122 126 126 126 134 131 129 136 140 143 139 139 145 146 145 143 149 146 148 156 154 160 163 162 170 163 160 171 173 165 168 166 171 171 165 163 174 171 173 180 182 177 176 180 180 183 171 179 176 183 179 176 176 174 179 180 176 174 176 176 180 182 180 180 174 179 182 183 188 182 187 193 194 187 200 191 194 194 202 191 194 197 190 194 200 200 199 202 202 207 202 210 214 202 214 205 214 208 208 219 221 216 219 211 224 222 224 225 224 227 236 228 233 228 222 244 241 242 228 245 231 238 239 239 236 247 245 238 239 250 244 250 242 238 239 244 231 241 242 230 234 234 239 236 236 234 238 242 241 234 234 234 241 239 233 233 233 242 228 224 227 227 221 214 224 211 217 224 214 222 225 222 224 222 217 221 225 225 225 222 227 224 224 221 230 230 231 230 231 239 233 225 230 233 222 227 219 230 231 227 233 231 227 222 225 227 233 227 222 228 230 225 224 222 219 213 217 221 221 221 222 214 210 202 204 197 199 193 204 197 191 202 196 193 187 187 183 177 174 168 171 171 166 170 165 173 174 165 176 173 168 177 176 171 174 165 168 170 163 168 166 163 165 157 157 153 157 154 148 145 139 140 146 148 140 143 143 131 132 132 131 126 126 122 123 122 120 125 114 114 112 114 112 109 109 108 106 105 108 105 100 91 86 88 88 83 0
|
||||||
|
0 80 83 83 88 83 92 91 89 94 102 97 98 100 100 102 108 108 114 115 111 119 115 122 123 134 129 139 134 139 140 139 132 142 145 145 139 149 148 151 156 159 146 160 159 163 156 171 162 168 168 168 170 165 173 173 163 176 173 171 176 177 174 177 180 174 179 187 187 174 179 182 173 177 183 171 179 170 174 174 179 174 177 185 170 179 173 176 177 177 180 185 182 187 180 199 194 196 197 193 190 190 193 185 200 204 202 200 204 199 207 208 210 204 205 205 211 207 210 208 213 219 211 221 216 219 225 222 219 221 221 233 233 231 233 234 231 245 245 239 241 230 234 231 244 242 244 245 239 244 253 245 238 241 247 238 247 238 239 238 234 248 231 233 238 234 234 244 238 236 239 234 244 241 227 233 228 231 227 233 228 228 225 219 216 222 213 221 222 210 219 217 217 225 225 228 219 224 228 228 231 233 228 221 228 222 230 231 216 224 219 228 231 238 230 219 222 230 233 225 228 233 224 228 225 219 228 228 222 227 221 222 222 222 231 225 225 224 217 219 219 228 221 214 210 217 207 213 204 200 204 204 187 197 199 194 183 191 180 170 179 182 165 159 160 166 174 168 174 168 182 176 173 171 174 173 173 170 162 171 173 170 168 162 156 160 156 156 148 151 149 148 148 148 142 140 142 145 137 137 140 131 128 139 126 128 128 126 119 120 114 117 112 112 112 109 108 105 105 102 103 98 94 95 91 91 88 83 83
|
||||||
|
0 80 0 83 88 85 83 85 91 91 92 98 100 97 105 103 109 109 123 114 117 122 128 128 134 123 131 137 132 137 136 140 143 143 137 140 146 153 151 159 153 149 160 163 165 162 171 162 162 165 162 168 170 162 165 166 170 176 168 188 173 168 182 179 187 180 179 171 179 176 173 174 176 170 173 176 177 179 180 176 174 180 173 177 182 170 174 180 180 177 179 173 182 183 191 190 197 190 191 190 193 205 193 199 197 194 194 202 202 202 205 213 208 207 214 207 205 213 208 208 207 213 211 216 221 214 222 213 227 228 225 227 227 228 230 236 233 231 238 239 231 245 233 244 238 242 244 239 247 253 244 250 253 250 241 239 241 238 234 233 233 230 238 233 230 238 238 241 230 233 236 236 233 242 231 236 239 233 228 224 231 225 231 222 222 225 217 214 213 222 227 210 221 216 224 207 210 216 216 230 219 222 219 233 219 224 227 224 233 225 230 227 230 225 216 234 233 228 217 224 225 225 231 230 230 222 233 225 221 230 222 225 224 227 224 228 222 214 211 224 219 213 219 219 211 200 205 205 194 191 191 199 196 194 197 193 194 187 193 177 182 179 170 168 170 165 162 162 168 168 165 170 165 173 177 180 168 168 168 176 171 165 170 160 163 160 162 163 156 153 153 148 143 143 143 148 148 139 136 140 136 136 136 128 128 128 128 123 120 117 115 122 115 114 112 111 109 106 105 103 103 102 95 95 91 88 88 80 83
|
||||||
|
0 0 0 0 80 80 86 85 91 92 100 97 95 102 105 108 109 111 117 115 119 120 120 126 126 126 131 131 134 139 139 140 149 143 146 143 146 151 154 149 153 153 162 153 160 159 157 160 163 159 165 163 171 173 171 171 170 183 171 182 176 174 173 173 182 171 180 180 185 179 173 185 177 176 171 180 174 176 173 171 179 177 177 166 177 171 185 173 180 173 180 174 185 185 188 197 188 187 193 193 193 190 194 196 202 205 196 199 204 210 204 217 202 208 208 204 211 210 211 207 217 211 213 213 217 211 221 216 219 221 222 227 233 234 230 230 238 233 228 238 230 236 239 236 239 247 248 251 250 255 241 248 241 238 242 244 247 239 230 239 236 228 241 239 241 236 234 238 236 233 242 239 230 244 244 236 231 236 234 236 227 225 231 211 230 216 221 217 211 213 219 210 213 221 217 211 219 221 224 230 225 221 228 224 224 219 224 224 222 224 234 234 228 230 224 224 222 222 222 230 227 234 216 230 224 238 230 227 227 233 224 234 230 227 225 231 221 219 225 216 216 214 216 210 208 205 208 197 204 197 204 196 196 194 197 188 190 193 183 185 174 174 170 174 168 160 162 157 163 163 171 163 177 171 174 170 170 173 166 162 170 166 168 156 166 154 154 163 160 159 151 153 149 148 140 142 143 145 143 139 129 132 139 131 128 125 131 125 123 122 115 115 112 115 112 111 111 103 106 106 103 95 95 97 94 91 92 86 83
|
||||||
|
0 0 0 0 0 81 83 86 89 92 95 97 103 102 106 105 109 111 112 120 122 119 125 123 129 132 128 137 136 140 142 142 142 146 145 154 146 145 151 151 151 154 156 160 159 159 159 165 165 168 166 168 162 166 170 171 174 171 179 176 179 183 176 176 179 173 177 174 166 174 177 176 177 176 171 174 176 171 173 174 177 174 177 182 173 180 174 180 177 177 179 180 176 187 188 183 193 190 194 193 193 191 190 196 197 199 204 205 202 207 205 213 211 207 208 214 210 214 202 205 213 216 210 210 217 219 214 219 221 224 225 222 225 222 238 225 234 234 234 242 238 228 238 244 244 238 244 241 247 241 245 231 248 241 241 239 236 233 236 239 236 238 230 238 234 236 245 231 244 239 231 236 236 236 247 233 236 227 230 230 236 225 233 233 230 216 219 216 217 214 211 219 216 211 216 217 214 225 225 222 219 222 231 219 230 225 224 228 225 231 224 227 233 230 224 222 231 217 225 224 221 219 228 238 216 228 219 224 227 227 230 227 224 221 225 227 221 216 221 222 211 219 211 216 204 205 205 202 199 204 191 200 191 199 193 188 188 183 191 185 180 171 173 168 165 159 160 171 154 166 166 170 171 166 165 170 162 165 171 168 166 163 160 168 170 160 160 156 159 156 156 151 151 153 146 153 139 146 151 136 137 131 131 128 128 129 125 123 125 122 117 119 114 112 108 111 108 109 105 108 98 106 103 95 94 89 92 88 80
|
||||||
|
0 0 0 0 0 80 86 89 92 98 94 97 102 105 106 103 108 111 111 112 122 125 128 126 126 129 131 134 140 137 139 142 151 143 149 145 151 143 149 156 154 154 156 157 166 159 162 168 165 168 168 171 160 163 168 171 171 179 174 180 168 179 177 179 177 173 179 177 177 174 177 179 174 179 177 182 171 168 173 180 170 165 173 177 176 170 174 180 174 176 180 180 179 185 179 190 185 190 185 194 187 193 194 197 202 196 199 208 208 211 205 199 197 205 213 217 208 204 214 210 205 207 213 214 221 214 224 214 214 224 225 230 239 221 241 225 236 236 236 239 224 233 233 239 234 241 242 247 244 241 247 242 242 236 241 239 231 245 239 236 239 238 228 239 242 244 231 241 244 238 238 238 241 239 238 236 234 228 236 230 225 236 230 227 236 222 211 217 213 217 227 219 214 211 214 217 216 222 230 219 219 224 227 227 228 231 230 231 231 233 231 233 234 230 224 224 222 221 224 230 227 227 216 230 230 222 231 230 221 224 224 227 230 227 221 217 221 216 217 211 219 216 211 211 211 210 210 205 193 190 191 191 194 193 187 179 185 185 176 177 171 174 173 166 163 166 162 170 166 160 166 168 171 170 173 176 168 176 168 173 165 171 160 168 163 165 162 166 153 159 151 159 145 151 153 151 146 148 146 142 140 139 128 134 132 129 122 119 123 119 117 120 117 112 112 108 106 108 108 105 100 102 100 94 92 92 86 86 88
|
||||||
|
0 0 0 81 0 83 88 89 92 95 98 100 102 108 108 109 112 119 119 117 117 120 115 123 129 134 137 137 134 129 137 146 146 146 149 153 154 151 145 151 153 157 159 157 156 162 162 160 165 168 165 162 166 166 173 166 173 173 176 177 174 176 180 179 180 171 174 176 174 176 171 179 182 173 173 177 176 176 168 165 179 173 168 177 179 177 183 179 180 177 182 177 170 182 185 180 183 187 187 188 190 188 193 202 196 207 196 204 197 205 207 210 207 211 213 204 210 213 217 205 210 210 207 214 208 210 221 231 221 238 230 225 239 233 230 242 231 236 225 234 234 244 241 242 242 239 241 241 244 239 241 238 236 250 238 247 231 245 239 230 239 238 241 242 225 238 244 236 233 236 236 228 241 242 244 239 234 234 234 225 236 230 228 238 224 221 228 213 221 217 211 219 214 213 216 219 227 219 228 221 228 227 222 224 224 238 228 227 228 228 231 231 230 228 222 227 225 225 221 222 225 224 227 221 228 230 238 233 228 231 221 224 219 217 227 222 213 222 213 211 216 216 211 214 207 216 202 202 188 196 187 191 196 190 197 190 187 183 177 174 177 173 157 174 173 165 160 157 163 168 171 162 168 171 165 174 165 176 168 170 173 170 165 162 162 162 163 160 159 153 146 159 149 145 148 151 149 145 142 139 142 140 136 132 123 128 126 122 125 120 122 112 114 109 111 112 105 109 105 102 100 102 97 95 97 98 92 86 88
|
||||||
|
0 0 0 0 78 91 89 88 91 92 94 95 100 106 105 109 112 115 119 119 119 120 125 122 129 128 128 134 128 143 137 139 146 146 148 154 153 153 159 156 157 153 160 162 159 165 162 165 159 163 166 170 171 168 163 171 176 174 170 176 173 180 173 182 171 180 177 179 177 174 177 171 176 170 171 174 163 170 173 171 173 173 170 176 182 176 177 179 185 182 176 174 185 182 185 190 190 188 188 187 188 190 193 207 196 199 205 204 208 213 199 200 213 210 208 219 207 217 207 207 213 217 219 208 205 214 221 222 228 224 224 238 230 224 241 228 245 239 224 230 234 242 242 244 242 244 247 244 242 245 238 234 241 236 238 238 234 233 230 236 234 236 248 244 245 239 233 245 239 236 234 244 234 239 241 238 244 242 233 230 230 228 234 228 228 225 217 221 214 217 210 211 208 208 214 222 221 224 230 219 227 217 227 236 227 221 228 227 222 231 217 230 236 222 222 224 228 217 231 224 224 224 224 217 233 225 224 228 231 227 230 224 230 224 216 210 214 207 213 214 216 208 214 211 208 208 205 200 197 200 191 194 197 190 190 191 188 176 183 179 171 171 173 166 160 166 156 165 159 163 162 166 170 165 165 176 166 162 170 174 177 174 168 163 165 163 159 159 159 156 151 162 156 148 151 142 146 142 146 136 134 140 137 131 129 129 123 123 122 123 117 117 115 115 114 103 109 102 106 100 97 95 92 97 89 92 88 88 86
|
||||||
|
0 0 78 83 80 83 85 86 94 97 97 100 106 106 111 115 112 112 119 119 114 125 129 125 126 131 134 134 136 137 148 140 148 146 143 154 151 154 156 149 160 153 159 149 165 159 163 165 171 173 168 168 165 173 170 176 174 177 173 174 171 185 185 174 180 177 171 180 183 180 177 168 171 174 173 168 170 168 180 176 179 176 180 177 182 173 182 176 182 187 173 185 190 180 177 188 185 182 185 187 190 197 193 190 200 202 200 202 211 211 213 213 208 216 217 208 204 205 217 202 210 216 213 210 211 225 227 216 228 227 224 234 233 228 233 234 228 228 231 231 233 242 236 245 244 234 233 247 248 250 239 247 233 239 236 241 239 234 236 238 234 242 242 236 236 244 231 239 238 241 238 244 244 239 239 231 231 236 236 228 233 227 225 231 234 227 222 216 228 217 224 211 210 213 214 224 222 217 225 217 221 224 216 239 231 222 230 227 228 230 225 231 225 230 225 219 227 224 225 225 224 231 222 228 231 233 230 236 234 234 221 222 222 219 219 216 217 207 221 211 210 217 207 210 207 199 199 200 200 191 196 199 194 191 188 190 180 182 180 185 176 170 176 170 171 168 163 166 163 166 162 159 160 166 170 160 174 168 168 171 170 165 168 173 166 168 165 163 165 157 154 163 159 148 154 148 145 137 145 137 136 136 137 129 136 117 117 126 122 120 115 117 115 115 115 114 112 109 105 102 105 89 100 94 92 92 89 91 85
|
||||||
|
0 0 78 0 78 86 86 92 92 92 97 100 102 108 109 112 114 115 114 122 119 119 125 125 129 128 136 131 140 139 148 143 148 153 143 154 159 156 153 159 162 160 160 156 157 165 173 163 166 159 166 166 171 168 165 173 170 176 171 173 176 177 173 174 177 177 177 180 179 176 185 171 179 177 166 168 163 173 174 173 174 176 168 179 179 176 183 180 180 179 180 180 182 183 182 183 180 182 187 190 190 191 202 200 199 196 200 205 204 205 211 208 208 205 205 213 200 210 200 216 204 207 222 213 222 216 224 222 216 224 230 234 230 239 234 228 230 230 231 230 234 239 239 239 241 234 239 241 233 241 238 234 227 238 236 230 242 239 241 236 238 241 231 238 239 236 239 239 236 238 234 242 244 234 238 238 230 233 238 221 236 233 234 230 239 236 227 224 210 219 213 222 207 216 219 219 216 224 224 224 221 221 225 222 227 221 227 228 219 221 230 228 234 224 227 213 219 227 225 227 228 224 230 227 228 228 234 227 228 221 227 222 224 233 216 216 213 217 207 210 213 213 214 213 208 205 205 200 197 190 183 185 191 194 194 188 193 183 183 174 176 171 179 166 179 166 163 159 157 163 160 163 165 168 176 162 170 177 173 173 176 173 176 170 170 163 163 166 162 160 157 156 148 151 151 146 140 146 143 142 142 145 132 140 131 129 126 122 123 122 125 115 115 115 119 103 109 106 109 103 100 98 98 94 88 91 92 88 85
|
||||||
|
0 0 80 0 83 89 81 94 92 103 97 102 103 102 106 106 108 123 122 122 120 120 126 128 132 139 131 143 140 136 139 139 145 151 151 154 159 151 159 159 163 163 154 160 170 159 160 168 168 170 168 173 171 170 170 170 168 179 171 179 177 176 182 179 182 177 183 176 177 177 174 171 173 171 171 168 180 176 174 180 177 179 173 176 179 180 185 188 183 180 187 177 180 180 182 185 190 191 182 190 188 190 197 191 204 205 205 197 208 216 210 207 210 210 211 208 214 207 207 210 216 219 217 213 219 231 222 213 225 227 230 227 228 238 231 236 236 221 233 234 233 236 238 241 236 241 241 239 241 234 241 233 241 234 239 233 236 236 236 236 238 228 238 234 239 239 239 238 231 238 234 248 241 242 244 231 238 231 234 239 225 233 227 231 222 225 234 219 214 211 211 211 211 216 214 222 219 219 219 225 227 224 225 234 217 225 230 225 231 222 230 228 231 224 225 225 227 228 231 227 221 222 230 227 233 224 228 228 227 231 234 217 225 222 216 216 219 211 211 221 210 208 205 208 196 208 200 204 193 193 187 188 188 185 188 187 183 177 177 174 171 171 160 179 173 177 168 170 160 163 166 166 170 171 166 166 171 165 170 176 166 166 171 174 166 168 171 168 162 163 160 160 149 154 149 149 143 151 142 142 142 142 139 131 134 131 126 123 125 119 126 120 112 105 111 111 106 108 108 100 98 98 95 98 92 91 85 88 89
|
||||||
|
0 0 78 0 85 89 89 94 94 98 98 102 100 103 103 115 112 117 120 119 119 123 123 129 131 136 129 136 146 136 139 143 149 146 151 151 148 153 154 157 157 159 166 162 165 163 171 166 163 162 170 171 170 170 174 176 180 177 171 176 188 179 174 174 177 185 179 180 174 190 176 173 173 170 168 179 168 171 179 173 182 177 180 179 176 185 180 177 187 183 187 180 182 183 180 182 187 183 180 187 187 194 190 204 200 204 205 204 200 207 205 205 207 214 210 210 204 211 217 207 211 213 221 216 221 217 221 222 221 219 225 233 230 221 230 233 236 230 239 239 236 227 241 239 241 236 236 239 231 233 234 228 222 233 224 241 236 233 241 241 236 234 241 231 234 233 236 236 247 241 241 241 241 236 239 239 236 239 230 231 224 236 233 224 230 224 225 210 207 214 216 208 204 219 217 211 227 219 224 219 217 222 230 228 233 225 221 234 230 228 228 225 228 222 225 230 230 228 227 230 219 224 217 225 224 227 230 231 225 227 214 222 227 219 210 221 213 221 213 219 222 210 213 208 211 200 196 196 187 188 197 190 190 180 183 183 188 177 171 173 166 163 173 173 173 165 163 162 166 165 160 165 163 170 173 168 176 170 170 176 177 170 168 166 168 176 166 165 165 162 159 159 163 156 148 154 156 140 143 142 137 139 134 137 134 132 123 126 122 122 123 115 117 115 114 114 109 108 103 103 105 102 98 95 97 92 89 86 86
|
||||||
|
0 0 81 80 85 81 88 94 94 97 98 102 102 103 106 106 112 112 120 122 123 123 123 136 131 131 137 131 131 137 140 140 143 148 148 157 153 149 159 156 160 156 159 157 154 163 162 162 168 176 165 170 166 173 171 166 176 171 177 179 171 177 176 183 176 173 180 182 177 177 180 177 174 173 173 171 174 174 182 174 174 176 174 174 183 177 187 183 187 177 183 176 179 188 187 187 180 187 183 188 194 193 196 190 207 204 197 204 197 208 213 202 214 208 213 207 211 214 214 208 204 211 200 216 221 216 222 222 213 224 228 233 230 234 234 222 234 234 231 234 228 236 236 238 244 242 242 245 238 238 241 234 228 231 231 230 227 234 230 239 234 231 230 234 241 239 230 241 238 238 239 242 241 242 239 234 233 233 228 228 230 239 231 222 230 225 222 214 211 208 202 207 213 210 219 219 219 219 225 224 222 224 221 217 222 222 219 227 233 221 221 228 219 228 219 224 224 228 222 225 219 233 231 221 227 230 225 219 219 224 221 227 217 213 217 216 216 213 216 211 211 213 211 204 205 197 194 200 194 190 188 190 187 191 196 182 171 173 173 166 171 160 173 171 171 168 173 168 165 162 162 168 165 166 168 170 174 180 177 171 174 176 173 173 176 171 174 170 159 159 157 160 162 153 146 145 154 145 149 143 149 142 137 134 134 125 131 126 123 129 125 114 112 114 114 112 112 105 112 106 102 100 92 97 100 94 86 85 80
|
||||||
|
0 0 80 81 86 86 83 91 92 95 95 100 102 102 112 112 111 109 115 117 119 123 126 128 129 134 136 137 142 137 137 140 148 145 153 153 146 157 151 149 154 157 160 160 159 166 166 166 170 166 162 170 166 179 174 173 176 174 182 171 180 177 173 171 179 183 176 182 177 173 165 174 179 177 171 171 165 168 168 174 168 182 176 177 182 183 183 188 185 188 187 183 179 179 177 182 179 180 188 194 191 187 197 200 199 204 200 207 210 202 207 205 202 210 211 214 219 208 207 211 213 217 208 208 225 214 222 211 224 236 234 227 236 228 231 233 227 230 228 236 242 233 233 236 244 231 247 233 241 234 236 225 225 233 230 236 224 234 242 227 230 241 241 224 234 231 239 239 238 242 238 245 239 242 239 234 233 231 230 230 228 227 241 234 227 230 222 225 210 208 202 216 210 213 221 224 217 224 217 224 219 216 219 221 224 225 227 227 225 225 216 227 228 225 225 224 228 227 224 222 228 236 211 217 222 225 222 225 230 227 222 227 219 217 221 219 217 221 219 213 216 210 217 200 216 207 191 194 191 196 193 191 183 182 188 180 170 174 170 171 171 177 171 174 174 180 176 165 162 170 166 163 174 168 171 171 168 173 174 170 180 166 170 174 170 176 168 163 165 162 165 157 156 148 153 153 143 146 145 148 143 136 142 134 137 129 128 129 126 125 126 117 119 117 112 111 106 108 111 105 102 100 95 97 91 83 91 85 78
|
||||||
|
0 0 78 83 86 83 95 92 92 92 95 100 102 105 105 109 115 114 115 117 125 125 128 126 132 134 132 132 137 142 143 142 145 145 149 148 156 156 151 157 153 156 160 156 163 162 163 166 166 170 179 168 168 170 171 170 166 171 173 170 174 177 182 177 174 171 177 174 179 176 177 185 174 174 177 171 170 174 177 173 183 185 173 183 183 188 180 182 190 179 182 191 183 182 183 180 185 180 187 191 196 188 196 194 199 202 205 213 200 205 210 202 200 208 214 214 207 213 227 210 217 205 217 221 211 222 224 214 216 227 221 227 228 231 230 227 236 230 236 228 239 238 244 236 236 244 241 239 233 230 230 221 231 238 233 236 239 221 238 233 233 228 236 241 241 228 239 225 238 231 241 238 236 234 236 233 236 238 221 230 233 236 228 231 233 227 219 219 202 208 199 200 222 216 210 213 213 217 222 217 219 217 224 222 225 219 221 219 221 228 222 219 221 213 221 227 225 219 227 227 225 225 224 225 214 222 213 224 225 221 227 217 222 219 224 217 219 217 224 208 219 213 211 213 213 199 197 199 197 191 197 185 180 182 182 182 182 180 166 177 170 176 170 170 183 174 171 173 168 168 168 176 170 166 168 170 176 173 165 170 166 170 173 163 173 162 173 165 168 162 162 156 163 153 148 149 146 148 146 143 145 143 145 139 137 129 129 126 131 125 122 114 115 117 117 106 108 111 103 98 97 95 100 94 88 89 86 81 80
|
||||||
|
0 78 81 80 83 89 88 94 91 94 102 100 106 112 112 114 111 115 115 126 120 122 129 131 126 129 134 139 134 136 140 137 149 145 153 148 151 151 149 154 153 157 156 163 160 163 165 170 166 176 166 171 166 170 173 174 176 165 174 173 174 177 182 171 183 187 177 183 179 176 180 174 176 176 174 173 171 180 173 174 179 176 182 174 182 188 188 188 183 185 173 180 177 183 180 185 179 182 191 196 188 193 197 204 200 199 207 202 207 205 205 199 213 211 211 219 210 213 224 217 211 217 225 222 214 225 219 216 230 227 219 230 221 224 224 224 225 225 234 236 228 236 231 238 238 250 233 231 233 236 231 222 228 234 228 230 241 233 228 242 231 239 230 239 236 234 233 236 225 233 238 236 241 233 238 239 234 234 233 222 225 227 233 224 221 221 225 213 214 202 202 211 211 211 214 214 221 216 221 216 219 217 222 221 219 222 219 238 227 227 227 216 217 233 228 221 225 219 224 228 222 225 221 214 225 221 216 219 219 219 222 222 222 222 214 227 219 222 219 222 202 210 214 211 208 196 200 204 196 193 193 188 183 179 180 180 171 174 173 174 182 174 170 183 170 176 174 174 168 171 163 168 170 166 177 168 168 179 180 177 173 173 174 173 166 173 173 174 171 170 159 165 156 149 151 149 148 140 148 146 146 137 145 140 137 129 128 134 125 120 114 114 117 109 114 112 108 105 100 108 97 100 92 92 88 89 86 86 83
|
||||||
|
0 0 78 83 86 88 92 92 97 98 95 105 100 108 114 114 115 114 120 122 122 125 128 128 131 132 136 136 137 142 143 136 145 143 146 146 148 149 149 148 148 153 162 156 159 162 162 166 163 162 168 170 170 171 166 170 174 176 173 174 173 185 179 183 173 177 174 173 180 177 173 179 174 174 171 171 173 171 176 180 180 180 187 179 182 180 190 187 190 185 183 193 188 176 183 187 180 179 187 191 185 200 194 199 202 207 196 205 202 205 208 217 213 216 204 208 214 210 207 213 221 211 211 217 216 225 224 221 221 222 225 219 225 231 231 228 231 239 233 238 239 231 231 236 236 231 236 228 230 225 241 225 228 227 231 228 234 231 238 233 231 236 239 228 236 231 231 236 241 238 230 230 241 230 239 231 231 236 238 230 228 227 231 227 233 227 217 217 204 202 211 217 207 208 210 217 211 208 216 214 213 221 217 227 221 219 221 227 222 230 228 227 228 225 228 230 231 222 225 230 219 219 224 224 222 214 222 225 221 224 217 227 219 210 219 217 221 211 216 213 221 210 214 214 211 204 202 202 204 185 194 196 190 182 182 180 174 179 171 170 170 176 173 174 171 176 166 174 177 166 171 166 171 174 173 176 180 170 174 171 177 173 174 177 171 174 171 163 168 160 162 154 153 154 148 151 149 151 143 136 148 142 134 136 137 132 134 128 125 120 123 112 114 111 111 109 112 105 102 102 98 95 91 92 91 88 86 83 83
|
||||||
|
0 80 81 83 85 88 92 95 98 100 98 103 105 108 114 114 112 112 123 119 128 126 131 125 131 134 137 134 140 131 140 142 140 146 146 148 145 146 148 154 157 156 146 160 157 162 160 160 162 166 170 168 163 165 166 171 170 170 162 177 174 165 177 177 171 177 176 176 180 176 182 176 179 173 173 173 176 173 174 177 180 179 180 179 183 180 180 187 182 180 187 182 188 176 182 188 193 185 188 190 200 197 200 204 204 205 200 208 205 204 207 205 208 213 210 213 204 211 221 210 214 219 216 217 222 217 230 227 217 222 233 222 225 222 222 227 224 230 236 233 236 236 239 238 227 238 230 227 239 238 238 222 222 234 231 231 230 227 230 228 238 238 236 224 233 236 231 234 234 238 234 236 228 239 236 242 231 228 234 234 241 231 227 233 222 227 225 208 207 200 208 202 210 210 208 204 211 216 219 213 216 217 213 225 219 221 225 219 219 227 230 222 227 225 219 219 228 230 221 228 224 217 227 216 217 225 210 228 214 227 217 213 221 214 225 216 219 216 222 228 204 217 208 214 207 199 210 196 205 197 194 194 187 177 176 173 174 174 171 174 168 166 173 174 177 174 165 171 174 170 171 166 177 171 171 177 176 176 171 170 179 176 170 168 174 163 162 170 170 154 156 149 153 160 154 160 151 142 140 148 140 143 139 137 139 126 129 122 120 123 119 114 114 111 112 112 105 105 103 102 98 95 97 95 92 92 88 85 80
|
||||||
|
0 78 0 81 89 86 92 94 97 100 97 105 103 105 111 112 114 109 117 123 119 129 125 126 129 134 128 137 140 140 142 143 142 145 140 143 145 146 149 157 146 165 156 156 163 163 157 168 162 162 166 170 171 170 174 166 163 173 168 173 163 171 174 173 179 176 174 179 188 177 174 179 171 179 174 174 179 174 176 177 176 183 182 180 183 185 185 187 193 179 179 180 190 183 179 183 183 185 191 194 197 191 199 194 202 205 207 196 208 200 219 204 222 213 214 208 219 210 216 217 216 214 217 217 216 227 216 225 230 225 227 225 230 227 230 244 225 234 225 227 234 233 238 228 231 230 230 241 233 225 231 225 234 233 225 234 224 230 236 234 233 241 234 234 239 236 238 234 253 239 227 231 231 234 230 227 236 228 228 230 230 225 227 234 224 216 204 205 199 217 205 202 204 214 211 204 213 211 214 217 216 217 213 219 219 225 225 231 231 222 227 236 224 227 225 227 224 230 227 219 222 225 227 217 219 219 217 217 221 222 217 231 217 221 219 228 217 224 208 222 217 214 205 207 217 208 191 200 197 196 193 187 183 182 173 176 177 171 174 174 170 173 179 171 176 166 173 170 170 166 166 171 170 168 174 177 174 170 173 177 170 168 171 176 168 170 166 170 166 165 157 153 156 157 143 148 142 145 143 139 142 136 139 142 137 132 131 125 128 120 119 120 115 108 108 111 108 97 106 102 98 95 95 91 86 89 92 89 85
|
||||||
|
0 0 80 81 85 89 91 91 92 95 106 105 105 105 108 109 117 117 119 120 122 122 123 126 126 131 129 139 131 139 136 136 139 137 143 140 149 146 148 149 145 154 157 154 166 160 160 166 160 159 166 160 162 162 165 170 168 170 174 173 173 166 176 179 173 179 171 179 174 174 182 179 176 176 176 177 168 173 177 180 177 183 185 183 179 190 185 190 187 188 180 179 182 174 191 191 182 187 188 194 190 185 200 204 200 194 204 211 205 213 205 205 208 208 205 216 216 214 216 207 210 222 213 221 217 219 222 224 225 227 221 224 225 222 234 236 236 241 233 228 236 236 231 238 228 234 230 234 234 227 227 221 222 224 234 233 227 233 234 236 228 239 241 227 231 233 236 227 234 233 230 231 230 228 239 231 236 228 230 239 236 225 234 224 222 214 224 200 205 205 200 205 205 210 211 210 204 202 213 217 213 224 225 222 221 221 219 216 225 225 228 225 231 227 225 221 224 227 224 230 227 217 222 217 214 225 213 217 217 217 231 221 222 225 221 217 221 216 221 221 216 214 213 217 207 210 199 205 200 199 190 190 187 171 176 176 165 176 179 180 177 171 174 183 179 174 176 177 173 173 170 171 166 163 170 168 174 183 177 174 171 174 174 168 170 171 170 163 163 162 166 154 154 154 153 146 149 146 148 140 145 139 136 134 134 139 131 128 136 126 122 117 117 112 115 105 105 106 108 100 102 95 98 92 95 92 95 86 83
|
||||||
|
0 81 85 83 89 89 92 95 95 97 105 106 100 112 108 114 112 115 114 119 120 131 123 126 126 134 131 132 146 132 137 143 140 146 142 151 145 146 153 146 154 154 160 157 170 160 163 163 157 165 165 162 168 166 166 165 173 165 173 168 163 173 170 165 171 173 177 170 171 171 170 173 176 179 174 174 176 177 183 179 182 185 190 185 188 182 190 190 185 183 187 182 176 174 177 183 183 187 193 185 185 191 188 202 200 205 208 204 210 205 207 208 210 219 211 200 208 214 213 211 214 221 214 224 219 230 224 236 214 227 227 211 234 231 227 230 231 228 239 231 234 231 233 228 236 231 228 225 222 228 231 222 228 230 234 227 217 239 227 222 228 234 233 234 233 228 233 234 241 230 234 231 239 234 224 238 238 228 230 236 227 225 227 225 222 219 211 204 205 205 196 190 204 197 216 202 207 207 208 214 214 213 227 217 227 219 224 228 228 225 224 224 230 214 224 219 219 227 217 227 219 221 219 224 217 211 214 214 225 231 219 221 222 213 217 222 216 217 219 221 216 217 213 211 211 200 210 202 197 196 187 188 188 180 187 171 170 179 174 173 188 182 176 174 179 183 171 171 173 168 170 170 171 165 165 162 171 162 168 173 168 170 168 170 168 171 166 168 165 165 163 162 156 160 156 148 148 145 149 142 140 140 140 136 142 131 129 128 122 123 123 120 115 117 112 109 108 102 109 106 103 100 97 94 92 91 88 89 83
|
||||||
|
0 78 83 85 89 91 91 92 97 97 100 108 108 105 117 115 119 114 120 119 120 123 129 122 125 128 129 136 139 137 142 139 143 143 143 140 142 142 157 151 154 154 156 162 156 168 156 163 166 157 159 170 165 163 159 173 170 171 165 166 170 168 177 177 170 176 171 180 174 183 176 170 180 170 174 173 170 176 182 177 180 176 180 185 179 191 190 188 191 180 190 194 185 180 180 185 174 188 183 185 194 191 193 193 200 204 210 204 213 204 207 219 217 210 213 211 214 211 208 213 216 214 224 208 216 221 222 219 224 225 213 221 228 227 230 233 234 230 234 230 231 221 236 230 236 236 225 227 228 224 233 228 233 231 230 236 236 234 222 231 239 233 239 227 238 233 231 233 227 224 228 233 225 234 236 234 227 233 231 231 228 224 217 231 227 216 216 216 202 208 202 205 204 204 202 205 208 208 207 217 216 221 219 224 221 222 233 230 224 224 228 225 225 225 231 214 225 214 219 216 219 214 224 221 211 221 213 213 208 219 214 221 219 225 214 228 216 214 221 217 213 207 216 207 204 207 208 200 202 193 196 188 190 183 179 174 173 173 176 174 171 180 176 179 182 177 174 173 176 173 170 171 170 170 170 176 171 170 171 173 176 163 174 180 168 170 166 171 159 159 166 157 156 156 153 154 146 146 143 145 145 142 137 142 140 136 134 129 128 122 122 120 115 117 112 108 112 112 106 103 102 102 95 95 91 92 86 85 81
|
||||||
|
0 0 85 88 92 91 97 92 98 98 102 105 111 114 111 117 111 117 117 115 119 125 132 125 128 128 132 139 139 132 140 143 142 148 143 154 153 149 149 151 160 151 156 157 154 162 160 157 171 160 160 165 159 160 165 168 168 170 174 177 165 182 162 176 166 166 173 177 171 174 173 173 173 162 166 185 171 177 176 176 183 179 188 188 188 188 183 185 190 187 183 183 187 183 183 182 190 182 182 183 187 194 202 204 208 202 207 204 202 210 202 204 210 210 213 214 207 202 213 213 221 216 222 219 222 230 222 227 221 225 222 225 224 234 233 228 231 227 221 238 231 233 233 227 227 227 222 225 221 221 225 224 228 227 228 234 227 236 238 230 227 233 234 234 234 230 234 241 231 236 233 230 227 230 227 222 225 231 236 228 228 230 230 224 217 216 213 202 208 204 199 197 200 191 194 214 208 208 205 208 214 213 217 227 213 221 213 228 221 230 231 224 231 221 217 219 224 228 219 228 214 221 219 213 222 222 216 221 221 213 222 224 214 227 214 216 221 227 224 211 213 205 205 213 210 208 207 200 202 197 188 196 188 180 180 179 177 183 179 166 182 171 183 171 176 183 177 174 168 168 174 174 170 170 173 173 165 170 170 168 170 168 176 171 174 174 166 162 166 156 157 156 157 148 148 159 148 142 148 154 140 137 136 134 140 132 128 126 131 123 122 119 117 115 117 106 108 105 105 97 103 100 100 85 92 89 86 83 80
|
||||||
|
0 78 88 86 91 91 92 92 94 100 102 103 108 112 115 114 120 115 119 119 128 125 123 129 132 129 137 132 134 139 134 140 145 137 143 146 146 146 154 153 157 151 163 156 156 163 157 162 166 160 157 168 162 168 165 159 166 171 165 162 170 168 173 168 166 179 173 173 173 179 179 171 177 171 173 177 179 176 179 176 180 185 182 187 187 187 183 182 190 183 190 183 179 180 193 187 183 179 188 187 200 193 191 200 196 210 202 202 205 200 211 202 204 214 214 207 208 210 213 217 210 214 210 219 210 225 225 230 221 221 230 227 228 227 222 239 225 228 239 236 222 241 231 227 228 225 224 227 225 228 219 217 221 224 227 230 221 225 230 224 225 228 234 233 234 231 231 233 228 231 242 231 239 230 228 227 233 238 234 236 224 222 227 222 219 217 205 204 204 199 199 202 202 194 196 205 202 216 202 208 208 208 216 219 219 219 222 222 219 230 227 224 224 224 219 219 228 224 217 222 222 221 211 216 214 213 222 219 224 217 216 219 217 225 222 213 224 230 214 213 217 222 207 205 208 202 194 202 204 204 190 193 182 182 179 177 177 171 177 180 174 182 182 177 176 182 179 174 176 173 176 183 168 176 168 171 171 166 173 168 176 171 168 168 170 160 160 170 157 154 156 153 156 151 149 149 143 143 140 137 129 143 137 140 137 128 128 126 120 119 120 111 111 111 108 108 108 100 97 100 97 95 97 94 88 88 88 83 83
|
||||||
|
78 78 81 86 92 85 92 100 102 100 108 103 108 106 117 112 109 120 117 120 123 123 128 129 129 132 137 136 140 139 137 142 148 140 145 148 146 149 149 151 153 159 160 156 159 159 163 159 156 157 160 168 160 165 168 162 166 168 165 166 165 177 166 166 177 171 174 173 174 170 171 179 176 180 174 179 180 170 176 182 182 187 176 187 183 191 187 190 187 185 183 185 183 179 179 188 183 177 185 197 190 199 194 199 199 194 204 208 202 217 202 207 204 214 205 197 211 208 221 208 214 213 217 217 214 219 228 224 216 230 221 227 227 228 233 231 227 227 230 225 228 224 224 234 231 233 230 227 225 228 217 221 221 230 231 227 244 230 236 236 228 238 224 233 233 230 228 221 224 231 228 224 228 233 230 222 224 231 222 231 222 227 227 227 217 208 204 204 208 199 200 199 197 197 196 199 205 200 202 213 213 210 214 224 217 222 222 221 221 219 222 221 224 211 228 227 221 231 219 217 210 213 213 211 221 217 214 211 214 214 219 216 214 216 221 219 211 207 213 205 213 213 214 210 207 207 200 200 196 188 202 190 180 177 187 171 176 170 176 179 182 187 176 176 176 174 173 176 179 171 174 173 168 174 168 165 174 165 168 163 168 162 165 166 163 163 156 165 151 149 160 157 143 148 146 148 139 142 143 137 143 136 134 132 128 129 125 129 122 119 119 112 114 108 108 106 108 103 106 100 94 94 97 91 92 91 85 86 85
|
||||||
|
78 83 85 91 86 92 95 91 105 98 102 102 106 112 111 109 123 115 111 117 119 126 128 126 131 136 132 132 137 131 136 139 142 143 153 146 145 151 149 153 151 151 159 154 157 157 156 163 160 162 162 157 160 162 168 165 171 168 165 168 170 176 168 163 170 168 171 163 177 171 171 177 173 174 170 180 174 180 171 177 185 182 179 182 182 183 182 177 171 185 177 174 187 187 190 180 191 191 187 191 188 187 193 193 196 204 202 205 214 208 210 207 210 205 202 211 207 207 210 214 214 221 211 217 228 219 227 228 216 222 222 221 225 225 227 225 227 227 227 221 221 234 225 219 217 222 233 219 214 228 222 221 225 227 230 227 222 231 236 228 231 231 231 234 228 230 238 225 233 233 222 230 222 222 238 222 225 228 227 222 219 224 227 219 205 213 207 208 205 204 205 204 199 197 205 202 204 204 197 207 217 216 211 213 216 225 221 219 214 224 221 221 214 219 217 217 213 221 213 221 221 210 225 213 213 217 221 222 211 214 227 219 221 216 225 213 217 217 225 221 210 207 211 204 202 205 204 204 204 188 197 188 187 182 179 180 180 170 180 177 174 176 179 180 176 179 176 171 170 171 173 165 163 170 159 163 171 173 163 166 165 168 168 166 162 160 162 156 162 154 153 146 159 145 151 142 139 143 140 139 142 136 136 131 134 131 128 125 123 119 117 112 115 112 109 106 106 103 105 97 98 95 91 88 91 89 91 86 86
|
||||||
|
0 80 81 86 91 95 98 94 100 95 102 111 106 108 117 119 117 120 111 120 123 123 122 128 128 137 132 136 136 136 140 142 151 140 145 156 148 154 153 156 156 149 156 154 159 154 157 157 151 160 162 165 162 166 162 160 166 162 170 168 170 171 173 170 170 171 174 173 168 176 171 174 177 166 182 180 171 174 180 185 183 185 182 187 185 188 185 185 180 188 183 183 180 180 190 185 188 188 190 187 191 194 200 194 197 199 202 210 208 204 213 204 205 204 208 205 214 210 210 216 213 213 213 211 219 216 219 217 213 227 225 228 228 231 224 228 224 221 230 224 228 222 217 222 224 224 221 228 228 216 222 214 230 228 228 233 227 234 228 225 224 231 228 244 227 231 224 230 234 231 230 221 236 225 230 224 225 217 216 222 217 219 222 207 204 213 200 205 205 199 204 197 199 196 194 196 196 205 205 210 207 211 213 213 211 217 211 221 227 224 219 224 222 216 222 210 214 222 217 216 217 213 210 214 211 216 213 205 216 216 224 214 217 217 219 211 208 217 216 208 210 207 202 208 202 204 200 193 199 197 187 190 185 180 177 179 177 176 177 173 176 180 176 177 174 171 170 170 170 170 176 171 174 163 166 171 174 174 171 170 170 163 171 170 171 153 163 154 156 162 156 149 149 149 151 145 143 137 142 140 142 139 136 132 126 131 123 122 128 122 122 117 115 112 108 103 103 109 102 100 98 98 97 94 91 86 85 85 85
|
||||||
|
0 83 88 86 86 94 94 95 95 97 103 105 106 105 112 117 112 114 119 119 123 125 132 129 128 129 131 129 139 137 140 139 145 142 143 145 148 146 146 148 153 154 154 154 153 149 162 162 159 157 151 160 163 160 163 163 166 170 170 170 171 163 168 166 165 174 170 173 176 179 171 176 170 176 182 174 176 174 182 173 176 183 185 183 185 176 188 179 187 182 180 187 180 185 180 185 185 180 188 183 194 191 188 197 202 202 202 216 200 211 205 207 205 202 204 210 207 207 213 217 222 213 211 214 221 213 214 221 221 230 233 224 230 230 225 225 227 222 234 222 224 221 225 224 224 228 224 227 216 224 216 214 219 216 224 228 233 228 233 231 224 233 231 236 230 225 221 233 221 234 224 222 231 222 231 228 225 224 222 224 222 208 213 214 210 211 205 205 199 204 199 197 193 191 204 199 200 204 207 202 202 208 207 213 210 211 216 219 214 211 221 216 214 222 217 228 221 211 222 219 208 217 211 207 208 217 211 211 211 210 213 213 211 211 213 211 214 216 211 211 208 205 202 200 196 194 197 197 204 191 183 187 190 182 188 182 173 177 177 174 179 179 173 177 176 173 171 170 166 165 163 163 162 165 165 171 168 173 166 174 173 170 171 168 171 162 168 162 160 157 149 148 154 148 149 143 148 142 146 139 134 136 136 131 132 132 131 123 120 120 119 115 114 109 111 112 109 105 103 98 98 97 94 94 92 92 88 80 83
|
||||||
|
78 83 85 91 88 91 89 92 102 98 100 103 106 111 109 111 115 115 115 120 117 125 125 129 125 126 139 137 136 140 140 143 145 142 146 140 151 145 145 151 153 151 148 149 153 153 162 163 159 168 160 163 166 166 165 160 166 173 170 168 165 173 170 174 170 168 173 176 177 173 179 171 185 176 174 171 183 171 179 182 176 179 180 185 183 188 179 183 188 179 179 182 176 188 188 179 183 183 190 187 188 191 199 199 207 200 208 207 210 210 210 208 202 208 200 207 202 208 207 219 213 219 210 211 216 211 219 211 228 219 222 224 230 216 224 219 227 233 224 224 227 219 221 227 228 222 216 221 227 216 216 217 231 227 230 234 222 228 222 231 222 228 224 230 222 228 222 228 231 225 228 233 224 227 230 224 219 224 222 225 213 213 207 208 205 210 204 200 210 199 190 199 204 197 197 208 197 197 202 208 208 208 208 207 210 202 208 213 210 222 216 221 216 217 216 211 214 216 213 219 208 213 219 205 211 202 211 204 216 207 207 214 214 219 217 213 216 208 208 211 197 202 207 205 202 194 196 196 191 196 193 193 183 188 179 177 182 177 182 168 177 173 173 171 176 170 168 166 166 160 165 173 170 166 165 174 160 170 168 171 171 176 160 168 174 165 165 162 166 162 156 153 151 151 153 146 140 145 143 142 143 140 136 134 129 128 131 123 125 122 123 111 115 117 114 106 105 111 98 105 98 94 97 92 88 89 89 88 86
|
||||||
|
78 83 83 89 88 92 95 100 98 95 103 106 102 109 109 114 115 115 114 117 122 123 126 132 131 132 136 134 140 142 148 139 139 142 145 146 145 146 149 146 156 149 154 156 153 156 160 162 157 159 160 163 162 157 168 170 168 171 168 168 171 168 171 168 174 171 179 179 183 174 174 176 174 176 179 171 183 180 183 173 193 179 177 187 187 174 185 187 182 180 182 179 179 183 185 180 182 182 182 193 190 200 199 202 210 204 205 204 210 204 208 207 205 213 204 199 205 204 219 216 214 211 216 224 222 216 214 224 221 230 222 221 225 228 219 222 216 221 227 217 221 221 221 219 219 233 216 228 216 224 214 217 224 233 228 225 225 219 233 227 230 230 225 224 222 225 230 227 231 227 221 227 222 231 225 228 221 227 219 219 219 216 213 204 211 205 207 199 204 197 200 202 197 197 199 194 200 202 199 199 202 205 213 204 210 211 208 219 205 222 217 211 221 214 219 216 214 202 213 217 211 217 213 202 221 208 219 208 216 205 210 211 216 208 219 219 213 199 210 211 204 202 207 194 196 199 191 188 194 199 182 194 188 185 187 176 180 174 171 177 171 176 168 176 171 176 171 170 162 166 160 171 168 168 163 168 173 176 163 173 173 177 170 171 165 166 170 163 160 156 156 163 160 157 146 146 146 146 149 148 136 139 134 139 131 137 134 128 131 125 123 119 105 115 108 108 109 105 112 100 100 91 94 95 94 92 85 86 85
|
||||||
|
0 85 88 89 86 91 95 95 94 106 103 100 108 108 111 106 114 112 120 111 119 123 125 125 128 132 128 134 134 136 142 137 143 140 142 153 146 145 146 149 149 153 156 159 154 163 157 154 163 159 156 163 157 159 162 165 163 165 168 171 171 177 173 170 170 173 176 168 177 176 176 179 176 174 180 180 179 173 183 185 176 180 182 182 182 180 185 185 171 177 187 177 177 185 174 182 183 185 193 190 187 197 196 199 200 211 204 205 205 210 199 207 207 199 202 200 204 210 207 216 214 216 217 214 219 211 224 225 224 224 214 221 227 219 217 221 221 224 214 217 224 222 225 221 230 224 221 231 224 221 221 228 225 224 216 225 231 222 227 225 230 221 231 228 230 228 221 231 227 224 224 228 219 224 224 227 221 216 210 208 217 214 214 205 205 202 205 205 204 205 199 207 199 199 199 194 193 207 207 205 211 208 208 213 213 202 210 205 214 214 210 213 213 213 216 214 214 217 214 213 216 202 204 216 205 213 211 217 205 205 207 211 208 204 214 205 207 213 208 207 207 208 196 191 204 196 194 197 196 187 183 185 180 183 194 187 179 174 171 174 166 170 179 174 173 165 173 170 162 163 168 171 166 166 174 168 171 176 173 177 170 173 176 166 166 168 160 168 166 160 162 151 153 156 157 140 149 143 145 143 146 140 142 137 132 139 126 128 128 123 123 114 119 114 109 106 111 111 100 98 98 102 95 94 92 91 83 86 83
|
||||||
|
78 85 85 86 94 94 91 97 95 102 102 103 102 105 106 105 114 114 114 117 122 117 117 129 132 134 129 136 137 137 137 140 137 142 149 149 142 151 151 146 151 149 151 157 151 159 160 156 153 154 160 163 166 168 166 177 168 166 170 170 171 160 170 171 183 170 180 179 176 173 187 173 168 171 179 174 179 183 182 180 176 177 185 179 180 183 185 183 180 180 182 183 185 180 182 182 182 190 188 190 197 196 199 200 202 202 207 199 202 207 207 205 210 194 200 208 207 214 204 210 216 222 216 221 224 222 211 222 221 219 219 214 221 221 224 221 224 224 217 217 216 216 224 224 227 224 227 222 221 225 224 222 221 225 228 228 227 222 224 224 222 227 233 225 227 228 230 225 227 219 221 213 224 222 225 224 217 217 211 213 214 213 213 202 207 208 207 202 207 207 200 197 200 202 200 200 197 194 199 205 200 210 207 205 208 205 204 205 205 214 225 207 210 216 210 219 210 216 210 211 213 207 199 204 210 207 205 208 208 207 208 216 205 210 202 207 205 208 207 208 213 207 207 200 200 199 196 199 190 190 185 183 174 183 177 180 173 182 176 174 176 183 177 179 174 173 176 168 162 166 174 179 174 177 171 177 179 176 173 165 176 174 176 171 176 170 166 162 165 165 162 153 154 145 149 145 146 146 143 145 142 136 143 137 134 132 129 126 132 125 122 120 120 114 114 109 109 98 108 97 100 95 95 95 94 94 89 83 85
|
||||||
|
78 83 85 88 88 89 91 98 98 98 102 98 100 98 108 114 111 112 112 115 125 120 122 129 125 128 137 132 134 143 137 140 145 146 145 142 151 149 145 149 151 151 153 149 149 159 159 162 162 153 162 163 159 159 171 165 177 166 168 174 168 176 171 177 174 177 176 168 165 173 179 174 176 173 179 174 177 182 177 177 180 183 176 185 180 183 171 185 183 182 183 177 180 174 190 183 183 193 183 188 196 196 194 204 204 196 196 202 200 208 205 205 205 199 202 204 202 207 216 216 219 214 216 211 217 213 221 217 217 219 214 219 222 217 222 211 213 213 214 222 214 217 221 222 225 225 224 227 216 216 211 221 222 224 230 225 227 222 227 231 221 228 224 216 224 225 233 222 222 211 219 227 231 219 219 217 217 216 213 216 216 207 202 207 211 207 216 202 204 197 204 204 204 207 199 200 204 205 200 205 207 208 204 205 208 199 216 205 213 210 213 213 213 219 210 214 217 210 211 207 211 204 205 207 208 191 207 210 208 200 211 205 211 200 205 205 214 213 207 217 200 202 202 200 188 190 191 188 190 188 188 187 183 187 185 180 176 176 179 177 173 180 180 168 177 173 170 171 174 168 173 170 171 170 173 170 177 171 176 176 168 174 170 182 173 166 170 165 165 168 162 160 151 156 149 153 153 146 143 143 146 140 136 137 136 132 131 131 126 129 125 120 122 109 117 114 108 111 105 105 100 103 94 94 89 92 89 88 88
|
||||||
|
0 81 88 86 89 95 97 92 98 102 95 103 103 106 108 108 108 114 114 119 112 122 119 126 126 132 126 139 136 139 145 140 145 139 143 149 149 145 146 149 154 146 151 148 153 153 159 154 162 165 153 165 162 166 168 165 170 174 168 166 174 176 171 179 171 176 179 180 180 174 173 171 177 177 168 174 182 177 182 182 187 190 176 182 173 180 187 187 176 190 191 191 177 190 170 188 179 182 191 194 193 199 197 200 199 194 196 210 200 200 199 200 200 202 204 202 210 214 208 213 211 214 211 216 221 222 217 219 217 219 217 216 219 217 216 217 233 216 221 213 211 224 225 221 227 221 222 222 221 214 217 219 216 234 225 225 224 222 225 227 217 224 230 224 228 227 227 225 230 221 219 219 219 222 222 219 219 216 221 214 210 211 204 202 205 210 207 210 213 202 200 204 205 193 205 204 202 207 210 199 208 204 213 207 194 204 202 205 202 205 210 217 214 217 219 211 205 211 210 216 204 200 211 204 205 210 204 211 200 202 207 204 213 207 207 213 205 200 205 213 194 200 199 199 193 190 190 185 188 179 185 182 183 180 179 183 174 187 179 171 182 183 180 168 179 174 171 170 166 176 177 173 182 176 176 176 176 176 174 179 176 170 171 173 171 171 171 163 162 162 165 156 160 151 156 156 145 145 143 145 142 137 142 136 137 131 129 129 132 126 128 115 119 112 115 108 108 106 106 106 97 98 98 94 91 88 91 89 85
|
||||||
|
0 81 86 83 91 89 89 95 94 92 95 98 98 103 106 108 111 114 109 117 119 125 122 128 126 129 134 129 139 129 139 139 145 139 145 146 153 149 151 149 146 153 153 154 156 157 160 162 159 157 162 165 163 157 165 163 170 173 165 168 171 173 173 174 182 173 179 182 177 176 176 174 170 182 182 183 182 183 182 176 185 187 179 188 177 187 180 180 193 187 182 185 177 182 179 180 182 190 179 188 194 193 200 197 200 197 204 194 204 199 197 202 205 197 205 202 210 200 200 217 210 214 217 222 213 222 222 216 217 221 217 224 213 216 214 219 211 213 222 219 219 214 211 221 219 221 228 213 221 224 217 224 221 227 221 227 230 228 221 225 230 217 221 227 225 222 224 222 219 213 221 222 224 214 221 222 219 216 217 210 214 205 202 216 211 200 211 207 199 204 204 204 205 202 202 199 205 204 199 205 210 202 208 207 205 208 205 210 204 204 204 202 222 211 216 208 210 210 214 210 211 205 208 208 202 205 208 211 202 200 200 205 202 211 210 219 210 207 205 197 193 197 190 196 188 183 183 185 187 187 182 193 187 185 188 183 188 179 174 180 190 174 173 180 176 176 176 170 174 173 177 179 171 180 180 183 180 171 182 177 179 174 174 171 174 173 165 170 165 170 166 153 160 148 148 153 149 153 149 143 134 140 137 137 143 137 136 134 128 125 120 120 115 114 112 111 108 105 105 105 103 97 94 94 94 88 88 86 83
|
||||||
|
78 78 83 83 81 91 85 94 92 92 100 95 100 102 106 108 106 109 114 119 120 122 125 125 125 129 126 128 132 137 137 139 146 139 140 146 142 148 145 151 151 153 145 148 163 157 154 165 160 165 157 166 165 163 170 168 171 168 168 171 177 176 174 174 179 174 176 176 171 182 179 187 171 170 176 182 176 182 180 180 176 187 180 182 183 188 188 188 185 187 191 180 176 176 191 187 185 193 183 191 193 193 194 199 202 197 197 199 199 204 199 194 207 196 199 210 200 211 211 207 213 217 213 210 219 216 221 222 216 219 219 214 225 216 213 213 219 211 216 211 217 222 222 221 227 227 227 213 222 217 219 217 233 225 227 225 227 221 228 227 217 228 227 221 217 225 224 224 219 225 208 221 217 219 224 214 217 211 214 219 200 196 207 208 216 200 205 207 205 197 207 210 202 207 211 202 205 208 207 205 210 205 204 202 199 216 202 211 210 211 207 205 200 210 211 213 202 202 213 205 205 199 205 210 199 205 208 199 200 207 200 200 207 205 205 204 200 200 207 188 196 200 200 190 190 190 185 183 183 183 173 177 188 182 187 183 180 180 185 180 183 185 182 180 171 170 163 177 173 174 180 177 174 179 182 179 183 182 176 179 177 168 176 174 173 170 166 165 170 165 165 163 159 156 149 148 156 149 146 145 142 140 137 132 139 129 132 129 128 125 120 122 117 117 114 115 106 105 105 105 98 100 94 95 100 91 91 86 86
|
||||||
|
0 78 80 88 85 88 88 94 92 95 102 95 100 98 103 102 109 114 109 112 114 122 117 120 129 122 131 125 136 132 134 139 137 140 143 145 145 143 145 146 151 153 149 148 148 159 160 156 160 159 162 157 165 160 171 171 162 168 168 179 174 173 168 182 170 177 174 180 176 168 177 177 177 179 177 177 180 173 185 188 176 194 182 185 187 190 179 183 177 183 188 180 191 185 183 176 191 191 193 196 194 196 199 193 204 204 200 199 197 205 204 200 205 199 200 208 202 208 208 207 211 205 217 214 221 216 216 214 219 217 207 216 216 207 208 214 213 217 222 227 221 213 228 219 225 227 227 211 227 216 217 225 224 236 217 225 225 224 224 234 225 228 224 227 224 216 214 221 210 225 219 217 219 217 216 219 213 224 222 217 214 202 208 205 214 208 204 208 204 214 216 205 208 205 210 210 207 205 213 205 210 202 204 208 202 200 208 199 208 207 205 205 202 202 221 207 211 207 213 208 202 222 199 200 205 207 208 200 204 200 205 199 205 199 197 197 208 205 205 202 208 200 194 187 188 183 188 191 188 185 185 185 177 183 188 187 179 180 185 177 177 180 183 176 174 176 173 173 171 177 183 174 182 179 174 182 179 176 173 179 177 179 177 179 173 168 168 174 171 168 166 163 163 159 146 162 146 148 146 143 146 145 145 139 140 132 136 134 125 122 125 126 123 112 111 109 108 108 109 103 108 97 100 95 92 94 91 94 81
|
||||||
|
0 78 80 81 85 88 89 91 89 97 95 95 102 102 97 105 108 111 108 108 115 117 119 119 126 122 132 131 136 134 140 140 137 132 139 143 145 143 143 151 146 145 157 156 148 156 153 159 153 166 156 159 162 166 163 170 166 174 170 171 177 179 166 174 176 171 179 171 173 183 174 171 176 180 174 174 179 180 185 193 188 174 182 187 180 183 190 188 179 193 182 177 180 187 185 191 183 188 188 179 194 190 191 200 194 194 196 199 200 197 204 199 197 199 204 202 210 208 210 197 204 216 213 225 214 224 217 221 217 213 210 217 214 213 211 213 208 219 227 213 221 219 225 217 225 222 224 216 221 219 211 230 219 217 217 230 225 221 230 227 219 222 227 221 225 217 219 222 214 221 221 214 217 224 222 222 208 216 214 205 205 202 196 200 210 205 216 200 207 205 207 217 214 210 214 205 207 210 210 213 211 208 202 205 197 204 207 205 211 202 204 202 205 207 210 207 204 207 210 196 202 205 205 205 204 197 208 204 211 199 196 199 199 208 200 200 207 191 200 199 197 193 196 188 188 180 185 183 177 183 183 180 180 180 187 188 191 188 185 180 180 182 180 171 174 179 176 170 179 176 171 183 179 180 176 177 183 182 180 188 179 182 176 174 170 170 168 170 163 163 170 162 165 160 157 153 151 151 146 143 140 142 137 142 136 129 129 129 126 123 120 120 117 112 112 114 105 103 102 106 102 95 97 91 92 95 91 91 85
|
||||||
|
0 78 0 85 85 86 89 92 92 89 92 94 94 102 102 105 106 109 111 115 117 115 119 123 120 123 125 129 134 137 136 131 136 145 134 148 149 148 148 145 149 154 148 149 153 159 156 159 157 165 160 162 168 165 166 174 173 162 170 170 171 171 168 170 176 173 176 174 183 171 171 176 180 173 177 176 179 183 182 188 187 188 179 180 183 183 185 187 191 183 188 188 177 188 183 183 187 196 188 185 199 191 199 197 199 197 193 204 197 199 204 202 204 202 210 208 204 204 211 213 211 213 214 213 227 211 222 213 216 211 214 213 211 213 216 219 224 211 216 224 216 224 216 222 225 224 219 219 225 216 217 219 233 227 227 222 225 233 224 217 230 219 225 222 225 216 217 213 217 216 225 222 227 211 213 219 217 216 219 208 197 194 193 210 210 202 205 205 204 216 208 207 208 214 211 213 205 211 217 214 211 204 207 213 202 213 211 204 200 208 205 211 204 205 204 205 210 208 200 207 216 210 204 207 208 208 205 199 210 200 202 197 204 194 204 199 202 202 194 200 193 191 199 188 179 183 177 183 180 180 185 177 185 193 180 183 185 191 183 180 187 179 177 174 170 166 171 173 173 171 183 174 185 174 185 180 174 180 188 179 171 176 171 177 176 177 173 170 168 168 168 165 159 153 156 149 145 143 146 153 143 142 136 142 140 139 137 129 123 129 125 120 119 105 111 109 111 103 109 103 100 100 95 92 95 92 89 85 85
|
||||||
|
0 78 78 86 85 88 86 88 91 89 97 100 97 94 103 105 105 109 112 109 114 114 119 120 123 126 126 136 131 128 131 136 140 137 142 139 146 142 146 151 148 148 153 156 162 157 160 163 162 163 160 163 166 162 165 166 168 166 171 170 174 171 174 170 174 171 180 171 171 170 174 174 173 173 182 168 187 183 179 180 183 188 183 183 188 179 180 182 182 180 183 183 177 180 191 183 187 190 188 194 190 190 190 196 194 193 200 196 196 199 204 196 199 199 197 199 204 211 213 207 207 214 208 217 214 213 221 219 217 208 216 207 204 216 204 219 202 217 216 216 219 217 221 219 225 219 224 225 227 219 221 221 225 221 221 221 222 230 225 233 225 228 233 221 217 221 221 222 221 214 227 213 219 217 216 221 216 204 219 197 199 194 200 205 208 205 211 202 214 200 208 210 219 204 208 213 213 210 205 211 216 210 205 208 205 207 211 208 213 207 204 204 200 204 202 210 200 210 194 213 196 205 207 214 208 200 211 200 208 208 208 208 208 194 200 202 196 199 199 199 196 199 190 188 179 179 180 179 179 190 176 177 180 182 183 185 188 180 180 185 180 177 168 173 171 166 171 171 166 174 179 171 171 177 174 174 179 173 174 182 173 174 177 176 173 176 173 176 174 174 170 157 157 157 154 145 151 143 146 145 145 140 142 137 132 139 132 132 129 128 125 120 122 109 112 115 106 103 106 106 103 98 94 97 94 94 94 91 85
|
||||||
|
0 0 81 81 85 86 86 89 92 94 94 91 92 103 102 102 102 105 109 106 119 117 119 123 122 128 126 126 129 129 140 134 136 139 140 146 139 146 148 146 145 153 151 162 149 159 159 162 156 163 162 170 168 157 171 171 166 166 170 174 168 174 173 176 171 173 174 168 174 170 171 173 165 173 177 179 179 182 180 182 187 180 180 185 185 193 179 177 183 182 199 183 191 179 183 183 190 191 183 205 188 194 196 188 194 204 197 200 199 199 194 196 193 205 191 205 205 210 208 213 210 208 217 216 214 217 208 214 213 222 210 200 211 210 214 210 204 210 213 224 216 213 219 219 217 227 214 221 216 217 213 214 228 225 228 221 224 228 227 217 219 222 224 221 230 222 219 214 216 221 210 214 217 219 217 216 207 219 207 204 194 194 197 208 202 197 205 208 210 213 210 210 204 208 216 207 211 211 217 210 217 208 207 207 207 208 210 205 207 199 200 205 204 207 207 199 202 200 205 205 210 199 207 207 202 210 207 207 207 208 202 204 200 200 205 200 187 194 200 188 191 200 179 190 183 183 177 179 182 179 183 187 179 177 177 187 176 173 179 176 176 177 173 180 170 170 177 179 173 176 179 173 182 179 174 174 171 174 170 177 176 171 171 174 173 166 180 168 160 168 168 157 153 157 153 151 146 149 146 145 139 139 140 136 139 129 128 134 126 123 123 119 119 114 114 108 106 105 103 102 100 102 95 95 94 91 88 92 83
|
||||||
|
0 0 81 81 81 81 83 92 94 88 91 91 97 100 102 108 105 111 105 111 119 111 114 122 119 123 126 120 126 134 129 137 139 137 139 142 143 148 143 148 151 156 153 154 160 156 165 160 162 163 160 163 165 160 170 162 170 170 173 163 166 171 173 171 170 171 176 166 171 166 174 171 170 179 174 176 185 183 179 179 183 179 180 183 177 179 187 180 191 179 182 185 190 179 196 187 191 187 183 196 190 196 194 193 190 199 199 193 200 194 194 199 193 207 196 200 193 210 207 208 208 207 217 213 222 202 222 214 217 214 216 210 217 207 208 208 207 211 202 216 211 221 211 219 214 222 216 219 217 219 225 219 217 225 225 225 231 221 238 222 221 216 222 214 227 222 217 210 219 214 216 214 228 211 222 214 219 213 205 204 202 204 196 205 207 207 208 211 213 205 210 210 213 208 216 214 216 211 214 217 211 213 214 211 204 210 211 205 205 211 211 199 207 199 202 204 204 208 202 199 199 208 214 207 207 200 213 208 204 202 205 202 202 205 197 194 196 200 199 193 194 197 185 187 179 174 182 183 177 180 177 183 177 187 179 180 180 190 177 177 176 177 177 177 179 173 187 182 174 180 180 177 171 176 176 171 180 183 180 176 182 176 171 176 168 174 173 174 166 157 163 165 159 156 149 159 149 151 145 142 145 140 142 131 132 134 137 123 125 122 129 120 123 117 114 109 112 108 100 102 102 100 98 100 94 91 89 91 86
|
||||||
|
0 80 0 83 86 83 91 86 89 91 91 97 95 98 102 97 105 108 105 109 114 114 114 119 125 122 123 132 129 134 129 139 140 139 142 143 148 142 149 148 149 151 153 149 160 162 156 163 166 163 166 162 168 171 171 171 173 170 163 166 170 174 171 166 179 170 170 166 168 177 170 171 176 176 173 179 177 188 183 187 185 188 183 182 183 191 185 183 180 182 185 188 179 185 174 182 183 188 185 199 193 191 207 193 199 194 190 191 199 194 194 193 200 205 196 204 199 199 200 210 210 208 216 213 221 211 210 219 213 214 211 211 211 197 205 211 204 214 210 214 207 213 213 214 227 217 222 217 224 216 213 217 216 217 219 230 219 221 222 224 217 222 222 224 225 222 230 216 228 219 225 227 217 222 228 225 210 213 205 197 204 196 202 204 205 207 213 205 211 208 211 211 211 210 207 214 211 208 214 219 214 213 217 211 214 208 213 216 207 221 204 200 205 197 202 199 202 204 204 202 205 200 200 207 211 207 204 194 205 207 197 207 197 205 197 191 197 193 193 196 188 187 183 180 176 182 180 177 177 182 179 183 183 188 188 179 185 180 180 176 182 183 187 176 179 176 174 182 179 182 173 185 180 187 166 180 180 177 177 183 173 168 170 174 177 170 165 166 168 165 162 157 162 157 157 149 143 153 148 139 143 137 139 139 134 129 131 128 122 126 119 122 126 117 117 112 106 105 106 98 97 98 95 94 92 94 94 88 88
|
||||||
|
0 0 0 80 80 83 86 83 86 92 94 97 98 100 100 106 100 106 112 111 108 119 120 119 120 115 126 131 129 125 136 134 136 139 137 151 143 153 146 143 157 154 153 157 153 159 163 165 160 170 166 168 166 165 165 170 170 170 163 170 163 168 173 176 171 173 177 168 174 168 170 170 166 174 174 177 176 188 183 183 182 180 187 180 193 179 188 183 182 180 190 180 180 185 188 182 188 183 182 183 191 193 194 200 199 190 191 191 188 193 197 196 190 197 204 205 202 205 214 214 202 211 221 214 217 219 221 204 217 211 217 202 210 208 210 210 214 207 213 219 213 222 211 219 221 217 214 227 213 219 219 219 224 216 221 217 222 224 225 227 217 222 217 228 219 213 221 216 217 227 222 222 213 216 214 217 219 210 213 196 204 196 205 197 199 211 204 211 210 214 208 211 208 214 207 213 219 205 219 222 216 219 216 211 219 213 213 216 204 207 202 204 210 202 204 200 194 202 205 202 199 210 208 208 207 211 200 202 208 210 205 204 207 199 193 202 191 196 185 185 190 180 183 180 177 185 180 177 183 185 183 185 182 185 179 182 183 183 176 179 185 174 182 180 182 180 179 182 180 179 180 182 180 180 183 180 182 187 185 174 170 176 171 176 170 170 160 166 162 163 156 160 159 156 153 157 151 145 143 151 142 145 143 137 132 139 129 125 126 119 126 120 117 111 112 106 102 108 105 102 100 103 100 97 97 92 95 89 88
|
||||||
|
78 0 0 0 83 83 86 81 92 97 94 94 95 98 105 103 102 112 109 105 114 114 119 115 122 123 128 122 132 132 142 139 139 145 143 142 146 148 151 148 149 153 156 159 157 163 162 163 160 159 165 166 163 170 171 170 171 171 166 174 163 162 173 165 171 171 177 180 171 170 168 168 171 176 177 174 185 177 180 185 182 185 183 176 180 180 179 188 180 179 188 180 182 180 187 193 188 187 185 193 194 196 197 196 187 191 193 187 188 194 191 199 197 205 207 208 210 208 204 204 207 205 208 207 207 211 213 213 210 204 214 207 210 208 207 207 205 214 216 207 217 214 217 207 211 222 213 214 207 217 224 221 228 217 219 214 221 224 221 224 217 221 216 219 219 219 214 217 214 211 219 225 210 216 216 219 208 214 199 202 197 194 197 207 199 213 210 197 213 204 213 213 213 210 208 214 222 211 219 217 217 222 217 219 211 205 211 205 210 208 202 204 205 207 204 204 199 207 202 205 207 208 204 210 208 204 204 204 208 199 204 202 199 197 199 196 196 190 193 188 190 187 188 182 179 179 180 176 185 187 185 183 194 190 188 185 185 190 177 179 180 182 182 182 180 183 187 177 185 177 179 182 183 194 179 180 174 174 177 180 173 177 168 173 168 165 157 162 160 159 159 153 149 159 149 156 151 146 145 143 139 143 142 142 137 136 132 126 129 119 123 117 117 112 111 103 103 102 102 97 98 94 98 98 85 91 91 85 85
|
||||||
|
0 0 0 0 81 81 78 85 86 91 94 94 98 97 98 100 103 105 108 112 119 112 115 109 117 125 126 122 126 136 139 134 139 140 137 145 146 148 151 146 149 151 160 154 163 157 162 163 163 163 166 163 165 170 176 168 166 166 171 174 171 179 166 166 176 171 173 165 176 173 174 173 174 174 180 180 183 179 182 187 179 187 185 183 182 176 187 177 180 179 180 177 190 191 188 182 183 182 187 190 191 193 197 193 193 197 194 193 190 193 191 193 191 200 204 199 197 205 205 213 207 217 213 210 210 211 204 214 210 214 219 216 219 210 213 214 216 204 211 207 221 207 214 221 213 217 214 213 222 213 221 219 213 221 219 221 219 213 222 227 219 222 221 214 224 222 208 219 219 216 230 214 213 216 210 213 211 205 200 200 194 208 196 200 205 200 210 200 208 214 207 210 217 222 216 213 217 211 213 216 214 217 217 221 219 208 216 210 204 202 204 210 208 205 196 210 202 202 204 205 207 200 207 213 204 213 208 207 200 200 200 207 204 194 204 193 190 191 193 194 191 187 187 183 174 183 183 182 173 182 188 185 182 182 182 182 180 185 179 174 174 190 188 187 188 179 191 183 183 180 179 190 177 183 177 183 177 176 174 173 173 165 170 165 168 166 170 159 159 159 159 160 154 154 153 153 146 156 146 149 137 145 134 137 132 132 131 123 119 120 115 120 115 112 114 108 112 105 102 103 98 100 102 92 91 92 91 83 83
|
||||||
|
0 0 0 0 80 80 86 85 89 91 91 100 94 94 102 105 103 97 102 111 108 114 109 119 117 125 120 126 136 137 136 137 139 142 145 142 154 153 151 154 153 154 154 157 162 168 162 159 163 166 170 160 170 163 166 166 170 166 168 168 177 170 177 170 174 173 174 173 171 171 173 170 171 171 177 171 176 179 185 180 187 177 182 174 180 182 183 187 180 177 190 180 177 177 185 187 190 179 187 188 190 190 190 180 199 194 188 194 190 193 197 196 199 194 200 197 200 204 204 204 208 210 214 208 213 208 207 211 205 213 211 208 214 207 202 208 211 205 207 207 217 210 213 225 221 213 211 202 207 214 213 216 213 219 210 213 208 213 221 213 214 211 222 210 219 213 214 219 214 214 214 211 214 210 213 216 210 207 204 193 194 208 200 194 210 207 210 199 211 207 216 208 216 199 210 214 214 205 217 214 217 219 208 221 216 211 205 208 211 208 205 207 202 205 204 202 205 200 199 204 204 200 204 208 200 207 204 205 200 205 211 210 200 199 194 207 199 197 190 196 199 191 187 191 185 179 185 180 187 190 183 194 179 193 185 180 177 196 188 179 180 183 180 187 179 187 183 176 185 182 180 177 180 171 171 183 177 180 171 174 180 170 171 162 173 165 159 159 165 159 157 159 160 159 153 151 149 140 142 146 143 139 139 136 128 128 125 119 125 119 120 119 109 109 106 105 103 103 102 100 102 97 94 92 97 89 89 83 80
|
||||||
|
0 0 0 0 80 78 80 85 88 85 89 98 89 98 102 98 98 105 108 109 112 115 119 112 123 120 122 126 128 139 136 139 136 136 142 145 143 148 149 153 154 151 151 162 160 160 162 160 157 163 162 170 166 166 170 168 166 165 165 166 165 162 170 176 170 168 170 171 173 176 173 168 174 165 176 180 183 182 183 185 185 179 182 185 176 185 182 185 177 176 179 179 180 174 183 188 188 179 191 185 191 194 194 200 202 185 204 194 196 187 185 196 196 199 199 204 199 199 196 204 208 208 207 208 210 204 210 205 205 207 216 205 214 207 205 214 207 205 208 205 211 205 214 211 205 207 202 216 210 213 221 213 208 213 210 219 214 213 214 219 217 213 221 222 222 207 214 210 217 219 216 210 214 210 214 199 207 202 199 202 204 199 202 202 202 199 200 214 204 208 207 219 216 211 216 219 214 214 214 217 210 213 219 210 211 216 214 208 208 208 204 211 202 205 205 199 207 197 202 205 207 199 205 207 207 205 205 200 208 210 216 202 191 202 202 197 199 191 193 194 188 187 187 188 187 180 187 191 191 185 187 188 193 185 182 182 190 187 171 173 171 179 177 177 183 174 174 182 183 182 187 180 188 176 180 177 171 174 170 182 174 170 168 165 163 168 166 165 156 156 160 160 154 149 154 151 154 143 149 136 137 136 137 128 123 128 123 128 120 117 122 117 119 111 109 109 106 100 102 98 97 98 97 91 88 92 89 86 85
|
||||||
|
0 0 0 0 0 0 81 81 85 91 97 92 98 91 95 102 103 105 108 108 117 111 115 111 119 119 132 126 126 137 132 132 139 142 142 142 145 146 145 148 156 159 153 160 160 156 165 163 166 159 160 165 166 168 166 165 171 166 166 174 166 168 170 166 171 176 183 171 174 174 168 177 173 174 174 177 179 180 187 183 177 183 180 176 194 180 174 183 176 182 185 179 180 176 182 180 183 191 183 187 183 190 191 191 193 197 204 197 196 190 194 199 197 191 199 199 194 199 202 204 208 208 204 213 196 202 204 214 214 205 211 210 211 216 210 210 204 200 222 208 210 207 211 211 210 211 207 208 205 213 208 224 214 213 210 211 208 221 210 216 213 216 217 205 219 217 204 210 217 217 219 208 210 208 210 208 202 197 197 199 197 204 196 204 202 204 205 204 211 217 207 217 214 217 208 208 222 217 211 210 221 222 210 222 211 214 202 205 214 205 207 205 205 204 205 197 199 197 199 199 194 197 207 208 200 208 202 200 207 202 207 200 200 197 205 202 205 194 196 188 182 182 187 179 180 180 182 183 180 182 188 187 190 179 182 187 179 180 183 171 173 177 177 183 183 174 185 190 176 180 183 174 176 179 182 173 173 171 177 174 168 165 165 165 171 163 157 162 157 159 157 159 159 148 139 145 140 139 142 142 142 134 131 125 134 123 123 120 125 122 112 117 112 112 112 106 105 102 98 102 97 92 92 94 91 89 89 86 88
|
||||||
|
0 0 0 0 78 0 0 81 88 88 91 92 98 94 95 98 105 105 106 109 114 109 114 122 120 122 125 126 136 137 132 139 140 142 140 145 151 140 145 145 154 149 165 154 159 162 160 159 162 162 165 162 166 168 166 162 170 170 168 166 170 173 179 168 168 180 173 171 179 168 171 176 177 170 179 171 187 182 182 180 183 190 183 182 185 180 177 179 180 182 174 177 180 180 176 179 182 183 185 183 188 185 193 188 193 190 196 196 196 200 193 196 197 200 196 199 200 190 207 208 211 205 200 207 204 204 207 204 214 207 216 211 207 205 216 217 213 213 211 213 208 208 211 214 213 213 211 208 210 216 211 211 217 208 211 216 202 211 211 217 221 219 208 211 213 217 210 210 216 210 216 204 219 217 213 210 197 200 191 200 200 197 207 205 204 202 205 205 211 210 202 213 208 210 208 217 214 214 213 213 213 214 219 216 208 214 213 211 214 207 204 205 210 202 202 197 204 208 204 199 196 200 200 196 208 199 197 208 199 211 202 208 202 197 197 188 191 197 200 190 190 183 185 179 177 180 176 177 182 183 177 174 180 188 173 174 183 176 173 179 177 177 179 180 179 185 182 180 183 182 183 182 174 173 180 182 177 179 180 171 171 166 168 170 159 163 160 166 146 154 148 153 151 154 151 140 145 142 142 140 137 136 134 136 131 125 122 123 122 120 120 112 114 108 109 103 102 102 102 100 94 91 95 95 94 92 88 91 85
|
||||||
|
0 0 0 0 0 0 83 81 86 86 88 91 94 95 100 105 102 108 105 109 119 114 119 119 119 123 125 123 131 132 136 136 137 140 140 146 145 151 146 153 153 151 154 159 162 160 157 168 166 160 162 163 168 168 171 166 170 159 168 174 171 170 165 170 168 173 177 174 171 168 168 174 176 174 174 177 179 183 182 179 176 188 177 182 183 177 183 176 183 177 187 176 185 182 187 183 185 177 187 191 194 188 194 191 185 193 199 199 194 193 194 202 188 202 197 207 197 200 199 207 208 205 204 211 205 208 207 207 207 207 213 207 222 213 208 207 207 210 208 211 208 210 213 205 202 199 200 205 205 211 205 211 210 204 210 214 207 217 210 214 211 213 214 205 204 214 214 216 217 213 213 211 205 210 202 211 199 202 197 197 196 191 204 205 204 205 210 204 208 213 204 208 207 217 211 204 217 214 205 222 211 211 214 213 214 214 213 211 202 210 213 199 210 200 197 199 193 199 200 200 207 200 196 197 202 194 202 204 202 202 207 197 199 194 191 204 191 182 196 185 183 183 177 173 177 179 176 180 183 187 183 182 180 179 180 179 173 180 179 173 177 177 179 185 185 188 177 179 183 182 174 182 185 183 179 180 176 173 171 177 171 159 160 159 166 154 148 140 153 146 148 151 149 146 143 143 140 145 136 143 139 129 131 131 125 131 123 123 122 120 122 119 117 106 106 111 100 102 100 95 95 97 94 88 97 94 91 88 81
|
||||||
|
0 0 0 0 78 0 80 81 85 81 91 85 97 100 100 102 102 109 108 106 111 115 114 111 114 119 125 131 132 132 136 132 136 145 143 145 143 145 148 151 151 149 156 159 157 156 156 165 165 165 168 170 173 173 168 170 166 170 174 168 170 168 168 177 168 173 177 171 163 165 171 171 174 171 173 176 182 180 174 183 182 191 180 187 179 182 179 170 183 183 187 180 188 182 185 187 191 190 187 182 191 190 188 197 190 191 196 187 202 196 193 196 204 191 194 197 200 196 194 200 200 207 204 194 207 205 200 200 208 210 202 207 204 205 208 216 214 216 211 211 208 214 207 207 207 214 205 205 210 216 214 205 211 210 211 210 216 211 208 207 216 214 211 213 217 210 210 216 208 210 208 207 202 207 200 197 199 196 200 196 199 200 196 204 199 204 205 205 207 202 210 211 205 216 211 214 211 213 224 221 217 216 221 213 208 208 205 210 207 208 210 204 199 207 199 210 204 199 191 200 200 196 194 199 200 199 197 207 199 199 197 197 199 194 194 197 202 194 183 191 185 183 180 177 182 182 179 183 179 180 185 185 182 177 174 180 180 176 176 185 176 176 180 190 182 185 177 188 183 185 190 182 182 174 177 171 182 177 166 170 160 160 154 153 157 154 149 149 146 151 148 153 148 136 142 146 143 132 145 143 140 136 128 131 131 131 128 114 125 115 112 114 109 106 111 106 105 105 102 102 100 98 94 95 94 97 91 85 85
|
||||||
|
0 0 0 0 0 0 0 81 78 85 83 91 94 102 97 97 105 103 115 112 114 115 114 117 123 120 123 120 123 139 137 134 142 134 149 142 146 140 149 148 149 157 156 160 159 157 165 160 163 166 160 168 163 165 171 160 166 170 165 168 173 177 174 173 168 168 174 171 174 173 173 173 171 179 177 177 180 174 182 180 182 182 185 183 173 179 179 185 190 188 182 185 187 174 182 183 188 185 193 180 188 188 191 188 193 199 187 199 197 202 193 188 204 193 194 194 199 197 202 197 207 199 199 207 200 205 214 205 199 213 210 202 199 210 207 214 200 208 205 216 207 205 214 208 208 210 202 204 200 210 211 213 213 202 200 205 202 214 211 214 202 210 217 208 205 213 211 207 207 205 205 204 207 214 196 202 196 194 188 197 197 199 205 199 202 202 204 199 210 210 213 211 219 217 208 213 213 210 210 213 211 211 208 213 210 213 205 210 213 211 197 200 204 199 196 197 200 204 199 191 194 199 193 193 199 194 193 197 196 208 196 187 194 193 190 202 190 194 191 185 188 177 185 185 183 180 187 183 180 185 185 185 182 183 182 185 173 176 174 177 177 182 179 176 187 180 179 174 182 182 179 177 176 174 177 170 170 162 163 166 162 157 151 157 148 149 153 149 148 154 153 145 149 154 143 140 149 137 140 139 131 137 131 128 131 125 120 119 119 117 115 109 112 106 103 100 108 100 102 100 94 97 95 98 94 94 86 88 81
|
||||||
|
0 0 0 0 0 80 0 78 81 81 88 89 94 94 98 103 105 109 106 112 105 109 109 119 119 123 125 126 123 129 132 132 140 140 139 140 143 153 146 146 143 154 153 162 159 156 160 163 160 165 163 165 170 160 163 163 166 168 166 163 166 176 171 170 168 179 173 174 171 176 173 168 179 168 171 180 180 182 183 176 177 187 183 177 174 179 182 183 173 179 187 180 180 182 183 179 183 190 188 187 194 191 185 188 191 188 193 191 196 197 194 199 199 199 194 188 200 197 204 190 199 202 205 202 210 200 205 210 208 208 202 205 211 204 213 210 208 205 210 207 208 204 200 204 207 205 196 207 211 210 207 211 202 213 208 204 208 207 204 214 211 214 207 213 211 216 210 216 211 204 204 196 196 193 199 207 200 199 204 193 197 194 205 200 197 202 202 200 207 210 210 216 208 211 211 214 210 213 205 211 211 208 213 210 219 208 211 208 213 213 208 199 207 207 205 199 199 191 188 196 194 190 191 193 194 187 200 190 193 193 197 191 194 194 193 187 194 199 190 188 190 180 183 177 177 180 179 183 177 182 183 180 176 177 176 185 174 176 180 174 176 180 182 180 183 180 185 177 177 176 170 173 170 166 171 166 165 171 159 163 165 162 168 156 153 153 148 149 145 149 149 145 148 146 143 143 140 137 142 136 132 137 134 122 129 131 131 123 117 115 119 112 111 111 111 106 109 105 102 98 95 100 92 92 94 94 95 89 85
|
||||||
|
0 0 0 0 0 0 0 80 80 81 85 89 94 94 102 98 103 106 108 109 112 112 117 120 117 117 123 120 128 131 132 136 142 140 142 142 145 145 146 153 154 149 159 156 156 162 151 163 168 166 162 168 165 170 168 166 173 171 173 170 174 166 166 174 162 174 173 173 173 171 174 176 170 177 179 180 171 183 182 182 187 179 179 177 182 176 180 182 188 183 185 182 185 179 182 194 187 183 183 193 188 182 187 187 191 190 204 199 191 200 194 200 196 193 199 200 196 199 196 200 196 199 214 200 200 210 204 199 208 210 202 205 200 210 200 204 213 213 213 200 210 210 200 204 194 208 199 200 208 211 216 202 211 207 214 208 200 204 199 211 208 210 207 205 205 205 207 210 205 213 202 202 202 208 202 191 194 197 196 194 200 187 191 200 196 205 200 205 202 202 213 213 208 208 205 214 219 217 210 213 213 210 205 208 207 210 208 208 211 204 202 205 204 188 197 197 196 188 193 191 193 196 188 194 197 194 196 188 194 200 204 194 194 188 191 193 193 188 190 185 188 183 182 179 179 180 180 174 183 180 188 180 177 173 173 171 177 180 173 173 173 185 179 174 177 177 177 168 174 182 171 174 179 174 174 168 177 171 163 171 165 159 163 162 156 151 154 146 153 140 143 148 151 143 146 143 140 145 140 140 126 134 134 136 125 128 123 123 125 119 115 114 108 115 105 106 105 100 102 102 100 98 98 92 94 94 91 88 89
|
||||||
|
0 0 0 0 0 0 0 83 81 85 89 88 92 100 100 97 108 100 111 112 108 111 112 119 114 122 128 126 125 131 131 131 137 143 134 142 145 145 153 146 153 156 153 156 159 153 165 153 168 171 159 173 160 162 162 166 168 160 159 171 170 170 165 171 171 168 174 174 182 176 170 182 174 179 171 176 179 179 187 182 183 185 180 174 179 183 180 176 187 173 182 183 185 180 182 183 187 188 185 194 187 188 190 191 194 185 194 197 193 191 196 190 202 190 188 199 191 190 200 202 194 205 197 199 200 200 207 205 210 202 197 204 208 213 213 207 205 208 210 210 208 204 204 205 197 211 199 205 207 214 210 208 204 205 204 204 210 205 200 204 210 210 211 205 210 208 211 199 211 202 202 204 196 194 194 199 190 193 191 193 191 196 200 194 188 202 197 199 199 207 202 208 211 204 217 210 214 204 207 211 213 211 211 208 200 207 207 204 211 202 200 213 207 199 197 187 199 196 188 193 197 188 193 190 196 193 196 193 200 190 191 194 194 193 190 196 188 193 188 183 185 185 182 176 180 180 171 180 180 179 179 179 177 180 183 171 176 173 165 174 180 179 174 176 179 173 171 174 176 174 179 179 177 171 168 170 174 170 163 170 159 157 154 160 159 148 146 149 146 145 145 143 145 148 145 143 142 142 137 134 131 129 137 125 129 125 120 115 122 115 111 114 112 106 112 102 103 97 97 105 100 102 97 97 94 92 91 91 83
|
||||||
|
0 0 0 0 0 0 0 80 0 83 91 92 92 94 94 98 105 100 106 114 111 114 114 115 117 120 117 119 132 128 132 136 137 131 134 148 142 143 146 151 145 149 157 148 149 159 159 162 165 159 166 163 163 171 163 160 171 160 166 173 165 166 171 171 173 166 180 182 176 173 179 174 180 177 176 174 173 174 174 182 180 182 183 179 174 179 179 185 183 180 185 183 180 190 187 185 185 187 182 191 191 193 185 194 191 188 194 193 197 194 194 194 185 191 191 193 193 194 205 196 196 202 196 207 199 197 197 202 200 200 197 202 208 204 199 208 213 199 208 202 200 210 207 204 199 200 197 204 210 214 210 211 210 205 204 211 207 205 202 213 197 204 207 199 202 199 210 213 204 202 208 204 193 199 193 193 191 194 200 190 196 193 194 199 200 204 193 207 202 197 202 208 213 204 211 205 208 208 208 210 211 200 202 208 207 208 207 204 202 197 202 205 205 196 196 193 190 194 194 187 185 197 187 191 193 194 190 196 196 193 196 194 196 193 188 187 185 187 191 187 182 187 179 171 176 179 176 174 180 182 173 177 183 182 171 168 163 171 171 166 182 173 174 174 177 168 176 163 176 170 166 176 173 168 171 174 171 168 168 168 160 157 157 151 151 153 153 151 148 143 143 146 143 151 140 146 137 139 140 140 136 134 131 128 125 125 126 123 115 111 115 109 106 109 108 106 105 98 106 97 103 94 97 91 89 89 92 88 92
|
||||||
|
0 0 0 0 0 0 0 0 83 86 83 91 91 95 102 102 106 105 108 106 111 111 114 115 119 115 120 119 129 125 131 129 129 136 143 148 140 145 148 146 153 156 153 157 154 153 159 165 149 165 160 162 165 170 166 165 170 163 170 165 170 176 171 168 160 171 176 171 174 173 177 168 171 176 174 170 173 176 177 179 180 173 180 187 180 179 187 177 188 176 177 185 180 180 188 183 185 187 182 187 185 182 194 193 194 190 191 196 194 190 193 188 191 191 194 193 199 193 194 196 190 200 199 197 199 199 199 193 202 199 211 207 194 207 208 207 211 208 204 207 210 205 207 205 202 199 202 202 211 199 208 207 208 208 204 204 202 205 211 200 207 202 202 208 204 208 204 208 202 199 200 196 197 207 190 196 193 193 187 196 190 187 193 187 196 196 196 199 202 204 205 210 204 217 204 211 208 202 210 211 208 205 208 207 207 214 208 208 207 205 207 204 197 204 200 196 188 191 194 193 190 188 193 191 193 193 190 197 187 202 194 194 190 197 193 194 194 197 185 185 190 176 182 185 185 176 179 179 174 183 179 174 173 174 173 171 173 163 171 163 171 170 171 171 173 174 174 171 179 173 166 176 170 171 176 168 162 165 171 168 168 153 159 153 148 153 148 149 148 142 140 142 143 145 143 149 137 140 139 131 132 140 128 131 123 125 117 115 120 111 109 112 111 112 108 106 102 108 106 98 98 94 95 89 94 95 92 86 86
|
||||||
|
0 0 0 0 0 0 78 83 0 86 85 88 89 97 97 98 103 105 102 103 111 115 112 112 122 115 123 131 123 132 129 129 131 137 136 139 142 146 153 146 153 157 154 149 156 148 159 149 159 166 160 160 163 160 166 168 168 168 168 168 170 165 171 166 166 174 173 171 174 180 170 166 183 179 177 176 179 179 182 177 182 182 174 173 174 182 182 183 177 179 179 180 185 180 183 185 180 180 190 182 188 187 185 191 190 188 188 187 190 193 191 191 190 193 197 197 204 197 197 194 196 190 207 194 197 202 191 204 204 196 213 202 211 197 204 200 197 200 207 216 204 204 193 202 204 193 205 199 202 208 204 204 207 202 205 204 208 200 199 197 207 205 202 205 204 205 199 208 205 204 200 197 196 188 187 190 191 200 194 194 194 200 196 190 199 200 205 197 200 208 204 207 196 199 207 199 207 207 204 204 205 208 208 207 207 205 197 199 202 205 199 196 208 196 199 197 191 187 187 182 190 187 182 196 188 182 196 180 191 188 191 194 196 200 187 197 185 185 185 183 179 183 180 182 182 183 177 180 174 183 185 179 166 171 170 171 168 156 173 176 173 176 176 180 174 179 171 176 174 166 174 159 170 174 170 170 170 166 165 171 166 157 153 154 146 157 153 157 143 148 142 142 137 146 140 143 139 140 136 136 134 131 134 129 126 117 119 119 106 114 109 106 111 106 108 109 106 106 102 102 97 94 95 92 92 94 92 91 86
|
||||||
|
0 0 0 0 0 0 0 81 0 83 83 89 92 91 97 95 103 102 108 109 114 109 115 117 115 123 122 122 120 128 125 132 137 132 140 139 137 148 140 143 146 153 151 157 160 153 151 156 151 156 157 159 166 162 162 168 170 170 162 170 168 166 165 165 177 174 177 174 173 176 179 180 177 173 177 176 173 180 177 173 177 179 174 182 179 179 182 179 177 179 182 183 187 190 179 188 187 183 180 182 191 193 185 183 190 190 190 194 193 199 190 196 182 191 193 196 188 204 197 205 193 199 190 200 196 199 199 199 197 202 204 200 199 200 199 199 199 202 205 216 210 200 211 208 196 193 197 200 211 202 207 211 204 207 207 200 202 199 200 197 200 202 199 199 205 197 208 210 207 211 199 194 199 196 185 187 205 188 196 190 196 193 190 196 188 197 194 199 204 202 205 202 200 210 208 196 205 202 204 205 207 196 200 199 197 199 205 199 204 200 197 210 190 204 194 183 188 193 187 190 190 185 185 190 191 185 191 187 191 193 193 191 182 183 182 188 183 185 187 197 188 187 182 170 177 179 180 179 176 180 183 182 174 176 179 176 168 174 173 170 176 182 183 177 180 180 176 176 170 173 168 171 166 166 170 173 177 163 166 163 162 160 154 156 151 146 146 145 145 145 149 145 151 145 146 145 145 142 132 137 137 128 123 122 125 123 119 111 109 117 114 106 111 106 108 105 106 100 100 102 97 95 94 92 91 92 91 89 88
|
||||||
|
0 0 0 0 0 0 0 78 0 85 89 85 89 91 98 102 97 103 106 111 108 109 115 114 115 114 117 117 126 128 129 131 131 131 134 146 146 146 142 146 154 154 154 151 148 157 154 151 160 154 159 154 162 162 162 170 166 159 170 173 168 166 171 170 177 166 170 177 180 174 174 171 171 173 170 176 174 176 171 171 173 173 179 180 183 179 185 176 183 179 183 176 179 185 177 179 188 193 190 190 191 188 185 193 180 191 185 200 190 191 194 183 199 193 193 196 194 194 187 202 197 191 197 196 193 194 194 194 202 199 197 202 200 205 187 199 200 210 202 204 202 197 197 202 193 199 200 204 202 211 207 204 204 194 197 204 199 205 200 190 200 202 200 202 193 204 197 204 207 194 200 188 185 188 194 194 190 194 200 197 191 202 193 205 194 194 196 194 202 205 194 202 205 210 190 197 207 199 210 190 204 210 196 204 202 197 205 199 200 200 199 197 187 196 191 187 187 193 185 187 187 185 191 183 185 183 190 185 191 193 183 182 194 185 188 194 188 185 185 185 176 176 180 176 180 177 171 177 187 177 180 180 185 176 176 173 180 173 173 176 183 179 180 177 180 185 174 168 174 177 170 168 173 171 176 170 168 171 174 162 160 157 159 149 156 153 149 143 142 145 143 143 140 140 143 139 148 132 131 129 126 132 125 123 123 122 122 120 111 114 108 103 106 112 106 102 108 105 103 100 102 100 94 94 89 92 89 88 92
|
||||||
|
0 0 0 0 0 0 0 0 83 81 85 86 88 95 98 97 94 103 105 100 108 105 106 119 122 112 123 115 123 122 123 129 129 140 140 137 139 142 146 143 148 146 149 153 153 149 156 159 149 156 160 160 157 165 166 159 163 163 165 163 163 166 173 173 176 163 177 163 177 174 170 173 174 180 174 176 180 171 176 182 171 174 188 173 179 182 177 180 187 176 179 179 183 180 188 183 180 180 183 182 182 182 185 187 185 183 190 190 199 187 191 193 190 187 188 193 197 196 197 197 196 196 193 191 191 199 197 202 199 196 200 204 200 202 204 200 199 213 202 211 204 205 205 204 191 196 200 204 204 204 204 208 194 200 194 200 193 196 200 202 199 196 211 202 200 200 199 199 194 196 197 194 197 190 193 193 199 199 200 193 194 191 188 190 187 197 193 190 200 196 197 200 204 199 199 200 202 199 204 193 205 196 200 200 204 202 202 197 200 199 200 200 194 194 188 196 188 187 188 191 183 188 190 190 188 182 193 190 182 185 185 190 196 194 183 182 182 197 183 190 187 185 185 173 185 182 187 179 180 185 183 187 187 182 176 183 179 173 177 180 185 173 177 177 179 173 174 166 180 183 176 168 170 173 173 171 166 170 160 162 160 165 157 162 157 156 153 145 145 146 151 143 139 140 137 142 137 137 131 125 126 128 125 125 122 126 119 115 117 117 112 111 106 105 111 106 98 105 102 102 97 97 97 92 94 92 94 86 88
|
||||||
|
0 0 0 0 0 0 0 80 80 78 88 86 91 94 92 97 102 97 103 109 103 106 114 111 112 111 119 117 117 123 132 122 131 136 136 142 139 145 140 148 149 149 157 146 145 146 149 148 163 157 157 162 165 160 156 165 168 159 170 165 166 166 171 171 165 168 177 180 173 176 176 174 180 173 177 174 177 179 173 174 174 177 171 179 173 182 179 177 179 188 185 183 174 180 190 176 185 190 182 183 183 190 190 183 190 183 190 191 188 187 187 190 194 188 187 197 191 199 190 193 194 188 197 200 193 190 194 202 193 199 202 202 205 199 197 205 210 205 200 207 199 213 199 199 194 205 196 202 210 199 205 202 197 199 196 200 190 196 188 197 197 193 196 197 190 194 204 196 197 197 199 193 191 185 188 194 193 188 188 197 190 188 197 190 194 196 197 197 197 188 204 197 191 197 199 193 193 194 196 197 196 202 197 199 197 200 196 197 196 202 204 191 191 191 180 187 185 187 182 188 185 190 190 182 188 180 183 188 190 191 190 187 187 182 177 182 185 183 182 187 179 179 177 180 180 183 180 183 185 177 187 182 180 182 176 170 177 171 165 179 177 168 179 182 182 173 173 166 173 176 177 168 179 168 159 163 174 166 166 166 165 157 157 156 156 159 149 148 148 145 146 140 139 140 139 134 137 134 131 125 131 129 125 123 122 122 123 122 114 114 109 115 109 103 108 106 103 103 102 100 100 98 92 91 88 91 83 81 81
|
||||||
|
0 0 0 0 0 0 0 0 80 81 81 86 92 91 97 98 102 106 100 103 108 106 109 108 109 114 115 108 125 122 128 128 132 129 139 136 139 142 143 143 148 148 148 149 153 151 149 156 148 160 149 160 160 159 160 160 160 168 156 171 168 166 163 170 173 177 177 163 171 173 170 176 177 180 171 173 174 177 171 177 176 174 179 179 179 177 179 182 180 177 179 176 185 180 185 188 185 183 179 176 187 179 187 185 187 182 185 191 185 179 187 188 188 191 190 197 196 187 188 194 191 188 197 194 196 188 199 204 185 194 200 185 196 196 196 205 197 196 202 204 205 199 197 197 197 204 208 204 204 197 207 199 199 204 197 200 194 196 185 199 190 196 190 202 197 194 193 193 197 197 190 191 197 183 191 197 199 191 191 185 187 190 191 187 190 188 188 190 194 193 194 191 199 197 197 193 193 202 207 187 205 196 200 204 190 202 205 197 190 187 193 185 190 190 185 191 182 191 188 183 185 188 183 185 179 187 188 183 183 190 190 190 187 188 187 183 183 179 180 180 180 185 177 179 179 183 187 188 179 176 179 183 174 182 177 174 182 176 177 177 173 179 170 187 185 177 185 174 176 179 174 171 185 171 170 170 171 168 165 165 165 170 154 157 162 156 153 145 142 140 136 139 139 137 132 134 136 134 125 128 128 131 114 125 125 120 123 119 112 112 111 108 112 111 108 105 102 105 102 100 102 95 92 94 91 91 86 85 86
|
||||||
|
0 0 0 0 0 0 0 0 0 85 83 88 91 91 94 92 98 98 102 102 106 108 106 108 112 112 114 120 115 128 128 122 126 129 136 134 140 143 143 148 148 148 146 149 143 145 146 154 149 151 156 156 157 156 156 162 165 157 165 163 165 168 170 176 168 170 180 171 183 168 170 177 168 176 180 173 180 177 174 173 168 179 180 177 182 179 177 183 187 179 180 183 180 179 179 185 185 182 191 187 182 183 182 188 177 180 185 177 193 193 191 193 193 187 180 190 191 200 190 190 190 196 190 190 194 196 188 191 193 199 197 204 194 199 197 194 202 197 197 204 205 202 207 200 194 194 207 205 200 200 202 200 199 204 199 196 194 191 197 196 199 204 196 200 197 196 191 193 183 194 191 193 188 190 185 202 190 191 190 190 188 191 193 188 196 185 190 187 194 193 193 194 191 193 194 196 193 200 196 197 196 191 202 199 197 191 194 199 190 194 188 180 193 187 191 190 191 183 183 185 185 190 185 179 185 187 183 193 190 193 193 180 188 187 183 187 187 187 180 187 177 180 176 182 177 182 188 179 174 179 177 182 180 188 182 177 174 179 185 173 174 176 173 183 176 180 180 183 170 177 176 177 177 173 173 168 166 166 166 162 154 166 157 149 149 151 153 145 142 143 139 145 139 136 140 139 136 129 134 129 128 126 123 122 120 126 119 109 114 114 108 103 117 105 109 109 102 102 102 98 94 100 92 92 88 92 88 88 85
|
||||||
|
0 0 0 0 0 0 0 78 0 78 86 88 83 95 94 94 97 98 100 97 105 105 106 108 111 106 108 114 120 122 120 126 126 136 136 137 140 145 140 148 142 148 153 145 146 149 153 154 149 151 156 156 159 162 162 162 159 154 168 165 163 177 168 166 171 177 171 170 171 174 179 168 174 168 177 171 173 179 168 171 173 163 174 173 180 179 182 180 188 176 182 177 179 190 182 182 173 182 188 180 180 187 187 188 183 191 187 190 190 190 185 183 185 183 187 187 187 190 188 188 187 182 187 190 187 188 196 191 188 191 205 187 193 199 196 193 190 202 193 199 199 197 190 204 191 194 197 194 196 196 204 196 208 194 197 191 194 190 196 191 196 196 190 188 194 194 199 194 200 188 196 188 183 183 187 188 188 193 191 190 185 183 183 187 187 190 193 194 193 194 191 193 199 188 197 196 193 199 197 188 190 196 197 200 200 196 191 196 193 197 191 191 191 188 182 179 185 188 183 182 187 182 187 187 182 182 190 177 179 185 193 191 193 194 177 182 182 180 179 179 176 185 177 174 179 179 179 177 188 187 174 188 183 183 185 171 176 176 173 179 183 187 188 177 176 188 188 173 174 182 179 173 174 180 168 171 170 162 160 165 159 153 153 146 149 146 145 143 140 140 139 142 139 139 139 139 139 131 129 128 125 120 125 122 123 114 119 114 112 108 111 105 109 105 103 105 102 102 97 95 95 95 95 91 91 89 91 85 83
|
||||||
|
0 0 0 0 0 0 0 0 0 83 85 92 81 92 91 95 98 97 94 98 106 103 100 108 114 111 112 117 122 119 115 129 128 132 132 136 136 139 146 143 153 146 148 145 149 156 149 156 153 149 148 157 154 159 163 159 162 165 168 168 165 168 165 163 185 171 166 171 171 174 170 171 174 174 177 166 168 171 168 183 171 173 168 170 176 183 177 182 179 176 183 176 176 182 180 182 182 180 183 182 179 176 187 183 188 182 182 193 182 180 188 182 182 182 193 190 191 182 183 190 183 194 193 193 182 190 190 187 193 194 196 193 190 193 197 190 199 202 193 191 200 199 194 196 197 193 193 199 196 202 194 202 199 194 191 193 193 197 187 196 193 187 196 191 191 197 194 196 190 193 188 185 190 187 191 188 183 191 187 190 193 193 191 190 185 185 196 193 188 197 187 197 190 194 190 190 194 190 179 196 196 187 194 196 187 197 194 191 193 185 185 187 190 185 187 190 187 188 179 190 176 180 182 183 183 185 185 187 180 193 196 182 196 190 185 180 196 187 185 180 182 187 173 177 171 182 182 185 179 176 177 176 185 182 183 179 171 177 177 180 183 183 176 182 183 185 188 177 177 176 183 179 174 176 170 165 165 162 162 154 160 160 148 148 154 153 146 139 146 136 142 143 139 136 139 136 139 132 132 131 134 122 123 122 119 114 111 114 111 112 108 111 100 108 108 108 102 102 94 103 98 97 94 95 91 89 92 86 81
|
||||||
|
0 0 0 0 0 0 0 0 80 80 81 88 86 89 89 94 95 97 100 95 102 106 106 105 106 111 111 115 115 115 122 126 126 132 134 132 131 136 143 140 143 145 148 140 146 146 151 151 156 156 153 153 151 156 151 159 159 163 162 168 166 170 171 174 168 168 177 173 170 166 170 177 173 177 171 173 177 170 170 173 166 174 170 180 176 174 174 177 166 176 176 179 177 180 174 179 177 180 177 187 187 185 187 188 183 190 187 185 180 190 183 177 180 179 190 182 188 193 187 185 191 183 188 185 174 194 191 188 191 194 191 188 193 190 193 191 190 197 200 183 199 194 205 191 197 197 204 196 199 197 197 194 200 197 190 191 200 196 199 187 199 185 197 191 196 197 190 182 193 185 187 197 187 185 191 190 188 182 185 188 185 183 188 183 190 190 185 182 185 191 191 193 190 190 197 188 190 194 187 183 191 193 197 193 187 194 188 190 188 194 190 185 180 187 191 174 180 176 180 183 177 188 182 185 185 187 180 183 188 187 183 190 193 187 182 177 187 188 180 176 187 182 176 180 182 179 188 191 182 176 187 188 182 185 182 182 176 176 177 185 179 190 185 179 193 183 177 180 180 168 173 170 171 170 166 160 159 160 159 157 166 157 159 156 146 146 148 146 143 140 146 143 140 139 137 134 128 132 126 125 120 126 123 119 122 117 112 119 111 108 112 111 105 105 103 102 108 102 98 98 98 92 92 91 92 86 85 86 85
|
||||||
|
0 0 0 0 0 0 0 0 0 81 81 91 85 85 95 89 94 97 97 97 103 106 103 100 111 112 115 119 115 122 120 120 128 131 132 131 134 142 137 139 139 137 140 146 148 146 151 154 151 157 157 154 154 153 149 159 160 157 162 166 162 171 166 166 171 168 176 176 168 176 173 168 177 173 163 170 173 168 173 170 165 171 173 166 173 179 171 182 179 177 177 185 174 174 174 180 179 182 171 179 182 180 179 176 183 180 180 183 190 179 180 183 187 182 185 176 185 179 185 185 187 183 194 185 187 191 180 187 190 179 193 187 197 193 200 190 190 193 190 196 205 197 199 193 188 194 199 204 204 196 204 197 200 194 196 188 187 191 180 190 188 190 190 185 193 183 199 193 196 190 193 183 183 188 193 188 187 179 185 183 187 183 188 185 183 182 187 188 188 193 191 183 194 194 188 182 190 191 191 187 191 190 197 194 191 196 191 196 194 193 194 190 183 185 185 180 185 179 187 177 179 187 176 173 173 185 177 190 187 190 183 187 188 190 180 188 177 177 185 180 182 182 182 177 177 180 182 182 182 185 182 188 177 183 182 185 179 179 183 182 183 180 179 180 182 183 176 179 177 171 168 173 176 163 163 162 163 160 156 160 173 156 160 154 151 149 154 142 145 139 132 134 131 137 134 136 132 131 126 128 129 119 126 123 117 115 123 117 115 109 109 109 103 109 100 100 97 100 98 98 95 98 97 92 91 89 85 91 85
|
||||||
|
0 0 0 0 0 0 0 0 0 0 80 88 83 91 91 89 95 95 95 102 97 102 103 105 105 111 112 112 112 122 115 117 129 128 132 132 134 137 140 136 145 139 145 146 143 146 151 148 148 149 149 151 157 153 157 159 163 159 162 166 171 165 168 170 174 171 163 168 174 173 173 174 173 173 176 168 170 179 173 171 165 165 180 171 171 179 176 173 174 180 173 183 179 176 180 183 182 182 177 177 179 187 182 188 182 183 183 185 182 179 187 182 177 180 177 179 182 182 182 180 187 183 196 185 179 188 187 190 179 190 191 191 188 197 196 185 191 190 199 196 191 196 197 196 191 204 193 194 193 194 197 199 197 194 191 200 190 190 193 190 193 188 197 194 182 191 191 191 187 188 187 183 188 179 185 193 185 188 182 183 191 188 190 191 191 182 191 187 183 193 185 188 196 196 193 193 191 191 194 197 180 194 190 187 187 183 183 187 187 193 188 187 187 187 183 185 180 182 179 179 183 182 183 176 182 179 188 177 187 182 190 197 194 177 187 182 183 185 174 182 188 180 179 185 182 180 188 179 183 185 183 190 180 180 187 180 182 174 187 179 183 173 173 180 183 176 173 173 176 166 173 177 162 173 168 162 166 162 170 166 165 163 157 159 151 149 146 143 142 134 139 137 132 136 131 134 128 132 126 128 128 120 123 125 122 119 119 109 108 112 109 105 108 100 102 105 100 100 97 95 95 94 91 89 89 86 85 83 85
|
||||||
|
0 0 0 0 0 0 0 0 0 0 81 0 85 88 86 94 91 94 94 97 97 97 106 105 106 109 117 109 120 117 125 123 123 129 129 132 131 136 136 139 137 139 146 140 146 149 145 145 143 146 153 154 148 156 160 157 159 157 168 162 165 170 176 166 166 173 165 170 168 171 170 170 168 165 174 173 166 168 173 160 170 166 170 171 168 171 177 166 179 177 174 176 179 177 173 180 179 174 177 183 176 185 183 180 177 174 190 180 185 182 177 185 174 177 183 182 182 185 187 180 185 179 188 183 188 182 187 191 185 190 190 179 176 185 191 187 194 190 193 200 197 199 196 190 191 197 193 194 199 197 194 200 196 194 194 193 191 194 185 190 187 183 188 197 187 180 190 191 185 188 196 185 182 183 187 182 180 180 182 185 185 188 180 182 185 187 177 183 185 183 190 194 188 185 185 191 200 187 191 190 187 194 185 196 183 194 190 196 194 188 185 185 179 188 187 180 185 179 180 183 188 180 180 177 180 185 177 183 180 183 191 183 182 182 194 188 182 182 188 185 180 182 179 173 177 179 182 179 180 190 187 182 176 182 176 176 183 183 174 179 171 177 185 176 180 171 168 171 170 176 170 171 174 170 173 166 160 163 166 170 165 159 163 153 154 159 149 146 143 142 137 132 129 132 134 132 126 126 122 122 117 125 123 115 122 114 117 111 111 109 108 105 105 102 102 95 92 95 97 97 95 94 91 88 85 89 86 85 80
|
||||||
|
0 0 0 0 0 0 0 0 0 78 80 80 85 88 83 92 94 95 88 95 97 98 98 103 108 108 111 112 115 117 122 120 125 128 128 126 131 128 134 134 134 140 139 146 146 143 149 145 146 159 149 151 148 156 162 156 163 160 166 159 160 173 162 168 160 163 166 165 171 170 176 173 174 170 170 177 168 173 165 170 163 170 177 180 177 174 177 176 177 174 177 174 171 174 180 176 176 173 176 176 180 187 180 180 182 179 182 179 179 180 179 183 165 190 174 174 185 190 179 188 182 182 188 187 182 190 185 187 183 187 179 191 188 190 183 191 193 187 193 185 193 187 197 193 191 191 194 205 194 183 199 193 193 197 190 185 187 188 183 196 188 187 193 180 193 194 187 191 185 188 180 191 185 185 182 185 180 183 180 187 185 182 182 190 182 188 191 183 182 185 191 187 190 191 185 191 190 190 188 191 187 182 188 196 194 187 185 187 187 191 191 183 177 176 183 176 174 173 180 173 179 179 176 187 179 180 187 180 180 187 191 182 194 182 188 182 183 185 188 183 182 185 179 180 183 183 180 183 185 191 185 180 183 180 177 177 179 173 180 182 168 170 177 168 173 173 173 171 168 170 173 173 171 174 174 170 163 163 160 163 156 160 156 154 154 148 145 149 136 142 139 136 136 129 134 132 132 125 128 128 123 123 117 120 117 112 115 112 112 108 106 103 103 102 98 102 95 95 94 95 94 89 88 92 89 88 88 89 81
|
||||||
|
0 0 0 0 0 0 0 0 0 0 81 83 85 81 89 88 88 92 94 95 98 102 100 108 108 108 109 109 111 114 119 119 125 125 131 128 132 140 131 132 142 140 142 145 148 145 146 146 143 156 149 151 157 157 159 157 162 154 154 168 162 166 163 163 170 160 163 171 170 170 165 177 171 174 174 170 166 168 163 171 170 168 174 166 176 173 174 177 170 171 168 170 171 177 168 177 166 176 182 177 173 176 182 177 182 190 177 180 180 179 182 180 180 179 171 183 174 173 185 176 176 168 183 180 182 188 188 187 182 182 190 183 180 182 183 182 187 194 187 190 187 194 193 193 196 190 193 188 197 196 199 188 194 191 183 183 188 193 193 188 185 188 191 193 190 177 193 185 185 179 190 180 188 174 180 183 185 185 187 183 182 183 182 185 188 185 180 185 187 183 183 187 183 193 196 190 199 182 196 190 190 191 190 187 190 187 182 190 191 185 185 182 185 177 176 176 174 179 166 177 180 180 177 177 185 185 179 176 182 183 188 185 177 185 179 179 180 188 183 185 176 173 174 173 187 179 180 179 182 182 187 182 185 183 183 179 171 177 170 174 177 176 173 171 180 179 171 170 177 174 177 171 171 173 174 165 165 163 162 163 160 162 153 156 149 149 142 145 145 136 134 137 136 132 126 129 125 128 125 125 125 126 114 122 112 112 109 114 108 106 108 108 103 98 98 95 95 94 97 91 88 88 91 85 85 83 85 88 81
|
||||||
|
0 0 0 0 0 0 0 0 0 0 78 81 78 85 88 88 91 92 88 94 95 97 100 105 105 105 111 108 114 112 120 120 119 125 126 126 131 125 139 139 129 140 146 142 145 149 149 149 148 149 143 148 159 153 160 154 163 162 153 163 168 156 163 173 162 159 163 160 174 166 174 179 171 171 171 163 170 166 170 174 173 170 179 176 173 177 171 177 173 174 174 171 166 170 171 176 174 174 180 179 179 176 183 185 180 179 180 173 179 176 174 168 176 171 177 176 177 173 176 182 177 177 177 171 182 180 183 179 182 179 185 183 187 190 191 185 188 179 196 194 191 188 193 188 191 191 199 197 200 199 191 196 196 194 193 188 187 196 191 193 185 187 177 187 183 183 188 194 188 185 180 182 177 183 182 179 171 183 180 182 188 183 188 190 182 180 179 180 185 179 188 185 191 187 187 196 188 190 190 179 191 182 183 188 185 187 183 187 179 180 174 176 177 179 176 177 171 173 171 174 174 173 182 179 180 180 180 174 179 190 182 183 191 185 182 183 179 174 183 187 180 171 179 182 180 182 180 191 183 183 183 179 179 180 179 176 170 166 168 173 173 177 185 185 179 171 179 177 179 177 170 174 176 174 171 165 160 159 165 157 160 163 149 151 153 148 143 146 136 137 131 131 131 134 128 132 126 126 123 123 122 119 119 117 111 115 114 106 106 105 105 103 100 95 95 97 92 95 91 92 94 89 95 88 85 88 81 81 80
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 78 0 81 0 83 88 89 91 91 97 98 105 102 102 106 106 109 112 117 119 115 122 122 125 126 128 132 128 131 136 143 140 142 143 145 149 146 146 146 148 153 160 157 154 162 159 162 162 156 156 163 168 168 159 165 163 163 166 166 174 173 171 173 165 165 173 170 179 173 170 173 180 176 171 180 168 174 173 168 179 168 174 176 177 171 171 176 171 179 182 180 176 182 185 180 177 180 177 176 183 171 179 173 176 179 180 176 174 176 174 173 174 180 177 179 187 193 188 188 196 179 188 187 187 183 190 194 190 191 199 193 191 188 196 190 196 199 194 191 204 193 187 191 180 187 185 188 185 197 188 183 190 193 191 187 185 190 182 188 183 183 176 182 182 185 185 185 183 187 182 183 188 188 179 183 182 185 174 182 182 182 185 185 188 191 191 183 188 190 190 190 193 185 190 190 177 177 180 182 174 180 179 177 171 171 173 180 171 179 180 177 176 177 182 180 179 179 191 185 182 177 183 179 170 183 183 177 179 173 174 166 176 182 182 188 173 182 177 180 183 176 174 176 182 174 179 179 170 180 173 183 183 182 182 177 179 183 180 177 165 170 174 166 173 163 162 160 156 157 159 154 153 143 149 145 148 140 137 142 136 136 136 136 132 131 131 131 122 122 119 122 120 115 109 114 112 115 102 105 105 98 100 106 100 98 92 100 91 92 94 91 89 91 88 81 83 80 81
|
||||||
|
0 0 0 0 0 0 0 0 0 0 78 0 0 80 81 83 89 81 94 91 94 95 100 102 103 105 111 112 106 108 115 120 117 119 132 122 128 129 129 132 131 136 142 142 145 139 145 149 151 153 149 153 159 154 157 154 159 156 162 156 156 160 154 160 163 168 163 165 166 170 174 166 179 168 173 168 171 159 171 176 171 174 177 176 177 179 171 171 171 171 177 170 171 174 173 170 173 173 177 180 174 177 182 183 176 177 180 174 171 173 176 177 177 174 171 168 174 180 171 168 171 173 176 177 188 180 183 187 183 187 190 183 180 190 188 193 182 196 185 187 193 185 193 193 183 191 200 194 200 193 194 191 182 187 183 187 187 190 188 191 182 191 187 183 193 188 185 179 187 191 183 185 179 171 170 179 183 180 183 183 183 188 182 179 183 180 176 176 190 183 179 190 177 190 190 185 183 182 187 194 185 190 187 179 179 180 180 185 187 179 180 182 177 168 176 179 168 173 174 173 174 176 173 180 177 180 170 179 185 188 179 183 187 182 180 173 180 187 173 182 170 173 171 179 182 171 173 179 180 185 183 177 179 180 183 179 173 176 174 183 182 180 185 188 177 176 177 185 173 171 177 163 174 165 168 170 165 165 160 157 162 157 153 156 148 153 145 142 140 140 137 136 136 134 126 129 131 131 126 120 120 125 120 117 109 108 106 111 106 102 108 100 103 103 97 92 94 89 94 97 94 88 88 85 83 83 85 85 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 85 89 83 83 91 89 91 95 98 103 100 105 103 106 105 106 117 115 122 120 125 122 123 123 129 128 132 136 142 137 137 143 148 148 151 148 143 148 154 149 154 157 154 157 157 154 160 160 163 151 157 170 163 165 159 168 168 162 171 176 174 165 173 165 170 174 174 182 170 171 174 173 168 176 171 166 171 173 173 173 171 174 177 170 165 171 171 179 177 177 180 182 183 176 174 177 174 168 174 176 185 174 174 168 171 174 174 177 173 173 182 177 171 174 177 180 188 185 183 182 183 190 183 197 185 194 187 194 185 185 190 194 193 194 190 196 200 191 200 187 188 187 183 191 187 185 191 187 183 188 188 179 187 187 188 188 179 182 180 176 179 185 177 176 182 179 179 179 180 180 176 182 187 185 179 174 179 177 182 185 183 188 176 188 183 188 187 188 185 190 183 180 182 183 176 187 179 173 179 179 177 173 179 171 173 168 174 173 171 173 163 182 173 176 179 177 182 177 183 179 180 185 187 174 176 170 165 177 173 177 170 174 183 180 182 187 180 177 179 187 182 182 174 185 177 176 179 176 180 174 171 177 176 179 174 174 173 170 168 165 165 168 166 163 159 163 162 160 156 154 148 153 154 146 142 148 142 136 132 136 136 131 125 134 129 122 122 120 115 115 112 112 108 108 100 106 102 95 98 100 97 97 100 92 91 95 91 89 85 88 85 85 83 85 81 78
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 78 78 81 85 86 89 85 92 95 92 92 103 102 106 109 108 111 114 115 122 122 122 120 122 131 125 131 128 132 136 137 136 142 145 146 146 156 153 153 148 153 154 153 160 159 157 156 154 160 162 160 151 159 162 162 160 163 176 163 174 173 166 176 166 173 166 176 170 179 166 170 165 171 174 180 170 165 171 166 168 171 174 165 173 166 176 170 177 177 180 183 182 177 182 180 180 171 176 179 168 171 176 179 168 168 166 163 174 176 170 173 171 182 171 177 183 182 183 174 187 187 179 183 188 180 191 185 187 188 190 182 188 190 190 193 193 196 199 191 187 179 187 185 179 183 185 180 187 191 185 193 183 185 182 180 187 188 177 179 174 174 180 182 174 177 179 183 176 188 179 185 190 183 177 177 180 171 182 183 182 179 187 180 190 179 188 182 187 187 188 190 182 176 180 176 174 180 173 171 182 179 174 176 183 173 166 170 173 170 176 173 174 171 170 166 177 168 171 177 173 177 176 176 177 171 180 166 177 179 177 176 171 187 179 188 176 187 187 177 182 177 180 183 176 173 173 174 176 176 177 179 176 173 182 174 171 171 166 176 162 168 165 171 163 166 157 160 160 154 157 149 148 156 145 142 146 137 140 140 132 139 128 126 128 126 128 119 122 117 114 114 115 112 108 108 109 103 100 102 98 102 97 100 97 95 92 89 91 86 86 86 83 86 85 80 80 85
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 78 80 0 86 83 86 94 98 95 97 98 105 100 103 106 108 111 111 111 119 122 120 126 122 129 131 131 134 132 139 137 140 140 132 140 142 148 149 153 149 156 153 156 165 153 160 160 154 153 157 159 162 165 174 159 162 168 174 171 174 170 170 168 174 166 171 171 176 179 173 183 179 165 179 170 170 173 173 170 165 174 176 171 166 174 170 177 171 173 170 174 177 180 180 182 177 179 176 171 173 173 165 176 170 168 173 173 168 177 171 176 168 176 176 179 182 174 180 177 179 187 180 187 185 185 194 182 191 187 193 180 194 190 194 190 188 191 190 193 190 194 191 182 182 188 188 185 180 188 190 191 183 188 187 187 180 190 185 182 170 174 176 182 180 190 173 183 176 183 183 188 187 179 180 177 173 174 171 182 177 183 180 191 185 183 180 194 187 177 185 174 183 177 177 179 176 173 171 177 173 173 173 179 171 173 170 177 179 170 176 174 177 171 177 180 179 177 177 174 176 174 174 179 173 176 176 177 174 176 173 180 180 182 185 183 180 182 182 193 187 183 171 179 170 176 177 173 165 168 179 170 176 176 174 173 168 173 176 160 165 165 166 168 168 160 165 168 163 156 157 151 143 146 151 146 143 139 136 134 128 134 128 131 131 129 122 120 115 115 120 112 117 112 103 111 114 106 103 100 100 102 100 95 94 89 92 86 86 89 85 85 86 86 81 81 80 80
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 83 83 85 88 95 92 94 97 97 97 105 105 111 111 112 114 115 123 119 125 122 132 125 131 129 134 136 131 140 137 142 145 149 151 149 151 154 149 156 149 153 154 151 154 162 159 160 157 156 163 166 160 166 176 166 166 173 173 168 179 173 173 173 170 179 174 171 173 180 173 166 174 173 162 168 168 170 176 171 176 166 174 165 168 173 176 180 176 176 174 176 177 176 174 166 179 173 173 174 176 171 173 168 171 171 168 174 168 176 173 173 173 177 179 182 173 180 182 183 187 183 188 191 180 185 190 182 197 179 188 183 190 193 191 197 194 196 185 183 174 183 179 185 182 182 188 188 191 182 194 188 183 180 180 183 182 173 182 171 182 179 182 176 183 179 182 180 180 180 180 182 176 180 177 177 179 170 170 183 179 190 193 177 185 179 180 182 182 177 173 179 174 174 174 177 174 180 173 168 173 176 182 166 170 170 173 174 171 176 174 174 171 168 173 174 176 170 168 166 168 166 182 171 182 171 180 182 177 174 182 185 174 179 185 185 176 173 170 176 180 176 170 176 170 171 177 171 173 179 174 176 168 173 177 171 165 153 163 168 170 159 166 162 162 156 166 156 153 151 145 146 140 142 132 137 139 136 129 132 129 126 122 129 122 120 119 115 114 114 112 111 106 106 105 106 105 94 98 97 92 92 95 89 88 91 85 85 91 88 83 83 85 81 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 80 88 88 92 98 94 92 98 97 100 111 106 106 114 119 114 115 119 123 123 128 125 132 137 134 131 139 134 145 140 145 145 151 151 156 154 149 156 156 154 154 159 151 156 154 154 163 159 160 168 171 162 163 166 173 166 174 179 176 173 173 171 174 179 170 176 174 173 174 163 173 171 163 173 170 166 168 170 166 176 166 173 173 177 166 171 171 173 170 174 177 171 171 174 168 174 165 170 174 180 168 180 165 170 173 171 177 170 170 173 180 177 176 185 171 180 183 179 187 183 194 185 188 190 185 182 185 187 180 183 190 191 190 194 187 191 187 182 182 182 182 179 185 188 183 183 183 176 185 182 185 188 187 188 176 177 173 179 176 173 176 179 179 177 180 180 179 180 177 183 182 180 174 168 171 179 174 179 180 180 183 183 180 182 177 183 182 183 176 177 180 180 171 174 176 174 171 177 174 173 173 174 177 174 171 174 180 176 171 174 171 173 168 165 171 170 171 168 173 170 177 179 173 176 179 176 171 176 187 168 188 177 187 180 182 176 180 173 170 176 177 170 166 174 171 170 170 170 171 171 174 170 170 165 173 163 166 171 173 166 165 153 157 157 159 151 154 149 146 140 142 140 142 128 145 137 129 134 126 128 122 125 126 120 114 117 114 114 111 111 108 105 100 102 102 97 92 94 94 89 89 88 91 88 89 86 83 86 86 78 83 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 85 88 86 94 97 92 100 97 103 102 109 106 108 111 114 117 125 122 125 129 128 129 132 134 126 129 137 142 142 145 140 142 142 149 148 153 149 153 151 148 145 149 163 157 159 157 154 153 163 166 162 166 165 163 170 165 173 168 165 165 168 163 171 170 166 166 170 171 171 166 173 166 168 165 165 170 174 177 174 168 176 163 171 173 176 162 174 174 179 171 177 176 180 171 182 170 171 168 168 176 171 173 166 176 170 176 171 174 176 171 179 168 185 180 174 182 180 174 183 191 180 187 190 187 190 185 177 188 188 191 185 194 188 190 193 183 191 191 179 180 177 183 182 183 188 185 188 180 182 187 179 180 180 173 177 170 179 180 179 179 173 177 174 174 177 174 180 177 176 174 173 171 168 177 174 171 171 171 177 182 179 185 182 177 185 180 177 173 182 180 173 173 171 173 177 171 166 174 171 174 166 163 171 179 177 171 176 170 165 177 168 171 166 171 166 163 174 170 168 176 176 170 176 170 174 173 171 174 182 174 182 182 179 174 177 182 177 177 174 170 168 170 170 177 171 166 173 170 173 170 171 170 179 173 171 163 168 168 163 165 160 160 156 149 159 149 148 148 148 142 143 139 145 145 137 131 137 131 129 128 123 123 120 120 115 119 117 114 109 111 106 102 102 97 97 95 95 98 94 88 91 94 85 91 88 88 83 83 81 86 0 81 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 83 86 91 92 97 97 100 100 102 111 109 105 109 111 114 119 119 122 123 125 132 129 126 122 129 134 139 139 137 143 142 146 143 146 149 159 157 148 154 154 151 149 154 157 153 157 165 166 166 166 165 168 168 166 177 171 174 170 170 170 171 171 163 170 170 162 173 170 166 168 170 166 166 171 174 162 173 166 168 170 162 166 163 166 168 173 174 170 174 171 171 176 173 170 166 166 173 166 176 177 168 177 168 171 165 176 162 182 173 168 182 173 185 176 183 180 182 187 177 185 194 185 185 187 177 183 183 177 193 194 182 196 196 194 188 199 188 193 179 182 179 180 185 182 177 179 179 188 183 188 180 173 170 176 173 173 174 180 176 177 177 182 179 174 180 182 174 177 183 174 176 170 177 179 177 174 179 180 174 177 180 174 177 176 180 173 182 173 176 173 170 173 165 168 163 166 173 168 171 176 168 170 171 170 173 168 160 171 168 168 166 166 168 168 171 170 166 163 176 165 168 165 170 170 170 168 179 185 179 182 176 182 180 177 174 174 179 171 165 166 171 163 165 160 165 166 170 170 166 179 179 173 168 163 159 160 168 165 165 156 166 156 153 156 145 149 153 146 146 145 145 140 145 137 132 139 131 131 120 128 122 114 119 120 114 108 119 106 106 105 102 102 97 98 94 94 98 89 91 94 92 97 88 86 89 83 88 83 81 78 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 81 85 88 92 95 95 97 98 103 103 109 108 112 108 109 117 119 112 126 126 131 126 128 134 131 131 143 137 140 140 143 140 142 148 145 153 153 151 148 153 149 149 157 156 157 153 154 168 168 166 166 168 171 166 162 159 168 170 168 168 171 173 165 180 174 168 170 173 170 171 163 162 168 165 162 160 166 174 170 174 165 173 168 171 171 171 174 174 182 168 173 177 171 173 174 173 176 168 170 166 166 160 171 171 173 177 176 168 170 171 174 176 183 174 179 179 185 188 185 191 187 185 179 185 191 177 179 183 185 194 185 194 174 191 191 190 190 193 188 183 176 180 187 182 177 177 177 185 183 183 176 180 177 171 180 166 179 179 171 180 182 163 174 176 177 173 179 174 179 176 177 177 173 174 170 173 176 177 173 174 183 177 180 179 174 171 173 170 177 170 171 171 177 165 166 166 179 173 179 160 174 174 177 170 168 166 162 176 174 174 171 171 170 168 163 165 163 165 168 165 163 166 171 166 168 171 171 173 174 176 179 176 176 180 180 182 170 166 168 173 173 173 166 166 166 176 166 160 166 166 174 165 166 170 159 163 163 154 160 156 154 165 159 162 156 153 153 149 142 148 137 142 137 139 129 134 129 120 126 126 120 120 115 115 114 106 117 105 111 102 102 102 98 97 94 92 95 91 88 91 92 91 88 89 86 81 85 81 78 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 80 85 88 89 92 100 92 94 98 102 105 106 109 106 112 114 115 112 122 120 126 122 128 132 134 129 134 136 140 143 140 151 145 139 154 151 146 157 153 153 148 146 160 151 157 163 156 157 160 171 163 163 166 166 170 168 168 171 165 165 165 173 166 173 165 168 166 168 163 168 170 168 170 168 163 165 163 163 165 165 170 166 165 173 168 174 171 176 165 177 176 173 170 168 177 174 174 173 179 166 168 174 168 173 166 171 174 170 180 173 179 171 174 179 174 182 182 177 188 182 182 190 183 182 193 185 187 183 191 196 190 188 190 190 188 183 194 187 185 188 190 174 177 185 173 180 180 185 185 182 185 174 171 173 177 165 176 176 171 174 171 173 176 168 180 173 174 176 170 180 170 177 166 177 168 171 171 179 176 176 177 174 174 179 174 174 173 179 176 166 176 171 170 163 162 170 176 166 165 166 170 171 168 173 166 176 170 171 168 168 166 170 162 160 156 166 166 165 166 168 163 160 165 162 170 166 163 171 160 179 183 176 174 176 176 174 174 174 162 182 168 168 171 173 170 174 166 165 166 162 166 159 165 159 162 168 156 154 160 163 163 162 154 156 156 151 146 148 148 148 140 140 139 136 134 131 128 128 129 120 120 123 117 119 112 111 109 111 109 103 105 105 102 103 94 95 91 89 92 92 97 89 94 92 83 85 83 88 80 0 0 78 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 86 86 88 88 94 94 98 98 102 103 106 109 108 106 112 115 115 128 123 126 125 123 129 129 128 136 139 136 137 139 146 142 146 145 148 153 149 162 151 151 151 159 148 156 154 153 162 162 153 160 166 166 163 166 168 166 165 171 166 166 173 171 168 171 163 166 170 156 166 165 165 157 166 165 165 159 170 159 170 165 173 174 165 174 166 173 166 173 165 174 177 170 173 176 174 177 170 182 176 173 170 174 171 173 168 176 166 174 176 173 182 171 171 176 182 180 183 185 177 188 182 177 182 182 187 183 183 177 182 190 188 193 182 187 194 183 191 188 194 187 183 183 176 183 185 187 187 182 185 180 174 182 170 163 171 176 173 176 179 168 173 177 171 170 179 177 177 179 173 176 173 176 173 170 179 165 177 174 177 166 180 173 177 168 171 177 173 165 168 170 165 171 163 163 171 160 162 177 165 168 160 170 163 171 174 170 173 173 170 165 163 165 159 159 165 156 159 159 159 159 162 170 165 165 163 165 166 171 174 171 171 163 166 171 179 176 168 170 177 165 174 160 166 168 163 163 168 168 165 162 163 160 163 157 162 160 151 157 166 162 160 162 160 149 151 154 143 145 143 142 137 140 134 131 129 132 128 119 123 122 120 115 114 120 115 108 108 109 100 103 105 100 103 97 97 91 92 94 92 92 89 89 88 86 85 83 81 81 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 83 88 89 91 91 95 97 95 102 97 106 103 109 112 111 112 112 120 119 123 120 126 128 128 131 132 134 140 140 148 137 142 148 146 145 154 153 157 153 154 153 156 151 156 156 157 159 162 165 160 162 165 154 160 168 157 168 171 163 165 171 163 168 163 168 163 165 165 166 163 162 157 166 171 166 163 171 163 166 162 166 159 171 168 165 170 173 174 171 171 160 173 173 171 173 170 166 171 176 171 177 166 173 176 171 176 170 174 171 176 173 187 173 179 183 182 182 174 179 179 179 182 185 182 185 183 183 188 179 187 179 187 193 180 190 191 190 188 180 183 183 177 170 176 174 179 185 180 185 174 176 171 171 168 168 170 171 168 168 171 170 176 170 171 166 177 174 171 166 173 174 166 165 171 168 171 174 173 176 176 170 174 173 173 166 168 163 170 168 162 162 166 160 163 173 170 170 166 171 162 170 166 173 174 176 166 176 168 170 162 168 159 160 154 162 159 157 159 163 154 168 163 159 162 162 165 160 166 176 168 166 173 176 174 174 168 173 174 168 170 166 160 157 166 166 165 163 159 166 159 162 165 168 165 165 157 153 156 159 156 159 151 146 146 153 146 145 146 149 140 142 134 134 139 123 134 126 120 123 120 122 119 115 109 114 111 111 106 102 100 100 98 100 97 94 94 95 94 83 92 86 81 86 85 81 81 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 83 81 89 89 94 92 97 97 91 98 103 100 100 111 109 108 117 111 115 123 119 125 122 128 123 131 132 132 132 140 137 134 146 136 142 149 145 151 142 149 149 159 156 149 159 157 157 160 159 165 162 165 157 162 162 163 165 166 160 163 173 157 165 170 171 173 174 163 157 162 157 159 165 163 162 166 162 163 163 173 165 160 166 170 168 171 166 174 173 176 173 166 163 174 162 173 173 171 166 176 168 173 168 173 168 171 176 168 179 170 176 171 180 180 171 176 182 183 185 185 176 183 180 180 177 179 180 180 179 185 187 182 187 183 185 191 182 183 183 187 191 183 177 182 191 182 179 176 180 179 173 170 174 173 170 176 163 170 166 165 173 165 173 171 168 173 174 174 165 174 165 174 171 165 166 173 173 171 170 170 176 176 173 162 168 163 160 168 166 173 157 163 173 160 163 174 160 170 171 166 162 162 166 170 168 166 174 171 170 165 156 166 163 168 156 159 153 160 159 163 157 159 165 160 160 165 162 168 160 159 165 162 166 163 171 168 165 171 168 170 163 165 165 156 163 159 156 162 162 156 162 165 159 168 162 157 160 157 157 148 156 157 154 149 149 151 146 149 140 145 139 131 139 129 137 131 136 129 120 123 125 114 120 115 111 111 106 108 102 100 102 102 98 97 92 94 100 97 89 95 89 88 88 81 86 80 80 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 85 85 83 85 91 91 91 92 97 94 98 105 108 108 112 114 112 120 120 119 122 120 123 129 129 139 134 137 136 136 140 143 142 149 142 151 153 151 156 153 154 153 160 156 151 157 154 162 165 162 165 159 157 171 160 159 171 162 165 168 170 168 160 168 166 165 168 162 160 162 159 156 157 159 156 163 157 162 165 162 170 171 162 171 168 168 166 170 171 170 174 162 179 170 174 173 163 168 173 173 174 182 170 174 171 176 176 173 174 166 171 174 180 180 180 177 174 174 183 179 180 182 179 185 182 182 183 188 188 183 182 185 182 185 180 188 183 180 183 188 179 183 179 176 177 180 174 183 174 173 171 174 162 170 173 170 174 177 168 176 176 170 177 171 176 165 174 173 165 171 166 171 166 171 176 163 171 177 170 173 163 173 168 166 163 160 165 159 159 163 165 162 154 163 160 166 171 165 162 165 159 168 162 160 171 168 163 163 160 162 165 162 163 153 159 153 160 165 154 151 157 165 159 163 165 166 160 166 162 168 162 157 168 162 159 159 163 165 168 163 162 162 159 162 156 154 165 157 157 163 165 157 166 159 160 154 159 154 157 154 153 149 148 143 148 143 145 145 137 140 132 134 140 137 129 129 128 128 123 120 119 115 109 111 111 105 106 106 100 108 100 98 98 98 97 88 94 88 86 89 85 85 85 85 81 80 0 78 0 78 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 85 83 83 86 94 89 92 94 92 100 97 98 102 102 105 109 106 112 119 120 112 115 125 128 126 129 132 134 132 131 137 143 136 137 148 139 143 154 146 142 151 145 149 146 149 149 160 151 165 165 159 163 163 162 168 160 163 168 156 160 162 166 163 166 166 162 163 157 159 159 162 163 157 156 157 160 166 162 165 165 160 166 168 165 168 173 166 177 165 170 173 165 170 170 165 177 174 173 165 171 168 171 179 177 176 165 171 168 177 177 176 176 180 176 190 174 171 176 176 177 185 177 182 183 177 177 174 185 187 187 185 187 190 190 185 183 190 183 190 185 183 194 180 182 180 180 173 174 176 179 173 173 176 168 166 171 173 165 171 173 170 165 176 171 176 176 173 168 170 171 173 170 162 163 173 163 171 171 170 165 171 166 174 165 162 163 162 162 160 165 160 157 151 156 157 159 165 173 160 162 170 160 176 171 165 165 171 168 160 160 168 160 162 157 159 156 151 160 154 153 156 157 159 160 160 160 166 162 160 163 160 160 166 166 168 156 168 163 168 160 162 162 168 159 156 160 165 157 159 154 156 159 157 154 162 156 153 153 151 154 154 146 139 146 154 139 149 143 136 140 142 142 137 129 134 131 129 119 122 122 115 114 112 111 106 106 109 109 112 106 100 100 103 98 95 92 92 92 94 92 88 86 83 78 83 80 0 78 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 85 83 83 85 86 91 97 92 89 103 100 105 106 108 105 109 117 111 117 117 122 119 123 126 132 128 132 134 140 136 143 134 145 146 143 145 146 151 151 151 149 149 162 151 157 157 160 160 156 154 159 162 166 160 157 162 160 157 166 160 160 159 160 157 162 159 159 162 160 160 156 160 166 160 160 163 162 157 157 163 163 162 168 166 170 166 165 165 168 166 176 162 165 171 173 173 166 170 163 165 171 171 173 173 179 174 174 173 176 177 176 177 176 176 179 182 170 182 177 173 176 173 180 177 170 185 177 177 177 185 187 183 177 183 183 183 185 187 187 185 188 183 182 180 180 180 182 174 173 174 168 170 170 166 162 168 170 176 168 166 166 168 174 171 168 168 171 171 171 168 168 166 162 162 168 163 162 168 177 166 166 163 162 163 159 157 159 160 153 153 159 157 162 166 160 168 162 163 163 163 165 171 162 170 166 165 165 166 165 159 165 165 154 156 149 160 156 151 153 156 157 162 154 160 170 165 163 157 163 162 166 157 160 156 163 163 159 156 165 157 160 156 154 153 154 156 156 162 154 159 154 151 157 160 156 154 148 153 151 145 143 145 151 145 142 137 145 139 142 137 140 131 131 129 126 126 125 117 122 117 117 120 112 109 111 103 106 98 103 95 100 95 98 92 95 89 88 88 89 86 88 83 85 85 83 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 83 81 86 88 86 89 92 95 94 103 102 102 108 108 103 115 109 115 117 123 117 122 122 134 119 129 129 136 139 143 134 143 140 143 145 143 148 145 149 146 149 148 156 151 156 154 154 166 163 165 160 160 153 162 162 160 166 163 160 160 163 162 168 163 162 162 159 162 157 156 159 154 162 163 162 157 162 162 168 153 168 170 168 165 163 166 171 171 168 166 173 170 166 165 170 171 165 168 171 163 176 177 170 173 179 170 173 168 173 171 174 180 174 179 173 180 174 176 171 176 177 183 173 176 176 174 185 187 185 183 182 185 177 177 183 182 182 179 182 187 182 179 183 179 182 179 176 177 171 171 166 159 170 163 170 168 166 163 168 171 166 170 170 168 173 163 171 166 162 162 166 170 162 166 166 165 166 168 163 168 159 156 163 166 160 156 151 154 148 154 159 159 162 162 170 168 174 168 171 170 166 166 160 166 165 166 168 171 162 163 157 159 154 149 153 153 151 154 157 148 153 153 163 163 154 166 166 160 160 159 154 162 153 162 160 156 148 157 159 153 148 153 153 163 160 156 153 153 153 157 151 156 149 154 156 146 148 151 151 148 149 145 143 146 146 148 139 139 140 132 131 137 125 125 126 119 120 120 120 115 117 114 114 111 111 105 102 105 100 94 94 94 98 91 91 86 86 83 86 85 83 81 78 78 78 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 88 85 83 85 91 89 91 98 94 100 97 106 108 103 114 106 114 111 115 115 117 119 123 126 126 137 131 125 134 137 137 139 137 146 146 137 142 140 134 142 148 151 151 148 157 153 154 160 162 157 163 160 149 159 154 160 156 162 166 163 154 160 165 160 154 162 148 160 156 157 162 159 156 159 160 157 160 160 163 168 160 165 168 165 168 163 171 168 171 171 168 180 176 171 173 173 173 162 170 166 166 171 171 173 174 173 179 174 180 173 174 179 179 174 173 166 177 182 170 177 174 168 168 173 179 179 185 182 179 183 179 182 173 183 182 180 183 183 187 193 190 187 182 182 180 182 177 165 168 176 168 159 165 160 168 166 173 165 163 165 165 168 168 171 165 171 176 170 166 168 156 160 156 166 168 162 162 166 165 162 170 166 156 156 153 154 151 154 159 151 151 153 159 163 160 166 160 165 166 168 168 168 166 163 160 171 163 163 153 156 160 159 163 160 151 157 149 157 157 151 148 165 162 163 162 163 162 159 159 159 157 153 151 149 159 159 154 153 159 154 146 151 153 159 151 154 146 151 145 153 146 153 151 148 153 148 146 146 145 149 148 146 137 148 139 132 134 136 139 129 131 125 129 123 122 119 123 119 119 114 112 115 109 109 100 102 97 100 98 94 95 89 88 91 85 88 86 81 88 85 78 80 80 78 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 81 88 81 85 88 91 91 95 89 95 100 100 108 105 112 109 117 115 114 119 125 120 120 126 123 129 129 132 139 137 139 137 136 142 137 139 142 140 149 148 146 149 145 151 157 149 156 157 156 159 153 149 157 160 154 160 153 156 154 160 160 157 163 154 153 149 156 157 159 160 163 159 162 163 154 162 163 159 163 162 162 162 165 171 166 171 163 170 173 174 165 168 166 163 170 173 168 168 168 166 166 176 174 166 168 177 166 171 176 177 174 176 174 171 183 177 168 180 173 174 179 171 176 174 176 180 187 177 183 187 180 182 180 183 176 176 185 179 182 182 183 187 180 177 177 176 179 176 173 171 168 160 168 160 166 166 163 159 165 165 170 159 174 165 168 162 168 163 170 160 163 166 156 163 163 162 166 159 159 165 156 159 160 160 157 156 154 154 148 156 149 157 154 160 162 165 163 166 163 162 168 171 166 163 165 160 162 156 159 162 157 162 156 157 162 157 148 156 165 156 160 156 162 154 156 156 154 160 163 159 153 149 157 145 154 146 153 143 149 143 149 148 153 154 154 154 153 149 143 151 148 143 149 154 142 148 145 146 157 148 142 140 142 145 137 136 132 132 129 132 126 123 126 129 129 126 122 117 123 119 117 108 109 109 108 102 98 98 97 92 95 89 91 86 85 88 81 88 88 86 85 78 78 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 85 85 85 86 85 91 91 95 95 94 103 105 106 106 105 112 112 112 123 120 122 122 122 129 125 132 140 126 134 136 136 132 140 134 140 142 139 140 139 149 151 139 149 153 151 154 156 154 159 159 157 154 154 159 157 160 154 157 159 163 157 159 149 157 153 153 162 159 156 159 156 160 160 154 162 165 156 160 157 165 171 163 160 166 160 168 168 177 174 168 174 170 174 166 166 165 159 173 171 170 168 170 165 165 176 177 177 173 174 177 166 171 170 173 179 165 171 179 170 174 176 174 174 177 180 183 180 180 185 176 182 179 183 183 179 187 180 188 183 185 185 180 177 177 182 173 174 170 168 165 154 168 162 159 156 171 170 162 168 173 165 162 168 166 165 163 165 163 163 163 159 156 160 160 159 160 162 162 160 162 160 156 153 156 156 151 151 157 153 157 157 160 153 163 154 163 168 165 168 166 166 159 157 166 162 165 171 159 154 154 156 159 162 148 149 151 157 156 153 157 163 157 159 159 156 151 156 157 151 153 149 146 154 149 146 146 143 146 149 149 149 151 157 148 146 149 142 145 143 151 142 142 142 148 146 143 149 146 145 143 142 139 140 137 131 129 136 131 125 128 132 131 128 129 125 117 119 122 114 111 111 109 109 106 100 100 102 94 91 88 92 88 88 86 86 89 83 83 81 78 78 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 81 83 85 85 88 88 94 92 92 95 95 98 108 108 106 111 109 115 117 117 119 120 123 120 125 126 128 132 132 128 134 139 139 132 134 139 146 136 153 140 148 149 159 143 156 156 157 160 154 160 157 153 157 157 160 159 157 157 149 153 154 153 156 156 156 160 156 154 159 154 157 156 154 154 159 159 160 165 159 157 168 157 160 170 170 162 166 170 170 171 168 162 166 170 160 165 159 176 160 168 168 160 174 171 168 170 171 173 176 173 176 176 174 177 179 176 171 176 170 176 173 176 171 180 177 182 180 182 185 182 182 176 188 176 182 180 185 187 179 180 179 182 182 180 180 170 179 173 168 160 160 159 165 168 165 165 168 163 173 171 160 168 166 166 165 170 165 168 160 162 157 157 160 154 162 163 160 159 157 156 154 154 154 149 148 143 157 149 148 159 156 160 159 165 170 177 159 163 159 168 166 162 163 171 162 163 159 173 159 157 157 154 157 148 154 157 154 151 151 151 146 156 157 156 153 153 157 149 156 153 160 153 149 146 145 148 148 143 145 148 148 146 146 146 153 149 146 149 145 145 145 142 149 145 146 142 143 149 143 142 137 134 136 134 129 132 134 131 131 126 131 129 128 128 114 122 120 115 114 111 109 106 103 103 102 98 100 94 97 91 89 88 89 89 86 81 86 81 83 83 0 0 78 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 85 83 86 86 91 94 97 97 98 102 102 102 106 106 114 115 125 117 119 119 120 125 125 129 125 139 125 137 139 137 140 134 134 134 137 140 142 145 149 153 151 148 153 154 149 151 156 153 153 149 157 163 154 157 156 153 162 160 156 159 157 159 160 156 159 154 154 157 151 159 157 159 159 154 160 157 159 160 154 163 162 165 171 166 170 173 165 166 163 174 173 168 162 165 166 163 163 174 168 160 168 171 173 171 166 171 174 173 179 170 170 171 171 171 170 171 173 171 173 171 174 179 183 188 183 177 185 176 180 177 180 187 191 180 180 176 176 179 187 174 180 179 179 174 163 157 163 163 163 159 165 165 162 162 170 165 165 170 163 160 168 165 163 162 163 160 159 154 154 166 157 156 156 159 153 160 159 153 153 156 149 149 154 151 149 157 156 160 157 159 159 159 163 163 165 159 162 165 160 156 163 168 165 162 156 162 156 156 148 153 153 145 156 146 156 156 153 157 149 154 162 153 159 159 156 153 156 145 159 154 148 149 148 149 153 146 153 151 143 148 145 142 146 148 143 148 146 149 139 146 145 146 139 148 140 140 145 137 136 134 139 137 131 131 131 134 134 125 131 123 126 123 114 117 115 114 114 108 108 108 100 106 100 100 95 98 91 92 91 91 83 86 85 85 81 78 78 78 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 85 85 88 89 85 89 91 95 105 97 100 98 105 105 112 108 112 120 119 120 117 126 120 128 126 126 128 131 129 136 131 132 132 139 140 142 143 143 146 146 151 149 148 154 149 156 146 149 149 154 153 153 151 156 156 156 151 156 163 157 149 157 157 151 154 160 156 157 159 148 151 157 156 154 157 160 160 159 159 160 165 165 165 165 165 168 168 166 162 170 166 168 168 163 159 166 166 166 173 170 165 166 168 168 173 163 171 174 174 173 174 165 173 168 174 173 168 180 168 173 173 180 177 182 177 177 182 179 182 185 187 177 183 180 177 176 176 182 171 177 176 176 177 171 170 171 165 162 159 165 160 159 162 163 160 168 165 163 165 168 176 170 159 163 162 160 157 160 162 154 156 154 160 149 163 157 162 160 156 149 156 157 153 148 151 153 153 159 154 165 157 163 153 162 171 163 160 166 162 163 160 157 163 159 159 160 162 151 154 156 148 151 153 157 151 149 149 157 153 163 148 156 149 149 151 146 154 151 151 143 148 145 148 148 145 145 148 145 142 148 142 137 142 145 140 145 140 143 145 140 142 134 140 142 140 137 134 136 140 136 134 132 132 131 136 132 126 125 120 128 120 122 117 115 117 111 111 106 105 103 105 106 97 97 97 91 92 94 88 83 88 83 81 83 0 85 80 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 78 83 78 85 88 91 92 92 97 100 100 103 98 105 109 111 108 115 120 119 119 122 120 120 123 129 128 131 134 125 126 134 132 126 136 142 132 140 143 148 143 146 153 145 151 156 153 153 151 148 151 153 146 153 149 156 156 156 148 153 149 157 159 153 156 148 156 154 149 149 160 153 159 153 153 156 160 160 165 163 153 163 162 163 166 170 168 170 166 165 157 171 166 165 166 165 163 165 166 173 166 171 160 173 163 168 170 174 165 176 179 165 166 171 170 173 180 170 180 168 171 179 177 179 177 187 180 183 180 182 179 173 182 182 177 173 176 179 179 177 185 176 176 177 177 168 170 163 162 168 168 168 151 160 157 165 163 165 166 166 162 163 162 162 165 156 160 160 156 151 157 151 160 156 157 156 153 148 154 153 154 153 149 156 145 156 157 151 160 157 153 160 159 163 160 160 162 162 162 162 160 163 162 159 166 149 154 160 153 148 154 154 145 156 148 149 153 149 148 153 154 154 148 159 154 156 156 153 145 153 148 137 148 146 134 151 137 139 142 139 149 143 148 136 145 142 145 149 142 143 139 142 146 132 136 132 139 140 137 137 140 139 134 136 131 125 128 126 126 120 122 117 120 117 115 108 108 114 111 109 102 105 102 95 94 97 95 89 88 88 86 86 81 80 80 81 0 0 0 80 78 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 78 81 86 83 89 86 91 98 98 100 97 98 106 108 111 103 114 111 111 117 114 123 122 125 120 122 131 126 131 139 131 129 126 136 140 137 134 142 140 142 143 151 146 149 154 146 153 151 151 154 153 154 162 154 157 143 149 157 160 153 156 149 156 157 153 153 156 159 154 159 154 159 156 162 157 163 157 156 159 162 157 162 160 159 157 165 163 166 166 162 165 160 163 160 162 162 157 171 162 163 171 165 163 163 165 165 163 171 170 174 179 174 176 170 165 171 168 174 173 174 183 174 180 171 173 182 177 180 179 177 183 173 182 173 177 174 180 174 173 176 174 177 176 180 174 163 160 165 159 159 162 156 166 162 166 163 162 163 165 165 168 163 162 159 160 154 157 160 154 156 156 151 156 145 154 157 162 153 145 153 151 142 151 151 156 153 159 159 160 157 162 153 157 162 157 159 160 166 162 156 156 159 149 159 148 151 156 159 154 149 153 146 148 149 151 148 149 153 154 156 154 154 157 156 153 149 151 153 157 142 143 145 142 142 142 146 137 139 140 139 146 143 139 143 146 139 145 140 134 139 140 140 139 136 134 140 136 136 132 136 128 125 128 129 128 128 120 119 117 119 111 119 119 112 112 112 106 106 103 105 98 102 98 94 97 92 88 83 86 85 80 0 88 0 0 0 0 81 83 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 83 86 85 91 92 100 95 100 98 102 106 114 112 112 111 109 115 120 123 117 123 122 122 128 131 131 125 134 134 137 131 131 131 142 140 142 140 146 146 145 148 153 145 149 154 153 149 151 153 146 143 156 153 154 151 153 149 151 153 151 156 160 151 151 156 148 156 153 154 153 154 156 154 151 156 160 160 162 163 163 160 166 163 160 163 165 163 163 166 166 160 160 166 163 166 165 165 159 159 170 165 168 168 166 165 166 171 179 176 165 168 176 173 176 171 171 166 174 174 180 179 179 174 177 177 179 183 176 177 173 176 179 176 176 171 177 176 171 176 176 168 166 163 159 156 165 157 156 160 162 159 159 163 166 156 162 166 165 162 160 160 154 154 165 151 156 148 151 154 153 153 149 151 148 156 148 143 145 151 149 156 151 151 165 157 157 162 162 159 162 157 159 165 156 165 156 157 159 149 162 154 153 160 149 153 148 149 149 145 146 146 153 149 153 149 156 151 159 159 149 160 146 151 153 151 142 149 142 137 142 140 139 142 139 134 137 145 139 139 140 139 143 137 142 136 137 143 143 139 142 140 134 132 134 129 136 125 128 122 122 123 126 125 122 123 117 122 114 119 117 109 112 108 105 102 103 105 100 98 103 95 94 91 83 88 89 85 80 78 81 80 80 0 81 80 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 85 86 85 89 86 89 97 97 97 102 95 102 100 106 105 106 115 108 112 120 119 123 120 122 125 131 126 125 129 132 131 128 136 136 134 137 140 145 142 145 143 145 146 139 148 148 143 153 151 142 149 149 149 153 156 149 148 154 149 153 154 148 157 143 159 156 154 162 149 159 157 157 156 156 160 156 159 153 157 163 163 163 162 159 168 162 163 170 165 171 157 160 160 165 162 166 165 163 162 160 162 166 163 170 162 170 170 171 163 166 174 166 165 177 170 176 166 171 171 177 179 174 176 180 173 165 176 179 179 171 177 170 173 171 166 173 170 168 173 171 174 170 170 166 160 160 154 153 160 159 160 159 157 163 163 166 165 157 156 159 160 156 154 162 156 157 149 153 153 149 148 154 153 148 153 151 154 151 149 149 149 153 154 159 156 156 154 157 159 156 156 159 163 154 159 154 157 156 157 156 153 157 160 149 154 149 154 148 153 149 146 148 149 145 148 148 145 151 148 156 154 153 151 151 149 154 146 143 145 139 136 143 140 142 136 142 131 136 137 137 136 142 137 140 137 134 137 134 137 136 137 143 132 132 132 137 132 128 126 126 126 122 120 117 120 115 119 112 120 109 112 109 108 111 106 102 103 95 103 97 100 94 94 88 88 85 86 86 83 78 80 78 78 0 78 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 81 83 85 89 91 94 97 89 95 102 105 100 109 106 109 112 111 117 119 122 115 123 120 126 125 129 123 129 128 132 131 136 129 136 132 139 145 139 143 140 146 140 140 151 146 148 143 145 153 149 153 149 149 154 149 151 153 156 146 148 153 153 156 153 151 159 148 160 156 153 154 157 149 153 153 159 160 157 162 162 160 165 163 160 159 165 160 166 157 163 154 159 165 165 170 159 170 165 159 165 157 165 165 165 173 163 168 163 166 173 163 176 168 173 170 168 166 166 168 177 176 176 174 179 185 174 173 173 174 168 168 176 166 168 168 176 165 170 173 177 170 168 162 162 165 148 163 160 154 156 157 153 166 156 165 151 165 159 149 160 165 159 160 149 151 151 154 151 143 149 151 148 148 154 149 145 140 153 143 151 154 148 153 162 156 154 157 165 159 156 153 159 156 159 157 159 159 151 160 153 149 156 153 149 154 153 143 151 148 146 140 143 145 143 151 145 151 154 156 154 149 145 153 151 146 145 143 149 134 140 137 145 143 137 137 137 139 136 139 134 140 126 134 131 136 134 139 132 137 142 143 134 131 134 132 136 131 126 125 117 123 122 119 117 112 122 119 122 114 112 111 109 112 109 103 103 103 100 98 97 97 95 88 91 92 83 89 83 89 81 78 78 0 81 78 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 81 80 81 83 86 91 89 94 95 95 98 105 105 102 103 111 106 112 111 119 117 123 117 123 123 120 122 122 128 122 131 134 129 131 136 134 137 143 136 142 146 142 148 146 145 151 146 143 148 151 148 146 151 145 154 148 159 148 154 146 145 149 153 146 156 151 156 157 149 153 154 154 153 157 153 156 156 153 160 159 156 160 162 160 157 162 159 160 162 166 162 163 160 156 160 157 159 157 165 157 156 162 160 168 174 168 160 166 165 163 173 165 162 170 165 177 166 173 176 176 180 180 177 173 168 173 176 170 163 171 176 170 166 176 171 162 165 170 170 171 173 166 166 162 156 153 157 157 154 157 159 148 156 159 162 160 163 157 159 165 157 151 157 157 156 154 153 154 153 149 142 139 146 145 146 142 145 154 146 154 151 151 149 151 157 153 162 154 159 162 154 163 153 157 159 156 162 159 156 156 151 160 148 151 153 151 148 146 146 146 142 149 143 151 153 154 148 146 148 146 145 153 149 151 149 149 145 146 149 139 139 136 132 137 142 134 132 132 137 134 131 140 132 136 131 132 136 137 145 145 140 134 136 129 131 125 122 125 128 125 122 120 117 114 120 115 114 115 112 108 105 106 103 103 103 100 105 95 98 92 89 92 91 91 83 85 85 86 83 83 81 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 81 83 83 86 86 86 92 94 95 97 94 98 97 105 109 109 112 109 112 108 120 115 123 119 122 123 128 125 126 123 123 129 125 132 132 137 139 132 139 137 146 139 146 139 142 143 145 151 149 151 148 151 149 146 149 154 151 156 153 149 153 156 151 149 146 154 156 154 151 157 149 151 154 149 156 156 156 154 156 160 156 160 156 156 162 154 166 151 160 157 156 156 157 157 166 163 159 162 168 160 162 157 168 163 165 163 166 165 160 168 163 174 173 176 165 166 170 166 171 176 177 176 170 173 177 173 173 168 173 173 168 162 168 168 170 170 163 168 173 174 160 163 166 159 157 154 159 156 157 157 160 156 151 149 156 162 166 159 160 159 160 162 160 154 151 153 148 151 149 153 149 143 146 148 143 145 149 153 139 153 149 154 156 157 157 154 160 159 156 159 157 160 154 146 156 156 156 153 153 149 149 149 157 156 149 146 148 148 148 149 137 143 153 149 148 146 145 149 148 151 153 146 142 149 149 148 142 146 131 142 136 142 132 136 134 128 131 136 128 129 134 131 128 132 132 140 140 143 131 139 134 132 131 129 128 131 120 128 125 120 123 119 117 119 115 115 117 109 114 112 105 108 105 100 95 98 92 97 100 98 98 94 94 92 89 85 86 86 78 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 85 85 83 88 89 86 91 97 92 100 100 105 108 103 108 109 112 112 114 120 117 119 117 125 125 129 123 126 129 126 131 132 131 134 131 136 140 136 145 143 143 143 142 145 140 143 145 148 148 145 143 148 148 151 151 151 153 149 148 149 148 149 151 149 148 151 159 153 154 153 153 156 151 154 153 146 156 159 163 159 154 159 160 160 159 162 151 162 154 160 165 160 156 159 157 157 160 157 160 163 170 165 166 160 159 170 162 159 165 165 166 174 165 156 166 166 176 168 177 174 170 176 171 174 171 166 170 170 171 171 160 165 162 160 166 165 173 173 159 163 160 159 154 160 162 159 154 157 156 151 157 151 157 153 162 157 156 154 156 156 159 156 154 153 145 149 146 146 145 143 143 140 142 143 145 149 149 146 157 149 153 151 156 156 153 156 154 159 154 149 154 154 153 156 149 154 151 156 151 148 149 149 154 146 145 148 145 145 140 146 142 148 143 146 142 148 140 154 143 149 142 143 148 148 145 140 140 132 129 136 134 137 136 134 139 140 132 131 139 140 139 136 140 136 134 137 139 126 132 125 129 126 120 125 120 123 122 119 122 114 114 115 112 109 114 109 111 108 105 105 103 105 102 103 102 98 97 100 97 92 94 89 81 85 88 83 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 88 83 83 88 91 94 94 91 97 98 100 105 105 108 109 112 114 112 119 120 120 125 117 117 125 122 117 128 131 131 136 129 131 136 139 142 142 137 143 142 134 143 142 145 145 145 145 140 140 154 149 148 146 145 153 145 146 146 143 151 153 154 149 154 153 146 146 151 148 154 149 148 151 159 154 157 151 157 156 157 157 156 159 154 160 159 151 160 157 146 162 162 159 154 153 163 156 159 159 162 160 160 159 162 162 156 165 162 170 157 166 162 163 160 174 173 173 171 173 165 174 173 165 166 168 165 159 166 163 171 162 163 160 163 165 163 166 171 159 159 157 157 153 156 156 156 148 154 149 151 153 149 153 157 157 157 163 160 162 156 148 149 153 154 151 148 151 148 146 140 136 142 137 142 140 149 146 143 156 148 154 149 153 156 156 159 153 154 151 163 149 153 148 151 149 154 151 149 149 148 151 149 148 149 153 146 142 140 146 143 142 143 140 149 143 145 145 153 148 145 149 146 136 139 139 137 137 131 143 142 137 140 136 134 134 136 139 131 132 136 136 132 134 137 132 129 132 126 131 128 132 131 126 120 120 119 120 115 123 117 115 109 115 108 108 106 109 105 106 106 109 102 95 95 98 97 98 94 88 89 88 81 81 85 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 86 85 85 85 91 91 85 89 94 98 98 106 105 106 111 111 114 115 112 120 115 117 115 123 123 125 123 129 123 132 131 134 139 132 134 145 140 139 140 137 145 148 148 142 140 146 143 145 145 142 143 145 146 146 149 149 149 146 149 143 146 151 148 153 148 149 151 148 149 154 143 154 159 154 157 151 154 159 159 160 151 163 153 157 160 154 151 149 156 159 151 163 159 160 157 159 153 151 163 156 160 157 159 162 157 157 163 163 165 165 165 168 162 163 162 170 166 170 170 168 166 176 174 168 170 160 165 160 168 163 165 165 165 166 162 160 165 160 163 159 148 156 157 157 153 146 148 159 151 154 154 146 156 149 153 153 156 153 159 156 149 151 149 143 145 142 142 145 143 145 140 140 140 142 143 151 149 153 146 157 153 151 149 153 153 148 157 149 156 149 153 156 151 154 153 151 149 146 154 146 146 145 142 142 139 146 140 142 137 143 139 148 143 140 151 146 140 148 154 142 148 146 143 139 143 137 136 140 139 134 142 129 136 129 126 137 131 128 125 128 131 137 136 128 125 134 125 126 125 120 125 126 125 123 120 122 119 111 109 112 115 111 105 105 103 105 108 109 109 109 100 102 98 97 100 92 91 89 83 85 83 78 78 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 80 78 85 81 85 88 85 91 94 94 95 100 103 102 106 108 106 106 111 111 111 114 125 117 122 122 122 125 126 129 131 129 128 128 136 136 139 136 139 139 139 145 137 145 139 148 142 140 140 145 145 146 151 142 146 149 142 142 149 143 145 148 146 148 151 156 149 149 154 148 148 153 148 149 153 153 160 156 153 151 154 157 151 162 151 156 151 154 153 156 153 159 154 156 156 159 163 160 154 160 157 162 168 159 157 162 163 162 159 163 162 162 160 166 168 170 171 171 166 170 168 168 162 168 170 166 168 160 162 159 163 168 162 162 162 156 165 168 162 160 157 151 153 157 156 157 149 156 154 151 143 145 151 154 151 156 151 153 154 151 151 151 148 146 145 149 140 145 140 145 136 134 148 137 143 139 143 139 148 148 143 156 146 153 156 157 160 146 156 149 151 154 149 146 148 154 148 148 143 148 140 142 146 139 142 148 148 143 139 142 146 145 142 142 148 143 143 143 153 143 149 145 143 139 140 142 139 140 139 134 140 136 134 132 132 136 128 129 129 126 123 129 123 129 123 128 123 128 122 123 123 122 125 126 122 119 115 120 114 114 112 112 114 112 111 106 105 112 106 108 108 102 100 94 103 91 89 91 91 88 85 88 83 0 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 78 80 81 86 81 89 86 92 92 95 100 97 102 103 102 103 112 112 114 114 108 117 119 120 123 120 125 120 123 123 131 132 134 134 131 137 132 132 136 143 136 140 140 143 142 143 139 139 143 142 142 148 148 140 146 149 149 146 143 148 145 153 149 142 151 153 156 151 146 154 151 142 146 151 157 154 153 148 148 153 149 160 151 153 157 149 151 153 154 153 149 149 160 151 153 157 159 151 154 153 160 163 156 162 157 156 160 156 166 157 160 159 165 162 163 163 168 165 171 165 162 162 168 162 162 160 163 160 159 163 163 159 166 160 168 157 165 159 163 159 149 149 148 151 159 156 154 153 143 151 149 148 153 151 149 156 146 149 148 153 151 145 146 143 137 137 140 143 136 131 145 143 143 134 145 145 140 146 145 149 153 149 153 146 148 151 153 153 146 149 153 148 146 153 145 153 151 151 143 140 143 145 142 139 139 143 137 139 139 140 140 139 143 148 146 145 139 149 142 142 140 143 140 139 136 136 142 136 140 136 134 131 132 129 128 136 131 125 128 128 126 131 128 126 119 128 128 126 125 123 122 123 117 119 120 115 114 114 109 117 112 111 109 112 112 105 108 103 106 105 103 100 92 92 92 91 86 86 88 80 83 80 78 81 0 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 78 0 85 85 83 88 83 89 89 92 95 103 103 100 106 105 106 105 106 111 112 115 119 117 115 117 120 123 129 125 131 129 131 134 132 134 139 137 134 134 136 134 139 136 140 136 142 142 145 140 146 142 142 143 143 142 145 142 148 143 149 148 146 146 148 148 149 149 151 149 148 149 148 149 157 156 156 148 159 156 149 153 153 149 153 154 154 153 148 153 151 151 154 159 156 159 157 157 154 157 157 156 156 159 162 159 159 159 159 157 151 153 165 162 163 163 170 174 174 160 174 160 159 157 159 160 156 163 159 163 160 163 151 165 159 162 159 159 168 154 148 146 153 154 157 153 149 148 148 157 143 153 156 154 146 156 143 156 149 154 145 140 140 146 142 143 134 134 131 142 134 132 137 146 140 142 143 151 153 145 153 148 145 149 149 145 151 145 149 153 149 151 151 142 151 153 145 146 149 143 137 142 136 137 142 139 139 148 145 143 136 139 145 139 139 142 146 145 143 142 137 131 137 137 136 137 139 131 129 128 129 128 126 128 129 129 122 129 123 122 122 122 123 120 125 125 117 115 126 120 122 123 115 115 119 109 112 111 120 111 111 109 112 114 111 108 103 105 100 100 94 100 89 94 86 91 86 85 80 80 78 80 81 0 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 80 85 88 85 88 91 91 91 95 95 91 97 100 100 103 106 105 109 114 114 115 114 114 115 123 122 120 125 125 126 125 128 128 139 132 139 136 132 131 137 137 132 134 136 143 142 139 143 149 145 136 142 143 145 143 142 143 143 146 145 145 140 149 154 146 143 146 142 151 146 145 149 154 156 146 153 154 151 151 151 153 153 156 156 154 151 156 156 148 146 149 156 146 153 154 153 154 148 154 157 154 156 153 156 157 154 163 160 157 159 163 165 165 160 165 162 171 163 165 157 165 157 166 159 160 160 162 163 154 159 160 156 156 162 159 159 160 156 149 148 153 149 154 148 146 148 151 148 143 148 149 153 153 149 149 154 145 149 146 143 146 137 134 126 142 132 134 132 139 140 140 134 139 137 139 145 146 139 146 145 149 148 142 145 146 149 142 151 153 151 153 143 148 146 145 151 145 142 137 137 146 140 136 140 131 139 137 137 139 140 137 145 140 137 142 142 140 139 137 137 139 132 136 139 129 137 129 131 128 136 122 129 128 125 131 126 125 120 125 126 117 123 120 115 122 120 122 115 117 117 117 114 117 117 117 117 120 117 106 109 109 103 103 102 105 102 98 98 97 92 89 89 92 86 89 81 83 81 81 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 78 80 80 80 81 89 85 89 91 89 91 92 102 103 105 100 108 106 111 112 114 117 111 120 117 119 120 122 122 126 123 128 126 129 131 131 126 129 143 131 140 134 136 131 134 131 142 136 137 143 143 137 142 146 143 145 149 140 145 145 145 139 146 143 148 145 151 146 149 146 151 149 154 146 149 148 151 148 149 157 149 153 146 153 151 153 143 145 149 146 156 149 149 154 153 157 157 159 153 159 154 149 148 154 151 156 153 154 159 157 157 160 159 163 162 163 166 166 156 163 168 165 160 153 159 163 157 162 162 160 153 149 156 159 157 160 156 151 149 151 149 149 149 154 143 148 145 148 153 142 146 142 156 149 148 153 148 154 153 149 136 149 140 140 136 131 137 136 142 136 139 134 136 136 132 139 139 145 154 142 151 148 148 148 149 153 149 156 140 143 145 143 140 149 146 145 143 143 145 137 139 137 136 139 134 142 136 134 139 142 143 134 139 139 140 139 140 137 142 139 148 137 134 139 131 140 134 128 131 131 132 131 125 126 126 117 125 123 126 123 122 115 123 120 126 117 119 117 123 115 123 120 119 117 120 122 117 119 106 108 111 108 103 102 98 97 97 98 97 94 91 95 92 86 88 88 86 86 85 0 78 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 78 81 80 81 85 86 89 91 97 97 98 95 97 105 106 105 111 111 112 115 114 115 111 115 117 117 126 123 122 122 129 129 128 136 136 132 132 139 134 142 134 131 136 132 139 140 140 142 139 143 139 143 143 142 137 142 142 145 140 145 143 145 145 145 143 148 149 140 149 140 146 145 153 146 146 153 156 151 151 153 151 151 151 146 151 153 145 143 153 153 156 149 149 146 153 151 153 148 149 153 160 157 153 153 153 156 154 160 163 156 163 160 162 159 159 168 162 160 156 159 162 154 153 159 154 151 159 160 154 153 160 157 162 153 154 154 156 148 145 157 153 151 148 143 146 151 145 143 143 140 148 149 154 146 151 142 146 146 140 143 139 137 137 131 137 129 131 136 134 131 136 134 136 137 153 143 142 140 146 146 137 146 142 143 137 140 139 148 143 148 149 140 145 145 148 136 146 137 136 139 142 129 137 131 134 134 139 140 140 134 139 142 139 145 137 136 140 142 139 136 134 137 129 131 131 131 128 125 126 126 123 128 126 120 120 120 122 126 128 125 122 126 125 119 119 128 119 112 123 122 114 114 117 112 106 106 109 108 100 105 100 95 95 98 94 98 89 86 94 86 86 85 85 80 85 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 80 85 78 80 86 89 89 92 97 100 95 108 102 102 105 105 105 106 112 108 114 119 119 117 125 117 123 123 128 120 136 128 128 134 137 134 134 134 131 131 129 132 139 134 137 142 137 137 137 140 143 134 142 140 136 139 143 137 143 143 143 145 142 142 145 146 145 143 146 148 149 146 151 148 146 148 156 151 148 146 145 146 148 146 146 148 145 149 149 151 153 154 151 154 148 151 145 157 146 151 148 156 153 153 160 156 153 162 156 163 165 162 166 168 157 162 156 157 160 159 159 157 157 156 163 160 156 156 156 149 148 156 143 151 156 153 143 145 149 153 142 148 148 148 143 148 143 140 145 146 145 146 142 139 146 140 140 139 146 140 137 136 131 128 136 132 132 134 131 132 136 122 136 134 143 139 142 145 146 142 143 142 148 139 148 142 136 145 145 146 142 145 137 145 142 137 137 132 136 136 139 134 136 136 129 136 136 136 134 142 137 136 132 139 134 137 136 134 137 137 131 132 137 131 129 128 125 126 129 128 123 122 125 125 125 122 125 125 123 120 128 123 123 123 119 119 114 115 111 114 117 115 106 106 112 105 102 97 108 100 98 92 95 95 92 91 95 91 81 83 0 83 80 88 0 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 80 78 0 83 83 85 83 83 94 98 95 97 102 97 100 102 108 106 111 112 106 114 112 120 117 117 119 117 125 125 123 123 123 129 126 134 131 132 131 128 132 128 132 129 139 132 137 129 136 131 136 137 131 137 143 134 140 137 140 136 142 145 143 140 142 143 143 149 143 145 143 151 145 149 151 153 148 140 143 149 153 151 142 145 148 148 151 143 146 143 151 149 148 151 148 148 149 146 146 149 153 149 153 151 151 145 153 154 156 156 168 159 159 157 159 165 154 170 157 159 157 157 154 148 160 153 151 154 154 153 146 156 156 151 154 145 146 146 143 148 153 148 143 137 149 139 145 145 145 142 143 136 145 145 142 142 142 140 140 140 142 137 132 134 126 132 132 129 136 129 126 137 137 139 137 139 142 136 143 140 139 142 142 143 142 143 142 145 143 146 142 143 143 142 134 134 140 132 129 131 134 140 129 131 129 134 140 132 137 132 140 134 134 140 136 132 134 140 131 131 134 134 125 129 129 131 128 134 126 125 128 123 123 128 125 123 128 131 125 123 115 123 117 119 115 117 114 115 111 114 111 109 106 111 100 103 102 102 100 100 98 95 92 103 92 94 92 89 85 89 86 85 83 80 81 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 86 88 81 86 86 89 91 95 92 95 97 105 105 103 103 105 106 114 109 111 112 114 117 120 117 123 120 122 125 125 123 129 129 128 129 126 128 128 128 131 131 129 136 132 136 142 137 131 140 132 139 132 139 139 140 142 140 140 140 142 145 140 146 143 142 148 142 146 145 145 148 148 145 146 146 143 143 146 148 143 149 148 142 148 148 146 148 149 149 149 145 149 149 149 154 151 145 146 149 148 156 149 151 148 156 157 160 154 156 157 159 160 162 156 165 154 157 159 151 156 154 154 154 154 149 157 159 154 151 148 148 156 146 140 139 139 143 143 140 146 145 143 142 143 145 148 140 140 136 139 143 137 137 145 142 137 134 131 129 126 131 129 126 125 123 128 125 131 129 132 136 136 143 142 139 142 143 139 136 139 139 142 142 137 142 143 137 145 137 137 140 142 136 136 142 131 137 126 129 132 128 134 131 132 131 137 132 134 132 132 137 132 134 132 129 131 129 132 128 136 132 128 132 134 128 129 131 131 125 123 120 122 119 120 120 119 117 114 119 119 111 115 114 115 106 109 111 112 115 115 109 105 103 98 105 102 97 100 95 95 98 92 91 88 92 85 88 88 81 81 78 78 0 81 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 81 81 85 89 86 91 92 97 94 95 97 98 102 102 105 106 109 109 106 115 115 108 115 117 115 120 120 122 125 125 126 126 128 131 129 129 129 128 131 131 134 131 131 134 128 131 129 131 131 132 132 140 139 139 143 137 142 132 140 142 146 136 140 145 139 143 137 142 143 146 148 145 151 142 148 148 151 146 143 146 143 148 142 143 148 145 143 145 146 142 148 146 149 148 148 145 142 149 149 153 151 156 154 149 159 154 159 159 160 154 159 159 156 151 160 154 159 157 151 154 151 149 154 154 154 149 148 148 154 148 157 148 142 134 142 148 143 137 140 145 146 134 139 136 140 139 139 139 142 139 143 137 136 140 137 137 132 132 131 125 126 123 123 128 126 128 129 126 129 128 134 139 134 139 145 139 137 139 137 139 139 136 145 142 140 139 142 140 142 142 129 137 139 131 129 134 139 137 126 128 128 128 125 129 132 131 131 140 136 136 131 131 128 136 134 136 128 136 131 129 128 132 126 126 128 123 120 120 117 115 120 120 114 112 112 114 108 111 115 109 112 114 111 108 109 106 105 100 105 102 108 100 102 106 100 98 95 95 92 89 94 91 92 89 85 85 85 85 81 81 0 0 80 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 83 88 88 89 91 92 88 95 95 98 97 95 100 105 109 108 109 115 111 114 115 115 115 112 123 120 115 125 125 126 123 129 125 126 123 123 132 129 132 131 128 134 134 129 129 134 134 137 136 136 132 137 137 136 142 140 140 139 142 139 140 142 146 142 145 145 142 142 143 151 143 143 139 148 137 143 143 143 140 140 140 146 149 146 145 145 151 143 145 145 145 145 151 146 143 142 146 148 146 153 153 151 157 159 157 160 156 156 153 154 159 153 157 148 156 151 153 153 151 149 153 151 157 154 149 149 149 154 148 145 148 145 139 139 134 136 143 143 136 139 139 142 137 145 142 143 140 137 142 132 134 140 139 137 137 126 129 129 129 131 125 128 125 122 128 128 126 131 131 125 129 136 137 136 139 142 139 142 139 132 140 132 142 137 140 137 137 136 136 143 137 129 131 129 129 129 132 128 125 122 128 126 125 131 126 132 129 129 134 126 136 136 129 132 137 129 128 131 126 125 132 123 128 125 122 120 122 117 117 111 119 111 112 112 114 108 109 109 106 106 109 106 111 105 103 106 106 105 108 102 100 98 100 98 97 95 102 88 92 91 91 89 88 85 83 80 81 83 86 80 83 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 78 85 85 86 86 89 92 94 97 97 97 92 97 102 102 108 105 106 111 108 109 112 122 119 117 119 119 119 123 128 122 122 129 125 125 123 128 125 126 123 129 131 126 134 131 132 134 129 131 139 131 136 137 134 139 143 136 143 137 139 139 139 140 140 142 137 145 149 146 142 142 143 149 142 143 140 140 143 145 142 146 145 143 140 142 140 149 148 148 145 142 148 140 146 143 142 146 148 146 142 156 145 162 162 156 156 149 153 157 156 148 149 154 148 148 154 143 157 151 151 145 148 149 153 154 153 151 146 145 140 151 142 137 140 132 136 140 146 139 143 143 136 140 142 131 139 149 137 139 139 137 136 136 136 132 128 131 129 128 126 123 126 126 129 126 122 122 125 128 129 132 136 136 139 139 136 136 137 137 134 131 136 136 139 139 143 137 143 129 140 139 126 140 131 122 128 128 131 125 128 126 129 123 128 129 129 129 131 134 134 132 136 131 129 136 132 128 129 123 132 119 123 122 123 112 119 117 123 112 112 115 111 115 114 109 111 111 111 106 112 106 112 105 108 103 105 105 106 103 105 103 97 94 95 97 94 97 92 94 89 89 88 88 88 86 86 80 81 80 83 81 85 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 80 78 86 91 89 91 92 94 92 92 98 95 95 100 95 105 103 106 106 109 106 117 117 119 126 119 119 122 120 122 123 123 126 126 129 125 122 126 129 128 131 134 128 131 131 134 134 129 134 129 134 132 136 140 132 142 137 140 134 136 139 134 142 134 140 142 145 139 145 143 140 139 142 140 139 136 142 142 139 139 137 145 140 139 140 143 146 143 139 142 143 148 137 139 140 142 149 146 146 140 148 146 154 153 153 143 154 149 153 149 146 151 151 151 151 151 146 143 149 153 146 145 145 156 148 153 142 148 146 139 143 137 142 137 131 139 136 137 136 139 136 134 134 140 143 142 136 137 140 139 132 136 134 131 131 132 123 128 123 126 122 125 122 122 115 125 125 128 128 122 129 134 131 131 134 139 134 139 136 140 140 139 136 136 126 137 139 134 136 134 126 122 125 126 122 129 125 123 129 125 128 122 128 129 128 131 128 132 134 134 132 128 126 128 123 128 125 119 123 119 123 122 125 125 120 119 117 112 115 119 108 109 109 109 108 112 109 102 108 108 109 105 102 108 103 109 105 100 103 100 102 97 98 92 92 94 92 92 88 89 85 92 86 86 80 86 81 81 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 0 80 86 88 85 85 88 92 92 91 95 94 97 94 100 97 108 102 109 106 114 112 112 119 112 120 115 123 123 123 115 119 119 123 120 120 128 120 126 126 128 123 131 129 129 126 131 128 131 129 134 129 132 136 136 134 134 134 128 142 136 137 142 143 131 140 137 137 137 137 139 137 139 145 142 139 136 136 137 139 140 136 145 137 136 140 139 139 145 145 143 142 140 142 140 143 134 137 142 146 148 146 153 149 153 151 151 154 142 146 153 149 148 146 149 145 143 146 156 143 146 143 154 149 154 149 140 148 145 145 149 140 136 131 136 139 131 137 134 131 134 132 136 140 139 139 134 136 137 134 132 137 134 131 129 129 129 126 132 126 123 122 117 119 122 120 125 123 123 132 129 131 131 129 131 136 129 140 132 132 137 139 139 137 132 136 134 134 128 134 128 128 128 131 131 129 125 128 120 123 123 122 122 131 131 128 126 128 132 131 125 128 126 131 128 129 123 119 120 120 115 123 123 115 114 115 115 106 117 109 105 112 111 108 106 106 106 108 111 109 108 102 109 108 105 102 103 100 102 94 97 97 95 94 94 95 94 91 89 92 88 85 85 83 86 85 83 85 81 81 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 83 0 83 83 89 88 91 89 91 91 97 98 98 102 106 103 102 105 114 112 112 109 120 114 119 120 117 112 120 117 119 119 123 120 126 125 125 129 126 123 128 128 126 126 126 128 131 136 132 132 137 132 134 134 131 134 142 139 139 139 132 139 132 132 139 134 137 136 136 132 140 131 132 139 140 132 139 142 137 132 139 145 136 140 143 145 142 136 139 137 136 134 139 136 143 145 140 148 143 148 148 148 148 154 153 149 146 146 146 148 145 151 153 145 143 145 145 143 146 148 146 148 154 146 143 143 146 140 139 136 136 132 132 136 134 131 134 137 129 129 134 136 140 136 136 140 136 128 136 132 126 128 132 128 129 122 123 125 125 119 125 115 122 122 123 122 126 120 126 126 131 128 131 128 134 128 131 129 129 134 131 136 132 132 126 132 134 134 131 129 128 131 120 129 126 129 131 131 123 125 122 131 123 126 129 126 123 125 123 122 120 122 117 125 117 126 120 114 117 119 117 117 117 117 109 109 111 112 114 108 105 108 109 109 109 105 105 102 105 106 102 103 105 100 103 97 92 98 97 97 91 94 95 89 89 86 85 86 85 85 92 85 85 86 81 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 83 83 86 85 89 88 89 89 92 94 97 100 102 102 102 98 102 108 111 106 112 112 114 112 117 117 114 120 114 119 122 125 114 120 120 122 122 126 129 120 122 134 123 131 125 129 125 129 129 128 128 131 128 134 129 136 134 132 139 136 131 136 137 132 139 140 132 137 129 131 140 132 137 136 139 136 137 140 136 132 140 143 140 139 139 136 134 136 136 134 132 132 134 143 132 145 142 146 145 154 146 148 143 143 148 142 146 143 143 145 142 145 143 140 143 146 145 151 151 142 146 145 143 140 145 139 142 136 136 129 132 132 132 134 132 134 132 128 134 131 129 134 132 131 136 132 132 136 132 131 134 131 129 131 129 123 123 119 125 120 119 120 114 119 117 122 120 117 126 123 126 126 126 123 132 131 129 125 139 134 136 134 123 129 131 128 125 131 129 126 125 125 120 128 128 125 123 120 119 123 120 123 123 122 119 122 123 119 126 120 125 119 117 114 119 122 112 120 112 114 111 114 112 109 111 106 108 111 106 105 109 106 105 102 106 102 108 100 100 103 108 102 95 98 97 98 91 97 97 92 95 92 89 94 89 88 89 85 85 89 85 86 86 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 81 83 85 89 85 91 88 88 91 94 98 102 97 98 105 105 103 109 108 106 112 117 112 119 115 117 115 115 119 119 119 117 126 122 120 123 128 122 123 122 123 123 122 128 122 126 123 136 132 129 129 126 126 128 129 137 132 128 134 131 132 137 128 126 132 132 129 131 137 128 129 132 131 132 137 132 137 132 132 137 139 132 142 143 137 129 136 148 142 136 129 134 140 145 140 140 145 154 149 148 142 146 140 145 142 140 143 142 136 148 140 145 145 143 142 137 140 145 143 145 142 145 142 142 134 134 131 137 131 129 132 128 134 132 131 120 129 128 126 129 129 132 129 134 134 129 126 126 132 128 125 126 126 129 125 123 125 117 117 120 123 114 112 122 123 122 122 123 128 122 125 122 129 126 129 122 132 128 128 125 131 131 131 128 126 126 123 123 126 126 119 120 115 120 120 125 119 122 115 125 119 120 120 117 123 115 122 119 125 120 114 115 122 109 112 112 112 111 115 114 114 111 112 108 109 111 112 111 108 109 105 98 102 106 97 100 106 103 100 103 100 98 95 95 94 98 94 88 94 88 91 89 89 85 94 86 89 88 86 78 81 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 81 83 81 94 86 91 88 91 92 98 97 94 98 102 102 108 105 106 105 103 111 115 111 117 115 115 115 119 115 117 120 120 112 122 120 117 120 125 120 122 125 125 120 125 122 126 131 125 129 123 132 129 129 134 129 126 134 134 134 134 131 128 129 129 128 131 131 137 129 128 128 137 136 129 131 129 128 132 139 134 140 140 132 137 140 139 128 137 139 136 132 139 137 142 137 140 145 149 145 142 137 143 145 140 142 140 139 139 142 142 142 145 143 140 142 137 142 139 143 143 145 145 137 139 139 129 132 125 128 132 134 126 129 131 129 131 128 129 126 126 132 128 128 129 128 129 126 126 123 126 126 129 123 128 115 122 120 119 117 112 115 115 111 117 112 120 122 117 117 120 120 120 125 126 123 129 128 126 131 126 126 126 123 126 123 120 122 120 122 122 122 120 115 119 117 120 119 114 115 122 119 122 119 117 123 119 117 115 120 114 111 112 112 108 106 114 112 112 106 111 111 112 109 109 109 109 102 106 111 105 105 102 102 100 100 103 102 97 100 98 95 95 94 95 95 91 92 91 91 91 92 95 91 86 83 78 85 83 78 0 78 0 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 86 86 89 86 91 89 85 94 92 98 95 97 95 108 102 102 102 103 106 111 108 112 114 108 108 117 114 115 117 120 114 115 115 122 120 119 123 122 122 112 120 119 119 122 129 129 129 126 132 126 125 129 128 128 126 131 128 132 126 131 129 129 136 129 126 132 128 137 134 129 134 129 136 136 136 129 132 136 128 132 137 131 137 139 137 132 137 129 137 136 132 139 146 140 146 149 145 137 142 143 139 139 137 140 137 140 136 140 145 143 143 137 140 139 140 142 134 137 132 139 136 137 145 129 136 131 128 134 134 129 128 120 132 122 129 123 129 123 126 128 123 128 132 129 125 125 125 128 122 126 122 126 122 115 123 117 114 117 114 111 112 115 114 115 117 114 122 122 117 115 123 126 122 122 123 131 125 126 126 125 123 126 126 123 128 122 120 112 119 119 114 115 111 111 114 117 115 115 117 112 120 117 115 119 115 117 115 109 117 111 115 115 112 109 112 109 108 114 109 105 108 111 105 103 109 108 103 103 102 105 100 94 98 103 97 97 103 97 97 92 91 100 94 91 97 95 92 92 91 86 86 86 86 83 78 78 81 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 81 0 83 80 86 88 91 91 89 95 94 95 97 97 98 106 95 105 103 103 111 109 112 108 112 115 114 111 109 119 117 114 122 117 115 115 117 119 120 115 120 123 123 117 122 125 123 122 125 125 122 122 128 126 126 125 125 128 125 134 129 129 128 123 131 123 126 128 126 132 131 129 134 129 131 134 134 131 132 136 129 136 132 142 139 134 132 137 134 134 134 142 132 140 146 145 140 140 143 136 142 136 139 140 139 140 142 137 142 139 143 142 134 137 139 136 140 131 142 136 137 137 137 137 131 134 134 122 126 131 126 129 126 125 125 123 120 123 123 125 122 126 126 123 126 122 123 126 122 126 125 122 122 123 119 117 115 115 111 109 108 108 106 112 111 114 119 119 122 119 120 112 120 122 128 119 120 122 125 119 123 120 123 120 123 119 122 114 122 112 114 119 109 117 111 117 114 123 108 114 114 117 117 115 117 114 120 125 114 117 117 115 114 111 109 108 111 108 108 111 106 103 105 108 102 105 100 100 106 105 103 100 97 95 95 91 95 97 91 95 95 91 95 94 92 89 95 86 86 88 91 85 81 83 81 81 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 80 86 85 81 83 85 86 91 91 92 92 91 95 103 92 102 103 105 103 102 103 108 112 106 111 108 112 115 114 119 109 115 119 119 111 117 119 117 115 126 123 117 123 120 120 119 126 119 120 120 128 125 123 125 126 126 125 126 123 129 128 122 120 125 128 123 122 128 123 136 131 128 126 128 132 131 134 136 134 131 128 134 136 132 132 128 136 132 137 134 136 134 140 136 145 137 131 142 140 136 137 139 139 140 134 142 139 136 137 140 139 139 132 139 134 134 132 134 134 137 128 140 132 132 131 123 125 131 131 131 123 126 125 126 126 122 120 125 123 126 128 131 126 125 125 123 123 129 125 120 122 128 123 117 122 119 114 112 109 111 114 114 115 115 112 115 112 112 115 112 114 117 123 114 119 119 125 120 126 125 122 119 122 119 122 122 119 109 114 112 112 112 112 112 109 111 120 120 112 111 117 120 119 119 114 111 112 119 117 111 111 108 111 105 109 108 106 108 106 108 105 108 102 103 98 100 103 95 97 97 95 97 94 94 92 91 95 92 91 92 91 89 91 89 86 97 86 88 86 80 86 78 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 88 85 85 92 86 89 86 94 91 97 91 95 95 100 103 103 102 103 106 108 111 111 108 112 109 111 114 114 112 114 117 114 115 119 117 117 115 115 119 123 122 120 120 122 119 122 120 125 122 125 128 128 125 123 125 123 125 125 125 122 122 123 134 123 129 129 131 125 128 123 131 125 137 129 128 131 129 129 128 132 126 128 134 132 131 136 132 134 136 140 137 142 139 136 132 137 137 136 136 136 134 139 143 134 134 139 142 137 136 134 139 132 132 137 136 126 134 132 136 132 132 123 128 122 131 129 125 125 119 120 122 123 122 120 123 122 119 123 125 125 122 122 120 120 119 120 126 117 117 117 114 114 120 105 109 111 106 115 109 112 109 119 112 117 112 119 114 119 112 109 120 112 117 122 117 115 117 114 120 111 112 114 115 112 115 108 114 112 112 111 117 114 117 115 111 115 114 117 114 115 112 111 109 112 111 109 109 111 106 106 108 105 108 105 102 102 100 108 103 102 95 105 100 97 95 97 95 98 95 94 94 95 97 92 92 97 89 95 95 91 92 86 80 80 83 80 78 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 85 86 86 83 89 86 97 91 94 97 97 100 105 102 102 105 103 106 102 105 105 108 106 111 108 109 111 115 112 115 111 117 115 112 119 117 117 115 125 119 123 115 122 122 119 115 119 115 122 123 125 119 119 122 126 120 125 119 122 122 125 125 120 125 129 126 126 123 125 129 126 125 126 131 131 129 129 129 131 126 131 132 132 131 134 137 134 137 140 137 137 132 132 132 140 137 132 136 136 134 136 136 139 137 132 134 137 136 134 136 134 131 132 128 126 132 132 132 128 128 128 122 123 123 126 123 123 122 120 119 123 122 119 123 120 122 120 119 119 123 120 119 120 120 114 117 117 117 114 120 112 106 111 106 105 111 112 109 112 108 111 109 108 108 117 106 115 111 115 114 117 115 115 115 122 122 115 119 114 112 115 108 108 111 108 114 108 111 111 114 112 112 117 114 111 112 111 115 111 112 109 108 111 111 108 108 105 108 103 103 102 102 102 97 102 100 105 103 100 100 98 103 98 94 94 94 97 95 94 95 91 92 94 97 91 85 86 85 86 83 81 85 83 80 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 83 85 83 83 89 86 88 88 92 89 94 97 95 95 100 100 100 94 108 105 108 106 106 105 111 115 105 106 111 114 115 115 112 111 117 109 119 119 117 115 117 115 119 112 125 115 122 115 120 119 120 119 119 122 120 120 120 120 120 123 115 119 126 123 123 128 125 120 125 128 115 122 122 125 123 128 129 128 122 129 129 128 126 125 126 129 129 139 140 140 137 134 139 132 132 132 129 132 134 131 136 136 134 131 139 129 128 134 136 136 134 132 132 132 129 132 126 126 136 132 126 119 128 120 125 125 125 123 120 119 122 112 126 115 122 114 117 120 112 117 123 120 122 114 117 117 119 119 112 115 109 115 111 109 114 105 106 105 108 105 111 106 108 114 109 114 112 109 114 108 115 114 115 119 115 117 115 115 114 115 111 112 109 108 105 105 105 108 108 106 102 108 111 109 111 112 109 108 111 106 111 111 109 106 105 105 106 105 100 100 106 102 102 105 95 98 98 98 102 95 92 89 95 98 94 92 91 92 97 100 92 89 94 86 89 88 92 86 83 85 81 85 81 81 81 83 81 0 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 81 80 80 83 81 86 86 89 91 91 88 89 94 98 97 94 100 94 102 103 98 100 100 105 106 105 105 108 111 114 109 112 114 111 114 109 109 119 112 114 115 115 119 122 114 119 122 117 117 120 117 122 122 117 120 117 117 115 114 117 123 123 114 119 123 119 120 123 119 122 122 123 126 123 126 126 123 131 122 126 131 123 128 125 119 129 129 126 129 132 134 137 132 134 134 132 134 134 139 131 132 132 129 132 126 136 136 129 132 129 129 128 126 129 129 128 128 125 125 128 128 128 119 125 123 125 122 115 120 117 117 112 114 120 115 112 120 120 114 115 117 123 120 119 112 115 115 114 114 109 111 115 108 109 105 102 103 105 108 112 102 109 109 105 111 108 109 109 106 102 106 111 111 112 112 115 111 115 114 112 106 106 109 106 103 103 106 105 105 108 108 115 102 106 103 108 106 105 112 105 106 111 106 105 102 103 102 100 97 98 105 98 100 94 100 98 98 98 95 98 100 94 97 94 89 103 94 95 89 91 92 91 92 92 89 88 89 83 83 86 85 80 78 80 78 0 0 0 80 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 81 81 86 88 83 86 83 89 88 94 91 95 92 94 98 98 97 98 100 105 103 102 109 103 109 108 106 102 111 108 117 114 111 112 111 111 112 115 114 114 112 117 112 115 112 115 112 117 120 115 112 125 112 119 120 114 119 115 112 125 119 115 117 120 119 115 120 119 120 115 114 119 123 117 126 120 119 126 126 122 126 126 128 128 132 134 134 139 129 134 131 131 131 126 132 132 129 137 132 131 134 134 126 128 131 137 126 129 123 131 134 131 125 125 125 123 128 128 125 125 126 120 122 119 117 120 117 115 114 115 117 119 122 112 122 114 119 111 117 119 114 112 115 114 111 112 109 114 115 109 106 108 103 103 111 103 103 105 105 108 103 102 108 106 102 108 109 112 109 108 108 109 109 112 109 109 111 111 112 108 108 103 103 108 100 105 103 106 103 105 103 106 103 103 105 111 105 109 105 109 109 102 100 106 100 102 103 100 95 97 102 98 102 100 94 97 97 95 95 97 89 98 94 92 88 91 89 89 89 86 89 86 86 86 83 85 81 83 80 81 81 0 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 80 80 81 85 86 83 83 86 89 94 91 88 95 95 98 98 98 98 100 100 106 100 106 106 105 108 105 108 111 106 109 106 111 111 103 112 115 109 109 115 109 111 111 117 114 114 114 114 117 117 117 114 119 114 115 117 112 119 119 119 115 114 122 115 119 117 114 119 117 120 119 123 117 120 117 125 119 123 119 123 120 123 126 122 125 129 129 126 129 123 126 126 123 125 125 128 128 129 129 128 129 129 126 126 126 128 131 126 119 122 128 126 122 125 122 122 119 122 115 122 115 125 122 115 119 109 114 117 109 112 109 111 115 115 115 112 112 112 109 120 114 109 111 114 109 111 111 109 105 105 106 108 103 102 102 102 106 102 102 102 102 111 105 106 103 111 103 108 103 108 108 108 103 103 106 111 105 105 108 106 105 98 102 103 100 105 106 103 102 97 102 102 98 108 102 102 109 100 103 103 102 98 98 98 103 98 91 94 94 97 94 98 97 94 98 97 94 95 89 92 89 92 89 89 85 88 85 86 88 86 86 85 83 81 81 81 80 0 80 78 78 0 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 78 0 81 81 83 83 83 81 88 92 92 88 92 86 91 95 94 94 98 98 95 102 102 103 105 100 103 111 106 108 108 106 112 106 109 106 109 114 109 111 108 108 108 111 111 112 111 114 115 114 119 115 115 111 108 114 117 117 115 117 112 114 117 114 115 117 109 114 117 115 117 114 117 120 119 122 125 119 123 120 119 125 123 125 125 122 126 126 131 129 125 126 128 123 125 126 134 123 123 128 128 131 122 120 128 126 126 126 125 125 122 132 125 125 120 119 120 125 120 119 120 117 115 114 108 115 115 115 115 111 112 108 109 106 109 109 114 106 109 109 114 111 114 109 111 108 117 106 109 106 105 102 97 102 102 102 97 98 102 100 103 100 103 105 102 103 105 102 109 100 106 102 103 103 106 102 106 103 106 102 98 102 98 103 98 100 98 97 100 103 98 102 100 102 100 100 106 103 102 103 103 100 102 98 100 103 97 95 97 95 97 97 95 91 94 94 89 92 88 91 89 94 89 85 88 86 91 83 85 85 88 86 81 83 86 83 80 81 81 78 0 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 78 83 81 80 86 88 88 83 89 86 85 91 91 98 92 97 98 97 94 98 100 100 103 102 103 105 98 103 103 103 105 105 106 102 105 108 108 112 111 115 108 109 111 112 112 111 115 117 112 112 114 109 112 112 111 112 111 111 111 109 111 112 108 112 119 112 112 114 115 115 114 120 117 119 122 119 120 117 117 125 125 125 128 122 123 125 123 129 122 129 123 125 122 123 126 125 131 122 125 126 125 125 132 126 125 122 123 126 120 123 125 123 125 119 114 117 120 117 122 117 119 120 117 115 109 112 108 112 103 106 112 106 109 109 105 111 112 109 108 105 112 105 111 102 103 106 103 105 103 97 102 100 103 100 95 102 100 100 97 100 105 100 102 105 102 98 105 97 100 103 102 103 100 100 106 98 103 98 98 97 98 98 97 102 105 100 103 100 98 100 98 106 98 102 100 100 100 100 98 100 95 98 95 97 98 95 92 92 95 92 92 89 94 95 92 91 95 97 91 89 85 91 89 88 86 86 83 83 80 83 81 83 85 0 0 81 0 78 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 81 81 86 86 86 86 86 89 92 92 92 95 94 92 95 95 98 102 98 98 95 100 105 102 103 102 108 100 103 106 105 103 106 108 108 105 105 108 114 105 112 112 108 109 105 108 108 112 103 106 109 109 112 108 108 112 109 111 108 109 114 111 109 119 109 119 115 115 117 120 117 119 115 114 117 117 119 115 122 123 123 126 117 122 120 120 123 123 129 119 122 122 125 117 128 122 120 115 128 126 123 123 119 122 119 120 122 117 119 115 119 117 114 108 112 114 112 111 106 115 111 111 108 106 112 103 114 109 111 111 108 108 109 106 112 109 106 108 98 106 103 105 103 105 97 102 98 98 97 98 97 98 102 100 100 98 102 95 97 103 103 103 95 102 105 97 100 95 95 102 97 100 100 98 98 95 95 98 98 97 94 95 98 100 95 100 97 94 94 95 92 102 100 98 100 97 94 97 95 91 102 94 89 97 95 97 97 94 91 92 94 94 94 91 89 88 83 91 89 89 86 86 85 86 88 80 85 83 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 78 80 78 89 86 81 91 86 86 85 91 88 92 89 92 91 92 102 95 95 98 97 94 106 98 98 98 97 98 103 97 106 109 103 106 106 108 108 114 105 103 108 111 103 105 109 117 109 108 108 111 108 103 109 106 108 100 102 106 109 105 100 109 111 112 112 114 119 114 114 117 119 120 119 117 112 123 119 122 125 123 119 117 115 123 122 123 125 126 122 123 120 120 120 122 125 120 125 117 117 119 120 114 119 122 120 117 115 120 115 119 112 115 117 109 117 120 111 115 108 105 112 108 106 108 103 111 105 106 103 102 106 109 105 103 112 105 103 105 103 100 106 100 103 100 98 103 102 95 102 97 98 95 97 100 95 98 95 100 100 97 100 100 98 97 100 100 97 103 97 94 100 97 97 98 100 95 92 98 91 92 92 97 98 95 91 94 95 97 98 97 97 92 98 94 94 94 98 92 102 94 92 95 95 92 94 95 97 89 91 89 89 95 89 91 89 88 88 88 88 85 81 81 86 83 80 80 85 80 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 80 80 81 83 83 85 86 88 91 91 88 88 89 94 95 92 95 94 94 94 95 97 103 103 98 103 106 95 102 95 98 100 108 102 103 109 103 102 108 108 109 105 106 103 109 106 108 102 103 103 100 111 105 105 98 105 103 103 105 108 106 108 112 111 112 111 112 120 112 115 117 114 111 117 122 117 119 117 117 119 114 117 122 117 119 125 119 119 119 119 123 126 120 123 115 123 120 112 122 115 120 120 111 114 112 117 115 114 112 115 109 114 114 119 115 114 111 108 106 106 106 106 111 106 103 106 103 103 98 105 106 102 105 106 103 100 111 100 98 95 102 94 102 100 98 98 95 97 105 97 95 95 97 97 95 95 98 95 97 97 95 97 94 97 98 91 100 92 95 95 95 98 91 97 92 102 88 94 88 91 94 94 98 94 97 97 97 94 98 98 97 102 97 95 91 91 91 95 98 95 91 92 92 92 91 89 95 88 92 88 89 86 91 80 85 85 85 81 78 85 81 85 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 80 83 81 81 88 83 91 85 91 91 88 89 92 91 97 94 95 94 94 94 94 94 102 97 102 98 94 100 97 98 100 102 102 106 102 100 103 105 102 105 106 103 105 105 100 105 103 105 100 106 103 105 105 100 102 100 102 108 108 108 97 109 111 106 105 111 119 115 111 119 114 114 117 115 117 119 120 120 119 112 112 117 114 119 128 119 120 120 117 115 122 117 119 114 122 117 117 122 115 119 117 115 115 109 108 108 114 111 115 112 117 119 112 111 106 108 109 108 105 106 103 108 105 103 103 102 103 102 102 103 102 102 103 102 102 100 103 100 98 100 94 102 91 95 94 94 98 95 94 97 95 98 95 92 97 100 95 95 100 98 94 95 92 92 97 97 92 92 94 95 95 91 92 91 92 92 89 92 92 89 91 95 92 98 95 89 100 94 95 88 97 88 98 95 89 92 91 94 94 94 89 89 91 81 91 81 83 86 81 92 83 83 81 81 83 80 81 0 0 0 0 80 80 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 78 80 86 86 85 88 86 81 89 91 89 92 91 92 94 91 92 92 94 95 94 97 97 97 95 100 97 97 98 105 100 103 106 103 95 102 103 105 100 102 97 98 102 102 100 97 98 97 102 100 103 97 97 103 103 109 102 106 102 105 109 108 109 111 112 115 112 112 114 112 117 117 115 111 115 122 114 117 117 120 120 120 123 120 115 119 117 117 117 115 119 117 117 115 111 112 112 111 114 112 109 108 111 112 106 106 119 115 111 112 112 112 109 109 100 105 103 103 105 102 105 106 105 103 103 98 102 103 100 100 97 103 100 97 95 97 91 94 97 98 92 92 92 100 92 88 91 97 94 97 91 91 94 91 95 91 97 94 92 94 94 97 94 89 92 89 94 89 92 89 88 89 86 88 85 89 88 92 91 88 98 94 95 94 95 92 91 89 94 98 92 91 91 89 89 92 91 88 86 89 88 85 85 91 85 85 83 81 83 78 78 83 81 80 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 83 80 86 83 83 86 83 85 83 89 91 91 91 91 92 88 92 92 95 97 92 91 95 95 94 98 94 97 97 97 98 98 98 97 97 95 97 97 94 100 97 100 98 97 98 98 100 100 95 95 100 100 97 100 100 102 105 100 105 111 106 109 112 106 108 112 105 115 112 111 109 108 111 112 108 119 119 117 117 120 119 115 117 117 117 117 119 119 115 119 119 115 108 106 109 111 109 115 108 112 109 111 108 111 109 108 103 108 108 106 112 109 108 102 98 103 100 100 102 102 106 98 103 103 102 97 98 95 98 98 94 94 97 94 86 100 92 91 91 97 94 92 95 94 94 92 92 89 94 95 92 92 94 92 92 95 94 89 94 94 95 94 91 89 86 95 86 85 89 88 88 88 86 88 88 85 88 91 89 92 91 95 91 95 92 92 91 91 91 89 86 92 88 91 89 88 92 83 89 81 86 83 78 85 81 83 78 83 0 78 80 81 81 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 78 80 81 81 81 81 80 86 88 89 89 85 88 85 92 95 94 92 97 98 91 95 97 95 97 95 98 103 97 95 95 98 98 98 102 94 105 95 103 94 94 92 94 95 98 98 95 95 103 100 95 102 108 98 102 98 102 103 105 108 111 112 109 105 106 111 111 109 112 109 109 114 109 112 115 114 109 111 115 112 122 109 119 115 115 108 115 115 114 115 112 109 105 112 109 115 106 111 112 106 108 98 100 114 109 106 109 111 106 103 108 103 102 102 98 100 98 95 98 100 95 103 97 97 103 97 97 97 98 95 95 94 94 91 97 91 94 92 91 92 91 89 94 92 89 89 91 98 92 92 92 91 95 95 92 91 91 91 91 91 95 91 86 86 88 88 85 83 86 86 86 89 83 86 89 85 86 89 86 88 89 88 88 88 89 85 86 91 94 86 88 86 85 85 88 86 86 81 86 85 85 88 81 81 85 80 81 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 78 80 80 0 81 80 80 83 81 83 80 89 86 89 86 89 92 91 92 91 91 95 89 91 91 94 97 97 94 97 97 95 102 97 94 94 100 94 92 97 102 95 94 92 94 92 94 95 95 95 95 97 100 94 95 98 98 102 106 105 103 103 108 103 105 109 108 103 112 109 108 108 108 111 109 112 108 117 114 115 115 112 117 117 108 114 111 115 109 111 109 106 106 106 108 108 106 105 111 103 105 105 105 108 105 109 103 109 109 111 109 106 102 102 108 95 98 98 100 100 97 94 100 91 95 97 92 94 94 95 92 94 92 91 89 89 91 88 88 92 88 91 85 94 89 91 89 91 89 89 91 89 97 91 85 88 89 91 86 86 85 91 85 83 83 86 83 86 85 78 86 86 85 85 78 83 81 91 91 88 88 89 86 89 88 89 91 86 86 91 85 89 88 85 86 81 81 81 80 80 83 86 85 85 83 0 78 78 0 78 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 78 78 0 81 85 81 81 86 85 86 88 88 88 89 88 88 92 92 91 88 91 91 94 94 88 92 88 92 97 94 89 83 89 92 92 95 92 92 92 89 92 94 94 92 92 100 100 95 92 98 95 100 100 98 100 100 108 103 100 105 105 105 105 109 108 105 106 111 106 103 106 108 111 108 112 109 111 109 112 109 109 109 106 108 112 109 109 108 111 111 106 103 106 100 103 108 100 111 100 108 105 106 100 100 108 103 108 109 100 103 100 95 98 95 97 95 94 92 94 97 98 94 94 95 97 91 94 92 92 85 92 88 86 89 83 81 91 85 83 86 89 86 86 88 91 88 94 94 92 83 91 88 89 88 88 85 89 85 86 89 85 86 83 85 81 83 80 78 83 88 85 85 81 85 85 85 86 83 83 83 85 86 85 86 83 86 85 88 81 83 81 83 0 78 83 83 83 83 78 80 80 85 81 0 78 0 0 81 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 81 81 80 81 83 85 85 81 85 92 86 85 86 89 85 88 85 88 94 92 91 92 94 94 92 95 91 88 92 88 89 95 92 89 91 92 91 92 94 94 89 89 92 94 91 89 91 95 89 91 97 98 100 98 102 102 100 103 106 103 103 109 106 103 108 105 105 103 108 112 106 114 109 105 114 114 109 112 114 108 108 109 108 105 109 109 105 102 105 105 103 109 108 98 102 106 100 106 100 100 105 102 100 105 102 100 103 100 97 91 94 98 95 94 95 89 92 92 95 91 91 89 89 92 89 89 92 94 86 88 85 85 88 83 86 94 88 83 88 88 89 86 89 89 88 89 91 89 89 94 89 88 89 88 89 85 86 86 81 86 83 83 80 81 80 83 81 81 85 88 81 85 81 86 88 80 88 85 81 83 85 0 88 81 81 83 78 85 83 81 83 81 78 80 81 80 80 0 83 80 0 83 78 78 78 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 81 83 78 83 78 83 83 85 83 81 83 86 85 88 86 88 88 88 83 94 89 89 92 85 91 88 89 91 91 85 92 92 85 85 91 91 89 88 91 89 83 94 92 92 92 89 97 94 97 98 100 105 100 97 95 105 106 102 102 105 103 100 102 100 103 105 103 103 108 106 109 108 108 111 106 106 106 105 103 105 108 106 102 103 105 102 103 102 97 105 100 103 97 100 102 109 100 102 102 103 97 97 102 98 102 102 98 92 95 92 94 95 91 89 94 88 86 92 89 92 88 89 88 94 86 88 91 81 88 85 86 81 80 89 83 85 81 83 85 85 89 88 85 86 86 85 86 91 88 85 83 88 85 89 85 86 81 81 88 89 85 83 81 81 86 88 88 86 85 88 92 86 85 91 89 85 86 85 86 85 85 85 83 83 83 81 83 80 85 83 78 81 78 85 83 81 78 81 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 0 81 78 81 80 80 83 85 86 83 86 81 85 85 86 88 86 85 86 88 88 89 89 86 86 88 88 91 86 86 88 88 89 89 89 89 92 88 88 89 92 86 89 91 89 91 86 92 95 95 97 97 98 105 95 102 102 102 103 100 102 97 100 103 106 106 106 103 108 106 105 106 109 105 102 100 98 105 105 105 103 106 103 102 105 98 95 103 98 100 102 100 100 95 94 100 98 100 97 100 95 98 100 102 94 89 91 95 91 92 92 91 88 85 89 92 89 88 89 89 88 86 85 88 85 91 83 88 80 89 83 81 81 83 89 83 83 81 86 83 85 88 85 85 86 83 86 85 86 85 85 85 81 86 83 81 83 83 85 78 81 81 83 83 83 85 81 88 83 81 81 85 83 86 89 91 85 88 85 88 86 85 86 85 83 86 86 83 83 81 83 86 83 81 78 78 81 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 83 81 80 78 85 88 85 85 86 83 85 85 80 88 81 85 86 83 86 81 88 88 85 85 81 89 86 83 88 86 85 85 91 86 91 86 91 95 88 89 89 97 94 94 95 97 97 95 100 98 98 103 95 95 103 98 98 100 103 105 106 103 108 105 103 102 105 105 103 103 103 109 103 102 98 106 102 100 100 102 97 97 97 98 95 95 100 95 103 103 102 97 97 100 94 95 92 97 98 95 98 95 86 89 92 94 91 91 89 88 89 85 85 85 88 85 88 80 86 85 85 86 83 81 81 78 86 80 86 85 0 88 78 88 85 80 86 85 83 85 85 83 86 85 81 83 80 81 80 81 80 80 83 78 85 80 80 80 83 78 80 83 81 85 83 81 81 83 81 86 83 78 81 86 83 89 78 83 78 81 80 0 80 80 78 0 0 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 78 80 80 0 78 81 0 83 81 78 83 81 81 83 83 83 83 88 83 80 83 83 85 83 85 78 83 85 89 88 86 85 89 86 88 89 85 94 88 88 92 89 91 95 94 97 98 97 102 95 100 97 94 102 102 98 103 100 100 102 102 103 95 100 100 98 102 102 102 98 98 100 97 100 100 100 98 102 97 94 97 94 94 94 95 97 103 98 97 98 95 98 95 95 95 100 95 89 89 89 86 88 88 89 88 88 86 85 80 86 83 85 81 78 83 81 80 78 80 80 81 80 83 80 83 85 78 0 80 81 81 81 81 81 0 83 78 80 83 0 78 80 80 0 80 81 0 0 0 78 78 0 0 0 0 78 0 0 0 0 0 0 78 78 78 80 78 83 0 0 0 0 80 78 0 0 0 80 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 78 80 80 81 80 81 80 78 88 81 85 80 78 81 85 80 80 0 81 78 83 83 86 86 86 85 81 83 83 83 85 85 86 81 85 88 89 85 88 94 89 91 92 94 94 91 94 100 97 98 97 100 97 100 97 100 102 103 95 100 100 102 100 102 105 100 98 98 102 102 97 91 100 100 95 94 97 92 94 94 92 98 95 100 100 98 97 94 100 89 95 95 95 94 95 92 97 94 86 88 88 85 88 85 86 83 85 85 83 83 81 83 80 81 0 81 78 78 85 81 88 80 78 0 88 81 85 0 85 83 78 81 85 81 78 85 0 80 81 0 78 0 0 0 0 0 0 0 78 78 0 78 0 0 0 0 0 0 0 80 83 0 0 0 0 0 0 80 0 0 0 0 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 81 78 0 80 0 0 0 0 85 81 78 0 81 78 81 83 78 80 85 83 0 81 83 83 83 80 85 78 86 86 83 86 81 85 88 88 86 91 89 91 95 92 94 92 94 92 97 89 97 94 98 100 98 100 100 103 100 98 97 97 97 98 97 97 97 98 92 100 98 95 94 95 94 92 95 95 88 92 94 91 92 94 95 98 92 94 92 92 92 91 94 92 88 89 88 86 88 85 89 81 86 80 81 85 80 85 80 78 88 80 0 78 0 81 81 78 80 81 80 81 78 81 85 83 81 78 81 78 80 80 81 85 80 78 80 78 80 80 81 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 80 78 0 80 78 0 80 80 78 0 78 0 78 80 83 81 80 0 0 85 81 81 0 80 83 81 85 88 80 78 88 86 85 94 86 91 89 88 86 92 92 91 92 94 97 95 94 92 94 91 94 95 98 97 94 100 94 95 92 103 100 95 97 97 91 92 97 92 95 95 97 97 95 88 88 88 94 91 97 97 92 95 91 91 94 91 85 89 86 89 91 88 86 81 83 81 80 81 83 78 85 0 78 83 81 86 81 0 80 81 0 0 80 0 0 80 78 80 0 81 0 81 0 80 78 78 80 78 80 0 0 0 78 80 0 81 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 0 80 78 0 78 83 0 0 81 0 80 81 81 80 80 81 80 83 78 81 80 83 85 83 85 91 83 86 88 83 88 91 89 89 88 91 88 89 97 92 91 95 92 97 92 94 91 98 91 95 94 97 92 95 92 92 95 88 95 92 95 95 91 94 89 92 95 92 94 88 88 85 89 91 92 92 91 89 89 89 89 89 92 86 86 89 86 88 88 81 78 0 80 80 80 85 0 78 80 81 0 78 0 80 78 80 0 0 0 0 85 78 0 78 81 0 0 0 78 0 0 80 81 78 0 0 0 0 78 78 0 78 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 0 80 78 0 80 81 78 78 81 78 0 80 80 78 78 83 83 83 83 85 85 88 81 85 85 88 86 88 89 91 91 86 91 86 89 92 91 91 89 91 94 92 92 95 88 91 91 95 95 89 94 85 88 92 88 91 92 86 91 92 91 88 88 86 85 85 88 91 89 86 89 86 85 86 88 86 85 83 88 88 83 88 78 80 83 81 0 0 0 78 0 0 80 0 0 0 78 0 0 0 0 0 0 0 0 0 78 0 78 0 78 0 78 0 80 0 0 78 78 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 0 0 0 78 0 78 80 80 80 78 78 0 81 85 81 81 80 83 86 81 81 88 81 86 83 91 89 91 86 91 88 89 88 88 89 88 92 98 89 92 92 92 91 91 88 91 92 91 91 89 85 89 85 85 91 91 89 88 85 83 81 83 86 85 91 88 85 89 85 83 85 81 88 80 88 85 81 80 81 83 80 0 81 0 0 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 80 80 0 78 81 78 78 78 80 0 80 85 80 83 78 81 83 88 85 83 86 91 88 89 88 85 88 91 89 92 91 89 86 91 94 88 94 92 86 86 86 92 91 85 85 88 85 86 86 89 83 86 81 78 0 85 86 83 85 83 85 86 81 83 85 83 83 78 83 78 78 0 80 78 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 0 0 78 78 78 0 78 0 83 80 81 80 78 80 83 83 81 85 81 86 83 88 88 88 83 85 85 92 81 89 83 89 86 86 85 88 83 88 88 83 86 88 85 83 83 85 81 85 83 80 85 78 80 81 86 85 81 81 81 78 83 0 81 81 78 80 0 0 0 78 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
|
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 0 0 78 0 78 78 0 78 0 83 83 0 78 80 85 85 83 88 85 85 86 83 85 86 0 86 85 88 81 85 85 86 88 85 83 83 81 91 83 83 80 80 81 78 78 0 81 0 0 78 0 85 81 0 80 0 81 78 0 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||||
BIN
modules/atlantean/pics/yuv.jpg
Normal file
BIN
modules/atlantean/pics/yuv.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 107 KiB |
99
modules/atlantean/src/pgmtest.c
Normal file
99
modules/atlantean/src/pgmtest.c
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "pgmutes.h"
|
||||||
|
|
||||||
|
int main(int argc, char * argv[]){
|
||||||
|
|
||||||
|
typImg * pIn;
|
||||||
|
typImg * pThresh;
|
||||||
|
typImg * pCross;
|
||||||
|
typImg * pSmooth;
|
||||||
|
typImg * pVert;
|
||||||
|
typImg * pHorz;
|
||||||
|
typImg * pVertE;
|
||||||
|
typImg * pHorzE;
|
||||||
|
typImg * pLogic;
|
||||||
|
typImg * pkern;
|
||||||
|
//int arr[] = { 0,1,1,1,0, 1,1,1,1,1, 1,1,1,1,1, 1,1,1,1,1, 0,1,1,1,0 };
|
||||||
|
int arr[] = { 1,1,1, 1,1,1, 1,1,1 };
|
||||||
|
int window = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
pIn = create(16,16);
|
||||||
|
*(pIn->imgc + 131) = 128;
|
||||||
|
*(pIn->imgc + 132) = 128;
|
||||||
|
*(pIn->imgc + 133) = 128;
|
||||||
|
*(pIn->imgc + 134) = 128;
|
||||||
|
*(pIn->imgc + 147) = 128;
|
||||||
|
*(pIn->imgc + 148) = 128;
|
||||||
|
*(pIn->imgc + 149) = 128;
|
||||||
|
*(pIn->imgc + 150) = 128;
|
||||||
|
*(pIn->imgc + 163) = 128;
|
||||||
|
*(pIn->imgc + 164) = 128;
|
||||||
|
*(pIn->imgc + 165) = 128;
|
||||||
|
*(pIn->imgc + 166) = 128;
|
||||||
|
pgmascii(pIn,1);
|
||||||
|
pkern = create(3,3);
|
||||||
|
arrload(pkern, arr);
|
||||||
|
pOut1 = dilate(pIn, pkern);
|
||||||
|
//pOut1 = erode(pIn, pkern);
|
||||||
|
pgmascii(pOut1,1);
|
||||||
|
return 0;
|
||||||
|
*/
|
||||||
|
|
||||||
|
// DEfine the smoothing window; load the image of interest
|
||||||
|
window = atoi(argv[1]);
|
||||||
|
pIn = pgmload(argv[2]);
|
||||||
|
pgmsave(pIn, "yy0.pgm");
|
||||||
|
|
||||||
|
// Smooth with a 3x3 kernel - larget for fuzzier
|
||||||
|
pSmooth = smooth(pIn, 3,3);
|
||||||
|
printf("input smooth\n");
|
||||||
|
pgmsave(pSmooth, "yy1a.pgm");
|
||||||
|
|
||||||
|
// Set all values below 30 to 0, set all above 255 to 255
|
||||||
|
pThresh = threshold(pSmooth, 30, 255, 0, 255);
|
||||||
|
printf("input thresholded\n");
|
||||||
|
pgmsave(pThresh, "yy1b.pgm");
|
||||||
|
|
||||||
|
// Find biggest box from nonzero pixels from screen centre
|
||||||
|
pCross = cross(pIn, 320, 240, 30);
|
||||||
|
printf("input cross\n");
|
||||||
|
pgmsave(pCross, "yy1c.pgm");
|
||||||
|
|
||||||
|
// Make a 5x5 erosion/dilation kernel
|
||||||
|
pkern = create(5,5);
|
||||||
|
arrload(pkern, arr);
|
||||||
|
|
||||||
|
// Find all pixels at the bottom of a horizontal intensity trough (vein cross section)
|
||||||
|
pVert = linear10(pCross, window);
|
||||||
|
printf("linear 10\n");
|
||||||
|
pgmascii(pVert, 8);
|
||||||
|
pgmsave(pVert, "yy2a.pgm");
|
||||||
|
|
||||||
|
// Find all pixels at the bottom of a vertical intensity trough (vein cross section)
|
||||||
|
pHorz = linear20(pCross, window);
|
||||||
|
printf("linear 20\n");
|
||||||
|
pgmascii(pHorz, 8);
|
||||||
|
pgmsave(pHorz, "yy3a.pgm");
|
||||||
|
|
||||||
|
// Mix
|
||||||
|
pLogic = logical(pVert,pHorz,2);
|
||||||
|
pgmsave(pHorzE, "yy4a.pgm");
|
||||||
|
|
||||||
|
// Erode
|
||||||
|
pVertE = erode(pVert, pkern);
|
||||||
|
printf("eroded\n");
|
||||||
|
pgmascii(pVertE, 8);
|
||||||
|
pgmsave(pVertE, "yy2b.pgm");
|
||||||
|
|
||||||
|
// Erode
|
||||||
|
pHorzE = erode(pHorz, pkern);
|
||||||
|
printf("eroded\n");
|
||||||
|
pgmascii(pHorzE, 8);
|
||||||
|
pgmsave(pHorzE, "yy3b.pgm");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
1329
modules/atlantean/src/pgmutes.c
Normal file
1329
modules/atlantean/src/pgmutes.c
Normal file
File diff suppressed because it is too large
Load Diff
BIN
modules/fjpalmvein/C/AutLibrary_Linux64_3477B31.tar.gz
Normal file
BIN
modules/fjpalmvein/C/AutLibrary_Linux64_3477B31.tar.gz
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/C/BioAPI_sample_C_Identify
Executable file
BIN
modules/fjpalmvein/C/BioAPI_sample_C_Identify
Executable file
Binary file not shown.
655
modules/fjpalmvein/C/BioAPI_sample_C_Identify.c
Normal file
655
modules/fjpalmvein/C/BioAPI_sample_C_Identify.c
Normal file
@ -0,0 +1,655 @@
|
|||||||
|
/* =========================================================================
|
||||||
|
* Sample Source for C Language Professional Edition
|
||||||
|
* =========================================================================
|
||||||
|
*
|
||||||
|
* All Rights Reserved, Copyright(c) FUJITSU FRONTECH LIMITED 2021
|
||||||
|
*
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "bioapi_type.h"
|
||||||
|
#include "bioapi_api.h"
|
||||||
|
#include "bioapi_err.h"
|
||||||
|
|
||||||
|
#include "pvapi_type.h"
|
||||||
|
#include "pvapi_api.h"
|
||||||
|
#include "pvapi_err.h"
|
||||||
|
|
||||||
|
#define MAX_ENROLL_COUNT (2)
|
||||||
|
#define MAX_NUMBER_OF_RESULTS (5)
|
||||||
|
#define MAX_ENROLLDATA_SIZE (1024*16)
|
||||||
|
#define MAX_CAPTUREDATA_SIZE (1024*80)
|
||||||
|
|
||||||
|
#define APPLICATION_KEY "P6Kiuy2L4CifuBuK"
|
||||||
|
|
||||||
|
void disp_ErrorInfo(PvAPI_ErrorInfo *ResultInfo);
|
||||||
|
BioAPI_RETURN BioAPI GuiState_for_BioAPICallBack( void * GuiStateCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE GuiState,
|
||||||
|
BioAPI_GUI_RESPONSE Response,
|
||||||
|
BioAPI_GUI_MESSAGE Message,
|
||||||
|
BioAPI_GUI_PROGRESS Progress,
|
||||||
|
BioAPI_GUI_BITMAP_PTR SampleBuffer );
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* main
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
size_t datasize;
|
||||||
|
unsigned int i;
|
||||||
|
unsigned int idx;
|
||||||
|
unsigned int birEnrollDataCount = 0;
|
||||||
|
|
||||||
|
BioAPI_RETURN ret;
|
||||||
|
BioAPI_HANDLE mModuleHandle = 0; // BioAPI_ModuleAttach handle
|
||||||
|
BioAPI_BIR_HANDLE NewBIRHandle = 0; // BioAPI_Enroll/BioAPI_Capture
|
||||||
|
PvAPI_BIR_PTR pBIR = NULL; // BioAPI_GetBIRFromHandle
|
||||||
|
|
||||||
|
BioAPI_GUI_MESSAGE mPreMessage = 0; // BioAPI_SetGUICallbacks
|
||||||
|
PvAPI_ErrorInfo ErrorInfo; // PvAPI_GetErrorInfo
|
||||||
|
|
||||||
|
unsigned char ucEnrolledBIR[MAX_ENROLL_COUNT][MAX_ENROLLDATA_SIZE];
|
||||||
|
unsigned char ucCapturedBIR[MAX_CAPTUREDATA_SIZE];
|
||||||
|
|
||||||
|
const BioAPI_UUID uuid[16] = { 0xE1, 0x9A, 0x69, 0x01, 0xB8, 0xC2, 0x49, 0x80, 0x87, 0x7E, 0x11, 0xD4, 0xD8, 0xF1, 0xBE, 0x79 };
|
||||||
|
|
||||||
|
memset(ucEnrolledBIR, 0, sizeof(ucEnrolledBIR));
|
||||||
|
memset(ucCapturedBIR, 0, sizeof(ucCapturedBIR));
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Initialize
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("PvAPI_ApAuthenticate\n");
|
||||||
|
ret = PvAPI_ApAuthenticate((uint8*)APPLICATION_KEY);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
if ( ErrorInfo.ErrorDetail == 0x02030003 ) {
|
||||||
|
if ( ErrorInfo.ErrorInfo3[0] == 0x4c430000 ) {
|
||||||
|
printf("\nError: License Error\n");
|
||||||
|
} else {
|
||||||
|
printf("\nError: APPLICATION_KEY Error\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleLoad\n");
|
||||||
|
ret = BioAPI_ModuleLoad(uuid, /* const BioAPI_UUID * */
|
||||||
|
0, /* uint32 */
|
||||||
|
NULL, /* BioAPI_ModuleEventHandler(unuse) */
|
||||||
|
NULL /* void*(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleAttach\n");
|
||||||
|
ret = BioAPI_ModuleAttach(uuid, /* const BioAPI_UUID * */
|
||||||
|
NULL, /* const BioAPI_VERSION(unuse) */
|
||||||
|
NULL, /* const BioAPI_MEMORY_FUNCS(unuse) */
|
||||||
|
0, /* BioAPI_DEVICE_ID(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
NULL, /* BioAPI_FUNC_NAME_ADDR(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
NULL, /* const void * (unuse) */
|
||||||
|
&mModuleHandle /* BioAPI_HANDLE_PTR */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_SetGUICallbacks\n");
|
||||||
|
ret = BioAPI_SetGUICallbacks(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* BioAPI_GUI_STREAMING_CALLBACK(unuse) */
|
||||||
|
NULL, /* void *(unuse) */
|
||||||
|
(BioAPI_GUI_STATE_CALLBACK)GuiState_for_BioAPICallBack, /* BioAPI_GUI_STATE_CALLBACK */
|
||||||
|
&mPreMessage /* void * */
|
||||||
|
);
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("PvAPI_SetProfile\n");
|
||||||
|
ret = PvAPI_SetProfile(mModuleHandle, /* MoudleHandle */
|
||||||
|
PvAPI_PROFILE_SCORE_NOTIFICATIONS, /* DWORD(dwFlag) */
|
||||||
|
PvAPI_PROFILE_SCORE_NOTIFICATIONS_ON,/* DWORD(dwParam1) */
|
||||||
|
0, /* DWORD(dwParam2) */
|
||||||
|
0 /* DWORD(dwReserve) */
|
||||||
|
);
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Enroll
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
for (idx = 0; idx < MAX_ENROLL_COUNT; idx++) {
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Enroll(No.%d)\n", idx+1);
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Enroll(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
BioAPI_PURPOSE_VERIFY, /* BioAPI_BIR_PURPOSE */
|
||||||
|
NULL, /* BioAPI_INPUT_BIR *(unuse) */
|
||||||
|
&NewBIRHandle, /* BioAPI_BIR_HANDLE_PTR */
|
||||||
|
NULL, /* BioAPI_DATA *(unuse) */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
printf(" Enroll done.\n");
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_GetBIRFromHandle\n");
|
||||||
|
ret = BioAPI_GetBIRFromHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle, /* BioAPI_BIR_HANDLE */
|
||||||
|
(BioAPI_BIR_PTR*)&pBIR /* BioAPI_BIR_PTR * */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
datasize = (size_t)pBIR->Header.Length + 8;
|
||||||
|
|
||||||
|
if ( datasize > MAX_ENROLLDATA_SIZE ) {
|
||||||
|
printf("Error: Enroll data size error.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(ucEnrolledBIR[idx], (unsigned char*)pBIR, datasize);
|
||||||
|
((PvAPI_BIR_PTR)ucEnrolledBIR[idx])->BiometricData = 0;
|
||||||
|
|
||||||
|
birEnrollDataCount++;
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_FreeBIRHandle\n");
|
||||||
|
ret = BioAPI_FreeBIRHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle /* BioAPI_BIR_HANDLE */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Identify(Standalone)
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Identify\n");
|
||||||
|
{
|
||||||
|
BioAPI_FRR MaxFRRRequested = PvAPI_MATCHING_LEVEL_NORMAL;
|
||||||
|
BioAPI_BOOL FARPrecedence = BioAPI_FALSE;
|
||||||
|
BioAPI_BOOL Binning = BioAPI_FALSE;
|
||||||
|
uint32 MaxNumberOfResults = MAX_NUMBER_OF_RESULTS;
|
||||||
|
uint32 NumberOfResults = 0;
|
||||||
|
BioAPI_IDENTIFY_POPULATION Population;
|
||||||
|
BioAPI_BIR_ARRAY_POPULATION PopulationArray;
|
||||||
|
BioAPI_BIR_PTR *pMembers;
|
||||||
|
|
||||||
|
BioAPI_CANDIDATE_ARRAY_PTR pCandidates = NULL;
|
||||||
|
BioAPI_CANDIDATE_ARRAY pCandidatesArea = NULL;
|
||||||
|
BioAPI_CANDIDATE Candidates[MAX_NUMBER_OF_RESULTS];
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
Population.Type = BioAPI_ARRAY_TYPE;
|
||||||
|
Population.BIRs.BIRArray = &PopulationArray;
|
||||||
|
//
|
||||||
|
pMembers = (BioAPI_BIR_PTR *)malloc(birEnrollDataCount * sizeof(BioAPI_BIR_PTR));
|
||||||
|
if ( pMembers == NULL ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
PopulationArray.NumberOfMembers = birEnrollDataCount;
|
||||||
|
PopulationArray.Members = pMembers;
|
||||||
|
for(idx=0; idx < birEnrollDataCount; idx++) {
|
||||||
|
pMembers[idx] = (BioAPI_BIR_PTR)&(ucEnrolledBIR[idx]);
|
||||||
|
((PvAPI_BIR_PTR)pMembers[idx])->BiometricData = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
memset(Candidates, 0, sizeof(Candidates));
|
||||||
|
pCandidatesArea = (BioAPI_CANDIDATE_ARRAY)&(Candidates[0]);
|
||||||
|
pCandidates = &pCandidatesArea;
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Identify(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* const BioAPI_FAR *(unuse) */
|
||||||
|
&MaxFRRRequested, /* const BioAPI_FRR * */
|
||||||
|
&FARPrecedence, /* const BioAPI_BOOL * */
|
||||||
|
&Population, /* const BioAPI_IDENTIFY_POPULATION * */
|
||||||
|
Binning, /* BioAPI_BOOL */
|
||||||
|
MaxNumberOfResults, /* uint32 */
|
||||||
|
&NumberOfResults, /* uint32 * */
|
||||||
|
&pCandidates, /* BioAPI_CANDIDATE_ARRAY_PTR * */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret == BioAPI_OK ) {
|
||||||
|
if ( NumberOfResults == 0 ) {
|
||||||
|
printf("--\nBioAPI_Identify Result: Auth-NG\n");
|
||||||
|
} else {
|
||||||
|
printf("--\nBioAPI_Identify Result: Number of Candidate: %d\n", NumberOfResults);
|
||||||
|
for(i=0; i < NumberOfResults; i++) {
|
||||||
|
for(idx=0; idx < birEnrollDataCount; idx++) {
|
||||||
|
if ( pMembers[idx] == (BioAPI_BIR_PTR)Candidates[i].BIR.BIRInArray ) {
|
||||||
|
printf("Candidate%02d Enroll-No.%02d Score:%d\n", i+1, idx+1, Candidates[i].FARAchieved);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} // for idx
|
||||||
|
} // for i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pMembers);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Capture+IdentifyMatch(CL/SV)
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Capture\n");
|
||||||
|
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Capture(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
BioAPI_PURPOSE_VERIFY, /* BioAPI_BIR_PURPOSE */
|
||||||
|
&NewBIRHandle, /* BioAPI_BIR_HANDLE_PTR */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" Capture done.\n");
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_GetBIRFromHandle\n");
|
||||||
|
ret = BioAPI_GetBIRFromHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle, /* BioAPI_BIR_HANDLE */
|
||||||
|
(BioAPI_BIR_PTR*)&pBIR /* BioAPI_BIR_PTR * */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
datasize = (size_t)pBIR->Header.Length + 8;
|
||||||
|
|
||||||
|
if ( datasize > MAX_CAPTUREDATA_SIZE ) {
|
||||||
|
printf("Error: Capture data size error.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
memcpy(ucCapturedBIR, (unsigned char*)pBIR, datasize);
|
||||||
|
((PvAPI_BIR_PTR)ucCapturedBIR)->BiometricData = 0;
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_FreeBIRHandle\n");
|
||||||
|
ret = BioAPI_FreeBIRHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle /* BioAPI_BIR_HANDLE */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_IdentifyMatch\n");
|
||||||
|
{
|
||||||
|
BioAPI_FRR MaxFRRRequested = PvAPI_MATCHING_LEVEL_NORMAL;
|
||||||
|
BioAPI_BOOL FARPrecedence = BioAPI_FALSE;
|
||||||
|
BioAPI_BOOL Binning = BioAPI_FALSE;
|
||||||
|
uint32 MaxNumberOfResults = MAX_NUMBER_OF_RESULTS;
|
||||||
|
uint32 NumberOfResults = 0;
|
||||||
|
BioAPI_INPUT_BIR captureInputBIR;
|
||||||
|
|
||||||
|
BioAPI_IDENTIFY_POPULATION Population;
|
||||||
|
BioAPI_BIR_ARRAY_POPULATION PopulationArray;
|
||||||
|
BioAPI_BIR_PTR *pMembers;
|
||||||
|
|
||||||
|
BioAPI_CANDIDATE_ARRAY_PTR pCandidates = NULL;
|
||||||
|
BioAPI_CANDIDATE_ARRAY pCandidatesArea = NULL;
|
||||||
|
BioAPI_CANDIDATE Candidates[MAX_NUMBER_OF_RESULTS];
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
captureInputBIR.Form = BioAPI_FULLBIR_INPUT;
|
||||||
|
captureInputBIR.InputBIR.BIR = (BioAPI_BIR_PTR)ucCapturedBIR;
|
||||||
|
((PvAPI_BIR_PTR)ucCapturedBIR)->BiometricData = 0;
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
Population.Type = BioAPI_ARRAY_TYPE;
|
||||||
|
Population.BIRs.BIRArray = &PopulationArray;
|
||||||
|
//
|
||||||
|
pMembers = (BioAPI_BIR_PTR *)malloc(birEnrollDataCount * sizeof(BioAPI_BIR_PTR));
|
||||||
|
if ( pMembers == NULL ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
PopulationArray.NumberOfMembers = birEnrollDataCount;
|
||||||
|
PopulationArray.Members = pMembers;
|
||||||
|
for(idx=0; idx < birEnrollDataCount; idx++) {
|
||||||
|
pMembers[idx] = (BioAPI_BIR_PTR)&(ucEnrolledBIR[idx]);
|
||||||
|
((PvAPI_BIR_PTR)pMembers[idx])->BiometricData = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
memset(Candidates, 0, sizeof(Candidates));
|
||||||
|
pCandidatesArea = (BioAPI_CANDIDATE_ARRAY)&(Candidates[0]);
|
||||||
|
pCandidates = &pCandidatesArea;
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_IdentifyMatch(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* const BioAPI_FAR *(unuse) */
|
||||||
|
&MaxFRRRequested, /* const BioAPI_FRR * */
|
||||||
|
&FARPrecedence, /* const BioAPI_BOOL * */
|
||||||
|
&captureInputBIR, /* const BioAPI_INPUT_BIR * */
|
||||||
|
&Population, /* const BioAPI_IDENTIFY_POPULATION */
|
||||||
|
Binning, /* BioAPI_BOOL */
|
||||||
|
MaxNumberOfResults, /* uint32 */
|
||||||
|
&NumberOfResults, /* uint32 */
|
||||||
|
&pCandidates, /* BioAPI_CANDIDATE_ARRAY_PTR * */
|
||||||
|
0 /* sint32 */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret == BioAPI_OK ) {
|
||||||
|
if ( NumberOfResults == 0 ) {
|
||||||
|
printf("--\nBioAPI_IdentifyMatch Result: Auth-NG\n");
|
||||||
|
} else {
|
||||||
|
printf("--\nBioAPI_IdentifyMatch Result: Number of Candidate: %d\n", NumberOfResults);
|
||||||
|
for(i=0; i < NumberOfResults; i++) {
|
||||||
|
for(idx=0; idx < birEnrollDataCount; idx++) {
|
||||||
|
if ( pMembers[idx] == (BioAPI_BIR_PTR)Candidates[i].BIR.BIRInArray ) {
|
||||||
|
printf("Candidate%02d Enroll-No.%02d Score:%d\n", i+1, idx+1, Candidates[i].FARAchieved);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} // for idx
|
||||||
|
} // for i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
free(pMembers);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Terminate
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleDetach\n");
|
||||||
|
ret = BioAPI_ModuleDetach(mModuleHandle); /* BioAPI_HANDLE */
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleUnload\n");
|
||||||
|
ret = BioAPI_ModuleUnload(uuid, /* const BioAPI_UUID * */
|
||||||
|
NULL, /* BioAPI_ModuleEvevtHandler */
|
||||||
|
NULL /* void * */
|
||||||
|
);
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
error:;
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
if ( mModuleHandle != 0 ) {
|
||||||
|
ret = BioAPI_ModuleDetach(mModuleHandle);
|
||||||
|
}
|
||||||
|
ret = BioAPI_ModuleUnload(uuid, NULL, NULL);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Callback Message
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
void disp_message( BioAPI_GUI_MESSAGE Message )
|
||||||
|
{
|
||||||
|
switch(Message){
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_BADIMAGE: // 0x02030200
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_BADIMAGE\n");
|
||||||
|
printf(" Move your hand away from the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_NO_HANDS: // 0x02030201
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_NO_HANDS\n");
|
||||||
|
printf(" Place your hand.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_MOVING: // 0x02030203
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_MOVING\n");
|
||||||
|
printf(" Stop moving your hand.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_LESSINFO: // 0x02030204
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_LESSINFO\n");
|
||||||
|
printf(" Unclench your hand and place correctly.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_RIGHT: // 0x02030205
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_RIGHT\n");
|
||||||
|
printf(" Move your hand to the left.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_LEFT: // 0x02030206
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_LEFT\n");
|
||||||
|
printf(" Move your hand to the right.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_DOWN: // 0x02030207
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_DOWN\n");
|
||||||
|
printf(" Move your hand away from you.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_UP: // 0x02030208
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_UP\n");
|
||||||
|
printf(" Move your hand towards you.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_FAR: // 0x02030209
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_FAR\n");
|
||||||
|
printf(" Bring your hand closer.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_NEAR: // 0x0203020A
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_NEAR\n");
|
||||||
|
printf(" Move your hand higher.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_CAPTURING: // 0x0203020B
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_CAPTURING\n");
|
||||||
|
printf(" Now capturing.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PITCH_DOWN: // 0x02030210
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PITCH_DOWN\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PITCH_UP: // 0x02030211
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PITCH_UP\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROLL_RIGHT: // 0x02030212
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROLL_RIGHT\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROLL_LEFT: // 0x02030213
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROLL_LEFT\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_YAW_RIGHT: // 0x02030214
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_YAW_RIGHT\n");
|
||||||
|
printf(" Place your hand parallel to the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_YAW_LEFT: // 0x02030215
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_YAW_LEFT\n");
|
||||||
|
printf(" Place your hand parallel to the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_CLOSE_FINGER: // 0x02030216 (V24)
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_CLOSE_FINGER\n");
|
||||||
|
printf(" Unclench your hand and place correctly.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROUND: // 0x02030217
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROUND\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ADJUST_LIGHT: // 0x02030220
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ADJUST_LIGHT\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ADJUST_NG: // 0x02030221
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ADJUST_NG\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PHASE_END: // 0x02030300
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PHASE_END\n");
|
||||||
|
printf(" Now authenticating.\n");
|
||||||
|
break;
|
||||||
|
// -------------------------------------------------------------------------
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_CAPTURE): // 0x03000101
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_CAPTURE\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_VERIFYMATCH): // 0x03000102
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_VERIFYMATCH\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_IDENTIFYMATCH): // 0x03000103
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_IDENTIFYMATCH\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_ENROLL): // 0x03000104
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_ENROLL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_VERIFY): // 0x03000105
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_VERIFY\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_IDENTIFY): // 0x03000106
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_IDENTIFY\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_NORMAL): // 0x03000200
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_NORMAL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_CANCEL): // 0x03000210
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_CANCEL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_ERROR): // 0x03000220
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_ERROR\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_CAP_GUID_CAPTURE_IMAGE): // 0x02030222
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_CAP_GUID_CAPTURE_IMAGE\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_WAIT_FOR_TRIGGER: // 0x02040000
|
||||||
|
printf("-MessageCB: [optional] PvAPI_NOTIFY_WAIT_FOR_TRIGGER\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_1): // 0x05000001
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_1(Good)\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_2): // 0x05000002
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_2\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_3): // 0x05000003
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_3\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if ( (0xFF000000 & Message) == PvAPI_NOTIFY_MATCH_RESULT ) { // 0x04XXXXXX
|
||||||
|
int iResult;
|
||||||
|
iResult = 0x00FFFFFF & Message;
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_MATCH_RESULT");
|
||||||
|
if ( iResult == 0 ) {
|
||||||
|
printf("(Auth-NG)\n");
|
||||||
|
} else {
|
||||||
|
printf("(Auth-OK[%d])\n", iResult);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( (0xFFFFFF00 & Message) == PvAPI_NOTIFY_CAP_GUID_START ) { // 0x020300MN
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_START[0x%08X]\n", Message);
|
||||||
|
printf(" Capturing Start. (%d/%d)\n", (Message & 0x000F), ((Message >> 4) & 0x000F));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("-Unknown message [0x%08X]\n", Message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Callback Function
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI GuiState_for_BioAPICallBack( void * GuiStateCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE GuiState,
|
||||||
|
BioAPI_GUI_RESPONSE Response,
|
||||||
|
BioAPI_GUI_MESSAGE Message,
|
||||||
|
BioAPI_GUI_PROGRESS Progress,
|
||||||
|
BioAPI_GUI_BITMAP_PTR SampleBuffer )
|
||||||
|
{
|
||||||
|
BioAPI_GUI_MESSAGE *PreMessage;
|
||||||
|
|
||||||
|
PreMessage = (BioAPI_GUI_MESSAGE*)GuiStateCallbackCtx;
|
||||||
|
|
||||||
|
if ( GuiState & BioAPI_SAMPLE_AVAILABLE ) {
|
||||||
|
printf("-MessageCB: State: Silhouette\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( GuiState & BioAPI_MESSAGE_PROVIDED ) {
|
||||||
|
if ( *PreMessage != Message ) {
|
||||||
|
disp_message(Message);
|
||||||
|
}
|
||||||
|
*PreMessage = Message;
|
||||||
|
}
|
||||||
|
|
||||||
|
return BioAPI_OK; // "BioAPI_OK" only
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Error Function
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
void disp_ErrorInfo(PvAPI_ErrorInfo *ErrInfo)
|
||||||
|
{
|
||||||
|
if ( (ErrInfo->ErrorLevel == PvAPI_ERROR_LEVEL_NORMAL) ||
|
||||||
|
(ErrInfo->ErrorLevel == PvAPI_ERROR_LEVEL_CANCEL) )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" ErrorLevel = 0x%02X\n", ErrInfo->ErrorLevel);
|
||||||
|
printf(" ErrorCode = 0x%02X\n", ErrInfo->ErrorCode);
|
||||||
|
printf(" ErrorDetail = 0x%08X\n", ErrInfo->ErrorDetail);
|
||||||
|
printf(" ErrorInfo1 = 0x%08X\n", ErrInfo->ErrorInfo1);
|
||||||
|
printf(" ErrorInfo2 = 0x%08X\n", ErrInfo->ErrorInfo2);
|
||||||
|
printf(" ErrorInfo3[0] = 0x%08X\n", ErrInfo->ErrorInfo3[0]);
|
||||||
|
printf(" ErrorInfo3[1] = 0x%08X\n", ErrInfo->ErrorInfo3[1]);
|
||||||
|
printf(" ErrorInfo3[2] = 0x%08X\n", ErrInfo->ErrorInfo3[2]);
|
||||||
|
printf(" ErrorInfo3[3] = 0x%08X\n", ErrInfo->ErrorInfo3[3]);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
BIN
modules/fjpalmvein/C/BioAPI_sample_C_Identify.o
Normal file
BIN
modules/fjpalmvein/C/BioAPI_sample_C_Identify.o
Normal file
Binary file not shown.
599
modules/fjpalmvein/C/BioAPI_sample_C_Verify.c
Normal file
599
modules/fjpalmvein/C/BioAPI_sample_C_Verify.c
Normal file
@ -0,0 +1,599 @@
|
|||||||
|
/* =========================================================================
|
||||||
|
* Sample Source for C Language Professional Edition
|
||||||
|
* =========================================================================
|
||||||
|
*
|
||||||
|
* All Rights Reserved, Copyright(c) FUJITSU FRONTECH LIMITED 2021
|
||||||
|
*
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "bioapi_type.h"
|
||||||
|
#include "bioapi_api.h"
|
||||||
|
#include "bioapi_err.h"
|
||||||
|
|
||||||
|
#include "pvapi_type.h"
|
||||||
|
#include "pvapi_api.h"
|
||||||
|
#include "pvapi_err.h"
|
||||||
|
|
||||||
|
#define MAX_ENROLLDATA_SIZE (1024*16)
|
||||||
|
#define MAX_CAPTUREDATA_SIZE (1024*80)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define APPLICATION_KEY "your application key"
|
||||||
|
#define ENROLL_FILENAME "BIRData.dat"
|
||||||
|
#define CAPTURE_FILENAME "BIRCapData.dat"
|
||||||
|
#define SILHOUETTE_FILENAME "silhouette.bmp"
|
||||||
|
|
||||||
|
void disp_ErrorInfo(PvAPI_ErrorInfo *ErrInfo);
|
||||||
|
BioAPI_RETURN BioAPI GuiState_for_BioAPICallBack( void * GuiStateCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE GuiState,
|
||||||
|
BioAPI_GUI_RESPONSE Response,
|
||||||
|
BioAPI_GUI_MESSAGE Message,
|
||||||
|
BioAPI_GUI_PROGRESS Progress,
|
||||||
|
BioAPI_GUI_BITMAP_PTR SampleBuffer );
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* main
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
FILE *fp;
|
||||||
|
size_t datasize;
|
||||||
|
|
||||||
|
BioAPI_RETURN ret;
|
||||||
|
BioAPI_HANDLE mModuleHandle = 0; // BioAPI_ModuleAttach handle
|
||||||
|
BioAPI_BIR_HANDLE NewBIRHandle = 0; // BioAPI_Enroll/BioAPI_Capture
|
||||||
|
PvAPI_BIR_PTR pBIR = NULL; // BioAPI_GetBIRFromHandle
|
||||||
|
|
||||||
|
BioAPI_GUI_MESSAGE mPreMessage = 0; // BioAPI_SetGUICallbacks
|
||||||
|
PvAPI_ErrorInfo ErrorInfo; // PvAPI_GetErrorInfo
|
||||||
|
|
||||||
|
unsigned char ucEnrolledBIR[MAX_ENROLLDATA_SIZE];
|
||||||
|
unsigned char ucCapturedBIR[MAX_CAPTUREDATA_SIZE];
|
||||||
|
|
||||||
|
const BioAPI_UUID uuid[16] = {0xE1, 0x9A, 0x69, 0x01, 0xB8, 0xC2, 0x49, 0x80, 0x87, 0x7E, 0x11, 0xD4, 0xD8, 0xF1, 0xBE, 0x79};
|
||||||
|
|
||||||
|
memset(ucEnrolledBIR, 0, sizeof(ucEnrolledBIR));
|
||||||
|
memset(ucCapturedBIR, 0, sizeof(ucCapturedBIR));
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Initialize
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("PvAPI_ApAuthenticate\n");
|
||||||
|
ret = PvAPI_ApAuthenticate((uint8*)APPLICATION_KEY);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
if ( ErrorInfo.ErrorDetail == 0x02030003 ) {
|
||||||
|
if ( ErrorInfo.ErrorInfo3[0] == 0x4c430000 ) {
|
||||||
|
printf("\nError: License Error\n");
|
||||||
|
} else {
|
||||||
|
printf("\nError: APPLICATION_KEY Error(maybe)\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleLoad\n");
|
||||||
|
ret = BioAPI_ModuleLoad(uuid, /* const BioAPI_UUID * */
|
||||||
|
0, /* uint32 */
|
||||||
|
NULL, /* BioAPI_ModuleEventHandler(unuse) */
|
||||||
|
NULL /* void*(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleAttach\n");
|
||||||
|
ret = BioAPI_ModuleAttach(uuid, /* const BioAPI_UUID * */
|
||||||
|
NULL, /* const BioAPI_VERSION(unuse) */
|
||||||
|
NULL, /* const BioAPI_MEMORY_FUNCS(unuse) */
|
||||||
|
0, /* BioAPI_DEVICE_ID(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
NULL, /* BioAPI_FUNC_NAME_ADDR(unuse) */
|
||||||
|
0, /* uint32(unuse) */
|
||||||
|
NULL, /* const void * (unuse) */
|
||||||
|
&mModuleHandle /* BioAPI_HANDLE_PTR */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_SetGUICallbacks\n");
|
||||||
|
ret = BioAPI_SetGUICallbacks(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* BioAPI_GUI_STREAMING_CALLBACK(unuse) */
|
||||||
|
NULL, /* void *(unuse) */
|
||||||
|
(BioAPI_GUI_STATE_CALLBACK)GuiState_for_BioAPICallBack, /* BioAPI_GUI_STATE_CALLBACK */
|
||||||
|
&mPreMessage /* void * */
|
||||||
|
);
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Enroll
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
if ( (fp = fopen(ENROLL_FILENAME, "rb")) != NULL ) {
|
||||||
|
fread(ucEnrolledBIR, sizeof(unsigned char), sizeof(ucEnrolledBIR), fp);
|
||||||
|
fclose(fp);
|
||||||
|
} else {
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Enroll\n");
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Enroll(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
BioAPI_PURPOSE_VERIFY, /* BioAPI_BIR_PURPOSE */
|
||||||
|
NULL, /* BioAPI_INPUT_BIR *(unuse) */
|
||||||
|
&NewBIRHandle, /* BioAPI_BIR_HANDLE_PTR */
|
||||||
|
NULL, /* BioAPI_DATA *(unuse) */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
printf(" BioAPI_Enroll done.\n");
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_GetBIRFromHandle\n");
|
||||||
|
ret = BioAPI_GetBIRFromHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle, /* BioAPI_BIR_HANDLE */
|
||||||
|
(BioAPI_BIR_PTR*)&pBIR /* BioAPI_BIR_PTR * */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
datasize = (size_t)pBIR->Header.Length + 8;
|
||||||
|
|
||||||
|
if ( datasize > MAX_ENROLLDATA_SIZE ) {
|
||||||
|
printf("Error: Enroll data size error.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy(ucEnrolledBIR, (unsigned char*)pBIR, datasize);
|
||||||
|
((PvAPI_BIR_PTR)ucEnrolledBIR)->BiometricData = 0;
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_FreeBIRHandle\n");
|
||||||
|
ret = BioAPI_FreeBIRHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle /* BioAPI_BIR_HANDLE */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
|
||||||
|
fp = fopen(ENROLL_FILENAME, "wb");
|
||||||
|
if ( fp != NULL ) {
|
||||||
|
fwrite(ucEnrolledBIR, sizeof(unsigned char), datasize, fp);
|
||||||
|
fclose(fp);
|
||||||
|
printf(" FILE: %s (DataSize=%d)\n", ENROLL_FILENAME, datasize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Verify(Standalone)
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
{
|
||||||
|
BioAPI_FRR MaxFRRRequested = PvAPI_MATCHING_LEVEL_NORMAL;
|
||||||
|
BioAPI_BOOL Result = BioAPI_FALSE;
|
||||||
|
BioAPI_BOOL FARPrecedence = BioAPI_FALSE;
|
||||||
|
BioAPI_FAR FARAchieved = 0;
|
||||||
|
BioAPI_INPUT_BIR enrollInputBIR;
|
||||||
|
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Verify\n");
|
||||||
|
|
||||||
|
((PvAPI_BIR_PTR)ucEnrolledBIR)->BiometricData = 0;
|
||||||
|
enrollInputBIR.Form = BioAPI_FULLBIR_INPUT;
|
||||||
|
enrollInputBIR.InputBIR.BIR = (BioAPI_BIR_PTR)ucEnrolledBIR;
|
||||||
|
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Verify(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* const BioAPI_FAR(unuse) */
|
||||||
|
&MaxFRRRequested, /* const BioAPI_FRR */
|
||||||
|
&FARPrecedence, /* const BioAPI_BOOL */
|
||||||
|
&enrollInputBIR, /* const BioAPI_INPUT_BIR* */
|
||||||
|
NULL, /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
&Result, /* BioAPI_BOOL */
|
||||||
|
&FARAchieved, /* BioAPI_FAR_PTR */
|
||||||
|
NULL, /* BioAPI_FRR_PTR(unuse) */
|
||||||
|
NULL, /* BioAPI_DATA_PTR(unuse) */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("--\nBioAPI_Verify Result: %s\n",
|
||||||
|
(Result==BioAPI_FALSE) ? "Auth-NG" : "Auth-OK");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Capture+VerifyMatch(CL/SV)
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_Capture\n");
|
||||||
|
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_Capture(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
BioAPI_PURPOSE_VERIFY, /* BioAPI_BIR_PURPOSE */
|
||||||
|
&NewBIRHandle, /* BioAPI_BIR_HANDLE_PTR */
|
||||||
|
0, /* sint32 */
|
||||||
|
NULL /* BioAPI_BIR_HANDLE_PTR(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" Capture done.\n");
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_GetBIRFromHandle\n");
|
||||||
|
ret = BioAPI_GetBIRFromHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle, /* BioAPI_BIR_HANDLE */
|
||||||
|
(BioAPI_BIR_PTR*)&pBIR /* BioAPI_BIR_PTR * */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
datasize = (size_t)pBIR->Header.Length + 8;
|
||||||
|
|
||||||
|
if ( datasize > MAX_CAPTUREDATA_SIZE ) {
|
||||||
|
printf("Error: Capture data size error.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
memcpy(ucCapturedBIR, (unsigned char*)pBIR, datasize);
|
||||||
|
((PvAPI_BIR_PTR)ucCapturedBIR)->BiometricData = 0;
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_FreeBIRHandle\n");
|
||||||
|
ret = BioAPI_FreeBIRHandle(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NewBIRHandle /* BioAPI_BIR_HANDLE */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
|
||||||
|
fp = fopen(CAPTURE_FILENAME, "wb");
|
||||||
|
if ( fp != NULL ) {
|
||||||
|
fwrite(ucCapturedBIR, sizeof(unsigned char), datasize, fp);
|
||||||
|
fclose(fp);
|
||||||
|
printf(" FILE: %s (DataSize=%d)\n", CAPTURE_FILENAME, datasize);
|
||||||
|
}
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
{
|
||||||
|
BioAPI_FRR MaxFRRRequested = PvAPI_MATCHING_LEVEL_NORMAL;
|
||||||
|
BioAPI_BOOL Result = BioAPI_FALSE;
|
||||||
|
BioAPI_BOOL FARPrecedence = BioAPI_FALSE;
|
||||||
|
BioAPI_FAR FARAchieved = 0;
|
||||||
|
BioAPI_INPUT_BIR enrollInputBIR;
|
||||||
|
BioAPI_INPUT_BIR captureInputBIR;
|
||||||
|
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_VerifyMatch\n");
|
||||||
|
|
||||||
|
((PvAPI_BIR_PTR)ucEnrolledBIR)->BiometricData = 0;
|
||||||
|
enrollInputBIR.Form = BioAPI_FULLBIR_INPUT;
|
||||||
|
enrollInputBIR.InputBIR.BIR = (BioAPI_BIR_PTR)ucEnrolledBIR;
|
||||||
|
|
||||||
|
((PvAPI_BIR_PTR)ucCapturedBIR)->BiometricData = 0;
|
||||||
|
captureInputBIR.Form = BioAPI_FULLBIR_INPUT;
|
||||||
|
captureInputBIR.InputBIR.BIR = (BioAPI_BIR_PTR)ucCapturedBIR;
|
||||||
|
|
||||||
|
mPreMessage = 0;
|
||||||
|
ret = BioAPI_VerifyMatch(mModuleHandle, /* BioAPI_HANDLE */
|
||||||
|
NULL, /* const BioAPI_FAR *(unuse) */
|
||||||
|
&MaxFRRRequested, /* const BioAPI_FRR * */
|
||||||
|
&FARPrecedence, /* const BioAPI_BOOL * */
|
||||||
|
&captureInputBIR, /* const BioAPI_INPUT_BIR * */
|
||||||
|
&enrollInputBIR, /* const BioAPI_INPUT_BIR * */
|
||||||
|
NULL, /* BioAPI_BIR_HANDLE *(unuse) */
|
||||||
|
&Result, /* BioAPI_BOOL * */
|
||||||
|
&FARAchieved, /* BioAPI_FAR_PTR */
|
||||||
|
NULL, /* BioAPI_FRR_PTR(unuse) */
|
||||||
|
NULL /* BioAPI_DATA_PTR *(unuse) */
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( ret != BioAPI_OK ) {
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("--\nBioAPI_VerifyMatch Result: %s\n",
|
||||||
|
(Result==BioAPI_FALSE) ? "Auth-NG" : "Auth-OK");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Phase: Terminate
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleDetach\n");
|
||||||
|
ret = BioAPI_ModuleDetach(mModuleHandle); /* BioAPI_HANDLE */
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
printf("--\n");
|
||||||
|
printf("BioAPI_ModuleUnload\n");
|
||||||
|
ret = BioAPI_ModuleUnload(uuid, /* const BioAPI_UUID * */
|
||||||
|
NULL, /* BioAPI_ModuleEvevtHandler */
|
||||||
|
NULL /* void * */
|
||||||
|
);
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
error:;
|
||||||
|
PvAPI_GetErrorInfo(&ErrorInfo);
|
||||||
|
disp_ErrorInfo(&ErrorInfo);
|
||||||
|
if ( mModuleHandle != 0 ) {
|
||||||
|
ret = BioAPI_ModuleDetach(mModuleHandle);
|
||||||
|
}
|
||||||
|
ret = BioAPI_ModuleUnload(uuid, NULL, NULL);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Callback Message
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
void disp_message( BioAPI_GUI_MESSAGE Message )
|
||||||
|
{
|
||||||
|
switch(Message){
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_BADIMAGE: // 0x02030200
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_BADIMAGE\n");
|
||||||
|
printf(" Move your hand away from the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_NO_HANDS: // 0x02030201
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_NO_HANDS\n");
|
||||||
|
printf(" Place your hand.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_MOVING: // 0x02030203
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_MOVING\n");
|
||||||
|
printf(" Stop moving your hand.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_LESSINFO: // 0x02030204
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_LESSINFO\n");
|
||||||
|
printf(" Unclench your hand and place correctly.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_RIGHT: // 0x02030205
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_RIGHT\n");
|
||||||
|
printf(" Move your hand to the left.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_LEFT: // 0x02030206
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_LEFT\n");
|
||||||
|
printf(" Move your hand to the right.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_DOWN: // 0x02030207
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_DOWN\n");
|
||||||
|
printf(" Move your hand away from you.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_UP: // 0x02030208
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_UP\n");
|
||||||
|
printf(" Move your hand towards you.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_FAR: // 0x02030209
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_FAR\n");
|
||||||
|
printf(" Bring your hand closer.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_NEAR: // 0x0203020A
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_NEAR\n");
|
||||||
|
printf(" Move your hand higher.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_CAPTURING: // 0x0203020B
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_CAPTURING\n");
|
||||||
|
printf(" Now capturing.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PITCH_DOWN: // 0x02030210
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PITCH_DOWN\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PITCH_UP: // 0x02030211
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PITCH_UP\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROLL_RIGHT: // 0x02030212
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROLL_RIGHT\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROLL_LEFT: // 0x02030213
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROLL_LEFT\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_YAW_RIGHT: // 0x02030214
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_YAW_RIGHT\n");
|
||||||
|
printf(" Place your hand parallel to the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_YAW_LEFT: // 0x02030215
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_YAW_LEFT\n");
|
||||||
|
printf(" Place your hand parallel to the sensor.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_CLOSE_FINGER: // 0x02030216 (V24)
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_CLOSE_FINGER\n");
|
||||||
|
printf(" Unclench your hand and place correctly.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ROUND: // 0x02030217
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ROUND\n");
|
||||||
|
printf(" Lay your hand flat.\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ADJUST_LIGHT: // 0x02030220
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ADJUST_LIGHT\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_ADJUST_NG: // 0x02030221
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_ADJUST_NG\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_CAP_GUID_PHASE_END: // 0x02030300
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_PHASE_END\n");
|
||||||
|
printf(" Now authenticating.\n");
|
||||||
|
break;
|
||||||
|
// -------------------------------------------------------------------------
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_CAPTURE): // 0x03000101
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_CAPTURE\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_VERIFYMATCH): // 0x03000102
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_VERIFYMATCH\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_IDENTIFYMATCH): // 0x03000103
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_IDENTIFYMATCH\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_ENROLL): // 0x03000104
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_ENROLL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_VERIFY): // 0x03000105
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_VERIFY\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_KIND + PvAPI_NOTIFY_API_KIND_IDENTIFY): // 0x03000106
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_KIND_IDENTIFY\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_NORMAL): // 0x03000200
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_NORMAL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_CANCEL): // 0x03000210
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_CANCEL\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_API_END + PvAPI_NOTIFY_API_END_ERROR): // 0x03000220
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_API_END_ERROR\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_CAP_GUID_CAPTURE_IMAGE): // 0x02030222
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_CAP_GUID_CAPTURE_IMAGE\n");
|
||||||
|
break;
|
||||||
|
case PvAPI_NOTIFY_WAIT_FOR_TRIGGER: // 0x02040000
|
||||||
|
printf("-MessageCB: [optional] PvAPI_NOTIFY_WAIT_FOR_TRIGGER\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_1): // 0x05000001
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_1(Good)\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_2): // 0x05000002
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_2\n");
|
||||||
|
break;
|
||||||
|
case (PvAPI_NOTIFY_REGIST_SCORE + PvAPI_REGIST_SCORE_QUALITY_3): // 0x05000003
|
||||||
|
printf("-MessageCB: [optional] PvAPI_REGIST_SCORE_QUALITY_3\n");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if ( (0xFF000000 & Message) == PvAPI_NOTIFY_MATCH_RESULT ) { // 0x04XXXXXX
|
||||||
|
int iResult;
|
||||||
|
iResult = 0x00FFFFFF & Message;
|
||||||
|
printf("-MessageCB(GUI): [optional] PvAPI_NOTIFY_MATCH_RESULT");
|
||||||
|
if ( iResult == 0 ) {
|
||||||
|
printf("(Auth-NG)\n");
|
||||||
|
} else {
|
||||||
|
printf("(Auth-OK[%d])\n", iResult);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( (0xFFFFFF00 & Message) == PvAPI_NOTIFY_CAP_GUID_START ) { // 0x020300MN
|
||||||
|
printf("-MessageCB: PvAPI_NOTIFY_CAP_GUID_START[0x%08X]\n", Message);
|
||||||
|
printf(" Capturing Start. (%d/%d)\n", (Message & 0x000F), ((Message >> 4) & 0x000F));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("-Unknown message [0x%08X]\n", Message);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Callback Function
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI GuiState_for_BioAPICallBack( void * GuiStateCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE GuiState,
|
||||||
|
BioAPI_GUI_RESPONSE Response,
|
||||||
|
BioAPI_GUI_MESSAGE Message,
|
||||||
|
BioAPI_GUI_PROGRESS Progress,
|
||||||
|
BioAPI_GUI_BITMAP_PTR SampleBuffer )
|
||||||
|
{
|
||||||
|
BioAPI_GUI_MESSAGE *PreMessage;
|
||||||
|
|
||||||
|
PreMessage = (BioAPI_GUI_MESSAGE*)GuiStateCallbackCtx;
|
||||||
|
|
||||||
|
if ( GuiState & BioAPI_SAMPLE_AVAILABLE ) {
|
||||||
|
printf("-MessageCB: State: Silhouette\n");
|
||||||
|
{
|
||||||
|
BioAPI_DATA_PTR pbmp;
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
pbmp = SampleBuffer->Bitmap;
|
||||||
|
fp = fopen(SILHOUETTE_FILENAME, "wb");
|
||||||
|
if ( fp != NULL ) {
|
||||||
|
fwrite((unsigned char*)pbmp->Data, sizeof(unsigned char), (size_t)pbmp->Length, fp);
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( GuiState & BioAPI_MESSAGE_PROVIDED ) {
|
||||||
|
if ( *PreMessage != Message ) {
|
||||||
|
disp_message(Message);
|
||||||
|
}
|
||||||
|
*PreMessage = Message;
|
||||||
|
}
|
||||||
|
|
||||||
|
return BioAPI_OK; // only "BioAPI_OK"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------
|
||||||
|
* Error Function
|
||||||
|
* ---------------------------------------------------------------------- */
|
||||||
|
void disp_ErrorInfo(PvAPI_ErrorInfo *ErrInfo)
|
||||||
|
{
|
||||||
|
if ( (ErrInfo->ErrorLevel == PvAPI_ERROR_LEVEL_NORMAL) ||
|
||||||
|
(ErrInfo->ErrorLevel == PvAPI_ERROR_LEVEL_CANCEL) )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf(" ErrorLevel = 0x%02X\n", ErrInfo->ErrorLevel);
|
||||||
|
printf(" ErrorCode = 0x%02X\n", ErrInfo->ErrorCode);
|
||||||
|
printf(" ErrorDetail = 0x%08X\n", ErrInfo->ErrorDetail);
|
||||||
|
printf(" ErrorInfo1 = 0x%08X\n", ErrInfo->ErrorInfo1);
|
||||||
|
printf(" ErrorInfo2 = 0x%08X\n", ErrInfo->ErrorInfo2);
|
||||||
|
printf(" ErrorInfo3[0] = 0x%08X\n", ErrInfo->ErrorInfo3[0]);
|
||||||
|
printf(" ErrorInfo3[1] = 0x%08X\n", ErrInfo->ErrorInfo3[1]);
|
||||||
|
printf(" ErrorInfo3[2] = 0x%08X\n", ErrInfo->ErrorInfo3[2]);
|
||||||
|
printf(" ErrorInfo3[3] = 0x%08X\n", ErrInfo->ErrorInfo3[3]);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
6
modules/fjpalmvein/C/F3BC4SDK.LIC
Normal file
6
modules/fjpalmvein/C/F3BC4SDK.LIC
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SERIAL=PC34
|
||||||
|
DATE=2020/01/27
|
||||||
|
AUTHOR=Fujitsu Frontech Limited
|
||||||
|
OWNER=
|
||||||
|
INFO=fMj1smO3+Pc1k7BsMS4aFfk/MmjEoBUZCQZuwzT4k0QyIWHnAvbraXwfyBsvIU6PMCp07kZZ59ygNOKnruh5Ixt3ijg9ttIpAdWFrUDj/ZHPIXiljIwL+vGr3x6S/Q7CwgcU0ZujyAtTW0m5i3hMrg==
|
||||||
|
SIGN=4YKXpBlSI7X+975fr71eUXs/UgHd+V7PLpMk2o30JfKQrUCVARKb+mYC+dwS3QnSDHT9t2cd04awNhmZ5YnphCnZ+66VSCmgnv7szBTNz9WAo72UWKOUPAK4mjWaZjm3n9z12iASJd+YLLknx5XBbS12ZuGb+nXDaKN9xPfhBHs=
|
||||||
261
modules/fjpalmvein/C/Inc/bioapi_api.h
Normal file
261
modules/fjpalmvein/C/Inc/bioapi_api.h
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File: BioAPI_API.H
|
||||||
|
*
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BioAPIAPI_H
|
||||||
|
#define _BioAPIAPI_H
|
||||||
|
|
||||||
|
/* API Functions */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*** BioAPI Core Functions ***********************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Init(
|
||||||
|
const BioAPI_VERSION *Version,
|
||||||
|
uint32 Reserved1,
|
||||||
|
const void *Reserved2,
|
||||||
|
uint32 Reserved3,
|
||||||
|
const void *Reserved4 );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Terminate(
|
||||||
|
void );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_ModuleLoad(
|
||||||
|
const BioAPI_UUID *ModuleGuid,
|
||||||
|
uint32 Reserved,
|
||||||
|
BioAPI_ModuleEventHandler AppNotifyCallback,
|
||||||
|
void *AppNotifyCallbackCtx );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_ModuleUnload(
|
||||||
|
const BioAPI_UUID *ModuleGuid,
|
||||||
|
BioAPI_ModuleEventHandler AppNotifyCallback,
|
||||||
|
void *AppNotifyCallbackCtx );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_ModuleAttach(
|
||||||
|
const BioAPI_UUID *ModuleGuid,
|
||||||
|
const BioAPI_VERSION *Version,
|
||||||
|
const BioAPI_MEMORY_FUNCS *MemoryFuncs,
|
||||||
|
uint32 DeviceID,
|
||||||
|
uint32 Reserved1,
|
||||||
|
uint32 Reserved2,
|
||||||
|
uint32 Reserved3,
|
||||||
|
BioAPI_FUNC_NAME_ADDR *FunctionTable,
|
||||||
|
uint32 NumFunctionTable,
|
||||||
|
const void *Reserved4,
|
||||||
|
BioAPI_HANDLE_PTR NewModuleHandle );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_ModuleDetach(
|
||||||
|
BioAPI_HANDLE ModuleHandle );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_QueryDevice(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_SERVICE_UID_PTR ServiceUID );
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*** BioAPI Service Functions ********************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_FreeBIRHandle(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_BIR_HANDLE BIRHandle );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_GetBIRFromHandle(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_BIR_HANDLE BIRHandle,
|
||||||
|
BioAPI_BIR_PTR *BIR );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_GetHeaderFromHandle(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_BIR_HANDLE BIRHandle,
|
||||||
|
BioAPI_BIR_HEADER_PTR Header );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_EnableEvents(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_MODULE_EVENT_MASK *Events );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_SetGUICallbacks(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_GUI_STREAMING_CALLBACK GuiStreamingCallback,
|
||||||
|
void *GuiStreamingCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE_CALLBACK GuiStateCallback,
|
||||||
|
void *GuiStateCallbackCtx );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_SetStreamCallback(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_STREAM_CALLBACK StreamCallback,
|
||||||
|
void *StreamCallbackCtx );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_StreamInputOutput(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DATA_PTR InMessage,
|
||||||
|
BioAPI_DATA_PTR OutMessage );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Capture(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_BIR_PURPOSE Purpose,
|
||||||
|
BioAPI_BIR_HANDLE_PTR CapturedBIR,
|
||||||
|
sint32 Timeout,
|
||||||
|
BioAPI_BIR_HANDLE_PTR AuditData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_CreateTemplate(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_INPUT_BIR *CapturedBIR,
|
||||||
|
const BioAPI_INPUT_BIR *StoredTemplate,
|
||||||
|
BioAPI_BIR_HANDLE_PTR NewTemplate,
|
||||||
|
const BioAPI_DATA *Payload );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Process(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_INPUT_BIR *CapturedBIR,
|
||||||
|
BioAPI_BIR_HANDLE_PTR ProcessedBIR );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_VerifyMatch(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_FAR *MaxFARRequested,
|
||||||
|
const BioAPI_FRR *MaxFRRRequested,
|
||||||
|
const BioAPI_BOOL *FARPrecedence,
|
||||||
|
const BioAPI_INPUT_BIR *ProcessedBIR,
|
||||||
|
const BioAPI_INPUT_BIR *StoredTemplate,
|
||||||
|
BioAPI_BIR_HANDLE *AdaptedBIR,
|
||||||
|
BioAPI_BOOL *Result,
|
||||||
|
BioAPI_FAR_PTR FARAchieved,
|
||||||
|
BioAPI_FRR_PTR FRRAchieved,
|
||||||
|
BioAPI_DATA_PTR *Payload );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_IdentifyMatch(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_FAR *MaxFARRequested,
|
||||||
|
const BioAPI_FRR *MaxFRRRequested,
|
||||||
|
const BioAPI_BOOL *FARPrecedence,
|
||||||
|
const BioAPI_INPUT_BIR *ProcessedBIR,
|
||||||
|
const BioAPI_IDENTIFY_POPULATION *Population,
|
||||||
|
BioAPI_BOOL Binning,
|
||||||
|
uint32 MaxNumberOfResults,
|
||||||
|
uint32 *NumberOfResults,
|
||||||
|
BioAPI_CANDIDATE_ARRAY_PTR *Candidates,
|
||||||
|
sint32 Timeout );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Enroll(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_BIR_PURPOSE Purpose,
|
||||||
|
const BioAPI_INPUT_BIR *StoredTemplate,
|
||||||
|
BioAPI_BIR_HANDLE_PTR NewTemplate,
|
||||||
|
const BioAPI_DATA *Payload,
|
||||||
|
sint32 Timeout,
|
||||||
|
BioAPI_BIR_HANDLE_PTR AuditData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Verify(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_FAR *MaxFARRequested,
|
||||||
|
const BioAPI_FRR *MaxFRRRequested,
|
||||||
|
const BioAPI_BOOL *FARPrecedence,
|
||||||
|
const BioAPI_INPUT_BIR *StoredTemplate,
|
||||||
|
BioAPI_BIR_HANDLE_PTR AdaptedBIR,
|
||||||
|
BioAPI_BOOL *Result,
|
||||||
|
BioAPI_FAR_PTR FARAchieved,
|
||||||
|
BioAPI_FRR_PTR FRRAchieved,
|
||||||
|
BioAPI_DATA_PTR *Payload,
|
||||||
|
sint32 Timeout,
|
||||||
|
BioAPI_BIR_HANDLE_PTR AuditData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Identify(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_FAR *MaxFARRequested,
|
||||||
|
const BioAPI_FRR *MaxFRRRequested,
|
||||||
|
const BioAPI_BOOL *FARPrecedence,
|
||||||
|
const BioAPI_IDENTIFY_POPULATION *Population,
|
||||||
|
BioAPI_BOOL Binning,
|
||||||
|
uint32 MaxNumberOfResults,
|
||||||
|
uint32 *NumberOfResults,
|
||||||
|
BioAPI_CANDIDATE_ARRAY_PTR *Candidates,
|
||||||
|
sint32 Timeout,
|
||||||
|
BioAPI_BIR_HANDLE_PTR AuditData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_Import(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_DATA *InputData,
|
||||||
|
BioAPI_BIR_BIOMETRIC_DATA_FORMAT InputFormat,
|
||||||
|
BioAPI_BIR_PURPOSE Purpose,
|
||||||
|
BioAPI_BIR_HANDLE_PTR ConstructedBIR );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_SetPowerMode(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_POWER_MODE PowerMode );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbOpen(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const uint8 *DbName,
|
||||||
|
BioAPI_DB_ACCESS_TYPE AccessRequest,
|
||||||
|
BioAPI_DB_HANDLE_PTR DbHandle,
|
||||||
|
BioAPI_DB_CURSOR_PTR Cursor );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbClose(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_HANDLE DbHandle );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbCreate(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const uint8 *DbName,
|
||||||
|
BioAPI_DB_ACCESS_TYPE AccessRequest,
|
||||||
|
BioAPI_DB_HANDLE_PTR DbHandle );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbDelete(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const uint8 *DbName );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbSetCursor(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_HANDLE DbHandle,
|
||||||
|
const BioAPI_UUID *KeyValue,
|
||||||
|
BioAPI_DB_CURSOR_PTR Cursor );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbFreeCursor(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_CURSOR_PTR Cursor );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbStoreBIR(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_INPUT_BIR *BIRToStore,
|
||||||
|
BioAPI_DB_HANDLE DbHandle,
|
||||||
|
BioAPI_UUID_PTR Uuid );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbGetBIR(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_HANDLE DbHandle,
|
||||||
|
const BioAPI_UUID *KeyValue,
|
||||||
|
BioAPI_BIR_HANDLE_PTR RetrievedBIR,
|
||||||
|
BioAPI_DB_CURSOR_PTR Cursor );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbGetNextBIR(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_CURSOR_PTR Cursor,
|
||||||
|
BioAPI_BIR_HANDLE_PTR RetievedBIR,
|
||||||
|
BioAPI_UUID_PTR Uuid );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbQueryBIR(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_HANDLE DbHandle,
|
||||||
|
const BioAPI_INPUT_BIR *BIRToQuery,
|
||||||
|
BioAPI_UUID_PTR Uuid );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI BioAPI_DbDeleteBIR(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
BioAPI_DB_HANDLE DbHandle,
|
||||||
|
const BioAPI_UUID *KeyValue );
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _BioAPIAPI_H */
|
||||||
350
modules/fjpalmvein/C/Inc/bioapi_err.h
Normal file
350
modules/fjpalmvein/C/Inc/bioapi_err.h
Normal file
@ -0,0 +1,350 @@
|
|||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File: BioAPIERR.H
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BIOAPIERR_H_
|
||||||
|
#define _BIOAPIERR_H_
|
||||||
|
|
||||||
|
|
||||||
|
#define BioAPI_BASE_ERROR (0x00000000)
|
||||||
|
/* The configurable BioAPI error code base value. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRORCODE_COMPONENT_EXTENT (0x00001000)
|
||||||
|
/* The configurable number of error codes allocated for each component type.
|
||||||
|
* This number must be greater than BioAPI_ERRORCODE_COMMON_EXTENT, and
|
||||||
|
* should allow at least half the space for specification-defined error codes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRORCODE_COMMON_EXTENT (0x100)
|
||||||
|
/* The number of error codes allocated to indicate "common" errors. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRORCODE_CUSTOM_OFFSET (0x00000800)
|
||||||
|
/* The configurable offset at which custom error codes are allocated. Must be
|
||||||
|
* greater than BioAPI_ERRCODE_COMMON_EXTENT and less than
|
||||||
|
* BioAPI_ERRORCODE_COMPONENT_EXTENT. A BSP with "custom" error codes simply
|
||||||
|
* starts assigning them from this offset (without regard to any other BSPs.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* BioAPI Error Code Constants */
|
||||||
|
#define BioAPI_H_FRAMEWORK_BASE_ERROR (BioAPI_BASE_ERROR)
|
||||||
|
#define BioAPI_H_FRAMEWORK_PRIVATE_ERROR (BioAPI_H_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_CUSTOM_OFFSET)
|
||||||
|
|
||||||
|
#define BioAPI_H_FRAMEWORK_BASE_ERROR (BioAPI_BASE_ERROR)
|
||||||
|
#define BioAPI_H_FRAMEWORK_PRIVATE_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_CUSTOM_OFFSET)
|
||||||
|
|
||||||
|
#define BioAPI_BSP_BASE_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_COMPONENT_EXTENT)
|
||||||
|
#define BioAPI_BSP_PRIVATE_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR + BioAPI_ERRORCODE_CUSTOM_OFFSET)
|
||||||
|
|
||||||
|
#define BioAPI_D_FRAMEWORK_BASE_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR + BioAPI_ERRORCODE_COMPONENT_EXTENT)
|
||||||
|
#define BioAPI_D_FRAMEWORK_PRIVATE_ERROR \
|
||||||
|
(BioAPI_D_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_CUSTOM_OFFSET)
|
||||||
|
|
||||||
|
#define BioAPI_DEVICE_BASE_ERROR \
|
||||||
|
(BioAPI_D_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_COMPONENT_EXTENT)
|
||||||
|
#define BioAPI_DEVICE_PRIVATE_ERROR \
|
||||||
|
(BioAPI_DEVICE_BASE_ERROR + BioAPI_ERRORCODE_CUSTOM_OFFSET)
|
||||||
|
|
||||||
|
/*
|
||||||
|
General Error Values
|
||||||
|
The following error values can be returned by the H-Framework for any BioAPI function.
|
||||||
|
*/
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_MODULE_HANDLE \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_COMMON_EXTENT + 1)
|
||||||
|
/* The given service provider handle is not valid */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_NOT_INITIALIZED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR + BioAPI_ERRORCODE_COMMON_EXTENT + 2)
|
||||||
|
/* A function is called without initializing the BioAPI */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Common Error Codes For All Module Types
|
||||||
|
The following codes can be returned by multiple components.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INTERNAL_ERROR (0x0001)
|
||||||
|
/* General system error; indicates that an operating system or internal state
|
||||||
|
* error has occurred and the system may not be in a known state.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_MEMORY_ERROR (0x0002 )
|
||||||
|
/* A memory error occurred. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_REGISTRY_ERROR (0x0003)
|
||||||
|
/* The registry could not be accessed to complete the operation */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_POINTER (0x0004)
|
||||||
|
/* An input/output function parameter or input/output field inside of a data
|
||||||
|
* structure is an invalid pointer.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_INPUT_POINTER (0x0005)
|
||||||
|
/* An input function parameter or input field in a data structure is an
|
||||||
|
* invalid pointer.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_OUTPUT_POINTER (0x0006)
|
||||||
|
/* An output function parameter or output field in a data structure is an
|
||||||
|
* invalid pointer.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_FUNCTION_NOT_IMPLEMENTED (0x0007)
|
||||||
|
/* The function is not implemented by the service provider. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_OS_ACCESS_DENIED (0x0009)
|
||||||
|
/* The operating system denied access to a required resource. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_FUNCTION_FAILED (0x000A)
|
||||||
|
/* The function failed for an unknown reason. */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_UUID (0x000C)
|
||||||
|
/* Invalid UUID */
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INCOMPATIBLE_VERSION (0x0041)
|
||||||
|
/* Version is not compatible with the current version. */
|
||||||
|
|
||||||
|
/* Error values with the following code enumeration values may be returned
|
||||||
|
* from any function that takes as input a BioAPI_DATA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_DATA (0x0046)
|
||||||
|
/* The data in an input parameter is invalid. */
|
||||||
|
|
||||||
|
/* Error values with the following code enumeration values may be returned
|
||||||
|
* from any function that takes as input a DB handle.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_ERRCODE_INVALID_DB_HANDLE (0x004A)
|
||||||
|
/* Invalid database handle */
|
||||||
|
|
||||||
|
/*
|
||||||
|
H-Framework Error Values derived from the Common Error Codes
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INTERNAL_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INTERNAL_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_MEMORY_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_MEMORY_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_REGISTRY_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_REGISTRY_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_POINTER \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INVALID_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_INPUT_POINTER \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INVALID_INPUT_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_OUTPUT_POINTER \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INVALID_OUTPUT_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_FUNCTION_NOT_IMPLEMENTED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_FUNCTION_NOT_IMPLEMENTED)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_OS_ACCESS_DENIED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_OS_ACCESS_DENIED)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_FUNCTION_FAILED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_FUNCTION_FAILED)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_UUID \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INVALID_UUID)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INCOMPATIBLE_VERSION \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRCODE_INCOMPATIBLE_VERSION)
|
||||||
|
|
||||||
|
/*
|
||||||
|
H-Framework-specific Error Values
|
||||||
|
Reserve first 16 H-FRAMEWORK Error Codes for general errors
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_ERROR+BioAPI_ERRORCODE_COMMON_EXTENT+0x10)
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_MODULE_LOAD_FAILED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+6)
|
||||||
|
/* BSP Module Load function failed */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_MODULE_UNLOAD_FAILED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+8)
|
||||||
|
/* BSP Module Unload function failed */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_LIB_REF_NOT_FOUND \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+9)
|
||||||
|
/* A reference to the loaded library cannot be obtained */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_MODULE_FUNCTION_TABLE \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+10)
|
||||||
|
/* BSP Module function table registered with CSSM is invalid */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_MODULE_NOT_LOADED \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+14)
|
||||||
|
/* Module was not loaded */
|
||||||
|
|
||||||
|
#define BioAPIERR_H_FRAMEWORK_INVALID_DEVICE_ID \
|
||||||
|
(BioAPI_H_FRAMEWORK_BASE_H_FRAMEWORK_ERROR+15)
|
||||||
|
/* Invalid DeviceId was requested */
|
||||||
|
|
||||||
|
/*
|
||||||
|
BSP Error Values derived from the Common Error Codes
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INTERNAL_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INTERNAL_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_MEMORY_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_MEMORY_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_REGISTRY_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_REGISTRY_ERROR)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_POINTER \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INVALID_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_INPUT_POINTER \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INVALID_INPUT_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_OUTPUT_POINTER \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INVALID_OUTPUT_POINTER)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_FUNCTION_NOT_IMPLEMENTED \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_FUNCTION_NOT_IMPLEMENTED)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_OS_ACCESS_DENIED \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_OS_ACCESS_DENIED)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_FUNCTION_FAILED \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_FUNCTION_FAILED)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_DATA \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INVALID_DATA)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_DB_HANDLE \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRCODE_INVALID_DB_HANDLE)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BSP-specific Error Values
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_BSP_BASE_BSP_ERROR \
|
||||||
|
(BioAPI_BSP_BASE_ERROR+BioAPI_ERRORCODE_COMMON_EXTENT)
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_CAPTURE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+1)
|
||||||
|
/* BSP is unable to capture raw samples from the device */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_TOO_MANY_HANDLES \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+2)
|
||||||
|
/* The BSP has no more space to allocate BIR handles */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_TIMEOUT_EXPIRED \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+3)
|
||||||
|
/* The Function has been terminated because the timeout value has expired */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_BIR \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+4)
|
||||||
|
/* The input BIR is invalid for the purpose required */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_BIR_SIGNATURE_FAILURE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+5)
|
||||||
|
/* The BSP could not validate the signature on the BIR */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_WRAP_PAYLOAD \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+6)
|
||||||
|
/* The BSP is unable to include the payload in the new BIR */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_NO_INPUT_BIRS \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+8)
|
||||||
|
/* The identify population is NULL */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNSUPPORTED_FORMAT \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+9)
|
||||||
|
/* The BSP does not support the data form for the Import function */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_IMPORT \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+10)
|
||||||
|
/* The BSP was unable to construct a BIR from the input data */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_FUNCTION_NOT_SUPPORTED \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+12)
|
||||||
|
/* The BSP does not support this operation. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INCONSISTENT_PURPOSE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+13)
|
||||||
|
/* The purpose recorded in the BIR, and the requested purpose are inconsistent
|
||||||
|
* with the function being performed.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_BIR_NOT_FULLY_PROCESSED \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+14)
|
||||||
|
/* The function requires a fully-processed BIR. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_PURPOSE_NOT_SUPPORTED \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+15)
|
||||||
|
/* The BSP does not support the requested purpose. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_BIR_HANDLE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+16)
|
||||||
|
/* No BIR exists with the requested handle */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_OPEN_DATABASE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+256)
|
||||||
|
/* BSP is unable to open specified database */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_DATABASE_IS_LOCKED \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+257)
|
||||||
|
/* Database cannot be opened for the access requested because it is locked */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_DATABASE_DOES_NOT_EXIST \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+258)
|
||||||
|
/* The specified database name does not exist */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_DATABASE_ALREADY_EXISTS \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+259)
|
||||||
|
/* Create failed because the database already exists */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_DATABASE_NAME \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+260)
|
||||||
|
/* Invalid database name */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_RECORD_NOT_FOUND \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+261)
|
||||||
|
/* No record exists with the requested key */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_CURSOR_IS_INVALID \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+262)
|
||||||
|
/* The specified cursor is invalid */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_DATABASE_IS_OPEN \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+263)
|
||||||
|
/* Database is already open */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_INVALID_ACCESS_REQUEST \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+264)
|
||||||
|
/* Unrecognized access type */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_END_OF_DATABASE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+265)
|
||||||
|
/* End of database has been reached. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_CREATE_DATABASE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+266)
|
||||||
|
/* BSP cannot create the database. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_CLOSE_DATABASE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+267)
|
||||||
|
/* BSP cannot close the database. */
|
||||||
|
|
||||||
|
#define BioAPIERR_BSP_UNABLE_TO_DELETE_DATABASE \
|
||||||
|
(BioAPI_BSP_BASE_BSP_ERROR+268)
|
||||||
|
/* BSP cannot delete the database. */
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _BIOAPIERR_H_ */
|
||||||
614
modules/fjpalmvein/C/Inc/bioapi_type.h
Normal file
614
modules/fjpalmvein/C/Inc/bioapi_type.h
Normal file
@ -0,0 +1,614 @@
|
|||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File: BIOAPITYPE.H
|
||||||
|
*
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BIOAPITYPE_H_
|
||||||
|
#define _BIOAPITYPE_H_
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Operating System Dependent Primitive Declarations
|
||||||
|
Not in TOG standard: added from cssmtype.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined (WIN32)
|
||||||
|
|
||||||
|
#define BioAPI __stdcall
|
||||||
|
|
||||||
|
#elif defined (UNIX)
|
||||||
|
|
||||||
|
#define BioAPI
|
||||||
|
#define CALLBACK
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined (WIN32)
|
||||||
|
|
||||||
|
/* Disable Warnings due to non-ANSI content of windows.h */
|
||||||
|
/* Warning 4100 "unreferenced formal parameter", not flagged in gcc */
|
||||||
|
#pragma warning (disable:4201 4514 4214 4115 4100)
|
||||||
|
#include <windows.h>
|
||||||
|
#pragma warning (default:4201 4214 4115)
|
||||||
|
|
||||||
|
/* Turn parameter list mismatch warnings into errors */
|
||||||
|
#pragma warning (error:4113 4020 4021)
|
||||||
|
#endif /* defined(WIN32) */
|
||||||
|
|
||||||
|
/* End of: Not in TOG */
|
||||||
|
|
||||||
|
/* Linux_Port: most of these are already defined in
|
||||||
|
* imports/cdsa/v2_0/inc/cssmtype.h. The branch __BASIC_TYPES__ has
|
||||||
|
* been added here and in cssmtype.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Linux_Port: sint8 needs to be defined here */
|
||||||
|
typedef char sint8;
|
||||||
|
|
||||||
|
/* Basic Types */
|
||||||
|
#if !defined (__BASIC_TYPES__)
|
||||||
|
#define __BASIC_TYPES__
|
||||||
|
typedef unsigned char uint8;
|
||||||
|
typedef unsigned short uint16;
|
||||||
|
typedef short sint16;
|
||||||
|
typedef unsigned int uint32;
|
||||||
|
typedef int sint32;
|
||||||
|
/* typedef char sint8; see Linux-Port comments above */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(WIN32)
|
||||||
|
typedef unsigned __int64 uint64; /* MSVC++ 5/6 declaration */
|
||||||
|
#else
|
||||||
|
#ifdef __arch64__
|
||||||
|
typedef unsigned long uint64;
|
||||||
|
#else
|
||||||
|
typedef unsigned long long uint64; /* gcc 2.7.2 declaration */
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif /* __BASIC_TYPES__ */
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
Core Services API Datatypes
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_BOOL
|
||||||
|
This data type is used to indicate a true or false condition
|
||||||
|
*/
|
||||||
|
typedef uint32 BioAPI_BOOL;
|
||||||
|
#define BioAPI_FALSE (0)
|
||||||
|
#define BioAPI_TRUE (!BioAPI_FALSE)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_RETURN
|
||||||
|
This data type is returned by most BioAPI functions.
|
||||||
|
*/
|
||||||
|
typedef uint32 BioAPI_RETURN;
|
||||||
|
#define BioAPI_OK (0)
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_DEVICE_ID, *BioAPI_DEVICE_ID_PTR;
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_DATA
|
||||||
|
The BioAPI_DATA structure is used to associate a length, in bytes, with
|
||||||
|
an arbitrary block of contiguous memory.
|
||||||
|
*/
|
||||||
|
typedef struct bioapi_data
|
||||||
|
{
|
||||||
|
uint32 Length; /* in bytes */
|
||||||
|
uint8 *Data;
|
||||||
|
} BioAPI_DATA, *BioAPI_DATA_PTR;
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_UUID[16];
|
||||||
|
typedef BioAPI_UUID *BioAPI_UUID_PTR;
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_VERSION
|
||||||
|
This structure is used to represent the version of BioAPI components.
|
||||||
|
The major number begins at 1 and is incremented by 1 for each major
|
||||||
|
release.
|
||||||
|
|
||||||
|
The minor number uses two digits to represent minor releases and revisions.
|
||||||
|
The revision number is represented in the least significant digit. The
|
||||||
|
remaining more significant digits represent minor numbers. The first release
|
||||||
|
has the value of zero. There can be 9 subsequent releases then the minor number
|
||||||
|
must be incremented. For example, the minor number for the very first release
|
||||||
|
of a product would be represented as "00". Subsequent releases would "01",
|
||||||
|
"02", "03", etc... to "09". If version number changes at each release then the
|
||||||
|
minor numbers would increment from "00", "10", "20", etc... to "90". A minor
|
||||||
|
version of 0 release 1 would be "100".
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct bioapi_version
|
||||||
|
{
|
||||||
|
uint32 Major;
|
||||||
|
uint32 Minor;
|
||||||
|
} BioAPI_VERSION, *BioAPI_VERSION_PTR;
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_SERVICE_UID
|
||||||
|
This structure uniquely identifies a biometric service provider and a device
|
||||||
|
currently attached to it.
|
||||||
|
*/
|
||||||
|
typedef struct bioapi_uuid
|
||||||
|
{
|
||||||
|
BioAPI_UUID Uuid;
|
||||||
|
BioAPI_VERSION Version;
|
||||||
|
BioAPI_DEVICE_ID DeviceId;
|
||||||
|
uint32 Reserved;
|
||||||
|
} BioAPI_SERVICE_UID, *BioAPI_SERVICE_UID_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_HANDLE
|
||||||
|
A unique identifier, returned on BioAPI_ModuleAttach, that identifies an
|
||||||
|
attached BioAPI service provider.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_HANDLE, *BioAPI_HANDLE_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_INVALID_HANDLE 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_DB_HANDLE
|
||||||
|
A Handle to an open BIR database.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef sint32 BioAPI_DB_HANDLE, *BioAPI_DB_HANDLE_PTR;
|
||||||
|
#define BioAPI_DB_INVALID_HANDLE (-1)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_MODULE_EVENT
|
||||||
|
This enumeration defines the event types that can be raised by any
|
||||||
|
service module.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_MODULE_EVENT;
|
||||||
|
#define BioAPI_NOTIFY_INSERT (1)
|
||||||
|
#define BioAPI_NOTIFY_REMOVE (2)
|
||||||
|
#define BioAPI_NOTIFY_FAULT (3)
|
||||||
|
#define BioAPI_NOTIFY_SOURCE_PRESENT (4)
|
||||||
|
#define BioAPI_NOTIFY_SOURCE_REMOVED (5)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_MODULE_EVENT_MASK
|
||||||
|
This enumeration defines a mask with bit positions for event type. The mask
|
||||||
|
is used to enable/disable events, and to indicate what events are supported.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_MODULE_EVENT_MASK;
|
||||||
|
#define BioAPI_NOTIFY_INSERT_BIT (0x0001)
|
||||||
|
#define BioAPI_NOTIFY_REMOVE_BIT (0x0002)
|
||||||
|
#define BioAPI_NOTIFY_FAULT_BIT (0x0004)
|
||||||
|
#define BioAPI_NOTIFY_SOURCE_PRESENT_BIT (0x0008)
|
||||||
|
#define BioAPI_NOTIFY_SOURCE_REMOVED_BIT (0x0010)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_API_ModuleEventHandler
|
||||||
|
This defines the event handler interface that an application must define
|
||||||
|
and implement to receive asynchronous notification of events such as
|
||||||
|
insertion or removal of a hardware service module, or a fault detected
|
||||||
|
by the service module.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef BioAPI_RETURN (BioAPI *BioAPI_ModuleEventHandler)
|
||||||
|
(const BioAPI_UUID *BSPUuid,
|
||||||
|
void* AppNotifyCallbackCtx,
|
||||||
|
BioAPI_DEVICE_ID DeviceID,
|
||||||
|
uint32 Reserved,
|
||||||
|
BioAPI_MODULE_EVENT EventType);
|
||||||
|
|
||||||
|
typedef struct bioapi_gui_bitmap
|
||||||
|
{
|
||||||
|
uint32 Width;
|
||||||
|
uint32 Height;
|
||||||
|
BioAPI_DATA_PTR Bitmap;
|
||||||
|
} BioAPI_GUI_BITMAP, *BioAPI_GUI_BITMAP_PTR;
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_GUI_MESSAGE, *BioAPI_GUI_MESSAGE_PTR;
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_GUI_PROGRESS, *BioAPI_GUI_PROGESS_PTR;
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_GUI_RESPONSE, *BioAPI_GUI_RESPONSE_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_CAPTURE_SAMPLE (1)
|
||||||
|
#define BioAPI_CANCEL (2)
|
||||||
|
#define BioAPI_CONTINUE (3)
|
||||||
|
#define BioAPI_VALID_SAMPLE (4)
|
||||||
|
#define BioAPI_INVALID_SAMPLE (5)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_GUI_STATE
|
||||||
|
A mask that indicates GUI state, and alo what other parameter values are provided
|
||||||
|
in the GUI State Callback.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_GUI_STATE;
|
||||||
|
|
||||||
|
#define BioAPI_SAMPLE_AVAILABLE (0x0001)
|
||||||
|
#define BioAPI_MESSAGE_PROVIDED (0x0002)
|
||||||
|
#define BioAPI_PROGRESS_PROVIDED (0x0004)
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_GUI_STATE_CALLBACK
|
||||||
|
A Callback function that an application supplies to allow the service provider to
|
||||||
|
indicate GUI state information to the application, and to receive responses back.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef BioAPI_RETURN (BioAPI *BioAPI_GUI_STATE_CALLBACK)
|
||||||
|
(void *GuiStateCallbackCtx,
|
||||||
|
BioAPI_GUI_STATE GuiState,
|
||||||
|
BioAPI_GUI_RESPONSE_PTR Response,
|
||||||
|
BioAPI_GUI_MESSAGE Message,
|
||||||
|
BioAPI_GUI_PROGRESS Progress,
|
||||||
|
BioAPI_GUI_BITMAP_PTR SampleBuffer);
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_GUI_STREAMING_CALLBACK
|
||||||
|
A callback function that an application supplies to allow the service provider to
|
||||||
|
stream data in the form of a sequence of bitmaps.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef BioAPI_RETURN (BioAPI *BioAPI_GUI_STREAMING_CALLBACK)
|
||||||
|
(void *GuiStreamingCallbackCtx,
|
||||||
|
BioAPI_GUI_BITMAP_PTR Bitmap);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* BioAPI_MEMTRACK_ON defined if doing memtracking: i.e., pass __FILE__ and __LINE__ */
|
||||||
|
/* as the last two parameters into the memory functions */
|
||||||
|
|
||||||
|
#ifndef BioAPI_MEMTRACK_ON
|
||||||
|
typedef void * (BioAPI *BioAPI_MALLOC) (uint32 size, void * Allocref);
|
||||||
|
typedef void (BioAPI *BioAPI_FREE) (void * memblock, void * Allocref);
|
||||||
|
typedef void * (BioAPI *BioAPI_REALLOC)(void * Memblock, uint32 Size, void * Allocref);
|
||||||
|
typedef void * (BioAPI *BioAPI_CALLOC)(uint32 Num, uint32 Size, void * Allocref);
|
||||||
|
#else
|
||||||
|
typedef void * (BioAPI *BioAPI_MALLOC) ( uint32 Size,
|
||||||
|
void * Allocref,
|
||||||
|
const char * File,
|
||||||
|
uint32 Line);
|
||||||
|
|
||||||
|
typedef void (BioAPI *BioAPI_FREE) ( void * Memblock,
|
||||||
|
void * Allocref,
|
||||||
|
const char * File,
|
||||||
|
uint32 Line);
|
||||||
|
|
||||||
|
typedef void * (BioAPI *BioAPI_REALLOC)( void * Memblock,
|
||||||
|
uint32 Size,
|
||||||
|
void * Allocref,
|
||||||
|
const char * File,
|
||||||
|
uint32 Line);
|
||||||
|
|
||||||
|
typedef void * (BioAPI *BioAPI_CALLOC)( uint32 Num,
|
||||||
|
uint32 Size,
|
||||||
|
void * Allocref,
|
||||||
|
const char * File,
|
||||||
|
uint32 Line);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_MEMORY_FUNCS and BioAPI_MEMORY_FUNCS_PTR
|
||||||
|
This structure is used by applications to supply memory functions for the
|
||||||
|
BioAPI and the biometric service modules.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct bioapi_memory_funcs
|
||||||
|
{
|
||||||
|
BioAPI_MALLOC Malloc_func;
|
||||||
|
BioAPI_FREE Free_func;
|
||||||
|
BioAPI_REALLOC Realloc_func;
|
||||||
|
BioAPI_CALLOC Calloc_func;
|
||||||
|
void *AllocRef;
|
||||||
|
} BioAPI_MEMORY_FUNCS, *BioAPI_MEMORY_FUNCS_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_PROC_ADDR
|
||||||
|
Generic pointer to a BioAPI function.
|
||||||
|
*/
|
||||||
|
#if defined (WIN32)
|
||||||
|
typedef FARPROC BioAPI_PROC_ADDR;
|
||||||
|
#else
|
||||||
|
typedef void (BioAPI *BioAPI_PROC_ADDR) ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef BioAPI_PROC_ADDR *BioAPI_PROC_ADDR_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_FUNC_NAME_ADDR
|
||||||
|
This structure binds a function to the runtime address of the procedure
|
||||||
|
that implements the named function. Function names are limited in length
|
||||||
|
to the size of BioAPI_MAX_STR_LEN.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define BioAPI_MAX_STR_LEN 255
|
||||||
|
typedef struct bioapi_func_name_addr
|
||||||
|
{
|
||||||
|
char Name[BioAPI_MAX_STR_LEN];
|
||||||
|
BioAPI_PROC_ADDR Address;
|
||||||
|
}BioAPI_FUNC_NAME_ADDR, *BioAPI_FUNC_NAME_ADDR_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef sint32 BioAPI_BIR_HANDLE, *BioAPI_BIR_HANDLE_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_INVALID_BIR_HANDLE (-1)
|
||||||
|
#define BioAPI_UNSUPPORTED_BIR_HANDLE (-2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_DB_CURSOR, *BioAPI_DB_CURSOR_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Linux-Port: this typedef is already defined in this file */
|
||||||
|
/* typedef sint32 BioAPI_DB_HANDLE, *BioAPI_DB_HANDLE_PTR; */
|
||||||
|
|
||||||
|
#define BioAPI_DB_DEFAULT_DB_HANDLE (0)
|
||||||
|
#define BioAPI_DB_INVALID_HANDLE (-1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************/
|
||||||
|
/* Mask types and the values they can have */
|
||||||
|
/*******************************************/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_BIR_AUTH_FACTORS;
|
||||||
|
|
||||||
|
#define BioAPI_FACTOR_MULTIPLE (0x00000001)
|
||||||
|
#define BioAPI_FACTOR_FACIAL_FEATURES (0x00000002)
|
||||||
|
#define BioAPI_FACTOR_VOICE (0x00000004)
|
||||||
|
#define BioAPI_FACTOR_FINGERPRINT (0x00000008)
|
||||||
|
#define BioAPI_FACTOR_IRIS (0x00000010)
|
||||||
|
#define BioAPI_FACTOR_RETINA (0x00000020)
|
||||||
|
#define BioAPI_FACTOR_HAND_GEOMETRY (0x00000040)
|
||||||
|
#define BioAPI_FACTOR_SIGNATURE_DYNAMICS (0x00000080)
|
||||||
|
#define BioAPI_FACTOR_KEYSTOKE_DYNAMICS (0x00000100)
|
||||||
|
#define BioAPI_FACTOR_LIP_MOVEMENT (0x00000200)
|
||||||
|
#define BioAPI_FACTOR_THERMAL_FACE_IMAGE (0x00000400)
|
||||||
|
#define BioAPI_FACTOR_THERMAL_HAND_IMAGE (0x00000800)
|
||||||
|
#define BioAPI_FACTOR_GAIT (0x00001000)
|
||||||
|
#define BioAPI_FACTOR_PASSWORD (0x80000000)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_BIR_DATA_TYPE;
|
||||||
|
|
||||||
|
#define BioAPI_BIR_DATA_TYPE_RAW (0x01)
|
||||||
|
#define BioAPI_BIR_DATA_TYPE_INTERMEDIATE (0x02)
|
||||||
|
#define BioAPI_BIR_DATA_TYPE_PROCESSED (0x04)
|
||||||
|
#define BioAPI_BIR_DATA_TYPE_ENCRYPTED (0x10)
|
||||||
|
#define BioAPI_BIR_DATA_TYPE_SIGNED (0x20)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_DB_ACCESS_TYPE, *BioAPI_DB_ACCESS_TYPE_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_DB_ACCESS_READ (0x1)
|
||||||
|
#define BioAPI_DB_ACCESS_WRITE (0x2)
|
||||||
|
|
||||||
|
/****************************************************************/
|
||||||
|
/* Integer-based types and the pre-defined values they can have */
|
||||||
|
/****************************************************************/
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_BIR_PURPOSE;
|
||||||
|
|
||||||
|
#define BioAPI_PURPOSE_VERIFY (1)
|
||||||
|
#define BioAPI_PURPOSE_IDENTIFY (2)
|
||||||
|
#define BioAPI_PURPOSE_ENROLL (3)
|
||||||
|
#define BioAPI_PURPOSE_ENROLL_FOR_VERIFICATION_ONLY (4)
|
||||||
|
#define BioAPI_PURPOSE_ENROLL_FOR_IDENTIFICATION_ONLY (5)
|
||||||
|
#define BioAPI_PURPOSE_AUDIT (6)
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_IDENTIFY_POPULATION_TYPE;
|
||||||
|
|
||||||
|
#define BioAPI_DB_TYPE (1)
|
||||||
|
#define BioAPI_ARRAY_TYPE (2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_INPUT_BIR_FORM;
|
||||||
|
|
||||||
|
#define BioAPI_DATABASE_ID_INPUT (1)
|
||||||
|
#define BioAPI_BIR_HANDLE_INPUT (2)
|
||||||
|
#define BioAPI_FULLBIR_INPUT (3)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_POWER_MODE;
|
||||||
|
|
||||||
|
#define BioAPI_POWER_NORMAL (1)
|
||||||
|
#define BioAPI_POWER_DETECT (2)
|
||||||
|
#define BioAPI_POWER_SLEEP (3)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_FAR
|
||||||
|
A 32-bit integer value (N) that indicates a probable False Accept Rate of N/(2^31 - 1).
|
||||||
|
The larger the value, the worse the result.
|
||||||
|
*/
|
||||||
|
typedef sint32 BioAPI_FAR, *BioAPI_FAR_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_NOT_SET (-1)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
BioAPI_FRR
|
||||||
|
A 32-bit integer value (N) that indicates a probable False Reject Rate of N/(2^31 - 1).
|
||||||
|
The larger the value, the worse the result.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef sint32 BioAPI_FRR, *BioAPI_FRR_PTR;
|
||||||
|
|
||||||
|
#define BioAPI_NOT_SUPPORTED (-2)
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_BIR_BIOMETRIC_DATA, *BioAPI_BIR_BIOMETRIC_DATA_PTR;
|
||||||
|
|
||||||
|
typedef uint8 BioAPI_BIR_VERSION, *BioAPI_BIR_VERSION_PTR;
|
||||||
|
|
||||||
|
typedef sint8 BioAPI_QUALITY;
|
||||||
|
|
||||||
|
|
||||||
|
/**************************/
|
||||||
|
/* C-structure data types */
|
||||||
|
/**************************/
|
||||||
|
|
||||||
|
typedef struct bioapi_bir_biometric_data_format
|
||||||
|
{
|
||||||
|
uint16 FormatOwner;
|
||||||
|
uint16 FormatID;
|
||||||
|
} BioAPI_BIR_BIOMETRIC_DATA_FORMAT, *BioAPI_BIR_BIOMETRIC_DATA_FORMAT_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_bir_header
|
||||||
|
{
|
||||||
|
uint32 Length; /* Length of Header + Opaque Data */
|
||||||
|
BioAPI_BIR_VERSION HeaderVersion;
|
||||||
|
BioAPI_BIR_DATA_TYPE Type;
|
||||||
|
BioAPI_BIR_BIOMETRIC_DATA_FORMAT Format;
|
||||||
|
BioAPI_QUALITY Quality;
|
||||||
|
BioAPI_BIR_PURPOSE Purpose;
|
||||||
|
BioAPI_BIR_AUTH_FACTORS FactorsMask;
|
||||||
|
} BioAPI_BIR_HEADER, *BioAPI_BIR_HEADER_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_hrs_bir
|
||||||
|
{
|
||||||
|
BioAPI_BIR_HEADER Header;
|
||||||
|
BioAPI_BIR_BIOMETRIC_DATA_PTR BiometricData; /* length indicated in */
|
||||||
|
/* header */
|
||||||
|
BioAPI_DATA_PTR Signature; /* NULL if no signature; length is inherent */
|
||||||
|
/* in this type */
|
||||||
|
} BioAPI_BIR, *BioAPI_BIR_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_bir_array_population
|
||||||
|
{
|
||||||
|
uint32 NumberOfMembers;
|
||||||
|
BioAPI_BIR_PTR *Members; /* A pointer to an array of BIR pointers */
|
||||||
|
} BioAPI_BIR_ARRAY_POPULATION, *BioAPI_BIR_ARRAY_POPULATION_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_candidate
|
||||||
|
{
|
||||||
|
BioAPI_IDENTIFY_POPULATION_TYPE Type;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
BioAPI_UUID_PTR BIRInDataBase;
|
||||||
|
uint32 *BIRInArray;
|
||||||
|
} BIR;
|
||||||
|
BioAPI_FAR FARAchieved;
|
||||||
|
BioAPI_FRR FRRAchieved;
|
||||||
|
} BioAPI_CANDIDATE, *BioAPI_CANDIDATE_PTR;
|
||||||
|
|
||||||
|
typedef BioAPI_CANDIDATE_PTR BioAPI_CANDIDATE_ARRAY, *BioAPI_CANDIDATE_ARRAY_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_hrs_dbbir_id
|
||||||
|
{
|
||||||
|
BioAPI_DB_HANDLE DbHandle;
|
||||||
|
BioAPI_UUID KeyValue;
|
||||||
|
} BioAPI_DBBIR_ID, *BioAPI_DBBIR_ID_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_identify_population
|
||||||
|
{
|
||||||
|
BioAPI_IDENTIFY_POPULATION_TYPE Type;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
BioAPI_DB_HANDLE_PTR BIRDataBase;
|
||||||
|
BioAPI_BIR_ARRAY_POPULATION_PTR BIRArray;
|
||||||
|
} BIRs;
|
||||||
|
} BioAPI_IDENTIFY_POPULATION, *BioAPI_IDENTIFY_POPULATION_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct bioapi_input_bir
|
||||||
|
{
|
||||||
|
BioAPI_INPUT_BIR_FORM Form;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
BioAPI_DBBIR_ID_PTR BIRinDb;
|
||||||
|
BioAPI_BIR_HANDLE_PTR BIRinBSP;
|
||||||
|
BioAPI_BIR_PTR BIR;
|
||||||
|
} InputBIR;
|
||||||
|
} BioAPI_INPUT_BIR, *BioAPI_INPUT_BIR_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************/
|
||||||
|
/* typedefs for callback functions */
|
||||||
|
/***********************************/
|
||||||
|
|
||||||
|
typedef BioAPI_RETURN (BioAPI *BioAPI_STREAM_CALLBACK)
|
||||||
|
(void *StreamCallbackCtx,
|
||||||
|
BioAPI_DATA_PTR OutMessage,
|
||||||
|
BioAPI_DATA_PTR InMessage);
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
/* these are data types used only for reading fields from the HRS relations */
|
||||||
|
/* relation within MDS */
|
||||||
|
/****************************************************************************/
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_OPERATIONS_MASK;
|
||||||
|
|
||||||
|
#define BioAPI_CAPTURE (0x0001)
|
||||||
|
#define BioAPI_CREATETEMPLATE (0x0002)
|
||||||
|
#define BioAPI_PROCESS (0x0004)
|
||||||
|
#define BioAPI_VERIFYMATCH (0x0008)
|
||||||
|
#define BioAPI_IDENTIFYMATCH (0x0010)
|
||||||
|
#define BioAPI_ENROLL (0x0020)
|
||||||
|
#define BioAPI_VERIFY (0x0040)
|
||||||
|
#define BioAPI_IDENTIFY (0x0080)
|
||||||
|
#define BioAPI_IMPORT (0x0100)
|
||||||
|
#define BioAPI_SETPOWERMODE (0x0200)
|
||||||
|
#define BioAPI_DATABASEOPERATIONS (0x0400)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef uint32 BioAPI_OPTIONS_MASK;
|
||||||
|
|
||||||
|
#define BioAPI_RAW (0x00000001)
|
||||||
|
#define BioAPI_QUALITY_RAW (0x00000002)
|
||||||
|
#define BioAPI_QUALITY_INTERMEDIATE (0x00000004)
|
||||||
|
#define BioAPI_QUALITY_PROCESSED (0x00000008)
|
||||||
|
#define BioAPI_APP_GUI (0x00000010)
|
||||||
|
#define BioAPI_STREAMINGDATA (0x00000020)
|
||||||
|
#define BioAPI_USERVALIDATESSAMPLES (0x00000040)
|
||||||
|
#define BioAPI_VERIFYSAMPLES (0x00000080)
|
||||||
|
#define BioAPI_SOURCEPRESENT (0x00000100)
|
||||||
|
#define BioAPI_PAYLOAD (0x00001000)
|
||||||
|
#define BioAPI_BIR_SIGN (0x00002000)
|
||||||
|
#define BioAPI_BIR_ENCRYPT (0x00004000)
|
||||||
|
#define BioAPI_FRR_SUPPORTED (0x00010000)
|
||||||
|
#define BioAPI_ADAPTATION (0x00020000)
|
||||||
|
#define BioAPI_BINNING (0x00040000)
|
||||||
|
#define BioAPI_DEFAULTDATABASE (0x00080000)
|
||||||
|
#define BioAPI_LOCAL_BSP (0x01000000)
|
||||||
|
#define BioAPI_CLIENT_BSP (0x02000000)
|
||||||
|
#define BioAPI_SERVER_BSP (0x04000000)
|
||||||
|
#define BioAPI_STREAMINGCALLBACK (0x08000000)
|
||||||
|
#define BioAPI_PROGRESS (0x10000000)
|
||||||
|
#define BioAPI_SELFCONTAINEDDEVICE (0x20000000)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _BIOAPITYPE_H_ */
|
||||||
|
|
||||||
142
modules/fjpalmvein/C/Inc/pvapi_api.h
Normal file
142
modules/fjpalmvein/C/Inc/pvapi_api.h
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
// Copyright 2020 FUJITSU FRONTECH LIMITED
|
||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File : PvAPI_API.H
|
||||||
|
*
|
||||||
|
* Date : 2006.02.03
|
||||||
|
*
|
||||||
|
* Update : 2008.01.08 V24
|
||||||
|
* 2008.07.03 V25-010
|
||||||
|
* 2008.11.19 V27-010
|
||||||
|
* 2011.05.23 V30-300
|
||||||
|
* 2012.04.24 V31-020
|
||||||
|
* 2017.10.20 V34-030
|
||||||
|
* 2020.04.23 V34-151
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PvAPIAPI_H
|
||||||
|
#define _PvAPIAPI_H
|
||||||
|
|
||||||
|
/* API Functions */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/*** PvAPI Service Functions *********************************************/
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_ApAuthenticate(
|
||||||
|
uint8 *Key );
|
||||||
|
|
||||||
|
void BioAPI PvAPI_GetErrorInfo(
|
||||||
|
PvAPI_ErrorInfo *pErrorInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_Sense(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
uint32 Timeout,
|
||||||
|
uint32 Interval,
|
||||||
|
uint32 CheckRetryInterval,
|
||||||
|
uint32 CheckRetryCount );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_Cancel(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
PvAPI_ErrorInfo *pErrorInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_CreateHandleFromBiometricData(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const void *Data,
|
||||||
|
sint32 DataSize,
|
||||||
|
BioAPI_BIR_HANDLE_PTR NewTemplate );
|
||||||
|
|
||||||
|
#ifdef PvAPI_64BIT_OS_TARGET
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_SetProfile(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
uint64 dwFlag,
|
||||||
|
uint64 dwParam1,
|
||||||
|
uint64 dwParam2,
|
||||||
|
uint64 dwReserve );
|
||||||
|
#else
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_SetProfile(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
DWORD dwFlag,
|
||||||
|
DWORD dwParam1,
|
||||||
|
DWORD dwParam2,
|
||||||
|
DWORD dwReserve );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetFileVersion(
|
||||||
|
PvAPI_VLINFO_TBL_PTR lptVLInfo,
|
||||||
|
PvAPI_DRINFO_TBL_PTR lptDRInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_PreSetProfile(
|
||||||
|
uint32 uiFlag,
|
||||||
|
void* lpvParamData,
|
||||||
|
uint32 uiParamDataSize,
|
||||||
|
void* lpvReserve );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_MatchStatus(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
uint32 uiFlag,
|
||||||
|
void* lpvParamData,
|
||||||
|
uint32 uiParamDataSize,
|
||||||
|
void* lpvReserve );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_CreateVeinPacket(
|
||||||
|
void* lpvVeinData,
|
||||||
|
uint32 uiVeinDataSize,
|
||||||
|
void* lpvVeinPacket,
|
||||||
|
uint32* lpuiVeinPacketSize );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetVeinDataFromPacket(
|
||||||
|
void* lpvVeinPacket,
|
||||||
|
uint32 uiVeinPacketSize,
|
||||||
|
void* lpvVeinData,
|
||||||
|
uint32* lpuiVeinDataSize );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_PresetIdentifyPopulation(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_IDENTIFY_POPULATION* Population );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetTemplateInfo(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_INPUT_BIR* StoredTemplate,
|
||||||
|
PvAPI_TemplateInfo* TemplateInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetConnectSensorInfo(
|
||||||
|
uint32* lpuiSensorNum,
|
||||||
|
PvAPI_SensorInfo* lptSensorInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetLibraryInfo(
|
||||||
|
PvAPI_LBINFO_PTR lptLBInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetTemplateInfoEx(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
const BioAPI_INPUT_BIR* StoredTemplate,
|
||||||
|
PvAPI_TemplateInfoEx* TemplateInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetConnectSensorInfoEx(
|
||||||
|
uint32* lpuiSensorNum,
|
||||||
|
PvAPI_SensorInfoEx* lptSensorInfo );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_GetExData(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
uint32 uiExDataType,
|
||||||
|
BioAPI_DATA* ptExData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_DataHandler(
|
||||||
|
BioAPI_HANDLE ModuleHandle,
|
||||||
|
uint32 uiFlag,
|
||||||
|
BioAPI_DATA* ptData );
|
||||||
|
|
||||||
|
BioAPI_RETURN BioAPI PvAPI_F3BC4AndInit(
|
||||||
|
sint8 *Path );
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _PvAPIAPI_H */
|
||||||
169
modules/fjpalmvein/C/Inc/pvapi_err.h
Normal file
169
modules/fjpalmvein/C/Inc/pvapi_err.h
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
// Copyright 2018 FUJITSU FRONTECH LIMITED
|
||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File : PvAPI_ERR.H
|
||||||
|
*
|
||||||
|
* Update : 2006.02.03
|
||||||
|
* 2016.10.11 V33-220
|
||||||
|
* 2017.04.19 V33-300
|
||||||
|
* 2018.02.02 V34-040
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PVAPIERR_H_
|
||||||
|
#define _PVAPIERR_H_
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------
|
||||||
|
PvAPI Error Level
|
||||||
|
----------------------------------------------------------
|
||||||
|
*/
|
||||||
|
#define PvAPI_ERROR_LEVEL_NORMAL (0x00000000)
|
||||||
|
/* Normal */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_LEVEL_CANCEL (0x00000001)
|
||||||
|
/* Cancel */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_LEVEL_ERROR (0x00000002)
|
||||||
|
/* Error. It is possible to recovery. */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_LEVEL_FAILED (0x00000003)
|
||||||
|
/* Error. It is impossible to recovery. */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------
|
||||||
|
PvAPI Error Factor
|
||||||
|
----------------------------------------------------------
|
||||||
|
*/
|
||||||
|
#define PvAPI_ERROR_CODE_DEVICE (0x00000001)
|
||||||
|
/* Device error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_CODE_RESOURCE (0x00000002)
|
||||||
|
/* Resource error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_CODE_USER (0x00000003)
|
||||||
|
/* Usage error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_CODE_OTHER (0x00000004)
|
||||||
|
/* Other error */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------
|
||||||
|
PvAPI Error Detail
|
||||||
|
----------------------------------------------------------
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* It is possible to recovery.
|
||||||
|
*/
|
||||||
|
#define PvAPI_ERROR_DETAIL_TEMPERATURE (0x02010001)
|
||||||
|
/* Abnormal temperature */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_DEVICE_OFF (0x02010002)
|
||||||
|
/* Device off */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_NO_DEVICE (0x02010003)
|
||||||
|
/* No device */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SENSOR_FUNC (0x02010007)
|
||||||
|
/* Sensor not have the function */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SENSOR_READ (0x02010008)
|
||||||
|
/* Sensor read error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SENSOR_WRITE (0x02010009)
|
||||||
|
/* Sensor write error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_PARAMETER (0x02030001)
|
||||||
|
/* Parameter error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SEQUENCE (0x02030002)
|
||||||
|
/* Sequence error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_AUTHENTICATE (0x02030003)
|
||||||
|
/* Authentication error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_UUID (0x02030004)
|
||||||
|
/* UUID error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_HANDLE (0x02030005)
|
||||||
|
/* HANDLE error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_CALLBACK (0x02030006)
|
||||||
|
/* Callback function is not set */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_ATTACH_OVER (0x02030007)
|
||||||
|
/* Exceeded maximum number */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_MULTIPLE_CALLED (0x02030008)
|
||||||
|
/* Multiple called */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_BIR (0x02030009)
|
||||||
|
/* Abnormal BIR */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_DATA_ERROR (0x0203000A)
|
||||||
|
/* Abnormal data */
|
||||||
|
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_TIMEOUT (0x02040001)
|
||||||
|
/* Timeout */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_NOT_CANCELED (0x02040002)
|
||||||
|
/* It is impossible to cancel */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_ERROR_INI_FILE (0x02040003)
|
||||||
|
/* Environmental setting error */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* It is impossible to recover.
|
||||||
|
*/
|
||||||
|
#define PvAPI_ERROR_DETAIL_DEVICE_ERROR (0x03010001)
|
||||||
|
/* Device error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SENSOR_ALARM (0x03010002)
|
||||||
|
/* Sensor alarm error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_SENSOR_AUTH (0x03010003)
|
||||||
|
/* Sensor authentication error */
|
||||||
|
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_MALLOC (0x03020001)
|
||||||
|
/* Cannot allocate memory */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_RECOURCE_GET (0x03020002)
|
||||||
|
/* Cannot get resource */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_RECOURCE_CTRL (0x03020003)
|
||||||
|
/* Cannot manipulate resource */
|
||||||
|
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_BAD_AREA (0x03030001)
|
||||||
|
/* Memory Area error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_CALLBACK_ERROR (0x03030002)
|
||||||
|
/* Callback function error / Contradiction occured */
|
||||||
|
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_INTERNAL_ERROR (0x03040001)
|
||||||
|
/* Internal error */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_DETAIL_FAILED_INI_FILE (0x03040002)
|
||||||
|
/* Environmental setting error */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
----------------------------------------------------------
|
||||||
|
PvAPI Error Module
|
||||||
|
----------------------------------------------------------
|
||||||
|
*/
|
||||||
|
#define PvAPI_ERROR_MODULE_IF (0x00000001)
|
||||||
|
/* Interface part */
|
||||||
|
|
||||||
|
#define PvAPI_ERROR_MODULE_LIBRARY (0x00000002)
|
||||||
|
/* Authentication library */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _PVAPIERR_H_ */
|
||||||
657
modules/fjpalmvein/C/Inc/pvapi_type.h
Normal file
657
modules/fjpalmvein/C/Inc/pvapi_type.h
Normal file
@ -0,0 +1,657 @@
|
|||||||
|
// Copyright 2021 FUJITSU FRONTECH LIMITED
|
||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File : PvAPI_TYPE.H
|
||||||
|
*
|
||||||
|
* Update : 2006.02.03 New
|
||||||
|
* 2006.02.27 Message change.
|
||||||
|
* 2006.04.06 Linux support.
|
||||||
|
* 2006.05.18 V11
|
||||||
|
* 2006.12.13 V20
|
||||||
|
* 2007.04.04 V20-030
|
||||||
|
* 2007.12.25 V24-010
|
||||||
|
* 2008.01.19 V24-010
|
||||||
|
* 2008.01.22 V24-010
|
||||||
|
* 2008.02.21 V24-100
|
||||||
|
* 2008.04.16 V24-100
|
||||||
|
* 2008.12.16 V27-010
|
||||||
|
* 2009.03.18 V27-030
|
||||||
|
* 2009.08.06 V30-010
|
||||||
|
* 2009.08.26 V30-010
|
||||||
|
* 2009.09.15 V30-030
|
||||||
|
* 2009.10.07 V30-040
|
||||||
|
* 2010.09.28 V30-220
|
||||||
|
* 2010.10.13 V30-220
|
||||||
|
* 2010.10.21 V30-220
|
||||||
|
* 2011.05.23 V30-300
|
||||||
|
* 2011.06.07 V30-300
|
||||||
|
* 2011.06.23 V30-300
|
||||||
|
* 2011.08.04 V30-310
|
||||||
|
* 2011.09.29 V30-310
|
||||||
|
* 2011.12.01 V31-010
|
||||||
|
* 2012.01.17 V31-010
|
||||||
|
* 2012.01.18 V31-010
|
||||||
|
* 2012.01.19 V31-010
|
||||||
|
* 2012.01.24 V31-010
|
||||||
|
* 2012.01.26 V31-010
|
||||||
|
* 2012.02.28 V31-010
|
||||||
|
* 2012.03.09 V31-012
|
||||||
|
* 2012.03.09 V31-020
|
||||||
|
* 2012.04.04 V31-012
|
||||||
|
* 2012.04.24 V31-020
|
||||||
|
* 2012.09.26 V31-100
|
||||||
|
* 2012.11.05 V31-200
|
||||||
|
* 2013.01.16 V31-200
|
||||||
|
* 2013.02.05 V31-200
|
||||||
|
* 2013.02.28 V31-200
|
||||||
|
* 2013.06.18 V32-010
|
||||||
|
* 2013.07.18 V32-010
|
||||||
|
* 2013.12.02 V32-110
|
||||||
|
* 2014.05.13 V32-200
|
||||||
|
* 2014.10.17 V33-010
|
||||||
|
* 2014.10.27 V33-010
|
||||||
|
* 2014.12.17 V33-020
|
||||||
|
* 2015.10.08 V33-201
|
||||||
|
* 2016.02.15 V33-202
|
||||||
|
* 2016.03.02 V33-203
|
||||||
|
* 2016.06.02 V33-300
|
||||||
|
* 2016.06.06 V33-210
|
||||||
|
* 2016.10.11 V33-220
|
||||||
|
* 2017.04.26 V33-300
|
||||||
|
* 2017.06.29 V34-010
|
||||||
|
* 2017.10.11 V34-020
|
||||||
|
* 2018.01.11 V34-031
|
||||||
|
* 2018.03.12 V34-040
|
||||||
|
* 2018.04.11 V34-100
|
||||||
|
* 2019.09.06 V34-150
|
||||||
|
* 2019.11.21 V34-150
|
||||||
|
* 2021.03.24 V34-211
|
||||||
|
*-----------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _PVAPITYPE_H_
|
||||||
|
#define _PVAPITYPE_H_
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define PvAPI_64BIT_OS_TARGET
|
||||||
|
#endif
|
||||||
|
#elif defined(__x86_64__) || defined(__LP64__)
|
||||||
|
#define PvAPI_64BIT_OS_TARGET
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
PvAPI Services API Datatypes
|
||||||
|
*****************************************************************************/
|
||||||
|
#ifndef _DWORD_DEFINED
|
||||||
|
#define _DWORD_DEFINED
|
||||||
|
typedef unsigned long DWORD;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI BIR
|
||||||
|
***********************************************************/
|
||||||
|
#ifdef PvAPI_64BIT_OS_TARGET
|
||||||
|
typedef struct pvapi_hrs_bir
|
||||||
|
{
|
||||||
|
BioAPI_BIR_HEADER Header;
|
||||||
|
uint32 BiometricData;
|
||||||
|
uint32 Signature;
|
||||||
|
} PvAPI_BIR, *PvAPI_BIR_PTR;
|
||||||
|
#else
|
||||||
|
typedef BioAPI_BIR PvAPI_BIR, *PvAPI_BIR_PTR;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI ErrorInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_ErrorInfo
|
||||||
|
{
|
||||||
|
uint32 ErrorLevel;
|
||||||
|
uint32 ErrorCode;
|
||||||
|
uint32 ErrorDetail;
|
||||||
|
uint32 ErrorModule;
|
||||||
|
uint32 ErrorOptional1;
|
||||||
|
uint32 ErrorOptional2;
|
||||||
|
uint32 APIInfo[4];
|
||||||
|
uint32 ErrorInfo1;
|
||||||
|
uint32 ErrorInfo2;
|
||||||
|
uint32 ErrorInfo3[4];
|
||||||
|
}PvAPI_ErrorInfo;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI VLInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_VLInfo
|
||||||
|
{
|
||||||
|
uint32 uiVersion;
|
||||||
|
uint32 uiLevel;
|
||||||
|
uint32 uiSubCounter;
|
||||||
|
uint32 uiReserve;
|
||||||
|
} PvAPI_VLINFO_TBL, *PvAPI_VLINFO_TBL_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI DRInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_DRInfo
|
||||||
|
{
|
||||||
|
sint32 iFVersion;
|
||||||
|
sint32 iFLevel;
|
||||||
|
sint8 szDVersion[16];
|
||||||
|
uint32 uiCamera;
|
||||||
|
uint32 uiReserve;
|
||||||
|
} PvAPI_DRINFO_TBL, *PvAPI_DRINFO_TBL_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI SensorInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_SensorInfo
|
||||||
|
{
|
||||||
|
uint32 uiSerialNo;
|
||||||
|
sint8 szUnitNo[128];
|
||||||
|
uint32 uiSensor;
|
||||||
|
void* lpvReserve2;
|
||||||
|
} PvAPI_SensorInfo;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI SensorInfoEx
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_SensorInfoEx
|
||||||
|
{
|
||||||
|
uint32 uiSerialNo;
|
||||||
|
sint8 szUnitNo[128];
|
||||||
|
uint32 uiSensor;
|
||||||
|
uint32 uiFwVersion;
|
||||||
|
uint32 uiFwLevel;
|
||||||
|
sint8 szReserve[112];
|
||||||
|
} PvAPI_SensorInfoEx, *PvAPI_SensorInfoEx_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI TemplateInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_TemplateInfo
|
||||||
|
{
|
||||||
|
uint32 uiVersion;
|
||||||
|
uint32 uiSensor;
|
||||||
|
uint32 uiGuideMode;
|
||||||
|
uint32 uiCompressMode;
|
||||||
|
uint32 uiExtractKind;
|
||||||
|
uint32 uiIndexKind;
|
||||||
|
uint32 uiReserve1;
|
||||||
|
void* lpvReserve2;
|
||||||
|
} PvAPI_TemplateInfo;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI TemplateInfoEx
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_TemplateInfoEx
|
||||||
|
{
|
||||||
|
uint32 uiVersion;
|
||||||
|
uint32 uiSensor;
|
||||||
|
uint32 uiGuideMode;
|
||||||
|
uint32 uiCompressMode;
|
||||||
|
uint32 uiExtractKind;
|
||||||
|
uint32 uiIndexKind;
|
||||||
|
uint32 uiSensorExtKind;
|
||||||
|
uint32 uiM2ExtInfo;
|
||||||
|
uint32 uiDataExtInfo;
|
||||||
|
uint32 uiGExtendedMode;
|
||||||
|
uint32 auiReserve[6];
|
||||||
|
uint32 auiMultiDataMode[2];
|
||||||
|
sint8 szReserve[440];
|
||||||
|
}PvAPI_TemplateInfoEx, *PvAPI_TemplateInfoEx_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI LBInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_LBInfo
|
||||||
|
{
|
||||||
|
uint32 uiLibVersion;
|
||||||
|
uint32 uiLibLevel;
|
||||||
|
uint32 uiLibSubCounter;
|
||||||
|
sint8 szDrvVersion[16];
|
||||||
|
uint32 uiFwVersion;
|
||||||
|
uint32 uiFwLevel;
|
||||||
|
uint32 uiSensorKind;
|
||||||
|
uint32 uiSensorExtKind;
|
||||||
|
uint32 uiSerialNo;
|
||||||
|
sint8 szUnitNo[16];
|
||||||
|
uint32 uiLoopMode;
|
||||||
|
uint32 uiCompressMode;
|
||||||
|
|
||||||
|
uint32 uiDriverKind;
|
||||||
|
uint32 uiEdition;
|
||||||
|
|
||||||
|
sint8 szReserve[496];
|
||||||
|
} PvAPI_LBINFO, *PvAPI_LBINFO_PTR;
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI SharedCaptureDataInfo
|
||||||
|
***********************************************************/
|
||||||
|
typedef struct t_PvAPI_SharedCaptureDataInfo
|
||||||
|
{
|
||||||
|
uint32 uiSharedMode;
|
||||||
|
sint8 szCaptureSharedKey[16];
|
||||||
|
uint32 uiReserve;
|
||||||
|
sint8 szReserve[8];
|
||||||
|
} PvAPI_SharedCaptureDataInfo;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************
|
||||||
|
PvAPI Define
|
||||||
|
***********************************************************/
|
||||||
|
// PalmVein Biometoric data type.
|
||||||
|
#define PvAPI_FACTOR_PALM_VEIN (0x00010000)
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// MaxFRRRequested Matching level.
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_MATCHING_LEVEL_NORMAL (0) //Threshold levels - Standard
|
||||||
|
#define PvAPI_MATCHING_LEVEL_HIGHEST (1) //Threshold levels - Highest
|
||||||
|
#define PvAPI_MATCHING_LEVEL_HIGH (2) //Threshold levels - High
|
||||||
|
#define PvAPI_MATCHING_LEVEL_LOW (3) //Threshold levels - Low
|
||||||
|
#define PvAPI_MATCHING_LEVEL_LOWEST (4) //Threshold levels - Lowest
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// GuiState.
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_APPEND_STREAMING (0x0008)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Guide state message provided state.
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_START (0x02030000) //Guide message - Guide start.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_BADIMAGE (0x02030200) //Guide message - Move your hand away from the sensor.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_MOVING (0x02030203) //Guide message - Stop moving your hand.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_LESSINFO (0x02030204) //Guide message - Place your hand correctly.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_RIGHT (0x02030205) //(Optional) Guide message - Move left.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_LEFT (0x02030206) //(Optional) Guide message - Move right.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_DOWN (0x02030207) //(Optional) Guide message - Move backward.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_UP (0x02030208) //(Optional) Guide message - Move forward.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_FAR (0x02030209) //Guide message - Bring your hand close.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_NEAR (0x0203020a) //Guide message - Keep away your hand.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_CAPTURING (0x0203020b) //Guide message - Now capturing.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_LEAN (0x0203020c) //(Not Support) Guide message - Your hand has inclined.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_PITCH_DOWN (0x02030210) //(Optional) Guide message - Your hand has pitched down.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_PITCH_UP (0x02030211) //(Optional) Guide message - Your hand has pitched up.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_ROLL_RIGHT (0x02030212) //(Optional) Guide message - Your hand has rolled right.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_ROLL_LEFT (0x02030213) //(Optional) Guide message - Your hand has rolled left.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_YAW_RIGHT (0x02030214) //(Optional) Guide message - Your hand has yaw right.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_YAW_LEFT (0x02030215) //(Optional) Guide message - Your hand has yaw left.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_CLOSE_FINGER (0x02030216) //(Optional) Guide message - Your fingers are closed.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_ADJUST_LIGHT (0x02030220) //(Optional) Guide message - Adjust gain and retry.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_ADJUST_NG (0x02030221) //(Optional) Guide message - Failed adjusting gain.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_PHASE_END (0x02030300) //Guide message - Guide phase end.
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_NO_HANDS (0x02030201) //(Optional) Guide message - Set your hand.
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_ROUND (0x02030217) //(Optional) Guide message - Extend your hand flatly.
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_CAPTURE_IMAGE (0x02030222) //(Optional) Guide message - Captured image
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_LIGHT_NORMAL (0x02030223) //(Optional) Guide message - The lighting environment is normal
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_LIGHT_STRONG (0x02030224) //(Optional) Guide message - The lighting environment is strong
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_TOO_FAR (0x02030225)
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_TOO_NEAR (0x02030226)
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_SHUTTER (0x02040000)
|
||||||
|
#define PvAPI_NOTIFY_CAP_GUID_SHUTTER (0x02040000)
|
||||||
|
#define PvAPI_NOTIFY_WAIT_FOR_TRIGGER (0x02040000)
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_API_KIND (0x03000100)
|
||||||
|
#define PvAPI_NOTIFY_API_END (0x03000200)
|
||||||
|
#define PvAPI_NOTIFY_MATCH_RESULT (0x04000000)
|
||||||
|
#define PvAPI_NOTIFY_REGIST_SCORE (0x05000000)
|
||||||
|
#define PvAPI_NOTIFY_CAPTURE_RANGE (0x06000000)
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_CAPTURE (0x01)
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_VERIFYMATCH (0x02)
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_IDENTIFYMATCH (0x03)
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_ENROLL (0x04)
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_VERIFY (0x05)
|
||||||
|
#define PvAPI_NOTIFY_API_KIND_IDENTIFY (0x06)
|
||||||
|
|
||||||
|
#define PvAPI_NOTIFY_API_END_NORMAL (0x00)
|
||||||
|
#define PvAPI_NOTIFY_API_END_CANCEL (0x10)
|
||||||
|
#define PvAPI_NOTIFY_API_END_ERROR (0x20)
|
||||||
|
|
||||||
|
#define PvAPI_REGIST_SCORE_QUALITY_1 (1)
|
||||||
|
#define PvAPI_REGIST_SCORE_QUALITY_2 (2)
|
||||||
|
#define PvAPI_REGIST_SCORE_QUALITY_3 (3)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// SetProfile
|
||||||
|
//------------------------------------------
|
||||||
|
// SetProfile flag value.
|
||||||
|
#define PvAPI_PROFILE_DISPLAY_KIND (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_DIRECTION (0x00000002)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE (0x00000003)
|
||||||
|
#define PvAPI_PROFILE_REGIST_DATA_TYPE (0x00000004)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_TYPE (0x00000005)
|
||||||
|
#define PvAPI_PROFILE_REGIST_TEMPERATURE (0x00000006)
|
||||||
|
#define PvAPI_PROFILE_MATCH_TEMPERATURE (0x00000007)
|
||||||
|
#define PvAPI_PROFILE_MATCH_EXTRACT_KIND (0x00000008)
|
||||||
|
#define PvAPI_PROFILE_CARD_INFO (0x00000009)
|
||||||
|
#define PvAPI_PROFILE_CR_INFO (0x0000000A)
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_MODE (0x0000000B)
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_TRUNCATION_MODE (0x0000000C)
|
||||||
|
#define PvAPI_PROFILE_ENROLL_INDEX_MODE (0x0000000D)
|
||||||
|
#define PvAPI_PROFILE_IMAGE (0x0000000E)
|
||||||
|
#define PvAPI_PROFILE_REGIST_EXTRACT_KIND (0x0000000F)
|
||||||
|
#define PvAPI_PROFILE_TRACE_MESSAGE (0x00000010)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_MODE (0x00000011)
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_DATA_MODE (0x00000013)
|
||||||
|
#define PvAPI_PROFILE_SCORE_NOTIFICATIONS (0x00000014)
|
||||||
|
#define PvAPI_PROFILE_GETGMODE (0x00000015)
|
||||||
|
#define PvAPI_PROFILE_RI_INFO (0x00000016)
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_TIMES (0x00000017)
|
||||||
|
#define PvAPI_PROFILE_SL_EXTEND_MODE (0x00000018)
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_INV_SENSE (0x0000001A)
|
||||||
|
#define PvAPI_PROFILE_EXDATA_MODE (0x0000001B)
|
||||||
|
#define PvAPI_PROFILE_SHARED_CAPTURE_DATA (0x0000001E)
|
||||||
|
// reserve (0x0000001F)
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_MODE (0x00000020)
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_SL_EXT_MODE (0x00000021)
|
||||||
|
|
||||||
|
// SetProfile display kind dwParam value.
|
||||||
|
#define PvAPI_PROFILE_DISPLAY_KIND_APL (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_DISPLAY_KIND_LIB (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile sensor direction dwParam value.
|
||||||
|
#define PvAPI_PROFILE_SENSOR_DIRECTION_0 (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_DIRECTION_90 (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_DIRECTION_180 (0x00000002)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_DIRECTION_270 (0x00000003)
|
||||||
|
|
||||||
|
// SetProfile guide type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_NORMAL (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_NO_GUITE (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_ATM1 (0x00000100)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_ATM2 (0x00000101)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_USER1 (0x00000200)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_TYPE_USER2 (0x00000201)
|
||||||
|
|
||||||
|
// SetProfile regist data type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_REGIST_DATA_TYPE_NO_COMPRESS_2 (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_REGIST_DATA_TYPE_COMPRESS_2 (0x00000003)
|
||||||
|
|
||||||
|
// SetProfile sensor type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_SENSOR_TYPE_INI (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_TYPE_AUTO (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_SENSOR_TYPE_NO_SENSOR (0x00000002)
|
||||||
|
|
||||||
|
// SetProfile extract kind dwParam value.
|
||||||
|
#define PvAPI_PROFILE_EXTRACT_KIND_1 (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_EXTRACT_KIND_2 (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_EXTRACT_KIND_3 (0x00000002)
|
||||||
|
|
||||||
|
// SetProfile CR type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_CR_KIND_2 (0x00000002)
|
||||||
|
#define PvAPI_PROFILE_CR_KIND_3 (0x00000003)
|
||||||
|
|
||||||
|
// Identify Mode type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_MODE_OLDCOMPATIBLE (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_MODE_INDEX (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_MODE_INDEX_2 (0x00000002)
|
||||||
|
|
||||||
|
// Not Support
|
||||||
|
#define PvAPI_PROFILE_IDENTIFY_TRUNCATION_MODE_NOTHING (0x00000000)
|
||||||
|
|
||||||
|
// SetProfile enroll-index-mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_INDEX_MODE_1 (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_INDEX_MODE_2 (0x00000002)
|
||||||
|
|
||||||
|
// SetProfile capture-data-mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_DATA_MODE_0 (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_DATA_MODE_2 (0x00000002)
|
||||||
|
|
||||||
|
// SetProfile image type dwParam value.
|
||||||
|
#define PvAPI_PROFILE_IMAGE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_IMAGE_SILHOUETTE (0x00000001)
|
||||||
|
|
||||||
|
|
||||||
|
#define PvAPI_PROFILE_GUIDE_MODE_NO_GUIDE (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_GUIDE_MODE_GUIDE (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile Match-score dwParam value.
|
||||||
|
#define PvAPI_PROFILE_SCORE_NOTIFICATIONS_OFF (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_SCORE_NOTIFICATIONS_ON (0x00000001)
|
||||||
|
#define PvAPI_PROFILE_SCORE_NOTIFICATIONS_ON_MODE2 (0x00000002)
|
||||||
|
|
||||||
|
// SetProfile SL-Extend-Mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_SL_EXTEND_MODE_OLD (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_SL_EXTEND_MODE_EX1 (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile CaptureInvSense dwParam value.
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_INV_SENSE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_CAPTURE_INV_SENSE_ON (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile shared capture data dwParam value.
|
||||||
|
#define PvAPI_PROFILE_SHARED_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_SHARED_MODE_ON (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile MultiData-Mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_MODE_0 (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_MODE_1 (0x00000001)
|
||||||
|
|
||||||
|
// SetProfile MultiData-SL-Ext-Mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_SL_EXT_MODE_0 (0x00000000)
|
||||||
|
#define PvAPI_PROFILE_MULTIDATA_SL_EXT_MODE_1 (0x00000001)
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// PreSetProfile
|
||||||
|
//------------------------------------------
|
||||||
|
// PreSetProfile flag value.
|
||||||
|
#define PvAPI_PRE_PROFILE_IDENTIFYSENSOR (0x00000001)
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_AES256 (0x00000002)
|
||||||
|
#define PvAPI_PRE_PROFILE_CERTIFY_INFO (0x00000003)
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_CONNECT (0x00000007)
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_EXTEND (0x00000008)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURE_TIMES (0x00000009)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURE_COMPRESS (0x0000000A)
|
||||||
|
#define PvAPI_PRE_PROFILE_BHG_MODE (0x0000000B)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURING_RANGE (0x0000000C)
|
||||||
|
#define PvAPI_PRE_PROFILE_MAX_MATCHTHREAD_NUM (0x0000000D)
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE (0x0000000E)
|
||||||
|
#define PvAPI_PRE_PROFILE_USB_POWER_MODE (0x0000000F)
|
||||||
|
// reserve (0x00000010)
|
||||||
|
#define PvAPI_PRE_PROFILE_SLG_EXTENDED_MODE (0x00000011)
|
||||||
|
|
||||||
|
// PreSetProfile sensor connect lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_CONNECT_0 (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_CONNECT_1 (0x00000001)
|
||||||
|
|
||||||
|
// PreSetProfile sensor extend lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_EXTEND_OFF (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_SENSOR_EXTEND_ON (0x00000001)
|
||||||
|
|
||||||
|
// PreSetProfile capture compress lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURE_COMPRESS_OFF (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURE_COMPRESS_ON (0x00000001)
|
||||||
|
|
||||||
|
// PreSetProfile BHG use mode lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_BHG_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_BHG_MODE_ON (0x00000001)
|
||||||
|
|
||||||
|
// PreSetProfile capturing range lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURING_RANGE_NEW (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURING_RANGE_OLD (0x00000001)
|
||||||
|
#define PvAPI_PRE_PROFILE_CAPTURING_RANGE_CHG (0x00000002)
|
||||||
|
|
||||||
|
// PreSetProfile G-Extended-Mode lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE_1 (0x00000001)
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE_2 (0x00000002)
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE_3 (0x00000003)
|
||||||
|
#define PvAPI_PRE_PROFILE_G_EXTENDED_MODE_4 (0x00000004)
|
||||||
|
|
||||||
|
// PreSetProfile USBHighPowerMode lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_USB_POWER_MODE_NORMAL (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_USB_POWER_MODE_HIGH (0x00000001)
|
||||||
|
|
||||||
|
// PreSetProfile SLG-Extended-Mode lpvParamData value.
|
||||||
|
#define PvAPI_PRE_PROFILE_SLG_EXTENDED_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_PRE_PROFILE_SLG_EXTENDED_MODE_1 (0x00000001)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Packet
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_SIZE_PACKET_CRCINFO (0x00000010)
|
||||||
|
#define PvAPI_SIZE_PACKET_VEINBUFFER (0x00001000)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// Population Type
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_PRESET_ARRAY_TYPE (3)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// GetTemplateInfo Type
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_1 (0x00000000)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_2 (0x00000001)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_3 (0x00000002)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_4 (0x00000003)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_8 (0x00000007)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_9 (0x00000008)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_A (0x00000009)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_B (0x0000000A)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_C (0x0000000B)
|
||||||
|
#define PvAPI_INFO_SENSOR_TYPE_D (0x0000000C)
|
||||||
|
|
||||||
|
// SetProfile enroll-index-mode dwParam value.
|
||||||
|
#define PvAPI_PROFILE_INDEX_MODE_0 (0x00000000)
|
||||||
|
//#define PvAPI_PROFILE_INDEX_MODE_1 (0x00000001)
|
||||||
|
//#define PvAPI_PROFILE_INDEX_MODE_2 (0x00000002)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_0 (0x00000000)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_1 (0x00000001)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_2 (0x00000002)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_5 (0x00000005)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_10 (0x0000000A)
|
||||||
|
#define PvAPI_INFO_INDEX_MODE_11 (0x0000000B)
|
||||||
|
|
||||||
|
#define PvAPI_INFO_M2_EXTEND_OFF (0x00000000)
|
||||||
|
#define PvAPI_INFO_M2_EXTEND_ON (0x00000001)
|
||||||
|
|
||||||
|
#define PvAPI_INFO_G_EXTENDED_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_INFO_G_EXTENDED_MODE_1 (0x00000001)
|
||||||
|
#define PvAPI_INFO_G_EXTENDED_MODE_2 (0x00000002)
|
||||||
|
#define PvAPI_INFO_G_EXTENDED_MODE_3 (0x00000003)
|
||||||
|
#define PvAPI_INFO_G_EXTENDED_MODE_4 (0x00000004)
|
||||||
|
|
||||||
|
#define PvAPI_INFO_GUIDE_MODE_NO_GUIDE (0x00000000)
|
||||||
|
#define PvAPI_INFO_GUIDE_MODE_GUIDE (0x00000001)
|
||||||
|
#define PvAPI_INFO_GUIDE_MODE_BHG (0x00000002)
|
||||||
|
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_G (0x00000000)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_G_GUIDE (0x00000010)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_I (0x00000001)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_I_GUIDE (0x00000011)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_I_BHG (0x00000021)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_Iex (0x00000101)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_I33 (0x00010001)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_I33_GUIDE (0x00010011)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_R (0x00020001)
|
||||||
|
#define PvAPI_INFO_MULTI_DATA_R_GUIDE (0x00020011)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// GuiStateCallback Return
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_WAIT (16)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// PvAPI_GetConnectSensorInfo MaxNum
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_GET_SENSOR_INFO_MAX (8)
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// PvAPI_GetLibraryInfo Sensor Extend Mode
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_INFO_SENSOR_MODE_COMPATIBLE (0x00000000)
|
||||||
|
#define PvAPI_INFO_SENSOR_MODE_EXTEND (0x00000001)
|
||||||
|
|
||||||
|
// GetLibraryInfo loop-mode dwParam value.
|
||||||
|
#define PvAPI_INFO_LOOP_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_INFO_LOOP_MODE_ON (0x00000001)
|
||||||
|
|
||||||
|
// GetLibraryInfo compress-mode dwParam value.
|
||||||
|
#define PvAPI_INFO_COMPRESS_MODE_OFF (0x00000000)
|
||||||
|
#define PvAPI_INFO_COMPRESS_MODE_ON (0x00000001)
|
||||||
|
|
||||||
|
// GetLibraryInfo driver-kind value.
|
||||||
|
#define PvAPI_INFO_DRIVER_KIND_EXTENDED (0x00000000)
|
||||||
|
#define PvAPI_INFO_DRIVER_KIND_CONVENTIONAL (0x00000001)
|
||||||
|
#define PvAPI_INFO_DRIVER_KIND_MP (0x00000002)
|
||||||
|
#define PvAPI_INFO_DRIVER_KIND_UUD (0x00000004)
|
||||||
|
|
||||||
|
// GetLibraryInfo Edition value.
|
||||||
|
#define PvAPI_INFO_EDITION_INVALID (0x00000000)
|
||||||
|
#define PvAPI_INFO_EDITION_PE (0x00000002)
|
||||||
|
#define PvAPI_INFO_EDITION_EE (0x00000003)
|
||||||
|
#define PvAPI_INFO_EDITION_F_PE (0x00010002)
|
||||||
|
#define PvAPI_INFO_EDITION_F_EE (0x00010003)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// PvAPI_GetExData Get Extend Data Type
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_EX_DATA_TYPE_0001 (0x00000000)
|
||||||
|
#define PvAPI_EX_DATA_TYPE_0002 (0x00000001)
|
||||||
|
#define PvAPI_EX_DATA_TYPE_1001 (0x00001000)
|
||||||
|
#define PvAPI_EX_DATA_TYPE_1002 (0x00001001)
|
||||||
|
|
||||||
|
//------------------------------------------
|
||||||
|
// PvAPI_GetExData Get Extend Data Size
|
||||||
|
//------------------------------------------
|
||||||
|
#define PvAPI_EX_DATA_0001_SIZE (4096)
|
||||||
|
#define PvAPI_EX_DATA_1001_SIZE (5242880)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
PvAPI Macro
|
||||||
|
*****************************************************************************/
|
||||||
|
static const int g_PvAPI_EndianCheckCode = 0x00000001;
|
||||||
|
// Length Return
|
||||||
|
#define PvAPI_GET_BIR_Length( BIR, SetLength ) \
|
||||||
|
{ \
|
||||||
|
if( BIR ) \
|
||||||
|
{ \
|
||||||
|
if( &((BIR)->Header.Length) != &(SetLength) ) \
|
||||||
|
{ \
|
||||||
|
if( ((char*)&g_PvAPI_EndianCheckCode)[0] == 0 ) \
|
||||||
|
{ \
|
||||||
|
(SetLength) = ((((BIR)->Header.Length) >> 24)&0x000000ff) | \
|
||||||
|
((((BIR)->Header.Length) >> 8)&0x0000ff00) | \
|
||||||
|
((((BIR)->Header.Length) << 8)&0x00ff0000) | \
|
||||||
|
((((BIR)->Header.Length) << 24)&0xff000000); \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
(SetLength) = ((BIR)->Header.Length); \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _PVAPITYPE_H_ */
|
||||||
BIN
modules/fjpalmvein/C/LM/F3BC4BSP.DAT
Normal file
BIN
modules/fjpalmvein/C/LM/F3BC4BSP.DAT
Normal file
Binary file not shown.
6
modules/fjpalmvein/C/LM/F3BC4SDK.LIC
Normal file
6
modules/fjpalmvein/C/LM/F3BC4SDK.LIC
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SERIAL=PC34
|
||||||
|
DATE=2020/01/27
|
||||||
|
AUTHOR=Fujitsu Frontech Limited
|
||||||
|
OWNER=
|
||||||
|
INFO=fMj1smO3+Pc1k7BsMS4aFfk/MmjEoBUZCQZuwzT4k0QyIWHnAvbraXwfyBsvIU6PMCp07kZZ59ygNOKnruh5Ixt3ijg9ttIpAdWFrUDj/ZHPIXiljIwL+vGr3x6S/Q7CwgcU0ZujyAtTW0m5i3hMrg==
|
||||||
|
SIGN=4YKXpBlSI7X+975fr71eUXs/UgHd+V7PLpMk2o30JfKQrUCVARKb+mYC+dwS3QnSDHT9t2cd04awNhmZ5YnphCnZ+66VSCmgnv7szBTNz9WAo72UWKOUPAK4mjWaZjm3n9z12iASJd+YLLknx5XBbS12ZuGb+nXDaKN9xPfhBHs=
|
||||||
13
modules/fjpalmvein/C/LM/PvAPI.INI
Normal file
13
modules/fjpalmvein/C/LM/PvAPI.INI
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
;
|
||||||
|
; INIFILE for Authentication Library V34
|
||||||
|
;
|
||||||
|
[Common]
|
||||||
|
Sensor = 1
|
||||||
|
GuideMode = 0
|
||||||
|
|
||||||
|
[PvAPITrace]
|
||||||
|
TraceMode = 0x03
|
||||||
|
TraceSize = 1024
|
||||||
|
TracePath = /tmp/F3BC4/log
|
||||||
|
TraceFile = PvAPITrc.dat
|
||||||
|
TraceNum = 10
|
||||||
BIN
modules/fjpalmvein/C/LM/PvAPITrc.dat
Normal file
BIN
modules/fjpalmvein/C/LM/PvAPITrc.dat
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/C/LM/libf3bc4bio.so
Executable file
BIN
modules/fjpalmvein/C/LM/libf3bc4bio.so
Executable file
Binary file not shown.
BIN
modules/fjpalmvein/C/LM/libf3bc4bsp.so
Executable file
BIN
modules/fjpalmvein/C/LM/libf3bc4bsp.so
Executable file
Binary file not shown.
BIN
modules/fjpalmvein/C/LM/libf3bc4cap.so
Executable file
BIN
modules/fjpalmvein/C/LM/libf3bc4cap.so
Executable file
Binary file not shown.
BIN
modules/fjpalmvein/C/LM/libf3bc4com.so
Executable file
BIN
modules/fjpalmvein/C/LM/libf3bc4com.so
Executable file
Binary file not shown.
BIN
modules/fjpalmvein/C/LM/libf3bc4mat.so
Executable file
BIN
modules/fjpalmvein/C/LM/libf3bc4mat.so
Executable file
Binary file not shown.
1
modules/fjpalmvein/C/LM/pvfwvl.txt
Normal file
1
modules/fjpalmvein/C/LM/pvfwvl.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
V34L77-B31 #20220317
|
||||||
32
modules/fjpalmvein/C/Makefile
Normal file
32
modules/fjpalmvein/C/Makefile
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
CROSS := ""
|
||||||
|
|
||||||
|
ifneq ($(CROSS),)
|
||||||
|
CROSS_PREFIX := $(CROSS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CC = $(CROSS_PREFIX)gcc
|
||||||
|
CFLAGS = -c -g -Wall -DUNIX \
|
||||||
|
-I ./ -I ./Inc
|
||||||
|
LDFLAGS = -L ./LM -Wl,-rpath -Wl,./
|
||||||
|
LDLIBS = -lf3bc4bio -lf3bc4com -lf3bc4bsp -lf3bc4cap -lf3bc4mat
|
||||||
|
IDENTIFY = BioAPI_sample_C_Identify
|
||||||
|
VERIFY = BioAPI_sample_C_Verify
|
||||||
|
|
||||||
|
$(IDENTIFY): $(IDENTIFY).o
|
||||||
|
$(CC) -o $(IDENTIFY) $(IDENTIFY).o $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
|
$(IDENTIFY).o : $(IDENTIFY).c
|
||||||
|
$(CC) $(CFLAGS) $(IDENTIFY).c
|
||||||
|
|
||||||
|
$(VERIFY): $(VERIFY).o
|
||||||
|
$(CC) -o $(VERIFY) $(VERIFY).o $(LDFLAGS) $(LDLIBS)
|
||||||
|
|
||||||
|
$(VERIFY).o : $(VERIFY).c
|
||||||
|
$(CC) $(CFLAGS) $(VERIFY).c
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) *~ *.o $(IDENTIFY) $(VERIFY)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
BIN
modules/fjpalmvein/C/PalmSecureSampleSource_V01L02.zip
Normal file
BIN
modules/fjpalmvein/C/PalmSecureSampleSource_V01L02.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/C/V02_SystemDevelopmentGuide_E.pdf
Normal file
BIN
modules/fjpalmvein/C/V02_SystemDevelopmentGuide_E.pdf
Normal file
Binary file not shown.
1
modules/fjpalmvein/C/fjpalmvein-main/.Module.symvers.cmd
Normal file
1
modules/fjpalmvein/C/fjpalmvein-main/.Module.symvers.cmd
Normal file
@ -0,0 +1 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/Module.symvers := sed 's/\.ko$$/\.o/' /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/modules.order | scripts/mod/modpost -m -a -o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/Module.symvers -e -i Module.symvers -T -
|
||||||
1
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.ko.cmd
Normal file
1
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.ko.cmd
Normal file
@ -0,0 +1 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko := ld -r -m elf_x86_64 -z noexecstack --build-id=sha1 -T scripts/module.lds -o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o; true
|
||||||
1
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.mod.cmd
Normal file
1
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.mod.cmd
Normal file
@ -0,0 +1 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod := { echo /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o; echo; } > /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod
|
||||||
704
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.mod.o.cmd
Normal file
704
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.mod.o.cmd
Normal file
@ -0,0 +1,704 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o := gcc -Wp,-MMD,/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.mod.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"fjveincam.mod"' -DKBUILD_MODNAME='"fjveincam"' -D__KBUILD_MODNAME=kmod_fjveincam -c -o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.c
|
||||||
|
|
||||||
|
source_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o := /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.c
|
||||||
|
|
||||||
|
deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o := \
|
||||||
|
$(wildcard include/config/MODULE_UNLOAD) \
|
||||||
|
$(wildcard include/config/RETPOLINE) \
|
||||||
|
include/linux/compiler-version.h \
|
||||||
|
$(wildcard include/config/CC_VERSION_TEXT) \
|
||||||
|
include/linux/kconfig.h \
|
||||||
|
$(wildcard include/config/CPU_BIG_ENDIAN) \
|
||||||
|
$(wildcard include/config/BOOGER) \
|
||||||
|
$(wildcard include/config/FOO) \
|
||||||
|
include/linux/compiler_types.h \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_COMPILER_H) \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_INLINE) \
|
||||||
|
include/linux/compiler_attributes.h \
|
||||||
|
include/linux/compiler-gcc.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \
|
||||||
|
$(wildcard include/config/KCOV) \
|
||||||
|
include/linux/module.h \
|
||||||
|
$(wildcard include/config/MODULES) \
|
||||||
|
$(wildcard include/config/SYSFS) \
|
||||||
|
$(wildcard include/config/MODULES_TREE_LOOKUP) \
|
||||||
|
$(wildcard include/config/LIVEPATCH) \
|
||||||
|
$(wildcard include/config/STACKTRACE_BUILD_ID) \
|
||||||
|
$(wildcard include/config/CFI_CLANG) \
|
||||||
|
$(wildcard include/config/MODULE_SIG) \
|
||||||
|
$(wildcard include/config/GENERIC_BUG) \
|
||||||
|
$(wildcard include/config/KALLSYMS) \
|
||||||
|
$(wildcard include/config/SMP) \
|
||||||
|
$(wildcard include/config/TRACEPOINTS) \
|
||||||
|
$(wildcard include/config/TREE_SRCU) \
|
||||||
|
$(wildcard include/config/BPF_EVENTS) \
|
||||||
|
$(wildcard include/config/DEBUG_INFO_BTF_MODULES) \
|
||||||
|
$(wildcard include/config/JUMP_LABEL) \
|
||||||
|
$(wildcard include/config/TRACING) \
|
||||||
|
$(wildcard include/config/EVENT_TRACING) \
|
||||||
|
$(wildcard include/config/FTRACE_MCOUNT_RECORD) \
|
||||||
|
$(wildcard include/config/KPROBES) \
|
||||||
|
$(wildcard include/config/HAVE_STATIC_CALL_INLINE) \
|
||||||
|
$(wildcard include/config/PRINTK_INDEX) \
|
||||||
|
$(wildcard include/config/CONSTRUCTORS) \
|
||||||
|
$(wildcard include/config/FUNCTION_ERROR_INJECTION) \
|
||||||
|
include/linux/list.h \
|
||||||
|
$(wildcard include/config/DEBUG_LIST) \
|
||||||
|
include/linux/types.h \
|
||||||
|
$(wildcard include/config/HAVE_UID16) \
|
||||||
|
$(wildcard include/config/UID16) \
|
||||||
|
$(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \
|
||||||
|
$(wildcard include/config/PHYS_ADDR_T_64BIT) \
|
||||||
|
$(wildcard include/config/64BIT) \
|
||||||
|
$(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \
|
||||||
|
include/uapi/linux/types.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/types.h \
|
||||||
|
include/uapi/asm-generic/types.h \
|
||||||
|
include/asm-generic/int-ll64.h \
|
||||||
|
include/uapi/asm-generic/int-ll64.h \
|
||||||
|
arch/x86/include/uapi/asm/bitsperlong.h \
|
||||||
|
include/asm-generic/bitsperlong.h \
|
||||||
|
include/uapi/asm-generic/bitsperlong.h \
|
||||||
|
include/uapi/linux/posix_types.h \
|
||||||
|
include/linux/stddef.h \
|
||||||
|
include/uapi/linux/stddef.h \
|
||||||
|
include/linux/compiler_types.h \
|
||||||
|
arch/x86/include/asm/posix_types.h \
|
||||||
|
$(wildcard include/config/X86_32) \
|
||||||
|
arch/x86/include/uapi/asm/posix_types_64.h \
|
||||||
|
include/uapi/asm-generic/posix_types.h \
|
||||||
|
include/linux/poison.h \
|
||||||
|
$(wildcard include/config/ILLEGAL_POINTER_VALUE) \
|
||||||
|
include/linux/const.h \
|
||||||
|
include/vdso/const.h \
|
||||||
|
include/uapi/linux/const.h \
|
||||||
|
include/linux/kernel.h \
|
||||||
|
$(wildcard include/config/PREEMPT_VOLUNTARY) \
|
||||||
|
$(wildcard include/config/PREEMPT_DYNAMIC) \
|
||||||
|
$(wildcard include/config/PREEMPT_) \
|
||||||
|
$(wildcard include/config/DEBUG_ATOMIC_SLEEP) \
|
||||||
|
$(wildcard include/config/MMU) \
|
||||||
|
$(wildcard include/config/PROVE_LOCKING) \
|
||||||
|
include/linux/stdarg.h \
|
||||||
|
include/linux/align.h \
|
||||||
|
include/linux/limits.h \
|
||||||
|
include/uapi/linux/limits.h \
|
||||||
|
include/vdso/limits.h \
|
||||||
|
include/linux/linkage.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \
|
||||||
|
include/linux/stringify.h \
|
||||||
|
include/linux/export.h \
|
||||||
|
$(wildcard include/config/MODVERSIONS) \
|
||||||
|
$(wildcard include/config/MODULE_REL_CRCS) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \
|
||||||
|
$(wildcard include/config/TRIM_UNUSED_KSYMS) \
|
||||||
|
include/linux/compiler.h \
|
||||||
|
$(wildcard include/config/TRACE_BRANCH_PROFILING) \
|
||||||
|
$(wildcard include/config/PROFILE_ALL_BRANCHES) \
|
||||||
|
$(wildcard include/config/STACK_VALIDATION) \
|
||||||
|
arch/x86/include/generated/asm/rwonce.h \
|
||||||
|
include/asm-generic/rwonce.h \
|
||||||
|
include/linux/kasan-checks.h \
|
||||||
|
$(wildcard include/config/KASAN_GENERIC) \
|
||||||
|
$(wildcard include/config/KASAN_SW_TAGS) \
|
||||||
|
include/linux/kcsan-checks.h \
|
||||||
|
$(wildcard include/config/KCSAN) \
|
||||||
|
$(wildcard include/config/KCSAN_IGNORE_ATOMICS) \
|
||||||
|
arch/x86/include/asm/linkage.h \
|
||||||
|
$(wildcard include/config/X86_64) \
|
||||||
|
$(wildcard include/config/X86_ALIGNMENT_16) \
|
||||||
|
$(wildcard include/config/RETHUNK) \
|
||||||
|
$(wildcard include/config/SLS) \
|
||||||
|
include/linux/bitops.h \
|
||||||
|
include/linux/bits.h \
|
||||||
|
include/vdso/bits.h \
|
||||||
|
include/linux/build_bug.h \
|
||||||
|
include/linux/typecheck.h \
|
||||||
|
include/uapi/linux/kernel.h \
|
||||||
|
include/uapi/linux/sysinfo.h \
|
||||||
|
arch/x86/include/asm/bitops.h \
|
||||||
|
$(wildcard include/config/X86_CMOV) \
|
||||||
|
arch/x86/include/asm/alternative.h \
|
||||||
|
arch/x86/include/asm/asm.h \
|
||||||
|
arch/x86/include/asm/extable_fixup_types.h \
|
||||||
|
arch/x86/include/asm/rmwcc.h \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_GOTO) \
|
||||||
|
arch/x86/include/asm/barrier.h \
|
||||||
|
arch/x86/include/asm/nops.h \
|
||||||
|
include/asm-generic/barrier.h \
|
||||||
|
include/asm-generic/bitops/find.h \
|
||||||
|
$(wildcard include/config/GENERIC_FIND_FIRST_BIT) \
|
||||||
|
include/asm-generic/bitops/sched.h \
|
||||||
|
arch/x86/include/asm/arch_hweight.h \
|
||||||
|
arch/x86/include/asm/cpufeatures.h \
|
||||||
|
arch/x86/include/asm/required-features.h \
|
||||||
|
$(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \
|
||||||
|
$(wildcard include/config/MATH_EMULATION) \
|
||||||
|
$(wildcard include/config/X86_PAE) \
|
||||||
|
$(wildcard include/config/X86_CMPXCHG64) \
|
||||||
|
$(wildcard include/config/X86_USE_3DNOW) \
|
||||||
|
$(wildcard include/config/X86_P6_NOP) \
|
||||||
|
$(wildcard include/config/MATOM) \
|
||||||
|
$(wildcard include/config/PARAVIRT_XXL) \
|
||||||
|
arch/x86/include/asm/disabled-features.h \
|
||||||
|
$(wildcard include/config/X86_SMAP) \
|
||||||
|
$(wildcard include/config/X86_UMIP) \
|
||||||
|
$(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \
|
||||||
|
$(wildcard include/config/X86_5LEVEL) \
|
||||||
|
$(wildcard include/config/PAGE_TABLE_ISOLATION) \
|
||||||
|
$(wildcard include/config/CPU_UNRET_ENTRY) \
|
||||||
|
$(wildcard include/config/X86_SGX) \
|
||||||
|
include/asm-generic/bitops/const_hweight.h \
|
||||||
|
include/asm-generic/bitops/instrumented-atomic.h \
|
||||||
|
include/linux/instrumented.h \
|
||||||
|
include/asm-generic/bitops/instrumented-non-atomic.h \
|
||||||
|
$(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \
|
||||||
|
include/asm-generic/bitops/instrumented-lock.h \
|
||||||
|
include/asm-generic/bitops/le.h \
|
||||||
|
arch/x86/include/uapi/asm/byteorder.h \
|
||||||
|
include/linux/byteorder/little_endian.h \
|
||||||
|
include/uapi/linux/byteorder/little_endian.h \
|
||||||
|
include/linux/swab.h \
|
||||||
|
include/uapi/linux/swab.h \
|
||||||
|
arch/x86/include/uapi/asm/swab.h \
|
||||||
|
include/linux/byteorder/generic.h \
|
||||||
|
include/asm-generic/bitops/ext2-atomic-setbit.h \
|
||||||
|
include/linux/kstrtox.h \
|
||||||
|
include/linux/log2.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ILOG2_U32) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ILOG2_U64) \
|
||||||
|
include/linux/math.h \
|
||||||
|
arch/x86/include/asm/div64.h \
|
||||||
|
include/asm-generic/div64.h \
|
||||||
|
include/linux/minmax.h \
|
||||||
|
include/linux/panic.h \
|
||||||
|
$(wildcard include/config/PANIC_TIMEOUT) \
|
||||||
|
include/linux/printk.h \
|
||||||
|
$(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \
|
||||||
|
$(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \
|
||||||
|
$(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \
|
||||||
|
$(wildcard include/config/EARLY_PRINTK) \
|
||||||
|
$(wildcard include/config/PRINTK) \
|
||||||
|
$(wildcard include/config/DYNAMIC_DEBUG) \
|
||||||
|
$(wildcard include/config/DYNAMIC_DEBUG_CORE) \
|
||||||
|
include/linux/init.h \
|
||||||
|
$(wildcard include/config/STRICT_KERNEL_RWX) \
|
||||||
|
$(wildcard include/config/STRICT_MODULE_RWX) \
|
||||||
|
$(wildcard include/config/LTO_CLANG) \
|
||||||
|
include/linux/kern_levels.h \
|
||||||
|
include/linux/cache.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \
|
||||||
|
arch/x86/include/asm/cache.h \
|
||||||
|
$(wildcard include/config/X86_L1_CACHE_SHIFT) \
|
||||||
|
$(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \
|
||||||
|
$(wildcard include/config/X86_VSMP) \
|
||||||
|
include/linux/ratelimit_types.h \
|
||||||
|
include/uapi/linux/param.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/param.h \
|
||||||
|
include/asm-generic/param.h \
|
||||||
|
$(wildcard include/config/HZ) \
|
||||||
|
include/uapi/asm-generic/param.h \
|
||||||
|
include/linux/spinlock_types.h \
|
||||||
|
$(wildcard include/config/PREEMPT_RT) \
|
||||||
|
$(wildcard include/config/DEBUG_LOCK_ALLOC) \
|
||||||
|
include/linux/spinlock_types_raw.h \
|
||||||
|
$(wildcard include/config/DEBUG_SPINLOCK) \
|
||||||
|
arch/x86/include/asm/spinlock_types.h \
|
||||||
|
include/asm-generic/qspinlock_types.h \
|
||||||
|
$(wildcard include/config/NR_CPUS) \
|
||||||
|
include/asm-generic/qrwlock_types.h \
|
||||||
|
include/linux/lockdep_types.h \
|
||||||
|
$(wildcard include/config/PROVE_RAW_LOCK_NESTING) \
|
||||||
|
$(wildcard include/config/PREEMPT_LOCK) \
|
||||||
|
$(wildcard include/config/LOCKDEP) \
|
||||||
|
$(wildcard include/config/LOCK_STAT) \
|
||||||
|
include/linux/rwlock_types.h \
|
||||||
|
include/linux/once_lite.h \
|
||||||
|
include/linux/dynamic_debug.h \
|
||||||
|
include/linux/jump_label.h \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \
|
||||||
|
arch/x86/include/asm/jump_label.h \
|
||||||
|
include/linux/static_call_types.h \
|
||||||
|
$(wildcard include/config/HAVE_STATIC_CALL) \
|
||||||
|
include/linux/stat.h \
|
||||||
|
arch/x86/include/uapi/asm/stat.h \
|
||||||
|
include/uapi/linux/stat.h \
|
||||||
|
include/linux/time.h \
|
||||||
|
$(wildcard include/config/POSIX_TIMERS) \
|
||||||
|
include/linux/math64.h \
|
||||||
|
$(wildcard include/config/ARCH_SUPPORTS_INT128) \
|
||||||
|
include/vdso/math64.h \
|
||||||
|
include/linux/time64.h \
|
||||||
|
include/vdso/time64.h \
|
||||||
|
include/uapi/linux/time.h \
|
||||||
|
include/uapi/linux/time_types.h \
|
||||||
|
include/linux/time32.h \
|
||||||
|
include/linux/timex.h \
|
||||||
|
include/uapi/linux/timex.h \
|
||||||
|
arch/x86/include/asm/timex.h \
|
||||||
|
$(wildcard include/config/X86_TSC) \
|
||||||
|
arch/x86/include/asm/processor.h \
|
||||||
|
$(wildcard include/config/X86_VMX_FEATURE_NAMES) \
|
||||||
|
$(wildcard include/config/X86_IOPL_IOPERM) \
|
||||||
|
$(wildcard include/config/STACKPROTECTOR) \
|
||||||
|
$(wildcard include/config/VM86) \
|
||||||
|
$(wildcard include/config/X86_DEBUGCTLMSR) \
|
||||||
|
$(wildcard include/config/CPU_SUP_AMD) \
|
||||||
|
$(wildcard include/config/XEN) \
|
||||||
|
arch/x86/include/asm/processor-flags.h \
|
||||||
|
arch/x86/include/uapi/asm/processor-flags.h \
|
||||||
|
include/linux/mem_encrypt.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \
|
||||||
|
$(wildcard include/config/AMD_MEM_ENCRYPT) \
|
||||||
|
arch/x86/include/asm/mem_encrypt.h \
|
||||||
|
include/linux/cc_platform.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_CC_PLATFORM) \
|
||||||
|
arch/x86/include/uapi/asm/bootparam.h \
|
||||||
|
include/linux/screen_info.h \
|
||||||
|
include/uapi/linux/screen_info.h \
|
||||||
|
include/linux/apm_bios.h \
|
||||||
|
include/uapi/linux/apm_bios.h \
|
||||||
|
include/uapi/linux/ioctl.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/ioctl.h \
|
||||||
|
include/asm-generic/ioctl.h \
|
||||||
|
include/uapi/asm-generic/ioctl.h \
|
||||||
|
include/linux/edd.h \
|
||||||
|
include/uapi/linux/edd.h \
|
||||||
|
arch/x86/include/asm/ist.h \
|
||||||
|
arch/x86/include/uapi/asm/ist.h \
|
||||||
|
include/video/edid.h \
|
||||||
|
$(wildcard include/config/X86) \
|
||||||
|
include/uapi/video/edid.h \
|
||||||
|
arch/x86/include/asm/math_emu.h \
|
||||||
|
arch/x86/include/asm/ptrace.h \
|
||||||
|
$(wildcard include/config/PARAVIRT) \
|
||||||
|
$(wildcard include/config/IA32_EMULATION) \
|
||||||
|
arch/x86/include/asm/segment.h \
|
||||||
|
$(wildcard include/config/XEN_PV) \
|
||||||
|
arch/x86/include/asm/page_types.h \
|
||||||
|
$(wildcard include/config/PHYSICAL_START) \
|
||||||
|
$(wildcard include/config/PHYSICAL_ALIGN) \
|
||||||
|
$(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \
|
||||||
|
arch/x86/include/asm/page_64_types.h \
|
||||||
|
$(wildcard include/config/KASAN) \
|
||||||
|
$(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \
|
||||||
|
$(wildcard include/config/RANDOMIZE_BASE) \
|
||||||
|
arch/x86/include/asm/kaslr.h \
|
||||||
|
$(wildcard include/config/RANDOMIZE_MEMORY) \
|
||||||
|
arch/x86/include/uapi/asm/ptrace.h \
|
||||||
|
arch/x86/include/uapi/asm/ptrace-abi.h \
|
||||||
|
arch/x86/include/asm/paravirt_types.h \
|
||||||
|
$(wildcard include/config/PGTABLE_LEVELS) \
|
||||||
|
$(wildcard include/config/PARAVIRT_DEBUG) \
|
||||||
|
arch/x86/include/asm/desc_defs.h \
|
||||||
|
arch/x86/include/asm/pgtable_types.h \
|
||||||
|
$(wildcard include/config/MEM_SOFT_DIRTY) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \
|
||||||
|
$(wildcard include/config/PROC_FS) \
|
||||||
|
arch/x86/include/asm/pgtable_64_types.h \
|
||||||
|
$(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \
|
||||||
|
arch/x86/include/asm/sparsemem.h \
|
||||||
|
$(wildcard include/config/SPARSEMEM) \
|
||||||
|
$(wildcard include/config/NUMA_KEEP_MEMINFO) \
|
||||||
|
arch/x86/include/asm/nospec-branch.h \
|
||||||
|
$(wildcard include/config/DEBUG_ENTRY) \
|
||||||
|
$(wildcard include/config/CPU_IBPB_ENTRY) \
|
||||||
|
include/linux/static_key.h \
|
||||||
|
include/linux/objtool.h \
|
||||||
|
arch/x86/include/asm/msr-index.h \
|
||||||
|
arch/x86/include/asm/unwind_hints.h \
|
||||||
|
arch/x86/include/asm/orc_types.h \
|
||||||
|
arch/x86/include/asm/percpu.h \
|
||||||
|
$(wildcard include/config/X86_64_SMP) \
|
||||||
|
include/asm-generic/percpu.h \
|
||||||
|
$(wildcard include/config/DEBUG_PREEMPT) \
|
||||||
|
$(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \
|
||||||
|
include/linux/threads.h \
|
||||||
|
$(wildcard include/config/BASE_SMALL) \
|
||||||
|
include/linux/percpu-defs.h \
|
||||||
|
$(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \
|
||||||
|
arch/x86/include/asm/GEN-for-each-reg.h \
|
||||||
|
arch/x86/include/asm/proto.h \
|
||||||
|
arch/x86/include/uapi/asm/ldt.h \
|
||||||
|
arch/x86/include/uapi/asm/sigcontext.h \
|
||||||
|
arch/x86/include/asm/current.h \
|
||||||
|
arch/x86/include/asm/page.h \
|
||||||
|
arch/x86/include/asm/page_64.h \
|
||||||
|
$(wildcard include/config/DEBUG_VIRTUAL) \
|
||||||
|
$(wildcard include/config/FLATMEM) \
|
||||||
|
$(wildcard include/config/X86_VSYSCALL_EMULATION) \
|
||||||
|
include/linux/range.h \
|
||||||
|
include/asm-generic/memory_model.h \
|
||||||
|
$(wildcard include/config/SPARSEMEM_VMEMMAP) \
|
||||||
|
include/linux/pfn.h \
|
||||||
|
include/asm-generic/getorder.h \
|
||||||
|
arch/x86/include/asm/msr.h \
|
||||||
|
arch/x86/include/asm/msr-index.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/errno.h \
|
||||||
|
include/uapi/asm-generic/errno.h \
|
||||||
|
include/uapi/asm-generic/errno-base.h \
|
||||||
|
arch/x86/include/asm/cpumask.h \
|
||||||
|
include/linux/cpumask.h \
|
||||||
|
$(wildcard include/config/CPUMASK_OFFSTACK) \
|
||||||
|
$(wildcard include/config/HOTPLUG_CPU) \
|
||||||
|
$(wildcard include/config/DEBUG_PER_CPU_MAPS) \
|
||||||
|
include/linux/bitmap.h \
|
||||||
|
include/linux/string.h \
|
||||||
|
$(wildcard include/config/BINARY_PRINTF) \
|
||||||
|
$(wildcard include/config/FORTIFY_SOURCE) \
|
||||||
|
include/linux/errno.h \
|
||||||
|
include/uapi/linux/errno.h \
|
||||||
|
include/uapi/linux/string.h \
|
||||||
|
arch/x86/include/asm/string.h \
|
||||||
|
arch/x86/include/asm/string_64.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \
|
||||||
|
include/linux/fortify-string.h \
|
||||||
|
include/linux/atomic.h \
|
||||||
|
arch/x86/include/asm/atomic.h \
|
||||||
|
arch/x86/include/asm/cmpxchg.h \
|
||||||
|
arch/x86/include/asm/cmpxchg_64.h \
|
||||||
|
arch/x86/include/asm/atomic64_64.h \
|
||||||
|
include/linux/atomic/atomic-arch-fallback.h \
|
||||||
|
$(wildcard include/config/GENERIC_ATOMIC64) \
|
||||||
|
include/linux/atomic/atomic-long.h \
|
||||||
|
include/linux/atomic/atomic-instrumented.h \
|
||||||
|
include/linux/bug.h \
|
||||||
|
$(wildcard include/config/BUG_ON_DATA_CORRUPTION) \
|
||||||
|
arch/x86/include/asm/bug.h \
|
||||||
|
$(wildcard include/config/DEBUG_BUGVERBOSE) \
|
||||||
|
include/linux/instrumentation.h \
|
||||||
|
include/asm-generic/bug.h \
|
||||||
|
$(wildcard include/config/BUG) \
|
||||||
|
$(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \
|
||||||
|
arch/x86/include/uapi/asm/msr.h \
|
||||||
|
include/linux/tracepoint-defs.h \
|
||||||
|
arch/x86/include/asm/paravirt.h \
|
||||||
|
$(wildcard include/config/PARAVIRT_SPINLOCKS) \
|
||||||
|
arch/x86/include/asm/frame.h \
|
||||||
|
$(wildcard include/config/FRAME_POINTER) \
|
||||||
|
arch/x86/include/asm/special_insns.h \
|
||||||
|
include/linux/irqflags.h \
|
||||||
|
$(wildcard include/config/TRACE_IRQFLAGS) \
|
||||||
|
$(wildcard include/config/IRQSOFF_TRACER) \
|
||||||
|
$(wildcard include/config/PREEMPT_TRACER) \
|
||||||
|
$(wildcard include/config/DEBUG_IRQFLAGS) \
|
||||||
|
$(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \
|
||||||
|
arch/x86/include/asm/irqflags.h \
|
||||||
|
arch/x86/include/asm/fpu/types.h \
|
||||||
|
arch/x86/include/asm/vmxfeatures.h \
|
||||||
|
arch/x86/include/asm/vdso/processor.h \
|
||||||
|
include/linux/personality.h \
|
||||||
|
include/uapi/linux/personality.h \
|
||||||
|
include/linux/err.h \
|
||||||
|
arch/x86/include/asm/tsc.h \
|
||||||
|
arch/x86/include/asm/cpufeature.h \
|
||||||
|
$(wildcard include/config/X86_FEATURE_NAMES) \
|
||||||
|
include/vdso/time32.h \
|
||||||
|
include/vdso/time.h \
|
||||||
|
include/linux/uidgid.h \
|
||||||
|
$(wildcard include/config/MULTIUSER) \
|
||||||
|
$(wildcard include/config/USER_NS) \
|
||||||
|
include/linux/highuid.h \
|
||||||
|
include/linux/buildid.h \
|
||||||
|
$(wildcard include/config/CRASH_CORE) \
|
||||||
|
include/linux/mm_types.h \
|
||||||
|
$(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \
|
||||||
|
$(wildcard include/config/MEMCG) \
|
||||||
|
$(wildcard include/config/USERFAULTFD) \
|
||||||
|
$(wildcard include/config/SWAP) \
|
||||||
|
$(wildcard include/config/NUMA) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \
|
||||||
|
$(wildcard include/config/MEMBARRIER) \
|
||||||
|
$(wildcard include/config/AIO) \
|
||||||
|
$(wildcard include/config/MMU_NOTIFIER) \
|
||||||
|
$(wildcard include/config/TRANSPARENT_HUGEPAGE) \
|
||||||
|
$(wildcard include/config/NUMA_BALANCING) \
|
||||||
|
$(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \
|
||||||
|
$(wildcard include/config/HUGETLB_PAGE) \
|
||||||
|
$(wildcard include/config/IOMMU_SUPPORT) \
|
||||||
|
include/linux/mm_types_task.h \
|
||||||
|
$(wildcard include/config/SPLIT_PTLOCK_CPUS) \
|
||||||
|
$(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \
|
||||||
|
arch/x86/include/asm/tlbbatch.h \
|
||||||
|
include/linux/auxvec.h \
|
||||||
|
include/uapi/linux/auxvec.h \
|
||||||
|
arch/x86/include/uapi/asm/auxvec.h \
|
||||||
|
include/linux/spinlock.h \
|
||||||
|
$(wildcard include/config/PREEMPTION) \
|
||||||
|
include/linux/preempt.h \
|
||||||
|
$(wildcard include/config/PREEMPT_COUNT) \
|
||||||
|
$(wildcard include/config/TRACE_PREEMPT_TOGGLE) \
|
||||||
|
$(wildcard include/config/PREEMPT_NOTIFIERS) \
|
||||||
|
arch/x86/include/asm/preempt.h \
|
||||||
|
include/linux/thread_info.h \
|
||||||
|
$(wildcard include/config/THREAD_INFO_IN_TASK) \
|
||||||
|
$(wildcard include/config/GENERIC_ENTRY) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \
|
||||||
|
$(wildcard include/config/HARDENED_USERCOPY) \
|
||||||
|
include/linux/restart_block.h \
|
||||||
|
arch/x86/include/asm/thread_info.h \
|
||||||
|
$(wildcard include/config/COMPAT) \
|
||||||
|
include/linux/bottom_half.h \
|
||||||
|
include/linux/lockdep.h \
|
||||||
|
$(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \
|
||||||
|
include/linux/smp.h \
|
||||||
|
$(wildcard include/config/UP_LATE_INIT) \
|
||||||
|
include/linux/smp_types.h \
|
||||||
|
include/linux/llist.h \
|
||||||
|
$(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \
|
||||||
|
arch/x86/include/asm/smp.h \
|
||||||
|
$(wildcard include/config/X86_LOCAL_APIC) \
|
||||||
|
$(wildcard include/config/DEBUG_NMI_SELFTEST) \
|
||||||
|
arch/x86/include/generated/asm/mmiowb.h \
|
||||||
|
include/asm-generic/mmiowb.h \
|
||||||
|
$(wildcard include/config/MMIOWB) \
|
||||||
|
arch/x86/include/asm/spinlock.h \
|
||||||
|
arch/x86/include/asm/qspinlock.h \
|
||||||
|
include/asm-generic/qspinlock.h \
|
||||||
|
arch/x86/include/asm/qrwlock.h \
|
||||||
|
include/asm-generic/qrwlock.h \
|
||||||
|
include/linux/rwlock.h \
|
||||||
|
$(wildcard include/config/PREEMPT) \
|
||||||
|
include/linux/spinlock_api_smp.h \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \
|
||||||
|
$(wildcard include/config/UNINLINE_SPIN_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \
|
||||||
|
$(wildcard include/config/GENERIC_LOCKBREAK) \
|
||||||
|
include/linux/rwlock_api_smp.h \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_READ_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \
|
||||||
|
include/linux/rbtree.h \
|
||||||
|
include/linux/rbtree_types.h \
|
||||||
|
include/linux/rcupdate.h \
|
||||||
|
$(wildcard include/config/PREEMPT_RCU) \
|
||||||
|
$(wildcard include/config/TINY_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_RCU_GENERIC) \
|
||||||
|
$(wildcard include/config/RCU_STALL_COMMON) \
|
||||||
|
$(wildcard include/config/NO_HZ_FULL) \
|
||||||
|
$(wildcard include/config/RCU_NOCB_CPU) \
|
||||||
|
$(wildcard include/config/TASKS_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_TRACE_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_RUDE_RCU) \
|
||||||
|
$(wildcard include/config/TREE_RCU) \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \
|
||||||
|
$(wildcard include/config/PROVE_RCU) \
|
||||||
|
$(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \
|
||||||
|
include/linux/rcutree.h \
|
||||||
|
include/linux/rwsem.h \
|
||||||
|
$(wildcard include/config/RWSEM_SPIN_ON_OWNER) \
|
||||||
|
$(wildcard include/config/DEBUG_RWSEMS) \
|
||||||
|
include/linux/osq_lock.h \
|
||||||
|
include/linux/completion.h \
|
||||||
|
include/linux/swait.h \
|
||||||
|
include/linux/wait.h \
|
||||||
|
include/uapi/linux/wait.h \
|
||||||
|
include/linux/uprobes.h \
|
||||||
|
$(wildcard include/config/UPROBES) \
|
||||||
|
arch/x86/include/asm/uprobes.h \
|
||||||
|
include/linux/notifier.h \
|
||||||
|
include/linux/mutex.h \
|
||||||
|
$(wildcard include/config/MUTEX_SPIN_ON_OWNER) \
|
||||||
|
$(wildcard include/config/DEBUG_MUTEXES) \
|
||||||
|
include/linux/debug_locks.h \
|
||||||
|
include/linux/srcu.h \
|
||||||
|
$(wildcard include/config/TINY_SRCU) \
|
||||||
|
$(wildcard include/config/SRCU) \
|
||||||
|
include/linux/workqueue.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_WORK) \
|
||||||
|
$(wildcard include/config/FREEZER) \
|
||||||
|
$(wildcard include/config/WQ_WATCHDOG) \
|
||||||
|
include/linux/timer.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_TIMERS) \
|
||||||
|
$(wildcard include/config/NO_HZ_COMMON) \
|
||||||
|
include/linux/ktime.h \
|
||||||
|
include/linux/jiffies.h \
|
||||||
|
include/vdso/jiffies.h \
|
||||||
|
include/generated/timeconst.h \
|
||||||
|
include/vdso/ktime.h \
|
||||||
|
include/linux/timekeeping.h \
|
||||||
|
$(wildcard include/config/GENERIC_CMOS_UPDATE) \
|
||||||
|
include/linux/clocksource_ids.h \
|
||||||
|
include/linux/debugobjects.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS) \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_FREE) \
|
||||||
|
include/linux/rcu_segcblist.h \
|
||||||
|
include/linux/srcutree.h \
|
||||||
|
include/linux/rcu_node_tree.h \
|
||||||
|
$(wildcard include/config/RCU_FANOUT) \
|
||||||
|
$(wildcard include/config/RCU_FANOUT_LEAF) \
|
||||||
|
include/linux/page-flags-layout.h \
|
||||||
|
$(wildcard include/config/KASAN_HW_TAGS) \
|
||||||
|
include/linux/numa.h \
|
||||||
|
$(wildcard include/config/NODES_SHIFT) \
|
||||||
|
include/generated/bounds.h \
|
||||||
|
include/linux/seqlock.h \
|
||||||
|
include/linux/ww_mutex.h \
|
||||||
|
$(wildcard include/config/DEBUG_RT_MUTEXES) \
|
||||||
|
$(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \
|
||||||
|
include/linux/rtmutex.h \
|
||||||
|
arch/x86/include/asm/mmu.h \
|
||||||
|
$(wildcard include/config/MODIFY_LDT_SYSCALL) \
|
||||||
|
include/linux/kmod.h \
|
||||||
|
include/linux/umh.h \
|
||||||
|
include/linux/gfp.h \
|
||||||
|
$(wildcard include/config/HIGHMEM) \
|
||||||
|
$(wildcard include/config/ZONE_DMA) \
|
||||||
|
$(wildcard include/config/ZONE_DMA32) \
|
||||||
|
$(wildcard include/config/ZONE_DEVICE) \
|
||||||
|
$(wildcard include/config/PM_SLEEP) \
|
||||||
|
$(wildcard include/config/CONTIG_ALLOC) \
|
||||||
|
$(wildcard include/config/CMA) \
|
||||||
|
include/linux/mmdebug.h \
|
||||||
|
$(wildcard include/config/DEBUG_VM) \
|
||||||
|
$(wildcard include/config/DEBUG_VM_PGFLAGS) \
|
||||||
|
include/linux/mmzone.h \
|
||||||
|
$(wildcard include/config/FORCE_MAX_ZONEORDER) \
|
||||||
|
$(wildcard include/config/MEMORY_ISOLATION) \
|
||||||
|
$(wildcard include/config/ZSMALLOC) \
|
||||||
|
$(wildcard include/config/SHADOW_CALL_STACK) \
|
||||||
|
$(wildcard include/config/MEMORY_HOTPLUG) \
|
||||||
|
$(wildcard include/config/COMPACTION) \
|
||||||
|
$(wildcard include/config/PAGE_EXTENSION) \
|
||||||
|
$(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \
|
||||||
|
$(wildcard include/config/HAVE_MEMORYLESS_NODES) \
|
||||||
|
$(wildcard include/config/SPARSEMEM_EXTREME) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_PFN_VALID) \
|
||||||
|
include/linux/nodemask.h \
|
||||||
|
include/linux/pageblock-flags.h \
|
||||||
|
$(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \
|
||||||
|
include/linux/page-flags.h \
|
||||||
|
$(wildcard include/config/ARCH_USES_PG_UNCACHED) \
|
||||||
|
$(wildcard include/config/MEMORY_FAILURE) \
|
||||||
|
$(wildcard include/config/PAGE_IDLE_FLAG) \
|
||||||
|
$(wildcard include/config/THP_SWAP) \
|
||||||
|
$(wildcard include/config/KSM) \
|
||||||
|
include/linux/local_lock.h \
|
||||||
|
include/linux/local_lock_internal.h \
|
||||||
|
include/linux/memory_hotplug.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ADD_PAGES) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \
|
||||||
|
$(wildcard include/config/MEMORY_HOTREMOVE) \
|
||||||
|
arch/x86/include/asm/mmzone.h \
|
||||||
|
arch/x86/include/asm/mmzone_64.h \
|
||||||
|
include/linux/topology.h \
|
||||||
|
$(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \
|
||||||
|
$(wildcard include/config/SCHED_SMT) \
|
||||||
|
include/linux/arch_topology.h \
|
||||||
|
$(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \
|
||||||
|
include/linux/percpu.h \
|
||||||
|
$(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \
|
||||||
|
$(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \
|
||||||
|
arch/x86/include/asm/topology.h \
|
||||||
|
$(wildcard include/config/SCHED_MC_PRIO) \
|
||||||
|
$(wildcard include/config/ACPI_CPPC_LIB) \
|
||||||
|
arch/x86/include/asm/mpspec.h \
|
||||||
|
$(wildcard include/config/EISA) \
|
||||||
|
$(wildcard include/config/X86_MPPARSE) \
|
||||||
|
arch/x86/include/asm/mpspec_def.h \
|
||||||
|
arch/x86/include/asm/x86_init.h \
|
||||||
|
arch/x86/include/asm/apicdef.h \
|
||||||
|
include/asm-generic/topology.h \
|
||||||
|
include/linux/sysctl.h \
|
||||||
|
$(wildcard include/config/SYSCTL) \
|
||||||
|
include/uapi/linux/sysctl.h \
|
||||||
|
include/linux/elf.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_GNU_PROPERTY) \
|
||||||
|
$(wildcard include/config/ARCH_HAVE_ELF_PROT) \
|
||||||
|
arch/x86/include/asm/elf.h \
|
||||||
|
$(wildcard include/config/X86_X32_ABI) \
|
||||||
|
arch/x86/include/asm/user.h \
|
||||||
|
arch/x86/include/asm/user_64.h \
|
||||||
|
arch/x86/include/asm/fsgsbase.h \
|
||||||
|
arch/x86/include/asm/vdso.h \
|
||||||
|
$(wildcard include/config/X86_X32) \
|
||||||
|
include/uapi/linux/elf.h \
|
||||||
|
include/uapi/linux/elf-em.h \
|
||||||
|
include/linux/kobject.h \
|
||||||
|
$(wildcard include/config/UEVENT_HELPER) \
|
||||||
|
$(wildcard include/config/DEBUG_KOBJECT_RELEASE) \
|
||||||
|
include/linux/sysfs.h \
|
||||||
|
include/linux/kernfs.h \
|
||||||
|
$(wildcard include/config/KERNFS) \
|
||||||
|
include/linux/idr.h \
|
||||||
|
include/linux/radix-tree.h \
|
||||||
|
include/linux/xarray.h \
|
||||||
|
$(wildcard include/config/XARRAY_MULTI) \
|
||||||
|
include/linux/kconfig.h \
|
||||||
|
include/linux/kobject_ns.h \
|
||||||
|
include/linux/kref.h \
|
||||||
|
include/linux/refcount.h \
|
||||||
|
include/linux/moduleparam.h \
|
||||||
|
$(wildcard include/config/ALPHA) \
|
||||||
|
$(wildcard include/config/IA64) \
|
||||||
|
$(wildcard include/config/PPC64) \
|
||||||
|
include/linux/rbtree_latch.h \
|
||||||
|
include/linux/error-injection.h \
|
||||||
|
include/asm-generic/error-injection.h \
|
||||||
|
include/linux/cfi.h \
|
||||||
|
$(wildcard include/config/CFI_CLANG_SHADOW) \
|
||||||
|
arch/x86/include/asm/module.h \
|
||||||
|
$(wildcard include/config/UNWINDER_ORC) \
|
||||||
|
include/asm-generic/module.h \
|
||||||
|
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
|
||||||
|
$(wildcard include/config/MODULES_USE_ELF_REL) \
|
||||||
|
$(wildcard include/config/MODULES_USE_ELF_RELA) \
|
||||||
|
arch/x86/include/asm/orc_types.h \
|
||||||
|
include/linux/build-salt.h \
|
||||||
|
$(wildcard include/config/BUILD_SALT) \
|
||||||
|
include/linux/elfnote.h \
|
||||||
|
include/linux/elfnote-lto.h \
|
||||||
|
$(wildcard include/config/LTO) \
|
||||||
|
include/linux/vermagic.h \
|
||||||
|
include/generated/utsrelease.h \
|
||||||
|
arch/x86/include/asm/vermagic.h \
|
||||||
|
$(wildcard include/config/M486SX) \
|
||||||
|
$(wildcard include/config/M486) \
|
||||||
|
$(wildcard include/config/M586) \
|
||||||
|
$(wildcard include/config/M586TSC) \
|
||||||
|
$(wildcard include/config/M586MMX) \
|
||||||
|
$(wildcard include/config/MCORE2) \
|
||||||
|
$(wildcard include/config/M686) \
|
||||||
|
$(wildcard include/config/MPENTIUMII) \
|
||||||
|
$(wildcard include/config/MPENTIUMIII) \
|
||||||
|
$(wildcard include/config/MPENTIUMM) \
|
||||||
|
$(wildcard include/config/MPENTIUM4) \
|
||||||
|
$(wildcard include/config/MK6) \
|
||||||
|
$(wildcard include/config/MK7) \
|
||||||
|
$(wildcard include/config/MK8) \
|
||||||
|
$(wildcard include/config/MELAN) \
|
||||||
|
$(wildcard include/config/MCRUSOE) \
|
||||||
|
$(wildcard include/config/MEFFICEON) \
|
||||||
|
$(wildcard include/config/MWINCHIPC6) \
|
||||||
|
$(wildcard include/config/MWINCHIP3D) \
|
||||||
|
$(wildcard include/config/MCYRIXIII) \
|
||||||
|
$(wildcard include/config/MVIAC3_2) \
|
||||||
|
$(wildcard include/config/MVIAC7) \
|
||||||
|
$(wildcard include/config/MGEODEGX1) \
|
||||||
|
$(wildcard include/config/MGEODE_LX) \
|
||||||
|
|
||||||
|
/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o: $(deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o)
|
||||||
|
|
||||||
|
$(deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o):
|
||||||
995
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.o.cmd
Normal file
995
modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.o.cmd
Normal file
@ -0,0 +1,995 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o := gcc -Wp,-MMD,/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/.fjveincam.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/11/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -I./ubuntu/include -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fno-jump-tables -mharden-sls=all -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -g -gdwarf-5 -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -fsanitize=bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -DKBUILD_BASENAME='"fjveincam"' -DKBUILD_MODNAME='"fjveincam"' -D__KBUILD_MODNAME=kmod_fjveincam -c -o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.c
|
||||||
|
|
||||||
|
source_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o := /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.c
|
||||||
|
|
||||||
|
deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o := \
|
||||||
|
$(wildcard include/config/FJVEINCAM_DEBUG) \
|
||||||
|
include/linux/compiler-version.h \
|
||||||
|
$(wildcard include/config/CC_VERSION_TEXT) \
|
||||||
|
include/linux/kconfig.h \
|
||||||
|
$(wildcard include/config/CPU_BIG_ENDIAN) \
|
||||||
|
$(wildcard include/config/BOOGER) \
|
||||||
|
$(wildcard include/config/FOO) \
|
||||||
|
include/linux/compiler_types.h \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_COMPILER_H) \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_INLINE) \
|
||||||
|
include/linux/compiler_attributes.h \
|
||||||
|
include/linux/compiler-gcc.h \
|
||||||
|
$(wildcard include/config/RETPOLINE) \
|
||||||
|
$(wildcard include/config/ARCH_USE_BUILTIN_BSWAP) \
|
||||||
|
$(wildcard include/config/KCOV) \
|
||||||
|
include/linux/kernel.h \
|
||||||
|
$(wildcard include/config/PREEMPT_VOLUNTARY) \
|
||||||
|
$(wildcard include/config/PREEMPT_DYNAMIC) \
|
||||||
|
$(wildcard include/config/PREEMPT_) \
|
||||||
|
$(wildcard include/config/DEBUG_ATOMIC_SLEEP) \
|
||||||
|
$(wildcard include/config/SMP) \
|
||||||
|
$(wildcard include/config/MMU) \
|
||||||
|
$(wildcard include/config/PROVE_LOCKING) \
|
||||||
|
$(wildcard include/config/TRACING) \
|
||||||
|
$(wildcard include/config/FTRACE_MCOUNT_RECORD) \
|
||||||
|
include/linux/stdarg.h \
|
||||||
|
include/linux/align.h \
|
||||||
|
include/linux/const.h \
|
||||||
|
include/vdso/const.h \
|
||||||
|
include/uapi/linux/const.h \
|
||||||
|
include/linux/limits.h \
|
||||||
|
include/uapi/linux/limits.h \
|
||||||
|
include/linux/types.h \
|
||||||
|
$(wildcard include/config/HAVE_UID16) \
|
||||||
|
$(wildcard include/config/UID16) \
|
||||||
|
$(wildcard include/config/ARCH_DMA_ADDR_T_64BIT) \
|
||||||
|
$(wildcard include/config/PHYS_ADDR_T_64BIT) \
|
||||||
|
$(wildcard include/config/64BIT) \
|
||||||
|
$(wildcard include/config/ARCH_32BIT_USTAT_F_TINODE) \
|
||||||
|
include/uapi/linux/types.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/types.h \
|
||||||
|
include/uapi/asm-generic/types.h \
|
||||||
|
include/asm-generic/int-ll64.h \
|
||||||
|
include/uapi/asm-generic/int-ll64.h \
|
||||||
|
arch/x86/include/uapi/asm/bitsperlong.h \
|
||||||
|
include/asm-generic/bitsperlong.h \
|
||||||
|
include/uapi/asm-generic/bitsperlong.h \
|
||||||
|
include/uapi/linux/posix_types.h \
|
||||||
|
include/linux/stddef.h \
|
||||||
|
include/uapi/linux/stddef.h \
|
||||||
|
include/linux/compiler_types.h \
|
||||||
|
arch/x86/include/asm/posix_types.h \
|
||||||
|
$(wildcard include/config/X86_32) \
|
||||||
|
arch/x86/include/uapi/asm/posix_types_64.h \
|
||||||
|
include/uapi/asm-generic/posix_types.h \
|
||||||
|
include/vdso/limits.h \
|
||||||
|
include/linux/linkage.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_SYM_ANNOTATIONS) \
|
||||||
|
include/linux/stringify.h \
|
||||||
|
include/linux/export.h \
|
||||||
|
$(wildcard include/config/MODVERSIONS) \
|
||||||
|
$(wildcard include/config/MODULE_REL_CRCS) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_PREL32_RELOCATIONS) \
|
||||||
|
$(wildcard include/config/MODULES) \
|
||||||
|
$(wildcard include/config/TRIM_UNUSED_KSYMS) \
|
||||||
|
include/linux/compiler.h \
|
||||||
|
$(wildcard include/config/TRACE_BRANCH_PROFILING) \
|
||||||
|
$(wildcard include/config/PROFILE_ALL_BRANCHES) \
|
||||||
|
$(wildcard include/config/STACK_VALIDATION) \
|
||||||
|
$(wildcard include/config/CFI_CLANG) \
|
||||||
|
arch/x86/include/generated/asm/rwonce.h \
|
||||||
|
include/asm-generic/rwonce.h \
|
||||||
|
include/linux/kasan-checks.h \
|
||||||
|
$(wildcard include/config/KASAN_GENERIC) \
|
||||||
|
$(wildcard include/config/KASAN_SW_TAGS) \
|
||||||
|
include/linux/kcsan-checks.h \
|
||||||
|
$(wildcard include/config/KCSAN) \
|
||||||
|
$(wildcard include/config/KCSAN_IGNORE_ATOMICS) \
|
||||||
|
arch/x86/include/asm/linkage.h \
|
||||||
|
$(wildcard include/config/X86_64) \
|
||||||
|
$(wildcard include/config/X86_ALIGNMENT_16) \
|
||||||
|
$(wildcard include/config/RETHUNK) \
|
||||||
|
$(wildcard include/config/SLS) \
|
||||||
|
include/linux/bitops.h \
|
||||||
|
include/linux/bits.h \
|
||||||
|
include/vdso/bits.h \
|
||||||
|
include/linux/build_bug.h \
|
||||||
|
include/linux/typecheck.h \
|
||||||
|
include/uapi/linux/kernel.h \
|
||||||
|
include/uapi/linux/sysinfo.h \
|
||||||
|
arch/x86/include/asm/bitops.h \
|
||||||
|
$(wildcard include/config/X86_CMOV) \
|
||||||
|
arch/x86/include/asm/alternative.h \
|
||||||
|
arch/x86/include/asm/asm.h \
|
||||||
|
$(wildcard include/config/KPROBES) \
|
||||||
|
arch/x86/include/asm/extable_fixup_types.h \
|
||||||
|
arch/x86/include/asm/rmwcc.h \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_GOTO) \
|
||||||
|
arch/x86/include/asm/barrier.h \
|
||||||
|
arch/x86/include/asm/nops.h \
|
||||||
|
include/asm-generic/barrier.h \
|
||||||
|
include/asm-generic/bitops/find.h \
|
||||||
|
$(wildcard include/config/GENERIC_FIND_FIRST_BIT) \
|
||||||
|
include/asm-generic/bitops/sched.h \
|
||||||
|
arch/x86/include/asm/arch_hweight.h \
|
||||||
|
arch/x86/include/asm/cpufeatures.h \
|
||||||
|
arch/x86/include/asm/required-features.h \
|
||||||
|
$(wildcard include/config/X86_MINIMUM_CPU_FAMILY) \
|
||||||
|
$(wildcard include/config/MATH_EMULATION) \
|
||||||
|
$(wildcard include/config/X86_PAE) \
|
||||||
|
$(wildcard include/config/X86_CMPXCHG64) \
|
||||||
|
$(wildcard include/config/X86_USE_3DNOW) \
|
||||||
|
$(wildcard include/config/X86_P6_NOP) \
|
||||||
|
$(wildcard include/config/MATOM) \
|
||||||
|
$(wildcard include/config/PARAVIRT_XXL) \
|
||||||
|
arch/x86/include/asm/disabled-features.h \
|
||||||
|
$(wildcard include/config/X86_SMAP) \
|
||||||
|
$(wildcard include/config/X86_UMIP) \
|
||||||
|
$(wildcard include/config/X86_INTEL_MEMORY_PROTECTION_KEYS) \
|
||||||
|
$(wildcard include/config/X86_5LEVEL) \
|
||||||
|
$(wildcard include/config/PAGE_TABLE_ISOLATION) \
|
||||||
|
$(wildcard include/config/CPU_UNRET_ENTRY) \
|
||||||
|
$(wildcard include/config/X86_SGX) \
|
||||||
|
include/asm-generic/bitops/const_hweight.h \
|
||||||
|
include/asm-generic/bitops/instrumented-atomic.h \
|
||||||
|
include/linux/instrumented.h \
|
||||||
|
include/asm-generic/bitops/instrumented-non-atomic.h \
|
||||||
|
$(wildcard include/config/KCSAN_ASSUME_PLAIN_WRITES_ATOMIC) \
|
||||||
|
include/asm-generic/bitops/instrumented-lock.h \
|
||||||
|
include/asm-generic/bitops/le.h \
|
||||||
|
arch/x86/include/uapi/asm/byteorder.h \
|
||||||
|
include/linux/byteorder/little_endian.h \
|
||||||
|
include/uapi/linux/byteorder/little_endian.h \
|
||||||
|
include/linux/swab.h \
|
||||||
|
include/uapi/linux/swab.h \
|
||||||
|
arch/x86/include/uapi/asm/swab.h \
|
||||||
|
include/linux/byteorder/generic.h \
|
||||||
|
include/asm-generic/bitops/ext2-atomic-setbit.h \
|
||||||
|
include/linux/kstrtox.h \
|
||||||
|
include/linux/log2.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ILOG2_U32) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ILOG2_U64) \
|
||||||
|
include/linux/math.h \
|
||||||
|
arch/x86/include/asm/div64.h \
|
||||||
|
include/asm-generic/div64.h \
|
||||||
|
include/linux/minmax.h \
|
||||||
|
include/linux/panic.h \
|
||||||
|
$(wildcard include/config/PANIC_TIMEOUT) \
|
||||||
|
include/linux/printk.h \
|
||||||
|
$(wildcard include/config/MESSAGE_LOGLEVEL_DEFAULT) \
|
||||||
|
$(wildcard include/config/CONSOLE_LOGLEVEL_DEFAULT) \
|
||||||
|
$(wildcard include/config/CONSOLE_LOGLEVEL_QUIET) \
|
||||||
|
$(wildcard include/config/EARLY_PRINTK) \
|
||||||
|
$(wildcard include/config/PRINTK) \
|
||||||
|
$(wildcard include/config/PRINTK_INDEX) \
|
||||||
|
$(wildcard include/config/DYNAMIC_DEBUG) \
|
||||||
|
$(wildcard include/config/DYNAMIC_DEBUG_CORE) \
|
||||||
|
include/linux/init.h \
|
||||||
|
$(wildcard include/config/STRICT_KERNEL_RWX) \
|
||||||
|
$(wildcard include/config/STRICT_MODULE_RWX) \
|
||||||
|
$(wildcard include/config/LTO_CLANG) \
|
||||||
|
include/linux/kern_levels.h \
|
||||||
|
include/linux/cache.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_CACHE_LINE_SIZE) \
|
||||||
|
arch/x86/include/asm/cache.h \
|
||||||
|
$(wildcard include/config/X86_L1_CACHE_SHIFT) \
|
||||||
|
$(wildcard include/config/X86_INTERNODE_CACHE_SHIFT) \
|
||||||
|
$(wildcard include/config/X86_VSMP) \
|
||||||
|
include/linux/ratelimit_types.h \
|
||||||
|
include/uapi/linux/param.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/param.h \
|
||||||
|
include/asm-generic/param.h \
|
||||||
|
$(wildcard include/config/HZ) \
|
||||||
|
include/uapi/asm-generic/param.h \
|
||||||
|
include/linux/spinlock_types.h \
|
||||||
|
$(wildcard include/config/PREEMPT_RT) \
|
||||||
|
$(wildcard include/config/DEBUG_LOCK_ALLOC) \
|
||||||
|
include/linux/spinlock_types_raw.h \
|
||||||
|
$(wildcard include/config/DEBUG_SPINLOCK) \
|
||||||
|
arch/x86/include/asm/spinlock_types.h \
|
||||||
|
include/asm-generic/qspinlock_types.h \
|
||||||
|
$(wildcard include/config/NR_CPUS) \
|
||||||
|
include/asm-generic/qrwlock_types.h \
|
||||||
|
include/linux/lockdep_types.h \
|
||||||
|
$(wildcard include/config/PROVE_RAW_LOCK_NESTING) \
|
||||||
|
$(wildcard include/config/PREEMPT_LOCK) \
|
||||||
|
$(wildcard include/config/LOCKDEP) \
|
||||||
|
$(wildcard include/config/LOCK_STAT) \
|
||||||
|
include/linux/rwlock_types.h \
|
||||||
|
include/linux/once_lite.h \
|
||||||
|
include/linux/dynamic_debug.h \
|
||||||
|
$(wildcard include/config/JUMP_LABEL) \
|
||||||
|
include/linux/jump_label.h \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_JUMP_LABEL_RELATIVE) \
|
||||||
|
arch/x86/include/asm/jump_label.h \
|
||||||
|
include/linux/static_call_types.h \
|
||||||
|
$(wildcard include/config/HAVE_STATIC_CALL) \
|
||||||
|
$(wildcard include/config/HAVE_STATIC_CALL_INLINE) \
|
||||||
|
include/linux/errno.h \
|
||||||
|
include/uapi/linux/errno.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/errno.h \
|
||||||
|
include/uapi/asm-generic/errno.h \
|
||||||
|
include/uapi/asm-generic/errno-base.h \
|
||||||
|
include/linux/slab.h \
|
||||||
|
$(wildcard include/config/DEBUG_SLAB) \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS) \
|
||||||
|
$(wildcard include/config/FAILSLAB) \
|
||||||
|
$(wildcard include/config/MEMCG_KMEM) \
|
||||||
|
$(wildcard include/config/KASAN) \
|
||||||
|
$(wildcard include/config/HAVE_HARDENED_USERCOPY_ALLOCATOR) \
|
||||||
|
$(wildcard include/config/SLAB) \
|
||||||
|
$(wildcard include/config/SLUB) \
|
||||||
|
$(wildcard include/config/SLOB) \
|
||||||
|
$(wildcard include/config/ZONE_DMA) \
|
||||||
|
$(wildcard include/config/CC_IS_GCC) \
|
||||||
|
$(wildcard include/config/CLANG_VERSION) \
|
||||||
|
$(wildcard include/config/NUMA) \
|
||||||
|
include/linux/gfp.h \
|
||||||
|
$(wildcard include/config/HIGHMEM) \
|
||||||
|
$(wildcard include/config/ZONE_DMA32) \
|
||||||
|
$(wildcard include/config/ZONE_DEVICE) \
|
||||||
|
$(wildcard include/config/PM_SLEEP) \
|
||||||
|
$(wildcard include/config/CONTIG_ALLOC) \
|
||||||
|
$(wildcard include/config/CMA) \
|
||||||
|
include/linux/mmdebug.h \
|
||||||
|
$(wildcard include/config/DEBUG_VM) \
|
||||||
|
$(wildcard include/config/DEBUG_VIRTUAL) \
|
||||||
|
$(wildcard include/config/DEBUG_VM_PGFLAGS) \
|
||||||
|
include/linux/bug.h \
|
||||||
|
$(wildcard include/config/GENERIC_BUG) \
|
||||||
|
$(wildcard include/config/BUG_ON_DATA_CORRUPTION) \
|
||||||
|
arch/x86/include/asm/bug.h \
|
||||||
|
$(wildcard include/config/DEBUG_BUGVERBOSE) \
|
||||||
|
include/linux/instrumentation.h \
|
||||||
|
$(wildcard include/config/DEBUG_ENTRY) \
|
||||||
|
include/asm-generic/bug.h \
|
||||||
|
$(wildcard include/config/BUG) \
|
||||||
|
$(wildcard include/config/GENERIC_BUG_RELATIVE_POINTERS) \
|
||||||
|
include/linux/mmzone.h \
|
||||||
|
$(wildcard include/config/FORCE_MAX_ZONEORDER) \
|
||||||
|
$(wildcard include/config/MEMORY_ISOLATION) \
|
||||||
|
$(wildcard include/config/ZSMALLOC) \
|
||||||
|
$(wildcard include/config/SHADOW_CALL_STACK) \
|
||||||
|
$(wildcard include/config/SWAP) \
|
||||||
|
$(wildcard include/config/TRANSPARENT_HUGEPAGE) \
|
||||||
|
$(wildcard include/config/MEMCG) \
|
||||||
|
$(wildcard include/config/SPARSEMEM) \
|
||||||
|
$(wildcard include/config/MEMORY_HOTPLUG) \
|
||||||
|
$(wildcard include/config/COMPACTION) \
|
||||||
|
$(wildcard include/config/FLATMEM) \
|
||||||
|
$(wildcard include/config/PAGE_EXTENSION) \
|
||||||
|
$(wildcard include/config/DEFERRED_STRUCT_PAGE_INIT) \
|
||||||
|
$(wildcard include/config/HAVE_MEMORYLESS_NODES) \
|
||||||
|
$(wildcard include/config/SPARSEMEM_VMEMMAP) \
|
||||||
|
$(wildcard include/config/SPARSEMEM_EXTREME) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_PFN_VALID) \
|
||||||
|
include/linux/spinlock.h \
|
||||||
|
$(wildcard include/config/PREEMPTION) \
|
||||||
|
include/linux/preempt.h \
|
||||||
|
$(wildcard include/config/PREEMPT_COUNT) \
|
||||||
|
$(wildcard include/config/DEBUG_PREEMPT) \
|
||||||
|
$(wildcard include/config/TRACE_PREEMPT_TOGGLE) \
|
||||||
|
$(wildcard include/config/PREEMPT_NOTIFIERS) \
|
||||||
|
include/linux/list.h \
|
||||||
|
$(wildcard include/config/DEBUG_LIST) \
|
||||||
|
include/linux/poison.h \
|
||||||
|
$(wildcard include/config/ILLEGAL_POINTER_VALUE) \
|
||||||
|
arch/x86/include/asm/preempt.h \
|
||||||
|
arch/x86/include/asm/percpu.h \
|
||||||
|
$(wildcard include/config/X86_64_SMP) \
|
||||||
|
include/asm-generic/percpu.h \
|
||||||
|
$(wildcard include/config/HAVE_SETUP_PER_CPU_AREA) \
|
||||||
|
include/linux/threads.h \
|
||||||
|
$(wildcard include/config/BASE_SMALL) \
|
||||||
|
include/linux/percpu-defs.h \
|
||||||
|
$(wildcard include/config/DEBUG_FORCE_WEAK_PER_CPU) \
|
||||||
|
$(wildcard include/config/AMD_MEM_ENCRYPT) \
|
||||||
|
include/linux/thread_info.h \
|
||||||
|
$(wildcard include/config/THREAD_INFO_IN_TASK) \
|
||||||
|
$(wildcard include/config/GENERIC_ENTRY) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_WITHIN_STACK_FRAMES) \
|
||||||
|
$(wildcard include/config/HARDENED_USERCOPY) \
|
||||||
|
include/linux/restart_block.h \
|
||||||
|
include/linux/time64.h \
|
||||||
|
include/linux/math64.h \
|
||||||
|
$(wildcard include/config/ARCH_SUPPORTS_INT128) \
|
||||||
|
include/vdso/math64.h \
|
||||||
|
include/vdso/time64.h \
|
||||||
|
include/uapi/linux/time.h \
|
||||||
|
include/uapi/linux/time_types.h \
|
||||||
|
arch/x86/include/asm/current.h \
|
||||||
|
arch/x86/include/asm/thread_info.h \
|
||||||
|
$(wildcard include/config/VM86) \
|
||||||
|
$(wildcard include/config/X86_IOPL_IOPERM) \
|
||||||
|
$(wildcard include/config/FRAME_POINTER) \
|
||||||
|
$(wildcard include/config/COMPAT) \
|
||||||
|
$(wildcard include/config/IA32_EMULATION) \
|
||||||
|
arch/x86/include/asm/page.h \
|
||||||
|
arch/x86/include/asm/page_types.h \
|
||||||
|
$(wildcard include/config/PHYSICAL_START) \
|
||||||
|
$(wildcard include/config/PHYSICAL_ALIGN) \
|
||||||
|
$(wildcard include/config/DYNAMIC_PHYSICAL_MASK) \
|
||||||
|
include/linux/mem_encrypt.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_MEM_ENCRYPT) \
|
||||||
|
arch/x86/include/asm/mem_encrypt.h \
|
||||||
|
include/linux/cc_platform.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_CC_PLATFORM) \
|
||||||
|
arch/x86/include/uapi/asm/bootparam.h \
|
||||||
|
include/linux/screen_info.h \
|
||||||
|
include/uapi/linux/screen_info.h \
|
||||||
|
include/linux/apm_bios.h \
|
||||||
|
include/uapi/linux/apm_bios.h \
|
||||||
|
include/uapi/linux/ioctl.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/ioctl.h \
|
||||||
|
include/asm-generic/ioctl.h \
|
||||||
|
include/uapi/asm-generic/ioctl.h \
|
||||||
|
include/linux/edd.h \
|
||||||
|
include/uapi/linux/edd.h \
|
||||||
|
arch/x86/include/asm/ist.h \
|
||||||
|
arch/x86/include/uapi/asm/ist.h \
|
||||||
|
include/video/edid.h \
|
||||||
|
$(wildcard include/config/X86) \
|
||||||
|
include/uapi/video/edid.h \
|
||||||
|
arch/x86/include/asm/page_64_types.h \
|
||||||
|
$(wildcard include/config/DYNAMIC_MEMORY_LAYOUT) \
|
||||||
|
$(wildcard include/config/RANDOMIZE_BASE) \
|
||||||
|
arch/x86/include/asm/kaslr.h \
|
||||||
|
$(wildcard include/config/RANDOMIZE_MEMORY) \
|
||||||
|
arch/x86/include/asm/page_64.h \
|
||||||
|
$(wildcard include/config/X86_VSYSCALL_EMULATION) \
|
||||||
|
include/linux/range.h \
|
||||||
|
include/asm-generic/memory_model.h \
|
||||||
|
include/linux/pfn.h \
|
||||||
|
include/asm-generic/getorder.h \
|
||||||
|
arch/x86/include/asm/cpufeature.h \
|
||||||
|
$(wildcard include/config/X86_FEATURE_NAMES) \
|
||||||
|
arch/x86/include/asm/processor.h \
|
||||||
|
$(wildcard include/config/X86_VMX_FEATURE_NAMES) \
|
||||||
|
$(wildcard include/config/STACKPROTECTOR) \
|
||||||
|
$(wildcard include/config/X86_DEBUGCTLMSR) \
|
||||||
|
$(wildcard include/config/CPU_SUP_AMD) \
|
||||||
|
$(wildcard include/config/XEN) \
|
||||||
|
arch/x86/include/asm/processor-flags.h \
|
||||||
|
arch/x86/include/uapi/asm/processor-flags.h \
|
||||||
|
arch/x86/include/asm/math_emu.h \
|
||||||
|
arch/x86/include/asm/ptrace.h \
|
||||||
|
$(wildcard include/config/PARAVIRT) \
|
||||||
|
arch/x86/include/asm/segment.h \
|
||||||
|
$(wildcard include/config/XEN_PV) \
|
||||||
|
arch/x86/include/uapi/asm/ptrace.h \
|
||||||
|
arch/x86/include/uapi/asm/ptrace-abi.h \
|
||||||
|
arch/x86/include/asm/paravirt_types.h \
|
||||||
|
$(wildcard include/config/PGTABLE_LEVELS) \
|
||||||
|
$(wildcard include/config/PARAVIRT_DEBUG) \
|
||||||
|
arch/x86/include/asm/desc_defs.h \
|
||||||
|
arch/x86/include/asm/pgtable_types.h \
|
||||||
|
$(wildcard include/config/MEM_SOFT_DIRTY) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_USERFAULTFD_WP) \
|
||||||
|
$(wildcard include/config/PROC_FS) \
|
||||||
|
arch/x86/include/asm/pgtable_64_types.h \
|
||||||
|
$(wildcard include/config/DEBUG_KMAP_LOCAL_FORCE_MAP) \
|
||||||
|
arch/x86/include/asm/sparsemem.h \
|
||||||
|
$(wildcard include/config/NUMA_KEEP_MEMINFO) \
|
||||||
|
arch/x86/include/asm/nospec-branch.h \
|
||||||
|
$(wildcard include/config/CPU_IBPB_ENTRY) \
|
||||||
|
include/linux/static_key.h \
|
||||||
|
include/linux/objtool.h \
|
||||||
|
arch/x86/include/asm/msr-index.h \
|
||||||
|
arch/x86/include/asm/unwind_hints.h \
|
||||||
|
arch/x86/include/asm/orc_types.h \
|
||||||
|
arch/x86/include/asm/GEN-for-each-reg.h \
|
||||||
|
arch/x86/include/asm/proto.h \
|
||||||
|
arch/x86/include/uapi/asm/ldt.h \
|
||||||
|
arch/x86/include/uapi/asm/sigcontext.h \
|
||||||
|
arch/x86/include/asm/msr.h \
|
||||||
|
$(wildcard include/config/TRACEPOINTS) \
|
||||||
|
arch/x86/include/asm/msr-index.h \
|
||||||
|
arch/x86/include/asm/cpumask.h \
|
||||||
|
include/linux/cpumask.h \
|
||||||
|
$(wildcard include/config/CPUMASK_OFFSTACK) \
|
||||||
|
$(wildcard include/config/HOTPLUG_CPU) \
|
||||||
|
$(wildcard include/config/DEBUG_PER_CPU_MAPS) \
|
||||||
|
include/linux/bitmap.h \
|
||||||
|
include/linux/string.h \
|
||||||
|
$(wildcard include/config/BINARY_PRINTF) \
|
||||||
|
$(wildcard include/config/FORTIFY_SOURCE) \
|
||||||
|
include/uapi/linux/string.h \
|
||||||
|
arch/x86/include/asm/string.h \
|
||||||
|
arch/x86/include/asm/string_64.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_UACCESS_FLUSHCACHE) \
|
||||||
|
include/linux/fortify-string.h \
|
||||||
|
include/linux/atomic.h \
|
||||||
|
arch/x86/include/asm/atomic.h \
|
||||||
|
arch/x86/include/asm/cmpxchg.h \
|
||||||
|
arch/x86/include/asm/cmpxchg_64.h \
|
||||||
|
arch/x86/include/asm/atomic64_64.h \
|
||||||
|
include/linux/atomic/atomic-arch-fallback.h \
|
||||||
|
$(wildcard include/config/GENERIC_ATOMIC64) \
|
||||||
|
include/linux/atomic/atomic-long.h \
|
||||||
|
include/linux/atomic/atomic-instrumented.h \
|
||||||
|
arch/x86/include/uapi/asm/msr.h \
|
||||||
|
include/linux/tracepoint-defs.h \
|
||||||
|
arch/x86/include/asm/paravirt.h \
|
||||||
|
$(wildcard include/config/PARAVIRT_SPINLOCKS) \
|
||||||
|
arch/x86/include/asm/frame.h \
|
||||||
|
arch/x86/include/asm/special_insns.h \
|
||||||
|
include/linux/irqflags.h \
|
||||||
|
$(wildcard include/config/TRACE_IRQFLAGS) \
|
||||||
|
$(wildcard include/config/IRQSOFF_TRACER) \
|
||||||
|
$(wildcard include/config/PREEMPT_TRACER) \
|
||||||
|
$(wildcard include/config/DEBUG_IRQFLAGS) \
|
||||||
|
$(wildcard include/config/TRACE_IRQFLAGS_SUPPORT) \
|
||||||
|
arch/x86/include/asm/irqflags.h \
|
||||||
|
arch/x86/include/asm/fpu/types.h \
|
||||||
|
arch/x86/include/asm/vmxfeatures.h \
|
||||||
|
arch/x86/include/asm/vdso/processor.h \
|
||||||
|
include/linux/personality.h \
|
||||||
|
include/uapi/linux/personality.h \
|
||||||
|
include/linux/err.h \
|
||||||
|
include/linux/bottom_half.h \
|
||||||
|
include/linux/lockdep.h \
|
||||||
|
$(wildcard include/config/DEBUG_LOCKING_API_SELFTESTS) \
|
||||||
|
include/linux/smp.h \
|
||||||
|
$(wildcard include/config/UP_LATE_INIT) \
|
||||||
|
include/linux/smp_types.h \
|
||||||
|
include/linux/llist.h \
|
||||||
|
$(wildcard include/config/ARCH_HAVE_NMI_SAFE_CMPXCHG) \
|
||||||
|
arch/x86/include/asm/smp.h \
|
||||||
|
$(wildcard include/config/X86_LOCAL_APIC) \
|
||||||
|
$(wildcard include/config/DEBUG_NMI_SELFTEST) \
|
||||||
|
arch/x86/include/generated/asm/mmiowb.h \
|
||||||
|
include/asm-generic/mmiowb.h \
|
||||||
|
$(wildcard include/config/MMIOWB) \
|
||||||
|
arch/x86/include/asm/spinlock.h \
|
||||||
|
arch/x86/include/asm/qspinlock.h \
|
||||||
|
include/asm-generic/qspinlock.h \
|
||||||
|
arch/x86/include/asm/qrwlock.h \
|
||||||
|
include/asm-generic/qrwlock.h \
|
||||||
|
include/linux/rwlock.h \
|
||||||
|
$(wildcard include/config/PREEMPT) \
|
||||||
|
include/linux/spinlock_api_smp.h \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_TRYLOCK_BH) \
|
||||||
|
$(wildcard include/config/UNINLINE_SPIN_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_SPIN_UNLOCK_IRQRESTORE) \
|
||||||
|
$(wildcard include/config/GENERIC_LOCKBREAK) \
|
||||||
|
include/linux/rwlock_api_smp.h \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_READ_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_LOCK_IRQSAVE) \
|
||||||
|
$(wildcard include/config/INLINE_READ_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_TRYLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_BH) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_IRQ) \
|
||||||
|
$(wildcard include/config/INLINE_READ_UNLOCK_IRQRESTORE) \
|
||||||
|
$(wildcard include/config/INLINE_WRITE_UNLOCK_IRQRESTORE) \
|
||||||
|
include/linux/wait.h \
|
||||||
|
include/uapi/linux/wait.h \
|
||||||
|
include/linux/numa.h \
|
||||||
|
$(wildcard include/config/NODES_SHIFT) \
|
||||||
|
include/linux/seqlock.h \
|
||||||
|
include/linux/mutex.h \
|
||||||
|
$(wildcard include/config/MUTEX_SPIN_ON_OWNER) \
|
||||||
|
$(wildcard include/config/DEBUG_MUTEXES) \
|
||||||
|
include/linux/osq_lock.h \
|
||||||
|
include/linux/debug_locks.h \
|
||||||
|
include/linux/ww_mutex.h \
|
||||||
|
$(wildcard include/config/DEBUG_RT_MUTEXES) \
|
||||||
|
$(wildcard include/config/DEBUG_WW_MUTEX_SLOWPATH) \
|
||||||
|
include/linux/rtmutex.h \
|
||||||
|
include/linux/rbtree_types.h \
|
||||||
|
include/linux/nodemask.h \
|
||||||
|
include/linux/pageblock-flags.h \
|
||||||
|
$(wildcard include/config/HUGETLB_PAGE) \
|
||||||
|
$(wildcard include/config/HUGETLB_PAGE_SIZE_VARIABLE) \
|
||||||
|
include/linux/page-flags-layout.h \
|
||||||
|
$(wildcard include/config/KASAN_HW_TAGS) \
|
||||||
|
$(wildcard include/config/NUMA_BALANCING) \
|
||||||
|
include/generated/bounds.h \
|
||||||
|
include/linux/mm_types.h \
|
||||||
|
$(wildcard include/config/HAVE_ALIGNED_STRUCT_PAGE) \
|
||||||
|
$(wildcard include/config/USERFAULTFD) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_COMPAT_MMAP_BASES) \
|
||||||
|
$(wildcard include/config/MEMBARRIER) \
|
||||||
|
$(wildcard include/config/AIO) \
|
||||||
|
$(wildcard include/config/MMU_NOTIFIER) \
|
||||||
|
$(wildcard include/config/ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH) \
|
||||||
|
$(wildcard include/config/IOMMU_SUPPORT) \
|
||||||
|
include/linux/mm_types_task.h \
|
||||||
|
$(wildcard include/config/SPLIT_PTLOCK_CPUS) \
|
||||||
|
$(wildcard include/config/ARCH_ENABLE_SPLIT_PMD_PTLOCK) \
|
||||||
|
arch/x86/include/asm/tlbbatch.h \
|
||||||
|
include/linux/auxvec.h \
|
||||||
|
include/uapi/linux/auxvec.h \
|
||||||
|
arch/x86/include/uapi/asm/auxvec.h \
|
||||||
|
include/linux/rbtree.h \
|
||||||
|
include/linux/rcupdate.h \
|
||||||
|
$(wildcard include/config/PREEMPT_RCU) \
|
||||||
|
$(wildcard include/config/TINY_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_RCU_GENERIC) \
|
||||||
|
$(wildcard include/config/RCU_STALL_COMMON) \
|
||||||
|
$(wildcard include/config/NO_HZ_FULL) \
|
||||||
|
$(wildcard include/config/RCU_NOCB_CPU) \
|
||||||
|
$(wildcard include/config/TASKS_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_TRACE_RCU) \
|
||||||
|
$(wildcard include/config/TASKS_RUDE_RCU) \
|
||||||
|
$(wildcard include/config/TREE_RCU) \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_RCU_HEAD) \
|
||||||
|
$(wildcard include/config/PROVE_RCU) \
|
||||||
|
$(wildcard include/config/ARCH_WEAK_RELEASE_ACQUIRE) \
|
||||||
|
include/linux/rcutree.h \
|
||||||
|
include/linux/rwsem.h \
|
||||||
|
$(wildcard include/config/RWSEM_SPIN_ON_OWNER) \
|
||||||
|
$(wildcard include/config/DEBUG_RWSEMS) \
|
||||||
|
include/linux/completion.h \
|
||||||
|
include/linux/swait.h \
|
||||||
|
include/linux/uprobes.h \
|
||||||
|
$(wildcard include/config/UPROBES) \
|
||||||
|
arch/x86/include/asm/uprobes.h \
|
||||||
|
include/linux/notifier.h \
|
||||||
|
$(wildcard include/config/TREE_SRCU) \
|
||||||
|
include/linux/srcu.h \
|
||||||
|
$(wildcard include/config/TINY_SRCU) \
|
||||||
|
$(wildcard include/config/SRCU) \
|
||||||
|
include/linux/workqueue.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_WORK) \
|
||||||
|
$(wildcard include/config/FREEZER) \
|
||||||
|
$(wildcard include/config/SYSFS) \
|
||||||
|
$(wildcard include/config/WQ_WATCHDOG) \
|
||||||
|
include/linux/timer.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_TIMERS) \
|
||||||
|
$(wildcard include/config/NO_HZ_COMMON) \
|
||||||
|
include/linux/ktime.h \
|
||||||
|
include/linux/time.h \
|
||||||
|
$(wildcard include/config/POSIX_TIMERS) \
|
||||||
|
include/linux/time32.h \
|
||||||
|
include/linux/timex.h \
|
||||||
|
include/uapi/linux/timex.h \
|
||||||
|
arch/x86/include/asm/timex.h \
|
||||||
|
$(wildcard include/config/X86_TSC) \
|
||||||
|
arch/x86/include/asm/tsc.h \
|
||||||
|
include/vdso/time32.h \
|
||||||
|
include/vdso/time.h \
|
||||||
|
include/linux/jiffies.h \
|
||||||
|
include/vdso/jiffies.h \
|
||||||
|
include/generated/timeconst.h \
|
||||||
|
include/vdso/ktime.h \
|
||||||
|
include/linux/timekeeping.h \
|
||||||
|
$(wildcard include/config/GENERIC_CMOS_UPDATE) \
|
||||||
|
include/linux/clocksource_ids.h \
|
||||||
|
include/linux/debugobjects.h \
|
||||||
|
$(wildcard include/config/DEBUG_OBJECTS_FREE) \
|
||||||
|
include/linux/rcu_segcblist.h \
|
||||||
|
include/linux/srcutree.h \
|
||||||
|
include/linux/rcu_node_tree.h \
|
||||||
|
$(wildcard include/config/RCU_FANOUT) \
|
||||||
|
$(wildcard include/config/RCU_FANOUT_LEAF) \
|
||||||
|
arch/x86/include/asm/mmu.h \
|
||||||
|
$(wildcard include/config/MODIFY_LDT_SYSCALL) \
|
||||||
|
include/linux/page-flags.h \
|
||||||
|
$(wildcard include/config/ARCH_USES_PG_UNCACHED) \
|
||||||
|
$(wildcard include/config/MEMORY_FAILURE) \
|
||||||
|
$(wildcard include/config/PAGE_IDLE_FLAG) \
|
||||||
|
$(wildcard include/config/THP_SWAP) \
|
||||||
|
$(wildcard include/config/KSM) \
|
||||||
|
include/linux/local_lock.h \
|
||||||
|
include/linux/local_lock_internal.h \
|
||||||
|
include/linux/memory_hotplug.h \
|
||||||
|
$(wildcard include/config/ARCH_HAS_ADD_PAGES) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_NODEDATA_EXTENSION) \
|
||||||
|
$(wildcard include/config/MEMORY_HOTREMOVE) \
|
||||||
|
arch/x86/include/asm/mmzone.h \
|
||||||
|
arch/x86/include/asm/mmzone_64.h \
|
||||||
|
include/linux/topology.h \
|
||||||
|
$(wildcard include/config/USE_PERCPU_NUMA_NODE_ID) \
|
||||||
|
$(wildcard include/config/SCHED_SMT) \
|
||||||
|
include/linux/arch_topology.h \
|
||||||
|
$(wildcard include/config/GENERIC_ARCH_TOPOLOGY) \
|
||||||
|
include/linux/percpu.h \
|
||||||
|
$(wildcard include/config/NEED_PER_CPU_EMBED_FIRST_CHUNK) \
|
||||||
|
$(wildcard include/config/NEED_PER_CPU_PAGE_FIRST_CHUNK) \
|
||||||
|
arch/x86/include/asm/topology.h \
|
||||||
|
$(wildcard include/config/SCHED_MC_PRIO) \
|
||||||
|
$(wildcard include/config/ACPI_CPPC_LIB) \
|
||||||
|
arch/x86/include/asm/mpspec.h \
|
||||||
|
$(wildcard include/config/EISA) \
|
||||||
|
$(wildcard include/config/X86_MPPARSE) \
|
||||||
|
arch/x86/include/asm/mpspec_def.h \
|
||||||
|
arch/x86/include/asm/x86_init.h \
|
||||||
|
arch/x86/include/asm/apicdef.h \
|
||||||
|
include/asm-generic/topology.h \
|
||||||
|
include/linux/overflow.h \
|
||||||
|
include/linux/percpu-refcount.h \
|
||||||
|
include/linux/kasan.h \
|
||||||
|
$(wildcard include/config/KASAN_STACK) \
|
||||||
|
$(wildcard include/config/KASAN_VMALLOC) \
|
||||||
|
$(wildcard include/config/KASAN_INLINE) \
|
||||||
|
include/linux/module.h \
|
||||||
|
$(wildcard include/config/MODULES_TREE_LOOKUP) \
|
||||||
|
$(wildcard include/config/LIVEPATCH) \
|
||||||
|
$(wildcard include/config/STACKTRACE_BUILD_ID) \
|
||||||
|
$(wildcard include/config/MODULE_SIG) \
|
||||||
|
$(wildcard include/config/KALLSYMS) \
|
||||||
|
$(wildcard include/config/BPF_EVENTS) \
|
||||||
|
$(wildcard include/config/DEBUG_INFO_BTF_MODULES) \
|
||||||
|
$(wildcard include/config/EVENT_TRACING) \
|
||||||
|
$(wildcard include/config/MODULE_UNLOAD) \
|
||||||
|
$(wildcard include/config/CONSTRUCTORS) \
|
||||||
|
$(wildcard include/config/FUNCTION_ERROR_INJECTION) \
|
||||||
|
include/linux/stat.h \
|
||||||
|
arch/x86/include/uapi/asm/stat.h \
|
||||||
|
include/uapi/linux/stat.h \
|
||||||
|
include/linux/uidgid.h \
|
||||||
|
$(wildcard include/config/MULTIUSER) \
|
||||||
|
$(wildcard include/config/USER_NS) \
|
||||||
|
include/linux/highuid.h \
|
||||||
|
include/linux/buildid.h \
|
||||||
|
$(wildcard include/config/CRASH_CORE) \
|
||||||
|
include/linux/kmod.h \
|
||||||
|
include/linux/umh.h \
|
||||||
|
include/linux/sysctl.h \
|
||||||
|
$(wildcard include/config/SYSCTL) \
|
||||||
|
include/uapi/linux/sysctl.h \
|
||||||
|
include/linux/elf.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_GNU_PROPERTY) \
|
||||||
|
$(wildcard include/config/ARCH_HAVE_ELF_PROT) \
|
||||||
|
arch/x86/include/asm/elf.h \
|
||||||
|
$(wildcard include/config/X86_X32_ABI) \
|
||||||
|
arch/x86/include/asm/user.h \
|
||||||
|
arch/x86/include/asm/user_64.h \
|
||||||
|
arch/x86/include/asm/fsgsbase.h \
|
||||||
|
arch/x86/include/asm/vdso.h \
|
||||||
|
$(wildcard include/config/X86_X32) \
|
||||||
|
include/uapi/linux/elf.h \
|
||||||
|
include/uapi/linux/elf-em.h \
|
||||||
|
include/linux/kobject.h \
|
||||||
|
$(wildcard include/config/UEVENT_HELPER) \
|
||||||
|
$(wildcard include/config/DEBUG_KOBJECT_RELEASE) \
|
||||||
|
include/linux/sysfs.h \
|
||||||
|
include/linux/kernfs.h \
|
||||||
|
$(wildcard include/config/KERNFS) \
|
||||||
|
include/linux/idr.h \
|
||||||
|
include/linux/radix-tree.h \
|
||||||
|
include/linux/xarray.h \
|
||||||
|
$(wildcard include/config/XARRAY_MULTI) \
|
||||||
|
include/linux/kconfig.h \
|
||||||
|
include/linux/kobject_ns.h \
|
||||||
|
include/linux/kref.h \
|
||||||
|
include/linux/refcount.h \
|
||||||
|
include/linux/moduleparam.h \
|
||||||
|
$(wildcard include/config/ALPHA) \
|
||||||
|
$(wildcard include/config/IA64) \
|
||||||
|
$(wildcard include/config/PPC64) \
|
||||||
|
include/linux/rbtree_latch.h \
|
||||||
|
include/linux/error-injection.h \
|
||||||
|
include/asm-generic/error-injection.h \
|
||||||
|
include/linux/cfi.h \
|
||||||
|
$(wildcard include/config/CFI_CLANG_SHADOW) \
|
||||||
|
arch/x86/include/asm/module.h \
|
||||||
|
$(wildcard include/config/UNWINDER_ORC) \
|
||||||
|
include/asm-generic/module.h \
|
||||||
|
$(wildcard include/config/HAVE_MOD_ARCH_SPECIFIC) \
|
||||||
|
$(wildcard include/config/MODULES_USE_ELF_REL) \
|
||||||
|
$(wildcard include/config/MODULES_USE_ELF_RELA) \
|
||||||
|
arch/x86/include/asm/orc_types.h \
|
||||||
|
include/linux/uaccess.h \
|
||||||
|
$(wildcard include/config/SET_FS) \
|
||||||
|
include/linux/fault-inject-usercopy.h \
|
||||||
|
$(wildcard include/config/FAULT_INJECTION_USERCOPY) \
|
||||||
|
include/linux/sched.h \
|
||||||
|
$(wildcard include/config/VIRT_CPU_ACCOUNTING_NATIVE) \
|
||||||
|
$(wildcard include/config/SCHED_INFO) \
|
||||||
|
$(wildcard include/config/SCHEDSTATS) \
|
||||||
|
$(wildcard include/config/FAIR_GROUP_SCHED) \
|
||||||
|
$(wildcard include/config/RT_GROUP_SCHED) \
|
||||||
|
$(wildcard include/config/RT_MUTEXES) \
|
||||||
|
$(wildcard include/config/UCLAMP_TASK) \
|
||||||
|
$(wildcard include/config/UCLAMP_BUCKETS_COUNT) \
|
||||||
|
$(wildcard include/config/KMAP_LOCAL) \
|
||||||
|
$(wildcard include/config/SCHED_CORE) \
|
||||||
|
$(wildcard include/config/CGROUP_SCHED) \
|
||||||
|
$(wildcard include/config/BLK_DEV_IO_TRACE) \
|
||||||
|
$(wildcard include/config/PSI) \
|
||||||
|
$(wildcard include/config/COMPAT_BRK) \
|
||||||
|
$(wildcard include/config/CGROUPS) \
|
||||||
|
$(wildcard include/config/BLK_CGROUP) \
|
||||||
|
$(wildcard include/config/PAGE_OWNER) \
|
||||||
|
$(wildcard include/config/EVENTFD) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_SCALED_CPUTIME) \
|
||||||
|
$(wildcard include/config/VIRT_CPU_ACCOUNTING_GEN) \
|
||||||
|
$(wildcard include/config/POSIX_CPUTIMERS) \
|
||||||
|
$(wildcard include/config/POSIX_CPU_TIMERS_TASK_WORK) \
|
||||||
|
$(wildcard include/config/KEYS) \
|
||||||
|
$(wildcard include/config/SYSVIPC) \
|
||||||
|
$(wildcard include/config/DETECT_HUNG_TASK) \
|
||||||
|
$(wildcard include/config/IO_URING) \
|
||||||
|
$(wildcard include/config/AUDIT) \
|
||||||
|
$(wildcard include/config/AUDITSYSCALL) \
|
||||||
|
$(wildcard include/config/UBSAN) \
|
||||||
|
$(wildcard include/config/UBSAN_TRAP) \
|
||||||
|
$(wildcard include/config/BLOCK) \
|
||||||
|
$(wildcard include/config/TASK_XACCT) \
|
||||||
|
$(wildcard include/config/CPUSETS) \
|
||||||
|
$(wildcard include/config/X86_CPU_RESCTRL) \
|
||||||
|
$(wildcard include/config/FUTEX) \
|
||||||
|
$(wildcard include/config/PERF_EVENTS) \
|
||||||
|
$(wildcard include/config/RSEQ) \
|
||||||
|
$(wildcard include/config/TASK_DELAY_ACCT) \
|
||||||
|
$(wildcard include/config/FAULT_INJECTION) \
|
||||||
|
$(wildcard include/config/LATENCYTOP) \
|
||||||
|
$(wildcard include/config/KUNIT) \
|
||||||
|
$(wildcard include/config/FUNCTION_GRAPH_TRACER) \
|
||||||
|
$(wildcard include/config/BCACHE) \
|
||||||
|
$(wildcard include/config/VMAP_STACK) \
|
||||||
|
$(wildcard include/config/SECURITY) \
|
||||||
|
$(wildcard include/config/BPF_SYSCALL) \
|
||||||
|
$(wildcard include/config/GCC_PLUGIN_STACKLEAK) \
|
||||||
|
$(wildcard include/config/X86_MCE) \
|
||||||
|
$(wildcard include/config/KRETPROBES) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_PARANOID_L1D_FLUSH) \
|
||||||
|
$(wildcard include/config/ARCH_TASK_STRUCT_ON_STACK) \
|
||||||
|
$(wildcard include/config/DEBUG_RSEQ) \
|
||||||
|
include/uapi/linux/sched.h \
|
||||||
|
include/linux/pid.h \
|
||||||
|
include/linux/rculist.h \
|
||||||
|
$(wildcard include/config/PROVE_RCU_LIST) \
|
||||||
|
include/linux/sem.h \
|
||||||
|
include/uapi/linux/sem.h \
|
||||||
|
include/linux/ipc.h \
|
||||||
|
include/linux/rhashtable-types.h \
|
||||||
|
include/uapi/linux/ipc.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/ipcbuf.h \
|
||||||
|
include/uapi/asm-generic/ipcbuf.h \
|
||||||
|
arch/x86/include/uapi/asm/sembuf.h \
|
||||||
|
include/linux/shm.h \
|
||||||
|
include/uapi/linux/shm.h \
|
||||||
|
include/uapi/asm-generic/hugetlb_encode.h \
|
||||||
|
arch/x86/include/uapi/asm/shmbuf.h \
|
||||||
|
include/uapi/asm-generic/shmbuf.h \
|
||||||
|
arch/x86/include/asm/shmparam.h \
|
||||||
|
include/linux/plist.h \
|
||||||
|
$(wildcard include/config/DEBUG_PLIST) \
|
||||||
|
include/linux/hrtimer.h \
|
||||||
|
$(wildcard include/config/HIGH_RES_TIMERS) \
|
||||||
|
$(wildcard include/config/TIME_LOW_RES) \
|
||||||
|
$(wildcard include/config/TIMERFD) \
|
||||||
|
include/linux/hrtimer_defs.h \
|
||||||
|
include/linux/timerqueue.h \
|
||||||
|
include/linux/seccomp.h \
|
||||||
|
$(wildcard include/config/SECCOMP) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_SECCOMP_FILTER) \
|
||||||
|
$(wildcard include/config/SECCOMP_FILTER) \
|
||||||
|
$(wildcard include/config/CHECKPOINT_RESTORE) \
|
||||||
|
$(wildcard include/config/SECCOMP_CACHE_DEBUG) \
|
||||||
|
include/uapi/linux/seccomp.h \
|
||||||
|
arch/x86/include/asm/seccomp.h \
|
||||||
|
arch/x86/include/asm/unistd.h \
|
||||||
|
arch/x86/include/uapi/asm/unistd.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/unistd_64.h \
|
||||||
|
arch/x86/include/generated/asm/unistd_64_x32.h \
|
||||||
|
arch/x86/include/generated/asm/unistd_32_ia32.h \
|
||||||
|
arch/x86/include/asm/ia32_unistd.h \
|
||||||
|
include/asm-generic/seccomp.h \
|
||||||
|
include/uapi/linux/unistd.h \
|
||||||
|
include/linux/resource.h \
|
||||||
|
include/uapi/linux/resource.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/resource.h \
|
||||||
|
include/asm-generic/resource.h \
|
||||||
|
include/uapi/asm-generic/resource.h \
|
||||||
|
include/linux/latencytop.h \
|
||||||
|
include/linux/sched/prio.h \
|
||||||
|
include/linux/sched/types.h \
|
||||||
|
include/linux/signal_types.h \
|
||||||
|
$(wildcard include/config/OLD_SIGACTION) \
|
||||||
|
include/uapi/linux/signal.h \
|
||||||
|
arch/x86/include/asm/signal.h \
|
||||||
|
arch/x86/include/uapi/asm/signal.h \
|
||||||
|
include/uapi/asm-generic/signal-defs.h \
|
||||||
|
arch/x86/include/uapi/asm/siginfo.h \
|
||||||
|
include/uapi/asm-generic/siginfo.h \
|
||||||
|
include/linux/syscall_user_dispatch.h \
|
||||||
|
include/linux/task_io_accounting.h \
|
||||||
|
$(wildcard include/config/TASK_IO_ACCOUNTING) \
|
||||||
|
include/linux/posix-timers.h \
|
||||||
|
include/linux/alarmtimer.h \
|
||||||
|
$(wildcard include/config/RTC_CLASS) \
|
||||||
|
include/linux/task_work.h \
|
||||||
|
include/uapi/linux/rseq.h \
|
||||||
|
include/linux/kcsan.h \
|
||||||
|
arch/x86/include/generated/asm/kmap_size.h \
|
||||||
|
include/asm-generic/kmap_size.h \
|
||||||
|
$(wildcard include/config/DEBUG_KMAP_LOCAL) \
|
||||||
|
arch/x86/include/asm/uaccess.h \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_GOTO_OUTPUT) \
|
||||||
|
$(wildcard include/config/CC_ASM_GOTO_OUTPUT) \
|
||||||
|
$(wildcard include/config/CC_HAS_ASM_GOTO_TIED_OUTPUT) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_COPY_MC) \
|
||||||
|
$(wildcard include/config/X86_INTEL_USERCOPY) \
|
||||||
|
arch/x86/include/asm/smap.h \
|
||||||
|
arch/x86/include/asm/extable.h \
|
||||||
|
$(wildcard include/config/BPF_JIT) \
|
||||||
|
arch/x86/include/asm/uaccess_64.h \
|
||||||
|
include/linux/usb.h \
|
||||||
|
$(wildcard include/config/USB_MON) \
|
||||||
|
$(wildcard include/config/PM) \
|
||||||
|
$(wildcard include/config/ACPI) \
|
||||||
|
$(wildcard include/config/USB) \
|
||||||
|
$(wildcard include/config/USB_LED_TRIG) \
|
||||||
|
include/linux/mod_devicetable.h \
|
||||||
|
include/linux/uuid.h \
|
||||||
|
include/uapi/linux/uuid.h \
|
||||||
|
include/linux/usb/ch9.h \
|
||||||
|
include/linux/device.h \
|
||||||
|
$(wildcard include/config/ENERGY_MODEL) \
|
||||||
|
$(wildcard include/config/GENERIC_MSI_IRQ_DOMAIN) \
|
||||||
|
$(wildcard include/config/PINCTRL) \
|
||||||
|
$(wildcard include/config/GENERIC_MSI_IRQ) \
|
||||||
|
$(wildcard include/config/DMA_OPS) \
|
||||||
|
$(wildcard include/config/DMA_DECLARE_COHERENT) \
|
||||||
|
$(wildcard include/config/DMA_CMA) \
|
||||||
|
$(wildcard include/config/SWIOTLB) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_DEVICE) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU) \
|
||||||
|
$(wildcard include/config/ARCH_HAS_SYNC_DMA_FOR_CPU_ALL) \
|
||||||
|
$(wildcard include/config/DMA_OPS_BYPASS) \
|
||||||
|
$(wildcard include/config/OF) \
|
||||||
|
$(wildcard include/config/DEVTMPFS) \
|
||||||
|
$(wildcard include/config/SYSFS_DEPRECATED) \
|
||||||
|
include/linux/dev_printk.h \
|
||||||
|
include/linux/ratelimit.h \
|
||||||
|
include/linux/energy_model.h \
|
||||||
|
include/linux/sched/cpufreq.h \
|
||||||
|
$(wildcard include/config/CPU_FREQ) \
|
||||||
|
include/linux/sched/topology.h \
|
||||||
|
$(wildcard include/config/SCHED_DEBUG) \
|
||||||
|
$(wildcard include/config/SCHED_MC) \
|
||||||
|
$(wildcard include/config/CPU_FREQ_GOV_SCHEDUTIL) \
|
||||||
|
include/linux/sched/idle.h \
|
||||||
|
include/linux/sched/sd_flags.h \
|
||||||
|
include/linux/ioport.h \
|
||||||
|
include/linux/klist.h \
|
||||||
|
include/linux/pm.h \
|
||||||
|
$(wildcard include/config/VT_CONSOLE_SLEEP) \
|
||||||
|
$(wildcard include/config/PM_CLK) \
|
||||||
|
$(wildcard include/config/PM_GENERIC_DOMAINS) \
|
||||||
|
include/linux/device/bus.h \
|
||||||
|
include/linux/device/class.h \
|
||||||
|
include/linux/device/driver.h \
|
||||||
|
arch/x86/include/asm/device.h \
|
||||||
|
include/linux/pm_wakeup.h \
|
||||||
|
include/uapi/linux/usb/ch9.h \
|
||||||
|
include/linux/delay.h \
|
||||||
|
arch/x86/include/asm/delay.h \
|
||||||
|
include/asm-generic/delay.h \
|
||||||
|
include/linux/interrupt.h \
|
||||||
|
$(wildcard include/config/IRQ_FORCED_THREADING) \
|
||||||
|
$(wildcard include/config/GENERIC_IRQ_PROBE) \
|
||||||
|
$(wildcard include/config/IRQ_TIMINGS) \
|
||||||
|
include/linux/irqreturn.h \
|
||||||
|
include/linux/irqnr.h \
|
||||||
|
include/uapi/linux/irqnr.h \
|
||||||
|
include/linux/hardirq.h \
|
||||||
|
include/linux/context_tracking_state.h \
|
||||||
|
$(wildcard include/config/CONTEXT_TRACKING) \
|
||||||
|
include/linux/ftrace_irq.h \
|
||||||
|
$(wildcard include/config/HWLAT_TRACER) \
|
||||||
|
$(wildcard include/config/OSNOISE_TRACER) \
|
||||||
|
include/linux/vtime.h \
|
||||||
|
$(wildcard include/config/VIRT_CPU_ACCOUNTING) \
|
||||||
|
$(wildcard include/config/IRQ_TIME_ACCOUNTING) \
|
||||||
|
arch/x86/include/asm/hardirq.h \
|
||||||
|
$(wildcard include/config/KVM_INTEL) \
|
||||||
|
$(wildcard include/config/HAVE_KVM) \
|
||||||
|
$(wildcard include/config/X86_THERMAL_VECTOR) \
|
||||||
|
$(wildcard include/config/X86_MCE_THRESHOLD) \
|
||||||
|
$(wildcard include/config/X86_MCE_AMD) \
|
||||||
|
$(wildcard include/config/X86_HV_CALLBACK_VECTOR) \
|
||||||
|
$(wildcard include/config/HYPERV) \
|
||||||
|
arch/x86/include/asm/irq.h \
|
||||||
|
arch/x86/include/asm/irq_vectors.h \
|
||||||
|
$(wildcard include/config/X86_IO_APIC) \
|
||||||
|
$(wildcard include/config/PCI_MSI) \
|
||||||
|
arch/x86/include/asm/sections.h \
|
||||||
|
include/asm-generic/sections.h \
|
||||||
|
include/linux/fs.h \
|
||||||
|
$(wildcard include/config/READ_ONLY_THP_FOR_FS) \
|
||||||
|
$(wildcard include/config/FS_POSIX_ACL) \
|
||||||
|
$(wildcard include/config/CGROUP_WRITEBACK) \
|
||||||
|
$(wildcard include/config/IMA) \
|
||||||
|
$(wildcard include/config/FILE_LOCKING) \
|
||||||
|
$(wildcard include/config/FSNOTIFY) \
|
||||||
|
$(wildcard include/config/FS_ENCRYPTION) \
|
||||||
|
$(wildcard include/config/FS_VERITY) \
|
||||||
|
$(wildcard include/config/EPOLL) \
|
||||||
|
$(wildcard include/config/UNICODE) \
|
||||||
|
$(wildcard include/config/QUOTA) \
|
||||||
|
$(wildcard include/config/BLK_DEV_LOOP) \
|
||||||
|
$(wildcard include/config/FS_DAX) \
|
||||||
|
$(wildcard include/config/MIGRATION) \
|
||||||
|
include/linux/wait_bit.h \
|
||||||
|
include/linux/kdev_t.h \
|
||||||
|
include/uapi/linux/kdev_t.h \
|
||||||
|
include/linux/dcache.h \
|
||||||
|
include/linux/rculist_bl.h \
|
||||||
|
include/linux/list_bl.h \
|
||||||
|
include/linux/bit_spinlock.h \
|
||||||
|
include/linux/lockref.h \
|
||||||
|
$(wildcard include/config/ARCH_USE_CMPXCHG_LOCKREF) \
|
||||||
|
include/linux/stringhash.h \
|
||||||
|
$(wildcard include/config/DCACHE_WORD_ACCESS) \
|
||||||
|
include/linux/hash.h \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_HASH) \
|
||||||
|
include/linux/path.h \
|
||||||
|
include/linux/list_lru.h \
|
||||||
|
include/linux/shrinker.h \
|
||||||
|
include/linux/capability.h \
|
||||||
|
include/uapi/linux/capability.h \
|
||||||
|
include/linux/semaphore.h \
|
||||||
|
include/linux/fcntl.h \
|
||||||
|
$(wildcard include/config/ARCH_32BIT_OFF_T) \
|
||||||
|
include/uapi/linux/fcntl.h \
|
||||||
|
arch/x86/include/generated/uapi/asm/fcntl.h \
|
||||||
|
include/uapi/asm-generic/fcntl.h \
|
||||||
|
include/uapi/linux/openat2.h \
|
||||||
|
include/linux/migrate_mode.h \
|
||||||
|
include/linux/percpu-rwsem.h \
|
||||||
|
include/linux/rcuwait.h \
|
||||||
|
include/linux/sched/signal.h \
|
||||||
|
$(wildcard include/config/SCHED_AUTOGROUP) \
|
||||||
|
$(wildcard include/config/BSD_PROCESS_ACCT) \
|
||||||
|
$(wildcard include/config/TASKSTATS) \
|
||||||
|
$(wildcard include/config/STACK_GROWSUP) \
|
||||||
|
include/linux/signal.h \
|
||||||
|
$(wildcard include/config/DYNAMIC_SIGFRAME) \
|
||||||
|
include/linux/sched/jobctl.h \
|
||||||
|
include/linux/sched/task.h \
|
||||||
|
$(wildcard include/config/HAVE_EXIT_THREAD) \
|
||||||
|
$(wildcard include/config/ARCH_WANTS_DYNAMIC_TASK_STRUCT) \
|
||||||
|
$(wildcard include/config/HAVE_ARCH_THREAD_STRUCT_WHITELIST) \
|
||||||
|
include/linux/cred.h \
|
||||||
|
$(wildcard include/config/DEBUG_CREDENTIALS) \
|
||||||
|
include/linux/key.h \
|
||||||
|
$(wildcard include/config/KEY_NOTIFICATIONS) \
|
||||||
|
$(wildcard include/config/NET) \
|
||||||
|
include/linux/assoc_array.h \
|
||||||
|
$(wildcard include/config/ASSOCIATIVE_ARRAY) \
|
||||||
|
include/linux/sched/user.h \
|
||||||
|
$(wildcard include/config/WATCH_QUEUE) \
|
||||||
|
include/linux/percpu_counter.h \
|
||||||
|
include/linux/rcu_sync.h \
|
||||||
|
include/linux/delayed_call.h \
|
||||||
|
include/linux/errseq.h \
|
||||||
|
include/linux/ioprio.h \
|
||||||
|
include/linux/sched/rt.h \
|
||||||
|
include/linux/iocontext.h \
|
||||||
|
include/uapi/linux/ioprio.h \
|
||||||
|
include/linux/fs_types.h \
|
||||||
|
include/linux/mount.h \
|
||||||
|
include/linux/mnt_idmapping.h \
|
||||||
|
include/uapi/linux/fs.h \
|
||||||
|
include/linux/quota.h \
|
||||||
|
$(wildcard include/config/QUOTA_NETLINK_INTERFACE) \
|
||||||
|
include/uapi/linux/dqblk_xfs.h \
|
||||||
|
include/linux/dqblk_v1.h \
|
||||||
|
include/linux/dqblk_v2.h \
|
||||||
|
include/linux/dqblk_qtree.h \
|
||||||
|
include/linux/projid.h \
|
||||||
|
include/uapi/linux/quota.h \
|
||||||
|
include/linux/nfs_fs_i.h \
|
||||||
|
include/linux/pm_runtime.h \
|
||||||
|
/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.h \
|
||||||
|
|
||||||
|
/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o: $(deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o)
|
||||||
|
|
||||||
|
$(deps_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o):
|
||||||
1
modules/fjpalmvein/C/fjpalmvein-main/.modules.order.cmd
Normal file
1
modules/fjpalmvein/C/fjpalmvein-main/.modules.order.cmd
Normal file
@ -0,0 +1 @@
|
|||||||
|
cmd_/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/modules.order := { echo /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko; :; } | awk '!x[$$0]++' - > /t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/modules.order
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
ACTION!="add",\
|
||||||
|
SUBSYSTEM=="usb",\
|
||||||
|
ATTRS{idVendor}=="04c5",\
|
||||||
|
ATTRS{idProduct}=="1526",\
|
||||||
|
SYMLINK+="usb/fjveincam0",\
|
||||||
|
RUN+="/bin/bash -c 'date >> /tmp/fjpv'"
|
||||||
339
modules/fjpalmvein/C/fjpalmvein-main/LICENSE
Normal file
339
modules/fjpalmvein/C/fjpalmvein-main/LICENSE
Normal file
@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
||||||
46
modules/fjpalmvein/C/fjpalmvein-main/Makefile
Normal file
46
modules/fjpalmvein/C/fjpalmvein-main/Makefile
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#
|
||||||
|
# USB PalmSecure Sensor driver (kernel-2.6) Makefile
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 FUJITSU FRONTECH LIMITED
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License version
|
||||||
|
# 2 as published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# Notes: Do this first:
|
||||||
|
# sudo apt-get install build-essential
|
||||||
|
# sudo apt install linux-headers-`uname -r`
|
||||||
|
#
|
||||||
|
|
||||||
|
VERSION := $(shell uname -r)
|
||||||
|
#KERNDIR = /usr/src/linux-headers-5.15.0-58
|
||||||
|
KERNDIR = /usr/src/linux-headers-$(VERSION)
|
||||||
|
INSTALLDIR = /lib/modules/$(VERSION)/drivers/usb/misc
|
||||||
|
BUILD_DIR := $(shell pwd)
|
||||||
|
VERBOSE = 0
|
||||||
|
TARGET = fjveincam
|
||||||
|
|
||||||
|
RM = rm -f
|
||||||
|
|
||||||
|
obj-m = ${TARGET}.o
|
||||||
|
|
||||||
|
|
||||||
|
all:
|
||||||
|
@if test -f $(KERNDIR)/Makefile; \
|
||||||
|
then \
|
||||||
|
make -C $(KERNDIR) M=$(BUILD_DIR) KBUILD_VERBOSE=$(VERBOSE) modules; \
|
||||||
|
else \
|
||||||
|
echo Path \"$(KERNDIR)\"" not found."; \
|
||||||
|
echo "You have to configure your Makefile." ; \
|
||||||
|
echo "And, set your target kernel source path to KERNDIR." ; \
|
||||||
|
fi;
|
||||||
|
|
||||||
|
install:
|
||||||
|
install -d $(INSTALLDIR)
|
||||||
|
install -m 644 -g root -o root ${TARGET}.ko $(INSTALLDIR)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) ${TARGET}.*o ${TARGET}.mod.c ${TARGET}.mod.o .${TARGET}.* *~
|
||||||
|
$(RM) Module.symvers modules.order
|
||||||
|
$(RM) -r .tmp_versions
|
||||||
|
|
||||||
0
modules/fjpalmvein/C/fjpalmvein-main/Module.symvers
Normal file
0
modules/fjpalmvein/C/fjpalmvein-main/Module.symvers
Normal file
21
modules/fjpalmvein/C/fjpalmvein-main/README.md
Normal file
21
modules/fjpalmvein/C/fjpalmvein-main/README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# fjpalmvein
|
||||||
|
Fujitsu Palm Vein USB driver (GPLv2)
|
||||||
|
|
||||||
|
The Fujitsu palm vein scanner is a USB device that takes pictures of a palm.
|
||||||
|
The pictures are taken in the visible and infra red spectra.
|
||||||
|
Downstream software takes the pictures and derives a model from the veins which can then be searched for a match.
|
||||||
|
In other words, the driver enables the use of a device that can be used to verify identity. Very handy.
|
||||||
|
|
||||||
|
The only drivers available online are Windows MSI and the Linux ones were nowhere to be found, or were binaries locked to an obsolete kernel.
|
||||||
|
|
||||||
|
However, recently, my client bought a device from a Fujitsu that came with the Linux driver.
|
||||||
|
The Linux driver, it turns out, came in source code form and with a GPLv2 license, so Im posting the code here under those terms.
|
||||||
|
|
||||||
|
You will need to build it yourself, and make sure it's built to suit the kernel(s) you run on your equipment.
|
||||||
|
|
||||||
|
Note that the downstream software referred to above is non-trivial.
|
||||||
|
In the case of Linux there are several object files and you will likely need a PalmSecure SDK to get from the driver to a useful application.
|
||||||
|
So this is probably mostly useful for someone with bits of the SDK but who are missing the actual driver - like I was until this morning.
|
||||||
|
|
||||||
|
The PalmSecure SDK is available from Fujitsu resellers for $$$.
|
||||||
|
But if you look hard enough you can find what you need. Check out project "Segovia" on github by NRLakin.
|
||||||
BIN
modules/fjpalmvein/C/fjpalmvein-main/a.out
Executable file
BIN
modules/fjpalmvein/C/fjpalmvein-main/a.out
Executable file
Binary file not shown.
5
modules/fjpalmvein/C/fjpalmvein-main/ctl.sh
Executable file
5
modules/fjpalmvein/C/fjpalmvein-main/ctl.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
sudo rmmod fjveincam.ko
|
||||||
|
make clean
|
||||||
|
make
|
||||||
|
sudo cp fjveincam.ko /usr/lib/modules/5.15.0-72-generic/kernel/drivers/usb/misc/
|
||||||
|
sudo insmod fjveincam.ko
|
||||||
BIN
modules/fjpalmvein/C/fjpalmvein-main/drivertest
Executable file
BIN
modules/fjpalmvein/C/fjpalmvein-main/drivertest
Executable file
Binary file not shown.
36
modules/fjpalmvein/C/fjpalmvein-main/drivertest.c
Normal file
36
modules/fjpalmvein/C/fjpalmvein-main/drivertest.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include "fjveincam.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define DEVICE_PATH "/dev/usb/fjveincam0"
|
||||||
|
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
|
struct fjveincam_info info;
|
||||||
|
int status = 0;
|
||||||
|
|
||||||
|
|
||||||
|
int fd = open(DEVICE_PATH, O_RDWR);
|
||||||
|
if (fd < 0) {
|
||||||
|
printf("Failed to open USB device %s", DEVICE_PATH);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
printf("Open USB device OK with magic number %d\n", USB_FJVEINCAM_IOCTL_CHECK);
|
||||||
|
|
||||||
|
|
||||||
|
// Call the function in the kernel module
|
||||||
|
status = ioctl(fd, 33, &info);
|
||||||
|
if (status < 0) {
|
||||||
|
perror("ioctl");
|
||||||
|
printf("Failed to call function in kernel module with IOCTL %d code %d\n",USB_FJVEINCAM_IOCTL_CHECK,status);
|
||||||
|
close(fd);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
close(fd);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
804
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.c
Normal file
804
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.c
Normal file
@ -0,0 +1,804 @@
|
|||||||
|
/*
|
||||||
|
* USB PalmSecure Sensor driver (kernel-2.6)
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 FUJITSU FRONTECH LIMITED
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License version
|
||||||
|
* 2 as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* Notes:
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
*
|
||||||
|
* 2012-07-06 - V31L01
|
||||||
|
* - first version
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/errno.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/slab.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
#include <linux/uaccess.h>
|
||||||
|
#include <linux/mutex.h>
|
||||||
|
#include <linux/sched.h>
|
||||||
|
#include <linux/usb.h>
|
||||||
|
|
||||||
|
#include "fjveincam.h"
|
||||||
|
|
||||||
|
#define CONFIG_FJVEINCAM_DEBUG
|
||||||
|
|
||||||
|
/*
|
||||||
|
#undef dbg
|
||||||
|
#ifdef CONFIG_FJVEINCAM_DEBUG
|
||||||
|
#define dbg(format, arg...) printk(KERN_DEBUG __FILE__":%d : " format "\n" , __LINE__, ## arg);
|
||||||
|
#else
|
||||||
|
#define dbg(format, arg...)
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Endpoint direction check macros */
|
||||||
|
#define IS_EP_BULK(ep) ((ep)->bmAttributes == USB_ENDPOINT_XFER_BULK ? 1 : 0)
|
||||||
|
#define IS_EP_BULK_IN(ep) (IS_EP_BULK(ep) && ((ep)->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN)
|
||||||
|
#define IS_EP_BULK_OUT(ep) (IS_EP_BULK(ep) && ((ep)->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT)
|
||||||
|
|
||||||
|
/* Version Information */
|
||||||
|
#define DRIVER_VERSION "V31L01"
|
||||||
|
//#define DRIVER_VERSION "V34L77"
|
||||||
|
#define DRIVER_AUTHOR "Fujitsu Frontech Ltd. Modified by Carl Goodwin (Dispension Inc)"
|
||||||
|
#define DRIVER_DESC "FUJITSU PalmSecure Sensor driver for Ubuntu22"
|
||||||
|
|
||||||
|
/* minor number defines */
|
||||||
|
|
||||||
|
#define USB_FJVEINCAM_MINOR_BASE 160 /* minor base number */
|
||||||
|
|
||||||
|
|
||||||
|
/* Waiting time for sensor confirming. */
|
||||||
|
/* Change this value when the time-out happens before the sensor confirming ends. */
|
||||||
|
#define SENSOR_CONFIRMED_WAIT_TIME 100
|
||||||
|
|
||||||
|
/* Read timeouts -- R_NAK_TIMEOUT * R_EXPIRE = Number of seconds */
|
||||||
|
#define R_NAK_TIMEOUT (5000) /* Default number of X seconds to wait */
|
||||||
|
#define R_EXPIRE 1 /* Number of attempts to wait X seconds */
|
||||||
|
|
||||||
|
/* Write timeouts */
|
||||||
|
#define W_NAK_TIMEOUT (5000) /* Default number of X seconds to wait */
|
||||||
|
|
||||||
|
/* Ioctl timeouts */
|
||||||
|
#define C_NAK_TIMEOUT (10000) /* Default number of X seconds to wait */
|
||||||
|
|
||||||
|
/* Allocate buffer byte size */
|
||||||
|
#define IBUF_SIZE 32768
|
||||||
|
#define OBUF_SIZE 4096
|
||||||
|
|
||||||
|
/* Flag of sensor state of use */
|
||||||
|
#define SENSOR_NOT_CONFIRMED 0 /* Sensor is not used or is in phase of confirming. */
|
||||||
|
#define SENSOR_CONFIRMED 1 /* Sensor is now used */
|
||||||
|
|
||||||
|
|
||||||
|
/* table of devices that work with this driver
|
||||||
|
- Carl add 1526
|
||||||
|
*/
|
||||||
|
static struct usb_device_id fjveincam_device_ids [] = {
|
||||||
|
{ USB_DEVICE(0x04C5, 0x1084) },
|
||||||
|
{ USB_DEVICE(0x04C5, 0x125a) },
|
||||||
|
{ USB_DEVICE(0x04C5, 0x1526) },
|
||||||
|
{ } /* Terminating entry */
|
||||||
|
};
|
||||||
|
MODULE_DEVICE_TABLE(usb, fjveincam_device_ids);
|
||||||
|
|
||||||
|
|
||||||
|
static DEFINE_MUTEX(fjveincam_mutex); /* Initializes to unlocked */
|
||||||
|
|
||||||
|
struct fjveincam_usb_data {
|
||||||
|
struct usb_device *udev;
|
||||||
|
unsigned char fjveincam_minor; /* minor number - used in disconnect() */
|
||||||
|
char confirmed; /* Not zero if the device is used (Not in phase of confirming) */
|
||||||
|
int open_count; /* count the number of openers */
|
||||||
|
char *obuf, *ibuf; /* transfer buffers */
|
||||||
|
char bulk_in_ep; /* Endpoint assignments */
|
||||||
|
char bulk_out_ep; /* Endpoint assignments */
|
||||||
|
wait_queue_head_t wait_q; /* wait-queue for checking sensors */
|
||||||
|
struct mutex io_mutex; /* lock to prevent concurrent reads or writes */
|
||||||
|
int o_timeout; /* counter of open time out */
|
||||||
|
int r_error; /* counter of read error */
|
||||||
|
int r_lasterr; /* read last error */
|
||||||
|
int w_error; /* counter of write error */
|
||||||
|
int w_lasterr; /* write last error */
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct usb_driver usb_fjveincam_driver;
|
||||||
|
|
||||||
|
//
|
||||||
|
static void dbg(int line, char * func, char * remark, unsigned long num){
|
||||||
|
printk(">>>>>>>>>>>>>>.. USB Driver: %s @ %d (%s): %s = %lu", __FILE__, line, remark, func, num);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int usb_fjveincam_open(struct inode *inode, struct file *file)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct fjveincam_usb_data *fjveincam;
|
||||||
|
struct usb_interface *intf;
|
||||||
|
|
||||||
|
int fjveincam_minor;
|
||||||
|
|
||||||
|
int errx = 0;
|
||||||
|
long wait;
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "init open", 0L);
|
||||||
|
|
||||||
|
mutex_lock(&fjveincam_mutex);
|
||||||
|
|
||||||
|
fjveincam_minor = iminor(inode);
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "open", fjveincam_minor);
|
||||||
|
|
||||||
|
intf = usb_find_interface(&usb_fjveincam_driver, fjveincam_minor);
|
||||||
|
if (!intf) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "unable to access minor", fjveincam_minor);
|
||||||
|
mutex_unlock(&fjveincam_mutex);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
fjveincam = usb_get_intfdata(intf);
|
||||||
|
if ((!fjveincam) || (!fjveincam->udev)) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "device not present", 0L);
|
||||||
|
mutex_unlock(&fjveincam_mutex);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
if (fjveincam->open_count) {
|
||||||
|
/* Another process has opened. */
|
||||||
|
if (fjveincam->confirmed == SENSOR_CONFIRMED) {
|
||||||
|
/* The sensor was confirmed. */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "device already open", 0L);
|
||||||
|
errx = -EBUSY;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
/* Wait until the sensor is confirmed or closed, because another process is open. */
|
||||||
|
/* Change SENSOR_CONFIRMED_WAIT_TIME value when the time-out happens before the sensor is confirmed. */
|
||||||
|
wait = wait_event_interruptible_timeout(fjveincam->wait_q,
|
||||||
|
(!fjveincam->open_count)||(fjveincam->confirmed==SENSOR_CONFIRMED),
|
||||||
|
SENSOR_CONFIRMED_WAIT_TIME);
|
||||||
|
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
if (wait == 0) {
|
||||||
|
/* Time-out happens before the sensor is confirmed. */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "preconfirmation timeout", 0L);
|
||||||
|
fjveincam->o_timeout++;
|
||||||
|
fjveincam->confirmed=SENSOR_CONFIRMED;
|
||||||
|
errx = -EBUSY;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
else if (fjveincam->confirmed==SENSOR_CONFIRMED) {
|
||||||
|
/* Another process completed the sensor confirming, and started the use of the sensor. */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_open", "device already open", 0L);
|
||||||
|
errx = -EBUSY;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
else if(wait == -ERESTARTSYS) {
|
||||||
|
errx = -ERESTARTSYS;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
/* else {
|
||||||
|
// Another process closed the sensor.
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
|
||||||
|
init_waitqueue_head(&fjveincam->wait_q);
|
||||||
|
fjveincam->open_count = 1;
|
||||||
|
file->private_data = fjveincam; /* Used by the read and write methods */
|
||||||
|
|
||||||
|
out_error:
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
mutex_unlock(&fjveincam_mutex);
|
||||||
|
|
||||||
|
return errx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static int usb_fjveincam_close(struct inode *inode, struct file *file)
|
||||||
|
{
|
||||||
|
struct fjveincam_usb_data *fjveincam = file->private_data;
|
||||||
|
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
fjveincam->confirmed = SENSOR_NOT_CONFIRMED;
|
||||||
|
|
||||||
|
fjveincam->open_count = 0;
|
||||||
|
|
||||||
|
file->private_data = NULL;
|
||||||
|
|
||||||
|
if (!fjveincam->udev) {
|
||||||
|
/* The device was unplugged while open - need to clean up */
|
||||||
|
dbg(__LINE__, "funczz", "device was unplugged while open .. tidying up", 0L);
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
kfree(fjveincam->ibuf);
|
||||||
|
kfree(fjveincam->obuf);
|
||||||
|
kfree(fjveincam);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
wake_up_interruptible(&fjveincam->wait_q); /* Wake_up the process waiting in open() function. */
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_close", "closing...", 0L);
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ssize_t usb_fjveincam_read(struct file *file, char *buffer,
|
||||||
|
size_t count, loff_t *ppos)
|
||||||
|
{
|
||||||
|
struct fjveincam_usb_data *fjveincam = file->private_data;
|
||||||
|
struct usb_device *dev;
|
||||||
|
|
||||||
|
ssize_t bytes_read = 0; /* Overall count of bytes_read */
|
||||||
|
ssize_t ret = 0;
|
||||||
|
|
||||||
|
int fjveincam_minor;
|
||||||
|
int partial; /* Number of bytes successfully read */
|
||||||
|
int this_read; /* Max number of bytes to read */
|
||||||
|
int result;
|
||||||
|
int r_expire = R_EXPIRE;
|
||||||
|
|
||||||
|
char *ibuf;
|
||||||
|
struct timespec64 CURRENT_TIME;
|
||||||
|
|
||||||
|
ktime_get_ts64(&CURRENT_TIME);
|
||||||
|
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
fjveincam_minor = fjveincam->fjveincam_minor;
|
||||||
|
|
||||||
|
dev = fjveincam->udev;
|
||||||
|
if (!dev) {
|
||||||
|
/* The device was unplugged before the file was released */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "device was unplugged", 0L);
|
||||||
|
ret = -ENODEV;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
|
||||||
|
ibuf = fjveincam->ibuf;
|
||||||
|
|
||||||
|
file->f_path.dentry->d_inode->i_atime = CURRENT_TIME;
|
||||||
|
while (count > 0) {
|
||||||
|
if (signal_pending(current)) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "signal detected", 0L);
|
||||||
|
ret = -ERESTARTSYS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
this_read = (count >= IBUF_SIZE) ? IBUF_SIZE : count;
|
||||||
|
|
||||||
|
result = usb_bulk_msg(dev, usb_rcvbulkpipe(dev, fjveincam->bulk_in_ep), ibuf, this_read, &partial, R_NAK_TIMEOUT);
|
||||||
|
//dbg("%s: minor:%d result:%d this_read:%d partial:%d count:%d", "funczz", fjveincam_minor, result, this_read, partial, count);
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "partial read", 0L);
|
||||||
|
|
||||||
|
fjveincam->r_lasterr = result;
|
||||||
|
if (result == -ETIMEDOUT) { /* NAK */
|
||||||
|
fjveincam->r_error++;
|
||||||
|
if (!partial) { /* No data */
|
||||||
|
if (--r_expire <= 0) { /* Give it up */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "excessive NAKs", 0L);
|
||||||
|
ret = result;
|
||||||
|
break;
|
||||||
|
} else { /* Keep trying to read data */
|
||||||
|
schedule_timeout(R_NAK_TIMEOUT);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else { /* Timeout w/ some data */
|
||||||
|
goto data_recvd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result == -EPIPE) { /* No hope */
|
||||||
|
fjveincam->r_error++;
|
||||||
|
if(usb_clear_halt(dev, fjveincam->bulk_in_ep)) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "failed to clear endpoint halt condition", 0L);
|
||||||
|
}
|
||||||
|
ret = result;
|
||||||
|
break;
|
||||||
|
} else if ((result < 0) && (result != EREMOTEIO)) {
|
||||||
|
fjveincam->r_error++;
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "an error occurred", 0L);
|
||||||
|
ret = -EIO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
data_recvd:
|
||||||
|
|
||||||
|
if (partial) { /* Data returned */
|
||||||
|
if (copy_to_user(buffer, ibuf, partial)) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "failed to copy data to user space", 0L);
|
||||||
|
ret = -EFAULT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
count -= partial; /* Compensate for short reads */
|
||||||
|
bytes_read += partial; /* Keep tally of what actually was read */
|
||||||
|
buffer += partial;
|
||||||
|
} else {
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
out_error:
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_read", "bytes were read", 0L);
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
return ret ? ret : bytes_read;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ssize_t usb_fjveincam_write(struct file *file, const char *buffer,
|
||||||
|
size_t count, loff_t *ppos)
|
||||||
|
{
|
||||||
|
struct fjveincam_usb_data *fjveincam = file->private_data;
|
||||||
|
struct usb_device *dev;
|
||||||
|
|
||||||
|
ssize_t bytes_written = 0; /* Overall count of bytes written */
|
||||||
|
ssize_t ret = 0;
|
||||||
|
|
||||||
|
int fjveincam_minor;
|
||||||
|
int this_write; /* Number of bytes to write */
|
||||||
|
int partial; /* Number of bytes successfully written */
|
||||||
|
int result = 0;
|
||||||
|
|
||||||
|
char *obuf;
|
||||||
|
struct timespec64 CURRENT_TIME;
|
||||||
|
|
||||||
|
ktime_get_ts64(&CURRENT_TIME);
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
fjveincam_minor = fjveincam->fjveincam_minor;
|
||||||
|
|
||||||
|
dev = fjveincam->udev;
|
||||||
|
if (!dev) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_write", "device was unplugged", 0L);
|
||||||
|
ret = -ENODEV;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
|
||||||
|
obuf = fjveincam->obuf;
|
||||||
|
file->f_path.dentry->d_inode->i_atime = CURRENT_TIME;
|
||||||
|
|
||||||
|
while (count > 0) {
|
||||||
|
if (signal_pending(current)) {
|
||||||
|
ret = -ERESTARTSYS;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
this_write = (count >= OBUF_SIZE) ? OBUF_SIZE : count;
|
||||||
|
|
||||||
|
if (copy_from_user(fjveincam->obuf, buffer, this_write)) {
|
||||||
|
ret = -EFAULT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
result = usb_bulk_msg(dev,usb_sndbulkpipe(dev, fjveincam->bulk_out_ep), obuf, this_write, &partial, W_NAK_TIMEOUT);
|
||||||
|
dbg(__LINE__, "usb_fjveincam_write", "bulk data sent", 0L);
|
||||||
|
|
||||||
|
fjveincam->w_lasterr = result;
|
||||||
|
if (result == -ETIMEDOUT) { /* NAK */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_write", "excess NAKs", 0L);
|
||||||
|
fjveincam->w_error++;
|
||||||
|
ret = result;
|
||||||
|
break;
|
||||||
|
} else if (result < 0) { /* We should not get any I/O errors */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_write", "error detected", 0L);
|
||||||
|
fjveincam->w_error++;
|
||||||
|
ret = -EIO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (partial != this_write) { /* Unable to write all contents of obuf */
|
||||||
|
fjveincam->w_error++;
|
||||||
|
ret = -EIO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (partial) { /* Data written */
|
||||||
|
buffer += partial;
|
||||||
|
count -= partial;
|
||||||
|
bytes_written += partial;
|
||||||
|
} else { /* No data written */
|
||||||
|
ret = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
out_error:
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
return ret ? ret : bytes_written;
|
||||||
|
}
|
||||||
|
|
||||||
|
static long usb_fjveincam_unlocked_ioctl(struct file *file, uint cmd, ulong arg)
|
||||||
|
{
|
||||||
|
struct fjveincam_usb_data *fjveincam = file->private_data;
|
||||||
|
struct usb_device *dev;
|
||||||
|
|
||||||
|
int fjveincam_minor;
|
||||||
|
int retval = 0;
|
||||||
|
|
||||||
|
printk(">>>>>>>>> IOCTL %d\n", cmd);
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
fjveincam_minor = fjveincam->fjveincam_minor;
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "ioctl", 0L);
|
||||||
|
|
||||||
|
if (!fjveincam->udev) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "device was unplugged", 0L);
|
||||||
|
retval = -ENODEV;
|
||||||
|
goto out_error;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch (cmd)
|
||||||
|
{
|
||||||
|
case USB_FJVEINCAMV30_IOCTL_CTRLMSG:
|
||||||
|
case USB_FJVEINCAM_IOCTL_CTRLMSG:
|
||||||
|
{
|
||||||
|
struct fjveincam_cmsg user_cmsg;
|
||||||
|
struct {
|
||||||
|
struct usb_ctrlrequest req;
|
||||||
|
unsigned char *data;
|
||||||
|
} cmsg;
|
||||||
|
int pipe, nb, ret;
|
||||||
|
unsigned char buf[974];
|
||||||
|
|
||||||
|
dev = fjveincam->udev;
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "dealing with an ioctl", 0L);
|
||||||
|
|
||||||
|
if (copy_from_user(&user_cmsg, (void *)arg, sizeof(user_cmsg))) {
|
||||||
|
retval = -EFAULT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
cmsg.req.bRequestType = user_cmsg.req.bRequestType;
|
||||||
|
cmsg.req.bRequest = user_cmsg.req.bRequest;
|
||||||
|
cmsg.req.wValue = user_cmsg.req.wValue;
|
||||||
|
cmsg.req.wIndex = user_cmsg.req.wIndex;
|
||||||
|
cmsg.req.wLength = user_cmsg.req.wLength;
|
||||||
|
cmsg.data = user_cmsg.data;
|
||||||
|
|
||||||
|
nb = cmsg.req.wLength;
|
||||||
|
|
||||||
|
if (nb > sizeof(buf)) {
|
||||||
|
retval = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((cmsg.req.bRequestType & 0x80) == 0) {
|
||||||
|
pipe = usb_sndctrlpipe(dev, 0);
|
||||||
|
if (nb > 0 && copy_from_user(buf, cmsg.data, nb)) {
|
||||||
|
retval = -EFAULT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
pipe = usb_rcvctrlpipe(dev, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = usb_control_msg(dev, pipe,
|
||||||
|
cmsg.req.bRequest,
|
||||||
|
cmsg.req.bRequestType,
|
||||||
|
cmsg.req.wValue,
|
||||||
|
cmsg.req.wIndex,
|
||||||
|
buf, nb, C_NAK_TIMEOUT);
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "request", 0L);
|
||||||
|
|
||||||
|
//dbg("%s: minor:%d request result:%d cmd[%02X:%04X:%04X:%04X] rsp[%02X:%02X:%02X:%02X]",
|
||||||
|
// "funczz", fjveincam_minor, ret,
|
||||||
|
// cmsg.req.bRequest, cmsg.req.wValue, cmsg.req.wIndex, cmsg.req.wLength,
|
||||||
|
// buf[0], buf[1], buf[2], buf[3]);
|
||||||
|
|
||||||
|
if (ret < 0) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "error detected", 0L);
|
||||||
|
retval = -EIO;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nb < ret) {
|
||||||
|
ret = nb;
|
||||||
|
}
|
||||||
|
if (nb > 0 && (cmsg.req.bRequestType & 0x80) && copy_to_user(cmsg.data, buf, ret)) {
|
||||||
|
retval = -EFAULT;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case USB_FJVEINCAMV30_IOCTL_CHECK:
|
||||||
|
case USB_FJVEINCAM_IOCTL_CHECK:
|
||||||
|
/* nop */
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Notification of the end of sensor confirming. */
|
||||||
|
case USB_FJVEINCAMV30_IOCTL_CONFIRM:
|
||||||
|
case USB_FJVEINCAM_IOCTL_CONFIRM:
|
||||||
|
{
|
||||||
|
fjveincam->confirmed = SENSOR_CONFIRMED; /* Sensor confirming was completed, and started the use of the sensor. */
|
||||||
|
wake_up_interruptible(&fjveincam->wait_q); /* Wake_up the process waiting in open() function. */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "sensor was checked", 0L);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case USB_FJVEINCAMV30_IOCTL_INFO:
|
||||||
|
case USB_FJVEINCAM_IOCTL_INFO:
|
||||||
|
{
|
||||||
|
struct fjveincam_info info;
|
||||||
|
|
||||||
|
info.magic = FJPV_MAGIC; /* Magic number for indicating Fujitsu Palmsecure sensor driver. */
|
||||||
|
info.minor = fjveincam_minor;
|
||||||
|
info.o_timeout = fjveincam->o_timeout;
|
||||||
|
info.r_error = fjveincam->r_error;
|
||||||
|
info.r_lasterr = fjveincam->r_lasterr;
|
||||||
|
info.w_error = fjveincam->w_error;
|
||||||
|
info.w_lasterr = fjveincam->w_lasterr;
|
||||||
|
strncpy((char*)info.version, DRIVER_VERSION, sizeof(info.version));
|
||||||
|
if (copy_to_user((void *)arg, &info, sizeof(info)))
|
||||||
|
retval = -EFAULT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "invalid request code", 0L);
|
||||||
|
retval = -ENOIOCTLCMD;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
out_error:
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_ioctl", "OK...", 0L);
|
||||||
|
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Kernel VFS uses this to lookup actual driver functions to call on
|
||||||
|
open(fd, O_RD) -> open
|
||||||
|
close(fd) -> close
|
||||||
|
*/
|
||||||
|
static struct file_operations usb_fjveincam_fops = {
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
.read = usb_fjveincam_read,
|
||||||
|
.write = usb_fjveincam_write,
|
||||||
|
.unlocked_ioctl = usb_fjveincam_unlocked_ioctl,
|
||||||
|
.open = usb_fjveincam_open,
|
||||||
|
.release = usb_fjveincam_close,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct usb_class_driver fjveincam_class = {
|
||||||
|
.name = "usb/fjveincam%d",
|
||||||
|
.fops = &usb_fjveincam_fops,
|
||||||
|
.minor_base = USB_FJVEINCAM_MINOR_BASE,
|
||||||
|
};
|
||||||
|
|
||||||
|
static int usb_fjveincam_probe(struct usb_interface *intf,
|
||||||
|
const struct usb_device_id *id)
|
||||||
|
{
|
||||||
|
struct usb_device *dev = interface_to_usbdev(intf);
|
||||||
|
struct fjveincam_usb_data *fjveincam;
|
||||||
|
struct usb_host_interface *interface;
|
||||||
|
struct usb_endpoint_descriptor *endpoint;
|
||||||
|
|
||||||
|
int ep_cnt;
|
||||||
|
int retval;
|
||||||
|
|
||||||
|
char have_bulk_in, have_bulk_out;
|
||||||
|
char name[20];
|
||||||
|
char buf[128];
|
||||||
|
memset(&buf,0,sizeof(buf));
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "probed; [device id]", 0L);
|
||||||
|
|
||||||
|
sprintf(buf, "vendor id 0x%x, device id 0x%x, portnum:%d",
|
||||||
|
dev->descriptor.idVendor, dev->descriptor.idProduct,
|
||||||
|
dev->portnum);
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", buf, 0L);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* After this point we can be a little noisy about what we are trying to
|
||||||
|
* configure.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (dev->descriptor.bNumConfigurations != 1) {
|
||||||
|
dbg(__LINE__, "funczz", "only one device configuration is supported", 0L);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Start checking for two bulk endpoints.
|
||||||
|
*/
|
||||||
|
|
||||||
|
interface = &intf->altsetting[0];
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "endpoints", 0L);
|
||||||
|
|
||||||
|
if (interface->desc.bNumEndpoints != 2) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** endpoint count", 0L);
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
ep_cnt = have_bulk_in = have_bulk_out = 0;
|
||||||
|
|
||||||
|
while (ep_cnt < interface->desc.bNumEndpoints) {
|
||||||
|
endpoint = &interface->endpoint[ep_cnt].desc;
|
||||||
|
|
||||||
|
if (!have_bulk_in && IS_EP_BULK_IN(endpoint)) {
|
||||||
|
ep_cnt++;
|
||||||
|
have_bulk_in = endpoint->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "bulk in", 0L);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!have_bulk_out && IS_EP_BULK_OUT(endpoint)) {
|
||||||
|
ep_cnt++;
|
||||||
|
have_bulk_out = endpoint->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "bulk out", 0L);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** not a bulk endpoint", 0L);
|
||||||
|
return -EIO; /* Shouldn't ever get here unless we have something weird */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Perform a quick check to make sure that everything worked as it
|
||||||
|
* should have.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!have_bulk_in || !have_bulk_out) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** bulk in/out both required", 0L);
|
||||||
|
return -EIO;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Determine a minor number and initialize the structure associated
|
||||||
|
* with it.
|
||||||
|
*/
|
||||||
|
if (!(fjveincam = kzalloc (sizeof (struct fjveincam_usb_data), GFP_KERNEL))) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** insufficient memory", 0L);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
mutex_init(&(fjveincam->io_mutex)); /* Initializes to unlocked */
|
||||||
|
|
||||||
|
/* Ok, now initialize all the relevant values */
|
||||||
|
if (!(fjveincam->obuf = (char *)kmalloc(OBUF_SIZE, GFP_KERNEL))) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** insufficient output memory", 0L);
|
||||||
|
kfree(fjveincam);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(fjveincam->ibuf = (char *)kmalloc(IBUF_SIZE, GFP_KERNEL))) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** insufficient input memory", 0L);
|
||||||
|
kfree(fjveincam->obuf);
|
||||||
|
kfree(fjveincam);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
usb_get_dev(dev);
|
||||||
|
fjveincam->bulk_in_ep = have_bulk_in;
|
||||||
|
fjveincam->bulk_out_ep = have_bulk_out;
|
||||||
|
fjveincam->udev = dev;
|
||||||
|
fjveincam->open_count = 0;
|
||||||
|
fjveincam->confirmed = SENSOR_NOT_CONFIRMED;
|
||||||
|
|
||||||
|
usb_set_intfdata(intf, fjveincam);
|
||||||
|
|
||||||
|
retval = usb_register_dev(intf, &fjveincam_class);
|
||||||
|
if (retval) {
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "**ERROR** unable to get a minor number", 0L);
|
||||||
|
usb_set_intfdata(intf, NULL);
|
||||||
|
kfree(fjveincam->ibuf);
|
||||||
|
kfree(fjveincam->obuf);
|
||||||
|
kfree(fjveincam);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe", "have a minor", intf->minor);
|
||||||
|
fjveincam->fjveincam_minor = intf->minor;
|
||||||
|
|
||||||
|
snprintf(name, sizeof(name), fjveincam_class.name,
|
||||||
|
intf->minor - fjveincam_class.minor_base);
|
||||||
|
dev_info(&intf->dev, "USB PalmVeinCam device now attached to %s\n", name);
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_probe: have a name", name, 0L);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void usb_fjveincam_disconnect(struct usb_interface *interface)
|
||||||
|
{
|
||||||
|
struct fjveincam_usb_data *fjveincam = usb_get_intfdata(interface);
|
||||||
|
int fjveincam_minor = interface->minor;
|
||||||
|
|
||||||
|
usb_set_intfdata(interface, NULL);
|
||||||
|
|
||||||
|
/* give back our minor */
|
||||||
|
usb_deregister_dev (interface, &fjveincam_class);
|
||||||
|
|
||||||
|
mutex_lock(&fjveincam_mutex); /* If there is a process in open(), wait for return. */
|
||||||
|
mutex_lock(&(fjveincam->io_mutex));
|
||||||
|
|
||||||
|
dev_info(&interface->dev, "USB PalmVeinCam #%d now disconnected\n", (fjveincam_minor - fjveincam_class.minor_base));
|
||||||
|
|
||||||
|
usb_driver_release_interface(&usb_fjveincam_driver,
|
||||||
|
fjveincam->udev->actconfig->interface[0]);
|
||||||
|
|
||||||
|
if (fjveincam->open_count) {
|
||||||
|
/* The device is still open - cleanup must be delayed */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_disconnect", "device was unplugged while open", 0L);
|
||||||
|
fjveincam->udev = 0;
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
mutex_unlock(&fjveincam_mutex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
dbg(__LINE__, "usb_fjveincam_disconnect", "deallocating...", 0L);
|
||||||
|
|
||||||
|
mutex_unlock(&(fjveincam->io_mutex));
|
||||||
|
mutex_unlock(&fjveincam_mutex);
|
||||||
|
|
||||||
|
kfree(fjveincam->ibuf);
|
||||||
|
kfree(fjveincam->obuf);
|
||||||
|
kfree(fjveincam);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct usb_driver usb_fjveincam_driver = {
|
||||||
|
.name = "fjveincam",
|
||||||
|
.probe = usb_fjveincam_probe,
|
||||||
|
.disconnect = usb_fjveincam_disconnect,
|
||||||
|
.id_table = fjveincam_device_ids,
|
||||||
|
.no_dynamic_id = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
static int __init usb_fjveincam_init(void){
|
||||||
|
int result;
|
||||||
|
|
||||||
|
/* register this driver with the USB subsystem - fires on driver module insmod */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_init", "USB registration with ioctl %lu", USB_FJVEINCAM_IOCTL_INFO);
|
||||||
|
result = usb_register(&usb_fjveincam_driver);
|
||||||
|
if (result){
|
||||||
|
dbg(__LINE__, "usb_fjveincam_init", "USB registration failed", 0L);
|
||||||
|
}
|
||||||
|
dbg(__LINE__, "usb_fjveincam_init", "registration complete", result);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __exit usb_fjveincam_exit(void)
|
||||||
|
{
|
||||||
|
/* deregister this driver with the USB subsystem - fires on driver module rmmod */
|
||||||
|
dbg(__LINE__, "usb_fjveincam_init", "USB de-registration with ioctl %lu", USB_FJVEINCAM_IOCTL_INFO);
|
||||||
|
usb_deregister(&usb_fjveincam_driver);
|
||||||
|
dbg(__LINE__, "usb_fjveincam_exit", "removing the driver", 0L);
|
||||||
|
}
|
||||||
|
|
||||||
|
module_init(usb_fjveincam_init);
|
||||||
|
module_exit(usb_fjveincam_exit);
|
||||||
|
|
||||||
|
MODULE_AUTHOR(DRIVER_AUTHOR);
|
||||||
|
MODULE_DESCRIPTION(DRIVER_DESC);
|
||||||
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
||||||
|
|
||||||
68
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.h
Normal file
68
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.h
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/*
|
||||||
|
* USB PalmSecure Sensor driver (kernel-2.6)
|
||||||
|
*
|
||||||
|
* Copyright (C) 2012 FUJITSU FRONTECH LIMITED
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License version
|
||||||
|
* 2 as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* Notes:
|
||||||
|
*
|
||||||
|
* History:
|
||||||
|
*
|
||||||
|
* 2012-07-06 - V31L01
|
||||||
|
* - first version
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef _FJVEINCAM_
|
||||||
|
#define _FJVEINCAM_
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* ioctl */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
// Berore V30 Authentication Library use.
|
||||||
|
#define USB_FJVEINCAMV30_IOCTL_CTRLMSG 0x01
|
||||||
|
#define USB_FJVEINCAMV30_IOCTL_CHECK 0x02
|
||||||
|
#define USB_FJVEINCAMV30_IOCTL_INFO 0x03
|
||||||
|
#define USB_FJVEINCAMV30_IOCTL_CONFIRM 0x04
|
||||||
|
// V31 Authentication Library or later version use.
|
||||||
|
#define USB_FJVEINCAM_IOCTL_CTRLMSG _IOWR(0xB4,0x01,struct fjveincam_cmsg)
|
||||||
|
#define USB_FJVEINCAM_IOCTL_CHECK _IO(0xB4,0x02)
|
||||||
|
#define USB_FJVEINCAM_IOCTL_INFO _IOR(0xB4,0x03,struct fjveincam_info)
|
||||||
|
#define USB_FJVEINCAM_IOCTL_CONFIRM _IO(0xB4,0x04)
|
||||||
|
|
||||||
|
/* for USB_FJVEINCAM_IOCTL_CTRLMSG */
|
||||||
|
|
||||||
|
struct fjveincam_cmsg {
|
||||||
|
struct {
|
||||||
|
unsigned char bRequestType;
|
||||||
|
unsigned char bRequest;
|
||||||
|
unsigned short wValue;
|
||||||
|
unsigned short wIndex;
|
||||||
|
unsigned short wLength;
|
||||||
|
} req; /* USB device control request data */
|
||||||
|
void *data; /* response data area pointer */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* for USB_FJVEINCAM_IOCTL_CHECK */
|
||||||
|
|
||||||
|
/* no structure */
|
||||||
|
|
||||||
|
/* for USB_FJVEINCAM_IOCTL_INFO */
|
||||||
|
|
||||||
|
/* Magic number for Fujitsu Palmsecure sensor driver. */
|
||||||
|
#define FJPV_MAGIC 0x464A5056
|
||||||
|
|
||||||
|
struct fjveincam_info {
|
||||||
|
int magic; /* Magic number for indicating Fujitsu Palmsecure sensor driver. */
|
||||||
|
int minor; /* minor number */
|
||||||
|
int o_timeout; /* counter of open time out */
|
||||||
|
int r_error; /* counter of read error */
|
||||||
|
int r_lasterr; /* read last error */
|
||||||
|
int w_error; /* counter of write error */
|
||||||
|
int w_lasterr; /* write last error */
|
||||||
|
unsigned char version[8]; /* device driver version string */
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _FJVEINCAM_ */
|
||||||
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko
Normal file
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko
Normal file
Binary file not shown.
2
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod
Normal file
2
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o
|
||||||
|
|
||||||
76
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.c
Normal file
76
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.c
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#include <linux/module.h>
|
||||||
|
#define INCLUDE_VERMAGIC
|
||||||
|
#include <linux/build-salt.h>
|
||||||
|
#include <linux/elfnote-lto.h>
|
||||||
|
#include <linux/vermagic.h>
|
||||||
|
#include <linux/compiler.h>
|
||||||
|
|
||||||
|
BUILD_SALT;
|
||||||
|
BUILD_LTO_INFO;
|
||||||
|
|
||||||
|
MODULE_INFO(vermagic, VERMAGIC_STRING);
|
||||||
|
MODULE_INFO(name, KBUILD_MODNAME);
|
||||||
|
|
||||||
|
__visible struct module __this_module
|
||||||
|
__section(".gnu.linkonce.this_module") = {
|
||||||
|
.name = KBUILD_MODNAME,
|
||||||
|
.init = init_module,
|
||||||
|
#ifdef CONFIG_MODULE_UNLOAD
|
||||||
|
.exit = cleanup_module,
|
||||||
|
#endif
|
||||||
|
.arch = MODULE_ARCH_INIT,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef CONFIG_RETPOLINE
|
||||||
|
MODULE_INFO(retpoline, "Y");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static const struct modversion_info ____versions[]
|
||||||
|
__used __section("__versions") = {
|
||||||
|
{ 0x32e21920, "module_layout" },
|
||||||
|
{ 0xdf85ea06, "usb_deregister" },
|
||||||
|
{ 0xf63cc4cc, "usb_register_driver" },
|
||||||
|
{ 0xa024a396, "usb_clear_halt" },
|
||||||
|
{ 0x228fca22, "usb_bulk_msg" },
|
||||||
|
{ 0xa7bfbf2f, "current_task" },
|
||||||
|
{ 0x5e515be6, "ktime_get_ts64" },
|
||||||
|
{ 0x6b10bee1, "_copy_to_user" },
|
||||||
|
{ 0x56470118, "__warn_printk" },
|
||||||
|
{ 0xd4afa9de, "usb_control_msg" },
|
||||||
|
{ 0x88db9f48, "__check_object_size" },
|
||||||
|
{ 0x13c49cc2, "_copy_from_user" },
|
||||||
|
{ 0x656e4a6e, "snprintf" },
|
||||||
|
{ 0x40a9a344, "usb_register_dev" },
|
||||||
|
{ 0x1e3192f4, "usb_get_dev" },
|
||||||
|
{ 0xb8b9f817, "kmalloc_order_trace" },
|
||||||
|
{ 0xcefb0c9f, "__mutex_init" },
|
||||||
|
{ 0xf35141b2, "kmem_cache_alloc_trace" },
|
||||||
|
{ 0x26087692, "kmalloc_caches" },
|
||||||
|
{ 0x3c3ff9fd, "sprintf" },
|
||||||
|
{ 0xd0da656b, "__stack_chk_fail" },
|
||||||
|
{ 0x92540fbf, "finish_wait" },
|
||||||
|
{ 0x8ddd8aad, "schedule_timeout" },
|
||||||
|
{ 0x8c26d495, "prepare_to_wait_event" },
|
||||||
|
{ 0xfe487975, "init_wait_entry" },
|
||||||
|
{ 0x800473f, "__cond_resched" },
|
||||||
|
{ 0xd9a5ea54, "__init_waitqueue_head" },
|
||||||
|
{ 0x2546aa39, "usb_find_interface" },
|
||||||
|
{ 0x3eeb2322, "__wake_up" },
|
||||||
|
{ 0x37a0cba, "kfree" },
|
||||||
|
{ 0x3213f038, "mutex_unlock" },
|
||||||
|
{ 0x30350852, "usb_driver_release_interface" },
|
||||||
|
{ 0xe6e002cf, "_dev_info" },
|
||||||
|
{ 0x4dfa8d4b, "mutex_lock" },
|
||||||
|
{ 0x665cdc8a, "usb_deregister_dev" },
|
||||||
|
{ 0x5b8239ca, "__x86_return_thunk" },
|
||||||
|
{ 0x92997ed8, "_printk" },
|
||||||
|
{ 0xbdfb6dbb, "__fentry__" },
|
||||||
|
};
|
||||||
|
|
||||||
|
MODULE_INFO(depends, "");
|
||||||
|
|
||||||
|
MODULE_ALIAS("usb:v04C5p1084d*dc*dsc*dp*ic*isc*ip*in*");
|
||||||
|
MODULE_ALIAS("usb:v04C5p125Ad*dc*dsc*dp*ic*isc*ip*in*");
|
||||||
|
MODULE_ALIAS("usb:v04C5p1526d*dc*dsc*dp*ic*isc*ip*in*");
|
||||||
|
|
||||||
|
MODULE_INFO(srcversion, "808114ED83ED71E3194151A");
|
||||||
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o
Normal file
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.mod.o
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o
Normal file
BIN
modules/fjpalmvein/C/fjpalmvein-main/fjveincam.o
Normal file
Binary file not shown.
787
modules/fjpalmvein/C/fjpalmvein-main/foo
Normal file
787
modules/fjpalmvein/C/fjpalmvein-main/foo
Normal file
@ -0,0 +1,787 @@
|
|||||||
|
virgil
|
||||||
|
description: Desktop Computer
|
||||||
|
product: HP Pavilion Desktop 590-p0xxx (3LA43AA#ABL)
|
||||||
|
vendor: HP
|
||||||
|
serial: 8CG8162ZTV
|
||||||
|
width: 64 bits
|
||||||
|
capabilities: smbios-3.1.1 dmi-3.1.1 smp vsyscall32
|
||||||
|
configuration: boot=normal chassis=desktop family=103C_53311M HP Pavilion sku=3LA43AA#ABL uuid=ce70543f-e8cb-d230-3005-afc146a07a66
|
||||||
|
*-core
|
||||||
|
description: Motherboard
|
||||||
|
product: 8433
|
||||||
|
vendor: HP
|
||||||
|
physical id: 0
|
||||||
|
version: 11
|
||||||
|
serial: PGSYE0A0GAPCZN
|
||||||
|
*-firmware
|
||||||
|
description: BIOS
|
||||||
|
vendor: AMI
|
||||||
|
physical id: 0
|
||||||
|
version: F.06
|
||||||
|
date: 02/13/2018
|
||||||
|
size: 64KiB
|
||||||
|
capacity: 16MiB
|
||||||
|
capabilities: pci pnp upgrade shadowing cdboot bootselect edd int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification netboot uefi
|
||||||
|
*-memory
|
||||||
|
description: System Memory
|
||||||
|
physical id: 1d
|
||||||
|
slot: System board or motherboard
|
||||||
|
size: 16GiB
|
||||||
|
*-bank:0
|
||||||
|
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
|
||||||
|
product: CT8G4DFS8266.M8FE
|
||||||
|
vendor: Unknown
|
||||||
|
physical id: 0
|
||||||
|
serial: E0CEED5E
|
||||||
|
slot: DIMM 0
|
||||||
|
size: 8GiB
|
||||||
|
width: 64 bits
|
||||||
|
clock: 2400MHz (0.4ns)
|
||||||
|
*-bank:1
|
||||||
|
description: DIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
|
||||||
|
product: M378A1K43CB2-CTD
|
||||||
|
vendor: Samsung
|
||||||
|
physical id: 1
|
||||||
|
serial: 3868A091
|
||||||
|
slot: DIMM 0
|
||||||
|
size: 8GiB
|
||||||
|
width: 64 bits
|
||||||
|
clock: 2400MHz (0.4ns)
|
||||||
|
*-cache:0
|
||||||
|
description: L1 cache
|
||||||
|
physical id: 1f
|
||||||
|
slot: L1 - Cache
|
||||||
|
size: 320KiB
|
||||||
|
capacity: 320KiB
|
||||||
|
clock: 1GHz (1.0ns)
|
||||||
|
capabilities: pipeline-burst internal write-back unified
|
||||||
|
configuration: level=1
|
||||||
|
*-cache:1
|
||||||
|
description: L2 cache
|
||||||
|
physical id: 20
|
||||||
|
slot: L2 - Cache
|
||||||
|
size: 2MiB
|
||||||
|
capacity: 2MiB
|
||||||
|
clock: 1GHz (1.0ns)
|
||||||
|
capabilities: pipeline-burst internal write-back unified
|
||||||
|
configuration: level=2
|
||||||
|
*-cpu
|
||||||
|
description: CPU
|
||||||
|
product: AMD A10-9700 RADEON R7, 10 COMPUTE CORES 4C+6G
|
||||||
|
vendor: Advanced Micro Devices [AMD]
|
||||||
|
physical id: 21
|
||||||
|
bus info: cpu@0
|
||||||
|
version: 21.101.1
|
||||||
|
serial: Unknown
|
||||||
|
slot: AM4
|
||||||
|
size: 3693MHz
|
||||||
|
width: 64 bits
|
||||||
|
clock: 100MHz
|
||||||
|
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp x86-64 constant_tsc rep_good acc_power nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb bpext ptsc mwaitx cpb hw_pstate ssbd vmmcall fsgsbase bmi1 avx2 smep bmi2 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov cpufreq
|
||||||
|
configuration: cores=4 enabledcores=4 microcode=100688152 threads=4
|
||||||
|
*-pci:0
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Root Complex
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 100
|
||||||
|
bus info: pci@0000:00:00.0
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-generic:0 UNCLAIMED
|
||||||
|
description: IOMMU
|
||||||
|
product: Family 15h (Models 60h-6fh) I/O Memory Management Unit
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 0.2
|
||||||
|
bus info: pci@0000:00:00.2
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: msi ht cap_list
|
||||||
|
configuration: latency=0
|
||||||
|
*-display
|
||||||
|
description: VGA compatible controller
|
||||||
|
product: Wani [Radeon R5/R6/R7 Graphics]
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
|
||||||
|
physical id: 1
|
||||||
|
bus info: pci@0000:00:01.0
|
||||||
|
logical name: /dev/fb0
|
||||||
|
version: e2
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
|
||||||
|
configuration: depth=32 driver=amdgpu latency=0 resolution=4096,2160
|
||||||
|
resources: irq:53 memory:e0000000-efffffff memory:f0000000-f07fffff ioport:f000(size=256) memory:fe900000-fe93ffff memory:c0000-dffff
|
||||||
|
*-multimedia:0
|
||||||
|
description: Audio device
|
||||||
|
product: Kabini HDMI/DP Audio
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
|
||||||
|
physical id: 1.1
|
||||||
|
bus info: pci@0000:00:01.1
|
||||||
|
logical name: card0
|
||||||
|
logical name: /dev/snd/controlC0
|
||||||
|
logical name: /dev/snd/hwC0D0
|
||||||
|
logical name: /dev/snd/pcmC0D3p
|
||||||
|
version: 00
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm pciexpress msi bus_master cap_list
|
||||||
|
configuration: driver=snd_hda_intel latency=0
|
||||||
|
resources: irq:49 memory:fe964000-fe967fff
|
||||||
|
*-input
|
||||||
|
product: HDA ATI HDMI HDMI/DP,pcm=3
|
||||||
|
physical id: 0
|
||||||
|
logical name: input23
|
||||||
|
logical name: /dev/input/event11
|
||||||
|
*-pci:0
|
||||||
|
description: PCI bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Root Port
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 2.4
|
||||||
|
bus info: pci@0000:00:02.4
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci pm pciexpress msi ht normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:26 ioport:e000(size=4096) memory:fe600000-fe7fffff
|
||||||
|
*-usb
|
||||||
|
description: USB controller
|
||||||
|
product: 300 Series Chipset USB 3.1 xHCI Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 0
|
||||||
|
bus info: pci@0000:05:00.0
|
||||||
|
version: 02
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: msi msix pm pciexpress xhci bus_master cap_list
|
||||||
|
configuration: driver=xhci_hcd latency=0
|
||||||
|
resources: irq:30 memory:fe7a0000-fe7a7fff
|
||||||
|
*-usbhost:0
|
||||||
|
product: xHCI Host Controller
|
||||||
|
vendor: Linux 5.15.0-72-generic xhci-hcd
|
||||||
|
physical id: 0
|
||||||
|
bus info: usb@4
|
||||||
|
logical name: usb4
|
||||||
|
version: 5.15
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=hub slots=10 speed=480Mbit/s
|
||||||
|
*-usb:0
|
||||||
|
description: Printer
|
||||||
|
product: ML-2160 Series
|
||||||
|
vendor: Samsung Electronics Co., Ltd.
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@4:1
|
||||||
|
version: 1.00
|
||||||
|
serial: Z7BPBKEBC00990M
|
||||||
|
capabilities: usb-2.00 bidirectional
|
||||||
|
configuration: driver=usblp maxpower=2mA speed=480Mbit/s
|
||||||
|
*-usb:1
|
||||||
|
description: USB hub
|
||||||
|
product: USB 2.0 Hub
|
||||||
|
vendor: Terminus Technology Inc.
|
||||||
|
physical id: 6
|
||||||
|
bus info: usb@4:6
|
||||||
|
version: 1.11
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
|
||||||
|
*-usb:0
|
||||||
|
description: Generic USB device
|
||||||
|
product: FUJITSU PalmSecure-F Pro
|
||||||
|
vendor: FUJITSU
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@4:6.1
|
||||||
|
version: 2.00
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=fjveincam maxpower=480mA speed=480Mbit/s
|
||||||
|
*-usb:1
|
||||||
|
description: Mouse
|
||||||
|
product: USB Receiver
|
||||||
|
vendor: Logitech
|
||||||
|
physical id: 2
|
||||||
|
bus info: usb@4:6.2
|
||||||
|
version: 30.00
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=usbhid maxpower=98mA speed=12Mbit/s
|
||||||
|
*-input
|
||||||
|
product: Logitech Wireless Mouse
|
||||||
|
physical id: 0
|
||||||
|
logical name: input16
|
||||||
|
logical name: /dev/input/event7
|
||||||
|
logical name: /dev/input/mouse1
|
||||||
|
capabilities: usb
|
||||||
|
*-usb:2
|
||||||
|
description: Bluetooth wireless interface
|
||||||
|
product: Bluetooth Radio
|
||||||
|
vendor: Realtek
|
||||||
|
physical id: a
|
||||||
|
bus info: usb@4:a
|
||||||
|
version: 1.10
|
||||||
|
serial: 00e04c000001
|
||||||
|
capabilities: bluetooth usb-1.10
|
||||||
|
configuration: driver=btusb maxpower=500mA speed=12Mbit/s
|
||||||
|
*-usbhost:1
|
||||||
|
product: xHCI Host Controller
|
||||||
|
vendor: Linux 5.15.0-72-generic xhci-hcd
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@5
|
||||||
|
logical name: usb5
|
||||||
|
version: 5.15
|
||||||
|
capabilities: usb-3.10
|
||||||
|
configuration: driver=hub slots=4 speed=10000Mbit/s
|
||||||
|
*-sata
|
||||||
|
description: SATA controller
|
||||||
|
product: 300 Series Chipset SATA Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 0.1
|
||||||
|
bus info: pci@0000:05:00.1
|
||||||
|
logical name: scsi2
|
||||||
|
version: 02
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: sata msi pm pciexpress ahci_1.0 bus_master cap_list rom emulated
|
||||||
|
configuration: driver=ahci latency=0
|
||||||
|
resources: irq:42 memory:fe780000-fe79ffff memory:fe700000-fe77ffff
|
||||||
|
*-cdrom
|
||||||
|
description: DVD-RAM writer
|
||||||
|
product: DVDRW GUD1N
|
||||||
|
vendor: hp HLDS
|
||||||
|
physical id: 0.0.0
|
||||||
|
bus info: scsi@2:0.0.0
|
||||||
|
logical name: /dev/cdrom
|
||||||
|
logical name: /dev/sr0
|
||||||
|
logical name: /media/carl/K3b data project
|
||||||
|
version: LD04
|
||||||
|
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
|
||||||
|
configuration: ansiversion=5 mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=1000,gid=1000,dmode=500,fmode=400,iocharset=utf8 state=mounted status=ready
|
||||||
|
*-medium
|
||||||
|
physical id: 0
|
||||||
|
logical name: /dev/cdrom
|
||||||
|
logical name: /media/carl/K3b data project
|
||||||
|
configuration: mount.fstype=iso9660 mount.options=ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=1000,gid=1000,dmode=500,fmode=400,iocharset=utf8 state=mounted
|
||||||
|
*-pci
|
||||||
|
description: PCI bridge
|
||||||
|
product: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 0.2
|
||||||
|
bus info: pci@0000:05:00.2
|
||||||
|
version: 02
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci msi pm pciexpress normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:29 ioport:e000(size=4096) memory:fe600000-fe6fffff
|
||||||
|
*-pci:0
|
||||||
|
description: PCI bridge
|
||||||
|
product: 300 Series Chipset PCIe Port
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 0
|
||||||
|
bus info: pci@0000:06:00.0
|
||||||
|
version: 02
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci msi pm pciexpress normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:31 ioport:e000(size=4096) memory:fe600000-fe6fffff
|
||||||
|
*-network DISABLED
|
||||||
|
description: Wireless interface
|
||||||
|
product: RTL8821CE 802.11ac PCIe Wireless Network Adapter
|
||||||
|
vendor: Realtek Semiconductor Co., Ltd.
|
||||||
|
physical id: 0
|
||||||
|
bus info: pci@0000:07:00.0
|
||||||
|
logical name: wlo1
|
||||||
|
version: 00
|
||||||
|
serial: 5c:ea:1d:b7:f4:47
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
|
||||||
|
configuration: broadcast=yes driver=rtw_8821ce driverversion=5.15.0-72-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11
|
||||||
|
resources: irq:52 ioport:e000(size=256) memory:fe600000-fe60ffff
|
||||||
|
*-pci:1
|
||||||
|
description: PCI bridge
|
||||||
|
product: 300 Series Chipset PCIe Port
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 1
|
||||||
|
bus info: pci@0000:06:01.0
|
||||||
|
version: 02
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci msi pm pciexpress normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:33
|
||||||
|
*-pci:2
|
||||||
|
description: PCI bridge
|
||||||
|
product: 300 Series Chipset PCIe Port
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 4
|
||||||
|
bus info: pci@0000:06:04.0
|
||||||
|
version: 02
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci msi pm pciexpress normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:34
|
||||||
|
*-pci:1
|
||||||
|
description: PCI bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Root Port
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 2.5
|
||||||
|
bus info: pci@0000:00:02.5
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pci pm pciexpress msi ht normal_decode bus_master cap_list
|
||||||
|
configuration: driver=pcieport
|
||||||
|
resources: irq:27 ioport:d000(size=4096) memory:fe800000-fe8fffff
|
||||||
|
*-network
|
||||||
|
description: Ethernet interface
|
||||||
|
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
|
||||||
|
vendor: Realtek Semiconductor Co., Ltd.
|
||||||
|
physical id: 0
|
||||||
|
bus info: pci@0000:0a:00.0
|
||||||
|
logical name: enp10s0
|
||||||
|
version: 15
|
||||||
|
serial: 10:e7:c6:10:33:2c
|
||||||
|
size: 1Gbit/s
|
||||||
|
capacity: 1Gbit/s
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
|
||||||
|
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.15.0-72-generic duplex=full firmware=rtl8168h-2_0.0.2 02/26/15 ip=192.168.100.105 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
|
||||||
|
resources: irq:40 ioport:d000(size=256) memory:fe804000-fe804fff memory:fe800000-fe803fff
|
||||||
|
*-generic:1 UNCLAIMED
|
||||||
|
description: Encryption controller
|
||||||
|
product: Carrizo Platform Security Processor
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 8
|
||||||
|
bus info: pci@0000:00:08.0
|
||||||
|
version: 00
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: msix ht pm bus_master cap_list
|
||||||
|
configuration: latency=0
|
||||||
|
resources: memory:f0800000-f081ffff memory:fe500000-fe5fffff memory:fe96f000-fe96ffff memory:fe96a000-fe96bfff
|
||||||
|
*-multimedia:1
|
||||||
|
description: Computer telephony device
|
||||||
|
product: Family 15h (Models 60h-6fh) Audio Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 9.2
|
||||||
|
bus info: pci@0000:00:09.2
|
||||||
|
logical name: card2
|
||||||
|
logical name: /dev/snd/controlC2
|
||||||
|
logical name: /dev/snd/hwC2D0
|
||||||
|
logical name: /dev/snd/pcmC2D0c
|
||||||
|
logical name: /dev/snd/pcmC2D0p
|
||||||
|
logical name: /dev/snd/pcmC2D2c
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm bus_master cap_list
|
||||||
|
configuration: driver=snd_hda_intel latency=0
|
||||||
|
resources: irq:50 memory:fe960000-fe963fff
|
||||||
|
*-input:0
|
||||||
|
product: HD-Audio Generic Front Mic
|
||||||
|
physical id: 0
|
||||||
|
logical name: input18
|
||||||
|
logical name: /dev/input/event9
|
||||||
|
*-input:1
|
||||||
|
product: HD-Audio Generic Headset Mic
|
||||||
|
physical id: 1
|
||||||
|
logical name: input19
|
||||||
|
logical name: /dev/input/event10
|
||||||
|
*-input:2
|
||||||
|
product: HD-Audio Generic Line
|
||||||
|
physical id: 2
|
||||||
|
logical name: input20
|
||||||
|
logical name: /dev/input/event12
|
||||||
|
*-input:3
|
||||||
|
product: HD-Audio Generic Line Out
|
||||||
|
physical id: 3
|
||||||
|
logical name: input21
|
||||||
|
logical name: /dev/input/event13
|
||||||
|
*-input:4
|
||||||
|
product: HD-Audio Generic Front Headphone
|
||||||
|
physical id: 4
|
||||||
|
logical name: input22
|
||||||
|
logical name: /dev/input/event14
|
||||||
|
*-usb:0
|
||||||
|
description: USB controller
|
||||||
|
product: FCH USB XHCI Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 10
|
||||||
|
bus info: pci@0000:00:10.0
|
||||||
|
version: 20
|
||||||
|
width: 64 bits
|
||||||
|
clock: 33MHz
|
||||||
|
capabilities: pm msi msix pciexpress xhci bus_master cap_list
|
||||||
|
configuration: driver=xhci_hcd latency=0
|
||||||
|
resources: irq:18 memory:fe968000-fe969fff
|
||||||
|
*-usbhost:0
|
||||||
|
product: xHCI Host Controller
|
||||||
|
vendor: Linux 5.15.0-72-generic xhci-hcd
|
||||||
|
physical id: 0
|
||||||
|
bus info: usb@2
|
||||||
|
logical name: usb2
|
||||||
|
version: 5.15
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=hub slots=4 speed=480Mbit/s
|
||||||
|
*-usb
|
||||||
|
description: Keyboard
|
||||||
|
product: Barcode Reader Consumer Control
|
||||||
|
vendor: PCPlay
|
||||||
|
physical id: 4
|
||||||
|
bus info: usb@2:4
|
||||||
|
logical name: input3
|
||||||
|
logical name: /dev/input/event3
|
||||||
|
logical name: input3::capslock
|
||||||
|
logical name: input3::numlock
|
||||||
|
logical name: input3::scrolllock
|
||||||
|
logical name: input4
|
||||||
|
logical name: /dev/input/event4
|
||||||
|
logical name: /dev/input/mouse0
|
||||||
|
logical name: input5
|
||||||
|
logical name: /dev/input/event5
|
||||||
|
logical name: input6
|
||||||
|
logical name: /dev/input/event6
|
||||||
|
version: 0.01
|
||||||
|
capabilities: usb-1.10 usb
|
||||||
|
configuration: driver=usbhid maxpower=400mA speed=2Mbit/s
|
||||||
|
*-usbhost:1
|
||||||
|
product: xHCI Host Controller
|
||||||
|
vendor: Linux 5.15.0-72-generic xhci-hcd
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@3
|
||||||
|
logical name: usb3
|
||||||
|
version: 5.15
|
||||||
|
capabilities: usb-3.00
|
||||||
|
configuration: driver=hub slots=4 speed=5000Mbit/s
|
||||||
|
*-sata
|
||||||
|
description: SATA controller
|
||||||
|
product: FCH SATA Controller [AHCI mode]
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 11
|
||||||
|
bus info: pci@0000:00:11.0
|
||||||
|
logical name: scsi0
|
||||||
|
logical name: scsi1
|
||||||
|
version: 49
|
||||||
|
width: 32 bits
|
||||||
|
clock: 66MHz
|
||||||
|
capabilities: sata pm ahci_1.0 bus_master cap_list emulated
|
||||||
|
configuration: driver=ahci latency=32
|
||||||
|
resources: irq:19 ioport:f140(size=8) ioport:f130(size=4) ioport:f120(size=8) ioport:f110(size=4) ioport:f100(size=16) memory:fe96d000-fe96d3ff
|
||||||
|
*-disk:0
|
||||||
|
description: ATA Disk
|
||||||
|
product: WDC WD10EZEX-60W
|
||||||
|
vendor: Western Digital
|
||||||
|
physical id: 0
|
||||||
|
bus info: scsi@0:0.0.0
|
||||||
|
logical name: /dev/sda
|
||||||
|
version: 1A01
|
||||||
|
serial: WD-WCC6Y0DR86V9
|
||||||
|
size: 931GiB (1TB)
|
||||||
|
capabilities: gpt-1.00 partitioned partitioned:gpt
|
||||||
|
configuration: ansiversion=5 guid=d2d28da5-2323-4ac3-90c7-6efbb81e3de4 logicalsectorsize=512 sectorsize=4096
|
||||||
|
*-volume:0
|
||||||
|
description: Windows FAT volume
|
||||||
|
vendor: mkfs.fat
|
||||||
|
physical id: 1
|
||||||
|
bus info: scsi@0:0.0.0,1
|
||||||
|
logical name: /dev/sda1
|
||||||
|
logical name: /boot/efi
|
||||||
|
version: FAT32
|
||||||
|
serial: 01c5-7c33
|
||||||
|
size: 510MiB
|
||||||
|
capacity: 511MiB
|
||||||
|
capabilities: boot fat initialized
|
||||||
|
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro name=EFI System Partition state=mounted
|
||||||
|
*-volume:1
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 2
|
||||||
|
bus info: scsi@0:0.0.0,2
|
||||||
|
logical name: /dev/sda2
|
||||||
|
logical name: /t100
|
||||||
|
version: 1.0
|
||||||
|
serial: 32213bb9-fd0f-496e-9dc6-6f545afeb7a6
|
||||||
|
size: 93GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:22 filesystem=ext4 lastmountpoint=/t100 modified=2023-05-25 11:10:21 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-05-25 11:10:21 state=mounted
|
||||||
|
*-volume:2
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 3
|
||||||
|
bus info: scsi@0:0.0.0,3
|
||||||
|
logical name: /dev/sda3
|
||||||
|
logical name: /t200
|
||||||
|
version: 1.0
|
||||||
|
serial: 63d8a55e-49d3-48e4-83e2-ad2af0ad0f11
|
||||||
|
size: 186GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:27 filesystem=ext4 lastmountpoint=/t200 modified=2023-05-25 11:10:23 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-05-25 11:10:23 state=mounted
|
||||||
|
*-volume:3
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 4
|
||||||
|
bus info: scsi@0:0.0.0,4
|
||||||
|
logical name: /dev/sda4
|
||||||
|
logical name: /t300
|
||||||
|
version: 1.0
|
||||||
|
serial: 69565d55-a766-4a0f-bb32-b9f858a8465e
|
||||||
|
size: 279GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:34 filesystem=ext4 lastmountpoint=/t300 modified=2023-05-25 11:10:31 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-05-25 11:10:31 state=mounted
|
||||||
|
*-volume:4
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 5
|
||||||
|
bus info: scsi@0:0.0.0,5
|
||||||
|
logical name: /dev/sda5
|
||||||
|
logical name: /t400
|
||||||
|
version: 1.0
|
||||||
|
serial: 5ed4898d-8a64-4c4a-9ac7-4fd5015e9d79
|
||||||
|
size: 372GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:42 filesystem=ext4 modified=2023-05-25 11:10:21 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-05-25 11:10:21 state=mounted
|
||||||
|
*-disk:1
|
||||||
|
description: ATA Disk
|
||||||
|
product: Samsung SSD 870
|
||||||
|
physical id: 1
|
||||||
|
bus info: scsi@1:0.0.0
|
||||||
|
logical name: /dev/sdb
|
||||||
|
version: 1B6Q
|
||||||
|
serial: S6PXNZ0RB17583J
|
||||||
|
size: 465GiB (500GB)
|
||||||
|
capabilities: gpt-1.00 partitioned partitioned:gpt
|
||||||
|
configuration: ansiversion=5 guid=35e703da-717b-461c-904c-e1a3760e7398 logicalsectorsize=512 sectorsize=512
|
||||||
|
*-volume:0
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 1
|
||||||
|
bus info: scsi@1:0.0.0,1
|
||||||
|
logical name: /dev/sdb1
|
||||||
|
logical name: /boot
|
||||||
|
version: 1.0
|
||||||
|
serial: 93cf1c28-6961-4d69-ad07-c6ffd880b5ae
|
||||||
|
size: 18GiB
|
||||||
|
capacity: 18GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:52 filesystem=ext4 lastmountpoint=/boot modified=2023-05-25 11:10:21 mount.fstype=ext4 mount.options=rw,relatime mounted=2023-05-25 11:10:21 state=mounted
|
||||||
|
*-volume:1
|
||||||
|
description: Linux swap volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 2
|
||||||
|
bus info: scsi@1:0.0.0,2
|
||||||
|
logical name: /dev/sdb2
|
||||||
|
version: 1
|
||||||
|
serial: 6810f249-99cf-413b-8cb5-63b6c684a116
|
||||||
|
size: 15GiB
|
||||||
|
capacity: 15GiB
|
||||||
|
capabilities: nofs swap initialized
|
||||||
|
configuration: filesystem=swap pagesize=4095
|
||||||
|
*-volume:2
|
||||||
|
description: EXT4 volume
|
||||||
|
vendor: Linux
|
||||||
|
physical id: 3
|
||||||
|
bus info: scsi@1:0.0.0,3
|
||||||
|
logical name: /dev/sdb3
|
||||||
|
logical name: /
|
||||||
|
logical name: /var/snap/firefox/common/host-hunspell
|
||||||
|
version: 1.0
|
||||||
|
serial: ebbba297-7bc9-4d96-aeb7-d452302fca77
|
||||||
|
size: 431GiB
|
||||||
|
capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
|
||||||
|
configuration: created=2022-08-24 10:27:53 filesystem=ext4 lastmountpoint=/ modified=2023-05-25 11:10:15 mount.fstype=ext4 mount.options=ro,noexec,noatime,errors=remount-ro mounted=2023-05-25 11:10:19 state=mounted
|
||||||
|
*-usb:1
|
||||||
|
description: USB controller
|
||||||
|
product: FCH USB EHCI Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 12
|
||||||
|
bus info: pci@0000:00:12.0
|
||||||
|
version: 49
|
||||||
|
width: 32 bits
|
||||||
|
clock: 66MHz
|
||||||
|
capabilities: pm debug ehci bus_master cap_list
|
||||||
|
configuration: driver=ehci-pci latency=32
|
||||||
|
resources: irq:18 memory:fe96c000-fe96c0ff
|
||||||
|
*-usbhost
|
||||||
|
product: EHCI Host Controller
|
||||||
|
vendor: Linux 5.15.0-72-generic ehci_hcd
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@1
|
||||||
|
logical name: usb1
|
||||||
|
version: 5.15
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=hub slots=2 speed=480Mbit/s
|
||||||
|
*-usb
|
||||||
|
description: USB hub
|
||||||
|
product: Root Hub
|
||||||
|
vendor: Advanced Micro Devices, Inc.
|
||||||
|
physical id: 1
|
||||||
|
bus info: usb@1:1
|
||||||
|
version: 0.18
|
||||||
|
capabilities: usb-2.00
|
||||||
|
configuration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
|
||||||
|
*-serial
|
||||||
|
description: SMBus
|
||||||
|
product: FCH SMBus Controller
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 14
|
||||||
|
bus info: pci@0000:00:14.0
|
||||||
|
version: 4a
|
||||||
|
width: 32 bits
|
||||||
|
clock: 66MHz
|
||||||
|
configuration: driver=piix4_smbus latency=0
|
||||||
|
resources: irq:0
|
||||||
|
*-isa
|
||||||
|
description: ISA bridge
|
||||||
|
product: FCH LPC Bridge
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 14.3
|
||||||
|
bus info: pci@0000:00:14.3
|
||||||
|
version: 11
|
||||||
|
width: 32 bits
|
||||||
|
clock: 66MHz
|
||||||
|
capabilities: isa bus_master
|
||||||
|
configuration: latency=0
|
||||||
|
*-pnp00:00
|
||||||
|
product: PnP device PNP0c01
|
||||||
|
physical id: 0
|
||||||
|
capabilities: pnp
|
||||||
|
configuration: driver=system
|
||||||
|
*-pnp00:01
|
||||||
|
product: PnP device PNP0c02
|
||||||
|
physical id: 1
|
||||||
|
capabilities: pnp
|
||||||
|
configuration: driver=system
|
||||||
|
*-pnp00:02
|
||||||
|
product: PnP device PNP0c02
|
||||||
|
physical id: 2
|
||||||
|
capabilities: pnp
|
||||||
|
configuration: driver=system
|
||||||
|
*-pnp00:03
|
||||||
|
product: PnP device PNP0b00
|
||||||
|
physical id: 3
|
||||||
|
capabilities: pnp
|
||||||
|
configuration: driver=rtc_cmos
|
||||||
|
*-pnp00:04
|
||||||
|
product: PnP device PNP0c02
|
||||||
|
physical id: 4
|
||||||
|
capabilities: pnp
|
||||||
|
configuration: driver=system
|
||||||
|
*-pci:1
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Host Bridge
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 101
|
||||||
|
bus info: pci@0000:00:02.0
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:2
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Host Bridge
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 102
|
||||||
|
bus info: pci@0000:00:03.0
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:3
|
||||||
|
description: Host bridge
|
||||||
|
product: Carrizo Audio Dummy Host Bridge
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 103
|
||||||
|
bus info: pci@0000:00:09.0
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:4
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 0
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 104
|
||||||
|
bus info: pci@0000:00:18.0
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:5
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 1
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 105
|
||||||
|
bus info: pci@0000:00:18.1
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:6
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 2
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 106
|
||||||
|
bus info: pci@0000:00:18.2
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-pci:7
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 3
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 107
|
||||||
|
bus info: pci@0000:00:18.3
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
configuration: driver=k10temp
|
||||||
|
resources: irq:0
|
||||||
|
*-pci:8
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 4
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 108
|
||||||
|
bus info: pci@0000:00:18.4
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
configuration: driver=fam15h_power
|
||||||
|
resources: irq:0
|
||||||
|
*-pci:9
|
||||||
|
description: Host bridge
|
||||||
|
product: Family 15h (Models 60h-6fh) Processor Function 5
|
||||||
|
vendor: Advanced Micro Devices, Inc. [AMD]
|
||||||
|
physical id: 109
|
||||||
|
bus info: pci@0000:00:18.5
|
||||||
|
version: 00
|
||||||
|
width: 32 bits
|
||||||
|
clock: 33MHz
|
||||||
|
*-power UNCLAIMED
|
||||||
|
description: To Be Filled By O.E.M.
|
||||||
|
product: Standard Efficiency
|
||||||
|
vendor: To Be Filled By O.E.M.
|
||||||
|
physical id: 1
|
||||||
|
version: To Be Filled By O.E.M.
|
||||||
|
serial: To Be Filled By O.E.M.
|
||||||
|
capacity: 32768mWh
|
||||||
|
*-input:0
|
||||||
|
product: Power Button
|
||||||
|
physical id: 2
|
||||||
|
logical name: input0
|
||||||
|
logical name: /dev/input/event0
|
||||||
|
capabilities: platform
|
||||||
|
*-input:1
|
||||||
|
product: Power Button
|
||||||
|
physical id: 3
|
||||||
|
logical name: input1
|
||||||
|
logical name: /dev/input/event1
|
||||||
|
capabilities: platform
|
||||||
|
*-input:2
|
||||||
|
product: HP WMI hotkeys
|
||||||
|
physical id: 4
|
||||||
|
logical name: input17
|
||||||
|
logical name: /dev/input/event8
|
||||||
|
capabilities: platform
|
||||||
|
*-input:3
|
||||||
|
product: Video Bus
|
||||||
|
physical id: 5
|
||||||
|
logical name: input2
|
||||||
|
logical name: /dev/input/event2
|
||||||
|
capabilities: platform
|
||||||
1
modules/fjpalmvein/C/fjpalmvein-main/modules.order
Normal file
1
modules/fjpalmvein/C/fjpalmvein-main/modules.order
Normal file
@ -0,0 +1 @@
|
|||||||
|
/t200/yoloserv/modules/fjpalmvein/C/fjpalmvein-main/fjveincam.ko
|
||||||
6
modules/fjpalmvein/LicenseFile_PC34/F3BC4SDK.LIC
Normal file
6
modules/fjpalmvein/LicenseFile_PC34/F3BC4SDK.LIC
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SERIAL=PC34
|
||||||
|
DATE=2020/01/27
|
||||||
|
AUTHOR=Fujitsu Frontech Limited
|
||||||
|
OWNER=
|
||||||
|
INFO=fMj1smO3+Pc1k7BsMS4aFfk/MmjEoBUZCQZuwzT4k0QyIWHnAvbraXwfyBsvIU6PMCp07kZZ59ygNOKnruh5Ixt3ijg9ttIpAdWFrUDj/ZHPIXiljIwL+vGr3x6S/Q7CwgcU0ZujyAtTW0m5i3hMrg==
|
||||||
|
SIGN=4YKXpBlSI7X+975fr71eUXs/UgHd+V7PLpMk2o30JfKQrUCVARKb+mYC+dwS3QnSDHT9t2cd04awNhmZ5YnphCnZ+66VSCmgnv7szBTNz9WAo72UWKOUPAK4mjWaZjm3n9z12iASJd+YLLknx5XBbS12ZuGb+nXDaKN9xPfhBHs=
|
||||||
70
modules/fjpalmvein/README
Normal file
70
modules/fjpalmvein/README
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Getting the Fujitsu Palm Scanner to work.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
A. The actual device
|
||||||
|
Plug it into a USB2.0. USB3.0 if you plan on using "high power mode" whatever that is (you wont).
|
||||||
|
Use lsusb to show the system found it: 04c5:1526 Fujitsu, Ltd FUJITSU PalmSecure-F Pro
|
||||||
|
|
||||||
|
|
||||||
|
B. The driver basics
|
||||||
|
cd fjpalmvein-main # I had to modify some things so it would compile, eg CURRENT_TIME macro
|
||||||
|
make # end up with fjveincam.ko
|
||||||
|
lsmod|grep fj # list modules already loaded with fj in the name
|
||||||
|
sudo insmod fjveincam.ko # module is now allegedly loaded
|
||||||
|
dmesg # confirmation the module is loaded and all good
|
||||||
|
uname -r # driver kernel version = 5.15.0-72-generic
|
||||||
|
sudo cp fjveincam.ko /usr/lib/modules/5.15.0-72-generic/kernel/drivers/usb/misc/
|
||||||
|
sudo rmmod fjveincam.ko
|
||||||
|
sudo insmod fjveincam.ko
|
||||||
|
|
||||||
|
|
||||||
|
C. The driver automount rules
|
||||||
|
sudo cp 93-unicon-palmvene.rules /usr/lib/udev/rules.d/ # automates mount and provides a path
|
||||||
|
tail -f /var/log/syslog #
|
||||||
|
Now unplug/replug the device
|
||||||
|
cat /tmp/fjpv # Should see the date in the file
|
||||||
|
ls -altr /tmp/usb # Should see device fjveincam0
|
||||||
|
|
||||||
|
|
||||||
|
D. The legal bullshit
|
||||||
|
Make sure you have the APP KEY P6Kiuy2L4CifuBuK for your C code.
|
||||||
|
Make sure you have the licence file F3BC4SDK.LIC in you LIB directory.
|
||||||
|
If everything isn't *JUST SO* it'll barf.
|
||||||
|
|
||||||
|
|
||||||
|
E. The C demo code
|
||||||
|
Alter the Makefile (CROSS = "") and point -I= at your libs
|
||||||
|
make
|
||||||
|
./BioAPI_sample_C_Identify # ErrorDetail 0x2010002 = sensor driver issue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
!!!!!! IMPORTANT - SDK CREDENTIALS - DONT LOSE/DELETE !!!!!!
|
||||||
|
|
||||||
|
Confirmation number 95597197
|
||||||
|
Registration number Q02S-j80m-UpKL-qk5S
|
||||||
|
Application Key P6Kiuy2L4CifuBuK << goes in your C code
|
||||||
|
Email cg@dispension.ca
|
||||||
|
Passwd Dispension920!
|
||||||
|
Phone 9024189002 or 19024189002
|
||||||
|
Name carl goodwin
|
||||||
|
Institution/Company dispension inc
|
||||||
|
Country Canada
|
||||||
|
License# PC34-1000-0600-3469
|
||||||
|
Zip password zArEPdwn << for unzipping the Auth lib
|
||||||
|
|
||||||
|
Website:
|
||||||
|
User ID: ps0026035 (use with the passwd above)
|
||||||
|
Validity Period: 2024-06-01 23:59:59 (JST)
|
||||||
|
|
||||||
BIN
modules/fjpalmvein/SDK33/LicenseFile_EL33.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_EL33.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK33/LicenseFile_EW33.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_EW33.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK33/LicenseFile_PL33_D.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_PL33_D.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK33/LicenseFile_PL33_S.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_PL33_S.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK33/LicenseFile_PW33_D.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_PW33_D.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK33/LicenseFile_PW33_S.zip
Normal file
BIN
modules/fjpalmvein/SDK33/LicenseFile_PW33_S.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/FWUpdate64_0303_V56L022.zip
Normal file
BIN
modules/fjpalmvein/SDK34/FWUpdate64_0303_V56L022.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/FWUpdate_0303_V56L022.zip
Normal file
BIN
modules/fjpalmvein/SDK34/FWUpdate_0303_V56L022.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/Firmware_FP_V56L022.zip
Normal file
BIN
modules/fjpalmvein/SDK34/Firmware_FP_V56L022.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/Firmware_V2_V50L225.zip
Normal file
BIN
modules/fjpalmvein/SDK34/Firmware_V2_V50L225.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureInterfaceForDNET_V06L03.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureInterfaceForDNET_V06L03.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureInterfaceForJava_V06L02.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureInterfaceForJava_V06L02.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForCS_V06L03.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForCS_V06L03.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForJava_V06L02.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForJava_V06L02.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForVB_V06L03.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleEEForVB_V06L03.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForAndroid_V02L02.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForAndroid_V02L02.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForCS_V06L03.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForCS_V06L03.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForJava_V06L02.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForJava_V06L02.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForVB_V06L03.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleForVB_V06L03.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleSource_V01L02.zip
Normal file
BIN
modules/fjpalmvein/SDK34/PalmSecureSampleSource_V01L02.zip
Normal file
Binary file not shown.
13
modules/fjpalmvein/SDK34/README
Normal file
13
modules/fjpalmvein/SDK34/README
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
This is the FJ Palmvein SDK downlaoded 31 May 2023.
|
||||||
|
|
||||||
|
These are verbatim downloads so not everything will apply to you.
|
||||||
|
|
||||||
|
For things that DO apply, unpack them in the parent dir.
|
||||||
|
|
||||||
|
Applying for me, right now:
|
||||||
|
|
||||||
|
Linux SDK
|
||||||
|
C demo application
|
||||||
|
|
||||||
BIN
modules/fjpalmvein/SDK34/SensorDRVins_WIN64_3147.zip
Normal file
BIN
modules/fjpalmvein/SDK34/SensorDRVins_WIN64_3147.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/SensorDRVins_WIN_3137.zip
Normal file
BIN
modules/fjpalmvein/SDK34/SensorDRVins_WIN_3137.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/SensorDRVpkg_WIN64_3201.zip
Normal file
BIN
modules/fjpalmvein/SDK34/SensorDRVpkg_WIN64_3201.zip
Normal file
Binary file not shown.
BIN
modules/fjpalmvein/SDK34/SensorImage_E.zip
Normal file
BIN
modules/fjpalmvein/SDK34/SensorImage_E.zip
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user