Arduino Halloween Project 2023

Arduino Halloween Project Blog post image

Specter Analysis: EMF Ghost Sensor.

As the veil between the living and the supernatural thins, it’s time to delve into the realm of the unexplained and embrace the eerie mysteries that Halloween brings. In the spirit of the season, we’ve conjured up a fun and intriguing project that will captivate your imagination and add an electrifying twist to your spooky celebrations. Say hello to our latest Arduino Ghost Detector, designed to detect Electromagnetic Fields (EMF) with the help of an A3144 Hall sensor.

While we’re not making any claims about real ghost detection, this project is all in good Halloween fun! Join us as we dive into the world of EMF, explore the eerie side of Arduino, and craft a device that’s bound to send chills down your spine.

So, gather your Arduino kit, don your favorite costume, and let’s embark on a journey into the unknown. Who knows what mysterious readings our Ghost Detector will uncover? It’s time to embrace the supernatural and add an electrifying twist to your Halloween festivities!

What is EMF?

EMF stands for Electromagnetic Field. It is a field of electromagnetic energy that’s created by the movement of electrically charged particles, typically electrons. Electromagnetic fields are a fundamental aspect of physics and are associated with a wide range of phenomena and technologies.

Key points about EMF include:

  • Electric and Magnetic Components: Electromagnetic fields consist of both electric and magnetic components. These fields are often described by Maxwell’s equations, a set of fundamental equations in electromagnetism.

  • Natural and Man-Made Sources: EMF can arise from natural sources, such as the Earth’s magnetic field, or from man-made sources, like electrical appliances, power lines, and radio waves.

  • Types of EMF: Electromagnetic fields can be categorized by frequency. They range from extremely low-frequency (ELF) fields, such as those associated with power lines, to radiofrequency (RF) and microwave fields, like those used in wireless communication.

  • Health and Safety: There has been ongoing research and debate about the potential health effects of exposure to electromagnetic fields, particularly from devices like cell phones and high-voltage power lines. The health impact of EMF exposure is a complex and controversial topic, and scientific studies in this area continue.

  • Technological Applications: Electromagnetic fields are essential in modern technology, including telecommunications, broadcasting, and medical devices like MRI machines. They are also fundamental to understanding and harnessing electrical power.

In everyday life, you encounter and benefit from various forms of electromagnetic fields, whether from using electronic devices, listening to the radio, or navigating with GPS. These fields play a crucial role in the functioning of many technologies and have contributed significantly to our modern way of life.

Slimer style ghost in the woods

EMF and Ghosts

Belief that ghosts give off Electromagnetic Field (EMF) signals or that there is a connection between ghosts and EMF anomalies is rooted in a combination of factors, including anecdotal experiences, popular culture, and the desire to find explanations for unexplained phenomena. Here are some reasons why people may hold this belief:

  • Anecdotal Experiences: Many people claim to have had paranormal experiences, such as encounters with apparitions or unexplained phenomena in allegedly haunted locations. These experiences often involve unusual electromagnetic readings on EMF meters. These anecdotes can lead individuals to believe that EMF anomalies are connected to ghostly encounters.

  • Confirmation Bias: When people investigate or visit supposedly haunted locations with EMF meters, they may attribute any unusual readings to paranormal activity, reinforcing their belief in a connection between ghosts and EMF.

  • Television and Media: Popular television shows and movies often portray ghost hunters and paranormal investigators using EMF meters as tools to detect and communicate with spirits. These portrayals can influence public perception and contribute to the belief in the link between EMF and ghosts.

  • Desire for Explanation: When people encounter unexplained events or feelings of unease in certain locations, they may seek explanations. The idea that ghosts emit EMF signals can provide a seemingly scientific or logical reason for their experiences.

  • Sensation and Entertainment: The concept of detecting EMF anomalies as evidence of paranormal activity can add an element of sensation and intrigue to ghost hunting and paranormal investigations. It can make the process more exciting and engaging.

  • Belief Systems: For some individuals, a belief in the existence of ghosts and the idea that they emit EMF signals aligns with their personal belief systems, spiritual or cultural backgrounds, and views on the afterlife.

