{"version":3,"file":"Tetro.js","sourceRoot":"","sources":["../../Tetro/Tetro.ts"],"names":[],"mappings":"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"}