'use strict';
							 | 
						|
								
							 | 
						|
								var zero = function (n, max) {
							 | 
						|
								  n = n.toString(16).toUpperCase();
							 | 
						|
								  while (n.length < max) {
							 | 
						|
								    n = '0' + n;
							 | 
						|
								  }
							 | 
						|
								  return n;
							 | 
						|
								};
							 | 
						|
								
							 | 
						|
								module.exports = function (buffer) {
							 | 
						|
								  var rows = Math.ceil(buffer.length / 16);
							 | 
						|
								  var last = buffer.length % 16 || 16;
							 | 
						|
								  var offsetLength = buffer.length.toString(16).length;
							 | 
						|
								  if (offsetLength < 6) offsetLength = 6;
							 | 
						|
								
							 | 
						|
								  var i;
							 | 
						|
								  var str = '';
							 | 
						|
								
							 | 
						|
								  var b = 0;
							 | 
						|
								  var lastBytes;
							 | 
						|
								  var lastSpaces;
							 | 
						|
								  var v;
							 | 
						|
								
							 | 
						|
								  for (i = 0; i < rows; i++) {
							 | 
						|
								    str += '\u001b[36m' + zero(b, offsetLength) + '\u001b[0m  ';
							 | 
						|
								    lastBytes = i === rows - 1 ? last : 16;
							 | 
						|
								    lastSpaces = 16 - lastBytes;
							 | 
						|
								
							 | 
						|
								    var j;
							 | 
						|
								    for (j = 0; j < lastBytes; j++) {
							 | 
						|
								      str += ' ' + zero(buffer[b], 2);
							 | 
						|
								      b++;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    for (j = 0; j < lastSpaces; j++) {
							 | 
						|
								      str += '   ';
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    b -= lastBytes;
							 | 
						|
								    str += '   ';
							 | 
						|
								
							 | 
						|
								    for (j = 0; j < lastBytes; j++) {
							 | 
						|
								      v = buffer[b];
							 | 
						|
								      str += (v > 31 && v < 127) || v > 159 ? String.fromCharCode(v) : '.';
							 | 
						|
								      b++;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    str += '\n';
							 | 
						|
								  }
							 | 
						|
								
							 | 
						|
								  return str;
							 | 
						|
								};
							 |