It’s important to emphasize that the scientific community generally does not support the idea of a direct link between ghosts and EMF anomalies. The interpretation of unusual EMF readings as evidence of the supernatural is considered pseudoscientific and lacks empirical validation. While people’s beliefs in the paranormal and ghostly encounters are deeply personal and can be culturally significant, they do not necessarily align with established scientific principles.

How to Build the Specter Analysis EMF Sensor

Necessary Components:
  • Arduino.
  • Electromagnetic field sensor (e.g., a Hall Effect sensor, like the A3144).
  • Breadboard and jumper wires.
  • Mini-OLED.
  • Buzzer.
  • Potentiometer.
  • Power source for your Arduino (e.g., a USB cable or a battery).

The Circuit:

Buzzer Connections
  • Connect GND (-) to GND on the Arduino.
  • Connect Positive (+) to digital pin D3 on the Arduino.
Potentiometer Connections
  • Connect Left leg to GND on the Arduino.
  • Connect Right leg to 5v on the Arduino.
  • Connect the Center leg to analog pin A1 on the Arduino.
Mini-OLED Connections
  • Connect GND to GND on the Arduino.
  • Connect VCC to 5v on the Arduino.
  • Connect SCL to analog pin A5 on the Arduino.
  • Connect SDA to analog pin A4 on the Arduino.
A3144 Sensor Connections:

Your sensor pins may have a different orientation:

  • Left leg: Connect GND to a ground (GND) pin on the Arduino.
  • Center Leg: Connect VCC to 5v on the Arduino.
  • Right Leg: Connect the OUT/Signal pin to analog pin A0 on the Arduino.

Follow the circuit shown below. The software I used to create this diagram does not have an A3144 sensor, so I have used a transistor in its place, this is just for visual aesthetics and the A3144 should be used.

