Sep 03                           
            2019                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $40,792,499               
              $51.8 p/Share               
          
        
            
        
          
              787,500 
              Reduced 49.18% 
          
   
         
        
          
            813,755  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Sep 03                           
            2019                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $24,590,625               
              $32.25 p/Share               
          
        
            
        
          
              762,500 
              Added 32.26% 
          
   
         
        
          
            1,601,255  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 31                           
            2019                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $10,457,049               
              $56.3 p/Share               
          
        
            
        
          
              185,738 
              Reduced 18.13% 
          
   
         
        
          
            838,755  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 31                           
            2019                           
          
        
          
            
              BUY 
            
            
                Grant, award, or other acquisition 
            
                            
         
        
          
              -                  
          
        
            
        
          
              374,622 
              Added 26.78% 
          
   
         
        
          
            1,024,493  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jun 21                           
            2019                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $44,328,376               
              $56.29 p/Share               
          
        
            
        
          
              787,500 
              Reduced 54.79% 
          
   
         
        
          
            649,871  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jun 21                           
            2019                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $24,590,625               
              $32.25 p/Share               
          
        
            
        
          
              762,500 
              Added 34.66% 
          
   
         
        
          
            1,437,371  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 19                           
            2019                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $11,341,073               
              $53.84 p/Share               
          
        
            
        
          
              210,644 
              Reduced 23.79% 
          
   
         
        
          
            674,871  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 19                           
            2019                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $5,084,946               
              $24.14 p/Share               
          
        
            
        
          
              210,644 
              Added 19.22% 
          
   
         
        
          
            885,515  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 18                           
            2019                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $53,247,140               
              $53.82 p/Share               
          
        
            
        
          
              989,356 
              Reduced 59.45% 
          
   
         
        
          
            674,871  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 18                           
            2019                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $23,883,053               
              $24.14 p/Share               
          
        
            
        
          
              989,356 
              Added 37.28% 
          
   
         
        
          
            1,664,227  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Aug 02                           
            2018                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $15,991,655               
              $47.9 p/Share               
          
        
            
        
          
              333,855 
              Reduced 33.1% 
          
   
         
        
          
            674,871  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Aug 02                           
            2018                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              -                  
          
        
            
        
          
              679,682 
              Added 40.26% 
          
   
         
        
          
            1,008,726  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Aug 01                           
            2017                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $6,850,050               
              $50.16 p/Share               
          
        
            
        
          
              136,564 
              Reduced 29.33% 
          
   
         
        
          
            329,044  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Aug 01                           
            2017                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              -                  
          
        
            
        
          
              261,717 
              Added 35.98% 
          
   
         
        
          
            465,608  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 03                           
            2017                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $17,415,999               
              $49.76 p/Share               
          
        
            
        
          
              350,000 
              Reduced 63.19% 
          
   
         
        
          
            203,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 03                           
            2017                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $8,449,000               
              $24.14 p/Share               
          
        
            
        
          
              350,000 
              Added 38.72% 
          
   
         
        
          
            553,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Apr 03                           
            2017                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $15,694,000               
              $44.84 p/Share               
          
        
            
        
          
              350,000 
              Reduced 63.19% 
          
   
         
        
          
            203,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Apr 03                           
            2017                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $8,449,000               
              $24.14 p/Share               
          
        
            
        
          
              350,000 
              Added 38.72% 
          
   
         
        
          
            553,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 16                           
            2017                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $32,507,999               
              $46.44 p/Share               
          
        
            
        
          
              700,000 
              Reduced 77.44% 
          
   
         
        
          
            203,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Mar 16                           
            2017                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $16,898,000               
              $24.14 p/Share               
          
        
            
        
          
              700,000 
              Added 43.64% 
          
   
         
        
          
            903,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 26                           
            2016                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $6,529,766               
              $40.94 p/Share               
          
        
            
        
          
              159,496 
              Reduced 43.89% 
          
   
         
        
          
            203,891  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 26                           
            2016                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              -                  
          
        
            
        
          
              312,498 
              Added 46.24% 
          
   
         
        
          
            363,387  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Oct 01                           
            2015                           
          
        
          
            
              SELL 
            
            
                Open market or private sale 
            
                            
         
        
          
              $13,567,500               
              $36.18 p/Share               
          
        
            
        
          
              375,000 
              Reduced 88.05% 
          
   
         
        
          
            50,889  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Oct 01                           
            2015                           
          
        
          
            
              BUY 
            
            
                Exercise of conversion of derivative security 
            
                            
         
        
          
              $9,052,500               
              $24.14 p/Share               
          
        
            
        
          
              375,000 
              Added 46.82% 
          
   
         
        
          
            425,889  
            Common Stock 
          
          
        
          
             
           
                
        
      
      
        
            Jul 15                           
            2015                           
          
        
          
            
              SELL 
            
            
                Payment of exercise price or tax liability 
            
                            
         
        
          
              $2,220,526               
              $40.79 p/Share               
          
        
            
        
          
              54,438 
              Reduced 51.68% 
          
   
         
        
          
            50,889  
            Common Stock