JSFiddle - React, Tailwind, and code Playground

by Brenton Strine

JavaScript

var file = "4E125F11718191A262728292A35363738393A434445464748494A5354";
var newFile = "";
var filePos = 0;

function run(){
    var abort = false;
    var searchStyle;
    var haystack;
    var haystackSize = 100;
    
    var needleSize = 4;
    var needle = file.substr(filePos, needleSize);
    var needlePos = 0;
    //console.log(needle);
    
    var haystackPos = 0;
    var match = false;
    var compressed = "";
    var count = 0;
    
    var keepSearching = true;
    
    while (!match && !abort
           && (count       < 100000) 
           && (haystackPos < 198300) 
           && (needlePos.toString(16).length < needle.length) 
           //&& confirm()
          ) {
        console.log(newFile);
        haystack = pi.substr(haystackPos, haystackSize);
        //console.log(haystackPos + ":"+ haystack);
        var needleFound = false; 
        
        needleFound = search(haystack);
        
        var searches = 0;
        while(keepSearching && searches < 16){
            searches++;
            needleFound = search(deshuffle(searches));
            if(needlePos.toString(16).length > needle.length) {
                console.log("FAIL TOO LONG:" + needlePos.toString(16).length +"<"+needle);
                abort = true;
            }
        }
        needlePos = haystackPos + needleFound;
        //console.log(haystackPos+ " [haystack | position-in-haystack] " + needleFound); 
        
        if(needleFound>0){
            match = true;
            //console.log("FOUND THE NEEDLE!");
        }
        haystackPos += haystackSize;
        count++;
    }
     if(count       > 100000){console.log("failed because: count exceeded");}
     if(haystackPos > 10300){console.log("failed because: ran out of hay");}
     if(needlePos.toString(16).length > needle.length){console.log("failed because: not compressing");}
    
    console.log(needlePos.toString(16) + " (" + needlePos + ") => " + needle); 
    if(needleFound<0) {
         console.log("FAIL....