SpectreAnalysis-EMF Circuit Diagram
The Code:
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h> #define SCREEN_I2C_ADDR 0x3C // or 0x3D #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RST_PIN -1 // Reset pin (-1 if not available) Adafruit_SSD1306 display(128, 64, &Wire, OLED_RST_PIN); const int sensorPin = A0; // Analog pin for the Hall sensor const int buzzerPin = 3; // Digital pin for the buzzer const int potentiometerPin = A1; // Analog pin for the potentiometer int threshold = 500; // Initial threshold value unsigned long lastDetectionTime = 0; // Variable to store the time of the last detection //unsigned long noDetectionDuration = 0; // Variable to store the duration of no detection int FRAME_COUNT = 8; // Number of frames int frame = 0; int startFrame = 0; int endFrame = FRAME_COUNT - 1; // The last frame of your animation #define FRAME_DELAY (42) #define FRAME_WIDTH (64) #define FRAME_HEIGHT (64) #define FRAME_COUNT (sizeof(frames) / sizeof(frames[0])) const unsigned char meganano[] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x1E, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x33, 0x0C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0x61, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x03, 0x80, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x03, 0xC0, 0xD0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x8C, 0x63, 0x18, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xD8, 0x12, 0x06, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, 0x0C, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0xD8, 0x32, 0x04, 0x81, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x31, 0x84, 0x61, 0x98, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x02, 0xC0, 0xF0, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x80, 0x60, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x20, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0x60, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x01, 0x83, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0E, 0x03, 0x80, 0xF0, 0x1C, 0x1C, 0x00, 0x00, 0x00, 0x01, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x19, 0x06, 0x61, 0x98, 0x12, 0x24, 0x36, 0x1E, 0x46, 0x40, 0x43, 0x13, 0x09, 0xC1, 0xE0, 0x02, 0x20, 0xCC, 0x33, 0x0C, 0x12, 0x24, 0x42, 0x18, 0x40, 0x22, 0x63, 0x01, 0x08, 0x62, 0x10, 0x01, 0xC0, 0x78, 0x1E, 0x06, 0x12, 0x24, 0x41, 0x30, 0xC0, 0x21, 0x23, 0x00, 0x8C, 0x22, 0x18, 0x00, 0x80, 0x20, 0x0C, 0x02, 0x11, 0x44, 0x41, 0x20, 0x40, 0x21, 0x11, 0x00, 0x88, 0x22, 0x08, 0x00, 0x80, 0x20, 0x00, 0x00, 0x11, 0xC4, 0x49, 0x20, 0x42, 0x23, 0x11, 0x11, 0x88, 0x24, 0x08, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x84, 0x40, 0x20, 0x44, 0x21, 0x0B, 0x30, 0x88, 0x24, 0x08, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x84, 0x40, 0x20, 0x40, 0x23, 0x0F, 0x20, 0x88, 0x22, 0x08, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x84, 0x40, 0x10, 0x40, 0x21, 0x07, 0x20, 0x88, 0x22, 0x18, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x04, 0x63, 0x18, 0xC4, 0x21, 0x03, 0x21, 0x88, 0x23, 0x10, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x04, 0x36, 0x0E, 0x46, 0xB3, 0x03, 0x10, 0x88, 0x21, 0xE0, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x60, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x80, 0x03, 0x0C, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; const byte PROGMEM frames[][512] = { {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,7,128,1,224,0,0,0,0,14,0,0,112,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,48,0,0,12,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,6,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,31,128,0,0,1,248,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,24,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,14,31,128,1,248,112,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,248,7,192,0,0,0,0,7,192,1,224,0,0,0,0,15,0,0,112,0,0,0,0,30,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,56,0,0,12,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,6,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,192,0,0,3,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,56,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,128,1,255,240,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,248,31,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,56,0,0,28,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,7,224,0,0,0,0,0,0,127,254,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,30,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,227,128,0,0,1,199,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,30,0,0,0,0,120,0,0,60,0,0,0,0,60,0,0,120,0,0,0,0,30,0,1,240,0,0,0,0,15,128,15,224,0,0,0,0,7,240,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,31,0,0,0,0,0,0,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,120,0,0,0,0,30,0,0,24,0,0,0,0,24,0,0,31,252,0,0,63,248,0,0,31,255,0,0,255,248,0,0,14,15,128,1,240,32,0,0,0,3,224,7,192,0,0,0,0,0,252,63,0,0,0,0,0,0,63,252,0,0,0,0,0,0,31,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,224,0,0,0,0,0,0,127,254,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,30,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,227,128,0,0,1,199,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,30,0,0,0,0,120,0,0,60,0,0,0,0,60,0,0,120,0,0,0,0,30,0,1,240,0,0,0,0,15,128,15,224,0,0,0,0,7,240,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,31,0,0,0,0,0,0,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,120,0,0,0,0,30,0,0,24,0,0,0,0,24,0,0,31,252,0,0,63,248,0,0,31,255,0,0,255,248,0,0,14,15,128,1,240,32,0,0,0,3,224,7,192,0,0,0,0,0,252,63,0,0,0,0,0,0,63,252,0,0,0,0,0,0,31,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,7,128,1,224,0,0,0,0,14,0,0,112,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,31,128,0,0,0,48,0,0,15,224,0,0,0,112,0,0,14,48,0,0,0,96,0,0,6,16,0,0,0,224,0,0,7,24,0,0,0,224,0,0,7,24,0,0,0,192,0,0,3,48,0,0,0,192,0,0,3,240,0,0,0,192,0,0,3,224,0,0,0,192,0,0,3,128,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,124,0,0,31,128,0,0,1,248,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,24,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,31,128,1,248,240,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,127,128,0,0,0,0,0,0,255,224,0,0,0,0,0,1,192,240,0,0,0,63,252,3,128,48,0,0,0,255,255,3,0,48,0,0,3,248,31,195,0,56,0,0,7,192,3,227,0,48,0,0,15,0,0,243,128,48,0,0,30,0,0,123,192,112,0,0,56,0,0,29,193,224,0,0,56,0,0,28,255,192,0,0,112,0,0,14,255,0,0,0,96,0,0,15,224,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,63,252,0,192,7,0,0,0,255,255,0,224,14,0,0,3,248,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,56,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,63,252,0,192,7,0,0,0,255,255,0,224,14,0,0,3,248,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,56,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,63,192,0,0,3,252,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,31,248,0,192,7,0,0,0,255,254,0,224,14,0,0,3,255,255,128,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,28,0,0,56,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,239,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,120,0,0,0,0,30,0,1,224,0,0,0,0,7,128,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,254,127,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,63,252,0,192,7,0,0,0,255,255,0,224,14,0,0,3,254,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,60,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,63,252,0,192,7,0,0,0,255,255,0,224,14,0,0,3,248,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,56,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,127,252,0,192,7,0,0,1,255,255,128,224,14,0,0,3,248,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,56,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,6,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,192,0,0,3,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,128,1,255,240,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0}, {0,0,0,0,0,0,7,224,0,0,0,0,0,0,31,248,0,0,0,0,0,0,127,252,0,0,0,0,0,0,112,30,0,0,0,0,0,0,224,14,0,0,0,0,0,0,192,7,0,0,0,0,0,1,192,7,0,0,0,0,0,1,192,7,0,0,0,63,252,0,192,7,0,0,0,255,255,0,224,14,0,0,3,248,31,192,240,30,0,0,7,192,3,224,115,252,0,0,15,0,0,240,63,248,0,0,30,0,0,120,127,224,0,0,56,0,0,28,124,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,127,128,0,0,0,0,0,0,255,224,0,0,0,0,0,1,192,240,0,0,0,63,252,3,128,48,0,0,0,255,255,3,0,48,0,0,3,248,31,195,0,56,0,0,7,192,3,227,0,48,0,0,15,0,0,243,128,48,0,0,30,0,0,123,192,112,0,0,56,0,0,29,193,224,0,0,56,0,0,28,255,192,0,0,112,0,0,14,255,0,0,0,96,0,0,15,224,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,7,128,1,224,0,0,0,0,14,0,0,112,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,31,128,0,0,0,48,0,0,15,224,0,0,0,112,0,0,14,48,0,0,0,96,0,0,6,16,0,0,0,224,0,0,7,24,0,0,0,224,0,0,7,24,0,0,0,192,0,0,3,48,0,0,0,192,0,0,3,240,0,0,0,192,0,0,3,224,0,0,0,192,0,0,3,128,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,124,0,0,31,128,0,0,1,248,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,24,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,31,128,1,248,240,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,224,0,0,0,0,0,0,127,254,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,30,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,227,128,0,0,1,199,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,30,0,0,0,0,120,0,0,60,0,0,0,0,60,0,0,120,0,0,0,0,30,0,1,240,0,0,0,0,15,128,15,224,0,0,0,0,7,240,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,31,0,0,0,0,0,0,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,120,0,0,0,0,30,0,0,24,0,0,0,0,24,0,0,31,252,0,0,63,248,0,0,31,255,0,0,255,248,0,0,14,15,128,1,240,32,0,0,0,3,224,7,192,0,0,0,0,0,252,63,0,0,0,0,0,0,63,252,0,0,0,0,0,0,31,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,7,224,0,0,0,0,0,0,127,254,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,30,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,227,128,0,0,1,199,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,30,0,0,0,0,120,0,0,60,0,0,0,0,60,0,0,120,0,0,0,0,30,0,1,240,0,0,0,0,15,128,15,224,0,0,0,0,7,240,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,31,0,0,0,0,0,0,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,120,0,0,0,0,30,0,0,24,0,0,0,0,24,0,0,31,252,0,0,63,248,0,0,31,255,0,0,255,248,0,0,14,15,128,1,240,32,0,0,0,3,224,7,192,0,0,0,0,0,252,63,0,0,0,0,0,0,63,252,0,0,0,0,0,0,31,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,248,31,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,56,0,0,28,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,247,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,128,0,0,1,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,56,0,0,0,0,28,0,0,240,0,0,0,0,15,0,3,224,0,0,0,0,7,192,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,192,0,0,0,0,3,248,7,240,0,0,0,0,15,224,1,248,0,0,0,0,31,128,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,0,0,255,240,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,248,7,192,0,0,0,0,7,192,1,224,0,0,0,0,15,0,0,112,0,0,0,0,30,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,56,0,0,12,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,6,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,126,0,0,0,0,126,0,0,31,128,0,0,1,248,0,0,7,192,0,0,3,224,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,1,128,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,192,0,0,0,0,3,248,31,0,0,0,0,0,0,248,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,56,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,15,255,128,1,255,240,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,252,0,0,0,0,0,1,255,255,128,0,0,0,0,3,224,7,192,0,0,0,0,7,128,1,224,0,0,0,0,14,0,0,112,0,0,0,0,28,0,0,56,0,0,0,0,56,0,0,28,0,0,0,0,48,0,0,12,0,0,0,0,112,0,0,14,0,0,0,0,96,0,0,6,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,24,192,0,0,3,24,0,0,127,192,0,0,3,254,0,0,127,192,0,0,3,254,0,0,231,128,0,0,1,231,0,0,120,0,0,0,0,30,0,0,63,0,0,0,0,252,0,0,31,128,0,0,1,248,0,0,3,192,0,0,3,192,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,15,0,0,0,0,240,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,120,0,0,0,0,30,0,0,240,0,0,0,0,15,0,7,224,0,0,0,0,7,224,31,128,0,0,0,0,1,248,30,0,0,0,0,0,0,120,30,0,0,0,0,0,0,120,31,224,0,0,0,0,7,240,7,240,0,0,0,0,15,224,0,248,0,0,0,0,31,0,0,24,0,0,0,0,24,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,14,31,128,1,248,112,0,0,0,3,224,7,192,0,0,0,0,1,240,15,128,0,0,0,0,0,127,254,0,0,0,0,0,0,31,248,0,0,0,0,0,0,3,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,252,0,0,0,0,0,0,255,255,0,0,0,0,0,3,255,255,192,0,0,0,0,7,192,3,224,0,0,0,0,15,0,0,240,0,0,0,0,30,0,0,120,0,0,0,0,60,0,0,60,0,0,0,0,56,0,0,28,0,0,0,0,112,0,0,14,0,0,0,0,112,0,0,14,0,0,0,0,224,0,0,7,0,0,0,0,224,0,0,7,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,0,192,0,0,3,0,0,0,60,192,0,0,3,124,0,0,127,192,0,0,3,254,0,0,231,192,0,0,3,231,0,0,112,0,0,0,0,14,0,0,126,0,0,0,0,126,0,0,31,0,0,0,0,252,0,0,15,128,0,0,1,240,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,192,0,0,3,128,0,0,1,128,0,0,3,128,0,0,3,128,0,0,1,192,0,0,7,128,0,0,1,192,0,0,7,0,0,0,0,224,0,0,14,0,0,0,0,112,0,0,28,0,0,0,0,56,0,0,60,0,0,0,0,60,0,0,248,0,0,0,0,31,0,3,224,0,0,0,0,7,192,15,192,0,0,0,0,3,240,31,0,0,0,0,0,0,248,28,0,0,0,0,0,0,56,31,128,0,0,0,0,1,248,15,240,0,0,0,0,15,240,3,248,0,0,0,0,31,192,0,56,0,0,0,0,28,0,0,31,248,0,0,31,248,0,0,31,254,0,0,127,248,0,0,31,255,0,0,255,248,0,0,0,7,192,3,224,0,0,0,0,1,240,15,128,0,0,0,0,0,255,255,0,0,0,0,0,0,63,252,0,0,0,0,0,0,7,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} }; void setup() { Serial.begin(9600); // Initialize serial communication for debugging display.begin(SSD1306_SWITCHCAPVCC, SCREEN_I2C_ADDR); display.display(); delay(1000); display.clearDisplay(); display.drawBitmap(0, 0, meganano, 128, 64, WHITE); display.display(); delay(3000); // Display the image for 2 seconds display.clearDisplay(); display.setTextColor(WHITE); display.setTextSize(2); display.setCursor(10,0); display.print("Halloween"); display.setCursor(22,20); display.print("Project"); display.setCursor(40,45); display.print("2023"); display.display(); delay(2000); display.clearDisplay(); display.setCursor(0,20); display.setTextSize(2); display.setCursor(23,0); display.print("Spectre"); display.setCursor(18,20); display.print("Analysis"); display.setCursor(5,45); display.print("EMF Sensor"); display.display(); delay(2000); display.clearDisplay(); } void loop() { int sensorValue = analogRead(sensorPin); // Read the analog value from the sensor int potValue = analogRead(potentiometerPin); // Read the potentiometer value // Map the sensor value to a frequency range (adjust the values as needed) int frequency = map(sensorValue, 0, 1023, 2000, 100); // Higher values mean closer magnet // Map the potentiometer value to adjust the threshold threshold = map(potValue, 0, 1023, 1023, 100); // Adjust the range as needed //Serial.println(threshold); // No Detection if (sensorValue > threshold) { // Calculate the time elapsed since the last detection unsigned long timeSinceDetection = millis() - lastDetectionTime; // Calculate the time in seconds unsigned int secondsSinceDetection = timeSinceDetection / 1000; display.clearDisplay(); display.setCursor(50,0); display.print("No"); display.setCursor(10,20); display.print("Detection"); display.setCursor(10,45); display.print("For: "); display.setCursor(60,45); display.print(secondsSinceDetection); // Print the time since the last detection to the serial monitor Serial.print("Seconds since last detection: "); Serial.println(secondsSinceDetection); display.display(); noTone(buzzerPin); // Turn off the buzzer if the sensor value is below the threshold delay(50); display.clearDisplay(); } //Detection else { lastDetectionTime = millis(); // Update the time of the last detection //noDetectionDuration = 0; // Reset the noDetectionDuration for (frame = startFrame; frame <= endFrame; frame++) { display.drawBitmap(32, 0, frames[frame], FRAME_WIDTH, FRAME_HEIGHT, 1); display.display(); delay(FRAME_DELAY); display.clearDisplay(); tone(buzzerPin, frequency); // Activate the buzzer with the calculated frequency } // Reset the noDetectionDuration //noDetectionDuration = 0; } delay(100); // Add a delay to control the rate of buzzer tone changes }

