HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. It_Used
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 3
    • Groups 0

    It_Used

    @It_Used

    Steinway & Sons

    2
    Reputation
    1
    Profile views
    3
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online
    Age 21
    Website t.me/MiDi_CC64
    Location Russian, Siberia

    It_Used Unfollow Follow

    Best posts made by It_Used

    • Custom vectorized piano keyboard with unique octave indicator (Keyboard from VSL)

      I will be glad if my code is reviewed, as well as give me feedback.
      I also want to thank David Healey for his instructive videos. See.
      Visit to a HISE Bootcamp.
      Link to Figma project: Soon...

      Resault:
      Template.png

      Script:

      /*
      	Author: It_Used
      	Date: 13.08.25 | 02:20
      	Copyright:(c)2025, Vienna Symphonic Library
      
      */
      
      Content.makeFrontInterface(1140, 100);
      
      // Define Keyboard (KeyRange: 24-108).
      const var fltKeyboard = Content.getComponent("fltKeyboard");
      
      // Create LookAndFeel.
      const keyboardLaf = Content.createLocalLookAndFeel();
      
      // Declare SVGpath for state: Key up/Key down.
      
      // --- UP State --- \\
      const WK_up = Content.createSVG("168.nT6K8CFE.TOA.HMhd7ATAwB.4hv5uwu2QVD0.9e+ppX3aU.JR51iQmVmq3DEBXZyXBQSx6ZzdURRBEBF3qrPdOvdj20zAvQAbgzgEsLf4sYLwLqRsHniE8fRoozAAjR263CLf5d1CzyaH70XUqkW9cEpgxdy8bAj2RW6wb6Uq2NIiGcay3R.M..P.4AbQn3dUtuJC4BSWQNfg0qJenRrnX.TlgEV7ZVF");
      const BK_up = Content.createSVG("443.nT6K8C1nBzXC.XH1LMBHsUOhXDdaecZP62idX9gSldMStetkbjQholalOUBgHjggEDD.DAvP.PqNLjRxRCEwxb2eFT0zBFVKrrrXrCnt2nVZkpSbw8TZRpk0JEB+O6r2xqIDrlzHb+hs7FAQmQb+eKitOTKFJhUIzFJH7niuwK5vir+92h9u.1XdsF7CxOHCN5QCVX.jeFOx+Bs7gitMTJIKrVBmlZDWmY0.t+gyUv+vCPfZEEsL51PQ.UPxROsOHwvzogxgpokhVZuToGffs7+qVEb2ZsrcwcKen7UZReZpTPIYwBY9njr.wZtVdUw8CgsJ39a4EqpYJQqO7qT..r.EwxlWZjkiOxtyuXiw03EYXieQ+cQ9elO53+FN6czsoAJZ0gw8LdGrwJ36VKuSKDHSrNAOfVVMUmbHfoltVkvLf.FQJTQKGbgjv0BAf.jzgVOaqWYgTojSyCryHCU9DNIU6.99huUvXwhGx.TD6IC412RQEBzVdWIbA3EjH.7wo0K7xOp6s.xPy3R9Phj8+CGx66hQ+gMJiTHELSPtJw9cZKfzOEKUrMyCakoXe5F.HDPN4hCyVCu0td.");
      
      // --- Down State --- \\
      const WK_down = Content.createSVG("338.nT6K8ClFATjB.X4D.QB.q4J.PwhQvcWYhBifmey9u2K6SEjSYJzjMwEAZuQUUknt.F.M.bC.1.PVhBWBGG26QfVNe8I1h4PWepMy9IFVspkJMrge1kU.Gst0G1D+LeYUoW8kJedkopbs0FFJwFNcTQoW53CTl7HUjPtXoY5EY23.eRjvzQENcDgOo5qrjFDRz6MLIgwPdhdgPht0F9AgP4y5F7Oopc1RqTR2CfPhvUTJAZhNVVXjNtRTaEyALaqRZHB.69X4ytaeIC7Me9P+3mcu2fXAmFwEw.Pj0F98TR73mYJtpJ68GCP74MCKaZfVKKigPhNEyvl.cRRSgKE+3SbtZYX02gQ1Ee3yXWGGf.iwnXldMIgpV.sVdfDV.dYIBTONtdAVtiwUsBRcXDUvSAE3+eui4ruiBjHwHxnhuQRX9h8DII0MS67G4.nL+BKdsJC");
      const BK_down = Content.createSVG("377.nT6K8ClZAz2B.XWkDMBLqUCIFZ0xraRCFrVoCo1Uk2NKtD2FMch9IKi4898xHnRJ9fC.7.fN.zbN22lVUJKvTvvvZsBt4LkGw1JDYsKsUVOVqzo9+10NOlUY.ljd0NCziYpIUR09+djJKQw54E1INIOylEjzRqPbYKE5t3wLq1aZZd9hGin82iYM+gHnpC4Hok.KOjkkAdHtDATsh3QpLzUwkVi5oSxiOuvAUM+fEI7nUUsJRQeqxXmjGWhcXUPFAcYvRhi3QblZcLa+gd7+rWDs+dd7k0tGknc1JoRPVH3j7fmjRAvy7B2jYJEVCtGOrcNlFGj.kGikFLvt40LP22On6UVf8+Ld3i+a3ZWBWpLzBWZMxI4ow79yiYIdZJPIf.CBPJz7UkD9rP.P.RngdrH1B0kgg.KCXCq9gjC.3zA7gKeFIYH1FfWHQ.+i6WunkynNt.G1Mgjd9+gSh0.v.r+9sfP8NCwa+7OeFcw.H.HGr3vf0vasqG."); 
      
      // Declare SVGpath for keys with octave mark.
      
      // --- UP State --- \\
      const WK_oct0_up = Content.createSVG("503.nT6K8C1pCz1C.X7EEABPsMNhMA9.bUzPhHiILCY4UbyNQl9OY2Lst+MCOjYFAXD.8..M.3ff.JH0.4QBhnlz3nwsQWTTTRx.R.A4jTdvXQDQrDCiFLRJKV77foqgFlThzPQDyCDKgqLo.4z7v3XIcSJNPN7DYMPdPPv1p6yE946e260JSqY85bo0y0zx2+SkHjTbvbfVPBEKLQU0bYfhHNrjx7Au.Ml9cBKkIkHIIHZXgEL.0.S.Hn.qbe728s++KI7MdJuIep53s5laer04gr4q99cYWey44lx+as3MepMSPw+oLeY91+5gA.PAMPdjv.83DofstUl3BQe+9V4xRc9tv+ecq7016J0xK14wo2piY1ykMWoZwYxKlczuF40QkqFpQ0JYJqFRTzR.fY.fUlY.whQM.Lh5..4H.X0d.qM3EY10VaFmkQNSylrxRCLpMwFhmzkjX1mCqnlrXQKs9gkFhK9yAZctaD4mBFDWK1ONhg5zIq49NimrG1iUNSSVGhU.9heN8SWLaac5UqAXig+aqQnRFXlXk.HFZgHbXKnIzd.ANfFnF..m.0A.puCILKRXVjfopPTKbYrtJXKLnaO8cBWZpFibCokIIlgJe.p5cvZwXD9bvLFe62kBFPruox7W55Y8j7Y7qDwUAyLhmFk4RuHLcO.");
      const WK_oct1_up = Content.createSVG("255.nT6K8CFy.z5A.HmCtDBPo0M5xf07PurYJBrd0seMCVvQEynIi1Tx0LLuY3gQFV..HZnlVPoSbd.SqU7uKgO7DcyU7HMiQ7DsFm7t9MmBe3LIrl61el4LNmclqu6HgYtA6qgFkKXXw0d++6NBVZ6qRR2u0JPQ.jdUX99ZPWeeUqUAFKdPPx.JcH.DaC0zp69WMRQLaxy4bsFfAoLtuInmEpzEBEAsumGmDzmos16qJZYBcnzsc99jwFGXT2msunrgyTanlNTFf.GREP2C2DZ9DrlHcwMQqbj+VQ1lklgGMFwgWjV1msC3BTbgx8eFxvzA4vv5o7gRrHG.kYVXwqbY");
      const WK_oct2_up = Content.createSVG("582.nT6K8C1zCTdD.XSXYEBLsR5.XzUDQl9y4uzx4PzE0.d0ZHWIY2j1IzgDxHBuf5.Y.nD.EAPlXafhKTPob2CTB3WRoSfRXp4BSBhFVHBCNMzfBAATPxgkJL2cIiCJSL8wdddXXFPBGmGolJRhDwETpgjIRRMQh.4ATpnCcolKST7z.hET5ZL037vAjFOPoTSMObb.xCxgkJDD8hoxY06Um5lJt+kl2K6KU9l5m03Bkhmq9sczVD0tZL97ZSD4Gs9s9UJGob2706OCzu1RDgaQFN21qHB0KMElPpwAzCmEjPQe3kgm+kFq52eubdwkw74EyVa29++CuiYKwE4l5g77r6T1zeYkpaO2s+leaaOW62FiHE6Won1MUlJq4iaV2FajducKFWF64FF.E3vRElFNPd7n.BIy9u9kli4RYGulSq0K89WGQiw0yG2FiKx6LF4JaKhOaWE00xs25Y5w2mKFrRcMMEhTnprGW8u75lu9aMtPOXGpgghCSQ1jTndAf5.PYTWz3zPEQDC5f.feSI.bxdqohWZpASjlBDNlD050vMopwRm5TEkRRSnfxFfujGURTWQDxBy6orniJYpED3dPAeCIjc4.Gt.JQGNfmjnqMnWAAKlK9vu1UHoLPdhs8V7eqoVuaDH01PtGkDSXHRaBfcHyWfYtAAsf1L7LQ1yhHwJLzbaDgQbhOqxDIjIOuy+AqFwoDVrCi0jOqd9c5cOX6P4DiFV5GkR4AudCEHKjrJ+9ZutsNFirW+ULLgzLQFEPYx1Wj43G");
      const WK_oct3_up = Content.createSVG("709.nT6K8ClTEzcE.XZZoABDQBL.6pcnoDqYRC.EfG4z0PVrI6lz1QFA9GKh.UffX7G.SAPU.7tYn+R58iV+T+EXdDwQhEGt3.sdYlc0fCz.iCigHBs.awz2FGly7PCGLS.gCTdvBDPvff.JfIRFUbTUYNhfgEzcgtb4hCGCbgEKRXdToBJTnwgAREVTAyCJTlHwwtScJlGZXwAWfLIiCSom4gEIQl.QxgwNlGRrDwjKmHYTgf.q0UL4a4h1eZz1Sqmz2n2PjqtOLeqYWDmWpogXdte2oBlga9uZaeIKUSM5dywsVLc+vUe8H7uI7MIR4O6oBQkze3lOKSZeClG049t2l6k3e9Kha1GO53yNS2a9Yn1UpD9CpUiZ6csO8ptTaqZa0u1qyCYpZNFY31R+GYsk4RVpGpkd6c8WLsDNKo6NCMcOAC07LyVuMgmWtNJu8zTJsEQtzMaRsNokQM..EDIiJNfXYhjKMzewe9oMqMeJSVw8NtER3qFyFs13N4r07T8zsWyiW1ZVVaDo2Fx+rnRMWKwu4puEi418oZkTlrcGm3lnlVaXgmtDe617pP7PqLlreVKffhZXfjnPEMXffVJ..5.PUjB.AgEaITMDPCD.8CGw+vxwzOggmr6bkx45XnREHaaVIeBDh2nVwuFfvjG9cRaFFMuXOSXlpCPBjxmbpYCg7Fc+In4vvIfTaBDkAIEJFCNTGcuoH81jCBXx7zomPTCzn3F3oV1l2hjPv0Tqg+7YkYKBgOWRuz2yeVNILQ+3DqXAwhvzdyadJK3vN3KsfrjxYgXi23FHyAN117NFhYe.6Tz4DvDXCd4jvda+DQQUO0aDjfyDoPSY2AGbFMfxPefKTfFyTcFn.qrClJmkAlTBtyTMX.cYFf3stoYsft6lOMxoq6v406550u.FBJVnieM5pzkQf5GxLdkfJjQPMnL8xK5U0C");
      const WK_oct4_up = Content.createSVG("370.nT6K8CFnATzB.XmkBIBLMNM.fg1h1nQHHSsLaFrrTht2Xrztksrk+li.Isv.X.xBAA.O..C.MRhnjRIUoAxiTEkQQQJJCHADjCtDwQiHlbHiiGNvkFMdd3T0ktDtL4gAQLORNLwGWfbZdXbNTU3hCjCOQWijHJBiV0jodBZmK0ONwsrOB3hCmCzBRrXL9omTUOWfAKtLAxg5tGzBvRXqNtLwgGWlnfPzvBMX.pAFHJBf.LPZks9qO245Wq3Lsat9hskea12Tp319b+0Vatpes1Zp9hNkLS0T42OYmQZeB7psx1C.DzHIhBCziSjB5aohYsT86Mtosb+wWoTbt9hd0oV4k0rsUrdS1Wvp1I6L1Ma5OtsTI+aEm.BflIfrjGvRQnMsDFkjMgxAAjhZllf9RNnrAkfqOkyXZLT9HYwhxDj9CkMzRiA2zA87uPuoEDa.F0vNZarUfCjAbAWbS49YF5goK4xv5c4CgXQZ.TlagEunkA");
      const WK_oct5_up = Content.createSVG("567.nT6K8CF3CzVD.XnXa8ALOBCUrnyN8FUHdv8eLX4nfphcJSOkTRupvST5Gz2XoA.S.bD.qcFh3sFbvELNHTUDt.rgdlwAcHlKMPS.gCRdfBDNvff.J.8nxjFlYXiGXXQkVJKVrznw.WPgBDDyjJjPwkCxQEVTAhQhjHRbv7XGCwbwhCr3HRkCx1CwPAxiHNfbPXhXfPIhHVNOpLgfJeWq9Noz49r8YEeMmsuXd6I69X1z34jUo8ExmOJZHpolzc3QE9dszKgtNdL7Le0WBpVM1Wk8qj0tvSAb2Ry6b83JuEPLQbfPwgKNHjkl1M0mDp32ro+UMpu673EU8EdmN87ZkWS1mSqMLepz6f507s4qLs6tVtw0Zrto8V811IkcwMaxLrHV60qR2zChYooc0uFM.TviJSZ3fRDHVZ3fWai2DMUa598xkZ3x2Ps4ZhqzgqpYyOOtz0pz4apRHlbsIMuex9EuHWblXJKlW6+fG0Zul+cUsO7LlK2be+s.xgZPjrvdzoAQuF.3L.DoBDNLJEYyPBPBAr3NPi6lC15kQvrNVQQeNzApG1nMWFsVF3niqQLjJqToyypD.Wllhwd6VifDJ0ubu.zJxDYTYX917z9mKh1.rR4k4+rW00f61KHjZrBK4UshGFYdnZrw5JrMp0KC27jQuYmUMrO.Tb2NiRThocehuqDv8Tz3nJLa2g8isBt9KfmgvGkGuL4Le8aVvWQfyqO+Hsea22mn2dRbeBBXhV00xjiu3LqO");
      const WK_oct6_up = Content.createSVG("710.nT6K8CFOETdE.XhJq8ALOBCUrnyN8FUHdvaiDX6T3WrjRRbozB+87IJ8C5aL+AfU.XE.eaz1UJ9yUqq9Jvz7vABEFp3.0tc2c0fCtXwg4PHDZAViowyzbwg4LMWXvDgCLHoAJN3vBBBn.lGUlvvL6X7vBJJzRYwhEFLFnBJTfvzLYBIRb4v3XBJlfoQhjHPbN7XGio4BEGXwQjJGFSOSCEHOh3.xg4PlFHTdHhkyiJSHHf3xnU6S2TFuJ+4Vs3CuB8ztnpOFk6UllG8P0SIpqCeiqnJYs+y59AO2HW2SJp+1nBST9BkMaU9zYXo+ruLTi0lLe5U7SIdUaWW7OZw3O4tY0+b5VapC+zqV6SGaM2Ms6Ky8sIjZO0MuzL9nn7vWhG6Bw2.O9ttve5NW7E5IEgXMKjcqRDqU9zem3Scajp3hIU2yqxM+yOCcMuqok.haNUztV0+roloMQoU7OGF.E7nxDFNnDAhkENYxLe7nZx3hKZ74emVI2pgWxVheuepVnmJZ4YXlUlZnKxK2bxGx2Mq2TYz4NgPrcYkOuNg596y8P0ZGxYooFnqREV3n5q7fHVn8ouMxWQEG.FIpwAhxwJZjBPPGE.HC.EQbCDGMsUUiw.fDBbNcCoS+fHmg79GwUAQcjU4wnf7xeK8iuKp+wF4PnbUqSBHS9sfnw3l6i4rJgn.MGzS5FhEQvIJOXzIFSMookNBPhpbivE5zRGcEjNYxVax7nzG6oKADvA33pGswT441j.MI0A4h3viN6VFh5hXpuyF4FrHsMUmz+.rsJCXgCpG7dNA19w+ad4n+Wq6zdgP6hMutEktvI1diiSQqyEpDgYGQdxDCVgAlUoxGWJAOWHkkRsl57eS4pr.lWJvfRFMpcl4cR7Mbfq3gMKCnNDtog3i5iDNV769xEaSvML59mQ5q0+opC9J7vCYTnBTla5ESD6A");
      const WK_oct7_up = Content.createSVG("345.nT6K8C1WAzmB.XBk8HBPIha.32R8zXYeq6Cf0C1qmGhmi.pcWYWQDIbYxXGcLDfE3.vM.zB.LRhn9jNMMonL.CQQM4CBxyBSvbARDH464wIArcbwMeShjXZwQBy847E0v3rzfY64qI5gyDxHAcH58pTGaP9dfMQMXHwu71cyOAIT4ahDLakp.m.rMcNmuFvjy2DkTAGMdPHxwhjCAfHYjfT1cak.9tNcwHyt1bFWNF+80m8WeVg2Zpxca+r5MGSYL5VkxNiLWuzFqve00LCkRaMG.ffQBRYIxoY5fELbuozlWzTW2Mkw3RsTl4ZeqNa0s2w91yZlWpt8phU3rlqJdwpXLbBHPpn.p3gBegxvSXmkr.VM+H70b3LM1.6nDI9VbgCYArMM7FTPP5.h7fTCA3KDsXnfMXfYXGrsZkbfNfKRwEJ22yPJL8IGLr9U9vIVDCfxLVXwqSY.");
      const WK_oct8_up = Content.createSVG("812.nT6K8C1sFTQF.X4r84ALwAyP.FlX1sONAxG.L9jYiIRoKtTZo+e9eWj6m.pk.jF.mAvdzs8WtG1bRiv6LZ8xV5k1tb9b7bH0MGsny4kS0jRq.yiGVjPgAKN3kKyLeCNPiKVXryAgUfrX1aiEFy7PCGLQ3.CRz.EGfbAAAT.SjLvvQUk4HxEUPWEpRkJNbLfETnHg4AFTHwDZrv.ghJnf4gDRLAhE6Vpkh4gFUbPEHSxXgotYdPQRjIPjrvXGyCITdXRkkHYfAAAhjZactxiSZUTuenpw5Q9Tkg3AIS0yU8MO1Y2U5py26iZ53kLQ5nGtfVYunyMlw6Xt6R38OKHhzazzTlkuiuE8zEsSlabd2drSsmpzcYRG2bpWBMUGu70lRujpt5ori1WocRR+86jMIFvl2o6kaIslYDKpN58a8NJUM1cLpjscyy9QUUw8eukL7m0py14+mtSX8c9RzNK+q0eiyCu8zzq4tzYEVXw4dviTubWeRpatitVQlqa4jZyWib9ip7NmVzLst4ZYEh0pTt3on71a21kM.TPjLvvADJSjTYgkiKma5Zpkda6b7WddRmSmWGgNAqJBMilZ0Y3pGZkvyL6ikWPizaPqt87Xj5ksHc84L7+RDMJOaCt5u4KuYoUmKO6EoqwEobW5KlKGqTsX4sVZ5bL7VdUoylGgt4tpriAf3hZTXbPsrZPPBAB5..pD.yPU.DGRMFLBYPgRHHlbzIStrHSEK39gEaaDNZ9RvZTAKb+SCBD217Zn9nqOhtyoEpPDwwJjOc+IezZRTCPqPjdnwlRLcSXhav0ATREaXxTZtOqfij1PXbThJew0ISRyvlitPDQ45BMfSMIrlD0lA.JnOMk1LrONNaWjeCqLBw0MWQAtjj9dEnjW.G6QxPGOUSz5BGm.VqHmGHHX49q+oBgSmx7.5wy8D5RI9vHiH3Loy1tSTtv7gzXni.yX74TI+FAcNxiFX9kXbJioD+qVxLWf1KgLS+yQTFMHf3FmZ55F6kShFWFVeoQo1woCls32FaRhA3G5GcOjCX52YAVHRSB6xWmdHzUwmhOhX7UBpZFAJqxzXdwEld.");
      
      // --- Down State --- \\
      const WK_oct0_down = Content.createSVG("663.nT6K8C1rDzFE.XuXkQBDOha.H06e3+gUUQklIL5rpfZ3wz4IjPatjPkVqKGQ..HPUMvX.fE.PAvyXbFCc5xlkO3580kLCL4Fz3iTBUiIKJENZ7LAkiFoCB.AMBkok0ZwVhHEsspsppZYwfITTRz3DzSEURsAJBRiOONPRVKW4RiUhRnpwgRpqGqQJIQbZjjJqoQITObpxHTlNHv15dY7m+yV1c6yL826peHzeOlsPN8lsNy3r8abxO7Wm6V7hwbM9QP6LIXNGSBoFMPNORrnfbZLQfAdjrn0XEoTYtk9z3EoxZrxh9DHBHClAlY.aYm7uXa.t0ctaaca471Lzca2MjYZ7ysf6qYtecCWv0WcCtrEqaHhl091u6a6+mgw6qk0MtWFCt1F64aia91LS57xtD97c4XZue+8SG7WmA589Zlgq+..HDgxzxRyoZlf.IZQeEDPiRQOQNJHmDQMoMSP.4PiiFSdPpYxBMNQ4.AQjTgNVEl0HWIUM9vIofZbdzPZgIHMOZnbjTku0ytYds+as50gs22GyzMb+jet8Y5+WnmOL.GpwCJQHoifBB.QAD.PDBwL3wQXfvPHkTBwPoD.NOTeoZpEnEme0YFxKBzqj3R3I5MqgHBaWECE0qjmCnPO401IDZHrp3lurvhjZWq9.s6LxzJLXX+3f6iMKi3pQs.f05Ieyx8EE6.pGkOJQCF0R1XQFbAiVMby8rW+ZdOd1TZstTJzSmN3lS4uHzzEUUvZrDusUPwYXxrVkPvt7GtsZMMzXANeVBjJAvKHK.oCgxE6Q5YTM2Bnqc5Ijk4nMOb+cJ.kd9gNNUOnjpaOSH55Aa2.TFy8JgEnUlW3ffsLXpgtBdydBgGhI0KUrIZX4QteUl26hZX7");
      const WK_oct1_down = Content.createSVG("417.nT6K8ClzAzKC.XMlMMBHsUOhXDdaeI1Hq0CBk0pxb13AX9un6RHIakFtYxI.oHgzZPD.CAPP.L8v8A8pQgSGEwl3btOI5pp8vZXXXIIDXcuR8zRMEQF2TpJpdNMUgv+icrqmYUEfQqQ31I8ddkhpTIt+WOktPULNJhsItKU8wZQ.SWR.6Y1E2ez0xdNA2dOyRZ4hFVb3Lb2wB6uGCYmw8Ml2.kmAjiL7Y4hiQoEY2fE1SnmPrz8wpQgSRCwimXgPgn2pDVCnyw+xkVzY3Q2wq3dMEmAD1XdN+PISK5MVdtl67u87FRu8PmeYbo8ThN28e74RAftCPX7c35gRUmbH.3DEwlj7TZumWpEBjpjl4fE87pZp5w.rU001nvooVFnTf93wZgKpUhdZuUJFh3dI9Y9DbK8d5Yb2SnJeonUnmKDZT3zIf.EfPDkGMYBEs.ZTd.I7CvKIQf8330KZ4Nlq6qfTG9BIv4+s5XtgWcBKBMpbDmjBgAmd1qls0gRS6iFFw1pgq6YeFEiHwHxTw2XILdwdfjjxMSq7G8.nL2BKdQKC");
      const WK_oct2_down = Content.createSVG("748.nT6K8CV1DTwE.XJa5IBHQNGDQ+B+2Up4QEyHeTZlOOrQnVQDQDorY1dY+u..FjWCAB.Z..F.WTqjYqd4rgZgKmLMqV.IdGHCH53U0pvFKuV93ICqhUap5m07iU3yqPGVNPTRldXoYcQEOlPwTEPWNH.DVQzPpgwXYSjKUNEygACllFCrLMIY4HQYBFYTKHJUnrblLIxBUpJlhsbxTIALPQZnVrFWNSRhDAIQsRc4HYBRDFUDMjNH35XY9k8hYyY06mN+S0MUbeVddureM9zx+VmcM1PSQl2N+31waQU650O97ylHxOdJpv9O+aMW0b+9EUOu+NPm0WhLfL5v49ZKpP0YFxxjUrIXwI1kyIt7.hRzjIXSThdXQfAlbIic4jIiYpWebv3dI2zCcMuFpZn1tGe5W06Wd8yW+uFeP2S7YYp52e+37hKiW97hYqses+YHiw7kXC4lXpLOelxm9K2ZmhOc64t827ea64y98wnRw9a50GKaLy3l0swVor+vGN..HDQColF0W3xYBRxBKpzrZJHvx4RkIUpn.kkJSRKHoHn7.TEOr.wEHoLVNRSQThHhZ8blAwkClQsVNPhTSTfhf73xBRV.AAZJRBFFRl8ecVdOl2hOJ6myZNOmkd+qi3w3yyW2GiMjL10JW4iUL63UQc4a8VY2F.3enFFFKIkoFgFRJCxBvo.SUEY.ghyyXTQLfnA.Monj1RqFYAbd05.lr9Fva35VOrkQMA5dGvOeKuexT2SgLK+lfQC5KaUdrTUG7W.WPuwZivsCQpWSRmfTlUhLoBDF9o.WQ0DbWqObWn3oeOI3NQvaAPFtA.fDBKZNAIGOboRluiVhBQ.6Y6xAS.eDAA84ZtM3Ir0ud.Ai1jfkjcEc5YHXwrb1OfG3t+y6kBGD2qnadrYIdBYKIpPDb08frDDxGMC6jGv2ChtkDQeyquRGFoA+O2l+fF6L7qh.KzKSOnwlv+xSkYtBjX4mYWgCpHjFTlo8ESf9A.");
      const WK_oct3_down = Content.createSVG("879.nT6K8CFVFzxF.X+7IJB.yBM.yNQObuDN+HJ8R6z07Y10I2TRII8p9G7MU++uqZXDcB.a.vF.mhL0iBMRlfwxEJTbvXQxFBLvEMbjoHdnAkNUk1TjOPomh3AjzJvDKINC+RrPThdqNquG9XHQJJOztTMaJ5OKzcHE4BTENR1.RJCKjboBNVLQyAAfPhRGafnTpCBEMYLri0oSGHPLXCNbpjhrAyEM7.klfIClTjKWrfA5PjBoRQ7HSBclXoCTRsOEgSEJVlTAkNLEoBmKrzAQoiMGDrxEsV027QW3xKkwG04wndus+Y+k4R0Ml5y6Uakont5ko9U+t0FtKWV+4suy1o6smg+AW8pVFdzR0eQK+aK+illdDe64Z6QqdgmpF+mTQSoGsJ+t4d0rsN5WY8y6Vh9rw4Qq52ZVUWcmheIHCf3RSVyUu9VZpRbYqwiPletRkXd1U2xti3qehFtv6KC+ywK2VoqkGkq5YOF+139cYSw6wpqXTwbY+AWoD+X6Nt8oJantXtpEYD6yodLfmZYdIZCOCWt5Wq00ba5W7Rg1965s1dblK0xZa70psB.BT5XCDHHmlrACLx.I0JHPJhlLWxXQAnMxvYyjMQf4gIVHYCHzLYCGoHa3XASDTPokdd7OPo6AJkhbgEDGLSrbgDMKrAiIWLgikJc5y4QG2ds851pqMY7IqRSup2qcd8sZco8p3t2R9qhKdgO7Z6Lsquz9Ror9HNwkhs0eP0Y0JUtabWkxmtt..1JpgggBTYiHDV.AJET..x.RQTgAQwjSQTsADMPSNJMrznob8a5ZROXpBpk6Cg0yIMw5P+2FJifZeT3XrKYNWIOqcseRLYVhVTAgIehYhsw.swzk5eibX0oHID21z0HWyg8Hh7sOsgF59bO4vzHZB.JAmQPH2Q23FLCgQd.Ffjuz8dnTIxki8YTQ3XZGih7Twv4.HBJ.zohiASA4LgkTskGkA2LJiLXczPy+1ygMhkIgrGxnKwDwrXrol0ujk3Yi+L.HVNdRObcaPTWWJNnUv1LEltVHkzz3zXJpopt0RY2hVybM3c3Isv.XXM8XzXdlGBGnxoFouFmnIjHPkDBlAlmx+OvSttcCVdgauQz5a4dWm8PivZ0MMfc6YgmW.bLIxTgMZFuE5gfwK.HUmJ1TdXstHnFTlh5EUx6A");
      const WK_oct4_down = Content.createSVG("529.nT6K8CloBzCD.XJXgUBDsha.q6ldn+8U.bn6lIalQS797GfbDQDkTF540hKoppZJvfS.cAPU.rD.5KxjP1ocST6D1YDkhkSEFJZvrP.wI5AKHOTLTzXmXohgwXNyDpItcwWWWLLDTwxhxNqjhh3htORSR6LJBRh5MkorcdYxfqGHK5xd8NsnLA5ghtdamTrh.coSrTwH8imK53X6P5NG+9gK4225i8hrzfWiCV.qYt6Z8Sfuc3em6.kyiDTjCLKIHmJKBHhRhemWnz0cr8syIzs24El8sng3i1Q2OhZ2Z5qsj4rzaftiWc56A7XW2HcRlzeOTBeYCJeF1MO2kLrc7OKas9htF+Z0wbL6aU1OI6ZU1db+O65lOx9Kg8y3+E+l+VitmceqRW5bqajLFBcm8WKaF1NZW.PiIVpXXZvs2o0SkDISLq7fE6jZJZBx.ZkIqJFJZrOULHovCDmJKP8TIwNqrfjXXhtQmeomP2Wuy9ht6LBjZI8.EwgBAFJZTI4IxiEDkKui7+fQt0ZGeQOxcq0B1.BX.YJBs2DIT2BnA4AjvO.ujDAVOtY8BWtCv0oUPtCCgDh4+qJGyR7pmyRfByfXYf.onlgInGjCJLp9fkf6LEiaP3T9xmEKJIH8Gh1vVZ.3FGz4cqnWcXmJMsLZZDaslttmwYTThLiHiJ9FQByWrWRRRxloU9id.TlbgEudkA");
      const WK_oct5_down = Content.createSVG("738.nT6K8Cl4DTrE.XDa4EBHQJNDCpVg3CvF.KKzwXmrhwdTlHo7aR6ysQvWK.gC.dDf.fF.dAPJWpDmb5vRXxYyiDKvDtDHCHJgq1Z3qx6ymNYXsksowt56aY3ianCImH1jHHZ7HggEPpTQjEPXNH.DRR3HyCkRkOjf4xoZNMZz73gAZDEMI4jwRkL1XIHKWrjbpTgxEVplxTImMWRPCDENrjhwjSzDITflXoTSNShhPQiIgiLGDrM964nsVe6F6n5Z74a0yohrot+o9342K0sPK4+z9aaSUl65YgX94sXCO+6sHC9oVThW0+bjgcuWc7T+usW+Rrgj4asn8K1m1KEpxboHSvhTr6Jo.CDHKTpPgJxBEHZHv.Uvrwlb1fwBsp4RutY0+V94dL97Oy65X9cpb+f+qzaWLubaka9r93Odetu6J17t+kn4qW+8T7Q8uUkqR8W2hVt3yydiG5teLZq1SV44oVp046YWsT+7GVaI3Lu9W73WsVpJ7d7YC..BR3HyiGZmvjSDTlKt3xizqf.IGLWpbwhBLMtDkIAkIBKO.YADMf.CTlMRNYhnXIBIVxW4FDSN3FKkbhPwhr.QIBDLKj4BnHPQTlnwxecUyZp18w8249VUx8qx842UeXx6pd+J12hUGaOuNNSsudsJ9l5+4b1W.FHpgwwhZYHXlYAjAP..vpfglhB.wRiRYJZHfQC.MonHeockascdMEACH8tPxgqW9H1rjIGjPt82a7S.84p2qU1Zw9rNgtYf0VmBDhcGL0y2gUF7o9+X.jJlkAXpiFtUU7YkhhsfBdYrKMHOpQ+ENito1.PF07mi8JqAthOXYzVTpXn6kEJ2ApkeX9Dpf.DPtuZNKz95r73TRM1fZ0LkullKKObwM73eZEJnkL.NTXPYJIfe1y2DhEcXFa2B2ZiFyoJZ8j59iNzWCPv3MtQm6Yv2EowLhLx0FjBuedFPmf.IU5Yo6P09HOYUlAwKJexC");
      const WK_oct6_down = Content.createSVG("875.nT6K8ClPFzvF.XKMKFBHQJNDCpVg3CvFhkPvgXlrhwdTXujraR6ysQvWK.gC.djl..G.wAPSvhSrKmSfIBjEJUlPEYgRDMDXfJX1XSNavXojUoN4zgkvjylGoV.IdHHCHB4UaMboxakOdxvZrso0uZ4Ga3yanCIGKrIQQz3QBiJhTghnJfvbP.HjjvQlGJkJeHAykS0bZzn4wCCzHJZRxIikJYrwRPVtXI4ToBkKrTMkoRNatjfFHJbXIUiImnIRn.MwRolblDYAEMlDNxbPlyM+37xp6UU8WUmiOnZ47aMOFsz6aoZdK939dpeYOOrYqy8xGdWmtHDr2q+dgHeIZJ9K8uDe5cg9ZOUsLdKud0w3SpzqQywCW547+Ym2iOrlmhQCU45dz5asnwty2Bsr86eVnCwWzvVstkyJTkIqXbOeat2m3snoOe9CjMu1AIrtwqMU0icruE9f9Rer26Qa4843CpqlcmUI5+uR+YaExc5bxJ0eKe6mrh551Egn4m45TzVK1U7o28vu4Sgpi2uOFePbwJxsu1tUWe51w2O+O05QCS0hMmXypF1e8butqtEF.ffDNx73g5InLWbwkGokBBjbvboxkJJvz3RTFnLQX4AnJhnADXfxrQxISDEKQHwROmaPL4farTxwBJVjEHJVDAyBYt.xBnHJSzXL++ip0M+peK9ntpd7wL6i+UqzjeEqnmX18wH2phSkx70OPZWeeue87qehJ0x49WjOGse8r6qR93luEmqaWq.fghZXfnnZ1LyfE.IAE.ICH0TEGDHOrkQis.hF.zjhRYiF4gV+.rpo7KWBXS2mBKc1mw7AJvFQNfdhrJ0JAVI5FURp0ryIkfAKEQjFnjHNs+jPXmNHix3tk.0mESLUSNirZU0jkPljVjercz8B4+vB0FrWfrrBtLGogSvHlJy.feQ.kt59Cq0QJLc5n+s1ThGkdzd5nfyOT8bGSpkabp0ahNlW9gDT5p8IE8CtE55vFMCMy1DArnkUqYyCtAJklPA.OZ9D8woDFGYuBx5ZjWswSprQ5.eLYfuM6HzQAVF8DFXGingoEbdJXl6npRVaHMg5xto16dAZlxQCRtgaibsB6lWjK2quY2I0YIZt3oYqhouNC+cAvTpKCC0frwaimdIu.Phg7r8aHEWDnBJSz7hcG8.");
      const WK_oct7_down = Content.createSVG("500.nT6K8CVYBT0C.XmmaQBLKhd.sJ6+Pel9shUv2SaDaNbYRuHFxUHkxj86L+ax.GzIn3iU.3D.HAf2PtNBLUx5TwPYQBFKrCQXfZnJRcZQBFbSEpEFi8KMSRcypsrrVVHfRUkCSohfd3Z4ZjTDSgfdlreaYKioWREXUeprLC5Lsxo4o5r72XpSkjGqsoB0hvb9CmqmMeaOy0y3i4r+eMGJfyg3buGxDSM5ABBqJ5gghh.flfvwzqok+GigLMhkcldsvPELHe3Nb+gb8VacqOYeO+Fw2gaeq6WnjMi8a2QeetW+woD9sK9dIbFgRX7c+4dIrcdiVT1Zm6ve91XrY+708VOc99l9BYvN5MXC8FMoresI6gd6jyXG8cxb867MN+WK8FMXG..ilJTKKsH6LspRMYhzBOMPASmjfjhLvRQphZQBFbkZgnDpQXnnvTkBBlRU8DsPyxx2e4QrLzYpesLSk7rUQ0GILSGrHACpIUI0pGGKGOZMoqe2grYuLTCJPZlglrSLXoPGyzBZ1YdSFJ7.ZlaLDG3kSHfGWiWfcGO5HDDCFlSFL0Os7FExWMMINW7hsW5vWG7o8PdTFwwwEOAN1lCu3hMIgHojMRnzSayItCAqQ.EYaImIhyxGEWjDEYl3arGSA1a1SRWyz1eTffxTKrXhnL.");
      const WK_oct8_down = Content.createSVG("980.nT6K8CVuGTkG.XFOZBB.yB9rSzC2KgyOhRuzNcMelcuHI6lr08Eudj++eW0vH3J.7Afe.rpV98ntUqdnz8t5dsyPbyiIPOJTcQJzHYBFKWnv3fwhjMDXfKZ3PSQ7PCJgqk3TjOPoKEwCHIVfIbINFtSBOQJ5dCqGeZjAEsHEQraeWK5dbz4PJxEnJbjrAjTFVH4REbrXhlCB.gDkN1.wLCgPQSlJ6Tc5zABDC1fCmJoHavbQCOPoIXxfIE4xEKXfvDYHKEwiLIzYhkNPIiuTDNUnXYRETByTjJbtvRGDkN1bPfL90Ve9VdVqWWludxZcOmmEplg6paktmmY72JlXxdolxOepekdnt2bQKZHaUdO3sIu8+Oerh1cq9w6q71tTuD4o+KxEdOW+Jp1mtWY1co2S52W6U2dH9uq5C0t+tZXV1xViZWOmbp9SueVM9b1etOZiEmIV+gdyyFeTdJmddcHry5v9JUwszmcuzuyZumLMC486DwXWFdO6Z0odx74nT85dvTuE+G0Ixp6Ot+L+4mKqn6w2xCUlYt3qg+x7xduqsiY2X945bYjazYu+uxygIPW+5lkeH04t76IU+QqxyRj19C+XgMm00oVeY5hW82C6FZ6l16neUq56IeN.HPoiMPfjMmIav.iLPRuBBjhnIykLVT.ZiLb1LYSDXdXhER1.BMS1vQJxFNVvDAETxWzi6CT57.kRQtvBhClIVtPhlE1fwjKlvwRkNHdQJeU6saNeGp7xYqbWJWKaYsWCnYEi2hnk39dtmWbh3c7ZGZus5mEMF4VwxOza+oItLm8tX05+ruyLdYyH1noYmHa0+29a4+W8uMJfKiZTTf7zJC.F.jP.n..nP.LCsxPj33R0LTggM.PyVnNMfVVJg9LsX.HOA.Lza+X34L9GGOzbyCKkjiidJSYaSTC1Dl7cEyzA72.Uja0EjCRDyc5tLuaILNXhgaoqie3I87fPfQk0tEblnDQ4tvlUJcv2hkwI6N.GzpmCQFbHpBvABkqIUuGHUN1IYMy4RJhQjhAMjFLeEYh+jUF6AeA7FgTmImSHevGjHHEL.AfTfWr4f9.EJ9l9Il9QHbcXRBfKxIeuNiovE.ZgJUpTvS8Zsd84bLXejiEBFT3lJuXByaorAH0KWYybKEeytfuXBMCXuofbnZx2QBT3hZluOysMcFRDbxqeGBFl.9Mg5GZepMkd.TDEFOm5UjxFhAKGKakPVigyQJ+LJn9I0ZCRwbJm9Vqm+NFtFwGDasQo1yTpcAUGn1L8lazz3SDdn11uUI1gybZC48Q5zZYhktXxoN.");
      
      // Draw path white note via LAF.
      keyboardLaf.registerFunction("drawWhiteNote", function(g, obj)
      {
      	var OctKey = 12; // First octave key.
      
      	if (obj.down) // Key state condition.
      	{
      		g.drawSVG(WK_down, obj.area, 100);
      		
      		switch (obj.noteNumber) // Separate by octave.
      		{
      			case OctKey*2:
      				g.drawSVG(WK_oct0_down, obj.area, 100);
      			break;
      			
      			case OctKey*3:
      				g.drawSVG(WK_oct1_down, obj.area, 100);
      			break;
      			
      			case OctKey*4:
      				g.drawSVG(WK_oct2_down, obj.area, 100);
      			break;
      			
      			case OctKey*5:
      				g.drawSVG(WK_oct3_down, obj.area, 100);
      			break;
      			
      			case OctKey*6:
      				g.drawSVG(WK_oct4_down, obj.area, 100);
      			break;
      			
      			case OctKey*7:
      				g.drawSVG(WK_oct5_down, obj.area, 100);
      			break;
      			
      			case OctKey*8:
      				g.drawSVG(WK_oct6_down, obj.area, 100);
      			break;
      			
      			case OctKey*9:
      				g.drawSVG(WK_oct7_down, obj.area, 100);
      			break;
      			
      			case OctKey*10:
      				g.drawSVG(WK_oct8_down, obj.area, 100);
      			break;
      		}
      	}
      	else
      	{
      		g.drawSVG(WK_up, obj.area, 100);
      		
      		switch (obj.noteNumber) // Separate by octave.
      		{
      			case OctKey*2:
      				g.drawSVG(WK_oct0_up, obj.area, 100);
      			break;
      			
      			case OctKey*3:
      				g.drawSVG(WK_oct1_up, obj.area, 100);
      			break;
      			
      			case OctKey*4:
      				g.drawSVG(WK_oct2_up, obj.area, 100);
      			break;
      			
      			case OctKey*5:
      				g.drawSVG(WK_oct3_up, obj.area, 100);
      			break;
      			
      			case OctKey*6:
      				g.drawSVG(WK_oct4_up, obj.area, 100);
      			break;
      			
      			case OctKey*7:
      				g.drawSVG(WK_oct5_up, obj.area, 100);
      			break;
      			
      			case OctKey*8:
      				g.drawSVG(WK_oct6_up, obj.area, 100);
      			break;
      			
      			case OctKey*9:
      				g.drawSVG(WK_oct7_up, obj.area, 100);
      			break;
      			
      			case OctKey*10:
      				g.drawSVG(WK_oct8_up, obj.area, 100);
      			break;
      		}
      	}
      });
      fltKeyboard.setLocalLookAndFeel(keyboardLaf);
      
      // Draw path black note via LAF.
      keyboardLaf.registerFunction("drawBlackNote", function(g, obj)
      {
      	var areaPath = [obj.area[0], obj.area[1], obj.area[2], obj.area[3] - 8];
      
      	if (obj.down) // Key state condition.
      	{
      		g.drawSVG(BK_down, areaPath, 100);
      	}
      	else
      	{
      		g.drawSVG(BK_up, areaPath, 100);
      	}
      });
      fltKeyboard.setLocalLookAndFeel(keyboardLaf);
      
      

      Snippet:

      HiseSnippet 14484.3oMk6luyjqbkmXWMSKC2BtArA7CvE8e0SyoYy8k1vvC2222IFfAjI2IStmIWfef7imeDLKo4JoFRWAOUgBeeLIYDQdhy42RDQYuN8pbaaZ8m9M+N+q4xe527+xu06ZbugqIqc7mT3+oey+y+V60xsx8eh8ZNaaqr3m9M+l+iR+3t+l+9+te52+m+e++hMaHa7U4e5i9oeJbp8Uod6618+zmZ+eQqcXPLqnzu88e1Si8eQ40zH2zvzmmQx+weKzOMm8pOqtzL6GO1+ge6OIms07S+l+4eKBR0KJHHJTTbnrLzhrLL3RT5xJhpW3PzPE43PO+k3m9M+OITztOs5smsWt8znrSEWdMSGi+gNHrcqMen7GW.+SdO87e3i+Itl1gB6eIrr8S+zu4uy9OEj9O9GBR+u+aMZKZ+ie9eJX8+5u+F+7e5M9yCZ+l+C+sFRv+OvP527mMj969CCo+29sduVam2+S24Gim+teafx+twve3g9o+C++X+a+W+m+c+8Le1alV+29Yk8+aAOOwu6um+Yn8u8yvnfPTfH3+7+2+LDx+FBzu6umaZ9ZsstY+e6e50+IDHD7+y+bXa43X1O6c8dtYZr80Oq2lulsd869c+y+q+teG2z3d43N36r9Rw0mKTdtdsJ6U4+DLLFz+4eFFB5+z+G+C+t+ge2+5+5OyWV0NV9yZkW4SYqE+7+zyu4lMV+LTPv9Wfgn9OA9O76dxP11+4uYq+b0v9e7Q++7m+kdptbma587z3yE+S+i+YOy+3ere3VKe998y5SS8LiEhkkC+w1s++9CqmU8m0lu98uf9zqrg+rW5e5Oaf+ZHas7m8Bkly1a94po0eda+2GCe58e9y7+5O9QwyTL3+823e4e4e4mCr+4eeNvu+h+q+W+kgPj1+sOy+Ec9SS+O8OBSPAN5SnQwIJ.5aw.JazTPx3ybvBh07E+ywGDmPdHP5Rf44Xzr.PUWb3Vm2guWP4EXiSuhYc7NIRuKBbcYEXEQWVsKr9Vzg.cy70gIu9tVXSuBaKQ+PewcSdrUfpxcZ5lgoyEg.kSuBu.l69JSlDJNXoOh9kvb8YwEUNSGhaDwQNQvBhoRqzqrKTWPCPPaPLlbmQzhf8OpbXrdQNlU0PKpkitqiwf9C0Bgjogh+9oo+Pjf8WORfgg9eOR.OxdGyAFKCqavJuEX0DyWjU9J0l.osHlt1anvvaubuOuyoYZHavJfsVtqtVfmGjm4qMn8hodm6oKmvwYNRonOzMqXn155Z7J23NxXXZ+rW9Akep6bOjp.KfEwJx4hB+5vsbNPyFoHiyambfRs1cKeMQ0l.kaQUYxw1OGZ3eaWAnQZn+.BGWrIRxcZIyYh6vEFC1UJZcBvtQV2ta3qpnsFx9dHkO5cBD3NP8UvWfub1UoBOSK3v1NfA1mtVaVxGeumpOqmm5aBS+3OIUUsQBrDJjijts953kV4HYPpaY5rusRxAaB8X2J3Q5dXQvAEW8lJJcFlvxbhpyhE4hOH3J3SPXHJsqu05b+5Sb6ADpPRbaoCvKG5xAKbT.QShW2aSLpoP0GT5ERqGpnDgZe7z3k8VMYrpBCMBdmKWMMrG1+UuBTzQ02QSJut6KDKSEX2ccnU1RTRs+Tm2E25kLW.MuoR.AHMcymfuwGMRmf97DJbXvHtNBr2gEQJ4LnBcxfjGSPZjmVyDafm1OYYz1McT.bRmDDMN.0Fps9xB5d16pGzuR0ptsDzBVMt3x5mhKwEAk4sMwZ3tB49.sW.9mvG9Q8H+Sw5uV44OJj+qmVhh9KEnChL9crfwX7fNrfKXpf1GMNeeEkzv1V8t7h9ChFgmPmWh5cmwg.S5Gmff9m1S7odImCDFzNrgMhURBgvoJzrjRAtAyNpb13hVQLbatW0XstDtO.TZaGRBlGPuLIXJhpWsrneZNeCRTT8Pz7kuyTDNJm+.obPm8d7TBtPBBJXoa22aGAyW70VS3Kqch7t2DF5J0G1EME01M6PhzL01XW3hjVSyufcW7cQ3pra9F3qxj1XFFF2Yt65mIbwnms3lJyBRPGicsmUpvQZTRaCf990GjpXl2hGBGf1cOMJkuKI56D08YUBJINaRLCNsrzpPMs1m90T356.3KWWuZMA.Tu78zjXHjZGXgRzq3HIoJv1iw3mhak54PvsvhJ9PvhDEVeKy8Blv81ifMV2Ww7Ae8XDPAJ+zhs9oksS9P9br4iiaLcCEuhBjgGAoDF3nN.qVwlJ2+dLn+FS2jj+xzcJyMxyzcTOuAq9R.mhXJz4ZlKm3Z3D2DbPOho1NOhnwqFZEsVLJZpS4QWU5JNPRvJSv6bSDjgv.Usu9e+9McicGSuW5.VkOYSaKHzJb4dhF.FxzZHHAbnq.xj6tMYVIvEhFnnSUy4.GS.VwTw5ZPn61cwNOQS.eG8AIGNKMsftQpcjBoMw.nVdblCSdpGTypqumoPdmmweqA0YV+N3nOrEex6r05yWl.CfJAExwffMUWmxky32cRQMuhCrEYdk70soE0IeH8kdFPcAIvZD+FPQAYOztT+3KX0IW6PYzNxp2ctLeuHYQ5RTEB41krVeYNHJ0A1K01Kp+cGCR2FAwZjHHrhBPu.sEHCMMhM5YTwFkZbpfMcPRe0lnTjpZqTAxwZqdSFzySu9fkC5NVWrJCyB0WWCpwEysPW2wAhdyPVqUJpjHCKVEI6.BzRD8Yr+ZzbGTB1ntqfFn1qAB7K3CZ8VkMkI2QF.oUo3qCPYPYoUzuUPey1Vj9AZwO+2f8+QGw1Oez9b0zq8ruk+76r09++G4+yK.8qx6gC8G48l4tge38HEDXXs2LLaLXnAyCtsajaUz4RvBxuLcFnsRPz21AL3r5RDYh4Ao.e.XPqp.Ukg.wbXaFGtQGO1bh788cOAcAYv57K9F6v6rxy0Jp6ppERRVMsTKN32ba6vewwqUunOAhcS9EMV4kmposIIehgcgs8W3YhKAZLhRDBHUukDJ77InKn6SD.ud4N+7u4Ug1rBZ5NAP4IUMxlqcmjLe.MFnewp0qzKqnHmFWKnCBA5AJOBtjWRhPsA.noPZTn9QobFGcCeHqbEBqdEagl9URT4EF1vIP1FpwCPom8AvzCnHML.dMCnMyyvq6KHEJ+T01dv.JqSI.cH1o6K58u.kuVHgfITgN0fwNlPlaSfu5MhlRORN0Fdc+QDCxoeQb1ARMQcQz0+1ErJArJXHA7Ae2.TuAGDDSFLFp.bw3g4DFJLS7cuio20v5iFC8YiCwl228cwvu4VFGVicz1nq6EaznuXReRW3wdyJxGoAaY1TieqrfQa19dUBtMvz6IMnI.jtozjxKROK6EdvBSbaMP1hynqX7PbOnrXZsbdr1nxcAHiYk3nHH3aPHFv4ObJ5ZtwgcUSy19Z4Iq6pwZ5iYVTudJulEay4l5UTFpUKAmwe8M8HlmN+qtXIAROqn85moSxHb7DpNxDxE9i.lK8l2h8Xtej0eYA9mAd9Gxlg+UylQvw+E8rWf23O5YeysyyZOAYfeVAQZ+YMQkcs.ZqzfK7qiv0nRKr+Ijt9mDzZGwPPP4zwgP6Iu7BPuk.xOZ0Vj7utBHkMZcH42DeStSa7lsDUWYcf.tb.S278qgkODx0I6LDOI08ZwwGPE..DlrgoDKttHefTeTZ0UDDSSm9P5VFrDvHp8jbeBp9RFjOiC5dlfNxv0QO67BKeSrhYRe+ix3ag4aAVAlsOukdye+dZClXQMMg80381KZ5tCQoXej2aeFWqu7yFGL8Eq.kbErQ3P3SoejUJ+5vvYIuCHzAdnenVxP7nNpKD98FGJqed8IUo342aFruewmHqcWkk.6SBiOVxS9KlBP90ATnP9E.kaN+BdvXu3DAV8MWbv36.9G.jKrO2mX12BPfEPoxQJIHcvJ207mxrepvAS.G4AEXrGhypZz7smxQ37YQibm7pbimez5y1HFJyxYZbWwxv3aeV2qpi7RokS0Sm5nnnHNVzlU5szzfpaC+gf+bcmhqqgSyiuA+4QtWSCZd9j2fMB93o5PnjeY5Dsrm78LrxyAO49QixyS0Lcl.QD7FePcGne3QjkV.8.9aHT19l2KzautebHsmpSSl5wiIsQuQGnJ8LnIgHr3t+.6xWm4HZh.uHyBoYHLXOevby8Vny1oDsu9MPu3BNR4m7hi9CRLgqvLDZ..tOsIZGBXC30jjqD9v2kI8yYVHa.CkYYVQDHhsxBDQSivFACpKXsYgHhYcEedoIFIRfIJBJf90UXPzztfbDjU4QlHc+PKlahzmAuEHMJ5HImGM4WROMl1IgtHlZlViUVj.Dz4FBdB9AxaMwU2WFFBM9iyqRQTeHwG9PmYraaEKMWW2v44.24OVv7L+Ym3GcidaK3vygWAVU5o.leVrL07fGv30MvxaNvCgC80XZ9v8MtuP+itrwpSwpOcRAt9QN7mrWDSqispIyB7nE1LkbJcuv.k1AUcjLeH9GWLFiXXzFzn+9ANPdR+Qh4FUHY4xT3mLdYHX6G4B7dwxtYrUujuhpdpOY1pf0I0cfuZjOT0uyy3qcxarVN4U5Tr9bAvrHdLwGtx0B0YsTP+B+kULgMFeqXHtTuKFymBNAYstUU.5zO6alhsqQ.A55025NhB1ImvQcXnR+EkMn+pkMjPz+hxOeg6WBfwooSLr7Nr5fDyuFm3WRb4.EpjvtgrCWUHFtgcDYnkzZ.CpphIk.8XrC.I2SFAbwoZCA7ADhK3ObZDj1QA2JRFdAUwcC1x0VKytAlcbiHJMbQZyIo6AV+Tt9kk296OXxqTbECx8CRLappeFP064OVaj3xqEdP6K7mXU8GOpYbEB8Yt3T8GjON18doNHkFevDUo+TL5M8FqVPwY.z4r9vbPxck+nS6sbhecE3BTfNVFVCbY5Mr2x6ajQD6tkcK8xkjH92QyS0wE6kHSrC0YzeRej+qE3YfWbcrEp+B3aPIkL4mG1aEWLKhIVm96RzAKMuzRtAIHL5cjAhdzRZslLXoGilWldHYzIivAy7zbyAsoDu1rnl28yVRyf9.ubwkLmZJlfB6BHkr8PBENKM2WP7hJRei2Tahvjy3kECGDo9U3Gi52Q6lpent8U2Db1uMxb2Lm5eXtAE3UZUMqhSZ5zLtKOJomLVLJU8BOnL2EbQWDuD2fQMwVgH8ot2htZifSCCy3mPDOAVGcMhzN9fM+QnEClZJs2eX8kzazgGJpr35267kDvjy1j1K5CqkgZUUMowUci1BFwUUgpffOkiAO9FYpExT7M3s4dzqwIc.78731pt98JQd+IFd7nqfbVVnRIKeCxX3wGwpucRzubyDEM9Da4EOLyYy1c9NeNgqlT7Efx3CWgRkeFKeOihfpHmouzqOSxTvcbrwmj2Sus84tGQEQmBgGPZ5r+B4uTCPlzmnwVaE494F4pLzTQ2A.keIl4n46cwUVgpF5WSTsspGYbI0wsHnhxWLlvvjlhMIkfD92X7e4i4Jv59VjAv63DXAkw2UcwOY6kfvHkKZTcZWVo4WId4+R7Qw2J2f56dlAe18KeiXvWIhUna6SIaU6DCVFmSKDewfHvwg9.JxpFN1VZfOe26TgKcpWzWo14XaLpScpgG.w8WTfi8qVfiRB8KRSFY7uer18tmUgU2vz.rpFtAdzQV1aSOSbc0uYGId8dueasGXnETY6KXL34CUGnEHHGngayXmqRvDyY6C1oiiipJmLCe2iXmCmV4gb41VIyu8hFEEn9P86765X0LN5Vtl5GRQU4oEw4l9AnMbcbVNQscxprsgPcSErou0frLO1VsXet8ataV20Xc5o29AVQULZ65Lm036R2reciWL20OpkhFFqru+x9DSmYDeZqJPc6z9M5EKDL7nET8src5ls9xLXD+YTX5bfGcr6ykavoyzMl85dP9XHVIucRKYIm2Ne7hveKqzv9XI0qiEOapIYymhvXeZKG3HZxO+oEKflBw5gV2BVK7fi9NCqPnCajgasu4q.jI7FjsZP4IMR5qqynwFuXemQ8ICSWS5vPEsq43JSe0hU+UbptOsbxQyIeGMWuwsaKCxMCE4G6OSB7YfhPeMSyVCp35XxYhx8vnSDwqmzvN+h+BiqN1IEzeHqV3wFHyeQxA9utnIhew2uHJ2ibBv3w3LJFcKVtf0wKSJw.4huTk5wXiUyMuT8r58c+L+0yGW5FIdh4wRSNO3xKwFzMw7uB5lx9A76fq0ECGLujGzLr+ADuaQ0C66uGhGjZ7rSbHItUJN1oO7wS1583AXjcMKO+UmZm8QO2oyOP3abZ5jcy+RFKwcjezvshJ69bSXtC6mjPYypb63l3JakF4PSqY85J0xnEZyoaL5UpDgRiG0owEDJDzwv2nXcASTBmusTSkmmFteg5HPWrcqUuaV7vNWBEwNGZ.G0SszAs+0iIGw8hHmBU8ifstSdk8QslobW+.rAza9YTj0If.i4ODjnBATBEuMoHS6i7fe6sXnWNeSTgCQtgsnuQrGte.kttOQERACqz+HMN6TeUNj.ZwE4lqIYZ5EzGQCP+uspdonUt7xgO+HJqEg2HHCml5rOE8DwdCKsY4tdYN4xxZ+FZ9FKa18oBbSw3S4IsvG4n7gXUsgHBfJInzOC.uB1rH0GzPxKA1.OqSs6V+VbOw37QDDUGje5YJRWUH4xl0lkYE0ztkXfCFu246pYniSo4MyrD7nQj3VnH5X6hidm5h+z00LOXzvPyQAQXaEuJzm7Of2pm7I9Iwzvj2zu0ZfAWcw5w.ViffpHf0j6RWY0vB1ZjDSJFSWOvUWMlgz3PH6b9j7NvX0BzOGwr00uY5UYymE9uT9Ol7U0yPpoZ2X2o0pdW+UpW5iNldIUV32HmpqEK.4sxLDj2iHEt4krrwMgO5J6Z+fpuX8WThP7qKPB9OheZI3W7HPpQc4unDIqkOlvGMZsy0Me5lEfhTQkhCOSGfoJ.LV.rL6FNPk9JXYgV868ipeVAwYTPn8WH+Pdzd7QMlsLeJSX6zw0c9yk5FQwe4q4zkmXTMQ+xxxNBNHEL78qNQL4WVU0a2GbCAQcwwGgQUeu0SXUbyw9hFypNTM8ixG6bymxm1ILVAo3CmNUIQOKuGgjVMnOYAX1Chx9ExM8WO4bxxUnmiADdH9heTAvB2P49vRcuONaI1SDLLHQYC4oLuvU1tLplrAbgSyXgHGg3oNC.Ox54Sy1ajEPemDOAr9Q2uEZPuDOfzSoHHKJhzJ8.0BaOABHGOLalC3dIjvSJy.wXiP6hZSoK0Bx3ysN83H42nFIB1CDPK588uk3lQjB3JB0wFZcuVb4Wd5ox2ndux5lQaTBPtVNM.tr3dY7YYpGrIyL3dODBXcZXxvYJfzR5weB43Iun4HOSSufYxodI4X5IZiVJIV46PEj45nyvlxOkygiuUSwRhGBFRG0NepeNkNQLVP7StwLqsWekza8wrFml35I3jJc9TGKNt7nQEcDegrRNbjZ5iwYjifDnnxiKrlyC0zNVaaIAP4G40N4b7RFaAAsGfU7r4lu3l7.pjeWSRKcDv37pK.6Xrh7rTip8i1LvgHl8XdvhGqrG8V03A5.QK1pZ8HngzsGtXifyWEUq3aEQOioodSV6l471uB32tRuD5d9NGlcRNdKQLowv+kAEcVZ6vGCCtCzPAhAqA8aqIQnXCdS77mKQLwU4Mif22.fqapbw0byRjElLvzG.YEXi.QKD2E01DMFe1E52+p.Wz154rbILyWmH4TbxyEVyLDLcJEoxXEI226tMfSV5gMuBNDo9sxUzX90.1KWRi7pEzZCMtQS98oZzV7VdyPRB5SgLuuF53zucvWf.ll4nUI+xk3Ox9PBhK3wS7WRBR9qqPB6WV7F3Hl62OJjX6ojYenTx.QQbotiSJWH3pf3fWdK07tEb9UTxiUQk7jyXoW57UBnfeM.eDWo+nPhtyzvXZTGjyww.ii87h06aNyCTNFA1gBy5q7CiRult3zCG1KJLRAnunq2UIDXKJ30W7mxOLm3Ty9RY1zEUFNFwxGeHgecYwn3ik0vqm0OC9Fb03k46Ohe6tP368YjLJrkOOZ53XpjS5p7gek0CRua95P9ZGNWLxTDfB5MUTYXMR574qLfUbCIuDc7v9SyV8nO2hKeKgfz45cyLj.qpbXcSTNmRvqDzy+LcODc6GgXzef5t4OfkVtXlAsgbPCekNDMuSM2DftNrnVbLGqmyJaOOBNiVyVVe906Q84JXnAfLITNptALHwHuBcXdMWBypgAonusMNXCYkOGCpF+V7X0iihjXo0sz97JyJM2CAUDjKaUcJEI8U5.5uJg7bUm5+XMi7R9KW2Npe0odJ3+3hFsI56HBFisRgwnevbYCJNDCuYYxbJApS2kzp3Nos6mNATRWF0Q7FbtGrSD7MyCG5FUztDbta6WB8TpyP7d38b5bxbYHCoswKrdOnN2EvqVovN6ZFMSzdsK8RtGJVsv30Kl5fp0X3rVAw+fuXGTPN2aPAopbFFFePuN8uecB5wjOEBriDlc6UMy0qD7GkqwXD8kO3SW+BV2nNVgUy6pyzHPDN22fU+3n1VP16LtdZOov1wsS4GT+wRWbJ9Ewt88xIUO8RSWZ1q8yVuz.+OkiyG3Nz980nLJdPWATFVvIHA3yWHDso3n85N3iR6UgIeFuLFNHh2IbQorzjatytu8G5+z9Qf5VXyaHKu.oX0a6878qDWIj74HVi.oOjPCte5l2wmVagild45BPQzYnH9c.YhnOSYaHgWa1DmJixTMv.9k9b21qqKZmffCpxO85juglufw.du6ES8h181TCXApr8h6wb78B19chvSlAVw2V+O4QktyY6s6gNCKYXcoWQs4zsyjluCu021wRSDZfl82QmFIgyPf6ezhY+iPOCupWmeRceq16L7zGq4YD4jQEEtu8dGIUaxrnxZzNjBk7fil1+8RmnsOxt8NydYmhLtCueS9EElNIfKugpUF2N9GLsOISAu0rHDlVNDlxiv0FzjV72hw1BSwy0ICKBltFjp2w1mWaYpPaR8iys2VSseDowhCB9n85xN.jWx0PTmMwt1U9QH3sh29prmfFJ8iG7LdyTZ2uo9LZ4.dbr7HvjoiziKVM6WSBy17GGpcVOlqKuSc84rWr6JFOFb0e4E2j8Ehw2UHK9zOc2ZopsC1NN2uQs7.Rwy856P6tMuCFNqQkmgx5.Oz.Cn5nkQOr9pkoYVTWI2hN6AjQjCydWGcgvXWDnDgyosjUf2MNqzavvE42RxxwXzK.Sr0duOIAwOtn3wcUn+J2JipOcAu64u+kr9NdrE7JlD6wukHyKyyVwX593b01IdfkvS8nJXsZcOfKGeQiGcMhuSwwEI58ZDiDCKmblfOl3F1PQDybaXPkvkdY0wEiijvDJ65wRbF8tP9N33ciUSLY.6bpHi5x4cbwgvv+irS6+98B6We+WIH9i6F1J+s3iHyOw8Nr7VOTPxPDkn.0AAN8CJ53qyUonG2XJc1Y6c18gKZRNffx1AFeiAqD.sY9dEmKx8B+bn2BEmBpWmSGS7Fs0mMnUQSUvLkTmouUbhiEjwfsepGJ8HrQVXaadadNM4nRw228Fk+1SHvciQk0s0xxz1MTKBysMnw8Abn1cdQZwQUwIOs6wFvjihuU97or+fo7WX7hDx2.WgvuHtzoPHlKkuKsF1rMoF1LuPWoxxOsHidSDR1bjaP6XSnqDaJ4wNIZXaZ4tNVkmp6TwTzsNBEKL4mr2SeiJLcltd1PyKyJyMvLj.lk7l7SbF3Nzq8rrWYXjv52uxPL5RRIu1pHVR1KewE8EJ5E29pvRlby.DM7GhLBf20GDK8PF6Qhb6vhDXYsYzv5d3jm67zjuvhS+TBP4I8LVYvonSGpW.dh370m2mtWSoCUfJoNkB71stNVNlpxu4cLlL7rAwraaE8JrmSNYMLcv.Yb57qMCEFfjiTBLd3tlpRyKtsSqUjMrRGy676+.c8fSuAjsgCUugfHccajCzUtSkfCDM91RGTZ9fS0QdpshkEzggGzlm8PG8vIt5qsbuO6g8DOnoke4T5rvnv6RnDwSM16kNTWTEbikZY1rHANAnkt2bi1VXPvJ7oxqynCeV+9PE7XiFbiP+7VUONF.shn0PqEc1YCrBBWo75jRPf.bVp2R0gSDxEN1QLmoMzH+hZMBHsvp.1Oca2W816sI5fG1G46agffuoq7e1BrORhOWC6s+tSJsukZXbGyXVFx1ox7USVCbhq9TfvAOw2.gcb4EtRWO1ngUNvKUv9B5ZSy.qwt4LKOYbblLDPewKJ0ZgwfgHzppM8345c1hqB1ZoFEHsfUkzXLm8xfADhlzXx+Jaw2udQJF7e7PRbybqwAFaLX7meTsTfkWf3X6glOygQYho+LR3Jqj0Ktmbp.NIWemZyCxwXaCpS8khgZ1o1SR3X.Me2RAedl5aZbbrhBe7qOOBOcMDbDQ7mUmKLMBp+Bz9Zc4cRfPkyhCJrBUQQeyruxNPjU+tcftoZylxtV.0QpCnWjKHQBr.R4Mz4iLcjBqK2TrFwvGkW4HGrDej3RdePYLf.1+loqUmLAqo0YRHAoR.1a7s85M0wOFjtbGsuiqsqGQl4C4FuN.N6CuSPcPNVPKLDdyvCGWXBXq3ogaDVrOPP9ghTz8Ck86xj7IJ+FSDpRRLWlpcN6XxWn30t+3nUAhx+DB5H8S+7NZVfsata.qRfhbNcF+.bM.BBd76zTn3neEM5QZs1bPSQ5m.UwFzBE5DZ9bMpB7jbDuQ0xowfw2Z7o9n2JUfBU178RFIrBafo9EfJjbe0TbpnPQgzRwLGVHVp7knYU9hArgGuWG8hUi0XNm+cGaMy6B3kgMnZWOhVQwC345EhjRQg1eb3a7OPhUzKNJp55NM7VHkn.G0QX0Jbz39qr4k+5IWjX+xAtJDl2+3gAPMCWgU1wTh2AfE.IXFyQ3RtzOcvxZ0YLzg2geZMAtHA3CHnXWDGCKX5yuAF4uzkrTfsV+DpdqarDBpTHIyIiiF.M+UT6SHMpB2RSP1L9aHx1.zqEaoPSae2gh3ojWNBVC1G9B1Qlxf7gN21y0GwIdcZAlBW0LbCChbq5FJIXxNIrhI9ZxpAiq4C5JmrAypCMa4m9JL51NoigqOFO7ba3YTb1begImv5xKFvazYJihGmP2S0jbk.Q71DvCxHHuLrn3yZoA88IP36WFv1dNCHl.nvGYNAD3PVzjWCxmVEpyeos.xLhfxAnEBr9.XZ+FJpQuRG+KFcp1r8Ov8N6dJ8iOTf6uT1IAabu6Th87aJheXWFxUZeg0ozlLGUl+8IiB49Gqcf3b5H7tTIdDDQTA0UDvGwRaDOxjjYbjR.TxFs1HZxljksxMfD41Cx9XNrg3Ycqxgy2zZHoOJGdQfsSgPVlQfcQScL5dPmgCIokoegN.scDNsB7Ux7GLJNbSChPQnmOQnSVs460TU4umXt8JAOtn56U8b0jmjGIA8ErVAODjmzCMc8b7ajaRoxGXN54Fb1dlKa787qZpHQOYcCAYXRUcYEEcGnJeEVXMfzXoR79J0z5ceAvRK5A50UDhTqQmNLjZDVafNAZfyKrLpvDDQPzxQQQQMk9IwZQWUtS1uSfdABIOVNtth8czqFY.eL91A6tHlvjW.gCNrRK9MCEOzZs2wfAuP5qUo1mxSeDuZcMfgJGNbsrfhU+fG9UvH6OGose23bli7beW4ODznOwxKROAF4.wmGsXkGMhNUZofZ57MiwVbm4GKYhVpIihjU9j6vm1vFVmGrOhSFOvRdFFJrzcCTkUnOEfLsvcU8cuDdgmHGerlCaUIgtCbQzyJwirLlUrlnTvlno7nJNGhpZkm+TxfinS5KBWydOuS40xGWIwIF.KjAfJQBcxkFPsaMOqGMyeAN85S1Y6hwdmDUyMK2I5OLQI3UQy.9WYyY+0gEnH+ksmULT797wfJ.ohJK3EqA3koiU9GdS.YUJWhaHxDXHEDeWEEpYZIRi..fOKow7uXAy.+9XTsQGpk0vcn53TP0O+aryoHq9WAi7tI4hQldyfdX+NK6o2MnLc2pe40TL4.bWseJUVLW9HQGK6npZcu6ajohaoc+RV.i0WvzEF7ImPqKeh0LT24hgoxtwUJqZzeliUvHQesEZxSR1VOlyLetqYk4RvfDrenRgavuSKZshA2ticx0gT1i80P7Dmu6lkPsmfZ3f+yvSWXh8s15MiyTqgD+5ovVHDBoySAiV+gDD1wXwmmJQfdLWHiA7Khfr9mfJd+Dc.vNj3tVTH.11mK3Ihs20.LQTyghE2tPkNZ.YZ.sCCE7kDXoDNKE0umEAd663MIsoBriU.stYhGkPcQD1Pudf4rfijFFD85cSohLWEpqW3UvG5vzY27jkiV6gxc293B3.jy8VzkxFw8uDZb.WGZHgSK8R8K3IVh.vnzuR7NHNlWh8OxSdFYOlXhIL2olTyF2i2mER3ItlJzqdmlTnjxYwEsiGs.AkmgGQ5VCSSfuAWjOnAcllQBMuwBx5iGywKK+dXkgS+DTARU1VsYPO5L1gYz37axUmgSEVsRnbBm7sdBmzjbFZLiGuu8TeQA4S5.AiZeSds.ujt2ZdMug1JSqRjdcau5K7KLGIjhMJb34EiDRkEWuOyHKuJn1ReMQMiti3RuznUTaQlRnus74l1cZkV17nuYCp7AgFRMXOKOp+789NHHr5bccMqeRqL+CxkpfOH3InqieMiyQ2CV2FCugsmopw583TN0icbWq3Y14dBtZnKEiCba.DQ01pzRez3UsDyHEqkWakt5IgMg9L0JkMIMaGfaG283ks4wPSxJOdhuejkeUSI2PtYsUKhSmag88VNkETk4sisLhCBpnNWsSAnXU2maphQeky9VpDeGz3To1FR+iuXfxrpf2SMsLdLX5089aOyzLH5ps5wutsu.fupMZ5UpWkNG0N3OViWmFf9z0ilzBnCJGZV3Zk+Jy1OJR0bL3Krtvvdnb+8M5cr57z7NjaBRS3UtA5Kze+F0FaPE+3LcPhUZ7bRb5i36QkNY6dd1GSRuOAr95su+hKrnN6iyMdFVQzaJ61uoPFFUuHRpeGAl+Pf6WajJ9Q.ut5PCTN3sJreQ71t73CJVCtPv4ekkWE6uAHFNxe7LlLwdyw+nsItNfke6wc6BwPwH.U.X9HwfR1fiGIMoTU9i3ldeQbLnFsoGGopeq7.e8iyYxJOHt1YmM7zKOeBd3D99ldOAQ0zuq1fGJ3LZxV9592wuimZdTsXdwOqr+5HJJRW+QZ0Yyo4RWSCZytkqmKg9i41Fbi9o0WEImUKRxZ3mETlai5L30M6EYu8Wa.eM4s5eHS09VCGMlvF2TBftVCCAAukpY8tJpkKD7wmIQJkW0mWnkuI.6uZ4863z0TjeqpwJ231T9NZ7F50J01kx8FBlv.01XMZKrChUSJRJ9xVG15cV0dazKbBFx3HD4WtCOdm8YKS3TKEgMrP50WeQZoksQ2rKBjBcjqSjE.aoPjF7.B.XQfOXcRqUScgBH.L.D1t+9U4haDd9RVmtH6q2TQZYhvloQf1sJgywwoe2Plf754U7zWHqDH5RUSYOAS6UVTehvqVA5xSe43e9xXS4qbXtrV0EG2r67tb5sMRzmqmwCgNaWpBEnvQMKyyq4qfob1Jv2q8okDnxYGJUpzw570BDKLHaLXhJ6FBuh+iKOFLltuVfe53YBs1SnXi149BMEXuywUy2fArnJc4RN+9xsh8pJNoBbZbnVYTpiSUeltpuhPWnMyF0m97sflphLkTC72vTPTQoarWKiQuheqZromlxmsMru+9Hw2uQuUtUkVzg8JZMx008bXJfts.ze3A36Swe0sU+ugb9+z++Iv38WejyymgI7HmW0jmaNrFk6gPVS69H98ZyQg+f7DYlKw0ly2HMvZNvB9JvJQvBFa0nY9243eciOSdRmz9xuy+nkWsdANEc4j35sYR7V+1zwNNQVBZa1HmxaY3NY4TR45ZA6YemNA63eHk20EU9hq2s2pqB6bJ0zH8lDslIkWvPAq6vsWGNVQ9gLtKe1+w9c37viN92FQt1b7BlqcMOHv2OyUUO7y9dldMM1NsJ0s5O7wFzDXiagkDhDi3ojXYPWSMqS6.SznXHZPa1ZX.2zYYdACD3I0wzXawbV.DaxbzSg9MQP.4c0u9D8hzG3yVzizi5NrrsQJM32vZBOFqmj8913uRnNA9vro4OaWqdxJHmJ+EL365wPNb0A61Ll6merAigzXE5zjVWD3wzulyAp.Vtyhz+jm0mQuRiZUTt+gPElbGneDaIBfxmzg5SP+hKUzC.69ir3hVI78R8zEXuPLrovYHLhjnMe.RovLET8OzQjnQagypjEjIbffr+HL2Jk99a2CO5f1N5Y68REnhjdzb9QCqtwNeuBSuBqlEXxCcVEHm+fgqYRyXrBqR3YDlHumIpnVedi8QyJniBKutVGF6nrsi+v3wY4qfqzYXpCJDL5vfSpkSJLjfx3Sh4B.UXjl.oLqOlldaeJ1ToGvAvxgi.Ekebyczj9H+cHgoiwFD76bU8PCK3gaqahZp7ir7eHkWtb5Ue11qGC9LbxT61m0KQzxvqcJRc1OtZxH8.ovdX6CfSOnWMq2SpfBeyx27RRG5BoNPjbhFHFrScnmIdtUbOHfLouoYqhsHYUyP1Z1APvrceBFzVDh7cKk5BydiUbxcn+b7HQufJBybeYLM+bEHu89mTSsaZ7URTeWC3pTH89OCCZZV4GFjnkoBpi85fl9w1IpJUkvWH7MBuhEyPXQRaEulTSo5voaMui3r+hZ7fdQj7EQX5PuQ+DRri8SYgn86m4q.7jIBaHZYqjfGuUZpkmb+UN7.+sDv+Kat3fs38SQerlgl3+dffld6u0wC+dff3Ocq+6AB5F.Ak.OXrex68V0d6Uov1InFLXKjT6xavGWoFCG6Yl8MdpKXxD6tt+a20fzzO78K+fUvhEjYjOcl0aUb9MccaB5SJlTF50OvJjzVUbbtQcXaUa7qaFUq9laCJ2080YPRsWsTl4p2CJO8dD6fi6VVM08T4Q6Wx5gqc3drBl+Dau1p+CKpqY1dWknrZdrRPqxiDD2QPiC2og7A9DFAiAdyyb6gKiGCzmyDAATQAuasFSwHyLrD2tIxlRKznQoKlKSrrVSVtnNkdzprKyuhr.TTKWpjpRqQ8guD+UMcpUvldg1mBnCTu46EmqCtHbLRfj2HsVqCuab3BvvKdj7rMdregvtsRQTFNxcDc+Mbau+R0+ghKN25YdC4M513jUIMWmwGXFk08iEi.n1WqeDnqncKWQHbxvnvP4lWFd8NPAG3iKPRlv4K77SUnRsRhGTcbbXg5Qr2X392gZvAjSHTe+f4UO2h7wRrzN+P8b6C7dPTIN7AhEfEDtCmGTiw63qYQ3Rp7O6K6BhfUUOwrGXZbkQ8n7idoodV1t7uOSo8ppeuQc8EG0chwXFUaFYdxHNWcNU73EzbjObsdmYqiUks5edvpF1IHqFxybwlrCd9fln5cGqC.zNCY.LWpQOtOWPdnSzBDrb2UJrL9N9AjQFYtwq+jDxxNMpr7SIE4ieFUnSL5nNKosRpUhEWZzgOBuWxhV.qp+wYBcbLEV+pR.Tg44ebxP9BR7x+X4.Z2.aDAu6ZbSZEwpCA.WmmH0hXi8Pdyp8B98AIi5WQGyphlUUHUlPEbw.2Yn0Kk9JFMAmNwwNYyMfN632lxsmn68fPuE7zC7LaWSCf55sG5B6JWecSwhA7kERbMpZckcWWZp16q7f5EXUoCX+NNM2Bjip9K7QfMX+Fo9h6B7wpKKepbIu49r7YnrFygH5Zde7YJEAJtcAb7uhFbFWv7Lqi8AKIWb6O1kFrY.sRo4oNl3EkR9vdhm1Esc3Mu5fCVpmT8wfP91gITjhWLVpcrdRHuPMdfXb1MLS1nF+7ASjnfIc3zgycuNqMeikXHpSCY4SBhBThR5N5TxRyzmGW5uX95OqwwAUsdj09tP4CncSM4JUlrPD+H6yzL4CpLE3ekiFweCs6P+xweJLg0GhCL986LGVcslBvMUB.6xA5slfuHdY7Yl4ItejEOCj6O6nHzAxNAktUFQaC.Q4AkYpPr2MY0CNw8OrSbXE0V4bhqRGUcek9bYtmvrfXKklgm6qq4s00vP4J2fdNuolpBzTrzNedu5phgmgXhV6TjqPbP47pNGt914D1zCs.R7rWemzx1DKTy2bZt2KuMJyrtftPawVAJMjTqtpQy+Hcx6YfyvxtnhWW2z.VMT883dYpGPpsV+wh1qghsu1B5xknl4.04TgYuVrRJs.DOPpyJWHhF6LZoxPbJK2i.dlto2znKTxEqciIeAfUn7XrnMzGN8Mw2RZ330D.RHpPqWzzCzrIeMwMh4nDMlVK2THpKH5thkndclSQPZXBDo8buXIPv1AUeMsM4GKzytFIM2rVF1Ldu6p5Zz+55L276Cg8o0i7yNwiie8efIFbCn32ruNOQJwbV0uSlK2z85IWCbfjTz8jVkY3lUBTflkjzjrRMlVJQpWS9n6yoZmNTOr5oGOYKccylBmT3IpRBlNjoyKg16IWIE0FU8RxBWlmmSbvSTGxZiTT3LxvPwLhrYKB+ajD4Dkcgu3wwgfEiI7.2GzFCkZ4oNC2waurKkcNlEGPgjLk2JMWmRBQc7BICnYqRdLvYvdtQW2vk9UUm9ZqwMi5+0NqG+54xzT+wb4OR98RfwhVor+XwznW8t4PzpurZb+ba9xnb30GYEhgUHpGw+c..kQPekQUAIYpJevoBooF2CVJFuo1wK1tryuZUrsT8e4ndKm7jXGM9Es5no6G7yZon1dNj1bOh16Q+8qvllvAmrRXkRtho3tGqkiJdA2hTYZGivlrfyZVYjFdQ9Mls5ovnZd2JSmuXnLlqP9yW9ANVvZ9dSXvCctZaGuAUB+W32Lr7bvUbuUmjy9l6v8zWJwmUJBXmBZwUe4Sje56Vck6jldSak1O97lAiwItB9rW9cp46eck9QCmaWoSCEVRGVDtDEM7o3L8k062ByC0DyY86uemPhnNDeVLMbZUNW1WLtij6nkJmETXgto7gBvpbsA90B8AwBI7t+GdrI.sSgBqH.0Y326QIvulP7vQhHBPJjo+rfyAsCrmFGBeF1lFY8Nel16SYnAcNb4tUZqvakPf5hqKwR+B02EEujWuv+RqFbrc+90m6OWoedqavgQQveDGIVXQjBMUbRhM5SgW70+i.fDjxi5Cqc.c.r2ZKiDGHmbACI6nK0.mjmEeV1ZSPdrnfmmzkcm7A3y4UshcD.9PeoLD1NIgR.fyx4kaGLMGPbswaHnovxD7lHJDNBwThAXhwxfEbBkRSPY6oVC6pNi2JYeAa0sc+7Pi2Lpb0qG5Cl1pmCqm3wGWD2H393L1vC9qi5onY3WdFA+yn6VBNebRvdWm8urMbCJg61MCBOVd5zF99XeyTtvQsLfXKyrTZl7LYIOR8wmexVD2XhPKRyX+ixp82Q4MnuHSkR+rg+VvPDK73z5NCXRYW+M0dLDNv5mK8hjKY3woj2xYP.HzYX.QTeLTqzZS88qHuU4.EA6rAGAAGsA041Ns6PQcgz8qqM.suBGMMpBCUqo02hAksX.0e5jXTLcZIIq67KNs9t11BUujLOeNX9AxWBW2LjHfAcYPBcbt7Wuv20+jonaF2TmMszVhpPQVYW4zCsKjOLx6fs+cHP80Wjl9CEByGVm42bNh4xyreYX6WTB9HIGXBqjXbg4p13z0vXzIpWJjz.zEHRvTxPJV6+V4smb4WoGyyB5fLU9UQqXUzfBOtmnUFncjyeE6xVocpT9wrc5q.XZsZvr+WOpzsBJrb83xtVAVQezA0OwrWYSqLxPZQIW4ZBkW6UOenAW7mop7wzSDGVezlzgOVWaFuDc4yOWJkX++qXt95osQBh6fpqNmpHc2q2SV7DbkKJNg+DZUkNffyAEHPCPq.gp1XuIYabrcsWSHf3Cw8M69FwMyZmDGRLP2SmtGRTlcl42L65cl0VJ9moSwMga.n9ET+C6YW7zZ6Z1n+Zm8saL6t0Gq+QRuiOm0Y3I6+1C12cy8JcwNeZPq86u44eu+agtIlCpWiDdhmwvS8s15r5tFGT0gb6sUZVy10vH5r8L5Lr0EP4wIqc6EPa.9Wtw6nT+aVpEPFnKdEvGzkwo5tdvWWyH5GrkYwB4SwsLECncXgbZfYjqEm44tzh1fyeFc6HvqEWQu8HMcVQ2q02VtP96JjWC48lFVHm1.8pMJ+dcHrlr.nOdx6YNDDwqYtFqs9RfeEw95Kilg9HHkFcnwuMCwFrTCQUqSQL7X29D5sPDyhD3PfwTzilF9Ib.ia0MFZb9cTT+Vz.Q.ZR8IAH9sFljMH9wAPyhDRSx7eq76DCMcTG+W8YtgVqEH2K9myfWkLvyPR7VMC7JKIdqkAdUjDu0y.uUkDuMx.u0jDupYf25Rh2lYf2FRhmQoL.r5KBv6guvOTmP5bKfh7+ep7Ii.KYwiLnkcoiLnkcgiLnkcYiLnkcQiLnkcIiLnkcAiLn8DkKOObIEK2iJRQFaECo7Y3SsTGPNmyTa4Pr58iel51naO6Yp3D3XLJeP+xQSnKKc0jY2kFoEJmVnxU5+td0qd++lic2dzwtiRjIqlY2pY63VMy0E4VvGs.o64hKYMbWZ472kWK+840erp1smqN74GC7bbnAyUMR3iAOkiK4J5Hth90DmH5XCUx8poYMwW+xXMQq3GmMkgdt64x3M7oIxldN1HoHh+dVNVTI44ggec1d0HbBR6hIiA14SC3LLcxUidMyhFSBiZp0ng83d9BaS3hPkbugmvZjwrunoiGgyb6bJCRaFjAETSc8R4lzrn4vzBIgONV4UG6QqNinNSsWaaa+.ZKb+j8mL5CO7vuN8nkSFVXLmdCehwiBmXVuPibp2kWWeQHZelYy6t36zKWZEbjZrPeGxvFhirhOOCT1l.aYE5Ova.3DZ+pB4+jEKZj3+NQgbu90CH9cYVgS4ZMZaRjCeKeeJbznqEcJshJaAEQBag.MkJtgX7S85zwgdnm8zliTx4NcIttTGL5hwNKjdN0B1VkJ77fH5HklNDdS9PmGgzw6NlTIez3v1y.9jnTdz365ZmJ1qm+dkA3p33Kq+8e8GJyxlm+rJLKhfbXZxEEoc0DEPsyTD6IRultgL9vzzx5O.iiV5IYbzWZJ9KpGi2ly7ywElSNBUU+WjiI7zZA0ca2FtLOIAekp4WjkTVelv+IuHrp9PBOfA0vpPEQSnhxhlb8G.WM2BXYbrbITFWAZRcsEBX4XhRCTNWhRiQJU5SrB79pUbGSjIX+IwHPN4JXJWM0CQYcCEQWzzqy8gpfuZYMMTy3XYYcrhrNtprNtlrNttrNtgrNV84cDaRsUDzOLtrQQA5cHZ.mK2ttDXGnX2px+vevBYg
      
      posted in Presets / Scripts / Ideas
      It_UsedI
      It_Used
    • RE: Release Triggers with Sustain pedal support

      @d-healey Thank you, I will study it and maybe make some changes, or I will use it as a reference.

      posted in Presets / Scripts / Ideas
      It_UsedI
      It_Used

    Latest posts made by It_Used

    • Custom vectorized piano keyboard with unique octave indicator (Keyboard from VSL)

      I will be glad if my code is reviewed, as well as give me feedback.
      I also want to thank David Healey for his instructive videos. See.
      Visit to a HISE Bootcamp.
      Link to Figma project: Soon...

      Resault:
      Template.png

      Script:

      /*
      	Author: It_Used
      	Date: 13.08.25 | 02:20
      	Copyright:(c)2025, Vienna Symphonic Library
      
      */
      
      Content.makeFrontInterface(1140, 100);
      
      // Define Keyboard (KeyRange: 24-108).
      const var fltKeyboard = Content.getComponent("fltKeyboard");
      
      // Create LookAndFeel.
      const keyboardLaf = Content.createLocalLookAndFeel();
      
      // Declare SVGpath for state: Key up/Key down.
      
      // --- UP State --- \\
      const WK_up = Content.createSVG("168.nT6K8CFE.TOA.HMhd7ATAwB.4hv5uwu2QVD0.9e+ppX3aU.JR51iQmVmq3DEBXZyXBQSx6ZzdURRBEBF3qrPdOvdj20zAvQAbgzgEsLf4sYLwLqRsHniE8fRoozAAjR263CLf5d1CzyaH70XUqkW9cEpgxdy8bAj2RW6wb6Uq2NIiGcay3R.M..P.4AbQn3dUtuJC4BSWQNfg0qJenRrnX.TlgEV7ZVF");
      const BK_up = Content.createSVG("443.nT6K8C1nBzXC.XH1LMBHsUOhXDdaecZP62idX9gSldMStetkbjQholalOUBgHjggEDD.DAvP.PqNLjRxRCEwxb2eFT0zBFVKrrrXrCnt2nVZkpSbw8TZRpk0JEB+O6r2xqIDrlzHb+hs7FAQmQb+eKitOTKFJhUIzFJH7niuwK5vir+92h9u.1XdsF7CxOHCN5QCVX.jeFOx+Bs7gitMTJIKrVBmlZDWmY0.t+gyUv+vCPfZEEsL51PQ.UPxROsOHwvzogxgpokhVZuToGffs7+qVEb2ZsrcwcKen7UZReZpTPIYwBY9njr.wZtVdUw8CgsJ39a4EqpYJQqO7qT..r.EwxlWZjkiOxtyuXiw03EYXieQ+cQ9elO53+FN6czsoAJZ0gw8LdGrwJ36VKuSKDHSrNAOfVVMUmbHfoltVkvLf.FQJTQKGbgjv0BAf.jzgVOaqWYgTojSyCryHCU9DNIU6.99huUvXwhGx.TD6IC412RQEBzVdWIbA3EjH.7wo0K7xOp6s.xPy3R9Phj8+CGx66hQ+gMJiTHELSPtJw9cZKfzOEKUrMyCakoXe5F.HDPN4hCyVCu0td.");
      
      // --- Down State --- \\
      const WK_down = Content.createSVG("338.nT6K8ClFATjB.X4D.QB.q4J.PwhQvcWYhBifmey9u2K6SEjSYJzjMwEAZuQUUknt.F.M.bC.1.PVhBWBGG26QfVNe8I1h4PWepMy9IFVspkJMrge1kU.Gst0G1D+LeYUoW8kJedkopbs0FFJwFNcTQoW53CTl7HUjPtXoY5EY23.eRjvzQENcDgOo5qrjFDRz6MLIgwPdhdgPht0F9AgP4y5F7Oopc1RqTR2CfPhvUTJAZhNVVXjNtRTaEyALaqRZHB.69X4ytaeIC7Me9P+3mcu2fXAmFwEw.Pj0F98TR73mYJtpJ68GCP74MCKaZfVKKigPhNEyvl.cRRSgKE+3SbtZYX02gQ1Ee3yXWGGf.iwnXldMIgpV.sVdfDV.dYIBTONtdAVtiwUsBRcXDUvSAE3+eui4ruiBjHwHxnhuQRX9h8DII0MS67G4.nL+BKdsJC");
      const BK_down = Content.createSVG("377.nT6K8ClZAz2B.XWkDMBLqUCIFZ0xraRCFrVoCo1Uk2NKtD2FMch9IKi4898xHnRJ9fC.7.fN.zbN22lVUJKvTvvvZsBt4LkGw1JDYsKsUVOVqzo9+10NOlUY.ljd0NCziYpIUR09+djJKQw54E1INIOylEjzRqPbYKE5t3wLq1aZZd9hGin82iYM+gHnpC4Hok.KOjkkAdHtDATsh3QpLzUwkVi5oSxiOuvAUM+fEI7nUUsJRQeqxXmjGWhcXUPFAcYvRhi3QblZcLa+gd7+rWDs+dd7k0tGknc1JoRPVH3j7fmjRAvy7B2jYJEVCtGOrcNlFGj.kGikFLvt40LP22On6UVf8+Ld3i+a3ZWBWpLzBWZMxI4ow79yiYIdZJPIf.CBPJz7UkD9rP.P.RngdrH1B0kgg.KCXCq9gjC.3zA7gKeFIYH1FfWHQ.+i6WunkynNt.G1Mgjd9+gSh0.v.r+9sfP8NCwa+7OeFcw.H.HGr3vf0vasqG."); 
      
      // Declare SVGpath for keys with octave mark.
      
      // --- UP State --- \\
      const WK_oct0_up = Content.createSVG("503.nT6K8C1pCz1C.X7EEABPsMNhMA9.bUzPhHiILCY4UbyNQl9OY2Lst+MCOjYFAXD.8..M.3ff.JH0.4QBhnlz3nwsQWTTTRx.R.A4jTdvXQDQrDCiFLRJKV77foqgFlThzPQDyCDKgqLo.4z7v3XIcSJNPN7DYMPdPPv1p6yE946e260JSqY85bo0y0zx2+SkHjTbvbfVPBEKLQU0bYfhHNrjx7Au.Ml9cBKkIkHIIHZXgEL.0.S.Hn.qbe728s++KI7MdJuIep53s5laer04gr4q99cYWey44lx+as3MepMSPw+oLeY91+5gA.PAMPdjv.83DofstUl3BQe+9V4xRc9tv+ecq7016J0xK14wo2piY1ykMWoZwYxKlczuF40QkqFpQ0JYJqFRTzR.fY.fUlY.whQM.Lh5..4H.X0d.qM3EY10VaFmkQNSylrxRCLpMwFhmzkjX1mCqnlrXQKs9gkFhK9yAZctaD4mBFDWK1ONhg5zIq49NimrG1iUNSSVGhU.9heN8SWLaac5UqAXig+aqQnRFXlXk.HFZgHbXKnIzd.ANfFnF..m.0A.puCILKRXVjfopPTKbYrtJXKLnaO8cBWZpFibCokIIlgJe.p5cvZwXD9bvLFe62kBFPruox7W55Y8j7Y7qDwUAyLhmFk4RuHLcO.");
      const WK_oct1_up = Content.createSVG("255.nT6K8CFy.z5A.HmCtDBPo0M5xf07PurYJBrd0seMCVvQEynIi1Tx0LLuY3gQFV..HZnlVPoSbd.SqU7uKgO7DcyU7HMiQ7DsFm7t9MmBe3LIrl61el4LNmclqu6HgYtA6qgFkKXXw0d++6NBVZ6qRR2u0JPQ.jdUX99ZPWeeUqUAFKdPPx.JcH.DaC0zp69WMRQLaxy4bsFfAoLtuInmEpzEBEAsumGmDzmos16qJZYBcnzsc99jwFGXT2msunrgyTanlNTFf.GREP2C2DZ9DrlHcwMQqbj+VQ1lklgGMFwgWjV1msC3BTbgx8eFxvzA4vv5o7gRrHG.kYVXwqbY");
      const WK_oct2_up = Content.createSVG("582.nT6K8C1zCTdD.XSXYEBLsR5.XzUDQl9y4uzx4PzE0.d0ZHWIY2j1IzgDxHBuf5.Y.nD.EAPlXafhKTPob2CTB3WRoSfRXp4BSBhFVHBCNMzfBAATPxgkJL2cIiCJSL8wdddXXFPBGmGolJRhDwETpgjIRRMQh.4ATpnCcolKST7z.hET5ZL037vAjFOPoTSMObb.xCxgkJDD8hoxY06Um5lJt+kl2K6KU9l5m03Bkhmq9sczVD0tZL97ZSD4Gs9s9UJGob2706OCzu1RDgaQFN21qHB0KMElPpwAzCmEjPQe3kgm+kFq52eubdwkw74EyVa29++CuiYKwE4l5g77r6T1zeYkpaO2s+leaaOW62FiHE6Won1MUlJq4iaV2FajducKFWF64FF.E3vRElFNPd7n.BIy9u9kli4RYGulSq0K89WGQiw0yG2FiKx6LF4JaKhOaWE00xs25Y5w2mKFrRcMMEhTnprGW8u75lu9aMtPOXGpgghCSQ1jTndAf5.PYTWz3zPEQDC5f.feSI.bxdqohWZpASjlBDNlD050vMopwRm5TEkRRSnfxFfujGURTWQDxBy6orniJYpED3dPAeCIjc4.Gt.JQGNfmjnqMnWAAKlK9vu1UHoLPdhs8V7eqoVuaDH01PtGkDSXHRaBfcHyWfYtAAsf1L7LQ1yhHwJLzbaDgQbhOqxDIjIOuy+AqFwoDVrCi0jOqd9c5cOX6P4DiFV5GkR4AudCEHKjrJ+9ZutsNFirW+ULLgzLQFEPYx1Wj43G");
      const WK_oct3_up = Content.createSVG("709.nT6K8ClTEzcE.XZZoABDQBL.6pcnoDqYRC.EfG4z0PVrI6lz1QFA9GKh.UffX7G.SAPU.7tYn+R58iV+T+EXdDwQhEGt3.sdYlc0fCz.iCigHBs.awz2FGly7PCGLS.gCTdvBDPvff.JfIRFUbTUYNhfgEzcgtb4hCGCbgEKRXdToBJTnwgAREVTAyCJTlHwwtScJlGZXwAWfLIiCSom4gEIQl.QxgwNlGRrDwjKmHYTgf.q0UL4a4h1eZz1Sqmz2n2PjqtOLeqYWDmWpogXdte2oBlga9uZaeIKUSM5dywsVLc+vUe8H7uI7MIR4O6oBQkze3lOKSZeClG049t2l6k3e9Kha1GO53yNS2a9Yn1UpD9CpUiZ6csO8ptTaqZa0u1qyCYpZNFY31R+GYsk4RVpGpkd6c8WLsDNKo6NCMcOAC07LyVuMgmWtNJu8zTJsEQtzMaRsNokQM..EDIiJNfXYhjKMzewe9oMqMeJSVw8NtER3qFyFs13N4r07T8zsWyiW1ZVVaDo2Fx+rnRMWKwu4puEi418oZkTlrcGm3lnlVaXgmtDe617pP7PqLlreVKffhZXfjnPEMXffVJ..5.PUjB.AgEaITMDPCD.8CGw+vxwzOggmr6bkx45XnREHaaVIeBDh2nVwuFfvjG9cRaFFMuXOSXlpCPBjxmbpYCg7Fc+In4vvIfTaBDkAIEJFCNTGcuoH81jCBXx7zomPTCzn3F3oV1l2hjPv0Tqg+7YkYKBgOWRuz2yeVNILQ+3DqXAwhvzdyadJK3vN3KsfrjxYgXi23FHyAN117NFhYe.6Tz4DvDXCd4jvda+DQQUO0aDjfyDoPSY2AGbFMfxPefKTfFyTcFn.qrClJmkAlTBtyTMX.cYFf3stoYsft6lOMxoq6v406550u.FBJVnieM5pzkQf5GxLdkfJjQPMnL8xK5U0C");
      const WK_oct4_up = Content.createSVG("370.nT6K8CFnATzB.XmkBIBLMNM.fg1h1nQHHSsLaFrrTht2Xrztksrk+li.Isv.X.xBAA.O..C.MRhnjRIUoAxiTEkQQQJJCHADjCtDwQiHlbHiiGNvkFMdd3T0ktDtL4gAQLORNLwGWfbZdXbNTU3hCjCOQWijHJBiV0jodBZmK0ONwsrOB3hCmCzBRrXL9omTUOWfAKtLAxg5tGzBvRXqNtLwgGWlnfPzvBMX.pAFHJBf.LPZks9qO245Wq3Lsat9hskea12Tp319b+0Vatpes1Zp9hNkLS0T42OYmQZeB7psx1C.DzHIhBCziSjB5aohYsT86Mtosb+wWoTbt9hd0oV4k0rsUrdS1Wvp1I6L1Ma5OtsTI+aEm.BflIfrjGvRQnMsDFkjMgxAAjhZllf9RNnrAkfqOkyXZLT9HYwhxDj9CkMzRiA2zA87uPuoEDa.F0vNZarUfCjAbAWbS49YF5goK4xv5c4CgXQZ.TlagEunkA");
      const WK_oct5_up = Content.createSVG("567.nT6K8CF3CzVD.XnXa8ALOBCUrnyN8FUHdv8eLX4nfphcJSOkTRupvST5Gz2XoA.S.bD.qcFh3sFbvELNHTUDt.rgdlwAcHlKMPS.gCRdfBDNvff.J.8nxjFlYXiGXXQkVJKVrznw.WPgBDDyjJjPwkCxQEVTAhQhjHRbv7XGCwbwhCr3HRkCx1CwPAxiHNfbPXhXfPIhHVNOpLgfJeWq9Noz49r8YEeMmsuXd6I69X1z34jUo8ExmOJZHpolzc3QE9dszKgtNdL7Le0WBpVM1Wk8qj0tvSAb2Ry6b83JuEPLQbfPwgKNHjkl1M0mDp32ro+UMpu673EU8EdmN87ZkWS1mSqMLepz6f507s4qLs6tVtw0Zrto8V811IkcwMaxLrHV60qR2zChYooc0uFM.TviJSZ3fRDHVZ3fWai2DMUa598xkZ3x2Ps4ZhqzgqpYyOOtz0pz4apRHlbsIMuex9EuHWblXJKlW6+fG0Zul+cUsO7LlK2be+s.xgZPjrvdzoAQuF.3L.DoBDNLJEYyPBPBAr3NPi6lC15kQvrNVQQeNzApG1nMWFsVF3niqQLjJqToyypD.Wllhwd6VifDJ0ubu.zJxDYTYX917z9mKh1.rR4k4+rW00f61KHjZrBK4UshGFYdnZrw5JrMp0KC27jQuYmUMrO.Tb2NiRThocehuqDv8Tz3nJLa2g8isBt9KfmgvGkGuL4Le8aVvWQfyqO+Hsea22mn2dRbeBBXhV00xjiu3LqO");
      const WK_oct6_up = Content.createSVG("710.nT6K8CFOETdE.XhJq8ALOBCUrnyN8FUHdvaiDX6T3WrjRRbozB+87IJ8C5aL+AfU.XE.eaz1UJ9yUqq9Jvz7vABEFp3.0tc2c0fCtXwg4PHDZAViowyzbwg4LMWXvDgCLHoAJN3vBBBn.lGUlvvL6X7vBJJzRYwhEFLFnBJTfvzLYBIRb4v3XBJlfoQhjHPbN7XGio4BEGXwQjJGFSOSCEHOh3.xg4PlFHTdHhkyiJSHHf3xnU6S2TFuJ+4Vs3CuB8ztnpOFk6UllG8P0SIpqCeiqnJYs+y59AO2HW2SJp+1nBST9BkMaU9zYXo+ruLTi0lLe5U7SIdUaWW7OZw3O4tY0+b5VapC+zqV6SGaM2Ms6Ky8sIjZO0MuzL9nn7vWhG6Bw2.O9ttve5NW7E5IEgXMKjcqRDqU9zem3Scajp3hIU2yqxM+yOCcMuqok.haNUztV0+roloMQoU7OGF.E7nxDFNnDAhkENYxLe7nZx3hKZ74emVI2pgWxVheuepVnmJZ4YXlUlZnKxK2bxGx2Mq2TYz4NgPrcYkOuNg596y8P0ZGxYooFnqREV3n5q7fHVn8ouMxWQEG.FIpwAhxwJZjBPPGE.HC.EQbCDGMsUUiw.fDBbNcCoS+fHmg79GwUAQcjU4wnf7xeK8iuKp+wF4PnbUqSBHS9sfnw3l6i4rJgn.MGzS5FhEQvIJOXzIFSMookNBPhpbivE5zRGcEjNYxVax7nzG6oKADvA33pGswT441j.MI0A4h3viN6VFh5hXpuyF4FrHsMUmz+.rsJCXgCpG7dNA19w+ad4n+Wq6zdgP6hMutEktvI1diiSQqyEpDgYGQdxDCVgAlUoxGWJAOWHkkRsl57eS4pr.lWJvfRFMpcl4cR7Mbfq3gMKCnNDtog3i5iDNV769xEaSvML59mQ5q0+opC9J7vCYTnBTla5ESD6A");
      const WK_oct7_up = Content.createSVG("345.nT6K8C1WAzmB.XBk8HBPIha.32R8zXYeq6Cf0C1qmGhmi.pcWYWQDIbYxXGcLDfE3.vM.zB.LRhn9jNMMonL.CQQM4CBxyBSvbARDH464wIArcbwMeShjXZwQBy847E0v3rzfY64qI5gyDxHAcH58pTGaP9dfMQMXHwu71cyOAIT4ahDLakp.m.rMcNmuFvjy2DkTAGMdPHxwhjCAfHYjfT1cak.9tNcwHyt1bFWNF+80m8WeVg2Zpxca+r5MGSYL5VkxNiLWuzFqve00LCkRaMG.ffQBRYIxoY5fELbuozlWzTW2Mkw3RsTl4ZeqNa0s2w91yZlWpt8phU3rlqJdwpXLbBHPpn.p3gBegxvSXmkr.VM+H70b3LM1.6nDI9VbgCYArMM7FTPP5.h7fTCA3KDsXnfMXfYXGrsZkbfNfKRwEJ22yPJL8IGLr9U9vIVDCfxLVXwqSY.");
      const WK_oct8_up = Content.createSVG("812.nT6K8C1sFTQF.X4r84ALwAyP.FlX1sONAxG.L9jYiIRoKtTZo+e9eWj6m.pk.jF.mAvdzs8WtG1bRiv6LZ8xV5k1tb9b7bH0MGsny4kS0jRq.yiGVjPgAKN3kKyLeCNPiKVXryAgUfrX1aiEFy7PCGLQ3.CRz.EGfbAAAT.SjLvvQUk4HxEUPWEpRkJNbLfETnHg4AFTHwDZrv.ghJnf4gDRLAhE6Vpkh4gFUbPEHSxXgotYdPQRjIPjrvXGyCITdXRkkHYfAAAhjZactxiSZUTuenpw5Q9Tkg3AIS0yU8MO1Y2U5py26iZ53kLQ5nGtfVYunyMlw6Xt6R38OKHhzazzTlkuiuE8zEsSlabd2drSsmpzcYRG2bpWBMUGu70lRujpt5ori1WocRR+86jMIFvl2o6kaIslYDKpN58a8NJUM1cLpjscyy9QUUw8eukL7m0py14+mtSX8c9RzNK+q0eiyCu8zzq4tzYEVXw4dviTubWeRpatitVQlqa4jZyWib9ip7NmVzLst4ZYEh0pTt3on71a21kM.TPjLvvADJSjTYgkiKma5Zpkda6b7WddRmSmWGgNAqJBMilZ0Y3pGZkvyL6ikWPizaPqt87Xj5ksHc84L7+RDMJOaCt5u4KuYoUmKO6EoqwEobW5KlKGqTsX4sVZ5bL7VdUoylGgt4tpriAf3hZTXbPsrZPPBAB5..pD.yPU.DGRMFLBYPgRHHlbzIStrHSEK39gEaaDNZ9RvZTAKb+SCBD217Zn9nqOhtyoEpPDwwJjOc+IezZRTCPqPjdnwlRLcSXhav0ATREaXxTZtOqfij1PXbThJew0ISRyvlitPDQ45BMfSMIrlD0lA.JnOMk1LrONNaWjeCqLBw0MWQAtjj9dEnjW.G6QxPGOUSz5BGm.VqHmGHHX49q+oBgSmx7.5wy8D5RI9vHiH3Loy1tSTtv7gzXni.yX74TI+FAcNxiFX9kXbJioD+qVxLWf1KgLS+yQTFMHf3FmZ55F6kShFWFVeoQo1woCls32FaRhA3G5GcOjCX52YAVHRSB6xWmdHzUwmhOhX7UBpZFAJqxzXdwEld.");
      
      // --- Down State --- \\
      const WK_oct0_down = Content.createSVG("663.nT6K8C1rDzFE.XuXkQBDOha.H06e3+gUUQklIL5rpfZ3wz4IjPatjPkVqKGQ..HPUMvX.fE.PAvyXbFCc5xlkO3580kLCL4Fz3iTBUiIKJENZ7LAkiFoCB.AMBkok0ZwVhHEsspsppZYwfITTRz3DzSEURsAJBRiOONPRVKW4RiUhRnpwgRpqGqQJIQbZjjJqoQITObpxHTlNHv15dY7m+yV1c6yL826peHzeOlsPN8lsNy3r8abxO7Wm6V7hwbM9QP6LIXNGSBoFMPNORrnfbZLQfAdjrn0XEoTYtk9z3EoxZrxh9DHBHClAlY.aYm7uXa.t0ctaaca471Lzca2MjYZ7ysf6qYtecCWv0WcCtrEqaHhl091u6a6+mgw6qk0MtWFCt1F64aia91LS57xtD97c4XZue+8SG7WmA589Zlgq+..HDgxzxRyoZlf.IZQeEDPiRQOQNJHmDQMoMSP.4PiiFSdPpYxBMNQ4.AQjTgNVEl0HWIUM9vIofZbdzPZgIHMOZnbjTku0ytYds+as50gs22GyzMb+jet8Y5+WnmOL.GpwCJQHoifBB.QAD.PDBwL3wQXfvPHkTBwPoD.NOTeoZpEnEme0YFxKBzqj3R3I5MqgHBaWECE0qjmCnPO401IDZHrp3lurvhjZWq9.s6LxzJLXX+3f6iMKi3pQs.f05Ieyx8EE6.pGkOJQCF0R1XQFbAiVMby8rW+ZdOd1TZstTJzSmN3lS4uHzzEUUvZrDusUPwYXxrVkPvt7GtsZMMzXANeVBjJAvKHK.oCgxE6Q5YTM2Bnqc5Ijk4nMOb+cJ.kd9gNNUOnjpaOSH55Aa2.TFy8JgEnUlW3ffsLXpgtBdydBgGhI0KUrIZX4QteUl26hZX7");
      const WK_oct1_down = Content.createSVG("417.nT6K8ClzAzKC.XMlMMBHsUOhXDdaeI1Hq0CBk0pxb13AX9un6RHIakFtYxI.oHgzZPD.CAPP.L8v8A8pQgSGEwl3btOI5pp8vZXXXIIDXcuR8zRMEQF2TpJpdNMUgv+icrqmYUEfQqQ31I8ddkhpTIt+WOktPULNJhsItKU8wZQ.SWR.6Y1E2ez0xdNA2dOyRZ4hFVb3Lb2wB6uGCYmw8Ml2.kmAjiL7Y4hiQoEY2fE1SnmPrz8wpQgSRCwimXgPgn2pDVCnyw+xkVzY3Q2wq3dMEmAD1XdN+PISK5MVdtl67u87FRu8PmeYbo8ThN28e74RAftCPX7c35gRUmbH.3DEwlj7TZumWpEBjpjl4fE87pZp5w.rU001nvooVFnTf93wZgKpUhdZuUJFh3dI9Y9DbK8d5Yb2SnJeonUnmKDZT3zIf.EfPDkGMYBEs.ZTd.I7CvKIQf8330KZ4Nlq6qfTG9BIv4+s5XtgWcBKBMpbDmjBgAmd1qls0gRS6iFFw1pgq6YeFEiHwHxTw2XILdwdfjjxMSq7G8.nL2BKdQKC");
      const WK_oct2_down = Content.createSVG("748.nT6K8CV1DTwE.XJa5IBHQNGDQ+B+2Up4QEyHeTZlOOrQnVQDQDorY1dY+u..FjWCAB.Z..F.WTqjYqd4rgZgKmLMqV.IdGHCH53U0pvFKuV93ICqhUap5m07iU3yqPGVNPTRldXoYcQEOlPwTEPWNH.DVQzPpgwXYSjKUNEygACllFCrLMIY4HQYBFYTKHJUnrblLIxBUpJlhsbxTIALPQZnVrFWNSRhDAIQsRc4HYBRDFUDMjNH35XY9k8hYyY06mN+S0MUbeVddureM9zx+VmcM1PSQl2N+31waQU650O97ylHxOdJpv9O+aMW0b+9EUOu+NPm0WhLfL5v49ZKpP0YFxxjUrIXwI1kyIt7.hRzjIXSThdXQfAlbIic4jIiYpWebv3dI2zCcMuFpZn1tGe5W06Wd8yW+uFeP2S7YYp52e+37hKiW97hYqses+YHiw7kXC4lXpLOelxm9K2ZmhOc64t827ea64y98wnRw9a50GKaLy3l0swVor+vGN..HDQColF0W3xYBRxBKpzrZJHvx4RkIUpn.kkJSRKHoHn7.TEOr.wEHoLVNRSQThHhZ8blAwkClQsVNPhTSTfhf73xBRV.AAZJRBFFRl8ecVdOl2hOJ6myZNOmkd+qi3w3yyW2GiMjL10JW4iUL63UQc4a8VY2F.3enFFFKIkoFgFRJCxBvo.SUEY.ghyyXTQLfnA.Monj1RqFYAbd05.lr9Fva35VOrkQMA5dGvOeKuexT2SgLK+lfQC5KaUdrTUG7W.WPuwZivsCQpWSRmfTlUhLoBDF9o.WQ0DbWqObWn3oeOI3NQvaAPFtA.fDBKZNAIGOboRluiVhBQ.6Y6xAS.eDAA84ZtM3Ir0ud.Ai1jfkjcEc5YHXwrb1OfG3t+y6kBGD2qnadrYIdBYKIpPDb08frDDxGMC6jGv2ChtkDQeyquRGFoA+O2l+fF6L7qh.KzKSOnwlv+xSkYtBjX4mYWgCpHjFTlo8ESf9A.");
      const WK_oct3_down = Content.createSVG("879.nT6K8CFVFzxF.X+7IJB.yBM.yNQObuDN+HJ8R6z07Y10I2TRII8p9G7MU++uqZXDcB.a.vF.mhL0iBMRlfwxEJTbvXQxFBLvEMbjoHdnAkNUk1TjOPomh3AjzJvDKINC+RrPThdqNquG9XHQJJOztTMaJ5OKzcHE4BTENR1.RJCKjboBNVLQyAAfPhRGafnTpCBEMYLri0oSGHPLXCNbpjhrAyEM7.klfIClTjKWrfA5PjBoRQ7HSBclXoCTRsOEgSEJVlTAkNLEoBmKrzAQoiMGDrxEsV027QW3xKkwG04wndus+Y+k4R0Ml5y6Uakont5ko9U+t0FtKWV+4suy1o6smg+AW8pVFdzR0eQK+aK+illdDe64Z6QqdgmpF+mTQSoGsJ+t4d0rsN5WY8y6Vh9rw4Qq52ZVUWcmheIHCf3RSVyUu9VZpRbYqwiPletRkXd1U2xti3qehFtv6KC+ywK2VoqkGkq5YOF+139cYSw6wpqXTwbY+AWoD+X6Nt8oJantXtpEYD6yodLfmZYdIZCOCWt5Wq00ba5W7Rg1965s1dblK0xZa70psB.BT5XCDHHmlrACLx.I0JHPJhlLWxXQAnMxvYyjMQf4gIVHYCHzLYCGoHa3XASDTPokdd7OPo6AJkhbgEDGLSrbgDMKrAiIWLgikJc5y4QG2ds851pqMY7IqRSup2qcd8sZco8p3t2R9qhKdgO7Z6Lsquz9Ror9HNwkhs0eP0Y0JUtabWkxmtt..1JpgggBTYiHDV.AJET..x.RQTgAQwjSQTsADMPSNJMrznob8a5ZROXpBpk6Cg0yIMw5P+2FJifZeT3XrKYNWIOqcseRLYVhVTAgIehYhsw.swzk5eibX0oHID21z0HWyg8Hh7sOsgF59bO4vzHZB.JAmQPH2Q23FLCgQd.Ffjuz8dnTIxki8YTQ3XZGih7Twv4.HBJ.zohiASA4LgkTskGkA2LJiLXczPy+1ygMhkIgrGxnKwDwrXrol0ujk3Yi+L.HVNdRObcaPTWWJNnUv1LEltVHkzz3zXJpopt0RY2hVybM3c3Isv.XXM8XzXdlGBGnxoFouFmnIjHPkDBlAlmx+OvSttcCVdgauQz5a4dWm8PivZ0MMfc6YgmW.bLIxTgMZFuE5gfwK.HUmJ1TdXstHnFTlh5EUx6A");
      const WK_oct4_down = Content.createSVG("529.nT6K8CloBzCD.XJXgUBDsha.q6ldn+8U.bn6lIalQS797GfbDQDkTF540hKoppZJvfS.cAPU.rD.5KxjP1ocST6D1YDkhkSEFJZvrP.wI5AKHOTLTzXmXohgwXNyDpItcwWWWLLDTwxhxNqjhh3htORSR6LJBRh5MkorcdYxfqGHK5xd8NsnLA5ghtdamTrh.coSrTwH8imK53X6P5NG+9gK4225i8hrzfWiCV.qYt6Z8Sfuc3em6.kyiDTjCLKIHmJKBHhRhemWnz0cr8syIzs24El8sng3i1Q2OhZ2Z5qsj4rzaftiWc56A7XW2HcRlzeOTBeYCJeF1MO2kLrc7OKas9htF+Z0wbL6aU1OI6ZU1db+O65lOx9Kg8y3+E+l+VitmceqRW5bqajLFBcm8WKaF1NZW.PiIVpXXZvs2o0SkDISLq7fE6jZJZBx.ZkIqJFJZrOULHovCDmJKP8TIwNqrfjXXhtQmeomP2Wuy9ht6LBjZI8.EwgBAFJZTI4IxiEDkKui7+fQt0ZGeQOxcq0B1.BX.YJBs2DIT2BnA4AjvO.ujDAVOtY8BWtCv0oUPtCCgDh4+qJGyR7pmyRfByfXYf.onlgInGjCJLp9fkf6LEiaP3T9xmEKJIH8Gh1vVZ.3FGz4cqnWcXmJMsLZZDaslttmwYTThLiHiJ9FQByWrWRRRxloU9id.TlbgEudkA");
      const WK_oct5_down = Content.createSVG("738.nT6K8Cl4DTrE.XDa4EBHQJNDCpVg3CvF.KKzwXmrhwdTlHo7aR6ysQvWK.gC.dDf.fF.dAPJWpDmb5vRXxYyiDKvDtDHCHJgq1Z3qx6ymNYXsksowt56aY3ianCImH1jHHZ7HggEPpTQjEPXNH.DRR3HyCkRkOjf4xoZNMZz73gAZDEMI4jwRkL1XIHKWrjbpTgxEVplxTImMWRPCDENrjhwjSzDITflXoTSNShhPQiIgiLGDrM964nsVe6F6n5Z74a0yohrot+o9342K0sPK4+z9aaSUl65YgX94sXCO+6sHC9oVThW0+bjgcuWc7T+usW+Rrgj4asn8K1m1KEpxboHSvhTr6Jo.CDHKTpPgJxBEHZHv.Uvrwlb1fwBsp4RutY0+V94dL97Oy65X9cpb+f+qzaWLubaka9r93Odetu6J17t+kn4qW+8T7Q8uUkqR8W2hVt3yydiG5teLZq1SV44oVp046YWsT+7GVaI3Lu9W73WsVpJ7d7YC..BR3HyiGZmvjSDTlKt3xizqf.IGLWpbwhBLMtDkIAkIBKO.YADMf.CTlMRNYhnXIBIVxW4FDSN3FKkbhPwhr.QIBDLKj4BnHPQTlnwxecUyZp18w8249VUx8qx842UeXx6pd+J12hUGaOuNNSsudsJ9l5+4b1W.FHpgwwhZYHXlYAjAP..vpfglhB.wRiRYJZHfQC.MonHeockascdMEACH8tPxgqW9H1rjIGjPt82a7S.84p2qU1Zw9rNgtYf0VmBDhcGL0y2gUF7o9+X.jJlkAXpiFtUU7YkhhsfBdYrKMHOpQ+ENito1.PF07mi8JqAthOXYzVTpXn6kEJ2ApkeX9Dpf.DPtuZNKz95r73TRM1fZ0LkullKKObwM73eZEJnkL.NTXPYJIfe1y2DhEcXFa2B2ZiFyoJZ8j59iNzWCPv3MtQm6Yv2EowLhLx0FjBuedFPmf.IU5Yo6P09HOYUlAwKJexC");
      const WK_oct6_down = Content.createSVG("875.nT6K8ClPFzvF.XKMKFBHQJNDCpVg3CvFhkPvgXlrhwdTXujraR6ysQvWK.gC.djl..G.wAPSvhSrKmSfIBjEJUlPEYgRDMDXfJX1XSNavXojUoN4zgkvjylGoV.IdHHCHB4UaMboxakOdxvZrso0uZ4Ga3yanCIGKrIQQz3QBiJhTghnJfvbP.HjjvQlGJkJeHAykS0bZzn4wCCzHJZRxIikJYrwRPVtXI4ToBkKrTMkoRNatjfFHJbXIUiImnIRn.MwRolblDYAEMlDNxbPlyM+37xp6UU8WUmiOnZ47aMOFsz6aoZdK939dpeYOOrYqy8xGdWmtHDr2q+dgHeIZJ9K8uDe5cg9ZOUsLdKud0w3SpzqQywCW547+Ym2iOrlmhQCU45dz5asnwty2Bsr86eVnCwWzvVstkyJTkIqXbOeat2m3snoOe9CjMu1AIrtwqMU0icruE9f9Rer26Qa4843CpqlcmUI5+uR+YaExc5bxJ0eKe6mrh551Egn4m45TzVK1U7o28vu4Sgpi2uOFePbwJxsu1tUWe51w2O+O05QCS0hMmXypF1e8butqtEF.ffDNx73g5InLWbwkGokBBjbvboxkJJvz3RTFnLQX4AnJhnADXfxrQxISDEKQHwROmaPL4farTxwBJVjEHJVDAyBYt.xBnHJSzXL++ip0M+peK9ntpd7wL6i+UqzjeEqnmX18wH2phSkx70OPZWeeue87qehJ0x49WjOGse8r6qR93luEmqaWq.fghZXfnnZ1LyfE.IAE.ICH0TEGDHOrkQis.hF.zjhRYiF4gV+.rpo7KWBXS2mBKc1mw7AJvFQNfdhrJ0JAVI5FURp0ryIkfAKEQjFnjHNs+jPXmNHix3tk.0mESLUSNirZU0jkPljVjercz8B4+vB0FrWfrrBtLGogSvHlJy.feQ.kt59Cq0QJLc5n+s1ThGkdzd5nfyOT8bGSpkabp0ahNlW9gDT5p8IE8CtE55vFMCMy1DArnkUqYyCtAJklPA.OZ9D8woDFGYuBx5ZjWswSprQ5.eLYfuM6HzQAVF8DFXGingoEbdJXl6npRVaHMg5xto16dAZlxQCRtgaibsB6lWjK2quY2I0YIZt3oYqhouNC+cAvTpKCC0frwaimdIu.Phg7r8aHEWDnBJSz7hcG8.");
      const WK_oct7_down = Content.createSVG("500.nT6K8CVYBT0C.XmmaQBLKhd.sJ6+Pel9shUv2SaDaNbYRuHFxUHkxj86L+ax.GzIn3iU.3D.HAf2PtNBLUx5TwPYQBFKrCQXfZnJRcZQBFbSEpEFi8KMSRcypsrrVVHfRUkCSohfd3Z4ZjTDSgfdlreaYKioWREXUeprLC5Lsxo4o5r72XpSkjGqsoB0hvb9CmqmMeaOy0y3i4r+eMGJfyg3buGxDSM5ABBqJ5gghh.flfvwzqok+GigLMhkcldsvPELHe3Nb+gb8VacqOYeO+Fw2gaeq6WnjMi8a2QeetW+woD9sK9dIbFgRX7c+4dIrcdiVT1Zm6ve91XrY+708VOc99l9BYvN5MXC8FMoresI6gd6jyXG8cxb867MN+WK8FMXG..ilJTKKsH6LspRMYhzBOMPASmjfjhLvRQphZQBFbkZgnDpQXnnvTkBBlRU8DsPyxx2e4QrLzYpesLSk7rUQ0GILSGrHACpIUI0pGGKGOZMoqe2grYuLTCJPZlglrSLXoPGyzBZ1YdSFJ7.ZlaLDG3kSHfGWiWfcGO5HDDCFlSFL0Os7FExWMMINW7hsW5vWG7o8PdTFwwwEOAN1lCu3hMIgHojMRnzSayItCAqQ.EYaImIhyxGEWjDEYl3arGSA1a1SRWyz1eTffxTKrXhnL.");
      const WK_oct8_down = Content.createSVG("980.nT6K8CVuGTkG.XFOZBB.yB9rSzC2KgyOhRuzNcMelcuHI6lr08Eudj++eW0vH3J.7Afe.rpV98ntUqdnz8t5dsyPbyiIPOJTcQJzHYBFKWnv3fwhjMDXfKZ3PSQ7PCJgqk3TjOPoKEwCHIVfIbINFtSBOQJ5dCqGeZjAEsHEQraeWK5dbz4PJxEnJbjrAjTFVH4REbrXhlCB.gDkN1.wLCgPQSlJ6Tc5zABDC1fCmJoHavbQCOPoIXxfIE4xEKXfvDYHKEwiLIzYhkNPIiuTDNUnXYRETByTjJbtvRGDkN1bPfL90Ve9VdVqWWludxZcOmmEplg6paktmmY72JlXxdolxOepekdnt2bQKZHaUdO3sIu8+Oerh1cq9w6q71tTuD4o+KxEdOW+Jp1mtWY1co2S52W6U2dH9uq5C0t+tZXV1xViZWOmbp9SueVM9b1etOZiEmIV+gdyyFeTdJmddcHry5v9JUwszmcuzuyZumLMC486DwXWFdO6Z0odx74nT85dvTuE+G0Ixp6Ot+L+4mKqn6w2xCUlYt3qg+x7xduqsiY2X945bYjazYu+uxygIPW+5lkeH04t76IU+QqxyRj19C+XgMm00oVeY5hW82C6FZ6l16neUq56IeN.HPoiMPfjMmIav.iLPRuBBjhnIykLVT.ZiLb1LYSDXdXhER1.BMS1vQJxFNVvDAETxWzi6CT57.kRQtvBhClIVtPhlE1fwjKlvwRkNHdQJeU6saNeGp7xYqbWJWKaYsWCnYEi2hnk39dtmWbh3c7ZGZus5mEMF4VwxOza+oItLm8tX05+ruyLdYyH1noYmHa0+29a4+W8uMJfKiZTTf7zJC.F.jP.n..nP.LCsxPj33R0LTggM.PyVnNMfVVJg9LsX.HOA.Lza+X34L9GGOzbyCKkjiidJSYaSTC1Dl7cEyzA72.Uja0EjCRDyc5tLuaILNXhgaoqie3I87fPfQk0tEblnDQ4tvlUJcv2hkwI6N.GzpmCQFbHpBvABkqIUuGHUN1IYMy4RJhQjhAMjFLeEYh+jUF6AeA7FgTmImSHevGjHHEL.AfTfWr4f9.EJ9l9Il9QHbcXRBfKxIeuNiovE.ZgJUpTvS8Zsd84bLXejiEBFT3lJuXByaorAH0KWYybKEeytfuXBMCXuofbnZx2QBT3hZluOysMcFRDbxqeGBFl.9Mg5GZepMkd.TDEFOm5UjxFhAKGKakPVigyQJ+LJn9I0ZCRwbJm9Vqm+NFtFwGDasQo1yTpcAUGn1L8lazz3SDdn11uUI1gybZC48Q5zZYhktXxoN.");
      
      // Draw path white note via LAF.
      keyboardLaf.registerFunction("drawWhiteNote", function(g, obj)
      {
      	var OctKey = 12; // First octave key.
      
      	if (obj.down) // Key state condition.
      	{
      		g.drawSVG(WK_down, obj.area, 100);
      		
      		switch (obj.noteNumber) // Separate by octave.
      		{
      			case OctKey*2:
      				g.drawSVG(WK_oct0_down, obj.area, 100);
      			break;
      			
      			case OctKey*3:
      				g.drawSVG(WK_oct1_down, obj.area, 100);
      			break;
      			
      			case OctKey*4:
      				g.drawSVG(WK_oct2_down, obj.area, 100);
      			break;
      			
      			case OctKey*5:
      				g.drawSVG(WK_oct3_down, obj.area, 100);
      			break;
      			
      			case OctKey*6:
      				g.drawSVG(WK_oct4_down, obj.area, 100);
      			break;
      			
      			case OctKey*7:
      				g.drawSVG(WK_oct5_down, obj.area, 100);
      			break;
      			
      			case OctKey*8:
      				g.drawSVG(WK_oct6_down, obj.area, 100);
      			break;
      			
      			case OctKey*9:
      				g.drawSVG(WK_oct7_down, obj.area, 100);
      			break;
      			
      			case OctKey*10:
      				g.drawSVG(WK_oct8_down, obj.area, 100);
      			break;
      		}
      	}
      	else
      	{
      		g.drawSVG(WK_up, obj.area, 100);
      		
      		switch (obj.noteNumber) // Separate by octave.
      		{
      			case OctKey*2:
      				g.drawSVG(WK_oct0_up, obj.area, 100);
      			break;
      			
      			case OctKey*3:
      				g.drawSVG(WK_oct1_up, obj.area, 100);
      			break;
      			
      			case OctKey*4:
      				g.drawSVG(WK_oct2_up, obj.area, 100);
      			break;
      			
      			case OctKey*5:
      				g.drawSVG(WK_oct3_up, obj.area, 100);
      			break;
      			
      			case OctKey*6:
      				g.drawSVG(WK_oct4_up, obj.area, 100);
      			break;
      			
      			case OctKey*7:
      				g.drawSVG(WK_oct5_up, obj.area, 100);
      			break;
      			
      			case OctKey*8:
      				g.drawSVG(WK_oct6_up, obj.area, 100);
      			break;
      			
      			case OctKey*9:
      				g.drawSVG(WK_oct7_up, obj.area, 100);
      			break;
      			
      			case OctKey*10:
      				g.drawSVG(WK_oct8_up, obj.area, 100);
      			break;
      		}
      	}
      });
      fltKeyboard.setLocalLookAndFeel(keyboardLaf);
      
      // Draw path black note via LAF.
      keyboardLaf.registerFunction("drawBlackNote", function(g, obj)
      {
      	var areaPath = [obj.area[0], obj.area[1], obj.area[2], obj.area[3] - 8];
      
      	if (obj.down) // Key state condition.
      	{
      		g.drawSVG(BK_down, areaPath, 100);
      	}
      	else
      	{
      		g.drawSVG(BK_up, areaPath, 100);
      	}
      });
      fltKeyboard.setLocalLookAndFeel(keyboardLaf);
      
      

      Snippet:

      HiseSnippet 14484.3oMk6luyjqbkmXWMSKC2BtArA7CvE8e0SyoYy8k1vvC2222IFfAjI2IStmIWfef7imeDLKo4JoFRWAOUgBeeLIYDQdhy42RDQYuN8pbaaZ8m9M+N+q4xe527+xu06ZbugqIqc7mT3+oey+y+V60xsx8eh8ZNaaqr3m9M+l+iR+3t+l+9+te52+m+e++hMaHa7U4e5i9oeJbp8Uod6618+zmZ+eQqcXPLqnzu88e1Si8eQ40zH2zvzmmQx+weKzOMm8pOqtzL6GO1+ge6OIms07S+l+4eKBR0KJHHJTTbnrLzhrLL3RT5xJhpW3PzPE43PO+k3m9M+OITztOs5smsWt8znrSEWdMSGi+gNHrcqMen7GW.+SdO87e3i+Itl1gB6eIrr8S+zu4uy9OEj9O9GBR+u+aMZKZ+ie9eJX8+5u+F+7e5M9yCZ+l+C+sFRv+OvP527mMj969CCo+29sduVam2+S24Gim+teafx+twve3g9o+C++X+a+W+m+c+8Le1alV+29Yk8+aAOOwu6um+Yn8u8yvnfPTfH3+7+2+LDx+FBzu6umaZ9ZsstY+e6e50+IDHD7+y+bXa43X1O6c8dtYZr80Oq2lulsd869c+y+q+teG2z3d43N36r9Rw0mKTdtdsJ6U4+DLLFz+4eFFB5+z+G+C+t+ge2+5+5OyWV0NV9yZkW4SYqE+7+zyu4lMV+LTPv9Wfgn9OA9O76dxP11+4uYq+b0v9e7Q++7m+kdptbma587z3yE+S+i+YOy+3ere3VKe998y5SS8LiEhkkC+w1s++9CqmU8m0lu98uf9zqrg+rW5e5Oaf+ZHas7m8Bkly1a94po0eda+2GCe58e9y7+5O9QwyTL3+823e4e4e4mCr+4eeNvu+h+q+W+kgPj1+sOy+Ec9SS+O8OBSPAN5SnQwIJ.5aw.JazTPx3ybvBh07E+ywGDmPdHP5Rf44Xzr.PUWb3Vm2guWP4EXiSuhYc7NIRuKBbcYEXEQWVsKr9Vzg.cy70gIu9tVXSuBaKQ+PewcSdrUfpxcZ5lgoyEg.kSuBu.l69JSlDJNXoOh9kvb8YwEUNSGhaDwQNQvBhoRqzqrKTWPCPPaPLlbmQzhf8OpbXrdQNlU0PKpkitqiwf9C0Bgjogh+9oo+Pjf8WORfgg9eOR.OxdGyAFKCqavJuEX0DyWjU9J0l.osHlt1anvvaubuOuyoYZHavJfsVtqtVfmGjm4qMn8hodm6oKmvwYNRonOzMqXn155Z7J23NxXXZ+rW9Akep6bOjp.KfEwJx4hB+5vsbNPyFoHiyambfRs1cKeMQ0l.kaQUYxw1OGZ3eaWAnQZn+.BGWrIRxcZIyYh6vEFC1UJZcBvtQV2ta3qpnsFx9dHkO5cBD3NP8UvWfub1UoBOSK3v1NfA1mtVaVxGeumpOqmm5aBS+3OIUUsQBrDJjijts953kV4HYPpaY5rusRxAaB8X2J3Q5dXQvAEW8lJJcFlvxbhpyhE4hOH3J3SPXHJsqu05b+5Sb6ADpPRbaoCvKG5xAKbT.QShW2aSLpoP0GT5ERqGpnDgZe7z3k8VMYrpBCMBdmKWMMrG1+UuBTzQ02QSJut6KDKSEX2ccnU1RTRs+Tm2E25kLW.MuoR.AHMcymfuwGMRmf97DJbXvHtNBr2gEQJ4LnBcxfjGSPZjmVyDafm1OYYz1McT.bRmDDMN.0Fps9xB5d16pGzuR0ptsDzBVMt3x5mhKwEAk4sMwZ3tB49.sW.9mvG9Q8H+Sw5uV44OJj+qmVhh9KEnChL9crfwX7fNrfKXpf1GMNeeEkzv1V8t7h9ChFgmPmWh5cmwg.S5Gmff9m1S7odImCDFzNrgMhURBgvoJzrjRAtAyNpb13hVQLbatW0XstDtO.TZaGRBlGPuLIXJhpWsrneZNeCRTT8Pz7kuyTDNJm+.obPm8d7TBtPBBJXoa22aGAyW70VS3Kqch7t2DF5J0G1EME01M6PhzL01XW3hjVSyufcW7cQ3pra9F3qxj1XFFF2Yt65mIbwnms3lJyBRPGicsmUpvQZTRaCf990GjpXl2hGBGf1cOMJkuKI56D08YUBJINaRLCNsrzpPMs1m90T356.3KWWuZMA.Tu78zjXHjZGXgRzq3HIoJv1iw3mhak54PvsvhJ9PvhDEVeKy8Blv81ifMV2Ww7Ae8XDPAJ+zhs9oksS9P9br4iiaLcCEuhBjgGAoDF3nN.qVwlJ2+dLn+FS2jj+xzcJyMxyzcTOuAq9R.mhXJz4ZlKm3Z3D2DbPOho1NOhnwqFZEsVLJZpS4QWU5JNPRvJSv6bSDjgv.Usu9e+9McicGSuW5.VkOYSaKHzJb4dhF.FxzZHHAbnq.xj6tMYVIvEhFnnSUy4.GS.VwTw5ZPn61cwNOQS.eG8AIGNKMsftQpcjBoMw.nVdblCSdpGTypqumoPdmmweqA0YV+N3nOrEex6r05yWl.CfJAExwffMUWmxky32cRQMuhCrEYdk70soE0IeH8kdFPcAIvZD+FPQAYOztT+3KX0IW6PYzNxp2ctLeuHYQ5RTEB41krVeYNHJ0A1K01Kp+cGCR2FAwZjHHrhBPu.sEHCMMhM5YTwFkZbpfMcPRe0lnTjpZqTAxwZqdSFzySu9fkC5NVWrJCyB0WWCpwEysPW2wAhdyPVqUJpjHCKVEI6.BzRD8Yr+ZzbGTB1ntqfFn1qAB7K3CZ8VkMkI2QF.oUo3qCPYPYoUzuUPey1Vj9AZwO+2f8+QGw1Oez9b0zq8ruk+76r09++G4+yK.8qx6gC8G48l4tge38HEDXXs2LLaLXnAyCtsajaUz4RvBxuLcFnsRPz21AL3r5RDYh4Ao.e.XPqp.Ukg.wbXaFGtQGO1bh788cOAcAYv57K9F6v6rxy0Jp6ppERRVMsTKN32ba6vewwqUunOAhcS9EMV4kmposIIehgcgs8W3YhKAZLhRDBHUukDJ77InKn6SD.ud4N+7u4Ug1rBZ5NAP4IUMxlqcmjLe.MFnewp0qzKqnHmFWKnCBA5AJOBtjWRhPsA.noPZTn9QobFGcCeHqbEBqdEagl9URT4EF1vIP1FpwCPom8AvzCnHML.dMCnMyyvq6KHEJ+T01dv.JqSI.cH1o6K58u.kuVHgfITgN0fwNlPlaSfu5MhlRORN0Fdc+QDCxoeQb1ARMQcQz0+1ErJArJXHA7Ae2.TuAGDDSFLFp.bw3g4DFJLS7cuio20v5iFC8YiCwl228cwvu4VFGVicz1nq6EaznuXReRW3wdyJxGoAaY1TieqrfQa19dUBtMvz6IMnI.jtozjxKROK6EdvBSbaMP1hynqX7PbOnrXZsbdr1nxcAHiYk3nHH3aPHFv4ObJ5ZtwgcUSy19Z4Iq6pwZ5iYVTudJulEay4l5UTFpUKAmwe8M8HlmN+qtXIAROqn85moSxHb7DpNxDxE9i.lK8l2h8Xtej0eYA9mAd9Gxlg+UylQvw+E8rWf23O5YeysyyZOAYfeVAQZ+YMQkcs.ZqzfK7qiv0nRKr+Ijt9mDzZGwPPP4zwgP6Iu7BPuk.xOZ0Vj7utBHkMZcH42DeStSa7lsDUWYcf.tb.S278qgkODx0I6LDOI08ZwwGPE..DlrgoDKttHefTeTZ0UDDSSm9P5VFrDvHp8jbeBp9RFjOiC5dlfNxv0QO67BKeSrhYRe+ix3ag4aAVAlsOukdye+dZClXQMMg80381KZ5tCQoXej2aeFWqu7yFGL8Eq.kbErQ3P3SoejUJ+5vvYIuCHzAdnenVxP7nNpKD98FGJqed8IUo342aFruewmHqcWkk.6SBiOVxS9KlBP90ATnP9E.kaN+BdvXu3DAV8MWbv36.9G.jKrO2mX12BPfEPoxQJIHcvJ207mxrepvAS.G4AEXrGhypZz7smxQ37YQibm7pbimez5y1HFJyxYZbWwxv3aeV2qpi7RokS0Sm5nnnHNVzlU5szzfpaC+gf+bcmhqqgSyiuA+4QtWSCZd9j2fMB93o5PnjeY5Dsrm78LrxyAO49QixyS0Lcl.QD7FePcGne3QjkV.8.9aHT19l2KzautebHsmpSSl5wiIsQuQGnJ8LnIgHr3t+.6xWm4HZh.uHyBoYHLXOevby8Vny1oDsu9MPu3BNR4m7hi9CRLgqvLDZ..tOsIZGBXC30jjqD9v2kI8yYVHa.CkYYVQDHhsxBDQSivFACpKXsYgHhYcEedoIFIRfIJBJf90UXPzztfbDjU4QlHc+PKlahzmAuEHMJ5HImGM4WROMl1IgtHlZlViUVj.Dz4FBdB9AxaMwU2WFFBM9iyqRQTeHwG9PmYraaEKMWW2v44.24OVv7L+Ym3GcidaK3vygWAVU5o.leVrL07fGv30MvxaNvCgC80XZ9v8MtuP+itrwpSwpOcRAt9QN7mrWDSqispIyB7nE1LkbJcuv.k1AUcjLeH9GWLFiXXzFzn+9ANPdR+Qh4FUHY4xT3mLdYHX6G4B7dwxtYrUujuhpdpOY1pf0I0cfuZjOT0uyy3qcxarVN4U5Tr9bAvrHdLwGtx0B0YsTP+B+kULgMFeqXHtTuKFymBNAYstUU.5zO6alhsqQ.A55025NhB1ImvQcXnR+EkMn+pkMjPz+hxOeg6WBfwooSLr7Nr5fDyuFm3WRb4.EpjvtgrCWUHFtgcDYnkzZ.CpphIk.8XrC.I2SFAbwoZCA7ADhK3ObZDj1QA2JRFdAUwcC1x0VKytAlcbiHJMbQZyIo6AV+Tt9kk296OXxqTbECx8CRLappeFP064OVaj3xqEdP6K7mXU8GOpYbEB8Yt3T8GjON18doNHkFevDUo+TL5M8FqVPwY.z4r9vbPxck+nS6sbhecE3BTfNVFVCbY5Mr2x6ajQD6tkcK8xkjH92QyS0wE6kHSrC0YzeRej+qE3YfWbcrEp+B3aPIkL4mG1aEWLKhIVm96RzAKMuzRtAIHL5cjAhdzRZslLXoGilWldHYzIivAy7zbyAsoDu1rnl28yVRyf9.ubwkLmZJlfB6BHkr8PBENKM2WP7hJRei2Tahvjy3kECGDo9U3Gi52Q6lpent8U2Db1uMxb2Lm5eXtAE3UZUMqhSZ5zLtKOJomLVLJU8BOnL2EbQWDuD2fQMwVgH8ot2htZifSCCy3mPDOAVGcMhzN9fM+QnEClZJs2eX8kzazgGJpr35267kDvjy1j1K5CqkgZUUMowUci1BFwUUgpffOkiAO9FYpExT7M3s4dzqwIc.78731pt98JQd+IFd7nqfbVVnRIKeCxX3wGwpucRzubyDEM9Da4EOLyYy1c9NeNgqlT7Efx3CWgRkeFKeOihfpHmouzqOSxTvcbrwmj2Sus84tGQEQmBgGPZ5r+B4uTCPlzmnwVaE494F4pLzTQ2A.keIl4n46cwUVgpF5WSTsspGYbI0wsHnhxWLlvvjlhMIkfD92X7e4i4Jv59VjAv63DXAkw2UcwOY6kfvHkKZTcZWVo4WId4+R7Qw2J2f56dlAe18KeiXvWIhUna6SIaU6DCVFmSKDewfHvwg9.JxpFN1VZfOe26TgKcpWzWo14XaLpScpgG.w8WTfi8qVfiRB8KRSFY7uer18tmUgU2vz.rpFtAdzQV1aSOSbc0uYGId8dueasGXnETY6KXL34CUGnEHHGngayXmqRvDyY6C1oiiipJmLCe2iXmCmV4gb41VIyu8hFEEn9P86765X0LN5Vtl5GRQU4oEw4l9AnMbcbVNQscxprsgPcSErou0frLO1VsXet8ataV20Xc5o29AVQULZ65Lm036R2reciWL20OpkhFFqru+x9DSmYDeZqJPc6z9M5EKDL7nET8src5ls9xLXD+YTX5bfGcr6ykavoyzMl85dP9XHVIucRKYIm2Ne7hveKqzv9XI0qiEOapIYymhvXeZKG3HZxO+oEKflBw5gV2BVK7fi9NCqPnCajgasu4q.jI7FjsZP4IMR5qqynwFuXemQ8ICSWS5vPEsq43JSe0hU+UbptOsbxQyIeGMWuwsaKCxMCE4G6OSB7YfhPeMSyVCp35XxYhx8vnSDwqmzvN+h+BiqN1IEzeHqV3wFHyeQxA9utnIhew2uHJ2ibBv3w3LJFcKVtf0wKSJw.4huTk5wXiUyMuT8r58c+L+0yGW5FIdh4wRSNO3xKwFzMw7uB5lx9A76fq0ECGLujGzLr+ADuaQ0C66uGhGjZ7rSbHItUJN1oO7wS1583AXjcMKO+UmZm8QO2oyOP3abZ5jcy+RFKwcjezvshJ69bSXtC6mjPYypb63l3JakF4PSqY85J0xnEZyoaL5UpDgRiG0owEDJDzwv2nXcASTBmusTSkmmFteg5HPWrcqUuaV7vNWBEwNGZ.G0SszAs+0iIGw8hHmBU8ifstSdk8QslobW+.rAza9YTj0If.i4ODjnBATBEuMoHS6i7fe6sXnWNeSTgCQtgsnuQrGte.kttOQERACqz+HMN6TeUNj.ZwE4lqIYZ5EzGQCP+uspdonUt7xgO+HJqEg2HHCml5rOE8DwdCKsY4tdYN4xxZ+FZ9FKa18oBbSw3S4IsvG4n7gXUsgHBfJInzOC.uB1rH0GzPxKA1.OqSs6V+VbOw37QDDUGje5YJRWUH4xl0lkYE0ztkXfCFu246pYniSo4MyrD7nQj3VnH5X6hidm5h+z00LOXzvPyQAQXaEuJzm7Of2pm7I9Iwzvj2zu0ZfAWcw5w.ViffpHf0j6RWY0vB1ZjDSJFSWOvUWMlgz3PH6b9j7NvX0BzOGwr00uY5UYymE9uT9Ol7U0yPpoZ2X2o0pdW+UpW5iNldIUV32HmpqEK.4sxLDj2iHEt4krrwMgO5J6Z+fpuX8WThP7qKPB9OheZI3W7HPpQc4unDIqkOlvGMZsy0Me5lEfhTQkhCOSGfoJ.LV.rL6FNPk9JXYgV868ipeVAwYTPn8WH+Pdzd7QMlsLeJSX6zw0c9yk5FQwe4q4zkmXTMQ+xxxNBNHEL78qNQL4WVU0a2GbCAQcwwGgQUeu0SXUbyw9hFypNTM8ixG6bymxm1ILVAo3CmNUIQOKuGgjVMnOYAX1Chx9ExM8WO4bxxUnmiADdH9heTAvB2P49vRcuONaI1SDLLHQYC4oLuvU1tLplrAbgSyXgHGg3oNC.Ox54Sy1ajEPemDOAr9Q2uEZPuDOfzSoHHKJhzJ8.0BaOABHGOLalC3dIjvSJy.wXiP6hZSoK0Bx3ysN83H42nFIB1CDPK588uk3lQjB3JB0wFZcuVb4Wd5ox2ndux5lQaTBPtVNM.tr3dY7YYpGrIyL3dODBXcZXxvYJfzR5weB43Iun4HOSSufYxodI4X5IZiVJIV46PEj45nyvlxOkygiuUSwRhGBFRG0NepeNkNQLVP7StwLqsWekza8wrFml35I3jJc9TGKNt7nQEcDegrRNbjZ5iwYjifDnnxiKrlyC0zNVaaIAP4G40N4b7RFaAAsGfU7r4lu3l7.pjeWSRKcDv37pK.6Xrh7rTip8i1LvgHl8XdvhGqrG8V03A5.QK1pZ8HngzsGtXifyWEUq3aEQOioodSV6l471uB32tRuD5d9NGlcRNdKQLowv+kAEcVZ6vGCCtCzPAhAqA8aqIQnXCdS77mKQLwU4Mif22.fqapbw0byRjElLvzG.YEXi.QKD2E01DMFe1E52+p.Wz154rbILyWmH4TbxyEVyLDLcJEoxXEI226tMfSV5gMuBNDo9sxUzX90.1KWRi7pEzZCMtQS98oZzV7VdyPRB5SgLuuF53zucvWf.ll4nUI+xk3Ox9PBhK3wS7WRBR9qqPB6WV7F3Hl62OJjX6ojYenTx.QQbotiSJWH3pf3fWdK07tEb9UTxiUQk7jyXoW57UBnfeM.eDWo+nPhtyzvXZTGjyww.ii87h06aNyCTNFA1gBy5q7CiRult3zCG1KJLRAnunq2UIDXKJ30W7mxOLm3Ty9RY1zEUFNFwxGeHgecYwn3ik0vqm0OC9Fb03k46Ohe6tP368YjLJrkOOZ53XpjS5p7gek0CRua95P9ZGNWLxTDfB5MUTYXMR574qLfUbCIuDc7v9SyV8nO2hKeKgfz45cyLj.qpbXcSTNmRvqDzy+LcODc6GgXzef5t4OfkVtXlAsgbPCekNDMuSM2DftNrnVbLGqmyJaOOBNiVyVVe906Q84JXnAfLITNptALHwHuBcXdMWBypgAonusMNXCYkOGCpF+V7X0iihjXo0sz97JyJM2CAUDjKaUcJEI8U5.5uJg7bUm5+XMi7R9KW2Npe0odJ3+3hFsI56HBFisRgwnevbYCJNDCuYYxbJApS2kzp3Nos6mNATRWF0Q7FbtGrSD7MyCG5FUztDbta6WB8TpyP7d38b5bxbYHCoswKrdOnN2EvqVovN6ZFMSzdsK8RtGJVsv30Kl5fp0X3rVAw+fuXGTPN2aPAopbFFFePuN8uecB5wjOEBriDlc6UMy0qD7GkqwXD8kO3SW+BV2nNVgUy6pyzHPDN22fU+3n1VP16LtdZOov1wsS4GT+wRWbJ9Ewt88xIUO8RSWZ1q8yVuz.+OkiyG3Nz980nLJdPWATFVvIHA3yWHDso3n85N3iR6UgIeFuLFNHh2IbQorzjatytu8G5+z9Qf5VXyaHKu.oX0a6878qDWIj74HVi.oOjPCte5l2wmVagild45BPQzYnH9c.YhnOSYaHgWa1DmJixTMv.9k9b21qqKZmffCpxO85juglufw.du6ES8h181TCXApr8h6wb78B19chvSlAVw2V+O4QktyY6s6gNCKYXcoWQs4zsyjluCu021wRSDZfl82QmFIgyPf6ezhY+iPOCupWmeRceq16L7zGq4YD4jQEEtu8dGIUaxrnxZzNjBk7fil1+8RmnsOxt8NydYmhLtCueS9EElNIfKugpUF2N9GLsOISAu0rHDlVNDlxiv0FzjV72hw1BSwy0ICKBltFjp2w1mWaYpPaR8iys2VSseDowhCB9n85xN.jWx0PTmMwt1U9QH3sh29prmfFJ8iG7LdyTZ2uo9LZ4.dbr7HvjoiziKVM6WSBy17GGpcVOlqKuSc84rWr6JFOFb0e4E2j8Ehw2UHK9zOc2ZopsC1NN2uQs7.Rwy856P6tMuCFNqQkmgx5.Oz.Cn5nkQOr9pkoYVTWI2hN6AjQjCydWGcgvXWDnDgyosjUf2MNqzavvE42RxxwXzK.Sr0duOIAwOtn3wcUn+J2JipOcAu64u+kr9NdrE7JlD6wukHyKyyVwX593b01IdfkvS8nJXsZcOfKGeQiGcMhuSwwEI58ZDiDCKmblfOl3F1PQDybaXPkvkdY0wEiijvDJ65wRbF8tP9N33ciUSLY.6bpHi5x4cbwgvv+irS6+98B6We+WIH9i6F1J+s3iHyOw8Nr7VOTPxPDkn.0AAN8CJ53qyUonG2XJc1Y6c18gKZRNffx1AFeiAqD.sY9dEmKx8B+bn2BEmBpWmSGS7Fs0mMnUQSUvLkTmouUbhiEjwfsepGJ8HrQVXaadadNM4nRw228Fk+1SHvciQk0s0xxz1MTKBysMnw8Abn1cdQZwQUwIOs6wFvjihuU97or+fo7WX7hDx2.WgvuHtzoPHlKkuKsF1rMoF1LuPWoxxOsHidSDR1bjaP6XSnqDaJ4wNIZXaZ4tNVkmp6TwTzsNBEKL4mr2SeiJLcltd1PyKyJyMvLj.lk7l7SbF3Nzq8rrWYXjv52uxPL5RRIu1pHVR1KewE8EJ5E29pvRlby.DM7GhLBf20GDK8PF6Qhb6vhDXYsYzv5d3jm67zjuvhS+TBP4I8LVYvonSGpW.dh370m2mtWSoCUfJoNkB71stNVNlpxu4cLlL7rAwraaE8JrmSNYMLcv.Yb57qMCEFfjiTBLd3tlpRyKtsSqUjMrRGy676+.c8fSuAjsgCUugfHccajCzUtSkfCDM91RGTZ9fS0QdpshkEzggGzlm8PG8vIt5qsbuO6g8DOnoke4T5rvnv6RnDwSM16kNTWTEbikZY1rHANAnkt2bi1VXPvJ7oxqynCeV+9PE7XiFbiP+7VUONF.shn0PqEc1YCrBBWo75jRPf.bVp2R0gSDxEN1QLmoMzH+hZMBHsvp.1Oca2W816sI5fG1G46agffuoq7e1BrORhOWC6s+tSJsukZXbGyXVFx1ox7USVCbhq9TfvAOw2.gcb4EtRWO1ngUNvKUv9B5ZSy.qwt4LKOYbblLDPewKJ0ZgwfgHzppM8345c1hqB1ZoFEHsfUkzXLm8xfADhlzXx+Jaw2udQJF7e7PRbybqwAFaLX7meTsTfkWf3X6glOygQYho+LR3Jqj0Ktmbp.NIWemZyCxwXaCpS8khgZ1o1SR3X.Me2RAedl5aZbbrhBe7qOOBOcMDbDQ7mUmKLMBp+Bz9Zc4cRfPkyhCJrBUQQeyruxNPjU+tcftoZylxtV.0QpCnWjKHQBr.R4Mz4iLcjBqK2TrFwvGkW4HGrDej3RdePYLf.1+loqUmLAqo0YRHAoR.1a7s85M0wOFjtbGsuiqsqGQl4C4FuN.N6CuSPcPNVPKLDdyvCGWXBXq3ogaDVrOPP9ghTz8Ck86xj7IJ+FSDpRRLWlpcN6XxWn30t+3nUAhx+DB5H8S+7NZVfsata.qRfhbNcF+.bM.BBd76zTn3neEM5QZs1bPSQ5m.UwFzBE5DZ9bMpB7jbDuQ0xowfw2Z7o9n2JUfBU178RFIrBafo9EfJjbe0TbpnPQgzRwLGVHVp7knYU9hArgGuWG8hUi0XNm+cGaMy6B3kgMnZWOhVQwC345EhjRQg1eb3a7OPhUzKNJp55NM7VHkn.G0QX0Jbz39qr4k+5IWjX+xAtJDl2+3gAPMCWgU1wTh2AfE.IXFyQ3RtzOcvxZ0YLzg2geZMAtHA3CHnXWDGCKX5yuAF4uzkrTfsV+DpdqarDBpTHIyIiiF.M+UT6SHMpB2RSP1L9aHx1.zqEaoPSae2gh3ojWNBVC1G9B1Qlxf7gN21y0GwIdcZAlBW0LbCChbq5FJIXxNIrhI9ZxpAiq4C5JmrAypCMa4m9JL51NoigqOFO7ba3YTb1begImv5xKFvazYJihGmP2S0jbk.Q71DvCxHHuLrn3yZoA88IP36WFv1dNCHl.nvGYNAD3PVzjWCxmVEpyeos.xLhfxAnEBr9.XZ+FJpQuRG+KFcp1r8Ov8N6dJ8iOTf6uT1IAabu6Th87aJheXWFxUZeg0ozlLGUl+8IiB49Gqcf3b5H7tTIdDDQTA0UDvGwRaDOxjjYbjR.TxFs1HZxljksxMfD41Cx9XNrg3Ycqxgy2zZHoOJGdQfsSgPVlQfcQScL5dPmgCIokoegN.scDNsB7Ux7GLJNbSChPQnmOQnSVs460TU4umXt8JAOtn56U8b0jmjGIA8ErVAODjmzCMc8b7ajaRoxGXN54Fb1dlKa787qZpHQOYcCAYXRUcYEEcGnJeEVXMfzXoR79J0z5ceAvRK5A50UDhTqQmNLjZDVafNAZfyKrLpvDDQPzxQQQQMk9IwZQWUtS1uSfdABIOVNtth8czqFY.eL91A6tHlvjW.gCNrRK9MCEOzZs2wfAuP5qUo1mxSeDuZcMfgJGNbsrfhU+fG9UvH6OGose23bli7beW4ODznOwxKROAF4.wmGsXkGMhNUZofZ57MiwVbm4GKYhVpIihjU9j6vm1vFVmGrOhSFOvRdFFJrzcCTkUnOEfLsvcU8cuDdgmHGerlCaUIgtCbQzyJwirLlUrlnTvlno7nJNGhpZkm+TxfinS5KBWydOuS40xGWIwIF.KjAfJQBcxkFPsaMOqGMyeAN85S1Y6hwdmDUyMK2I5OLQI3UQy.9WYyY+0gEnH+ksmULT797wfJ.ohJK3EqA3koiU9GdS.YUJWhaHxDXHEDeWEEpYZIRi..fOKow7uXAy.+9XTsQGpk0vcn53TP0O+aryoHq9WAi7tI4hQldyfdX+NK6o2MnLc2pe40TL4.bWseJUVLW9HQGK6npZcu6ajohaoc+RV.i0WvzEF7ImPqKeh0LT24hgoxtwUJqZzeliUvHQesEZxSR1VOlyLetqYk4RvfDrenRgavuSKZshA2ticx0gT1i80P7Dmu6lkPsmfZ3f+yvSWXh8s15MiyTqgD+5ovVHDBoySAiV+gDD1wXwmmJQfdLWHiA7Khfr9mfJd+Dc.vNj3tVTH.11mK3Ihs20.LQTyghE2tPkNZ.YZ.sCCE7kDXoDNKE0umEAd663MIsoBriU.stYhGkPcQD1Pudf4rfijFFD85cSohLWEpqW3UvG5vzY27jkiV6gxc293B3.jy8VzkxFw8uDZb.WGZHgSK8R8K3IVh.vnzuR7NHNlWh8OxSdFYOlXhIL2olTyF2i2mER3ItlJzqdmlTnjxYwEsiGs.AkmgGQ5VCSSfuAWjOnAcllQBMuwBx5iGywKK+dXkgS+DTARU1VsYPO5L1gYz37axUmgSEVsRnbBm7sdBmzjbFZLiGuu8TeQA4S5.AiZeSds.ujt2ZdMug1JSqRjdcau5K7KLGIjhMJb34EiDRkEWuOyHKuJn1ReMQMiti3RuznUTaQlRnus74l1cZkV17nuYCp7AgFRMXOKOp+789NHHr5bccMqeRqL+CxkpfOH3InqieMiyQ2CV2FCugsmopw583TN0icbWq3Y14dBtZnKEiCba.DQ01pzRez3UsDyHEqkWakt5IgMg9L0JkMIMaGfaG283ks4wPSxJOdhuejkeUSI2PtYsUKhSmag88VNkETk4sisLhCBpnNWsSAnXU2maphQeky9VpDeGz3To1FR+iuXfxrpf2SMsLdLX5089aOyzLH5ps5wutsu.fupMZ5UpWkNG0N3OViWmFf9z0ilzBnCJGZV3Zk+Jy1OJR0bL3Krtvvdnb+8M5cr57z7NjaBRS3UtA5Kze+F0FaPE+3LcPhUZ7bRb5i36QkNY6dd1GSRuOAr95su+hKrnN6iyMdFVQzaJ61uoPFFUuHRpeGAl+Pf6WajJ9Q.ut5PCTN3sJreQ71t73CJVCtPv4ekkWE6uAHFNxe7LlLwdyw+nsItNfke6wc6BwPwH.U.X9HwfR1fiGIMoTU9i3ldeQbLnFsoGGopeq7.e8iyYxJOHt1YmM7zKOeBd3D99ldOAQ0zuq1fGJ3LZxV9592wuimZdTsXdwOqr+5HJJRW+QZ0Yyo4RWSCZytkqmKg9i41Fbi9o0WEImUKRxZ3mETlai5L30M6EYu8Wa.eM4s5eHS09VCGMlvF2TBftVCCAAukpY8tJpkKD7wmIQJkW0mWnkuI.6uZ4863z0TjeqpwJ231T9NZ7F50J01kx8FBlv.01XMZKrChUSJRJ9xVG15cV0dazKbBFx3HD4WtCOdm8YKS3TKEgMrP50WeQZoksQ2rKBjBcjqSjE.aoPjF7.B.XQfOXcRqUScgBH.L.D1t+9U4haDd9RVmtH6q2TQZYhvloQf1sJgywwoe2Plf754U7zWHqDH5RUSYOAS6UVTehvqVA5xSe43e9xXS4qbXtrV0EG2r67tb5sMRzmqmwCgNaWpBEnvQMKyyq4qfob1Jv2q8okDnxYGJUpzw570BDKLHaLXhJ6FBuh+iKOFLltuVfe53YBs1SnXi149BMEXuywUy2fArnJc4RN+9xsh8pJNoBbZbnVYTpiSUeltpuhPWnMyF0m97sflphLkTC72vTPTQoarWKiQuheqZromlxmsMru+9Hw2uQuUtUkVzg8JZMx008bXJfts.ze3A36Swe0sU+ugb9+z++Iv38WejyymgI7HmW0jmaNrFk6gPVS69H98ZyQg+f7DYlKw0ly2HMvZNvB9JvJQvBFa0nY9243eciOSdRmz9xuy+nkWsdANEc4j35sYR7V+1zwNNQVBZa1HmxaY3NY4TR45ZA6YemNA63eHk20EU9hq2s2pqB6bJ0zH8lDslIkWvPAq6vsWGNVQ9gLtKe1+w9c37viN92FQt1b7BlqcMOHv2OyUUO7y9dldMM1NsJ0s5O7wFzDXiagkDhDi3ojXYPWSMqS6.SznXHZPa1ZX.2zYYdACD3I0wzXawbV.DaxbzSg9MQP.4c0u9D8hzG3yVzizi5NrrsQJM32vZBOFqmj8913uRnNA9vro4OaWqdxJHmJ+EL365wPNb0A61Ll6merAigzXE5zjVWD3wzulyAp.Vtyhz+jm0mQuRiZUTt+gPElbGneDaIBfxmzg5SP+hKUzC.69ir3hVI78R8zEXuPLrovYHLhjnMe.RovLET8OzQjnQagypjEjIbffr+HL2Jk99a2CO5f1N5Y68REnhjdzb9QCqtwNeuBSuBqlEXxCcVEHm+fgqYRyXrBqR3YDlHumIpnVedi8QyJniBKutVGF6nrsi+v3wY4qfqzYXpCJDL5vfSpkSJLjfx3Sh4B.UXjl.oLqOlldaeJ1ToGvAvxgi.Ekebyczj9H+cHgoiwFD76bU8PCK3gaqahZp7ir7eHkWtb5Ue11qGC9LbxT61m0KQzxvqcJRc1OtZxH8.ovdX6CfSOnWMq2SpfBeyx27RRG5BoNPjbhFHFrScnmIdtUbOHfLouoYqhsHYUyP1Z1APvrceBFzVDh7cKk5BydiUbxcn+b7HQufJBybeYLM+bEHu89mTSsaZ7URTeWC3pTH89OCCZZV4GFjnkoBpi85fl9w1IpJUkvWH7MBuhEyPXQRaEulTSo5voaMui3r+hZ7fdQj7EQX5PuQ+DRri8SYgn86m4q.7jIBaHZYqjfGuUZpkmb+UN7.+sDv+Kat3fs38SQerlgl3+dffld6u0wC+dff3Ocq+6AB5F.Ak.OXrex68V0d6Uov1InFLXKjT6xavGWoFCG6Yl8MdpKXxD6tt+a20fzzO78K+fUvhEjYjOcl0aUb9MccaB5SJlTF50OvJjzVUbbtQcXaUa7qaFUq9laCJ2080YPRsWsTl4p2CJO8dD6fi6VVM08T4Q6Wx5gqc3drBl+Dau1p+CKpqY1dWknrZdrRPqxiDD2QPiC2og7A9DFAiAdyyb6gKiGCzmyDAATQAuasFSwHyLrD2tIxlRKznQoKlKSrrVSVtnNkdzprKyuhr.TTKWpjpRqQ8guD+UMcpUvldg1mBnCTu46EmqCtHbLRfj2HsVqCuab3BvvKdj7rMdregvtsRQTFNxcDc+Mbau+R0+ghKN25YdC4M513jUIMWmwGXFk08iEi.n1WqeDnqncKWQHbxvnvP4lWFd8NPAG3iKPRlv4K77SUnRsRhGTcbbXg5Qr2X392gZvAjSHTe+f4UO2h7wRrzN+P8b6C7dPTIN7AhEfEDtCmGTiw63qYQ3Rp7O6K6BhfUUOwrGXZbkQ8n7idoodV1t7uOSo8ppeuQc8EG0chwXFUaFYdxHNWcNU73EzbjObsdmYqiUks5edvpF1IHqFxybwlrCd9fln5cGqC.zNCY.LWpQOtOWPdnSzBDrb2UJrL9N9AjQFYtwq+jDxxNMpr7SIE4ieFUnSL5nNKosRpUhEWZzgOBuWxhV.qp+wYBcbLEV+pR.Tg44ebxP9BR7x+X4.Z2.aDAu6ZbSZEwpCA.WmmH0hXi8Pdyp8B98AIi5WQGyphlUUHUlPEbw.2Yn0Kk9JFMAmNwwNYyMfN632lxsmn68fPuE7zC7LaWSCf55sG5B6JWecSwhA7kERbMpZckcWWZp16q7f5EXUoCX+NNM2Bjip9K7QfMX+Fo9h6B7wpKKepbIu49r7YnrFygH5Zde7YJEAJtcAb7uhFbFWv7Lqi8AKIWb6O1kFrY.sRo4oNl3EkR9vdhm1Esc3Mu5fCVpmT8wfP91gITjhWLVpcrdRHuPMdfXb1MLS1nF+7ASjnfIc3zgycuNqMeikXHpSCY4SBhBThR5N5TxRyzmGW5uX95OqwwAUsdj09tP4CncSM4JUlrPD+H6yzL4CpLE3ekiFweCs6P+xweJLg0GhCL986LGVcslBvMUB.6xA5slfuHdY7Yl4ItejEOCj6O6nHzAxNAktUFQaC.Q4AkYpPr2MY0CNw8OrSbXE0V4bhqRGUcek9bYtmvrfXKklgm6qq4s00vP4J2fdNuolpBzTrzNedu5phgmgXhV6TjqPbP47pNGt914D1zCs.R7rWemzx1DKTy2bZt2KuMJyrtftPawVAJMjTqtpQy+Hcx6YfyvxtnhWW2z.VMT883dYpGPpsV+wh1qghsu1B5xknl4.04TgYuVrRJs.DOPpyJWHhF6LZoxPbJK2i.dlto2znKTxEqciIeAfUn7XrnMzGN8Mw2RZ330D.RHpPqWzzCzrIeMwMh4nDMlVK2THpKH5thkndclSQPZXBDo8buXIPv1AUeMsM4GKzytFIM2rVF1Ldu6p5Zz+55L276Cg8o0i7yNwiie8efIFbCn32ruNOQJwbV0uSlK2z85IWCbfjTz8jVkY3lUBTflkjzjrRMlVJQpWS9n6yoZmNTOr5oGOYKccylBmT3IpRBlNjoyKg16IWIE0FU8RxBWlmmSbvSTGxZiTT3LxvPwLhrYKB+ajD4Dkcgu3wwgfEiI7.2GzFCkZ4oNC2waurKkcNlEGPgjLk2JMWmRBQc7BICnYqRdLvYvdtQW2vk9UUm9ZqwMi5+0NqG+54xzT+wb4OR98RfwhVor+XwznW8t4PzpurZb+ba9xnb30GYEhgUHpGw+c..kQPekQUAIYpJevoBooF2CVJFuo1wK1tryuZUrsT8e4ndKm7jXGM9Es5no6G7yZon1dNj1bOh16Q+8qvllvAmrRXkRtho3tGqkiJdA2hTYZGivlrfyZVYjFdQ9Mls5ovnZd2JSmuXnLlqP9yW9ANVvZ9dSXvCctZaGuAUB+W32Lr7bvUbuUmjy9l6v8zWJwmUJBXmBZwUe4Sje56Vck6jldSak1O97lAiwItB9rW9cp46eck9QCmaWoSCEVRGVDtDEM7o3L8k062ByC0DyY86uemPhnNDeVLMbZUNW1WLtij6nkJmETXgto7gBvpbsA90B8AwBI7t+GdrI.sSgBqH.0Y326QIvulP7vQhHBPJjo+rfyAsCrmFGBeF1lFY8Nel16SYnAcNb4tUZqvakPf5hqKwR+B02EEujWuv+RqFbrc+90m6OWoedqavgQQveDGIVXQjBMUbRhM5SgW70+i.fDjxi5Cqc.c.r2ZKiDGHmbACI6nK0.mjmEeV1ZSPdrnfmmzkcm7A3y4UshcD.9PeoLD1NIgR.fyx4kaGLMGPbswaHnovxD7lHJDNBwThAXhwxfEbBkRSPY6oVC6pNi2JYeAa0sc+7Pi2Lpb0qG5Cl1pmCqm3wGWD2H393L1vC9qi5onY3WdFA+yn6VBNebRvdWm8urMbCJg61MCBOVd5zF99XeyTtvQsLfXKyrTZl7LYIOR8wmexVD2XhPKRyX+ixp82Q4MnuHSkR+rg+VvPDK73z5NCXRYW+M0dLDNv5mK8hjKY3woj2xYP.HzYX.QTeLTqzZS88qHuU4.EA6rAGAAGsA041Ns6PQcgz8qqM.suBGMMpBCUqo02hAksX.0e5jXTLcZIIq67KNs9t11BUujLOeNX9AxWBW2LjHfAcYPBcbt7Wuv20+jonaF2TmMszVhpPQVYW4zCsKjOLx6fs+cHP80Wjl9CEByGVm42bNh4xyreYX6WTB9HIGXBqjXbg4p13z0vXzIpWJjz.zEHRvTxPJV6+V4smb4WoGyyB5fLU9UQqXUzfBOtmnUFncjyeE6xVocpT9wrc5q.XZsZvr+WOpzsBJrb83xtVAVQezA0OwrWYSqLxPZQIW4ZBkW6UOenAW7mop7wzSDGVezlzgOVWaFuDc4yOWJkX++qXt95osQBh6fpqNmpHc2q2SV7DbkKJNg+DZUkNffyAEHPCPq.gp1XuIYabrcsWSHf3Cw8M69FwMyZmDGRLP2SmtGRTlcl42L65cl0VJ9moSwMga.n9ET+C6YW7zZ6Z1n+Zm8saL6t0Gq+QRuiOm0Y3I6+1C12cy8JcwNeZPq86u44eu+agtIlCpWiDdhmwvS8s15r5tFGT0gb6sUZVy10vH5r8L5Lr0EP4wIqc6EPa.9Wtw6nT+aVpEPFnKdEvGzkwo5tdvWWyH5GrkYwB4SwsLECncXgbZfYjqEm44tzh1fyeFc6HvqEWQu8HMcVQ2q02VtP96JjWC48lFVHm1.8pMJ+dcHrlr.nOdx6YNDDwqYtFqs9RfeEw95Kilg9HHkFcnwuMCwFrTCQUqSQL7X29D5sPDyhD3PfwTzilF9Ib.ia0MFZb9cTT+Vz.Q.ZR8IAH9sFljMH9wAPyhDRSx7eq76DCMcTG+W8YtgVqEH2K9myfWkLvyPR7VMC7JKIdqkAdUjDu0y.uUkDuMx.u0jDupYf25Rh2lYf2FRhmQoL.r5KBv6guvOTmP5bKfh7+ep7Ii.KYwiLnkcoiLnkcgiLnkcYiLnkcQiLnkcIiLnkcAiLn8DkKOObIEK2iJRQFaECo7Y3SsTGPNmyTa4Pr58iel51naO6Yp3D3XLJeP+xQSnKKc0jY2kFoEJmVnxU5+td0qd++lic2dzwtiRjIqlY2pY63VMy0E4VvGs.o64hKYMbWZ472kWK+840erp1smqN74GC7bbnAyUMR3iAOkiK4J5Hth90DmH5XCUx8poYMwW+xXMQq3GmMkgdt64x3M7oIxldN1HoHh+dVNVTI44ggec1d0HbBR6hIiA14SC3LLcxUidMyhFSBiZp0ng83d9BaS3hPkbugmvZjwrunoiGgyb6bJCRaFjAETSc8R4lzrn4vzBIgONV4UG6QqNinNSsWaaa+.ZKb+j8mL5CO7vuN8nkSFVXLmdCehwiBmXVuPibp2kWWeQHZelYy6t36zKWZEbjZrPeGxvFhirhOOCT1l.aYE5Ova.3DZ+pB4+jEKZj3+NQgbu90CH9cYVgS4ZMZaRjCeKeeJbznqEcJshJaAEQBag.MkJtgX7S85zwgdnm8zliTx4NcIttTGL5hwNKjdN0B1VkJ77fH5HklNDdS9PmGgzw6NlTIez3v1y.9jnTdz365ZmJ1qm+dkA3p33Kq+8e8GJyxlm+rJLKhfbXZxEEoc0DEPsyTD6IRultgL9vzzx5O.iiV5IYbzWZJ9KpGi2ly7ywElSNBUU+WjiI7zZA0ca2FtLOIAekp4WjkTVelv+IuHrp9PBOfA0vpPEQSnhxhlb8G.WM2BXYbrbITFWAZRcsEBX4XhRCTNWhRiQJU5SrB79pUbGSjIX+IwHPN4JXJWM0CQYcCEQWzzqy8gpfuZYMMTy3XYYcrhrNtprNtlrNttrNtgrNV84cDaRsUDzOLtrQQA5cHZ.mK2ttDXGnX2px+vevBYg
      
      posted in Presets / Scripts / Ideas
      It_UsedI
      It_Used
    • RE: Release Triggers with Sustain pedal support

      @d-healey Thank you, I will study it and maybe make some changes, or I will use it as a reference.

      posted in Presets / Scripts / Ideas
      It_UsedI
      It_Used
    • Release Triggers with Sustain pedal support

      I tried to write a script with Release Triggers, something seemed to work out, but still I wanted to do it the same way as it is implemented in Hardcoded scripts, that is, to add the ability to adjust attenuation, but I can't even imagine how it could be created. I found this script, but here it is broken, it is always the most recent value of the table horizontally, no matter how much time is set by the Time knob. Since I have very little programming experience, I would like to ask for advice on how to improve the script.

      // Init
      reg CC64;
      reg NoteID = [];
      reg VelID = [];
      reg i = 0;
      reg KeyPressed = 0;
      reg Cycle;
      
      
      // Callbacks
      
      
      function onNoteOn()
      {
      	Message.ignoreEvent(true);
      	if (CC64 == 1)
      	{
      		NoteID[i] = Message.getNoteNumber();
      		VelID[i] = Message.getVelocity();
      	}
      	else
      	{
      		NoteID[i] = Message.getNoteNumber();
      		VelID[i] = Message.getVelocity();
      	}
      	i++;
      }
      
      
      function onNoteOff()
      {
      	Message.ignoreEvent(true);
      	if (CC64 == 0)
      	{
      		for (i = 0; i < NoteID.length && VelID.length; i++)
      		{
      			Synth.playNote(NoteID[i], VelID[i]);
      		}
      		NoteID = [];
      		VelID = [];
      		i = 0;
      	}
      }
      
      function CallReleases()
      {
      	for (i = 0; i < NoteID.length && VelID.length; i++)
      	{
      		Synth.playNote(NoteID[i], VelID[i]);
      	}
      }
      
      
      function onController()
      {
      	if (Message.getControllerNumber() == 64)
      	{
      		if (Message.getControllerValue() >= 64)
      		{
      			i = 0;
      			NoteID = [];
      			VelID = [];
      			CC64 = 1;
      			Cycle = 1;
      		}
      		else
      		{
      			if (Cycle == 1)
      			{
      				CallReleases();
      				Cycle = 0;
      			}
      			i = 0;
      			CC64 = 0;
      		}
      	}
      }
      
      posted in Presets / Scripts / Ideas
      It_UsedI
      It_Used