-
Notifications
You must be signed in to change notification settings - Fork 1
/
pdf417.js
89 lines (89 loc) · 42.3 KB
/
pdf417.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var libbcmath={PLUS:"+",MINUS:"-",BASE:10,scale:0,bc_num:function(){this.n_value=this.n_scale=this.n_len=this.n_sign=null;this.toString=function(){var a,b;b=this.n_value.join("");a=(this.n_sign==libbcmath.PLUS?"":this.n_sign)+b.substr(0,this.n_len);0<this.n_scale&&(a+="."+b.substr(this.n_len,this.n_scale));return a};this.setScale=function(a){for(;this.n_scale<a;)this.n_value.push(0),this.n_scale++;for(;this.n_scale>a;)this.n_value.pop(),this.n_scale--;return this}},bc_new_num:function(a,b){var c;
c=new libbcmath.bc_num;c.n_sign=libbcmath.PLUS;c.n_len=a;c.n_scale=b;c.n_value=libbcmath.safe_emalloc(1,a+b,0);libbcmath.memset(c.n_value,0,0,a+b);return c},safe_emalloc:function(a,b,c){return Array(a*b+c)},bc_init_num:function(){return new libbcmath.bc_new_num(1,0)},_bc_rm_leading_zeros:function(a){for(;0===a.n_value[0]&&1<a.n_len;)a.n_value.shift(),a.n_len--},php_str2num:function(a){var b;b=a.indexOf(".");return-1==b?libbcmath.bc_str2num(a,0):libbcmath.bc_str2num(a,a.length-b)},CH_VAL:function(a){return a-
0},BCD_CHAR:function(a){return a+"0"},isdigit:function(a){return isNaN(parseInt(a,10))?!1:!0},bc_str2num:function(a,b){var c,d,e,g,f,h,k;c=a.split("");f=g=e=0;h=!1;for("+"!==c[e]&&"-"!==c[e]||e++;"0"===c[e];)e++;for(;0===c[e]%1;)e++,g++;for("."===c[e]&&e++;0===c[e]%1;)e++,f++;if(c[e]||0===g+f)return libbcmath.bc_init_num();f=libbcmath.MIN(f,b);0===g&&(h=!0,g=1);d=libbcmath.bc_new_num(g,f);e=0;"-"===c[e]?(d.n_sign=libbcmath.MINUS,e++):(d.n_sign=libbcmath.PLUS,"+"===c[e]&&e++);for(;"0"===c[e];)e++;
k=0;h&&(g=d.n_value[k++]=0);for(;0<g;g--)d.n_value[k++]=libbcmath.CH_VAL(c[e++]);if(0<f)for(e++;0<f;f--)d.n_value[k++]=libbcmath.CH_VAL(c[e++]);return d},cint:function(a){"undefined"==typeof a&&(a=0);a=parseInt(a,10);isNaN(a)&&(a=0);return a},MIN:function(a,b){return a>b?b:a},MAX:function(a,b){return a>b?a:b},ODD:function(a){return a&1},memset:function(a,b,c,d){var e;for(e=0;e<d;e++)a[b+e]=c},memcpy:function(a,b,c,d,e){var g;for(g=0;g<e;g++)a[b+g]=c[d+g];return!0},bc_is_zero:function(a){var b,c;b=
a.n_len+a.n_scale;for(c=0;0<b&&0===a.n_value[c++];)b--;return 0!==b?!1:!0},bc_out_of_memory:function(){throw Error("(BC) Out of memory");},bc_add:function(a,b,c){var d,e;if(a.n_sign===b.n_sign)d=libbcmath._bc_do_add(a,b,c),d.n_sign=a.n_sign;else switch(e=libbcmath._bc_do_compare(a,b,!1,!1),e){case -1:d=libbcmath._bc_do_sub(b,a,c);d.n_sign=b.n_sign;break;case 0:a=libbcmath.MAX(c,libbcmath.MAX(a.n_scale,b.n_scale));d=libbcmath.bc_new_num(1,a);libbcmath.memset(d.n_value,0,0,a+1);break;case 1:d=libbcmath._bc_do_sub(a,
b,c),d.n_sign=a.n_sign}return d},bc_compare:function(a,b){return libbcmath._bc_do_compare(a,b,!0,!1)},_bc_do_compare:function(a,b,c,d){var e,g,f;if(c&&a.n_sign!=b.n_sign)return a.n_sign==libbcmath.PLUS?1:-1;if(a.n_len!=b.n_len)return a.n_len>b.n_len?c&&a.n_sign!=libbcmath.PLUS?-1:1:c&&a.n_sign!=libbcmath.PLUS?1:-1;f=a.n_len+Math.min(a.n_scale,b.n_scale);for(g=e=0;0<f&&a.n_value[e]==b.n_value[g];)e++,g++,f--;if(d&&1==f&&a.n_scale==b.n_scale)return 0;if(0!==f)return a.n_value[e]>b.n_value[g]?c&&a.n_sign!=
libbcmath.PLUS?-1:1:c&&a.n_sign!=libbcmath.PLUS?1:-1;if(a.n_scale!=b.n_scale)if(a.n_scale>b.n_scale)for(f=a.n_scale-b.n_scale;0<f;f--){if(0!==a.n_value[e++])return c&&a.n_sign!=libbcmath.PLUS?-1:1}else for(f=b.n_scale-a.n_scale;0<f;f--)if(0!==b.n_value[g++])return c&&a.n_sign!=libbcmath.PLUS?1:-1;return 0},_one_mult:function(a,b,c,d,e,g){var f;if(0===d)libbcmath.memset(e,0,0,c);else if(1==d)libbcmath.memcpy(e,g,a,b,c);else{b=b+c-1;g=g+c-1;for(f=0;0<c--;)f=a[b--]*d+f,e[g--]=f%libbcmath.BASE,f=Math.floor(f/
libbcmath.BASE);0!=f&&(e[g]=f)}},bc_divide:function(a,b,c){var d,e,g,f,h,k,l,m,n,q,s,p,r,t;if(libbcmath.bc_is_zero(b))return-1;if(libbcmath.bc_is_zero(a))return libbcmath.bc_new_num(1,c);0===b.n_scale&&1===b.n_len&&1===b.n_value[0]&&(d=libbcmath.bc_new_num(a.n_len,c),d.n_sign=a.n_sign==b.n_sign?libbcmath.PLUS:libbcmath.MINUS,libbcmath.memset(d.n_value,a.n_len,0,c),libbcmath.memcpy(d.n_value,0,a.n_value,0,a.n_len+libbcmath.MIN(a.n_scale,c)));n=b.n_scale;for(h=b.n_len+n-1;0<n&&0===b.n_value[h--];)n--;
m=a.n_len+n;g=a.n_scale-n;f=g<c?c-g:0;e=libbcmath.safe_emalloc(1,a.n_len+a.n_scale,f+2);null===e&&libbcmath.bc_out_of_memory();libbcmath.memset(e,0,0,a.n_len+a.n_scale+f+2);libbcmath.memcpy(e,1,a.n_value,0,a.n_len+a.n_scale);n=b.n_len+n;d=libbcmath.safe_emalloc(1,n,1);null===d&&libbcmath.bc_out_of_memory();libbcmath.memcpy(d,0,b.n_value,0,n);for(h=d[n]=0;0===d[h];)h++,n--;n>m+c?(q=c+1,k=!0):(k=!1,q=n>m?c+1:m-n+c+1);d=libbcmath.bc_new_num(q-c,c);libbcmath.memset(d.n_value,0,0,q);q=libbcmath.safe_emalloc(1,
n,1);null===q&&libbcmath.bc_out_of_memory();if(!k)for(k=Math.floor(10/(b.n_value[h]+1)),1!=k&&(libbcmath._one_mult(e,0,m+g+f+1,k,e,0),libbcmath._one_mult(b.n_value,h,n,k,b.n_value,h)),p=0,k=n>m?n-m:0;p<=m+c-n;){r=b.n_value[h]==e[p]?9:Math.floor((10*e[p]+e[p+1])/b.n_value[h]);b.n_value[h+1]*r>10*(10*e[p]+e[p+1]-b.n_value[h]*r)+e[p+2]&&(r--,b.n_value[h+1]*r>10*(10*e[p]+e[p+1]-b.n_value[h]*r)+e[p+2]&&r--);t=0;if(0!==r)for(q[0]=0,libbcmath._one_mult(b.n_value,h,n,r,q,1),g=p+n,f=n,s=0;s<n+1;s++)l=0>f?
e[g]-0-t:e[g]-q[f--]-t,0>l?(l+=10,t=1):t=0,e[g--]=l;if(1==t){r--;g=p+n;f=n-1;for(s=t=0;s<n;s++)l=0>f?e[g]+0+t:e[g]+b.n_value[f--]+t,9<l?(l-=10,t=1):t=0,e[g--]=l;1==t&&(e[g]=(e[g]+1)%10)}d.n_value[k++]=r;p++}d.n_sign=a.n_sign==b.n_sign?libbcmath.PLUS:libbcmath.MINUS;libbcmath.bc_is_zero(d)&&(d.n_sign=libbcmath.PLUS);libbcmath._bc_rm_leading_zeros(d);return d},_bc_do_add:function(a,b,c){var d,e,g,f,h,k,l;d=libbcmath.MAX(a.n_scale,b.n_scale);e=libbcmath.MAX(a.n_len,b.n_len)+1;c=libbcmath.bc_new_num(e,
libbcmath.MAX(d,c));h=a.n_scale;k=b.n_scale;g=a.n_len+h-1;f=b.n_len+k-1;d=d+e-1;if(h!=k)if(h>k)for(;h>k;)c.n_value[d--]=a.n_value[g--],h--;else for(;k>h;)c.n_value[d--]=b.n_value[f--],k--;h+=a.n_len;k+=b.n_len;for(e=0;0<h&&0<k;)l=a.n_value[g--]+b.n_value[f--]+e,l>=libbcmath.BASE?(e=1,l-=libbcmath.BASE):e=0,c.n_value[d]=l,d--,h--,k--;if(0===h)for(;0<k--;)l=b.n_value[f--]+e,l>=libbcmath.BASE?(e=1,l-=libbcmath.BASE):e=0,c.n_value[d--]=l;else for(;0<h--;)l=a.n_value[g--]+e,l>=libbcmath.BASE?(e=1,l-=libbcmath.BASE):
e=0,c.n_value[d--]=l;1==e&&(c.n_value[d]+=1);libbcmath._bc_rm_leading_zeros(c);return c},_bc_do_sub:function(a,b,c){var d,e,g,f,h,k,l,m,n;e=libbcmath.MAX(a.n_len,b.n_len);d=libbcmath.MAX(a.n_scale,b.n_scale);f=libbcmath.MIN(a.n_len,b.n_len);g=libbcmath.MIN(a.n_scale,b.n_scale);c=libbcmath.bc_new_num(e,libbcmath.MAX(d,c));h=a.n_len+a.n_scale-1;k=b.n_len+b.n_scale-1;d=e+d-1;l=0;if(a.n_scale!=g)for(m=a.n_scale-g;0<m;m--)c.n_value[d--]=a.n_value[h--];else for(m=b.n_scale-g;0<m;m--)n=0-b.n_value[k--]-
l,0>n?l=1:(l=0,c.n_value[d--]=n);for(m=0;m<f+g;m++)n=a.n_value[h--]-b.n_value[k--]-l,0>n?(n+=libbcmath.BASE,l=1):l=0,c.n_value[d--]=n;if(e!=f)for(m=e-f;0<m;m--)n=a.n_value[h--]-l,0>n?(n+=libbcmath.BASE,l=1):l=0,c.n_value[d--]=n;libbcmath._bc_rm_leading_zeros(c);return c},MUL_BASE_DIGITS:80};libbcmath.MUL_SMALL_DIGITS=libbcmath.MUL_BASE_DIGITS/4;
libbcmath.bc_multiply=function(a,b,c){var d,e,g,f;d=a.n_len+a.n_scale;e=b.n_len+b.n_scale;g=a.n_scale+b.n_scale;f=libbcmath.MIN(g,libbcmath.MAX(c,libbcmath.MAX(a.n_scale,b.n_scale)));c=libbcmath._bc_rec_mul(a,d,b,e,g);c.n_sign=a.n_sign==b.n_sign?libbcmath.PLUS:libbcmath.MINUS;c.n_len=e+d+1-g;c.n_scale=f;libbcmath._bc_rm_leading_zeros(c);libbcmath.bc_is_zero(c)&&(c.n_sign=libbcmath.PLUS);return c};
libbcmath.new_sub_num=function(a,b,c){var d=new libbcmath.bc_num;d.n_sign=libbcmath.PLUS;d.n_len=a;d.n_scale=b;d.n_value=c;return d};libbcmath._bc_simp_mul=function(a,b,c,d,e){var g,f,h,k,l,m,n;n=b+d+1;e=libbcmath.bc_new_num(n,0);h=b-1;k=d-1;f=n-1;for(l=m=0;l<n-1;l++){b=h-libbcmath.MAX(0,l-d+1);for(g=k-libbcmath.MIN(l,d-1);0<=b&&g<=k;)m+=a.n_value[b--]*c.n_value[g++];e.n_value[f--]=Math.floor(m%libbcmath.BASE);m=Math.floor(m/libbcmath.BASE)}e.n_value[f]=m;return e};
libbcmath._bc_shift_addsub=function(a,b,c,d){var e,g,f;g=b.n_len;0===b.n_value[0]&&g--;if(!(a.n_len+a.n_scale>=c+g))throw Error("len + scale < shift + count");c=a.n_len+a.n_scale-c-1;e=b.n_len=1;f=0;if(d){for(;g--;)a.n_value[c]-=b.n_value[e--]+f,0>a.n_value[c]?(f=1,a.n_value[c--]+=libbcmath.BASE):(f=0,c--);for(;f;)a.n_value[c]-=f,0>a.n_value[c]?a.n_value[c--]+=libbcmath.BASE:f=0}else{for(;g--;)a.n_value[c]+=b.n_value[e--]+f,a.n_value[c]>libbcmath.BASE-1?(f=1,a.n_value[c--]-=libbcmath.BASE):(f=0,c--);
for(;f;)a.n_value[c]+=f,a.n_value[c]>libbcmath.BASE-1?a.n_value[c--]-=libbcmath.BASE:f=0}return!0};
libbcmath._bc_rec_mul=function(a,b,c,d,e){var g,f,h,k,l,m,n;if(b+d<libbcmath.MUL_BASE_DIGITS||b<libbcmath.MUL_SMALL_DIGITS||d<libbcmath.MUL_SMALL_DIGITS)return libbcmath._bc_simp_mul(a,b,c,d,e);e=Math.floor((libbcmath.MAX(b,d)+1)/2);b<e?(f=libbcmath.bc_init_num(),g=libbcmath.new_sub_num(b,0,a.n_value)):(f=libbcmath.new_sub_num(b-e,0,a.n_value),g=libbcmath.new_sub_num(e,0,a.n_value+b-e));d<e?(k=libbcmath.bc_init_num(),h=libbcmath.new_sub_num(d,0,c.n_value)):(k=libbcmath.new_sub_num(d-e,0,c.n_value),
h=libbcmath.new_sub_num(e,0,c.n_value+d-e));libbcmath._bc_rm_leading_zeros(f);libbcmath._bc_rm_leading_zeros(g);libbcmath._bc_rm_leading_zeros(k);libbcmath._bc_rm_leading_zeros(h);l=libbcmath.bc_is_zero(f)||libbcmath.bc_is_zero(k);libbcmath.bc_init_num();libbcmath.bc_init_num();c=libbcmath.bc_sub(f,g,0);m=c.n_len;a=libbcmath.bc_sub(h,k,0);n=a.n_len;f=l?libbcmath.bc_init_num():libbcmath._bc_rec_mul(f,f.n_len,k,k.n_len,0);k=libbcmath.bc_is_zero(c)||libbcmath.bc_is_zero(a)?libbcmath.bc_init_num():libbcmath._bc_rec_mul(c,
m,a,n,0);g=libbcmath.bc_is_zero(g)||libbcmath.bc_is_zero(h)?libbcmath.bc_init_num():libbcmath._bc_rec_mul(g,g.n_len,h,h.n_len,0);b=libbcmath.bc_new_num(b+d+1,0);l||(libbcmath._bc_shift_addsub(b,f,2*e,0),libbcmath._bc_shift_addsub(b,f,e,0));libbcmath._bc_shift_addsub(b,g,e,0);libbcmath._bc_shift_addsub(b,g,0,0);libbcmath._bc_shift_addsub(b,k,e,c.n_sign!=a.n_sign);return b};
libbcmath.bc_sub=function(a,b,c){var d,e;if(a.n_sign!=b.n_sign)d=libbcmath._bc_do_add(a,b,c),d.n_sign=a.n_sign;else switch(e=libbcmath._bc_do_compare(a,b,!1,!1),e){case -1:d=libbcmath._bc_do_sub(b,a,c);d.n_sign=b.n_sign==libbcmath.PLUS?libbcmath.MINUS:libbcmath.PLUS;break;case 0:a=libbcmath.MAX(c,libbcmath.MAX(a.n_scale,b.n_scale));d=libbcmath.bc_new_num(1,a);libbcmath.memset(d.n_value,0,0,a+1);break;case 1:d=libbcmath._bc_do_sub(a,b,c),d.n_sign=a.n_sign}return d};
function bcadd(a,b,c){"undefined"==typeof c&&(c=libbcmath.scale);c=0>c?0:c;libbcmath.bc_init_num();libbcmath.bc_init_num();libbcmath.bc_init_num();a=libbcmath.php_str2num(a.toString());b=libbcmath.php_str2num(b.toString());a.n_scale>b.n_scale&&b.setScale(a.n_scale);b.n_scale>a.n_scale&&a.setScale(b.n_scale);b=libbcmath.bc_add(a,b,c);b.n_scale>c&&(b.n_scale=c);return b.toString()}
function bcsub(a,b,c){"undefined"==typeof c&&(c=libbcmath.scale);c=0>c?0:c;libbcmath.bc_init_num();libbcmath.bc_init_num();libbcmath.bc_init_num();a=libbcmath.php_str2num(a.toString());b=libbcmath.php_str2num(b.toString());a.n_scale>b.n_scale&&b.setScale(a.n_scale);b.n_scale>a.n_scale&&a.setScale(b.n_scale);b=libbcmath.bc_sub(a,b,c);b.n_scale>c&&(b.n_scale=c);return b.toString()}
function bccomp(a,b,c){"undefined"==typeof c&&(c=libbcmath.scale);c=0>c?0:c;libbcmath.bc_init_num();libbcmath.bc_init_num();a=libbcmath.bc_str2num(a.toString(),c);b=libbcmath.bc_str2num(b.toString(),c);return libbcmath.bc_compare(a,b,c)}function bcscale(a){a=parseInt(a,10);if(isNaN(a)||0>a)return!1;libbcmath.scale=a;return!0}
function bcdiv(a,b,c){"undefined"==typeof c&&(c=libbcmath.scale);c=0>c?0:c;libbcmath.bc_init_num();libbcmath.bc_init_num();libbcmath.bc_init_num();a=libbcmath.php_str2num(a.toString());b=libbcmath.php_str2num(b.toString());a.n_scale>b.n_scale&&b.setScale(a.n_scale);b.n_scale>a.n_scale&&a.setScale(b.n_scale);b=libbcmath.bc_divide(a,b,c);if(-1===b)throw Error(11,"(BC) Division by zero");b.n_scale>c&&(b.n_scale=c);return b.toString()}
function bcmul(a,b,c){"undefined"==typeof c&&(c=libbcmath.scale);c=0>c?0:c;libbcmath.bc_init_num();libbcmath.bc_init_num();libbcmath.bc_init_num();a=libbcmath.php_str2num(a.toString());b=libbcmath.php_str2num(b.toString());a.n_scale>b.n_scale&&b.setScale(a.n_scale);b.n_scale>a.n_scale&&a.setScale(b.n_scale);b=libbcmath.bc_multiply(a,b,c);b.n_scale>c&&(b.n_scale=c);return b.toString()}
function bcround(a,b){var c;c="0."+Array(b+1).join("0")+"5";"-"==a.toString().substring(0,1)&&(c="-"+c);return bcadd(a,c,b)}
var PDF417={ROWHEIGHT:4,QUIETH:2,QUIETV:2,barcode_array:{},start_pattern:"11111111010101000",stop_pattern:"111111101000101001",textsubmodes:[[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,32,253,254,255],[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,253,254,255],[48,49,50,51,52,53,54,55,56,57,38,13,9,44,58,35,45,46,36,47,43,37,42,61,94,251,32,253,254,255],[59,60,62,64,91,92,93,95,96,126,33,13,9,44,58,10,45,
46,36,47,34,124,42,40,41,63,123,125,39,255]],textlatch:{"01":[27],"02":[28],"03":[28,25],10:[28,28],12:[28],13:[28,25],20:[28],21:[27],23:[25],30:[29],31:[29,27],32:[29,28]},clusters:[[120256,125680,128380,120032,125560,128318,108736,119920,108640,86080,108592,86048,110016,120560,125820,109792,120440,125758,88256,109680,88160,89536,110320,120700,89312,110200,120638,89200,110140,89840,110460,89720,110398,89980,128506,119520,125304,128190,107712,119408,125244,107616,119352,84032,107568,119324,84E3,
107544,83984,108256,119672,125374,85184,108144,119612,85088,108088,119582,85040,108060,85728,108408,119742,85616,108348,85560,108318,85880,108478,85820,85790,107200,119152,125116,107104,119096,125086,83008,107056,119068,82976,107032,82960,82952,83648,107376,119228,83552,107320,119198,83504,107292,83480,83468,83824,107452,83768,107422,83740,83900,106848,118968,125022,82496,106800,118940,82464,106776,118926,82448,106764,82440,106758,82784,106936,119006,82736,106908,82712,106894,82700,82694,106974,82830,
82240,106672,118876,82208,106648,118862,82192,106636,82184,106630,82180,82352,82328,82316,82080,118830,106572,106566,82050,117472,124280,127678,103616,117360,124220,103520,117304,124190,75840,103472,75808,104160,117624,124350,76992,104048,117564,76896,103992,76848,76824,77536,104312,117694,77424,104252,77368,77340,77688,104382,77628,77758,121536,126320,128700,121440,126264,128670,111680,121392,126236,111648,121368,126222,111632,121356,103104,117104,124092,112320,103008,117048,124062,112224,121656,
126366,93248,74784,102936,117006,93216,112152,93200,75456,103280,117180,93888,75360,103224,117150,93792,112440,121758,93744,75288,93720,75632,103356,94064,75576,103326,94008,112542,93980,75708,94140,75678,94110,121184,126136,128606,111168,121136,126108,111136,121112,126094,111120,121100,111112,111108,102752,116920,123998,111456,102704,116892,91712,74272,121244,116878,91680,74256,102668,91664,111372,102662,74244,74592,102840,116958,92E3,74544,102812,91952,111516,102798,91928,74508,74502,74680,102878,
92088,74652,92060,74638,92046,92126,110912,121008,126044,110880,120984,126030,110864,120972,110856,120966,110852,110850,74048,102576,116828,90944,74016,102552,116814,90912,111E3,121038,90896,73992,102534,90888,110982,90884,74160,102620,91056,74136,102606,91032,111054,91020,74118,91014,91100,91086,110752,120920,125998,110736,120908,110728,120902,110724,110722,73888,102488,116782,90528,73872,102476,90512,110796,102470,90504,73860,90500,73858,73944,90584,90572,90566,120876,120870,110658,102444,73800,
90312,90308,90306,101056,116080,123580,100960,116024,70720,100912,115996,70688,100888,70672,70664,71360,101232,116156,71264,101176,116126,71216,101148,71192,71180,71536,101308,71480,101278,71452,71612,71582,118112,124600,127838,105024,118064,124572,104992,118040,124558,104976,118028,104968,118022,100704,115896,123486,105312,100656,115868,79424,70176,118172,115854,79392,105240,100620,79376,70152,79368,70496,100792,115934,79712,70448,118238,79664,105372,100750,79640,70412,79628,70584,100830,79800,70556,
79772,70542,70622,79838,122176,126640,128860,122144,126616,128846,122128,126604,122120,126598,122116,104768,117936,124508,113472,104736,126684,124494,113440,122264,126670,113424,104712,117894,113416,122246,104706,69952,100528,115804,78656,69920,100504,115790,96064,78624,104856,117966,96032,113560,122318,100486,96016,78600,104838,96008,69890,70064,100572,78768,70040,100558,96176,78744,104910,96152,113614,70022,78726,70108,78812,70094,96220,78798,122016,126552,128814,122E3,126540,121992,126534,121988,
121986,104608,117848,124462,113056,104592,126574,113040,122060,117830,113032,104580,113028,104578,113026,69792,100440,115758,78240,69776,100428,95136,78224,104652,100422,95120,113100,69764,95112,78212,69762,78210,69848,100462,78296,69836,95192,78284,69830,95180,78278,69870,95214,121936,126508,121928,126502,121924,121922,104528,117804,112848,104520,117798,112840,121958,112836,104514,112834,69712,100396,78032,69704,100390,94672,78024,104550,94664,112870,69698,94660,78018,94658,78060,94700,94694,126486,
121890,117782,104484,104482,69672,77928,94440,69666,77922,99680,68160,99632,68128,99608,115342,68112,99596,68104,99590,68448,99768,115422,68400,99740,68376,99726,68364,68358,68536,99806,68508,68494,68574,101696,116400,123740,101664,116376,101648,116364,101640,116358,101636,67904,99504,115292,72512,67872,116444,115278,72480,101784,116430,72464,67848,99462,72456,101766,67842,68016,99548,72624,67992,99534,72600,101838,72588,67974,68060,72668,68046,72654,118432,124760,127918,118416,124748,118408,124742,
118404,118402,101536,116312,105888,101520,116300,105872,118476,116294,105864,101508,105860,101506,105858,67744,99416,72096,67728,116334,80800,72080,101580,99398,80784,105932,67716,80776,72068,67714,72066,67800,99438,72152,67788,80856,72140,67782,80844,72134,67822,72174,80878,126800,128940,126792,128934,126788,126786,118352,124716,122576,126828,124710,122568,126822,122564,118338,122562,101456,116268,105680,101448,116262,114128,105672,118374,114120,122598,101442,114116,105666,114114,67664,99372,71888,
67656,99366,80336,71880,101478,97232,80328,105702,67650,97224,114150,71874,97220,67692,71916,67686,80364,71910,97260,80358,97254,126760,128918,126756,126754,118312,124694,122472,126774,122468,118306,122466,101416,116246,105576,101412,113896,105572,101410,113892,105570,113890,67624,99350,71784,101430,80104,71780,67618,96744,80100,71778,96740,80098,96738,71798,96758,126738,122420,122418,105524,113780,113778,71732,79988,96500,96498,66880,66848,98968,66832,66824,66820,66992,66968,66956,66950,67036,67022,
1E5,99984,115532,99976,115526,99972,99970,66720,98904,69024,100056,98892,69008,100044,69E3,100038,68996,66690,68994,66776,98926,69080,100078,69068,66758,69062,66798,69102,116560,116552,116548,116546,99920,102096,116588,115494,102088,116582,102084,99906,102082,66640,68816,66632,98854,73168,68808,66628,73160,68804,66626,73156,68802,66668,68844,66662,73196,68838,73190,124840,124836,124834,116520,118632,124854,118628,116514,118626,99880,115478,101992,116534,106216,101988,99874,106212,101986,106210,66600,
98838,68712,99894,72936,68708,66594,81384,72932,68706,81380,72930,66614,68726,72950,81398,128980,128978,124820,126900,124818,126898,116500,118580,116498,122740,118578,122738,99860,101940,99858,106100,101938,114420],[128352,129720,125504,128304,129692,125472,128280,129678,125456,128268,125448,128262,125444,125792,128440,129758,120384,125744,128412,120352,125720,128398,120336,125708,120328,125702,120324,120672,125880,128478,110144,120624,125852,110112,120600,125838,110096,120588,110088,120582,110084,
110432,120760,125918,89664,110384,120732,89632,110360,120718,89616,110348,89608,110342,89952,110520,120798,89904,110492,89880,110478,89868,90040,110558,90012,89998,125248,128176,129628,125216,128152,129614,125200,128140,125192,128134,125188,125186,119616,125360,128220,119584,125336,128206,119568,125324,119560,125318,119556,119554,108352,119728,125404,108320,119704,125390,108304,119692,108296,119686,108292,108290,85824,108464,119772,85792,108440,119758,85776,108428,85768,108422,85764,85936,108508,
85912,108494,85900,85894,85980,85966,125088,128088,129582,125072,128076,125064,128070,125060,125058,119200,125144,128110,119184,125132,119176,125126,119172,119170,107424,119256,125166,107408,119244,107400,119238,107396,107394,83872,107480,119278,83856,107468,83848,107462,83844,83842,83928,107502,83916,83910,83950,125008,128044,125E3,128038,124996,124994,118992,125036,118984,125030,118980,118978,106960,119020,106952,119014,106948,106946,82896,106988,82888,106982,82884,82882,82924,82918,124968,128022,
124964,124962,118888,124982,118884,118882,106728,118902,106724,106722,82408,106742,82404,82402,124948,124946,118836,118834,106612,106610,124224,127664,129372,124192,127640,129358,124176,127628,124168,127622,124164,124162,117568,124336,127708,117536,124312,127694,117520,124300,117512,124294,117508,117506,104256,117680,124380,104224,117656,124366,104208,117644,104200,117638,104196,104194,77632,104368,117724,77600,104344,117710,77584,104332,77576,104326,77572,77744,104412,77720,104398,77708,77702,77788,
77774,128672,129880,93168,128656,129868,92664,128648,129862,92412,128644,128642,124064,127576,129326,126368,124048,129902,126352,128716,127558,126344,124036,126340,124034,126338,117152,124120,127598,121760,117136,124108,121744,126412,124102,121736,117124,121732,117122,121730,103328,117208,124142,112544,103312,117196,112528,121804,117190,112520,103300,112516,103298,112514,75680,103384,117230,94112,75664,103372,94096,112588,103366,94088,75652,94084,75650,75736,103406,94168,75724,94156,75718,94150,75758,
128592,129836,91640,128584,129830,91388,128580,91262,128578,123984,127532,126160,123976,127526,126152,128614,126148,123970,126146,116944,124012,121296,116936,124006,121288,126182,121284,116930,121282,102864,116972,111568,102856,116966,111560,121318,111556,102850,111554,74704,102892,92112,74696,102886,92104,111590,92100,74690,92098,74732,92140,74726,92134,128552,129814,90876,128548,90750,128546,123944,127510,126056,128566,126052,123938,126050,116840,123958,121064,116836,121060,116834,121058,102632,
116854,111080,121078,111076,102626,111074,74216,102646,91112,74212,91108,74210,91106,74230,91126,128532,90494,128530,123924,126004,123922,126002,116788,120948,116786,120946,102516,110836,102514,110834,73972,90612,73970,90610,128522,123914,125978,116762,120890,102458,110714,123552,127320,129198,123536,127308,123528,127302,123524,123522,116128,123608,127342,116112,123596,116104,123590,116100,116098,101280,116184,123630,101264,116172,101256,116166,101252,101250,71584,101336,116206,71568,101324,71560,
101318,71556,71554,71640,101358,71628,71622,71662,127824,129452,79352,127816,129446,79100,127812,78974,127810,123472,127276,124624,123464,127270,124616,127846,124612,123458,124610,115920,123500,118224,115912,123494,118216,124646,118212,115906,118210,100816,115948,105424,100808,115942,105416,118246,105412,100802,105410,70608,100844,79824,70600,100838,79816,105446,79812,70594,79810,70636,79852,70630,79846,129960,95728,113404,129956,95480,113278,129954,95356,95294,127784,129430,78588,128872,129974,95996,
78462,128868,127778,95870,128866,123432,127254,124520,123428,126696,128886,123426,126692,124514,126690,115816,123446,117992,115812,122344,117988,115810,122340,117986,122338,100584,115830,104936,100580,113640,104932,100578,113636,104930,113634,70120,100598,78824,70116,96232,78820,70114,96228,78818,96226,70134,78838,129940,94968,113022,129938,94844,94782,127764,78206,128820,127762,95102,128818,123412,124468,123410,126580,124466,126578,115764,117876,115762,122100,117874,122098,100468,104692,100466,113140,
104690,113138,69876,78324,69874,95220,78322,95218,129930,94588,94526,127754,128794,123402,124442,126522,115738,117818,121978,100410,104570,112890,69754,78074,94714,94398,123216,127148,123208,127142,123204,123202,115408,123244,115400,123238,115396,115394,99792,115436,99784,115430,99780,99778,68560,99820,68552,99814,68548,68546,68588,68582,127400,129238,72444,127396,72318,127394,123176,127126,123752,123172,123748,123170,123746,115304,123190,116456,115300,116452,115298,116450,99560,115318,101864,99556,
101860,99554,101858,68072,99574,72680,68068,72676,68066,72674,68086,72694,129492,80632,105854,129490,80508,80446,127380,72062,127924,127378,80766,127922,123156,123700,123154,124788,123698,124786,115252,116340,115250,118516,116338,118514,99444,101620,99442,105972,101618,105970,67828,72180,67826,80884,72178,80882,97008,114044,96888,113982,96828,96798,129482,80252,130010,97148,80190,97086,127370,127898,128954,123146,123674,124730,126842,115226,116282,118394,122618,99386,101498,105722,114170,67706,71930,
80378,96632,113854,96572,96542,80062,96702,96444,96414,96350,123048,123044,123042,115048,123062,115044,115042,99048,115062,99044,99042,67048,99062,67044,67042,67062,127188,68990,127186,123028,123316,123026,123314,114996,115572,114994,115570,98932,100084,98930,100082,66804,69108,66802,69106,129258,73084,73022,127178,127450,123018,123290,123834,114970,115514,116602,98874,99962,102138,66682,68858,73210,81272,106174,81212,81182,72894,81342,97648,114364,97592,114334,97564,97550,81084,97724,81054,97694,
97464,114270,97436,97422,80990,97502,97372,97358,97326,114868,114866,98676,98674,66292,66290,123098,114842,115130,98618,99194,66170,67322,69310,73404,73374,81592,106334,81564,81550,73310,81630,97968,114524,97944,114510,97932,97926,81500,98012,81486,97998,97880,114478,97868,97862,81454,97902,97836,97830,69470,73564,73550,81752,106414,81740,81734,73518,81774,81708,81702],[109536,120312,86976,109040,120060,86496,108792,119934,86256,108668,86136,129744,89056,110072,129736,88560,109820,129732,88312,109694,
129730,88188,128464,129772,89592,128456,129766,89340,128452,89214,128450,125904,128492,125896,128486,125892,125890,120784,125932,120776,125926,120772,120770,110544,120812,110536,120806,110532,84928,108016,119548,84448,107768,119422,84208,107644,84088,107582,84028,129640,85488,108284,129636,85240,108158,129634,85116,85054,128232,129654,85756,128228,85630,128226,125416,128246,125412,125410,119784,125430,119780,119778,108520,119798,108516,108514,83424,107256,119166,83184,107132,83064,107070,83004,82974,
129588,83704,107390,129586,83580,83518,128116,83838,128114,125172,125170,119284,119282,107508,107506,82672,106876,82552,106814,82492,82462,129562,82812,82750,128058,125050,119034,82296,106686,82236,82206,82366,82108,82078,76736,103920,117500,76256,103672,117374,76016,103548,75896,103486,75836,129384,77296,104188,129380,77048,104062,129378,76924,76862,127720,129398,77564,127716,77438,127714,124392,127734,124388,124386,117736,124406,117732,117730,104424,117750,104420,104418,112096,121592,126334,92608,
111856,121468,92384,111736,121406,92272,111676,92216,111646,92188,75232,103160,117118,93664,74992,103036,93424,112252,102974,93304,74812,93244,74782,93214,129332,75512,103294,129908,129330,93944,75388,129906,93820,75326,93758,127604,75646,128756,127602,94078,128754,124148,126452,124146,126450,117236,121844,117234,121842,103412,103410,91584,111344,121212,91360,111224,121150,91248,111164,91192,111134,91164,91150,74480,102780,91888,74360,102718,91768,111422,91708,74270,91678,129306,74620,129850,92028,
74558,91966,127546,128634,124026,126202,116986,121338,102906,90848,110968,121022,90736,110908,90680,110878,90652,90638,74104,102590,91E3,74044,90940,74014,90910,74174,91070,90480,110780,90424,110750,90396,90382,73916,90556,73886,90526,90296,110686,90268,90254,73822,90334,90204,90190,71136,101112,116094,70896,100988,70776,100926,70716,70686,129204,71416,101246,129202,71292,71230,127348,71550,127346,123636,123634,116212,116210,101364,101362,79296,105200,118140,79072,105080,118078,78960,105020,78904,
104990,78876,78862,70384,100732,79600,70264,100670,79480,105278,79420,70174,79390,129178,70524,129466,79740,70462,79678,127290,127866,123514,124666,115962,118266,100858,113376,122232,126654,95424,113264,122172,95328,113208,122142,95280,113180,95256,113166,95244,78560,104824,117950,95968,78448,104764,95856,113468,104734,95800,78364,95772,78350,95758,70008,100542,78712,69948,96120,78652,69918,96060,78622,96030,70078,78782,96190,94912,113008,122044,94816,112952,122014,94768,112924,94744,112910,94732,
94726,78192,104636,95088,78136,104606,95032,113054,95004,78094,94990,69820,78268,69790,95164,78238,95134,94560,112824,121950,94512,112796,94488,112782,94476,94470,78008,104542,94648,77980,94620,77966,94606,69726,78046,94686,94384,112732,94360,112718,94348,94342,77916,94428,77902,94414,94296,112686,94284,94278,77870,94318,94252,94246,68336,99708,68216,99646,68156,68126,68476,68414,127162,123258,115450,99834,72416,101752,116414,72304,101692,72248,101662,72220,72206,67960,99518,72568,67900,72508,67870,
72478,68030,72638,80576,105840,118460,80480,105784,118430,80432,105756,80408,105742,80396,80390,72048,101564,80752,71992,101534,80696,71964,80668,71950,80654,67772,72124,67742,80828,72094,80798,114016,122552,126814,96832,113968,122524,96800,113944,122510,96784,113932,96776,113926,96772,80224,105656,118366,97120,80176,105628,97072,114076,105614,97048,80140,97036,80134,97030,71864,101470,80312,71836,97208,80284,71822,97180,80270,97166,67678,71902,80350,97246,96576,113840,122460,96544,113816,122446,
96528,113804,96520,113798,96516,96514,80048,105564,96688,80024,105550,96664,113870,96652,80006,96646,71772,80092,71758,96732,80078,96718,96416,113752,122414,96400,113740,96392,113734,96388,96386,79960,105518,96472,79948,96460,79942,96454,71726,79982,96494,96336,113708,96328,113702,96324,96322,79916,96364,79910,96358,96296,113686,96292,96290,79894,96310,66936,99006,66876,66846,67006,68976,100028,68920,99998,68892,68878,66748,69052,66718,69022,73056,102072,116574,73008,102044,72984,102030,72972,72966,
68792,99934,73144,68764,73116,68750,73102,66654,68830,73182,81216,106160,118620,81184,106136,118606,81168,106124,81160,106118,81156,81154,72880,101980,81328,72856,101966,81304,106190,81292,72838,81286,68700,72924,68686,81372,72910,81358,114336,122712,126894,114320,122700,114312,122694,114308,114306,81056,106072,118574,97696,81040,106060,97680,114380,106054,97672,81028,97668,81026,97666,72792,101934,81112,72780,97752,81100,72774,97740,81094,97734,68654,72814,81134,97774,114256,122668,114248,122662,
114244,114242,80976,106028,97488,80968,106022,97480,114278,97476,80962,97474,72748,81004,72742,97516,80998,97510,114216,122646,114212,114210,80936,106006,97384,80932,97380,80930,97378,72726,80950,97398,114196,114194,80916,97332,80914,97330,66236,66206,67256,99166,67228,67214,66142,67294,69296,100188,69272,100174,69260,69254,67164,69340,67150,69326,73376,102232,116654,73360,102220,73352,102214,73348,73346,69208,100142,73432,102254,73420,69190,73414,67118,69230,73454,106320,118700,106312,118694,106308,
106306,73296,102188,81616,106348,102182,81608,73284,81604,73282,81602,69164,73324,69158,81644,73318,81638,122792,126934,122788,122786,106280,118678,114536,106276,114532,106274,114530,73256,102166,81512,73252,98024,81508,73250,98020,81506,98018,69142,73270,81526,98038,122772,122770,106260,114484,106258,114482,73236,81460,73234,97908,81458,97906,122762,106250,114458,73226,81434,97850,66396,66382,67416,99246,67404,67398,66350,67438,69456,100268,69448,100262,69444,69442,67372,69484,67366,69478,102312,
116694,102308,102306,69416,100246,73576,102326,73572,69410,73570,67350,69430,73590,118740,118738,102292,106420,102290,106418,69396,73524,69394,81780,73522,81778,118730,102282,106394,69386,73498,81722,66476,66470,67496,99286,67492,67490,66454,67510,100308,100306,67476,69556,67474,69554,116714]],rsfactors:[[27,917],[522,568,723,809],[237,308,436,284,646,653,428,379],[274,562,232,755,599,524,801,132,295,116,442,428,295,42,176,65],[361,575,922,525,176,586,640,321,536,742,677,742,687,284,193,517,273,494,
263,147,593,800,571,320,803,133,231,390,685,330,63,410],[539,422,6,93,862,771,453,106,610,287,107,505,733,877,381,612,723,476,462,172,430,609,858,822,543,376,511,400,672,762,283,184,440,35,519,31,460,594,225,535,517,352,605,158,651,201,488,502,648,733,717,83,404,97,280,771,840,629,4,381,843,623,264,543],[521,310,864,547,858,580,296,379,53,779,897,444,400,925,749,415,822,93,217,208,928,244,583,620,246,148,447,631,292,908,490,704,516,258,457,907,594,723,674,292,272,96,684,432,686,606,860,569,193,219,
129,186,236,287,192,775,278,173,40,379,712,463,646,776,171,491,297,763,156,732,95,270,447,90,507,48,228,821,808,898,784,663,627,378,382,262,380,602,754,336,89,614,87,432,670,616,157,374,242,726,600,269,375,898,845,454,354,130,814,587,804,34,211,330,539,297,827,865,37,517,834,315,550,86,801,4,108,539],[524,894,75,766,882,857,74,204,82,586,708,250,905,786,138,720,858,194,311,913,275,190,375,850,438,733,194,280,201,280,828,757,710,814,919,89,68,569,11,204,796,605,540,913,801,700,799,137,439,418,592,
668,353,859,370,694,325,240,216,257,284,549,209,884,315,70,329,793,490,274,877,162,749,812,684,461,334,376,849,521,307,291,803,712,19,358,399,908,103,511,51,8,517,225,289,470,637,731,66,255,917,269,463,830,730,433,848,585,136,538,906,90,2,290,743,199,655,903,329,49,802,580,355,588,188,462,10,134,628,320,479,130,739,71,263,318,374,601,192,605,142,673,687,234,722,384,177,752,607,640,455,193,689,707,805,641,48,60,732,621,895,544,261,852,655,309,697,755,756,60,231,773,434,421,726,528,503,118,49,795,32,
144,500,238,836,394,280,566,319,9,647,550,73,914,342,126,32,681,331,792,620,60,609,441,180,791,893,754,605,383,228,749,760,213,54,297,134,54,834,299,922,191,910,532,609,829,189,20,167,29,872,449,83,402,41,656,505,579,481,173,404,251,688,95,497,555,642,543,307,159,924,558,648,55,497,10],[352,77,373,504,35,599,428,207,409,574,118,498,285,380,350,492,197,265,920,155,914,299,229,643,294,871,306,88,87,193,352,781,846,75,327,520,435,543,203,666,249,346,781,621,640,268,794,534,539,781,408,390,644,102,476,
499,290,632,545,37,858,916,552,41,542,289,122,272,383,800,485,98,752,472,761,107,784,860,658,741,290,204,681,407,855,85,99,62,482,180,20,297,451,593,913,142,808,684,287,536,561,76,653,899,729,567,744,390,513,192,516,258,240,518,794,395,768,848,51,610,384,168,190,826,328,596,786,303,570,381,415,641,156,237,151,429,531,207,676,710,89,168,304,402,40,708,575,162,864,229,65,861,841,512,164,477,221,92,358,785,288,357,850,836,827,736,707,94,8,494,114,521,2,499,851,543,152,729,771,95,248,361,578,323,856,
797,289,51,684,466,533,820,669,45,902,452,167,342,244,173,35,463,651,51,699,591,452,578,37,124,298,332,552,43,427,119,662,777,475,850,764,364,578,911,283,711,472,420,245,288,594,394,511,327,589,777,699,688,43,408,842,383,721,521,560,644,714,559,62,145,873,663,713,159,672,729,624,59,193,417,158,209,563,564,343,693,109,608,563,365,181,772,677,310,248,353,708,410,579,870,617,841,632,860,289,536,35,777,618,586,424,833,77,597,346,269,757,632,695,751,331,247,184,45,787,680,18,66,407,369,54,492,228,613,
830,922,437,519,644,905,789,420,305,441,207,300,892,827,141,537,381,662,513,56,252,341,242,797,838,837,720,224,307,631,61,87,560,310,756,665,397,808,851,309,473,795,378,31,647,915,459,806,590,731,425,216,548,249,321,881,699,535,673,782,210,815,905,303,843,922,281,73,469,791,660,162,498,308,155,422,907,817,187,62,16,425,535,336,286,437,375,273,610,296,183,923,116,667,751,353,62,366,691,379,687,842,37,357,720,742,330,5,39,923,311,424,242,749,321,54,669,316,342,299,534,105,667,488,640,672,576,540,316,
486,721,610,46,656,447,171,616,464,190,531,297,321,762,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]],init:function(a,b,c){a=unescape(encodeURIComponent(a));b=b||-1;c=c||2;this.barcode_array={};if(""===a)return!1;sequence=this.getInputSequences(a);codewords=[];for(var d=0;d<sequence.length;d++)a=this.getCompaction(sequence[d][0],sequence[d][1],
!0),codewords=codewords.concat(a);900==codewords[0]&&codewords.shift();a=codewords.length;if(925<a)return!1;b=this.getErrorCorrectionLevel(b,a);var e=2<<b,d=a+e+1;a=Math.round((Math.sqrt(4761+68*c*this.ROWHEIGHT*d)-69)/34);1>a?a=1:30<a&&(a=30);var g=Math.ceil(d/a),f=a*g;if(3>g||90<g)3>g?g=3:90<g&&(g=90),a=Math.ceil(f/g),f=a*g;928<f&&(Math.abs(c-15.40625)<Math.abs(c-272/58)?(a=29,g=32):(a=16,g=58),f=928);c=f-d;0<c&&(f-g==d?(--g,f-=g):codewords=codewords.concat(this._array_fill(0,c,900)));codewords.unshift(f-
e);c=this.getErrorCorrection(codewords,b);codewords=codewords.concat(c);c=this._str_repeat("0",this.QUIETH)+this.start_pattern;e=this.stop_pattern+""+this._str_repeat("0",this.QUIETH);this.barcode_array.num_rows=g*this.ROWHEIGHT+2*this.QUIETV;this.barcode_array.num_cols=17*(a+2)+35+2*this.QUIETH;this.barcode_array.bcode=[];var h;if(0<this.QUIETV)for(h=this._array_fill(0,this.barcode_array.num_cols,0),d=0;d<this.QUIETV;++d)this.barcode_array.bcode.push(h);for(var k,l=f=d=0;l<g;++l){var m=c;switch(f){case 0:k=
30*this._intval(l/3)+this._intval((g-1)/3);break;case 1:k=30*this._intval(l/3)+3*b+(g-1)%3;break;case 2:k=30*this._intval(l/3)+(a-1)}for(var m=m+this._sprintf("%17b",this.clusters[f][k]),n=0;n<a;++n)m+=this._sprintf("%17b",this.clusters[f][codewords[d]]),++d;switch(f){case 0:k=30*this._intval(l/3)+(a-1);break;case 1:k=30*this._intval(l/3)+this._intval((g-1)/3);break;case 2:k=30*this._intval(l/3)+3*b+(g-1)%3}m+=this._sprintf("%17b",this.clusters[f][k]);m+=e;m=this._preg_split("//",m,-1,"PREG_SPLIT_NO_EMPTY");
for(n=0;n<this.ROWHEIGHT;++n)this.barcode_array.bcode.push(m);++f;2<f&&(f=0)}if(0<this.QUIETV)for(d=0;d<this.QUIETV;++d)this.barcode_array.bcode.push(h)},getInputSequences:function(a){var b=[],c=[],c=a.match(/([0-9]{13,44})/g);if(null==c)c=[];else for(var d=0;d<c.length;d++){var e=a.indexOf(c[d]);c[d]=[c[d],e]}c.push(["",a.length]);for(var g=e=0;g<c.length;g++){var f=c[g],h=f[0].length;if(0<f[1]){var k=a.substr(e,f[1]-e),l=[],l=k.match(/([\x09\x0a\x0d\x20-\x7e]{5,})/g);if(null==l)l=[];else for(d=
0;d<l.length;d++)e=k.indexOf(l[d]),l[d]=[l[d],e];l.push(["",k.length]);for(var m=0,d=0;d<l.length;d++){var e=l[d],n=e[0].length;0<e[1]&&(m=k.substr(m,e[1]-m),0<m.length&&(1==m.length&&0<b.length&&900==b[b.length-1][0]?b.push([913,m]):0==m.length%6?b.push([924,m]):b.push([901,m])));0<n&&b.push([900,e[0]]);m=e[1]+n}}0<h&&b.push([902,f[0]]);e=f[1]+h}return b},getCompaction:function(a,b,c){c=c||!0;var d=[];switch(a){case 900:for(var e=0,g=[],f=b.length,h=0;h<f;++h){var k=this._ord(b.charAt(h)),l;if(!1!==
(l=this._array_search(k,this.textsubmodes[e])))g.push(l);else for(var m=0;4>m;++m)if(m!=e&&!1!==(l=this._array_search(k,this.textsubmodes[m]))){(h+1==f||h+1<f&&!1!==this._array_search(this._ord(b.charAt(h+1)),this.textsubmodes[e]))&&(3==m||0==m&&1==e)?3==m?g.push(29):g.push(27):(g=g.concat(this.textlatch[""+e+m]),e=m);g.push(l);break}}b=g.length;0!=b%2&&(g.push(29),++b);for(h=0;h<b;h+=2)d.push(30*parseInt(g[h])+parseInt(g[h+1]));break;case 901:case 924:for(;0<(f=b.length);){6<f?(g=b.substring(6),
b=b.substring(0,6),e=6):(g="",e=b.length);if(6==e){h=bcmul(""+this._ord(b.charAt(0)),"1099511627776");h=bcadd(h,bcmul(""+this._ord(b.charAt(1)),"4294967296"));h=bcadd(h,bcmul(""+this._ord(b.charAt(2)),"16777216"));h=bcadd(h,bcmul(""+this._ord(b.charAt(3)),"65536"));h=bcadd(h,bcmul(""+this._ord(b.charAt(4)),"256"));h=bcadd(h,""+this._ord(b.charAt(5)));do b=this._my_bcmod(h,"900"),h=bcdiv(h,"900"),d.unshift(b);while("0"!=h)}else for(h=0;h<e;++h)d.push(this._ord(b.charAt(h)));b=g}break;case 902:for(;0<
(f=b.length);){44<f?(g=b.substring(44),b=b.substring(0,44)):g="";h="1"+b;do b=this._my_bcmod(h,"900"),h=bcdiv(h,"900"),d.unshift(b);while("0"!=h);b=g}break;case 913:d.push(this._ord(b))}c&&d.unshift(a);return d},getErrorCorrectionLevel:function(a,b){for(var c=8,d=928-b;0<c&&!(d>=2<<a);)--c;if(0>a||8<a)a=41>b?2:161>b?3:321>b?4:864>b?5:c;a>c&&(a=c);return a},getErrorCorrection:function(a,b){for(var c=this.rsfactors[b],d=2<<b,e=d-1,d=this._array_fill(0,d,0),g=0;g<a.length;g++){for(var f=(a[g]+d[e])%
929,h=e;0<h;--h){var k=f*c[h]%929,k=929-k;d[h]=(d[h-1]+k)%929}k=f*c[0]%929;k=929-k;d[0]=k%929}for(h=0;h<d.length;h++)0!=d[h]&&(d[h]=929-d[h]);return d=d.reverse()},getBarcodeArray:function(){return this.barcode_array},_array_fill:function(a,b,c){var d,e={};if(0==a){a=[];for(d=0;d<b;d++)a.push(c);return a}if(!isNaN(a)&&!isNaN(b))for(d=0;d<b;d++)e[d+a]=c;return e},_str_repeat:function(a,b){for(var c="";;)if(b&1&&(c+=a),b>>=1)a+=a;else break;return c},_intval:function(a,b){var c;c=typeof a;return"boolean"===
c?+a:"string"===c?(c=parseInt(a,b||10),isNaN(c)||!isFinite(c)?0:c):"number"===c&&isFinite(a)?a|0:0},_sprintf:function(){var a=arguments,b=0,c=function(a,b,c,d){c||(c=" ");b=a.length>=b?"":Array(1+b-a.length>>>0).join(c);return d?a+b:b+a},d=function(a,b,d,e,l,m){var n=e-a.length;0<n&&(a=d||!l?c(a,e,m,d):a.slice(0,b.length)+c("",n,"0",!0)+a.slice(b.length));return a},e=function(a,b,e,k,l,m,n){a>>>=0;e=e&&a&&{2:"0b",8:"0",16:"0x"}[b]||"";a=e+c(a.toString(b),m||0,"0",!1);return d(a,e,k,l,n)};return a[b++].replace(/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,
function(g,f,h,k,l,m,n){var q,s;if("%%"==g)return"%";var p=!1;s="";var r=l=!1;q=" ";for(var t=h.length,u=0;h&&u<t;u++)switch(h.charAt(u)){case " ":s=" ";break;case "+":s="+";break;case "-":p=!0;break;case "'":q=h.charAt(u+1);break;case "0":l=!0;break;case "#":r=!0}k=k?"*"==k?+a[b++]:"*"==k.charAt(0)?+a[k.slice(1,-1)]:+k:0;0>k&&(k=-k,p=!0);if(!isFinite(k))throw Error("sprintf: (minimum-)width must be finite");m=m?"*"==m?+a[b++]:"*"==m.charAt(0)?+a[m.slice(1,-1)]:+m:-1<"fFeE".indexOf(n)?6:"d"==n?0:
void 0;f=f?a[f.slice(0,-1)]:a[b++];switch(n){case "s":return n=String(f),null!=m&&(n=n.slice(0,m)),d(n,"",p,k,l,q);case "c":return n=String.fromCharCode(+f),null!=m&&(n=n.slice(0,m)),d(n,"",p,k,l,void 0);case "b":return e(f,2,r,p,k,m,l);case "o":return e(f,8,r,p,k,m,l);case "x":return e(f,16,r,p,k,m,l);case "X":return e(f,16,r,p,k,m,l).toUpperCase();case "u":return e(f,10,r,p,k,m,l);case "i":case "d":return q=+f||0,q=Math.round(q-q%1),g=0>q?"-":s,f=g+c(String(Math.abs(q)),m,"0",!1),d(f,g,p,k,l);case "e":case "E":case "f":case "F":case "g":case "G":return q=
+f,g=0>q?"-":s,s=["toExponential","toFixed","toPrecision"]["efg".indexOf(n.toLowerCase())],n=["toString","toUpperCase"]["eEfFgG".indexOf(n)%2],f=g+Math.abs(q)[s](m),d(f,g,p,k,l)[n]();default:return g}})},_preg_split:function(a,b,c,d){c=c||0;d=d||"";var e,g=[],f=0,h=0,k=!1,l=!1,m=!1,n={},l=0;e=/^\/(.*)\/\w*$/.exec(a.toString())[1];h=/^\/.*\/(\w*)$/.exec(a.toString())[1];a=a.global&&"string"!==typeof a?a:RegExp(e,h+(-1!==h.indexOf("g")?"":"g"));n={PREG_SPLIT_NO_EMPTY:1,PREG_SPLIT_DELIM_CAPTURE:2,PREG_SPLIT_OFFSET_CAPTURE:4};
if("number"!==typeof d){d=[].concat(d);for(h=0;h<d.length;h++)n[d[h]]&&(l|=n[d[h]]);d=l}k=d&n.PREG_SPLIT_NO_EMPTY;l=d&n.PREG_SPLIT_DELIM_CAPTURE;m=d&n.PREG_SPLIT_OFFSET_CAPTURE;d=function(a,b){if(!k||a.length)m&&(a=[a,b]),g.push(a)};if(!e){e=b.split("");for(h=0;h<e.length;h++)d(e[h],h);return g}for(;(e=a.exec(b))&&1!==c;){d(b.slice(f,e.index),f);f=e.index+e[0].length;if(l)for(n=Array.prototype.slice.call(e),h=1;h<n.length;h++)void 0!==e[h]&&d(e[h],e.index+e[0].indexOf(e[h]));c--}d(b.slice(f,b.length),
f);return g},_ord:function(a){return a.charCodeAt(0)},_array_search:function(a,b,c){var d=!!c,e="";if(b&&"object"===typeof b&&b.change_key_case)return b.search(a,c);if("object"===typeof a&&a.exec){d||(a=RegExp(a.source,"i"+(a.global?"g":"")+(a.multiline?"m":"")+(a.sticky?"y":"")));for(e in b)if(a.test(b[e]))return e;return!1}for(e in b)if(d&&b[e]===a||!d&&b[e]==a)return e;return!1},_my_bcmod:function(a,b){var c="";do c=parseInt(c+""+a.substring(0,5)),a=a.substring(5),c%=b;while(a.length);return parseInt(c)}};