From 46b98b592830dfe35cd36dcffdd671f4804496cf Mon Sep 17 00:00:00 2001 From: Yuxi Sun Date: Tue, 11 Oct 2016 11:33:41 +0000 Subject: PD#133032: camera: Use private optimized libyuv to do MJPEG decode Change-Id: Ia19b90a5294e0cbdc683a444efcaedc3c090eea5 --- diff --git a/v3/Android.mk b/v3/Android.mk index 335bbd3..8296414 100644 --- a/v3/Android.mk +++ b/v3/Android.mk @@ -17,6 +17,14 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) +LOCAL_PREBUILT_LIBS := \ + libconvert_static.a \ + libamljpeg_static.a + +include $(BUILD_MULTI_PREBUILT) + +include $(CLEAR_VARS) + LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_CFLAGS += -fno-short-enums -DQEMU_HARDWARE LOCAL_CFLAGS += -Wno-unused-parameter -Wno-missing-field-initializers @@ -55,9 +63,9 @@ LOCAL_SHARED_LIBRARIES:= \ libion \ libui \ libdl \ - libjpeg \ libjhead \ libexpat + #libjpeg \ # JPEG conversion libraries and includes. LOCAL_SHARED_LIBRARIES += \ @@ -65,7 +73,8 @@ LOCAL_SHARED_LIBRARIES += \ libcamera_metadata LOCAL_STATIC_LIBRARIES := \ - libyuv_static \ + libconvert_static \ + libamljpeg_static LOCAL_KK=0 ifeq ($(GPU_TYPE),t83x) @@ -85,13 +94,13 @@ MESON_GRALLOC_DIR ?= hardware/amlogic/gralloc LOCAL_C_INCLUDES += external/jpeg \ external/jhead/ \ frameworks/native/include/media/hardware \ - external/libyuv/files/include/ \ $(TOP)/system/core/libion/include \ $(TOP)/system/core/libion/kernel-headers \ $(TOP)/$(MESON_GRALLOC_DIR) \ $(LOCAL_PATH)/inc \ $(call include-path-for, camera) \ $(TOP)/external/expat/lib \ + #external/libyuv/files/include/ \ LOCAL_SRC_FILES := \ EmulatedCameraHal.cpp \ diff --git a/v3/fake-pipeline2/Sensor.cpp b/v3/fake-pipeline2/Sensor.cpp index 2c5048b..dd1e034 100644 --- a/v3/fake-pipeline2/Sensor.cpp +++ b/v3/fake-pipeline2/Sensor.cpp @@ -33,15 +33,48 @@ #include #include #include "system/camera_metadata.h" -#include "libyuv.h" +//#include "libyuv.h" #include "NV12_resize.h" -#include "libyuv/scale.h" +//#include "libyuv/scale.h" #include "ge2d_stream.h" #include "util.h" #include +extern "C" int amlMjpegToNV21(const uint8_t* src_frame, size_t src_size, + uint8_t* dst_y, int dst_stride_y, + uint8_t* dst_uv, int dst_stride_uv, + int src_width, int src_height, + int dst_width, int dst_height, + uint32_t format); + +extern "C" int amlToI420(const uint8_t* src_frame, size_t src_size, + uint8_t* dst_y, int dst_stride_y, + uint8_t* dst_u, int dst_stride_u, + uint8_t* dst_v, int dst_stride_v, + int crop_x, int crop_y, + int src_width, int src_height, + int dst_width, int dst_height, + int rotation, + uint32_t format); + + +extern "C" int I420Scale(const uint8_t* src_y, int src_stride_y, + const uint8_t* src_u, int src_stride_u, + const uint8_t* src_v, int src_stride_v, + int src_width, int src_height, + uint8_t* dst_y, int dst_stride_y, + uint8_t* dst_u, int dst_stride_u, + uint8_t* dst_v, int dst_stride_v, + int dst_width, int dst_height, + uint32_t filtering); + +#define FOURCC(a, b, c, d) ( \ + (static_cast(a)) | (static_cast(b) << 8) | \ + (static_cast(c) << 16) | (static_cast(d) << 24)) + + #define ARRAY_SIZE(x) (sizeof((x))/sizeof(((x)[0]))) namespace android { @@ -1973,9 +2006,9 @@ void Sensor::captureRGB(uint8_t *img, uint32_t gain, uint32_t stride) { ALOGE("new buffer failed!\n"); return; } - if (ConvertMjpegToNV21(src, vinfo->picture.buf.bytesused, tmp_buffer, + if (amlMjpegToNV21(src, vinfo->picture.buf.bytesused, tmp_buffer, width, tmp_buffer + width * height, (width + 1) / 2, width, - height, width, height, libyuv::FOURCC_MJPG) != 0) { + height, width, height, FOURCC('M', 'J', 'P', 'G')) != 0) { DBG_LOGA("Decode MJPEG frame failed\n"); putback_picture_frame(vinfo); usleep(5000); @@ -2232,9 +2265,9 @@ void Sensor::captureNV21(StreamBuffer b, uint32_t gain) { uint32_t width = vinfo->preview.format.fmt.pix.width; uint32_t height = vinfo->preview.format.fmt.pix.height; memset(mTemp_buffer, 0 , width * height * 3/2); - if (ConvertMjpegToNV21(src, vinfo->preview.buf.bytesused, mTemp_buffer, + if (amlMjpegToNV21(src, vinfo->preview.buf.bytesused, mTemp_buffer, width, mTemp_buffer + width * height, (width + 1) / 2, width, - height, width, height, libyuv::FOURCC_MJPG) != 0) { + height, width, height, FOURCC('M', 'J', 'P', 'G')) != 0) { putback_frame(vinfo); ALOGE("%s , %d , Decode MJPEG frame failed \n", __FUNCTION__ , __LINE__); continue; @@ -2322,7 +2355,7 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { int width = vinfo->preview.format.fmt.pix.width; int height = vinfo->preview.format.fmt.pix.height; - int ret = libyuv::I420Scale(src, width, + int ret = I420Scale(src, width, src + width * height, width / 2, src + width * height + width * height / 4, width / 2, width, height, @@ -2330,7 +2363,7 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { b.img + b.width * b.height, b.width / 2, b.img + b.width * b.height + b.width * b.height / 4, b.width / 2, b.width, b.height, - libyuv::kFilterNone); + 0); if (ret < 0) ALOGE("Sclale YV12 frame down failed!\n"); } else if (vinfo->preview.format.fmt.pix.pixelformat == V4L2_PIX_FMT_YUYV) { @@ -2345,7 +2378,7 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { YUYVToYV12(src, tmp_buffer, width, height); - int ret = libyuv::I420Scale(tmp_buffer, width, + int ret = I420Scale(tmp_buffer, width, tmp_buffer + width * height, width / 2, tmp_buffer + width * height + width * height / 4, width / 2, width, height, @@ -2353,7 +2386,7 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { b.img + b.width * b.height, b.width / 2, b.img + b.width * b.height + b.width * b.height / 4, b.width / 2, b.width, b.height, - libyuv::kFilterNone); + 0); if (ret < 0) ALOGE("Sclale YV12 frame down failed!\n"); delete [] tmp_buffer; @@ -2367,13 +2400,13 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { return; } - if (ConvertToI420(src, vinfo->preview.buf.bytesused, tmp_buffer, width, tmp_buffer + width * height + width * height / 4, (width + 1) / 2, + if (amlToI420(src, vinfo->preview.buf.bytesused, tmp_buffer, width, tmp_buffer + width * height + width * height / 4, (width + 1) / 2, tmp_buffer + width * height, (width + 1) / 2, 0, 0, width, height, - width, height, libyuv::kRotate0, libyuv::FOURCC_MJPG) != 0) { + width, height, 0, FOURCC('M', 'J', 'P', 'G')) != 0) { DBG_LOGA("Decode MJPEG frame failed\n"); } - int ret = libyuv::I420Scale(tmp_buffer, width, + int ret = I420Scale(tmp_buffer, width, tmp_buffer + width * height, width / 2, tmp_buffer + width * height + width * height / 4, width / 2, width, height, @@ -2381,7 +2414,7 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { b.img + b.width * b.height, b.width / 2, b.img + b.width * b.height + b.width * b.height / 4, b.width / 2, b.width, b.height, - libyuv::kFilterNone); + 0); if (ret < 0) ALOGE("Sclale YV12 frame down failed!\n"); @@ -2437,9 +2470,9 @@ void Sensor::captureYV12(StreamBuffer b, uint32_t gain) { } else if (vinfo->preview.format.fmt.pix.pixelformat == V4L2_PIX_FMT_MJPEG) { int width = vinfo->preview.format.fmt.pix.width; int height = vinfo->preview.format.fmt.pix.height; - if (ConvertToI420(src, vinfo->preview.buf.bytesused, b.img, width, b.img + width * height + width * height / 4, (width + 1) / 2, + if (amlToI420(src, vinfo->preview.buf.bytesused, b.img, width, b.img + width * height + width * height / 4, (width + 1) / 2, b.img + width * height, (width + 1) / 2, 0, 0, width, height, - width, height, libyuv::kRotate0, libyuv::FOURCC_MJPG) != 0) { + width, height, 0, FOURCC('M', 'J', 'P', 'G')) != 0) { putback_frame(vinfo); DBG_LOGA("Decode MJPEG frame failed\n"); continue; diff --git a/v3/libamljpeg_static.a b/v3/libamljpeg_static.a new file mode 100644 index 0000000..85864b2 --- a/dev/null +++ b/v3/libamljpeg_static.a @@ -0,0 +1,8538 @@ +! +/ 0 0 0 0 3382 ` + +@ +@ +jsimd_arm_neon.o/ +/0 0 0 0 644 4772 ` +ELF + +aM"`rIMb`tiv +aM"`rIti + + @-@M@m@ P-PMPmP +@@PP +@P + -Mm + +ͣ@T + + @-@M@m@ P-PMPmP +@@PP +@P +j -Mm +j +j͡@T + + +A  +  + + + + + + + + +ELF +@ && +(! + +j]a@- @@@`@@@@@L +(! +f////////1/1/121/4/2/2/ .////3//3//2/3//6/////4///31///////// ./1/0/0/ +A  +  + + + +ELF + + + + +P +\Q + + +S +Tt1 +$ + + + + + + +p + + + + + + + + + + + + + + + +6 + + + + + + + + + + + + + + + +) + + + + + + + + +x,Qu + + + + : ;  +X + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + + + + + +S +Tt1 +$ + + + + + + + +p + + + + + + + + + + + + + + + + +6 + + + + + + + + + + + + + + + + + + + + + + + : ;  +B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + + + ` +@a +M% + + + + + +0<  +  +pA +P + + +W + +`p +@G,p$A*n + +p +@ pj'`HfK +[( + p` + + + +`q + qPPL @ 0  +`q + + +`q + `q +aPPpp0  +@` +@ +p@ + ` p + +` +@  +p ` +  + p@ +P0 P +`Tʐ?:;PA`r + H)l .Ogpp "J!`,Onh)dOlPXJ@\!,A`` +8 +J, *Ѐ J 9,0j +ʉl ̩$˛ۛh`|ZAjʐt@ʉfk{ bvx p +CE +Q0 + +p +l011jO +i@01JO +hP01*O +g`p01 +O +i0ʓ1O +h0J1O +g0*1jCk{ + K[+;  ˃"ۃ$&(K*[,.0+2;4k6{ +l01 +8:< >0  + +0 + +p + + + `0`F @ @KO +, + + +  + + B +* B: : BJ J BZ Z Bjj N*zzLzz N* + +L N***L:: N*JJLZZ0 + +N +" + B#L*$* B:%:LJ&J0 +* +A +3 +L4 B*5*L +; +A +D + B + 0 HJS@ +RZZSRj*H +jS + + +AHHBH**H**CH::z +J + @A +J +Z @ + @ + @ + @ + @ + @ + @ + + + + +S + +Ttu +$ + + + + + + + + + + + + + + + + + + + + + + +z + + + + + + + + + + + + + + + + + + + + + +0+ + + + + + + + + + + + + + + : ;  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.DJk.hgggggy.5Kyfgggggyf6xJ6/w. .yJ.m.KggggyJ5/x.6Kyf,0Kggggyf6xJ6/w. .yJgggggyJ5/x.6Kw. .yJgggggyf6xJ6/wf0gggggyJ5/x.6Kw. .yJggggggg .t. J"J + +J` +dB^_\]Z[XYVWTURSPQ$B +H,BPQ$ + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +$ + + + +0@ + + +KD + + +` +K +$` + + + p +pGT + +pG + +p +pG + +pG +$0 + +pGT + + + + ` + +p +pGT + +pG +pGT + +pG +pGT + + +HT + +H +^0pG@ + + + + +A^ @P + + + +  +0QCd + + U7 +A>@P`p@ + +! + +Q + + + +08 +a + +,0 + + +P + + +` +P P P P +a0  +! + +0` + +S + +Ttc +$ + + + + + + + + + + + + + + + + + + +h + + + + + + + + + + + + + + + + + + + + + + + + +l7t +$P + + + + + + + + + + + +2Q0 +2Q0 +2Q12P{ +2Q12P{ + +2Qt +2Q2Pw +( + +( + + + + : ;  + + + + + + + + + + + + + + + + + +fOfcx +./u. +.1,//2Lj +fv. . +$B +$B +$B D +$B +D + +$B +  +$B +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + +' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + +S +Tt1 +$ + + + + + + +p + + + + + + + + + + + + + + + + +6 + + + + + + + + + + + + + + + + + + + + + + + : ;  + +A  + " + + + + + + + + + + + + + + + + +ELF + + + +Ѝ + +S +Tt1 +$ + + + + + + + +p + + + + + + + + + + + + + + + +6 + + + + + + + + + + + + + + + + + + + + + + + +@ + + + : ;  +.Ny.J/j[.%.+^.$./[.1 JpJK/-K. + B P +A  + " + + + + + + + + + + + + + + +ELF +0& + +PE4 + + +< + + + P + +0P + +P< +< +0TP +< +0' + +0 +0 +0 +A0 +0d +o0 +0b +e0 +0 +0d + + + + +@ + + +P +0 +0 +JP +F +PI0 +PF +0 +0 +P + +0] + +] + +0 +0 + +; +0 + +p + + + + +3*a #X  + + + + + + + + + +@p +0 +0 +P + +  + a@(Z + + + + + + + + + + + + + +0E + +qQ + + 4P8P7j?(b +D.K[.j<Jhn*4p5J=(b8jln,d.,.Jn,DhJ6*B*&7Jj"+$; +@,n +J@,H.*? +B(,Nd:ʐJ9;DH,jʐlL"68*h* +7j9,hfbc4jnBH$5J`H*Nn.F($`l$H*(b89j'@Hdb(j<˝>۝l("jܩ">J6 + `:\)";Id?ʐ7j*ljJ@lj8 +fhh9ln2Jh*&ʐ3*Ĩl8:hnL&Nh* fIhl) P$n*H n("Z`T@R X$" b*rjN:4 + + +G-MP + + + + + +S + +TtR +$ + + + + + + + + + + + + + + + + + + + + + + + + +W + + + + + + + + + + + + + +U + + + + + + + + +4< + + + + + + + + + + + + + : ;  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.q.3-I/* +.wJ1-+1hI*3-g/I-L-I/3E/,/+/I12zJ-6IE-+14y.6-y.LI4z.3/}IIK/-gOK-b2y.6I*3ev. .x.5/+1+M-v. .+x. .MGw. s. Js. .s. .s.IK-/I/-K-Ke .sJ f +  +J` +4BRSPQ$B +$B , +$B + +H +dB^_\]Z[XYVWTURSPQ$B +$B , + B +$B n$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" + + + + + +ELF + +(0 +(  @P +($ +0 + +0( + +  +  +(0< + + +(0 + + + + + ( + +0/  +H8 @8@ + 0 + 0 0 0 + + + + +  + +  0 + + +  0P0@Dp + + + + +c!+0 +1 + + + + + +@ + + +`.1 + +S + +Tti +$ + + + +( + + + + +& + + + + + +O + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +D! + + + + + + + + + + + : ;  + + +$B L +$B +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + + + + + + + +41 + + +4 + + + + +3*a # +! +` +0"; +3* 0 +qp +3* Ha + +3* + + + + + +%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz + +$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz +S + +Tti + + + + + + + + + + + + + + + + + + + + + + + + +.Qu + A + A` +%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzA7 +$4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz + : ;  + + +X +.0H1 JLdJfu 2*2K + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +P + +| + + + + + + + +  + + + + + + + + + + + + +Q + + + + + +  + + + ~ +400,@ +`p  +`# + +j +p` + +p  +`)` +p+P*pC `  + +A +N + +0 +?5 +! Jڡ.6JЁLp!"{5*~~J7jP~A pH~bށ,**v`xd +J2P3*:*vaj{Z!ʘ;|r P ڡJ^"*Jh54{r!h0pjܡj0ʐ1 +Ht +PaR@T@P!*؁(~Vjve\t.p|r%Za(ܡh~AnvA"|&jJBJ + @ ⏊ + +G:@ +p + p0 +@ p + + +P`Qʠ >;!P犡~. a~ +>; + zP p +G- (pYx`Hc +PA + + P` + + + +` ``p +` + +`p + +` ``p` +p + +~ +` Q +L@ +33jP +RRPAZ.:ʐ2RaҁH>TA(;>3*@aF5Jpfah?j?PR +z\|r ЁHX*Ra>?\.zA$44`!f5 +5jxa&45JСJaFX~R@z.`xt`\ŰX*TE~a&zn|r%A`\*Tf(dK @@ J: +R +~N> ቱ>~N ⪁ᩑ + +ኁ~.>  +  ^ p^> +~ +q +~ +q +~ +q +~ +q +~ +q +~ +q +~ + q +ኁ> ~  > + +@ + + +  + +  + + + + + + + + + + + + +S +Tt + + + + + + + + + + + + + + +$ + + + + + +E + + + + + + + + + + + + + + + + + + + + : ;  + + + + +!y + +!y + +!y + +!y + +!y + +!LD"H"4y + +!LD"H"4y + +!LD"H"4y + +!LD"H"4y + +!y + +!y + +!y + +!u}y + +!y + +!u}y + +!u|y + +!u}y + +!y + +!y + +!y + +!y + +!y + +!y + +!y + +!y + + + + +!~ + +!u}~ + +!~ + +!u}~ + +!u|~ + +!u}~ + +!u|~ + +!u}~ + +!u|"y + +!u}"z + +!u|"y + +!u}"z + +!u|"y + +!u}"z + +!u|"y + +!u}"z + +  + +$ + +!y~3%!w8$ + +!y3%!@$!t + +!y~3%!w8$ + +!y3%!@$! + +!y~3%!w8$ + +!y3%!@$! + +!y~3%!w8$ + +!| + +!y~3%!w8$ + +!| + +!y~3%!w8$ + +!y3%!@$! + +!y~3%!w}8$ + +!y3%!@$! + +!y|3%!w}8$ + +!y}3%!@$! + +!~3%! + +!~3%! + +!~3%! + +!~3%!, + +!y~3%!w8$ + +!y3%!@$!D + +!y~3%!w}8$ + +!y3%!@$!\ + +!y~3%!w}8$ + +!y3%!@$!` + +!y~3%!w}8$ + +!| + +!y~3%!w}8$ + +!| + +!y~3%!w}8$ + +!y3%!@$! + +!y~3%!w}8$ + +!y3%!@$! + +!y|3%!w}8$ + +!y}3%!@$! + + + + + +!q~z + +!q~z + +!q~z + +!q|z + +!~ + +!y + +!z + +!y + + +!y + +!y + +!y + + +!y + + +!y + +!z + +!y + +!r}3%!@$! + +!r|3%!r}8$ + +!r}3%!@$! + +!| + +!| + +!w + +!z + +!w + + +!w + +!w + +!w + +!w + + +!w + +!z + +!w + +!z + +!w + +!~q3%!@$!X + +!~p3%!~q8$ + +!~q3%!@$!` + +!~p3%!~q8$ + +!~q3%!@$!p + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!rs3%!@$! + +!w + +!rs3%!@$! + +!w + +!rs3%!@$! + +!rr3%!rs8$ + +!rs3%!@$! + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~e3%!@$! + +!w + +!~e3%!@$! + +!w + +!~e3%!@$! + +!~d3%!~e8$ + +!~e3%!@$! + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~g3%!@$! + +!w + +!~g3%!@$!  + +!w + +!~g3%!@$!( + +!~f3%!~g8$ + +!~g3%!@$!8 + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~i3%!@$!\ + +!w + +!~i3%!@$!` + +!w + +!~i3%!@$!h + +!~h3%!~i8$ + +!~i3%!@$!x + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~k3%!@$! + +!w + +!~k3%!@$! + +!w + +!~k3%!@$! + +!~j3%!~k8$ + +!~k3%!@$! + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~m3%!@$! + +!w + +!~m3%!@$! + +!w + +!~m3%!@$! + +!~l3%!~m8$ + +!~m3%!@$! + +!w + +!q + +!w +q + +!w + +!w +q + +!w + +!q + +!w + +!~o3%!@$! + +!w + +!~o3%!@$!  + +!w + +!~o3%!@$!, + +!~n3%!~o8$ + +!~o3%!@$!P + +!y + +!z + +!y +z + +!y + +!y + +!y + + +!y + +!z + +!y + +!z + +!y + +!z + +!y + +!r}3%!@$! + +!r|3%!r}8$ + +!r}3%!@$! + +!u + +!| + +!r + +!| + + +!| + +!| + +!| + + +!| + +!r + +!| + +!r + +!| + +!r + +!t +.Mx0/0Mx.MOx.1+13G1+z. .z.+iiwJMi1xJiLMxJMO+)6+1a01w.1GMMMx10)1*/ +.x.0-03z.K* .z.+2g+/,1-0-///-zJP-// +.w. .v.L6x.6Kw.6x.R/ +Jw.5y.- +.x.-6w. +.0+w. .u.K +.x.6x. J-xJR/ +.v. +J +Jd +dB^_\]Z[XYVWTURSPQ$B  +dBPQRSTUVWXYZ[\]^_$B +$B +J +dB^_\]Z[XYVWTURSPQ$B +$B +$B +Jx\ +dB^_\]Z[XYVWTURSPQ$J +A  + " + + + + + + + + + + + + + + + + + + + + + + + + +$ +A +F + + + + + +ELF +( + +,0 + + + + + + + + +p + + +`0O +A O +@+ +;O*Pp K[OJ `k{OjOːېO  + +  + +p + +p +;J ߊn! a p8jK +[9*@ +7jOj(JjP4*n)dA 5JlI&k{r*TdJj|.,O @Ol<=0. ,^\, OG``pp0O.P,j`^~ * OL`p O @j.x`\ ,OAO( +‰nd  x``\&,O Og:;D *nP xB ROJLOjc67, j^p +Z +<. + +S + +Ttt + + + + + + + + + + + + + + + + + + + + + + + +TK3 + + +:% +7% +=% + : ;  + +J\TUVWXYZ[\]^ _ H +\B^_\]Z[XYVWTU,BPQ$B +A  + " + + + + + + + + + + + + + + + + + + + + +ELF + ^ + +  p + +U~ +@Pa nP 0q +M]`p  lT 0 @ +m} + ! Pa\Pp0Ae` +͍ @ Upe`p +-M`Q u +mPq `h@0%  +]p @il@ `0!$ +P +}͍ +0U(P p + -A eft 0Qu,p +@Pa nx 0q0 +M]`p  l| 04@ +m} + ! PaPp0Ae<` +-M`Q u +`gPF 4`{ 1(#@I$$@ + +$ +% + +/,)  +A +  + *IQ + +  +0 +@ +P + +$` +% +&  +'` +(`  +)`  +*  ++ +,` +-`  + +q +.` +/ +0 +1` +20 +,@ +P +` + + +xV +|V +V +V +V +V +V +V +1V ! + + +d + +1 + +0  +0  +8@ +0 +@ l + + + +$@ + + j@ + + +0 , +0 + + +0 , +T +7$ +0 +,0 Z +8 + +  cD + +@D @ + +@$@@@ + + `@ + + + +@ < +@ < +0 + !4@ +@ < +<@ > +8P +0 + `d + + +` + + + + l@ +p ``@  + +@ < + +@ < +<@ 4 +0 +0 +@ < +T +4 +<@ ( +/  + + + + + + + +S + +Tti + + + + + + + + + + +2 + + + + + + + S + X +!  +7 + + +-Q1-Pu + + + + +- +- + + : ;  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +./u..P,00*K/zfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,KzfRxJ20,0,Kzfj0,0,/ +f J.P/-b + +f-/ + + + + + + + + + +D + +$B +$B +$B @ +$B +$B  +$B +$B  +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +0E +p + + + + + + +! +0a  +a  +0a  +0a  + + + + + + + + + + + + + + + + +0E +p + + + + +S + +Tti + + + + + + + + + + + + + + + + + + + + + +$ + + + + : ;  + + +.,y.3+/2)/0,11K +.w.,1 +.x.*//0y.0/// +.x./3/ +  +  +A  + " + + + + + + + + + + + + + + + + + + + + + + +ELF + +D + + +4Ѝ@40⼁ +DL +PDP@ +Hpp@` + q +B +  +T@{ ~ +ᰀ + +@ 0@ 0u`eT  +0AP~N +>{1d>~NQp`1@KvAxfTpK`Y0Yp@ +0 +!Ġ~>; q@~n⪡ ȂHL +DuP00( +$ +F + +!pp +1~.q +0(P +0弥 +0 0K + +[@ + + +OOO? P)`։ `Z@r`KE[E폪@ +h +h +fU`@ +MD +p +` p. +PRy OOZ@ + ̼ +@RO 刵 p ~ +pತ pI+@*{ +&OUO pH帍KX@Gp(O+@ߋ JVOp ~ K*@W@ +n *Od*@* W@B +@*@ 9CGx pJhi@`0CPNnOeq +.㎃#eOO㈰b 2k + + +S + +Ttt + + + + + + + + + + + + + + + + + + + + + + +0>7 + + + + + + + + + + + + + + + + + : ;  + + + +!w + +!w + +!P#q + +!P#q + +!P#q + +!P#q + +!P#q + +!@P#"p + +!@P#"p + + + + +!x + +!x + +!x + +!x + +!x + +!u|x + +!x + + + + + + +!{ + +!{ + +!P#v + +!P#v + +!P#"v + +!P#"2$x + +!P#"2$x + +!P#"2$x + +!P#"2$""3%! + + + + + + +!t + +!t + +!t + + + + +Jv.s. .3/ +./// +.v.5y. . +.w. .,0x.6z.Nv.P/1GPz.6z.5Ky.6y.3*3y.60w. .x.6z.Pz.Pz.l/ +.Mx0/0Mx.MOx.1+13G1+z. .z.+iiwJMi1xJiLMxJMO+)6+1a01w.1GMMMx10)1 +.{Jfg{Fj*ޡ?Mzf4wlzPclwJMwJ1?z. w.cz. w.i?iwJM?Mw Mz: +$B +$B + +$B , +$B , +$B , +$B $ +B + +J +dB^_\]Z[XYVWTURSPQ$B > +dBPQRSTUVWXYZ[\]^_$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +' ++ +3 +7 + + +ELF + + +`2  + + + + +Q + aE + +81  ,  +<` + +P` p$ +@ `@r + + v +0  +| + + + +͍@p +|0 + +48  +48  + + +,  + + +8 40 +2 +408 = $! + +!, +p +408  +<@ + + + + + +  + $`! +T +b +  + !1 +<@ +0p +  p0< +T +<@ +@ +  + +$  +T +] + +1 + +0 a1 +S + +Tti + + + + + + + + + +- + + + +S +X +  +T8u + + + + + + + + : ;  + + +.K +f +fP)3 +fJ +. +Jy.5v.1R- + + +f +0)M+M1~J*K1 +./N-/ + + +.u./ +.p.2-/0 +.t./4 +$B +$B  +$B 4 +$B | +$B + B | 4 +$B n +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + + +  +h +P + + +D1 + + +S + +Tti + + + + + + + + + + + + + + +\ + + + + + + +0 + : ;  +.3-؃ +.)3vJ +fi/-K//IMeJ +B ( +B +B +B d +A  + " + + + + + + + + + + + + + + + + + + +ELF +` + +N + + + 1 + + +GG +`G&I  +b0j1*Jc* +@*i43j?5*LP+p2 + ʐ  +@,l(D*Hd"lbDH.`(,nhh,h(hh*Hdf f$VZtPrR +B +j0ʈ1)* +%+l L,J*ʐ + +*45Jƈ,`Dj(dDH.n,Fh"n`,.f(&fd"h,h(`\`X@Z | +brL}pb<= + +Jʐ4F$5*0J*1 +@,Hbl*@.ldFh"`f(&(lh,h(h*Hdf nZ^X`tPR BRr,B.Rp +" +P +` +` +` +` +` +PpL! { +` +` +` + ` + + 0CC + +` + ` +` 0C PpL! ' + ` + P +  0CPpG +PEqpL + JL  + +AI℀`Q + + + 0 + + + B +k@  + +@ + +@ @1 +  +H +  + + + +(  +( +! +S + +Tti + + + + + + + + + + + + + + + + + + + + + + +!s + + + + + + + : ;  + +d +\ + + +f/- +J2s. .t.6K1 uf//,0/+1CKs .o.JrJ + +.p.6, +.p. . +D +dB^_\]Z[XYVWTURSPQ$B +$B +$B +FP. +DBVWTURSPQ$B +$B A4 +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +(0L + + + +1 + + +0 + + + + + +0 + +0 +P + +7 + +P + + +S + +Tti + + + + + + + + + + + +# + + + + + + + + + + : ;  + +fLMg +B d +B A4 +A  + " + + + + + + + + + + + + + + + + + + +ELF +h +  + 0 +| + + + + + + + + + + + +% +% + +% + + + + + + + ++ + +* + ++ +! + + + + + + + + + + + + + + + + + + + + +'I +.u.0-0/,/6y.*0//6z.//4//1 + +B b +B + B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +SJS :S J zjSgj7 +vZ4H:4 +0:3@Zs'z7jvztt:egJ7Jv 5c +"Z(Zt! +C:@ +%E:6'zwj6z6#6 +JZwJC ZC +0`77z +8*rZr'z7(j6:4tZeCJ7zuhJveZ:g4Z!Z@ +7(z6:(vjvj0Jtj +?u=? + + + +A  + " + + + + +ELF +(jgJ`*felAnfh!HAnbha@Abfh,,fh+;$nfhhn*dLHnlf(j(d(lbT V(Id)lzPt@X + +G*! + +0i@ @ ladp@ g P n"b! BaB$nAa@JtC4L`b  gnpc 0@ Pkࠠ` p + +lठ0g`jP `f@ +p +a0c@ gPl +pd pb0k@ a k1c +bj !1cq3BH kA G0`a +phPj d0h`(耀HpPPp`e1U @@Pߊj P`0⏊" H( +hn.e,[`*nj*lHhH( +`n(nl__H b&h@hIdnhz. `t@|Xxbfddh,N(hp +hd* +LA +B? +.NhJhhc(d*!@h"@("$bHfh.B$lF(h `il(ک"p\@vzdhhnBH$l.*l.Z ĈnB&nBh&f`f +CL(nLHnjN*BJK + +b  +䰓dp $ +Pk` +耓(Pph gHh +@j `p +en +P j`l + +ctr +4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +N8&p + + + + + + + + + + + + + + +J,5.x.04j..,1r. .-u..,-u. .//1j..t..2l..o..0l.)2+./2+/g./oJ+.[.F00z.00*/4)///.s..-t.+6 .-o../r. .0+/t..+u. .1-2)2p..E//l.*.l.*.///k./)/Jhm=K,.dJ/-0.2e./-0.s.y./-.5nJ,.u..+//s..+0-l..)/s..q.*3*.j../i..k././//WJ0,L0LzJ/-0K-0.k..f./+/-0./r.0.u..,-u..+//-l.0.*1p.+2+2)J/j../k././//W +Px +dB^_\]Z[XYVWTURSPQ$B +A  + " + + + + + + + + + + + + +ELF +; ㏪dOO*nOOO +lJ`J!*"lbdBAjbDBA`B!DbBh.d"B.hjkjeHlkƈjm +d oOF h(lpI*k;a R),oOkcoO(jJ H,hl)bR"n.n.`(\,ki + +nL00 `q +2c +PHp %2cX(~(Z% 4$@ +pD I + +) + + +qPP +P2cHp @X(2cp Z%L~4$ DI + + +0@jp + +) ⏪ J`@0Ja  +ddJh l$H(3c㏊.FH`oO(jkfhu= +"l(.l.?OK[fH(B F$kBhdQaHlId{;q `nOl;9 +h`jk`jP"c lމhoO{Tr`Nl n*;~8^*d J`pka`h{t ̨jO㏪(*f P;Hb+; {*kBIfjidb,bH*X +[bhfd,Tv\@hx`j +Jy +$Hlhl?O +bd*djy +?OJ,nh&d|.`{DH`QqB hfkaV`;3?OId +^nhhkd nloO;~8!$n*;,{TrH) {ifk@Idk{`A&ih +I*hN"$.b($K[Hf bhnb(lTRtXPv +KB + +3 +Pn0 +OO@A +`B`L +@dp dL$P ` +fl +Bd + +D垸(H垷' + hȰPb pH +g( +"b  + +D@)H@(Qe +~X&*@@!& pdYɌ@g'wHQDH + + + + + + + + + + + + + + +  +  + < + 8 +  +  +  +  +  +  +  +  +A +AT +A8 +A +A +A +A4 +A +A +A +Tb +Tb +Tb( +Tb +Tb +Tb +Tb$ +Tb +Tb +Tb + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0x + 0 +%" +%" +%"p +%" +%"T +%" +%"p +%" +%"T +%" +% +% +%$ +%< +%T +% +% +% +% +% +% +%p +% +% +% +% +%$ +%4 +%T +% +% +% +% +.y., .q.0.Jj.6).-c... .`..qJ.g..p.v..v./ ./k..5NsJm.J,0u.o..b.. J,2b...Z.&.[.3.2Z./3.2,2Z./3#.w.2,2Z./mt;.E.K-0j,,005.H.1, +.y.*0 .+6).sJ.r..q..`..P3f. ..qJu. J ./k..5NHbJ0.f..`.. .,w. .d...Z.&.[.3 .Z./#.b..000Z./3#.w.2,2Z./mJ;.E.4zJ0-3, +.t.015t.//7.U.u..J-m.4.r.. .^.6.F.f..w. ./OzJ-5y. .wJ .bJ.4^. .,,f..b.Jf..2^.*&.[.3.,^./1".1]..2,^./10.2,2Z./(JEt/35.Z.. +.c.w. J5W./-).c.wJ./5w.t..4z. .a..u.55]..j.G1c1,1.b.Jf..-5]..c. fd.*.1`. .a..2*4b..f.)1.2`.Jd. .s.mJ0.,2*0`. .,2`.Jd. .^..2`.,0J000HJ4zJLHNL)).z.b.K#.X. ./$.P.K/.0b.K +./.n..d..y. .)/yJn./.o.JoJt.#.z.+3^..3E5Gf..d..i..f..*f..f.!.,0_.1.\.&J^.0.dJ.00*d.+O .*0].10.a.%.*b. .b..000Ht*.\.$.X.(.V.4*,2+10/*I0/.n.,.k..r..-/6b..y.5j.z..q.. +.y.)0-0 .0./r.Jk..k.,.k..*u. . ./j..2KyJ .w. .w. .0,`.0.bJJf.z.".0\.&.[.10.0*^./.d.0.*02Z./10.2,2Z./ +.t.015t.0- .3pJ6.s.Jl..k..z.q. .25v.t..3*,4/y.5y. .2H,f..b..2b. .^.".^.*4.^./1.f.._.-$.0^..f..,2Z./10.2,2Z./*.f +P +dB^_\]Z[XYVWTURSPQ$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +@@@@@ @s0@p + +j'%ze:&z#:wGJ6Js*dbZZCz6:7Zɚ(e)Z7Czw:xz5:Jx:j!*TGcJ)c +&J)0izp*rcJxj7Zw#:x jvI +6j퇚5' +J3:4Jt:z5Z3/z7Z +1 +@@@@@ @ Xi:PpBPA0e*ee: +tZQ +4z !zq&*yajq +54G)DgZZ"y'0Zuz! +qJ8bJyujDj +a*qjف``焚8JŊ5gzp +!x +FJ8Zف`z7` +Z8 +!j77 ŊƊ* +aaܱ  Gߍ?^?u='ԋ? +@@@ +z*g*E****'*/*7*P@ + +S +Ttp + + + + + + + + + + + + + + + + + + + + + + + : ;  +t +.w.*.6mJJt.). .z.z.u..)30y.3,h..f..,j*04*,xf602,0*lz.6*H2*4,0z.,0,00H0 +N +4BRSPQ$J +A  + " + + + + + + + + + + + + + + + + + + +ELF +  + +0 + pP + +0 +i! `00kB$RLĂj +fb `@aXaڢP + ڢ ` +C4l +PP `` + Xa +0 +0P +0 +0 + +S + +Tti + + + + + + + + + + + + + + + + + + + + + + + + + + + + : ;  +v. + +" +.x.* .z.6u.+1 .d..0,i..0fJ ..*2,w.*.Lz.s..2m.q.. +.b. .2LzJ0LL +Jv. +f +$B +A  + " + + + + + + + + + + + + + + + + + + + + +ELF +; S  O OOO_OLp H0@48< +Pp0@$@` 尠ᰀvd@agᾡfd +l@P (` +2c,P` +j~X㾓<,RAd4 iQ0#( +i@ኆ P l0c + +p@岐`` + + +P + ` +h  q@*@ Yp + +px +0  +`0ᰠᰀUߍ + @f0尀0 +p@p`.$ + + + +S + + +Tti + + + + + + + + + + + + + + + + + + + + + + + + + + : ;  +" +J +< +$B +A  + " + + + + + + + + + + + + + + + + + + + + +ELF + 0 p@&l + @H0p +V[e[ + + :l + +1luͬ!; 䚵#!Ǡ +c7 Yذ  + +P + + +@ᰀ3a7 + +0 +V +@ᰀV + + +S + +Tti + + + + + + + + + + + + + + + + + + + + + + + + + + + + : ;  +.wJ .1qJ .1+4M+1w. .z.MM +.w. .2/-/-/-/ + +$B +$B  +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +j + + + + + + + + +APp +I+J;J +B +J +;J +F+J;J +K+J;J +D@+J;J +N+J;J +LO +J;J +G$+J";J +I +EP,+J*;J +B0+J.;J +K4+J2;J +D8+J6;JO + i +A i +` + + + + + i + + + +2 + +S0 S + +  + @0 + +/ +! + x +뀰p +3Ѝ +# +4 + +$ + +( + +, + +0 +W $L +q4 + +4 + +@ b0@0 + + + + + + + + + + + + + +n0Jn, + + + + + +p +p_` + + +$Ѝ0$ + + + + p + +(@ + +p +pn +:6 95JzFvIyEu*&)%ժjZfViYeU( + + + + +S + +Ttt + + + + + + + + + + +5 + + + + + + +X + + + + + + + + + + + + + + + + + + +X + + : ;  + +J+ +./ + +.*2+-/1,-1,-MM + +$B , +$B +$B J +$B +$B +$B ( +$B  +$B +A  + " + + + + + + + + + + + + + + + + + + + + +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +0P + + +A+;GK +[폪F +C +/h +0p + + +A +1` l@4`p a ^2 1 + +  + +K1+1+M2Lhpf & +)3)3 +f +J +.x.,6z.4 +.,/- +.v. +.Ku. +.y.5z.///1/[ +$B h$ +$B +$B +$B ( + +A  + " + + + + + + + + + + + + + + + + + + + +' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# +& +0 + + +ELF +` +p + +s + + +.v. +  +A  + " + + + + + + + +ELF +4@ + +9 ;C e +1! + + + +P  +P  + +(0 +(P08  + +( +(P08 +LQ + +$P +. +0! +0Pkk + +p$p k +  + +0 + 0 + +$ +. +00 +Paa + +p$p a + 0 + 0 + +P` + + +Pi 0 + +PF + +P` + + Pi 0 + + + L < +F + + + + + + + @ ` + +q4 +0 +Ap 㚫C + +@! + + +A + +q4 +0 +Ap 㚫C + +@! + + +A +P,L+CH D +! +P 0x + + + +, +, + +, + + + + + + + ++ + + + ++ + + + + + + + + + + + + + + + + + + + + + + +a + + +:! +'I +2tJM2/)41~.& +fgLg +fgLg +  +$B +$B +$B +$B +  +$B +$B +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +% +% + +% + + + + + + ++ + +* + ++ +! + + + + + + + + + + + + + + + + + + + + + +'I + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + + +S + +Tti + + + + + + + + + + + + + + + + + + + + + + + + + + : ;  + + + + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/v3/libconvert_static.a b/v3/libconvert_static.a new file mode 100644 index 0000000..b46e852 --- a/dev/null +++ b/v3/libconvert_static.a @@ -0,0 +1,5129 @@ +! +/ 0 0 0 0 8566 ` + +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +h +format_conversion.o/ +planar_functions.o/ + +compare.o/ 0 0 0 644 29848 ` +ELF +FUGeE'D8F +DG]D6G +"I OsA O + +3D'Q +D +K +  +#+%@C+UEUK +5 {YDKAjU3K[A$eFFUK + + D D +#z Q  +h + +  +hcc2 + + + +u + + + + + + +: + + +h@c +.: ;I< + + + +%" + + + + + + + + + + + +h + + +%} + +%} +%} +4%"1%$%6%$ +%} +%} +4%"1%$~%6%$ +%} +%} +4%"1%$% +%} +%} +4%"1%$~%6%$ +%} + +h%"%6%$~%6%$" + +h%"%6%$~%6%$" + +h%"%6%$} + +h%"%6%$z + +h%"%6%$z + + + +.v.0,q ..c  . [ . !p . +  +  +BHz,BPQ$B +CTBZ[XYVWTURSPQ$ +A  + " + + +K + +K +O +O +Q + +N +N +N +N +U +U +V +V +V + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +

 +c +@ +d +$ +4 + + + + + + + + + + + + + + + + + + + + + + + + + + +3 +G +H +K +j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +* +. +0 +7 +: +< +D +F +P +V +] +^ +` +e + + + + + + + + + + + + + + + + + + + + + + + + +ELF +D +O +D +O + +fl +[Bd-Ȁ-Y@0HY + +0 L|D$hL|D$hL|D$hO +I F + +@B w p %OE +B + + +ED +  + + + D + + +@D ``D   + + + + )ئ]KEFOF& $ئ]KE + + +D +PDSDRD + + +H + + + +B +B +;FYFF(F%F8OEѫFOF&5JE +A + +OF  +FF ++ + + + + + + + + + + + + + + + + + + + + + +# + + + + + + + + + + + + + + + + + +% +/ +x + : ;  + + + + + + + + + + + + + + + + + + + + + + + + +.C); +.C); +. +X +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$ +( +* +- +6 +9 +; +? + + + +ELF +| +X@OC E@FIF2F + +G@F2FIDDGD5i +h;nbh;btzc`w + +)e + +% + + + + + + + + +% + + + + + + + + +% + + + + +% + + +% + + +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + + + +% + + +% + + +% + + +% +% +% + + + +% + + +% +% +% +% +% +% +% +% +% + + + + + + + + +% + + + + +% + + + + +% + + +% + + +% + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + + +% + + +% + + +% + + +% +% +% + + + +% + + +% + + +% + + +% +% +% + + +% + + +% + + +% + + +% +% +% + + + + + + + + + + + + + + + + + + + + + + + + + + + +% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +% + + + + + + + +v + + + + + + + + +v + + + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +. + + + + + + +.Q.0. +.Q.0. +.Q.0. +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# +0 +6 +7 +9 +: +< + + + + + +ELF +($$0F F)hB } + HxDP +_p +_r +_w +_bf +_up +_ur +_lb +%Pw + + + + + + +A  + " + +4 +5 +6 +7 +8 +9 + +3 +< +< +; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + AF +.=" + w.1.c  +.Y= +.K/ +  +  +  +  +A  + " + + + + + + + + + + + + + + + + + + + + + + + +  + + +" +' + +" + +( +( +( + +- +. +0 +2 +4 +4 +7 +9 +; += +? +@ +> +@ +B +B +B +D +F + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +% +( +* +- + + + + + + + + + + + + + + + + + + + + + + + +ELF +l!D 0  E  5| + +p|p|Wp|_p|p|p|p|p|q|q|Wq|_q|q|q|q2D|q +;D +ZD 1FCF< +hyaa{i`'H +E0Fy`*Fh{iND +, +(F +| O +% + +% +( +% +% + +% +( +% +( +% +% + +% +( +% +% +% + +% +( +% +% +% + +% +( +% +% +% + +% +( +% +% +% + +% +( +% +% +% + +% +( +% +( +% +% +% + +% +( +% +( +% +% +% + +% +( +% +( +% +% +% + +% +( +% +( +% +% +% + +% +( +% +( +% +% +% + +% + +% + +% +( +% +( +% +( +% +% +% + + +% + +% +( +% +( +% +( +% +% +% + + +% + +% + +% +( +% +( +% +( +% +% +% + +% + +% +( +% +( +% +( +% +% +% +% +% +{ + +% +( +% +% + + + + + + +( +% + + + +% +( +% +( +% +% + + + + + + + +( +( +% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  +$B +$B +A  + " + + +\ + + + +d + + +b +b + +b +a +a +a +c +c +c +b +n +a +m +c +o + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +1 + +Eڸ`0F9iNDlXFAFlDh8i)F F{iGh  hihB$7F +P + +% + +% + +% +% +% + +% + +% +% +% + +% + +% +% +% + +% + +% +% +% + +% + +% +% +% + + +% +% + +% + + +% + +% + +% +% +% + +% +% + +% +{ + + +% + + + +XK2/ +B +A  + " +' +' + ++ +, +, +- +) +& +* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + +PF2FIF PF  ՙ0x +DGG RF!FHF!FRF8pHF +9FPF2F9F PF  Օxxmx>DdxDG +G,DG1FRF8F1FRF +PF2FIF PF  ՙ +DGG RF!FHF!FRF8pHF +9FPF2F9F PF  Օoxfxx>DxDG +G,DG1FRF8F1FRF +Ob B,\"l7<0 +Z  + + O 0tO.& +\0 +O B +FFXB% xO 9x+F2xO +2x+F +O +F;F4B'(xO 3F,O +F;F4B'(xO 3F,O +FFXB% xO 9x+F2xO 4 +FFXB% xO 9x+F2xO 4 +FFXB% xO 9xO 2x+F4 +B  +F ++%\Lt| +\|C ++ )%\xxxxs?xXCnx_CxKC +-O$(%,O#($+(#\6L0<1| +FFF% +  + +FFF% +  + +FFF% +  + +FFF% +  + +FFF% +  + +FFF% +  + +FFF$ + +E +FFF$ + +E + +4ESڏX  h;DhX:!**z|QpCh;DOhPp::#JJz|OYh;DhGY:Z%jjz|Y1h;DQ|Y0:z' +z| +jZ +7 zwz +, +jC ': + + + + + + + + + + + + + + + + + + + + + + + + + + +x + + + + + + + + + + + + + + + + + + + + + + + +" + + + + + + + + + + + + + + +H1 + + + + + +8 +8 + + + + + + + + + + +r +r +r + + +% +% + + + + +S Q",P +S P" + +S Q",P +S P" + + + + + + + + + + + + + + + + + + + + + + + +aD + + + +~F + + + + + + + + + +?6& + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Jw. +J? +.v + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +& +3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/ +1 +4 +8 +9 +E + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +A  + " + +ELF +DxDDxDD;xDDD 0x6DD +n + +0 +0 + +0 + + +% + +0 +0 +0 +0 +0 +0 +z + +0 +0 +0 +0 +0 +0 + + +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 +0 +0 + +r" + +0 +0 +0 +0 +0 +0 + + + + + + + + + + + + + + + + + + + + + + + + + + + +$ +8 + + +u +Ob + + + + + + + + + + + + + + + + + + + + + +.v -!KK-!KKu-!!N +.v +J +tv  +f +$B + + +$B +$B +$B +$B +$B +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +a + + + + + + + + + + +a + + +a +a + + +a + + + + + + + + + + + + + + + + + + + + + + + + +- +. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +* +/ +8 +9 + + + + + + + + + + + + + + +ELF +U `1ClP +| +,oCr. + .K_ +.BB kB! + +O K *IB "L,V+ @*OkҲi  )K_ )BB kB! ++JB +"L,yj1 +V @Ok,Ҳn (J_ .BB +hB!ZC +_Eэ +4 +0 +0 +0 +0 +0 +0 + + + + +% + +0 + +% + +0 + +% +0 + +0 + +% +0 + +0 + + +% +0 +0 + + +0 +0 +0 +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 + +0 +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 + + + +0 +0 +0 +0 +0 +0 + + + + +0 +0 +0 + +0 +0 +0 + +0 +0 +0 + + + +0 + +0 +0 +0 +0 +0 + +% + +0 + + + + + + + + + + +% +0 +0 + + +% +0 + +0 + + + + + + + + + + + + +7a + + + + v / +.v +A  + " + + += += +< +> +A += += += += +# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF + += + + + +A  + " + + +ELF +`ihh   `h1` +6 + + + + +𵅰FB +B i0 +vt + +m +dFk]k9F*FFG$B +i0  +Jw + +F" 4 +h+ h)  pG +3 + + + + + +x + + + + + + + + + + + + + + + + + + + + + + + + +HQ> + + + + + + + + + +Q4 + + + + + + + + +Q4 + +Q4 + + + + + + + + + : ;  + + + + + + + + + + + + + + + + + + + + + + + Z +. + + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + + + +  + + + + + + + + + + + +  + + + + + + + + + + + + + + + + + + + + + + + + +) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +! *:Bb(Hh`dH`h"2;pG +t + + +& +A  + " + + + + +ELF +    + ( +  + +    +i + +& + + + + + + +A  + " +ELF +@` +@` +@` +@` +@` +@` +@` +@` + *pG +pG +:@ +pG + + + + + + +4 + + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +;pG +;pG +$ *% J! jP +*Jj((((H(hp rt)v9 +(p  +(p) ;pG +D,!KtK! +" *;Ȉz| +! +; + ! +" *; +܀ +  + + +Z +  + ++ + + + + +4 + +A  + " + + + + + + + + + + + + + + + + + + + + +ELF +! *:Bb(Hh`dH`h"2;pG +t + + +& +A  + " + + + + +ELF +    + ( +  + +    +i + +& + + + + + + +A  + " +ELF +@` +@` +@` +@` +@` +@` +@` +@` + *pG +pG +:@ +pG + + + + + + +4 + + +A  + " + + + + + + + + + + + + + + + + + + + + + + + + + +ELF +;pG +;pG +$ *% J! jP +*Jj((((H(hp rt)v9 +(p  +(p) ;pG +D,!KtK! +" *;Ȉz| +! +; + ! +" *; +܀ +  + + +Z +  + ++ + + + + +4 + +A  + " + + + + + + + + + + + + + + + + + + + + -- cgit