<86>Jul 22 05:03:38 userdel[1683281]: delete user 'rooter' <86>Jul 22 05:03:38 userdel[1683281]: removed group 'rooter' owned by 'rooter' <86>Jul 22 05:03:38 userdel[1683281]: removed shadow group 'rooter' owned by 'rooter' <86>Jul 22 05:03:38 groupadd[1683383]: group added to /etc/group: name=rooter, GID=1841 <86>Jul 22 05:03:38 groupadd[1683383]: group added to /etc/gshadow: name=rooter <86>Jul 22 05:03:38 groupadd[1683383]: new group: name=rooter, GID=1841 <86>Jul 22 05:03:38 useradd[1683444]: new user: name=rooter, UID=1841, GID=1841, home=/root, shell=/bin/bash, from=none <86>Jul 22 05:03:38 userdel[1683554]: delete user 'builder' <86>Jul 22 05:03:38 userdel[1683554]: removed group 'builder' owned by 'builder' <86>Jul 22 05:03:38 userdel[1683554]: removed shadow group 'builder' owned by 'builder' <86>Jul 22 05:03:38 groupadd[1683620]: group added to /etc/group: name=builder, GID=1842 <86>Jul 22 05:03:38 groupadd[1683620]: group added to /etc/gshadow: name=builder <86>Jul 22 05:03:38 groupadd[1683620]: new group: name=builder, GID=1842 <86>Jul 22 05:03:38 useradd[1683669]: new user: name=builder, UID=1842, GID=1842, home=/usr/src, shell=/bin/bash, from=none /usr/src/in/srpm/ringtonetools-2.26-alt1.qa1.src.rpm: license not found in '/usr/share/license' directory: Distributable Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/ringtonetools-2.26-alt1.qa1.nosrc.rpm (w1.gzdio) Installing ringtonetools-2.26-alt1.qa1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.64546 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf ringtonetools-2.26 + echo 'Source #0 (ringtonetools-2.26.tar.gz):' Source #0 (ringtonetools-2.26.tar.gz): + /bin/gzip -dc /usr/src/RPM/SOURCES/ringtonetools-2.26.tar.gz + /bin/tar -xf - + cd ringtonetools-2.26 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.25045 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd ringtonetools-2.26 + make 'FLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' make: Entering directory '/usr/src/RPM/BUILD/ringtonetools-2.26' make[1]: Entering directory '/usr/src/RPM/BUILD/ringtonetools-2.26/src' gcc -c 3210.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c bmp.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall bmp.c: In function 'write_bmp_data': bmp.c:176:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 176 | if (xwidth); | ^~ bmp.c:177:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 177 | { b|=get_color(note->picture[x+(y*note->width)],palette,palette_count); } | ^ gcc -c emelody.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c ems.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c fileoutput.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c general.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c gif.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gif.c: In function 'write_gif_footer': gif.c:94:36: warning: pointer targets in passing argument 2 of 'compute_palette_gif' differ in signedness [-Wpointer-sign] 94 | c=compute_palette_gif(length,note->picture,gif_header.color_map,(unsigned int *)&gif_header.colors); | ~~~~^~~~~~~~~ | | | int * gif.c:16:50: note: expected 'unsigned int *' but argument is of type 'int *' 16 | int compute_palette_gif(int length,unsigned int *picture,unsigned int *palette,unsigned int *palette_count) | ~~~~~~~~~~~~~~^~~~~~~ gif.c:173:50: warning: pointer targets in passing argument 2 of 'get_color' differ in signedness [-Wpointer-sign] 173 | color=get_color(note->picture[ptr++],gif_header.color_map,gif_header.colors); | ~~~~~~~~~~^~~~~~~~~~ | | | unsigned int * In file included from gif.c:4: general.h:36:29: note: expected 'int *' but argument is of type 'unsigned int *' 36 | int get_color(int col, int *palette, int palette_count); | ~~~~~^~~~~~~ gif.c:183:52: warning: pointer targets in passing argument 2 of 'get_color' differ in signedness [-Wpointer-sign] 183 | color=get_color(note->picture[ptr++],gif_header.color_map,gif_header.colors); | ~~~~~~~~~~^~~~~~~~~~ | | | unsigned int * general.h:36:29: note: expected 'int *' but argument is of type 'unsigned int *' 36 | int get_color(int col, int *palette, int palette_count); | ~~~~~^~~~~~~ gcc -c imelody.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c kyocera.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c kyocera6035.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c midi.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c motorola.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c nokia.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall nokia.c: In function 'write_nokia_logo_header': nokia.c:148:18: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign] 148 | k=strlen(note->message); | ~~~~^~~~~~~~~ | | | unsigned char * In file included from nokia.c:3: /usr/include/string.h:407:35: note: expected 'const char *' but argument is of type 'unsigned char *' 407 | extern size_t strlen (const char *__s) | ~~~~~~~~~~~~^~~ gcc -c parse_3210.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_bmp.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall parse_bmp.c: In function 'raw_uncompressed': parse_bmp.c:74:5: warning: variable 'use_trans' set but not used [-Wunused-but-set-variable] 74 | int use_trans; | ^~~~~~~~~ parse_bmp.c: In function 'parse_icon': parse_bmp.c:422:11: warning: variable 'num_pics' set but not used [-Wunused-but-set-variable] 422 | int x,c,t,num_pics,num_colors; | ^~~~~~~~ parse_bmp.c:422:5: warning: variable 'x' set but not used [-Wunused-but-set-variable] 422 | int x,c,t,num_pics,num_colors; | ^ gcc -c parse_emelody.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_ems.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_gif.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall parse_gif.c: In function 'parse_gif': parse_gif.c:29:17: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 29 | read_chars(in,temp_buffer,6); | ^~~~~~~~~~~ | | | unsigned char * In file included from parse_gif.c:6: fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_gif.c:31:14: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness [-Wpointer-sign] 31 | if (strcmp(temp_buffer,"GIF89a")==0) | ^~~~~~~~~~~ | | | unsigned char * In file included from parse_gif.c:3: /usr/include/string.h:156:32: note: expected 'const char *' but argument is of type 'unsigned char *' 156 | extern int strcmp (const char *__s1, const char *__s2) | ~~~~~~~~~~~~^~~~ parse_gif.c:34:14: warning: pointer targets in passing argument 1 of 'strcmp' differ in signedness [-Wpointer-sign] 34 | if (strcmp(temp_buffer,"GIF87a")==0) | ^~~~~~~~~~~ | | | unsigned char * /usr/include/string.h:156:32: note: expected 'const char *' but argument is of type 'unsigned char *' 156 | extern int strcmp (const char *__s1, const char *__s2) | ~~~~~~~~~~~~^~~~ parse_gif.c:22:14: warning: variable 'y' set but not used [-Wunused-but-set-variable] 22 | int ch,t,r,x,y; | ^ gcc -c parse_imelody.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_kws.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_logo.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_midi.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall parse_midi.c: In function 'midi_command': parse_midi.c:418:7: warning: variable 'duration' set but not used [-Wunused-but-set-variable] 418 | float duration; | ^~~~~~~~ parse_midi.c:417:5: warning: variable 'ch' set but not used [-Wunused-but-set-variable] 417 | int ch,tone; | ^~ gcc -c parse_morsecode.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_rtttl.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_siemens.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c parse_sckl.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall parse_sckl.c: In function 'parse_ringtone': parse_sckl.c:47:14: warning: variable 'pattern_id' set but not used [-Wunused-but-set-variable] 47 | int patterns,pattern_id,count; | ^~~~~~~~~~ parse_sckl.c: In function 'read_sckl_header': parse_sckl.c:253:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 253 | read_chars(in,buffer,4); | ^~~~~~ | | | unsigned char * In file included from parse_sckl.c:7: fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:254:20: warning: pointer targets in passing argument 1 of 'strcasecmp' differ in signedness [-Wpointer-sign] 254 | if (strcasecmp(buffer,"SCKL")!=0) return 0; | ^~~~~~ | | | unsigned char * In file included from /usr/include/string.h:462, from parse_sckl.c:3: /usr/include/strings.h:116:36: note: expected 'const char *' but argument is of type 'unsigned char *' 116 | extern int strcasecmp (const char *__s1, const char *__s2) | ~~~~~~~~~~~~^~~~ parse_sckl.c:255:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 255 | read_chars(in,buffer,4); | ^~~~~~ | | | unsigned char * fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:256:16: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness [-Wpointer-sign] 256 | *port=atoi(buffer); | ^~~~~~ | | | unsigned char * In file included from /usr/include/features.h:491, from /usr/include/bits/libc-header-start.h:33, from /usr/include/stdio.h:27, from parse_sckl.c:1: /usr/include/stdlib.h:362:1: note: expected 'const char *' but argument is of type 'unsigned char *' 362 | __NTH (atoi (const char *__nptr)) | ^~~~~ parse_sckl.c:257:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 257 | read_chars(in,buffer,4); | ^~~~~~ | | | unsigned char * fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:258:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 258 | read_chars(in,buffer,2); | ^~~~~~ | | | unsigned char * fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:259:14: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness [-Wpointer-sign] 259 | *id=atoi(buffer); | ^~~~~~ | | | unsigned char * /usr/include/stdlib.h:362:1: note: expected 'const char *' but argument is of type 'unsigned char *' 362 | __NTH (atoi (const char *__nptr)) | ^~~~~ parse_sckl.c:260:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 260 | read_chars(in,buffer,2); | ^~~~~~ | | | unsigned char * fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:261:17: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness [-Wpointer-sign] 261 | *count=atoi(buffer); | ^~~~~~ | | | unsigned char * /usr/include/stdlib.h:362:1: note: expected 'const char *' but argument is of type 'unsigned char *' 362 | __NTH (atoi (const char *__nptr)) | ^~~~~ parse_sckl.c:262:19: warning: pointer targets in passing argument 2 of 'read_chars' differ in signedness [-Wpointer-sign] 262 | read_chars(in,buffer,2); | ^~~~~~ | | | unsigned char * fileoutput.h:42:32: note: expected 'char *' but argument is of type 'unsigned char *' 42 | int read_chars(FILE *in, char *s, int count); | ~~~~~~^ parse_sckl.c:263:16: warning: pointer targets in passing argument 1 of 'atoi' differ in signedness [-Wpointer-sign] 263 | *mess=atoi(buffer); | ^~~~~~ | | | unsigned char * /usr/include/stdlib.h:362:1: note: expected 'const char *' but argument is of type 'unsigned char *' 362 | __NTH (atoi (const char *__nptr)) | ^~~~~ gcc -c rtttl.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c samsung.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c siemens.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c seo.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall seo.c: In function 'write_seo': seo.c:27:9: warning: variable 'i' set but not used [-Wunused-but-set-variable] 27 | int max,i; | ^ seo.c:26:34: warning: variable 'headsize' set but not used [-Wunused-but-set-variable] 26 | int packets=0,n=0,ptr=0,datasize,headsize,num=1; | ^~~~~~~~ gcc -c treo.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -c wav.c -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall gcc -o ringtonetools ringtonetools.c 3210.o bmp.o emelody.o \ ems.o fileoutput.o general.o gif.o imelody.o kyocera.o\ kyocera6035.o midi.o motorola.o nokia.o parse_3210.o \ parse_bmp.o parse_emelody.o parse_ems.o parse_gif.o \ parse_imelody.o parse_kws.o parse_logo.o parse_midi.o \ parse_morsecode.o parse_rtttl.o parse_siemens.o \ parse_sckl.o rtttl.o samsung.o siemens.o seo.o treo.o \ wav.o -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic -Wall ringtonetools.c: In function 'main': ringtonetools.c:379:19: warning: pointer targets in assignment from 'char *' to 'unsigned char *' differ in signedness [-Wpointer-sign] 379 | note.message=message; | ^ make[1]: Leaving directory '/usr/src/RPM/BUILD/ringtonetools-2.26/src' make: Leaving directory '/usr/src/RPM/BUILD/ringtonetools-2.26' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.51103 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/ringtonetools-buildroot + : + /bin/rm -rf -- /usr/src/tmp/ringtonetools-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd ringtonetools-2.26 + /bin/install -pD -m0755 ringtonetools /usr/src/tmp/ringtonetools-buildroot/usr/bin/ringtonetools + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/ringtonetools-buildroot (auto) Verifying and fixing files in /usr/src/tmp/ringtonetools-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/ringtonetools-buildroot/ (default) Compressing files in /usr/src/tmp/ringtonetools-buildroot (auto) 056-debuginfo.brp: WARNING: You have 1 stripped ELF objects. Please compile with debugging information! 056-debuginfo.brp: WARNING: An excerpt from the list of affected files follows: ./usr/bin/ringtonetools Verifying ELF objects in /usr/src/tmp/ringtonetools-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) verify-elf: WARNING: ./usr/bin/ringtonetools: uses non-LFS functions: fopen Processing files: ringtonetools-2.26-alt1.qa1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.51103 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd ringtonetools-2.26 + DOCDIR=/usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + export DOCDIR + rm -rf /usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + /bin/mkdir -p /usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + cp -prL LICENSE docs/README docs/incomplete_see_webpage_instead samples/ /usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + chmod -R go-w /usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + chmod -R a+rX /usr/src/tmp/ringtonetools-buildroot/usr/share/doc/ringtonetools-2.26 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.BU7ozh find-provides: running scripts (debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.qNRJZi find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) Requires: /lib/ld-linux.so.2, libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.1.3), libc.so.6(GLIBC_2.3), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.34), libc.so.6(GLIBC_2.4), rtld(GNU_HASH) Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.iUWedq Wrote: /usr/src/RPM/RPMS/i586/ringtonetools-2.26-alt1.qa1.i586.rpm (w2.lzdio) 2.47user 0.98system 0:06.05elapsed 57%CPU (0avgtext+0avgdata 55060maxresident)k 0inputs+0outputs (0major+197430minor)pagefaults 0swaps /.out/ringtonetools-2.26-alt1.qa1.i586.rpm: license not found in '/usr/share/license' directory: Distributable 0.57user 1.24system 0:09.84elapsed 18%CPU (0avgtext+0avgdata 12136maxresident)k 0inputs+0outputs (0major+97278minor)pagefaults 0swaps --- ringtonetools-2.26-alt1.qa1.i586.rpm.repo 2013-04-20 01:33:10.000000000 +0000 +++ ringtonetools-2.26-alt1.qa1.i586.rpm.hasher 2023-07-22 05:03:45.667140159 +0000 @@ -14,4 +14,6 @@ Requires: libc.so.6(GLIBC_2.1) +Requires: libc.so.6(GLIBC_2.1.3) Requires: libc.so.6(GLIBC_2.3) Requires: libc.so.6(GLIBC_2.3.4) +Requires: libc.so.6(GLIBC_2.34) Requires: libc.so.6(GLIBC_2.4) @@ -20,3 +22,3 @@ Provides: ringtonetools = 2.26-alt1.qa1 -File: /usr/bin/ringtonetools 100755 root:root 1331b66e76b43311e1c9a53bf477d258 +File: /usr/bin/ringtonetools 100755 root:root dc3da1e7791bdd1671b8f115f91b5c9b File: /usr/share/doc/ringtonetools-2.26 40755 root:root @@ -31,2 +33,2 @@ File: /usr/share/doc/ringtonetools-2.26/samples/yngwie_trilogy.rtttl 100644 root:root 678b6b49e8cb4246fca5904e8faa3bc5 -RPMIdentity: 8a53cbe79c5fb81ffff8a64efcb5a87e1c3904e193fdbecfdc7e866b06a6563020232b564bf837a1819177a77dbe64f3cd52d1f68fc020811e7bdb51297d88e4 +RPMIdentity: b289e53462b6f1a8bd318375398ac93960384e2cad51a9576293cf6b688c248e2e152b44464bd55b20e6d17be8f5012703dc237ef30a8c3e40fcd16c09ed3529