Upload the Code

Copy and paste the code to a new sketch in your Arduino IDE and upload it to your Arduino board.

That’s it! You’ve created the Specter Analysis EMF Sensor. You can further enhance this project by adding more features such as data logging etc…

Testing the Specter Analysis EMF Sensor

Testing an EMF meter can be done by exposing it to various electromagnetic fields to ensure that it accurately measures the electromagnetic radiation. Here are some ways to test your homemade EMF meter:

  1. Household Electronics: You can start by testing the EMF meter near various household electronics like laptops, microwave ovens, cell phones, and Wi-Fi routers. Move the EMF meter closer to these devices to see how the readings change.

  2. High-Voltage Power Lines: Visiting an area near high-voltage power lines can provide a strong electromagnetic field source. Be cautious and maintain a safe distance while taking readings. The EMF meter should register higher readings as you get closer to the power lines.

  3. Fluorescent Lights: Fluorescent lights can emit electromagnetic fields, especially older tube-style fluorescent lights. Test your EMF meter near these lights to see if it can detect the fields.

  4. Magnetic Objects: Test the EMF meter near magnets, such as refrigerator magnets or strong rare-earth magnets. The meter should detect a magnetic field from these objects.

  5. Natural EMF Sources: Some natural sources of EMF include the Earth’s magnetic field and electrical storms. You can test the EMF meter in different outdoor locations to see how it responds to these natural sources.

  6. Radio Transmitters: Visit a location near radio or television transmitters. These transmitters emit strong electromagnetic fields. The EMF meter should pick up these signals.

  7. Cell Towers: Testing near a cell tower (maintaining a safe distance) can also provide a strong EMF source. You can see how the meter reacts as you approach or move away from the tower.

  8. Comparison with Commercial EMF Meters: To validate the accuracy of your homemade EMF meter, you can compare its readings with a commercial EMF meter. This can help ensure that your device is providing reliable measurements.

  9. Calibration: If your homemade EMF meter is not producing accurate readings in comparison to commercial devices, you might need to calibrate it. This involves adjusting your code or sensor sensitivity to match the known field strengths in your test environments.

