亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bszlib.pas

?? BusinessSkinForm Ver3.95 full source_漢化版_最新
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{*******************************************************************}
{                                                                   }
{       Almediadev Visual Component Library                         }
{       BusinessSkinForm                                            }
{                                                                   }
{       Copyright (c) 2000-2004 Almediadev                          }
{       ALL RIGHTS RESERVED                                         }
{                                                                   }
{       Home:  http://www.almdev.com                                }
{       Support: support@almdev.com                                 }
{                                                                   }
{*******************************************************************}

{ Original:
  zlib.h -- interface of the 'zlib' general purpose compression library
  version 1.1.2, Mar, 1998

  Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

  Jean-loup Gailly        Mark Adler
  jloup@gzip.org          madler@alumni.caltech.edu


  The data format used by the zlib library is described by RFCs (Request for
  Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
  (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).

  Pascal tranlastion
  Copyright (C) 1998 by Jacques Nomssi Nzali
}

unit bszlib;

{$WARNINGS OFF}
{$HINTS OFF}
{$T-}
{$define patch112}        { apply patch from the zlib home page }
{$define ORG_DEBUG}
{$DEFINE MAX_MATCH_IS_258}

interface

type
  {Byte   = usigned char;  8 bits}
  Bytef  = byte;
  charf  = byte;

  int    = integer;

  intf   = int;
  uInt   = cardinal;     { 16 bits or more }
  uIntf  = uInt;

  Long   = longint;
  uLong  = LongInt;      { 32 bits or more }
  uLongf = uLong;

  voidp  = pointer;
  voidpf = voidp;
  pBytef = ^Bytef;
  pIntf  = ^intf;
  puIntf = ^uIntf;
  puLong = ^uLongf;

  ptr2int = uInt;
{ a pointer to integer casting is used to do pointer arithmetic.
  ptr2int must be an integer type and sizeof(ptr2int) must be less
  than sizeof(pointer) - Nomssi }

type
  zByteArray = array[0..(MaxInt div SizeOf(Bytef))-1] of Bytef;
  pzByteArray = ^zByteArray;
type
  zIntfArray = array[0..(MaxInt div SizeOf(Intf))-1] of Intf;
  pzIntfArray = ^zIntfArray;
type
  zuIntArray = array[0..(MaxInt div SizeOf(uInt))-1] of uInt;
  PuIntArray = ^zuIntArray;

{ Type declarations - only for deflate }

type
  uch  = Byte;
  uchf = uch; { FAR }
  ush  = Word;
  ushf = ush;
  ulg  = LongInt;

  unsigned = uInt;

  pcharf = ^charf;
  puchf = ^uchf;
  pushf = ^ushf;

type
  zuchfArray = zByteArray;
  puchfArray = ^zuchfArray;
type
  zushfArray = array[0..(MaxInt div SizeOf(ushf))-1] of ushf;
  pushfArray = ^zushfArray;

procedure zmemcpy(destp : pBytef; sourcep : pBytef; len : uInt);
function zmemcmp(s1p, s2p : pBytef; len : uInt) : int;
procedure zmemzero(destp : pBytef; len : uInt);
procedure zcfree(opaque : voidpf; ptr : voidpf);
function zcalloc (opaque : voidpf; items : uInt; size : uInt) : voidpf;


{ zlib.h }

{ Maximum value for memLevel in deflateInit2 }
const
  MAX_MEM_LEVEL = 9;
  DEF_MEM_LEVEL = 8; { if MAX_MEM_LEVEL > 8 }

{ Maximum value for windowBits in deflateInit2 and inflateInit2 }
const
  MAX_WBITS = 15; { 32K LZ77 window }
{ default windowBits for decompression. MAX_WBITS is for compression only }
const
  DEF_WBITS = MAX_WBITS;

{ The memory requirements for deflate are (in bytes):
            1 shl (windowBits+2)   +  1 shl (memLevel+9)
 that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
 plus a few kilobytes for small objects. For example, if you want to reduce
 the default memory requirements from 256K to 128K, compile with
     DMAX_WBITS=14 DMAX_MEM_LEVEL=7
 Of course this will generally degrade compression (there's no free lunch).

 The memory requirements for inflate are (in bytes) 1 shl windowBits
 that is, 32K for windowBits=15 (default value) plus a few kilobytes
 for small objects. }


{ Huffman code lookup table entry--this entry is four bytes for machines
  that have 16-bit pointers (e.g. PC's in the small or medium model). }

type
  pInflate_huft = ^inflate_huft;
  inflate_huft = Record
    Exop,             { number of extra bits or operation }
    bits : Byte;      { number of bits in this code or subcode }
    {pad : uInt;}       { pad structure to a power of 2 (4 bytes for }
                      {  16-bit, 8 bytes for 32-bit int's) }
    base : uInt;      { literal, length base, or distance base }
                      { or table offset }
  End;

type
  huft_field = Array[0..(MaxInt div SizeOf(inflate_huft))-1] of inflate_huft;
  huft_ptr = ^huft_field;
type
  ppInflate_huft = ^pInflate_huft;

type
  inflate_codes_mode = ( { waiting for "i:"=input, "o:"=output, "x:"=nothing }
        START,    { x: set up for LEN }
        LEN,      { i: get length/literal/eob next }
        LENEXT,   { i: getting length extra (have base) }
        DIST,     { i: get distance next }
        DISTEXT,  { i: getting distance extra }
        COPY,     { o: copying bytes in window, waiting for space }
        LIT,      { o: got literal, waiting for output space }
        WASH,     { o: got eob, possibly still output waiting }
        ZEND,     { x: got eob and all data flushed }
        BADCODE); { x: got error }

{ inflate codes private state }
type
  pInflate_codes_state = ^inflate_codes_state;
  inflate_codes_state = record

    mode : inflate_codes_mode;        { current inflate_codes mode }

    { mode dependent information }
    len : uInt;
    sub : record                      { submode }
      Case Byte of
      0:(code : record                { if LEN or DIST, where in tree }
          tree : pInflate_huft;       { pointer into tree }
          need : uInt;                { bits needed }
         end);
      1:(lit : uInt);                 { if LIT, literal }
      2:(copy: record                 { if EXT or COPY, where and how much }
           get : uInt;                { bits to get for extra }
           dist : uInt;               { distance back to copy from }
         end);
    end;

    { mode independent information }
    lbits : Byte;                     { ltree bits decoded per branch }
    dbits : Byte;                     { dtree bits decoder per branch }
    ltree : pInflate_huft;            { literal/length/eob tree }
    dtree : pInflate_huft;            { distance tree }
  end;

type
  check_func = function(check : uLong;
                        buf : pBytef;
                        {const buf : array of byte;}
	                len : uInt) : uLong;
type
  inflate_block_mode =
     (ZTYPE,    { get type bits (3, including end bit) }
      LENS,     { get lengths for stored }
      STORED,   { processing stored block }
      TABLE,    { get table lengths }
      BTREE,    { get bit lengths tree for a dynamic block }
      DTREE,    { get length, distance trees for a dynamic block }
      CODES,    { processing fixed or dynamic block }
      DRY,      { output remaining window bytes }
      BLKDONE,  { finished last block, done }
      BLKBAD);  { got a data error--stuck here }

type
  pInflate_blocks_state = ^inflate_blocks_state;

{ inflate blocks semi-private state }
  inflate_blocks_state = record

    mode : inflate_block_mode;     { current inflate_block mode }

    { mode dependent information }
    sub : record                  { submode }
    case Byte of
    0:(left : uInt);              { if STORED, bytes left to copy }
    1:(trees : record             { if DTREE, decoding info for trees }
        table : uInt;               { table lengths (14 bits) }
        index : uInt;               { index into blens (or border) }
        blens : PuIntArray;         { bit lengths of codes }
        bb : uInt;                  { bit length tree depth }
        tb : pInflate_huft;         { bit length decoding tree }
      end);
    2:(decode : record            { if CODES, current state }
        tl : pInflate_huft;
        td : pInflate_huft;         { trees to free }
        codes : pInflate_codes_state;
      end);
    end;
    last : boolean;               { true if this block is the last block }

    { mode independent information }
    bitk : uInt;            { bits in bit buffer }
    bitb : uLong;           { bit buffer }
    hufts : huft_ptr; {pInflate_huft;}  { single malloc for tree space }
    window : pBytef;        { sliding window }
    zend : pBytef;          { one byte after sliding window }
    read : pBytef;          { window read pointer }
    write : pBytef;         { window write pointer }
    checkfn : check_func;   { check function }
    check : uLong;          { check on output }
  end;

type
  inflate_mode = (
      METHOD,   { waiting for method byte }
      FLAG,     { waiting for flag byte }
      DICT4,    { four dictionary check bytes to go }
      DICT3,    { three dictionary check bytes to go }
      DICT2,    { two dictionary check bytes to go }
      DICT1,    { one dictionary check byte to go }
      DICT0,    { waiting for inflateSetDictionary }
      BLOCKS,   { decompressing blocks }
      CHECK4,   { four check bytes to go }
      CHECK3,   { three check bytes to go }
      CHECK2,   { two check bytes to go }
      CHECK1,   { one check byte to go }
      DONE,     { finished check, done }
      BAD);     { got an error--stay here }

{ inflate private state }
type
  pInternal_state = ^internal_state; { or point to a deflate_state record }
  internal_state = record

     mode : inflate_mode;  { current inflate mode }

     { mode dependent information }
     sub : record          { submode }
       case byte of
       0:(method : uInt);  { if FLAGS, method byte }
       1:(check : record   { if CHECK, check values to compare }
           was : uLong;        { computed check value }
           need : uLong;       { stream check value }
          end);
       2:(marker : uInt);  { if BAD, inflateSync's marker bytes count }
     end;

     { mode independent information }
     nowrap : boolean;      { flag for no wrapper }
     wbits : uInt;          { log2(window size)  (8..15, defaults to 15) }
     blocks : pInflate_blocks_state;    { current inflate_blocks state }
   end;

type
  alloc_func = function(opaque : voidpf; items : uInt; size : uInt) : voidpf;
  free_func = procedure(opaque : voidpf; address : voidpf);

type
  z_streamp = ^z_stream;
  z_stream = record
    next_in : pBytef;     { next input byte }
    avail_in : uInt;      { number of bytes available at next_in }
    total_in : uLong;     { total nb of input bytes read so far }

    next_out : pBytef;    { next output byte should be put there }
    avail_out : uInt;     { remaining free space at next_out }
    total_out : uLong;    { total nb of bytes output so far }

    msg : string;         { last error message, '' if no error }
    state : pInternal_state; { not visible by applications }

    zalloc : alloc_func;  { used to allocate the internal state }
    zfree : free_func;    { used to free the internal state }
    opaque : voidpf;      { private data object passed to zalloc and zfree }

    data_type : int;      { best guess about the data type: ascii or binary }
    adler : uLong;        { adler32 value of the uncompressed data }
    reserved : uLong;     { reserved for future use }
  end;


{  The application must update next_in and avail_in when avail_in has
   dropped to zero. It must update next_out and avail_out when avail_out
   has dropped to zero. The application must initialize zalloc, zfree and
   opaque before calling the init function. All other fields are set by the
   compression library and must not be updated by the application.

   The opaque value provided by the application will be passed as the first
   parameter for calls of zalloc and zfree. This can be useful for custom
   memory management. The compression library attaches no meaning to the
   opaque value.

   zalloc must return Z_NULL if there is not enough memory for the object.
   On 16-bit systems, the functions zalloc and zfree must be able to allocate
   exactly 65536 bytes, but will not be required to allocate more than this
   if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
   pointers returned by zalloc for objects of exactly 65536 bytes *must*
   have their offset normalized to zero. The default allocation function
   provided by this library ensures this (see zutil.c). To reduce memory
   requirements and avoid any allocation of 64K objects, at the expense of
   compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).

   The fields total_in and total_out can be used for statistics or
   progress reports. After compression, total_in holds the total size of
   the uncompressed data and may be saved for use in the decompressor
   (particularly if the decompressor wants to decompress everything in

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91精品在线观看| 亚洲高清中文字幕| 狠狠色丁香久久婷婷综合_中 | 欧美成人性福生活免费看| 视频一区中文字幕| 精品久久久久久久久久久院品网 | 亚洲午夜精品17c| 欧美偷拍一区二区| 欧美a一区二区| 久久久久久影视| 99久久er热在这里只有精品15| 最新久久zyz资源站| 在线观看av一区| 日本不卡视频在线| 日本一区二区免费在线| 日本精品裸体写真集在线观看| 一区二区三区精品视频| 91精品久久久久久蜜臀| 国内欧美视频一区二区 | 久久久亚洲午夜电影| 成人污污视频在线观看| 亚洲视频网在线直播| 欧美一区二区三区精品| 国产宾馆实践打屁股91| 亚洲综合视频在线| 久久―日本道色综合久久| www.欧美日韩| 日韩不卡免费视频| 亚洲国产成人自拍| 欧美日韩电影一区| 成人三级伦理片| 日韩精品一区第一页| 国产精品视频线看| 777xxx欧美| 91一区二区三区在线观看| 久久精品国产一区二区三 | 欧美精品一区二区三区蜜桃视频| www.66久久| 美女任你摸久久| 樱花草国产18久久久久| 精品粉嫩aⅴ一区二区三区四区| 99久久精品国产毛片| 久久电影国产免费久久电影 | 久久亚洲精品小早川怜子| 91在线视频播放| 激情久久久久久久久久久久久久久久| 亚洲免费观看在线观看| 欧美tickling网站挠脚心| 欧美三电影在线| 成人av在线网| 国产综合色产在线精品| 青青国产91久久久久久| 亚洲精品网站在线观看| 国产精品国产三级国产| 精品国产乱码久久久久久1区2区| 欧美色爱综合网| 91亚洲资源网| 成人免费看的视频| 国产成人免费视频一区| 韩国精品主播一区二区在线观看 | 欧美日韩小视频| 色呦呦日韩精品| 成人91在线观看| 国产成人av自拍| 国产成人亚洲综合a∨婷婷| 国内外成人在线| 精品一区二区三区免费观看 | 精一区二区三区| 婷婷一区二区三区| 亚洲综合色噜噜狠狠| 亚洲乱码国产乱码精品精98午夜 | 久久国产剧场电影| 美女在线一区二区| 三级影片在线观看欧美日韩一区二区| 亚洲最新视频在线观看| 亚洲在线一区二区三区| 亚洲最色的网站| 午夜精品福利在线| 日韩国产一区二| 人人爽香蕉精品| 久久国产精品72免费观看| 韩国女主播一区| 国产一区二区女| 国产成人啪午夜精品网站男同| 国产成人av网站| 国产精品自拍网站| 成人午夜激情影院| 色香蕉久久蜜桃| 欧美视频一区二区在线观看| 6080亚洲精品一区二区| 精品日韩在线一区| 国产人成一区二区三区影院| 日本一区二区三区在线不卡| 国产精品毛片高清在线完整版| 国产精品久久久久久久久免费相片| 国产精品高潮呻吟久久| 亚洲精品菠萝久久久久久久| 亚洲一区二区高清| 日本午夜精品视频在线观看| 精品一区二区在线看| 成人自拍视频在线| 色中色一区二区| 欧美一级黄色录像| 国产精品色婷婷| 午夜精品成人在线| 国产一区二区三区| 一本久久精品一区二区| 日韩午夜中文字幕| 中文字幕欧美激情一区| 亚洲一区二区影院| 麻豆91小视频| 91影院在线免费观看| 3d成人动漫网站| 久久毛片高清国产| 亚洲色图色小说| 日本中文在线一区| av动漫一区二区| 51精品秘密在线观看| 亚洲国产激情av| 日韩二区在线观看| www.亚洲激情.com| 日韩一区二区三区四区五区六区| 国产精品久久久久久福利一牛影视| 丝袜脚交一区二区| 国产成人综合在线播放| 欧美精品18+| 国产精品国产三级国产a| 美女免费视频一区二区| 色综合久久天天综合网| 精品国产不卡一区二区三区| 亚洲免费毛片网站| 国产成人免费视频网站 | 成人综合在线观看| 欧美一区二区视频在线观看2020 | 欧美丝袜丝nylons| 国产精品麻豆网站| 精品亚洲成a人| 欧美性极品少妇| 中文在线一区二区| 韩国视频一区二区| 欧美一区二区在线免费观看| 亚洲另类在线视频| 成人午夜视频在线观看| 欧美精品一区在线观看| 婷婷综合五月天| 欧美图片一区二区三区| 亚洲狼人国产精品| 99久久国产综合精品麻豆| 国产亚洲一区字幕| 免费在线观看一区| 欧美一区三区四区| 香蕉影视欧美成人| 欧美日韩视频不卡| 一区二区三区在线观看网站| 成人污污视频在线观看| 久久久久久一二三区| 久久97超碰色| 日韩欧美中文一区二区| 日本欧美久久久久免费播放网| 在线免费av一区| 伊人一区二区三区| 91久久奴性调教| 怡红院av一区二区三区| 在线视频中文字幕一区二区| 日韩理论片网站| av一区二区不卡| 亚洲国产成人自拍| 99久久精品免费看| 亚洲色欲色欲www| 在线精品视频小说1| 亚洲国产视频一区二区| 欧美日韩你懂得| 偷窥国产亚洲免费视频| 制服丝袜av成人在线看| 日本在线观看不卡视频| 日韩欧美国产综合一区 | 亚洲成人一二三| 欧美疯狂性受xxxxx喷水图片| 日韩高清中文字幕一区| 日韩美女视频在线| 国产乱码精品1区2区3区| 国产日产欧美一区| 色综合中文字幕国产 | 久久精品视频一区二区三区| 国产ts人妖一区二区| 亚洲国产高清aⅴ视频| 色婷婷狠狠综合| 天使萌一区二区三区免费观看| 日韩一级二级三级精品视频| 国产综合久久久久久久久久久久| 国产免费成人在线视频| 在线亚洲免费视频| 日韩不卡一二三区| 国产欧美一区二区在线| 色婷婷精品久久二区二区蜜臀av| 日日夜夜免费精品视频| 国产偷国产偷精品高清尤物| 一本到不卡免费一区二区| 日韩成人精品视频| 国产精品每日更新在线播放网址 |