	function dissolve_key(codex)
		{
			var GeosArray = new Array(256), pull, builder, i, code, codexLen;
			var codeCheck, codexBreak, codeAdd, i2;

			GeosArray[1]='qa'; GeosArray[2]='sw'; GeosArray[3]='ed'; GeosArray[4]='fr'; GeosArray[5]='tg'; GeosArray[6]='hy'; GeosArray[7]='uj'; GeosArray[8]='ki'; GeosArray[9]='ol'; GeosArray[10]='az'; GeosArray[11]='xs'; GeosArray[12]='dc'; GeosArray[13]='vf'; GeosArray[14]='gb'; GeosArray[15]='nh'; GeosArray[16]='jm'; GeosArray[17]='pl'; GeosArray[18]='ko'; GeosArray[19]='ij'; GeosArray[20]='hu'; GeosArray[21]='yg'; GeosArray[22]='ft'; GeosArray[23]='rd'; GeosArray[24]='se'; GeosArray[25]='wa'; GeosArray[26]='km'; GeosArray[27]='nj'; GeosArray[28]='hb'; GeosArray[29]='vg'; GeosArray[30]='fc'; GeosArray[31]='xd'; GeosArray[32]='sz'; GeosArray[33]='qz'; GeosArray[34]='xw'; GeosArray[35]='ec'; GeosArray[36]='vr'; GeosArray[37]='tb'; GeosArray[38]='ny'; GeosArray[39]='um'; GeosArray[40]='om'; GeosArray[41]='ni'; GeosArray[42]='ub'; GeosArray[43]='vy'; GeosArray[44]='tc'; GeosArray[45]='xr'; GeosArray[46]='ez'; GeosArray[47]='qs'; GeosArray[48]='wd'; GeosArray[49]='ef'; GeosArray[50]='rg'; GeosArray[51]='th'; GeosArray[52]='yj'; GeosArray[53]='uk'; GeosArray[54]='il'; GeosArray[55]='ax'; GeosArray[56]='sc'; GeosArray[57]='dv'; GeosArray[58]='fb'; GeosArray[59]='gn'; GeosArray[60]='hm'; GeosArray[61]='pk'; GeosArray[62]='oj'; GeosArray[63]='ih'; GeosArray[64]='ug'; GeosArray[65]='yf'; GeosArray[66]='td'; GeosArray[67]='rs'; GeosArray[68]='ea'; GeosArray[69]='ln'; GeosArray[70]='kb'; GeosArray[71]='jv'; GeosArray[72]='hc'; GeosArray[73]='gx'; GeosArray[74]='fz'; GeosArray[75]='aq'; GeosArray[76]='ws'; GeosArray[77]='de'; GeosArray[78]='rf'; GeosArray[79]='gt'; GeosArray[80]='yh'; GeosArray[81]='ju'; GeosArray[82]='ik'; GeosArray[83]='lo'; GeosArray[84]='za'; GeosArray[85]='sx'; GeosArray[86]='cd'; GeosArray[87]='fv'; GeosArray[88]='bg'; GeosArray[89]='hn'; GeosArray[90]='mj'; GeosArray[91]='lp'; GeosArray[92]='ok'; GeosArray[93]='ji'; GeosArray[94]='uh'; GeosArray[95]='gy'; GeosArray[96]='tf'; GeosArray[97]='dr'; GeosArray[98]='es'; GeosArray[99]='aw'; GeosArray[100]='mk'; GeosArray[101]='jn'; GeosArray[102]='bh'; GeosArray[103]='gv'; GeosArray[104]='cf'; GeosArray[105]='dx'; GeosArray[106]='zs'; GeosArray[107]='zq'; GeosArray[108]='wx'; GeosArray[109]='ce'; GeosArray[110]='rv'; GeosArray[111]='bt'; GeosArray[112]='yn'; GeosArray[113]='mu'; GeosArray[114]='mp'; GeosArray[115]='on'; GeosArray[116]='uv'; GeosArray[117]='cy'; GeosArray[118]='tx'; GeosArray[119]='zr'; GeosArray[120]='wz'; GeosArray[121]='xe'; GeosArray[122]='rc'; GeosArray[123]='vt'; GeosArray[124]='yb'; GeosArray[125]='nu'; GeosArray[126]='im'; GeosArray[127]='zw'; GeosArray[128]='ex'; GeosArray[129]='cr'; GeosArray[130]='tv'; GeosArray[131]='by'; GeosArray[132]='un'; GeosArray[133]='mi'; GeosArray[134]='qm'; GeosArray[135]='wn'; GeosArray[136]='eb'; GeosArray[137]='yx'; GeosArray[138]='uz'; GeosArray[139]='ap'; GeosArray[140]='os'; GeosArray[141]='di'; GeosArray[142]='fu'; GeosArray[143]='ht'; GeosArray[144]='rj'; GeosArray[145]='ek'; GeosArray[146]='lw'; GeosArray[147]='qp'; GeosArray[148]='wo'; GeosArray[149]='ei'; GeosArray[150]='ri'; GeosArray[151]='tu'; GeosArray[152]='al'; GeosArray[153]='sk'; GeosArray[154]='dj'; GeosArray[155]='fh'; GeosArray[156]='zm'; GeosArray[157]='xn'; GeosArray[158]='cb'; GeosArray[159]='pq'; GeosArray[160]='ow'; GeosArray[161]='ie'; GeosArray[162]='ur'; GeosArray[163]='ut'; GeosArray[164]='la'; GeosArray[165]='ks'; GeosArray[166]='jd'; GeosArray[167]='hf'; GeosArray[168]='mz'; GeosArray[169]='nx'; GeosArray[170]='nc'; GeosArray[171]='bv'; GeosArray[172]='qv'; GeosArray[173]='wb'; GeosArray[174]='eh'; GeosArray[175]='rm'; GeosArray[176]='pv'; GeosArray[177]='oc'; GeosArray[178]='ix'; GeosArray[179]='xt'; GeosArray[180]='vu'; GeosArray[181]='bi'; GeosArray[182]='bw'; GeosArray[183]='en'; GeosArray[184]='ne'; GeosArray[185]='mr'; GeosArray[186]='tz'; GeosArray[187]='zt'; GeosArray[188]='cu'; GeosArray[189]='xy'; GeosArray[190]='uc'; GeosArray[191]='vi'; GeosArray[192]='bo'; GeosArray[193]='np'; GeosArray[194]='qn'; GeosArray[195]='ab'; GeosArray[196]='av'; GeosArray[197]='am'; GeosArray[198]='dn'; GeosArray[199]='dy'; GeosArray[200]='fs'; GeosArray[201]='du'; GeosArray[202]='do'; GeosArray[203]='pz'; GeosArray[204]='of'; GeosArray[205]='gw'; GeosArray[206]='yd'; GeosArray[207]='lt'; GeosArray[208]='bk'; GeosArray[209]='cj'; GeosArray[210]='xh'; GeosArray[211]='zf'; GeosArray[212]='ac'; GeosArray[213]='aj'; GeosArray[214]='bj'; GeosArray[215]='bc'; GeosArray[216]='bq'; GeosArray[217]='cq'; GeosArray[218]='ci'; GeosArray[219]='cx'; GeosArray[220]='ew'; GeosArray[221]='gc'; GeosArray[222]='dq'; GeosArray[223]='dt'; GeosArray[224]='ds'; GeosArray[225]='dz'; GeosArray[226]='em'; GeosArray[227]='eq'; GeosArray[228]='er'; GeosArray[229]='dg'; GeosArray[230]='fq'; GeosArray[231]='fa'; GeosArray[232]='sa'; GeosArray[233]='fw'; GeosArray[234]='ya'; GeosArray[235]='gh'; GeosArray[236]='yc'; GeosArray[237]='ym'; GeosArray[238]='yu'; GeosArray[239]='zu'; GeosArray[240]='zb'; GeosArray[241]='zx'; GeosArray[242]='kl'; GeosArray[243]='jk'; GeosArray[244]='hj'; GeosArray[245]='fg'; GeosArray[246]='sd'; GeosArray[247]='gs'; GeosArray[248]='zc'; GeosArray[249]='gf'; GeosArray[250]='gj'; GeosArray[251]='hg'; GeosArray[252]='jh'; GeosArray[253]='kj'; GeosArray[254]='mn'; GeosArray[255]='nb'; GeosArray[0]='vb';			

			builder = '';code=-1;
			pull = ''; i=0; code = 0;
			codexLen=0; codeCheck=0;
			
			
			pull = codex.substr(0,2);
			for (i=0;i<256;i++)
				{
					if(GeosArray[i]==pull){code=i;}
				}
			if(code==-1)
				{
					//alert('Dissolve Key Error\n\nI couldn\'t find that key code.\n\n'+codex);
					return '---';
				}else{
					codexLen = codex.length-2;
					codexBreak = codex.substr(2,codexLen);
					for (i=0;i<codexLen;i=i+2)
						{
							pull=codexBreak.substr(i,2);
							codeAdd='';
							for (i2=0;i2<256;i2++)
								{
									if(GeosArray[i2]==pull)
										{
											codeCheck=i2-code;
											if(codeCheck<0){codeCheck=codeCheck+256;}
											codeAdd = String.fromCharCode(codeCheck);
										}
								}
							if(codeAdd!='')
								{
									builder = codeAdd+builder;
								}
						}
				}
			return builder;
				
		}