Remember to stay safe and maintain a reasonable distance from strong EMF sources, such as high-voltage power lines and cell towers, as they can potentially be harmful. Additionally, consult any safety guidelines and regulations relevant to your location when conducting these tests. 

Conclusion

While we can’t guarantee that the Specter Analysis EMF Sensor will uncover actual spirits, it’s a testament to the creative possibilities that Arduino offers. It’s a reminder that the boundaries of technology and imagination can be stretched in all sorts of intriguing ways, especially when Halloween beckons.

As you display your project amidst the eerie ambiance of All Hallows’ Eve, remember that it’s the magic of your own creation that truly sets the mood. Whether you’re captivating friends and family with ghostly tales or just enjoying the thrill of the unknown, this Arduino project is a fantastic addition to your Halloween repertoire.

We hope you’ve had a ghoulishly good time exploring the world of EMF, Arduino, and the supernatural with us. Don’t forget to share your spooky encounters and Halloween escapades with us, and may your festivities be filled with enchantment and excitement!

From all of us at Meganano, we wish you a hair-raising Halloween full of laughter, delight, and a touch of the extraordinary. Until next time, stay curious and keep those creative cauldrons bubbling!

Happy Halloween Folks!

Other Halloween Projects

If you enjoyed this post, please check out our previous Halloween projects also:

