| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
Android 7.1.2 Release 2 (N2G47E)
# gpg: Signature made Mon 03 Apr 2017 01:41:46 AM CDT
# gpg: using DSA key E8AD3F819AB10E78
# gpg: Can't check signature: No public key
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
89f3cdc1be am: 7da5c5809c
am: beb907e507
Change-Id: I2c2f6167fd214c7ae2e3c019787c185b9afe3015
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
am: 7da5c5809c
Change-Id: I734254f022932f434a219a8b39c2dee58727d86c
|
| | | |\
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
am: 89f3cdc1be
Change-Id: I560cbde81f80ea2d014b1ef8c730a53c66c12803
|
| | | | |\
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
am: 318e3505ac
Change-Id: I365d6b8fad024b2cffe76057653fdadcc4d0ef69
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Cherry-pick of b3b24538e02ead0c3f5bc528818982475890efd6
An RLE bmp reports how many bytes it should contain. This number may be
incorrect, or it may be a very large number. Previously, we buffered
all bytes in a single allocation. Instead, use a fixed size buffer and
only read what fits into the buffer. We already have code to refill the
buffer if there is more data, so rely on that to keep reading.
Choose an arbitrary size for the buffer. It is larger than the maximum
possible number of bytes we need to read at once.
Add a test with a test image that reports a very large number for
the number of bytes it should contain. With the old method, we would
allocate 4 gigs of memory to decode this image, which is unnecessary
and may result in OOM.
BUG=b/33251605
Change-Id: I6d66eace626002725f62237617140cab99ce42f3
Reviewed-on: https://skia-review.googlesource.com/7028
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7 am: 09ad23b21e am: 716de6b276 am: d1fb426850 am: d80a31cff8 am: 8b8fbb1e9c
am: f054eb2904
Change-Id: If564f36e02a4bd98d364cc5e76cbd0aaa8186cb7
|
| | |\| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7 am: 09ad23b21e am: 716de6b276 am: d1fb426850 am: d80a31cff8
am: 8b8fbb1e9c
Change-Id: Ib7c6b97e043c6c4b190ee045281e34159f084c28
|
| | | |\| |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7 am: 09ad23b21e am: 716de6b276 am: d1fb426850
am: d80a31cff8
Change-Id: I9a85bcf858eb942199a23d96207266e3aadf39ef
|
| | | | |\|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7 am: 09ad23b21e am: 716de6b276
am: d1fb426850
Change-Id: I3bbc083f9f866642c78f02eabd801f789ac9ac2d
|
| | | | | |\
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7 am: 09ad23b21e
am: 716de6b276
Change-Id: I66aa02233bf9335a1391e6365862d9f25b55f53b
|
| | | | | | |\
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ffc0958605 am: df18259ff1 am: c9b947def7
am: 09ad23b21e
Change-Id: Ie5824ba58cfe69026cb158f24d748ea7347a112c
|
| | | | | | |/|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ffc0958605 am: df18259ff1
am: c9b947def7
Change-Id: I2d4260fe92c73f91af0dfd5e4c7665b9b2d33095
|
| | | | | | |/|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ffc0958605
am: df18259ff1
Change-Id: If78c2998094d5030e41a1c28d2e454409ff2ec35
|
| | | | | | |/|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ffc0958605
Change-Id: I01f4dd68d7b6ca6547eed5b3222cc6758817f897
|
| | | | | | | |\
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: d2456e3a12
Change-Id: I731e4cfbdc5a4dcbc9b7e26968d51f167f21a7d2
|
| | | | | | | |/|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: 16882f7212
Change-Id: I039cadfad5fe0f898cf13b42282f65d5ab0170e7
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Test: TODO (to be separately uploaded to CTS)
When decoding a GIF image, do not attempt to copy an index if it is out
of range.
BUG:33897722
Change-Id: I8c8ca69b00bf1f655e62bbe1798b9a47bf6699be
|
| |\| | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: ecbbc7d042 am: 21f2db467a
am: 7e8ec935cd
Change-Id: I4f219417aefe79a22766c95c50d0de30e8eb0c20
|
| |/| | | | | | |
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ecbbc7d042
am: 21f2db467a
Change-Id: Ib6171e6aeaa72769ebcd6731f73ffc231d1869c1
|
| | |\| | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: ecbbc7d042
Change-Id: I0c34a082ed6eb9a09e372ecf491e36fe1df37962
|
| | | |\| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: 20de35a0fd
Change-Id: Ia7b3497eea0e8f5d8524515307905e73d40ab0cf
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
BUG:33300701
Cherry-pick of Ifb3a824a36998c5e626c4ad58466845f49d18ebf
Conflicts:
src/codec/SkRawCodec.cpp
Original message:
"""
DO NOT MERGE Do not create an SkRawCodec with zero dimensions
Add a test
BUG=skia:3534
BUG=b/33300701
Change-Id: Ifb3a824a36998c5e626c4ad58466845f49d18ebf
Reviewed-on: https://skia-review.googlesource.com/5568
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
"""
|
| |\| | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
am: e9f90a21c0
Change-Id: I98108c42269fde75530fa57c5b611fd24e4aaa2c
|
| |\ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: 0e90812b64
Change-Id: I18f2959367b0dc6779254b66e5088d44394cdb1f
|
| |\ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
am: c37873eb42
am: d0638817a3
Change-Id: Ia971811ba293597fe3f57c6578bc60cc384c3ab9
|
| |\ \ \ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
am: 63a53c1e4b
Change-Id: I44e6f3c9a988844a90d5f8be0c19e6c4e7cd585a
|
|\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Android 7.1.1 release 25
# gpg: Signature made Mon Mar 6 11:54:53 2017 CST
# gpg: using DSA key E8AD3F819AB10E78
# gpg: Can't check signature: No public key
|
| | |_|_|_|/ / / / / /
| |/| | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
BUG:33300701
Cherry-pick of Ifb3a824a36998c5e626c4ad58466845f49d18ebf
Conflicts:
src/codec/SkRawCodec.cpp
Original message:
"""
DO NOT MERGE Do not create an SkRawCodec with zero dimensions
Add a test
BUG=skia:3534
BUG=b/33300701
Change-Id: Ifb3a824a36998c5e626c4ad58466845f49d18ebf
Reviewed-on: https://skia-review.googlesource.com/5568
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
"""
(cherry picked from commit 20de35a0fd855c60b40a7d5d513bbe8e19fda49b)
|
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Change-Id: Ie91eaf239be64b452963fa6006abbdb54c3c3402
|
|\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I0c5b130e29c3da546819f6b4e9a648cfc8caeab9
|
| |\ \ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Change-Id: I5f48ea0d9390734f2d72020458a063ad7e4ecd41
|
| | |\| | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Conflicts:
src/codec/SkJpegCodec.cpp
Change-Id: If35ef478ace8dd4ae4f195d8808d772c65c366b4
|
| | | | |_|_|/ / / / / /
| | | |/| | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Missing typename is a bug, apparently missed by treehugger.
type T conflicts with an identically named template parameter in
SkRefSet.h.
Fixes a build break caused by ag/1461060 .
Change-Id: Ie695e760574dc3c84871cd23d57eb7852405ebc5
|
| | | | |_|/ / / / / /
| | | |/| | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
If SkRefCnt_SafeAssign is erroneously invoked simultaneously by two
threads on the same destination, a likely outcome is that the
reference count of an object other than the replaced dst will
be decremented. This results in an extra reference count decrement,
which usually means that the final reference count decrement will
be applied to a random location in an object that has already been
reallocated. This is exceedingly hard to debug.
We add a hack to detect such data races with sufficiently high
probability, so that such a data race bug should sometimes actually
generate bug reports that lend themselves to diagnosis.
We detect changes within a relatively larger range that normally
includes several (typically slow) memory fences. Not all such changes
would provoke a crash. Even if we decrement the wrong reference count,
there's a chance we would decrement a dead location. Thus, to
avoid potentially adding instability, we currently only log.
This change tries to minimize additional runtime overhead.
The macro is only expanded a few dozen times, so we do not worry too
much about code size.
Bug: 31227650
Change-Id: Ieb7150cbe75654d312667bac27837e489591ee0e
|
| | | |\ \ \ \ \ \ \ \
| | | | |_|/ / / / / /
| | | |/| | / / / / /
| | | | | |/ / / / /
| | | | |/| | | | |
| | | | | | | | | | |
am: c37873eb42
Change-Id: Ifd9d0b7eadd9c3f0d7f1d193cf21855a8d6cf589
|
| | | |/| | | | | |
| | | | | |/ / / /
| | | | |/| | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: 52d00b3be7
Change-Id: I811bc9a1eb3db0b0e3a79a20c985ec79f1d2a8e4
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
Committed: https://skia.googlesource.com/skia/+/2812f03d54b7fa4fd3d724505155d44a5343d91b
BUG:30190637
BUG:30081412
Change-Id: I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74
(cherry picked from commit 63a53c1e4b347775d4a36c0826fcd249d0b98f20)
|
| | | | |/ / / /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
Committed: https://skia.googlesource.com/skia/+/2812f03d54b7fa4fd3d724505155d44a5343d91b
BUG:30190637
BUG:30081412
Change-Id: I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74
|
| | | |\| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
nyc-dev
am: ab20bed752
* commit 'ab20bed75264434f9278c8b0c281b36392f154c6':
merge "SkFontHost_FreeType constructor to correctly release resources." into nyc-dev
Change-Id: I1944ae0cd56233ec8926015f37ec93fb494c114f
|
| | | |\ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
am: 0698300cc5
* commit '0698300cc567384d6c528b5b1757ed8abe930dc5':
Simplify LightingFilter in add-free case
Change-Id: Ic395be971bac84e1d2e6f8b9043c026051c21361
|
| | | |\ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
am: f74462a
* commit 'f74462ad127da297d3f216d552e49c9e6917b616':
skia: fix a regression in decoding DNG
Change-Id: I9aaae550a79462b186f67daa8f77b6ad9eded415
|
| | | |\ \ \ \ \ \ \
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
am: 918d933
* commit '918d933fe92a1ef4b7cfbda8267d87e4b6c9973f':
Use libjpeg-turbo for YUV->RGB conversion in jpeg encoder
Change-Id: I13cf4e4b3a17248d8d8486b967fd8d3301c5c500
|
| | | |\ \ \ \ \ \ \ \
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
am: b60c0eb
* commit 'b60c0ebeb65ee4f8589314aa37649ed571bb2814':
give up if huge paths have unresolvable coincidence
Remove SK_IGNORE_MAC_FONT_WEIGHT_FIX.
Draw black on white for CG glyph masks.
[M50] Reject dashes from GrAADFR
Change-Id: Ib74e2e0f9d6ae09b60143c4c073f32185883d64a
|
| |\| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I031027c59cc5979b9f8c08b06c0439a110dd2ea4
|
| | |\ \ \ \ \ \ \ \ \ \
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
CRs Change ID Subject
--------------------------------------------------------------------------------------------------------------
1078705 I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74 Fix rewinding bug in SkJpegCodec (cherry picked from Ski
Change-Id: I6fde50b9f4a4811f72c1149102c776e4d1470ee3
CRs-Fixed: 1078705
|
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | | |
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
Committed: https://skia.googlesource.com/skia/+/2812f03d54b7fa4fd3d724505155d44a5343d91b
BUG:30190637
BUG:30081412
Change-Id: I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74
(cherry picked from commit 63a53c1e4b347775d4a36c0826fcd249d0b98f20)
(cherry picked from commit 52d00b3be74144019413d7aac734e012c00c87c5)
(cherry picked from commit aca73722873e908633ff27375f6f93a08cbb7dd3)
|
|\| | | | | | | | | | | |
| |_|/ / / / / / / / / /
|/| | | | | | | | | | |
| | | | | | | | | | | | |
Change-Id: I37e86e41df10be5ea01e4df8c54a434fd13d7108
|
| |\ \ \ \ \ \ \ \ \ \ \
| | |/ / / / / / / / / /
| |/| | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | |
CRs Change ID Subject
--------------------------------------------------------------------------------------------------------------
1078705 I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74 Fix rewinding bug in SkJpegCodec (cherry picked from Ski
Change-Id: I39333e1e9641d3074f2b49b7edec25d05a6ba5e9
CRs-Fixed: 1078705
|
| |/ / / / / / / / / /
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | |
Performing a sampled and/or subset decode will create some state
in SkJpegCodec. If we fail to clean up this state properly,
subsequent decodes may try to reuse (and potentailly overflow)
the leftover memory.
Committed: https://skia.googlesource.com/skia/+/2812f03d54b7fa4fd3d724505155d44a5343d91b
BUG:30190637
BUG:30081412
Change-Id: I3fc2220c1cf5b6e2bc68e87e19cf54576e2b7a74
(cherry picked from commit 63a53c1e4b347775d4a36c0826fcd249d0b98f20)
(cherry picked from commit 52d00b3be74144019413d7aac734e012c00c87c5)
(cherry picked from commit aca73722873e908633ff27375f6f93a08cbb7dd3)
|