function build_bl_tree(s) {
	  var max_blindex;  /* index of last bit length code of non zero freq */
	
	  /* Determine the bit length frequencies for literal and distance trees */
	  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
	  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
	
	  /* Build the bit length tree: */
	  build_tree(s, s.bl_desc);
	  /* opt_len now includes the length of the tree representations, except
	   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
	   */
	
	  /* Determine the number of bit length codes to send. The pkzip format
	   * requires that at least 4 bit length codes be sent. (appnote.txt says
	   * 3 but the actual value used is 4.)
	   */
	  for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
	    if (s.bl_tree[bl_order[max_blindex]*2 + 1]/*.Len*/ !== 0) {
	      break;
	    }
	  }
	  /* Update opt_len to include the bit length tree and counts */
	  s.opt_len += 3*(max_blindex+1) + 5+5+4;
	  //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
	  //        s->opt_len, s->static_len));
	
	  return max_blindex;
	}
/* ===========================================================================
	 * Construct the Huffman tree for the bit lengths and return the index in
	 * bl_order of the last bit length code to send.
	 */
Construct the Huffman tree for the bit lengths and return the index in
bl_order of the last bit length code to send.
Construct the Huffman tree for the bit lengths and return the index in bl_order of the last bit length code to send .
function build_bl_tree(s) {
	  var max_blindex;  
	  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
	  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
	  build_tree(s, s.bl_desc);
	  for (max_blindex = BL_CODES-1; max_blindex >= 3; max_blindex--) {
	    if (s.bl_tree[bl_order[max_blindex]*2 + 1] !== 0) {
	      break;
	    }
	  }
	  s.opt_len += 3*(max_blindex+1) + 5+5+4;
	  return max_blindex;
	}
function build_bl_tree ( s ) { var max_blindex ; scan_tree ( s , s . dyn_ltree , s . l_desc . max_code ) ; scan_tree ( s , s . dyn_dtree , s . d_desc . max_code ) ; build_tree ( s , s . bl_desc ) ; for ( max_blindex = BL_CODES - 1 ; max_blindex >= 3 ; max_blindex -- ) { if ( s . bl_tree [ bl_order [ max_blindex ] * 2 + 1 ] !== 0 ) { break ; } } s . opt_len += 3 * ( max_blindex + 1 ) + 5 + 5 + 4 ; return max_blindex ; }
Construct the Huffman tree for the bit lengths and return the index in
 bl_order of the last bit length code to send.
Construct the Huffman tree for the bit lengths and return the index in bl_order of the last bit length code to send .
/* index of last bit length code of non zero freq */ /* Determine the bit length frequencies for literal and distance trees */ /* Build the bit length tree: */ /* opt_len now includes the length of the tree representations, except
	   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.
	   */ /* Determine the number of bit length codes to send. The pkzip format
	   * requires that at least 4 bit length codes be sent. (appnote.txt says
	   * 3 but the actual value used is 4.)
	   */ /*.Len*/ /* Update opt_len to include the bit length tree and counts */ //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", //        s->opt_len, s->static_len));