YUI.add("gallery-base64",function(B){var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";B.Base64={decode:function(H){H=H.replace(/\s/g,"");if(!(/^[a-z0-9\+\/\s]+\={0,2}$/i.test(H))||H.length%4>0){throw new Error("Not a base64-encoded string.");}var G,E,F,D=0,C=[];H=H.replace(/\=/g,"");while(D>4));break;case 2:C.push(String.fromCharCode((E&15)<<4|G>>2));break;case 3:C.push(String.fromCharCode((E&3)<<6|G));break;}E=G;D++;}return C.join("");},encode:function(H){if(/([^\u0000-\u00ff])/.test(H)){throw new Error("Can't base64 encode non-ASCII characters.");}var E=0,G,F,D,C=[];while(E>2));break;case 1:C.push(A.charAt((F&3)<<4|(G>>4)));break;case 2:C.push(A.charAt((F&15)<<2|(G>>6)));C.push(A.charAt(G&63));break;}F=G;E++;}if(D==0){C.push(A.charAt((F&3)<<4));C.push("==");}else{if(D==1){C.push(A.charAt((F&15)<<2));C.push("=");}}return C.join("");}};},"gallery-2009.12.08-22");