try {if (window === window.top) {const url = new URL(window.location); url.searchParams.delete('embedded'); window.location.href = url;}} catch(e) {}
Art/Craft: - Michaels
- Dollar Stores
- HobbyTown/Carr's Hobby: Local
- Amazon
Electronics: - Sparkfun: Fun to navigate/learn about unique products, little expensive usually.
- Adafruit: Similar to sparkfun with unique offerings.
- Tayda: Cheaper yet still easy to navigate
- DigiKey: Bulk, but must know EXACTLY what you want.
- All Electronics
- www.nextdayautomation.com: Maple Grove
- Ebay - Direct from china for bulk - >1mo but cheap
Acrylic Sheet: - Menards: Clear
- Home Depot: Clear
- Central Sales: Scraps - Basement Back Corner
- Inventables: Great selection, Lowest price for small sheets
Carbon Fiber: - RC Foam: Cheap Meter-length carbon tubes 3-5 days to door
RC: - HobbyKing: Great Prices
- HobbyTown: Local
- Carr Hobbies: Local
Lumber: - Menards/Home Depot: Construction Lumber, nice pine.
- Galleria: local, Unique hardwoods
Metal Stock: - Menards/Home Depot: Small pieces, $
- Russel Steel: Local, way cheaper
function _F_toggles_initialize(a){(typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:this)._F_toggles=a||[]}_F_toggles_initialize([]);
function k(){return function(){}}var aa=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b>0)+"_",e=0;return b});var da=typeof Object.create=="function"?Object.create:function(a){function b(){}b.prototype=a;return new b},m;
if(typeof Object.setPrototypeOf=="function")m=Object.setPrototypeOf;else{var n;a:{var ea={a:!0},fa={};try{fa.__proto__=ea;n=fa.a;break a}catch(a){}n=!1}m=n?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError("c`"+a);return a}:null}var ha=m;
function p(a,b){a.prototype=da(b.prototype);a.prototype.constructor=a;if(ha)ha(a,b);else for(var c in b)if(c!="prototype")if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.o=b.prototype}l("Object.is",function(a){return a?a:function(b,c){return b===c?b!==0||1/b===1/c:b!==b&&c!==c}});
l("String.fromCodePoint",function(a){return a?a:function(b){for(var c="",d=0;d>10&1023|55296),c+=String.fromCharCode(e&1023|56320))}return c}});l("Symbol.dispose",function(a){return a?a:Symbol("e")});
l("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f>0).toString(16))};u.prototype.i=["java.lang.Object",0];function y(){}p(y,u);function z(a,b){a.g=b;ma(b,a)}function A(a){na(a.g)&&(Error.captureStackTrace?Error.captureStackTrace(B(a.g,na,oa)):B(a.g,na,oa).stack=Error().stack)}y.prototype.toString=function(){var a=w(x(this.constructor)),b=this.h;return b==null?a:v(a)+": "+v(b)};function pa(a){if(a!=null){var b=a.u;if(b)return b}a instanceof TypeError?b=qa():(b=new C,A(b),z(b,Error(b)));b.h=a==null?"null":a.toString();z(b,a);return b}y.prototype.i=["java.lang.Throwable",0];function D(){}p(D,y);D.prototype.i=["java.lang.Exception",0];function E(){}p(E,D);E.prototype.i=["java.lang.RuntimeException",0];function ra(){}p(ra,E);ra.prototype.i=["java.lang.IndexOutOfBoundsException",0];function B(a,b,c){if(a!=null&&!b(a))throw a=v(w(sa(a)))+" cannot be cast to "+v(w(x(c))),b=new ta,b.h=a,A(b),z(b,Error(b)),b.g;return a};function ua(a,b,c){if(Object.prototype.hasOwnProperty.call(a.prototype,b))return a.prototype[b];c=c();return a.prototype[b]=c};function va(){}p(va,u);va.prototype.i=["java.lang.Boolean",0];function wa(){}p(wa,u);wa.prototype.i=["java.lang.Number",0];function xa(){}p(xa,wa);xa.prototype.i=["java.lang.Double",0];function ya(a,b){F(a)?(Aa(b,a.length),a=a.charCodeAt(b)):a=a.g(b);return a};function C(){}p(C,E);C.prototype.i=["java.lang.JsException",0];function Ba(){}p(Ba,C);function qa(){var a=new Ba;A(a);z(a,new TypeError(a));return a}Ba.prototype.i=["java.lang.NullPointerException",0];function ta(){}p(ta,E);ta.prototype.i=["java.lang.ClassCastException",0];var la=0;function sa(a){switch(Ca(typeof a)){case "number":return x(xa);case "boolean":return x(va);case "string":return x(G);case "function":return x(Da)}if(a instanceof u)a=x(a.constructor);else if(Array.isArray(a))a=(a=a.F)?x(a.I,a.H):x(u,1);else if(a!=null)a=x(Ea);else throw new TypeError("f");return a};function Da(){}Da.prototype.i=["",1];function Ea(){}p(Ea,u);Ea.prototype.i=["",0];function Fa(){}p(Fa,ra);function Ga(a){var b=new Fa;b.h=a;A(b);z(b,Error(b));return b}Fa.prototype.i=["java.lang.StringIndexOutOfBoundsException",0];function Ca(a){if(a==null)throw qa().g;return a}function Aa(a,b){if(a=b)throw Ga("g`"+a+"`"+b).g;};function oa(){}function na(a){return a instanceof Error}oa.prototype.i=["Error",0];function ma(a,b){if(a instanceof Object)try{a.u=b,Object.defineProperties(a,{cause:{get:function(){return b.m&&b.m.g}}})}catch(c){}};function G(){}p(G,u);function v(a){return a==null?"null":a.toString()}function Ha(a,b){var c=b,d=a.length,e;b=ya(a,(e=c,c=c+1|0,e));var f;if(e=b>=55296&&b |