{"v":"5.5.9","fr":24,"ip":0,"op":168,"w":600,"h":600,"nm":"Heart","assets":[{"id":"comp_0","layers":[{"ind":1,"ty":4,"nm":"Ouroboros","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ef":[{"ty":5,"nm":"Ouroboros Colors","np":6,"ix":1,"en":1,"ef":[{"ty":2,"nm":"Color 1","ix":1,"v":{"a":0,"k":[0.557,0.612,0.604,0],"ix":1}},{"ty":2,"nm":"Color 2","ix":2,"v":{"a":0,"k":[0.435,0.055,0.051,0],"ix":2}},{"ty":2,"nm":"Color 3","ix":3,"v":{"a":0,"k":[0.973,0.373,0.561,0],"ix":3}},{"ty":2,"nm":"Color 4","ix":4,"v":{"a":0,"k":[0.976,0.855,0.471,0],"ix":4}}]},{"ty":5,"nm":"Ouroboros","np":46,"ix":2,"en":1,"ef":[{"ty":0,"nm":"Stroke Width","ix":1,"v":{"a":0,"k":6,"ix":1}},{"ty":0,"nm":"Width Random","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":0,"nm":"Opacity","ix":3,"v":{"a":0,"k":100,"ix":3}},{"ty":0,"nm":"Opacity Random","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Random Seed","ix":5,"v":{"a":0,"k":2890,"ix":5}},{"ty":6,"nm":"","ix":6,"v":0},{"ty":6,"nm":"","ix":7,"v":0},{"ty":6,"nm":"Trim","ix":8,"v":0},{"ty":6,"nm":"","ix":9,"v":0},{"ty":0,"nm":"Start","ix":10,"v":{"a":0,"k":0,"ix":10}},{"ty":0,"nm":"End","ix":11,"v":{"a":0,"k":100,"ix":11}},{"ty":0,"nm":"Offset","ix":12,"v":{"a":0,"k":0,"ix":12}},{"ty":0,"nm":"Length Random","ix":13,"v":{"a":0,"k":0,"ix":13}},{"ty":0,"nm":"Offset Random","ix":14,"v":{"a":0,"k":0,"ix":14}},{"ty":7,"nm":"Link Start","ix":15,"v":{"a":0,"k":0,"ix":15}},{"ty":7,"nm":"Link End","ix":16,"v":{"a":0,"k":0,"ix":16}},{"ty":6,"nm":"","ix":17,"v":0},{"ty":6,"nm":"","ix":18,"v":0},{"ty":6,"nm":"Move","ix":19,"v":0},{"ty":6,"nm":"","ix":20,"v":0},{"ty":0,"nm":"Delay","ix":21,"v":{"a":0,"k":0,"ix":21}},{"ty":0,"nm":"Delay Random","ix":22,"v":{"a":0,"k":0,"ix":22}},{"ty":0,"nm":"Speed","ix":23,"v":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[10]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":12,"s":[31.531]},{"t":169,"s":[0]}],"ix":23}},{"ty":0,"nm":"Speed Random","ix":24,"v":{"a":0,"k":0,"ix":24}},{"ty":6,"nm":"","ix":25,"v":0},{"ty":6,"nm":"","ix":26,"v":0},{"ty":6,"nm":"Dot Start","ix":27,"v":0},{"ty":6,"nm":"","ix":28,"v":0},{"ty":0,"nm":"Size","ix":29,"v":{"a":0,"k":100,"ix":29}},{"ty":0,"nm":"Position","ix":30,"v":{"a":0,"k":0,"ix":30}},{"ty":0,"nm":"Length","ix":31,"v":{"a":0,"k":0,"ix":31}},{"ty":6,"nm":"","ix":32,"v":0},{"ty":6,"nm":"","ix":33,"v":0},{"ty":6,"nm":"Dot End","ix":34,"v":0},{"ty":6,"nm":"","ix":35,"v":0},{"ty":0,"nm":"Size","ix":36,"v":{"a":0,"k":100,"ix":36}},{"ty":0,"nm":"Position","ix":37,"v":{"a":0,"k":100,"ix":37}},{"ty":0,"nm":"Length","ix":38,"v":{"a":0,"k":0,"ix":38}},{"ty":6,"nm":"","ix":39,"v":0},{"ty":6,"nm":"","ix":40,"v":0},{"ty":6,"nm":"Settings","ix":41,"v":0},{"ty":7,"nm":"Maintain Width","ix":42,"v":{"a":0,"k":0,"ix":42}},{"ty":7,"nm":"Keyframe Speed","ix":43,"v":{"a":0,"k":0,"ix":43}},{"ty":6,"nm":"","ix":44,"v":0}]},{"ty":28,"nm":"Ouroboros Set Matte","np":8,"ix":3,"en":1,"ef":[{"ty":10,"nm":"Take Matte From Layer","ix":1,"v":{"a":0,"k":2,"ix":1}},{"ty":7,"nm":"Use For Matte","ix":2,"v":{"a":0,"k":4,"ix":2}},{"ty":7,"nm":"Invert Matte","ix":3,"v":{"a":0,"k":0,"ix":3}},{"ty":7,"nm":"If Layer Sizes Differ","ix":4,"v":{"a":0,"k":1,"ix":4}},{"ty":7,"nm":"Composite Matte with Original","ix":5,"v":{"a":0,"k":1,"ix":5}},{"ty":7,"nm":"Premultiply Matte Layer","ix":6,"v":{"a":0,"k":1,"ix":6}}]}],"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).content(1)(2);"},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0.886,0,0.219,1],"ix":3,"x":"var $bm_rt;\nvar stroke = thisProperty.propertyGroup(3);\nvar idx = stroke._name.replace('Stroke Ouroboros ', '');\nvar numColors = $bm_sub(effect('Ouroboros Colors').numProperties, 2);\nvar colorIndex = $bm_sum($bm_mod($bm_sub(idx, 1), numColors), 1);\n$bm_rt = effect('Ouroboros Colors')($bm_sum('Color ', colorIndex));"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5,"x":"var $bm_rt;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || false;\nvar strokeWidth = effect('Ouroboros')('Stroke Width');\nvar widthValue = delay ? strokeWidth.valueAtTime($bm_sub(time, delay)) : strokeWidth;\nstrokeWidth = widthValue;\nvar strokeWidthRandom = effect('Ouroboros')('Width Random');\nvar widthRandom = delay ? strokeWidthRandom.valueAtTime($bm_sub(time, delay)) : strokeWidthRandom;\nvar rand = $bm_sub(thisProperty.propertyGroup(2)('Width Random')(1), 2);\nvar widthRand = $bm_mul($bm_mul(strokeWidth, rand), $bm_div(strokeWidthRandom, 100));\nstrokeWidth = $bm_sub(widthValue, widthRand);\n$bm_rt = strokeWidth;"},"lc":2,"lj":2,"nm":"Stroke 1"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":24.95,"ix":2},"o":{"a":0,"k":270,"ix":3,"x":"var $bm_rt;\nvar start = 0;\nvar end = 100;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || 0;\nvar speedCtrl = effect('Ouroboros')('Speed');\nvar sped = delay ? speedCtrl.valueAtTime($bm_sub(time, delay)) : speedCtrl;\nvar degree = $bm_mul(framesToTime($bm_div(1, thisComp.frameDuration)), 3.6);\nvar accum = 0;\nfor (var i = timeToFrames(inPoint); i < timeToFrames(time); i++) {\n    accum = $bm_sum(accum, $bm_mul(speedCtrl.valueAtTime($bm_sub(framesToTime(i), delay)), thisComp.frameDuration));\n}\n$bm_rt = $bm_sum(value, $bm_mul(accum, degree));"},"m":1,"ix":3,"nm":"Trim Paths 1"},{"ty":"rd","nm":"Delay","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = 4;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\n$bm_rt = delay;"},"ix":4,"hd":true},{"ty":"rd","nm":"Width Random","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nfunction ouroRandom(start, end) {\n    var randomState = $bm_sum(effect('Ouroboros')('Random Seed'), 481);\n    var randM = 4294967296;\n    var randA = 1103515245;\n    var randC = 12345;\n    var rangeSize = $bm_sub(end, start);\n    randomState = $bm_mod($bm_sum($bm_mul(randA, randomState), randC), randM);\n    var randomUnder1 = $bm_div(randomState, randM);\n    return $bm_sum(start, $bm_mul(randomUnder1, rangeSize));\n}\n$bm_rt = $bm_mul(ouroRandom(0, 1), 2);"},"ix":5,"hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke Ouroboros 4","cix":2,"ix":1},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).content(1)(2);"},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0.886,0.725,0.627,1],"ix":3,"x":"var $bm_rt;\nvar stroke = thisProperty.propertyGroup(3);\nvar idx = stroke._name.replace('Stroke Ouroboros ', '');\nvar numColors = $bm_sub(effect('Ouroboros Colors').numProperties, 2);\nvar colorIndex = $bm_sum($bm_mod($bm_sub(idx, 1), numColors), 1);\n$bm_rt = effect('Ouroboros Colors')($bm_sum('Color ', colorIndex));"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5,"x":"var $bm_rt;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || false;\nvar strokeWidth = effect('Ouroboros')('Stroke Width');\nvar widthValue = delay ? strokeWidth.valueAtTime($bm_sub(time, delay)) : strokeWidth;\nstrokeWidth = widthValue;\nvar strokeWidthRandom = effect('Ouroboros')('Width Random');\nvar widthRandom = delay ? strokeWidthRandom.valueAtTime($bm_sub(time, delay)) : strokeWidthRandom;\nvar rand = $bm_sub(thisProperty.propertyGroup(2)('Width Random')(1), 2);\nvar widthRand = $bm_mul($bm_mul(strokeWidth, rand), $bm_div(strokeWidthRandom, 100));\nstrokeWidth = $bm_sub(widthValue, widthRand);\n$bm_rt = strokeWidth;"},"lc":2,"lj":2,"nm":"Stroke 1"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":0,"k":180,"ix":3,"x":"var $bm_rt;\nvar start = 0;\nvar end = 100;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || 0;\nvar speedCtrl = effect('Ouroboros')('Speed');\nvar sped = delay ? speedCtrl.valueAtTime($bm_sub(time, delay)) : speedCtrl;\nvar degree = $bm_mul(framesToTime($bm_div(1, thisComp.frameDuration)), 3.6);\nvar accum = 0;\nfor (var i = timeToFrames(inPoint); i < timeToFrames(time); i++) {\n    accum = $bm_sum(accum, $bm_mul(speedCtrl.valueAtTime($bm_sub(framesToTime(i), delay)), thisComp.frameDuration));\n}\n$bm_rt = $bm_sum(value, $bm_mul(accum, degree));"},"m":1,"ix":3,"nm":"Trim Paths 1"},{"ty":"rd","nm":"Delay","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = 4;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\n$bm_rt = delay;"},"ix":4,"hd":true},{"ty":"rd","nm":"Width Random","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nfunction ouroRandom(start, end) {\n    var randomState = $bm_sum(effect('Ouroboros')('Random Seed'), 759);\n    var randM = 4294967296;\n    var randA = 1103515245;\n    var randC = 12345;\n    var rangeSize = $bm_sub(end, start);\n    randomState = $bm_mod($bm_sum($bm_mul(randA, randomState), randC), randM);\n    var randomUnder1 = $bm_div(randomState, randM);\n    return $bm_sum(start, $bm_mul(randomUnder1, rangeSize));\n}\n$bm_rt = $bm_mul(ouroRandom(0, 1), 2);"},"ix":5,"hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke Ouroboros 3","cix":2,"ix":2},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).content(1)(2);"},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0,0.505,0.764,1],"ix":3,"x":"var $bm_rt;\nvar stroke = thisProperty.propertyGroup(3);\nvar idx = stroke._name.replace('Stroke Ouroboros ', '');\nvar numColors = $bm_sub(effect('Ouroboros Colors').numProperties, 2);\nvar colorIndex = $bm_sum($bm_mod($bm_sub(idx, 1), numColors), 1);\n$bm_rt = effect('Ouroboros Colors')($bm_sum('Color ', colorIndex));"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5,"x":"var $bm_rt;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || false;\nvar strokeWidth = effect('Ouroboros')('Stroke Width');\nvar widthValue = delay ? strokeWidth.valueAtTime($bm_sub(time, delay)) : strokeWidth;\nstrokeWidth = widthValue;\nvar strokeWidthRandom = effect('Ouroboros')('Width Random');\nvar widthRandom = delay ? strokeWidthRandom.valueAtTime($bm_sub(time, delay)) : strokeWidthRandom;\nvar rand = $bm_sub(thisProperty.propertyGroup(2)('Width Random')(1), 2);\nvar widthRand = $bm_mul($bm_mul(strokeWidth, rand), $bm_div(strokeWidthRandom, 100));\nstrokeWidth = $bm_sub(widthValue, widthRand);\n$bm_rt = strokeWidth;"},"lc":2,"lj":2,"nm":"Stroke 1"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":0,"k":90,"ix":3,"x":"var $bm_rt;\nvar start = 0;\nvar end = 100;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || 0;\nvar speedCtrl = effect('Ouroboros')('Speed');\nvar sped = delay ? speedCtrl.valueAtTime($bm_sub(time, delay)) : speedCtrl;\nvar degree = $bm_mul(framesToTime($bm_div(1, thisComp.frameDuration)), 3.6);\nvar accum = 0;\nfor (var i = timeToFrames(inPoint); i < timeToFrames(time); i++) {\n    accum = $bm_sum(accum, $bm_mul(speedCtrl.valueAtTime($bm_sub(framesToTime(i), delay)), thisComp.frameDuration));\n}\n$bm_rt = $bm_sum(value, $bm_mul(accum, degree));"},"m":1,"ix":3,"nm":"Trim Paths 1"},{"ty":"rd","nm":"Delay","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = 4;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\n$bm_rt = delay;"},"ix":4,"hd":true},{"ty":"rd","nm":"Width Random","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nfunction ouroRandom(start, end) {\n    var randomState = $bm_sum(effect('Ouroboros')('Random Seed'), 140);\n    var randM = 4294967296;\n    var randA = 1103515245;\n    var randC = 12345;\n    var rangeSize = $bm_sub(end, start);\n    randomState = $bm_mod($bm_sum($bm_mul(randA, randomState), randC), randM);\n    var randomUnder1 = $bm_div(randomState, randM);\n    return $bm_sum(start, $bm_mul(randomUnder1, rangeSize));\n}\n$bm_rt = $bm_mul(ouroRandom(0, 1), 2);"},"ix":5,"hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke Ouroboros 2","cix":2,"ix":3},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[],"o":[],"v":[],"c":false},"ix":2,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).content(1)(2);"},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0.886,0,0.219,1],"ix":3,"x":"var $bm_rt;\nvar stroke = thisProperty.propertyGroup(3);\nvar idx = stroke._name.replace('Stroke Ouroboros ', '');\nvar numColors = $bm_sub(effect('Ouroboros Colors').numProperties, 2);\nvar colorIndex = $bm_sum($bm_mod($bm_sub(idx, 1), numColors), 1);\n$bm_rt = effect('Ouroboros Colors')($bm_sum('Color ', colorIndex));"},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5,"x":"var $bm_rt;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || false;\nvar strokeWidth = effect('Ouroboros')('Stroke Width');\nvar widthValue = delay ? strokeWidth.valueAtTime($bm_sub(time, delay)) : strokeWidth;\nstrokeWidth = widthValue;\nvar strokeWidthRandom = effect('Ouroboros')('Width Random');\nvar widthRandom = delay ? strokeWidthRandom.valueAtTime($bm_sub(time, delay)) : strokeWidthRandom;\nvar rand = $bm_sub(thisProperty.propertyGroup(2)('Width Random')(1), 2);\nvar widthRand = $bm_mul($bm_mul(strokeWidth, rand), $bm_div(strokeWidthRandom, 100));\nstrokeWidth = $bm_sub(widthValue, widthRand);\n$bm_rt = strokeWidth;"},"lc":2,"lj":2,"nm":"Stroke 1"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":0,"k":0,"ix":3,"x":"var $bm_rt;\nvar start = 0;\nvar end = 100;\nvar seed = effect('Ouroboros')('Random Seed');\nseedRandom(seed, true);\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = thisProperty.propertyGroup(4).numProperties;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\nvar delay = delay || 0;\nvar speedCtrl = effect('Ouroboros')('Speed');\nvar sped = delay ? speedCtrl.valueAtTime($bm_sub(time, delay)) : speedCtrl;\nvar degree = $bm_mul(framesToTime($bm_div(1, thisComp.frameDuration)), 3.6);\nvar accum = 0;\nfor (var i = timeToFrames(inPoint); i < timeToFrames(time); i++) {\n    accum = $bm_sum(accum, $bm_mul(speedCtrl.valueAtTime($bm_sub(framesToTime(i), delay)), thisComp.frameDuration));\n}\n$bm_rt = $bm_sum(value, $bm_mul(accum, degree));"},"m":1,"ix":3,"nm":"Trim Paths 1"},{"ty":"rd","nm":"Delay","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nvar delay = effect('Ouroboros')('Delay');\nvar strokeIndex = thisProperty.propertyGroup(3)._name.replace('Stroke Ouroboros ', '');\nvar numStrokes = 4;\nvar reverseDelay = $bm_mul(delay, $bm_sub(numStrokes, 1));\ndelay *= $bm_sub(strokeIndex, 1);\nif (effect('Ouroboros')('Delay') < 0) {\n    delay = $bm_sub(delay, reverseDelay);\n}\n$bm_rt = delay;"},"ix":4,"hd":true},{"ty":"rd","nm":"Width Random","r":{"a":0,"k":0,"ix":1,"x":"var $bm_rt;\nfunction ouroRandom(start, end) {\n    var randomState = $bm_sum(effect('Ouroboros')('Random Seed'), 170);\n    var randM = 4294967296;\n    var randA = 1103515245;\n    var randC = 12345;\n    var rangeSize = $bm_sub(end, start);\n    randomState = $bm_mod($bm_sum($bm_mul(randA, randomState), randC), randM);\n    var randomUnder1 = $bm_div(randomState, randM);\n    return $bm_sum(start, $bm_mul(randomUnder1, rangeSize));\n}\n$bm_rt = $bm_mul(ouroRandom(0, 1), 2);"},"ix":5,"hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Stroke Ouroboros 1","cix":2,"ix":4},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.position;"},"a":{"a":0,"k":[0,0],"ix":1,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.anchorPoint;"},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.scale;"},"r":{"a":0,"k":0,"ix":6,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.rotation;"},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.skew;"},"sa":{"a":0,"k":0,"ix":5,"x":"var $bm_rt;\n$bm_rt = thisLayer.parent.content(1).transform.skewAxis;"},"nm":"Transform"}],"nm":"Group 1 - Ouroboros","cix":2,"ix":1}],"ip":0,"op":264,"st":0},{"ind":2,"ty":4,"nm":"Ã£ÂÂ¬Ã£ÂÂ¤Ã£ÂÂ¤Ã£ÂÂ¼ 4","hd":true,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300,300,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[205,205,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-15.667,-14.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[11.667,0],[-26.236,16.145],[-5,-25],[-20.463,-10.719],[2.671,-19.818]],"o":[[15.667,14.333],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-11.667,0],[-27.648,-34.967],[26,-16],[9,-29],[21,11],[0,0]],"v":[[-45.5,39.5],[1.5,82.5],[64.5,20.5],[41.5,20.5],[36.5,12.5],[30.5,27.5],[23.5,10.5],[14.5,27.5],[4.5,-29.5],[-6.5,58.5],[-17.5,-0.5],[-25.5,22.5],[-60.5,22.5],[-66.5,-62.5],[-0.5,-38.5],[64.5,-64.5],[84.5,-17.5]],"c":false},"ix":2},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":20,"ix":5},"lc":2,"lj":2,"nm":"Stroke 1"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","cix":2,"ix":1},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":69,"s":[100]},{"t":125,"s":[0]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[100]},{"t":69,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths for Ouroboros Set Matte"}],"ip":0,"op":264,"st":0}]}],"layers":[{"ind":1,"ty":0,"nm":"StripeHeart","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.874],"y":[0.723]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[-30]},{"t":18,"s":[0]}],"ix":10},"p":{"a":0,"k":[300,368,0],"ix":2},"a":{"a":0,"k":[300,368,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.557,0.557,0.667],"y":[0.978,0.978,1]},"o":{"x":[0.05,0.05,0.333],"y":[0.832,0.832,0]},"t":5,"s":[18,18,100]},{"t":14,"s":[100,100,100]}],"ix":6}},"ao":0,"w":600,"h":600,"ip":0,"op":264,"st":0},{"ind":2,"ty":4,"nm":"PinkHeart","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.974],"y":[0.77]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[-30]},{"t":18,"s":[-0.391]}],"ix":10},"p":{"a":0,"k":[300,368,0],"ix":2},"a":{"a":0,"k":[0,32.85,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.926,0.926,0.667],"y":[0.134,0.134,1]},"o":{"x":[0.656,0.656,0.333],"y":[0.182,0.182,0]},"t":7,"s":[5,5,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":18,"s":[105.869,105.869,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":30,"s":[76.092,76.092,100]},{"i":{"x":[0.174,0.174,0.833],"y":[1.705,1.705,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":49,"s":[122.599,122.599,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.474,0.474,0.167],"y":[0.132,0.132,0]},"t":64,"s":[87.333,87.333,100]},{"i":{"x":[0.492,0.492,0.833],"y":[1.853,1.853,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":76,"s":[126.053,126.053,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.272,0.272,0.167],"y":[0.511,0.511,0]},"t":91,"s":[83.033,83.033,100]},{"t":130,"s":[202.499,202.499,100]}],"ix":6}},"ao":0,"ef":[{"ty":21,"nm":"Fill","np":9,"ix":1,"en":1,"ef":[{"ty":10,"nm":"Fill Mask","ix":1,"v":{"a":0,"k":0,"ix":1}},{"ty":7,"nm":"All Masks","ix":2,"v":{"a":0,"k":0,"ix":2}},{"ty":2,"nm":"Color","ix":3,"v":{"a":0,"k":[0.996,0.525,0.643,1],"ix":3}},{"ty":7,"nm":"Invert","ix":4,"v":{"a":0,"k":0,"ix":4}},{"ty":0,"nm":"Horizontal Feather","ix":5,"v":{"a":0,"k":0,"ix":5}},{"ty":0,"nm":"Vertical Feather","ix":6,"v":{"a":0,"k":0,"ix":6}},{"ty":0,"nm":"Opacity","ix":7,"v":{"a":0,"k":1,"ix":7}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[15.36,16.435],[0,25.313],[-23.04,0],[-6.826,-19.08],[0,0],[-19.627,0],[0,-21.346],[16,-17.19],[7.893,-6.99]],"o":[[-7.894,-6.99],[-16,-17.19],[0,-21.346],[20.48,0],[0,0],[7.039,-20.024],[23.04,0],[0,25.313],[-15.359,16.435],[0,0]],"v":[[0.126,82.799],[-53.634,30.661],[-85.208,-30.544],[-43.608,-68.892],[0.339,-39.233],[0.553,-39.233],[44.499,-68.892],[86.099,-30.544],[54.525,30.661],[0.553,82.799]],"c":true},"ix":2},"nm":"Path 1"},{"ty":"st","c":{"a":0,"k":[0.976,0.82,0.043,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","hd":true},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","cix":2,"ix":1},{"ty":"fl","c":{"a":0,"k":[0.651,0.585,0.585,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1"}],"ip":0,"op":264,"st":0}],"markers":[]}