function sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {
		switch(opts.type) {
			case 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);
			case 'binary': return sylk_to_aoa_str(d, opts);
			case 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);
			case 'array': return sylk_to_aoa_str(cc2str(d), opts);
		}
		throw new Error("Unrecognized type " + opts.type);
	}
function sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {
		switch(opts.type) {
			case 'base64': return sylk_to_aoa_str(Base64.decode(d), opts);
			case 'binary': return sylk_to_aoa_str(d, opts);
			case 'buffer': return sylk_to_aoa_str(d.toString('binary'), opts);
			case 'array': return sylk_to_aoa_str(cc2str(d), opts);
		}
		throw new Error("Unrecognized type " + opts.type);
	}
function sylk_to_aoa ( d /*:RawData*/ , opts ) /*:[AOA, Worksheet]*/ { switch ( opts . type ) { case 'base64' : return sylk_to_aoa_str ( Base64 . decode ( d ) , opts ) ; case 'binary' : return sylk_to_aoa_str ( d , opts ) ; case 'buffer' : return sylk_to_aoa_str ( d . toString ( 'binary' ) , opts ) ; case 'array' : return sylk_to_aoa_str ( cc2str ( d ) , opts ) ; } throw new Error ( "Unrecognized type " + opts . type ) ; }
/* TODO: find an actual specification
/ * TODO : find an actual specification
Convert raw data to AIA