1. New to Christmas lighting? Get started with the AusChristmasLighting 101 Manual:
    auschristmaslighting.com/wiki/AusChristmasLighting-101

Sequence builder for rgb targets. meighan.net/rgbsb

Discussion in 'xLights (Nutcracker)' started by smeighan, Jan 19, 2012.

  1. smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    I am new to all of this. I have only used the Mr Christmas 6 channel light controllers from Home Depot. Over the next year i plan on getting 6 Lynx express, some of the smart strings and build a mega tree.I decided to build a tool to create sequences on target RGB objects. The output of this tool will work for LOR/Vixen/LSP.Some info on the design of the sequencer.The entire tool is web based.Select math model on the left side of web page1) Cone2) Plane3) Fan For each model i have various mathematical algorithms to create images. For example code that produces a spiral line on the cone. The math model output (X,Y,Z) is written to a file.On the right side of the web page is the models to project on. I have finished the code for creating a megatree with any number of segments.1) Megatree. You define the number of segments (ie. 8, 16, 32 .et.c), the number of pixels per leg, the channel number, the starting and ending pixel number., the height of the megatree and the radius. With this i create the output model. X,Y,Z, channel, pixel. One datapoint for all. so if you had 16 channels and 60 pixels per leg there would be 960 data points written to a target model file. Web page builds the file X,Y,Z,Channel, Pixel#2) Flat plane of vertical LEDs. The matrix of LED's all located in x,y,z space. TBD3) A snowman, 10' tall. Three spheres. This is just to show that the target models can be any shape. TBDExample:I create a 10' high cone with 2.5' radius. I run the model for spirals across the cone.I move the 10' cone on top of the model for the megatree.I then map the model file of x,y,z data to the target model by finding the distance of each pixel from the target using
    d = sqrt (( x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2))i have set parameters of how close a pixel has to be to be set on. I will then select the target pixels and mark them as ON with the RGB from the source model.I plan on allowing multiple math fomulas on the cone (spiral lines, stars) combined together. Here is the first pass of the tool: http://meighan.net/rgbsb
    I next want to export the sequence as an xml file to import into lsp/vixen/lor. Since i don't own LOR, is there a document that describes the xml i would need to create?I plan on the web page allowing you to select which animation model you want ( radio buttons will allow selecting as many as i have in the gallery) and then projecting the animation onto the model of the target (megatree, flat panel, snowman,.etc.).
    this post was just a fyi in case u might be interestedI started a thread on this software also herehttp://diylightanimation.com/index.php?topic=7657.0i will add a half mega-tree this week as a another target model.Thankssean
     
  2. AussiePhil

    AussiePhil Dedicated Elf Administrator

    Joined:
    Jun 20, 2009
    Messages:
    1,391
    Likes Received:
    1
    Location:
    Canberra, ACT, Australia
    Find Me On:
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Welcome to the forum

    Formatting seems to have gone a little haywire on the paste :)

    I have followed this work across the forums but still haven't managed to have a play with the effects builder.
    I go to the page but don;t see any links or things to actually do things, just the images.

    Cheers
    Phil
     
  3. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    You cant do anythign because it is still pre-alpha. There are no radio buttons, sliders or all the other stuff planned. The big thing missing is the code to export these to a file (LSP/Vixen/LOR).


    Since i only came up with the idea for this tool on jan 13th, it is not ready for release. I gave out the web page with the images so people could see the project the same as i do. I am also soliciting ideas for it.




    I have a number of people with LSP and Vixen who want me to produce the output files, they want to try them. I am guessing it will take at least a couple of weeks to get a file.


    I have never run lsp/vixen or lor. I build the tool before i have the software. It will take a little time to figure out what is expected in the xml file to be used for input.


    Since teh targets can by anything, i want to next build a model for a fan (i am not sure what to call it). Say 8 strings attached in a flat plane. Maybe 10' tall, 1' wide at the top, 8' wide at the bottom. Kinda like rays of sunshine.


    When i project the cone onto that flat plane , i think it is going to look good.


    I will later get the math for doing fireworks, snowflakes, maybe avi files.


    thanks
    sean
     
  4. AussiePhil

    AussiePhil Dedicated Elf Administrator

    Joined:
    Jun 20, 2009
    Messages:
    1,391
    Likes Received:
    1
    Location:
    Canberra, ACT, Australia
    Find Me On:
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Sean


    Thanks for that, i get it now.


    I have scripted in conjunction with some open source tools the processing of RGB data from image frames of video files into Vixen data that can be pasted into vixen.
    It's easier to write the data out as time-sliced channel value data to a standard text file and paste into vixen manually than it is to write the xml, faster too.


    one thing to consider for end user use is that not all pixel trees are mapped the same, for example each string for me runs up then back down, repeated around the tree, so my pixel map in terms of channel numbers is different from someone who runs each string from the bottom only.


    I appreciate that this is all very very new and i'll follow along as you proceed,


    For me i would like the output to be pure channel value data as a text file so that i could paste into sequence as required.... but this is just me


    Cheers
    Phil
     
  5. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php


    New release meighan.net/seqbuilder/index.php


    This version has some more documentation in the header of the webpage.


    I added a new column with half of a mega-tree. I basically took a 16 segment tree and built only the front half.


    Web page will load faster now.


    I also checked the web page on my ipad safari browser, it works fine.


    thanks
    sean
     
  6. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php


    Sequence builder for rgb targets. m Hi all;I have a new release of code that will build the target modelshttp://meighan.net/seqbuilder/main_login.phpPlease give any feedback on if this looks like it will cover your megatree.


    you can use 'guest' password 'welcome1' to just play with the tool
    .So here is what i plan.This page has a mysql db backend.I expect you to be able to describe your tree with the prompts i currently have.After you save the form , your tree will be saved under your name.Some caveats.1) The actual target models wont show up for you yet.2) You cannot edit the model after you save it. Edit capability will come next week3) I will export the models each day so that i can reload them as i am changing the database DDL. In other words, you wont lose what you enter.I really dont think it will be that big of a deal since i think you can describe your tree in less than 60 seconds using this form.I will be adding the ability to have other topographies. One that i saw on Madrix is what they call the snake. This means you could go up and down 5 times , for example. I will add that later, I think i cover what most of you do.I have prototyped scrolling text on the source cone, so that will be coming out after i get the xml files out. I needed this model to continue my tests.If someone is able to put their tree in matching your actual tree, please let me know. Ill use those in my testing cases.thanks

    seaneighan.net/seqbuilder/index.php
     
  7. AussiePhil

    AussiePhil Dedicated Elf Administrator

    Joined:
    Jun 20, 2009
    Messages:
    1,391
    Likes Received:
    1
    Location:
    Canberra, ACT, Australia
    Find Me On:
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Sadly i get this when going to the link
    ---------------
    Code:
    Web page is down for maintenance I expect it to be back up on monday, feb 13th. Sean
     
  8. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Hi Phil;


    I took the model generator offline while i rebuild the database stuff. I have a new URL, http://meighan.net/rgbsb
    I created re-directs from the old pages .




    I have some major releases today of rgbsb.


    I have a new graphics generation process that is smaller and faster on the web page. I have created effects for spirals, barber pole, snowflakes, random dots. I have scrolling text almost ready to release.




    Here are some of the new models.


    [​IMG]


    [​IMG]


    [​IMG]




    [​IMG]




    [​IMG]









    The rgbsb tool is made up of 3 parts

    1) Library of effects for RGB devices. You see this at http://meighan.net/rgbsb (NOTE! bookmark this new web link). I expect this library to get to be into the hundreds. One thing to note , each of my models (spirals, snowflakes, .etc.) have many variables that change the final output. When I finish the tool , there will be slider bars allowing you to make a near infinite combination of effects. All of the variables are there, they just are not exposed to the user yet.

    2) A tool to allow you to model your megatree into rgbsb. I call this the target model generator. This tool has a mysql database so that peoples' models can be stored and retrieved. This tool is http://meighan.net/r.../main_login.php. I opened this tool up for a few days last week. I got feedback that helped me to go and address some issues. This tool is currently offline while i work on the database.
    NOTE! Change in web page URL

    3) The last thing the tool does is take your target model and the RGB effects you selected from the library, it then produces an xml file for LSP, Vixen or LOR.
    Currently , I have LOR producing a LMS file and importing with no errors. I am in the midst of making an xml file for Vixen. I have not started on LSP.

    So for step #1, you can continue to feed me more ideas for effects to go into the library.
    Send me a link to a video and the time stamp of the effect you want me to add.
    something like in this video http://....., please make rgbsb support
    the effect banded vertical 1:47.3 to 1:53
    the effect horizontal chase 1:11 to 1:22

    Step #2 should come back by this weekend and then you can try creating your RGB megatree.
    Step #3, i have asked for anyone who might have a Vixen 2.1 vix file and a video of their display. I can then continue to work on creating the xml output for Vixen. I dont expect to finish that for at least a few weeks.

    Eventually i plan on supporting Vixen 2.1.1 and Vixen 3, LOR S2 and LOR S3 and LSP 2 (maybe LSP 1.8).

    You can imagine the exponential increase in work for me to supply all of these xml forms. A possible side benefit later this summer is i am thinking i will be able to cross transform between any two sequencers.

    we will see
    sean
     
  9. GoofyGuy

    GoofyGuy Guest

    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Impressive! I cant wait to give it a try, I might not have a a single light on the house, just a tree from yoru design! When or where am I missing to start giving it a try!



     
  10. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php


    Two new models added to library


    Vertical bars and falling stars


    [​IMG]



    [​IMG]
    thanks
    sean
     
  11. GoofyGuy

    GoofyGuy Guest

    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Just Make It Live!
     
  12. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    I have finished scrolling text. I have added it into the library


    [​IMG]


    Now on to the xml work


    thanks
    sean
     
  13. AussiePhil

    AussiePhil Dedicated Elf Administrator

    Joined:
    Jun 20, 2009
    Messages:
    1,391
    Likes Received:
    1
    Location:
    Canberra, ACT, Australia
    Find Me On:
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php

    Sean


    A suggestion for Vixen 2.1 and 2.5 support, (i guess more a request) a simple text file with the channel values over time makes it easy to copy and paste into a Vixen sequence, the user can then save as a routine.


    This is how i save the output from my video processing scripts and just paste the data into the vixen sequence.


    Cheers
    Phil
     
  14. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,076
    Likes Received:
    16
    Location:
    4217 Greenfinch Dr CO 80126
    Re: Sequence builder for rgb targets. meighan.net/seqbuilder/index.php


    Hi Phil;


    since i have not really ever run Vixen, it will all be a learning experience.


    I have requested (and received no answers) for anyone to send me a sequence and preferable a video of that sequence. I need to understand the xml format.


    I need to understand how the profile file works.


    I want to get the target modeler back online before thsi weekend and then i will dive into vixen.


    i dont suppose there is any documentation of all the parts of a vix file and a prof file? Or maybe what is the difference between 2.1, 2.5 and 3.0 Vixen xml files?


    if wishes were fishes ...


    thanks
    sean
     
  15. AussiePhil

    AussiePhil Dedicated Elf Administrator

    Joined:
    Jun 20, 2009
    Messages:
    1,391
    Likes Received:
    1
    Location:
    Canberra, ACT, Australia
    Find Me On:
    Sean


    Happy to send you some 2.1 and 2.5 vix files along with the profile files, certainly in Vixen I suspect most will be combining your effects into a bigger show and would be looking to either use a saved routine (i can send one of those) or just paste in data stored in a text file.


    Vixen just uses data values when pasting into a sequence like below. that's 2 channels by x time periods.


    171,171,171,173,176,176,176,179,180,180,182,183,186,186,187,190,191,191,194,194,195,195,198,198,201,201,202,205,205,205,208,208,209,209,211,212,212,212,216,219,219,219,222,223,223,223,226,226,229,229,229,230,233,233,233,236,237,237,237,239,240,240,242,243,246,246,246,249,249,249,249,249,250,250,250,250,250,250,250,250,250,250,250,251,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,253,253,252,252,253,253,255,254,231,231,201,143,134,134,140,151,164,164,177,181,181,181,186,192,202,202,209,210,210,210,210,209,209,209,209,207,207,207,207,207,207,207,207,208,208,208,208,210,211,211,211,213,214,214,215,216,217,217,219,220,220,220,221,222,223,223,224,225,225,225,227,227,229,229,229,229,230,230,231,230,231,231,232,235,238,238,241,243,229,229,229,197,177,177,158,133,128,128,131,138,144,144,159,159,166,166,176,178,178,178,179,180,182,182,182,183,186,186,188,189,190,190,191,191,196,196,197,197,199,199,200,202,202,202,205,206,207,207,208,209,209,209,210,212,214,214,215,216,217,217,218,219,220,220,220,221,223,223,224,224,225,225,226,227,228,228,229,230,231,231,232,232,233,233,234,234,235,235,236,237,237,237,238,238,238,238,239,239,240,240,241,241,242,242,242,242,243,243,244,244,245,245,245,245,246,246,246,247,247,247,247,247,248,248,249,249,249,249,250,250,250,250,250,251,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,253,255,255,255,255,235,185,185,166,152,146,146,161,169,177,177,177,177,179,179,179,183,184,184,186,188,189,189,192,194,195,195,196,198,201,201,202,206,207,207,207,207,209,209,212,213,215,215,216,217,219,219,221,221,223,223,224,225,227,227,227,228,230,230,230,232,232,232,233,235,235,235,236,236,236,236,236,236,236,236,239,242,245,245,248,239,227,227,193,174,142,142,127,127,129,129,137,147,154,154,159,169,181,181,183,186,187,187,188,188,190,190,193,195,196,196,199,200,201,201,203,206,207,207,208,209,212,212,213,213,216,216,217,217,220,220,221,221,222,222,223,225,226,226,227,227,229,229,230,231,231,231,232,233,235,235,236,236,237,237,237,238,239,239,240,241,241,241,242,242,243,243,244,244,245,245,245,246,247,247,247,248,248,248,248,249,249,249,250,250,250,250,251,251,251,251,251,252,252,252,252,252,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,252,250,250,250,248,248,248,248,246,246,246,244,242,242,242,240,240,240,240,237,237,235,235,233,233,233,233,231,231,229,229,227,227,227,227,225,225,221,221,220,226,228,228,225,194,172,172,150,123,119,119,137,142,147,147,146,147,145,145,147,147,148,148,149,148,149,149,150,150,153,153,154,154,155,155,154,156,155,155,156,157,157,157,156,157,158,158,157,158,157,157,158,158,158,158,156,156,156,156,157,157,156,156,156,156,155,155,155,156,155,155,154,154,154,154,152,151,151,151,151,151,154,154,153,149,131,131,106,85,80,80,75,76,78,78,83,85,91,91,95,100,103,103,104,104,103,103,103,104,105,105,105,105,106,106,105,106,105,105,106,106,105,105,106,105,106,106,106,104,105,105,103,104,102,102,103,103,101,101,100,100,101,101,99,99,98,98,98,98,96,96,97,95,95,95,94,94,92,92,92,92,91,91,91,89,89,89,88,88,88,88,86,86,84,84,84,82,82,82,82,80,80,80,78,78,76,76,76,76,74,74,74,72,72,72,70,70,68,68,68,68,65,65,65,63,63,63,63,61,61,61,58,58,58,58,57,57,57,57,54,52,52,52,52,49,47,47,47,47,45,45,45,45,43,43,40,40,41,41,41,38,38,38,35,34,34,34,34,31,31,31,31,29,29,29,27,27,25,25,22,22,22,22,20,20,17,17,17,17,15,15,15,13,13,13,11,9,9,9,9,6,6,6,4,4,4,4,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,4,4,4,3,5,5,5,7,7,7,7,9,9,9,11,11,12,12,12,14,14,14,16,16,17,17,15,16,16,16,17,19,19,19,21,21,23,23,22,22,21,21,20,19,19,19,21,22,24,24,26,26,27,27,28,30,31,31,33,33,35,35,37,37,35,35,35,35,38,38,39,41,41,41,44,44,45,45,45,47,49,49,49,51,52,52,54,55,55,55,47,47,50,50,50,51,53,53,54,56,57,57,59,59,62,62,63,65,65,65,65,68,68,68,72,64,60,60,60,62,65,65,65,68,69,69,69,72,73,73,75,76,78,78,80,80,82,82,83,85,86,86,88,89,91,91,92,92,95,95,95,97,98,98,101,102,102,102,104,105,105,105,108,110,112,112,108,112,114,114,118,115,105,105,87,90,90,90,96,97,99,99,99,101,105,105,104,97,97,97,97,101,104,104,103,99,102,102,104,105,106,106,110,112,115,115,115,119,119,119,120,124,124,124,124,128,128,128,131,132,135,135,136,138,140,140,143,144,144,144,118,115,122,122,124,129,130,130,130,135,135,135,139,139,141,141,144,145,146,146,150,153,153,153,153,153,157,157,164,161,145,145,116,106,103,103,108,108,129,129,133,134,138,138,139,143,141,141,141,140,143,143,146,152,154,154,154,161,164,164,167,169,172,172,148,150,150,150,156,154,154,154,160,162,162,162,169,173,177,177,179,183,186,186,189,192,196,196,197,202,203,203,206,208,210,210,211,215,215,215,217,217,218,218,224,227,230,230,230,223,217,217,189,164,144,144,133,133,143,143,141,152,161,161,169,188,191,191,197,198,198,198,198,199,200,200,201,203,206,206,207,207,207,207,210,211,212,212,213,214,217,217,217,217,219,219,221,221,223,223,224,225,227,227,227,229,229,229,230,231,232,232,232,232,236,236,239,238,228,228,202,178,171,171,167,169,167,167,171,175,178,178,182,184,187,187,189,190,195,195,196,198,199,199,200,202,205,205,207,207,209,209,209,213,217,217,194,179,162,162,172,176,178,178,183,186,188,188,191,195,196,196,198,199,201,201,202,202,206,206,207,207,208,208,209,211,213,213,214,214,217,217,217,219,220,220,221,222,224,224,226,227,227,227,229,229,230,230,231,232,233,233,234,235,236,236,236,237,238,238,239,240,240,240,241,240,240,240,242,248,239,239,227,186,166,166,164,179,184,184,189,189,193,193,193,198,199,199,200,201,202,202,203,205,207,207,207,208,212,212,213,214,215,215,217,217,218,218,218,224,229,229,226,197,178,178,161,143,150,150,166,172,176,176,176,176,177,177,179,180,182,182,183,184,187,187,188,189,192,192,194,195,196,196,199,201,202,202,203,206,207,207,208,211,212,212,212,215,217,217,217,217,219,219,223,224,211,211,164,169,174,174,179,181,181,181,187,192,195,195,196,197,198,198,199,201,205,205,207,212,216,216,216,211,180,180,166,153,135,135,128,129,131,131,136,141,156,156,162,167,178,178,183,184,185,185,185,186,190,190,191,194,195,195,196,197,200,200,200,202,202,202,204,204,207,207,207,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,4,4,6,6,6,8,8,8,8,11,11,11,13,13,15,15,15,17,17,17,20,20,20,20,21,21,24,24,26,26,26,26,28,28,30,30,30,32,34,34,34,34,36,36,36,38,38,38,40,42,42,42,42,44,44,44,47,47,49,49,51,51,51,51,51,53,55,55,55,55,59,59,60,55,45,45,40,37,36,36,40,44,46,46,47,47,49,49,49,52,53,53,53,55,56,56,58,60,60,60,61,63,65,65,66,68,70,70,70,71,71,71,74,74,77,77,77,79,82,82,82,82,85,85,85,88,90,90,90,90,93,93,93,96,96,96,99,99,102,102,102,102,105,105,104,104,107,107,110,111,113,113,116,112,109,109,92,85,69,69,63,63,66,66,69,76,79,79,82,88,95,95,97,100,100,100,100,103,104,104,107,108,110,110,112,115,115,115,116,119,120,120,123,123,127,127,128,128,131,131,132,134,138,138,138,139,141,141,142,145,146,146,146,146,149,149,153,153,153,153,157,157,160,160,162,163,163,163,166,166,169,169,171,172,172,172,175,175,178,178,179,181,181,181,183,184,187,187,187,190,190,190,190,193,193,193,195,195,198,198,200,200,200,200,203,203,205,205,205,207,208,208,210,210,213,213,213,213,215,215,216,218,218,218,220,220,223,223,223,225,225,225,225,228,228,228,230,230,232,232,232,235,235,235,237,237,239,239,239,239,241,241,243,243,243,243,245,245,248,248,248,250,250,250,252,252,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,253,255,255,255,255,227,202,202,177,145,143,143,164,171,177,177,178,179,179,179,180,183,184,184,184,187,190,190,192,192,196,196,197,200,201,201,202,206,207,207,207,209,211,211,213,214,215,215,217,218,219,219,221,221,221,221,223,224,224,224,227,227,229,229,229,230,232,232,233,233,235,235,236,236,236,236,237,237,238,238,238,238,249,249,247,241,214,214,174,141,132,132,126,127,132,132,141,145,159,159,166,177,182,182,187,188,189,189,189,190,194,194,195,198,199,199,200,203,206,206,207,207,209,209,210,212,213,213,213,215,216,216,217,218,219,219,221,221,221,221,224,224,225,225,226,227,228,228,229,229,230,230,231,232,232,232,233,235,235,235,236,236,237,237,238,238,239,239,240,240,240,240,241,241,242,242,242,243,243,243,243,244,245,245,245,246,246,246,247,247,247,247,247,248,248,248,249,249,249,249,249,250,250,250,250,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,253,255,255,255,255,251,251,183,136,134,134,140,161,166,166,166,167,168,168,170,172,173,173,173,178,178,178,179,180,182,182,185,187,187,187,188,190,193,193,193,194,195,195,196,196,198,198,199,200,202,202,203,207,207,207,207,208,210,210,211,212,213,213,213,215,216,216,217,217,218,218,218,218,220,220,220,220,220,220,220,222,227,227,231,231,233,233,226,215,199,199,180,146,146,146,137,134,134,134,134,145,153,153,159,163,165,165,166,166,166,166,167,169,169,169,170,172,173,173,174,174,177,177,177,179,180,180,181,184,184,184,185,188,188,188,189,190,191,191,192,195,196,196,196,197,199,199,199,200,201,201,202,203,204,204,207,207,208,208,208,209,212,212,213,213,215,215,216,217,217,217,217,219,220,220,221,221,222,222,223,224,224,224,225,227,228,228,229,229,229,229,230,231,232,232,233,233,234,234,235,236,237,237,237,237,238,238,239,240,240,240,241,241,242,242,242,243,243,243,243,244,244,244,244,245,246,246,246,246,246,246,247,247,247,247,248,248,249,249,249,249,250,250,250,250,250,250,251,251,250,250,250,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,254,254,254,255,255,255,255,248,220,220,188,159,142,142,150,150,166,166,166,167,170,170,170,172,172,172,173,175,174,174,174,177,176,176,177,177,178,178,177,178,179,179,179,179,179,179,180,180,180,180,181,180,181,181,181,182,182,182,183,184,183,183,184,183,152,152,152,141,150,150,155,155,168,168,168,175,178,178,178,180,184,184,183,187,187,187,189,184,184,184,177,165,151,151,109,109,103,103,101,104,115,115,120,122,125,125,127,129,129,129,129,129,128,128,128,129,129,129,130,129,131,131,131,130,132,132,131,131,131,131,124,110,109,109,109,109,110,110,110,111,110,110,103,103,104,104,103,107,105,105,105,102,99,99,99,100,101,101,102,104,105,105,105,104,105,105,105,106,105,105,106,106,105,105,105,106,106,106,105,105,105,105,106,105,104,104,105,105,104,104,104,103,103,103,104,102,103,103,101,102,101,101,101,100,100,100,99,99,100,100,98,97,97,97,97,96,96,96,94,94,92,92,92,93,91,91,90,90,90,90,88,86,86,86,89,61,55,55,56,57,57,57,56,56,56,56,53,53,52,52,52,51,51,51,52,51,51,51,51,51,51,51,50,51,49,49,50,50,49,49,48,45,45,45,38,39,38,38,38,38,38,38,38,38,34,34,32,32,32,32,31,31,32,32,31,31,31,31,29,30,29,29,29,29,27,27,28,26,27,27,25,23,23,23,19,14,14,14,15,14,15,15,15,14,14,14,13,13,12,12,12,10,10,10,9,9,9,9,9,7,6,6,4,4,3,3,3,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,5,5,5,6,6,6,6,8,10,10,10,10,10,10,12,12,14,14,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0


    Cheers
    Phil
     

Share This Page