// Path: core/src/main/java/com/justyoyo/contrast/WriterException.java
// public final class WriterException extends Exception {
// 
//     public WriterException() {
//     }
// 
//     public WriterException(String message) {
//         super(message);
//     }
// 
//     public WriterException(Throwable cause) {
//         super(cause);
//     }
// 
// }


import com.justyoyo.contrast.WriterException;
                    752, 533, 175, 134, 14, 381, 433, 717, 45, 111, 20, 596,
                    284, 736, 138, 646, 411, 877, 669, 141, 919, 45, 780, 407,
                    164, 332, 899, 165, 726, 600, 325, 498, 655, 357, 752, 768,
                    223, 849, 647, 63, 310, 863, 251, 366, 304, 282, 738, 675,
                    410, 389, 244, 31, 121, 303, 263}};

    private PDF417ErrorCorrection() {
    }

    /**
     * Determines the number of error correction codewords for a specified error correction
     * level.
     *
     * @param errorCorrectionLevel the error correction level (0-8)
     * @return the number of codewords generated for error correction
     */
    static int getErrorCorrectionCodewordCount(int errorCorrectionLevel) {
        if (errorCorrectionLevel < 0 || errorCorrectionLevel > 8) {
            throw new IllegalArgumentException("Error correction level must be between 0 and 8!");
        }
        return 1 << (errorCorrectionLevel + 1);
    }

    /**
     * Returns the recommended minimum error correction level as described in annex E of
     * ISO/IEC 15438:2001(E).
     *
     * @param n the number of data codewords
     * @return the recommended minimum error correction level
     */
// Path: core/src/main/java/com/justyoyo/contrast/WriterException.java
// public final class WriterException extends Exception {
// 
//     public WriterException() {
//     }
// 
//     public WriterException(String message) {
//         super(message);
//     }
// 
//     public WriterException(Throwable cause) {
//         super(cause);
//     }
// 
// }


// Path: pdf417/src/main/java/com/justyoyo/contrast/pdf417/PDF417ErrorCorrection.java
import com.justyoyo.contrast.WriterException;

                    752, 533, 175, 134, 14, 381, 433, 717, 45, 111, 20, 596,
                    284, 736, 138, 646, 411, 877, 669, 141, 919, 45, 780, 407,
                    164, 332, 899, 165, 726, 600, 325, 498, 655, 357, 752, 768,
                    223, 849, 647, 63, 310, 863, 251, 366, 304, 282, 738, 675,
                    410, 389, 244, 31, 121, 303, 263}};

    private PDF417ErrorCorrection() {
    }

    /**
     * Determines the number of error correction codewords for a specified error correction
     * level.
     *
     * @param errorCorrectionLevel the error correction level (0-8)
     * @return the number of codewords generated for error correction
     */
    static int getErrorCorrectionCodewordCount(int errorCorrectionLevel) {
        if (errorCorrectionLevel < 0 || errorCorrectionLevel > 8) {
            throw new IllegalArgumentException("Error correction level must be between 0 and 8!");
        }
        return 1 << (errorCorrectionLevel + 1);
    }

    /**
     * Returns the recommended minimum error correction level as described in annex E of
     * ISO/IEC 15438:2001(E).
     *
     * @param n the number of data codewords
     * @return the recommended minimum error correction level
     */
    static int getRecommendedMinimumErrorCorrectionLevel(int n) throws WriterException {