1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavutil
Michael Niedermayer 85b883429f avutil/tx: avoid negative left shifts
Fixes: left shift of negative value -1
Fixes: 33736/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SIREN_fuzzer-6657785795313664

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-06-18 18:58:25 +02:00
..
aarch64 arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
arm arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
avr32 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb' 2016-06-21 21:55:34 +02:00
bfin
mips libavcodec/mips: Fix build errors reported by clang 2021-06-03 13:44:00 +02:00
ppc avutil/ppc/cpu: Fix power8 linux detection 2019-02-05 09:29:57 +02:00
sh4
tests avutil/tests/audio_ffio: add missing header 2021-06-13 13:39:57 -03:00
tomi
x86 x86/tx_float: remove ff_ prefix from external constant tables 2021-04-25 18:42:38 -03:00
.gitignore Merge commit '257f00ec1ab06a2a161f535036c6512f3fc8e801' 2016-06-22 11:28:51 +02:00
adler32.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
adler32.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
aes_ctr.c avutil/aes_ctr: Add method to set 16-byte IV. 2018-01-23 21:48:31 +01:00
aes_ctr.h avutil/aes_ctr: Add method to set 16-byte IV. 2018-01-23 21:48:31 +01:00
aes_internal.h All: update names in copyright headers 2021-01-20 01:02:56 -06:00
aes.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
aes.h lavu: Drop deprecated context size variables 2015-08-28 16:04:27 +02:00
attributes.h avutil/attributes: Fix too many warning: false is not defined [-Wundef] 2020-05-30 17:29:23 +08:00
audio_fifo.c Merge commit '0456e684394dc5a7b98ab9ebb48396d743bf3730' 2017-03-24 13:17:55 +01:00
audio_fifo.h avfilter: add loop filters 2016-02-18 11:55:00 +01:00
avassert.h Fix typos 2018-09-14 21:36:21 +02:00
avsscanf.c avutil/avsscanf: fix possible overreads when dealing with %c or %s 2020-12-02 13:54:53 +01:00
avstring.c avutil/avstring: Check for memory allocation error in av_escape 2021-03-15 06:45:07 +01:00
avstring.h avutil/{avstring,bprint}: add XML escaping from ffprobe to avutil 2021-03-05 19:45:00 +02:00
avutil.h lavu: add av_fourcc_make_string() and av_fourcc2str() 2017-03-29 14:49:29 +02:00
avutilres.rc
base64.c avutil/base64: Fix undefined NULL + 0 2021-04-01 14:47:00 +02:00
base64.h lavu/base64: add AV_BASE64_DECODE_SIZE() macro 2016-04-02 12:48:21 +02:00
blowfish.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
blowfish.h avutil: undo FF_API_CRYPTO_CONTEXT deprecation 2015-10-16 19:13:38 -03:00
bprint.c avutil/{avstring,bprint}: add XML escaping from ffprobe to avutil 2021-03-05 19:45:00 +02:00
bprint.h
bswap.h
buffer_internal.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
buffer.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
buffer.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
camellia.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
camellia.h
cast5.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
cast5.h avutil/cast5: update Doxygen for av_cast5_init with return information 2015-10-15 22:32:58 -04:00
channel_layout.c avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
channel_layout.h avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
color_utils.c lavu: Adding ARIB STD-B67 (hybrid log-gamma) enum value and transfer function. 2016-06-01 16:32:08 +02:00
color_utils.h avutil/color_utils: Add basic transfer functions for each AVColorTransferCharacteristic 2015-09-10 23:53:05 +02:00
colorspace.h avutil/colorspace: add macros for RGB->YUV BT.709 2019-04-19 17:10:20 +05:30
common.h avutil/common: Move everything inside inclusion guards 2021-02-11 09:07:10 +01:00
cpu_internal.h libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
cpu.c avutil/cpu: Remove deprecated functions 2021-04-27 10:43:13 -03:00
cpu.h avutil/cpu: Remove deprecated functions 2021-04-27 10:43:13 -03:00
crc.c crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
crc.h crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
cuda_check.h avutil/cuda_check: add missing dynlink_loader.h include 2020-09-15 19:29:37 -03:00
des.c Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196' 2016-06-22 13:44:34 +02:00
des.h avutil: undo FF_API_CRYPTO_CONTEXT deprecation 2015-10-16 19:13:38 -03:00
detection_bbox.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
detection_bbox.h lavu/detection_bbox.h: use AV_NUM_DETECTION_BBOX_CLASSIFY to replace AV_NUM_BBOX_CLASSIFY 2021-04-18 10:41:17 +08:00
dict.c avutil/dict: av_realloc -> av_realloc_array() 2020-06-06 10:32:07 +08:00
dict.h cosmetics: Fix spelling mistakes 2016-05-04 18:16:21 +02:00
display.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
display.h Merge commit '075acbb6ff5740b2eea1bb7dd3afbc8e66e2ebf8' 2017-04-13 17:31:15 -03:00
dovi_meta.c lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
dovi_meta.h lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
downmix_info.c
downmix_info.h
dynarray.h avutil/dynarry.h: fix comment grammar mistakes of FF_DYNARRAY_ADD 2019-06-01 17:43:48 +08:00
encryption_info.c avutil/encryption_info: Don't pass NULL to memcpy 2019-09-20 23:26:34 +02:00
encryption_info.h avutil/encryption_info: Fix documentation problem. 2018-06-27 13:43:38 +02:00
error.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
error.h
eval.c libavutil/eval: Remove CONFIG_TRAPV special handling 2021-02-10 12:28:29 +01:00
eval.h avutil/eval: Add av_expr_count_func() similar to av_expr_count_vars() 2019-12-28 11:20:48 +01:00
ffmath.h all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h 2016-03-22 10:15:31 -07:00
fifo.c fifo: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
fifo.h avutil/fifo: add function av_fifo_generic_peek_at() 2015-10-14 20:23:58 +02:00
file_open.c avpriv_tempfile: add djgpp fallback 2018-11-28 22:16:07 +11:00
file.c avutil/file: add more check befor destory the buffer 2019-08-30 09:16:01 +08:00
file.h avutil/file: allow mapping 0 byte files with av_file_map 2018-09-09 21:21:42 +02:00
film_grain_params.c libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
film_grain_params.h avutil/film_grain_params: fix doxy for ar_coeff_* fields 2020-12-03 13:25:21 -03:00
fixed_dsp.c avutil/fixed_dsp: Fix integer overflows in butterflies_fixed_c() 2020-09-19 00:37:45 +02:00
fixed_dsp.h x86/fixed_dsp: add ff_butterflies_fixed_sse2 2016-01-16 21:09:38 -03:00
float_dsp.c avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
float_dsp.h avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
frame.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
frame.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hash.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
hash.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
hdr_dynamic_metadata.c Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hdr_dynamic_metadata.h Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hmac.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
hmac.h avutil/hmac: remove gap in AVHMACType enum values 2017-10-22 19:47:05 -03:00
hwcontext_cuda_internal.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_cuda.c hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext_cuda.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_d3d11va.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_d3d11va.h hwcontext_d3d11va: add missing stdint.h include 2017-11-17 23:27:43 +01:00
hwcontext_drm.c hwcontext_drm: make dependency on Linux kernel headers optional 2020-12-30 23:14:46 +01:00
hwcontext_drm.h hwcontext_drm: Clarify value for unknown format modifiers 2018-03-22 23:18:53 +00:00
hwcontext_dxva2.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_dxva2.h dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-27 18:05:02 +02:00
hwcontext_internal.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_mediacodec.c lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_mediacodec.h lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_opencl.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_opencl.h lavu/hwcontext_opencl.h: fix build on macOS 2017-11-28 00:23:42 -06:00
hwcontext_qsv.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_qsv.h Merge commit '59e7361cc791e5103be1712dc59a2055f118d0da' 2016-09-28 13:30:27 -03:00
hwcontext_vaapi.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vaapi.h hwcontext_vaapi: Try to support the VDPAU wrapper 2017-06-14 22:23:43 +01:00
hwcontext_vdpau.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vdpau.h Merge commit 'a001ce31bc2bcf875a39b5fb22dae49120293b42' 2016-02-17 16:16:34 +00:00
hwcontext_videotoolbox.c avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext_videotoolbox.h avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext_vulkan.c hwcontext_vulkan: fix typo in vulkan_device_init() 2021-06-10 12:24:04 +02:00
hwcontext_vulkan.h hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext.c hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
imgutils_internal.h Merge commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5' 2017-03-20 08:34:10 +01:00
imgutils.c avutil/imgutils: don't add offsets to NULL pointers 2021-05-12 15:52:50 -03:00
imgutils.h avutil/imgutils: add utility to get plane sizes 2020-07-22 11:41:57 -03:00
integer.c avutil/integer: Fix integer overflow in av_mul_i() 2018-10-24 23:15:24 +02:00
integer.h
internal.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
intfloat.h
intmath.c intmath: remove av_ctz. 2015-10-11 18:03:10 -04:00
intmath.h intmath: add faster clz support 2017-03-01 11:23:19 -05:00
intreadwrite.h intreadwrite: add AV_RL64A, AV_WL64A 2019-01-11 23:43:37 +11:00
lfg.c libavutil: add av_lfg_init_from_data() function 2017-01-22 02:28:53 +01:00
lfg.h avutil/lfg: Correct index increment type to avoid undefined behavior 2019-11-24 22:58:59 +01:00
libavutil.v build: Change structure of the linker version script templates 2016-05-29 16:43:11 +02:00
libm.h lavu/libm: add isfinite fallback 2016-01-13 20:00:19 -05:00
lls.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
lls.h lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump 2021-01-01 14:14:57 +01:00
log2_tab.c
log.c avutil/log: update text requesting samples 2020-04-17 00:08:56 +02:00
log.h avutil: remove deprecated AVClass.child_class_next 2021-04-27 11:48:04 -03:00
lzo.c avutil/lzo: split test out into a separate file 2016-05-13 22:48:56 -03:00
lzo.h
macros.h Merge commit '50078c1c8070dd8d1c329e8117ff30ec72489039' 2016-01-02 10:25:12 +01:00
Makefile lavu: add side data AV_FRAME_DATA_DETECTION_BBOXES for object detection/classification 2021-04-17 17:27:02 +08:00
mastering_display_metadata.c lavu: add support for Content Light Level side metadata 2017-04-06 11:26:25 -03:00
mastering_display_metadata.h avutil/mastering_display_metadata: fix copyright header wrongly formated as doxy 2018-01-11 11:35:51 -03:00
mathematics.c avutil/mathematics: Fix undefined negation in av_compare_ts() 2021-02-10 12:28:29 +01:00
mathematics.h mathematics: Extend and edit Doxygen 2016-08-02 21:53:34 -07:00
md5.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
md5.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
mem_internal.h avutil/mem: make ff_fast_malloc() internal to mem.c 2021-05-27 10:29:52 -03:00
mem.c lavu/mem: un-inline av_size_mult() 2021-06-11 19:42:47 +02:00
mem.h lavu/mem: un-inline av_size_mult() 2021-06-11 19:42:47 +02:00
motion_vector.h avutil/motion_vector: export subpel motion information 2015-11-23 10:55:15 +01:00
murmur3.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
murmur3.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
opt.c avutil/opt: Check directly for av_dict_copy() failure 2021-06-08 12:52:50 +02:00
opt.h avutil: remove deprecated AVClass.child_class_next 2021-04-27 11:48:04 -03:00
parseutils.c avutil/parseutils: Check sign in av_parse_time() 2021-03-03 16:54:20 +01:00
parseutils.h
pca.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
pca.h
pixdesc.c avutil/pixdesc: Remove deprecated AV_PIX_FMT_FLAG_PSEUDOPAL 2021-04-27 10:43:13 -03:00
pixdesc.h avutil/pixdesc: Remove deprecated AV_PIX_FMT_FLAG_PSEUDOPAL 2021-04-27 10:43:13 -03:00
pixelutils.c lavutil/pixelutils: add sad_32x32 in pixelutils API. 2018-07-31 19:09:35 +08:00
pixelutils.h
pixfmt.h pixfmt: fixed wrong fix of comment 2021-06-02 17:30:24 +02:00
qsort.h all: Add missing header guards 2016-01-28 19:49:48 -08:00
random_seed.c random_seed: use bcrypt instead of the old wincrypt API 2018-04-19 10:54:26 +03:00
random_seed.h
rational.c lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rational.h lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rc4.c avutil: use EINVAL instead of -1 for the return code of crypto related init functions 2015-10-18 15:17:58 -04:00
rc4.h avutil: undo FF_API_CRYPTO_CONTEXT deprecation 2015-10-16 19:13:38 -03:00
replaygain.h Merge commit '29c2d06d67724e994980045afa055c6c34611b30' 2016-02-24 17:31:44 +00:00
reverse.c avutil: add ff_reverse as av_reverse replacement 2015-08-12 00:14:14 +02:00
reverse.h avutil/reverse: move the ff_reverse declaration to a separate header 2017-01-12 19:59:37 -03:00
ripemd.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
ripemd.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
samplefmt.c avutil/samplefmt: don't add offsets to NULL pointers 2021-06-13 16:10:37 -03:00
samplefmt.h avutil/samplefmt: remove outdated comment 2021-06-13 16:10:37 -03:00
sha512.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha512.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
slicethread.c w32pthreads: always use Vista+ API, drop XP support 2017-12-26 02:49:48 +01:00
slicethread.h avutil: merge slice threading implementation from avcodec and avfilter 2017-07-19 15:50:07 +07:00
softfloat_ieee754.h avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754() 2019-07-21 11:26:36 +02:00
softfloat_tables.h
softfloat.h avutil/softfloat: Add FLOAT_MIN 2017-11-05 22:13:16 +01:00
spherical.c avutil/spherical: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
spherical.h spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
stereo3d.c avutil/stereo3d: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
stereo3d.h Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa' 2017-11-29 21:06:49 -03:00
tablegen.h libavutil/tablegen: add missing math.h include 2015-12-04 14:49:35 +01:00
tea.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
tea.h
thread.h avutil/thread: fix strict_pthread_cond_timedwait 2020-01-25 23:16:18 +01:00
threadmessage.c lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
threadmessage.h lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
time_internal.h Merge commit 'c4642788e83b0858bca449f9b6e71ddb015dfa5d' 2019-05-02 13:50:31 -03:00
time.c lavu: use address-of operator checking clock_gettime 2020-12-28 01:12:26 -03:00
time.h
timecode.c avutil/timecode: Avoid fps overflow 2021-03-14 23:29:51 +01:00
timecode.h avutil/timecode: add av_timecode_init_from_components 2020-12-03 18:32:54 +01:00
timer.h libavutil/timer: Fix clang reserved-user-defined-literal 2021-03-13 11:47:43 -03:00
timestamp.h lavu/timestamp: Avoid C++-unfriendly code in user header 2016-09-01 20:01:28 +01:00
tree.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
tree.h doc: fix spelling errors 2016-10-21 23:58:47 +02:00
twofish.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
twofish.h
tx_double.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_float.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_int32.c lavu/tx: implement 32 bit fixed point FFT and MDCT 2020-02-13 17:10:34 +00:00
tx_priv.h lavu/x86: add FFT assembly 2021-04-24 17:19:18 +02:00
tx_template.c checkasm: add av_tx FFT SIMD testing code 2021-04-24 17:19:17 +02:00
tx.c avutil/tx: avoid negative left shifts 2021-06-18 18:58:25 +02:00
tx.h lavu/tx: add full-sized iMDCT transform flag 2021-04-24 17:17:27 +02:00
utils.c Silence "string-plus-int" warning shown by clang. 2020-01-06 22:38:56 +01:00
version.h Bump major versions of all libraries. 2021-04-27 11:48:05 -03:00
video_enc_params.c lavu/video_enc_params: make sure blocks are properly aligned 2021-06-10 16:59:50 +02:00
video_enc_params.h mpegvideo: use the AVVideoEncParams API for exporting QP tables 2021-01-01 14:23:19 +01:00
wchar_filename.h Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e' 2017-11-11 10:22:11 -03:00
xga_font_data.c
xga_font_data.h Merge commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0' 2017-11-11 11:29:16 -03:00
xtea.c Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13' 2016-05-11 19:13:03 +01:00
xtea.h Merge commit '588b6215b4c74945994eb9636b0699028c069ed2' 2015-11-22 14:29:09 +00:00