OSDN Git Service
Jeffrey Vander Stoep [Thu, 13 Jul 2017 00:26:37 +0000 (00:26 +0000)]
Revert "Fix toybox_vendor dependencies on libselinux_vendor."
am:
cf90d7eb8f
Change-Id: I87a2558190f9183b4674b542f730cd0c481b66ec
Jeffrey Vander Stoep [Mon, 10 Jul 2017 06:19:45 +0000 (06:19 +0000)]
Revert "Fix toybox_vendor dependencies on libselinux_vendor."
This reverts commit
9e5e16264cf411f4efbb509e8df4630f4996a21a.
Bug:
63537547
Bug:
62886649
Change-Id: I881f74b59e93819067b52ca07d21e7f650886ac8
Elliott Hughes [Tue, 11 Jul 2017 18:48:54 +0000 (18:48 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
b62e8ff3da
Change-Id: I2720c0aa0fce8d3afb854edaf4dd7b91ee48d8a9
Elliott Hughes [Tue, 11 Jul 2017 16:04:11 +0000 (09:04 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I752a046ed45ada48db41a0b2b11428f5a344b90b
Elliott Hughes [Tue, 11 Jul 2017 16:00:13 +0000 (16:00 +0000)]
Don't include the build number in `toybox --version`.
am:
bf4741d56c
Change-Id: I09153d00fb62c2d7ba583765dcc5a3eace581acf
Rob Landley [Tue, 11 Jul 2017 10:17:35 +0000 (05:17 -0500)]
Don't remove "remount" from the option list during early parsing, the mount
flag doesn't get set right otherwise and it tries to overmount instead.
Rob Landley [Tue, 11 Jul 2017 10:16:09 +0000 (05:16 -0500)]
comma_scan()'s clean option wasn't removing entry at end of list.
Elliott Hughes [Tue, 11 Jul 2017 00:14:20 +0000 (17:14 -0700)]
Don't include the build number in `toybox --version`.
This adds undesired noise to OTA packages, and isn't worth that cost.
Bug: http://b/
63513984
Test: toybox --version
Change-Id: Ied2b55155411acb5e73d250c62a8f26d6fa02908
Yifan Hong [Mon, 10 Jul 2017 03:45:32 +0000 (03:45 +0000)]
Fix toybox_vendor dependencies on libselinux_vendor.
am:
9e5e16264c
Change-Id: Iace953ff7dff37810c5889fb8ebefb038ee5578a
Rob Landley [Sun, 9 Jul 2017 07:13:00 +0000 (02:13 -0500)]
dd cleanup: binary search is overkill, eliminate struct pair,
simplify strstarteq, use local variable "conv" instead of toys.optargs.
Elliott Hughes [Fri, 7 Jul 2017 20:06:36 +0000 (13:06 -0700)]
Fix -Wformat compiler warning in expr.c.
Android forces -Wformat on for all source.
toys/pending/expr.c:116:28: warning: field precision should have type 'int',
but argument has type 'long' [-Wformat]
ret->s = xmprintf("%.*s", m[1].rm_eo-m[1].rm_so, target+m[1].rm_so);
~~^~ ~~~~~~~~~~~~~~~~~~~~~
Rob Landley [Fri, 7 Jul 2017 21:36:45 +0000 (16:36 -0500)]
Posix says strings should only output hits that end with NUL or newline.
We don't currently do that, but a test suite checking that we don't
do that is requiring us to violate posix to pass it.
Ilya Kuzmich [Mon, 29 May 2017 14:57:09 +0000 (17:57 +0300)]
strings -t oxd tests
Rob Landley [Fri, 7 Jul 2017 08:51:47 +0000 (03:51 -0500)]
Make dd use atolx_range(), and teach atolx_range() about "w" suffix (word, *2).
Rob Landley [Fri, 7 Jul 2017 08:43:24 +0000 (03:43 -0500)]
Fix dd tests so TEST_HOST passes. (Ubuntu's dd doesn't support hex values
and don't expect a specific error message, just that it errored.)
Yifan Hong [Mon, 26 Jun 2017 23:16:43 +0000 (16:16 -0700)]
Fix toybox_vendor dependencies on libselinux_vendor.
toybox_vendor now links to other libraries as shared libraries.
This allows toybox_vendor to use the "vendor" version of these libraries
(in particular, liblog and libselinx_vendor).
Test: mma -j
Test: m -j, flash, boots
Test: `adb shell /vendor/bin/restorecon /dev/null` shows error message
Test: `adb shell /vendor/bin/getprop -Z' shows error message
Test: mma -j BOARD_VNDK_VERSION=current
Bug:
62886649
Change-Id: If01094b71ef7e99b5756b851132de643660a1e2c
Elliott Hughes [Wed, 5 Jul 2017 19:43:55 +0000 (19:43 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
a379d5ee15
Change-Id: I2120b3a09b81b1aa593b6bf2b8b7a5192d1b5738
Elliott Hughes [Wed, 5 Jul 2017 17:27:25 +0000 (10:27 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I81d3056bfb854ba9e312cb6a02b4eb200abd1eb4
Rob Landley [Mon, 3 Jul 2017 02:39:32 +0000 (21:39 -0500)]
Add -t, deviations from posix, redo loop to have fewer duplicate tests.
Ilya Kuzmich [Mon, 29 May 2017 04:05:16 +0000 (07:05 +0300)]
strings tests and bugfixes
Fixes missing newline in output if last byte of the input is string.
Fixes one-off offset bug.
Adds strings tests.
Signed-off-by: Ilya Kuzmich <ilya.kuzmich@gmail.com>
Rob Landley [Tue, 27 Jun 2017 19:57:28 +0000 (14:57 -0500)]
whitespace/comment tweaks.
Ilya Kuzmich [Sun, 28 May 2017 15:29:19 +0000 (18:29 +0300)]
teach head -c
Not POSIX, but implemented in coreutils, busybox and freebsd.
padarshr [Tue, 27 Jun 2017 18:57:25 +0000 (18:57 +0000)]
Build vendor toybox unconditionally.
am:
3829236617
Change-Id: Icea5df4c2e9e986364efb742e45e5baf77dc0f39
Rob Landley [Mon, 26 Jun 2017 20:32:27 +0000 (15:32 -0500)]
Most things seem to want the "b" suffix to mean 512 instead of 1.
(According to the git history I added "b" for "od" but the man page says 512
there too.)
padarshr [Mon, 19 Jun 2017 17:34:15 +0000 (23:04 +0530)]
Build vendor toybox unconditionally.
Always build vendor toybox irrespective of whether
PRODUCT_FULL_TREBLE is enabled or not, as even on Non-Full
treble builds this can be used in vendor scripts.
Change-Id: I91d0fc9be198d95d82530a3b1e21c4463d9398dd
Elliott Hughes [Mon, 19 Jun 2017 22:49:31 +0000 (22:49 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
f353b240a5
am:
66859184e5
Change-Id: I23b47ac02e42705de3dca793d2125a2c8b86ca22
Elliott Hughes [Mon, 19 Jun 2017 22:43:33 +0000 (22:43 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
f353b240a5
Change-Id: I06997a45f022ede7080ab0b163b8b0c018438cb4
Elliott Hughes [Mon, 19 Jun 2017 19:47:01 +0000 (12:47 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: If21b4f8a327f584912c9021d9792031e6d79c065
Rob Landley [Mon, 19 Jun 2017 17:34:50 +0000 (12:34 -0500)]
Past time for 0.7.4.
Rob Landley [Mon, 19 Jun 2017 12:51:58 +0000 (07:51 -0500)]
Manually inline TOP_COMMON and PGKILL_COMMON help text until I can teach
the help infrastructure to handle it.
(The lifetime rules are all wrong for hunks that get reused. Needs a largeish
rewrite.)
Rob Landley [Wed, 14 Jun 2017 16:23:01 +0000 (11:23 -0500)]
Grep exits with 2 for errors, which can happen at any time ( > /dev/full).
Rob Landley [Tue, 13 Jun 2017 21:33:13 +0000 (16:33 -0500)]
config2help.c: Rename trim() to skip_spaces(), fluff out comments a bit.
Rob Landley [Mon, 12 Jun 2017 16:26:07 +0000 (11:26 -0500)]
Add grep -M match and -S skip supporting wildcard patterns.
They don't imply -r because you might do find . -type f | xargs -S blah regex
Rob Landley [Sun, 11 Jun 2017 20:39:03 +0000 (15:39 -0500)]
Twitter's code of conduct page went down, so mirror the old archive.org version.
Move link from README to header.html menu bar.
Rob Landley [Sun, 11 Jun 2017 17:23:00 +0000 (12:23 -0500)]
Provide error messages for files we can open but not read (ala directories).
Rob Landley [Sat, 10 Jun 2017 18:17:31 +0000 (13:17 -0500)]
Fix bug where grep stopped at first dangling symlink and error_exited().
Rob Landley [Fri, 9 Jun 2017 20:01:07 +0000 (15:01 -0500)]
Promote dmesg back to lsb.
Rob Landley [Fri, 9 Jun 2017 19:59:51 +0000 (14:59 -0500)]
Cleanup dmesg (as posted to the list).
Rob Landley [Tue, 6 Jun 2017 18:21:03 +0000 (13:21 -0500)]
Add comment explaining strend()
Rob Landley [Tue, 6 Jun 2017 02:22:02 +0000 (21:22 -0500)]
Have help_exit() give a brief "See %s --help" message instead of the
full help text, and put it back in the args constraint failures.
Rob Landley [Sun, 4 Jun 2017 18:15:51 +0000 (13:15 -0500)]
Don't add cpio TRAILER!!! entry by default, add new --trailer option if you
want that. (This lets you concatenate cpio archives with "cat". Kernel's
initramfs extractor doesn't need it.)
Elliott Hughes [Fri, 2 Jun 2017 21:40:02 +0000 (21:40 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
fe3d63b269 am:
21b59f15b6
am:
3622386f99
Change-Id: Iee1ef5cb9ebea90fde424529700c23fb45651092
Elliott Hughes [Fri, 2 Jun 2017 21:36:35 +0000 (21:36 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
fe3d63b269
am:
21b59f15b6
Change-Id: I8587fbaf631b789749f9f7d6ec30bbd309f3bad0
Elliott Hughes [Fri, 2 Jun 2017 21:32:45 +0000 (21:32 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
fe3d63b269
Change-Id: I80107b04678e61d1fc356dc7e6efe1a875a7f7c9
Elliott Hughes [Fri, 2 Jun 2017 21:16:31 +0000 (14:16 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I4e1f8b76f8bd04e64aebf3f2f90afb7d07f9e357
Elliott Hughes [Wed, 31 May 2017 18:01:11 +0000 (11:01 -0700)]
Allow ':' in property names.
Bug: http://b/
62114389
Test: setprop
Change-Id: I165bcc01bb2422d991f746c5e6490cbdfb74472f
Elliott Hughes [Wed, 31 May 2017 22:32:20 +0000 (22:32 +0000)]
Allow ':' in property names.
am:
35cd738175
Change-Id: I9e0b14908f4d77d2a37535dc2585fe6f0af24e50
Elliott Hughes [Wed, 31 May 2017 20:20:56 +0000 (20:20 +0000)]
Merge "Allow ':' in property names." am:
04a2c850db am:
613a9738e3
am:
c042a40488
Change-Id: If71691b4bba1f286819949d615070daa3f7f3c0f
Elliott Hughes [Wed, 31 May 2017 20:15:26 +0000 (20:15 +0000)]
Merge "Allow ':' in property names." am:
04a2c850db
am:
613a9738e3
Change-Id: Ie9730fe2834012de7387e9452783fb52a2f7714b
Elliott Hughes [Wed, 31 May 2017 20:10:27 +0000 (20:10 +0000)]
Merge "Allow ':' in property names."
am:
04a2c850db
Change-Id: Ia43b65daf50af36326610715f98f58474d1b5944
Elliott Hughes [Wed, 31 May 2017 18:01:11 +0000 (11:01 -0700)]
Allow ':' in property names.
Bug: http://b/
62114389
Test: setprop
(cherry picked from commit
c69eba340488113b05c06155ee96df2b7e4989e3)
Change-Id: I44952370bbe31bc07f5bd6100a455a4579b0c48a
Treehugger Robot [Wed, 31 May 2017 19:59:16 +0000 (19:59 +0000)]
Merge "Allow ':' in property names."
Elliott Hughes [Wed, 31 May 2017 18:01:11 +0000 (11:01 -0700)]
Allow ':' in property names.
Bug: http://b/
62114389
Test: setprop
Change-Id: I165bcc01bb2422d991f746c5e6490cbdfb74472f
Dmitry Shmidt [Wed, 31 May 2017 00:31:38 +0000 (00:31 +0000)]
toybox: Enable LSPCI functionality am:
1014fe7467 am:
08d5751f0e
am:
107f33d5e4
Change-Id: I829bc3e4116dacb9cab4d2cf4bd2d9edd3179f87
Dmitry Shmidt [Wed, 31 May 2017 00:27:37 +0000 (00:27 +0000)]
toybox: Enable LSPCI functionality am:
1014fe7467
am:
08d5751f0e
Change-Id: Ib5782ab2d9cc4351ff1c241aaa7f83fe816ac02b
Dmitry Shmidt [Wed, 31 May 2017 00:24:08 +0000 (00:24 +0000)]
toybox: Enable LSPCI functionality
am:
1014fe7467
Change-Id: I44fa133b69cef11d2723275d82efa99f2cff3d97
Dmitry Shmidt [Tue, 30 May 2017 22:25:12 +0000 (15:25 -0700)]
toybox: Enable LSPCI functionality
Bug:
37852727
Test: Manual
Change-Id: I6c3767f7d888f07093593f715190f6131949421a
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Ilya Kuzmich [Sun, 28 May 2017 14:03:26 +0000 (17:03 +0300)]
teach head -v and -q
Not POSIX, but implemented in coreutils and busybox.
Tests use sed to compensate for the stdin naming difference.
Signed-off-by: Ilya Kuzmich <ilya.kuzmich@gmail.com>
Rob Landley [Sat, 27 May 2017 20:54:16 +0000 (15:54 -0500)]
Replace two space indents with tab indents in help text (for consistency).
Rob Landley [Sat, 27 May 2017 19:57:45 +0000 (14:57 -0500)]
Add separators in help -a with command name.
Elliott Hughes [Fri, 26 May 2017 00:56:11 +0000 (17:56 -0700)]
Be more consistent about periods in help text.
Elliott Hughes [Thu, 25 May 2017 23:49:59 +0000 (23:49 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
3233e2f9c1 am:
5aa96f14c1
am:
79cc039a81
Change-Id: I9766ab17027afb62730f63119cb9b186ca041008
Elliott Hughes [Thu, 25 May 2017 23:45:29 +0000 (23:45 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
3233e2f9c1
am:
5aa96f14c1
Change-Id: I3ecf7f93f6eab051b753c65952f801c5645ac8c4
Elliott Hughes [Thu, 25 May 2017 23:40:31 +0000 (23:40 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
3233e2f9c1
Change-Id: Iabb93478d99e3b15b48ceafb0284fc41418bcf59
Elliott Hughes [Thu, 25 May 2017 21:16:21 +0000 (14:16 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I509bcbfc1215b09f0b4559397408a8e785395651
Rob Landley [Thu, 25 May 2017 18:27:22 +0000 (13:27 -0500)]
Add -0 to env.
Rob Landley [Thu, 25 May 2017 18:00:00 +0000 (13:00 -0500)]
Teach env that - as first argument means -i for some reason. (Posix!)
Elliott Hughes [Wed, 24 May 2017 00:35:49 +0000 (17:35 -0700)]
Add and use xmmap.
Everyone forgets that mmap returns MAP_FAILED rather than NULL on failure.
Every use of mmap in toybox was either doing the wrong check, or no check
at all (including the two I personally added).
Rob Landley [Tue, 23 May 2017 20:48:26 +0000 (15:48 -0500)]
Add minof/maxof macros that autodetect type. Make xzcat use them.
Joyounger [Tue, 23 May 2017 16:36:35 +0000 (00:36 +0800)]
fixup code style
Signed-off-by: Joyounger <aquanox@163.com>
Rob Landley [Sun, 21 May 2017 18:23:34 +0000 (13:23 -0500)]
Promote chrt
Rob Landley [Sun, 21 May 2017 18:11:42 +0000 (13:11 -0500)]
Cleaup chrt
Elliott Hughes [Sat, 13 May 2017 01:30:03 +0000 (18:30 -0700)]
Add bzip2 support to tar.
Also trivial cleanup of pipe -> xpipe.
Bug: http://b/
38215123
Rob Landley [Fri, 19 May 2017 17:35:36 +0000 (12:35 -0500)]
Implement date %N, loosely inspired by Elliott Hughes's patch.
I didn't implement %37N's ability to insert zeroes, so removed those
two tests. If you really need it, I can add the divide loop back.
Elliott Hughes [Sat, 13 May 2017 19:48:35 +0000 (12:48 -0700)]
factor shouldn't give incorrect answers for >64-bit integers.
Rob Landley [Sun, 14 May 2017 20:10:29 +0000 (15:10 -0500)]
Minor tweaks to install.sh.
Elliott Hughes [Fri, 12 May 2017 03:27:04 +0000 (03:27 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
d94bd8e917 am:
db6c38177a
am:
c8e7472945
Change-Id: I3d28b09f9df6ee737452fe68ba6d92568e3342e4
Elliott Hughes [Fri, 12 May 2017 02:33:23 +0000 (02:33 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD am:
d94bd8e917
am:
db6c38177a
Change-Id: Icec86477f8ea713f6d1044ac3c71081a69c3b42c
Elliott Hughes [Fri, 12 May 2017 02:31:24 +0000 (02:31 +0000)]
Merge remote-tracking branch 'toybox/master' into HEAD
am:
d94bd8e917
Change-Id: Ibb56d49b198ca37e38053392f744c9f0128910d8
Elliott Hughes [Fri, 12 May 2017 00:21:45 +0000 (17:21 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD
Change-Id: I6f2e84dbc875ca0e85c0a87685fd2bd39d1df617
Rob Landley [Thu, 11 May 2017 17:31:43 +0000 (12:31 -0500)]
Switch to testcmd and add "-e all but \c" test.
Elliott Hughes [Wed, 10 May 2017 20:51:44 +0000 (13:51 -0700)]
Make fewer assumptions about the shell in echo.test.
This test fails with mksh, but we're not here to test mksh.
Elliott Hughes [Wed, 10 May 2017 20:27:04 +0000 (20:27 +0000)]
Add all the toybox symbolic links to recovery. am:
1ca2399829 am:
26c2d744af
am:
cdbdc705c0
Change-Id: I0795eee3b61fb0acf762e49179bcc301e3f7d57d
Elliott Hughes [Wed, 10 May 2017 20:07:39 +0000 (20:07 +0000)]
Add all the toybox symbolic links to recovery. am:
1ca2399829
am:
26c2d744af
Change-Id: Id005f4465c2980feb2e3ff0ca29fcb04c3b60fe6
Elliott Hughes [Wed, 10 May 2017 20:05:09 +0000 (20:05 +0000)]
Add all the toybox symbolic links to recovery.
am:
1ca2399829
Change-Id: I3d74c9de5b0620fc5699f8afbae869531bdf246c
Rob Landley [Tue, 9 May 2017 04:01:06 +0000 (23:01 -0500)]
Move strend() to lib/lib.c
Rob Landley [Tue, 9 May 2017 03:09:08 +0000 (22:09 -0500)]
Remove old uClibc compatibility glue. It's been 5 years since the last release.
See http://lists.busybox.net/pipermail/buildroot/2016-December/180102.html
for a full post-mortem on the project.
Rob Landley [Mon, 8 May 2017 23:25:22 +0000 (18:25 -0500)]
Now that xopen() no longer returns stdio, !fd doesn't need strcmp("-") to verify
Mike Moreton [Fri, 23 Sep 2016 07:46:11 +0000 (08:46 +0100)]
Fix error in writing output that was causing zcat to always fail.
Rob Landley [Mon, 8 May 2017 03:48:44 +0000 (22:48 -0500)]
Error if we can't autodetect filesystem type.
Elliott Hughes [Sat, 6 May 2017 01:02:04 +0000 (18:02 -0700)]
Add all the toybox symbolic links to recovery.
We're currently shipping a full toybox binary in /sbin on the recovery image,
so it seems silly to only have the modprobe symbolic link when you could have
the full set.
Bug: N/A
Test: builds
Change-Id: I307a93dbba79d4f306eb0b20c4190b9571433c37
Elliott Hughes [Fri, 5 May 2017 23:23:26 +0000 (23:23 +0000)]
Include $(BUILD_NUMBER_FROM_FILE) in the toybox --version. am:
77666693a1 am:
f95c1921ba
am:
0cbc1fc469
Change-Id: Id8adaed50481e2207c464427366d9f63aede4917
Elliott Hughes [Fri, 5 May 2017 22:54:35 +0000 (22:54 +0000)]
Include $(BUILD_NUMBER_FROM_FILE) in the toybox --version. am:
77666693a1
am:
f95c1921ba
Change-Id: I069166499cc43fa00e06b90b7aa70306d8428de3
Elliott Hughes [Fri, 5 May 2017 22:47:51 +0000 (22:47 +0000)]
Include $(BUILD_NUMBER_FROM_FILE) in the toybox --version.
am:
77666693a1
Change-Id: I3b68a87b5595096e8ec2aa76916369dafd61c593
Elliott Hughes [Fri, 5 May 2017 20:28:50 +0000 (13:28 -0700)]
Include $(BUILD_NUMBER_FROM_FILE) in the toybox --version.
Also remove the SHA, which we haven't needed yet and isn't particularly
easy to turn back into source anyway.
Also switch to sed rather than awk, because macOS awk is lame:
awk: syntax error at source line 1
context is
match($0, >>> /TOYBOX_VERSION.*"(.*)"/, <<<
awk: bailing out at source line 1
Bug: http://b/
27534935 (for the macOS awk problem)
Test: toybox --version
Change-Id: If2d86b1ef098f1710843e32f7345ae5cf251fabb
Elliott Hughes [Thu, 4 May 2017 23:34:17 +0000 (23:34 +0000)]
Switch to toybox gzip/gunzip/zcat. am:
429b7a378b am:
564d755a1c
am:
1d98c5f49f
Change-Id: I0c83d1db9fc4eda98918d6700a887eb39344ff71
Elliott Hughes [Thu, 4 May 2017 23:30:46 +0000 (23:30 +0000)]
Switch to toybox gzip/gunzip/zcat. am:
429b7a378b
am:
564d755a1c
Change-Id: I0ea4e78775fb2128e0ff753690b568cae0cc41fe
Elliott Hughes [Thu, 4 May 2017 23:27:46 +0000 (23:27 +0000)]
Switch to toybox gzip/gunzip/zcat.
am:
429b7a378b
Change-Id: Id2f68a0faf4b6d17adf8c153ff8d67e828df01ae
Sandeep Patil [Thu, 4 May 2017 16:43:43 +0000 (16:43 +0000)]
Add toybox_vendor for treble products am:
2b69f38297 am:
8175e87953
am:
f5db80952c
Change-Id: Ifb7722047cf3535c08d8a9532b35e04378218b21
Sandeep Patil [Thu, 4 May 2017 16:41:13 +0000 (16:41 +0000)]
Add toybox_vendor for treble products am:
2b69f38297
am:
8175e87953
Change-Id: I1982e54680e09bb36641f3b405a56f8af5aca128