2159:
2149:
42:
green green green green green green green green" is shortened to "green x 9". This is most efficient on data that contains many such runs, for example, simple graphic images such as icons, line drawings, games, and animations. For files that do not have many runs, encoding them with RLE could increase the file size.
610:
Run-length encoding can be expressed in multiple ways to accommodate data properties as well as additional compression algorithms. For instance, one popular method encodes run lengths for runs of two or more characters only, using an "escape" symbol to identify runs, or using the character itself as
624:
One other matter is the application of additional compression algorithms. Even with the runs extracted, the frequencies of different characters may be large, allowing for further compression; however, if the run lengths are written in the file in the locations where the runs occurred, the presence
41:
of data (consecutive occurrences of the same data value) are stored as a single occurrence of that data value and a count of its consecutive occurrences, rather than as the original run. As an imaginary example of the concept, when encoding an image built up from colored dots, the sequence "green
625:
of these numbers interrupts the normal flow and makes it harder to compress. To overcome this, some run-length encoders separate the data and escape symbols from the run lengths, so that the two can be handled independently. For the example data, this would result in two outputs, the string "
324:
def rle_encode(iterable, *, length_first=True): """ >>> "".join(rle_encode("AAAABBBCCDAA")) '4A3B2C1D2A' >>> "".join(rle_encode("AAAABBBCCDAA", length_first=False)) 'A4B3C2D1A2'
196:
Run-length encoding compresses data by reducing the physical size of a repeating string of characters. This process involves converting the input data into a compressed format by identifying and counting consecutive occurrences of each character. The steps are as follows:
646:
Lossy RLE: In this variation, some bits are intentionally discarded during compression (often by setting one or two significant bits of each pixel to 0). This leads to higher compression rates while minimally impacting the visual quality of the
594:
characters like this, the principle remains the same. Even binary data files can be compressed with this method; file format specifications often dictate repeated bytes in files as padding space. However, newer compression methods such as
642:
Sequential RLE: This method processes data one line at a time, scanning from left to right. It is commonly employed in image compression. Other variations of this technique include scanning the data vertically, diagonally, or in
589:
This can be interpreted as a sequence of twelve Ws, one B, twelve Ws, three Bs, etc., and represents the original 67 characters in only 18. While the actual format used for the storage of images is generally binary rather than
621:
This would be interpreted as a run of twelve Ws, a B, a run of twelve Ws, a run of three Bs, etc. In data where runs are less frequent, this can significantly improve the compression rate.
325:""" return ( f"{ilen(g)}{k}" if length_first else f"{k}{ilen(g)}" # ilen(g): length of iterable g for k, g in groupby(iterable) )
650:
Adaptive RLE: Uses different encoding schemes depending on the length of runs to optimize compression ratios. For example, short runs might use a different encoding format than long runs.
336:
The decoding process involves reconstructing the original data from the encoded format by repeating characters according to their counts. The steps are as follows:
180:
3635:
2405:
72:
Run-length encoding (RLE) schemes were employed in the transmission of analog television signals as far back as 1967. In 1983, run-length encoding was
3519:
3310:
2706:
2236:
3057:
2200:
983:
3929:
3491:
2948:
1651:
1462:
3345:
578:
With a run-length encoding (RLE) data compression algorithm applied to the above hypothetical scan line, it can be rendered as follows:
3523:
3306:
2710:
2240:
1351:
4042:
3865:
3093:
2319:
1857:
1680:
1474:
611:
the escape, so that any time a character appears twice it denotes a run. On the previous example, this would give the following:
3163:
1165:
3168:
1862:
1439:
924:
852:
3350:
2750:
900:
603:-based algorithms, a generalization of run-length encoding that can take advantage of runs of strings of characters (such as
132:
3231:
1592:
143:, is relatively efficient because most faxed documents are primarily white space, with occasional interruptions of black.
670:
3991:
3956:
3934:
3133:
3108:
1969:
1707:
1646:
1457:
1407:
1230:
3731:
2782:
2193:
1090:
1075:
976:
3773:
3327:
3226:
3016:
2418:
2082:
560:
Consider a screen containing plain black text on a solid white background. There will be many long runs of white
139:
machines, known as T.45. That fax colour coding standard, which along with other techniques is incorporated into
3880:
3607:
3471:
3314:
2938:
2892:
2792:
2092:
1930:
1781:
1700:
1494:
105:
3870:
3553:
2958:
2787:
2065:
1685:
1479:
1267:
100:. It does not work well on continuous-tone images (which use very many colours) such as photographs, although
4017:
3679:
3065:
3051:
2504:
2162:
1198:
680:
3045:
2498:
1827:
4013:
3615:
3536:
3246:
2953:
2943:
2852:
2715:
2390:
2312:
2245:
2216:
2186:
2152:
2055:
1597:
1155:
969:
700:
3123:
1145:
1140:
50:
3996:
3971:
3461:
3098:
2905:
2357:
2087:
2014:
1852:
1832:
1776:
1434:
1225:
1028:
741:
Robinson, A. H.; Cherry, C. (1967). "Results of a prototype television bandwidth compression scheme".
4037:
3946:
3476:
3400:
3319:
2554:
2097:
2038:
1964:
1812:
1402:
1397:
1252:
1095:
34:
3907:
3860:
3694:
3648:
3510:
3446:
3183:
2584:
2102:
1675:
1469:
1170:
3853:
3820:
3736:
3674:
3643:
3203:
2963:
2043:
1414:
1301:
1257:
1070:
1053:
1043:
743:
140:
64:; it is a run-length encoded bitmap, and the format was used for the Windows 3.x startup screen.
2452:
774:
3951:
3684:
3531:
3158:
2395:
2336:
2324:
2178:
1668:
1419:
1203:
1048:
1940:
3914:
3758:
3548:
2767:
2745:
2723:
2385:
2072:
873:
665:
3887:
3574:
2735:
2666:
2534:
1756:
1218:
1180:
1001:
856:
156:
8:
3875:
3543:
3335:
3241:
3188:
2900:
2695:
2671:
2619:
2375:
2278:
2225:
1987:
1878:
1822:
1791:
1786:
1695:
1602:
1535:
1504:
1489:
81:
564:
in the blank space, and many short runs of black pixels within the text. A hypothetical
3966:
3481:
3466:
3006:
2978:
2661:
2624:
2060:
2030:
2009:
1915:
1847:
1741:
1429:
1245:
1235:
1130:
1110:
1105:
690:
685:
660:
20:
3924:
2825:
1641:
434:>>> "".join(rle_decode("A4B3C2D1A2", length_first=False))
3892:
3843:
3295:
3138:
2728:
2579:
2253:
2004:
1992:
1974:
1842:
1726:
1663:
1509:
1424:
1380:
1341:
1023:
721:
568:, with B representing a black pixel and W representing white, might read as follows:
824:
277:# using zip() to wrap the input with 1-tuples which compress() reads as true values.
3941:
3838:
3830:
3716:
3669:
3597:
3564:
2777:
2443:
2295:
2263:
2212:
1979:
1935:
1908:
1903:
1761:
1746:
1656:
1565:
1560:
1389:
1122:
1100:
992:
756:
954:
smallest possible implementation (about 20 SLoC) in ANSI C. FOSS, compatible with
49:
for compressing black and white images, that was widely supplanted by their later
3919:
3711:
2820:
2797:
1898:
1712:
1636:
1617:
1587:
1555:
1521:
1080:
1018:
3281:
4001:
3848:
3689:
3558:
2651:
1690:
1484:
1213:
1208:
1065:
1038:
1010:
955:
864:
829:
801:
796:
716:
112:
89:
85:
45:
RLE may also refer in particular to an early graphics file format supported by
4031:
3897:
3704:
3198:
2996:
2762:
2646:
2290:
1997:
1945:
1612:
1607:
1582:
1514:
1135:
1033:
941:
675:
3261:
3721:
3486:
3276:
3271:
3128:
3103:
2599:
2118:
1085:
1060:
961:
945:
760:
695:
3785:
3726:
3664:
3266:
3029:
3024:
2609:
2529:
2258:
2077:
1955:
1751:
1627:
1577:
711:
57:
3699:
3592:
3001:
2772:
2641:
2604:
2539:
2423:
2300:
2209:
2134:
1925:
1920:
1807:
1766:
1572:
93:
46:
3768:
3370:
3173:
3153:
2973:
2968:
2631:
2589:
703:, which uses run-length-encoding for empty spaces in chess positions.
565:
894:
573:
WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWBWWWWWWWWWWWWWW
3746:
3625:
3256:
3148:
2574:
2428:
2048:
1893:
1550:
120:
116:
942:
Run-length encoding implemented in different programming languages
428:>>> "".join(rle_decode("4A3B2C1D2A"))
204:
Count the number of consecutive repeating characters (run length).
3961:
3902:
3815:
3569:
3456:
3415:
3410:
3395:
3390:
3385:
3380:
3375:
3236:
3178:
3118:
2882:
2862:
2847:
2636:
2564:
2544:
1817:
1291:
1240:
706:
596:
77:
2208:
951:
343:
For each count-character pair, repeat the character count times.
84:-based bitmap images (which use relatively few colours) such as
3763:
3221:
2915:
2755:
2676:
2656:
2594:
2331:
2307:
2285:
2273:
2268:
1331:
268:>>> ilen(x for x in range(1000000) if x % 3 == 0)
104:
uses it on the coefficients that remain after transforming and
73:
3810:
3741:
3584:
3360:
3323:
3208:
2910:
2877:
2872:
2867:
2857:
2842:
2837:
2832:
2815:
2807:
2569:
2549:
2380:
2370:
2365:
2353:
2341:
2166:
1771:
1364:
1311:
591:
561:
3751:
3496:
3451:
3441:
3431:
3405:
3365:
3355:
3251:
3193:
3113:
3076:
3071:
2988:
2930:
2920:
2681:
2559:
2433:
2413:
1321:
1175:
1160:
1150:
752:
600:
128:
101:
135:
also describes a standard to encode run-length colour for
3790:
3778:
3620:
3436:
3340:
3143:
2740:
2482:
2477:
2472:
2467:
2462:
2457:
1296:
1262:
136:
124:
97:
797:"Method and system for data compression and restoration"
96:
before the advent of more sophisticated formats such as
896:
Recommendation T.45 (02/00): Run-length colour encoding
88:, and was a popular image compression method on early
159:
111:Common formats for run-length encoded data include
174:
56:RLE also refers to a little-used image format in
4029:
919:
917:
740:
2194:
977:
958:, supports 8, 16, 24 and 32 bit elements too.
914:
346:Append these characters to the result string.
991:
67:
2201:
2187:
984:
970:
350:
952:Single Header Run-Length Encoding Library
845:
777:. Internet FAQ Consortium. 21 March 1996
211:
734:
265:Return the number of items in iterable.
207:Store the character and its run length.
4030:
60:that is saved with the file extension
2182:
965:
925:"more-itertools 10.4.0 documentation"
901:International Telecommunication Union
331:
191:
133:International Telecommunication Union
80:. RLE is particularly well suited to
851:
671:Comparison of graphics file formats
13:
3992:Comparison of audio coding formats
887:
14:
4054:
935:
16:Form of lossless data compression
2158:
2157:
2148:
2147:
4043:Lossless compression algorithms
188:is the size of the input data.
3554:ISO/IEC base media file format
817:
789:
767:
169:
163:
151:RLE has a space complexity of
1:
775:"Run Length Encoding Patents"
727:
217:Imports and helper functions
146:
7:
654:
636:
51:Graphics Interchange Format
10:
4059:
3997:Comparison of video codecs
2507:(GB/T 33475.2,GY/T 299.1)
2039:Compressed data structures
1361:RLE + BWT + MTF + Huffman
1029:Asymmetric numeral systems
555:
340:Traverse the encoded data.
18:
4010:
3984:
3829:
3803:
3657:
3634:
3606:
3583:
3518:
3509:
3424:
3305:
3294:
3086:
3038:
3015:
2987:
2929:
2891:
2806:
2705:
2694:
2522:
2491:
2442:
2404:
2352:
2235:
2224:
2143:
2127:
2111:
2029:
1954:
1886:
1877:
1800:
1734:
1725:
1626:
1543:
1534:
1450:
1398:Discrete cosine transform
1388:
1379:
1328:LZ77 + Huffman + context
1281:
1191:
1121:
1009:
1000:
681:Burrows–Wheeler transform
35:lossless data compression
2103:Smallest grammar problem
701:Forsyth–Edwards Notation
389:
359:
322:
220:
201:Traverse the input data.
68:History and applications
19:Not to be confused with
3821:Alliance for Open Media
2044:Compressed suffix array
1593:Nyquist–Shannon theorem
857:"Smile! You're on RLE!"
825:"Data recording method"
744:Proceedings of the IEEE
141:Modified Huffman coding
2741:MPEG-1 Layer III (MP3)
761:10.1109/PROC.1967.5493
437:'AAAABBBCCDAA'
431:'AAAABBBCCDAA'
176:
3759:QuickTime File Format
2073:Kolmogorov complexity
1941:Video characteristics
1318:LZ77 + Huffman + ANS
874:Transactor Publishing
666:Look-and-say sequence
616:WW12BWW12BB3WW24BWW14
351:Python implementation
212:Python implementation
177:
4018:Compression software
3575:MPEG media transport
2652:Sorenson Video/Spark
2163:Compression software
1757:Compression artifact
1713:Psychoacoustic model
175:{\displaystyle O(n)}
157:
4016:for techniques and
4014:Compression methods
2510:HDR Vivid(GY/T 358)
2153:Compression formats
1792:Texture compression
1787:Standard test image
1603:Silence compression
629:" and the numbers (
583:12W1B12W3B24W1B14W
119:(by Apple, used in
27:Run-length encoding
2061:Information theory
1916:Display resolution
1742:Chroma subsampling
1131:Byte pair encoding
1076:Shannon–Fano–Elias
691:Run-length limited
686:Recursive indexing
661:Kolakoski sequence
440:"""
425:"""
332:Decoding algorithm
274:"""
262:"""
192:Encoding algorithm
172:
21:run-length limited
4025:
4024:
3799:
3798:
3717:DivX Media Format
3505:
3504:
3290:
3289:
2690:
2689:
2580:Microsoft Video 1
2515:AVS3 P2(GY/T 368)
2501:(GB/T 20090.2/16)
2176:
2175:
2025:
2024:
1975:Deblocking filter
1873:
1872:
1721:
1720:
1530:
1529:
1375:
1374:
853:Dunn, Christopher
722:Arithmetic coding
4050:
4038:Data compression
3791:VOB, IFO and BUP
3565:Motion JPEG 2000
3516:
3515:
3303:
3302:
3262:aptX Low Latency
3039:Chinese Standard
2703:
2702:
2492:Chinese Standard
2264:Motion JPEG 2000
2233:
2232:
2203:
2196:
2189:
2180:
2179:
2161:
2160:
2151:
2150:
1980:Lapped transform
1884:
1883:
1762:Image resolution
1747:Coding tree unit
1732:
1731:
1541:
1540:
1386:
1385:
1007:
1006:
993:Data compression
986:
979:
972:
963:
962:
929:
928:
921:
912:
911:
909:
908:
891:
885:
884:
882:
881:
861:
849:
843:
842:
840:
838:
821:
815:
814:
812:
810:
793:
787:
786:
784:
782:
771:
765:
764:
738:
632:
628:
617:
606:
584:
574:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
411:
408:
405:
402:
399:
396:
393:
384:
381:
378:
375:
372:
369:
366:
363:
317:
314:
311:
308:
305:
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
245:
242:
239:
236:
233:
230:
227:
224:
187:
183:
181:
179:
178:
173:
63:
4058:
4057:
4053:
4052:
4051:
4049:
4048:
4047:
4028:
4027:
4026:
4021:
4006:
3980:
3825:
3795:
3653:
3630:
3602:
3579:
3501:
3420:
3318:
3297:
3286:
3082:
3054:(GB/T 33475.3)
3048:(GB/T 20090.10)
3034:
3011:
2983:
2925:
2887:
2802:
2798:MPEG-H 3D Audio
2724:MPEG-1 Layer II
2714:
2697:
2686:
2518:
2487:
2438:
2400:
2348:
2244:
2227:
2220:
2207:
2177:
2172:
2139:
2123:
2107:
2088:Rate–distortion
2021:
1950:
1869:
1796:
1717:
1622:
1618:Sub-band coding
1526:
1451:Predictive type
1446:
1371:
1338:LZSS + Huffman
1288:LZ77 + Huffman
1277:
1187:
1123:Dictionary type
1117:
1019:Adaptive coding
996:
990:
938:
933:
932:
923:
922:
915:
906:
904:
893:
892:
888:
879:
877:
859:
850:
846:
836:
834:
833:. 8 August 1983
823:
822:
818:
808:
806:
805:. 7 August 1984
795:
794:
790:
780:
778:
773:
772:
768:
739:
735:
730:
657:
639:
630:
626:
615:
604:
588:
582:
572:
558:
551:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
409:
406:
403:
400:
397:
394:
391:
388:
387:
386:
385:
382:
379:
376:
373:
370:
367:
364:
361:
357:
353:
334:
327:
326:
321:
320:
319:
318:
315:
312:
309:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
276:
273:
270:
267:
264:
261:
258:
255:
252:
249:
246:
243:
240:
237:
234:
231:
228:
225:
222:
218:
214:
194:
185:
158:
155:
154:
152:
149:
90:online services
70:
61:
33:) is a form of
24:
17:
12:
11:
5:
4056:
4046:
4045:
4040:
4023:
4022:
4011:
4008:
4007:
4005:
4004:
4002:List of codecs
3999:
3994:
3988:
3986:
3982:
3981:
3979:
3978:
3977:
3976:
3975:
3974:
3969:
3959:
3954:
3949:
3939:
3938:
3937:
3932:
3927:
3922:
3912:
3911:
3910:
3905:
3895:
3890:
3885:
3884:
3883:
3878:
3873:
3868:
3858:
3857:
3856:
3851:
3846:
3835:
3833:
3827:
3826:
3824:
3823:
3818:
3813:
3807:
3805:
3804:Collaborations
3801:
3800:
3797:
3796:
3794:
3793:
3788:
3783:
3782:
3781:
3771:
3766:
3761:
3756:
3755:
3754:
3744:
3739:
3734:
3729:
3724:
3719:
3714:
3709:
3708:
3707:
3697:
3692:
3687:
3682:
3677:
3672:
3667:
3661:
3659:
3655:
3654:
3652:
3651:
3646:
3640:
3638:
3632:
3631:
3629:
3628:
3623:
3618:
3612:
3610:
3604:
3603:
3601:
3600:
3595:
3589:
3587:
3581:
3580:
3578:
3577:
3572:
3570:MPEG-21 Part 9
3567:
3562:
3559:MPEG-4 Part 14
3556:
3551:
3546:
3541:
3540:
3539:
3528:
3526:
3513:
3507:
3506:
3503:
3502:
3500:
3499:
3494:
3489:
3484:
3479:
3474:
3469:
3464:
3459:
3454:
3449:
3444:
3439:
3434:
3428:
3426:
3422:
3421:
3419:
3418:
3413:
3408:
3403:
3398:
3393:
3388:
3383:
3378:
3373:
3368:
3363:
3358:
3353:
3348:
3343:
3338:
3332:
3330:
3300:
3292:
3291:
3288:
3287:
3285:
3284:
3279:
3274:
3269:
3264:
3259:
3254:
3249:
3244:
3239:
3234:
3229:
3224:
3219:
3218:
3217:
3211:
3206:
3201:
3196:
3191:
3186:
3181:
3176:
3171:
3166:
3161:
3156:
3151:
3146:
3141:
3139:Monkey's Audio
3136:
3131:
3126:
3121:
3116:
3111:
3106:
3101:
3096:
3090:
3088:
3084:
3083:
3081:
3080:
3079:(SJ/T 11299.4)
3074:
3069:
3063:
3062:
3061:
3049:
3042:
3040:
3036:
3035:
3033:
3032:
3027:
3021:
3019:
3013:
3012:
3010:
3009:
3004:
2999:
2993:
2991:
2985:
2984:
2982:
2981:
2976:
2971:
2966:
2961:
2956:
2951:
2946:
2941:
2935:
2933:
2927:
2926:
2924:
2923:
2918:
2913:
2908:
2903:
2897:
2895:
2889:
2888:
2886:
2885:
2880:
2875:
2870:
2865:
2860:
2855:
2850:
2845:
2840:
2835:
2830:
2829:
2828:
2823:
2812:
2810:
2804:
2803:
2801:
2800:
2795:
2790:
2785:
2780:
2775:
2770:
2765:
2760:
2759:
2758:
2753:
2743:
2738:
2736:MPEG-1 Layer I
2733:
2732:
2731:
2720:
2718:
2700:
2692:
2691:
2688:
2687:
2685:
2684:
2679:
2674:
2669:
2664:
2659:
2654:
2649:
2644:
2639:
2634:
2629:
2628:
2627:
2622:
2614:
2613:
2612:
2607:
2597:
2592:
2587:
2582:
2577:
2572:
2567:
2562:
2557:
2552:
2547:
2542:
2537:
2532:
2526:
2524:
2520:
2519:
2517:
2516:
2513:
2512:
2511:
2502:
2495:
2493:
2489:
2488:
2486:
2485:
2480:
2475:
2470:
2465:
2460:
2455:
2449:
2447:
2440:
2439:
2437:
2436:
2431:
2426:
2421:
2416:
2410:
2408:
2402:
2401:
2399:
2398:
2393:
2388:
2383:
2378:
2373:
2368:
2362:
2360:
2350:
2349:
2347:
2346:
2345:
2344:
2342:Part 2 / LCEVC
2339:
2329:
2328:
2327:
2317:
2316:
2315:
2305:
2304:
2303:
2298:
2293:
2283:
2282:
2281:
2271:
2266:
2261:
2256:
2250:
2248:
2230:
2222:
2221:
2206:
2205:
2198:
2191:
2183:
2174:
2173:
2171:
2170:
2155:
2144:
2141:
2140:
2138:
2137:
2131:
2129:
2125:
2124:
2122:
2121:
2115:
2113:
2109:
2108:
2106:
2105:
2100:
2095:
2090:
2085:
2080:
2075:
2070:
2069:
2068:
2058:
2053:
2052:
2051:
2046:
2035:
2033:
2027:
2026:
2023:
2022:
2020:
2019:
2018:
2017:
2012:
2002:
2001:
2000:
1995:
1990:
1982:
1977:
1972:
1967:
1961:
1959:
1952:
1951:
1949:
1948:
1943:
1938:
1933:
1928:
1923:
1918:
1913:
1912:
1911:
1906:
1901:
1890:
1888:
1881:
1875:
1874:
1871:
1870:
1868:
1867:
1866:
1865:
1860:
1855:
1850:
1840:
1835:
1830:
1825:
1820:
1815:
1810:
1804:
1802:
1798:
1797:
1795:
1794:
1789:
1784:
1779:
1774:
1769:
1764:
1759:
1754:
1749:
1744:
1738:
1736:
1729:
1723:
1722:
1719:
1718:
1716:
1715:
1710:
1705:
1704:
1703:
1698:
1693:
1688:
1683:
1673:
1672:
1671:
1661:
1660:
1659:
1654:
1644:
1639:
1633:
1631:
1624:
1623:
1621:
1620:
1615:
1610:
1605:
1600:
1595:
1590:
1585:
1580:
1575:
1570:
1569:
1568:
1563:
1558:
1547:
1545:
1538:
1532:
1531:
1528:
1527:
1525:
1524:
1522:Psychoacoustic
1519:
1518:
1517:
1512:
1507:
1499:
1498:
1497:
1492:
1487:
1482:
1477:
1467:
1466:
1465:
1454:
1452:
1448:
1447:
1445:
1444:
1443:
1442:
1437:
1432:
1422:
1417:
1412:
1411:
1410:
1405:
1394:
1392:
1390:Transform type
1383:
1377:
1376:
1373:
1372:
1370:
1369:
1368:
1367:
1359:
1358:
1357:
1354:
1346:
1345:
1344:
1336:
1335:
1334:
1326:
1325:
1324:
1316:
1315:
1314:
1306:
1305:
1304:
1299:
1294:
1285:
1283:
1279:
1278:
1276:
1275:
1270:
1265:
1260:
1255:
1250:
1249:
1248:
1243:
1233:
1228:
1223:
1222:
1221:
1211:
1206:
1201:
1195:
1193:
1189:
1188:
1186:
1185:
1184:
1183:
1178:
1173:
1168:
1163:
1158:
1153:
1148:
1143:
1133:
1127:
1125:
1119:
1118:
1116:
1115:
1114:
1113:
1108:
1103:
1098:
1088:
1083:
1078:
1073:
1068:
1063:
1058:
1057:
1056:
1051:
1046:
1036:
1031:
1026:
1021:
1015:
1013:
1004:
998:
997:
989:
988:
981:
974:
966:
960:
959:
956:Truevision TGA
949:
937:
936:External links
934:
931:
930:
927:. August 2024.
913:
886:
865:The Transactor
844:
830:Google Patents
816:
802:Google Patents
788:
766:
732:
731:
729:
726:
725:
724:
719:
717:Huffman coding
714:
709:
704:
698:
693:
688:
683:
678:
673:
668:
663:
656:
653:
652:
651:
648:
644:
638:
635:
619:
618:
586:
585:
576:
575:
557:
554:
390:
360:
358:
355:
354:
352:
349:
348:
347:
344:
341:
333:
330:
323:
221:
219:
216:
215:
213:
210:
209:
208:
205:
202:
193:
190:
171:
168:
165:
162:
148:
145:
113:Truevision TGA
108:image blocks.
86:computer icons
69:
66:
15:
9:
6:
4:
3:
2:
4055:
4044:
4041:
4039:
4036:
4035:
4033:
4019:
4015:
4009:
4003:
4000:
3998:
3995:
3993:
3990:
3989:
3987:
3983:
3973:
3970:
3968:
3965:
3964:
3963:
3960:
3958:
3955:
3953:
3950:
3948:
3945:
3944:
3943:
3940:
3936:
3933:
3931:
3928:
3926:
3923:
3921:
3918:
3917:
3916:
3913:
3909:
3906:
3904:
3901:
3900:
3899:
3896:
3894:
3891:
3889:
3886:
3882:
3879:
3877:
3874:
3872:
3869:
3867:
3864:
3863:
3862:
3859:
3855:
3852:
3850:
3847:
3845:
3842:
3841:
3840:
3837:
3836:
3834:
3832:
3828:
3822:
3819:
3817:
3814:
3812:
3809:
3808:
3806:
3802:
3792:
3789:
3787:
3784:
3780:
3777:
3776:
3775:
3772:
3770:
3767:
3765:
3762:
3760:
3757:
3753:
3750:
3749:
3748:
3745:
3743:
3740:
3738:
3735:
3733:
3730:
3728:
3725:
3723:
3720:
3718:
3715:
3713:
3710:
3706:
3703:
3702:
3701:
3698:
3696:
3693:
3691:
3688:
3686:
3683:
3681:
3678:
3676:
3673:
3671:
3668:
3666:
3663:
3662:
3660:
3656:
3650:
3647:
3645:
3642:
3641:
3639:
3637:
3633:
3627:
3624:
3622:
3619:
3617:
3614:
3613:
3611:
3609:
3605:
3599:
3596:
3594:
3591:
3590:
3588:
3586:
3582:
3576:
3573:
3571:
3568:
3566:
3563:
3560:
3557:
3555:
3552:
3550:
3547:
3545:
3542:
3538:
3535:
3534:
3533:
3530:
3529:
3527:
3525:
3521:
3517:
3514:
3512:
3508:
3498:
3495:
3493:
3490:
3488:
3485:
3483:
3480:
3478:
3475:
3473:
3470:
3468:
3465:
3463:
3460:
3458:
3455:
3453:
3450:
3448:
3445:
3443:
3440:
3438:
3435:
3433:
3430:
3429:
3427:
3423:
3417:
3414:
3412:
3409:
3407:
3404:
3402:
3399:
3397:
3394:
3392:
3389:
3387:
3384:
3382:
3379:
3377:
3374:
3372:
3369:
3367:
3364:
3362:
3359:
3357:
3354:
3352:
3349:
3347:
3344:
3342:
3339:
3337:
3336:CCITT Group 4
3334:
3333:
3331:
3329:
3325:
3321:
3316:
3312:
3308:
3304:
3301:
3299:
3293:
3283:
3280:
3278:
3275:
3273:
3270:
3268:
3267:aptX Adaptive
3265:
3263:
3260:
3258:
3255:
3253:
3250:
3248:
3245:
3243:
3240:
3238:
3235:
3233:
3230:
3228:
3225:
3223:
3220:
3215:
3214:
3212:
3210:
3207:
3205:
3202:
3200:
3197:
3195:
3192:
3190:
3187:
3185:
3182:
3180:
3177:
3175:
3172:
3170:
3167:
3165:
3162:
3160:
3157:
3155:
3152:
3150:
3147:
3145:
3142:
3140:
3137:
3135:
3132:
3130:
3127:
3125:
3122:
3120:
3117:
3115:
3112:
3110:
3107:
3105:
3102:
3100:
3097:
3095:
3092:
3091:
3089:
3085:
3078:
3075:
3073:
3070:
3067:
3064:
3059:
3056:
3055:
3053:
3050:
3047:
3044:
3043:
3041:
3037:
3031:
3028:
3026:
3023:
3022:
3020:
3018:
3017:Bluetooth SIG
3014:
3008:
3005:
3003:
3000:
2998:
2995:
2994:
2992:
2990:
2986:
2980:
2977:
2975:
2972:
2970:
2967:
2965:
2962:
2960:
2957:
2955:
2952:
2950:
2947:
2945:
2942:
2940:
2937:
2936:
2934:
2932:
2928:
2922:
2919:
2917:
2914:
2912:
2909:
2907:
2904:
2902:
2899:
2898:
2896:
2894:
2890:
2884:
2881:
2879:
2876:
2874:
2871:
2869:
2866:
2864:
2861:
2859:
2856:
2854:
2851:
2849:
2846:
2844:
2841:
2839:
2836:
2834:
2831:
2827:
2824:
2822:
2819:
2818:
2817:
2814:
2813:
2811:
2809:
2805:
2799:
2796:
2794:
2791:
2789:
2786:
2784:
2781:
2779:
2776:
2774:
2771:
2769:
2766:
2764:
2763:MPEG Surround
2761:
2757:
2754:
2752:
2749:
2748:
2747:
2744:
2742:
2739:
2737:
2734:
2730:
2727:
2726:
2725:
2722:
2721:
2719:
2717:
2712:
2708:
2704:
2701:
2699:
2693:
2683:
2680:
2678:
2675:
2673:
2670:
2668:
2665:
2663:
2660:
2658:
2655:
2653:
2650:
2648:
2645:
2643:
2640:
2638:
2635:
2633:
2630:
2626:
2623:
2621:
2618:
2617:
2615:
2611:
2608:
2606:
2603:
2602:
2601:
2598:
2596:
2593:
2591:
2588:
2586:
2583:
2581:
2578:
2576:
2573:
2571:
2568:
2566:
2563:
2561:
2558:
2556:
2553:
2551:
2548:
2546:
2543:
2541:
2538:
2536:
2533:
2531:
2528:
2527:
2525:
2521:
2514:
2509:
2508:
2506:
2503:
2500:
2497:
2496:
2494:
2490:
2484:
2481:
2479:
2476:
2474:
2471:
2469:
2466:
2464:
2461:
2459:
2456:
2454:
2451:
2450:
2448:
2445:
2441:
2435:
2432:
2430:
2427:
2425:
2422:
2420:
2417:
2415:
2412:
2411:
2409:
2407:
2403:
2397:
2394:
2392:
2389:
2387:
2384:
2382:
2379:
2377:
2374:
2372:
2369:
2367:
2364:
2363:
2361:
2359:
2355:
2351:
2343:
2340:
2338:
2335:
2334:
2333:
2330:
2326:
2323:
2322:
2321:
2318:
2314:
2313:Part 2 / HEVC
2311:
2310:
2309:
2306:
2302:
2301:Part 33 / IVC
2299:
2297:
2296:Part 10 / AVC
2294:
2292:
2289:
2288:
2287:
2284:
2280:
2277:
2276:
2275:
2272:
2270:
2267:
2265:
2262:
2260:
2257:
2255:
2252:
2251:
2249:
2247:
2242:
2238:
2234:
2231:
2229:
2223:
2218:
2214:
2211:
2204:
2199:
2197:
2192:
2190:
2185:
2184:
2181:
2168:
2164:
2156:
2154:
2146:
2145:
2142:
2136:
2133:
2132:
2130:
2126:
2120:
2117:
2116:
2114:
2110:
2104:
2101:
2099:
2096:
2094:
2091:
2089:
2086:
2084:
2081:
2079:
2076:
2074:
2071:
2067:
2064:
2063:
2062:
2059:
2057:
2054:
2050:
2047:
2045:
2042:
2041:
2040:
2037:
2036:
2034:
2032:
2028:
2016:
2013:
2011:
2008:
2007:
2006:
2003:
1999:
1996:
1994:
1991:
1989:
1986:
1985:
1983:
1981:
1978:
1976:
1973:
1971:
1968:
1966:
1963:
1962:
1960:
1957:
1953:
1947:
1946:Video quality
1944:
1942:
1939:
1937:
1934:
1932:
1929:
1927:
1924:
1922:
1919:
1917:
1914:
1910:
1907:
1905:
1902:
1900:
1897:
1896:
1895:
1892:
1891:
1889:
1885:
1882:
1880:
1876:
1864:
1861:
1859:
1856:
1854:
1851:
1849:
1846:
1845:
1844:
1841:
1839:
1836:
1834:
1831:
1829:
1826:
1824:
1821:
1819:
1816:
1814:
1811:
1809:
1806:
1805:
1803:
1799:
1793:
1790:
1788:
1785:
1783:
1780:
1778:
1775:
1773:
1770:
1768:
1765:
1763:
1760:
1758:
1755:
1753:
1750:
1748:
1745:
1743:
1740:
1739:
1737:
1733:
1730:
1728:
1724:
1714:
1711:
1709:
1706:
1702:
1699:
1697:
1694:
1692:
1689:
1687:
1684:
1682:
1679:
1678:
1677:
1674:
1670:
1667:
1666:
1665:
1662:
1658:
1655:
1653:
1650:
1649:
1648:
1645:
1643:
1640:
1638:
1635:
1634:
1632:
1629:
1625:
1619:
1616:
1614:
1613:Speech coding
1611:
1609:
1608:Sound quality
1606:
1604:
1601:
1599:
1596:
1594:
1591:
1589:
1586:
1584:
1583:Dynamic range
1581:
1579:
1576:
1574:
1571:
1567:
1564:
1562:
1559:
1557:
1554:
1553:
1552:
1549:
1548:
1546:
1542:
1539:
1537:
1533:
1523:
1520:
1516:
1513:
1511:
1508:
1506:
1503:
1502:
1500:
1496:
1493:
1491:
1488:
1486:
1483:
1481:
1478:
1476:
1473:
1472:
1471:
1468:
1464:
1461:
1460:
1459:
1456:
1455:
1453:
1449:
1441:
1438:
1436:
1433:
1431:
1428:
1427:
1426:
1423:
1421:
1418:
1416:
1413:
1409:
1406:
1404:
1401:
1400:
1399:
1396:
1395:
1393:
1391:
1387:
1384:
1382:
1378:
1366:
1363:
1362:
1360:
1355:
1353:
1350:
1349:
1348:LZ77 + Range
1347:
1343:
1340:
1339:
1337:
1333:
1330:
1329:
1327:
1323:
1320:
1319:
1317:
1313:
1310:
1309:
1307:
1303:
1300:
1298:
1295:
1293:
1290:
1289:
1287:
1286:
1284:
1280:
1274:
1271:
1269:
1266:
1264:
1261:
1259:
1256:
1254:
1251:
1247:
1244:
1242:
1239:
1238:
1237:
1234:
1232:
1229:
1227:
1224:
1220:
1217:
1216:
1215:
1212:
1210:
1207:
1205:
1202:
1200:
1197:
1196:
1194:
1190:
1182:
1179:
1177:
1174:
1172:
1169:
1167:
1164:
1162:
1159:
1157:
1154:
1152:
1149:
1147:
1144:
1142:
1139:
1138:
1137:
1134:
1132:
1129:
1128:
1126:
1124:
1120:
1112:
1109:
1107:
1104:
1102:
1099:
1097:
1094:
1093:
1092:
1089:
1087:
1084:
1082:
1079:
1077:
1074:
1072:
1069:
1067:
1064:
1062:
1059:
1055:
1052:
1050:
1047:
1045:
1042:
1041:
1040:
1037:
1035:
1032:
1030:
1027:
1025:
1022:
1020:
1017:
1016:
1014:
1012:
1008:
1005:
1003:
999:
994:
987:
982:
980:
975:
973:
968:
967:
964:
957:
953:
950:
947:
943:
940:
939:
926:
920:
918:
902:
898:
897:
890:
875:
871:
867:
866:
858:
854:
848:
832:
831:
826:
820:
804:
803:
798:
792:
776:
770:
762:
758:
754:
750:
746:
745:
737:
733:
723:
720:
718:
715:
713:
710:
708:
705:
702:
699:
697:
694:
692:
689:
687:
684:
682:
679:
677:
676:Golomb coding
674:
672:
669:
667:
664:
662:
659:
658:
649:
645:
641:
640:
634:
631:12,12,3,24,14
622:
614:
613:
612:
608:
602:
598:
593:
581:
580:
579:
571:
570:
569:
567:
563:
553:
452:from_iterable
345:
342:
339:
338:
337:
329:
206:
203:
200:
199:
198:
189:
166:
160:
144:
142:
138:
134:
130:
126:
122:
118:
114:
109:
107:
103:
99:
95:
91:
87:
83:
79:
75:
65:
59:
54:
52:
48:
43:
40:
36:
32:
28:
22:
3068:(GB/T 22726)
2729:Multichannel
2585:MSU Lossless
2499:AVS1 P2/AVS+
2453:TrueMotion S
2391:H.265 / HEVC
2337:Part 1 / EVC
2325:Part 3 / VVC
2291:Part 2 / ASP
2119:Hutter Prize
2083:Quantization
1988:Compensation
1837:
1782:Quantization
1505:Compensation
1272:
1071:Shannon–Fano
1011:Entropy type
946:Rosetta Code
905:. Retrieved
895:
889:
878:. Retrieved
869:
863:
847:
835:. Retrieved
828:
819:
807:. Retrieved
800:
791:
779:. Retrieved
769:
748:
742:
736:
696:Bitmap index
627:WWBWWBBWWBWW
623:
620:
609:
605:BWWBWWBWWBWW
587:
577:
559:
552:
485:length_first
413:length_first
335:
328:
195:
150:
110:
71:
55:
44:
38:
30:
26:
25:
3786:MOD and TOD
3727:Flash Video
3665:3GP and 3G2
3346:HEIC / HEIF
3298:compression
3058:Audio Vivid
2793:MPEG-D USAC
2788:MPEG-4 CELP
2783:MPEG-4 HVXC
2698:compression
2530:Apple Video
2446:and AOMedia
2396:H.266 / VVC
2386:H.264 / AVC
2228:compression
2213:compression
2078:Prefix code
1931:Frame types
1752:Color space
1578:Convolution
1308:LZ77 + ANS
1219:Incremental
1192:Other types
1111:Levenshtein
755:: 356–364.
712:Convolution
58:Windows 3.x
4032:Categories
4020:for codecs
3967:Daubechies
3942:Transforms
3844:Arithmetic
3511:Containers
3216:True Audio
3060:(GY/T 363)
2778:MPEG-4 DST
2773:MPEG-4 SLS
2768:MPEG-4 ALS
2642:SheerVideo
2616:QuickTime
2444:TrueMotion
2210:Multimedia
2135:Mark Adler
2093:Redundancy
2010:Daubechies
1993:Estimation
1926:Frame rate
1848:Daubechies
1808:Chain code
1767:Macroblock
1573:Companding
1510:Estimation
1430:Daubechies
1136:Lempel–Ziv
1096:Exp-Golomb
1024:Arithmetic
907:2015-12-06
880:2015-12-06
728:References
599:often use
395:rle_decode
106:quantizing
94:CompuServe
47:CompuServe
3769:RealMedia
3371:JPEG 2000
3174:RealAudio
3154:OptimFROG
2632:RealVideo
2620:Animation
2590:OMS Video
2217:container
2112:Community
1936:Interlace
1322:Zstandard
1101:Fibonacci
1091:Universal
1049:Canonical
566:scan line
365:itertools
226:itertools
147:Algorithm
37:in which
3888:Lossless
3854:Modified
3747:Matroska
3626:Matroska
3537:MPEG-PES
3149:Musepack
3046:AVS1 P10
2625:Graphics
2575:Lagarith
2098:Symmetry
2066:Timeline
2049:FM-index
1894:Bit rate
1887:Concepts
1735:Concepts
1598:Sampling
1551:Bit rate
1544:Concepts
1246:Sequitur
1081:Tunstall
1054:Modified
1044:Adaptive
1002:Lossless
855:(1987).
655:See also
637:Variants
536:iterable
401:iterable
313:iterable
289:compress
256:iterable
238:compress
184:, where
121:MacPaint
117:PackBits
92:such as
74:patented
3962:Wavelet
3903:DEFLATE
3849:Huffman
3839:Entropy
3831:Methods
3816:MPEG LA
3705:Smacker
3593:H.222.0
3549:MPEG-TS
3544:MPEG-PS
3532:MPEG-ES
3416:TIFF/IT
3411:TIFF/EP
3396:JPEG XT
3391:JPEG XS
3386:JPEG XR
3381:JPEG XL
3376:JPEG-LS
3257:aptX HD
3237:WavPack
3179:RTAudio
3119:Codec 2
3052:AVS2 P3
2979:GSM-EFR
2949:AMR-WB+
2883:G.729.1
2863:G.723.1
2853:G.722.2
2848:G.722.1
2647:Smacker
2637:RTVideo
2565:Huffyuv
2545:Cinepak
2505:AVS2 P2
2219:formats
2056:Entropy
2005:Wavelet
1984:Motion
1843:Wavelet
1823:Fractal
1818:Deflate
1801:Methods
1588:Latency
1501:Motion
1425:Wavelet
1342:LHA/LZH
1292:Deflate
1241:Re-Pair
1236:Grammar
1066:Shannon
1039:Huffman
995:methods
876:: 16–18
837:14 July
809:14 July
781:14 July
707:DEFLATE
643:blocks.
597:DEFLATE
556:Example
530:batched
383:batched
356:Imports
244:groupby
182:
153:
131:. The
82:palette
78:Hitachi
53:(GIF).
3764:RatDVD
3658:Others
3425:Others
3227:VMR-WB
3222:TwinVQ
3087:Others
2974:GSM-FR
2969:GSM-HR
2959:EVRC-B
2944:AMR-WB
2916:Vorbis
2756:AAC-LD
2751:HE-AAC
2657:Theora
2600:ProRes
2595:Pixlet
2523:Others
2332:MPEG-5
2320:MPEG-I
2308:MPEG-H
2286:MPEG-4
2279:Part 2
2274:MPEG-2
2269:MPEG-1
2167:codecs
2128:People
2031:Theory
1998:Vector
1515:Vector
1332:Brotli
1282:Hybrid
1181:Snappy
1034:Golomb
903:. 2000
647:image.
562:pixels
491:repeat
458:repeat
443:return
377:repeat
368:import
295:repeat
280:return
271:333334
232:repeat
229:import
3985:Lists
3930:ADPCM
3925:µ-law
3920:A-law
3893:Lossy
3866:ACELP
3811:NETVC
3636:SMPTE
3598:T.802
3585:ITU-T
3561:(MP4)
3361:JBIG2
3324:ITU-T
3296:Image
3232:VSELP
3209:SVOPC
3199:Siren
3169:RCELP
3164:QCELP
3109:ATRAC
3094:ACELP
2911:Speex
2878:G.729
2873:G.728
2868:G.726
2858:G.723
2843:G.722
2838:G.719
2833:G.718
2826:µ-law
2821:A-law
2816:G.711
2808:ITU-T
2696:Audio
2570:Indeo
2550:Daala
2406:SMPTE
2381:H.263
2376:H.262
2371:H.261
2366:H.120
2354:ITU-T
2259:MJPEG
2226:Video
1958:parts
1956:Codec
1921:Frame
1879:Video
1863:SPIHT
1772:Pixel
1727:Image
1681:ACELP
1652:ADPCM
1642:ÎĽ-law
1637:A-law
1630:parts
1628:Codec
1536:Audio
1475:ACELP
1463:ADPCM
1440:SPIHT
1381:Lossy
1365:bzip2
1356:LZHAM
1312:LZFSE
1214:Delta
1106:Gamma
1086:Unary
1061:Range
872:(6).
860:(PDF)
751:(3).
592:ASCII
446:chain
371:chain
4012:See
3957:MDCT
3935:DPCM
3881:WLPC
3871:CELP
3774:RIFF
3752:WebM
3742:M2TS
3732:HEIF
3700:Bink
3680:AIFF
3608:IETF
3497:WebP
3492:WBMP
3487:QTVR
3467:ICER
3462:FLIF
3452:DjVu
3442:AVIF
3432:APNG
3406:TIFF
3366:JPEG
3356:JBIG
3351:HEVC
3328:JPEG
3315:IETF
3282:LLAC
3277:LHDC
3272:LDAC
3252:aptX
3213:TTA
3194:SILK
3134:MELP
3129:Lyra
3124:iSAC
3114:CELT
3104:Asao
3099:ALAC
3077:ExAC
3072:L2HC
3002:AC-4
2997:AC-3
2989:ETSI
2954:EVRC
2931:3GPP
2921:FLAC
2906:iLBC
2901:Opus
2893:IETF
2716:MPEG
2682:YULS
2662:Thor
2610:4444
2560:FFV1
2540:Bink
2434:VC-6
2429:VC-5
2424:VC-3
2419:VC-2
2414:VC-1
2358:VCEG
2246:MPEG
2215:and
1970:DPCM
1777:PSNR
1708:MDCT
1701:WLPC
1686:CELP
1647:DPCM
1495:WLPC
1480:CELP
1458:DPCM
1408:MDCT
1352:LZMA
1253:LDCT
1231:DPCM
1176:LZWL
1166:LZSS
1161:LZRW
1151:LZJB
944:(on
839:2019
811:2019
783:2019
753:IEEE
601:LZ77
488:else
419:True
362:from
250:ilen
223:from
129:ILBM
127:and
102:JPEG
39:runs
3972:DWT
3952:FFT
3947:DCT
3915:PCM
3908:LZW
3876:LSP
3861:LPC
3779:WAV
3737:IFF
3722:EVO
3712:BMP
3695:BPG
3685:AVI
3675:ASF
3670:AMV
3649:MXF
3644:GXF
3621:Ogg
3616:RTP
3524:IEC
3520:ISO
3482:QOI
3477:PGF
3472:MNG
3457:EXR
3447:BPG
3437:AV1
3401:PNG
3341:GIF
3320:W3C
3311:ISO
3307:IEC
3247:MQA
3242:WMA
3204:SMV
3189:SHN
3184:SD2
3159:OSQ
3144:MT9
3066:DRA
3030:LC3
3025:SBC
3007:DTS
2964:EVS
2939:AMR
2746:AAC
2711:IEC
2707:ISO
2677:XEB
2672:WMV
2605:422
2555:DVI
2535:AVS
2483:AV1
2478:VP9
2473:VP8
2468:VP7
2463:VP6
2458:VP3
2241:IEC
2237:ISO
2015:DWT
1965:DCT
1909:VBR
1904:CBR
1899:ABR
1858:EZW
1853:DWT
1838:RLE
1828:KLT
1813:DCT
1696:LSP
1691:LAR
1676:LPC
1669:FFT
1566:VBR
1561:CBR
1556:ABR
1490:LSP
1485:LAR
1470:LPC
1435:DWT
1420:FFT
1415:DST
1403:DCT
1302:LZS
1297:LZX
1273:RLE
1268:PPM
1263:PAQ
1258:MTF
1226:DMC
1204:CTW
1199:BWT
1171:LZW
1156:LZO
1146:LZ4
1141:842
757:doi
633:).
607:).
515:for
503:int
470:int
392:def
316:)))
307:zip
283:sum
247:def
137:fax
125:PCX
123:),
98:GIF
76:by
62:rle
31:RLE
4034::
3898:LZ
3690:AU
3522:,
3326:,
3322:,
3317:,
3313:,
3309:,
2709:,
2667:Ut
2356:,
2254:DV
2243:,
2239:,
1833:LP
1664:FT
1657:DM
1209:CM
916:^
899:.
868:.
862:.
827:.
799:.
749:55
747:.
527:in
512:))
482:if
479:))
422:):
304:),
259:):
115:,
2713:,
2202:e
2195:t
2188:v
2169:)
2165:(
985:e
978:t
971:v
948:)
910:.
883:.
870:7
841:.
813:.
785:.
763:.
759::
548:)
545:)
542:2
539:,
533:(
524:b
521:,
518:a
509:b
506:(
500:,
497:a
494:(
476:a
473:(
467:,
464:b
461:(
455:(
449:.
416:=
410:,
407:*
404:,
398:(
380:,
374:,
310:(
301:1
298:(
292:(
286:(
253:(
241:,
235:,
186:n
170:)
167:n
164:(
161:O
29:(
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.