/**
 * @license
 * Copyright 2014 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

if (navigator && navigator.userAgent.indexOf('AppleWebKit') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
  console.log('Loading Safari Support.');

  (function(){
    // prepare base perf object
    if (typeof window.performance === 'undefined') {
        window.performance = {};
    }

    if (!window.performance.now){

      var nowOffset = Date.now();

      if (performance.timing && performance.timing.navigationStart){
        nowOffset = performance.timing.navigationStart
      }

      window.performance.now = function now(){
        return Date.now() - nowOffset;
      }
    }
  })();

  // Number.isFinite polyfill
  // http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite
  if (typeof Number.isFinite !== 'function') {
    Number.isFinite = function isFinite(value) {
      // 1. If Type(number) is not Number, return false.
      if (typeof value !== 'number') {
        return false;
      }
      // 2. If number is NaN, +∞, or −∞, return false.
      if (value !== value || value === Infinity || value === -Infinity) {
        return false;
      }
      // 3. Otherwise, return true.
      return true;
    };
  }

  if ( typeof Number.isNaN !== 'function' ) {
    Number.isNaN = function(value) {
      return typeof value === "number" && value !== value;
    };
  }

  if ( typeof Number.isInteger !== 'function' ) {
    Number.isInteger = function(value) {
      return (typeof value === 'number' &&
          Math.round(value) === value);
    };
  }
}

@@ -627,169 +627,8 @@
 */%0A%0A
-if (navigator && navigator.userAgent.indexOf('AppleWebKit') != -1 && navigator.userAgent.indexOf('Chrome') == -1) %7B%0A  console.log('Loading Safari Support.');%0A%0A  
 (fun
@@ -636,18 +636,16 @@
 tion()%7B%0A
-  
   // pre
@@ -666,18 +666,16 @@
  object%0A
-  
   if (ty
@@ -713,28 +713,24 @@
 defined') %7B%0A
-    
     window.p
@@ -746,25 +746,21 @@
 e = %7B%7D;%0A
-  
   %7D%0A%0A
-  
   if (!w
@@ -784,18 +784,16 @@
 .now)%7B%0A%0A
-  
     var 
@@ -817,26 +817,24 @@
 now();%0A%0A    
-  
 if (performa
@@ -884,18 +884,16 @@
 Start)%7B%0A
-  
       no
@@ -941,23 +941,19 @@
 art%0A    
-  
 %7D%0A%0A
-  
     wind
@@ -991,26 +991,24 @@
 ow()%7B%0A      
-  
 return Date.
@@ -1034,29 +1034,21 @@
     
- 
- 
 %7D%0A  
- 
- 
 %7D%0A
-  
 %7D)();%0A%0A
-  
 // N
@@ -1071,18 +1071,16 @@
 olyfill%0A
-  
 // http:
@@ -1147,18 +1147,16 @@
 sfinite%0A
-  
 if (type
@@ -1190,26 +1190,24 @@
 ction') %7B%0A  
- 
- 
 Number.isFin
@@ -1235,26 +1235,24 @@
 te(value) %7B%0A
-  
     // 1. If
@@ -1294,26 +1294,24 @@
  false.%0A    
- 
- 
 if (typeof v
@@ -1329,34 +1329,32 @@
 umber') %7B%0A      
-  
 return false;%0A  
@@ -1351,30 +1351,26 @@
  false;%0A    
- 
- 
 %7D%0A
-  
     // 2. If
@@ -1414,18 +1414,16 @@
 se.%0A    
- 
- 
 if (valu
@@ -1484,26 +1484,24 @@
 ty) %7B%0A      
-  
 return false
@@ -1506,22 +1506,18 @@
 se;%0A    
-  %7D%0A  
+%7D%0A
     // 3
@@ -1542,26 +1542,24 @@
 n true.%0A    
-  
 return true;
@@ -1555,38 +1555,32 @@
 eturn true;%0A
-  
   %7D;%0A
-  
 %7D%0A%0A
-  
 if ( typeof 
@@ -1603,34 +1603,32 @@
  'function' ) %7B%0A
-  
   Number.isNaN =
@@ -1638,34 +1638,32 @@
 nction(value) %7B%0A
-  
     return typeo
@@ -1707,22 +1707,16 @@
 ue;%0A
-  
   %7D;%0A
-  
 %7D%0A%0A
-  
 if (
@@ -1761,18 +1761,16 @@
 ' ) %7B%0A  
- 
- 
 Number.i
@@ -1794,26 +1794,24 @@
 on(value) %7B%0A
-  
     return (
@@ -1849,16 +1849,18 @@
         
+ 
+ 
 Math.rou
@@ -1887,15 +1887,9 @@
 ;%0A  
-  %7D;%0A  
 %7D
+;
 %0A%7D%0A

Remove user-agent check in safari poly-fills. Just apply the poly-fill if the thing being filled isn't there.