{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":1284,"title":"Animated GIF Creator","description":"This Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\r\n\r\nBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab.  The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation.\r\n\u003chttp://www.mathworks.com/support/solutions/en/data/1-48KECO/ Mathworks Create a GIF\u003e,  \r\n\u003chttp://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html Mathworks File Exchange GIF\u003e\r\n\r\nThe Function Template example is courtesy of Team. I added a few comments.\r\nThis implementation uses refreshdata and imwrite.\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Zernike_n80_32_256.gif?attredirects=0\u003e\u003e\r\n\r\n*Other methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)*\r\n\r\n\r\n\r\n","description_html":"\u003cp\u003eThis Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\u003c/p\u003e\u003cp\u003eBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab.  The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation. \u003ca href = \"http://www.mathworks.com/support/solutions/en/data/1-48KECO/\"\u003eMathworks Create a GIF\u003c/a\u003e,   \u003ca href = \"http://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html\"\u003eMathworks File Exchange GIF\u003c/a\u003e\u003c/p\u003e\u003cp\u003eThe Function Template example is courtesy of Team. I added a few comments.\r\nThis implementation uses refreshdata and imwrite.\u003c/p\u003e\u003cimg src = \"https://sites.google.com/site/razapor/matlab_cody/Zernike_n80_32_256.gif?attredirects=0\"\u003e\u003cp\u003e\u003cb\u003eOther methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)\u003c/b\u003e\u003c/p\u003e","function_template":"function z=makeGIF()\r\n% Courtesy of Team 02/19/2013\r\nclear all\r\nclose all\r\nclc\r\n\r\nz=0; % Not part of GIF creation \r\n\r\n\r\n%% Variables\r\n%\r\nfile_name = 'test.gif';\r\n% linear samples\r\nsamples = 512;\r\n% image steps\r\nsteps = 20;\r\n% plot scales\r\ndlim = [-1 1];\r\n% gif - frame rate in seconds... supposedly\r\ndtime = 0.01;\r\n\r\n\r\n%% Work\r\n% setup\r\nx = linspace(-1,1,samples);\r\n[X Y] = meshgrid(x,x);\r\nR = sqrt(X.^2 + Y.^2);\r\nT = atan2(Y,X);\r\nmask = double(R\u003c=1);\r\nmask = mask ./ mask;\r\nksteps = linspace(dlim(1),dlim(2),steps);\r\ndk = ksteps(2)-ksteps(1);\r\n\r\n% Setup figure\r\nW = R.^2 .* sin(2*T) .* mask;\r\n% plot setup\r\nh = surf(x,x,W,'ZDataSource','W');\r\n% workaround for stupid win7 aero...\r\nset(gcf,'Renderer','zbuffer')\r\n% white background\r\nset(gcf,'Color',[1 1 1]);\r\n% etc...\r\nshading flat\r\naxis off\r\nview([-10 70]) % semi-flat view\r\nview([0 90]) % Overhead flat view\r\nview([-70 14]) % raz  [az el] from 3D rotation view\r\nxlim(dlim);ylim(dlim);zlim(dlim);caxis(dlim)\r\n\r\n% Initialize first image frame; Simple method\r\nW = -1 * R.^2 .* sin(2*T).*mask;\r\nrefreshdata(h,'caller')\r\ndrawnow\r\nframe = getframe(1);\r\nim = frame2im(frame);\r\n[imind,cm] = rgb2ind(im,256);\r\nimwrite(imind,cm,file_name,'gif', 'Loopcount',inf,'DelayTime',dtime);\r\n\r\n% pumped up loops\r\n% Step through surface function \r\nfor k = ksteps(2:end)\r\n    W = k * R.^2 .* sin(2*T).*mask;\r\n    refreshdata(h,'caller')\r\n    drawnow\r\n    frame = getframe(1);\r\n    im = frame2im(frame);\r\n    [imind,cm] = rgb2ind(im,256);\r\n    imwrite(imind,cm,file_name,'gif','WriteMode','append','DelayTime',dtime);\r\nend\r\n% back dat surface up\r\n% Draw surface in reverse to frame#2 to form smooth GIF cycle\r\nfor k = ksteps(end-1):-dk:ksteps(2)\r\n    W = k * R.^2 .* sin(2*T).*mask;\r\n    refreshdata(h,'caller')\r\n    drawnow\r\n    frame = getframe(1);\r\n    im = frame2im(frame);\r\n    [imind,cm] = rgb2ind(im,256);\r\n    imwrite(imind,cm,file_name,'gif','WriteMode','append','DelayTime',dtime);\r\nend\r\n\r\n\r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',0);\r\n\r\nz=makeGIF();","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-02-20T20:54:26.000Z","updated_at":"2026-01-01T13:50:15.000Z","published_at":"2013-02-21T01:33:23.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab. The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/support/solutions/en/data/1-48KECO/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMathworks Create a GIF\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMathworks File Exchange GIF\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template example is courtesy of Team. I added a few comments. This implementation uses refreshdata and imwrite.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOther methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhMAKkAfcAAAAAj/8AAH8AAP///0//rwCP/6//T/+PAADv/wAv/3//f//PAP9PAB//38//LwAA3wC//wBf/88AAI//b2//j/8vAD//v//vAN//H/+vAAAA//9vAAAAvw//7wDf/5//XwCv/68AAAB//wBP/1//n7//Py//zwAf/+//D/8fAO8AAAD/////AADP///fAACf//+/AABv/wAAr/+fAAA///9/AP9fAP8/AAAA7wAP/58AAAAAz/8PAN8AAL8AAAAAn48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAMAKkAUcI/wAHCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs1glDJAgwUdbH3DhhphLd66Ou3jvAtnLt6+Av4AFoB1MuHBUHgESB1DBuLGKHpAjS4DMtvLbuJjrag5xl3PevHx1ADFMurTplzdSV1idorVrHrBjI1ZM27HjyLgpW94N9zJmuXE3bz5NvLhxhxs22Fhug4Fz56mjq15NvYLr67Kz096+WEV324xzi//X3WM3b8xtj6tfj3bGjAPwaxyoQb9G8uQ2lDN/zp+B9OjVUZcCa9dhl92Bs3FX23fghRdeD4+Nx96EFFK1wAIwZAhDBhy65x58IM5XH333lcjcfgws159/N7D4XwXTBUhggQXy0FpsKSCoXQAJKrhdhUAGCdQFRLpgpAsXYqhhhhx26OGHIcY34pQlmnjilc01tyJ0qbn434swyiimgAPSSCNsrQmp5pouYeAmCiiwICeRRR6JZJJLathkkzNk8KSHUYY45aAkVmmofliemKKWWzb6XJdfRnrDajGy2ZRnB41maVEGlOCpAw64iQGcccppKp0X2GlkkqzmueSesP7/KSuUgQoKIqGDblDooYbmh2iiwDLKaIrObQpUYt4haxtuk5XHVmZy2SUaEIIZu5ICE3zwgQGdfgpqqKKSCqep5KJap6oLrMpqq666Cuu7Tvo567zwvVdroPKJKB+uuN63K6/W6hTpmDO+diCPtTWm21t2AaFDwBaRQAEF2E6Q7bbcdustqKKGK+645J5qrrkupKrqkeumvK6GSrarJ5MZbAgvvH06Oe/NT9ZLa733HgBxTfzap+uhvmLpqJeTknkjbMhS5kMIPw9kAQEESExxxRdrm7HGnpbw7bcdh/3x2CGXXe7IaJt88too36ny2+zC0LLLdMOs58x4cxj1THVz/whz3rP2PJ++/yLKH4A5BqAWhQ1YMDUJVl+NddbaYrx115h7/fXm4Ibt+ahjhy6u2aSXO2faqI/M9upsp2tnym7Dve7eMpXOAqqnp6526+qm7HKs8kJZaHMq8IBWByY4TjXkE0+swPOTW1z59FpvbX3m2G/M+fYcc/z592KLLr74cpJq+/ml665+2rTPlPm373PPfcedf4/Cm+OXWvYFt5/be4Y8gJENqNKA5E2tapCLnPOgBz2LOfCBlKMe9axHwQpyLXsYzKD8NshBUXkPfCAE38fCl78Shq59M3keBFfIwhY+UFstlKAMJWhBC2oQVF3ylXz6tACcFPCACExg8/+GKDkGGjF6LlzhDJfIRBrW8IlQrGEGp0jFKnaNg1jM4vZQWBOqefGLYAyjGMdIxjEm8IxoTKMa18jG5SSHPvXym9zSRafy3Q9+XcsY9ZK4wiP68Y+AVCEfB0nIQhoygk1MpCIXmcgoOvKRUeQiTjpAyUpa8pKYzKQmN8nJTmJyBZRcgShHScpSImAFCEilKuF4APc0KUNJOlId7Xg/N20OexRs4iEdGMhe+vKXwAymMIfpy10a85iFlCRPWsDMZjrzmdCMpjSnCQFmQqCa18ymNrfJzWuC4Jvg/OYLQPCCcprzBQVAZwHWuU4RFEAErowZy1xXMiKZSlxhuyXmKjj/w0ESUwFEDKhAB0rQghr0oAhNqEIXytCGGlSZQUlnOdk50XWqk50YzahG3clOEbjToyANqUhFEAOSxuCkKE1pDCLA0pZGYAQvfekIZjpTGtiUBgnAaQJ2moAT+PQEOWCVLO15T1LRD4/7tJ4EXdhLii2UjVCF6vLKSNWqWvWqWM2qVs0IOaxC1CgwZelMZSpTmpr1rGg1603Xytac6pSncD1BT3/60xzY9a521UAONKABHPS1rzgI7AMGS9gH7GAHCKkn/2hZS1t+LXNKnV4L/1jQqKJRq1NznGY3y9nOevazmzWBAUWrWdGO1rSOM61qV8va1rr2tay1AGxT+9rO/772q06paw6Aitfe3lWvfN3rXvlKXL76lbiBTW5yC0vYHQz2sNDdAQeky4HqyoADMshuR4zqwcd6KpeSheARnRpQNlYVtLaVLWzX24D2uve98I2vfOdL3/d2wL73dS8l8bvfBlxSv5WEryUF/F8AD5jAlsQtV6J72Ok2uLoQjjB2sZvdCsvgBxf+gYY3rGEAAKAmoIKsAWQoXiOWN41lRC9sC1jf+d7Xk5wEZQdAKcoZl/LGOM6xjnd841SS0sc/PuUoVSnkIasyyEdGsoKXLJPwWszERESxGD37WhbXF8Y05rEoT8llInv5y2D2sgdS6YExl5nMZU6zmtfM5ja7+f/Na2ZmnOPcAjbLWc3MZLKebQK9IUoZjJx17ZUzmWUdhxnMcH6zMz0wzUY/s5otuGaku0npSlv60piGAAi2+U1u7vnTO/liZku7WhcTuseoPDQCEl1mR1tz0pnmZjhnTeta23qc5BxnOcV5zl77+tfADrawzwnqYgdFtPH9pI1/nGoxKzqa2Kz0pr1pa3GGc9i9TqdFta3Rbns7oxz16DtHSu5ym/vc5Ta2uo9iSjGves7QpnS1wYntb2/0neNGt7lVyu9++3ulEQA4wF1K8IIb/OAGX7fCnYJnZ0Zbm5uudbC57e2P7pukJv23SgOOcIKHlaxpDflZaVDTkteU5Db/HQFbV87ylQ+ABguPeVU0fe1ff/viGuc4wmHKc5GrXK0tZ3lOd4rTt8L16EjfqVx7inS60nWuTo/6CWRO9a+Qu6T/3nlZRR70og896TxdutKlTvbd2hWovPWt2nsL3LYPd7jFjTtfq073s3g85F3/+tHFTva6on3ta5e74I/r18Ir9/CIT7xyB4sDxhO27pA/TtPLnna1Axfug1f84hfP3M4btvPQNSyDRx9dBzv4sJFPvaUEX1zNex70oid96akr4drbnsLZxb2Fdy8D1fset7Fn8O1vz/vdYzi7HE5+8gHAYeZ/+MO/j770EeJhDw+g+tev/vOnz/3ue//74A+///jHT/7ym//86E+/+tfP/va7//3wj7/850//+tv//vjPv/73z//++///ABiAAjiABFiABniACJiACqgTUCMtn6EXfeEXgSEYf7GAFlgUEcIsk2Eez5IZwuEZDwiBETiCF1iCLPEaORIb3NEgECIeHFgZv/Ebc/E0H6gDdPGAA/AwJriDFbEiACIjZ7IjCLMdDaIw4+EszvKCMBiDMRgCcMGDUEgQhGMlitIfkhIgZmIwCOIjRFiERtiCR9gsLxiFCcgngCIo9dErRtMokhIjYpKFNrI0OsI0idEjRKgsDFKEZMh///MyZggl9hIfhJOGVRIsR9OGYEIwSmMdWYgdKf84h4ihgnsofyDTP7uDJ+4SK7KCL/uSK7xyH8FShUdzOIh4hWGiiALCiCkwieenOR6jP6iyNr6TiTSziYFYK0GThoXzib8SiipCLM4xLKPYIkiTGvO3hDKoGaCxFxVoftVzRR80OmdDJ6yjMnSTN8ETPDcjOPgiJbmoi0LDi0TjRqHYfihoIwfThcsiGch4g3pRdxQjPc+oPfUTOmaDOqsjOxdSN7SIjZqojduYM9x4L/VxK9+ofsASjFb4KF8ChDWigsoSHs/CGQpmAZGDNZVzOdD4NZ5DPumjPqxzMvqoj/x4jfLkjzMTTwCJM+6Bfiu5iYLDL7yIIqSYNKyhgpD/4QObkjwItECTk5HXgz3yA0ImxAL6YzuLtT7U6D8hKYsX0jsjaY1zhIkl2S7pxztQ+TYleZKa2Ccw6Y3huB9J0wPF8UNB5JPRI0NShEFahAH1E0KgY0IeiT7no5R2SY1rsztNaSfoB5dyKY1GiT6pI4ux8ypmOB8BkAI34BUr0DgHJETNc0QxtESPZEXxozlaxDlwuZmj0jF/+ZmASUt0SZfrN0GQtJbfxS2WGWKYOZQi9DGmMiAtkh81gBRmuTyQSUSAREiM5ESnCUWWGZxCmZnE2T2uyZnIGTbt51AK9U/OKUiGFIxv1Ep9AkslY5Qk8ThnZFDPiUTINEi9GZ6M//Sb5GlDlqmawpmengJ/69We7vme8Bmf7uleb7RD8QRL9ERURgkn3cWaqRlZ/fSdfdSdzymgBnqguySeCqqg9KdqDvqgEBpmY/ZuqsRqbiZN2ARr2QQiKomfroM7jHVU/plH4EVihUSglPU8C8ScLMqcTaWbKBqjBKp/s0Zz83ajOFpz2GZzN5dvIcVvOidWZfVKUzlUi7Wf/CmiI8pPS5VEv9SiUWZZUjqlVFqlVnqlWJqlagSAIHVSGedRGhemJ8VSY9pxH+dzJ9dWN7V3UYdXbWdcgtV4+amfSNpYbuld/7k1TVpifpRQV7pVW6U8VINehFqohnqoiJqooCVqoP+FgEXndWAXqWzad7ulW2zHenDKeYU1ehImEUWVpI6FVCUAoJUzoOM1UFJ1VYr6WfLZqlWmWu2FbO9lAvBFq/Flq7M6X7h6q7taq7Lqq7AaX1GIAwOgeYf3es/1ec9FesOnexeWYRqGEt0lYnpUqqbaZwKlRlR1qO9pZS32re0FY+I6rpckY6FkrjZWrui6bJZUSu1KSu86Suoqr6x4ET8QFaT6AQ/Up80jMX/GqKxaZeDqX+Q6Y8umZTgmZAoboQzbsA77ZWdGZBErsRNboWVWr8TBSwx0Yl1FAmGUXq3VYp60Y0X2sO9moSjLaK1WZ3fmai77stAEac0ks9ZEszX/63AYWyEUcEZTFmil1qvhukk5FqEpC7MzC2s1G2ucJmsR17Q5+rRQi6O49k05uymlRVu/imCVlLDNJrEne6HQNrNK67RQa068tqO+JlESdU7bZm9u+7btBG4YxVFV2z5BG6/tVqFf23DxJm82KnG5NmxrC7dzO7f6drg/inWKK6aM27h1q2cUa2cOp6FMK3ETd1E3d24l1aWNu1IpFaRl2nEFF1Yft3Ugh6aoe1aPu3CU+7c6CmwVV26L228B57mi61Kpi1Yop3Io13Ur51bA+7tfZ3SSinSrq3rmRHHgJrv+ZqZbp7sl57tCV7xxxXQ+BXV953SVur28VXmA51vH/zt+QDpwuIu6LTd0xJt02au93+tbbvemmBq/yGV4gIV44Qt/NJV36ru+Zgd4lye/x5WpxvoAiEdYgoWsr3dYyWpYA/AA9wuAf/e98lu/iofAC+xcspfBpdesxFddDzyscYrAGtxgtNes12Vdxcd7x4dhLKx80frBMHwQKJzCFubCzdd82pfD2BfDPNzDPvzDQBzEQjzERFzERnzESJzESrzETNzETvzEUBzFUjzFVFzFVnzFWJzFWrzFXNzFXvzFYBzGYjzGZFzGZnzGaJzGarzGbNzGXHEXA7EXA9AXBFEtbjyJTigcIYgXI0gtzAgYd3yASWgZTEiDNbjHffzHc/8cyPjnHcuSgUhoHoUcLXqMyHxMx4zMfo9oh3noIOOhhJNsyHrsgA+oKZk8fkqzyXSYMJ0MyZIxyJI8yU4oyocMx6f8e15CKdURhEK4guvoyrmhhG3hGzIYHMJxy3Unig3pkAaiHau8IK38IGEIy6BMzHGBzApXiKJYkz+4y2YCiZycMF4IzGEozJWBzXsGltq8zdBRjMysilq4heHsy+MMhkcYzJCBzsqkjQY5IlTIzu08MARTJmcih3OoGPMckeMszZGhz3sjMzZzi4MYjqC4hluCiKhYMDVi0ODMhQriyI7h0JsSN3vyJ7ioi+N4JYviKBid0Y0Ih+AcibMxzyL/HSRqQ9JdKdFgSYhq6IvCeDjFKNCKOCDw3IhxmCNLo8o1zR4igzIrczclbdIn7Ym8Qo4JOYosEtQv4oYZbR0aTSNLTRzmkzvo8tQQXdIviYs77c/i6NM/jdVcUopcndFhXRidA5ixmJX7mCe1uJIxudY8TdGf6Na/+NaHKNdfUtdlcUWvCIsk49QrMzd/U4v0wo1wFDS6IthtjR+EXdiGfdHFQn/GbBcgKIF2rH7bspFvEpfTmNdlHTf9+C4s+SE63Y0TjdlDI45qyNmdfSLvR84cCC11IYLUctrcdzHoiZmeOdatzZSQPYsmiY2zLZADaSu3/Y08rduH8n4QuYJ5/xjMHUjJnoHJkadCQKnaJBQnR4mP+aiVWznZ0j3dMFnbA4nduXgf6/eGvJyOyBKRGngZ0mLK6yYxFXPemMOR4RKXzB0y7M07UVmVTALfKPmSs02d9F3fUVKQ6DeMQu3ND9nd38EscmHLTFY1zuNAQMk1mtmRsPmRg9mUUbmPew3h8nTWE84nfyjfOBMi6dfWV/3Wy+zhskEbkvE0yvQ4C4Ti1ZPcGwk2nzOXLr4+e7kqsRPjkg3h7XLjKPknGZB+li2Tu2iI3Dwd2KEYj5EeAcOTzNNA8rjknXJBrenkT15CdHmXeDnlrWPl7j1HWM6P8OKSKRnRlZ3hgL0ricKQSf9zI8iyOEHSOMsTmdBJORSUPR1ElAouOvc0mrlj5/6jl3gOlXqt52aNnzCAfiTJMlku4bL9lbaS3TSpGjlCluphlpDJQC9kmkFJ6ViEnKC54Jp+NpvO6Ub66VMOO26Dfuzt3E754O5i4zbDiRXtHypQGrfJPGipRGpZQVVEnMnZ2L0+Lr7+6yJzpJbI6brDNueCfvkj7kT14p7+3FQJ1QJJIolJFsgDRLlpRJPpm6i57cW5Od3+mvfz7VAu7pqeNpuufgh+px/EmY1VlHWZNst+NzNgI4uZFT/0mNYO6ba+70x0mup54P++QQG/mSN06QSP6WYT7uqnkbgU8v9uS0T/WfB53RoVkCIb4BQZ70W5yfH6zkfhWZ6qyeQhL/JNPvKaOT8lz+vi4+1wwn5KvqCUKfQZs5pK3zGUgvM10CdAsfNBtPFD1EuHJPX8TvWTXvQwj/RqDz4r/jntJ6O/hKCIpEgUNJu0uUMxky4wIahfT1DDJPf6SvaNNGIpbvZUj/bqqU9UtEHup6WOr0ZQ6lAKsCjTSZ3y9JT2xJ8OMKoSAfYCBfd+JPcHKvik35uGf/r9TkXvt6qsz/oEsKiDylmvz/o6lC/3KTdDRUv9mVR6uqeiz0I///vCP/y8WfrGX/aQFH8Du/zM3/zOb18Ey0mV30pEGkuK9alKSq29H6Df/wn63o+ixB/+LHT8S0R/CHv+6J/+RRZkXQuhF5pmLZAv1F/j1j9LIRqqI5qn3KJLhvT9/v//AKFA4ECCBQ0eRJhQYcIJDR0+hBhRosMBFS1exJhR40aOHT1+BBlS5EiSJU169JBS5UqWLV2+hAmzRcoWM2vexIkTQgsIPX3+/AlC6FAQL4waPTBjRgamMGAsgOpC6gWqF1hcRZEVBQauGBx8dVBC7FgDZc0a+JBWrdqJEBe+VUBB7ly6de3exZtX716+ff32XcgX7tuThQ0fRpxY8WKRPH86BhpZ8mTKPYVCIJpZM9EXRY8eLfC5wGjSo0WcRi0ixurVEZhmcAp1gf9UF1WtYtXalSvYsGNLnD27lm3bCYMF/kUul4RyEs2dP4ceXfp06tWtX39e13py7nUZfwcfXvx4xEeFfvb8Wf169kZDu3cfuvR8+gVS34+hmjXrCPwj/I9gBAEHHIEGA2lIIEGnnpqNtqquwi0r3bwCyzfgyhIuLeLe6g47Dz98jgACoBuxORFPdO7EEklQUcQQW1yRRRhjTBHF61wEMUcSyOOxRx9//O4000QY8j4jj0RSv9P2Y5LJ/gCEcoQoCRzwQCsTQDDBBE7Y8gQvT8ghzBw0IBMH2RykCkKtJNytQguBy1DDiALjS0fpZsQzTz335LNFC2b8E9A8LQh00D7/D0WUACAXZbRRRzdqzb8YAJwUSksvxZRKTQm08koEs9QyQS6/BBNMMU8tUwMcVmUVhwce2AFWi6ZKU83cuuLNt9+Cy1CihPbKMdFBCSW2WGOPRTZZZZdltllnn4UW2kenpbZaHjU1sEAatO20225DBVdLLkUl9cscTD1VTDJTbXXVB1x9FVZYd9iBAw5Cui1C3XJ9k9e15jwIWOsOLTTaZU2wwASEFWa4YYcfhjhiiSemuGKLL77YWo035hixBAYYN+RRy/Xy3FJLPjddlcNct2VV22013njppblee2/mQAYZDsNtXzfJMitOgA26a2A+DU44YYwrbsCEBpp+ummn/6Omumqrr8Y6a6235rprrzsGO2yxP1JXgzFdRltVtWF211VWZZ65Zno5oBnnm3XGW2fytmrz512D/tetgoqmTk9ol37Ya8Wf7qCDBhp3/HHIJ6e8cssvxzxzzTfnHPKxPwc9dIzgJn3meeWe226c82Zdhh9eh91av+EcTnCC7LpTRkAPvnjxqCOXvHPhK19hhQ6KN/545Jdnvnnnn4c+eumnX0F066/H/u7VW9f5B9dhhx2AHwYAAPt+May9OKK1uxNGZZmeemvHh4c8eeWpx795BIpHYP/++1/B/wQ4QAIW0IAHRGACCYg9BjbQgQ8sCfrSNzj2Rcd9yaKY1ubXuf/8SU+BH0RgSv4nQpUgICYnRGEKVQhBFrbQhSyUU0MoSBcL+glZEpPf5vLnPxAWkIQqBGJLaqKSIXoAJ0YcYk6UuEQmNtGJL4RiFKUYuhlSYDkvUhEGIZY1zXkwgD00YRCJiEQkOtGMZ9TJTmrSkzX6BDKQqUwc5diTKdbRjnekFg1JlEUCHCtxVtsg5YznQQV6IIwpROMZdzJHRgIFBJZ5JCR9chnMDKWSj9xMJjWZGTx20pOf7JGJLkiohTkMa5aDHg9DeMJE6gSOjYwMJTc5S1p25jxGSc8tO9MeXvYSlL8EZjAT00djbZFql4ueAQ2JQicu8pWVoWU0dznNXlb/cz3vGQ1o3vMCbGazPqTh5jfpI0xyltOcHiGlKatGPOcdkJVLXCQjMSnNoqTHmuqRTz7DKU5+9tM+RPonaYSUmn8m6UjnRGhCFVqRdbITeaoc4SFXYhMlOnMy85TmPUXjT34C1KAfBemSlpSfkepnNSY1aZNWs1CWtrSc9bvfQwe4zImWsaIXveRmNKpNjgo0pAbNz0mFqlKiFnVSrekPUiuVVEpBaakRcGlUpQrM5RHQJRV9JmZyqlNrdtQ+RQIqaoxq1CeVFVNnRaulpBSg/wgIQG5tq5Q2NVW61vWTQrTpGl+JUc7YE5/c3Od8iBTSoKaUrEdNa6baGiC5NnZT/4+FrIC2pa0qbetAks2WXTW72U7e1JGZoaZoAlufj47VSYldrFsdG1lOSZay2fJWbGX7Kdom6EC21RJndbvbOk6Sq38VZ5KCWtQnPVWxq42sZWe7XCzdFkvhgm50oSsyUeWWt9fFbhT9ytPSCNewTUosa7G13G+BSrrgGhe5ukQukrXXveYyWZiyO1/6vlCwBcUPcc+KXCpZlluxfe550dul9xa4VGEyFbpWtmAGi6m+D4YwC1OjUrNGia2sBbBzBcxeA6csZQpusLpQZba0lThtOCgTDiK8YhY/EKlqZWx//1ve847MvSYrGYgZTOKzmRhtKF7Vy9g25CEPQMUtRv9ykhm4qdlK18bt/bCOUdVjH68LyEImcrve9Sq3cbl0X36VksU8Zgbe1rwDhjJ8d1zlFGc5Zm8Dc+liBTd6nQ51ciNznvXMQALn2MMLZrObYxZnmc3ZzndG9NxSRzeb2W3Pj4Y0AwF9YizDbMuElleia8boRqvO06vbHusiPWpSNzDLW4YX6Qyt6XrV7dP2kkGoY8097nnvdTsrda51/UAwI5rTr4a1rGntuu+Bz9jGHsD4dr1sZrvQ1XaL9d2GnbdjV/sH4sM2ALStbfJxu9nfBvcd9bYzaxt72+dGN7fL5+1wt9vd74Z3vOU9b3rX2973xne+9b1vfvfb3/8GeMD/BT5wghfc4AdHeMIVvnCGN9zhD4d4xCU+cYpX3OIXx3jGNb5xjnfc4x8HechFPnKSl9zkJ0d5ylW+cpa33OUvh3nMZT5zmtfc5jfHec51vnOe99znPwd60IU+dKIX3ehHR3rSlb50pjfd6U+HetSlPnWqV93qV8d61rW+da533etfB3vYxT52spfd7GdHe9rVvna2t93tVwfC28ceghDowO53B0Le9a53AVREAH+X+9XpPngd0P3ueM+7DvYOhL833vGBb7oEfDB5H4Rg8oM3/OE1v/jFOx7wfYd80CXQAwmUXvI+OD3lK4/5utu99YgHguI5LwDGgz70PFdBD3RP/3rTmx71qac861mv+cNznu96v73NVbD83Peg+boffe99r/rVXx7zxN+87GPP+eTDPADfV0EAmL/83Zef99IHvuqFT3jsE3/v3W85D74/f/GPv/nP3z36S/976ld//exvP7tDPvgbuRTgAQPkgQSkP/CzP/wzP/2bvv77P+FzPeIjQJGrgBTQQANEQAVcwPobP+dzQOg7v96bvPSjvgnMvMLTvAvUuAqAwQzcQA1MwBr8QAYEQeYzvweEwP6TQLpbvfVzPRe0uBswwhuIQRmcwRpkwhsMvxzUwR0kwRJEPx9UPyD8PyKMOAbgwiM0wiSEwRmkQSb0QCdsQPKTQuiDQP/fkzwUvLzKC8IQ0MKGswEutEMvREIwVMIlJEP5+8AzPMM0VMM1RL1CtELKm8OEs4FFXEQ7ZAA8zMMkFMMx7MMy/ENAHMEdHL1BXEM3TESC24BQ3ABGrENH7EI81MNJrMEOtMHv80MzBETnE8RNpEL9479PBLgaqAFRHEVSLEVThMRUVEVKbMJXNEMoDMEonEXTq8XSw8V9OwBd1MUN2MVQ9MVGvMMbeERUFMZJZEUyvMFLREYdVMZZ5MRnxDelOIBolEZeFEVGNMU73EYv1MMY9EYO/EZwNMYFfMJxtL/dy8TyQ8d6U8d1ZEdprEZr9MV4NMJ5PMJ6tMd7zMc+DID/VgzH+cPEBpTCgYS3DFgKpSjIg0zId1zIeHxEh/xCGIzEerzHVaxEBbTIi8zIf1w+jmw3GHgNkJwBgxTJaXTHa/xFR9RGlKRHiJTBPRRDl6zEiozJi8TBM7TJZluQnATJpOBJhPRJXgTKoBRKSHxIo4xIiezAidTHfQzHJ1y+AIjKXJONBcFJqgxJg8TKkSRJoDTJbPRKsEyBMBRLfCTGl2xFs6S/tSQ1F2jLqYTLuIxGkaRGuuzFrbxLoqTHlATLo+xLfATMpVxAwtwz2pCNBXDL10hMnlzHGuhJanRHhbRLBuDKLjxFr5xMo9xLpLzMzCRDzsyzqpCK2ThMpxBN/51UzNLEysZMTa2EzMjES9j8wpWUTb6kzWH8RtwUs6vQzd3szbf8TeAkTeGcS8esy62ER+SUTNisTDCczcucQelsMRSgTqqgDcO8Tt8UTY/Uzu3sznYsTuOETGxEzoZUzsnMQ+ZkSb7cSzFUTwjLCgipzveMT+zMzvrczp6cxqwsTht4TLvkz/48xfEE0PKURBg8UPrCgDVR0AX9TNAMzfn0SPqEUPu8T+/MT/CswwwVz5M8Qg59yK8U0AoIUexyAK7QCghhgQWFz890S/mcT+DUyQjlzheFUa38TvBkzdasUf/8TwC9gR7Vra8A0iBtT/dk0BNF0SNVURZVUia9Sv8npdD8NM4LxVAqjcyh3MbXhEQt1awSAIsuZU8htY33LNK2HFPEVNGPVNKqRNMmfVE2TU0LdVMZndJShFOTlNMjtNOpMgCxyFM95VMitc4TfYojRdJBLdQWRVM1rcYnXVTVlNHVrFEuHDkAVDztizvby7iywFQu1dM9/VIw9VMxDVQyLdMHLdRDdVFT9UlUhVKFbFRHJUVXtYGPAz7LC0L34ztajbgPMAs8xVVNFdIhtY0L8FPP9FRQnUoHzUmmGFXt3EliRVRjDcU1VdQoXdVF7Ljyi74IDL4VjNW8a7yHmwBstVVt/dFcTdAS7dNw7VQj/VRyDdVgTdclXVd2lUv/Y51LUUTWn9RPetW4QOTB/ds/62O/alW4hgDYS73VCRlRL93Ug0VYX23QFA3WczXTUU2KdY1YidVFCXXXeM3PjbtEjiVBE8zX1xvAgVMAki3ZschUgtVVg2XZlnVZhgXWmE1SQn3YqgxOds1ZnXXSd4XXDci4l4TFEOzYoa27ou03Cjjaf03aW93WlCXRbvXWbwVXhE1YMV1YqUVSc43Zq6VZiSVN02xXipVGjCNQb7RBS2RANLTXj708AYw7fZOLtU2LbHXbgdWNNVHZlaVbu71bX2UQvUVMvqXaxPTbgsxanJ1YaTzIIqTMblTCA5xIjNTI85vWyK235RAIh2jb/8v1iszV3KbtVrrlVc/9U5eFCtEF1dLt29O9Wp68WcA1yCKkU26UTVU0xn8kPdKzPruTtxFRW8otWZO9XMztiuAVXs4lXuPdzc9FXuVlWObtW9N13p0kVZ60uGZlTWAcT5ZMyqZk3P0zPHcD3/BF2t5V2qUF3uCVW/VdX/YVV+TF2+TNW+WFDdKVX7hE1/pVUotTVinlwtYMxm7sQPqLQsmju2/7k+UwYLYdX/IVWN5AWfTdXLm1CuL9VgjuVQmW4NiAXzIV1Az+zapN14rbxa9t02ucUkm13ti1SPJD4V1b4cndXRe+EN/gDQVeYPRtYBvG4c7V4R0+3h5+2R8O4v+GFWLRrLjF5NrhjNHjBMav5Msn5l4fGDWEKeCBOOAX1pXyNd8JoeGC7eLh/eIHDmMx5uGoVVgzBmKYbQrSpTh1DMnoZUedJc5UZdWidGL5yz3J2zM8bg4q5t21AI4+zmIZRlmm5eJBVtBdLeSnPeQwTeRZjo1fZeTlzYCJ0+CZrU9KZuPuxGQa1WQaFL8esGMxa4BAYWE9fghSLmVTPuW3neFAZmBW5lNXfmXdLN5YluVZ9mZbtmWnqLjRxeCl4OX7XV38/MnwnEd75GQJQLIOAOVlruJRrtwrNuUYPuVUBmRq1lxrZuVs/mJa4WaojeBv5mEYqLjrDGffROOq5WX/JnXj7zzFDExAeIawZF5hFg7ftbXne35maI5mVObnfvbnuAXoQX4QgR7ogg5jMR3jz6Q4wzzohKZgcqXah01ndR7FiuaBHqCvplHmuSCIZhaOC7HcPtbnkS7pVJaQk67m9E1pL2ZpHKYVTnVpqF2AmcZqz/1mqW0KYcXadFbILqwAoOYtoV4RomZmo3bmK4ZhkR5pkm5qp4bqVRbkqabqG67qvg7XumVfinuQuR3oru5V9y1jvjVU7ixrFeAshFFmju5oj/5otUDqpFZqLJ5rGZbmugbS871rahZSqdbrve5rv5YKihtt0iZkbAZj440KvMXlDY7YdrQBFeCBqZJn/0LBEbooiIiIE2x94ZDObM3e7GjeDc926i0ObQb+59LWa+J1beKtuOZ+7pS+jcL2atkW1KrcxQBIgZYS6sj27d8G7uAebnwubqU+7uNObuWGb+u+6wbOa+hW6aqoOPgu6dDG7lfW6jHNyQM4wCw1J6mJ7FBm66KWCPQG6csm7vXWlfaWcFzR7/jWXLiV70Cm7/q2ZouT8H1uk/jGcBpmAQ532m3uVN8ccLD9pRVQaxyRbISYiA9wYfR28Mv+DQiH8A/ncWn+4wqf5lsZ8Qw/abmtOB0v7h6na88uckIuXqjYyxuwgQPAI3mGbBi3CxlvCwbPkBv3ciQH86VWcqamEP8tBvK6Rl/mbm6L8/IbD/Mkb28mr+aVTQFttFAqhyIrL5TsqAuGII495vK3bnMHJ4s3D/MxR3QzP/MKR9+LC/S37vJBR+o3743NXm6tUEnW1MUZgKDxhnEEL28t/3NAf3RBl/RBN/RU9+NEn/AyR+5F1w2MG3WIKPVal6BTj2v2HukKsHMLNc0ZUOjQ8XQawYuFmPUFr3UGxxBcl/S/wWxVp3RWl3ZF5wqMMw6DOPZsr+xkb3PfaEhf/3XYcIGOufJPz4vB0PYtT3ZuZ/Z2d3Noh3ddn3beyLjuuItrN450n/E4GcpFbEyluGCpYIFG2XM+v3d8p2x9V/d1Z/jgdvf/h2/2eIf2zdY4O7H3iz94hDeIKW3Mmr3gBrGKrHAAxthoUM94jTdvhVd5Um/4lld2iIf5B5f4zN64PrGTm8f57cgLf99ac67l2rgNvnETtJgglDd6hVj5pD92l2f6R4/5pyd0MN84ZdmTZBGWq8f6PuH5nAX4j79qfSlzoAEc4VD6h8j3skf7tD/vpmf7SId6iOc4iNGih2EWyEaau38WhVEahvHadez6BWkQoLcVXOEXZ5cgoVF7sz/6hE/8xl/5tof8OHn4jrMaY6KaiXkaxMEhdTIlhvGddWqAjvf4C2YQNLEVvnH13hD7sQ9utF/810d3x5d9tY989Pa4ybka/8o5JeA5Jt7/Hd+XnN5nHMgJHvoRJOcR/a7/+KgA+nwRclfv4wvh8pWH/eq3/qOf/eyn9WQHOeRBpeL5/vCfHPCvH/uJqZjqIObZny8KoUPqeZ+vZZAf7BJnk9SPftpBb32//v3n//7XeO0HiAkCBxIsKHAAwoQKFzJs6PAhxIgSJ1KsaPEixowPESBY4fGjR44gQ4782BHkSZMiObJs6fIlTAQeOM70YPMmzpstdvLs2eLAgRlCM2SAYXTBAhdKLzBl4RQFVKgYpjqoWrUE1qwGtnL94PUrWINiByooa/Ys2rRq17JVQIHC2bdwzcp9m7ZuW7xt9/Lt6/cv37EENf8SLmz4MOLEiifOfGkTZmOWjyVHlhn5puWcmjfbbIHTJ+ieEEaTHg3iNGqgQ4keRZrUBdMLTp9KnUrValatXLuCDSuYIGC/dYcTL278OPLkypcvD+78udrF0qdTr25dI2fNnj/n3Klze08PoceTL22+NAjSqNeffuHefYEXBeYLncG69WvYTWnXvo07dwm7bdWbb79B55ZbzCm4IIMNOvgghAy2dR2FFVp4oWHkieYTBKJ12EJpII6203kllpgeBOmxt2J7ILz3YnwxzjejCDWKEMON9hWFn1L67RdVfxhY5QCAAQpIYIFiORfhgyTURYKTFEA5pZRTUmkllW9hmaX/lltGOdyWzH3JJJkUYHgmmmmiaSKbKaKHopumqcginXW6+CKeeM64pwjz2WhjDIEKGgGhhd7nWn6xzQakbUIOWaSABiD52wR/lalllV5quimnnXr6KaihigrlcZ4apyaqqaoqnZ3rveDqqy3e+WqeteYZ33t76rrrn73iKCiwMRA6QgTEjnDsCDQouyMMrvXoI38oNOroVQBGiuQHggkH4ajdevspAd+KOy65U656LrrpTmQru/DlKqOM8O2qa5809novoDcGO2ihhSKLLA3JKjswDQkkcMLBRjWbqKLRNvqotUcSqO1eDZbrKQHhQpkxxx17/DHIIYs8Mskle2wl/8mdfrypui277PK8MdNbL8014+trjb/uKyzP/fpcbLH/AkywsgYbfQLSSeewtAbOLrXfokEOSaRuEidZUMUKlmsy1117/TXYYYtd8stlm63qzWnfmHPOOOq7c7ARCCt3oD8P66/Q/xJdcMFHH6z0CUsLzrQGOBieH7RRS/1fblZfTVZeyok7NuUWWMCx5ZdnnDnmmV/uueWbg6756JyXHnrno4Osesmcf3w27LFjCDfcdNPN89x23+1z3r3vzXfRRvuddOCBD56DBsknb7jhDzjv/ADPNswCkNJSW23VvD0uEFuSj0r56qKfPj755Zt/Pvrpq5++7O27T53uPxMb9P+wxtrfe96/7y08/8T7f7zglLc85j0AB89z3g52wJDE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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":1284,"title":"Animated GIF Creator","description":"This Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\r\n\r\nBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab.  The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation.\r\n\u003chttp://www.mathworks.com/support/solutions/en/data/1-48KECO/ Mathworks Create a GIF\u003e,  \r\n\u003chttp://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html Mathworks File Exchange GIF\u003e\r\n\r\nThe Function Template example is courtesy of Team. I added a few comments.\r\nThis implementation uses refreshdata and imwrite.\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Zernike_n80_32_256.gif?attredirects=0\u003e\u003e\r\n\r\n*Other methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)*\r\n\r\n\r\n\r\n","description_html":"\u003cp\u003eThis Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\u003c/p\u003e\u003cp\u003eBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab.  The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation. \u003ca href = \"http://www.mathworks.com/support/solutions/en/data/1-48KECO/\"\u003eMathworks Create a GIF\u003c/a\u003e,   \u003ca href = \"http://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html\"\u003eMathworks File Exchange GIF\u003c/a\u003e\u003c/p\u003e\u003cp\u003eThe Function Template example is courtesy of Team. I added a few comments.\r\nThis implementation uses refreshdata and imwrite.\u003c/p\u003e\u003cimg src = \"https://sites.google.com/site/razapor/matlab_cody/Zernike_n80_32_256.gif?attredirects=0\"\u003e\u003cp\u003e\u003cb\u003eOther methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)\u003c/b\u003e\u003c/p\u003e","function_template":"function z=makeGIF()\r\n% Courtesy of Team 02/19/2013\r\nclear all\r\nclose all\r\nclc\r\n\r\nz=0; % Not part of GIF creation \r\n\r\n\r\n%% Variables\r\n%\r\nfile_name = 'test.gif';\r\n% linear samples\r\nsamples = 512;\r\n% image steps\r\nsteps = 20;\r\n% plot scales\r\ndlim = [-1 1];\r\n% gif - frame rate in seconds... supposedly\r\ndtime = 0.01;\r\n\r\n\r\n%% Work\r\n% setup\r\nx = linspace(-1,1,samples);\r\n[X Y] = meshgrid(x,x);\r\nR = sqrt(X.^2 + Y.^2);\r\nT = atan2(Y,X);\r\nmask = double(R\u003c=1);\r\nmask = mask ./ mask;\r\nksteps = linspace(dlim(1),dlim(2),steps);\r\ndk = ksteps(2)-ksteps(1);\r\n\r\n% Setup figure\r\nW = R.^2 .* sin(2*T) .* mask;\r\n% plot setup\r\nh = surf(x,x,W,'ZDataSource','W');\r\n% workaround for stupid win7 aero...\r\nset(gcf,'Renderer','zbuffer')\r\n% white background\r\nset(gcf,'Color',[1 1 1]);\r\n% etc...\r\nshading flat\r\naxis off\r\nview([-10 70]) % semi-flat view\r\nview([0 90]) % Overhead flat view\r\nview([-70 14]) % raz  [az el] from 3D rotation view\r\nxlim(dlim);ylim(dlim);zlim(dlim);caxis(dlim)\r\n\r\n% Initialize first image frame; Simple method\r\nW = -1 * R.^2 .* sin(2*T).*mask;\r\nrefreshdata(h,'caller')\r\ndrawnow\r\nframe = getframe(1);\r\nim = frame2im(frame);\r\n[imind,cm] = rgb2ind(im,256);\r\nimwrite(imind,cm,file_name,'gif', 'Loopcount',inf,'DelayTime',dtime);\r\n\r\n% pumped up loops\r\n% Step through surface function \r\nfor k = ksteps(2:end)\r\n    W = k * R.^2 .* sin(2*T).*mask;\r\n    refreshdata(h,'caller')\r\n    drawnow\r\n    frame = getframe(1);\r\n    im = frame2im(frame);\r\n    [imind,cm] = rgb2ind(im,256);\r\n    imwrite(imind,cm,file_name,'gif','WriteMode','append','DelayTime',dtime);\r\nend\r\n% back dat surface up\r\n% Draw surface in reverse to frame#2 to form smooth GIF cycle\r\nfor k = ksteps(end-1):-dk:ksteps(2)\r\n    W = k * R.^2 .* sin(2*T).*mask;\r\n    refreshdata(h,'caller')\r\n    drawnow\r\n    frame = getframe(1);\r\n    im = frame2im(frame);\r\n    [imind,cm] = rgb2ind(im,256);\r\n    imwrite(imind,cm,file_name,'gif','WriteMode','append','DelayTime',dtime);\r\nend\r\n\r\n\r\nend","test_suite":"%%\r\nfeval(@assignin,'caller','score',0);\r\n\r\nz=makeGIF();","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":26,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-02-20T20:54:26.000Z","updated_at":"2026-01-01T13:50:15.000Z","published_at":"2013-02-21T01:33:23.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis Challenge is to execute the Function Template which has a fully functional Animated GIF creator of a shape related to a Zernike polynomial, as seen below.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBased on the Elastic Collision 1 - D I asked my Team how to create a GIF using Matlab. The response was a splendid implementation. There are multiple links inside mathworks on Animated GIF creation.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/support/solutions/en/data/1-48KECO/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMathworks Create a GIF\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/fileexchange/21944-animated-gif/content/Animated_GIF/html/AnimatedGif.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMathworks File Exchange GIF\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Function Template example is courtesy of Team. I added a few comments. This implementation uses refreshdata and imwrite.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOther methods of GIF creation are welcome. Place a comment with your favorite GIF method and I will try to add example GIF outputs. (Max size 256x256)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,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ObJs6fIlTAQeOM70YPMmzpstdvLs2eLAgRlCM2SAYXTBAhdKLzBl4RQFVKgYpjqoWrUE1qwGtnL94PUrWINiByooa/Ys2rRq17JVQIHC2bdwzcp9m7ZuW7xt9/Lt6/cv37EENf8SLmz4MOLEiifOfGkTZmOWjyVHlhn5puWcmjfbbIHTJ+ieEEaTHg3iNGqgQ4keRZrUBdMLTp9KnUrValatXLuCDSuYIGC/dYcTL278OPLkypcvD+78udrF0qdTr25dI2fNnj/n3Klze08PoceTL22+NAjSqNeffuHefYEXBeYLncG69WvYTWnXvo07dwm7bdWbb79B55ZbzCm4IIMNOvgghAy2dR2FFVp4oWHkieYTBKJ12EJpII6203kllpgeBOmxt2J7ILz3YnwxzjejCDWKEMON9hWFn1L67RdVfxhY5QCAAQpIYIFiORfhgyTURYKTFEA5pZRTUmkllW9hmaX/lltGOdyWzH3JJJkUYHgmmmmiaSKbKaKHopumqcginXW6+CKeeM64pwjz2WhjDIEKGgGhhd7nWn6xzQakbUIOWaSABiD52wR/lalllV5quimnnXr6KaihigrlcZ4apyaqqaoqnZ3rveDqqy3e+WqeteYZ33t76rrrn73iKCiwMRA6QgTEjnDsCDQouyMMrvXoI38oNOroVQBGiuQHggkH4ajdevspAd+KOy65U656LrrpTmQru/DlKqOM8O2qa5809novoDcGO2ihhSKLLA3JKjswDQkkcMLBRjWbqKLRNvqotUcSqO1eDZbrKQHhQpkxxx17/DHIIYs8Mskle2wl/8mdfrypui277PK8MdNbL8014+trjb/uKyzP/fpcbLH/AkywsgYbfQLSSeewtAbOLrXfokEOSaRuEidZUMUKlmsy1117/TXYYYtd8stlm63qzWnfmHPOOOq7c7ARCCt3oD8P66/Q/xJdcMFHH6z0CUsLzrQGOBieH7RRS/1fblZfTVZeyok7NuUWWMCx5ZdnnDnmmV/uueWbg6756JyXHnrno4Osesmcf3w27LFjCDfcdNPN89x23+1z3r3vzXfRRvuddOCBD56DBsknb7jhDzjv/ADPNswCkNJSW23VvD0uEFuSj0r56qKfPj755Zt/Pvrpq5++7O27T53uPxMb9P+wxtrfe96/7y08/8T7f7zglLc85j0AB89z3g52wJDE8WdaU2vcbiampLUkJ1Ri+9z6MqhB0JnABJ7roAczB8IQirCDoxshCT84wtKhsHwmHN37YihDxOCvhsoSmMD0N7AE9I1/PkSY/5CWg+IBEHkCZB4SDfi8BDIxIlCrnm0emD3tZWuCaKkgxr62wfORMIQo/CIYwyjGMZKxjGY84xlnqMY1YkSH++tbD30oPIQZLIj/M97xNGDEIxYuic17wA6WuAMODJIDHKjIE633MMZhJYISBM5djAMuk2FwgylEIyYzicIGbJKTnfzkFxsgSk92kpSh1KQJ2KjKVUpEjv3/q6Md7ThEIRYxjwI8YhILeMADJpCQhvzlITXiMP9gr5FU9IoV4yJJTYWLkltE5RhNCUJRmmCUHbTmKLOpzW1ys5ve/CY4wylOVpKznAuJJfGWRstaIi+At3xnH/2oRF4Ckon2BKYMZDAAfSImKg4s5rW2p5Zleolr6oPmNRNKzYWKs6EOfWgHHirRiYrSnBY1JzsHl7w93hIHyytcPOW5S17ac5CFxCcH8pnP6vjzelSb4uMiSRwnFZQEI0ufB1HJSYrytAMRbYBPR+nTiA61qEY9KlKTqtSlMrWpPr0oVMmpgQHwUXkelacfdTnSJdazpMA0pAxSqtJ8/kAGP/iB/4WiyEgjDSimVyxOTUVWSRdicqc87aZT86rXvfK1r0hdgVGjKthyZvV589xqIEvay8V+9ZdjNatZz4pWtKqJWhA8pkFkKheaFlSu5KtrT4FKVL+SdqgeMe1pS6JakHRgta59LWxdO9jZmpOkir1nY3Mb1seSVbJnBQBlzwUxtkrKrcp8UmfD91ky2lWipT0qYFvr09O2NrbWvS52s6vdj9C2uxZlYm4bu9vH+ra8PwAAAAaQXrNFrK1J0myXthSy5UYToqVN7Xa3m5IViIQkIWHJf1fSEv66hMAxGfCBY2Jg7zKYtmMdgHkhLGH0rtGYVMTaW5GLMuWeLprVDOdo+f+a39WeRMAFTjCKU6ziFbPYJQ1+MYyh6khkQrIscNEwlj42VxFaQIzN9eZeATvi/xq4xUaGTEsmkxnKXEbJOckMZjYDZcxkJsZWvrIqi/sVDNsYTPLV8fh8DGTRMjW61cUugo+MZJc8JjtufjOc4yxnzWC5znaWIY0h12UvbxjMPAbjj7npVDQHWM00qcmcE61o73SG0eJhdHgazZNHRxo0j74zpjMNOy4niM9T8rMKw4hXMisVzSyuCU2mrOjNbOczntEQrGMt61mDRtO2vnXLuEeXmX7aYzvucShH3dTXduTIq87Oq5NN62VzaDwjItGzRfQhaY/IPDwJEYhwre3/baPquPHtdcdOCOxgazPE0CV2ixG9aEkzW9bRrnab4i3vecub2/a+t4U6/e2N+ZqDm/xwuZMqZHSjWN1vfjWl231taFOb3g43EZzMcxr1TFxOcGJPitZDGnxzvOPT2eynbZq6P5cy4H+FbYrnrOxZT7vhD3f4xFsl85nTnD0evznOEdPnkVsO0NssNYlV7OZWK/zlEn9Txi1e85rHakXuQc17oP709kx9VqfJOdazjhGR97vnPhfqX8+MkiI7RtXaiXWH0m50OWV86a1qutSt3q65033uWr873iMSbn+PEK8nH0nB4Yx2aMf74nNyO3uervi6M77u83kXjHAln8fL/2s+eb885hdywmkCHOxFHTjgYxJnWK/d7XBvPOr1FK89TV5mrn/9njIve9l7ve8mN63YUVL2g4dG7fNGvNRTj6vhT774sD8+7GtkLz/ZiPnKt9Hso495zndelOcOvWOQ7WyXs2nmtKJ66ovfeuQfX/l+cr7a0q/+Gkm//Xi/5u2nq1rIcGblHOp+22Ue/neRn1686tP6BeDNuE3bFGDbEKD7JWDeWR+pgZ5KZF93JNzCtcnhsUjTMV6MjF//nZ8App/bEOAHBoq+vI3O0I4JBooCpqDWXZ9JkJ3ZSSBoQFz+OR0GauDr1UsBdKD66QwJnqAPxk3tAAuhoKAKFiHWyf9fSUCgq/WeDNoJ3Ule/+kg24jgD/qg7dSN7QyhFhZK7sRP/BghGGKd7iUZq8Ug91UgDT5h8ulgCbZhFe7MFnqhHPrLHB5L/RBKGOZhzrFZGcYgxDnh3N1gDrLhGw6KEM5hHXqhHdYQI/6LHj7izcnEoS2hh5wInQSiDZ4f+qVNIcYNFyIi0ISi/dCPHQZNI57isQRM7wzACECiK3ZcdzChxF2ircDLvACgB3Yiv4Ai79wPKv7i0OQQwQij/ryiMXqcLM5i4s0KjGQin6iNGwah3PBivwCj3qQiNt6QNroRNwIP0fAQDRyjOHbctR0dLdbKDeILCJrgNHah3cyPKVr/o9AMDDF2oz3uEA+5kg+NIz9y3HksYy3KDCf2IBxSI9AAoyrWoz2CYz42ZBzpI0S60gAkQD9WpL0pHazkijMOojoSpBC6Y/z8YkLe4+8wpMEET0S6EtLU0dEAkUsGkUXG5L21yK1oIABy5J9E474oYjw2IknuT0r+EEu25N/AEjodZdLIpFLem+rxCk7mywnqDjz6ZLIoZEl6Y1D+0Er+DVLeUfEYjxCtk+AYz1KWJbdl4g7uZEj2pO90IzgWzUMK5VByZVd+5SwNkTrlZUbt5dKYpV/iWgEMQA4+pa/UzjtS5T1mJR3RZV2mk9LwJQDpUTtN5mRulPL8JWZqG87A/yFI0qFPulFDBmVdztL/QGYeMY0RcRQ8reZlZqZr4hqgqOVhfqb+iObBMGYQkaZpFpFkpqZqsiY8XZVw9tFrFieueSLvsGVVpuJVQiQQ4SY67aZGAedqetQ7CSdWyZNxbieuyY9yBgxoxuUcjeZu6pFkUmdH4VJ2rmd2cqd7dqdy6k1JqiR05uZe9mY7oScuhRR7YpXzKNFh7dIAPMB7FuitzWNt0udR4iVf6udHWVV/EhASbRWFVujzGCiG4tp8yhF5spN5sqZ1YmeEapUBBaiFjlQgdZViZSiLahuH3qYs4ZGHEk51ghR7FhABnSg9AZKKquhtragCtaiQ2lpLxv9oRn1ojYqoSJmohSZWYvnoj94TbhVSAg2plWpbad4niPanLv0RhaYoAkWpYvmSL51UeDXWlaaptmnpddrokubol0KpmJKpSZ1peI2XWAWTmu7prblTkmanjoKpnIIXbtkpSjmWWIVVoqoUnzYqt01VR91ooIqpmRpqSh3qovIWWfGWo3bqtuHAAGQVk3LVnBaqnY6XpqaqSpVVb52Vp75qx41qPQ2qqZ6qqo4Vq0ZWWZkXr8Kqr3qcbXlVpdrqrULWrvIqsp5XcP0qs+KclFoqqqpqsk4reqHXeVFYs2br3aFUseKqriIrcElWtY5req2Xtp7r5WXqqhrrtP4Wub6O67iqF7rOawpOlrgqq7vCK7nSK7/GpLn2K8AGrMAOLMEWrMEeLMImrMIuLMM2rMM+LMRGrMROLMVWrMVeLMZmrMZuLMd2rMd+LMiGrMiOLMmWrMmeLMqmrMquLMu2rMu+LMzGrMzOLM3WrM3eLM7mrM7uLM/2rM/+LNAGrdAOLdEWrdEeLdImrdIurcoGBAA7\"}]}"}],"term":"tag:\"imwrite\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"imwrite\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"imwrite\"","","\"","imwrite","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f50060788\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f50060648\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f5007ce60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f50045780\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f50061868\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f50060be8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f500608c8\u003e":"tag:\"imwrite\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f500608c8\u003e":"tag:\"imwrite\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"imwrite\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"imwrite\"","","\"","imwrite","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4f50060788\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f4f50060648\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4f5007ce60\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4f50045780\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4f50061868\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4f50060be8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4f500608c8\u003e":"tag:\"imwrite\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4f500608c8\u003e":"tag:\"imwrite\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1284,"difficulty_rating":"easy-medium"}]}}