Recommendations:

The Elegoo Super Starter Kit

If you don’t already own any Arduino hardware, we highly recommend this kit as it has everything you need to start programming with Arduino. You can find out more about this kit, including a list of its components here: Elegoo Super Starter Kit

You can find this kit on Amazon here: Elegoo Super Starter Kit

The 0.96-inch Mini-OLED Display

We highly recommend this mini-OLED bundle of five 0.96-inch OLED displays. We have bought these before and they all worked perfectly. You can read more about the mini-OLED here: Mini-OLED

You can find this bundle on Amazon here: OLED Displays

Elegoo Nano (Arduino Compatible)

We have bought these Nano boards many times and can highly recommend them. There are three Nano boards in this pack making them a total bargain for everyone.

You can find this pack on Amazon here: Arduino Nano

ESP8266 D1-Mini

D1-Mini is an Arduino compatible Wi-Fi board based on an ESP-8266-12F. This WLAN board has 9 digital I/O pins.

You can find this board on Amazon here: D1-Mini

Luke Barber

Hello, fellow tech enthusiasts! I'm Luke, a passionate learner and explorer in the vast realms of technology. Welcome to my digital space where I share the insights and adventures gained from my journey into the fascinating worlds of Arduino, Python, Linux, Ethical Hacking, and beyond. Armed with qualifications including CompTIA A+, Sec+, Cisco CCNA, Unix/Linux and Bash Shell Scripting, JavaScript Application Programming, Python Programming and Ethical Hacking, I thrive in the ever-evolving landscape of coding, computers, and networks. As a tech enthusiast, I'm on a mission to simplify the complexities of technology through my blogs, offering a glimpse into the marvels of Arduino, Python, Linux, and Ethical Hacking techniques. Whether you're a fellow coder or a curious mind, I invite you to join me on this journey of continuous learning and discovery.

Leave a Reply

Your email address will not be published. Required fields are marked *

Verified by MonsterInsights