<86>Apr 24 06:25:06 userdel[2893618]: delete user 'rooter' <86>Apr 24 06:25:06 userdel[2893618]: removed group 'rooter' owned by 'rooter' <86>Apr 24 06:25:06 userdel[2893618]: removed shadow group 'rooter' owned by 'rooter' <86>Apr 24 06:25:06 groupadd[2893647]: group added to /etc/group: name=rooter, GID=987 <86>Apr 24 06:25:06 groupadd[2893647]: group added to /etc/gshadow: name=rooter <86>Apr 24 06:25:06 groupadd[2893647]: new group: name=rooter, GID=987 <86>Apr 24 06:25:06 useradd[2893666]: new user: name=rooter, UID=987, GID=987, home=/root, shell=/bin/bash <86>Apr 24 06:25:06 userdel[2893683]: delete user 'builder' <86>Apr 24 06:25:06 userdel[2893683]: removed group 'builder' owned by 'builder' <86>Apr 24 06:25:06 userdel[2893683]: removed shadow group 'builder' owned by 'builder' <86>Apr 24 06:25:06 groupadd[2893698]: group added to /etc/group: name=builder, GID=988 <86>Apr 24 06:25:06 groupadd[2893698]: group added to /etc/gshadow: name=builder <86>Apr 24 06:25:06 groupadd[2893698]: new group: name=builder, GID=988 <86>Apr 24 06:25:06 useradd[2893720]: new user: name=builder, UID=988, GID=988, home=/usr/src, shell=/bin/bash <13>Apr 24 06:25:07 rpmi: rpm-macros-make-0.1-alt1 1299442795 installed <13>Apr 24 06:25:08 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed <13>Apr 24 06:25:08 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686221 installed <13>Apr 24 06:25:08 rpmi: libreadline-devel-7.0.3-alt3 sisyphus+222164.300.1.1 1550686325 installed Building target platforms: x86_64 Building for target x86_64 Wrote: /usr/src/in/nosrpm/cutmp3-2.1.1-alt1.nosrc.rpm (w1.gzdio) Installing cutmp3-2.1.1-alt1.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.12875 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf cutmp3-2.1.1 + echo 'Source #0 (cutmp3-2.1.1.tar.bz2):' Source #0 (cutmp3-2.1.1.tar.bz2): + /bin/bzip2 -dc /usr/src/RPM/SOURCES/cutmp3-2.1.1.tar.bz2 + /bin/tar -xf - + cd cutmp3-2.1.1 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.12875 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd cutmp3-2.1.1 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2' + export FFLAGS + make -j16 make: Entering directory '/usr/src/RPM/BUILD/cutmp3-2.1.1' *** You need readline-devel, ncurses-devel or similar to compile cutmp3 *** *** Maybe you want to try the binary on compile failures? *** gcc -O -pipe -frecord-gcc-switches -Wall -g -O2 -c mpglib.c mpglib.c: In function 'do_layer3': mpglib.c:1051:7: warning: variable 'stereo1' set but not used [-Wunused-but-set-variable] int stereo1, granules; ^~~~~~~ gcc -O -pipe -frecord-gcc-switches -Wall -g -O2 -c main.c main.c: In function 'showtag': main.c:1044:6: warning: implicit declaration of function 'importid3v1'; did you mean 'importid3'? [-Wimplicit-function-declaration] if (importid3v1(seekpos)==0) return; ^~~~~~~~~~~ importid3 main.c: In function 'importid3v2': main.c:1463:49: warning: format '%li' expects argument of type 'long int', but argument 2 has type 'int' [-Wformat=] if(debug==1){printf("\n *debug* skip size=%li length=%li\n",size,length);} ~~^ ~~~~ %i main.c: In function 'cutfromtable': main.c:2849:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (a_b_used!=1) printf(" using timetable \"%s\" line %i:\n",tablename,linenumber);linenumber++; ^~ main.c:2849:88: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' if (a_b_used!=1) printf(" using timetable \"%s\" line %i:\n",tablename,linenumber);linenumber++; ^~~~~~~~~~ main.c: In function 'main': main.c:3022:6: warning: this 'else' clause does not guard... [-Wmisleading-indentation] else tablename=optarg; hastable=1; ^~~~ main.c:3022:29: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else' else tablename=optarg; hastable=1; ^~~~~~~~ main.c:2958:6: warning: variable 'a' set but not used [-Wunused-but-set-variable] int a,b,c,d,char1,showinfo=0,rawmode=0,fix_channels=0; ^ main.c: In function 'copyid3v2': main.c:1172:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(title,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1175:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(title,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1219:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(title,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1222:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(title,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c: In function 'importid3v2': main.c:1322:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(title,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1325:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(title,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1342:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(artist,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1345:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(artist,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1362:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(year,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1365:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(year,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~ main.c:1382:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(year,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1385:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(year,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~ main.c:1402:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(album,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1405:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(album,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1422:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(track,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1425:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(track,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1442:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(comment,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1445:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(comment,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1490:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(title,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1493:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(title,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1506:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(artist,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1509:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(artist,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1522:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(year,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1525:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(year,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~ main.c:1538:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(comment,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1541:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(comment,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1554:19: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] if (size<250) fgets(album,size+1,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.c:1557:6: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(album,251,id3file2); ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c: In function 'importid3v1': main.c:1676:2: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(title,31,mp3file); /* save title */ ^~~~~~~~~~~~~~~~~~~~~~~ main.c:1678:2: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(artist,31,mp3file); /* save artist */ ^~~~~~~~~~~~~~~~~~~~~~~~ main.c:1680:2: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(album,31,mp3file); /* save album */ ^~~~~~~~~~~~~~~~~~~~~~~ main.c:1682:2: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(year,5,mp3file); /* save year */ ^~~~~~~~~~~~~~~~~~~~~ main.c:1683:2: warning: ignoring return value of 'fgets', declared with attribute warn_unused_result [-Wunused-result] fgets(comment,31,mp3file); /* save comment */ ^~~~~~~~~~~~~~~~~~~~~~~~~ main.c: In function 'playsel': main.c:1909:3: warning: ignoring return value of 'system', declared with attribute warn_unused_result [-Wunused-result] system(command); /* play mp3 excerpt */ ^~~~~~~~~~~~~~~ In file included from cutmp3.h:16, from main.c:17: At top level: mpglib.h:509:23: warning: 'htc' defined but not used [-Wunused-variable] static struct newhuff htc[] = ^~~ mpglib.h:472:23: warning: 'ht' defined but not used [-Wunused-variable] static struct newhuff ht[] = ^~ main.c: In function 'savesel': main.c:2213:8: warning: 'outfile' may be used uninitialized in this function [-Wmaybe-uninitialized] else fputc(a,outfile); ^~~~~~~~~~~~~~~~ gcc main.o mpglib.o -o cutmp3 -lm -lreadline -lncurses make: Leaving directory '/usr/src/RPM/BUILD/cutmp3-2.1.1' + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.20868 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/cutmp3-buildroot + : + /bin/rm -rf -- /usr/src/tmp/cutmp3-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd cutmp3-2.1.1 + make install PREFIX=/usr/src/tmp/cutmp3-buildroot/usr make: Entering directory '/usr/src/RPM/BUILD/cutmp3-2.1.1' install -d /usr/src/tmp/cutmp3-buildroot/usr/bin install cutmp3 /usr/src/tmp/cutmp3-buildroot/usr/bin if [ ! -z "" ]; then install -m 644 cutmp3.desktop /share/apps/konqueror/servicemenus; elif [ -d /usr/share/apps/konqueror/servicemenus ]; then install -m 644 cutmp3.desktop /usr/share/apps/konqueror/servicemenus; elif [ -d /opt/kde/share/apps/konqueror/servicemenus ]; then install -m 644 cutmp3.desktop /opt/kde/share/apps/konqueror/servicemenus; elif [ -d /opt/kde3/share/apps/konqueror/servicemenus ]; then install -m 644 cutmp3.desktop /opt/kde3/share/apps/konqueror/servicemenus; fi install -d /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1/cutmp3 install -m 644 README* USAGE /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1/cutmp3 install -d /usr/src/tmp/cutmp3-buildroot/usr/share/man/man1 gzip cutmp3.1 install -m 644 cutmp3.1.gz /usr/src/tmp/cutmp3-buildroot/usr/share/man/man1 gunzip cutmp3.1.gz make: Leaving directory '/usr/src/RPM/BUILD/cutmp3-2.1.1' + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/cutmp3-buildroot (auto) Verifying and fixing files in /usr/src/tmp/cutmp3-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/cutmp3-buildroot/ (default) Compressing files in /usr/src/tmp/cutmp3-buildroot (auto) Verifying ELF objects in /usr/src/tmp/cutmp3-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Hardlinking identical .pyc and .pyo files Processing files: cutmp3-2.1.1-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.55789 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd cutmp3-2.1.1 + DOCDIR=/usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + export DOCDIR + rm -rf /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + /bin/mkdir -p /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + cp -prL BUGS README README.timetable Changelog TODO USAGE /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + chmod -R go-w /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + chmod -R a+rX /usr/src/tmp/cutmp3-buildroot/usr/share/doc/cutmp3-2.1.1 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.OJoLT7 find-provides: running scripts (debuginfo,lib,pam,perl,pkgconfig,python,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.vkRAMV find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks,systemd-services) Requires: mpg123, /lib64/ld-linux-x86-64.so.2, libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.2.5)(64bit), libc.so.6(GLIBC_2.3)(64bit), libc.so.6(GLIBC_2.3.4)(64bit), libc.so.6(GLIBC_2.4)(64bit), libm.so.6(GLIBC_2.2.5)(64bit), libreadline.so.7()(64bit) >= set:nmSjS5, rtld(GNU_HASH) Requires(rpmlib): rpmlib(SetVersions) Finding debuginfo files (using /usr/lib/rpm/find-debuginfo-files) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.ADJf5M Creating cutmp3-debuginfo package Processing files: cutmp3-debuginfo-2.1.1-alt1 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.rvlcOH find-provides: running scripts (debuginfo) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.gaPrXF find-requires: running scripts (debuginfo) Requires: cutmp3 = 2.1.1-alt1, /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug, debug64(libc.so.6), debug64(libm.so.6), debug64(libreadline.so.7) Adding to cutmp3-debuginfo a strict dependency on cutmp3 Wrote: /usr/src/RPM/RPMS/x86_64/cutmp3-2.1.1-alt1.x86_64.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/x86_64/cutmp3-debuginfo-2.1.1-alt1.x86_64.rpm (w2.lzdio) 2.29user 0.60system 0:07.42elapsed 39%CPU (0avgtext+0avgdata 60448maxresident)k 0inputs+0outputs (0major+236436minor)pagefaults 0swaps 5.44user 3.28system 0:12.60elapsed 69%CPU (0avgtext+0avgdata 120116maxresident)k 0inputs+0outputs (51624major+567433minor)pagefaults 0swaps --- cutmp3-2.1.1-alt1.x86_64.rpm.repo 2019-04-06 01:44:39.000000000 +0000 +++ cutmp3-2.1.1-alt1.x86_64.rpm.hasher 2022-04-24 06:25:17.369410527 +0000 @@ -22,3 +22,3 @@ Provides: cutmp3 = 2.1.1-alt1:sisyphus+226683.100.1.1 -File: /usr/bin/cutmp3 100755 root:root 38026cf223d6d85359bd486bd95134a4 +File: /usr/bin/cutmp3 100755 root:root 109fc4d4aeed6bdda52ca935406330a2 File: /usr/share/doc/cutmp3-2.1.1 40755 root:root @@ -31,2 +31,2 @@ File: /usr/share/man/man1/cutmp3.1.xz 100644 root:root a80ae9d620aca3e156169e8dc13c8c3c -RPMIdentity: 9f5b9a969d73e3823420a306a0cdb9d03fd79bad010dedbcee23852b528c9c322bea05515e8522ffe53202b4dcf098b3c255edb2125e0254ada4641dcf59c79a +RPMIdentity: 489f2afbd6438bc298f4b4689eda4e71f5ee53943c243f67cb5ee00630ae59ece30213f15a32197ee7beb255aa172c9e30704077e96371e475865f6760557ebf --- cutmp3-debuginfo-2.1.1-alt1.x86_64.rpm.repo 2019-04-06 01:44:39.000000000 +0000 +++ cutmp3-debuginfo-2.1.1-alt1.x86_64.rpm.hasher 2022-04-24 06:25:17.441411831 +0000 @@ -1,4 +1,4 @@ -/usr/lib/debug/.build-id/33 40755 root:root -/usr/lib/debug/.build-id/33/b3b0866a40b9cd7de96c9e3bd76574b236ccd9 120777 root:root ../../../../bin/cutmp3 -/usr/lib/debug/.build-id/33/b3b0866a40b9cd7de96c9e3bd76574b236ccd9.debug 120777 root:root ../../usr/bin/cutmp3.debug +/usr/lib/debug/.build-id/15 40755 root:root +/usr/lib/debug/.build-id/15/87db6d6bce6451708629eef242a30622b11f5e 120777 root:root ../../../../bin/cutmp3 +/usr/lib/debug/.build-id/15/87db6d6bce6451708629eef242a30622b11f5e.debug 120777 root:root ../../usr/bin/cutmp3.debug /usr/lib/debug/usr/bin/cutmp3.debug 100644 root:root @@ -15,6 +15,6 @@ Provides: cutmp3-debuginfo = 2.1.1-alt1:sisyphus+226683.100.1.1 -File: /usr/lib/debug/.build-id/33 40755 root:root -File: /usr/lib/debug/.build-id/33/b3b0866a40b9cd7de96c9e3bd76574b236ccd9 120777 root:root ../../../../bin/cutmp3 -File: /usr/lib/debug/.build-id/33/b3b0866a40b9cd7de96c9e3bd76574b236ccd9.debug 120777 root:root ../../usr/bin/cutmp3.debug -File: /usr/lib/debug/usr/bin/cutmp3.debug 100644 root:root 215ad333d614dc30365152d4f3b05cfb +File: /usr/lib/debug/.build-id/15 40755 root:root +File: /usr/lib/debug/.build-id/15/87db6d6bce6451708629eef242a30622b11f5e 120777 root:root ../../../../bin/cutmp3 +File: /usr/lib/debug/.build-id/15/87db6d6bce6451708629eef242a30622b11f5e.debug 120777 root:root ../../usr/bin/cutmp3.debug +File: /usr/lib/debug/usr/bin/cutmp3.debug 100644 root:root 4eed7fef158fe8879ea4d275424f71f1 File: /usr/src/debug/cutmp3-2.1.1 40755 root:root @@ -23,2 +23,2 @@ File: /usr/src/debug/cutmp3-2.1.1/mpglib.h 100644 root:root a45423327e518b7c03ec29683133bc11 -RPMIdentity: 550990789abeedd46b29dfdd9dfc6078b994676759a8619727fd67fd30fb95f22b04dc9684c739d1ae7166be97d7ab28a24f4c5d4231be8feccfc938b101032e +RPMIdentity: 5cc065fd0af712545b968c3549d3bebe7570188df35c4fdfe1166188e2845c6c8e53ebad14a5c87634f54fbd37290b0b1ef09d498ebbed85add9332946d1cc3b