/*
 * SDK Pullenti Unitext, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software. 
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C# project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */

package com.pullenti.unitext.internal.zip;

// This class contains constants used for deflation.
public class DeflaterConstants {

    public static final boolean DEBUGGING = false;

    public static final int STORED_BLOCK = 0;

    public static final int STATIC_TREES = 1;

    public static final int DYN_TREES = 2;

    public static final int PRESET_DICT = 0x20;

    public static final int DEFAULT_MEM_LEVEL = 8;

    public static final int MAX_MATCH = 258;

    public static final int MIN_MATCH = 3;

    public static final int MAX_WBITS = 15;

    public static final int WSIZE;

    public static final int WMASK;

    public static final int HASH_BITS;

    public static final int HASH_SIZE;

    public static final int HASH_MASK;

    public static final int HASH_SHIFT;

    public static final int MIN_LOOKAHEAD;

    public static final int MAX_DIST;

    public static final int PENDING_BUF_SIZE;

    public static int MAX_BLOCK_SIZE;

    public static final int DEFLATE_STORED = 0;

    public static final int DEFLATE_FAST = 1;

    public static final int DEFLATE_SLOW = 2;

    public static int[] GOOD_LENGTH;

    public static int[] MAX_LAZY;

    public static int[] NICE_LENGTH;

    public static int[] MAX_CHAIN;

    public static int[] COMPR_FUNC;

    public DeflaterConstants() {
    }
    
    static {
        WSIZE = 1 << MAX_WBITS;
        WMASK = WSIZE - 1;
        HASH_BITS = DEFAULT_MEM_LEVEL + 7;
        HASH_SIZE = 1 << HASH_BITS;
        HASH_MASK = HASH_SIZE - 1;
        HASH_SHIFT = (((HASH_BITS + MIN_MATCH) - 1)) / MIN_MATCH;
        MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1;
        MAX_DIST = WSIZE - MIN_LOOKAHEAD;
        PENDING_BUF_SIZE = 1 << ((DEFAULT_MEM_LEVEL + 8));
        MAX_BLOCK_SIZE = Math.min(65535, PENDING_BUF_SIZE - 5);
        GOOD_LENGTH = new int[] {0, 4, 4, 4, 4, 8, 8, 8, 32, 32};
        MAX_LAZY = new int[] {0, 4, 5, 6, 4, 16, 16, 32, 128, 258};
        NICE_LENGTH = new int[] {0, 8, 16, 32, 16, 32, 128, 128, 258, 258};
        MAX_CHAIN = new int[] {0, 4, 8, 32, 16, 32, 128, 256, 1024, 4096};
        COMPR_FUNC = new int[] {0, 1, 1, 1, 1, 2, 2, 2, 2, 2};
    }
}
