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 l,aa=typeof Object.create=="function"?Object.create:function(a){function b(){}b.prototype=a;return new b},ba=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 ca(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});m("globalThis",function(a){return a||da});m("Object.is",function(a){return a?a:function(b,c){return b===c?b!==0||1/b===1/c:b!==b&&c!==c}});
m("Symbol.dispose",function(a){return a?a:Symbol("d")});m("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}});
m("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))};q.prototype.i=["java.lang.Object",0];function v(){}n(v,q);function w(a,b){a.g=b;pa(b,a)}function x(a){qa(a.g)&&(Error.captureStackTrace?Error.captureStackTrace(y(a.g,qa,ra)):y(a.g,qa,ra).stack=Error().stack)}v.prototype.toString=function(){var a=t(u(this.constructor)),b=this.h;return b==null?a:r(a)+": "+r(b)};function sa(a){if(a!=null){var b=a.u;if(b)return b}a instanceof TypeError?b=ta():(b=new z,x(b),w(b,Error(b)));b.h=a==null?"null":a.toString();w(b,a);return b}v.prototype.i=["java.lang.Throwable",0];function ua(){}n(ua,v);ua.prototype.i=["java.lang.Exception",0];function A(){}n(A,ua);A.prototype.i=["java.lang.RuntimeException",0];function va(){}n(va,A);va.prototype.i=["java.lang.IndexOutOfBoundsException",0];function y(a,b,c){if(a!=null&&!b(a))throw a=r(t(wa(a)))+" cannot be cast to "+r(t(u(c))),b=new xa,b.h=a,x(b),w(b,Error(b)),b.g;return a};function ya(a,b,c){if(Object.prototype.hasOwnProperty.call(a.prototype,b))return a.prototype[b];c=c();return a.prototype[b]=c};function za(){}n(za,q);za.prototype.i=["java.lang.Boolean",0];function Aa(){}n(Aa,q);Aa.prototype.i=["java.lang.Number",0];function Ba(){}n(Ba,Aa);Ba.prototype.i=["java.lang.Double",0];function Ca(a,b){B(a)?(Da(b,a.length),a=a.charCodeAt(b)):a=a.g(b);return a};function z(){}n(z,A);z.prototype.i=["java.lang.JsException",0];function Ea(){}n(Ea,z);function ta(){var a=new Ea;x(a);w(a,new TypeError(a));return a}Ea.prototype.i=["java.lang.NullPointerException",0];function xa(){}n(xa,A);xa.prototype.i=["java.lang.ClassCastException",0];var oa=0;function wa(a){switch(Fa(typeof a)){case "number":return u(Ba);case "boolean":return u(za);case "string":return u(C);case "function":return u(Ga)}if(a instanceof q)a=u(a.constructor);else if(Array.isArray(a))a=(a=a.F)?u(a.I,a.H):u(q,1);else if(a!=null)a=u(Ha);else throw new TypeError("f");return a};function Ga(){}Ga.prototype.i=["",1];function Ha(){}n(Ha,q);Ha.prototype.i=["",0];function Ia(){}n(Ia,va);function Ja(a){var b=new Ia;b.h=a;x(b);w(b,Error(b));return b}Ia.prototype.i=["java.lang.StringIndexOutOfBoundsException",0];function Fa(a){if(a==null)throw ta().g;return a}function Da(a,b){if(a=b)throw Ja("g`"+a+"`"+b).g;};function ra(){}function qa(a){return a instanceof Error}ra.prototype.i=["Error",0];function pa(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 C(){}n(C,q);function r(a){return a==null?"null":a.toString()}function Ka(a,b){var c=b,d=a.length,e;b=Ca(a,(e=c,c=c+1|0,e));var f;if(e=b>=55296&&b |